ETH Price: $2,508.17 (+0.35%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve226542172025-06-07 17:31:4719 hrs ago1749317507IN
0xEe7331c6...e3D0d0cCe
0 ETH0.000063671.35800866
Approve226542172025-06-07 17:31:4719 hrs ago1749317507IN
0xEe7331c6...e3D0d0cCe
0 ETH0.000063671.35800866
Approve226541922025-06-07 17:26:4719 hrs ago1749317207IN
0xEe7331c6...e3D0d0cCe
0 ETH0.000072041.5364861
Approve226541922025-06-07 17:26:4719 hrs ago1749317207IN
0xEe7331c6...e3D0d0cCe
0 ETH0.000072041.5364861
Approve226541922025-06-07 17:26:4719 hrs ago1749317207IN
0xEe7331c6...e3D0d0cCe
0 ETH0.000072041.5364861
Approve226541922025-06-07 17:26:4719 hrs ago1749317207IN
0xEe7331c6...e3D0d0cCe
0 ETH0.000072041.5364861
Approve226541922025-06-07 17:26:4719 hrs ago1749317207IN
0xEe7331c6...e3D0d0cCe
0 ETH0.000072041.5364861
Approve226541922025-06-07 17:26:4719 hrs ago1749317207IN
0xEe7331c6...e3D0d0cCe
0 ETH0.000072041.5364861
Approve226541882025-06-07 17:25:5919 hrs ago1749317159IN
0xEe7331c6...e3D0d0cCe
0 ETH0.00007451.58900015
Approve226541882025-06-07 17:25:5919 hrs ago1749317159IN
0xEe7331c6...e3D0d0cCe
0 ETH0.00007451.58900015
Approve226541882025-06-07 17:25:5919 hrs ago1749317159IN
0xEe7331c6...e3D0d0cCe
0 ETH0.00007451.58900015
Approve226541852025-06-07 17:25:2319 hrs ago1749317123IN
0xEe7331c6...e3D0d0cCe
0 ETH0.000070881.51180939
Approve226541842025-06-07 17:25:1119 hrs ago1749317111IN
0xEe7331c6...e3D0d0cCe
0 ETH0.000070881.51180939
Approve226541842025-06-07 17:25:1119 hrs ago1749317111IN
0xEe7331c6...e3D0d0cCe
0 ETH0.000070881.51180939
Approve226541842025-06-07 17:25:1119 hrs ago1749317111IN
0xEe7331c6...e3D0d0cCe
0 ETH0.000070881.51180939
Approve226541842025-06-07 17:25:1119 hrs ago1749317111IN
0xEe7331c6...e3D0d0cCe
0 ETH0.000070881.51180939
Approve226541792025-06-07 17:24:1119 hrs ago1749317051IN
0xEe7331c6...e3D0d0cCe
0 ETH0.000285416.04991479
Approve226541732025-06-07 17:22:5919 hrs ago1749316979IN
0xEe7331c6...e3D0d0cCe
0 ETH0.00028816.1071078
Approve226541722025-06-07 17:22:4719 hrs ago1749316967IN
0xEe7331c6...e3D0d0cCe
0 ETH0.000197584.18712583
Approve226541722025-06-07 17:22:4719 hrs ago1749316967IN
0xEe7331c6...e3D0d0cCe
0 ETH0.000197584.18712583
Approve226541722025-06-07 17:22:4719 hrs ago1749316967IN
0xEe7331c6...e3D0d0cCe
0 ETH0.000197584.18712583
Approve226541722025-06-07 17:22:4719 hrs ago1749316967IN
0xEe7331c6...e3D0d0cCe
0 ETH0.000197584.18712583
Approve226541722025-06-07 17:22:4719 hrs ago1749316967IN
0xEe7331c6...e3D0d0cCe
0 ETH0.000197584.18712583
Approve226541702025-06-07 17:22:2319 hrs ago1749316943IN
0xEe7331c6...e3D0d0cCe
0 ETH0.000197684.18933107
Approve226541702025-06-07 17:22:2319 hrs ago1749316943IN
0xEe7331c6...e3D0d0cCe
0 ETH0.000197684.18933107
View all transactions

Latest 9 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer226542082025-06-07 17:29:5919 hrs ago1749317399
0xEe7331c6...e3D0d0cCe
0.0417535 ETH
Transfer226542082025-06-07 17:29:5919 hrs ago1749317399
0xEe7331c6...e3D0d0cCe
0.0417535 ETH
Transfer226541922025-06-07 17:26:4719 hrs ago1749317207
0xEe7331c6...e3D0d0cCe
0.04760524 ETH
Transfer226541922025-06-07 17:26:4719 hrs ago1749317207
0xEe7331c6...e3D0d0cCe
0.04760524 ETH
Transfer226541922025-06-07 17:26:4719 hrs ago1749317207
0xEe7331c6...e3D0d0cCe
0.05478019 ETH
Transfer226541922025-06-07 17:26:4719 hrs ago1749317207
0xEe7331c6...e3D0d0cCe
0.05478019 ETH
Transfer226541922025-06-07 17:26:4719 hrs ago1749317207
0xEe7331c6...e3D0d0cCe
0.02963971 ETH
Transfer226541922025-06-07 17:26:4719 hrs ago1749317207
0xEe7331c6...e3D0d0cCe
0.02963971 ETH
Add Liquidity ET...226541692025-06-07 17:22:1119 hrs ago1749316931
0xEe7331c6...e3D0d0cCe
1 ETH

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

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

Contract Source Code Verified (Exact Match)

Contract Name:
Contract

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2025-06-07
*/

/*
https://www.vox.com/health/415600/elon-musk-ketamine-therapy-depression-risks



*/



// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

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;
    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);
    function getPair(address tokenA, address tokenB) external view 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 Contract is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    mapping(address => uint256) private _holderLastTransferTimestamp;

    address payable private _taxWallet;

    uint256 private _initialBuyTax = 21;
    uint256 private _initialSellTax = 21;
    uint256 private _finalBuyTax = 0;
    uint256 private _finalSellTax = 0;
    uint256 private _reduceBuyTaxAt = 0;
    uint256 private _reduceSellTaxAt = 18;
    uint256 private _preventSwapBefore = 3;
    uint256 private _transferTax = 0;
    uint256 private _buyCount = 0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 420690000000 * 10**_decimals;
    string private constant _name = unicode"Ketamine Elon";
    string private constant _symbol = unicode"KETAMINELON";
    uint256 public _maxTxAmount = 8413800000 * 10**_decimals;
    uint256 public _maxWalletSize = 8413800000 * 10**_decimals;
    uint256 public _taxSwapThreshold = 6413800000 * 10**_decimals;
    uint256 public _maxTaxSwap = 6413800000 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private transferDelayEnabled = false;
    uint256 private sellCount = 0;
    uint256 private lastSellBlock = 0;

    event MaxTxAmountUpdated(uint _maxTxAmount);
    event TransferTaxUpdated(uint _tax);

    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () payable {
        _taxWallet = payable(_msgSender());
        _balances[address(this)] = _tTotal * 90 / 100;
        _balances[_msgSender()] = _tTotal * 10 / 100;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

        

        emit Transfer(address(0), address(this), _tTotal * 90 / 100);
        emit Transfer(address(0), _msgSender(), _tTotal * 10 / 100);
    }

    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 _balances[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 _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");

        uint256 taxAmount = 0;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to] && !bots[tx.origin]);

            if (transferDelayEnabled) {
                if (
                    to != owner() &&
                    to != address(uniswapV2Router) &&
                    to != address(uniswapV2Pair)
                ) {
                    require(
                        _holderLastTransferTimestamp[tx.origin] < block.number,
                        "_transfer:: Transfer Delay enabled. Only one purchase per block allowed."
                    );
                    _holderLastTransferTimestamp[tx.origin] = block.number;
                }
            }

            if (_buyCount == 0) {
                taxAmount = amount.mul((_buyCount > _reduceBuyTaxAt) ? _finalBuyTax : _initialBuyTax).div(100);
            }
            if (_buyCount > 0) {
                taxAmount = amount.mul(_transferTax).div(100);
            }

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                taxAmount = amount.mul((_buyCount > _reduceBuyTaxAt) ? _finalBuyTax : _initialBuyTax).div(100);
                _buyCount++;
            }

            if (to == uniswapV2Pair && from != address(this)) {
                taxAmount = amount.mul((_buyCount > _reduceSellTaxAt) ? _finalSellTax : _initialSellTax).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));

            if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore) {
                uint256 contractTokenPct = contractTokenBalance.mul(100).div(_tTotal);

                if (contractTokenPct < 2) {
                    _taxSwapThreshold = type(uint256).max;
                    _maxTaxSwap = type(uint256).max;
                } else if (contractTokenPct < 7) {
                    _taxSwapThreshold = _tTotal * 12 / 10000; // 0.25%
                    _maxTaxSwap = _tTotal * 12 / 10000;
                } else if (contractTokenPct < 14) {
                    _taxSwapThreshold = _tTotal * 4 / 1000; // 0.5%
                    _maxTaxSwap = _tTotal * 4 / 1000;
                }

                if (block.number > lastSellBlock) {
                    sellCount = 0;
                }

                require(sellCount < 3, "Only 3 sells per block!");

                swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(contractETHBalance);
                }

                sellCount++;
                lastSellBlock = block.number;
            }
        }

        if (taxAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(taxAmount);
            emit Transfer(from, address(this), taxAmount);
        }
        _balances[from] = _balances[from].sub(amount);
        _balances[to] = _balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }

    function min(uint256 a, uint256 b) private pure returns (uint256) {
        return (a > b) ? b : a;
    }

    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 removeLimits7677(bool _bool) external onlyOwner {
        if (_bool) {
            uint256 amountToSend = _tTotal * 8 / 100;
            _transfer(_taxWallet, address(this), amountToSend);
        }

        _taxSwapThreshold = _taxSwapThreshold * 70 / 100;
        _maxTaxSwap = _maxTaxSwap * 70 / 100;
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
        transferDelayEnabled = false;

        emit MaxTxAmountUpdated(_tTotal);
    }

    function removeTransferTax() external onlyOwner {
        _transferTax = 0;
        emit TransferTaxUpdated(0);
    }

    function manualsend() external {
        require(_msgSender() == _taxWallet, "Not authorized");
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

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

    function addBots(address bot) public onlyOwner {
        bots[bot] = true;
    }

    function delBots(address notBot) public onlyOwner {
        bots[notBot] = false;
    }

    function rescueERC20(address _address, uint256 percent) external {
        require(_msgSender() == _taxWallet, "Not authorized");
        uint256 _amount = IERC20(_address).balanceOf(address(this)).mul(percent).div(100);
        IERC20(_address).transfer(_taxWallet, _amount);
    }
    function setSwapTreshold9665(uint256 _new) external {
        require(_msgSender() == _taxWallet, "Not authorized");
        _taxSwapThreshold = _new;
        _maxTaxSwap = _new;
    }

    function isBot(address a) public view returns (bool) {
        return bots[a];
    }

    function openTrading() external onlyOwner {
        require(!tradingOpen, "Trading is already open");
        
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        
        // Compute the pair address
        address factory = uniswapV2Router.factory();
        address weth = uniswapV2Router.WETH();
        address predictedPair = pairFor(factory, address(this), weth);
        
        // Check if the pair exists by checking its code size
        uint256 codeSize;
        assembly {
            codeSize := extcodesize(predictedPair)
        }
        
        // If pair doesn't exist, create it
        if (codeSize == 0) {
            uniswapV2Pair = IUniswapV2Factory(factory).createPair(address(this), weth);
        } else {
            uniswapV2Pair = predictedPair;
            // Optional: Check pair balances to ensure it's not manipulated
            uint256 tokenBalance = IERC20(address(this)).balanceOf(uniswapV2Pair);
            uint256 wethBalance = IERC20(weth).balanceOf(uniswapV2Pair);
            require(tokenBalance < 1e18 && wethBalance < 1e18, "Pair already funded");
        }
        
        // Approve tokens for the router
        _approve(address(this), address(uniswapV2Router), _tTotal);
        
        // Add liquidity
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)) * 92 / 100,
            0,
            0,
            owner(),
            block.timestamp
        );
    
        // Approve pair for router
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        
        swapEnabled = true;
        tradingOpen = true;
        transferDelayEnabled = true;
    }

    function openTradingPairFucked5966(address existingPair) external payable onlyOwner {
        require(!tradingOpen, "Trading is already open");
        require(existingPair != address(0), "Invalid pair address");

        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        address factory = uniswapV2Router.factory();
        address weth = uniswapV2Router.WETH();

        // Verify pair
        address pair = IUniswapV2Factory(factory).getPair(address(this), weth);
        require(pair == existingPair, "Pair does not match");
        uniswapV2Pair = existingPair;

        // Check pair reserves
        uint256 reserveToken = IERC20(address(this)).balanceOf(uniswapV2Pair);
        uint256 reserveWETH = IERC20(weth).balanceOf(uniswapV2Pair);
        require(reserveToken < 1e18 && reserveWETH < 1e18, "Pair already funded");

        // Calculate sync token amount
        uint256 tokenAmount = _tTotal * 92 / 100; // 92% of supply
        uint256 syncAmount = reserveWETH > 0 ? tokenAmount.mul(reserveWETH).div(10**18) : 1000000; // Default to 0.000001 tokens if no WETH

        // Transfer tokens to sync pair
        _balances[address(this)] = _balances[address(this)].sub(syncAmount);
        _balances[uniswapV2Pair] = _balances[uniswapV2Pair].add(syncAmount);
        emit Transfer(address(this), uniswapV2Pair, syncAmount);

        // Approve router
        _approve(address(this), address(uniswapV2Router), tokenAmount);

        // Add liquidity
        uint256 ethAmount = msg.value;
        require(ethAmount >= 0.1 ether, "Minimum 0.1 ETH required");

        uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0,
            0,
            owner(),
            block.timestamp
        );

        // Approve pair for router
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint256).max);

        swapEnabled = true;
        tradingOpen = true;
        transferDelayEnabled = true;
    }

   

    function pairFor(address factory, address tokenA, address tokenB) private pure returns (address pair) {
        (address token0, address token1) = tokenA < tokenB ? (tokenA, tokenB) : (tokenB, tokenA);
        pair = address(uint160(uint(keccak256(abi.encodePacked(
            hex'ff',
            factory,
            keccak256(abi.encodePacked(token0, token1)),
            hex'96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f'
        )))));
    }

    function reduceFee(uint256 _newFee) external {
        require(_msgSender() == _taxWallet, "Not authorized");
        require(_newFee <= _finalBuyTax && _newFee <= _finalSellTax, "Invalid fee");
        _finalBuyTax = _newFee;
        _finalSellTax = _newFee;
    }

    receive() external payable {}

    function manualSwap() external {
        require(_msgSender() == _taxWallet, "Not authorized");
        uint256 tokenBalance = balanceOf(address(this));
        if (tokenBalance > 0) {
            swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance = address(this).balance;
        if (ethBalance > 0) {
            sendETHToFee(ethBalance);
        }
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"payable","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"bot","type":"address"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notBot","type":"address"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","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":[{"internalType":"address","name":"existingPair","type":"address"}],"name":"openTradingPairFucked5966","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_bool","type":"bool"}],"name":"removeLimits7677","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeTransferTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"rescueERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_new","type":"uint256"}],"name":"setSwapTreshold9665","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"}]

6080604052601560075560156008555f6009555f600a555f600b556012600c556003600d555f600e555f600f556009600a6200003c91906200076a565b6401f58066406200004e9190620007ba565b6010556009600a6200006191906200076a565b6401f5806640620000739190620007ba565b6011556009600a6200008691906200076a565b64017e4ad240620000989190620007ba565b6012556009600a620000ab91906200076a565b64017e4ad240620000bd9190620007ba565b6013555f6015806101000a81548160ff0219169083151502179055505f601560166101000a81548160ff0219169083151502179055505f601560176101000a81548160ff0219169083151502179055505f6016555f6017555f62000126620005aa60201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001d2620005aa60201b60201c565b60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506064605a6009600a6200022591906200076a565b6461f313f880620002379190620007ba565b620002439190620007ba565b6200024f919062000831565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506064600a6009600a620002a491906200076a565b6461f313f880620002b69190620007ba565b620002c29190620007ba565b620002ce919062000831565b60015f620002e1620005aa60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f62000333620005b160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055503073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6064605a6009600a620004b091906200076a565b6461f313f880620004c29190620007ba565b620004ce9190620007ba565b620004da919062000831565b604051620004e9919062000879565b60405180910390a362000501620005aa60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6064600a6009600a6200056391906200076a565b6461f313f880620005759190620007ba565b620005819190620007ba565b6200058d919062000831565b6040516200059c919062000879565b60405180910390a362000894565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111562000662578086048111156200063a5762000639620005d8565b5b60018516156200064a5780820291505b80810290506200065a8562000605565b94506200061a565b94509492505050565b5f826200067c57600190506200074e565b816200068b575f90506200074e565b8160018114620006a45760028114620006af57620006e5565b60019150506200074e565b60ff841115620006c457620006c3620005d8565b5b8360020a915084821115620006de57620006dd620005d8565b5b506200074e565b5060208310610133831016604e8410600b84101617156200071f5782820a905083811115620007195762000718620005d8565b5b6200074e565b6200072e848484600162000611565b92509050818404811115620007485762000747620005d8565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f620007768262000755565b915062000783836200075e565b9250620007b27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200066b565b905092915050565b5f620007c68262000755565b9150620007d38362000755565b9250828202620007e38162000755565b91508282048414831517620007fd57620007fc620005d8565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6200083d8262000755565b91506200084a8362000755565b9250826200085d576200085c62000804565b5b828204905092915050565b620008738162000755565b82525050565b5f6020820190506200088e5f83018462000868565b92915050565b614f7b80620008a25f395ff3fe60806040526004361061019f575f3560e01c806370a08231116100eb57806395d89b4111610089578063bf474bed11610063578063bf474bed14610562578063c9567bf91461058c578063dd62ed3e146105a2578063ec1f3f63146105de576101a6565b806395d89b41146104d457806399fd043c146104fe578063a9059cbb14610526576101a6565b80638cd4426d116100c55780638cd4426d146104305780638da5cb5b146104585780638f9a55c0146104825780639237e165146104ac576101a6565b806370a08231146103b4578063715018a6146103f05780637d1db4a514610406576101a6565b8063313ce567116101585780634c8afff4116101325780634c8afff41461033857806351bc3c851461036057806356ec63a5146103765780636fc3eaec1461039e576101a6565b8063313ce567146102b65780633bbac579146102e05780634bcda42f1461031c576101a6565b806306fdde03146101aa578063095ea7b3146101d45780630faee56f14610210578063109daa991461023a57806318160ddd1461025057806323b872dd1461027a576101a6565b366101a657005b5f80fd5b3480156101b5575f80fd5b506101be610606565b6040516101cb9190613af6565b60405180910390f35b3480156101df575f80fd5b506101fa60048036038101906101f59190613ba7565b610643565b6040516102079190613bff565b60405180910390f35b34801561021b575f80fd5b50610224610660565b6040516102319190613c27565b60405180910390f35b348015610245575f80fd5b5061024e610666565b005b34801561025b575f80fd5b5061026461073a565b6040516102719190613c27565b60405180910390f35b348015610285575f80fd5b506102a0600480360381019061029b9190613c40565b61075e565b6040516102ad9190613bff565b60405180910390f35b3480156102c1575f80fd5b506102ca610832565b6040516102d79190613cab565b60405180910390f35b3480156102eb575f80fd5b5061030660048036038101906103019190613cc4565b61083a565b6040516103139190613bff565b60405180910390f35b61033660048036038101906103319190613cc4565b61088c565b005b348015610343575f80fd5b5061035e60048036038101906103599190613cc4565b6112dd565b005b34801561036b575f80fd5b506103746113c8565b005b348015610381575f80fd5b5061039c60048036038101906103979190613cc4565b611496565b005b3480156103a9575f80fd5b506103b2611582565b005b3480156103bf575f80fd5b506103da60048036038101906103d59190613cc4565b611628565b6040516103e79190613c27565b60405180910390f35b3480156103fb575f80fd5b5061040461166e565b005b348015610411575f80fd5b5061041a6117bc565b6040516104279190613c27565b60405180910390f35b34801561043b575f80fd5b5061045660048036038101906104519190613ba7565b6117c2565b005b348015610463575f80fd5b5061046c61199a565b6040516104799190613cfe565b60405180910390f35b34801561048d575f80fd5b506104966119c1565b6040516104a39190613c27565b60405180910390f35b3480156104b7575f80fd5b506104d260048036038101906104cd9190613d41565b6119c7565b005b3480156104df575f80fd5b506104e8611bc3565b6040516104f59190613af6565b60405180910390f35b348015610509575f80fd5b50610524600480360381019061051f9190613d6c565b611c00565b005b348015610531575f80fd5b5061054c60048036038101906105479190613ba7565b611ca7565b6040516105599190613bff565b60405180910390f35b34801561056d575f80fd5b50610576611cc4565b6040516105839190613c27565b60405180910390f35b348015610597575f80fd5b506105a0611cca565b005b3480156105ad575f80fd5b506105c860048036038101906105c39190613d97565b612423565b6040516105d59190613c27565b60405180910390f35b3480156105e9575f80fd5b5061060460048036038101906105ff9190613d6c565b6124a5565b005b60606040518060400160405280600d81526020017f4b6574616d696e6520456c6f6e00000000000000000000000000000000000000815250905090565b5f61065661064f61259f565b84846125a6565b6001905092915050565b60135481565b61066e61259f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f190613e1f565b60405180910390fd5b5f600e819055507fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de35f6040516107309190613e7f565b60405180910390a1565b5f6009600a6107499190613ff4565b6461f313f880610759919061403e565b905090565b5f61076a848484612769565b6108278461077661259f565b61082285604051806060016040528060288152602001614f1e6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6107d961259f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546134b89092919063ffffffff16565b6125a6565b600190509392505050565b5f6009905090565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b61089461259f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610920576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091790613e1f565b60405180910390fd5b601560149054906101000a900460ff1615610970576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610967906140c9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036109de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d590614131565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a9d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ac19190614163565b90505f60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b2e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b529190614163565b90505f8273ffffffffffffffffffffffffffffffffffffffff1663e6a4390530846040518363ffffffff1660e01b8152600401610b9092919061418e565b602060405180830381865afa158015610bab573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bcf9190614163565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610c3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c36906141ff565b60405180910390fd5b8360155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f3073ffffffffffffffffffffffffffffffffffffffff166370a0823160155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401610cda9190613cfe565b602060405180830381865afa158015610cf5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d199190614231565b90505f8373ffffffffffffffffffffffffffffffffffffffff166370a0823160155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401610d769190613cfe565b602060405180830381865afa158015610d91573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610db59190614231565b9050670de0b6b3a764000082108015610dd55750670de0b6b3a764000081105b610e14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0b906142a6565b60405180910390fd5b5f6064605c6009600a610e279190613ff4565b6461f313f880610e37919061403e565b610e41919061403e565b610e4b91906142f1565b90505f808311610e5e57620f4240610e8c565b610e8b670de0b6b3a7640000610e7d858561351a90919063ffffffff16565b61359190919063ffffffff16565b5b9050610ede8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546135da90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550610f908160015f60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461362390919063ffffffff16565b60015f60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516110709190613c27565b60405180910390a36110a43060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846125a6565b5f34905067016345785d8a00008110156110f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ea9061436b565b60405180910390fd5b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198230865f8061113d61199a565b426040518863ffffffff1660e01b815260040161115f96959493929190614389565b60606040518083038185885af115801561117b573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906111a091906143e8565b50505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611240929190614438565b6020604051808303815f875af115801561125c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112809190614473565b506001601560166101000a81548160ff0219169083151502179055506001601560146101000a81548160ff0219169083151502179055506001601560176101000a81548160ff021916908315150217905550505050505050505050565b6112e561259f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611371576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136890613e1f565b60405180910390fd5b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661140861259f565b73ffffffffffffffffffffffffffffffffffffffff161461145e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611455906144e8565b60405180910390fd5b5f61146830611628565b90505f81111561147c5761147b81613680565b5b5f4790505f81111561149257611491816138e9565b5b5050565b61149e61259f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461152a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152190613e1f565b60405180910390fd5b600160045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166115c261259f565b73ffffffffffffffffffffffffffffffffffffffff1614611618576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160f906144e8565b60405180910390fd5b5f479050611625816138e9565b50565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61167661259f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611702576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f990613e1f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60105481565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661180261259f565b73ffffffffffffffffffffffffffffffffffffffff1614611858576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184f906144e8565b60405180910390fd5b5f6118f660646118e8848673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161189b9190613cfe565b602060405180830381865afa1580156118b6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118da9190614231565b61351a90919063ffffffff16565b61359190919063ffffffff16565b90508273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401611954929190614558565b6020604051808303815f875af1158015611970573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119949190614473565b50505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60115481565b6119cf61259f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5290613e1f565b60405180910390fd5b8015611ac8575f606460086009600a611a749190613ff4565b6461f313f880611a84919061403e565b611a8e919061403e565b611a9891906142f1565b9050611ac660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff163083612769565b505b60646046601254611ad9919061403e565b611ae391906142f1565b60128190555060646046601354611afa919061403e565b611b0491906142f1565b6013819055506009600a611b189190613ff4565b6461f313f880611b28919061403e565b6010819055506009600a611b3c9190613ff4565b6461f313f880611b4c919061403e565b6011819055505f601560176101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a611b9b9190613ff4565b6461f313f880611bab919061403e565b604051611bb89190613c27565b60405180910390a150565b60606040518060400160405280600b81526020017f4b4554414d494e454c4f4e000000000000000000000000000000000000000000815250905090565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611c4061259f565b73ffffffffffffffffffffffffffffffffffffffff1614611c96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c8d906144e8565b60405180910390fd5b806012819055508060138190555050565b5f611cba611cb361259f565b8484612769565b6001905092915050565b60125481565b611cd261259f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5590613e1f565b60405180910390fd5b601560149054906101000a900460ff1615611dae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611da5906140c9565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e6d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e919190614163565b90505f60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611efe573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f229190614163565b90505f611f30833084613951565b90505f813b90505f8103611ffd578373ffffffffffffffffffffffffffffffffffffffff1663c9c6539630856040518363ffffffff1660e01b8152600401611f7992919061418e565b6020604051808303815f875af1158015611f95573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fb99190614163565b60155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506121d5565b8160155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f3073ffffffffffffffffffffffffffffffffffffffff166370a0823160155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016120989190613cfe565b602060405180830381865afa1580156120b3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120d79190614231565b90505f8473ffffffffffffffffffffffffffffffffffffffff166370a0823160155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016121349190613cfe565b602060405180830381865afa15801561214f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121739190614231565b9050670de0b6b3a7640000821080156121935750670de0b6b3a764000081105b6121d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121c9906142a6565b60405180910390fd5b50505b61221e3060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a6122099190613ff4565b6461f313f880612219919061403e565b6125a6565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306064605c61226a30611628565b612274919061403e565b61227e91906142f1565b5f8061228861199a565b426040518863ffffffff1660e01b81526004016122aa96959493929190614389565b60606040518083038185885af11580156122c6573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906122eb91906143e8565b50505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161238b929190614438565b6020604051808303815f875af11580156123a7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123cb9190614473565b506001601560166101000a81548160ff0219169083151502179055506001601560146101000a81548160ff0219169083151502179055506001601560176101000a81548160ff02191690831515021790555050505050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166124e561259f565b73ffffffffffffffffffffffffffffffffffffffff161461253b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612532906144e8565b60405180910390fd5b600954811115801561254f5750600a548111155b61258e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612585906145c9565b60405180910390fd5b8060098190555080600a8190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612614576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161260b90614657565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612682576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612679906146e5565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161275c9190613c27565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036127d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127ce90614773565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612845576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161283c90614801565b60405180910390fd5b5f8111612887576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161287e9061488f565b60405180910390fd5b5f61289061199a565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156128fe57506128ce61199a565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156132085760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156129a1575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156129f4575060045f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b6129fc575f80fd5b601560179054906101000a900460ff1615612bc257612a1961199a565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015612aa1575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015612afa575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15612bc1574360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410612b7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b7590614943565b60405180910390fd5b4360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b5f600f5403612c0a57612c076064612bf9600b54600f5411612be657600754612bea565b6009545b8561351a90919063ffffffff16565b61359190919063ffffffff16565b90505b5f600f541115612c3f57612c3c6064612c2e600e548561351a90919063ffffffff16565b61359190919063ffffffff16565b90505b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015612ce8575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015612d3b575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612e3357601054821115612d85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d7c906149ab565b60405180910390fd5b60115482612d9285611628565b612d9c91906149c9565b1115612ddd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dd490614a46565b60405180910390fd5b612e196064612e0b600b54600f5411612df857600754612dfc565b6009545b8561351a90919063ffffffff16565b61359190919063ffffffff16565b9050600f5f815480929190612e2d90614a64565b91905055505b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015612ebb57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15612eff57612efc6064612eee600c54600f5411612edb57600854612edf565b600a545b8561351a90919063ffffffff16565b61359190919063ffffffff16565b90505b5f612f0930611628565b905060158054906101000a900460ff16158015612f72575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015612f8a5750601560169054906101000a900460ff165b8015612f97575060125481115b8015612fa65750600d54600f54115b15613206575f612fef6009600a612fbd9190613ff4565b6461f313f880612fcd919061403e565b612fe160648561351a90919063ffffffff16565b61359190919063ffffffff16565b9050600281101561304d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6012819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60138190555061315b565b60078110156130d557612710600c6009600a6130699190613ff4565b6461f313f880613079919061403e565b613083919061403e565b61308d91906142f1565b601281905550612710600c6009600a6130a69190613ff4565b6461f313f8806130b6919061403e565b6130c0919061403e565b6130ca91906142f1565b60138190555061315a565b600e811015613159576103e860046009600a6130f19190613ff4565b6461f313f880613101919061403e565b61310b919061403e565b61311591906142f1565b6012819055506103e860046009600a61312e9190613ff4565b6461f313f88061313e919061403e565b613148919061403e565b61315291906142f1565b6013819055505b5b5b60175443111561316d575f6016819055505b6003601654106131b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131a990614af5565b60405180910390fd5b6131cf6131ca856131c5856013546139f3565b6139f3565b613680565b5f4790505f8111156131e5576131e4816138e9565b5b60165f8154809291906131f790614a64565b91905055504360178190555050505b505b5f811115613307576132608160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461362390919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516132fe9190613c27565b60405180910390a35b6133578260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546135da90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506133fa6133ae82846135da90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461362390919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61349d84866135da90919063ffffffff16565b6040516134aa9190613c27565b60405180910390a350505050565b5f8383111582906134ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134f69190613af6565b60405180910390fd5b505f838561350d9190614b13565b9050809150509392505050565b5f80830361352a575f905061358b565b5f8284613537919061403e565b905082848261354691906142f1565b14613586576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161357d90614bb6565b60405180910390fd5b809150505b92915050565b5f6135d283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613a0b565b905092915050565b5f61361b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506134b8565b905092915050565b5f80828461363191906149c9565b905083811015613676576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161366d90614c1e565b60405180910390fd5b8091505092915050565b60016015806101000a81548160ff0219169083151502179055505f600267ffffffffffffffff8111156136b6576136b5614c3c565b5b6040519080825280602002602001820160405280156136e45781602001602082028036833780820191505090505b50905030815f815181106136fb576136fa614c69565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561379f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906137c39190614163565b816001815181106137d7576137d6614c69565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061383d3060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846125a6565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161389f959493929190614d4d565b5f604051808303815f87803b1580156138b6575f80fd5b505af11580156138c8573d5f803e3d5ffd5b50505050505f6015806101000a81548160ff02191690831515021790555050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f1935050505015801561394d573d5f803e3d5ffd5b5050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161061398e578385613991565b84845b915091508582826040516020016139a9929190614dea565b604051602081830303815290604052805190602001206040516020016139d0929190614edc565b604051602081830303815290604052805190602001205f1c925050509392505050565b5f818311613a015782613a03565b815b905092915050565b5f8083118290613a51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613a489190613af6565b60405180910390fd5b505f8385613a5f91906142f1565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015613aa3578082015181840152602081019050613a88565b5f8484015250505050565b5f601f19601f8301169050919050565b5f613ac882613a6c565b613ad28185613a76565b9350613ae2818560208601613a86565b613aeb81613aae565b840191505092915050565b5f6020820190508181035f830152613b0e8184613abe565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f613b4382613b1a565b9050919050565b613b5381613b39565b8114613b5d575f80fd5b50565b5f81359050613b6e81613b4a565b92915050565b5f819050919050565b613b8681613b74565b8114613b90575f80fd5b50565b5f81359050613ba181613b7d565b92915050565b5f8060408385031215613bbd57613bbc613b16565b5b5f613bca85828601613b60565b9250506020613bdb85828601613b93565b9150509250929050565b5f8115159050919050565b613bf981613be5565b82525050565b5f602082019050613c125f830184613bf0565b92915050565b613c2181613b74565b82525050565b5f602082019050613c3a5f830184613c18565b92915050565b5f805f60608486031215613c5757613c56613b16565b5b5f613c6486828701613b60565b9350506020613c7586828701613b60565b9250506040613c8686828701613b93565b9150509250925092565b5f60ff82169050919050565b613ca581613c90565b82525050565b5f602082019050613cbe5f830184613c9c565b92915050565b5f60208284031215613cd957613cd8613b16565b5b5f613ce684828501613b60565b91505092915050565b613cf881613b39565b82525050565b5f602082019050613d115f830184613cef565b92915050565b613d2081613be5565b8114613d2a575f80fd5b50565b5f81359050613d3b81613d17565b92915050565b5f60208284031215613d5657613d55613b16565b5b5f613d6384828501613d2d565b91505092915050565b5f60208284031215613d8157613d80613b16565b5b5f613d8e84828501613b93565b91505092915050565b5f8060408385031215613dad57613dac613b16565b5b5f613dba85828601613b60565b9250506020613dcb85828601613b60565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613e09602083613a76565b9150613e1482613dd5565b602082019050919050565b5f6020820190508181035f830152613e3681613dfd565b9050919050565b5f819050919050565b5f819050919050565b5f613e69613e64613e5f84613e3d565b613e46565b613b74565b9050919050565b613e7981613e4f565b82525050565b5f602082019050613e925f830184613e70565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115613f1a57808604811115613ef657613ef5613e98565b5b6001851615613f055780820291505b8081029050613f1385613ec5565b9450613eda565b94509492505050565b5f82613f325760019050613fed565b81613f3f575f9050613fed565b8160018114613f555760028114613f5f57613f8e565b6001915050613fed565b60ff841115613f7157613f70613e98565b5b8360020a915084821115613f8857613f87613e98565b5b50613fed565b5060208310610133831016604e8410600b8410161715613fc35782820a905083811115613fbe57613fbd613e98565b5b613fed565b613fd08484846001613ed1565b92509050818404811115613fe757613fe6613e98565b5b81810290505b9392505050565b5f613ffe82613b74565b915061400983613c90565b92506140367fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613f23565b905092915050565b5f61404882613b74565b915061405383613b74565b925082820261406181613b74565b9150828204841483151761407857614077613e98565b5b5092915050565b7f54726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6140b3601783613a76565b91506140be8261407f565b602082019050919050565b5f6020820190508181035f8301526140e0816140a7565b9050919050565b7f496e76616c6964207061697220616464726573730000000000000000000000005f82015250565b5f61411b601483613a76565b9150614126826140e7565b602082019050919050565b5f6020820190508181035f8301526141488161410f565b9050919050565b5f8151905061415d81613b4a565b92915050565b5f6020828403121561417857614177613b16565b5b5f6141858482850161414f565b91505092915050565b5f6040820190506141a15f830185613cef565b6141ae6020830184613cef565b9392505050565b7f5061697220646f6573206e6f74206d61746368000000000000000000000000005f82015250565b5f6141e9601383613a76565b91506141f4826141b5565b602082019050919050565b5f6020820190508181035f830152614216816141dd565b9050919050565b5f8151905061422b81613b7d565b92915050565b5f6020828403121561424657614245613b16565b5b5f6142538482850161421d565b91505092915050565b7f5061697220616c72656164792066756e646564000000000000000000000000005f82015250565b5f614290601383613a76565b915061429b8261425c565b602082019050919050565b5f6020820190508181035f8301526142bd81614284565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6142fb82613b74565b915061430683613b74565b925082614316576143156142c4565b5b828204905092915050565b7f4d696e696d756d20302e312045544820726571756972656400000000000000005f82015250565b5f614355601883613a76565b915061436082614321565b602082019050919050565b5f6020820190508181035f83015261438281614349565b9050919050565b5f60c08201905061439c5f830189613cef565b6143a96020830188613c18565b6143b66040830187613e70565b6143c36060830186613e70565b6143d06080830185613cef565b6143dd60a0830184613c18565b979650505050505050565b5f805f606084860312156143ff576143fe613b16565b5b5f61440c8682870161421d565b935050602061441d8682870161421d565b925050604061442e8682870161421d565b9150509250925092565b5f60408201905061444b5f830185613cef565b6144586020830184613c18565b9392505050565b5f8151905061446d81613d17565b92915050565b5f6020828403121561448857614487613b16565b5b5f6144958482850161445f565b91505092915050565b7f4e6f7420617574686f72697a65640000000000000000000000000000000000005f82015250565b5f6144d2600e83613a76565b91506144dd8261449e565b602082019050919050565b5f6020820190508181035f8301526144ff816144c6565b9050919050565b5f61452061451b61451684613b1a565b613e46565b613b1a565b9050919050565b5f61453182614506565b9050919050565b5f61454282614527565b9050919050565b61455281614538565b82525050565b5f60408201905061456b5f830185614549565b6145786020830184613c18565b9392505050565b7f496e76616c6964206665650000000000000000000000000000000000000000005f82015250565b5f6145b3600b83613a76565b91506145be8261457f565b602082019050919050565b5f6020820190508181035f8301526145e0816145a7565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f614641602483613a76565b915061464c826145e7565b604082019050919050565b5f6020820190508181035f83015261466e81614635565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6146cf602283613a76565b91506146da82614675565b604082019050919050565b5f6020820190508181035f8301526146fc816146c3565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61475d602583613a76565b915061476882614703565b604082019050919050565b5f6020820190508181035f83015261478a81614751565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6147eb602383613a76565b91506147f682614791565b604082019050919050565b5f6020820190508181035f830152614818816147df565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f614879602983613a76565b91506148848261481f565b604082019050919050565b5f6020820190508181035f8301526148a68161486d565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e204f6e6c79206f6e652070757263686173652070657220626c6f636b2060208201527f616c6c6f7765642e000000000000000000000000000000000000000000000000604082015250565b5f61492d604883613a76565b9150614938826148ad565b606082019050919050565b5f6020820190508181035f83015261495a81614921565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f614995601983613a76565b91506149a082614961565b602082019050919050565b5f6020820190508181035f8301526149c281614989565b9050919050565b5f6149d382613b74565b91506149de83613b74565b92508282019050808211156149f6576149f5613e98565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f614a30601a83613a76565b9150614a3b826149fc565b602082019050919050565b5f6020820190508181035f830152614a5d81614a24565b9050919050565b5f614a6e82613b74565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614aa057614a9f613e98565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f614adf601783613a76565b9150614aea82614aab565b602082019050919050565b5f6020820190508181035f830152614b0c81614ad3565b9050919050565b5f614b1d82613b74565b9150614b2883613b74565b9250828203905081811115614b4057614b3f613e98565b5b92915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f614ba0602183613a76565b9150614bab82614b46565b604082019050919050565b5f6020820190508181035f830152614bcd81614b94565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f614c08601b83613a76565b9150614c1382614bd4565b602082019050919050565b5f6020820190508181035f830152614c3581614bfc565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b614cc881613b39565b82525050565b5f614cd98383614cbf565b60208301905092915050565b5f602082019050919050565b5f614cfb82614c96565b614d058185614ca0565b9350614d1083614cb0565b805f5b83811015614d40578151614d278882614cce565b9750614d3283614ce5565b925050600181019050614d13565b5085935050505092915050565b5f60a082019050614d605f830188613c18565b614d6d6020830187613e70565b8181036040830152614d7f8186614cf1565b9050614d8e6060830185613cef565b614d9b6080830184613c18565b9695505050505050565b5f8160601b9050919050565b5f614dbb82614da5565b9050919050565b5f614dcc82614db1565b9050919050565b614de4614ddf82613b39565b614dc2565b82525050565b5f614df58285614dd3565b601482019150614e058284614dd3565b6014820191508190509392505050565b5f81905092915050565b7fff000000000000000000000000000000000000000000000000000000000000005f82015250565b5f614e53600183614e15565b9150614e5e82614e1f565b600182019050919050565b5f819050919050565b5f819050919050565b614e8c614e8782614e69565b614e72565b82525050565b7f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f5f82015250565b5f614ec6602083614e15565b9150614ed182614e92565b602082019050919050565b5f614ee682614e47565b9150614ef28285614dd3565b601482019150614f028284614e7b565b602082019150614f1182614eba565b9150819050939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220db5d216eee56631a4796b737c5750ff408fcec24a6f24b2bf67aece93e0a048164736f6c63430008170033

Deployed Bytecode

0x60806040526004361061019f575f3560e01c806370a08231116100eb57806395d89b4111610089578063bf474bed11610063578063bf474bed14610562578063c9567bf91461058c578063dd62ed3e146105a2578063ec1f3f63146105de576101a6565b806395d89b41146104d457806399fd043c146104fe578063a9059cbb14610526576101a6565b80638cd4426d116100c55780638cd4426d146104305780638da5cb5b146104585780638f9a55c0146104825780639237e165146104ac576101a6565b806370a08231146103b4578063715018a6146103f05780637d1db4a514610406576101a6565b8063313ce567116101585780634c8afff4116101325780634c8afff41461033857806351bc3c851461036057806356ec63a5146103765780636fc3eaec1461039e576101a6565b8063313ce567146102b65780633bbac579146102e05780634bcda42f1461031c576101a6565b806306fdde03146101aa578063095ea7b3146101d45780630faee56f14610210578063109daa991461023a57806318160ddd1461025057806323b872dd1461027a576101a6565b366101a657005b5f80fd5b3480156101b5575f80fd5b506101be610606565b6040516101cb9190613af6565b60405180910390f35b3480156101df575f80fd5b506101fa60048036038101906101f59190613ba7565b610643565b6040516102079190613bff565b60405180910390f35b34801561021b575f80fd5b50610224610660565b6040516102319190613c27565b60405180910390f35b348015610245575f80fd5b5061024e610666565b005b34801561025b575f80fd5b5061026461073a565b6040516102719190613c27565b60405180910390f35b348015610285575f80fd5b506102a0600480360381019061029b9190613c40565b61075e565b6040516102ad9190613bff565b60405180910390f35b3480156102c1575f80fd5b506102ca610832565b6040516102d79190613cab565b60405180910390f35b3480156102eb575f80fd5b5061030660048036038101906103019190613cc4565b61083a565b6040516103139190613bff565b60405180910390f35b61033660048036038101906103319190613cc4565b61088c565b005b348015610343575f80fd5b5061035e60048036038101906103599190613cc4565b6112dd565b005b34801561036b575f80fd5b506103746113c8565b005b348015610381575f80fd5b5061039c60048036038101906103979190613cc4565b611496565b005b3480156103a9575f80fd5b506103b2611582565b005b3480156103bf575f80fd5b506103da60048036038101906103d59190613cc4565b611628565b6040516103e79190613c27565b60405180910390f35b3480156103fb575f80fd5b5061040461166e565b005b348015610411575f80fd5b5061041a6117bc565b6040516104279190613c27565b60405180910390f35b34801561043b575f80fd5b5061045660048036038101906104519190613ba7565b6117c2565b005b348015610463575f80fd5b5061046c61199a565b6040516104799190613cfe565b60405180910390f35b34801561048d575f80fd5b506104966119c1565b6040516104a39190613c27565b60405180910390f35b3480156104b7575f80fd5b506104d260048036038101906104cd9190613d41565b6119c7565b005b3480156104df575f80fd5b506104e8611bc3565b6040516104f59190613af6565b60405180910390f35b348015610509575f80fd5b50610524600480360381019061051f9190613d6c565b611c00565b005b348015610531575f80fd5b5061054c60048036038101906105479190613ba7565b611ca7565b6040516105599190613bff565b60405180910390f35b34801561056d575f80fd5b50610576611cc4565b6040516105839190613c27565b60405180910390f35b348015610597575f80fd5b506105a0611cca565b005b3480156105ad575f80fd5b506105c860048036038101906105c39190613d97565b612423565b6040516105d59190613c27565b60405180910390f35b3480156105e9575f80fd5b5061060460048036038101906105ff9190613d6c565b6124a5565b005b60606040518060400160405280600d81526020017f4b6574616d696e6520456c6f6e00000000000000000000000000000000000000815250905090565b5f61065661064f61259f565b84846125a6565b6001905092915050565b60135481565b61066e61259f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f190613e1f565b60405180910390fd5b5f600e819055507fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de35f6040516107309190613e7f565b60405180910390a1565b5f6009600a6107499190613ff4565b6461f313f880610759919061403e565b905090565b5f61076a848484612769565b6108278461077661259f565b61082285604051806060016040528060288152602001614f1e6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6107d961259f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546134b89092919063ffffffff16565b6125a6565b600190509392505050565b5f6009905090565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b61089461259f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610920576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091790613e1f565b60405180910390fd5b601560149054906101000a900460ff1615610970576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610967906140c9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036109de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d590614131565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a9d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ac19190614163565b90505f60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b2e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b529190614163565b90505f8273ffffffffffffffffffffffffffffffffffffffff1663e6a4390530846040518363ffffffff1660e01b8152600401610b9092919061418e565b602060405180830381865afa158015610bab573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bcf9190614163565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610c3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c36906141ff565b60405180910390fd5b8360155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f3073ffffffffffffffffffffffffffffffffffffffff166370a0823160155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401610cda9190613cfe565b602060405180830381865afa158015610cf5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d199190614231565b90505f8373ffffffffffffffffffffffffffffffffffffffff166370a0823160155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401610d769190613cfe565b602060405180830381865afa158015610d91573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610db59190614231565b9050670de0b6b3a764000082108015610dd55750670de0b6b3a764000081105b610e14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0b906142a6565b60405180910390fd5b5f6064605c6009600a610e279190613ff4565b6461f313f880610e37919061403e565b610e41919061403e565b610e4b91906142f1565b90505f808311610e5e57620f4240610e8c565b610e8b670de0b6b3a7640000610e7d858561351a90919063ffffffff16565b61359190919063ffffffff16565b5b9050610ede8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546135da90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550610f908160015f60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461362390919063ffffffff16565b60015f60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516110709190613c27565b60405180910390a36110a43060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846125a6565b5f34905067016345785d8a00008110156110f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ea9061436b565b60405180910390fd5b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198230865f8061113d61199a565b426040518863ffffffff1660e01b815260040161115f96959493929190614389565b60606040518083038185885af115801561117b573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906111a091906143e8565b50505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611240929190614438565b6020604051808303815f875af115801561125c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112809190614473565b506001601560166101000a81548160ff0219169083151502179055506001601560146101000a81548160ff0219169083151502179055506001601560176101000a81548160ff021916908315150217905550505050505050505050565b6112e561259f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611371576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136890613e1f565b60405180910390fd5b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661140861259f565b73ffffffffffffffffffffffffffffffffffffffff161461145e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611455906144e8565b60405180910390fd5b5f61146830611628565b90505f81111561147c5761147b81613680565b5b5f4790505f81111561149257611491816138e9565b5b5050565b61149e61259f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461152a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152190613e1f565b60405180910390fd5b600160045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166115c261259f565b73ffffffffffffffffffffffffffffffffffffffff1614611618576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160f906144e8565b60405180910390fd5b5f479050611625816138e9565b50565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61167661259f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611702576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f990613e1f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60105481565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661180261259f565b73ffffffffffffffffffffffffffffffffffffffff1614611858576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184f906144e8565b60405180910390fd5b5f6118f660646118e8848673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161189b9190613cfe565b602060405180830381865afa1580156118b6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118da9190614231565b61351a90919063ffffffff16565b61359190919063ffffffff16565b90508273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401611954929190614558565b6020604051808303815f875af1158015611970573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119949190614473565b50505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60115481565b6119cf61259f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5290613e1f565b60405180910390fd5b8015611ac8575f606460086009600a611a749190613ff4565b6461f313f880611a84919061403e565b611a8e919061403e565b611a9891906142f1565b9050611ac660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff163083612769565b505b60646046601254611ad9919061403e565b611ae391906142f1565b60128190555060646046601354611afa919061403e565b611b0491906142f1565b6013819055506009600a611b189190613ff4565b6461f313f880611b28919061403e565b6010819055506009600a611b3c9190613ff4565b6461f313f880611b4c919061403e565b6011819055505f601560176101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a611b9b9190613ff4565b6461f313f880611bab919061403e565b604051611bb89190613c27565b60405180910390a150565b60606040518060400160405280600b81526020017f4b4554414d494e454c4f4e000000000000000000000000000000000000000000815250905090565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611c4061259f565b73ffffffffffffffffffffffffffffffffffffffff1614611c96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c8d906144e8565b60405180910390fd5b806012819055508060138190555050565b5f611cba611cb361259f565b8484612769565b6001905092915050565b60125481565b611cd261259f565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5590613e1f565b60405180910390fd5b601560149054906101000a900460ff1615611dae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611da5906140c9565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e6d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e919190614163565b90505f60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611efe573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f229190614163565b90505f611f30833084613951565b90505f813b90505f8103611ffd578373ffffffffffffffffffffffffffffffffffffffff1663c9c6539630856040518363ffffffff1660e01b8152600401611f7992919061418e565b6020604051808303815f875af1158015611f95573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fb99190614163565b60155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506121d5565b8160155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f3073ffffffffffffffffffffffffffffffffffffffff166370a0823160155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016120989190613cfe565b602060405180830381865afa1580156120b3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120d79190614231565b90505f8473ffffffffffffffffffffffffffffffffffffffff166370a0823160155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016121349190613cfe565b602060405180830381865afa15801561214f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121739190614231565b9050670de0b6b3a7640000821080156121935750670de0b6b3a764000081105b6121d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121c9906142a6565b60405180910390fd5b50505b61221e3060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a6122099190613ff4565b6461f313f880612219919061403e565b6125a6565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306064605c61226a30611628565b612274919061403e565b61227e91906142f1565b5f8061228861199a565b426040518863ffffffff1660e01b81526004016122aa96959493929190614389565b60606040518083038185885af11580156122c6573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906122eb91906143e8565b50505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161238b929190614438565b6020604051808303815f875af11580156123a7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123cb9190614473565b506001601560166101000a81548160ff0219169083151502179055506001601560146101000a81548160ff0219169083151502179055506001601560176101000a81548160ff02191690831515021790555050505050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166124e561259f565b73ffffffffffffffffffffffffffffffffffffffff161461253b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612532906144e8565b60405180910390fd5b600954811115801561254f5750600a548111155b61258e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612585906145c9565b60405180910390fd5b8060098190555080600a8190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612614576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161260b90614657565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612682576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612679906146e5565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161275c9190613c27565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036127d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127ce90614773565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612845576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161283c90614801565b60405180910390fd5b5f8111612887576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161287e9061488f565b60405180910390fd5b5f61289061199a565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156128fe57506128ce61199a565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156132085760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156129a1575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156129f4575060045f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b6129fc575f80fd5b601560179054906101000a900460ff1615612bc257612a1961199a565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015612aa1575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015612afa575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15612bc1574360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410612b7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b7590614943565b60405180910390fd5b4360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b5f600f5403612c0a57612c076064612bf9600b54600f5411612be657600754612bea565b6009545b8561351a90919063ffffffff16565b61359190919063ffffffff16565b90505b5f600f541115612c3f57612c3c6064612c2e600e548561351a90919063ffffffff16565b61359190919063ffffffff16565b90505b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015612ce8575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015612d3b575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612e3357601054821115612d85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d7c906149ab565b60405180910390fd5b60115482612d9285611628565b612d9c91906149c9565b1115612ddd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dd490614a46565b60405180910390fd5b612e196064612e0b600b54600f5411612df857600754612dfc565b6009545b8561351a90919063ffffffff16565b61359190919063ffffffff16565b9050600f5f815480929190612e2d90614a64565b91905055505b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015612ebb57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15612eff57612efc6064612eee600c54600f5411612edb57600854612edf565b600a545b8561351a90919063ffffffff16565b61359190919063ffffffff16565b90505b5f612f0930611628565b905060158054906101000a900460ff16158015612f72575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015612f8a5750601560169054906101000a900460ff165b8015612f97575060125481115b8015612fa65750600d54600f54115b15613206575f612fef6009600a612fbd9190613ff4565b6461f313f880612fcd919061403e565b612fe160648561351a90919063ffffffff16565b61359190919063ffffffff16565b9050600281101561304d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6012819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60138190555061315b565b60078110156130d557612710600c6009600a6130699190613ff4565b6461f313f880613079919061403e565b613083919061403e565b61308d91906142f1565b601281905550612710600c6009600a6130a69190613ff4565b6461f313f8806130b6919061403e565b6130c0919061403e565b6130ca91906142f1565b60138190555061315a565b600e811015613159576103e860046009600a6130f19190613ff4565b6461f313f880613101919061403e565b61310b919061403e565b61311591906142f1565b6012819055506103e860046009600a61312e9190613ff4565b6461f313f88061313e919061403e565b613148919061403e565b61315291906142f1565b6013819055505b5b5b60175443111561316d575f6016819055505b6003601654106131b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131a990614af5565b60405180910390fd5b6131cf6131ca856131c5856013546139f3565b6139f3565b613680565b5f4790505f8111156131e5576131e4816138e9565b5b60165f8154809291906131f790614a64565b91905055504360178190555050505b505b5f811115613307576132608160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461362390919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516132fe9190613c27565b60405180910390a35b6133578260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546135da90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506133fa6133ae82846135da90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461362390919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61349d84866135da90919063ffffffff16565b6040516134aa9190613c27565b60405180910390a350505050565b5f8383111582906134ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134f69190613af6565b60405180910390fd5b505f838561350d9190614b13565b9050809150509392505050565b5f80830361352a575f905061358b565b5f8284613537919061403e565b905082848261354691906142f1565b14613586576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161357d90614bb6565b60405180910390fd5b809150505b92915050565b5f6135d283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613a0b565b905092915050565b5f61361b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506134b8565b905092915050565b5f80828461363191906149c9565b905083811015613676576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161366d90614c1e565b60405180910390fd5b8091505092915050565b60016015806101000a81548160ff0219169083151502179055505f600267ffffffffffffffff8111156136b6576136b5614c3c565b5b6040519080825280602002602001820160405280156136e45781602001602082028036833780820191505090505b50905030815f815181106136fb576136fa614c69565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561379f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906137c39190614163565b816001815181106137d7576137d6614c69565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061383d3060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846125a6565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161389f959493929190614d4d565b5f604051808303815f87803b1580156138b6575f80fd5b505af11580156138c8573d5f803e3d5ffd5b50505050505f6015806101000a81548160ff02191690831515021790555050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f1935050505015801561394d573d5f803e3d5ffd5b5050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161061398e578385613991565b84845b915091508582826040516020016139a9929190614dea565b604051602081830303815290604052805190602001206040516020016139d0929190614edc565b604051602081830303815290604052805190602001205f1c925050509392505050565b5f818311613a015782613a03565b815b905092915050565b5f8083118290613a51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613a489190613af6565b60405180910390fd5b505f8385613a5f91906142f1565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015613aa3578082015181840152602081019050613a88565b5f8484015250505050565b5f601f19601f8301169050919050565b5f613ac882613a6c565b613ad28185613a76565b9350613ae2818560208601613a86565b613aeb81613aae565b840191505092915050565b5f6020820190508181035f830152613b0e8184613abe565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f613b4382613b1a565b9050919050565b613b5381613b39565b8114613b5d575f80fd5b50565b5f81359050613b6e81613b4a565b92915050565b5f819050919050565b613b8681613b74565b8114613b90575f80fd5b50565b5f81359050613ba181613b7d565b92915050565b5f8060408385031215613bbd57613bbc613b16565b5b5f613bca85828601613b60565b9250506020613bdb85828601613b93565b9150509250929050565b5f8115159050919050565b613bf981613be5565b82525050565b5f602082019050613c125f830184613bf0565b92915050565b613c2181613b74565b82525050565b5f602082019050613c3a5f830184613c18565b92915050565b5f805f60608486031215613c5757613c56613b16565b5b5f613c6486828701613b60565b9350506020613c7586828701613b60565b9250506040613c8686828701613b93565b9150509250925092565b5f60ff82169050919050565b613ca581613c90565b82525050565b5f602082019050613cbe5f830184613c9c565b92915050565b5f60208284031215613cd957613cd8613b16565b5b5f613ce684828501613b60565b91505092915050565b613cf881613b39565b82525050565b5f602082019050613d115f830184613cef565b92915050565b613d2081613be5565b8114613d2a575f80fd5b50565b5f81359050613d3b81613d17565b92915050565b5f60208284031215613d5657613d55613b16565b5b5f613d6384828501613d2d565b91505092915050565b5f60208284031215613d8157613d80613b16565b5b5f613d8e84828501613b93565b91505092915050565b5f8060408385031215613dad57613dac613b16565b5b5f613dba85828601613b60565b9250506020613dcb85828601613b60565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613e09602083613a76565b9150613e1482613dd5565b602082019050919050565b5f6020820190508181035f830152613e3681613dfd565b9050919050565b5f819050919050565b5f819050919050565b5f613e69613e64613e5f84613e3d565b613e46565b613b74565b9050919050565b613e7981613e4f565b82525050565b5f602082019050613e925f830184613e70565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115613f1a57808604811115613ef657613ef5613e98565b5b6001851615613f055780820291505b8081029050613f1385613ec5565b9450613eda565b94509492505050565b5f82613f325760019050613fed565b81613f3f575f9050613fed565b8160018114613f555760028114613f5f57613f8e565b6001915050613fed565b60ff841115613f7157613f70613e98565b5b8360020a915084821115613f8857613f87613e98565b5b50613fed565b5060208310610133831016604e8410600b8410161715613fc35782820a905083811115613fbe57613fbd613e98565b5b613fed565b613fd08484846001613ed1565b92509050818404811115613fe757613fe6613e98565b5b81810290505b9392505050565b5f613ffe82613b74565b915061400983613c90565b92506140367fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613f23565b905092915050565b5f61404882613b74565b915061405383613b74565b925082820261406181613b74565b9150828204841483151761407857614077613e98565b5b5092915050565b7f54726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6140b3601783613a76565b91506140be8261407f565b602082019050919050565b5f6020820190508181035f8301526140e0816140a7565b9050919050565b7f496e76616c6964207061697220616464726573730000000000000000000000005f82015250565b5f61411b601483613a76565b9150614126826140e7565b602082019050919050565b5f6020820190508181035f8301526141488161410f565b9050919050565b5f8151905061415d81613b4a565b92915050565b5f6020828403121561417857614177613b16565b5b5f6141858482850161414f565b91505092915050565b5f6040820190506141a15f830185613cef565b6141ae6020830184613cef565b9392505050565b7f5061697220646f6573206e6f74206d61746368000000000000000000000000005f82015250565b5f6141e9601383613a76565b91506141f4826141b5565b602082019050919050565b5f6020820190508181035f830152614216816141dd565b9050919050565b5f8151905061422b81613b7d565b92915050565b5f6020828403121561424657614245613b16565b5b5f6142538482850161421d565b91505092915050565b7f5061697220616c72656164792066756e646564000000000000000000000000005f82015250565b5f614290601383613a76565b915061429b8261425c565b602082019050919050565b5f6020820190508181035f8301526142bd81614284565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6142fb82613b74565b915061430683613b74565b925082614316576143156142c4565b5b828204905092915050565b7f4d696e696d756d20302e312045544820726571756972656400000000000000005f82015250565b5f614355601883613a76565b915061436082614321565b602082019050919050565b5f6020820190508181035f83015261438281614349565b9050919050565b5f60c08201905061439c5f830189613cef565b6143a96020830188613c18565b6143b66040830187613e70565b6143c36060830186613e70565b6143d06080830185613cef565b6143dd60a0830184613c18565b979650505050505050565b5f805f606084860312156143ff576143fe613b16565b5b5f61440c8682870161421d565b935050602061441d8682870161421d565b925050604061442e8682870161421d565b9150509250925092565b5f60408201905061444b5f830185613cef565b6144586020830184613c18565b9392505050565b5f8151905061446d81613d17565b92915050565b5f6020828403121561448857614487613b16565b5b5f6144958482850161445f565b91505092915050565b7f4e6f7420617574686f72697a65640000000000000000000000000000000000005f82015250565b5f6144d2600e83613a76565b91506144dd8261449e565b602082019050919050565b5f6020820190508181035f8301526144ff816144c6565b9050919050565b5f61452061451b61451684613b1a565b613e46565b613b1a565b9050919050565b5f61453182614506565b9050919050565b5f61454282614527565b9050919050565b61455281614538565b82525050565b5f60408201905061456b5f830185614549565b6145786020830184613c18565b9392505050565b7f496e76616c6964206665650000000000000000000000000000000000000000005f82015250565b5f6145b3600b83613a76565b91506145be8261457f565b602082019050919050565b5f6020820190508181035f8301526145e0816145a7565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f614641602483613a76565b915061464c826145e7565b604082019050919050565b5f6020820190508181035f83015261466e81614635565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6146cf602283613a76565b91506146da82614675565b604082019050919050565b5f6020820190508181035f8301526146fc816146c3565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61475d602583613a76565b915061476882614703565b604082019050919050565b5f6020820190508181035f83015261478a81614751565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6147eb602383613a76565b91506147f682614791565b604082019050919050565b5f6020820190508181035f830152614818816147df565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f614879602983613a76565b91506148848261481f565b604082019050919050565b5f6020820190508181035f8301526148a68161486d565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e204f6e6c79206f6e652070757263686173652070657220626c6f636b2060208201527f616c6c6f7765642e000000000000000000000000000000000000000000000000604082015250565b5f61492d604883613a76565b9150614938826148ad565b606082019050919050565b5f6020820190508181035f83015261495a81614921565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f614995601983613a76565b91506149a082614961565b602082019050919050565b5f6020820190508181035f8301526149c281614989565b9050919050565b5f6149d382613b74565b91506149de83613b74565b92508282019050808211156149f6576149f5613e98565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f614a30601a83613a76565b9150614a3b826149fc565b602082019050919050565b5f6020820190508181035f830152614a5d81614a24565b9050919050565b5f614a6e82613b74565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614aa057614a9f613e98565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f614adf601783613a76565b9150614aea82614aab565b602082019050919050565b5f6020820190508181035f830152614b0c81614ad3565b9050919050565b5f614b1d82613b74565b9150614b2883613b74565b9250828203905081811115614b4057614b3f613e98565b5b92915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f614ba0602183613a76565b9150614bab82614b46565b604082019050919050565b5f6020820190508181035f830152614bcd81614b94565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f614c08601b83613a76565b9150614c1382614bd4565b602082019050919050565b5f6020820190508181035f830152614c3581614bfc565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b614cc881613b39565b82525050565b5f614cd98383614cbf565b60208301905092915050565b5f602082019050919050565b5f614cfb82614c96565b614d058185614ca0565b9350614d1083614cb0565b805f5b83811015614d40578151614d278882614cce565b9750614d3283614ce5565b925050600181019050614d13565b5085935050505092915050565b5f60a082019050614d605f830188613c18565b614d6d6020830187613e70565b8181036040830152614d7f8186614cf1565b9050614d8e6060830185613cef565b614d9b6080830184613c18565b9695505050505050565b5f8160601b9050919050565b5f614dbb82614da5565b9050919050565b5f614dcc82614db1565b9050919050565b614de4614ddf82613b39565b614dc2565b82525050565b5f614df58285614dd3565b601482019150614e058284614dd3565b6014820191508190509392505050565b5f81905092915050565b7fff000000000000000000000000000000000000000000000000000000000000005f82015250565b5f614e53600183614e15565b9150614e5e82614e1f565b600182019050919050565b5f819050919050565b5f819050919050565b614e8c614e8782614e69565b614e72565b82525050565b7f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f5f82015250565b5f614ec6602083614e15565b9150614ed182614e92565b602082019050919050565b5f614ee682614e47565b9150614ef28285614dd3565b601482019150614f028284614e7b565b602082019150614f1182614eba565b9150819050939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220db5d216eee56631a4796b737c5750ff408fcec24a6f24b2bf67aece93e0a048164736f6c63430008170033

Deployed Bytecode Sourcemap

3658:15107:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5961:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6794:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4896:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12448:120;;;;;;;;;;;;;:::i;:::-;;6238:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6963:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6147:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13566:86;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15484:2081;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12981:89;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18378:384;;;;;;;;;;;;;:::i;:::-;;12891:82;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12576:207;;;;;;;;;;;;;:::i;:::-;;6341:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2649:148;;;;;;;;;;;;;:::i;:::-;;4700:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13078:286;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2435:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4763:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11962:478;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6052:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13370:188;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6468:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4828:61;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13660:1816;;;;;;;;;;;;;:::i;:::-;;6643:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18063:270;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5961:83;5998:13;6031:5;;;;;;;;;;;;;;;;;6024:12;;5961:83;:::o;6794:161::-;6869:4;6886:39;6895:12;:10;:12::i;:::-;6909:7;6918:6;6886:8;:39::i;:::-;6943:4;6936:11;;6794:161;;;;:::o;4896:55::-;;;;:::o;12448:120::-;2572:12;:10;:12::i;:::-;2562:22;;:6;;;;;;;;;;:22;;;2554:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12522:1:::1;12507:12;:16;;;;12539:21;12558:1;12539:21;;;;;;:::i;:::-;;;;;;;;12448:120::o:0;6238:95::-;6291:7;4500:1;4558:2;:13;;;;:::i;:::-;4543:12;:28;;;;:::i;:::-;6311:14;;6238:95;:::o;6963:313::-;7061:4;7078:36;7088:6;7096:9;7107:6;7078:9;:36::i;:::-;7125:121;7134:6;7142:12;:10;:12::i;:::-;7156:89;7194:6;7156:89;;;;;;;;;;;;;;;;;:11;:19;7168:6;7156:19;;;;;;;;;;;;;;;:33;7176:12;:10;:12::i;:::-;7156:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7125:8;:121::i;:::-;7264:4;7257:11;;6963:313;;;;;:::o;6147:83::-;6188:5;4500:1;6206:16;;6147:83;:::o;13566:86::-;13613:4;13637;:7;13642:1;13637:7;;;;;;;;;;;;;;;;;;;;;;;;;13630:14;;13566:86;;;:::o;15484:2081::-;2572:12;:10;:12::i;:::-;2562:22;;:6;;;;;;;;;;:22;;;2554:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15588:11:::1;;;;;;;;;;;15587:12;15579:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;15670:1;15646:26;;:12;:26;;::::0;15638:59:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;15747:42;15710:15;;:80;;;;;;;;;;;;;;;;;;15801:15;15819;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15801:43;;15855:12;15870:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15855:37;;15929:12;15962:7;15944:34;;;15987:4;15994;15944:55;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15929:70;;16026:12;16018:20;;:4;:20;;;16010:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;16089:12;16073:13;;:28;;;;;;;;;;;;;;;;;;16146:20;16184:4;16169:31;;;16201:13;;;;;;;;;;;16169:46;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16146:69;;16226:19;16255:4;16248:22;;;16271:13;;;;;;;;;;;16248:37;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16226:59;;16319:4;16304:12;:19;:41;;;;;16341:4;16327:11;:18;16304:41;16296:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;16422:19;16459:3;16454:2;4500:1;4558:2;:13;;;;:::i;:::-;4543:12;:28;;;;:::i;:::-;16444:12;;;;:::i;:::-;:18;;;;:::i;:::-;16422:40;;16490:18;16525:1:::0;16511:11:::1;:15;:68;;16572:7;16511:68;;;16529:40;16562:6;16529:28;16545:11;16529;:15;;:28;;;;:::i;:::-;:32;;:40;;;;:::i;:::-;16511:68;16490:89;;16701:40;16730:10;16701:9;:24;16719:4;16701:24;;;;;;;;;;;;;;;;:28;;:40;;;;:::i;:::-;16674:9;:24;16692:4;16674:24;;;;;;;;;;;;;;;:67;;;;16779:40;16808:10;16779:9;:24;16789:13;;;;;;;;;;;16779:24;;;;;;;;;;;;;;;;:28;;:40;;;;:::i;:::-;16752:9;:24;16762:13;;;;;;;;;;;16752:24;;;;;;;;;;;;;;;:67;;;;16859:13;;;;;;;;;;;16835:50;;16852:4;16835:50;;;16874:10;16835:50;;;;;;:::i;:::-;;;;;;;;16925:62;16942:4;16957:15;;;;;;;;;;;16975:11;16925:8;:62::i;:::-;17026:17;17046:9;17026:29;;17087:9;17074;:22;;17066:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;17138:15;;;;;;;;;;;:31;;;17177:9;17210:4;17230:11;17256:1;17272::::0;17288:7:::1;:5;:7::i;:::-;17310:15;17138:198;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;17392:13;;;;;;;;;;;17385:29;;;17423:15;;;;;;;;;;;17441:17;17385:74;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;17486:4;17472:11;;:18;;;;;;;;;;;;;;;;;;17515:4;17501:11;;:18;;;;;;;;;;;;;;;;;;17553:4;17530:20;;:27;;;;;;;;;;;;;;;;;;15568:1997;;;;;;;;15484:2081:::0;:::o;12981:89::-;2572:12;:10;:12::i;:::-;2562:22;;:6;;;;;;;;;;:22;;;2554:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13057:5:::1;13042:4;:12;13047:6;13042:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;12981:89:::0;:::o;18378:384::-;18444:10;;;;;;;;;;;18428:26;;:12;:10;:12::i;:::-;:26;;;18420:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;18484:20;18507:24;18525:4;18507:9;:24::i;:::-;18484:47;;18561:1;18546:12;:16;18542:79;;;18579:30;18596:12;18579:16;:30::i;:::-;18542:79;18631:18;18652:21;18631:42;;18701:1;18688:10;:14;18684:71;;;18719:24;18732:10;18719:12;:24::i;:::-;18684:71;18409:353;;18378:384::o;12891:82::-;2572:12;:10;:12::i;:::-;2562:22;;:6;;;;;;;;;;:22;;;2554:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12961:4:::1;12949;:9;12954:3;12949:9;;;;;;;;;;;;;;;;:16;;;;;;;;;;;;;;;;;;12891:82:::0;:::o;12576:207::-;12642:10;;;;;;;;;;;12626:26;;:12;:10;:12::i;:::-;:26;;;12618:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;12682:26;12711:21;12682:50;;12743:32;12756:18;12743:12;:32::i;:::-;12607:176;12576:207::o;6341:119::-;6407:7;6434:9;:18;6444:7;6434:18;;;;;;;;;;;;;;;;6427:25;;6341:119;;;:::o;2649:148::-;2572:12;:10;:12::i;:::-;2562:22;;:6;;;;;;;;;;:22;;;2554:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2756:1:::1;2719:40;;2740:6;::::0;::::1;;;;;;;;2719:40;;;;;;;;;;;;2787:1;2770:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2649:148::o:0;4700:56::-;;;;:::o;13078:286::-;13178:10;;;;;;;;;;;13162:26;;:12;:10;:12::i;:::-;:26;;;13154:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;13218:15;13236:63;13295:3;13236:54;13282:7;13243:8;13236:26;;;13271:4;13236:41;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:45;;:54;;;;:::i;:::-;:58;;:63;;;;:::i;:::-;13218:81;;13317:8;13310:25;;;13336:10;;;;;;;;;;;13348:7;13310:46;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13143:221;13078:286;;:::o;2435:79::-;2473:7;2500:6;;;;;;;;;;;2493:13;;2435:79;:::o;4763:58::-;;;;:::o;11962:478::-;2572:12;:10;:12::i;:::-;2562:22;;:6;;;;;;;;;;:22;;;2554:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12034:5:::1;12030:143;;;12056:20;12093:3;12089:1;4500;4558:2;:13;;;;:::i;:::-;4543:12;:28;;;;:::i;:::-;12079:11;;;;:::i;:::-;:17;;;;:::i;:::-;12056:40;;12111:50;12121:10;;;;;;;;;;;12141:4;12148:12;12111:9;:50::i;:::-;12041:132;12030:143;12230:3;12225:2;12205:17;;:22;;;;:::i;:::-;:28;;;;:::i;:::-;12185:17;:48;;;;12277:3;12272:2;12258:11;;:16;;;;:::i;:::-;:22;;;;:::i;:::-;12244:11;:36;;;;4500:1;4558:2;:13;;;;:::i;:::-;4543:12;:28;;;;:::i;:::-;12291:12;:22;;;;4500:1;4558:2;:13;;;;:::i;:::-;4543:12;:28;;;;:::i;:::-;12324:14;:24;;;;12382:5;12359:20;;:28;;;;;;;;;;;;;;;;;;12405:27;4500:1;4558:2;:13;;;;:::i;:::-;4543:12;:28;;;;:::i;:::-;12405:27;;;;;;:::i;:::-;;;;;;;;11962:478:::0;:::o;6052:87::-;6091:13;6124:7;;;;;;;;;;;;;;;;;6117:14;;6052:87;:::o;13370:188::-;13457:10;;;;;;;;;;;13441:26;;:12;:10;:12::i;:::-;:26;;;13433:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;13517:4;13497:17;:24;;;;13546:4;13532:11;:18;;;;13370:188;:::o;6468:167::-;6546:4;6563:42;6573:12;:10;:12::i;:::-;6587:9;6598:6;6563:9;:42::i;:::-;6623:4;6616:11;;6468:167;;;;:::o;4828:61::-;;;;:::o;13660:1816::-;2572:12;:10;:12::i;:::-;2562:22;;:6;;;;;;;;;;:22;;;2554:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13722:11:::1;;;;;;;;;;;13721:12;13713:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;13819:42;13782:15;;:80;;;;;;;;;;;;;;;;;;13920:15;13938;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13920:43;;13974:12;13989:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13974:37;;14022:21;14046:37;14054:7;14071:4;14078;14046:7;:37::i;:::-;14022:61;;14167:16;14242:13;14230:26;14218:38;;14348:1;14336:8;:13:::0;14332:505:::1;;14400:7;14382:37;;;14428:4;14435;14382:58;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14366:13;;:74;;;;;;;;;;;;;;;;;;14332:505;;;14489:13;14473;;:29;;;;;;;;;;;;;;;;;;14594:20;14632:4;14617:31;;;14649:13;;;;;;;;;;;14617:46;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14594:69;;14678:19;14707:4;14700:22;;;14723:13;;;;;;;;;;;14700:37;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14678:59;;14775:4;14760:12;:19;:41;;;;;14797:4;14783:11;:18;14760:41;14752:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;14458:379;;14332:505;14899:58;14916:4;14931:15;;;;;;;;;;;4500:1;4558:2;:13;;;;:::i;:::-;4543:12;:28;;;;:::i;:::-;14899:8;:58::i;:::-;15004:15;;;;;;;;;;;:31;;;15043:21;15088:4;15140:3;15135:2;15108:24;15126:4;15108:9;:24::i;:::-;:29;;;;:::i;:::-;:35;;;;:::i;:::-;15158:1;15174::::0;15190:7:::1;:5;:7::i;:::-;15212:15;15004:234;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;15298:13;;;;;;;;;;;15291:29;;;15329:15;;;;;;;;;;;15347:14;15291:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;15397:4;15383:11;;:18;;;;;;;;;;;;;;;;;;15426:4;15412:11;;:18;;;;;;;;;;;;;;;;;;15464:4;15441:20;;:27;;;;;;;;;;;;;;;;;;13702:1774;;;;13660:1816::o:0;6643:143::-;6724:7;6751:11;:18;6763:5;6751:18;;;;;;;;;;;;;;;:27;6770:7;6751:27;;;;;;;;;;;;;;;;6744:34;;6643:143;;;;:::o;18063:270::-;18143:10;;;;;;;;;;;18127:26;;:12;:10;:12::i;:::-;:26;;;18119:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;18202:12;;18191:7;:23;;:51;;;;;18229:13;;18218:7;:24;;18191:51;18183:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;18284:7;18269:12;:22;;;;18318:7;18302:13;:23;;;;18063:270;:::o;192:98::-;245:7;272:10;265:17;;192:98;:::o;7284:335::-;7394:1;7377:19;;:5;:19;;;7369:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7475:1;7456:21;;:7;:21;;;7448:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7557:6;7527:11;:18;7539:5;7527:18;;;;;;;;;;;;;;;:27;7546:7;7527:27;;;;;;;;;;;;;;;:36;;;;7595:7;7579:32;;7588:5;7579:32;;;7604:6;7579:32;;;;;;:::i;:::-;;;;;;;;7284:335;;;:::o;7627:3721::-;7731:1;7715:18;;:4;:18;;;7707:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7808:1;7794:16;;:2;:16;;;7786:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7878:1;7869:6;:10;7861:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7938:17;7982:7;:5;:7::i;:::-;7974:15;;:4;:15;;;;:32;;;;;7999:7;:5;:7::i;:::-;7993:13;;:2;:13;;;;7974:32;7970:3007;;;8032:4;:10;8037:4;8032:10;;;;;;;;;;;;;;;;;;;;;;;;;8031:11;:24;;;;;8047:4;:8;8052:2;8047:8;;;;;;;;;;;;;;;;;;;;;;;;;8046:9;8031:24;:44;;;;;8060:4;:15;8065:9;8060:15;;;;;;;;;;;;;;;;;;;;;;;;;8059:16;8031:44;8023:53;;;;;;8097:20;;;;;;;;;;;8093:559;;;8170:7;:5;:7::i;:::-;8164:13;;:2;:13;;;;:68;;;;;8216:15;;;;;;;;;;;8202:30;;:2;:30;;;;8164:68;:121;;;;;8271:13;;;;;;;;;;;8257:28;;:2;:28;;;;8164:121;8138:499;;;8404:12;8362:28;:39;8391:9;8362:39;;;;;;;;;;;;;;;;:54;8328:212;;;;;;;;;;;;:::i;:::-;;;;;;;;;8605:12;8563:28;:39;8592:9;8563:39;;;;;;;;;;;;;;;:54;;;;8138:499;8093:559;8685:1;8672:9;;:14;8668:149;;8719:82;8797:3;8719:73;8743:15;;8731:9;;:27;8730:61;;8777:14;;8730:61;;;8762:12;;8730:61;8719:6;:10;;:73;;;;:::i;:::-;:77;;:82;;;;:::i;:::-;8707:94;;8668:149;8847:1;8835:9;;:13;8831:99;;;8881:33;8910:3;8881:24;8892:12;;8881:6;:10;;:24;;;;:::i;:::-;:28;;:33;;;;:::i;:::-;8869:45;;8831:99;8958:13;;;;;;;;;;;8950:21;;:4;:21;;;:55;;;;;8989:15;;;;;;;;;;;8975:30;;:2;:30;;;;8950:55;:82;;;;;9010:18;:22;9029:2;9010:22;;;;;;;;;;;;;;;;;;;;;;;;;9009:23;8950:82;8946:424;;;9071:12;;9061:6;:22;;9053:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;9166:14;;9156:6;9140:13;9150:2;9140:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;9132:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;9242:82;9320:3;9242:73;9266:15;;9254:9;;:27;9253:61;;9300:14;;9253:61;;;9285:12;;9253:61;9242:6;:10;;:73;;;;:::i;:::-;:77;;:82;;;;:::i;:::-;9230:94;;9343:9;;:11;;;;;;;;;:::i;:::-;;;;;;8946:424;9396:13;;;;;;;;;;;9390:19;;:2;:19;;;:44;;;;;9429:4;9413:21;;:4;:21;;;;9390:44;9386:182;;;9467:85;9548:3;9467:76;9491:16;;9479:9;;:28;9478:64;;9527:15;;9478:64;;;9511:13;;9478:64;9467:6;:10;;:76;;;;:::i;:::-;:80;;:85;;;;:::i;:::-;9455:97;;9386:182;9584:28;9615:24;9633:4;9615:9;:24::i;:::-;9584:55;;9661:6;;;;;;;;;;9660:7;:30;;;;;9677:13;;;;;;;;;;;9671:19;;:2;:19;;;9660:30;:45;;;;;9694:11;;;;;;;;;;;9660:45;:89;;;;;9732:17;;9709:20;:40;9660:89;:123;;;;;9765:18;;9753:9;;:30;9660:123;9656:1310;;;9804:24;9831:42;4500:1;4558:2;:13;;;;:::i;:::-;4543:12;:28;;;;:::i;:::-;9831:29;9856:3;9831:20;:24;;:29;;;;:::i;:::-;:33;;:42;;;;:::i;:::-;9804:69;;9917:1;9898:16;:20;9894:518;;;9963:17;9943;:37;;;;10017:17;10003:11;:31;;;;9894:518;;;10083:1;10064:16;:20;10060:352;;;10144:5;10139:2;4500:1;4558:2;:13;;;;:::i;:::-;4543:12;:28;;;;:::i;:::-;10129:12;;;;:::i;:::-;:20;;;;:::i;:::-;10109:17;:40;;;;10210:5;10205:2;4500:1;4558:2;:13;;;;:::i;:::-;4543:12;:28;;;;:::i;:::-;10195:12;;;;:::i;:::-;:20;;;;:::i;:::-;10181:11;:34;;;;10060:352;;;10264:2;10245:16;:21;10241:171;;;10325:4;10321:1;4500;4558:2;:13;;;;:::i;:::-;4543:12;:28;;;;:::i;:::-;10311:11;;;;:::i;:::-;:18;;;;:::i;:::-;10291:17;:38;;;;10388:4;10384:1;4500;4558:2;:13;;;;:::i;:::-;4543:12;:28;;;;:::i;:::-;10374:11;;;;:::i;:::-;:18;;;;:::i;:::-;10360:11;:32;;;;10241:171;10060:352;9894:518;10451:13;;10436:12;:28;10432:90;;;10501:1;10489:9;:13;;;;10432:90;10562:1;10550:9;;:13;10542:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;10612:69;10629:51;10633:6;10641:38;10645:20;10667:11;;10641:3;:38::i;:::-;10629:3;:51::i;:::-;10612:16;:69::i;:::-;10700:26;10729:21;10700:50;;10794:1;10773:18;:22;10769:103;;;10820:32;10833:18;10820:12;:32::i;:::-;10769:103;10892:9;;:11;;;;;;;;;:::i;:::-;;;;;;10938:12;10922:13;:28;;;;9785:1181;;9656:1310;8008:2969;7970:3007;11005:1;10993:9;:13;10989:172;;;11050:39;11079:9;11050;:24;11068:4;11050:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;11023:9;:24;11041:4;11023:24;;;;;;;;;;;;;;;:66;;;;11132:4;11109:40;;11118:4;11109:40;;;11139:9;11109:40;;;;;;:::i;:::-;;;;;;;;10989:172;11189:27;11209:6;11189:9;:15;11199:4;11189:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;11171:9;:15;11181:4;11171:15;;;;;;;;;;;;;;;:45;;;;11243:40;11261:21;11272:9;11261:6;:10;;:21;;;;:::i;:::-;11243:9;:13;11253:2;11243:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;11227:9;:13;11237:2;11227:13;;;;;;;;;;;;;;;:56;;;;11314:2;11299:41;;11308:4;11299:41;;;11318:21;11329:9;11318:6;:10;;:21;;;;:::i;:::-;11299:41;;;;;;:::i;:::-;;;;;;;;7696:3652;7627:3721;;;:::o;1329:190::-;1415:7;1448:1;1443;:6;;1451:12;1435:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1475:9;1491:1;1487;:5;;;;:::i;:::-;1475:17;;1510:1;1503:8;;;1329:190;;;;;:::o;1527:246::-;1585:7;1614:1;1609;:6;1605:47;;1639:1;1632:8;;;;1605:47;1662:9;1678:1;1674;:5;;;;:::i;:::-;1662:17;;1707:1;1702;1698;:5;;;;:::i;:::-;:10;1690:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1764:1;1757:8;;;1527:246;;;;;:::o;1781:132::-;1839:7;1866:39;1870:1;1873;1866:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1859:46;;1781:132;;;;:::o;1185:136::-;1243:7;1270:43;1274:1;1277;1270:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1263:50;;1185:136;;;;:::o;998:179::-;1056:7;1076:9;1092:1;1088;:5;;;;:::i;:::-;1076:17;;1117:1;1112;:6;;1104:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1168:1;1161:8;;;998:179;;;;:::o;11471:483::-;5410:4;5401:6;;:13;;;;;;;;;;;;;;;;;;11549:21:::1;11587:1;11573:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11549:40;;11618:4;11600;11605:1;11600:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;11644:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11634:4;11639:1;11634:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;11677:62;11694:4;11709:15;;;;;;;;;;;11727:11;11677:8;:62::i;:::-;11750:15;;;;;;;;;;;:66;;;11831:11;11857:1;11873:4;11900;11920:15;11750:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11538:416;5446:5:::0;5437:6;;:14;;;;;;;;;;;;;;;;;;11471:483;:::o;12791:92::-;12848:10;;;;;;;;;;;:19;;:27;12868:6;12848:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12791:92;:::o;17580:475::-;17668:12;17694:14;17710;17737:6;17728:15;;:6;:15;;;:53;;17766:6;17774;17728:53;;;17747:6;17755;17728:53;17693:88;;;;17883:7;17932:6;17940;17915:32;;;;;;;;;:::i;:::-;;;;;;;;;;;;;17905:43;;;;;;17830:213;;;;;;;;;:::i;:::-;;;;;;;;;;;;;17820:224;;;;;;17815:230;;17792:255;;17682:373;;17580:475;;;;;:::o;11356:107::-;11413:7;11445:1;11441;:5;11440:15;;11454:1;11440:15;;;11450:1;11440:15;11433:22;;11356:107;;;;:::o;1921:189::-;2007:7;2039:1;2035;:5;2042:12;2027:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2066:9;2082:1;2078;:5;;;;:::i;:::-;2066:17;;2101:1;2094:8;;;1921:189;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:116::-;5610:21;5625:5;5610:21;:::i;:::-;5603:5;5600:32;5590:60;;5646:1;5643;5636:12;5590:60;5540:116;:::o;5662:133::-;5705:5;5743:6;5730:20;5721:29;;5759:30;5783:5;5759:30;:::i;:::-;5662:133;;;;:::o;5801:323::-;5857:6;5906:2;5894:9;5885:7;5881:23;5877:32;5874:119;;;5912:79;;:::i;:::-;5874:119;6032:1;6057:50;6099:7;6090:6;6079:9;6075:22;6057:50;:::i;:::-;6047:60;;6003:114;5801:323;;;;:::o;6130:329::-;6189:6;6238:2;6226:9;6217:7;6213:23;6209:32;6206:119;;;6244:79;;:::i;:::-;6206:119;6364:1;6389:53;6434:7;6425:6;6414:9;6410:22;6389:53;:::i;:::-;6379:63;;6335:117;6130:329;;;;:::o;6465:474::-;6533:6;6541;6590:2;6578:9;6569:7;6565:23;6561:32;6558:119;;;6596:79;;:::i;:::-;6558:119;6716:1;6741:53;6786:7;6777:6;6766:9;6762:22;6741:53;:::i;:::-;6731:63;;6687:117;6843:2;6869:53;6914:7;6905:6;6894:9;6890:22;6869:53;:::i;:::-;6859:63;;6814:118;6465:474;;;;;:::o;6945:182::-;7085:34;7081:1;7073:6;7069:14;7062:58;6945:182;:::o;7133:366::-;7275:3;7296:67;7360:2;7355:3;7296:67;:::i;:::-;7289:74;;7372:93;7461:3;7372:93;:::i;:::-;7490:2;7485:3;7481:12;7474:19;;7133:366;;;:::o;7505:419::-;7671:4;7709:2;7698:9;7694:18;7686:26;;7758:9;7752:4;7748:20;7744:1;7733:9;7729:17;7722:47;7786:131;7912:4;7786:131;:::i;:::-;7778:139;;7505:419;;;:::o;7930:85::-;7975:7;8004:5;7993:16;;7930:85;;;:::o;8021:60::-;8049:3;8070:5;8063:12;;8021:60;;;:::o;8087:158::-;8145:9;8178:61;8196:42;8205:32;8231:5;8205:32;:::i;:::-;8196:42;:::i;:::-;8178:61;:::i;:::-;8165:74;;8087:158;;;:::o;8251:147::-;8346:45;8385:5;8346:45;:::i;:::-;8341:3;8334:58;8251:147;;:::o;8404:238::-;8505:4;8543:2;8532:9;8528:18;8520:26;;8556:79;8632:1;8621:9;8617:17;8608:6;8556:79;:::i;:::-;8404:238;;;;:::o;8648:180::-;8696:77;8693:1;8686:88;8793:4;8790:1;8783:15;8817:4;8814:1;8807:15;8834:102;8876:8;8923:5;8920:1;8916:13;8895:34;;8834:102;;;:::o;8942:848::-;9003:5;9010:4;9034:6;9025:15;;9058:5;9049:14;;9072:712;9093:1;9083:8;9080:15;9072:712;;;9188:4;9183:3;9179:14;9173:4;9170:24;9167:50;;;9197:18;;:::i;:::-;9167:50;9247:1;9237:8;9233:16;9230:451;;;9662:4;9655:5;9651:16;9642:25;;9230:451;9712:4;9706;9702:15;9694:23;;9742:32;9765:8;9742:32;:::i;:::-;9730:44;;9072:712;;;8942:848;;;;;;;:::o;9796:1073::-;9850:5;10041:8;10031:40;;10062:1;10053:10;;10064:5;;10031:40;10090:4;10080:36;;10107:1;10098:10;;10109:5;;10080:36;10176:4;10224:1;10219:27;;;;10260:1;10255:191;;;;10169:277;;10219:27;10237:1;10228:10;;10239:5;;;10255:191;10300:3;10290:8;10287:17;10284:43;;;10307:18;;:::i;:::-;10284:43;10356:8;10353:1;10349:16;10340:25;;10391:3;10384:5;10381:14;10378:40;;;10398:18;;:::i;:::-;10378:40;10431:5;;;10169:277;;10555:2;10545:8;10542:16;10536:3;10530:4;10527:13;10523:36;10505:2;10495:8;10492:16;10487:2;10481:4;10478:12;10474:35;10458:111;10455:246;;;10611:8;10605:4;10601:19;10592:28;;10646:3;10639:5;10636:14;10633:40;;;10653:18;;:::i;:::-;10633:40;10686:5;;10455:246;10726:42;10764:3;10754:8;10748:4;10745:1;10726:42;:::i;:::-;10711:57;;;;10800:4;10795:3;10791:14;10784:5;10781:25;10778:51;;;10809:18;;:::i;:::-;10778:51;10858:4;10851:5;10847:16;10838:25;;9796:1073;;;;;;:::o;10875:281::-;10933:5;10957:23;10975:4;10957:23;:::i;:::-;10949:31;;11001:25;11017:8;11001:25;:::i;:::-;10989:37;;11045:104;11082:66;11072:8;11066:4;11045:104;:::i;:::-;11036:113;;10875:281;;;;:::o;11162:410::-;11202:7;11225:20;11243:1;11225:20;:::i;:::-;11220:25;;11259:20;11277:1;11259:20;:::i;:::-;11254:25;;11314:1;11311;11307:9;11336:30;11354:11;11336:30;:::i;:::-;11325:41;;11515:1;11506:7;11502:15;11499:1;11496:22;11476:1;11469:9;11449:83;11426:139;;11545:18;;:::i;:::-;11426:139;11210:362;11162:410;;;;:::o;11578:173::-;11718:25;11714:1;11706:6;11702:14;11695:49;11578:173;:::o;11757:366::-;11899:3;11920:67;11984:2;11979:3;11920:67;:::i;:::-;11913:74;;11996:93;12085:3;11996:93;:::i;:::-;12114:2;12109:3;12105:12;12098:19;;11757:366;;;:::o;12129:419::-;12295:4;12333:2;12322:9;12318:18;12310:26;;12382:9;12376:4;12372:20;12368:1;12357:9;12353:17;12346:47;12410:131;12536:4;12410:131;:::i;:::-;12402:139;;12129:419;;;:::o;12554:170::-;12694:22;12690:1;12682:6;12678:14;12671:46;12554:170;:::o;12730:366::-;12872:3;12893:67;12957:2;12952:3;12893:67;:::i;:::-;12886:74;;12969:93;13058:3;12969:93;:::i;:::-;13087:2;13082:3;13078:12;13071:19;;12730:366;;;:::o;13102:419::-;13268:4;13306:2;13295:9;13291:18;13283:26;;13355:9;13349:4;13345:20;13341:1;13330:9;13326:17;13319:47;13383:131;13509:4;13383:131;:::i;:::-;13375:139;;13102:419;;;:::o;13527:143::-;13584:5;13615:6;13609:13;13600:22;;13631:33;13658:5;13631:33;:::i;:::-;13527:143;;;;:::o;13676:351::-;13746:6;13795:2;13783:9;13774:7;13770:23;13766:32;13763:119;;;13801:79;;:::i;:::-;13763:119;13921:1;13946:64;14002:7;13993:6;13982:9;13978:22;13946:64;:::i;:::-;13936:74;;13892:128;13676:351;;;;:::o;14033:332::-;14154:4;14192:2;14181:9;14177:18;14169:26;;14205:71;14273:1;14262:9;14258:17;14249:6;14205:71;:::i;:::-;14286:72;14354:2;14343:9;14339:18;14330:6;14286:72;:::i;:::-;14033:332;;;;;:::o;14371:169::-;14511:21;14507:1;14499:6;14495:14;14488:45;14371:169;:::o;14546:366::-;14688:3;14709:67;14773:2;14768:3;14709:67;:::i;:::-;14702:74;;14785:93;14874:3;14785:93;:::i;:::-;14903:2;14898:3;14894:12;14887:19;;14546:366;;;:::o;14918:419::-;15084:4;15122:2;15111:9;15107:18;15099:26;;15171:9;15165:4;15161:20;15157:1;15146:9;15142:17;15135:47;15199:131;15325:4;15199:131;:::i;:::-;15191:139;;14918:419;;;:::o;15343:143::-;15400:5;15431:6;15425:13;15416:22;;15447:33;15474:5;15447:33;:::i;:::-;15343:143;;;;:::o;15492:351::-;15562:6;15611:2;15599:9;15590:7;15586:23;15582:32;15579:119;;;15617:79;;:::i;:::-;15579:119;15737:1;15762:64;15818:7;15809:6;15798:9;15794:22;15762:64;:::i;:::-;15752:74;;15708:128;15492:351;;;;:::o;15849:169::-;15989:21;15985:1;15977:6;15973:14;15966:45;15849:169;:::o;16024:366::-;16166:3;16187:67;16251:2;16246:3;16187:67;:::i;:::-;16180:74;;16263:93;16352:3;16263:93;:::i;:::-;16381:2;16376:3;16372:12;16365:19;;16024:366;;;:::o;16396:419::-;16562:4;16600:2;16589:9;16585:18;16577:26;;16649:9;16643:4;16639:20;16635:1;16624:9;16620:17;16613:47;16677:131;16803:4;16677:131;:::i;:::-;16669:139;;16396:419;;;:::o;16821:180::-;16869:77;16866:1;16859:88;16966:4;16963:1;16956:15;16990:4;16987:1;16980:15;17007:185;17047:1;17064:20;17082:1;17064:20;:::i;:::-;17059:25;;17098:20;17116:1;17098:20;:::i;:::-;17093:25;;17137:1;17127:35;;17142:18;;:::i;:::-;17127:35;17184:1;17181;17177:9;17172:14;;17007:185;;;;:::o;17198:174::-;17338:26;17334:1;17326:6;17322:14;17315:50;17198:174;:::o;17378:366::-;17520:3;17541:67;17605:2;17600:3;17541:67;:::i;:::-;17534:74;;17617:93;17706:3;17617:93;:::i;:::-;17735:2;17730:3;17726:12;17719:19;;17378:366;;;:::o;17750:419::-;17916:4;17954:2;17943:9;17939:18;17931:26;;18003:9;17997:4;17993:20;17989:1;17978:9;17974:17;17967:47;18031:131;18157:4;18031:131;:::i;:::-;18023:139;;17750:419;;;:::o;18175:807::-;18424:4;18462:3;18451:9;18447:19;18439:27;;18476:71;18544:1;18533:9;18529:17;18520:6;18476:71;:::i;:::-;18557:72;18625:2;18614:9;18610:18;18601:6;18557:72;:::i;:::-;18639:80;18715:2;18704:9;18700:18;18691:6;18639:80;:::i;:::-;18729;18805:2;18794:9;18790:18;18781:6;18729:80;:::i;:::-;18819:73;18887:3;18876:9;18872:19;18863:6;18819:73;:::i;:::-;18902;18970:3;18959:9;18955:19;18946:6;18902:73;:::i;:::-;18175:807;;;;;;;;;:::o;18988:663::-;19076:6;19084;19092;19141:2;19129:9;19120:7;19116:23;19112:32;19109:119;;;19147:79;;:::i;:::-;19109:119;19267:1;19292:64;19348:7;19339:6;19328:9;19324:22;19292:64;:::i;:::-;19282:74;;19238:128;19405:2;19431:64;19487:7;19478:6;19467:9;19463:22;19431:64;:::i;:::-;19421:74;;19376:129;19544:2;19570:64;19626:7;19617:6;19606:9;19602:22;19570:64;:::i;:::-;19560:74;;19515:129;18988:663;;;;;:::o;19657:332::-;19778:4;19816:2;19805:9;19801:18;19793:26;;19829:71;19897:1;19886:9;19882:17;19873:6;19829:71;:::i;:::-;19910:72;19978:2;19967:9;19963:18;19954:6;19910:72;:::i;:::-;19657:332;;;;;:::o;19995:137::-;20049:5;20080:6;20074:13;20065:22;;20096:30;20120:5;20096:30;:::i;:::-;19995:137;;;;:::o;20138:345::-;20205:6;20254:2;20242:9;20233:7;20229:23;20225:32;20222:119;;;20260:79;;:::i;:::-;20222:119;20380:1;20405:61;20458:7;20449:6;20438:9;20434:22;20405:61;:::i;:::-;20395:71;;20351:125;20138:345;;;;:::o;20489:164::-;20629:16;20625:1;20617:6;20613:14;20606:40;20489:164;:::o;20659:366::-;20801:3;20822:67;20886:2;20881:3;20822:67;:::i;:::-;20815:74;;20898:93;20987:3;20898:93;:::i;:::-;21016:2;21011:3;21007:12;21000:19;;20659:366;;;:::o;21031:419::-;21197:4;21235:2;21224:9;21220:18;21212:26;;21284:9;21278:4;21274:20;21270:1;21259:9;21255:17;21248:47;21312:131;21438:4;21312:131;:::i;:::-;21304:139;;21031:419;;;:::o;21456:142::-;21506:9;21539:53;21557:34;21566:24;21584:5;21566:24;:::i;:::-;21557:34;:::i;:::-;21539:53;:::i;:::-;21526:66;;21456:142;;;:::o;21604:126::-;21654:9;21687:37;21718:5;21687:37;:::i;:::-;21674:50;;21604:126;;;:::o;21736:134::-;21794:9;21827:37;21858:5;21827:37;:::i;:::-;21814:50;;21736:134;;;:::o;21876:147::-;21971:45;22010:5;21971:45;:::i;:::-;21966:3;21959:58;21876:147;;:::o;22029:348::-;22158:4;22196:2;22185:9;22181:18;22173:26;;22209:79;22285:1;22274:9;22270:17;22261:6;22209:79;:::i;:::-;22298:72;22366:2;22355:9;22351:18;22342:6;22298:72;:::i;:::-;22029:348;;;;;:::o;22383:161::-;22523:13;22519:1;22511:6;22507:14;22500:37;22383:161;:::o;22550:366::-;22692:3;22713:67;22777:2;22772:3;22713:67;:::i;:::-;22706:74;;22789:93;22878:3;22789:93;:::i;:::-;22907:2;22902:3;22898:12;22891:19;;22550:366;;;:::o;22922:419::-;23088:4;23126:2;23115:9;23111:18;23103:26;;23175:9;23169:4;23165:20;23161:1;23150:9;23146:17;23139:47;23203:131;23329:4;23203:131;:::i;:::-;23195:139;;22922:419;;;:::o;23347:223::-;23487:34;23483:1;23475:6;23471:14;23464:58;23556:6;23551:2;23543:6;23539:15;23532:31;23347:223;:::o;23576:366::-;23718:3;23739:67;23803:2;23798:3;23739:67;:::i;:::-;23732:74;;23815:93;23904:3;23815:93;:::i;:::-;23933:2;23928:3;23924:12;23917:19;;23576:366;;;:::o;23948:419::-;24114:4;24152:2;24141:9;24137:18;24129:26;;24201:9;24195:4;24191:20;24187:1;24176:9;24172:17;24165:47;24229:131;24355:4;24229:131;:::i;:::-;24221:139;;23948:419;;;:::o;24373:221::-;24513:34;24509:1;24501:6;24497:14;24490:58;24582:4;24577:2;24569:6;24565:15;24558:29;24373:221;:::o;24600:366::-;24742:3;24763:67;24827:2;24822:3;24763:67;:::i;:::-;24756:74;;24839:93;24928:3;24839:93;:::i;:::-;24957:2;24952:3;24948:12;24941:19;;24600:366;;;:::o;24972:419::-;25138:4;25176:2;25165:9;25161:18;25153:26;;25225:9;25219:4;25215:20;25211:1;25200:9;25196:17;25189:47;25253:131;25379:4;25253:131;:::i;:::-;25245:139;;24972:419;;;:::o;25397:224::-;25537:34;25533:1;25525:6;25521:14;25514:58;25606:7;25601:2;25593:6;25589:15;25582:32;25397:224;:::o;25627:366::-;25769:3;25790:67;25854:2;25849:3;25790:67;:::i;:::-;25783:74;;25866:93;25955:3;25866:93;:::i;:::-;25984:2;25979:3;25975:12;25968:19;;25627:366;;;:::o;25999:419::-;26165:4;26203:2;26192:9;26188:18;26180:26;;26252:9;26246:4;26242:20;26238:1;26227:9;26223:17;26216:47;26280:131;26406:4;26280:131;:::i;:::-;26272:139;;25999:419;;;:::o;26424:222::-;26564:34;26560:1;26552:6;26548:14;26541:58;26633:5;26628:2;26620:6;26616:15;26609:30;26424:222;:::o;26652:366::-;26794:3;26815:67;26879:2;26874:3;26815:67;:::i;:::-;26808:74;;26891:93;26980:3;26891:93;:::i;:::-;27009:2;27004:3;27000:12;26993:19;;26652:366;;;:::o;27024:419::-;27190:4;27228:2;27217:9;27213:18;27205:26;;27277:9;27271:4;27267:20;27263:1;27252:9;27248:17;27241:47;27305:131;27431:4;27305:131;:::i;:::-;27297:139;;27024:419;;;:::o;27449:228::-;27589:34;27585:1;27577:6;27573:14;27566:58;27658:11;27653:2;27645:6;27641:15;27634:36;27449:228;:::o;27683:366::-;27825:3;27846:67;27910:2;27905:3;27846:67;:::i;:::-;27839:74;;27922:93;28011:3;27922:93;:::i;:::-;28040:2;28035:3;28031:12;28024:19;;27683:366;;;:::o;28055:419::-;28221:4;28259:2;28248:9;28244:18;28236:26;;28308:9;28302:4;28298:20;28294:1;28283:9;28279:17;28272:47;28336:131;28462:4;28336:131;:::i;:::-;28328:139;;28055:419;;;:::o;28480:296::-;28620:34;28616:1;28608:6;28604:14;28597:58;28689:34;28684:2;28676:6;28672:15;28665:59;28758:10;28753:2;28745:6;28741:15;28734:35;28480:296;:::o;28782:366::-;28924:3;28945:67;29009:2;29004:3;28945:67;:::i;:::-;28938:74;;29021:93;29110:3;29021:93;:::i;:::-;29139:2;29134:3;29130:12;29123:19;;28782:366;;;:::o;29154:419::-;29320:4;29358:2;29347:9;29343:18;29335:26;;29407:9;29401:4;29397:20;29393:1;29382:9;29378:17;29371:47;29435:131;29561:4;29435:131;:::i;:::-;29427:139;;29154:419;;;:::o;29579:175::-;29719:27;29715:1;29707:6;29703:14;29696:51;29579:175;:::o;29760:366::-;29902:3;29923:67;29987:2;29982:3;29923:67;:::i;:::-;29916:74;;29999:93;30088:3;29999:93;:::i;:::-;30117:2;30112:3;30108:12;30101:19;;29760:366;;;:::o;30132:419::-;30298:4;30336:2;30325:9;30321:18;30313:26;;30385:9;30379:4;30375:20;30371:1;30360:9;30356:17;30349:47;30413:131;30539:4;30413:131;:::i;:::-;30405:139;;30132:419;;;:::o;30557:191::-;30597:3;30616:20;30634:1;30616:20;:::i;:::-;30611:25;;30650:20;30668:1;30650:20;:::i;:::-;30645:25;;30693:1;30690;30686:9;30679:16;;30714:3;30711:1;30708:10;30705:36;;;30721:18;;:::i;:::-;30705:36;30557:191;;;;:::o;30754:176::-;30894:28;30890:1;30882:6;30878:14;30871:52;30754:176;:::o;30936:366::-;31078:3;31099:67;31163:2;31158:3;31099:67;:::i;:::-;31092:74;;31175:93;31264:3;31175:93;:::i;:::-;31293:2;31288:3;31284:12;31277:19;;30936:366;;;:::o;31308:419::-;31474:4;31512:2;31501:9;31497:18;31489:26;;31561:9;31555:4;31551:20;31547:1;31536:9;31532:17;31525:47;31589:131;31715:4;31589:131;:::i;:::-;31581:139;;31308:419;;;:::o;31733:233::-;31772:3;31795:24;31813:5;31795:24;:::i;:::-;31786:33;;31841:66;31834:5;31831:77;31828:103;;31911:18;;:::i;:::-;31828:103;31958:1;31951:5;31947:13;31940:20;;31733:233;;;:::o;31972:173::-;32112:25;32108:1;32100:6;32096:14;32089:49;31972:173;:::o;32151:366::-;32293:3;32314:67;32378:2;32373:3;32314:67;:::i;:::-;32307:74;;32390:93;32479:3;32390:93;:::i;:::-;32508:2;32503:3;32499:12;32492:19;;32151:366;;;:::o;32523:419::-;32689:4;32727:2;32716:9;32712:18;32704:26;;32776:9;32770:4;32766:20;32762:1;32751:9;32747:17;32740:47;32804:131;32930:4;32804:131;:::i;:::-;32796:139;;32523:419;;;:::o;32948:194::-;32988:4;33008:20;33026:1;33008:20;:::i;:::-;33003:25;;33042:20;33060:1;33042:20;:::i;:::-;33037:25;;33086:1;33083;33079:9;33071:17;;33110:1;33104:4;33101:11;33098:37;;;33115:18;;:::i;:::-;33098:37;32948:194;;;;:::o;33148:220::-;33288:34;33284:1;33276:6;33272:14;33265:58;33357:3;33352:2;33344:6;33340:15;33333:28;33148:220;:::o;33374:366::-;33516:3;33537:67;33601:2;33596:3;33537:67;:::i;:::-;33530:74;;33613:93;33702:3;33613:93;:::i;:::-;33731:2;33726:3;33722:12;33715:19;;33374:366;;;:::o;33746:419::-;33912:4;33950:2;33939:9;33935:18;33927:26;;33999:9;33993:4;33989:20;33985:1;33974:9;33970:17;33963:47;34027:131;34153:4;34027:131;:::i;:::-;34019:139;;33746:419;;;:::o;34171:177::-;34311:29;34307:1;34299:6;34295:14;34288:53;34171:177;:::o;34354:366::-;34496:3;34517:67;34581:2;34576:3;34517:67;:::i;:::-;34510:74;;34593:93;34682:3;34593:93;:::i;:::-;34711:2;34706:3;34702:12;34695:19;;34354:366;;;:::o;34726:419::-;34892:4;34930:2;34919:9;34915:18;34907:26;;34979:9;34973:4;34969:20;34965:1;34954:9;34950:17;34943:47;35007:131;35133:4;35007:131;:::i;:::-;34999:139;;34726:419;;;:::o;35151:180::-;35199:77;35196:1;35189:88;35296:4;35293:1;35286:15;35320:4;35317:1;35310:15;35337:180;35385:77;35382:1;35375:88;35482:4;35479:1;35472:15;35506:4;35503:1;35496:15;35523:114;35590:6;35624:5;35618:12;35608:22;;35523:114;;;:::o;35643:184::-;35742:11;35776:6;35771:3;35764:19;35816:4;35811:3;35807:14;35792:29;;35643:184;;;;:::o;35833:132::-;35900:4;35923:3;35915:11;;35953:4;35948:3;35944:14;35936:22;;35833:132;;;:::o;35971:108::-;36048:24;36066:5;36048:24;:::i;:::-;36043:3;36036:37;35971:108;;:::o;36085:179::-;36154:10;36175:46;36217:3;36209:6;36175:46;:::i;:::-;36253:4;36248:3;36244:14;36230:28;;36085:179;;;;:::o;36270:113::-;36340:4;36372;36367:3;36363:14;36355:22;;36270:113;;;:::o;36419:732::-;36538:3;36567:54;36615:5;36567:54;:::i;:::-;36637:86;36716:6;36711:3;36637:86;:::i;:::-;36630:93;;36747:56;36797:5;36747:56;:::i;:::-;36826:7;36857:1;36842:284;36867:6;36864:1;36861:13;36842:284;;;36943:6;36937:13;36970:63;37029:3;37014:13;36970:63;:::i;:::-;36963:70;;37056:60;37109:6;37056:60;:::i;:::-;37046:70;;36902:224;36889:1;36886;36882:9;36877:14;;36842:284;;;36846:14;37142:3;37135:10;;36543:608;;;36419:732;;;;:::o;37157:831::-;37420:4;37458:3;37447:9;37443:19;37435:27;;37472:71;37540:1;37529:9;37525:17;37516:6;37472:71;:::i;:::-;37553:80;37629:2;37618:9;37614:18;37605:6;37553:80;:::i;:::-;37680:9;37674:4;37670:20;37665:2;37654:9;37650:18;37643:48;37708:108;37811:4;37802:6;37708:108;:::i;:::-;37700:116;;37826:72;37894:2;37883:9;37879:18;37870:6;37826:72;:::i;:::-;37908:73;37976:3;37965:9;37961:19;37952:6;37908:73;:::i;:::-;37157:831;;;;;;;;:::o;37994:94::-;38027:8;38075:5;38071:2;38067:14;38046:35;;37994:94;;;:::o;38094:::-;38133:7;38162:20;38176:5;38162:20;:::i;:::-;38151:31;;38094:94;;;:::o;38194:100::-;38233:7;38262:26;38282:5;38262:26;:::i;:::-;38251:37;;38194:100;;;:::o;38300:157::-;38405:45;38425:24;38443:5;38425:24;:::i;:::-;38405:45;:::i;:::-;38400:3;38393:58;38300:157;;:::o;38463:397::-;38603:3;38618:75;38689:3;38680:6;38618:75;:::i;:::-;38718:2;38713:3;38709:12;38702:19;;38731:75;38802:3;38793:6;38731:75;:::i;:::-;38831:2;38826:3;38822:12;38815:19;;38851:3;38844:10;;38463:397;;;;;:::o;38866:148::-;38968:11;39005:3;38990:18;;38866:148;;;;:::o;39020:214::-;39160:66;39156:1;39148:6;39144:14;39137:90;39020:214;:::o;39240:400::-;39400:3;39421:84;39503:1;39498:3;39421:84;:::i;:::-;39414:91;;39514:93;39603:3;39514:93;:::i;:::-;39632:1;39627:3;39623:11;39616:18;;39240:400;;;:::o;39646:77::-;39683:7;39712:5;39701:16;;39646:77;;;:::o;39729:79::-;39768:7;39797:5;39786:16;;39729:79;;;:::o;39814:157::-;39919:45;39939:24;39957:5;39939:24;:::i;:::-;39919:45;:::i;:::-;39914:3;39907:58;39814:157;;:::o;39977:214::-;40117:66;40113:1;40105:6;40101:14;40094:90;39977:214;:::o;40197:402::-;40357:3;40378:85;40460:2;40455:3;40378:85;:::i;:::-;40371:92;;40472:93;40561:3;40472:93;:::i;:::-;40590:2;40585:3;40581:12;40574:19;;40197:402;;;:::o;40605:929::-;40947:3;40969:148;41113:3;40969:148;:::i;:::-;40962:155;;41127:75;41198:3;41189:6;41127:75;:::i;:::-;41227:2;41222:3;41218:12;41211:19;;41240:75;41311:3;41302:6;41240:75;:::i;:::-;41340:2;41335:3;41331:12;41324:19;;41360:148;41504:3;41360:148;:::i;:::-;41353:155;;41525:3;41518:10;;40605:929;;;;;:::o

Swarm Source

ipfs://db5d216eee56631a4796b737c5750ff408fcec24a6f24b2bf67aece93e0a0481

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