ETH Price: $3,460.33 (+2.14%)
Gas: 8 Gwei

Contract

0xc55A34ed7f6Eac0403555b6EBBdAe0b55d9dD307
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00
Transaction Hash
Method
Block
From
To
Value
Transfer190705842024-01-23 16:33:23159 days ago1706027603IN
0xc55A34ed...55d9dD307
0 ETH0.0017466330
Transfer187161162023-12-04 22:55:35209 days ago1701730535IN
0xc55A34ed...55d9dD307
0 ETH0.0030572352.5109431
Transfer186291662023-11-22 18:48:47221 days ago1700678927IN
0xc55A34ed...55d9dD307
0 ETH0.0034507559.26996286
Transfer179502832023-08-19 17:23:11316 days ago1692465791IN
0xc55A34ed...55d9dD307
0 ETH0.0009875118.48144451
Approve179136372023-08-14 14:18:59321 days ago1692022739IN
0xc55A34ed...55d9dD307
0 ETH0.0012094626.17034152
Transfer178886312023-08-11 2:21:59325 days ago1691720519IN
0xc55A34ed...55d9dD307
0 ETH0.0004748913.07917329
Approve178057422023-07-30 12:06:47337 days ago1690718807IN
0xc55A34ed...55d9dD307
0 ETH0.0008012517.34646498
Approve178057362023-07-30 12:05:35337 days ago1690718735IN
0xc55A34ed...55d9dD307
0 ETH0.0008334918.04462402
Transfer176545682023-07-09 7:08:11358 days ago1688886491IN
0xc55A34ed...55d9dD307
0 ETH0.0005353614.7399
Transfer176414932023-07-07 11:00:59360 days ago1688727659IN
0xc55A34ed...55d9dD307
0 ETH0.0007259420
Transfer176414932023-07-07 11:00:59360 days ago1688727659IN
0xc55A34ed...55d9dD307
0 ETH0.0007261820
Transfer176414892023-07-07 11:00:11360 days ago1688727611IN
0xc55A34ed...55d9dD307
0 ETH0.0007005619.2817
Transfer176414852023-07-07 10:59:23360 days ago1688727563IN
0xc55A34ed...55d9dD307
0 ETH0.0007239119.9311
Transfer176412152023-07-07 10:04:35360 days ago1688724275IN
0xc55A34ed...55d9dD307
0 ETH0.0007264220
Transfer176412152023-07-07 10:04:35360 days ago1688724275IN
0xc55A34ed...55d9dD307
0 ETH0.0007259420
Transfer176412152023-07-07 10:04:35360 days ago1688724275IN
0xc55A34ed...55d9dD307
0 ETH0.0007261820
Transfer176412152023-07-07 10:04:35360 days ago1688724275IN
0xc55A34ed...55d9dD307
0 ETH0.0007264220
Transfer176412132023-07-07 10:04:11360 days ago1688724251IN
0xc55A34ed...55d9dD307
0 ETH0.0007259420
Transfer176412132023-07-07 10:04:11360 days ago1688724251IN
0xc55A34ed...55d9dD307
0 ETH0.0007259420
Transfer176412132023-07-07 10:04:11360 days ago1688724251IN
0xc55A34ed...55d9dD307
0 ETH0.0007259420
Transfer176412132023-07-07 10:04:11360 days ago1688724251IN
0xc55A34ed...55d9dD307
0 ETH0.0007259420
Transfer176412132023-07-07 10:04:11360 days ago1688724251IN
0xc55A34ed...55d9dD307
0 ETH0.0007259420
Transfer176412132023-07-07 10:04:11360 days ago1688724251IN
0xc55A34ed...55d9dD307
0 ETH0.0007259420
Transfer176412132023-07-07 10:04:11360 days ago1688724251IN
0xc55A34ed...55d9dD307
0 ETH0.0007259420
Transfer176412132023-07-07 10:04:11360 days ago1688724251IN
0xc55A34ed...55d9dD307
0 ETH0.0007261820
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:
EthereumMini

Compiler Version
v0.5.8+commit.23d335f2

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-02-23
*/

// ----------------------------------------------------------------------------
// Ethereum Minin contract
// Name        : Ethereum Mini
// Symbol      : ETM
// Decimals    : 18
// InitialSupply : 100,000,000 ETM
// ----------------------------------------------------------------------------

pragma solidity 0.5.8;

interface IERC20 {

    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount) external returns (bool);

    function allowance(address owner, address spender) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(address indexed owner, address indexed spender, uint256 value);
}

library SafeMath {

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

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a, "SafeMath: subtraction overflow");
        uint256 c = a - b;

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {

        if (a == 0) {
            return 0;
        }

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

        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0, "SafeMath: division by zero");
        uint256 c = a / b;

        return c;
    }

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

contract ERC20 is IERC20 {
    using SafeMath for uint256;

    mapping (address => uint256) internal _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(msg.sender, recipient, amount);
        return true;
    }

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

    function approve(address spender, uint256 value) public returns (bool) {
        _approve(msg.sender, spender, value);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount));
        return true;
    }

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

    function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) {
        _approve(msg.sender, spender, _allowances[msg.sender][spender].sub(subtractedValue));
        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);
        _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 value) internal {
        require(account != address(0), "ERC20: burn from the zero address");

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

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

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

    function _burnFrom(address account, uint256 amount) internal {
        _burn(account, amount);
        _approve(account, msg.sender, _allowances[account][msg.sender].sub(amount));
    }
}

contract EthereumMini is ERC20 {
    string public constant name = "Ethereum Mini"; 
    string public constant symbol = "ETM"; 
    uint8 public constant decimals = 18; 
    uint256 public constant initialSupply = 100000000 * (10 ** uint256(decimals));
    
    constructor() public {
        super._mint(msg.sender, initialSupply);
        owner = msg.sender;
    }

    address public owner;

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

    modifier onlyOwner() {
        require(msg.sender == owner, "Not owner");
        _;
    }

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

    function _transferOwnership(address _newOwner) internal {
        require(_newOwner != address(0), "Already Owner");
        emit OwnershipTransferred(owner, _newOwner);
        owner = _newOwner;
    }

    event Pause();
    event Unpause();

    bool public paused = false;

    modifier whenNotPaused() {
        require(!paused, "Paused by owner");
        _;
    }

    modifier whenPaused() {
        require(paused, "Not paused now");
        _;
    }

    function pause() public onlyOwner whenNotPaused {
        paused = true;
        emit Pause();
    }

    function unpause() public onlyOwner whenPaused {
        paused = false;
        emit Unpause();
    }

    event Frozen(address target);
    event Unfrozen(address target);

    mapping(address => bool) internal freezes;

    modifier whenNotFrozen() {
        require(!freezes[msg.sender], "Sender account is locked.");
        _;
    }

    function freeze(address _target) public onlyOwner {
        freezes[_target] = true;
        emit Frozen(_target);
    }

    function unfreeze(address _target) public onlyOwner {
        freezes[_target] = false;
        emit Unfrozen(_target);
    }

    function isFrozen(address _target) public view returns (bool) {
        return freezes[_target];
    }

    function transfer(
        address _to,
        uint256 _value
    )
      public
      whenNotFrozen
      whenNotPaused
      returns (bool)
    {
        releaseLock(msg.sender);
        return super.transfer(_to, _value);
    }

    function transferFrom(
        address _from,
        address _to,
        uint256 _value
    )
      public
      whenNotPaused
      returns (bool)
    {
        require(!freezes[_from], "From account is locked.");
        releaseLock(_from);
        return super.transferFrom(_from, _to, _value);
    }

    event Burn(address indexed burner, uint256 value);

    function burn(address _who, uint256 _value) public onlyOwner {
        require(_value <= super.balanceOf(_who), "Balance is too small.");

        _burn(_who, _value);
        emit Burn(_who, _value);
    }

    struct LockInfo {
        uint256 releaseTime;
        uint256 balance;
    }
    mapping(address => LockInfo[]) internal lockInfo;

    event Lock(address indexed holder, uint256 value, uint256 releaseTime);
    event Unlock(address indexed holder, uint256 value);

    function balanceOf(address _holder) public view returns (uint256 balance) {
        uint256 lockedBalance = 0;
        for(uint256 i = 0; i < lockInfo[_holder].length ; i++ ) {
            lockedBalance = lockedBalance.add(lockInfo[_holder][i].balance);
        }
        return super.balanceOf(_holder).add(lockedBalance);
    }

    function releaseLock(address _holder) internal {

        for(uint256 i = 0; i < lockInfo[_holder].length ; i++ ) {
            if (lockInfo[_holder][i].releaseTime <= now) {
                _balances[_holder] = _balances[_holder].add(lockInfo[_holder][i].balance);
                emit Unlock(_holder, lockInfo[_holder][i].balance);
                lockInfo[_holder][i].balance = 0;

                if (i != lockInfo[_holder].length - 1) {
                    lockInfo[_holder][i] = lockInfo[_holder][lockInfo[_holder].length - 1];
                    i--;
                }
                lockInfo[_holder].length--;

            }
        }
    }
    function lockCount(address _holder) public view returns (uint256) {
        return lockInfo[_holder].length;
    }
    function lockState(address _holder, uint256 _idx) public view returns (uint256, uint256) {
        return (lockInfo[_holder][_idx].releaseTime, lockInfo[_holder][_idx].balance);
    }

    function lock(address _holder, uint256 _amount, uint256 _releaseTime) public onlyOwner {
        require(super.balanceOf(_holder) >= _amount, "Balance is too small.");
        _balances[_holder] = _balances[_holder].sub(_amount);
        lockInfo[_holder].push(
            LockInfo(_releaseTime, _amount)
        );
        emit Lock(_holder, _amount, _releaseTime);
    }

    function unlock(address _holder, uint256 i) public onlyOwner {
        require(i < lockInfo[_holder].length, "No lock information.");

        _balances[_holder] = _balances[_holder].add(lockInfo[_holder][i].balance);
        emit Unlock(_holder, lockInfo[_holder][i].balance);
        lockInfo[_holder][i].balance = 0;

        if (i != lockInfo[_holder].length - 1) {
            lockInfo[_holder][i] = lockInfo[_holder][lockInfo[_holder].length - 1];
        }
        lockInfo[_holder].length--;
    }

    function transferWithLock(address _to, uint256 _value, uint256 _releaseTime) public onlyOwner returns (bool) {
        require(_to != address(0), "wrong address");
        require(_value <= super.balanceOf(owner), "Not enough balance");

        _balances[owner] = _balances[owner].sub(_value);
        lockInfo[_to].push(
            LockInfo(_releaseTime, _value)
        );
        emit Transfer(owner, _to, _value);
        emit Lock(_to, _value, _releaseTime);

        return true;
    }

}

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":"_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":true,"inputs":[],"name":"initialSupply","outputs":[{"name":"","type":"uint256"}],"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":false,"inputs":[{"name":"_target","type":"address"}],"name":"unfreeze","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_holder","type":"address"},{"name":"_idx","type":"uint256"}],"name":"lockState","outputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_holder","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_holder","type":"address"},{"name":"i","type":"uint256"}],"name":"unlock","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_target","type":"address"}],"name":"freeze","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":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_who","type":"address"},{"name":"_value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","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":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_releaseTime","type":"uint256"}],"name":"transferWithLock","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_holder","type":"address"}],"name":"lockCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_holder","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_releaseTime","type":"uint256"}],"name":"lock","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_target","type":"address"}],"name":"isFrozen","outputs":[{"name":"","type":"bool"}],"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":true,"name":"previousOwner","type":"address"}],"name":"OwnershipRenounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"target","type":"address"}],"name":"Frozen","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"target","type":"address"}],"name":"Unfrozen","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"burner","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"holder","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"releaseTime","type":"uint256"}],"name":"Lock","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"holder","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Unlock","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"}]

608060405260038054600160a01b60ff02191690553480156200002157600080fd5b5062000045336a52b7d2dcc80cd2e40000006200005d602090811b62001c0917901c565b600380546001600160a01b03191633179055620001f4565b6001600160a01b038216620000d357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b620000ef816002546200017860201b620018221790919060201c565b6002556001600160a01b03821660009081526020818152604090912054620001229183906200182262000178821b17901c565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b600082820183811015620001ed57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b611de580620002046000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c80638456cb59116100de578063a9059cbb11610097578063df03458611610071578063df034586146104ff578063e2ab691d14610525578063e583983614610557578063f2fde38b1461057d5761018e565b8063a9059cbb14610473578063dd62ed3e1461049f578063de6baccb146104cd5761018e565b80638456cb59146103c15780638d1fdf2f146103c95780638da5cb5b146103ef57806395d89b41146104135780639dc29fac1461041b578063a457c2d7146104475761018e565b8063395093511161014b57806346cf1bb51161012557806346cf1bb5146103225780635c975abb1461036757806370a082311461036f5780637eee288d146103955761018e565b806339509351146102c65780633f4ba83a146102f257806345c8b1a6146102fc5761018e565b806306fdde0314610193578063095ea7b31461021057806318160ddd1461025057806323b872dd1461026a578063313ce567146102a0578063378dc3dc146102be575b600080fd5b61019b6105a3565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101d55781810151838201526020016101bd565b50505050905090810190601f1680156102025780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61023c6004803603604081101561022657600080fd5b506001600160a01b0381351690602001356105dc565b604080519115158252519081900360200190f35b6102586105f2565b60408051918252519081900360200190f35b61023c6004803603606081101561028057600080fd5b506001600160a01b038135811691602081013590911690604001356105f9565b6102a86106e0565b6040805160ff9092168252519081900360200190f35b6102586106e5565b61023c600480360360408110156102dc57600080fd5b506001600160a01b0381351690602001356106f4565b6102fa610735565b005b6102fa6004803603602081101561031257600080fd5b50356001600160a01b0316610822565b61034e6004803603604081101561033857600080fd5b506001600160a01b0381351690602001356108cb565b6040805192835260208301919091528051918290030190f35b61023c610944565b6102586004803603602081101561038557600080fd5b50356001600160a01b0316610954565b6102fa600480360360408110156103ab57600080fd5b506001600160a01b0381351690602001356109ee565b6102fa610c9c565b6102fa600480360360208110156103df57600080fd5b50356001600160a01b0316610d85565b6103f7610e31565b604080516001600160a01b039092168252519081900360200190f35b61019b610e40565b6102fa6004803603604081101561043157600080fd5b506001600160a01b038135169060200135610e62565b61023c6004803603604081101561045d57600080fd5b506001600160a01b038135169060200135610f60565b61023c6004803603604081101561048957600080fd5b506001600160a01b038135169060200135610f9c565b610258600480360360408110156104b557600080fd5b506001600160a01b038135811691602001351661106e565b61023c600480360360608110156104e357600080fd5b506001600160a01b038135169060208101359060400135611099565b6102586004803603602081101561051557600080fd5b50356001600160a01b03166112b6565b6102fa6004803603606081101561053b57600080fd5b506001600160a01b0381351690602081013590604001356112d1565b61023c6004803603602081101561056d57600080fd5b50356001600160a01b0316611440565b6102fa6004803603602081101561059357600080fd5b50356001600160a01b031661145e565b6040518060400160405280600d81526020017f457468657265756d204d696e690000000000000000000000000000000000000081525081565b60006105e93384846114bb565b50600192915050565b6002545b90565b600354600090600160a01b900460ff16156106535760408051600160e51b62461bcd02815260206004820152600f6024820152600160891b6e2830bab9b2b210313c9037bbb732b902604482015290519081900360640190fd5b6001600160a01b03841660009081526004602052604090205460ff16156106c45760408051600160e51b62461bcd02815260206004820152601760248201527f46726f6d206163636f756e74206973206c6f636b65642e000000000000000000604482015290519081900360640190fd5b6106cd846115ad565b6106d88484846117d0565b949350505050565b601281565b6a52b7d2dcc80cd2e400000081565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916105e9918590610730908663ffffffff61182216565b6114bb565b6003546001600160a01b031633146107865760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b600354600160a01b900460ff166107e75760408051600160e51b62461bcd02815260206004820152600e60248201527f4e6f7420706175736564206e6f77000000000000000000000000000000000000604482015290519081900360640190fd5b60038054600160a01b60ff02191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b6003546001600160a01b031633146108735760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b6001600160a01b038116600081815260046020908152604091829020805460ff19169055815192835290517f4feb53e305297ab8fb8f3420c95ea04737addc254a7270d8fc4605d2b9c61dba9281900390910190a150565b6001600160a01b03821660009081526005602052604081208054829190849081106108f257fe5b600091825260208083206002909202909101546001600160a01b03871683526005909152604090912080548590811061092757fe5b906000526020600020906002020160010154915091509250929050565b600354600160a01b900460ff1681565b600080805b6001600160a01b0384166000908152600560205260409020548110156109cd576001600160a01b038416600090815260056020526040902080546109c39190839081106109a257fe5b9060005260206000209060020201600101548361182290919063ffffffff16565b9150600101610959565b506109e7816109db8561187f565b9063ffffffff61182216565b9392505050565b6003546001600160a01b03163314610a3f5760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b6001600160a01b0382166000908152600560205260409020548110610aae5760408051600160e51b62461bcd02815260206004820152601460248201527f4e6f206c6f636b20696e666f726d6174696f6e2e000000000000000000000000604482015290519081900360640190fd5b6001600160a01b03821660009081526005602052604090208054610b10919083908110610ad757fe5b60009182526020808320600160029093020191909101546001600160a01b0386168352908290526040909120549063ffffffff61182216565b6001600160a01b03831660008181526020818152604080832094909455600590529190912080547f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f1919084908110610b6457fe5b9060005260206000209060020201600101546040518082815260200191505060405180910390a26001600160a01b0382166000908152600560205260408120805483908110610baf57fe5b60009182526020808320600160029093020191909101929092556001600160a01b038416815260059091526040902054600019018114610c6e576001600160a01b038216600090815260056020526040902080546000198101908110610c1157fe5b906000526020600020906002020160056000846001600160a01b03166001600160a01b031681526020019081526020016000208281548110610c4f57fe5b6000918252602090912082546002909202019081556001918201549101555b6001600160a01b0382166000908152600560205260409020805490610c97906000198301611bc1565b505050565b6003546001600160a01b03163314610ced5760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b600354600160a01b900460ff1615610d445760408051600160e51b62461bcd02815260206004820152600f6024820152600160891b6e2830bab9b2b210313c9037bbb732b902604482015290519081900360640190fd5b60038054600160a01b60ff021916600160a01b1790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b6003546001600160a01b03163314610dd65760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b6001600160a01b038116600081815260046020908152604091829020805460ff19166001179055815192835290517f8a5c4736a33c7b7f29a2c34ea9ff9608afc5718d56f6fd6dcbd2d3711a1a49139281900390910190a150565b6003546001600160a01b031681565b604051806040016040528060038152602001600160e81b6245544d0281525081565b6003546001600160a01b03163314610eb35760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b610ebc8261187f565b811115610f135760408051600160e51b62461bcd02815260206004820152601560248201527f42616c616e636520697320746f6f20736d616c6c2e0000000000000000000000604482015290519081900360640190fd5b610f1d828261189a565b6040805182815290516001600160a01b038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a25050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916105e9918590610730908663ffffffff61196416565b3360009081526004602052604081205460ff16156110045760408051600160e51b62461bcd02815260206004820152601960248201527f53656e646572206163636f756e74206973206c6f636b65642e00000000000000604482015290519081900360640190fd5b600354600160a01b900460ff161561105b5760408051600160e51b62461bcd02815260206004820152600f6024820152600160891b6e2830bab9b2b210313c9037bbb732b902604482015290519081900360640190fd5b611064336115ad565b6109e783836119c4565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6003546000906001600160a01b031633146110ed5760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b6001600160a01b03841661114b5760408051600160e51b62461bcd02815260206004820152600d60248201527f77726f6e67206164647265737300000000000000000000000000000000000000604482015290519081900360640190fd5b600354611160906001600160a01b031661187f565b8311156111b75760408051600160e51b62461bcd02815260206004820152601260248201527f4e6f7420656e6f7567682062616c616e63650000000000000000000000000000604482015290519081900360640190fd5b6003546001600160a01b03166000908152602081905260409020546111e2908463ffffffff61196416565b600380546001600160a01b039081166000908152602081815260408083209590955588831680835260058252858320865180880188528981528084018b81528254600181810185559387529585902091516002909602909101948555519301929092559254845188815294519194921692600080516020611d30833981519152928290030190a3604080518481526020810184905281516001600160a01b038716927f49eaf4942f1237055eb4cfa5f31c9dfe50d5b4ade01e021f7de8be2fbbde557b928290030190a25060019392505050565b6001600160a01b031660009081526005602052604090205490565b6003546001600160a01b031633146113225760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b8161132c8461187f565b10156113825760408051600160e51b62461bcd02815260206004820152601560248201527f42616c616e636520697320746f6f20736d616c6c2e0000000000000000000000604482015290519081900360640190fd5b6001600160a01b0383166000908152602081905260409020546113ab908363ffffffff61196416565b6001600160a01b0384166000818152602081815260408083209490945560058152838220845180860186528681528083018881528254600181810185559386529484902091516002909502909101938455519201919091558251858152908101849052825191927f49eaf4942f1237055eb4cfa5f31c9dfe50d5b4ade01e021f7de8be2fbbde557b92918290030190a2505050565b6001600160a01b031660009081526004602052604090205460ff1690565b6003546001600160a01b031633146114af5760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b6114b8816119d1565b50565b6001600160a01b03831661150357604051600160e51b62461bcd028152600401808060200182810382526024815260200180611d966024913960400191505060405180910390fd5b6001600160a01b03821661154b57604051600160e51b62461bcd028152600401808060200182810382526022815260200180611d0e6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b60005b6001600160a01b0382166000908152600560205260409020548110156117cc576001600160a01b03821660009081526005602052604090208054429190839081106115f757fe5b906000526020600020906002020160000154116117c4576001600160a01b03821660009081526005602052604090208054611637919083908110610ad757fe5b6001600160a01b03831660008181526020818152604080832094909455600590529190912080547f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f191908490811061168b57fe5b9060005260206000209060020201600101546040518082815260200191505060405180910390a26001600160a01b03821660009081526005602052604081208054839081106116d657fe5b60009182526020808320600160029093020191909101929092556001600160a01b038416815260059091526040902054600019018114611799576001600160a01b03821660009081526005602052604090208054600019810190811061173857fe5b906000526020600020906002020160056000846001600160a01b03166001600160a01b03168152602001908152602001600020828154811061177657fe5b600091825260209091208254600290920201908155600191820154910155600019015b6001600160a01b03821660009081526005602052604090208054906117c2906000198301611bc1565b505b6001016115b0565b5050565b60006117dd848484611a8b565b6001600160a01b038416600090815260016020908152604080832033808552925290912054611818918691610730908663ffffffff61196416565b5060019392505050565b6000828201838110156109e75760408051600160e51b62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b031660009081526020819052604090205490565b6001600160a01b0382166118e257604051600160e51b62461bcd028152600401808060200182810382526021815260200180611d506021913960400191505060405180910390fd5b6002546118f5908263ffffffff61196416565b6002556001600160a01b038216600090815260208190526040902054611921908263ffffffff61196416565b6001600160a01b03831660008181526020818152604080832094909455835185815293519193600080516020611d30833981519152929081900390910190a35050565b6000828211156119be5760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60006105e9338484611a8b565b6001600160a01b038116611a2f5760408051600160e51b62461bcd02815260206004820152600d60248201527f416c7265616479204f776e657200000000000000000000000000000000000000604482015290519081900360640190fd5b6003546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600380546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316611ad357604051600160e51b62461bcd028152600401808060200182810382526025815260200180611d716025913960400191505060405180910390fd5b6001600160a01b038216611b1b57604051600160e51b62461bcd028152600401808060200182810382526023815260200180611ceb6023913960400191505060405180910390fd5b6001600160a01b038316600090815260208190526040902054611b44908263ffffffff61196416565b6001600160a01b038085166000908152602081905260408082209390935590841681522054611b79908263ffffffff61182216565b6001600160a01b03808416600081815260208181526040918290209490945580518581529051919392871692600080516020611d3083398151915292918290030190a3505050565b815481835581811115610c9757600083815260209020610c97916105f69160029182028101918502015b80821115611c055760008082556001820155600201611beb565b5090565b6001600160a01b038216611c675760408051600160e51b62461bcd02815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600254611c7a908263ffffffff61182216565b6002556001600160a01b038216600090815260208190526040902054611ca6908263ffffffff61182216565b6001600160a01b038316600081815260208181526040808320949094558351858152935192939192600080516020611d308339815191529281900390910190a3505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a165627a7a723058203a3dbe4875ba2b73bd4d4df20bfbce2f4ed387a45465cc6dd35b5a574ba680500029

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061018e5760003560e01c80638456cb59116100de578063a9059cbb11610097578063df03458611610071578063df034586146104ff578063e2ab691d14610525578063e583983614610557578063f2fde38b1461057d5761018e565b8063a9059cbb14610473578063dd62ed3e1461049f578063de6baccb146104cd5761018e565b80638456cb59146103c15780638d1fdf2f146103c95780638da5cb5b146103ef57806395d89b41146104135780639dc29fac1461041b578063a457c2d7146104475761018e565b8063395093511161014b57806346cf1bb51161012557806346cf1bb5146103225780635c975abb1461036757806370a082311461036f5780637eee288d146103955761018e565b806339509351146102c65780633f4ba83a146102f257806345c8b1a6146102fc5761018e565b806306fdde0314610193578063095ea7b31461021057806318160ddd1461025057806323b872dd1461026a578063313ce567146102a0578063378dc3dc146102be575b600080fd5b61019b6105a3565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101d55781810151838201526020016101bd565b50505050905090810190601f1680156102025780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61023c6004803603604081101561022657600080fd5b506001600160a01b0381351690602001356105dc565b604080519115158252519081900360200190f35b6102586105f2565b60408051918252519081900360200190f35b61023c6004803603606081101561028057600080fd5b506001600160a01b038135811691602081013590911690604001356105f9565b6102a86106e0565b6040805160ff9092168252519081900360200190f35b6102586106e5565b61023c600480360360408110156102dc57600080fd5b506001600160a01b0381351690602001356106f4565b6102fa610735565b005b6102fa6004803603602081101561031257600080fd5b50356001600160a01b0316610822565b61034e6004803603604081101561033857600080fd5b506001600160a01b0381351690602001356108cb565b6040805192835260208301919091528051918290030190f35b61023c610944565b6102586004803603602081101561038557600080fd5b50356001600160a01b0316610954565b6102fa600480360360408110156103ab57600080fd5b506001600160a01b0381351690602001356109ee565b6102fa610c9c565b6102fa600480360360208110156103df57600080fd5b50356001600160a01b0316610d85565b6103f7610e31565b604080516001600160a01b039092168252519081900360200190f35b61019b610e40565b6102fa6004803603604081101561043157600080fd5b506001600160a01b038135169060200135610e62565b61023c6004803603604081101561045d57600080fd5b506001600160a01b038135169060200135610f60565b61023c6004803603604081101561048957600080fd5b506001600160a01b038135169060200135610f9c565b610258600480360360408110156104b557600080fd5b506001600160a01b038135811691602001351661106e565b61023c600480360360608110156104e357600080fd5b506001600160a01b038135169060208101359060400135611099565b6102586004803603602081101561051557600080fd5b50356001600160a01b03166112b6565b6102fa6004803603606081101561053b57600080fd5b506001600160a01b0381351690602081013590604001356112d1565b61023c6004803603602081101561056d57600080fd5b50356001600160a01b0316611440565b6102fa6004803603602081101561059357600080fd5b50356001600160a01b031661145e565b6040518060400160405280600d81526020017f457468657265756d204d696e690000000000000000000000000000000000000081525081565b60006105e93384846114bb565b50600192915050565b6002545b90565b600354600090600160a01b900460ff16156106535760408051600160e51b62461bcd02815260206004820152600f6024820152600160891b6e2830bab9b2b210313c9037bbb732b902604482015290519081900360640190fd5b6001600160a01b03841660009081526004602052604090205460ff16156106c45760408051600160e51b62461bcd02815260206004820152601760248201527f46726f6d206163636f756e74206973206c6f636b65642e000000000000000000604482015290519081900360640190fd5b6106cd846115ad565b6106d88484846117d0565b949350505050565b601281565b6a52b7d2dcc80cd2e400000081565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916105e9918590610730908663ffffffff61182216565b6114bb565b6003546001600160a01b031633146107865760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b600354600160a01b900460ff166107e75760408051600160e51b62461bcd02815260206004820152600e60248201527f4e6f7420706175736564206e6f77000000000000000000000000000000000000604482015290519081900360640190fd5b60038054600160a01b60ff02191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b6003546001600160a01b031633146108735760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b6001600160a01b038116600081815260046020908152604091829020805460ff19169055815192835290517f4feb53e305297ab8fb8f3420c95ea04737addc254a7270d8fc4605d2b9c61dba9281900390910190a150565b6001600160a01b03821660009081526005602052604081208054829190849081106108f257fe5b600091825260208083206002909202909101546001600160a01b03871683526005909152604090912080548590811061092757fe5b906000526020600020906002020160010154915091509250929050565b600354600160a01b900460ff1681565b600080805b6001600160a01b0384166000908152600560205260409020548110156109cd576001600160a01b038416600090815260056020526040902080546109c39190839081106109a257fe5b9060005260206000209060020201600101548361182290919063ffffffff16565b9150600101610959565b506109e7816109db8561187f565b9063ffffffff61182216565b9392505050565b6003546001600160a01b03163314610a3f5760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b6001600160a01b0382166000908152600560205260409020548110610aae5760408051600160e51b62461bcd02815260206004820152601460248201527f4e6f206c6f636b20696e666f726d6174696f6e2e000000000000000000000000604482015290519081900360640190fd5b6001600160a01b03821660009081526005602052604090208054610b10919083908110610ad757fe5b60009182526020808320600160029093020191909101546001600160a01b0386168352908290526040909120549063ffffffff61182216565b6001600160a01b03831660008181526020818152604080832094909455600590529190912080547f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f1919084908110610b6457fe5b9060005260206000209060020201600101546040518082815260200191505060405180910390a26001600160a01b0382166000908152600560205260408120805483908110610baf57fe5b60009182526020808320600160029093020191909101929092556001600160a01b038416815260059091526040902054600019018114610c6e576001600160a01b038216600090815260056020526040902080546000198101908110610c1157fe5b906000526020600020906002020160056000846001600160a01b03166001600160a01b031681526020019081526020016000208281548110610c4f57fe5b6000918252602090912082546002909202019081556001918201549101555b6001600160a01b0382166000908152600560205260409020805490610c97906000198301611bc1565b505050565b6003546001600160a01b03163314610ced5760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b600354600160a01b900460ff1615610d445760408051600160e51b62461bcd02815260206004820152600f6024820152600160891b6e2830bab9b2b210313c9037bbb732b902604482015290519081900360640190fd5b60038054600160a01b60ff021916600160a01b1790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b6003546001600160a01b03163314610dd65760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b6001600160a01b038116600081815260046020908152604091829020805460ff19166001179055815192835290517f8a5c4736a33c7b7f29a2c34ea9ff9608afc5718d56f6fd6dcbd2d3711a1a49139281900390910190a150565b6003546001600160a01b031681565b604051806040016040528060038152602001600160e81b6245544d0281525081565b6003546001600160a01b03163314610eb35760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b610ebc8261187f565b811115610f135760408051600160e51b62461bcd02815260206004820152601560248201527f42616c616e636520697320746f6f20736d616c6c2e0000000000000000000000604482015290519081900360640190fd5b610f1d828261189a565b6040805182815290516001600160a01b038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a25050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916105e9918590610730908663ffffffff61196416565b3360009081526004602052604081205460ff16156110045760408051600160e51b62461bcd02815260206004820152601960248201527f53656e646572206163636f756e74206973206c6f636b65642e00000000000000604482015290519081900360640190fd5b600354600160a01b900460ff161561105b5760408051600160e51b62461bcd02815260206004820152600f6024820152600160891b6e2830bab9b2b210313c9037bbb732b902604482015290519081900360640190fd5b611064336115ad565b6109e783836119c4565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6003546000906001600160a01b031633146110ed5760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b6001600160a01b03841661114b5760408051600160e51b62461bcd02815260206004820152600d60248201527f77726f6e67206164647265737300000000000000000000000000000000000000604482015290519081900360640190fd5b600354611160906001600160a01b031661187f565b8311156111b75760408051600160e51b62461bcd02815260206004820152601260248201527f4e6f7420656e6f7567682062616c616e63650000000000000000000000000000604482015290519081900360640190fd5b6003546001600160a01b03166000908152602081905260409020546111e2908463ffffffff61196416565b600380546001600160a01b039081166000908152602081815260408083209590955588831680835260058252858320865180880188528981528084018b81528254600181810185559387529585902091516002909602909101948555519301929092559254845188815294519194921692600080516020611d30833981519152928290030190a3604080518481526020810184905281516001600160a01b038716927f49eaf4942f1237055eb4cfa5f31c9dfe50d5b4ade01e021f7de8be2fbbde557b928290030190a25060019392505050565b6001600160a01b031660009081526005602052604090205490565b6003546001600160a01b031633146113225760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b8161132c8461187f565b10156113825760408051600160e51b62461bcd02815260206004820152601560248201527f42616c616e636520697320746f6f20736d616c6c2e0000000000000000000000604482015290519081900360640190fd5b6001600160a01b0383166000908152602081905260409020546113ab908363ffffffff61196416565b6001600160a01b0384166000818152602081815260408083209490945560058152838220845180860186528681528083018881528254600181810185559386529484902091516002909502909101938455519201919091558251858152908101849052825191927f49eaf4942f1237055eb4cfa5f31c9dfe50d5b4ade01e021f7de8be2fbbde557b92918290030190a2505050565b6001600160a01b031660009081526004602052604090205460ff1690565b6003546001600160a01b031633146114af5760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b6114b8816119d1565b50565b6001600160a01b03831661150357604051600160e51b62461bcd028152600401808060200182810382526024815260200180611d966024913960400191505060405180910390fd5b6001600160a01b03821661154b57604051600160e51b62461bcd028152600401808060200182810382526022815260200180611d0e6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b60005b6001600160a01b0382166000908152600560205260409020548110156117cc576001600160a01b03821660009081526005602052604090208054429190839081106115f757fe5b906000526020600020906002020160000154116117c4576001600160a01b03821660009081526005602052604090208054611637919083908110610ad757fe5b6001600160a01b03831660008181526020818152604080832094909455600590529190912080547f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f191908490811061168b57fe5b9060005260206000209060020201600101546040518082815260200191505060405180910390a26001600160a01b03821660009081526005602052604081208054839081106116d657fe5b60009182526020808320600160029093020191909101929092556001600160a01b038416815260059091526040902054600019018114611799576001600160a01b03821660009081526005602052604090208054600019810190811061173857fe5b906000526020600020906002020160056000846001600160a01b03166001600160a01b03168152602001908152602001600020828154811061177657fe5b600091825260209091208254600290920201908155600191820154910155600019015b6001600160a01b03821660009081526005602052604090208054906117c2906000198301611bc1565b505b6001016115b0565b5050565b60006117dd848484611a8b565b6001600160a01b038416600090815260016020908152604080832033808552925290912054611818918691610730908663ffffffff61196416565b5060019392505050565b6000828201838110156109e75760408051600160e51b62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b031660009081526020819052604090205490565b6001600160a01b0382166118e257604051600160e51b62461bcd028152600401808060200182810382526021815260200180611d506021913960400191505060405180910390fd5b6002546118f5908263ffffffff61196416565b6002556001600160a01b038216600090815260208190526040902054611921908263ffffffff61196416565b6001600160a01b03831660008181526020818152604080832094909455835185815293519193600080516020611d30833981519152929081900390910190a35050565b6000828211156119be5760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60006105e9338484611a8b565b6001600160a01b038116611a2f5760408051600160e51b62461bcd02815260206004820152600d60248201527f416c7265616479204f776e657200000000000000000000000000000000000000604482015290519081900360640190fd5b6003546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600380546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316611ad357604051600160e51b62461bcd028152600401808060200182810382526025815260200180611d716025913960400191505060405180910390fd5b6001600160a01b038216611b1b57604051600160e51b62461bcd028152600401808060200182810382526023815260200180611ceb6023913960400191505060405180910390fd5b6001600160a01b038316600090815260208190526040902054611b44908263ffffffff61196416565b6001600160a01b038085166000908152602081905260408082209390935590841681522054611b79908263ffffffff61182216565b6001600160a01b03808416600081815260208181526040918290209490945580518581529051919392871692600080516020611d3083398151915292918290030190a3505050565b815481835581811115610c9757600083815260209020610c97916105f69160029182028101918502015b80821115611c055760008082556001820155600201611beb565b5090565b6001600160a01b038216611c675760408051600160e51b62461bcd02815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600254611c7a908263ffffffff61182216565b6002556001600160a01b038216600090815260208190526040902054611ca6908263ffffffff61182216565b6001600160a01b038316600081815260208181526040808320949094558351858152935192939192600080516020611d308339815191529281900390910190a3505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a165627a7a723058203a3dbe4875ba2b73bd4d4df20bfbce2f4ed387a45465cc6dd35b5a574ba680500029

Deployed Bytecode Sourcemap

5259:6024:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5259:6024:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5297:45;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;5297:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2796:148;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2796:148:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;2273:91;;;:::i;:::-;;;;;;;;;;;;;;;;7648:317;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7648:317:0;;;;;;;;;;;;;;;;;:::i;5395:35::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5438:77;;;:::i;3216:206::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3216:206:0;;;;;;;;:::i;6660:105::-;;;:::i;:::-;;7150:128;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7150:128:0;-1:-1:-1;;;;;7150:128:0;;:::i;9668:185::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;9668:185:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6321:26;;;:::i;8530:335::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8530:335:0;-1:-1:-1;;;;;8530:335:0;;:::i;10249:516::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;10249:516:0;;;;;;;;:::i;6549:103::-;;;:::i;7019:123::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7019:123:0;-1:-1:-1;;;;;7019:123:0;;:::i;5643:20::-;;;:::i;:::-;;;;-1:-1:-1;;;;;5643:20:0;;;;;;;;;;;;;;5350:37;;;:::i;8031:211::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8031:211:0;;;;;;;;:::i;3430:216::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3430:216:0;;;;;;;;:::i;7398:242::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7398:242:0;;;;;;;;:::i;2654:134::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2654:134:0;;;;;;;;;;:::i;10773:505::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;10773:505:0;;;;;;;;;;;;;:::i;9546:116::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9546:116:0;-1:-1:-1;;;;;9546:116:0;;:::i;9861:380::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;9861:380:0;;;;;;;;;;;;;:::i;7286:104::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7286:104:0;-1:-1:-1;;;;;7286:104:0;;:::i;5944:111::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5944:111:0;-1:-1:-1;;;;;5944:111:0;;:::i;5297:45::-;;;;;;;;;;;;;;;;;;;:::o;2796:148::-;2861:4;2878:36;2887:10;2899:7;2908:5;2878:8;:36::i;:::-;-1:-1:-1;2932:4:0;2796:148;;;;:::o;2273:91::-;2344:12;;2273:91;;:::o;7648:317::-;6401:6;;7799:4;;-1:-1:-1;;;6401:6:0;;;;6400:7;6392:35;;;;;-1:-1:-1;;;;;6392:35:0;;;;;;;;;;;;-1:-1:-1;;;;;6392:35:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;7830:14:0;;;;;;:7;:14;;;;;;;;7829:15;7821:51;;;;;-1:-1:-1;;;;;7821:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;7883:18;7895:5;7883:11;:18::i;:::-;7919:38;7938:5;7945:3;7950:6;7919:18;:38::i;:::-;7912:45;7648:317;-1:-1:-1;;;;7648:317:0:o;5395:35::-;5428:2;5395:35;:::o;5438:77::-;5478:37;5438:77;:::o;3216:206::-;3322:10;3296:4;3343:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;3343:32:0;;;;;;;;;;3296:4;;3313:79;;3334:7;;3343:48;;3380:10;3343:48;:36;:48;:::i;:::-;3313:8;:79::i;6660:105::-;5897:5;;-1:-1:-1;;;;;5897:5:0;5883:10;:19;5875:41;;;;;-1:-1:-1;;;;;5875:41:0;;;;;;;;;;;;-1:-1:-1;;;;;5875:41:0;;;;;;;;;;;;;;;6496:6;;-1:-1:-1;;;6496:6:0;;;;6488:33;;;;;-1:-1:-1;;;;;6488:33:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;6718:6;:14;;-1:-1:-1;;;;;;6718:14:0;;;6748:9;;;;6727:5;;6748:9;6660:105::o;7150:128::-;5897:5;;-1:-1:-1;;;;;5897:5:0;5883:10;:19;5875:41;;;;;-1:-1:-1;;;;;5875:41:0;;;;;;;;;;;;-1:-1:-1;;;;;5875:41:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;7213:16:0;;7232:5;7213:16;;;:7;:16;;;;;;;;;:24;;-1:-1:-1;;7213:24:0;;;7253:17;;;;;;;;;;;;;;;;;7150:128;:::o;9668:185::-;-1:-1:-1;;;;;9776:17:0;;9739:7;9776:17;;;:8;:17;;;;;:23;;9739:7;;9776:17;9794:4;;9776:23;;;;;;;;;;;;;;;;;;;;;:35;-1:-1:-1;;;;;9813:17:0;;;;:8;:17;;;;;;;:23;;9831:4;;9813:23;;;;;;;;;;;;;;;;:31;;;9768:77;;;;9668:185;;;;;:::o;6321:26::-;;;-1:-1:-1;;;6321:26:0;;;;;:::o;8530:335::-;8587:15;;;8651:146;-1:-1:-1;;;;;8674:17:0;;;;;;:8;:17;;;;;:24;8670:28;;8651:146;;;-1:-1:-1;;;;;8756:17:0;;;;;;:8;:17;;;;;:20;;8738:47;;8756:17;8774:1;;8756:20;;;;;;;;;;;;;;;;:28;;;8738:13;:17;;:47;;;;:::i;:::-;8722:63;-1:-1:-1;8701:3:0;;8651:146;;;;8814:43;8843:13;8814:24;8830:7;8814:15;:24::i;:::-;:28;:43;:28;:43;:::i;:::-;8807:50;8530:335;-1:-1:-1;;;8530:335:0:o;10249:516::-;5897:5;;-1:-1:-1;;;;;5897:5:0;5883:10;:19;5875:41;;;;;-1:-1:-1;;;;;5875:41:0;;;;;;;;;;;;-1:-1:-1;;;;;5875:41:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;10333:17:0;;;;;;:8;:17;;;;;:24;10329:28;;10321:61;;;;;-1:-1:-1;;;;;10321:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10439:17:0;;;;;;:8;:17;;;;;:20;;10416:52;;10439:17;10457:1;;10439:20;;;;;;;;;;;;;;:28;:20;;;;;:28;;;;;-1:-1:-1;;;;;10416:18:0;;;;;;;;;;;;;;:52;:22;:52;:::i;:::-;-1:-1:-1;;;;;10395:18:0;;:9;:18;;;;;;;;;;;:73;;;;10500:8;:17;;;;;;:20;;10484:45;;10500:17;10518:1;;10500:20;;;;;;;;;;;;;;;;:28;;;10484:45;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10540:17:0;;10571:1;10540:17;;;:8;:17;;;;;:20;;10558:1;;10540:20;;;;;;;;;;;;;;:28;:20;;;;;:28;;;;:32;;;;-1:-1:-1;;;;;10594:17:0;;;;:8;:17;;;;;;:24;-1:-1:-1;;10594:28:0;10589:33;;10585:136;;-1:-1:-1;;;;;10662:17:0;;;;;;:8;:17;;;;;10680:24;;-1:-1:-1;;10680:28:0;;;10662:47;;;;;;;;;;;;;;;;10639:8;:17;10648:7;-1:-1:-1;;;;;10639:17:0;-1:-1:-1;;;;;10639:17:0;;;;;;;;;;;;10657:1;10639:20;;;;;;;;;;;;;;;;:70;;:20;;;;;:70;;;;;;;;;;;10585:136;-1:-1:-1;;;;;10731:17:0;;;;;;:8;:17;;;;;:26;;;;;-1:-1:-1;;10731:26:0;;;:::i;:::-;;10249:516;;:::o;6549:103::-;5897:5;;-1:-1:-1;;;;;5897:5:0;5883:10;:19;5875:41;;;;;-1:-1:-1;;;;;5875:41:0;;;;;;;;;;;;-1:-1:-1;;;;;5875:41:0;;;;;;;;;;;;;;;6401:6;;-1:-1:-1;;;6401:6:0;;;;6400:7;6392:35;;;;;-1:-1:-1;;;;;6392:35:0;;;;;;;;;;;;-1:-1:-1;;;;;6392:35:0;;;;;;;;;;;;;;;6608:6;:13;;-1:-1:-1;;;;;;6608:13:0;-1:-1:-1;;;6608:13:0;;;6637:7;;;;6608:13;;6637:7;6549:103::o;7019:123::-;5897:5;;-1:-1:-1;;;;;5897:5:0;5883:10;:19;5875:41;;;;;-1:-1:-1;;;;;5875:41:0;;;;;;;;;;;;-1:-1:-1;;;;;5875:41:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;7080:16:0;;;;;;:7;:16;;;;;;;;;:23;;-1:-1:-1;;7080:23:0;7099:4;7080:23;;;7119:15;;;;;;;;;;;;;;;;;7019:123;:::o;5643:20::-;;;-1:-1:-1;;;;;5643:20:0;;:::o;5350:37::-;;;;;;;;;;;;;;-1:-1:-1;;;;;5350:37:0;;;;:::o;8031:211::-;5897:5;;-1:-1:-1;;;;;5897:5:0;5883:10;:19;5875:41;;;;;-1:-1:-1;;;;;5875:41:0;;;;;;;;;;;;-1:-1:-1;;;;;5875:41:0;;;;;;;;;;;;;;;8121:21;8137:4;8121:15;:21::i;:::-;8111:6;:31;;8103:65;;;;;-1:-1:-1;;;;;8103:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;8181:19;8187:4;8193:6;8181:5;:19::i;:::-;8216:18;;;;;;;;-1:-1:-1;;;;;8216:18:0;;;;;;;;;;;;;8031:211;;:::o;3430:216::-;3541:10;3515:4;3562:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;3562:32:0;;;;;;;;;;3515:4;;3532:84;;3553:7;;3562:53;;3599:15;3562:53;:36;:53;:::i;7398:242::-;6950:10;7542:4;6942:19;;;:7;:19;;;;;;;;6941:20;6933:58;;;;;-1:-1:-1;;;;;6933:58:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;6401:6;;-1:-1:-1;;;6401:6:0;;;;6400:7;6392:35;;;;;-1:-1:-1;;;;;6392:35:0;;;;;;;;;;;;-1:-1:-1;;;;;6392:35:0;;;;;;;;;;;;;;;7564:23;7576:10;7564:11;:23::i;:::-;7605:27;7620:3;7625:6;7605:14;:27::i;2654:134::-;-1:-1:-1;;;;;2753:18:0;;;2726:7;2753:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;2654:134::o;10773:505::-;5897:5;;10876:4;;-1:-1:-1;;;;;5897:5:0;5883:10;:19;5875:41;;;;;-1:-1:-1;;;;;5875:41:0;;;;;;;;;;;;-1:-1:-1;;;;;5875:41:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;10901:17:0;;10893:43;;;;;-1:-1:-1;;;;;10893:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;10981:5;;10965:22;;-1:-1:-1;;;;;10981:5:0;10965:15;:22::i;:::-;10955:6;:32;;10947:63;;;;;-1:-1:-1;;;;;10947:63:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;11052:5;;-1:-1:-1;;;;;11052:5:0;11042:9;:16;;;;;;;;;;;:28;;11063:6;11042:28;:20;:28;:::i;:::-;11033:5;;;-1:-1:-1;;;;;11033:5:0;;;11023:9;:16;;;;;;;;;;;:47;;;;11081:13;;;;;;:8;:13;;;;;11114:30;;;;;;;;;;;;;;;;27:10:-1;;11033:5:0;23:18:-1;;;45:23;;11081:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;11180:5;;11171:28;;;;;;;11081:13;;11180:5;;;-1:-1:-1;;;;;;;;;;;11171:28:0;;;;;;;11215:31;;;;;;;;;;;;;;-1:-1:-1;;;;;11215:31:0;;;;;;;;;;;-1:-1:-1;11266:4:0;10773:505;;;;;:::o;9546:116::-;-1:-1:-1;;;;;9630:17:0;9603:7;9630:17;;;:8;:17;;;;;:24;;9546:116::o;9861:380::-;5897:5;;-1:-1:-1;;;;;5897:5:0;5883:10;:19;5875:41;;;;;-1:-1:-1;;;;;5875:41:0;;;;;;;;;;;;-1:-1:-1;;;;;5875:41:0;;;;;;;;;;;;;;;9995:7;9967:24;9983:7;9967:15;:24::i;:::-;:35;;9959:69;;;;;-1:-1:-1;;;;;9959:69:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10060:18:0;;:9;:18;;;;;;;;;;;:31;;10083:7;10060:31;:22;:31;:::i;:::-;-1:-1:-1;;;;;10039:18:0;;:9;:18;;;;;;;;;;;:52;;;;10102:8;:17;;;;;10139:31;;;;;;;;;;;;;;;;27:10:-1;;39:1;23:18;;;45:23;;10102:79:0;;;;;;;;;;;;;;;;;;;;;;;;;;10197:36;;;;;;;;;;;;;10039:18;;10197:36;;;;;;;;;9861:380;;;:::o;7286:104::-;-1:-1:-1;;;;;7366:16:0;7342:4;7366:16;;;:7;:16;;;;;;;;;7286:104::o;5944:111::-;5897:5;;-1:-1:-1;;;;;5897:5:0;5883:10;:19;5875:41;;;;;-1:-1:-1;;;;;5875:41:0;;;;;;;;;;;;-1:-1:-1;;;;;5875:41:0;;;;;;;;;;;;;;;6018:29;6037:9;6018:18;:29::i;:::-;5944:111;:::o;4721:335::-;-1:-1:-1;;;;;4814:19:0;;4806:68;;;;-1:-1:-1;;;;;4806:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4893:21:0;;4885:68;;;;-1:-1:-1;;;;;4885:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4966:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:35;;;5017:31;;;;;;;;;;;;;;;;;4721:335;;;:::o;8873:667::-;8937:9;8933:600;-1:-1:-1;;;;;8956:17:0;;;;;;:8;:17;;;;;:24;8952:28;;8933:600;;;-1:-1:-1;;;;;9008:17:0;;;;;;:8;:17;;;;;:20;;9044:3;;9008:17;9026:1;;9008:20;;;;;;;;;;;;;;;;:32;;;:39;9004:518;;-1:-1:-1;;;;;9112:17:0;;;;;;:8;:17;;;;;:20;;9089:52;;9112:17;9130:1;;9112:20;;;;;9089:52;-1:-1:-1;;;;;9068:18:0;;:9;:18;;;;;;;;;;;:73;;;;9181:8;:17;;;;;;:20;;9165:45;;9181:17;9199:1;;9181:20;;;;;;;;;;;;;;;;:28;;;9165:45;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9229:17:0;;9260:1;9229:17;;;:8;:17;;;;;:20;;9247:1;;9229:20;;;;;;;;;;;;;;:28;:20;;;;;:28;;;;:32;;;;-1:-1:-1;;;;;9291:17:0;;;;:8;:17;;;;;;:24;-1:-1:-1;;9291:28:0;9286:33;;9282:178;;-1:-1:-1;;;;;9367:17:0;;;;;;:8;:17;;;;;9385:24;;-1:-1:-1;;9385:28:0;;;9367:47;;;;;;;;;;;;;;;;9344:8;:17;9353:7;-1:-1:-1;;;;;9344:17:0;-1:-1:-1;;;;;9344:17:0;;;;;;;;;;;;9362:1;9344:20;;;;;;;;;;;;;;;;:70;;:20;;;;;:70;;;;;;;;;;;-1:-1:-1;;9437:3:0;9282:178;-1:-1:-1;;;;;9478:17:0;;;;;;:8;:17;;;;;:26;;;;;-1:-1:-1;;9478:26:0;;;:::i;:::-;;9004:518;8983:3;;8933:600;;;;8873:667;:::o;2952:256::-;3041:4;3058:36;3068:6;3076:9;3087:6;3058:9;:36::i;:::-;-1:-1:-1;;;;;3134:19:0;;;;;;:11;:19;;;;;;;;3122:10;3134:31;;;;;;;;;3105:73;;3114:6;;3134:43;;3170:6;3134:43;:35;:43;:::i;3105:73::-;-1:-1:-1;3196:4:0;2952:256;;;;;:::o;1048:181::-;1106:7;1138:5;;;1162:6;;;;1154:46;;;;;-1:-1:-1;;;;;1154:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;2372:110;-1:-1:-1;;;;;2456:18:0;2429:7;2456:18;;;;;;;;;;;;2372:110::o;4407:306::-;-1:-1:-1;;;;;4482:21:0;;4474:67;;;;-1:-1:-1;;;;;4474:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4569:12;;:23;;4586:5;4569:23;:16;:23;:::i;:::-;4554:12;:38;-1:-1:-1;;;;;4624:18:0;;:9;:18;;;;;;;;;;;:29;;4647:5;4624:29;:22;:29;:::i;:::-;-1:-1:-1;;;;;4603:18:0;;:9;:18;;;;;;;;;;;:50;;;;4669:36;;;;;;;4603:9;;-1:-1:-1;;;;;;;;;;;4669:36:0;;;;;;;;;;4407:306;;:::o;1237:184::-;1295:7;1328:1;1323;:6;;1315:49;;;;;-1:-1:-1;;;;;1315:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1387:5:0;;;1237:184::o;2490:156::-;2559:4;2576:40;2586:10;2598:9;2609:6;2576:9;:40::i;6063:206::-;-1:-1:-1;;;;;6138:23:0;;6130:49;;;;;-1:-1:-1;;;;;6130:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;6216:5;;6195:38;;-1:-1:-1;;;;;6195:38:0;;;;6216:5;;6195:38;;6216:5;;6195:38;6244:5;:17;;-1:-1:-1;;;;;;6244:17:0;-1:-1:-1;;;;;6244:17:0;;;;;;;;;;6063:206::o;3654:429::-;-1:-1:-1;;;;;3752:20:0;;3744:70;;;;-1:-1:-1;;;;;3744:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3833:23:0;;3825:71;;;;-1:-1:-1;;;;;3825:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3929:17:0;;:9;:17;;;;;;;;;;;:29;;3951:6;3929:29;:21;:29;:::i;:::-;-1:-1:-1;;;;;3909:17:0;;;:9;:17;;;;;;;;;;;:49;;;;3992:20;;;;;;;:32;;4017:6;3992:32;:24;:32;:::i;:::-;-1:-1:-1;;;;;3969:20:0;;;:9;:20;;;;;;;;;;;;:55;;;;4040:35;;;;;;;3969:20;;4040:35;;;;-1:-1:-1;;;;;;;;;;;4040:35:0;;;;;;;;3654:429;;;:::o;5259:6024::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4091:308;-1:-1:-1;;;;;4167:21:0;;4159:65;;;;;-1:-1:-1;;;;;4159:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;4252:12;;:24;;4269:6;4252:24;:16;:24;:::i;:::-;4237:12;:39;-1:-1:-1;;;;;4308:18:0;;:9;:18;;;;;;;;;;;:30;;4331:6;4308:30;:22;:30;:::i;:::-;-1:-1:-1;;;;;4287:18:0;;:9;:18;;;;;;;;;;;:51;;;;4354:37;;;;;;;4287:18;;:9;;-1:-1:-1;;;;;;;;;;;4354:37:0;;;;;;;;;4091:308;;:::o

Swarm Source

bzzr://3a3dbe4875ba2b73bd4d4df20bfbce2f4ed387a45465cc6dd35b5a574ba68050

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.