ETH Price: $1,968.82 (+1.09%)

Contract

0xBb6CD639724417A20a7db0F45C1fb2fE532f490A
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer235260312025-10-07 12:58:59152 days ago1759841939IN
0xBb6CD639...E532f490A
0 ETH0.000070811.94972381
Transfer235259342025-10-07 12:39:35152 days ago1759840775IN
0xBb6CD639...E532f490A
0 ETH0.000065061.58313398
Transfer235229382025-10-07 2:36:35153 days ago1759804595IN
0xBb6CD639...E532f490A
0 ETH0.000045911.11686708
Transfer235228702025-10-07 2:22:23153 days ago1759803743IN
0xBb6CD639...E532f490A
0 ETH0.000041461.14202743
Transfer235228442025-10-07 2:17:11153 days ago1759803431IN
0xBb6CD639...E532f490A
0 ETH0.000041211.13513015
Transfer235227912025-10-07 2:06:23153 days ago1759802783IN
0xBb6CD639...E532f490A
0 ETH0.000045891.1165097
Transfer224730312025-05-13 8:11:23299 days ago1747123883IN
0xBb6CD639...E532f490A
0 ETH0.000109382.66094504
Transfer211550162024-11-10 4:56:35483 days ago1731214595IN
0xBb6CD639...E532f490A
0 ETH0.0007135113.35643079
Transfer204616332024-08-05 10:01:11580 days ago1722852071IN
0xBb6CD639...E532f490A
0 ETH0.0006913316.81212262
Transfer204161902024-07-30 1:45:47587 days ago1722303947IN
0xBb6CD639...E532f490A
0 ETH0.000055821.53789693
Transfer204161812024-07-30 1:43:59587 days ago1722303839IN
0xBb6CD639...E532f490A
0 ETH0.000093431.60552913
Transfer199350282024-05-23 20:40:47654 days ago1716496847IN
0xBb6CD639...E532f490A
0 ETH0.0004392610.6854533
Transfer198400372024-05-10 13:49:11667 days ago1715348951IN
0xBb6CD639...E532f490A
0 ETH0.000258986.29822089
Transfer198384002024-05-10 8:19:59667 days ago1715329199IN
0xBb6CD639...E532f490A
0 ETH0.00020114.89193558
Transfer198384002024-05-10 8:19:59667 days ago1715329199IN
0xBb6CD639...E532f490A
0 ETH0.00020114.89193558
Transfer196652912024-04-16 3:12:59691 days ago1713237179IN
0xBb6CD639...E532f490A
0 ETH0.000284687.84584757
Transfer196652802024-04-16 3:10:47691 days ago1713237047IN
0xBb6CD639...E532f490A
0 ETH0.000475418.17068253
Transfer191663162024-02-06 2:46:59762 days ago1707187619IN
0xBb6CD639...E532f490A
0 ETH0.0015612826.82208008
Transfer190304422024-01-18 1:22:23781 days ago1705540943IN
0xBb6CD639...E532f490A
0 ETH0.0011426931.4712805
Transfer181630642023-09-18 13:17:59902 days ago1695043079IN
0xBb6CD639...E532f490A
0 ETH0.0008805515.12747682
Transfer179900682023-08-25 6:57:23926 days ago1692946643IN
0xBb6CD639...E532f490A
0 ETH0.0005877916.18329785
Transfer179833442023-08-24 8:22:47927 days ago1692865367IN
0xBb6CD639...E532f490A
0 ETH0.0007790818.95721558
Transfer179832962023-08-24 8:12:59927 days ago1692864779IN
0xBb6CD639...E532f490A
0 ETH0.0005552415.29211397
Transfer179124222023-08-14 10:15:11937 days ago1692008111IN
0xBb6CD639...E532f490A
0 ETH0.0005846114.22112243
Transfer178312732023-08-03 1:44:11949 days ago1691027051IN
0xBb6CD639...E532f490A
0 ETH0.000859914.77889272
View all transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Hidigitalbtc

Compiler Version
v0.5.8+commit.23d335f2

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2021-01-09
*/

// ----------------------------------------------------------------------------
// Hidigital btc contract
// Name        : Hidigital btc
// Symbol      : HDBTC
// Decimals    : 18
// InitialSupply : 2,100,000,000
// ----------------------------------------------------------------------------

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 Hidigitalbtc is ERC20 {
    string public constant name = "Hidigital btc"; 
    string public constant symbol = "HDBTC"; 
    uint8 public constant decimals = 18; 
    uint256 public constant initialSupply = 2100000000 * (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

API
[{"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"}]

608060405260038054600160a01b60ff02191690553480156200002157600080fd5b5062000046336b06c9144c1c690d4cb40000006200005e602090811b62001c0c17901c565b600380546001600160a01b03191633179055620001f5565b6001600160a01b038216620000d457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b620000f0816002546200017960201b620018251790919060201c565b6002556001600160a01b03821660009081526020818152604090912054620001239183906200182562000179821b17901c565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b600082820183811015620001ee57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b611de880620002056000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c80638456cb59116100de578063a9059cbb11610097578063df03458611610071578063df034586146104ff578063e2ab691d14610525578063e583983614610557578063f2fde38b1461057d5761018e565b8063a9059cbb14610473578063dd62ed3e1461049f578063de6baccb146104cd5761018e565b80638456cb59146103c15780638d1fdf2f146103c95780638da5cb5b146103ef57806395d89b41146104135780639dc29fac1461041b578063a457c2d7146104475761018e565b8063395093511161014b57806346cf1bb51161012557806346cf1bb5146103225780635c975abb1461036757806370a082311461036f5780637eee288d146103955761018e565b806339509351146102c65780633f4ba83a146102f257806345c8b1a6146102fc5761018e565b806306fdde0314610193578063095ea7b31461021057806318160ddd1461025057806323b872dd1461026a578063313ce567146102a0578063378dc3dc146102be575b600080fd5b61019b6105a3565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101d55781810151838201526020016101bd565b50505050905090810190601f1680156102025780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61023c6004803603604081101561022657600080fd5b506001600160a01b0381351690602001356105dc565b604080519115158252519081900360200190f35b6102586105f2565b60408051918252519081900360200190f35b61023c6004803603606081101561028057600080fd5b506001600160a01b038135811691602081013590911690604001356105f9565b6102a86106e0565b6040805160ff9092168252519081900360200190f35b6102586106e5565b61023c600480360360408110156102dc57600080fd5b506001600160a01b0381351690602001356106f5565b6102fa610736565b005b6102fa6004803603602081101561031257600080fd5b50356001600160a01b0316610823565b61034e6004803603604081101561033857600080fd5b506001600160a01b0381351690602001356108cc565b6040805192835260208301919091528051918290030190f35b61023c610945565b6102586004803603602081101561038557600080fd5b50356001600160a01b0316610955565b6102fa600480360360408110156103ab57600080fd5b506001600160a01b0381351690602001356109ef565b6102fa610c9d565b6102fa600480360360208110156103df57600080fd5b50356001600160a01b0316610d86565b6103f7610e32565b604080516001600160a01b039092168252519081900360200190f35b61019b610e41565b6102fa6004803603604081101561043157600080fd5b506001600160a01b038135169060200135610e65565b61023c6004803603604081101561045d57600080fd5b506001600160a01b038135169060200135610f63565b61023c6004803603604081101561048957600080fd5b506001600160a01b038135169060200135610f9f565b610258600480360360408110156104b557600080fd5b506001600160a01b0381358116916020013516611071565b61023c600480360360608110156104e357600080fd5b506001600160a01b03813516906020810135906040013561109c565b6102586004803603602081101561051557600080fd5b50356001600160a01b03166112b9565b6102fa6004803603606081101561053b57600080fd5b506001600160a01b0381351690602081013590604001356112d4565b61023c6004803603602081101561056d57600080fd5b50356001600160a01b0316611443565b6102fa6004803603602081101561059357600080fd5b50356001600160a01b0316611461565b6040518060400160405280600d81526020017f48696469676974616c206274630000000000000000000000000000000000000081525081565b60006105e93384846114be565b50600192915050565b6002545b90565b600354600090600160a01b900460ff16156106535760408051600160e51b62461bcd02815260206004820152600f6024820152600160891b6e2830bab9b2b210313c9037bbb732b902604482015290519081900360640190fd5b6001600160a01b03841660009081526004602052604090205460ff16156106c45760408051600160e51b62461bcd02815260206004820152601760248201527f46726f6d206163636f756e74206973206c6f636b65642e000000000000000000604482015290519081900360640190fd5b6106cd846115b0565b6106d88484846117d3565b949350505050565b601281565b6b06c9144c1c690d4cb400000081565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916105e9918590610731908663ffffffff61182516565b6114be565b6003546001600160a01b031633146107875760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b600354600160a01b900460ff166107e85760408051600160e51b62461bcd02815260206004820152600e60248201527f4e6f7420706175736564206e6f77000000000000000000000000000000000000604482015290519081900360640190fd5b60038054600160a01b60ff02191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b6003546001600160a01b031633146108745760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b6001600160a01b038116600081815260046020908152604091829020805460ff19169055815192835290517f4feb53e305297ab8fb8f3420c95ea04737addc254a7270d8fc4605d2b9c61dba9281900390910190a150565b6001600160a01b03821660009081526005602052604081208054829190849081106108f357fe5b600091825260208083206002909202909101546001600160a01b03871683526005909152604090912080548590811061092857fe5b906000526020600020906002020160010154915091509250929050565b600354600160a01b900460ff1681565b600080805b6001600160a01b0384166000908152600560205260409020548110156109ce576001600160a01b038416600090815260056020526040902080546109c49190839081106109a357fe5b9060005260206000209060020201600101548361182590919063ffffffff16565b915060010161095a565b506109e8816109dc85611882565b9063ffffffff61182516565b9392505050565b6003546001600160a01b03163314610a405760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b6001600160a01b0382166000908152600560205260409020548110610aaf5760408051600160e51b62461bcd02815260206004820152601460248201527f4e6f206c6f636b20696e666f726d6174696f6e2e000000000000000000000000604482015290519081900360640190fd5b6001600160a01b03821660009081526005602052604090208054610b11919083908110610ad857fe5b60009182526020808320600160029093020191909101546001600160a01b0386168352908290526040909120549063ffffffff61182516565b6001600160a01b03831660008181526020818152604080832094909455600590529190912080547f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f1919084908110610b6557fe5b9060005260206000209060020201600101546040518082815260200191505060405180910390a26001600160a01b0382166000908152600560205260408120805483908110610bb057fe5b60009182526020808320600160029093020191909101929092556001600160a01b038416815260059091526040902054600019018114610c6f576001600160a01b038216600090815260056020526040902080546000198101908110610c1257fe5b906000526020600020906002020160056000846001600160a01b03166001600160a01b031681526020019081526020016000208281548110610c5057fe5b6000918252602090912082546002909202019081556001918201549101555b6001600160a01b0382166000908152600560205260409020805490610c98906000198301611bc4565b505050565b6003546001600160a01b03163314610cee5760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b600354600160a01b900460ff1615610d455760408051600160e51b62461bcd02815260206004820152600f6024820152600160891b6e2830bab9b2b210313c9037bbb732b902604482015290519081900360640190fd5b60038054600160a01b60ff021916600160a01b1790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b6003546001600160a01b03163314610dd75760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b6001600160a01b038116600081815260046020908152604091829020805460ff19166001179055815192835290517f8a5c4736a33c7b7f29a2c34ea9ff9608afc5718d56f6fd6dcbd2d3711a1a49139281900390910190a150565b6003546001600160a01b031681565b604051806040016040528060058152602001600160d81b6448444254430281525081565b6003546001600160a01b03163314610eb65760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b610ebf82611882565b811115610f165760408051600160e51b62461bcd02815260206004820152601560248201527f42616c616e636520697320746f6f20736d616c6c2e0000000000000000000000604482015290519081900360640190fd5b610f20828261189d565b6040805182815290516001600160a01b038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a25050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916105e9918590610731908663ffffffff61196716565b3360009081526004602052604081205460ff16156110075760408051600160e51b62461bcd02815260206004820152601960248201527f53656e646572206163636f756e74206973206c6f636b65642e00000000000000604482015290519081900360640190fd5b600354600160a01b900460ff161561105e5760408051600160e51b62461bcd02815260206004820152600f6024820152600160891b6e2830bab9b2b210313c9037bbb732b902604482015290519081900360640190fd5b611067336115b0565b6109e883836119c7565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6003546000906001600160a01b031633146110f05760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b6001600160a01b03841661114e5760408051600160e51b62461bcd02815260206004820152600d60248201527f77726f6e67206164647265737300000000000000000000000000000000000000604482015290519081900360640190fd5b600354611163906001600160a01b0316611882565b8311156111ba5760408051600160e51b62461bcd02815260206004820152601260248201527f4e6f7420656e6f7567682062616c616e63650000000000000000000000000000604482015290519081900360640190fd5b6003546001600160a01b03166000908152602081905260409020546111e5908463ffffffff61196716565b600380546001600160a01b039081166000908152602081815260408083209590955588831680835260058252858320865180880188528981528084018b81528254600181810185559387529585902091516002909602909101948555519301929092559254845188815294519194921692600080516020611d33833981519152928290030190a3604080518481526020810184905281516001600160a01b038716927f49eaf4942f1237055eb4cfa5f31c9dfe50d5b4ade01e021f7de8be2fbbde557b928290030190a25060019392505050565b6001600160a01b031660009081526005602052604090205490565b6003546001600160a01b031633146113255760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b8161132f84611882565b10156113855760408051600160e51b62461bcd02815260206004820152601560248201527f42616c616e636520697320746f6f20736d616c6c2e0000000000000000000000604482015290519081900360640190fd5b6001600160a01b0383166000908152602081905260409020546113ae908363ffffffff61196716565b6001600160a01b0384166000818152602081815260408083209490945560058152838220845180860186528681528083018881528254600181810185559386529484902091516002909502909101938455519201919091558251858152908101849052825191927f49eaf4942f1237055eb4cfa5f31c9dfe50d5b4ade01e021f7de8be2fbbde557b92918290030190a2505050565b6001600160a01b031660009081526004602052604090205460ff1690565b6003546001600160a01b031633146114b25760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b6114bb816119d4565b50565b6001600160a01b03831661150657604051600160e51b62461bcd028152600401808060200182810382526024815260200180611d996024913960400191505060405180910390fd5b6001600160a01b03821661154e57604051600160e51b62461bcd028152600401808060200182810382526022815260200180611d116022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b60005b6001600160a01b0382166000908152600560205260409020548110156117cf576001600160a01b03821660009081526005602052604090208054429190839081106115fa57fe5b906000526020600020906002020160000154116117c7576001600160a01b0382166000908152600560205260409020805461163a919083908110610ad857fe5b6001600160a01b03831660008181526020818152604080832094909455600590529190912080547f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f191908490811061168e57fe5b9060005260206000209060020201600101546040518082815260200191505060405180910390a26001600160a01b03821660009081526005602052604081208054839081106116d957fe5b60009182526020808320600160029093020191909101929092556001600160a01b03841681526005909152604090205460001901811461179c576001600160a01b03821660009081526005602052604090208054600019810190811061173b57fe5b906000526020600020906002020160056000846001600160a01b03166001600160a01b03168152602001908152602001600020828154811061177957fe5b600091825260209091208254600290920201908155600191820154910155600019015b6001600160a01b03821660009081526005602052604090208054906117c5906000198301611bc4565b505b6001016115b3565b5050565b60006117e0848484611a8e565b6001600160a01b03841660009081526001602090815260408083203380855292529091205461181b918691610731908663ffffffff61196716565b5060019392505050565b6000828201838110156109e85760408051600160e51b62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b031660009081526020819052604090205490565b6001600160a01b0382166118e557604051600160e51b62461bcd028152600401808060200182810382526021815260200180611d536021913960400191505060405180910390fd5b6002546118f8908263ffffffff61196716565b6002556001600160a01b038216600090815260208190526040902054611924908263ffffffff61196716565b6001600160a01b03831660008181526020818152604080832094909455835185815293519193600080516020611d33833981519152929081900390910190a35050565b6000828211156119c15760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60006105e9338484611a8e565b6001600160a01b038116611a325760408051600160e51b62461bcd02815260206004820152600d60248201527f416c7265616479204f776e657200000000000000000000000000000000000000604482015290519081900360640190fd5b6003546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600380546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316611ad657604051600160e51b62461bcd028152600401808060200182810382526025815260200180611d746025913960400191505060405180910390fd5b6001600160a01b038216611b1e57604051600160e51b62461bcd028152600401808060200182810382526023815260200180611cee6023913960400191505060405180910390fd5b6001600160a01b038316600090815260208190526040902054611b47908263ffffffff61196716565b6001600160a01b038085166000908152602081905260408082209390935590841681522054611b7c908263ffffffff61182516565b6001600160a01b03808416600081815260208181526040918290209490945580518581529051919392871692600080516020611d3383398151915292918290030190a3505050565b815481835581811115610c9857600083815260209020610c98916105f69160029182028101918502015b80821115611c085760008082556001820155600201611bee565b5090565b6001600160a01b038216611c6a5760408051600160e51b62461bcd02815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600254611c7d908263ffffffff61182516565b6002556001600160a01b038216600090815260208190526040902054611ca9908263ffffffff61182516565b6001600160a01b038316600081815260208181526040808320949094558351858152935192939192600080516020611d338339815191529281900390910190a3505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a165627a7a7230582048d02e912bf6d3b41a78be037ed8faf1fd56c4140f9cd95eaf0e3f0651529f630029

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061018e5760003560e01c80638456cb59116100de578063a9059cbb11610097578063df03458611610071578063df034586146104ff578063e2ab691d14610525578063e583983614610557578063f2fde38b1461057d5761018e565b8063a9059cbb14610473578063dd62ed3e1461049f578063de6baccb146104cd5761018e565b80638456cb59146103c15780638d1fdf2f146103c95780638da5cb5b146103ef57806395d89b41146104135780639dc29fac1461041b578063a457c2d7146104475761018e565b8063395093511161014b57806346cf1bb51161012557806346cf1bb5146103225780635c975abb1461036757806370a082311461036f5780637eee288d146103955761018e565b806339509351146102c65780633f4ba83a146102f257806345c8b1a6146102fc5761018e565b806306fdde0314610193578063095ea7b31461021057806318160ddd1461025057806323b872dd1461026a578063313ce567146102a0578063378dc3dc146102be575b600080fd5b61019b6105a3565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101d55781810151838201526020016101bd565b50505050905090810190601f1680156102025780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61023c6004803603604081101561022657600080fd5b506001600160a01b0381351690602001356105dc565b604080519115158252519081900360200190f35b6102586105f2565b60408051918252519081900360200190f35b61023c6004803603606081101561028057600080fd5b506001600160a01b038135811691602081013590911690604001356105f9565b6102a86106e0565b6040805160ff9092168252519081900360200190f35b6102586106e5565b61023c600480360360408110156102dc57600080fd5b506001600160a01b0381351690602001356106f5565b6102fa610736565b005b6102fa6004803603602081101561031257600080fd5b50356001600160a01b0316610823565b61034e6004803603604081101561033857600080fd5b506001600160a01b0381351690602001356108cc565b6040805192835260208301919091528051918290030190f35b61023c610945565b6102586004803603602081101561038557600080fd5b50356001600160a01b0316610955565b6102fa600480360360408110156103ab57600080fd5b506001600160a01b0381351690602001356109ef565b6102fa610c9d565b6102fa600480360360208110156103df57600080fd5b50356001600160a01b0316610d86565b6103f7610e32565b604080516001600160a01b039092168252519081900360200190f35b61019b610e41565b6102fa6004803603604081101561043157600080fd5b506001600160a01b038135169060200135610e65565b61023c6004803603604081101561045d57600080fd5b506001600160a01b038135169060200135610f63565b61023c6004803603604081101561048957600080fd5b506001600160a01b038135169060200135610f9f565b610258600480360360408110156104b557600080fd5b506001600160a01b0381358116916020013516611071565b61023c600480360360608110156104e357600080fd5b506001600160a01b03813516906020810135906040013561109c565b6102586004803603602081101561051557600080fd5b50356001600160a01b03166112b9565b6102fa6004803603606081101561053b57600080fd5b506001600160a01b0381351690602081013590604001356112d4565b61023c6004803603602081101561056d57600080fd5b50356001600160a01b0316611443565b6102fa6004803603602081101561059357600080fd5b50356001600160a01b0316611461565b6040518060400160405280600d81526020017f48696469676974616c206274630000000000000000000000000000000000000081525081565b60006105e93384846114be565b50600192915050565b6002545b90565b600354600090600160a01b900460ff16156106535760408051600160e51b62461bcd02815260206004820152600f6024820152600160891b6e2830bab9b2b210313c9037bbb732b902604482015290519081900360640190fd5b6001600160a01b03841660009081526004602052604090205460ff16156106c45760408051600160e51b62461bcd02815260206004820152601760248201527f46726f6d206163636f756e74206973206c6f636b65642e000000000000000000604482015290519081900360640190fd5b6106cd846115b0565b6106d88484846117d3565b949350505050565b601281565b6b06c9144c1c690d4cb400000081565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916105e9918590610731908663ffffffff61182516565b6114be565b6003546001600160a01b031633146107875760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b600354600160a01b900460ff166107e85760408051600160e51b62461bcd02815260206004820152600e60248201527f4e6f7420706175736564206e6f77000000000000000000000000000000000000604482015290519081900360640190fd5b60038054600160a01b60ff02191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b6003546001600160a01b031633146108745760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b6001600160a01b038116600081815260046020908152604091829020805460ff19169055815192835290517f4feb53e305297ab8fb8f3420c95ea04737addc254a7270d8fc4605d2b9c61dba9281900390910190a150565b6001600160a01b03821660009081526005602052604081208054829190849081106108f357fe5b600091825260208083206002909202909101546001600160a01b03871683526005909152604090912080548590811061092857fe5b906000526020600020906002020160010154915091509250929050565b600354600160a01b900460ff1681565b600080805b6001600160a01b0384166000908152600560205260409020548110156109ce576001600160a01b038416600090815260056020526040902080546109c49190839081106109a357fe5b9060005260206000209060020201600101548361182590919063ffffffff16565b915060010161095a565b506109e8816109dc85611882565b9063ffffffff61182516565b9392505050565b6003546001600160a01b03163314610a405760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b6001600160a01b0382166000908152600560205260409020548110610aaf5760408051600160e51b62461bcd02815260206004820152601460248201527f4e6f206c6f636b20696e666f726d6174696f6e2e000000000000000000000000604482015290519081900360640190fd5b6001600160a01b03821660009081526005602052604090208054610b11919083908110610ad857fe5b60009182526020808320600160029093020191909101546001600160a01b0386168352908290526040909120549063ffffffff61182516565b6001600160a01b03831660008181526020818152604080832094909455600590529190912080547f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f1919084908110610b6557fe5b9060005260206000209060020201600101546040518082815260200191505060405180910390a26001600160a01b0382166000908152600560205260408120805483908110610bb057fe5b60009182526020808320600160029093020191909101929092556001600160a01b038416815260059091526040902054600019018114610c6f576001600160a01b038216600090815260056020526040902080546000198101908110610c1257fe5b906000526020600020906002020160056000846001600160a01b03166001600160a01b031681526020019081526020016000208281548110610c5057fe5b6000918252602090912082546002909202019081556001918201549101555b6001600160a01b0382166000908152600560205260409020805490610c98906000198301611bc4565b505050565b6003546001600160a01b03163314610cee5760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b600354600160a01b900460ff1615610d455760408051600160e51b62461bcd02815260206004820152600f6024820152600160891b6e2830bab9b2b210313c9037bbb732b902604482015290519081900360640190fd5b60038054600160a01b60ff021916600160a01b1790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b6003546001600160a01b03163314610dd75760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b6001600160a01b038116600081815260046020908152604091829020805460ff19166001179055815192835290517f8a5c4736a33c7b7f29a2c34ea9ff9608afc5718d56f6fd6dcbd2d3711a1a49139281900390910190a150565b6003546001600160a01b031681565b604051806040016040528060058152602001600160d81b6448444254430281525081565b6003546001600160a01b03163314610eb65760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b610ebf82611882565b811115610f165760408051600160e51b62461bcd02815260206004820152601560248201527f42616c616e636520697320746f6f20736d616c6c2e0000000000000000000000604482015290519081900360640190fd5b610f20828261189d565b6040805182815290516001600160a01b038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a25050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916105e9918590610731908663ffffffff61196716565b3360009081526004602052604081205460ff16156110075760408051600160e51b62461bcd02815260206004820152601960248201527f53656e646572206163636f756e74206973206c6f636b65642e00000000000000604482015290519081900360640190fd5b600354600160a01b900460ff161561105e5760408051600160e51b62461bcd02815260206004820152600f6024820152600160891b6e2830bab9b2b210313c9037bbb732b902604482015290519081900360640190fd5b611067336115b0565b6109e883836119c7565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6003546000906001600160a01b031633146110f05760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b6001600160a01b03841661114e5760408051600160e51b62461bcd02815260206004820152600d60248201527f77726f6e67206164647265737300000000000000000000000000000000000000604482015290519081900360640190fd5b600354611163906001600160a01b0316611882565b8311156111ba5760408051600160e51b62461bcd02815260206004820152601260248201527f4e6f7420656e6f7567682062616c616e63650000000000000000000000000000604482015290519081900360640190fd5b6003546001600160a01b03166000908152602081905260409020546111e5908463ffffffff61196716565b600380546001600160a01b039081166000908152602081815260408083209590955588831680835260058252858320865180880188528981528084018b81528254600181810185559387529585902091516002909602909101948555519301929092559254845188815294519194921692600080516020611d33833981519152928290030190a3604080518481526020810184905281516001600160a01b038716927f49eaf4942f1237055eb4cfa5f31c9dfe50d5b4ade01e021f7de8be2fbbde557b928290030190a25060019392505050565b6001600160a01b031660009081526005602052604090205490565b6003546001600160a01b031633146113255760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b8161132f84611882565b10156113855760408051600160e51b62461bcd02815260206004820152601560248201527f42616c616e636520697320746f6f20736d616c6c2e0000000000000000000000604482015290519081900360640190fd5b6001600160a01b0383166000908152602081905260409020546113ae908363ffffffff61196716565b6001600160a01b0384166000818152602081815260408083209490945560058152838220845180860186528681528083018881528254600181810185559386529484902091516002909502909101938455519201919091558251858152908101849052825191927f49eaf4942f1237055eb4cfa5f31c9dfe50d5b4ade01e021f7de8be2fbbde557b92918290030190a2505050565b6001600160a01b031660009081526004602052604090205460ff1690565b6003546001600160a01b031633146114b25760408051600160e51b62461bcd0281526020600482015260096024820152600160b91b682737ba1037bbb732b902604482015290519081900360640190fd5b6114bb816119d4565b50565b6001600160a01b03831661150657604051600160e51b62461bcd028152600401808060200182810382526024815260200180611d996024913960400191505060405180910390fd5b6001600160a01b03821661154e57604051600160e51b62461bcd028152600401808060200182810382526022815260200180611d116022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b60005b6001600160a01b0382166000908152600560205260409020548110156117cf576001600160a01b03821660009081526005602052604090208054429190839081106115fa57fe5b906000526020600020906002020160000154116117c7576001600160a01b0382166000908152600560205260409020805461163a919083908110610ad857fe5b6001600160a01b03831660008181526020818152604080832094909455600590529190912080547f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f191908490811061168e57fe5b9060005260206000209060020201600101546040518082815260200191505060405180910390a26001600160a01b03821660009081526005602052604081208054839081106116d957fe5b60009182526020808320600160029093020191909101929092556001600160a01b03841681526005909152604090205460001901811461179c576001600160a01b03821660009081526005602052604090208054600019810190811061173b57fe5b906000526020600020906002020160056000846001600160a01b03166001600160a01b03168152602001908152602001600020828154811061177957fe5b600091825260209091208254600290920201908155600191820154910155600019015b6001600160a01b03821660009081526005602052604090208054906117c5906000198301611bc4565b505b6001016115b3565b5050565b60006117e0848484611a8e565b6001600160a01b03841660009081526001602090815260408083203380855292529091205461181b918691610731908663ffffffff61196716565b5060019392505050565b6000828201838110156109e85760408051600160e51b62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b031660009081526020819052604090205490565b6001600160a01b0382166118e557604051600160e51b62461bcd028152600401808060200182810382526021815260200180611d536021913960400191505060405180910390fd5b6002546118f8908263ffffffff61196716565b6002556001600160a01b038216600090815260208190526040902054611924908263ffffffff61196716565b6001600160a01b03831660008181526020818152604080832094909455835185815293519193600080516020611d33833981519152929081900390910190a35050565b6000828211156119c15760408051600160e51b62461bcd02815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60006105e9338484611a8e565b6001600160a01b038116611a325760408051600160e51b62461bcd02815260206004820152600d60248201527f416c7265616479204f776e657200000000000000000000000000000000000000604482015290519081900360640190fd5b6003546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600380546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316611ad657604051600160e51b62461bcd028152600401808060200182810382526025815260200180611d746025913960400191505060405180910390fd5b6001600160a01b038216611b1e57604051600160e51b62461bcd028152600401808060200182810382526023815260200180611cee6023913960400191505060405180910390fd5b6001600160a01b038316600090815260208190526040902054611b47908263ffffffff61196716565b6001600160a01b038085166000908152602081905260408082209390935590841681522054611b7c908263ffffffff61182516565b6001600160a01b03808416600081815260208181526040918290209490945580518581529051919392871692600080516020611d3383398151915292918290030190a3505050565b815481835581811115610c9857600083815260209020610c98916105f69160029182028101918502015b80821115611c085760008082556001820155600201611bee565b5090565b6001600160a01b038216611c6a5760408051600160e51b62461bcd02815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600254611c7d908263ffffffff61182516565b6002556001600160a01b038216600090815260208190526040902054611ca9908263ffffffff61182516565b6001600160a01b038316600081815260208181526040808320949094558351858152935192939192600080516020611d338339815191529281900390910190a3505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a165627a7a7230582048d02e912bf6d3b41a78be037ed8faf1fd56c4140f9cd95eaf0e3f0651529f630029

Deployed Bytecode Sourcemap

5258:6027:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5258:6027:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5296: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;5296:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2795:148;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2795:148:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;2272:91;;;:::i;:::-;;;;;;;;;;;;;;;;7650:317;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7650:317:0;;;;;;;;;;;;;;;;;:::i;5396:35::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5439:78;;;:::i;3215:206::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3215:206:0;;;;;;;;:::i;6662:105::-;;;:::i;:::-;;7152:128;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7152:128:0;-1:-1:-1;;;;;7152:128:0;;:::i;9670:185::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;9670:185:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6323:26;;;:::i;8532:335::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8532:335:0;-1:-1:-1;;;;;8532:335:0;;:::i;10251:516::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;10251:516:0;;;;;;;;:::i;6551:103::-;;;:::i;7021:123::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7021:123:0;-1:-1:-1;;;;;7021:123:0;;:::i;5645:20::-;;;:::i;:::-;;;;-1:-1:-1;;;;;5645:20:0;;;;;;;;;;;;;;5349:39;;;:::i;8033:211::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8033:211:0;;;;;;;;:::i;3429:216::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3429:216:0;;;;;;;;:::i;7400:242::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7400:242:0;;;;;;;;:::i;2653:134::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2653:134:0;;;;;;;;;;:::i;10775:505::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;10775:505:0;;;;;;;;;;;;;:::i;9548:116::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9548:116:0;-1:-1:-1;;;;;9548:116:0;;:::i;9863:380::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;9863:380:0;;;;;;;;;;;;;:::i;7288:104::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7288:104:0;-1:-1:-1;;;;;7288:104:0;;:::i;5946:111::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5946:111:0;-1:-1:-1;;;;;5946:111:0;;:::i;5296:45::-;;;;;;;;;;;;;;;;;;;:::o;2795:148::-;2860:4;2877:36;2886:10;2898:7;2907:5;2877:8;:36::i;:::-;-1:-1:-1;2931:4:0;2795:148;;;;:::o;2272:91::-;2343:12;;2272:91;;:::o;7650:317::-;6403:6;;7801:4;;-1:-1:-1;;;6403:6:0;;;;6402:7;6394:35;;;;;-1:-1:-1;;;;;6394:35:0;;;;;;;;;;;;-1:-1:-1;;;;;6394:35:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;7832:14:0;;;;;;:7;:14;;;;;;;;7831:15;7823:51;;;;;-1:-1:-1;;;;;7823:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;7885:18;7897:5;7885:11;:18::i;:::-;7921:38;7940:5;7947:3;7952:6;7921:18;:38::i;:::-;7914:45;7650:317;-1:-1:-1;;;;7650:317:0:o;5396:35::-;5429:2;5396:35;:::o;5439:78::-;5479:38;5439:78;:::o;3215:206::-;3321:10;3295:4;3342:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;3342:32:0;;;;;;;;;;3295:4;;3312:79;;3333:7;;3342:48;;3379:10;3342:48;:36;:48;:::i;:::-;3312:8;:79::i;6662:105::-;5899:5;;-1:-1:-1;;;;;5899:5:0;5885:10;:19;5877:41;;;;;-1:-1:-1;;;;;5877:41:0;;;;;;;;;;;;-1:-1:-1;;;;;5877:41:0;;;;;;;;;;;;;;;6498:6;;-1:-1:-1;;;6498:6:0;;;;6490:33;;;;;-1:-1:-1;;;;;6490:33:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;6720:6;:14;;-1:-1:-1;;;;;;6720:14:0;;;6750:9;;;;6729:5;;6750:9;6662:105::o;7152:128::-;5899:5;;-1:-1:-1;;;;;5899:5:0;5885:10;:19;5877:41;;;;;-1:-1:-1;;;;;5877:41:0;;;;;;;;;;;;-1:-1:-1;;;;;5877:41:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;7215:16:0;;7234:5;7215:16;;;:7;:16;;;;;;;;;:24;;-1:-1:-1;;7215:24:0;;;7255:17;;;;;;;;;;;;;;;;;7152:128;:::o;9670:185::-;-1:-1:-1;;;;;9778:17:0;;9741:7;9778:17;;;:8;:17;;;;;:23;;9741:7;;9778:17;9796:4;;9778:23;;;;;;;;;;;;;;;;;;;;;:35;-1:-1:-1;;;;;9815:17:0;;;;:8;:17;;;;;;;:23;;9833:4;;9815:23;;;;;;;;;;;;;;;;:31;;;9770:77;;;;9670:185;;;;;:::o;6323:26::-;;;-1:-1:-1;;;6323:26:0;;;;;:::o;8532:335::-;8589:15;;;8653:146;-1:-1:-1;;;;;8676:17:0;;;;;;:8;:17;;;;;:24;8672:28;;8653:146;;;-1:-1:-1;;;;;8758:17:0;;;;;;:8;:17;;;;;:20;;8740:47;;8758:17;8776:1;;8758:20;;;;;;;;;;;;;;;;:28;;;8740:13;:17;;:47;;;;:::i;:::-;8724:63;-1:-1:-1;8703:3:0;;8653:146;;;;8816:43;8845:13;8816:24;8832:7;8816:15;:24::i;:::-;:28;:43;:28;:43;:::i;:::-;8809:50;8532:335;-1:-1:-1;;;8532:335:0:o;10251:516::-;5899:5;;-1:-1:-1;;;;;5899:5:0;5885:10;:19;5877:41;;;;;-1:-1:-1;;;;;5877:41:0;;;;;;;;;;;;-1:-1:-1;;;;;5877:41:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;10335:17:0;;;;;;:8;:17;;;;;:24;10331:28;;10323:61;;;;;-1:-1:-1;;;;;10323:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10441:17:0;;;;;;:8;:17;;;;;:20;;10418:52;;10441:17;10459:1;;10441:20;;;;;;;;;;;;;;:28;:20;;;;;:28;;;;;-1:-1:-1;;;;;10418:18:0;;;;;;;;;;;;;;:52;:22;:52;:::i;:::-;-1:-1:-1;;;;;10397:18:0;;:9;:18;;;;;;;;;;;:73;;;;10502:8;:17;;;;;;:20;;10486:45;;10502:17;10520:1;;10502:20;;;;;;;;;;;;;;;;:28;;;10486:45;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10542:17:0;;10573:1;10542:17;;;:8;:17;;;;;:20;;10560:1;;10542:20;;;;;;;;;;;;;;:28;:20;;;;;:28;;;;:32;;;;-1:-1:-1;;;;;10596:17:0;;;;:8;:17;;;;;;:24;-1:-1:-1;;10596:28:0;10591:33;;10587:136;;-1:-1:-1;;;;;10664:17:0;;;;;;:8;:17;;;;;10682:24;;-1:-1:-1;;10682:28:0;;;10664:47;;;;;;;;;;;;;;;;10641:8;:17;10650:7;-1:-1:-1;;;;;10641:17:0;-1:-1:-1;;;;;10641:17:0;;;;;;;;;;;;10659:1;10641:20;;;;;;;;;;;;;;;;:70;;:20;;;;;:70;;;;;;;;;;;10587:136;-1:-1:-1;;;;;10733:17:0;;;;;;:8;:17;;;;;:26;;;;;-1:-1:-1;;10733:26:0;;;:::i;:::-;;10251:516;;:::o;6551:103::-;5899:5;;-1:-1:-1;;;;;5899:5:0;5885:10;:19;5877:41;;;;;-1:-1:-1;;;;;5877:41:0;;;;;;;;;;;;-1:-1:-1;;;;;5877:41:0;;;;;;;;;;;;;;;6403:6;;-1:-1:-1;;;6403:6:0;;;;6402:7;6394:35;;;;;-1:-1:-1;;;;;6394:35:0;;;;;;;;;;;;-1:-1:-1;;;;;6394:35:0;;;;;;;;;;;;;;;6610:6;:13;;-1:-1:-1;;;;;;6610:13:0;-1:-1:-1;;;6610:13:0;;;6639:7;;;;6610:13;;6639:7;6551:103::o;7021:123::-;5899:5;;-1:-1:-1;;;;;5899:5:0;5885:10;:19;5877:41;;;;;-1:-1:-1;;;;;5877:41:0;;;;;;;;;;;;-1:-1:-1;;;;;5877:41:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;7082:16:0;;;;;;:7;:16;;;;;;;;;:23;;-1:-1:-1;;7082:23:0;7101:4;7082:23;;;7121:15;;;;;;;;;;;;;;;;;7021:123;:::o;5645:20::-;;;-1:-1:-1;;;;;5645:20:0;;:::o;5349:39::-;;;;;;;;;;;;;;-1:-1:-1;;;;;5349:39:0;;;;:::o;8033:211::-;5899:5;;-1:-1:-1;;;;;5899:5:0;5885:10;:19;5877:41;;;;;-1:-1:-1;;;;;5877:41:0;;;;;;;;;;;;-1:-1:-1;;;;;5877:41:0;;;;;;;;;;;;;;;8123:21;8139:4;8123:15;:21::i;:::-;8113:6;:31;;8105:65;;;;;-1:-1:-1;;;;;8105:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;8183:19;8189:4;8195:6;8183:5;:19::i;:::-;8218:18;;;;;;;;-1:-1:-1;;;;;8218:18:0;;;;;;;;;;;;;8033:211;;:::o;3429:216::-;3540:10;3514:4;3561:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;3561:32:0;;;;;;;;;;3514:4;;3531:84;;3552:7;;3561:53;;3598:15;3561:53;:36;:53;:::i;7400:242::-;6952:10;7544:4;6944:19;;;:7;:19;;;;;;;;6943:20;6935:58;;;;;-1:-1:-1;;;;;6935:58:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;6403:6;;-1:-1:-1;;;6403:6:0;;;;6402:7;6394:35;;;;;-1:-1:-1;;;;;6394:35:0;;;;;;;;;;;;-1:-1:-1;;;;;6394:35:0;;;;;;;;;;;;;;;7566:23;7578:10;7566:11;:23::i;:::-;7607:27;7622:3;7627:6;7607:14;:27::i;2653:134::-;-1:-1:-1;;;;;2752:18:0;;;2725:7;2752:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;2653:134::o;10775:505::-;5899:5;;10878:4;;-1:-1:-1;;;;;5899:5:0;5885:10;:19;5877:41;;;;;-1:-1:-1;;;;;5877:41:0;;;;;;;;;;;;-1:-1:-1;;;;;5877:41:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;10903:17:0;;10895:43;;;;;-1:-1:-1;;;;;10895:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;10983:5;;10967:22;;-1:-1:-1;;;;;10983:5:0;10967:15;:22::i;:::-;10957:6;:32;;10949:63;;;;;-1:-1:-1;;;;;10949:63:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;11054:5;;-1:-1:-1;;;;;11054:5:0;11044:9;:16;;;;;;;;;;;:28;;11065:6;11044:28;:20;:28;:::i;:::-;11035:5;;;-1:-1:-1;;;;;11035:5:0;;;11025:9;:16;;;;;;;;;;;:47;;;;11083:13;;;;;;:8;:13;;;;;11116:30;;;;;;;;;;;;;;;;27:10:-1;;11035:5:0;23:18:-1;;;45:23;;11083:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;11182:5;;11173:28;;;;;;;11083:13;;11182:5;;;-1:-1:-1;;;;;;;;;;;11173:28:0;;;;;;;11217:31;;;;;;;;;;;;;;-1:-1:-1;;;;;11217:31:0;;;;;;;;;;;-1:-1:-1;11268:4:0;10775:505;;;;;:::o;9548:116::-;-1:-1:-1;;;;;9632:17:0;9605:7;9632:17;;;:8;:17;;;;;:24;;9548:116::o;9863:380::-;5899:5;;-1:-1:-1;;;;;5899:5:0;5885:10;:19;5877:41;;;;;-1:-1:-1;;;;;5877:41:0;;;;;;;;;;;;-1:-1:-1;;;;;5877:41:0;;;;;;;;;;;;;;;9997:7;9969:24;9985:7;9969:15;:24::i;:::-;:35;;9961:69;;;;;-1:-1:-1;;;;;9961:69:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10062:18:0;;:9;:18;;;;;;;;;;;:31;;10085:7;10062:31;:22;:31;:::i;:::-;-1:-1:-1;;;;;10041:18:0;;:9;:18;;;;;;;;;;;:52;;;;10104:8;:17;;;;;10141:31;;;;;;;;;;;;;;;;27:10:-1;;39:1;23:18;;;45:23;;10104:79:0;;;;;;;;;;;;;;;;;;;;;;;;;;10199:36;;;;;;;;;;;;;10041:18;;10199:36;;;;;;;;;9863:380;;;:::o;7288:104::-;-1:-1:-1;;;;;7368:16:0;7344:4;7368:16;;;:7;:16;;;;;;;;;7288:104::o;5946:111::-;5899:5;;-1:-1:-1;;;;;5899:5:0;5885:10;:19;5877:41;;;;;-1:-1:-1;;;;;5877:41:0;;;;;;;;;;;;-1:-1:-1;;;;;5877:41:0;;;;;;;;;;;;;;;6020:29;6039:9;6020:18;:29::i;:::-;5946:111;:::o;4720:335::-;-1:-1:-1;;;;;4813:19:0;;4805:68;;;;-1:-1:-1;;;;;4805:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4892:21:0;;4884:68;;;;-1:-1:-1;;;;;4884:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4965:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:35;;;5016:31;;;;;;;;;;;;;;;;;4720:335;;;:::o;8875:667::-;8939:9;8935:600;-1:-1:-1;;;;;8958:17:0;;;;;;:8;:17;;;;;:24;8954:28;;8935:600;;;-1:-1:-1;;;;;9010:17:0;;;;;;:8;:17;;;;;:20;;9046:3;;9010:17;9028:1;;9010:20;;;;;;;;;;;;;;;;:32;;;:39;9006:518;;-1:-1:-1;;;;;9114:17:0;;;;;;:8;:17;;;;;:20;;9091:52;;9114:17;9132:1;;9114:20;;;;;9091:52;-1:-1:-1;;;;;9070:18:0;;:9;:18;;;;;;;;;;;:73;;;;9183:8;:17;;;;;;:20;;9167:45;;9183:17;9201:1;;9183:20;;;;;;;;;;;;;;;;:28;;;9167:45;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9231:17:0;;9262:1;9231:17;;;:8;:17;;;;;:20;;9249:1;;9231:20;;;;;;;;;;;;;;:28;:20;;;;;:28;;;;:32;;;;-1:-1:-1;;;;;9293:17:0;;;;:8;:17;;;;;;:24;-1:-1:-1;;9293:28:0;9288:33;;9284:178;;-1:-1:-1;;;;;9369:17:0;;;;;;:8;:17;;;;;9387:24;;-1:-1:-1;;9387:28:0;;;9369:47;;;;;;;;;;;;;;;;9346:8;:17;9355:7;-1:-1:-1;;;;;9346:17:0;-1:-1:-1;;;;;9346:17:0;;;;;;;;;;;;9364:1;9346:20;;;;;;;;;;;;;;;;:70;;:20;;;;;:70;;;;;;;;;;;-1:-1:-1;;9439:3:0;9284:178;-1:-1:-1;;;;;9480:17:0;;;;;;:8;:17;;;;;:26;;;;;-1:-1:-1;;9480:26:0;;;:::i;:::-;;9006:518;8985:3;;8935:600;;;;8875:667;:::o;2951:256::-;3040:4;3057:36;3067:6;3075:9;3086:6;3057:9;:36::i;:::-;-1:-1:-1;;;;;3133:19:0;;;;;;:11;:19;;;;;;;;3121:10;3133:31;;;;;;;;;3104:73;;3113:6;;3133:43;;3169:6;3133:43;:35;:43;:::i;3104:73::-;-1:-1:-1;3195:4:0;2951:256;;;;;:::o;1047:181::-;1105:7;1137:5;;;1161:6;;;;1153:46;;;;;-1:-1:-1;;;;;1153:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;2371:110;-1:-1:-1;;;;;2455:18:0;2428:7;2455:18;;;;;;;;;;;;2371:110::o;4406:306::-;-1:-1:-1;;;;;4481:21:0;;4473:67;;;;-1:-1:-1;;;;;4473:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4568:12;;:23;;4585:5;4568:23;:16;:23;:::i;:::-;4553:12;:38;-1:-1:-1;;;;;4623:18:0;;:9;:18;;;;;;;;;;;:29;;4646:5;4623:29;:22;:29;:::i;:::-;-1:-1:-1;;;;;4602:18:0;;:9;:18;;;;;;;;;;;:50;;;;4668:36;;;;;;;4602:9;;-1:-1:-1;;;;;;;;;;;4668:36:0;;;;;;;;;;4406:306;;:::o;1236:184::-;1294:7;1327:1;1322;:6;;1314:49;;;;;-1:-1:-1;;;;;1314:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1386:5:0;;;1236:184::o;2489:156::-;2558:4;2575:40;2585:10;2597:9;2608:6;2575:9;:40::i;6065:206::-;-1:-1:-1;;;;;6140:23:0;;6132:49;;;;;-1:-1:-1;;;;;6132:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;6218:5;;6197:38;;-1:-1:-1;;;;;6197:38:0;;;;6218:5;;6197:38;;6218:5;;6197:38;6246:5;:17;;-1:-1:-1;;;;;;6246:17:0;-1:-1:-1;;;;;6246:17:0;;;;;;;;;;6065:206::o;3653:429::-;-1:-1:-1;;;;;3751:20:0;;3743:70;;;;-1:-1:-1;;;;;3743:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3832:23:0;;3824:71;;;;-1:-1:-1;;;;;3824:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3928:17:0;;:9;:17;;;;;;;;;;;:29;;3950:6;3928:29;:21;:29;:::i;:::-;-1:-1:-1;;;;;3908:17:0;;;:9;:17;;;;;;;;;;;:49;;;;3991:20;;;;;;;:32;;4016:6;3991:32;:24;:32;:::i;:::-;-1:-1:-1;;;;;3968:20:0;;;:9;:20;;;;;;;;;;;;:55;;;;4039:35;;;;;;;3968:20;;4039:35;;;;-1:-1:-1;;;;;;;;;;;4039:35:0;;;;;;;;3653:429;;;:::o;5258:6027::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4090:308;-1:-1:-1;;;;;4166:21:0;;4158:65;;;;;-1:-1:-1;;;;;4158:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;4251:12;;:24;;4268:6;4251:24;:16;:24;:::i;:::-;4236:12;:39;-1:-1:-1;;;;;4307:18:0;;:9;:18;;;;;;;;;;;:30;;4330:6;4307:30;:22;:30;:::i;:::-;-1:-1:-1;;;;;4286:18:0;;:9;:18;;;;;;;;;;;:51;;;;4353:37;;;;;;;4286:18;;:9;;-1:-1:-1;;;;;;;;;;;4353:37:0;;;;;;;;;4090:308;;:::o

Swarm Source

bzzr://48d02e912bf6d3b41a78be037ed8faf1fd56c4140f9cd95eaf0e3f0651529f63

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.