ETH Price: $2,737.90 (+1.17%)

Contract

0xbad04B9daC7bb745ae6dfC3F042B4f325F851a14
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer207878452024-09-19 23:12:11140 days ago1726787531IN
0xbad04B9d...25F851a14
0 ETH0.000594087.79029742
Transfer190875182024-01-26 1:30:59378 days ago1706232659IN
0xbad04B9d...25F851a14
0 ETH0.0008849217.85608914
Approve181897482023-09-22 6:57:23504 days ago1695365843IN
0xbad04B9d...25F851a14
0 ETH0.000223259.1714567
Transfer169136512023-03-26 19:22:59683 days ago1679858579IN
0xbad04B9d...25F851a14
0 ETH0.0011341319.27655505
Transfer155386622022-09-15 10:59:59876 days ago1663239599IN
0xbad04B9d...25F851a14
0 ETH0.000722439.50334338
Transfer135033962021-10-28 3:47:531198 days ago1635392873IN
0xbad04B9d...25F851a14
0 ETH0.01360198190.31472042
Transfer135033662021-10-28 3:40:181198 days ago1635392418IN
0xbad04B9d...25F851a14
0 ETH0.00774308191.55145215
Approve132274482021-09-15 1:45:291241 days ago1631670329IN
0xbad04B9d...25F851a14
0 ETH0.0010814644.42791823
Approve130514372021-08-18 20:41:451268 days ago1629319305IN
0xbad04B9d...25F851a14
0 ETH0.002205447.3
Approve130417792021-08-17 8:58:311270 days ago1629190711IN
0xbad04B9d...25F851a14
0 ETH0.0013976929.97666834
Approve130156862021-08-13 8:18:151274 days ago1628842695IN
0xbad04B9d...25F851a14
0 ETH0.0015776533.83638019
Approve129999712021-08-10 21:48:091276 days ago1628632089IN
0xbad04B9d...25F851a14
0 ETH0.0022052447.29653154
Approve129989682021-08-10 18:05:511276 days ago1628618751IN
0xbad04B9d...25F851a14
0 ETH0.0026853457.59327399
Approve129888762021-08-09 4:52:511278 days ago1628484771IN
0xbad04B9d...25F851a14
0 ETH0.0013847929.7
Approve129875362021-08-08 23:52:051278 days ago1628466725IN
0xbad04B9d...25F851a14
0 ETH0.0014920332
Approve129815302021-08-08 1:47:181279 days ago1628387238IN
0xbad04B9d...25F851a14
0 ETH0.0020515444
Approve129667642021-08-05 19:13:141281 days ago1628190794IN
0xbad04B9d...25F851a14
0 ETH0.0027509359
Approve129570062021-08-04 6:13:581283 days ago1628057638IN
0xbad04B9d...25F851a14
0 ETH0.0011283424.2
Approve129559872021-08-04 2:12:251283 days ago1628043145IN
0xbad04B9d...25F851a14
0 ETH0.0010723923
Approve129553162021-08-03 23:43:261283 days ago1628034206IN
0xbad04B9d...25F851a14
0 ETH0.001445431
Approve129551882021-08-03 23:16:191283 days ago1628032579IN
0xbad04B9d...25F851a14
0 ETH0.0012822127.5
Approve129551672021-08-03 23:11:551283 days ago1628032315IN
0xbad04B9d...25F851a14
0 ETH0.0011190224
Approve129551652021-08-03 23:11:421283 days ago1628032302IN
0xbad04B9d...25F851a14
0 ETH0.0011656525
Approve129551342021-08-03 23:04:521283 days ago1628031892IN
0xbad04B9d...25F851a14
0 ETH0.0011656525
Approve129550982021-08-03 22:59:191283 days ago1628031559IN
0xbad04B9d...25F851a14
0 ETH0.0016785336
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
SHOCK

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-07-24
*/

// SPDX-License-Identifier: Unlicensed

pragma solidity ^0.6.0;

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

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

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) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

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

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

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

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }

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

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

library Address {
    function isContract(address account) internal view returns (bool) {
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        assembly { codehash := extcodehash(account) }
        return (codehash != accountHash && codehash != 0x0);
    }

    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionCall(target, data, "Address: low-level call failed");
    }

    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return _functionCallWithValue(target, data, 0, errorMessage);
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        return _functionCallWithValue(target, data, value, errorMessage);
    }

    function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {
        require(isContract(target), "Address: call to non-contract");
        (bool success, bytes memory returndata) = target.call{ value: weiValue }(data);
        if (success) {
            return returndata;
        } else {
            if (returndata.length > 0) {
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

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

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

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

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

} 

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract SHOCK is Context, IERC20, Ownable {
    using SafeMath for uint256;
    using Address for address;
    
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    
    IUniswapV2Router02 public sushiswapRouter;
    address public sushiswapPair;
    
    
    string private _name = 'SHOCK';
    string private _symbol = 'SHOCK';
    uint8 private _decimals = 18;
    
    uint256 private constant MAX_UINT256 = ~uint256(0);
    uint256 private constant INITIAL_FRAGMENTS_SUPPLY = 1 * 1e7 * 1e18;
    uint256 private constant TOTAL_GONS = MAX_UINT256 - (MAX_UINT256 % INITIAL_FRAGMENTS_SUPPLY);
    
    uint256 public constant MAG = 10 ** 18;
    uint256 public  rateOfChange = MAG;

    uint256 private _totalSupply;
    uint256 public _gonsPerFragment;
    
    mapping(address => uint256) public _gonBalances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping(address => bool) public blacklist;
    mapping (address => uint256) public _buyInfo;

    uint256 public _percentForTxLimit = 2; //2% of total supply;
    uint256 public _percentForRebase = 5; //5% of total supply;
    uint256 public _timeLimitFromLastBuy = 5 minutes;
    
    uint256 private uniswapV2PairAmount;
    
    bool public _live = false;
    
    
    constructor () public {
        _totalSupply = INITIAL_FRAGMENTS_SUPPLY;
        _gonBalances[_msgSender()] = TOTAL_GONS;
        _gonsPerFragment = TOTAL_GONS.div(_totalSupply);
        
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());

        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

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

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

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

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

    function balanceOf(address account) public view override returns (uint256) {
        if(account == uniswapV2Pair)
            return uniswapV2PairAmount;
        return _gonBalances[account].div(_gonsPerFragment);
    }

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }
    
    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    
    function rebasePlus(uint256 _amount) private {
         _totalSupply = _totalSupply.add(_amount.div(5));
        _gonsPerFragment = TOTAL_GONS.div(_totalSupply);
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "ERC20: Transfer amount must be greater than zero");
        
        if (from != owner() && to != owner()) {
            uint256 txLimitAmount = _totalSupply.mul(_percentForTxLimit).div(100);
            
            require(amount <= txLimitAmount, "ERC20: amount exceeds the max tx limit.");
            
            if(from != uniswapV2Pair) {
                require(!blacklist[from] && !blacklist[to], 'ERC20: the transaction was blocked.');
                require(_buyInfo[from] == 0 || _buyInfo[from].add(_timeLimitFromLastBuy) < now, "ERC20: Tx not allowed yet.");
                
                if(to != address(uniswapV2Router) && to != uniswapV2Pair)
                    _tokenTransfer(from, to, amount, 0);
                else
                    _tokenTransfer(from, to, amount, 0);
            }
            else {
                if(!_live)
                    blacklist[to] = true;
                
                require(balanceOf(to) <= txLimitAmount, 'ERC20: current balance exceeds the max limit.');
                
                _buyInfo[to] = now;
                _tokenTransfer(from, to, amount, 0);

                uint256 rebaseLimitAmount = _totalSupply.mul(_percentForRebase).div(100);
                uint256 currentBalance = balanceOf(to);
                uint256 newBalance = currentBalance.add(amount);
                if(currentBalance < rebaseLimitAmount && newBalance < rebaseLimitAmount) {
                    rebasePlus(amount);
                }
            }
        } else {
            _tokenTransfer(from, to, amount, 0);
        }
    }
    
    function _tokenTransfer(address from, address to, uint256 amount, uint256 taxFee) internal {
        if(to == uniswapV2Pair)
            uniswapV2PairAmount = uniswapV2PairAmount.add(amount);
        else if(from == uniswapV2Pair)
            uniswapV2PairAmount = uniswapV2PairAmount.sub(amount);
        
        uint256 burnAmount = amount.mul(taxFee).div(100);
        uint256 transferAmount = amount.sub(burnAmount);
        
        uint256 gonTotalValue = amount.mul(_gonsPerFragment);
        uint256 gonValue = transferAmount.mul(_gonsPerFragment);
        
        _gonBalances[from] = _gonBalances[from].sub(gonTotalValue);
        _gonBalances[to] = _gonBalances[to].add(gonValue);
        
        emit Transfer(from, to, transferAmount);
        
        if(burnAmount > 0)
            emit Transfer(from, address(0x0), burnAmount);
    }
    
    function updateLive() external {
        if(!_live) {
            _live = true;
        }
    }
    
    function unblockWallet(address account) public onlyOwner {
        blacklist[account] = false;
    }
    
    function updatePercentForTxLimit(uint256 percentForTxLimit) public onlyOwner {
        require(percentForTxLimit >= 1, 'ERC20: max tx limit should be greater than 1');
        _percentForTxLimit = percentForTxLimit;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"MAG","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_buyInfo","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_gonBalances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_gonsPerFragment","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_live","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_percentForRebase","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_percentForTxLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_timeLimitFromLastBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"blacklist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rateOfChange","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sushiswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sushiswapRouter","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"unblockWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"updateLive","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"percentForTxLimit","type":"uint256"}],"name":"updatePercentForTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526040518060400160405280600581526020017f53484f434b0000000000000000000000000000000000000000000000000000008152506006908051906020019062000051929190620006b4565b506040518060400160405280600581526020017f53484f434b000000000000000000000000000000000000000000000000000000815250600790805190602001906200009f929190620006b4565b506012600860006101000a81548160ff021916908360ff160217905550670de0b6b3a76400006009556002601055600560115561012c6012556000601460006101000a81548160ff0219169083151502179055503480156200010057600080fd5b506000620001136200058f60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506a084595161401484a000000600a819055506a084595161401484a00000060001981620001da57fe5b0660001903600c6000620001f36200058f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000268600a546a084595161401484a000000600019816200024f57fe5b06600019036200059760201b620011a61790919060201c565b600b81905550737a250d5630b4cf539739df2c5dacb4c659f2488d600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200032c57600080fd5b505afa15801562000341573d6000803e3d6000fd5b505050506040513d60208110156200035857600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620003ee57600080fd5b505afa15801562000403573d6000803e3d6000fd5b505050506040513d60208110156200041a57600080fd5b81019080805190602001909291905050506040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156200049557600080fd5b505af1158015620004aa573d6000803e3d6000fd5b505050506040513d6020811015620004c157600080fd5b8101908080519060200190929190505050600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620005226200058f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600a546040518082815260200191505060405180910390a36200075a565b600033905090565b6000620005e183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620005e960201b60201c565b905092915050565b6000808311829062000699576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156200065d57808201518184015260208101905062000640565b50505050905090810190601f1680156200068b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581620006a657fe5b049050809150509392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620006f757805160ff191683800117855562000728565b8280016001018555821562000728579182015b82811115620007275782518255916020019190600101906200070a565b5b5090506200073791906200073b565b5090565b5b80821115620007565760008160009055506001016200073c565b5090565b6123c0806200076a6000396000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c80638da5cb5b116100f9578063c82a8fed11610097578063e9240c2d11610071578063e9240c2d146107a2578063ed82193c146107d6578063f9f92be41461082e578063fd2dbb0e14610888576101c4565b8063c82a8fed146106de578063dd62ed3e1461070c578063e679e27c14610784576101c4565b8063a9059cbb116100d3578063a9059cbb14610620578063bce87b3314610684578063bef18a19146106a2578063c4996f51146106c0576101c4565b80638da5cb5b1461053557806395d89b4114610569578063a3306dc3146105ec576101c4565b806336fed9751161016657806356e0ec721161014057806356e0ec72146104955780636b0a26d2146104b557806370a08231146104d3578063715018a61461052b576101c4565b806336fed975146103eb57806349bd5a5e146104435780634c4be8a614610477576101c4565b806318160ddd116101a257806318160ddd146102e45780631c8e11791461030257806323b872dd14610346578063313ce567146103ca576101c4565b806306fdde03146101c9578063095ea7b31461024c5780631694505e146102b0575b600080fd5b6101d1610892565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102115780820151818401526020810190506101f6565b50505050905090810190601f16801561023e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102986004803603604081101561026257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610934565b60405180821515815260200191505060405180910390f35b6102b8610952565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102ec610978565b6040518082815260200191505060405180910390f35b6103446004803603602081101561031857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610982565b005b6103b26004803603606081101561035c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610aa5565b60405180821515815260200191505060405180910390f35b6103d2610b7e565b604051808260ff16815260200191505060405180910390f35b61042d6004803603602081101561040157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b95565b6040518082815260200191505060405180910390f35b61044b610bad565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61047f610bd3565b6040518082815260200191505060405180910390f35b61049d610bdf565b60405180821515815260200191505060405180910390f35b6104bd610bf2565b6040518082815260200191505060405180910390f35b610515600480360360208110156104e957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bf8565b6040518082815260200191505060405180910390f35b610533610cb6565b005b61053d610e3c565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610571610e65565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105b1578082015181840152602081019050610596565b50505050905090810190601f1680156105de5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6105f4610f07565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61066c6004803603604081101561063657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f2d565b60405180821515815260200191505060405180910390f35b61068c610f4b565b6040518082815260200191505060405180910390f35b6106aa610f51565b6040518082815260200191505060405180910390f35b6106c8610f57565b6040518082815260200191505060405180910390f35b61070a600480360360208110156106f457600080fd5b8101908080359060200190929190505050610f5d565b005b61076e6004803603604081101561072257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611089565b6040518082815260200191505060405180910390f35b61078c611110565b6040518082815260200191505060405180910390f35b6107aa611116565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610818600480360360208110156107ec57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061113c565b6040518082815260200191505060405180910390f35b6108706004803603602081101561084457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611154565b60405180821515815260200191505060405180910390f35b610890611174565b005b606060068054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561092a5780601f106108ff5761010080835404028352916020019161092a565b820191906000526020600020905b81548152906001019060200180831161090d57829003601f168201915b5050505050905090565b60006109486109416111f0565b84846111f8565b6001905092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600a54905090565b61098a6111f0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a4a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000610ab28484846113ef565b610b7384610abe6111f0565b610b6e856040518060600160405280602881526020016122f760289139600d60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b246111f0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b379092919063ffffffff16565b6111f8565b600190509392505050565b6000600860009054906101000a900460ff16905090565b600c6020528060005260406000206000915090505481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b670de0b6b3a764000081565b601460009054906101000a900460ff1681565b60095481565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c5a576013549050610cb1565b610cae600b54600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111a690919063ffffffff16565b90505b919050565b610cbe6111f0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d7e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060078054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610efd5780601f10610ed257610100808354040283529160200191610efd565b820191906000526020600020905b815481529060010190602001808311610ee057829003601f168201915b5050505050905090565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610f41610f3a6111f0565b84846113ef565b6001905092915050565b60105481565b60115481565b600b5481565b610f656111f0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611025576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600181101561107f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806122aa602c913960400191505060405180910390fd5b8060108190555050565b6000600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60125481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600f6020528060005260406000206000915090505481565b600e6020528060005260406000206000915054906101000a900460ff1681565b601460009054906101000a900460ff166111a4576001601460006101000a81548160ff0219169083151502179055505b565b60006111e883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611bf7565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561127e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806123676024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611304576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806122886022913960400191505060405180910390fd5b80600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611475576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806123426025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156114fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806121e16023913960400191505060405180910390fd5b60008111611554576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806122586030913960400191505060405180910390fd5b61155c610e3c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156115ca575061159a610e3c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611b245760006115fb60646115ed601054600a54611cbd90919063ffffffff16565b6111a690919063ffffffff16565b905080821115611656576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806122316027913960400191505060405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161461198c57600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561174f5750600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6117a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061231f6023913960400191505060405180910390fd5b6000600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541480611844575042611842601254600f60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d4390919063ffffffff16565b105b6118b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f45524332303a205478206e6f7420616c6c6f776564207965742e00000000000081525060200191505060405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156119625750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611979576119748484846000611dcb565b611987565b6119868484846000611dcb565b5b611b1e565b601460009054906101000a900460ff166119f9576001600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b80611a0384610bf8565b1115611a5a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180612204602d913960400191505060405180910390fd5b42600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611aab8484846000611dcb565b6000611ad76064611ac9601154600a54611cbd90919063ffffffff16565b6111a690919063ffffffff16565b90506000611ae485610bf8565b90506000611afb8583611d4390919063ffffffff16565b90508282108015611b0b57508281105b15611b1a57611b1985612130565b5b5050505b50611b32565b611b318383836000611dcb565b5b505050565b6000838311158290611be4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611ba9578082015181840152602081019050611b8e565b50505050905090810190601f168015611bd65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60008083118290611ca3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611c68578082015181840152602081019050611c4d565b50505050905090810190601f168015611c955780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581611caf57fe5b049050809150509392505050565b600080831415611cd05760009050611d3d565b6000828402905082848281611ce157fe5b0414611d38576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806122d66021913960400191505060405180910390fd5b809150505b92915050565b600080828401905083811015611dc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611e4157611e3682601354611d4390919063ffffffff16565b601381905550611eb4565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611eb357611eac8260135461219690919063ffffffff16565b6013819055505b5b6000611edc6064611ece8486611cbd90919063ffffffff16565b6111a690919063ffffffff16565b90506000611ef3828561219690919063ffffffff16565b90506000611f0c600b5486611cbd90919063ffffffff16565b90506000611f25600b5484611cbd90919063ffffffff16565b9050611f7982600c60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461219690919063ffffffff16565b600c60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061200e81600c60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d4390919063ffffffff16565b600c60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600084111561212657600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a35b5050505050505050565b6121586121476005836111a690919063ffffffff16565b600a54611d4390919063ffffffff16565b600a8190555061218d600a546a084595161401484a0000006000198161217a57fe5b06600019036111a690919063ffffffff16565b600b8190555050565b60006121d883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b37565b90509291505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a2063757272656e742062616c616e6365206578636565647320746865206d6178206c696d69742e45524332303a20616d6f756e74206578636565647320746865206d6178207478206c696d69742e45524332303a205472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a206d6178207478206c696d69742073686f756c642062652067726561746572207468616e2031536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a20746865207472616e73616374696f6e2077617320626c6f636b65642e45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a26469706673582212208c308cd52b5ec53b601ba0234d16cb3734008f2a6a50ff34b00c43d9483e760864736f6c634300060c0033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101c45760003560e01c80638da5cb5b116100f9578063c82a8fed11610097578063e9240c2d11610071578063e9240c2d146107a2578063ed82193c146107d6578063f9f92be41461082e578063fd2dbb0e14610888576101c4565b8063c82a8fed146106de578063dd62ed3e1461070c578063e679e27c14610784576101c4565b8063a9059cbb116100d3578063a9059cbb14610620578063bce87b3314610684578063bef18a19146106a2578063c4996f51146106c0576101c4565b80638da5cb5b1461053557806395d89b4114610569578063a3306dc3146105ec576101c4565b806336fed9751161016657806356e0ec721161014057806356e0ec72146104955780636b0a26d2146104b557806370a08231146104d3578063715018a61461052b576101c4565b806336fed975146103eb57806349bd5a5e146104435780634c4be8a614610477576101c4565b806318160ddd116101a257806318160ddd146102e45780631c8e11791461030257806323b872dd14610346578063313ce567146103ca576101c4565b806306fdde03146101c9578063095ea7b31461024c5780631694505e146102b0575b600080fd5b6101d1610892565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102115780820151818401526020810190506101f6565b50505050905090810190601f16801561023e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102986004803603604081101561026257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610934565b60405180821515815260200191505060405180910390f35b6102b8610952565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102ec610978565b6040518082815260200191505060405180910390f35b6103446004803603602081101561031857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610982565b005b6103b26004803603606081101561035c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610aa5565b60405180821515815260200191505060405180910390f35b6103d2610b7e565b604051808260ff16815260200191505060405180910390f35b61042d6004803603602081101561040157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b95565b6040518082815260200191505060405180910390f35b61044b610bad565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61047f610bd3565b6040518082815260200191505060405180910390f35b61049d610bdf565b60405180821515815260200191505060405180910390f35b6104bd610bf2565b6040518082815260200191505060405180910390f35b610515600480360360208110156104e957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bf8565b6040518082815260200191505060405180910390f35b610533610cb6565b005b61053d610e3c565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610571610e65565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105b1578082015181840152602081019050610596565b50505050905090810190601f1680156105de5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6105f4610f07565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61066c6004803603604081101561063657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f2d565b60405180821515815260200191505060405180910390f35b61068c610f4b565b6040518082815260200191505060405180910390f35b6106aa610f51565b6040518082815260200191505060405180910390f35b6106c8610f57565b6040518082815260200191505060405180910390f35b61070a600480360360208110156106f457600080fd5b8101908080359060200190929190505050610f5d565b005b61076e6004803603604081101561072257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611089565b6040518082815260200191505060405180910390f35b61078c611110565b6040518082815260200191505060405180910390f35b6107aa611116565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610818600480360360208110156107ec57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061113c565b6040518082815260200191505060405180910390f35b6108706004803603602081101561084457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611154565b60405180821515815260200191505060405180910390f35b610890611174565b005b606060068054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561092a5780601f106108ff5761010080835404028352916020019161092a565b820191906000526020600020905b81548152906001019060200180831161090d57829003601f168201915b5050505050905090565b60006109486109416111f0565b84846111f8565b6001905092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600a54905090565b61098a6111f0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a4a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000610ab28484846113ef565b610b7384610abe6111f0565b610b6e856040518060600160405280602881526020016122f760289139600d60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b246111f0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b379092919063ffffffff16565b6111f8565b600190509392505050565b6000600860009054906101000a900460ff16905090565b600c6020528060005260406000206000915090505481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b670de0b6b3a764000081565b601460009054906101000a900460ff1681565b60095481565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c5a576013549050610cb1565b610cae600b54600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111a690919063ffffffff16565b90505b919050565b610cbe6111f0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d7e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060078054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610efd5780601f10610ed257610100808354040283529160200191610efd565b820191906000526020600020905b815481529060010190602001808311610ee057829003601f168201915b5050505050905090565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610f41610f3a6111f0565b84846113ef565b6001905092915050565b60105481565b60115481565b600b5481565b610f656111f0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611025576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600181101561107f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806122aa602c913960400191505060405180910390fd5b8060108190555050565b6000600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60125481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600f6020528060005260406000206000915090505481565b600e6020528060005260406000206000915054906101000a900460ff1681565b601460009054906101000a900460ff166111a4576001601460006101000a81548160ff0219169083151502179055505b565b60006111e883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611bf7565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561127e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806123676024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611304576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806122886022913960400191505060405180910390fd5b80600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611475576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806123426025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156114fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806121e16023913960400191505060405180910390fd5b60008111611554576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806122586030913960400191505060405180910390fd5b61155c610e3c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156115ca575061159a610e3c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611b245760006115fb60646115ed601054600a54611cbd90919063ffffffff16565b6111a690919063ffffffff16565b905080821115611656576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806122316027913960400191505060405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161461198c57600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561174f5750600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6117a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061231f6023913960400191505060405180910390fd5b6000600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541480611844575042611842601254600f60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d4390919063ffffffff16565b105b6118b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f45524332303a205478206e6f7420616c6c6f776564207965742e00000000000081525060200191505060405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156119625750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611979576119748484846000611dcb565b611987565b6119868484846000611dcb565b5b611b1e565b601460009054906101000a900460ff166119f9576001600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b80611a0384610bf8565b1115611a5a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180612204602d913960400191505060405180910390fd5b42600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611aab8484846000611dcb565b6000611ad76064611ac9601154600a54611cbd90919063ffffffff16565b6111a690919063ffffffff16565b90506000611ae485610bf8565b90506000611afb8583611d4390919063ffffffff16565b90508282108015611b0b57508281105b15611b1a57611b1985612130565b5b5050505b50611b32565b611b318383836000611dcb565b5b505050565b6000838311158290611be4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611ba9578082015181840152602081019050611b8e565b50505050905090810190601f168015611bd65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60008083118290611ca3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611c68578082015181840152602081019050611c4d565b50505050905090810190601f168015611c955780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581611caf57fe5b049050809150509392505050565b600080831415611cd05760009050611d3d565b6000828402905082848281611ce157fe5b0414611d38576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806122d66021913960400191505060405180910390fd5b809150505b92915050565b600080828401905083811015611dc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611e4157611e3682601354611d4390919063ffffffff16565b601381905550611eb4565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611eb357611eac8260135461219690919063ffffffff16565b6013819055505b5b6000611edc6064611ece8486611cbd90919063ffffffff16565b6111a690919063ffffffff16565b90506000611ef3828561219690919063ffffffff16565b90506000611f0c600b5486611cbd90919063ffffffff16565b90506000611f25600b5484611cbd90919063ffffffff16565b9050611f7982600c60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461219690919063ffffffff16565b600c60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061200e81600c60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d4390919063ffffffff16565b600c60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600084111561212657600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a35b5050505050505050565b6121586121476005836111a690919063ffffffff16565b600a54611d4390919063ffffffff16565b600a8190555061218d600a546a084595161401484a0000006000198161217a57fe5b06600019036111a690919063ffffffff16565b600b8190555050565b60006121d883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b37565b90509291505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a2063757272656e742062616c616e6365206578636565647320746865206d6178206c696d69742e45524332303a20616d6f756e74206578636565647320746865206d6178207478206c696d69742e45524332303a205472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a206d6178207478206c696d69742073686f756c642062652067726561746572207468616e2031536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a20746865207472616e73616374696f6e2077617320626c6f636b65642e45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a26469706673582212208c308cd52b5ec53b601ba0234d16cb3734008f2a6a50ff34b00c43d9483e760864736f6c634300060c0033

Deployed Bytecode Sourcemap

6282:7008:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8105:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9047:161;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6403:41;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8382:100;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12949:102;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9216:313;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8291:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;7106:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6451:28;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6939:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7577:25;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6984:34;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8490:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5362:148;;;:::i;:::-;;5148:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8196:87;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6540:28;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8721:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;7337:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7403:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7062:31;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13063:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8896:143;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7468:48;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6492:41;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;7284:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7236:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;12838:99;;;:::i;:::-;;8105:83;8142:13;8175:5;8168:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8105:83;:::o;9047:161::-;9122:4;9139:39;9148:12;:10;:12::i;:::-;9162:7;9171:6;9139:8;:39::i;:::-;9196:4;9189:11;;9047:161;;;;:::o;6403:41::-;;;;;;;;;;;;;:::o;8382:100::-;8435:7;8462:12;;8455:19;;8382:100;:::o;12949:102::-;5285:12;:10;:12::i;:::-;5275:22;;:6;;;;;;;;;;:22;;;5267:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13038:5:::1;13017:9;:18;13027:7;13017:18;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;12949:102:::0;:::o;9216:313::-;9314:4;9331:36;9341:6;9349:9;9360:6;9331:9;:36::i;:::-;9378:121;9387:6;9395:12;:10;:12::i;:::-;9409:89;9447:6;9409:89;;;;;;;;;;;;;;;;;:11;:19;9421:6;9409:19;;;;;;;;;;;;;;;:33;9429:12;:10;:12::i;:::-;9409:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;9378:8;:121::i;:::-;9517:4;9510:11;;9216:313;;;;;:::o;8291:83::-;8332:5;8357:9;;;;;;;;;;;8350:16;;8291:83;:::o;7106:47::-;;;;;;;;;;;;;;;;;:::o;6451:28::-;;;;;;;;;;;;;:::o;6939:38::-;6969:8;6939:38;:::o;7577:25::-;;;;;;;;;;;;;:::o;6984:34::-;;;;:::o;8490:223::-;8556:7;8590:13;;;;;;;;;;;8579:24;;:7;:24;;;8576:68;;;8625:19;;8618:26;;;;8576:68;8662:43;8688:16;;8662:12;:21;8675:7;8662:21;;;;;;;;;;;;;;;;:25;;:43;;;;:::i;:::-;8655:50;;8490:223;;;;:::o;5362:148::-;5285:12;:10;:12::i;:::-;5275:22;;:6;;;;;;;;;;:22;;;5267:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5469:1:::1;5432:40;;5453:6;::::0;::::1;;;;;;;;5432:40;;;;;;;;;;;;5500:1;5483:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;5362:148::o:0;5148:79::-;5186:7;5213:6;;;;;;;;;;;5206:13;;5148:79;:::o;8196:87::-;8235:13;8268:7;8261:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8196:87;:::o;6540:28::-;;;;;;;;;;;;;:::o;8721:167::-;8799:4;8816:42;8826:12;:10;:12::i;:::-;8840:9;8851:6;8816:9;:42::i;:::-;8876:4;8869:11;;8721:167;;;;:::o;7337:37::-;;;;:::o;7403:36::-;;;;:::o;7062:31::-;;;;:::o;13063:224::-;5285:12;:10;:12::i;:::-;5275:22;;:6;;;;;;;;;;:22;;;5267:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13180:1:::1;13159:17;:22;;13151:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13262:17;13241:18;:38;;;;13063:224:::0;:::o;8896:143::-;8977:7;9004:11;:18;9016:5;9004:18;;;;;;;;;;;;;;;:27;9023:7;9004:27;;;;;;;;;;;;;;;;8997:34;;8896:143;;;;:::o;7468:48::-;;;;:::o;6492:41::-;;;;;;;;;;;;;:::o;7284:44::-;;;;;;;;;;;;;;;;;:::o;7236:41::-;;;;;;;;;;;;;;;;;;;;;;:::o;12838:99::-;12884:5;;;;;;;;;;;12880:50;;12914:4;12906:5;;:12;;;;;;;;;;;;;;;;;;12880:50;12838:99::o;1821:132::-;1879:7;1906:39;1910:1;1913;1906:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1899:46;;1821:132;;;;:::o;102:106::-;155:15;190:10;183:17;;102:106;:::o;9541:335::-;9651:1;9634:19;;:5;:19;;;;9626:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9732:1;9713:21;;:7;:21;;;;9705:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9814:6;9784:11;:18;9796:5;9784:18;;;;;;;;;;;;;;;:27;9803:7;9784:27;;;;;;;;;;;;;;;:36;;;;9852:7;9836:32;;9845:5;9836:32;;;9861:6;9836:32;;;;;;;;;;;;;;;;;;9541:335;;;:::o;10066:1877::-;10170:1;10154:18;;:4;:18;;;;10146:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10247:1;10233:16;;:2;:16;;;;10225:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10317:1;10308:6;:10;10300:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10404:7;:5;:7::i;:::-;10396:15;;:4;:15;;;;:32;;;;;10421:7;:5;:7::i;:::-;10415:13;;:2;:13;;;;10396:32;10392:1544;;;10445:21;10469:45;10510:3;10469:36;10486:18;;10469:12;;:16;;:36;;;;:::i;:::-;:40;;:45;;;;:::i;:::-;10445:69;;10561:13;10551:6;:23;;10543:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10658:13;;;;;;;;;;;10650:21;;:4;:21;;;10647:1210;;10701:9;:15;10711:4;10701:15;;;;;;;;;;;;;;;;;;;;;;;;;10700:16;:34;;;;;10721:9;:13;10731:2;10721:13;;;;;;;;;;;;;;;;;;;;;;;;;10720:14;10700:34;10692:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10819:1;10801:8;:14;10810:4;10801:14;;;;;;;;;;;;;;;;:19;:70;;;;10868:3;10824:41;10843:21;;10824:8;:14;10833:4;10824:14;;;;;;;;;;;;;;;;:18;;:41;;;;:::i;:::-;:47;10801:70;10793:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10956:15;;;;;;;;;;;10942:30;;:2;:30;;;;:53;;;;;10982:13;;;;;;;;;;;10976:19;;:2;:19;;;;10942:53;10939:194;;;11018:35;11033:4;11039:2;11043:6;11051:1;11018:14;:35::i;:::-;10939:194;;;11098:35;11113:4;11119:2;11123:6;11131:1;11098:14;:35::i;:::-;10939:194;10647:1210;;;11191:5;;;;;;;;;;;11187:52;;11235:4;11219:9;:13;11229:2;11219:13;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;11187:52;11301:13;11284;11294:2;11284:9;:13::i;:::-;:30;;11276:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11416:3;11401:8;:12;11410:2;11401:12;;;;;;;;;;;;;;;:18;;;;11438:35;11453:4;11459:2;11463:6;11471:1;11438:14;:35::i;:::-;11494:25;11522:44;11562:3;11522:35;11539:17;;11522:12;;:16;;:35;;;;:::i;:::-;:39;;:44;;;;:::i;:::-;11494:72;;11585:22;11610:13;11620:2;11610:9;:13::i;:::-;11585:38;;11642:18;11663:26;11682:6;11663:14;:18;;:26;;;;:::i;:::-;11642:47;;11728:17;11711:14;:34;:68;;;;;11762:17;11749:10;:30;11711:68;11708:134;;;11804:18;11815:6;11804:10;:18::i;:::-;11708:134;10647:1210;;;;10392:1544;;;;11889:35;11904:4;11910:2;11914:6;11922:1;11889:14;:35::i;:::-;10392:1544;10066:1877;;;:::o;1369:190::-;1455:7;1488:1;1483;:6;;1491:12;1475:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1515:9;1531:1;1527;:5;1515:17;;1550:1;1543:8;;;1369:190;;;;;:::o;1961:189::-;2047:7;2079:1;2075;:5;2082:12;2067:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2106:9;2122:1;2118;:5;;;;;;2106:17;;2141:1;2134:8;;;1961:189;;;;;:::o;1567:246::-;1625:7;1654:1;1649;:6;1645:47;;;1679:1;1672:8;;;;1645:47;1702:9;1718:1;1714;:5;1702:17;;1747:1;1742;1738;:5;;;;;;:10;1730:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1804:1;1797:8;;;1567:246;;;;;:::o;1038:179::-;1096:7;1116:9;1132:1;1128;:5;1116:17;;1157:1;1152;:6;;1144:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1208:1;1201:8;;;1038:179;;;;:::o;11955:871::-;12066:13;;;;;;;;;;;12060:19;;:2;:19;;;12057:198;;;12116:31;12140:6;12116:19;;:23;;:31;;;;:::i;:::-;12094:19;:53;;;;12057:198;;;12174:13;;;;;;;;;;;12166:21;;:4;:21;;;12163:92;;;12224:31;12248:6;12224:19;;:23;;:31;;;;:::i;:::-;12202:19;:53;;;;12163:92;12057:198;12276:18;12297:27;12320:3;12297:18;12308:6;12297;:10;;:18;;;;:::i;:::-;:22;;:27;;;;:::i;:::-;12276:48;;12335:22;12360;12371:10;12360:6;:10;;:22;;;;:::i;:::-;12335:47;;12403:21;12427:28;12438:16;;12427:6;:10;;:28;;;;:::i;:::-;12403:52;;12466:16;12485:36;12504:16;;12485:14;:18;;:36;;;;:::i;:::-;12466:55;;12563:37;12586:13;12563:12;:18;12576:4;12563:18;;;;;;;;;;;;;;;;:22;;:37;;;;:::i;:::-;12542:12;:18;12555:4;12542:18;;;;;;;;;;;;;;;:58;;;;12630:30;12651:8;12630:12;:16;12643:2;12630:16;;;;;;;;;;;;;;;;:20;;:30;;;;:::i;:::-;12611:12;:16;12624:2;12611:16;;;;;;;;;;;;;;;:49;;;;12701:2;12686:34;;12695:4;12686:34;;;12705:14;12686:34;;;;;;;;;;;;;;;;;;12757:1;12744:10;:14;12741:77;;;12801:3;12778:40;;12787:4;12778:40;;;12807:10;12778:40;;;;;;;;;;;;;;;;;;12741:77;11955:871;;;;;;;;:::o;9888:170::-;9960:32;9977:14;9989:1;9977:7;:11;;:14;;;;:::i;:::-;9960:12;;:16;;:32;;;;:::i;:::-;9945:12;:47;;;;10022:28;10037:12;;6813:14;6752:1;6743:11;6887:38;;;;;;6752:1;6743:11;6872:54;10022:14;;:28;;;;:::i;:::-;10003:16;:47;;;;9888:170;:::o;1225:136::-;1283:7;1310:43;1314:1;1317;1310:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1303:50;;1225:136;;;;:::o

Swarm Source

ipfs://8c308cd52b5ec53b601ba0234d16cb3734008f2a6a50ff34b00c43d9483e7608

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.