ETH Price: $3,049.64 (+2.72%)
Gas: 18 Gwei

Contract

0xDF2F09cbA9dB664f5E9Ce9D6Ab6a00e231d0319C
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Approve159730102022-11-15 4:20:59602 days ago1668486059IN
0xDF2F09cb...231d0319C
0 ETH0.0012276126
Approve159578162022-11-13 1:27:47604 days ago1668302867IN
0xDF2F09cb...231d0319C
0 ETH0.0003085712.37657665
Approve159565962022-11-12 21:22:59604 days ago1668288179IN
0xDF2F09cb...231d0319C
0 ETH0.0005213311.04156137
Approve159517362022-11-12 5:06:35605 days ago1668229595IN
0xDF2F09cb...231d0319C
0 ETH0.0007519515.92580039
Approve159514842022-11-12 4:15:23605 days ago1668226523IN
0xDF2F09cb...231d0319C
0 ETH0.0008359417.70460586
Approve159506162022-11-12 1:20:59605 days ago1668216059IN
0xDF2F09cb...231d0319C
0 ETH0.0007807216.5352767
Approve159503252022-11-12 0:22:47605 days ago1668212567IN
0xDF2F09cb...231d0319C
0 ETH0.0007904216.7406775
Approve159501952022-11-11 23:56:47605 days ago1668211007IN
0xDF2F09cb...231d0319C
0 ETH0.0006600213.97874176
Approve159498012022-11-11 22:37:35605 days ago1668206255IN
0xDF2F09cb...231d0319C
0 ETH0.0004057914.85562712
Approve159498002022-11-11 22:37:23605 days ago1668206243IN
0xDF2F09cb...231d0319C
0 ETH0.0006790414.3816757
Approve159497962022-11-11 22:36:35605 days ago1668206195IN
0xDF2F09cb...231d0319C
0 ETH0.0007744416.40223869
Approve159497802022-11-11 22:33:23605 days ago1668206003IN
0xDF2F09cb...231d0319C
0 ETH0.0008011316.9673869
Approve159497782022-11-11 22:32:59605 days ago1668205979IN
0xDF2F09cb...231d0319C
0 ETH0.0007938716.81367131
Approve159497712022-11-11 22:31:35605 days ago1668205895IN
0xDF2F09cb...231d0319C
0 ETH0.0004300217.24803357
Approve159496492022-11-11 22:07:11605 days ago1668204431IN
0xDF2F09cb...231d0319C
0 ETH0.0007451915.78265672
Approve159496362022-11-11 22:04:35605 days ago1668204275IN
0xDF2F09cb...231d0319C
0 ETH0.0008017716.98090617
Approve159495592022-11-11 21:49:11605 days ago1668203351IN
0xDF2F09cb...231d0319C
0 ETH0.000826417.50268662
Approve159495572022-11-11 21:48:47605 days ago1668203327IN
0xDF2F09cb...231d0319C
0 ETH0.0007549615.98965695
Approve159495282022-11-11 21:42:59605 days ago1668202979IN
0xDF2F09cb...231d0319C
0 ETH0.0008026817.00023605
Approve159495262022-11-11 21:42:35605 days ago1668202955IN
0xDF2F09cb...231d0319C
0 ETH0.0007554516
Approve159495052022-11-11 21:38:11605 days ago1668202691IN
0xDF2F09cb...231d0319C
0 ETH0.0007898416.7283523
Approve159495032022-11-11 21:37:47605 days ago1668202667IN
0xDF2F09cb...231d0319C
0 ETH0.0007607816.11286311
Approve159495022022-11-11 21:37:35605 days ago1668202655IN
0xDF2F09cb...231d0319C
0 ETH0.0008078617.11006236
Approve159495012022-11-11 21:37:23605 days ago1668202643IN
0xDF2F09cb...231d0319C
0 ETH0.0007812516.54636208
Approve159494972022-11-11 21:36:35605 days ago1668202595IN
0xDF2F09cb...231d0319C
0 ETH0.0004245315.54157042
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To Value
159730122022-11-15 4:21:23602 days ago1668486083
0xDF2F09cb...231d0319C
0.00033928 ETH
159730122022-11-15 4:21:23602 days ago1668486083
0xDF2F09cb...231d0319C
0.00033928 ETH
159568232022-11-12 22:08:35604 days ago1668290915
0xDF2F09cb...231d0319C
0.00077689 ETH
159568232022-11-12 22:08:35604 days ago1668290915
0xDF2F09cb...231d0319C
0.00077689 ETH
159527842022-11-12 8:37:23605 days ago1668242243
0xDF2F09cb...231d0319C
0.0017922 ETH
159527842022-11-12 8:37:23605 days ago1668242243
0xDF2F09cb...231d0319C
0.0017922 ETH
159523842022-11-12 7:17:11605 days ago1668237431
0xDF2F09cb...231d0319C
0.00190374 ETH
159523842022-11-12 7:17:11605 days ago1668237431
0xDF2F09cb...231d0319C
0.00190374 ETH
159523842022-11-12 7:17:11605 days ago1668237431
0xDF2F09cb...231d0319C
0.00202844 ETH
159523842022-11-12 7:17:11605 days ago1668237431
0xDF2F09cb...231d0319C
0.00202844 ETH
159523842022-11-12 7:17:11605 days ago1668237431
0xDF2F09cb...231d0319C
0.00223027 ETH
159523842022-11-12 7:17:11605 days ago1668237431
0xDF2F09cb...231d0319C
0.00223027 ETH
159523352022-11-12 7:07:23605 days ago1668236843
0xDF2F09cb...231d0319C
0.00029764 ETH
159523352022-11-12 7:07:23605 days ago1668236843
0xDF2F09cb...231d0319C
0.00029764 ETH
159517842022-11-12 5:16:11605 days ago1668230171
0xDF2F09cb...231d0319C
0.00022008 ETH
159517842022-11-12 5:16:11605 days ago1668230171
0xDF2F09cb...231d0319C
0.00022008 ETH
159514872022-11-12 4:15:59605 days ago1668226559
0xDF2F09cb...231d0319C
0.00069738 ETH
159514872022-11-12 4:15:59605 days ago1668226559
0xDF2F09cb...231d0319C
0.00069738 ETH
159503322022-11-12 0:24:11605 days ago1668212651
0xDF2F09cb...231d0319C
0.00101331 ETH
159503322022-11-12 0:24:11605 days ago1668212651
0xDF2F09cb...231d0319C
0.00101331 ETH
159502062022-11-11 23:58:59605 days ago1668211139
0xDF2F09cb...231d0319C
0.00067095 ETH
159502062022-11-11 23:58:59605 days ago1668211139
0xDF2F09cb...231d0319C
0.00067095 ETH
159501722022-11-11 23:52:11605 days ago1668210731
0xDF2F09cb...231d0319C
0.00167352 ETH
159501722022-11-11 23:52:11605 days ago1668210731
0xDF2F09cb...231d0319C
0.00167352 ETH
159499452022-11-11 23:06:35605 days ago1668207995
0xDF2F09cb...231d0319C
0.00047401 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TheDonVitalik

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

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

/**
* https://t.me/TheDonVitalikERC
**/

pragma solidity 0.8.7;
// SPDX-License-Identifier: UNLICENSED
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

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

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

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

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

}

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

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

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

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

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

}

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

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

contract TheDonVitalik is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) public bots;
    mapping (address => uint) private cooldown;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1_000_000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;

    uint256 public lBlock = 0;
    uint256 private dBlocks = 3;

    uint256 private _feeAddr1;
    uint256 private _feeAddr2;
    uint256 private _initialTax;
    uint256 private _finalTax;
    uint256 private _reduceTaxCountdown;
    address payable private _feeAddrWallet;

    string private constant _name = "TheDonVitalik";
    string private constant _symbol = "DON";
    uint8 private constant _decimals = 9;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private cooldownEnabled = false;
    uint256 private _maxTxAmount = 1_000_000 * 10**9;
    uint256 private _maxWalletSize = 20_000 * 10**9;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _feeAddrWallet = payable(_msgSender());
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_feeAddrWallet] = true;
        _initialTax=4;
        _finalTax=4;
        _reduceTaxCountdown=60;

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

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

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

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

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return tokenFromReflection(_rOwned[account]);
    }

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function setCooldownEnabled(bool onoff) external onlyOwner() {
        cooldownEnabled = onoff;
    }

    function tokenFromReflection(uint256 rAmount) private view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");
        uint256 currentRate =  _getRate();
        return rAmount.div(currentRate);
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");


        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to], "Blacklisted.");
            _feeAddr1 = 0;
            _feeAddr2 = (_reduceTaxCountdown==0)?_finalTax:_initialTax;
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && cooldownEnabled) {
                // Cooldown
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                if(_reduceTaxCountdown>0){_reduceTaxCountdown--;}

                if (block.number <= (lBlock + dBlocks)) {
                    bots[to] = true;
                }
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && swapEnabled && contractTokenBalance>0) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }else{
          _feeAddr1 = 0;
          _feeAddr2 = 0;
        }

        _tokenTransfer(from,to,amount);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
    }

    function delBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }

    function sendETHToFee(uint256 amount) private {
        _feeAddrWallet.transfer(amount);
    }

    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _tTotal);
        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);
        swapEnabled = true;
        cooldownEnabled = true;
        lBlock = block.number;
        tradingOpen = true;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }

    function _tokenTransfer(address sender, address recipient, uint256 amount) private {
        _transferStandard(sender, recipient, amount);
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate =  _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}

    function manualswap() external {
        require(_msgSender() == _feeAddrWallet);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

    function manualsend() external {
        require(_msgSender() == _feeAddrWallet);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }


    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _feeAddr1, _feeAddr2);
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) {
        uint256 tFee = tAmount.mul(taxFee).div(100);
        uint256 tTeam = tAmount.mul(TeamFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

	function _getRate() private view returns(uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns(uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
}

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":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","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":"pure","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"}]

608060405266038d7ea4c680006000196200001b919062000479565b6000196200002a919062000434565b6008556000600a556003600b556000601360156101000a81548160ff0219169083151502179055506000601360166101000a81548160ff0219169083151502179055506000601360176101000a81548160ff02191690831515021790555066038d7ea4c680006014556512309ce54000601555348015620000aa57600080fd5b506000620000bd620003d560201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506200016b620003d560201b60201c565b601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060085460026000620001c2620003d560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060016005600062000216620003dd60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506004600e819055506004600f81905550603c60108190555062000361620003d560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef66038d7ea4c68000604051620003c7919062000417565b60405180910390a36200050f565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b62000411816200046f565b82525050565b60006020820190506200042e600083018462000406565b92915050565b600062000441826200046f565b91506200044e836200046f565b925082821015620004645762000463620004b1565b5b828203905092915050565b6000819050919050565b600062000486826200046f565b915062000493836200046f565b925082620004a657620004a5620004e0565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b61325a806200051f6000396000f3fe6080604052600436106101185760003560e01c806370a08231116100a0578063a9059cbb11610064578063a9059cbb14610374578063bfd79284146103b1578063c3c8cd80146103ee578063c9567bf914610405578063dd62ed3e1461041c5761011f565b806370a08231146102b3578063715018a6146102f0578063751039fc146103075780638da5cb5b1461031e57806395d89b41146103495761011f565b8063273123b7116100e7578063273123b7146101f4578063313ce5671461021d5780635932ead11461024857806363d84ba8146102715780636fc3eaec1461029c5761011f565b806306fdde0314610124578063095ea7b31461014f57806318160ddd1461018c57806323b872dd146101b75761011f565b3661011f57005b600080fd5b34801561013057600080fd5b50610139610459565b6040516101469190612946565b60405180910390f35b34801561015b57600080fd5b50610176600480360381019061017191906124a0565b610496565b604051610183919061292b565b60405180910390f35b34801561019857600080fd5b506101a16104b4565b6040516101ae9190612b08565b60405180910390f35b3480156101c357600080fd5b506101de60048036038101906101d9919061244d565b6104c3565b6040516101eb919061292b565b60405180910390f35b34801561020057600080fd5b5061021b600480360381019061021691906123b3565b61059c565b005b34801561022957600080fd5b5061023261068c565b60405161023f9190612b7d565b60405180910390f35b34801561025457600080fd5b5061026f600480360381019061026a91906124e0565b610695565b005b34801561027d57600080fd5b50610286610747565b6040516102939190612b08565b60405180910390f35b3480156102a857600080fd5b506102b161074d565b005b3480156102bf57600080fd5b506102da60048036038101906102d591906123b3565b6107bf565b6040516102e79190612b08565b60405180910390f35b3480156102fc57600080fd5b50610305610810565b005b34801561031357600080fd5b5061031c610963565b005b34801561032a57600080fd5b50610333610a16565b604051610340919061285d565b60405180910390f35b34801561035557600080fd5b5061035e610a3f565b60405161036b9190612946565b60405180910390f35b34801561038057600080fd5b5061039b600480360381019061039691906124a0565b610a7c565b6040516103a8919061292b565b60405180910390f35b3480156103bd57600080fd5b506103d860048036038101906103d391906123b3565b610a9a565b6040516103e5919061292b565b60405180910390f35b3480156103fa57600080fd5b50610403610aba565b005b34801561041157600080fd5b5061041a610b34565b005b34801561042857600080fd5b50610443600480360381019061043e919061240d565b611086565b6040516104509190612b08565b60405180910390f35b60606040518060400160405280600d81526020017f546865446f6e566974616c696b00000000000000000000000000000000000000815250905090565b60006104aa6104a361110d565b8484611115565b6001905092915050565b600066038d7ea4c68000905090565b60006104d08484846112e0565b610591846104dc61110d565b61058c856040518060600160405280602881526020016131fd60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061054261110d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118bf9092919063ffffffff16565b611115565b600190509392505050565b6105a461110d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610631576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161062890612a48565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b61069d61110d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461072a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072190612a48565b60405180910390fd5b80601360176101000a81548160ff02191690831515021790555050565b600a5481565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661078e61110d565b73ffffffffffffffffffffffffffffffffffffffff16146107ae57600080fd5b60004790506107bc81611923565b50565b6000610809600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461198f565b9050919050565b61081861110d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089c90612a48565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61096b61110d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ef90612a48565b60405180910390fd5b66038d7ea4c6800060148190555066038d7ea4c68000601581905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f444f4e0000000000000000000000000000000000000000000000000000000000815250905090565b6000610a90610a8961110d565b84846112e0565b6001905092915050565b60066020528060005260406000206000915054906101000a900460ff1681565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610afb61110d565b73ffffffffffffffffffffffffffffffffffffffff1614610b1b57600080fd5b6000610b26306107bf565b9050610b31816119fd565b50565b610b3c61110d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc090612a48565b60405180910390fd5b601360149054906101000a900460ff1615610c19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1090612ae8565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610ca730601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1666038d7ea4c68000611115565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610ced57600080fd5b505afa158015610d01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2591906123e0565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610d8757600080fd5b505afa158015610d9b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dbf91906123e0565b6040518363ffffffff1660e01b8152600401610ddc929190612878565b602060405180830381600087803b158015610df657600080fd5b505af1158015610e0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2e91906123e0565b601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610eb7306107bf565b600080610ec2610a16565b426040518863ffffffff1660e01b8152600401610ee4969594939291906128ca565b6060604051808303818588803b158015610efd57600080fd5b505af1158015610f11573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f36919061253a565b5050506001601360166101000a81548160ff0219169083151502179055506001601360176101000a81548160ff02191690831515021790555043600a819055506001601360146101000a81548160ff021916908315150217905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016110309291906128a1565b602060405180830381600087803b15801561104a57600080fd5b505af115801561105e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611082919061250d565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611185576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117c90612ac8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ec906129e8565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112d39190612b08565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611350576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134790612a88565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b790612988565b60405180910390fd5b60008111611403576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113fa90612a68565b60405180910390fd5b61140b610a16565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156114795750611449610a16565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561189e57600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156115225750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611561576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155890612968565b60405180910390fd5b6000600c8190555060006010541461157b57600e5461157f565b600f545b600d81905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156116305750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156116865750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561169e5750601360179054906101000a900460ff165b156117d4576014548111156116e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116df906129a8565b60405180910390fd5b601554816116f5846107bf565b6116ff9190612bed565b1115611740576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173790612aa8565b60405180910390fd5b60006010541115611764576010600081548092919061175e90612d9c565b91905055505b600b54600a546117749190612bed565b43116117d3576001600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5b60006117df306107bf565b9050601360159054906101000a900460ff1615801561184c5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156118645750601360169054906101000a900460ff165b80156118705750600081115b156118985761187e816119fd565b600047905060008111156118965761189547611923565b5b505b506118af565b6000600c819055506000600d819055505b6118ba838383611c85565b505050565b6000838311158290611907576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118fe9190612946565b60405180910390fd5b50600083856119169190612cce565b9050809150509392505050565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561198b573d6000803e3d6000fd5b5050565b60006008548211156119d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119cd906129c8565b60405180910390fd5b60006119e0611c95565b90506119f58184611cc090919063ffffffff16565b915050919050565b6001601360156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611a3557611a34612e53565b5b604051908082528060200260200182016040528015611a635781602001602082028036833780820191505090505b5090503081600081518110611a7b57611a7a612e24565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611b1d57600080fd5b505afa158015611b31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b5591906123e0565b81600181518110611b6957611b68612e24565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611bd030601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611115565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611c34959493929190612b23565b600060405180830381600087803b158015611c4e57600080fd5b505af1158015611c62573d6000803e3d6000fd5b50505050506000601360156101000a81548160ff02191690831515021790555050565b611c90838383611d0a565b505050565b6000806000611ca2611ed5565b91509150611cb98183611cc090919063ffffffff16565b9250505090565b6000611d0283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f31565b905092915050565b600080600080600080611d1c87611f94565b955095509550955095509550611d7a86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ffc90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e0f85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461204690919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e5b816120a4565b611e658483612161565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611ec29190612b08565b60405180910390a3505050505050505050565b60008060006008549050600066038d7ea4c680009050611f0766038d7ea4c68000600854611cc090919063ffffffff16565b821015611f245760085466038d7ea4c68000935093505050611f2d565b81819350935050505b9091565b60008083118290611f78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6f9190612946565b60405180910390fd5b5060008385611f879190612c43565b9050809150509392505050565b6000806000806000806000806000611fb18a600c54600d5461219b565b9250925092506000611fc1611c95565b90506000806000611fd48e878787612231565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061203e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506118bf565b905092915050565b60008082846120559190612bed565b90508381101561209a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161209190612a08565b60405180910390fd5b8091505092915050565b60006120ae611c95565b905060006120c582846122ba90919063ffffffff16565b905061211981600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461204690919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b61217682600854611ffc90919063ffffffff16565b6008819055506121918160095461204690919063ffffffff16565b6009819055505050565b6000806000806121c760646121b9888a6122ba90919063ffffffff16565b611cc090919063ffffffff16565b905060006121f160646121e3888b6122ba90919063ffffffff16565b611cc090919063ffffffff16565b9050600061221a8261220c858c611ffc90919063ffffffff16565b611ffc90919063ffffffff16565b905080838395509550955050505093509350939050565b60008060008061224a85896122ba90919063ffffffff16565b9050600061226186896122ba90919063ffffffff16565b9050600061227887896122ba90919063ffffffff16565b905060006122a1826122938587611ffc90919063ffffffff16565b611ffc90919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000808314156122cd576000905061232f565b600082846122db9190612c74565b90508284826122ea9190612c43565b1461232a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161232190612a28565b60405180910390fd5b809150505b92915050565b600081359050612344816131b7565b92915050565b600081519050612359816131b7565b92915050565b60008135905061236e816131ce565b92915050565b600081519050612383816131ce565b92915050565b600081359050612398816131e5565b92915050565b6000815190506123ad816131e5565b92915050565b6000602082840312156123c9576123c8612e82565b5b60006123d784828501612335565b91505092915050565b6000602082840312156123f6576123f5612e82565b5b60006124048482850161234a565b91505092915050565b6000806040838503121561242457612423612e82565b5b600061243285828601612335565b925050602061244385828601612335565b9150509250929050565b60008060006060848603121561246657612465612e82565b5b600061247486828701612335565b935050602061248586828701612335565b925050604061249686828701612389565b9150509250925092565b600080604083850312156124b7576124b6612e82565b5b60006124c585828601612335565b92505060206124d685828601612389565b9150509250929050565b6000602082840312156124f6576124f5612e82565b5b60006125048482850161235f565b91505092915050565b60006020828403121561252357612522612e82565b5b600061253184828501612374565b91505092915050565b60008060006060848603121561255357612552612e82565b5b60006125618682870161239e565b93505060206125728682870161239e565b92505060406125838682870161239e565b9150509250925092565b600061259983836125a5565b60208301905092915050565b6125ae81612d02565b82525050565b6125bd81612d02565b82525050565b60006125ce82612ba8565b6125d88185612bcb565b93506125e383612b98565b8060005b838110156126145781516125fb888261258d565b975061260683612bbe565b9250506001810190506125e7565b5085935050505092915050565b61262a81612d14565b82525050565b61263981612d57565b82525050565b600061264a82612bb3565b6126548185612bdc565b9350612664818560208601612d69565b61266d81612e87565b840191505092915050565b6000612685600c83612bdc565b915061269082612e98565b602082019050919050565b60006126a8602383612bdc565b91506126b382612ec1565b604082019050919050565b60006126cb601983612bdc565b91506126d682612f10565b602082019050919050565b60006126ee602a83612bdc565b91506126f982612f39565b604082019050919050565b6000612711602283612bdc565b915061271c82612f88565b604082019050919050565b6000612734601b83612bdc565b915061273f82612fd7565b602082019050919050565b6000612757602183612bdc565b915061276282613000565b604082019050919050565b600061277a602083612bdc565b91506127858261304f565b602082019050919050565b600061279d602983612bdc565b91506127a882613078565b604082019050919050565b60006127c0602583612bdc565b91506127cb826130c7565b604082019050919050565b60006127e3601a83612bdc565b91506127ee82613116565b602082019050919050565b6000612806602483612bdc565b91506128118261313f565b604082019050919050565b6000612829601783612bdc565b91506128348261318e565b602082019050919050565b61284881612d40565b82525050565b61285781612d4a565b82525050565b600060208201905061287260008301846125b4565b92915050565b600060408201905061288d60008301856125b4565b61289a60208301846125b4565b9392505050565b60006040820190506128b660008301856125b4565b6128c3602083018461283f565b9392505050565b600060c0820190506128df60008301896125b4565b6128ec602083018861283f565b6128f96040830187612630565b6129066060830186612630565b61291360808301856125b4565b61292060a083018461283f565b979650505050505050565b60006020820190506129406000830184612621565b92915050565b60006020820190508181036000830152612960818461263f565b905092915050565b6000602082019050818103600083015261298181612678565b9050919050565b600060208201905081810360008301526129a18161269b565b9050919050565b600060208201905081810360008301526129c1816126be565b9050919050565b600060208201905081810360008301526129e1816126e1565b9050919050565b60006020820190508181036000830152612a0181612704565b9050919050565b60006020820190508181036000830152612a2181612727565b9050919050565b60006020820190508181036000830152612a418161274a565b9050919050565b60006020820190508181036000830152612a618161276d565b9050919050565b60006020820190508181036000830152612a8181612790565b9050919050565b60006020820190508181036000830152612aa1816127b3565b9050919050565b60006020820190508181036000830152612ac1816127d6565b9050919050565b60006020820190508181036000830152612ae1816127f9565b9050919050565b60006020820190508181036000830152612b018161281c565b9050919050565b6000602082019050612b1d600083018461283f565b92915050565b600060a082019050612b38600083018861283f565b612b456020830187612630565b8181036040830152612b5781866125c3565b9050612b6660608301856125b4565b612b73608083018461283f565b9695505050505050565b6000602082019050612b92600083018461284e565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612bf882612d40565b9150612c0383612d40565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612c3857612c37612dc6565b5b828201905092915050565b6000612c4e82612d40565b9150612c5983612d40565b925082612c6957612c68612df5565b5b828204905092915050565b6000612c7f82612d40565b9150612c8a83612d40565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612cc357612cc2612dc6565b5b828202905092915050565b6000612cd982612d40565b9150612ce483612d40565b925082821015612cf757612cf6612dc6565b5b828203905092915050565b6000612d0d82612d20565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612d6282612d40565b9050919050565b60005b83811015612d87578082015181840152602081019050612d6c565b83811115612d96576000848401525b50505050565b6000612da782612d40565b91506000821415612dbb57612dba612dc6565b5b600182039050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f426c61636b6c69737465642e0000000000000000000000000000000000000000600082015250565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6131c081612d02565b81146131cb57600080fd5b50565b6131d781612d14565b81146131e257600080fd5b50565b6131ee81612d40565b81146131f957600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212201aafdb8f993f25ebe6cc091c2e462cc1c093197ecde66131db85ecd9c0a8e0bd64736f6c63430008070033

Deployed Bytecode

0x6080604052600436106101185760003560e01c806370a08231116100a0578063a9059cbb11610064578063a9059cbb14610374578063bfd79284146103b1578063c3c8cd80146103ee578063c9567bf914610405578063dd62ed3e1461041c5761011f565b806370a08231146102b3578063715018a6146102f0578063751039fc146103075780638da5cb5b1461031e57806395d89b41146103495761011f565b8063273123b7116100e7578063273123b7146101f4578063313ce5671461021d5780635932ead11461024857806363d84ba8146102715780636fc3eaec1461029c5761011f565b806306fdde0314610124578063095ea7b31461014f57806318160ddd1461018c57806323b872dd146101b75761011f565b3661011f57005b600080fd5b34801561013057600080fd5b50610139610459565b6040516101469190612946565b60405180910390f35b34801561015b57600080fd5b50610176600480360381019061017191906124a0565b610496565b604051610183919061292b565b60405180910390f35b34801561019857600080fd5b506101a16104b4565b6040516101ae9190612b08565b60405180910390f35b3480156101c357600080fd5b506101de60048036038101906101d9919061244d565b6104c3565b6040516101eb919061292b565b60405180910390f35b34801561020057600080fd5b5061021b600480360381019061021691906123b3565b61059c565b005b34801561022957600080fd5b5061023261068c565b60405161023f9190612b7d565b60405180910390f35b34801561025457600080fd5b5061026f600480360381019061026a91906124e0565b610695565b005b34801561027d57600080fd5b50610286610747565b6040516102939190612b08565b60405180910390f35b3480156102a857600080fd5b506102b161074d565b005b3480156102bf57600080fd5b506102da60048036038101906102d591906123b3565b6107bf565b6040516102e79190612b08565b60405180910390f35b3480156102fc57600080fd5b50610305610810565b005b34801561031357600080fd5b5061031c610963565b005b34801561032a57600080fd5b50610333610a16565b604051610340919061285d565b60405180910390f35b34801561035557600080fd5b5061035e610a3f565b60405161036b9190612946565b60405180910390f35b34801561038057600080fd5b5061039b600480360381019061039691906124a0565b610a7c565b6040516103a8919061292b565b60405180910390f35b3480156103bd57600080fd5b506103d860048036038101906103d391906123b3565b610a9a565b6040516103e5919061292b565b60405180910390f35b3480156103fa57600080fd5b50610403610aba565b005b34801561041157600080fd5b5061041a610b34565b005b34801561042857600080fd5b50610443600480360381019061043e919061240d565b611086565b6040516104509190612b08565b60405180910390f35b60606040518060400160405280600d81526020017f546865446f6e566974616c696b00000000000000000000000000000000000000815250905090565b60006104aa6104a361110d565b8484611115565b6001905092915050565b600066038d7ea4c68000905090565b60006104d08484846112e0565b610591846104dc61110d565b61058c856040518060600160405280602881526020016131fd60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061054261110d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118bf9092919063ffffffff16565b611115565b600190509392505050565b6105a461110d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610631576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161062890612a48565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b61069d61110d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461072a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072190612a48565b60405180910390fd5b80601360176101000a81548160ff02191690831515021790555050565b600a5481565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661078e61110d565b73ffffffffffffffffffffffffffffffffffffffff16146107ae57600080fd5b60004790506107bc81611923565b50565b6000610809600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461198f565b9050919050565b61081861110d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089c90612a48565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61096b61110d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ef90612a48565b60405180910390fd5b66038d7ea4c6800060148190555066038d7ea4c68000601581905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f444f4e0000000000000000000000000000000000000000000000000000000000815250905090565b6000610a90610a8961110d565b84846112e0565b6001905092915050565b60066020528060005260406000206000915054906101000a900460ff1681565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610afb61110d565b73ffffffffffffffffffffffffffffffffffffffff1614610b1b57600080fd5b6000610b26306107bf565b9050610b31816119fd565b50565b610b3c61110d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc090612a48565b60405180910390fd5b601360149054906101000a900460ff1615610c19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1090612ae8565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610ca730601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1666038d7ea4c68000611115565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610ced57600080fd5b505afa158015610d01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2591906123e0565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610d8757600080fd5b505afa158015610d9b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dbf91906123e0565b6040518363ffffffff1660e01b8152600401610ddc929190612878565b602060405180830381600087803b158015610df657600080fd5b505af1158015610e0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2e91906123e0565b601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610eb7306107bf565b600080610ec2610a16565b426040518863ffffffff1660e01b8152600401610ee4969594939291906128ca565b6060604051808303818588803b158015610efd57600080fd5b505af1158015610f11573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f36919061253a565b5050506001601360166101000a81548160ff0219169083151502179055506001601360176101000a81548160ff02191690831515021790555043600a819055506001601360146101000a81548160ff021916908315150217905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016110309291906128a1565b602060405180830381600087803b15801561104a57600080fd5b505af115801561105e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611082919061250d565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611185576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117c90612ac8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ec906129e8565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112d39190612b08565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611350576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134790612a88565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b790612988565b60405180910390fd5b60008111611403576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113fa90612a68565b60405180910390fd5b61140b610a16565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156114795750611449610a16565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561189e57600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156115225750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611561576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155890612968565b60405180910390fd5b6000600c8190555060006010541461157b57600e5461157f565b600f545b600d81905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156116305750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156116865750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561169e5750601360179054906101000a900460ff165b156117d4576014548111156116e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116df906129a8565b60405180910390fd5b601554816116f5846107bf565b6116ff9190612bed565b1115611740576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173790612aa8565b60405180910390fd5b60006010541115611764576010600081548092919061175e90612d9c565b91905055505b600b54600a546117749190612bed565b43116117d3576001600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5b60006117df306107bf565b9050601360159054906101000a900460ff1615801561184c5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156118645750601360169054906101000a900460ff165b80156118705750600081115b156118985761187e816119fd565b600047905060008111156118965761189547611923565b5b505b506118af565b6000600c819055506000600d819055505b6118ba838383611c85565b505050565b6000838311158290611907576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118fe9190612946565b60405180910390fd5b50600083856119169190612cce565b9050809150509392505050565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561198b573d6000803e3d6000fd5b5050565b60006008548211156119d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119cd906129c8565b60405180910390fd5b60006119e0611c95565b90506119f58184611cc090919063ffffffff16565b915050919050565b6001601360156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611a3557611a34612e53565b5b604051908082528060200260200182016040528015611a635781602001602082028036833780820191505090505b5090503081600081518110611a7b57611a7a612e24565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611b1d57600080fd5b505afa158015611b31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b5591906123e0565b81600181518110611b6957611b68612e24565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611bd030601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611115565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611c34959493929190612b23565b600060405180830381600087803b158015611c4e57600080fd5b505af1158015611c62573d6000803e3d6000fd5b50505050506000601360156101000a81548160ff02191690831515021790555050565b611c90838383611d0a565b505050565b6000806000611ca2611ed5565b91509150611cb98183611cc090919063ffffffff16565b9250505090565b6000611d0283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f31565b905092915050565b600080600080600080611d1c87611f94565b955095509550955095509550611d7a86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ffc90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e0f85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461204690919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e5b816120a4565b611e658483612161565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611ec29190612b08565b60405180910390a3505050505050505050565b60008060006008549050600066038d7ea4c680009050611f0766038d7ea4c68000600854611cc090919063ffffffff16565b821015611f245760085466038d7ea4c68000935093505050611f2d565b81819350935050505b9091565b60008083118290611f78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6f9190612946565b60405180910390fd5b5060008385611f879190612c43565b9050809150509392505050565b6000806000806000806000806000611fb18a600c54600d5461219b565b9250925092506000611fc1611c95565b90506000806000611fd48e878787612231565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061203e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506118bf565b905092915050565b60008082846120559190612bed565b90508381101561209a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161209190612a08565b60405180910390fd5b8091505092915050565b60006120ae611c95565b905060006120c582846122ba90919063ffffffff16565b905061211981600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461204690919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b61217682600854611ffc90919063ffffffff16565b6008819055506121918160095461204690919063ffffffff16565b6009819055505050565b6000806000806121c760646121b9888a6122ba90919063ffffffff16565b611cc090919063ffffffff16565b905060006121f160646121e3888b6122ba90919063ffffffff16565b611cc090919063ffffffff16565b9050600061221a8261220c858c611ffc90919063ffffffff16565b611ffc90919063ffffffff16565b905080838395509550955050505093509350939050565b60008060008061224a85896122ba90919063ffffffff16565b9050600061226186896122ba90919063ffffffff16565b9050600061227887896122ba90919063ffffffff16565b905060006122a1826122938587611ffc90919063ffffffff16565b611ffc90919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000808314156122cd576000905061232f565b600082846122db9190612c74565b90508284826122ea9190612c43565b1461232a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161232190612a28565b60405180910390fd5b809150505b92915050565b600081359050612344816131b7565b92915050565b600081519050612359816131b7565b92915050565b60008135905061236e816131ce565b92915050565b600081519050612383816131ce565b92915050565b600081359050612398816131e5565b92915050565b6000815190506123ad816131e5565b92915050565b6000602082840312156123c9576123c8612e82565b5b60006123d784828501612335565b91505092915050565b6000602082840312156123f6576123f5612e82565b5b60006124048482850161234a565b91505092915050565b6000806040838503121561242457612423612e82565b5b600061243285828601612335565b925050602061244385828601612335565b9150509250929050565b60008060006060848603121561246657612465612e82565b5b600061247486828701612335565b935050602061248586828701612335565b925050604061249686828701612389565b9150509250925092565b600080604083850312156124b7576124b6612e82565b5b60006124c585828601612335565b92505060206124d685828601612389565b9150509250929050565b6000602082840312156124f6576124f5612e82565b5b60006125048482850161235f565b91505092915050565b60006020828403121561252357612522612e82565b5b600061253184828501612374565b91505092915050565b60008060006060848603121561255357612552612e82565b5b60006125618682870161239e565b93505060206125728682870161239e565b92505060406125838682870161239e565b9150509250925092565b600061259983836125a5565b60208301905092915050565b6125ae81612d02565b82525050565b6125bd81612d02565b82525050565b60006125ce82612ba8565b6125d88185612bcb565b93506125e383612b98565b8060005b838110156126145781516125fb888261258d565b975061260683612bbe565b9250506001810190506125e7565b5085935050505092915050565b61262a81612d14565b82525050565b61263981612d57565b82525050565b600061264a82612bb3565b6126548185612bdc565b9350612664818560208601612d69565b61266d81612e87565b840191505092915050565b6000612685600c83612bdc565b915061269082612e98565b602082019050919050565b60006126a8602383612bdc565b91506126b382612ec1565b604082019050919050565b60006126cb601983612bdc565b91506126d682612f10565b602082019050919050565b60006126ee602a83612bdc565b91506126f982612f39565b604082019050919050565b6000612711602283612bdc565b915061271c82612f88565b604082019050919050565b6000612734601b83612bdc565b915061273f82612fd7565b602082019050919050565b6000612757602183612bdc565b915061276282613000565b604082019050919050565b600061277a602083612bdc565b91506127858261304f565b602082019050919050565b600061279d602983612bdc565b91506127a882613078565b604082019050919050565b60006127c0602583612bdc565b91506127cb826130c7565b604082019050919050565b60006127e3601a83612bdc565b91506127ee82613116565b602082019050919050565b6000612806602483612bdc565b91506128118261313f565b604082019050919050565b6000612829601783612bdc565b91506128348261318e565b602082019050919050565b61284881612d40565b82525050565b61285781612d4a565b82525050565b600060208201905061287260008301846125b4565b92915050565b600060408201905061288d60008301856125b4565b61289a60208301846125b4565b9392505050565b60006040820190506128b660008301856125b4565b6128c3602083018461283f565b9392505050565b600060c0820190506128df60008301896125b4565b6128ec602083018861283f565b6128f96040830187612630565b6129066060830186612630565b61291360808301856125b4565b61292060a083018461283f565b979650505050505050565b60006020820190506129406000830184612621565b92915050565b60006020820190508181036000830152612960818461263f565b905092915050565b6000602082019050818103600083015261298181612678565b9050919050565b600060208201905081810360008301526129a18161269b565b9050919050565b600060208201905081810360008301526129c1816126be565b9050919050565b600060208201905081810360008301526129e1816126e1565b9050919050565b60006020820190508181036000830152612a0181612704565b9050919050565b60006020820190508181036000830152612a2181612727565b9050919050565b60006020820190508181036000830152612a418161274a565b9050919050565b60006020820190508181036000830152612a618161276d565b9050919050565b60006020820190508181036000830152612a8181612790565b9050919050565b60006020820190508181036000830152612aa1816127b3565b9050919050565b60006020820190508181036000830152612ac1816127d6565b9050919050565b60006020820190508181036000830152612ae1816127f9565b9050919050565b60006020820190508181036000830152612b018161281c565b9050919050565b6000602082019050612b1d600083018461283f565b92915050565b600060a082019050612b38600083018861283f565b612b456020830187612630565b8181036040830152612b5781866125c3565b9050612b6660608301856125b4565b612b73608083018461283f565b9695505050505050565b6000602082019050612b92600083018461284e565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612bf882612d40565b9150612c0383612d40565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612c3857612c37612dc6565b5b828201905092915050565b6000612c4e82612d40565b9150612c5983612d40565b925082612c6957612c68612df5565b5b828204905092915050565b6000612c7f82612d40565b9150612c8a83612d40565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612cc357612cc2612dc6565b5b828202905092915050565b6000612cd982612d40565b9150612ce483612d40565b925082821015612cf757612cf6612dc6565b5b828203905092915050565b6000612d0d82612d20565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612d6282612d40565b9050919050565b60005b83811015612d87578082015181840152602081019050612d6c565b83811115612d96576000848401525b50505050565b6000612da782612d40565b91506000821415612dbb57612dba612dc6565b5b600182039050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f426c61636b6c69737465642e0000000000000000000000000000000000000000600082015250565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6131c081612d02565b81146131cb57600080fd5b50565b6131d781612d14565b81146131e257600080fd5b50565b6131ee81612d40565b81146131f957600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212201aafdb8f993f25ebe6cc091c2e462cc1c093197ecde66131db85ecd9c0a8e0bd64736f6c63430008070033

Deployed Bytecode Sourcemap

3557:10398:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5508:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6360:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5785:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6529:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9796:88;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5694:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6850:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4177:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12070:193;;;;;;;;;;;;;:::i;:::-;;5888:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2638:148;;;;;;;;;;;;;:::i;:::-;;9670:118;;;;;;;;;;;;;:::i;:::-;;2424:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5599:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6034:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3885:37;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11868:194;;;;;;;;;;;;;:::i;:::-;;9996:803;;;;;;;;;;;;;:::i;:::-;;6209:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5508:83;5545:13;5578:5;;;;;;;;;;;;;;;;;5571:12;;5508:83;:::o;6360:161::-;6435:4;6452:39;6461:12;:10;:12::i;:::-;6475:7;6484:6;6452:8;:39::i;:::-;6509:4;6502:11;;6360:161;;;;:::o;5785:95::-;5838:7;4062:17;5858:14;;5785:95;:::o;6529:313::-;6627:4;6644:36;6654:6;6662:9;6673:6;6644:9;:36::i;:::-;6691:121;6700:6;6708:12;:10;:12::i;:::-;6722:89;6760:6;6722:89;;;;;;;;;;;;;;;;;:11;:19;6734:6;6722:19;;;;;;;;;;;;;;;:33;6742:12;:10;:12::i;:::-;6722:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6691:8;:121::i;:::-;6830:4;6823:11;;6529:313;;;;;:::o;9796:88::-;2561:12;:10;:12::i;:::-;2551:22;;:6;;;;;;;;;;:22;;;2543:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9871:5:::1;9856:4;:12;9861:6;9856:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;9796:88:::0;:::o;5694:83::-;5735:5;4599:1;5753:16;;5694:83;:::o;6850:103::-;2561:12;:10;:12::i;:::-;2551:22;;:6;;;;;;;;;;:22;;;2543:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6940:5:::1;6922:15;;:23;;;;;;;;;;;;;;;;;;6850:103:::0;:::o;4177:25::-;;;;:::o;12070:193::-;12136:14;;;;;;;;;;;12120:30;;:12;:10;:12::i;:::-;:30;;;12112:39;;;;;;12162:26;12191:21;12162:50;;12223:32;12236:18;12223:12;:32::i;:::-;12101:162;12070:193::o;5888:138::-;5954:7;5981:37;6001:7;:16;6009:7;6001:16;;;;;;;;;;;;;;;;5981:19;:37::i;:::-;5974:44;;5888:138;;;:::o;2638:148::-;2561:12;:10;:12::i;:::-;2551:22;;:6;;;;;;;;;;:22;;;2543:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2745:1:::1;2708:40;;2729:6;::::0;::::1;;;;;;;;2708:40;;;;;;;;;;;;2776:1;2759:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2638:148::o:0;9670:118::-;2561:12;:10;:12::i;:::-;2551:22;;:6;;;;;;;;;;:22;;;2543:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4062:17:::1;9723:12;:22;;;;4062:17;9756:14;:24;;;;9670:118::o:0;2424:79::-;2462:7;2489:6;;;;;;;;;;;2482:13;;2424:79;:::o;5599:87::-;5638:13;5671:7;;;;;;;;;;;;;;;;;5664:14;;5599:87;:::o;6034:167::-;6112:4;6129:42;6139:12;:10;:12::i;:::-;6153:9;6164:6;6129:9;:42::i;:::-;6189:4;6182:11;;6034:167;;;;:::o;3885:37::-;;;;;;;;;;;;;;;;;;;;;;:::o;11868:194::-;11934:14;;;;;;;;;;;11918:30;;:12;:10;:12::i;:::-;:30;;;11910:39;;;;;;11960:23;11986:24;12004:4;11986:9;:24::i;:::-;11960:50;;12021:33;12038:15;12021:16;:33::i;:::-;11899:163;11868:194::o;9996:803::-;2561:12;:10;:12::i;:::-;2551:22;;:6;;;;;;;;;;:22;;;2543:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10060:11:::1;;;;;;;;;;;10059:12;10051:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;10109:35;10166:42;10109:100;;10238:16;10220:15;;:34;;;;;;;;;;;;;;;;;;10265:58;10282:4;10297:15;;;;;;;;;;;4062:17;10265:8;:58::i;:::-;10368:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10350:56;;;10415:4;10422:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10350:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10334:13;;:112;;;;;;;;;;;;;;;;;;10457:15;;;;;;;;;;;:31;;;10496:21;10527:4;10533:24;10551:4;10533:9;:24::i;:::-;10558:1;10560::::0;10562:7:::1;:5;:7::i;:::-;10570:15;10457:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10611:4;10597:11;;:18;;;;;;;;;;;;;;;;;;10644:4;10626:15;;:22;;;;;;;;;;;;;;;;;;10668:12;10659:6;:21;;;;10705:4;10691:11;;:18;;;;;;;;;;;;;;;;;;10727:13;;;;;;;;;;;10720:29;;;10758:15;;;;;;;;;;;10776:14;10720:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10040:759;9996:803::o:0;6209:143::-;6290:7;6317:11;:18;6329:5;6317:18;;;;;;;;;;;;;;;:27;6336:7;6317:27;;;;;;;;;;;;;;;;6310:34;;6209:143;;;;:::o;142:98::-;195:7;222:10;215:17;;142:98;:::o;7223:335::-;7333:1;7316:19;;:5;:19;;;;7308:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7414:1;7395:21;;:7;:21;;;;7387:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7496:6;7466:11;:18;7478:5;7466:18;;;;;;;;;;;;;;;:27;7485:7;7466:27;;;;;;;;;;;;;;;:36;;;;7534:7;7518:32;;7527:5;7518:32;;;7543:6;7518:32;;;;;;:::i;:::-;;;;;;;;7223:335;;;:::o;7566:1605::-;7670:1;7654:18;;:4;:18;;;;7646:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7747:1;7733:16;;:2;:16;;;;7725:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7817:1;7808:6;:10;7800:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7891:7;:5;:7::i;:::-;7883:15;;:4;:15;;;;:32;;;;;7908:7;:5;:7::i;:::-;7902:13;;:2;:13;;;;7883:32;7879:1242;;;7941:4;:10;7946:4;7941:10;;;;;;;;;;;;;;;;;;;;;;;;;7940:11;:24;;;;;7956:4;:8;7961:2;7956:8;;;;;;;;;;;;;;;;;;;;;;;;;7955:9;7940:24;7932:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;8008:1;7996:9;:13;;;;8058:1;8037:19;;:22;8036:46;;8071:11;;8036:46;;;8061:9;;8036:46;8024:9;:58;;;;8109:13;;;;;;;;;;;8101:21;;:4;:21;;;:55;;;;;8140:15;;;;;;;;;;;8126:30;;:2;:30;;;;8101:55;:83;;;;;8162:18;:22;8181:2;8162:22;;;;;;;;;;;;;;;;;;;;;;;;;8160:24;8101:83;:102;;;;;8188:15;;;;;;;;;;;8101:102;8097:515;;;8271:12;;8261:6;:22;;8253:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8366:14;;8356:6;8340:13;8350:2;8340:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8332:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8453:1;8433:19;;:21;8430:49;;;8456:19;;:21;;;;;;;;;:::i;:::-;;;;;;8430:49;8529:7;;8520:6;;:16;;;;:::i;:::-;8503:12;:34;8499:98;;8573:4;8562;:8;8567:2;8562:8;;;;;;;;;;;;;;;;:15;;;;;;;;;;;;;;;;;;8499:98;8097:515;8628:28;8659:24;8677:4;8659:9;:24::i;:::-;8628:55;;8703:6;;;;;;;;;;;8702:7;:32;;;;;8721:13;;;;;;;;;;;8713:21;;:4;:21;;;;8702:32;:47;;;;;8738:11;;;;;;;;;;;8702:47;:73;;;;;8774:1;8753:20;:22;8702:73;8698:344;;;8796:38;8813:20;8796:16;:38::i;:::-;8853:26;8882:21;8853:50;;8946:1;8925:18;:22;8922:105;;;8972:35;8985:21;8972:12;:35::i;:::-;8922:105;8777:265;8698:344;7917:1136;7879:1242;;;9082:1;9070:9;:13;;;;9108:1;9096:9;:13;;;;7879:1242;9133:30;9148:4;9153:2;9156:6;9133:14;:30::i;:::-;7566:1605;;;:::o;1279:190::-;1365:7;1398:1;1393;:6;;1401:12;1385:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1425:9;1441:1;1437;:5;;;;:::i;:::-;1425:17;;1460:1;1453:8;;;1279:190;;;;;:::o;9892:96::-;9949:14;;;;;;;;;;;:23;;:31;9973:6;9949:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9892:96;:::o;6961:254::-;7028:7;7067;;7056;:18;;7048:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;7132:19;7155:10;:8;:10::i;:::-;7132:33;;7183:24;7195:11;7183:7;:11;;:24;;;;:::i;:::-;7176:31;;;6961:254;;;:::o;9179:483::-;5041:4;5032:6;;:13;;;;;;;;;;;;;;;;;;9257:21:::1;9295:1;9281:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9257:40;;9326:4;9308;9313:1;9308:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9352:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9342:4;9347:1;9342:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9385:62;9402:4;9417:15;;;;;;;;;;;9435:11;9385:8;:62::i;:::-;9458:15;;;;;;;;;;;:66;;;9539:11;9565:1;9581:4;9608;9628:15;9458:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9246:416;5077:5:::0;5068:6;;:14;;;;;;;;;;;;;;;;;;9179:483;:::o;10807:146::-;10901:44;10919:6;10927:9;10938:6;10901:17;:44::i;:::-;10807:146;;;:::o;13525:163::-;13566:7;13587:15;13604;13623:19;:17;:19::i;:::-;13586:56;;;;13660:20;13672:7;13660;:11;;:20;;;;:::i;:::-;13653:27;;;;13525:163;:::o;1731:132::-;1789:7;1816:39;1820:1;1823;1816:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1809:46;;1731:132;;;;:::o;10961:487::-;11060:15;11077:23;11102:12;11116:23;11141:12;11155:13;11172:19;11183:7;11172:10;:19::i;:::-;11059:132;;;;;;;;;;;;11220:28;11240:7;11220;:15;11228:6;11220:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;11202:7;:15;11210:6;11202:15;;;;;;;;;;;;;;;:46;;;;11280:39;11303:15;11280:7;:18;11288:9;11280:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;11259:7;:18;11267:9;11259:18;;;;;;;;;;;;;;;:60;;;;11330:16;11340:5;11330:9;:16::i;:::-;11357:23;11369:4;11375;11357:11;:23::i;:::-;11413:9;11396:44;;11405:6;11396:44;;;11424:15;11396:44;;;;;;:::i;:::-;;;;;;;;11048:400;;;;;;10961:487;;;:::o;13696:256::-;13746:7;13755;13775:15;13793:7;;13775:25;;13811:15;4062:17;13811:25;;13861:20;4062:17;13861:7;;:11;;:20;;;;:::i;:::-;13851:7;:30;13847:61;;;13891:7;;4062:17;13883:25;;;;;;;;13847:61;13927:7;13936;13919:25;;;;;;13696:256;;;:::o;1871:189::-;1957:7;1989:1;1985;:5;1992:12;1977:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2016:9;2032:1;2028;:5;;;;:::i;:::-;2016:17;;2051:1;2044:8;;;1871:189;;;;;:::o;12273:471::-;12332:7;12341;12350;12359;12368;12377;12398:23;12423:12;12437:13;12454:42;12466:7;12475:9;;12486;;12454:11;:42::i;:::-;12397:99;;;;;;12507:19;12530:10;:8;:10::i;:::-;12507:33;;12552:15;12569:23;12594:12;12610:46;12622:7;12631:4;12637:5;12644:11;12610;:46::i;:::-;12551:105;;;;;;12675:7;12684:15;12701:4;12707:15;12724:4;12730:5;12667:69;;;;;;;;;;;;;;;;;;;12273:471;;;;;;;:::o;1135:136::-;1193:7;1220:43;1224:1;1227;1220:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1213:50;;1135:136;;;;:::o;948:179::-;1006:7;1026:9;1042:1;1038;:5;;;;:::i;:::-;1026:17;;1067:1;1062;:6;;1054:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1118:1;1111:8;;;948:179;;;;:::o;11456:212::-;11509:19;11532:10;:8;:10::i;:::-;11509:33;;11553:13;11569:22;11579:11;11569:5;:9;;:22;;;;:::i;:::-;11553:38;;11627:33;11654:5;11627:7;:22;11643:4;11627:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;11602:7;:22;11618:4;11602:22;;;;;;;;;;;;;;;:58;;;;11498:170;;11456:212;:::o;11676:147::-;11754:17;11766:4;11754:7;;:11;;:17;;;;:::i;:::-;11744:7;:27;;;;11795:20;11810:4;11795:10;;:14;;:20;;;;:::i;:::-;11782:10;:33;;;;11676:147;;:::o;12752:351::-;12845:7;12854;12863;12883:12;12898:28;12922:3;12898:19;12910:6;12898:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;12883:43;;12937:13;12953:29;12978:3;12953:20;12965:7;12953;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;12937:45;;12993:23;13019:28;13041:5;13019:17;13031:4;13019:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;12993:54;;13066:15;13083:4;13089:5;13058:37;;;;;;;;;12752:351;;;;;;;:::o;13111:409::-;13221:7;13230;13239;13259:15;13277:24;13289:11;13277:7;:11;;:24;;;;:::i;:::-;13259:42;;13312:12;13327:21;13336:11;13327:4;:8;;:21;;;;:::i;:::-;13312:36;;13359:13;13375:22;13385:11;13375:5;:9;;:22;;;;:::i;:::-;13359:38;;13408:23;13434:28;13456:5;13434:17;13446:4;13434:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;13408:54;;13481:7;13490:15;13507:4;13473:39;;;;;;;;;;13111:409;;;;;;;;:::o;1477:246::-;1535:7;1564:1;1559;:6;1555:47;;;1589:1;1582:8;;;;1555:47;1612:9;1628:1;1624;:5;;;;:::i;:::-;1612:17;;1657:1;1652;1648;:5;;;;:::i;:::-;:10;1640:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1714:1;1707:8;;;1477:246;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;152:143;;;;:::o;301:133::-;344:5;382:6;369:20;360:29;;398:30;422:5;398:30;:::i;:::-;301:133;;;;:::o;440:137::-;494:5;525:6;519:13;510:22;;541:30;565:5;541:30;:::i;:::-;440:137;;;;:::o;583:139::-;629:5;667:6;654:20;645:29;;683:33;710:5;683:33;:::i;:::-;583:139;;;;:::o;728:143::-;785:5;816:6;810:13;801:22;;832:33;859:5;832:33;:::i;:::-;728:143;;;;:::o;877:329::-;936:6;985:2;973:9;964:7;960:23;956:32;953:119;;;991:79;;:::i;:::-;953:119;1111:1;1136:53;1181:7;1172:6;1161:9;1157:22;1136:53;:::i;:::-;1126:63;;1082:117;877:329;;;;:::o;1212:351::-;1282:6;1331:2;1319:9;1310:7;1306:23;1302:32;1299:119;;;1337:79;;:::i;:::-;1299:119;1457:1;1482:64;1538:7;1529:6;1518:9;1514:22;1482:64;:::i;:::-;1472:74;;1428:128;1212:351;;;;:::o;1569:474::-;1637:6;1645;1694:2;1682:9;1673:7;1669:23;1665:32;1662:119;;;1700:79;;:::i;:::-;1662:119;1820:1;1845:53;1890:7;1881:6;1870:9;1866:22;1845:53;:::i;:::-;1835:63;;1791:117;1947:2;1973:53;2018:7;2009:6;1998:9;1994:22;1973:53;:::i;:::-;1963:63;;1918:118;1569:474;;;;;:::o;2049:619::-;2126:6;2134;2142;2191:2;2179:9;2170:7;2166:23;2162:32;2159:119;;;2197:79;;:::i;:::-;2159:119;2317:1;2342:53;2387:7;2378:6;2367:9;2363:22;2342:53;:::i;:::-;2332:63;;2288:117;2444:2;2470:53;2515:7;2506:6;2495:9;2491:22;2470:53;:::i;:::-;2460:63;;2415:118;2572:2;2598:53;2643:7;2634:6;2623:9;2619:22;2598:53;:::i;:::-;2588:63;;2543:118;2049:619;;;;;:::o;2674:474::-;2742:6;2750;2799:2;2787:9;2778:7;2774:23;2770:32;2767:119;;;2805:79;;:::i;:::-;2767:119;2925:1;2950:53;2995:7;2986:6;2975:9;2971:22;2950:53;:::i;:::-;2940:63;;2896:117;3052:2;3078:53;3123:7;3114:6;3103:9;3099:22;3078:53;:::i;:::-;3068:63;;3023:118;2674:474;;;;;:::o;3154:323::-;3210:6;3259:2;3247:9;3238:7;3234:23;3230:32;3227:119;;;3265:79;;:::i;:::-;3227:119;3385:1;3410:50;3452:7;3443:6;3432:9;3428:22;3410:50;:::i;:::-;3400:60;;3356:114;3154:323;;;;:::o;3483:345::-;3550:6;3599:2;3587:9;3578:7;3574:23;3570:32;3567:119;;;3605:79;;:::i;:::-;3567:119;3725:1;3750:61;3803:7;3794:6;3783:9;3779:22;3750:61;:::i;:::-;3740:71;;3696:125;3483:345;;;;:::o;3834:663::-;3922:6;3930;3938;3987:2;3975:9;3966:7;3962:23;3958:32;3955:119;;;3993:79;;:::i;:::-;3955:119;4113:1;4138:64;4194:7;4185:6;4174:9;4170:22;4138:64;:::i;:::-;4128:74;;4084:128;4251:2;4277:64;4333:7;4324:6;4313:9;4309:22;4277:64;:::i;:::-;4267:74;;4222:129;4390:2;4416:64;4472:7;4463:6;4452:9;4448:22;4416:64;:::i;:::-;4406:74;;4361:129;3834:663;;;;;:::o;4503:179::-;4572:10;4593:46;4635:3;4627:6;4593:46;:::i;:::-;4671:4;4666:3;4662:14;4648:28;;4503:179;;;;:::o;4688:108::-;4765:24;4783:5;4765:24;:::i;:::-;4760:3;4753:37;4688:108;;:::o;4802:118::-;4889:24;4907:5;4889:24;:::i;:::-;4884:3;4877:37;4802:118;;:::o;4956:732::-;5075:3;5104:54;5152:5;5104:54;:::i;:::-;5174:86;5253:6;5248:3;5174:86;:::i;:::-;5167:93;;5284:56;5334:5;5284:56;:::i;:::-;5363:7;5394:1;5379:284;5404:6;5401:1;5398:13;5379:284;;;5480:6;5474:13;5507:63;5566:3;5551:13;5507:63;:::i;:::-;5500:70;;5593:60;5646:6;5593:60;:::i;:::-;5583:70;;5439:224;5426:1;5423;5419:9;5414:14;;5379:284;;;5383:14;5679:3;5672:10;;5080:608;;;4956:732;;;;:::o;5694:109::-;5775:21;5790:5;5775:21;:::i;:::-;5770:3;5763:34;5694:109;;:::o;5809:147::-;5904:45;5943:5;5904:45;:::i;:::-;5899:3;5892:58;5809:147;;:::o;5962:364::-;6050:3;6078:39;6111:5;6078:39;:::i;:::-;6133:71;6197:6;6192:3;6133:71;:::i;:::-;6126:78;;6213:52;6258:6;6253:3;6246:4;6239:5;6235:16;6213:52;:::i;:::-;6290:29;6312:6;6290:29;:::i;:::-;6285:3;6281:39;6274:46;;6054:272;5962:364;;;;:::o;6332:366::-;6474:3;6495:67;6559:2;6554:3;6495:67;:::i;:::-;6488:74;;6571:93;6660:3;6571:93;:::i;:::-;6689:2;6684:3;6680:12;6673:19;;6332:366;;;:::o;6704:::-;6846:3;6867:67;6931:2;6926:3;6867:67;:::i;:::-;6860:74;;6943:93;7032:3;6943:93;:::i;:::-;7061:2;7056:3;7052:12;7045:19;;6704:366;;;:::o;7076:::-;7218:3;7239:67;7303:2;7298:3;7239:67;:::i;:::-;7232:74;;7315:93;7404:3;7315:93;:::i;:::-;7433:2;7428:3;7424:12;7417:19;;7076:366;;;:::o;7448:::-;7590:3;7611:67;7675:2;7670:3;7611:67;:::i;:::-;7604:74;;7687:93;7776:3;7687:93;:::i;:::-;7805:2;7800:3;7796:12;7789:19;;7448:366;;;:::o;7820:::-;7962:3;7983:67;8047:2;8042:3;7983:67;:::i;:::-;7976:74;;8059:93;8148:3;8059:93;:::i;:::-;8177:2;8172:3;8168:12;8161:19;;7820:366;;;:::o;8192:::-;8334:3;8355:67;8419:2;8414:3;8355:67;:::i;:::-;8348:74;;8431:93;8520:3;8431:93;:::i;:::-;8549:2;8544:3;8540:12;8533:19;;8192:366;;;:::o;8564:::-;8706:3;8727:67;8791:2;8786:3;8727:67;:::i;:::-;8720:74;;8803:93;8892:3;8803:93;:::i;:::-;8921:2;8916:3;8912:12;8905:19;;8564:366;;;:::o;8936:::-;9078:3;9099:67;9163:2;9158:3;9099:67;:::i;:::-;9092:74;;9175:93;9264:3;9175:93;:::i;:::-;9293:2;9288:3;9284:12;9277:19;;8936:366;;;:::o;9308:::-;9450:3;9471:67;9535:2;9530:3;9471:67;:::i;:::-;9464:74;;9547:93;9636:3;9547:93;:::i;:::-;9665:2;9660:3;9656:12;9649:19;;9308:366;;;:::o;9680:::-;9822:3;9843:67;9907:2;9902:3;9843:67;:::i;:::-;9836:74;;9919:93;10008:3;9919:93;:::i;:::-;10037:2;10032:3;10028:12;10021:19;;9680:366;;;:::o;10052:::-;10194:3;10215:67;10279:2;10274:3;10215:67;:::i;:::-;10208:74;;10291:93;10380:3;10291:93;:::i;:::-;10409:2;10404:3;10400:12;10393:19;;10052:366;;;:::o;10424:::-;10566:3;10587:67;10651:2;10646:3;10587:67;:::i;:::-;10580:74;;10663:93;10752:3;10663:93;:::i;:::-;10781:2;10776:3;10772:12;10765:19;;10424:366;;;:::o;10796:::-;10938:3;10959:67;11023:2;11018:3;10959:67;:::i;:::-;10952:74;;11035:93;11124:3;11035:93;:::i;:::-;11153:2;11148:3;11144:12;11137:19;;10796:366;;;:::o;11168:118::-;11255:24;11273:5;11255:24;:::i;:::-;11250:3;11243:37;11168:118;;:::o;11292:112::-;11375:22;11391:5;11375:22;:::i;:::-;11370:3;11363:35;11292:112;;:::o;11410:222::-;11503:4;11541:2;11530:9;11526:18;11518:26;;11554:71;11622:1;11611:9;11607:17;11598:6;11554:71;:::i;:::-;11410:222;;;;:::o;11638:332::-;11759:4;11797:2;11786:9;11782:18;11774:26;;11810:71;11878:1;11867:9;11863:17;11854:6;11810:71;:::i;:::-;11891:72;11959:2;11948:9;11944:18;11935:6;11891:72;:::i;:::-;11638:332;;;;;:::o;11976:::-;12097:4;12135:2;12124:9;12120:18;12112:26;;12148:71;12216:1;12205:9;12201:17;12192:6;12148:71;:::i;:::-;12229:72;12297:2;12286:9;12282:18;12273:6;12229:72;:::i;:::-;11976:332;;;;;:::o;12314:807::-;12563:4;12601:3;12590:9;12586:19;12578:27;;12615:71;12683:1;12672:9;12668:17;12659:6;12615:71;:::i;:::-;12696:72;12764:2;12753:9;12749:18;12740:6;12696:72;:::i;:::-;12778:80;12854:2;12843:9;12839:18;12830:6;12778:80;:::i;:::-;12868;12944:2;12933:9;12929:18;12920:6;12868:80;:::i;:::-;12958:73;13026:3;13015:9;13011:19;13002:6;12958:73;:::i;:::-;13041;13109:3;13098:9;13094:19;13085:6;13041:73;:::i;:::-;12314:807;;;;;;;;;:::o;13127:210::-;13214:4;13252:2;13241:9;13237:18;13229:26;;13265:65;13327:1;13316:9;13312:17;13303:6;13265:65;:::i;:::-;13127:210;;;;:::o;13343:313::-;13456:4;13494:2;13483:9;13479:18;13471:26;;13543:9;13537:4;13533:20;13529:1;13518:9;13514:17;13507:47;13571:78;13644:4;13635:6;13571:78;:::i;:::-;13563:86;;13343:313;;;;:::o;13662:419::-;13828:4;13866:2;13855:9;13851:18;13843:26;;13915:9;13909:4;13905:20;13901:1;13890:9;13886:17;13879:47;13943:131;14069:4;13943:131;:::i;:::-;13935:139;;13662:419;;;:::o;14087:::-;14253:4;14291:2;14280:9;14276:18;14268:26;;14340:9;14334:4;14330:20;14326:1;14315:9;14311:17;14304:47;14368:131;14494:4;14368:131;:::i;:::-;14360:139;;14087:419;;;:::o;14512:::-;14678:4;14716:2;14705:9;14701:18;14693:26;;14765:9;14759:4;14755:20;14751:1;14740:9;14736:17;14729:47;14793:131;14919:4;14793:131;:::i;:::-;14785:139;;14512:419;;;:::o;14937:::-;15103:4;15141:2;15130:9;15126:18;15118:26;;15190:9;15184:4;15180:20;15176:1;15165:9;15161:17;15154:47;15218:131;15344:4;15218:131;:::i;:::-;15210:139;;14937:419;;;:::o;15362:::-;15528:4;15566:2;15555:9;15551:18;15543:26;;15615:9;15609:4;15605:20;15601:1;15590:9;15586:17;15579:47;15643:131;15769:4;15643:131;:::i;:::-;15635:139;;15362:419;;;:::o;15787:::-;15953:4;15991:2;15980:9;15976:18;15968:26;;16040:9;16034:4;16030:20;16026:1;16015:9;16011:17;16004:47;16068:131;16194:4;16068:131;:::i;:::-;16060:139;;15787:419;;;:::o;16212:::-;16378:4;16416:2;16405:9;16401:18;16393:26;;16465:9;16459:4;16455:20;16451:1;16440:9;16436:17;16429:47;16493:131;16619:4;16493:131;:::i;:::-;16485:139;;16212:419;;;:::o;16637:::-;16803:4;16841:2;16830:9;16826:18;16818:26;;16890:9;16884:4;16880:20;16876:1;16865:9;16861:17;16854:47;16918:131;17044:4;16918:131;:::i;:::-;16910:139;;16637:419;;;:::o;17062:::-;17228:4;17266:2;17255:9;17251:18;17243:26;;17315:9;17309:4;17305:20;17301:1;17290:9;17286:17;17279:47;17343:131;17469:4;17343:131;:::i;:::-;17335:139;;17062:419;;;:::o;17487:::-;17653:4;17691:2;17680:9;17676:18;17668:26;;17740:9;17734:4;17730:20;17726:1;17715:9;17711:17;17704:47;17768:131;17894:4;17768:131;:::i;:::-;17760:139;;17487:419;;;:::o;17912:::-;18078:4;18116:2;18105:9;18101:18;18093:26;;18165:9;18159:4;18155:20;18151:1;18140:9;18136:17;18129:47;18193:131;18319:4;18193:131;:::i;:::-;18185:139;;17912:419;;;:::o;18337:::-;18503:4;18541:2;18530:9;18526:18;18518:26;;18590:9;18584:4;18580:20;18576:1;18565:9;18561:17;18554:47;18618:131;18744:4;18618:131;:::i;:::-;18610:139;;18337:419;;;:::o;18762:::-;18928:4;18966:2;18955:9;18951:18;18943:26;;19015:9;19009:4;19005:20;19001:1;18990:9;18986:17;18979:47;19043:131;19169:4;19043:131;:::i;:::-;19035:139;;18762:419;;;:::o;19187:222::-;19280:4;19318:2;19307:9;19303:18;19295:26;;19331:71;19399:1;19388:9;19384:17;19375:6;19331:71;:::i;:::-;19187:222;;;;:::o;19415:831::-;19678:4;19716:3;19705:9;19701:19;19693:27;;19730:71;19798:1;19787:9;19783:17;19774:6;19730:71;:::i;:::-;19811:80;19887:2;19876:9;19872:18;19863:6;19811:80;:::i;:::-;19938:9;19932:4;19928:20;19923:2;19912:9;19908:18;19901:48;19966:108;20069:4;20060:6;19966:108;:::i;:::-;19958:116;;20084:72;20152:2;20141:9;20137:18;20128:6;20084:72;:::i;:::-;20166:73;20234:3;20223:9;20219:19;20210:6;20166:73;:::i;:::-;19415:831;;;;;;;;:::o;20252:214::-;20341:4;20379:2;20368:9;20364:18;20356:26;;20392:67;20456:1;20445:9;20441:17;20432:6;20392:67;:::i;:::-;20252:214;;;;:::o;20553:132::-;20620:4;20643:3;20635:11;;20673:4;20668:3;20664:14;20656:22;;20553:132;;;:::o;20691:114::-;20758:6;20792:5;20786:12;20776:22;;20691:114;;;:::o;20811:99::-;20863:6;20897:5;20891:12;20881:22;;20811:99;;;:::o;20916:113::-;20986:4;21018;21013:3;21009:14;21001:22;;20916:113;;;:::o;21035:184::-;21134:11;21168:6;21163:3;21156:19;21208:4;21203:3;21199:14;21184:29;;21035:184;;;;:::o;21225:169::-;21309:11;21343:6;21338:3;21331:19;21383:4;21378:3;21374:14;21359:29;;21225:169;;;;:::o;21400:305::-;21440:3;21459:20;21477:1;21459:20;:::i;:::-;21454:25;;21493:20;21511:1;21493:20;:::i;:::-;21488:25;;21647:1;21579:66;21575:74;21572:1;21569:81;21566:107;;;21653:18;;:::i;:::-;21566:107;21697:1;21694;21690:9;21683:16;;21400:305;;;;:::o;21711:185::-;21751:1;21768:20;21786:1;21768:20;:::i;:::-;21763:25;;21802:20;21820:1;21802:20;:::i;:::-;21797:25;;21841:1;21831:35;;21846:18;;:::i;:::-;21831:35;21888:1;21885;21881:9;21876:14;;21711:185;;;;:::o;21902:348::-;21942:7;21965:20;21983:1;21965:20;:::i;:::-;21960:25;;21999:20;22017:1;21999:20;:::i;:::-;21994:25;;22187:1;22119:66;22115:74;22112:1;22109:81;22104:1;22097:9;22090:17;22086:105;22083:131;;;22194:18;;:::i;:::-;22083:131;22242:1;22239;22235:9;22224:20;;21902:348;;;;:::o;22256:191::-;22296:4;22316:20;22334:1;22316:20;:::i;:::-;22311:25;;22350:20;22368:1;22350:20;:::i;:::-;22345:25;;22389:1;22386;22383:8;22380:34;;;22394:18;;:::i;:::-;22380:34;22439:1;22436;22432:9;22424:17;;22256:191;;;;:::o;22453:96::-;22490:7;22519:24;22537:5;22519:24;:::i;:::-;22508:35;;22453:96;;;:::o;22555:90::-;22589:7;22632:5;22625:13;22618:21;22607:32;;22555:90;;;:::o;22651:126::-;22688:7;22728:42;22721:5;22717:54;22706:65;;22651:126;;;:::o;22783:77::-;22820:7;22849:5;22838:16;;22783:77;;;:::o;22866:86::-;22901:7;22941:4;22934:5;22930:16;22919:27;;22866:86;;;:::o;22958:121::-;23016:9;23049:24;23067:5;23049:24;:::i;:::-;23036:37;;22958:121;;;:::o;23085:307::-;23153:1;23163:113;23177:6;23174:1;23171:13;23163:113;;;23262:1;23257:3;23253:11;23247:18;23243:1;23238:3;23234:11;23227:39;23199:2;23196:1;23192:10;23187:15;;23163:113;;;23294:6;23291:1;23288:13;23285:101;;;23374:1;23365:6;23360:3;23356:16;23349:27;23285:101;23134:258;23085:307;;;:::o;23398:171::-;23437:3;23460:24;23478:5;23460:24;:::i;:::-;23451:33;;23506:4;23499:5;23496:15;23493:41;;;23514:18;;:::i;:::-;23493:41;23561:1;23554:5;23550:13;23543:20;;23398:171;;;:::o;23575:180::-;23623:77;23620:1;23613:88;23720:4;23717:1;23710:15;23744:4;23741:1;23734:15;23761:180;23809:77;23806:1;23799:88;23906:4;23903:1;23896:15;23930:4;23927:1;23920:15;23947:180;23995:77;23992:1;23985:88;24092:4;24089:1;24082:15;24116:4;24113:1;24106:15;24133:180;24181:77;24178:1;24171:88;24278:4;24275:1;24268:15;24302:4;24299:1;24292:15;24442:117;24551:1;24548;24541:12;24565:102;24606:6;24657:2;24653:7;24648:2;24641:5;24637:14;24633:28;24623:38;;24565:102;;;:::o;24673:162::-;24813:14;24809:1;24801:6;24797:14;24790:38;24673:162;:::o;24841:222::-;24981:34;24977:1;24969:6;24965:14;24958:58;25050:5;25045:2;25037:6;25033:15;25026:30;24841:222;:::o;25069:175::-;25209:27;25205:1;25197:6;25193:14;25186:51;25069:175;:::o;25250:229::-;25390:34;25386:1;25378:6;25374:14;25367:58;25459:12;25454:2;25446:6;25442:15;25435:37;25250:229;:::o;25485:221::-;25625:34;25621:1;25613:6;25609:14;25602:58;25694:4;25689:2;25681:6;25677:15;25670:29;25485:221;:::o;25712:177::-;25852:29;25848:1;25840:6;25836:14;25829:53;25712:177;:::o;25895:220::-;26035:34;26031:1;26023:6;26019:14;26012:58;26104:3;26099:2;26091:6;26087:15;26080:28;25895:220;:::o;26121:182::-;26261:34;26257:1;26249:6;26245:14;26238:58;26121:182;:::o;26309:228::-;26449:34;26445:1;26437:6;26433:14;26426:58;26518:11;26513:2;26505:6;26501:15;26494:36;26309:228;:::o;26543:224::-;26683:34;26679:1;26671:6;26667:14;26660:58;26752:7;26747:2;26739:6;26735:15;26728:32;26543:224;:::o;26773:176::-;26913:28;26909:1;26901:6;26897:14;26890:52;26773:176;:::o;26955:223::-;27095:34;27091:1;27083:6;27079:14;27072:58;27164:6;27159:2;27151:6;27147:15;27140:31;26955:223;:::o;27184:173::-;27324:25;27320:1;27312:6;27308:14;27301:49;27184:173;:::o;27363:122::-;27436:24;27454:5;27436:24;:::i;:::-;27429:5;27426:35;27416:63;;27475:1;27472;27465:12;27416:63;27363:122;:::o;27491:116::-;27561:21;27576:5;27561:21;:::i;:::-;27554:5;27551:32;27541:60;;27597:1;27594;27587:12;27541:60;27491:116;:::o;27613:122::-;27686:24;27704:5;27686:24;:::i;:::-;27679:5;27676:35;27666:63;;27725:1;27722;27715:12;27666:63;27613:122;:::o

Swarm Source

ipfs://1aafdb8f993f25ebe6cc091c2e462cc1c093197ecde66131db85ecd9c0a8e0bd

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.