ETH Price: $3,376.21 (+3.47%)

Contract

0xd0938D873F4ba6694397360DA032bdC2B150b7B5
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer198591422024-05-13 5:55:47251 days ago1715579747IN
0xd0938D87...2B150b7B5
0 ETH0.000749884.12416307
Approve168775752023-03-21 17:45:23670 days ago1679420723IN
0xd0938D87...2B150b7B5
0 ETH0.0013222328.08060883
Approve168115882023-03-12 11:16:11679 days ago1678619771IN
0xd0938D87...2B150b7B5
0 ETH0.0008336817.72780938
Approve167901652023-03-09 10:49:59682 days ago1678358999IN
0xd0938D87...2B150b7B5
0 ETH0.0009818520.87848999
Approve167730642023-03-07 1:08:11684 days ago1678151291IN
0xd0938D87...2B150b7B5
0 ETH0.0028921761.50035608
Approve167637632023-03-05 17:45:23686 days ago1678038323IN
0xd0938D87...2B150b7B5
0 ETH0.0017226236.63053989
Approve167627332023-03-05 14:16:47686 days ago1678025807IN
0xd0938D87...2B150b7B5
0 ETH0.0010960623.3072287
Approve167544672023-03-04 10:24:35687 days ago1677925475IN
0xd0938D87...2B150b7B5
0 ETH0.0009598120.38390101
Approve167535502023-03-04 7:18:59687 days ago1677914339IN
0xd0938D87...2B150b7B5
0 ETH0.0010377122.06634958
Approve167527592023-03-04 4:37:47687 days ago1677904667IN
0xd0938D87...2B150b7B5
0 ETH0.0008870518.83860372
Approve167526472023-03-04 4:15:11687 days ago1677903311IN
0xd0938D87...2B150b7B5
0 ETH0.0009141419.41386649
Approve167526452023-03-04 4:14:47687 days ago1677903287IN
0xd0938D87...2B150b7B5
0 ETH0.000833117.71538263
Approve167523772023-03-04 3:20:59687 days ago1677900059IN
0xd0938D87...2B150b7B5
0 ETH0.0009728620.68736117
Approve167523252023-03-04 3:10:23687 days ago1677899423IN
0xd0938D87...2B150b7B5
0 ETH0.00108323
Approve167521802023-03-04 2:41:11687 days ago1677897671IN
0xd0938D87...2B150b7B5
0 ETH0.000835617.76861462
Approve167521582023-03-04 2:36:47687 days ago1677897407IN
0xd0938D87...2B150b7B5
0 ETH0.000871618.53422861
Approve167519632023-03-04 1:56:59687 days ago1677895019IN
0xd0938D87...2B150b7B5
0 ETH0.000967620.57550597
Approve167517732023-03-04 1:18:23687 days ago1677892703IN
0xd0938D87...2B150b7B5
0 ETH0.0009625120.46737459
Approve167514382023-03-04 0:10:23687 days ago1677888623IN
0xd0938D87...2B150b7B5
0 ETH0.0010579422.49655412
Approve167512152023-03-03 23:25:11687 days ago1677885911IN
0xd0938D87...2B150b7B5
0 ETH0.0010051721.37436803
Approve167510402023-03-03 22:49:35687 days ago1677883775IN
0xd0938D87...2B150b7B5
0 ETH0.0009363319.88516161
Approve167510332023-03-03 22:48:11687 days ago1677883691IN
0xd0938D87...2B150b7B5
0 ETH0.0009634820.46174233
Approve167510142023-03-03 22:44:23687 days ago1677883463IN
0xd0938D87...2B150b7B5
0 ETH0.0011340224.11431006
Approve167509012023-03-03 22:21:23687 days ago1677882083IN
0xd0938D87...2B150b7B5
0 ETH0.0010438422.19680108
Approve167508962023-03-03 22:20:11687 days ago1677882011IN
0xd0938D87...2B150b7B5
0 ETH0.0006597824.2684036
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
198591422024-05-13 5:55:47251 days ago1715579747
0xd0938D87...2B150b7B5
0 ETH
198591422024-05-13 5:55:47251 days ago1715579747
0xd0938D87...2B150b7B5
0 ETH
168376012023-03-16 2:59:59675 days ago1678935599
0xd0938D87...2B150b7B5
0.08443622 ETH
168376012023-03-16 2:59:59675 days ago1678935599
0xd0938D87...2B150b7B5
0.08443622 ETH
167525612023-03-04 3:57:59687 days ago1677902279
0xd0938D87...2B150b7B5
0.14789956 ETH
167525612023-03-04 3:57:59687 days ago1677902279
0xd0938D87...2B150b7B5
0.14789956 ETH
167517932023-03-04 1:22:23687 days ago1677892943
0xd0938D87...2B150b7B5
0.12964696 ETH
167517932023-03-04 1:22:23687 days ago1677892943
0xd0938D87...2B150b7B5
0.12964696 ETH
167508992023-03-03 22:20:47687 days ago1677882047
0xd0938D87...2B150b7B5
0.17249107 ETH
167508992023-03-03 22:20:47687 days ago1677882047
0xd0938D87...2B150b7B5
0.17249107 ETH
167508002023-03-03 22:00:11687 days ago1677880811
0xd0938D87...2B150b7B5
0.34223135 ETH
167508002023-03-03 22:00:11687 days ago1677880811
0xd0938D87...2B150b7B5
0.34223135 ETH
167506582023-03-03 21:31:35687 days ago1677879095
0xd0938D87...2B150b7B5
0.29861915 ETH
167506582023-03-03 21:31:35687 days ago1677879095
0xd0938D87...2B150b7B5
0.29861915 ETH
167505482023-03-03 21:08:59687 days ago1677877739
0xd0938D87...2B150b7B5
0.4826015 ETH
167505482023-03-03 21:08:59687 days ago1677877739
0xd0938D87...2B150b7B5
0.4826015 ETH
167505082023-03-03 21:00:59687 days ago1677877259
0xd0938D87...2B150b7B5
0.47715121 ETH
167505082023-03-03 21:00:59687 days ago1677877259
0xd0938D87...2B150b7B5
0.47715121 ETH
167504862023-03-03 20:56:35687 days ago1677876995
0xd0938D87...2B150b7B5
0.46576802 ETH
167504862023-03-03 20:56:35687 days ago1677876995
0xd0938D87...2B150b7B5
0.46576802 ETH
167504682023-03-03 20:52:47688 days ago1677876767
0xd0938D87...2B150b7B5
0.68748644 ETH
167504682023-03-03 20:52:47688 days ago1677876767
0xd0938D87...2B150b7B5
0.68748644 ETH
167504602023-03-03 20:50:59688 days ago1677876659
0xd0938D87...2B150b7B5
0.7338004 ETH
167504602023-03-03 20:50:59688 days ago1677876659
0xd0938D87...2B150b7B5
0.7338004 ETH
167504602023-03-03 20:50:59688 days ago1677876659
0xd0938D87...2B150b7B5
0.7338004 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
hAKITA

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-03-03
*/

// SPDX-License-Identifier: MIT

// https://www.h-akita.com/
// https://t.me/hakitaETH

pragma solidity ^0.8.19;
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;
    }
}

interface ERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    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);
}

abstract contract Ownable {
    address internal owner;
    constructor(address _owner) {
        owner = _owner;
    }
    modifier onlyOwner() {
        require(isOwner(msg.sender), "!OWNER"); _;
    }
    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }
    function renounceOwnership() public onlyOwner {
        owner = address(0);
        emit OwnershipTransferred(address(0));
    }  
    event OwnershipTransferred(address owner);
}

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

interface IDEXRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract hAKITA is ERC20, Ownable {
    using SafeMath for uint256;
    address routerAdress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address DEAD = 0x000000000000000000000000000000000000dEaD;

    string constant _name = "hAKITA";
    string constant _symbol = "hAKITA";
    uint8 constant _decimals = 9;
    uint256 _totalSupply = 1_000_000_000 * (10 ** _decimals);
    uint256 public _maxWalletAmount = 50_000_000 * (10 ** _decimals);

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

    mapping (address => bool) isFeeExempt;
    mapping (address => bool) isTxLimitExempt;

    uint256 marketingFee = 2;
    address public marketingFeeReceiver = msg.sender;

    IDEXRouter public router;
    address public pair;

    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply / 10000 * 50;
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    constructor () Ownable(msg.sender) {
        router = IDEXRouter(routerAdress);
        pair = IDEXFactory(router.factory()).createPair(router.WETH(), address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;
        address _owner = owner;
        isFeeExempt[_owner] = true;
        isTxLimitExempt[_owner] = true;
        _balances[_owner] = _totalSupply;
        emit Transfer(address(0), _owner, _totalSupply);
    }

    receive() external payable { }

    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override returns (address) { return owner; }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if(_allowances[sender][msg.sender] != type(uint256).max){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }
        
        if (recipient != pair && recipient != DEAD) {
            require(isTxLimitExempt[recipient] || _balances[recipient] + amount <= _maxWalletAmount, "Transfer amount exceeds the bag size.");
        }
        
        if(shouldSwapBack()){ swapBack(); } 

        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

        uint256 amountReceived = shouldTakeFee(sender) ? takeFee(sender, amount) : amount;
        _balances[recipient] = _balances[recipient].add(amountReceived);

        emit Transfer(sender, recipient, amountReceived);
        return true;
    }
    
    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function shouldTakeFee(address sender) internal view returns (bool) {
        return !isFeeExempt[sender];
    }

    function takeFee(address sender, uint256 amount) internal returns (uint256) {
        uint256 feeAmount = amount.mul(marketingFee).div(100);
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);
        return amount.sub(feeAmount);
    }

    function shouldSwapBack() internal view returns (bool) {
        return msg.sender != pair
        && !inSwap
        && swapEnabled
        && _balances[address(this)] >= swapThreshold;
    }

    function swapBack() internal swapping {
        uint256 contractTokenBalance = swapThreshold;
        uint256 amountToSwap = contractTokenBalance;

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();

          router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp
        );
	
	 uint256 amountETHMarketing = address(this).balance;

	(bool MarketingSuccess, /* bytes memory data */) = payable(marketingFeeReceiver).call{value: amountETHMarketing, gas: 30000}("");
        require(MarketingSuccess, "receiver rejected ETH transfer");
    }

    function buyTokens(uint256 amount, address to) internal swapping {
        address[] memory path = new address[](2);
        path[0] = router.WETH();
        path[1] = address(this);

        router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(
            0,
            path,
            to,
            block.timestamp
        );
    }
    function clearStuckBalance() external {
        payable(marketingFeeReceiver).transfer(address(this).balance);
    }
    event AutoLiquify(uint256 amountETH, uint256 amountBOG);
}

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":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","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":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","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":[],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","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"},{"stateMutability":"payable","type":"receive"}]

6080604052737a250d5630b4cf539739df2c5dacb4c659f2488d600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620000ac9190620007ee565b633b9aca00620000bd91906200083f565b6003556009600a620000d09190620007ee565b6302faf080620000e191906200083f565b600455600260095533600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600c60146101000a81548160ff0219169083151502179055506032612710600354620001599190620008b9565b6200016591906200083f565b600d553480156200017557600080fd5b5033806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000289573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002af91906200095b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000338573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200035e91906200095b565b306040518363ffffffff1660e01b81526004016200037e9291906200099e565b6020604051808303816000875af11580156200039e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003c491906200095b565b600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506001600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600354600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600354604051620006459190620009dc565b60405180910390a350620009f9565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620006e257808604811115620006ba57620006b962000654565b5b6001851615620006ca5780820291505b8081029050620006da8562000683565b94506200069a565b94509492505050565b600082620006fd5760019050620007d0565b816200070d5760009050620007d0565b8160018114620007265760028114620007315762000767565b6001915050620007d0565b60ff84111562000746576200074562000654565b5b8360020a91508482111562000760576200075f62000654565b5b50620007d0565b5060208310610133831016604e8410600b8410161715620007a15782820a9050838111156200079b576200079a62000654565b5b620007d0565b620007b0848484600162000690565b92509050818404811115620007ca57620007c962000654565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620007fb82620007d7565b91506200080883620007e1565b9250620008377fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620006eb565b905092915050565b60006200084c82620007d7565b91506200085983620007d7565b92508282026200086981620007d7565b9150828204841483151762000883576200088262000654565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620008c682620007d7565b9150620008d383620007d7565b925082620008e657620008e56200088a565b5b828204905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200092382620008f6565b9050919050565b620009358162000916565b81146200094157600080fd5b50565b60008151905062000955816200092a565b92915050565b600060208284031215620009745762000973620008f1565b5b6000620009848482850162000944565b91505092915050565b620009988162000916565b82525050565b6000604082019050620009b560008301856200098d565b620009c460208301846200098d565b9392505050565b620009d681620007d7565b82525050565b6000602082019050620009f36000830184620009cb565b92915050565b6122c28062000a096000396000f3fe6080604052600436106101235760003560e01c80636ddd1713116100a0578063a8aa1b3111610064578063a8aa1b31146103e6578063a9059cbb14610411578063dd62ed3e1461044e578063e96fada21461048b578063f887ea40146104b65761012a565b80636ddd17131461031157806370a082311461033c578063715018a614610379578063893d20e81461039057806395d89b41146103bb5761012a565b80632f54bf6e116100e75780632f54bf6e1461022a578063313ce56714610267578063364333f414610292578063571ac8b0146102a95780636c0a24eb146102e65761012a565b80630445b6671461012f57806306fdde031461015a578063095ea7b31461018557806318160ddd146101c257806323b872dd146101ed5761012a565b3661012a57005b600080fd5b34801561013b57600080fd5b506101446104e1565b6040516101519190611945565b60405180910390f35b34801561016657600080fd5b5061016f6104e7565b60405161017c91906119f0565b60405180910390f35b34801561019157600080fd5b506101ac60048036038101906101a79190611aa1565b610524565b6040516101b99190611afc565b60405180910390f35b3480156101ce57600080fd5b506101d7610616565b6040516101e49190611945565b60405180910390f35b3480156101f957600080fd5b50610214600480360381019061020f9190611b17565b610620565b6040516102219190611afc565b60405180910390f35b34801561023657600080fd5b50610251600480360381019061024c9190611b6a565b610820565b60405161025e9190611afc565b60405180910390f35b34801561027357600080fd5b5061027c610879565b6040516102899190611bb3565b60405180910390f35b34801561029e57600080fd5b506102a7610882565b005b3480156102b557600080fd5b506102d060048036038101906102cb9190611b6a565b6108ed565b6040516102dd9190611afc565b60405180910390f35b3480156102f257600080fd5b506102fb610920565b6040516103089190611945565b60405180910390f35b34801561031d57600080fd5b50610326610926565b6040516103339190611afc565b60405180910390f35b34801561034857600080fd5b50610363600480360381019061035e9190611b6a565b610939565b6040516103709190611945565b60405180910390f35b34801561038557600080fd5b5061038e610982565b005b34801561039c57600080fd5b506103a5610a45565b6040516103b29190611bdd565b60405180910390f35b3480156103c757600080fd5b506103d0610a6e565b6040516103dd91906119f0565b60405180910390f35b3480156103f257600080fd5b506103fb610aab565b6040516104089190611bdd565b60405180910390f35b34801561041d57600080fd5b5061043860048036038101906104339190611aa1565b610ad1565b6040516104459190611afc565b60405180910390f35b34801561045a57600080fd5b5061047560048036038101906104709190611bf8565b610ae6565b6040516104829190611945565b60405180910390f35b34801561049757600080fd5b506104a0610b6d565b6040516104ad9190611bdd565b60405180910390f35b3480156104c257600080fd5b506104cb610b93565b6040516104d89190611c97565b60405180910390f35b600d5481565b60606040518060400160405280600681526020017f68414b4954410000000000000000000000000000000000000000000000000000815250905090565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516106049190611945565b60405180910390a36001905092915050565b6000600354905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541461080c5761078b826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bb99092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610817848484610c1d565b90509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156108ea573d6000803e3d6000fd5b50565b6000610919827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610524565b9050919050565b60045481565b600c60149054906101000a900460ff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61098b33610820565b6109ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c190611cfe565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861636000604051610a3b9190611bdd565b60405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f68414b4954410000000000000000000000000000000000000000000000000000815250905090565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610ade338484610c1d565b905092915050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000838311158290610c01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf891906119f0565b60405180910390fd5b5060008385610c109190611d4d565b9050809150509392505050565b6000600e60009054906101000a900460ff1615610c4657610c3f848484610fe6565b9050610fdf565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610cf25750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610ddb57600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610d9b575060045482600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d989190611d81565b11155b610dda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd190611e27565b60405180910390fd5b5b610de36111b9565b15610df157610df0611290565b5b610e7a826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bb99092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000610ec8856115c3565b610ed25782610edd565b610edc858461161a565b5b9050610f3181600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461175d90919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610fd19190611945565b60405180910390a360019150505b9392505050565b6000611071826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bb99092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061110682600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461175d90919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516111a69190611945565b60405180910390a3600190509392505050565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156112265750600e60009054906101000a900460ff16155b801561123e5750600c60149054906101000a900460ff165b801561128b5750600d54600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001600e60006101000a81548160ff0219169083151502179055506000600d54905060008190506000600267ffffffffffffffff8111156112d4576112d3611e47565b5b6040519080825280602002602001820160405280156113025781602001602082028036833780820191505090505b509050308160008151811061131a57611319611e76565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113e59190611eba565b816001815181106113f9576113f8611e76565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611497959493929190611fe0565b600060405180830381600087803b1580156114b157600080fd5b505af11580156114c5573d6000803e3d6000fd5b5050505060004790506000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826175309060405161151a9061206b565b600060405180830381858888f193505050503d8060008114611558576040519150601f19603f3d011682016040523d82523d6000602084013e61155d565b606091505b50509050806115a1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611598906120cc565b60405180910390fd5b50505050506000600e60006101000a81548160ff021916908315150217905550565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b6000806116456064611637600954866117bb90919063ffffffff16565b61183590919063ffffffff16565b905061169981600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461175d90919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117399190611945565b60405180910390a3611754818461187f90919063ffffffff16565b91505092915050565b600080828461176c9190611d81565b9050838110156117b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a890612138565b60405180910390fd5b8091505092915050565b60008083036117cd576000905061182f565b600082846117db9190612158565b90508284826117ea91906121c9565b1461182a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118219061226c565b60405180910390fd5b809150505b92915050565b600061187783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506118c9565b905092915050565b60006118c183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610bb9565b905092915050565b60008083118290611910576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190791906119f0565b60405180910390fd5b506000838561191f91906121c9565b9050809150509392505050565b6000819050919050565b61193f8161192c565b82525050565b600060208201905061195a6000830184611936565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561199a57808201518184015260208101905061197f565b60008484015250505050565b6000601f19601f8301169050919050565b60006119c282611960565b6119cc818561196b565b93506119dc81856020860161197c565b6119e5816119a6565b840191505092915050565b60006020820190508181036000830152611a0a81846119b7565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611a4282611a17565b9050919050565b611a5281611a37565b8114611a5d57600080fd5b50565b600081359050611a6f81611a49565b92915050565b611a7e8161192c565b8114611a8957600080fd5b50565b600081359050611a9b81611a75565b92915050565b60008060408385031215611ab857611ab7611a12565b5b6000611ac685828601611a60565b9250506020611ad785828601611a8c565b9150509250929050565b60008115159050919050565b611af681611ae1565b82525050565b6000602082019050611b116000830184611aed565b92915050565b600080600060608486031215611b3057611b2f611a12565b5b6000611b3e86828701611a60565b9350506020611b4f86828701611a60565b9250506040611b6086828701611a8c565b9150509250925092565b600060208284031215611b8057611b7f611a12565b5b6000611b8e84828501611a60565b91505092915050565b600060ff82169050919050565b611bad81611b97565b82525050565b6000602082019050611bc86000830184611ba4565b92915050565b611bd781611a37565b82525050565b6000602082019050611bf26000830184611bce565b92915050565b60008060408385031215611c0f57611c0e611a12565b5b6000611c1d85828601611a60565b9250506020611c2e85828601611a60565b9150509250929050565b6000819050919050565b6000611c5d611c58611c5384611a17565b611c38565b611a17565b9050919050565b6000611c6f82611c42565b9050919050565b6000611c8182611c64565b9050919050565b611c9181611c76565b82525050565b6000602082019050611cac6000830184611c88565b92915050565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b6000611ce860068361196b565b9150611cf382611cb2565b602082019050919050565b60006020820190508181036000830152611d1781611cdb565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611d588261192c565b9150611d638361192c565b9250828203905081811115611d7b57611d7a611d1e565b5b92915050565b6000611d8c8261192c565b9150611d978361192c565b9250828201905080821115611daf57611dae611d1e565b5b92915050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b6000611e1160258361196b565b9150611e1c82611db5565b604082019050919050565b60006020820190508181036000830152611e4081611e04565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050611eb481611a49565b92915050565b600060208284031215611ed057611ecf611a12565b5b6000611ede84828501611ea5565b91505092915050565b6000819050919050565b6000611f0c611f07611f0284611ee7565b611c38565b61192c565b9050919050565b611f1c81611ef1565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b611f5781611a37565b82525050565b6000611f698383611f4e565b60208301905092915050565b6000602082019050919050565b6000611f8d82611f22565b611f978185611f2d565b9350611fa283611f3e565b8060005b83811015611fd3578151611fba8882611f5d565b9750611fc583611f75565b925050600181019050611fa6565b5085935050505092915050565b600060a082019050611ff56000830188611936565b6120026020830187611f13565b81810360408301526120148186611f82565b90506120236060830185611bce565b6120306080830184611936565b9695505050505050565b600081905092915050565b50565b600061205560008361203a565b915061206082612045565b600082019050919050565b600061207682612048565b9150819050919050565b7f72656365697665722072656a656374656420455448207472616e736665720000600082015250565b60006120b6601e8361196b565b91506120c182612080565b602082019050919050565b600060208201905081810360008301526120e5816120a9565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612122601b8361196b565b915061212d826120ec565b602082019050919050565b6000602082019050818103600083015261215181612115565b9050919050565b60006121638261192c565b915061216e8361192c565b925082820261217c8161192c565b9150828204841483151761219357612192611d1e565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006121d48261192c565b91506121df8361192c565b9250826121ef576121ee61219a565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061225660218361196b565b9150612261826121fa565b604082019050919050565b6000602082019050818103600083015261228581612249565b905091905056fea26469706673582212208f8e7cd50b78318deb256e001b86d09a2f7518a0a891dedcd1dbb7cfcbd079ba64736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101235760003560e01c80636ddd1713116100a0578063a8aa1b3111610064578063a8aa1b31146103e6578063a9059cbb14610411578063dd62ed3e1461044e578063e96fada21461048b578063f887ea40146104b65761012a565b80636ddd17131461031157806370a082311461033c578063715018a614610379578063893d20e81461039057806395d89b41146103bb5761012a565b80632f54bf6e116100e75780632f54bf6e1461022a578063313ce56714610267578063364333f414610292578063571ac8b0146102a95780636c0a24eb146102e65761012a565b80630445b6671461012f57806306fdde031461015a578063095ea7b31461018557806318160ddd146101c257806323b872dd146101ed5761012a565b3661012a57005b600080fd5b34801561013b57600080fd5b506101446104e1565b6040516101519190611945565b60405180910390f35b34801561016657600080fd5b5061016f6104e7565b60405161017c91906119f0565b60405180910390f35b34801561019157600080fd5b506101ac60048036038101906101a79190611aa1565b610524565b6040516101b99190611afc565b60405180910390f35b3480156101ce57600080fd5b506101d7610616565b6040516101e49190611945565b60405180910390f35b3480156101f957600080fd5b50610214600480360381019061020f9190611b17565b610620565b6040516102219190611afc565b60405180910390f35b34801561023657600080fd5b50610251600480360381019061024c9190611b6a565b610820565b60405161025e9190611afc565b60405180910390f35b34801561027357600080fd5b5061027c610879565b6040516102899190611bb3565b60405180910390f35b34801561029e57600080fd5b506102a7610882565b005b3480156102b557600080fd5b506102d060048036038101906102cb9190611b6a565b6108ed565b6040516102dd9190611afc565b60405180910390f35b3480156102f257600080fd5b506102fb610920565b6040516103089190611945565b60405180910390f35b34801561031d57600080fd5b50610326610926565b6040516103339190611afc565b60405180910390f35b34801561034857600080fd5b50610363600480360381019061035e9190611b6a565b610939565b6040516103709190611945565b60405180910390f35b34801561038557600080fd5b5061038e610982565b005b34801561039c57600080fd5b506103a5610a45565b6040516103b29190611bdd565b60405180910390f35b3480156103c757600080fd5b506103d0610a6e565b6040516103dd91906119f0565b60405180910390f35b3480156103f257600080fd5b506103fb610aab565b6040516104089190611bdd565b60405180910390f35b34801561041d57600080fd5b5061043860048036038101906104339190611aa1565b610ad1565b6040516104459190611afc565b60405180910390f35b34801561045a57600080fd5b5061047560048036038101906104709190611bf8565b610ae6565b6040516104829190611945565b60405180910390f35b34801561049757600080fd5b506104a0610b6d565b6040516104ad9190611bdd565b60405180910390f35b3480156104c257600080fd5b506104cb610b93565b6040516104d89190611c97565b60405180910390f35b600d5481565b60606040518060400160405280600681526020017f68414b4954410000000000000000000000000000000000000000000000000000815250905090565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516106049190611945565b60405180910390a36001905092915050565b6000600354905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541461080c5761078b826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bb99092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610817848484610c1d565b90509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156108ea573d6000803e3d6000fd5b50565b6000610919827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610524565b9050919050565b60045481565b600c60149054906101000a900460ff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61098b33610820565b6109ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c190611cfe565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861636000604051610a3b9190611bdd565b60405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f68414b4954410000000000000000000000000000000000000000000000000000815250905090565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610ade338484610c1d565b905092915050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000838311158290610c01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf891906119f0565b60405180910390fd5b5060008385610c109190611d4d565b9050809150509392505050565b6000600e60009054906101000a900460ff1615610c4657610c3f848484610fe6565b9050610fdf565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610cf25750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610ddb57600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610d9b575060045482600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d989190611d81565b11155b610dda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd190611e27565b60405180910390fd5b5b610de36111b9565b15610df157610df0611290565b5b610e7a826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bb99092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000610ec8856115c3565b610ed25782610edd565b610edc858461161a565b5b9050610f3181600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461175d90919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610fd19190611945565b60405180910390a360019150505b9392505050565b6000611071826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bb99092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061110682600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461175d90919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516111a69190611945565b60405180910390a3600190509392505050565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156112265750600e60009054906101000a900460ff16155b801561123e5750600c60149054906101000a900460ff165b801561128b5750600d54600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001600e60006101000a81548160ff0219169083151502179055506000600d54905060008190506000600267ffffffffffffffff8111156112d4576112d3611e47565b5b6040519080825280602002602001820160405280156113025781602001602082028036833780820191505090505b509050308160008151811061131a57611319611e76565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113e59190611eba565b816001815181106113f9576113f8611e76565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611497959493929190611fe0565b600060405180830381600087803b1580156114b157600080fd5b505af11580156114c5573d6000803e3d6000fd5b5050505060004790506000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826175309060405161151a9061206b565b600060405180830381858888f193505050503d8060008114611558576040519150601f19603f3d011682016040523d82523d6000602084013e61155d565b606091505b50509050806115a1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611598906120cc565b60405180910390fd5b50505050506000600e60006101000a81548160ff021916908315150217905550565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b6000806116456064611637600954866117bb90919063ffffffff16565b61183590919063ffffffff16565b905061169981600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461175d90919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117399190611945565b60405180910390a3611754818461187f90919063ffffffff16565b91505092915050565b600080828461176c9190611d81565b9050838110156117b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a890612138565b60405180910390fd5b8091505092915050565b60008083036117cd576000905061182f565b600082846117db9190612158565b90508284826117ea91906121c9565b1461182a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118219061226c565b60405180910390fd5b809150505b92915050565b600061187783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506118c9565b905092915050565b60006118c183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610bb9565b905092915050565b60008083118290611910576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190791906119f0565b60405180910390fd5b506000838561191f91906121c9565b9050809150509392505050565b6000819050919050565b61193f8161192c565b82525050565b600060208201905061195a6000830184611936565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561199a57808201518184015260208101905061197f565b60008484015250505050565b6000601f19601f8301169050919050565b60006119c282611960565b6119cc818561196b565b93506119dc81856020860161197c565b6119e5816119a6565b840191505092915050565b60006020820190508181036000830152611a0a81846119b7565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611a4282611a17565b9050919050565b611a5281611a37565b8114611a5d57600080fd5b50565b600081359050611a6f81611a49565b92915050565b611a7e8161192c565b8114611a8957600080fd5b50565b600081359050611a9b81611a75565b92915050565b60008060408385031215611ab857611ab7611a12565b5b6000611ac685828601611a60565b9250506020611ad785828601611a8c565b9150509250929050565b60008115159050919050565b611af681611ae1565b82525050565b6000602082019050611b116000830184611aed565b92915050565b600080600060608486031215611b3057611b2f611a12565b5b6000611b3e86828701611a60565b9350506020611b4f86828701611a60565b9250506040611b6086828701611a8c565b9150509250925092565b600060208284031215611b8057611b7f611a12565b5b6000611b8e84828501611a60565b91505092915050565b600060ff82169050919050565b611bad81611b97565b82525050565b6000602082019050611bc86000830184611ba4565b92915050565b611bd781611a37565b82525050565b6000602082019050611bf26000830184611bce565b92915050565b60008060408385031215611c0f57611c0e611a12565b5b6000611c1d85828601611a60565b9250506020611c2e85828601611a60565b9150509250929050565b6000819050919050565b6000611c5d611c58611c5384611a17565b611c38565b611a17565b9050919050565b6000611c6f82611c42565b9050919050565b6000611c8182611c64565b9050919050565b611c9181611c76565b82525050565b6000602082019050611cac6000830184611c88565b92915050565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b6000611ce860068361196b565b9150611cf382611cb2565b602082019050919050565b60006020820190508181036000830152611d1781611cdb565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611d588261192c565b9150611d638361192c565b9250828203905081811115611d7b57611d7a611d1e565b5b92915050565b6000611d8c8261192c565b9150611d978361192c565b9250828201905080821115611daf57611dae611d1e565b5b92915050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b6000611e1160258361196b565b9150611e1c82611db5565b604082019050919050565b60006020820190508181036000830152611e4081611e04565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050611eb481611a49565b92915050565b600060208284031215611ed057611ecf611a12565b5b6000611ede84828501611ea5565b91505092915050565b6000819050919050565b6000611f0c611f07611f0284611ee7565b611c38565b61192c565b9050919050565b611f1c81611ef1565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b611f5781611a37565b82525050565b6000611f698383611f4e565b60208301905092915050565b6000602082019050919050565b6000611f8d82611f22565b611f978185611f2d565b9350611fa283611f3e565b8060005b83811015611fd3578151611fba8882611f5d565b9750611fc583611f75565b925050600181019050611fa6565b5085935050505092915050565b600060a082019050611ff56000830188611936565b6120026020830187611f13565b81810360408301526120148186611f82565b90506120236060830185611bce565b6120306080830184611936565b9695505050505050565b600081905092915050565b50565b600061205560008361203a565b915061206082612045565b600082019050919050565b600061207682612048565b9150819050919050565b7f72656365697665722072656a656374656420455448207472616e736665720000600082015250565b60006120b6601e8361196b565b91506120c182612080565b602082019050919050565b600060208201905081810360008301526120e5816120a9565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612122601b8361196b565b915061212d826120ec565b602082019050919050565b6000602082019050818103600083015261215181612115565b9050919050565b60006121638261192c565b915061216e8361192c565b925082820261217c8161192c565b9150828204841483151761219357612192611d1e565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006121d48261192c565b91506121df8361192c565b9250826121ef576121ee61219a565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061225660218361196b565b9150612261826121fa565b604082019050919050565b6000602082019050818103600083015261228581612249565b905091905056fea26469706673582212208f8e7cd50b78318deb256e001b86d09a2f7518a0a891dedcd1dbb7cfcbd079ba64736f6c63430008130033

Deployed Bytecode Sourcemap

4143:6204:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4999:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5922:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6344:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5652:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6862:370;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2381:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5746:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10164:118;;;;;;;;;;;;;:::i;:::-;;6568:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4533:64;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4962:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6092:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2490:131;;;;;;;;;;;;;:::i;:::-;;6008:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5832:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4934:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6698:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6203:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4846:48;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4903:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4999:56;;;;:::o;5922:80::-;5970:13;5994:5;;;;;;;;;;;;;;;;;5987:12;;5922:80;:::o;6344:216::-;6419:4;6471:6;6436:11;:23;6448:10;6436:23;;;;;;;;;;;;;;;:32;6460:7;6436:32;;;;;;;;;;;;;;;:41;;;;6514:7;6493:37;;6502:10;6493:37;;;6523:6;6493:37;;;;;;:::i;:::-;;;;;;;;6548:4;6541:11;;6344:216;;;;:::o;5652:88::-;5707:7;5725:12;;5718:19;;5652:88;:::o;6862:370::-;6962:4;7017:17;6982:11;:19;6994:6;6982:19;;;;;;;;;;;;;;;:31;7002:10;6982:31;;;;;;;;;;;;;;;;:52;6979:186;;7084:69;7120:6;7084:69;;;;;;;;;;;;;;;;;:11;:19;7096:6;7084:19;;;;;;;;;;;;;;;:31;7104:10;7084:31;;;;;;;;;;;;;;;;:35;;:69;;;;;:::i;:::-;7050:11;:19;7062:6;7050:19;;;;;;;;;;;;;;;:31;7070:10;7050:31;;;;;;;;;;;;;;;:103;;;;6979:186;7184:40;7198:6;7206:9;7217:6;7184:13;:40::i;:::-;7177:47;;6862:370;;;;;:::o;2381:103::-;2436:4;2471:5;;;;;;;;;;;2460:16;;:7;:16;;;2453:23;;2381:103;;;:::o;5746:80::-;5798:5;4462:1;5807:16;;5746:80;:::o;10164:118::-;10221:20;;;;;;;;;;;10213:38;;:61;10252:21;10213:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10164:118::o;6568:122::-;6623:4;6647:35;6655:7;6664:17;6647:7;:35::i;:::-;6640:42;;6568:122;;;:::o;4533:64::-;;;;:::o;4962:30::-;;;;;;;;;;;;;:::o;6092:105::-;6158:7;6176:9;:18;6186:7;6176:18;;;;;;;;;;;;;;;;6169:25;;6092:105;;;:::o;2490:131::-;2334:19;2342:10;2334:7;:19::i;:::-;2326:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;2563:1:::1;2547:5:::0;::::1;:18;;;;;;;;;;;;;;;;;;2581:32;2610:1;2581:32;;;;;;:::i;:::-;;;;;;;;2490:131::o:0;6008:78::-;6060:7;6078:5;;;;;;;;;;;6071:12;;6008:78;:::o;5832:84::-;5882:13;5906:7;;;;;;;;;;;;;;;;;5899:14;;5832:84;:::o;4934:19::-;;;;;;;;;;;;;:::o;6698:156::-;6778:4;6802:44;6816:10;6828:9;6839:6;6802:13;:44::i;:::-;6795:51;;6698:156;;;;:::o;6203:133::-;6287:7;6305:11;:19;6317:6;6305:19;;;;;;;;;;;;;;;:28;6325:7;6305:28;;;;;;;;;;;;;;;;6298:35;;6203:133;;;;:::o;4846:48::-;;;;;;;;;;;;;:::o;4903:24::-;;;;;;;;;;;;;:::o;470:190::-;556:7;589:1;584;:6;;592:12;576:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;616:9;632:1;628;:5;;;;:::i;:::-;616:17;;651:1;644:8;;;470:190;;;;;:::o;7240:792::-;7332:4;7352:6;;;;;;;;;;;7349:63;;;7368:41;7383:6;7391:9;7402:6;7368:14;:41::i;:::-;7361:48;;;;7349:63;7449:4;;;;;;;;;;;7436:17;;:9;:17;;;;:38;;;;;7470:4;;;;;;;;;;;7457:17;;:9;:17;;;;7436:38;7432:200;;;7499:15;:26;7515:9;7499:26;;;;;;;;;;;;;;;;;;;;;;;;;:79;;;;7562:16;;7552:6;7529:9;:20;7539:9;7529:20;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;:49;;7499:79;7491:129;;;;;;;;;;;;:::i;:::-;;;;;;;;;7432:200;7655:16;:14;:16::i;:::-;7652:35;;;7674:10;:8;:10::i;:::-;7652:35;7720:53;7742:6;7720:53;;;;;;;;;;;;;;;;;:9;:17;7730:6;7720:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;7700:9;:17;7710:6;7700:17;;;;;;;;;;;;;;;:73;;;;7786:22;7811:21;7825:6;7811:13;:21::i;:::-;:56;;7861:6;7811:56;;;7835:23;7843:6;7851;7835:7;:23::i;:::-;7811:56;7786:81;;7901:40;7926:14;7901:9;:20;7911:9;7901:20;;;;;;;;;;;;;;;;:24;;:40;;;;:::i;:::-;7878:9;:20;7888:9;7878:20;;;;;;;;;;;;;;;:63;;;;7976:9;7959:43;;7968:6;7959:43;;;7987:14;7959:43;;;;;;:::i;:::-;;;;;;;;8020:4;8013:11;;;7240:792;;;;;;:::o;8044:330::-;8137:4;8174:53;8196:6;8174:53;;;;;;;;;;;;;;;;;:9;:17;8184:6;8174:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;8154:9;:17;8164:6;8154:17;;;;;;;;;;;;;;;:73;;;;8261:32;8286:6;8261:9;:20;8271:9;8261:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;8238:9;:20;8248:9;8238:20;;;;;;;;;;;;;;;:55;;;;8326:9;8309:35;;8318:6;8309:35;;;8337:6;8309:35;;;;;;:::i;:::-;;;;;;;;8362:4;8355:11;;8044:330;;;;;:::o;8834:197::-;8883:4;8921;;;;;;;;;;;8907:18;;:10;:18;;;;:38;;;;;8939:6;;;;;;;;;;;8938:7;8907:38;:62;;;;;8958:11;;;;;;;;;;;8907:62;:116;;;;;9010:13;;8982:9;:24;9000:4;8982:24;;;;;;;;;;;;;;;;:41;;8907:116;8900:123;;8834:197;:::o;9039:741::-;5111:4;5102:6;;:13;;;;;;;;;;;;;;;;;;9088:28:::1;9119:13;;9088:44;;9143:20;9166;9143:43;;9199:21;9237:1;9223:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9199:40;;9268:4;9250;9255:1;9250:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9294:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9284:4;9289:1;9284:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9322:6;;;;;;;;;;;:57;;;9394:12;9421:1;9437:4;9464;9484:15;9322:188;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9518:26;9547:21;9518:50;;9575:21;9633:20;;;;;;;;;;;9625:34;;9667:18;9692:5;9625:77;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9574:128;;;9721:16;9713:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;9077:703;;;;;5129:5:::0;5120:6;;:14;;;;;;;;;;;;;;;;;;9039:741::o;8382:114::-;8444:4;8469:11;:19;8481:6;8469:19;;;;;;;;;;;;;;;;;;;;;;;;;8468:20;8461:27;;8382:114;;;:::o;8504:322::-;8571:7;8591:17;8611:33;8640:3;8611:24;8622:12;;8611:6;:10;;:24;;;;:::i;:::-;:28;;:33;;;;:::i;:::-;8591:53;;8682:39;8711:9;8682;:24;8700:4;8682:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;8655:9;:24;8673:4;8655:24;;;;;;;;;;;;;;;:66;;;;8762:4;8737:42;;8746:6;8737:42;;;8769:9;8737:42;;;;;;:::i;:::-;;;;;;;;8797:21;8808:9;8797:6;:10;;:21;;;;:::i;:::-;8790:28;;;8504:322;;;;:::o;143:179::-;201:7;221:9;237:1;233;:5;;;;:::i;:::-;221:17;;262:1;257;:6;;249:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;313:1;306:8;;;143:179;;;;:::o;666:246::-;724:7;753:1;748;:6;744:47;;778:1;771:8;;;;744:47;801:9;817:1;813;:5;;;;:::i;:::-;801:17;;846:1;841;837;:5;;;;:::i;:::-;:10;829:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;903:1;896:8;;;666:246;;;;;:::o;918:132::-;976:7;1003:39;1007:1;1010;1003:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;996:46;;918:132;;;;:::o;328:136::-;386:7;413:43;417:1;420;413:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;406:50;;328:136;;;;:::o;1056:189::-;1142:7;1174:1;1170;:5;1177:12;1162:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1201:9;1217:1;1213;:5;;;;:::i;:::-;1201:17;;1236:1;1229:8;;;1056:189;;;;;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:99::-;494:6;528:5;522:12;512:22;;442:99;;;:::o;547:169::-;631:11;665:6;660:3;653:19;705:4;700:3;696:14;681:29;;547:169;;;;:::o;722:246::-;803:1;813:113;827:6;824:1;821:13;813:113;;;912:1;907:3;903:11;897:18;893:1;888:3;884:11;877:39;849:2;846:1;842:10;837:15;;813:113;;;960:1;951:6;946:3;942:16;935:27;784:184;722:246;;;:::o;974:102::-;1015:6;1066:2;1062:7;1057:2;1050:5;1046:14;1042:28;1032:38;;974:102;;;:::o;1082:377::-;1170:3;1198:39;1231:5;1198:39;:::i;:::-;1253:71;1317:6;1312:3;1253:71;:::i;:::-;1246:78;;1333:65;1391:6;1386:3;1379:4;1372:5;1368:16;1333:65;:::i;:::-;1423:29;1445:6;1423:29;:::i;:::-;1418:3;1414:39;1407:46;;1174:285;1082:377;;;;:::o;1465:313::-;1578:4;1616:2;1605:9;1601:18;1593:26;;1665:9;1659:4;1655:20;1651:1;1640:9;1636:17;1629:47;1693:78;1766:4;1757:6;1693:78;:::i;:::-;1685:86;;1465:313;;;;:::o;1865:117::-;1974:1;1971;1964:12;2111:126;2148:7;2188:42;2181:5;2177:54;2166:65;;2111:126;;;:::o;2243:96::-;2280:7;2309:24;2327:5;2309:24;:::i;:::-;2298:35;;2243:96;;;:::o;2345:122::-;2418:24;2436:5;2418:24;:::i;:::-;2411:5;2408:35;2398:63;;2457:1;2454;2447:12;2398:63;2345:122;:::o;2473:139::-;2519:5;2557:6;2544:20;2535:29;;2573:33;2600:5;2573:33;:::i;:::-;2473:139;;;;:::o;2618:122::-;2691:24;2709:5;2691:24;:::i;:::-;2684:5;2681:35;2671:63;;2730:1;2727;2720:12;2671:63;2618:122;:::o;2746:139::-;2792:5;2830:6;2817:20;2808:29;;2846:33;2873:5;2846:33;:::i;:::-;2746:139;;;;:::o;2891:474::-;2959:6;2967;3016:2;3004:9;2995:7;2991:23;2987:32;2984:119;;;3022:79;;:::i;:::-;2984:119;3142:1;3167:53;3212:7;3203:6;3192:9;3188:22;3167:53;:::i;:::-;3157:63;;3113:117;3269:2;3295:53;3340:7;3331:6;3320:9;3316:22;3295:53;:::i;:::-;3285:63;;3240:118;2891:474;;;;;:::o;3371:90::-;3405:7;3448:5;3441:13;3434:21;3423:32;;3371:90;;;:::o;3467:109::-;3548:21;3563:5;3548:21;:::i;:::-;3543:3;3536:34;3467:109;;:::o;3582:210::-;3669:4;3707:2;3696:9;3692:18;3684:26;;3720:65;3782:1;3771:9;3767:17;3758:6;3720:65;:::i;:::-;3582:210;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:329::-;4482:6;4531:2;4519:9;4510:7;4506:23;4502:32;4499:119;;;4537:79;;:::i;:::-;4499:119;4657:1;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4628:117;4423:329;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:474::-;5608:6;5616;5665:2;5653:9;5644:7;5640:23;5636:32;5633:119;;;5671:79;;:::i;:::-;5633:119;5791:1;5816:53;5861:7;5852:6;5841:9;5837:22;5816:53;:::i;:::-;5806:63;;5762:117;5918:2;5944:53;5989:7;5980:6;5969:9;5965:22;5944:53;:::i;:::-;5934:63;;5889:118;5540:474;;;;;:::o;6020:60::-;6048:3;6069:5;6062:12;;6020:60;;;:::o;6086:142::-;6136:9;6169:53;6187:34;6196:24;6214:5;6196:24;:::i;:::-;6187:34;:::i;:::-;6169:53;:::i;:::-;6156:66;;6086:142;;;:::o;6234:126::-;6284:9;6317:37;6348:5;6317:37;:::i;:::-;6304:50;;6234:126;;;:::o;6366:144::-;6434:9;6467:37;6498:5;6467:37;:::i;:::-;6454:50;;6366:144;;;:::o;6516:167::-;6621:55;6670:5;6621:55;:::i;:::-;6616:3;6609:68;6516:167;;:::o;6689:258::-;6800:4;6838:2;6827:9;6823:18;6815:26;;6851:89;6937:1;6926:9;6922:17;6913:6;6851:89;:::i;:::-;6689:258;;;;:::o;6953:156::-;7093:8;7089:1;7081:6;7077:14;7070:32;6953:156;:::o;7115:365::-;7257:3;7278:66;7342:1;7337:3;7278:66;:::i;:::-;7271:73;;7353:93;7442:3;7353:93;:::i;:::-;7471:2;7466:3;7462:12;7455:19;;7115:365;;;:::o;7486:419::-;7652:4;7690:2;7679:9;7675:18;7667:26;;7739:9;7733:4;7729:20;7725:1;7714:9;7710:17;7703:47;7767:131;7893:4;7767:131;:::i;:::-;7759:139;;7486:419;;;:::o;7911:180::-;7959:77;7956:1;7949:88;8056:4;8053:1;8046:15;8080:4;8077:1;8070:15;8097:194;8137:4;8157:20;8175:1;8157:20;:::i;:::-;8152:25;;8191:20;8209:1;8191:20;:::i;:::-;8186:25;;8235:1;8232;8228:9;8220:17;;8259:1;8253:4;8250:11;8247:37;;;8264:18;;:::i;:::-;8247:37;8097:194;;;;:::o;8297:191::-;8337:3;8356:20;8374:1;8356:20;:::i;:::-;8351:25;;8390:20;8408:1;8390:20;:::i;:::-;8385:25;;8433:1;8430;8426:9;8419:16;;8454:3;8451:1;8448:10;8445:36;;;8461:18;;:::i;:::-;8445:36;8297:191;;;;:::o;8494:224::-;8634:34;8630:1;8622:6;8618:14;8611:58;8703:7;8698:2;8690:6;8686:15;8679:32;8494:224;:::o;8724:366::-;8866:3;8887:67;8951:2;8946:3;8887:67;:::i;:::-;8880:74;;8963:93;9052:3;8963:93;:::i;:::-;9081:2;9076:3;9072:12;9065:19;;8724:366;;;:::o;9096:419::-;9262:4;9300:2;9289:9;9285:18;9277:26;;9349:9;9343:4;9339:20;9335:1;9324:9;9320:17;9313:47;9377:131;9503:4;9377:131;:::i;:::-;9369:139;;9096:419;;;:::o;9521:180::-;9569:77;9566:1;9559:88;9666:4;9663:1;9656:15;9690:4;9687:1;9680:15;9707:180;9755:77;9752:1;9745:88;9852:4;9849:1;9842:15;9876:4;9873:1;9866:15;9893:143;9950:5;9981:6;9975:13;9966:22;;9997:33;10024:5;9997:33;:::i;:::-;9893:143;;;;:::o;10042:351::-;10112:6;10161:2;10149:9;10140:7;10136:23;10132:32;10129:119;;;10167:79;;:::i;:::-;10129:119;10287:1;10312:64;10368:7;10359:6;10348:9;10344:22;10312:64;:::i;:::-;10302:74;;10258:128;10042:351;;;;:::o;10399:85::-;10444:7;10473:5;10462:16;;10399:85;;;:::o;10490:158::-;10548:9;10581:61;10599:42;10608:32;10634:5;10608:32;:::i;:::-;10599:42;:::i;:::-;10581:61;:::i;:::-;10568:74;;10490:158;;;:::o;10654:147::-;10749:45;10788:5;10749:45;:::i;:::-;10744:3;10737:58;10654:147;;:::o;10807:114::-;10874:6;10908:5;10902:12;10892:22;;10807:114;;;:::o;10927:184::-;11026:11;11060:6;11055:3;11048:19;11100:4;11095:3;11091:14;11076:29;;10927:184;;;;:::o;11117:132::-;11184:4;11207:3;11199:11;;11237:4;11232:3;11228:14;11220:22;;11117:132;;;:::o;11255:108::-;11332:24;11350:5;11332:24;:::i;:::-;11327:3;11320:37;11255:108;;:::o;11369:179::-;11438:10;11459:46;11501:3;11493:6;11459:46;:::i;:::-;11537:4;11532:3;11528:14;11514:28;;11369:179;;;;:::o;11554:113::-;11624:4;11656;11651:3;11647:14;11639:22;;11554:113;;;:::o;11703:732::-;11822:3;11851:54;11899:5;11851:54;:::i;:::-;11921:86;12000:6;11995:3;11921:86;:::i;:::-;11914:93;;12031:56;12081:5;12031:56;:::i;:::-;12110:7;12141:1;12126:284;12151:6;12148:1;12145:13;12126:284;;;12227:6;12221:13;12254:63;12313:3;12298:13;12254:63;:::i;:::-;12247:70;;12340:60;12393:6;12340:60;:::i;:::-;12330:70;;12186:224;12173:1;12170;12166:9;12161:14;;12126:284;;;12130:14;12426:3;12419:10;;11827:608;;;11703:732;;;;:::o;12441:831::-;12704:4;12742:3;12731:9;12727:19;12719:27;;12756:71;12824:1;12813:9;12809:17;12800:6;12756:71;:::i;:::-;12837:80;12913:2;12902:9;12898:18;12889:6;12837:80;:::i;:::-;12964:9;12958:4;12954:20;12949:2;12938:9;12934:18;12927:48;12992:108;13095:4;13086:6;12992:108;:::i;:::-;12984:116;;13110:72;13178:2;13167:9;13163:18;13154:6;13110:72;:::i;:::-;13192:73;13260:3;13249:9;13245:19;13236:6;13192:73;:::i;:::-;12441:831;;;;;;;;:::o;13278:147::-;13379:11;13416:3;13401:18;;13278:147;;;;:::o;13431:114::-;;:::o;13551:398::-;13710:3;13731:83;13812:1;13807:3;13731:83;:::i;:::-;13724:90;;13823:93;13912:3;13823:93;:::i;:::-;13941:1;13936:3;13932:11;13925:18;;13551:398;;;:::o;13955:379::-;14139:3;14161:147;14304:3;14161:147;:::i;:::-;14154:154;;14325:3;14318:10;;13955:379;;;:::o;14340:180::-;14480:32;14476:1;14468:6;14464:14;14457:56;14340:180;:::o;14526:366::-;14668:3;14689:67;14753:2;14748:3;14689:67;:::i;:::-;14682:74;;14765:93;14854:3;14765:93;:::i;:::-;14883:2;14878:3;14874:12;14867:19;;14526:366;;;:::o;14898:419::-;15064:4;15102:2;15091:9;15087:18;15079:26;;15151:9;15145:4;15141:20;15137:1;15126:9;15122:17;15115:47;15179:131;15305:4;15179:131;:::i;:::-;15171:139;;14898:419;;;:::o;15323:177::-;15463:29;15459:1;15451:6;15447:14;15440:53;15323:177;:::o;15506:366::-;15648:3;15669:67;15733:2;15728:3;15669:67;:::i;:::-;15662:74;;15745:93;15834:3;15745:93;:::i;:::-;15863:2;15858:3;15854:12;15847:19;;15506:366;;;:::o;15878:419::-;16044:4;16082:2;16071:9;16067:18;16059:26;;16131:9;16125:4;16121:20;16117:1;16106:9;16102:17;16095:47;16159:131;16285:4;16159:131;:::i;:::-;16151:139;;15878:419;;;:::o;16303:410::-;16343:7;16366:20;16384:1;16366:20;:::i;:::-;16361:25;;16400:20;16418:1;16400:20;:::i;:::-;16395:25;;16455:1;16452;16448:9;16477:30;16495:11;16477:30;:::i;:::-;16466:41;;16656:1;16647:7;16643:15;16640:1;16637:22;16617:1;16610:9;16590:83;16567:139;;16686:18;;:::i;:::-;16567:139;16351:362;16303:410;;;;:::o;16719:180::-;16767:77;16764:1;16757:88;16864:4;16861:1;16854:15;16888:4;16885:1;16878:15;16905:185;16945:1;16962:20;16980:1;16962:20;:::i;:::-;16957:25;;16996:20;17014:1;16996:20;:::i;:::-;16991:25;;17035:1;17025:35;;17040:18;;:::i;:::-;17025:35;17082:1;17079;17075:9;17070:14;;16905:185;;;;:::o;17096:220::-;17236:34;17232:1;17224:6;17220:14;17213:58;17305:3;17300:2;17292:6;17288:15;17281:28;17096:220;:::o;17322:366::-;17464:3;17485:67;17549:2;17544:3;17485:67;:::i;:::-;17478:74;;17561:93;17650:3;17561:93;:::i;:::-;17679:2;17674:3;17670:12;17663:19;;17322:366;;;:::o;17694:419::-;17860:4;17898:2;17887:9;17883:18;17875:26;;17947:9;17941:4;17937:20;17933:1;17922:9;17918:17;17911:47;17975:131;18101:4;17975:131;:::i;:::-;17967:139;;17694:419;;;:::o

Swarm Source

ipfs://8f8e7cd50b78318deb256e001b86d09a2f7518a0a891dedcd1dbb7cfcbd079ba

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  ]
[ 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.