ETH Price: $3,300.22 (+1.71%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer125794622021-06-06 7:03:471335 days ago1622963027IN
0x55FeBb99...91B5d2C3D
0 ETH0.0002422310
Transfer120291622021-03-13 8:39:401420 days ago1615624780IN
0x55FeBb99...91B5d2C3D
0 ETH0.00678144126
Transfer119369482021-02-27 3:30:421434 days ago1614396642IN
0x55FeBb99...91B5d2C3D
0 ETH0.00807135150
Transfer118728602021-02-17 7:09:281444 days ago1613545768IN
0x55FeBb99...91B5d2C3D
0 ETH0.00271285114
Transfer117879282021-02-04 5:44:011457 days ago1612417441IN
0x55FeBb99...91B5d2C3D
0 ETH0.009578178
Transfer117741272021-02-02 2:32:131459 days ago1612233133IN
0x55FeBb99...91B5d2C3D
0 ETH0.0089861167
Transfer117739892021-02-02 2:02:211459 days ago1612231341IN
0x55FeBb99...91B5d2C3D
0 ETH0.01183798220
Transfer117349502021-01-27 1:45:031465 days ago1611711903IN
0x55FeBb99...91B5d2C3D
0 ETH0.0031823382
Transfer117293402021-01-26 5:00:401466 days ago1611637240IN
0x55FeBb99...91B5d2C3D
0 ETH0.0030649679
Transfer117112942021-01-23 10:31:571469 days ago1611397917IN
0x55FeBb99...91B5d2C3D
0 ETH0.003336962
Transfer117041022021-01-22 8:01:321470 days ago1611302492IN
0x55FeBb99...91B5d2C3D
0 ETH0.0026538493
Transfer117039782021-01-22 7:32:361470 days ago1611300756IN
0x55FeBb99...91B5d2C3D
0 ETH0.0044677679
Transfer117039672021-01-22 7:30:341470 days ago1611300634IN
0x55FeBb99...91B5d2C3D
0 ETH0.0036491794
Transfer116976692021-01-21 8:24:091471 days ago1611217449IN
0x55FeBb99...91B5d2C3D
0 ETH0.0043056880
Transfer116971642021-01-21 6:27:401471 days ago1611210460IN
0x55FeBb99...91B5d2C3D
0 ETH0.0046824287
Transfer116964582021-01-21 3:38:371471 days ago1611200317IN
0x55FeBb99...91B5d2C3D
0 ETH0.0033907263
Transfer116925862021-01-20 13:38:131472 days ago1611149893IN
0x55FeBb99...91B5d2C3D
0 ETH0.00801932149
Transfer116895592021-01-20 2:26:221472 days ago1611109582IN
0x55FeBb99...91B5d2C3D
0 ETH0.0035521866
Transfer116841292021-01-19 6:30:591473 days ago1611037859IN
0x55FeBb99...91B5d2C3D
0 ETH0.0032278260
Transfer116780802021-01-18 8:07:431474 days ago1610957263IN
0x55FeBb99...91B5d2C3D
0 ETH0.0022897359
Transfer116770072021-01-18 4:12:071474 days ago1610943127IN
0x55FeBb99...91B5d2C3D
0 ETH0.0038212971
Transfer116714802021-01-17 7:55:021475 days ago1610870102IN
0x55FeBb99...91B5d2C3D
0 ETH0.0026769969
Transfer116648242021-01-16 6:59:351476 days ago1610780375IN
0x55FeBb99...91B5d2C3D
0 ETH0.0014363737
Transfer116644632021-01-16 5:39:581476 days ago1610775598IN
0x55FeBb99...91B5d2C3D
0 ETH0.003336962
Transfer116641762021-01-16 4:41:131476 days ago1610772073IN
0x55FeBb99...91B5d2C3D
0 ETH0.0032830861
View all transactions

Advanced mode:
Parent Transaction Hash Block
From
To
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
CSCOIN

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 2020-08-10
*/

// ----------------------------------------------------------------------------
// CSCOIN contract
// Name        : CSCOIN
// Symbol      : CSC
// Decimals    : 18
// InitialSupply : 5000000000
// ----------------------------------------------------------------------------

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 CSCOIN is ERC20 {
    string public constant name = "CSCOIN"; 
    string public constant symbol = "CSC"; 
    uint8 public constant decimals = 18; 
    uint256 public constant initialSupply = 5000000000 * (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"}]

608060405260038054600160a01b60ff02191690553480156200002157600080fd5b5062000046336b1027e72f1f128130880000006200005e602090811b62001bf617901c565b600380546001600160a01b03191633179055620001f5565b6001600160a01b038216620000d457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b620000f0816002546200017960201b6200180f1790919060201c565b6002556001600160a01b03821660009081526020818152604090912054620001239183906200180f62000179821b17901c565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b600082820183811015620001ee57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b611dd280620002056000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c80638456cb59116100de578063a9059cbb11610097578063df03458611610071578063df034586146104ff578063e2ab691d14610525578063e583983614610557578063f2fde38b1461057d5761018e565b8063a9059cbb14610473578063dd62ed3e1461049f578063de6baccb146104cd5761018e565b80638456cb59146103c15780638d1fdf2f146103c95780638da5cb5b146103ef57806395d89b41146104135780639dc29fac1461041b578063a457c2d7146104475761018e565b8063395093511161014b57806346cf1bb51161012557806346cf1bb5146103225780635c975abb1461036757806370a082311461036f5780637eee288d146103955761018e565b806339509351146102c65780633f4ba83a146102f257806345c8b1a6146102fc5761018e565b806306fdde0314610193578063095ea7b31461021057806318160ddd1461025057806323b872dd1461026a578063313ce567146102a0578063378dc3dc146102be575b600080fd5b61019b6105a3565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101d55781810151838201526020016101bd565b50505050905090810190601f1680156102025780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61023c6004803603604081101561022657600080fd5b506001600160a01b0381351690602001356105c8565b604080519115158252519081900360200190f35b6102586105de565b60408051918252519081900360200190f35b61023c6004803603606081101561028057600080fd5b506001600160a01b038135811691602081013590911690604001356105e5565b6102a86106cc565b6040805160ff9092168252519081900360200190f35b6102586106d1565b61023c600480360360408110156102dc57600080fd5b506001600160a01b0381351690602001356106e1565b6102fa610722565b005b6102fa6004803603602081101561031257600080fd5b50356001600160a01b031661080f565b61034e6004803603604081101561033857600080fd5b506001600160a01b0381351690602001356108b8565b6040805192835260208301919091528051918290030190f35b61023c610931565b6102586004803603602081101561038557600080fd5b50356001600160a01b0316610941565b6102fa600480360360408110156103ab57600080fd5b506001600160a01b0381351690602001356109db565b6102fa610c89565b6102fa600480360360208110156103df57600080fd5b50356001600160a01b0316610d72565b6103f7610e1e565b604080516001600160a01b039092168252519081900360200190f35b61019b610e2d565b6102fa6004803603604081101561043157600080fd5b506001600160a01b038135169060200135610e4f565b61023c6004803603604081101561045d57600080fd5b506001600160a01b038135169060200135610f4d565b61023c6004803603604081101561048957600080fd5b506001600160a01b038135169060200135610f89565b610258600480360360408110156104b557600080fd5b506001600160a01b038135811691602001351661105b565b61023c600480360360608110156104e357600080fd5b506001600160a01b038135169060208101359060400135611086565b6102586004803603602081101561051557600080fd5b50356001600160a01b03166112a3565b6102fa6004803603606081101561053b57600080fd5b506001600160a01b0381351690602081013590604001356112be565b61023c6004803603602081101561056d57600080fd5b50356001600160a01b031661142d565b6102fa6004803603602081101561059357600080fd5b50356001600160a01b031661144b565b604051806040016040528060068152602001600160d11b6521a9a1a7a4a70281525081565b60006105d53384846114a8565b50600192915050565b6002545b90565b600354600090600160a01b900460ff161561063f5760408051600160e51b62461bcd02815260206004820152600f6024820152600160891b6e2830bab9b2b210313c9037bbb732b902604482015290519081900360640190fd5b6001600160a01b03841660009081526004602052604090205460ff16156106b05760408051600160e51b62461bcd02815260206004820152601760248201527f46726f6d206163636f756e74206973206c6f636b65642e000000000000000000604482015290519081900360640190fd5b6106b98461159a565b6106c48484846117bd565b949350505050565b601281565b6b1027e72f1f1281308800000081565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916105d591859061071d908663ffffffff61180f16565b6114a8565b6003546001600160a01b031633146107735760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b600354600160a01b900460ff166107d45760408051600160e51b62461bcd02815260206004820152600e60248201527f4e6f7420706175736564206e6f77000000000000000000000000000000000000604482015290519081900360640190fd5b60038054600160a01b60ff02191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b6003546001600160a01b031633146108605760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b6001600160a01b038116600081815260046020908152604091829020805460ff19169055815192835290517f4feb53e305297ab8fb8f3420c95ea04737addc254a7270d8fc4605d2b9c61dba9281900390910190a150565b6001600160a01b03821660009081526005602052604081208054829190849081106108df57fe5b600091825260208083206002909202909101546001600160a01b03871683526005909152604090912080548590811061091457fe5b906000526020600020906002020160010154915091509250929050565b600354600160a01b900460ff1681565b600080805b6001600160a01b0384166000908152600560205260409020548110156109ba576001600160a01b038416600090815260056020526040902080546109b091908390811061098f57fe5b9060005260206000209060020201600101548361180f90919063ffffffff16565b9150600101610946565b506109d4816109c88561186c565b9063ffffffff61180f16565b9392505050565b6003546001600160a01b03163314610a2c5760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b6001600160a01b0382166000908152600560205260409020548110610a9b5760408051600160e51b62461bcd02815260206004820152601460248201527f4e6f206c6f636b20696e666f726d6174696f6e2e000000000000000000000000604482015290519081900360640190fd5b6001600160a01b03821660009081526005602052604090208054610afd919083908110610ac457fe5b60009182526020808320600160029093020191909101546001600160a01b0386168352908290526040909120549063ffffffff61180f16565b6001600160a01b03831660008181526020818152604080832094909455600590529190912080547f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f1919084908110610b5157fe5b9060005260206000209060020201600101546040518082815260200191505060405180910390a26001600160a01b0382166000908152600560205260408120805483908110610b9c57fe5b60009182526020808320600160029093020191909101929092556001600160a01b038416815260059091526040902054600019018114610c5b576001600160a01b038216600090815260056020526040902080546000198101908110610bfe57fe5b906000526020600020906002020160056000846001600160a01b03166001600160a01b031681526020019081526020016000208281548110610c3c57fe5b6000918252602090912082546002909202019081556001918201549101555b6001600160a01b0382166000908152600560205260409020805490610c84906000198301611bae565b505050565b6003546001600160a01b03163314610cda5760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b600354600160a01b900460ff1615610d315760408051600160e51b62461bcd02815260206004820152600f6024820152600160891b6e2830bab9b2b210313c9037bbb732b902604482015290519081900360640190fd5b60038054600160a01b60ff021916600160a01b1790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b6003546001600160a01b03163314610dc35760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b6001600160a01b038116600081815260046020908152604091829020805460ff19166001179055815192835290517f8a5c4736a33c7b7f29a2c34ea9ff9608afc5718d56f6fd6dcbd2d3711a1a49139281900390910190a150565b6003546001600160a01b031681565b604051806040016040528060038152602001600160e81b624353430281525081565b6003546001600160a01b03163314610ea05760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b610ea98261186c565b811115610f005760408051600160e51b62461bcd02815260206004820152601560248201527f42616c616e636520697320746f6f20736d616c6c2e0000000000000000000000604482015290519081900360640190fd5b610f0a8282611887565b6040805182815290516001600160a01b038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a25050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916105d591859061071d908663ffffffff61195116565b3360009081526004602052604081205460ff1615610ff15760408051600160e51b62461bcd02815260206004820152601960248201527f53656e646572206163636f756e74206973206c6f636b65642e00000000000000604482015290519081900360640190fd5b600354600160a01b900460ff16156110485760408051600160e51b62461bcd02815260206004820152600f6024820152600160891b6e2830bab9b2b210313c9037bbb732b902604482015290519081900360640190fd5b6110513361159a565b6109d483836119b1565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6003546000906001600160a01b031633146110da5760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b6001600160a01b0384166111385760408051600160e51b62461bcd02815260206004820152600d60248201527f77726f6e67206164647265737300000000000000000000000000000000000000604482015290519081900360640190fd5b60035461114d906001600160a01b031661186c565b8311156111a45760408051600160e51b62461bcd02815260206004820152601260248201527f4e6f7420656e6f7567682062616c616e63650000000000000000000000000000604482015290519081900360640190fd5b6003546001600160a01b03166000908152602081905260409020546111cf908463ffffffff61195116565b600380546001600160a01b039081166000908152602081815260408083209590955588831680835260058252858320865180880188528981528084018b81528254600181810185559387529585902091516002909602909101948555519301929092559254845188815294519194921692600080516020611d1d833981519152928290030190a3604080518481526020810184905281516001600160a01b038716927f49eaf4942f1237055eb4cfa5f31c9dfe50d5b4ade01e021f7de8be2fbbde557b928290030190a25060019392505050565b6001600160a01b031660009081526005602052604090205490565b6003546001600160a01b0316331461130f5760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b816113198461186c565b101561136f5760408051600160e51b62461bcd02815260206004820152601560248201527f42616c616e636520697320746f6f20736d616c6c2e0000000000000000000000604482015290519081900360640190fd5b6001600160a01b038316600090815260208190526040902054611398908363ffffffff61195116565b6001600160a01b0384166000818152602081815260408083209490945560058152838220845180860186528681528083018881528254600181810185559386529484902091516002909502909101938455519201919091558251858152908101849052825191927f49eaf4942f1237055eb4cfa5f31c9dfe50d5b4ade01e021f7de8be2fbbde557b92918290030190a2505050565b6001600160a01b031660009081526004602052604090205460ff1690565b6003546001600160a01b0316331461149c5760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b6114a5816119be565b50565b6001600160a01b0383166114f057604051600160e51b62461bcd028152600401808060200182810382526024815260200180611d836024913960400191505060405180910390fd5b6001600160a01b03821661153857604051600160e51b62461bcd028152600401808060200182810382526022815260200180611cfb6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b60005b6001600160a01b0382166000908152600560205260409020548110156117b9576001600160a01b03821660009081526005602052604090208054429190839081106115e457fe5b906000526020600020906002020160000154116117b1576001600160a01b03821660009081526005602052604090208054611624919083908110610ac457fe5b6001600160a01b03831660008181526020818152604080832094909455600590529190912080547f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f191908490811061167857fe5b9060005260206000209060020201600101546040518082815260200191505060405180910390a26001600160a01b03821660009081526005602052604081208054839081106116c357fe5b60009182526020808320600160029093020191909101929092556001600160a01b038416815260059091526040902054600019018114611786576001600160a01b03821660009081526005602052604090208054600019810190811061172557fe5b906000526020600020906002020160056000846001600160a01b03166001600160a01b03168152602001908152602001600020828154811061176357fe5b600091825260209091208254600290920201908155600191820154910155600019015b6001600160a01b03821660009081526005602052604090208054906117af906000198301611bae565b505b60010161159d565b5050565b60006117ca848484611a78565b6001600160a01b03841660009081526001602090815260408083203380855292529091205461180591869161071d908663ffffffff61195116565b5060019392505050565b6000828201838110156109d45760408051600160e51b62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b031660009081526020819052604090205490565b6001600160a01b0382166118cf57604051600160e51b62461bcd028152600401808060200182810382526021815260200180611d3d6021913960400191505060405180910390fd5b6002546118e2908263ffffffff61195116565b6002556001600160a01b03821660009081526020819052604090205461190e908263ffffffff61195116565b6001600160a01b03831660008181526020818152604080832094909455835185815293519193600080516020611d1d833981519152929081900390910190a35050565b6000828211156119ab5760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60006105d5338484611a78565b6001600160a01b038116611a1c5760408051600160e51b62461bcd02815260206004820152600d60248201527f416c7265616479204f776e657200000000000000000000000000000000000000604482015290519081900360640190fd5b6003546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600380546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316611ac057604051600160e51b62461bcd028152600401808060200182810382526025815260200180611d5e6025913960400191505060405180910390fd5b6001600160a01b038216611b0857604051600160e51b62461bcd028152600401808060200182810382526023815260200180611cd86023913960400191505060405180910390fd5b6001600160a01b038316600090815260208190526040902054611b31908263ffffffff61195116565b6001600160a01b038085166000908152602081905260408082209390935590841681522054611b66908263ffffffff61180f16565b6001600160a01b03808416600081815260208181526040918290209490945580518581529051919392871692600080516020611d1d83398151915292918290030190a3505050565b815481835581811115610c8457600083815260209020610c84916105e29160029182028101918502015b80821115611bf25760008082556001820155600201611bd8565b5090565b6001600160a01b038216611c545760408051600160e51b62461bcd02815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600254611c67908263ffffffff61180f16565b6002556001600160a01b038216600090815260208190526040902054611c93908263ffffffff61180f16565b6001600160a01b038316600081815260208181526040808320949094558351858152935192939192600080516020611d1d8339815191529281900390910190a3505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a165627a7a723058208220d2fb5a517748267ea814a2412e14c566e39f3707aa0cede4c44464c325510029

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061018e5760003560e01c80638456cb59116100de578063a9059cbb11610097578063df03458611610071578063df034586146104ff578063e2ab691d14610525578063e583983614610557578063f2fde38b1461057d5761018e565b8063a9059cbb14610473578063dd62ed3e1461049f578063de6baccb146104cd5761018e565b80638456cb59146103c15780638d1fdf2f146103c95780638da5cb5b146103ef57806395d89b41146104135780639dc29fac1461041b578063a457c2d7146104475761018e565b8063395093511161014b57806346cf1bb51161012557806346cf1bb5146103225780635c975abb1461036757806370a082311461036f5780637eee288d146103955761018e565b806339509351146102c65780633f4ba83a146102f257806345c8b1a6146102fc5761018e565b806306fdde0314610193578063095ea7b31461021057806318160ddd1461025057806323b872dd1461026a578063313ce567146102a0578063378dc3dc146102be575b600080fd5b61019b6105a3565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101d55781810151838201526020016101bd565b50505050905090810190601f1680156102025780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61023c6004803603604081101561022657600080fd5b506001600160a01b0381351690602001356105c8565b604080519115158252519081900360200190f35b6102586105de565b60408051918252519081900360200190f35b61023c6004803603606081101561028057600080fd5b506001600160a01b038135811691602081013590911690604001356105e5565b6102a86106cc565b6040805160ff9092168252519081900360200190f35b6102586106d1565b61023c600480360360408110156102dc57600080fd5b506001600160a01b0381351690602001356106e1565b6102fa610722565b005b6102fa6004803603602081101561031257600080fd5b50356001600160a01b031661080f565b61034e6004803603604081101561033857600080fd5b506001600160a01b0381351690602001356108b8565b6040805192835260208301919091528051918290030190f35b61023c610931565b6102586004803603602081101561038557600080fd5b50356001600160a01b0316610941565b6102fa600480360360408110156103ab57600080fd5b506001600160a01b0381351690602001356109db565b6102fa610c89565b6102fa600480360360208110156103df57600080fd5b50356001600160a01b0316610d72565b6103f7610e1e565b604080516001600160a01b039092168252519081900360200190f35b61019b610e2d565b6102fa6004803603604081101561043157600080fd5b506001600160a01b038135169060200135610e4f565b61023c6004803603604081101561045d57600080fd5b506001600160a01b038135169060200135610f4d565b61023c6004803603604081101561048957600080fd5b506001600160a01b038135169060200135610f89565b610258600480360360408110156104b557600080fd5b506001600160a01b038135811691602001351661105b565b61023c600480360360608110156104e357600080fd5b506001600160a01b038135169060208101359060400135611086565b6102586004803603602081101561051557600080fd5b50356001600160a01b03166112a3565b6102fa6004803603606081101561053b57600080fd5b506001600160a01b0381351690602081013590604001356112be565b61023c6004803603602081101561056d57600080fd5b50356001600160a01b031661142d565b6102fa6004803603602081101561059357600080fd5b50356001600160a01b031661144b565b604051806040016040528060068152602001600160d11b6521a9a1a7a4a70281525081565b60006105d53384846114a8565b50600192915050565b6002545b90565b600354600090600160a01b900460ff161561063f5760408051600160e51b62461bcd02815260206004820152600f6024820152600160891b6e2830bab9b2b210313c9037bbb732b902604482015290519081900360640190fd5b6001600160a01b03841660009081526004602052604090205460ff16156106b05760408051600160e51b62461bcd02815260206004820152601760248201527f46726f6d206163636f756e74206973206c6f636b65642e000000000000000000604482015290519081900360640190fd5b6106b98461159a565b6106c48484846117bd565b949350505050565b601281565b6b1027e72f1f1281308800000081565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916105d591859061071d908663ffffffff61180f16565b6114a8565b6003546001600160a01b031633146107735760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b600354600160a01b900460ff166107d45760408051600160e51b62461bcd02815260206004820152600e60248201527f4e6f7420706175736564206e6f77000000000000000000000000000000000000604482015290519081900360640190fd5b60038054600160a01b60ff02191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b6003546001600160a01b031633146108605760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b6001600160a01b038116600081815260046020908152604091829020805460ff19169055815192835290517f4feb53e305297ab8fb8f3420c95ea04737addc254a7270d8fc4605d2b9c61dba9281900390910190a150565b6001600160a01b03821660009081526005602052604081208054829190849081106108df57fe5b600091825260208083206002909202909101546001600160a01b03871683526005909152604090912080548590811061091457fe5b906000526020600020906002020160010154915091509250929050565b600354600160a01b900460ff1681565b600080805b6001600160a01b0384166000908152600560205260409020548110156109ba576001600160a01b038416600090815260056020526040902080546109b091908390811061098f57fe5b9060005260206000209060020201600101548361180f90919063ffffffff16565b9150600101610946565b506109d4816109c88561186c565b9063ffffffff61180f16565b9392505050565b6003546001600160a01b03163314610a2c5760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b6001600160a01b0382166000908152600560205260409020548110610a9b5760408051600160e51b62461bcd02815260206004820152601460248201527f4e6f206c6f636b20696e666f726d6174696f6e2e000000000000000000000000604482015290519081900360640190fd5b6001600160a01b03821660009081526005602052604090208054610afd919083908110610ac457fe5b60009182526020808320600160029093020191909101546001600160a01b0386168352908290526040909120549063ffffffff61180f16565b6001600160a01b03831660008181526020818152604080832094909455600590529190912080547f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f1919084908110610b5157fe5b9060005260206000209060020201600101546040518082815260200191505060405180910390a26001600160a01b0382166000908152600560205260408120805483908110610b9c57fe5b60009182526020808320600160029093020191909101929092556001600160a01b038416815260059091526040902054600019018114610c5b576001600160a01b038216600090815260056020526040902080546000198101908110610bfe57fe5b906000526020600020906002020160056000846001600160a01b03166001600160a01b031681526020019081526020016000208281548110610c3c57fe5b6000918252602090912082546002909202019081556001918201549101555b6001600160a01b0382166000908152600560205260409020805490610c84906000198301611bae565b505050565b6003546001600160a01b03163314610cda5760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b600354600160a01b900460ff1615610d315760408051600160e51b62461bcd02815260206004820152600f6024820152600160891b6e2830bab9b2b210313c9037bbb732b902604482015290519081900360640190fd5b60038054600160a01b60ff021916600160a01b1790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b6003546001600160a01b03163314610dc35760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b6001600160a01b038116600081815260046020908152604091829020805460ff19166001179055815192835290517f8a5c4736a33c7b7f29a2c34ea9ff9608afc5718d56f6fd6dcbd2d3711a1a49139281900390910190a150565b6003546001600160a01b031681565b604051806040016040528060038152602001600160e81b624353430281525081565b6003546001600160a01b03163314610ea05760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b610ea98261186c565b811115610f005760408051600160e51b62461bcd02815260206004820152601560248201527f42616c616e636520697320746f6f20736d616c6c2e0000000000000000000000604482015290519081900360640190fd5b610f0a8282611887565b6040805182815290516001600160a01b038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a25050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916105d591859061071d908663ffffffff61195116565b3360009081526004602052604081205460ff1615610ff15760408051600160e51b62461bcd02815260206004820152601960248201527f53656e646572206163636f756e74206973206c6f636b65642e00000000000000604482015290519081900360640190fd5b600354600160a01b900460ff16156110485760408051600160e51b62461bcd02815260206004820152600f6024820152600160891b6e2830bab9b2b210313c9037bbb732b902604482015290519081900360640190fd5b6110513361159a565b6109d483836119b1565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6003546000906001600160a01b031633146110da5760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b6001600160a01b0384166111385760408051600160e51b62461bcd02815260206004820152600d60248201527f77726f6e67206164647265737300000000000000000000000000000000000000604482015290519081900360640190fd5b60035461114d906001600160a01b031661186c565b8311156111a45760408051600160e51b62461bcd02815260206004820152601260248201527f4e6f7420656e6f7567682062616c616e63650000000000000000000000000000604482015290519081900360640190fd5b6003546001600160a01b03166000908152602081905260409020546111cf908463ffffffff61195116565b600380546001600160a01b039081166000908152602081815260408083209590955588831680835260058252858320865180880188528981528084018b81528254600181810185559387529585902091516002909602909101948555519301929092559254845188815294519194921692600080516020611d1d833981519152928290030190a3604080518481526020810184905281516001600160a01b038716927f49eaf4942f1237055eb4cfa5f31c9dfe50d5b4ade01e021f7de8be2fbbde557b928290030190a25060019392505050565b6001600160a01b031660009081526005602052604090205490565b6003546001600160a01b0316331461130f5760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b816113198461186c565b101561136f5760408051600160e51b62461bcd02815260206004820152601560248201527f42616c616e636520697320746f6f20736d616c6c2e0000000000000000000000604482015290519081900360640190fd5b6001600160a01b038316600090815260208190526040902054611398908363ffffffff61195116565b6001600160a01b0384166000818152602081815260408083209490945560058152838220845180860186528681528083018881528254600181810185559386529484902091516002909502909101938455519201919091558251858152908101849052825191927f49eaf4942f1237055eb4cfa5f31c9dfe50d5b4ade01e021f7de8be2fbbde557b92918290030190a2505050565b6001600160a01b031660009081526004602052604090205460ff1690565b6003546001600160a01b0316331461149c5760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b6114a5816119be565b50565b6001600160a01b0383166114f057604051600160e51b62461bcd028152600401808060200182810382526024815260200180611d836024913960400191505060405180910390fd5b6001600160a01b03821661153857604051600160e51b62461bcd028152600401808060200182810382526022815260200180611cfb6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b60005b6001600160a01b0382166000908152600560205260409020548110156117b9576001600160a01b03821660009081526005602052604090208054429190839081106115e457fe5b906000526020600020906002020160000154116117b1576001600160a01b03821660009081526005602052604090208054611624919083908110610ac457fe5b6001600160a01b03831660008181526020818152604080832094909455600590529190912080547f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f191908490811061167857fe5b9060005260206000209060020201600101546040518082815260200191505060405180910390a26001600160a01b03821660009081526005602052604081208054839081106116c357fe5b60009182526020808320600160029093020191909101929092556001600160a01b038416815260059091526040902054600019018114611786576001600160a01b03821660009081526005602052604090208054600019810190811061172557fe5b906000526020600020906002020160056000846001600160a01b03166001600160a01b03168152602001908152602001600020828154811061176357fe5b600091825260209091208254600290920201908155600191820154910155600019015b6001600160a01b03821660009081526005602052604090208054906117af906000198301611bae565b505b60010161159d565b5050565b60006117ca848484611a78565b6001600160a01b03841660009081526001602090815260408083203380855292529091205461180591869161071d908663ffffffff61195116565b5060019392505050565b6000828201838110156109d45760408051600160e51b62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b031660009081526020819052604090205490565b6001600160a01b0382166118cf57604051600160e51b62461bcd028152600401808060200182810382526021815260200180611d3d6021913960400191505060405180910390fd5b6002546118e2908263ffffffff61195116565b6002556001600160a01b03821660009081526020819052604090205461190e908263ffffffff61195116565b6001600160a01b03831660008181526020818152604080832094909455835185815293519193600080516020611d1d833981519152929081900390910190a35050565b6000828211156119ab5760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60006105d5338484611a78565b6001600160a01b038116611a1c5760408051600160e51b62461bcd02815260206004820152600d60248201527f416c7265616479204f776e657200000000000000000000000000000000000000604482015290519081900360640190fd5b6003546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600380546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316611ac057604051600160e51b62461bcd028152600401808060200182810382526025815260200180611d5e6025913960400191505060405180910390fd5b6001600160a01b038216611b0857604051600160e51b62461bcd028152600401808060200182810382526023815260200180611cd86023913960400191505060405180910390fd5b6001600160a01b038316600090815260208190526040902054611b31908263ffffffff61195116565b6001600160a01b038085166000908152602081905260408082209390935590841681522054611b66908263ffffffff61180f16565b6001600160a01b03808416600081815260208181526040918290209490945580518581529051919392871692600080516020611d1d83398151915292918290030190a3505050565b815481835581811115610c8457600083815260209020610c84916105e29160029182028101918502015b80821115611bf25760008082556001820155600201611bd8565b5090565b6001600160a01b038216611c545760408051600160e51b62461bcd02815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600254611c67908263ffffffff61180f16565b6002556001600160a01b038216600090815260208190526040902054611c93908263ffffffff61180f16565b6001600160a01b038316600081815260208181526040808320949094558351858152935192939192600080516020611d1d8339815191529281900390910190a3505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a165627a7a723058208220d2fb5a517748267ea814a2412e14c566e39f3707aa0cede4c44464c325510029

Deployed Bytecode Sourcemap

5239:6012:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5239:6012:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5271:38;;;:::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;5271:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2776:148;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2776:148:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;2253:91;;;:::i;:::-;;;;;;;;;;;;;;;;7616:317;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7616:317:0;;;;;;;;;;;;;;;;;:::i;5362:35::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5405:78;;;:::i;3196:206::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3196:206:0;;;;;;;;:::i;6628:105::-;;;:::i;:::-;;7118:128;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7118:128:0;-1:-1:-1;;;;;7118:128:0;;:::i;9636:185::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;9636:185:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6289:26;;;:::i;8498:335::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8498:335:0;-1:-1:-1;;;;;8498:335:0;;:::i;10217:516::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;10217:516:0;;;;;;;;:::i;6517:103::-;;;:::i;6987:123::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6987:123:0;-1:-1:-1;;;;;6987:123:0;;:::i;5611:20::-;;;:::i;:::-;;;;-1:-1:-1;;;;;5611:20:0;;;;;;;;;;;;;;5317:37;;;:::i;7999:211::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7999:211:0;;;;;;;;:::i;3410:216::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3410:216:0;;;;;;;;:::i;7366:242::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7366:242:0;;;;;;;;:::i;2634:134::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2634:134:0;;;;;;;;;;:::i;10741:505::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;10741:505:0;;;;;;;;;;;;;:::i;9514:116::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9514:116:0;-1:-1:-1;;;;;9514:116:0;;:::i;9829:380::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;9829:380:0;;;;;;;;;;;;;:::i;7254:104::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7254:104:0;-1:-1:-1;;;;;7254:104:0;;:::i;5912:111::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5912:111:0;-1:-1:-1;;;;;5912:111:0;;:::i;5271:38::-;;;;;;;;;;;;;;-1:-1:-1;;;;;5271:38:0;;;;:::o;2776:148::-;2841:4;2858:36;2867:10;2879:7;2888:5;2858:8;:36::i;:::-;-1:-1:-1;2912:4:0;2776:148;;;;:::o;2253:91::-;2324:12;;2253:91;;:::o;7616:317::-;6369:6;;7767:4;;-1:-1:-1;;;6369:6:0;;;;6368:7;6360:35;;;;;-1:-1:-1;;;;;6360:35:0;;;;;;;;;;;;-1:-1:-1;;;;;6360:35:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;7798:14:0;;;;;;:7;:14;;;;;;;;7797:15;7789:51;;;;;-1:-1:-1;;;;;7789:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;7851:18;7863:5;7851:11;:18::i;:::-;7887:38;7906:5;7913:3;7918:6;7887:18;:38::i;:::-;7880:45;7616:317;-1:-1:-1;;;;7616:317:0:o;5362:35::-;5395:2;5362:35;:::o;5405:78::-;5445:38;5405:78;:::o;3196:206::-;3302:10;3276:4;3323:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;3323:32:0;;;;;;;;;;3276:4;;3293:79;;3314:7;;3323:48;;3360:10;3323:48;:36;:48;:::i;:::-;3293:8;:79::i;6628:105::-;5865:5;;-1:-1:-1;;;;;5865:5:0;5851:10;:19;5843:41;;;;;-1:-1:-1;;;;;5843:41:0;;;;;;;;;;;;-1:-1:-1;;;;;5843:41:0;;;;;;;;;;;;;;;6464:6;;-1:-1:-1;;;6464:6:0;;;;6456:33;;;;;-1:-1:-1;;;;;6456:33:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;6686:6;:14;;-1:-1:-1;;;;;;6686:14:0;;;6716:9;;;;6695:5;;6716:9;6628:105::o;7118:128::-;5865:5;;-1:-1:-1;;;;;5865:5:0;5851:10;:19;5843:41;;;;;-1:-1:-1;;;;;5843:41:0;;;;;;;;;;;;-1:-1:-1;;;;;5843:41:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;7181:16:0;;7200:5;7181:16;;;:7;:16;;;;;;;;;:24;;-1:-1:-1;;7181:24:0;;;7221:17;;;;;;;;;;;;;;;;;7118:128;:::o;9636:185::-;-1:-1:-1;;;;;9744:17:0;;9707:7;9744:17;;;:8;:17;;;;;:23;;9707:7;;9744:17;9762:4;;9744:23;;;;;;;;;;;;;;;;;;;;;:35;-1:-1:-1;;;;;9781:17:0;;;;:8;:17;;;;;;;:23;;9799:4;;9781:23;;;;;;;;;;;;;;;;:31;;;9736:77;;;;9636:185;;;;;:::o;6289:26::-;;;-1:-1:-1;;;6289:26:0;;;;;:::o;8498:335::-;8555:15;;;8619:146;-1:-1:-1;;;;;8642:17:0;;;;;;:8;:17;;;;;:24;8638:28;;8619:146;;;-1:-1:-1;;;;;8724:17:0;;;;;;:8;:17;;;;;:20;;8706:47;;8724:17;8742:1;;8724:20;;;;;;;;;;;;;;;;:28;;;8706:13;:17;;:47;;;;:::i;:::-;8690:63;-1:-1:-1;8669:3:0;;8619:146;;;;8782:43;8811:13;8782:24;8798:7;8782:15;:24::i;:::-;:28;:43;:28;:43;:::i;:::-;8775:50;8498:335;-1:-1:-1;;;8498:335:0:o;10217:516::-;5865:5;;-1:-1:-1;;;;;5865:5:0;5851:10;:19;5843:41;;;;;-1:-1:-1;;;;;5843:41:0;;;;;;;;;;;;-1:-1:-1;;;;;5843:41:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;10301:17:0;;;;;;:8;:17;;;;;:24;10297:28;;10289:61;;;;;-1:-1:-1;;;;;10289:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10407:17:0;;;;;;:8;:17;;;;;:20;;10384:52;;10407:17;10425:1;;10407:20;;;;;;;;;;;;;;:28;:20;;;;;:28;;;;;-1:-1:-1;;;;;10384:18:0;;;;;;;;;;;;;;:52;:22;:52;:::i;:::-;-1:-1:-1;;;;;10363:18:0;;:9;:18;;;;;;;;;;;:73;;;;10468:8;:17;;;;;;:20;;10452:45;;10468:17;10486:1;;10468:20;;;;;;;;;;;;;;;;:28;;;10452:45;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10508:17:0;;10539:1;10508:17;;;:8;:17;;;;;:20;;10526:1;;10508:20;;;;;;;;;;;;;;:28;:20;;;;;:28;;;;:32;;;;-1:-1:-1;;;;;10562:17:0;;;;:8;:17;;;;;;:24;-1:-1:-1;;10562:28:0;10557:33;;10553:136;;-1:-1:-1;;;;;10630:17:0;;;;;;:8;:17;;;;;10648:24;;-1:-1:-1;;10648:28:0;;;10630:47;;;;;;;;;;;;;;;;10607:8;:17;10616:7;-1:-1:-1;;;;;10607:17:0;-1:-1:-1;;;;;10607:17:0;;;;;;;;;;;;10625:1;10607:20;;;;;;;;;;;;;;;;:70;;:20;;;;;:70;;;;;;;;;;;10553:136;-1:-1:-1;;;;;10699:17:0;;;;;;:8;:17;;;;;:26;;;;;-1:-1:-1;;10699:26:0;;;:::i;:::-;;10217:516;;:::o;6517:103::-;5865:5;;-1:-1:-1;;;;;5865:5:0;5851:10;:19;5843:41;;;;;-1:-1:-1;;;;;5843:41:0;;;;;;;;;;;;-1:-1:-1;;;;;5843:41:0;;;;;;;;;;;;;;;6369:6;;-1:-1:-1;;;6369:6:0;;;;6368:7;6360:35;;;;;-1:-1:-1;;;;;6360:35:0;;;;;;;;;;;;-1:-1:-1;;;;;6360:35:0;;;;;;;;;;;;;;;6576:6;:13;;-1:-1:-1;;;;;;6576:13:0;-1:-1:-1;;;6576:13:0;;;6605:7;;;;6576:13;;6605:7;6517:103::o;6987:123::-;5865:5;;-1:-1:-1;;;;;5865:5:0;5851:10;:19;5843:41;;;;;-1:-1:-1;;;;;5843:41:0;;;;;;;;;;;;-1:-1:-1;;;;;5843:41:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;7048:16:0;;;;;;:7;:16;;;;;;;;;:23;;-1:-1:-1;;7048:23:0;7067:4;7048:23;;;7087:15;;;;;;;;;;;;;;;;;6987:123;:::o;5611:20::-;;;-1:-1:-1;;;;;5611:20:0;;:::o;5317:37::-;;;;;;;;;;;;;;-1:-1:-1;;;;;5317:37:0;;;;:::o;7999:211::-;5865:5;;-1:-1:-1;;;;;5865:5:0;5851:10;:19;5843:41;;;;;-1:-1:-1;;;;;5843:41:0;;;;;;;;;;;;-1:-1:-1;;;;;5843:41:0;;;;;;;;;;;;;;;8089:21;8105:4;8089:15;:21::i;:::-;8079:6;:31;;8071:65;;;;;-1:-1:-1;;;;;8071:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;8149:19;8155:4;8161:6;8149:5;:19::i;:::-;8184:18;;;;;;;;-1:-1:-1;;;;;8184:18:0;;;;;;;;;;;;;7999:211;;:::o;3410:216::-;3521:10;3495:4;3542:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;3542:32:0;;;;;;;;;;3495:4;;3512:84;;3533:7;;3542:53;;3579:15;3542:53;:36;:53;:::i;7366:242::-;6918:10;7510:4;6910:19;;;:7;:19;;;;;;;;6909:20;6901:58;;;;;-1:-1:-1;;;;;6901:58:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;6369:6;;-1:-1:-1;;;6369:6:0;;;;6368:7;6360:35;;;;;-1:-1:-1;;;;;6360:35:0;;;;;;;;;;;;-1:-1:-1;;;;;6360:35:0;;;;;;;;;;;;;;;7532:23;7544:10;7532:11;:23::i;:::-;7573:27;7588:3;7593:6;7573:14;:27::i;2634:134::-;-1:-1:-1;;;;;2733:18:0;;;2706:7;2733:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;2634:134::o;10741:505::-;5865:5;;10844:4;;-1:-1:-1;;;;;5865:5:0;5851:10;:19;5843:41;;;;;-1:-1:-1;;;;;5843:41:0;;;;;;;;;;;;-1:-1:-1;;;;;5843:41:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;10869:17:0;;10861:43;;;;;-1:-1:-1;;;;;10861:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;10949:5;;10933:22;;-1:-1:-1;;;;;10949:5:0;10933:15;:22::i;:::-;10923:6;:32;;10915:63;;;;;-1:-1:-1;;;;;10915:63:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;11020:5;;-1:-1:-1;;;;;11020:5:0;11010:9;:16;;;;;;;;;;;:28;;11031:6;11010:28;:20;:28;:::i;:::-;11001:5;;;-1:-1:-1;;;;;11001:5:0;;;10991:9;:16;;;;;;;;;;;:47;;;;11049:13;;;;;;:8;:13;;;;;11082:30;;;;;;;;;;;;;;;;27:10:-1;;11001:5:0;23:18:-1;;;45:23;;11049:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;11148:5;;11139:28;;;;;;;11049:13;;11148:5;;;-1:-1:-1;;;;;;;;;;;11139:28:0;;;;;;;11183:31;;;;;;;;;;;;;;-1:-1:-1;;;;;11183:31:0;;;;;;;;;;;-1:-1:-1;11234:4:0;10741:505;;;;;:::o;9514:116::-;-1:-1:-1;;;;;9598:17:0;9571:7;9598:17;;;:8;:17;;;;;:24;;9514:116::o;9829:380::-;5865:5;;-1:-1:-1;;;;;5865:5:0;5851:10;:19;5843:41;;;;;-1:-1:-1;;;;;5843:41:0;;;;;;;;;;;;-1:-1:-1;;;;;5843:41:0;;;;;;;;;;;;;;;9963:7;9935:24;9951:7;9935:15;:24::i;:::-;:35;;9927:69;;;;;-1:-1:-1;;;;;9927:69:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10028:18:0;;:9;:18;;;;;;;;;;;:31;;10051:7;10028:31;:22;:31;:::i;:::-;-1:-1:-1;;;;;10007:18:0;;:9;:18;;;;;;;;;;;:52;;;;10070:8;:17;;;;;10107:31;;;;;;;;;;;;;;;;27:10:-1;;39:1;23:18;;;45:23;;10070:79:0;;;;;;;;;;;;;;;;;;;;;;;;;;10165:36;;;;;;;;;;;;;10007:18;;10165:36;;;;;;;;;9829:380;;;:::o;7254:104::-;-1:-1:-1;;;;;7334:16:0;7310:4;7334:16;;;:7;:16;;;;;;;;;7254:104::o;5912:111::-;5865:5;;-1:-1:-1;;;;;5865:5:0;5851:10;:19;5843:41;;;;;-1:-1:-1;;;;;5843:41:0;;;;;;;;;;;;-1:-1:-1;;;;;5843:41:0;;;;;;;;;;;;;;;5986:29;6005:9;5986:18;:29::i;:::-;5912:111;:::o;4701:335::-;-1:-1:-1;;;;;4794:19:0;;4786:68;;;;-1:-1:-1;;;;;4786:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4873:21:0;;4865:68;;;;-1:-1:-1;;;;;4865:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4946:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:35;;;4997:31;;;;;;;;;;;;;;;;;4701:335;;;:::o;8841:667::-;8905:9;8901:600;-1:-1:-1;;;;;8924:17:0;;;;;;:8;:17;;;;;:24;8920:28;;8901:600;;;-1:-1:-1;;;;;8976:17:0;;;;;;:8;:17;;;;;:20;;9012:3;;8976:17;8994:1;;8976:20;;;;;;;;;;;;;;;;:32;;;:39;8972:518;;-1:-1:-1;;;;;9080:17:0;;;;;;:8;:17;;;;;:20;;9057:52;;9080:17;9098:1;;9080:20;;;;;9057:52;-1:-1:-1;;;;;9036:18:0;;:9;:18;;;;;;;;;;;:73;;;;9149:8;:17;;;;;;:20;;9133:45;;9149:17;9167:1;;9149:20;;;;;;;;;;;;;;;;:28;;;9133:45;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9197:17:0;;9228:1;9197:17;;;:8;:17;;;;;:20;;9215:1;;9197:20;;;;;;;;;;;;;;:28;:20;;;;;:28;;;;:32;;;;-1:-1:-1;;;;;9259:17:0;;;;:8;:17;;;;;;:24;-1:-1:-1;;9259:28:0;9254:33;;9250:178;;-1:-1:-1;;;;;9335:17:0;;;;;;:8;:17;;;;;9353:24;;-1:-1:-1;;9353:28:0;;;9335:47;;;;;;;;;;;;;;;;9312:8;:17;9321:7;-1:-1:-1;;;;;9312:17:0;-1:-1:-1;;;;;9312:17:0;;;;;;;;;;;;9330:1;9312:20;;;;;;;;;;;;;;;;:70;;:20;;;;;:70;;;;;;;;;;;-1:-1:-1;;9405:3:0;9250:178;-1:-1:-1;;;;;9446:17:0;;;;;;:8;:17;;;;;:26;;;;;-1:-1:-1;;9446:26:0;;;:::i;:::-;;8972:518;8951:3;;8901:600;;;;8841:667;:::o;2932:256::-;3021:4;3038:36;3048:6;3056:9;3067:6;3038:9;:36::i;:::-;-1:-1:-1;;;;;3114:19:0;;;;;;:11;:19;;;;;;;;3102:10;3114:31;;;;;;;;;3085:73;;3094:6;;3114:43;;3150:6;3114:43;:35;:43;:::i;3085:73::-;-1:-1:-1;3176:4:0;2932:256;;;;;:::o;1028:181::-;1086:7;1118:5;;;1142:6;;;;1134:46;;;;;-1:-1:-1;;;;;1134:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;2352:110;-1:-1:-1;;;;;2436:18:0;2409:7;2436:18;;;;;;;;;;;;2352:110::o;4387:306::-;-1:-1:-1;;;;;4462:21:0;;4454:67;;;;-1:-1:-1;;;;;4454:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4549:12;;:23;;4566:5;4549:23;:16;:23;:::i;:::-;4534:12;:38;-1:-1:-1;;;;;4604:18:0;;:9;:18;;;;;;;;;;;:29;;4627:5;4604:29;:22;:29;:::i;:::-;-1:-1:-1;;;;;4583:18:0;;:9;:18;;;;;;;;;;;:50;;;;4649:36;;;;;;;4583:9;;-1:-1:-1;;;;;;;;;;;4649:36:0;;;;;;;;;;4387:306;;:::o;1217:184::-;1275:7;1308:1;1303;:6;;1295:49;;;;;-1:-1:-1;;;;;1295:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1367:5:0;;;1217:184::o;2470:156::-;2539:4;2556:40;2566:10;2578:9;2589:6;2556:9;:40::i;6031:206::-;-1:-1:-1;;;;;6106:23:0;;6098:49;;;;;-1:-1:-1;;;;;6098:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;6184:5;;6163:38;;-1:-1:-1;;;;;6163:38:0;;;;6184:5;;6163:38;;6184:5;;6163:38;6212:5;:17;;-1:-1:-1;;;;;;6212:17:0;-1:-1:-1;;;;;6212:17:0;;;;;;;;;;6031:206::o;3634:429::-;-1:-1:-1;;;;;3732:20:0;;3724:70;;;;-1:-1:-1;;;;;3724:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3813:23:0;;3805:71;;;;-1:-1:-1;;;;;3805:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3909:17:0;;:9;:17;;;;;;;;;;;:29;;3931:6;3909:29;:21;:29;:::i;:::-;-1:-1:-1;;;;;3889:17:0;;;:9;:17;;;;;;;;;;;:49;;;;3972:20;;;;;;;:32;;3997:6;3972:32;:24;:32;:::i;:::-;-1:-1:-1;;;;;3949:20:0;;;:9;:20;;;;;;;;;;;;:55;;;;4020:35;;;;;;;3949:20;;4020:35;;;;-1:-1:-1;;;;;;;;;;;4020:35:0;;;;;;;;3634:429;;;:::o;5239:6012::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4071:308;-1:-1:-1;;;;;4147:21:0;;4139:65;;;;;-1:-1:-1;;;;;4139:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;4232:12;;:24;;4249:6;4232:24;:16;:24;:::i;:::-;4217:12;:39;-1:-1:-1;;;;;4288:18:0;;:9;:18;;;;;;;;;;;:30;;4311:6;4288:30;:22;:30;:::i;:::-;-1:-1:-1;;;;;4267:18:0;;:9;:18;;;;;;;;;;;:51;;;;4334:37;;;;;;;4267:18;;:9;;-1:-1:-1;;;;;;;;;;;4334:37:0;;;;;;;;;4071:308;;:::o

Swarm Source

bzzr://8220d2fb5a517748267ea814a2412e14c566e39f3707aa0cede4c44464c32551

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.