ETH Price: $3,107.42 (+1.04%)
Gas: 7 Gwei

Token

Ethereum Rox (EROX)
 

Overview

Max Total Supply

1,000,000,000,000,000 EROX

Holders

66

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
theunbrokenwindow.eth
Balance
953,890,219.226872548 EROX

Value
$0.00
0x376a6efe8e98f3ae2af230b3d45b8cc5e962bc27
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
erox

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

/**
SPDX-License-Identifier: UNLICENSED 
*/
pragma solidity ^0.8.4;

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

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

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

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

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

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

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

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

}  

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

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

contract erox is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private _isExcluded;
    address[] private _excluded;
    mapping (address => bool) private _isBlackListedBot;
    address[] private _blackListedBots;
    
    mapping (address => User) private cooldown;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1e15 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    string private constant _name = unicode"Ethereum Rox";
    string private constant _symbol = unicode"EROX";
    uint8 private constant _decimals = 9;
    uint256 private _taxFee = 4;
    uint256 private _teamFee = 8;
    uint256 private _launchTime;
    uint256 private _previousTaxFee = _taxFee;
    uint256 private _previousteamFee = _teamFee;
    uint256 private _maxBuyAmount;
    address payable private _FeeAddress;
    address payable private _FeeAddress2;
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private _cooldownEnabled = true;
    bool private inSwap = false;
    uint256 private buyLimitEnd;
    struct User {
        uint256 buy;
        uint256 sell;
        bool exists;
    }

    event MaxBuyAmountUpdated(uint _maxBuyAmount);
    event CooldownEnabledUpdated(bool _cooldown);

    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor (address payable FeeAddress, address payable FeeAddress2) {
        _FeeAddress = FeeAddress;
        _FeeAddress2 = FeeAddress2;
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        
        _isExcludedFromFee[FeeAddress] = true;
        _isExcludedFromFee[FeeAddress2] = true;
        
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

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

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

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

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

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

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

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

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

    function removeAllFee() private {
        if(_taxFee == 0 && _teamFee == 0) return;
        _previousTaxFee = _taxFee;
        _previousteamFee = _teamFee;
        _taxFee = 0;
        _teamFee = 0;
    }
    
    function restoreAllFee() private {
        _taxFee = _previousTaxFee;
        _teamFee = _previousteamFee;
    }

    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");
        require(!_isBlackListedBot[to], "You have no power here!");
        require(!_isBlackListedBot[msg.sender], "You have no power here!");

        if(from != owner() && to != owner()) {
            if(_cooldownEnabled) {
                if(!cooldown[msg.sender].exists) {
                    cooldown[msg.sender] = User(0,0,true);
                }
            }

            // buy
            if(from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) {
                require(tradingOpen, "Trading not yet enabled.");
                if(_cooldownEnabled) {
                    if(buyLimitEnd > block.timestamp) {
                        require(amount <= _maxBuyAmount);
                        require(cooldown[to].buy < block.timestamp, "Your buy cooldown has not expired.");
                        cooldown[to].buy = block.timestamp + (15 seconds);
                    }
                }
            }
            uint256 contractTokenBalance = balanceOf(address(this));

            // sell
            if(!inSwap && from != uniswapV2Pair && tradingOpen) {
                if(contractTokenBalance > 0) {
                    swapTokensForEth(contractTokenBalance);
                }
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
        bool takeFee = true;

        if(_isExcludedFromFee[from] || _isExcludedFromFee[to]){
            takeFee = false;
        }
        
        _tokenTransfer(from,to,amount,takeFee);
    }

    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 sendETHToFee(uint256 amount) private {
        _FeeAddress.transfer(amount.div(2));
        _FeeAddress2.transfer(amount.div(2));
    }
    
    function _tokenTransfer(address sender, address recipient, uint256 amount, bool takeFee) private {
        if(!takeFee)
            removeAllFee();
        if (_isExcluded[sender] && !_isExcluded[recipient]) {
            _transferFromExcluded(sender, recipient, amount);
        } else if (!_isExcluded[sender] && _isExcluded[recipient]) {
            _transferToExcluded(sender, recipient, amount);
        } else if (!_isExcluded[sender] && !_isExcluded[recipient]) {
            _transferStandard(sender, recipient, amount);
        } else if (_isExcluded[sender] && _isExcluded[recipient]) {
            _transferBothExcluded(sender, recipient, amount);
        } else {
            _transferStandard(sender, recipient, amount);
        }
        if(!takeFee)
            restoreAllFee();
    }

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

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

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

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

    function _getCurrentSupply() private view returns(uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        for (uint256 i = 0; i < _excluded.length; i++) {
            if (_rOwned[_excluded[i]] > rSupply || _tOwned[_excluded[i]] > tSupply) return (_rTotal, _tTotal);
            rSupply = rSupply.sub(_rOwned[_excluded[i]]);
            tSupply = tSupply.sub(_tOwned[_excluded[i]]);
        }
        if(rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }

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

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate =  _getRate();
        uint256 rTeam = tTeam.mul(currentRate);

        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

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

    receive() external payable {}
    
    function addLiquidity() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        _maxBuyAmount = 200000000000000 * 10**9; // 1% TX LIMIT 
        _launchTime = block.timestamp;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }

    function openTrading() public onlyOwner {
        tradingOpen = true;
        buyLimitEnd = block.timestamp + (120 seconds);
    }

    function manualswap() external {
        require(_msgSender() == _FeeAddress);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
    
    function manualsend() external {
        require(_msgSender() == _FeeAddress);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

    function setCooldownEnabled(bool onoff) external onlyOwner() {
        _cooldownEnabled = onoff;
        emit CooldownEnabledUpdated(_cooldownEnabled);
    }
    
    function isExcluded(address account) public view returns (bool) {
        return _isExcluded[account];
    }
    
    function excludeAccount(address account) external onlyOwner() {
        require(account != 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D, 'We can not exclude Uniswap router.');
        require(!_isExcluded[account], "Account is already excluded");
        if(_rOwned[account] > 0) {
            _tOwned[account] = tokenFromReflection(_rOwned[account]);
        }
        _isExcluded[account] = true;
        _excluded.push(account);
    }

    function includeAccount(address account) external onlyOwner() {
        require(_isExcluded[account], "Account is already excluded");
        for (uint256 i = 0; i < _excluded.length; i++) {
            if (_excluded[i] == account) {
                _excluded[i] = _excluded[_excluded.length - 1];
                _tOwned[account] = 0;
                _isExcluded[account] = false;
                _excluded.pop();
                break;
            }
        }
    }
    
    function isExcludedFromFee(address account) public view returns(bool) {
        return _isExcludedFromFee[account];
    }
    
    function isBlackListed(address account) public view returns (bool) {
        return _isBlackListedBot[account];
    }
    
    function addBotToBlackList(address account) external onlyOwner() {
        require(account != 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D, 'We can not blacklist Uniswap router.');
        require(!_isBlackListedBot[account], "Account is already blacklisted");
        _isBlackListedBot[account] = true;
        _blackListedBots.push(account);
    }
    
    function removeBotFromBlackList(address account) external onlyOwner() {
        require(_isBlackListedBot[account], "Account is not blacklisted");
        for (uint256 i = 0; i < _blackListedBots.length; i++) {
            if (_blackListedBots[i] == account) {
                _blackListedBots[i] = _blackListedBots[_blackListedBots.length - 1];
                _isBlackListedBot[account] = false;
                _blackListedBots.pop();
                break;
            }
        }
    }
    
    function setExcludeFromFee(address account, bool excluded) external onlyOwner() {
        _isExcludedFromFee[account] = excluded;
    }

    function thisBalance() public view returns (uint) {
        return balanceOf(address(this));
    }

    function cooldownEnabled() public view returns (bool) {
        return _cooldownEnabled;
    }

    function timeToBuy(address buyer) public view returns (uint) {
        return block.timestamp - cooldown[buyer].buy;
    }

    function amountInPool() public view returns (uint) {
        return balanceOf(uniswapV2Pair);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address payable","name":"FeeAddress","type":"address"},{"internalType":"address payable","name":"FeeAddress2","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"_cooldown","type":"bool"}],"name":"CooldownEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxBuyAmount","type":"uint256"}],"name":"MaxBuyAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addBotToBlackList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"addLiquidity","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":[],"name":"amountInPool","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":"cooldownEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isBlackListed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeBotFromBlackList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"setExcludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"thisBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"buyer","type":"address"}],"name":"timeToBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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"}]

608060405269d3c21bcecceda10000006000196200001e91906200055d565b6000196200002d9190620004e4565b600b556004600d556008600e55600d54601055600e546011556001601660156101000a81548160ff02191690831515021790555060006016806101000a81548160ff0219169083151502179055503480156200008857600080fd5b5060405162005cd538038062005cd58339818101604052810190620000ae919062000475565b6000620000c06200042d60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35081601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b5460026000620001f76200042d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600560006200024b6200043560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620003b46200042d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef69d3c21bcecceda10000006040516200041d9190620004c7565b60405180910390a350506200060d565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000815190506200046f81620005f3565b92915050565b600080604083850312156200048957600080fd5b600062000499858286016200045e565b9250506020620004ac858286016200045e565b9150509250929050565b620004c18162000553565b82525050565b6000602082019050620004de6000830184620004b6565b92915050565b6000620004f18262000553565b9150620004fe8362000553565b92508282101562000514576200051362000595565b5b828203905092915050565b60006200052c8262000533565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006200056a8262000553565b9150620005778362000553565b9250826200058a5762000589620005c4565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b620005fe816200051f565b81146200060a57600080fd5b50565b6156b8806200061d6000396000f3fe6080604052600436106101bb5760003560e01c80638da5cb5b116100ec578063cba0e9961161008a578063e47d606011610064578063e47d606014610607578063e8078d9414610644578063f2cc0c181461065b578063f84354f114610684576101c2565b8063cba0e99614610562578063db92dbb61461059f578063dd62ed3e146105ca576101c2565b8063a985ceef116100c6578063a985ceef146104e0578063af9549e01461050b578063c3c8cd8014610534578063c9567bf91461054b576101c2565b80638da5cb5b1461044d57806395d89b4114610478578063a9059cbb146104a3576101c2565b80635342acb4116101595780636fc3eaec116101335780636fc3eaec146103b957806370a08231146103d0578063715018a61461040d5780637ded4d6a14610424576101c2565b80635342acb4146103165780635932ead11461035357806368a3a6a51461037c576101c2565b806323b872dd1161019557806323b872dd1461025a57806327f3a72a14610297578063313ce567146102c25780634303443d146102ed576101c2565b806306fdde03146101c7578063095ea7b3146101f257806318160ddd1461022f576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101dc6106ad565b6040516101e99190614c09565b60405180910390f35b3480156101fe57600080fd5b50610219600480360381019061021491906146c4565b6106ea565b6040516102269190614bee565b60405180910390f35b34801561023b57600080fd5b50610244610708565b6040516102519190614e6b565b60405180910390f35b34801561026657600080fd5b50610281600480360381019061027c9190614639565b61071a565b60405161028e9190614bee565b60405180910390f35b3480156102a357600080fd5b506102ac6107f3565b6040516102b99190614e6b565b60405180910390f35b3480156102ce57600080fd5b506102d7610803565b6040516102e49190614ee0565b60405180910390f35b3480156102f957600080fd5b50610314600480360381019061030f91906145ab565b61080c565b005b34801561032257600080fd5b5061033d600480360381019061033891906145ab565b610a6f565b60405161034a9190614bee565b60405180910390f35b34801561035f57600080fd5b5061037a60048036038101906103759190614700565b610ac5565b005b34801561038857600080fd5b506103a3600480360381019061039e91906145ab565b610bbd565b6040516103b09190614e6b565b60405180910390f35b3480156103c557600080fd5b506103ce610c14565b005b3480156103dc57600080fd5b506103f760048036038101906103f291906145ab565b610c86565b6040516104049190614e6b565b60405180910390f35b34801561041957600080fd5b50610422610cd7565b005b34801561043057600080fd5b5061044b600480360381019061044691906145ab565b610e2a565b005b34801561045957600080fd5b506104626111cc565b60405161046f9190614b20565b60405180910390f35b34801561048457600080fd5b5061048d6111f5565b60405161049a9190614c09565b60405180910390f35b3480156104af57600080fd5b506104ca60048036038101906104c591906146c4565b611232565b6040516104d79190614bee565b60405180910390f35b3480156104ec57600080fd5b506104f5611250565b6040516105029190614bee565b60405180910390f35b34801561051757600080fd5b50610532600480360381019061052d9190614688565b611267565b005b34801561054057600080fd5b50610549611357565b005b34801561055757600080fd5b506105606113d1565b005b34801561056e57600080fd5b50610589600480360381019061058491906145ab565b611496565b6040516105969190614bee565b60405180910390f35b3480156105ab57600080fd5b506105b46114ec565b6040516105c19190614e6b565b60405180910390f35b3480156105d657600080fd5b506105f160048036038101906105ec91906145fd565b61151e565b6040516105fe9190614e6b565b60405180910390f35b34801561061357600080fd5b5061062e600480360381019061062991906145ab565b6115a5565b60405161063b9190614bee565b60405180910390f35b34801561065057600080fd5b506106596115fb565b005b34801561066757600080fd5b50610682600480360381019061067d91906145ab565b611b10565b005b34801561069057600080fd5b506106ab60048036038101906106a691906145ab565b611e47565b005b60606040518060400160405280600c81526020017f457468657265756d20526f780000000000000000000000000000000000000000815250905090565b60006106fe6106f761222e565b8484612236565b6001905092915050565b600069d3c21bcecceda1000000905090565b6000610727848484612401565b6107e88461073361222e565b6107e38560405180606001604052806028815260200161565b60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061079961222e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b9c9092919063ffffffff16565b612236565b600190509392505050565b60006107fe30610c86565b905090565b60006009905090565b61081461222e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089890614d2b565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610924576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091b90614d8b565b60405180910390fd5b600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156109b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a890614ceb565b60405180910390fd5b6001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506009819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610acd61222e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5190614d2b565b60405180910390fd5b80601660156101000a81548160ff0219169083151502179055507f0d63187a8abb5b4d1bb562e1163897386b0a88ee72e0799dd105bd0fd6f28706601660159054906101000a900460ff16604051610bb29190614bee565b60405180910390a150565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015442610c0d9190615031565b9050919050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c5561222e565b73ffffffffffffffffffffffffffffffffffffffff1614610c7557600080fd5b6000479050610c8381612c00565b50565b6000610cd0600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612cfb565b9050919050565b610cdf61222e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6390614d2b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610e3261222e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ebf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb690614d2b565b60405180910390fd5b600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610f4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4290614d6b565b60405180910390fd5b60005b6009805490508110156111c8578173ffffffffffffffffffffffffffffffffffffffff1660098281548110610fac577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156111b557600960016009805490506110079190615031565b8154811061103e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600982815481106110a3577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600980548061117b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905590556111c8565b80806111c0906150ff565b915050610f4e565b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f45524f5800000000000000000000000000000000000000000000000000000000815250905090565b600061124661123f61222e565b8484612401565b6001905092915050565b6000601660159054906101000a900460ff16905090565b61126f61222e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f390614d2b565b60405180910390fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661139861222e565b73ffffffffffffffffffffffffffffffffffffffff16146113b857600080fd5b60006113c330610c86565b90506113ce81612d69565b50565b6113d961222e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611466576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145d90614d2b565b60405180910390fd5b6001601660146101000a81548160ff02191690831515021790555060784261148e9190614f50565b601781905550565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000611519601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610c86565b905090565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b61160361222e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611690576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168790614d2b565b60405180910390fd5b601660149054906101000a900460ff16156116e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d790614deb565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061177130601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1669d3c21bcecceda1000000612236565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156117b757600080fd5b505afa1580156117cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ef91906145d4565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561185157600080fd5b505afa158015611865573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061188991906145d4565b6040518363ffffffff1660e01b81526004016118a6929190614b3b565b602060405180830381600087803b1580156118c057600080fd5b505af11580156118d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118f891906145d4565b601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061198130610c86565b60008061198c6111cc565b426040518863ffffffff1660e01b81526004016119ae96959493929190614b8d565b6060604051808303818588803b1580156119c757600080fd5b505af11580156119db573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611a009190614752565b505050692a5a058fc295ed00000060128190555042600f81905550601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611aba929190614b64565b602060405180830381600087803b158015611ad457600080fd5b505af1158015611ae8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b0c9190614729565b5050565b611b1861222e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ba5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9c90614d2b565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611c28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1f90614e2b565b60405180910390fd5b600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611cb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cac90614ccb565b60405180910390fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115611d8957611d45600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612cfb565b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506007819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611e4f61222e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611edc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ed390614d2b565b60405180910390fd5b600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611f68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f5f90614ccb565b60405180910390fd5b60005b60078054905081101561222a578173ffffffffffffffffffffffffffffffffffffffff1660078281548110611fc9577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561221757600760016007805490506120249190615031565b8154811061205b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600782815481106120c0577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060078054806121dd577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055905561222a565b8080612222906150ff565b915050611f6b565b5050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156122a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161229d90614dcb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612316576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161230d90614c6b565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516123f49190614e6b565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612471576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161246890614dab565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156124e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124d890614c2b565b60405180910390fd5b60008111612524576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161251b90614d4b565b60405180910390fd5b600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156125b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125a890614e4b565b60405180910390fd5b600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561263e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161263590614e4b565b60405180910390fd5b6126466111cc565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156126b457506126846111cc565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15612ad957601660159054906101000a900460ff16156127ba57600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009054906101000a900460ff166127b9576040518060600160405280600081526020016000815260200160011515815250600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff0219169083151502179055509050505b5b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156128655750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156128bb5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612a1757601660149054906101000a900460ff1661290f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161290690614e0b565b60405180910390fd5b601660159054906101000a900460ff1615612a1657426017541115612a155760125481111561293d57600080fd5b42600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154106129c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129b890614c8b565b60405180910390fd5b600f426129ce9190614f50565b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055505b5b5b6000612a2230610c86565b905060168054906101000a900460ff16158015612a8d5750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015612aa55750601660149054906101000a900460ff165b15612ad7576000811115612abd57612abc81612d69565b5b60004790506000811115612ad557612ad447612c00565b5b505b505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612b805750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612b8a57600090505b612b9684848484613061565b50505050565b6000838311158290612be4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bdb9190614c09565b60405180910390fd5b5060008385612bf39190615031565b9050809150509392505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc612c5060028461337290919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612c7b573d6000803e3d6000fd5b50601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc612ccc60028461337290919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612cf7573d6000803e3d6000fd5b5050565b6000600b54821115612d42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d3990614c4b565b60405180910390fd5b6000612d4c6133bc565b9050612d61818461337290919063ffffffff16565b915050919050565b60016016806101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115612dc6577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015612df45781602001602082028036833780820191505090505b5090503081600081518110612e32577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015612ed457600080fd5b505afa158015612ee8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f0c91906145d4565b81600181518110612f46577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612fad30601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612236565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401613011959493929190614e86565b600060405180830381600087803b15801561302b57600080fd5b505af115801561303f573d6000803e3d6000fd5b505050505060006016806101000a81548160ff02191690831515021790555050565b8061306f5761306e6133e7565b5b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156131125750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156131275761312284848461342a565b61335e565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156131ca5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156131df576131da84848461368a565b61335d565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156132835750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15613298576132938484846138ea565b61335c565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561333a5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561334f5761334a848484613ab5565b61335b565b61335a8484846138ea565b5b5b5b5b8061336c5761336b613daa565b5b50505050565b60006133b483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613dbe565b905092915050565b60008060006133c9613e21565b915091506133e0818361337290919063ffffffff16565b9250505090565b6000600d541480156133fb57506000600e54145b1561340557613428565b600d54601081905550600e546011819055506000600d819055506000600e819055505b565b60008060008060008061343c8761418c565b95509550955095509550955061349a87600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141f490919063ffffffff16565b600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061352f86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141f490919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506135c485600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461423e90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506136108161429c565b61361a8483614359565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516136779190614e6b565b60405180910390a3505050505050505050565b60008060008060008061369c8761418c565b9550955095509550955095506136fa86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141f490919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061378f83600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461423e90919063ffffffff16565b600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061382485600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461423e90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506138708161429c565b61387a8483614359565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516138d79190614e6b565b60405180910390a3505050505050505050565b6000806000806000806138fc8761418c565b95509550955095509550955061395a86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141f490919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506139ef85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461423e90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613a3b8161429c565b613a458483614359565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051613aa29190614e6b565b60405180910390a3505050505050505050565b600080600080600080613ac78761418c565b955095509550955095509550613b2587600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141f490919063ffffffff16565b600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613bba86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141f490919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613c4f83600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461423e90919063ffffffff16565b600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613ce485600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461423e90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613d308161429c565b613d3a8483614359565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051613d979190614e6b565b60405180910390a3505050505050505050565b601054600d81905550601154600e81905550565b60008083118290613e05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613dfc9190614c09565b60405180910390fd5b5060008385613e149190614fa6565b9050809150509392505050565b6000806000600b549050600069d3c21bcecceda1000000905060005b60078054905081101561413f57826002600060078481548110613e89577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541180613f9d5750816003600060078481548110613f35577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b15613fbc57600b5469d3c21bcecceda100000094509450505050614188565b6140726002600060078481548110613ffd577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054846141f490919063ffffffff16565b925061412a60036000600784815481106140b5577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836141f490919063ffffffff16565b91508080614137906150ff565b915050613e3d565b5061415f69d3c21bcecceda1000000600b5461337290919063ffffffff16565b82101561417f57600b5469d3c21bcecceda1000000935093505050614188565b81819350935050505b9091565b60008060008060008060008060006141a98a600d54600e54614393565b92509250925060006141b96133bc565b905060008060006141cc8e878787614429565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061423683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612b9c565b905092915050565b600080828461424d9190614f50565b905083811015614292576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161428990614cab565b60405180910390fd5b8091505092915050565b60006142a66133bc565b905060006142bd82846144b290919063ffffffff16565b905061431181600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461423e90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b61436e82600b546141f490919063ffffffff16565b600b8190555061438981600c5461423e90919063ffffffff16565b600c819055505050565b6000806000806143bf60646143b1888a6144b290919063ffffffff16565b61337290919063ffffffff16565b905060006143e960646143db888b6144b290919063ffffffff16565b61337290919063ffffffff16565b9050600061441282614404858c6141f490919063ffffffff16565b6141f490919063ffffffff16565b905080838395509550955050505093509350939050565b60008060008061444285896144b290919063ffffffff16565b9050600061445986896144b290919063ffffffff16565b9050600061447087896144b290919063ffffffff16565b905060006144998261448b85876141f490919063ffffffff16565b6141f490919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000808314156144c55760009050614527565b600082846144d39190614fd7565b90508284826144e29190614fa6565b14614522576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161451990614d0b565b60405180910390fd5b809150505b92915050565b60008135905061453c81615615565b92915050565b60008151905061455181615615565b92915050565b6000813590506145668161562c565b92915050565b60008151905061457b8161562c565b92915050565b60008135905061459081615643565b92915050565b6000815190506145a581615643565b92915050565b6000602082840312156145bd57600080fd5b60006145cb8482850161452d565b91505092915050565b6000602082840312156145e657600080fd5b60006145f484828501614542565b91505092915050565b6000806040838503121561461057600080fd5b600061461e8582860161452d565b925050602061462f8582860161452d565b9150509250929050565b60008060006060848603121561464e57600080fd5b600061465c8682870161452d565b935050602061466d8682870161452d565b925050604061467e86828701614581565b9150509250925092565b6000806040838503121561469b57600080fd5b60006146a98582860161452d565b92505060206146ba85828601614557565b9150509250929050565b600080604083850312156146d757600080fd5b60006146e58582860161452d565b92505060206146f685828601614581565b9150509250929050565b60006020828403121561471257600080fd5b600061472084828501614557565b91505092915050565b60006020828403121561473b57600080fd5b60006147498482850161456c565b91505092915050565b60008060006060848603121561476757600080fd5b600061477586828701614596565b935050602061478686828701614596565b925050604061479786828701614596565b9150509250925092565b60006147ad83836147b9565b60208301905092915050565b6147c281615065565b82525050565b6147d181615065565b82525050565b60006147e282614f0b565b6147ec8185614f2e565b93506147f783614efb565b8060005b8381101561482857815161480f88826147a1565b975061481a83614f21565b9250506001810190506147fb565b5085935050505092915050565b61483e81615077565b82525050565b61484d816150ba565b82525050565b600061485e82614f16565b6148688185614f3f565b93506148788185602086016150cc565b614881816151a6565b840191505092915050565b6000614899602383614f3f565b91506148a4826151b7565b604082019050919050565b60006148bc602a83614f3f565b91506148c782615206565b604082019050919050565b60006148df602283614f3f565b91506148ea82615255565b604082019050919050565b6000614902602283614f3f565b915061490d826152a4565b604082019050919050565b6000614925601b83614f3f565b9150614930826152f3565b602082019050919050565b6000614948601b83614f3f565b91506149538261531c565b602082019050919050565b600061496b601e83614f3f565b915061497682615345565b602082019050919050565b600061498e602183614f3f565b91506149998261536e565b604082019050919050565b60006149b1602083614f3f565b91506149bc826153bd565b602082019050919050565b60006149d4602983614f3f565b91506149df826153e6565b604082019050919050565b60006149f7601a83614f3f565b9150614a0282615435565b602082019050919050565b6000614a1a602483614f3f565b9150614a258261545e565b604082019050919050565b6000614a3d602583614f3f565b9150614a48826154ad565b604082019050919050565b6000614a60602483614f3f565b9150614a6b826154fc565b604082019050919050565b6000614a83601783614f3f565b9150614a8e8261554b565b602082019050919050565b6000614aa6601883614f3f565b9150614ab182615574565b602082019050919050565b6000614ac9602283614f3f565b9150614ad48261559d565b604082019050919050565b6000614aec601783614f3f565b9150614af7826155ec565b602082019050919050565b614b0b816150a3565b82525050565b614b1a816150ad565b82525050565b6000602082019050614b3560008301846147c8565b92915050565b6000604082019050614b5060008301856147c8565b614b5d60208301846147c8565b9392505050565b6000604082019050614b7960008301856147c8565b614b866020830184614b02565b9392505050565b600060c082019050614ba260008301896147c8565b614baf6020830188614b02565b614bbc6040830187614844565b614bc96060830186614844565b614bd660808301856147c8565b614be360a0830184614b02565b979650505050505050565b6000602082019050614c036000830184614835565b92915050565b60006020820190508181036000830152614c238184614853565b905092915050565b60006020820190508181036000830152614c448161488c565b9050919050565b60006020820190508181036000830152614c64816148af565b9050919050565b60006020820190508181036000830152614c84816148d2565b9050919050565b60006020820190508181036000830152614ca4816148f5565b9050919050565b60006020820190508181036000830152614cc481614918565b9050919050565b60006020820190508181036000830152614ce48161493b565b9050919050565b60006020820190508181036000830152614d048161495e565b9050919050565b60006020820190508181036000830152614d2481614981565b9050919050565b60006020820190508181036000830152614d44816149a4565b9050919050565b60006020820190508181036000830152614d64816149c7565b9050919050565b60006020820190508181036000830152614d84816149ea565b9050919050565b60006020820190508181036000830152614da481614a0d565b9050919050565b60006020820190508181036000830152614dc481614a30565b9050919050565b60006020820190508181036000830152614de481614a53565b9050919050565b60006020820190508181036000830152614e0481614a76565b9050919050565b60006020820190508181036000830152614e2481614a99565b9050919050565b60006020820190508181036000830152614e4481614abc565b9050919050565b60006020820190508181036000830152614e6481614adf565b9050919050565b6000602082019050614e806000830184614b02565b92915050565b600060a082019050614e9b6000830188614b02565b614ea86020830187614844565b8181036040830152614eba81866147d7565b9050614ec960608301856147c8565b614ed66080830184614b02565b9695505050505050565b6000602082019050614ef56000830184614b11565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000614f5b826150a3565b9150614f66836150a3565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115614f9b57614f9a615148565b5b828201905092915050565b6000614fb1826150a3565b9150614fbc836150a3565b925082614fcc57614fcb615177565b5b828204905092915050565b6000614fe2826150a3565b9150614fed836150a3565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561502657615025615148565b5b828202905092915050565b600061503c826150a3565b9150615047836150a3565b92508282101561505a57615059615148565b5b828203905092915050565b600061507082615083565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006150c5826150a3565b9050919050565b60005b838110156150ea5780820151818401526020810190506150cf565b838111156150f9576000848401525b50505050565b600061510a826150a3565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561513d5761513c615148565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f596f75722062757920636f6f6c646f776e20686173206e6f742065787069726560008201527f642e000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f4163636f756e7420697320616c7265616479206578636c756465640000000000600082015250565b7f4163636f756e7420697320616c726561647920626c61636b6c69737465640000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f4163636f756e74206973206e6f7420626c61636b6c6973746564000000000000600082015250565b7f57652063616e206e6f7420626c61636b6c69737420556e697377617020726f7560008201527f7465722e00000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f54726164696e67206e6f742079657420656e61626c65642e0000000000000000600082015250565b7f57652063616e206e6f74206578636c75646520556e697377617020726f75746560008201527f722e000000000000000000000000000000000000000000000000000000000000602082015250565b7f596f752068617665206e6f20706f776572206865726521000000000000000000600082015250565b61561e81615065565b811461562957600080fd5b50565b61563581615077565b811461564057600080fd5b50565b61564c816150a3565b811461565757600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ed27c356647019be4a2efa6388f0868834d0447444c04aa9b97c4602deaefd4c64736f6c634300080400330000000000000000000000007bf9ff5344ebf6ce3de1f053a4a1a6358728abe10000000000000000000000007bf9ff5344ebf6ce3de1f053a4a1a6358728abe1

Deployed Bytecode

0x6080604052600436106101bb5760003560e01c80638da5cb5b116100ec578063cba0e9961161008a578063e47d606011610064578063e47d606014610607578063e8078d9414610644578063f2cc0c181461065b578063f84354f114610684576101c2565b8063cba0e99614610562578063db92dbb61461059f578063dd62ed3e146105ca576101c2565b8063a985ceef116100c6578063a985ceef146104e0578063af9549e01461050b578063c3c8cd8014610534578063c9567bf91461054b576101c2565b80638da5cb5b1461044d57806395d89b4114610478578063a9059cbb146104a3576101c2565b80635342acb4116101595780636fc3eaec116101335780636fc3eaec146103b957806370a08231146103d0578063715018a61461040d5780637ded4d6a14610424576101c2565b80635342acb4146103165780635932ead11461035357806368a3a6a51461037c576101c2565b806323b872dd1161019557806323b872dd1461025a57806327f3a72a14610297578063313ce567146102c25780634303443d146102ed576101c2565b806306fdde03146101c7578063095ea7b3146101f257806318160ddd1461022f576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101dc6106ad565b6040516101e99190614c09565b60405180910390f35b3480156101fe57600080fd5b50610219600480360381019061021491906146c4565b6106ea565b6040516102269190614bee565b60405180910390f35b34801561023b57600080fd5b50610244610708565b6040516102519190614e6b565b60405180910390f35b34801561026657600080fd5b50610281600480360381019061027c9190614639565b61071a565b60405161028e9190614bee565b60405180910390f35b3480156102a357600080fd5b506102ac6107f3565b6040516102b99190614e6b565b60405180910390f35b3480156102ce57600080fd5b506102d7610803565b6040516102e49190614ee0565b60405180910390f35b3480156102f957600080fd5b50610314600480360381019061030f91906145ab565b61080c565b005b34801561032257600080fd5b5061033d600480360381019061033891906145ab565b610a6f565b60405161034a9190614bee565b60405180910390f35b34801561035f57600080fd5b5061037a60048036038101906103759190614700565b610ac5565b005b34801561038857600080fd5b506103a3600480360381019061039e91906145ab565b610bbd565b6040516103b09190614e6b565b60405180910390f35b3480156103c557600080fd5b506103ce610c14565b005b3480156103dc57600080fd5b506103f760048036038101906103f291906145ab565b610c86565b6040516104049190614e6b565b60405180910390f35b34801561041957600080fd5b50610422610cd7565b005b34801561043057600080fd5b5061044b600480360381019061044691906145ab565b610e2a565b005b34801561045957600080fd5b506104626111cc565b60405161046f9190614b20565b60405180910390f35b34801561048457600080fd5b5061048d6111f5565b60405161049a9190614c09565b60405180910390f35b3480156104af57600080fd5b506104ca60048036038101906104c591906146c4565b611232565b6040516104d79190614bee565b60405180910390f35b3480156104ec57600080fd5b506104f5611250565b6040516105029190614bee565b60405180910390f35b34801561051757600080fd5b50610532600480360381019061052d9190614688565b611267565b005b34801561054057600080fd5b50610549611357565b005b34801561055757600080fd5b506105606113d1565b005b34801561056e57600080fd5b50610589600480360381019061058491906145ab565b611496565b6040516105969190614bee565b60405180910390f35b3480156105ab57600080fd5b506105b46114ec565b6040516105c19190614e6b565b60405180910390f35b3480156105d657600080fd5b506105f160048036038101906105ec91906145fd565b61151e565b6040516105fe9190614e6b565b60405180910390f35b34801561061357600080fd5b5061062e600480360381019061062991906145ab565b6115a5565b60405161063b9190614bee565b60405180910390f35b34801561065057600080fd5b506106596115fb565b005b34801561066757600080fd5b50610682600480360381019061067d91906145ab565b611b10565b005b34801561069057600080fd5b506106ab60048036038101906106a691906145ab565b611e47565b005b60606040518060400160405280600c81526020017f457468657265756d20526f780000000000000000000000000000000000000000815250905090565b60006106fe6106f761222e565b8484612236565b6001905092915050565b600069d3c21bcecceda1000000905090565b6000610727848484612401565b6107e88461073361222e565b6107e38560405180606001604052806028815260200161565b60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061079961222e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b9c9092919063ffffffff16565b612236565b600190509392505050565b60006107fe30610c86565b905090565b60006009905090565b61081461222e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089890614d2b565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610924576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091b90614d8b565b60405180910390fd5b600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156109b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a890614ceb565b60405180910390fd5b6001600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506009819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610acd61222e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5190614d2b565b60405180910390fd5b80601660156101000a81548160ff0219169083151502179055507f0d63187a8abb5b4d1bb562e1163897386b0a88ee72e0799dd105bd0fd6f28706601660159054906101000a900460ff16604051610bb29190614bee565b60405180910390a150565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015442610c0d9190615031565b9050919050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c5561222e565b73ffffffffffffffffffffffffffffffffffffffff1614610c7557600080fd5b6000479050610c8381612c00565b50565b6000610cd0600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612cfb565b9050919050565b610cdf61222e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6390614d2b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610e3261222e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ebf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb690614d2b565b60405180910390fd5b600860008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610f4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4290614d6b565b60405180910390fd5b60005b6009805490508110156111c8578173ffffffffffffffffffffffffffffffffffffffff1660098281548110610fac577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156111b557600960016009805490506110079190615031565b8154811061103e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600982815481106110a3577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600980548061117b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905590556111c8565b80806111c0906150ff565b915050610f4e565b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f45524f5800000000000000000000000000000000000000000000000000000000815250905090565b600061124661123f61222e565b8484612401565b6001905092915050565b6000601660159054906101000a900460ff16905090565b61126f61222e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f390614d2b565b60405180910390fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661139861222e565b73ffffffffffffffffffffffffffffffffffffffff16146113b857600080fd5b60006113c330610c86565b90506113ce81612d69565b50565b6113d961222e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611466576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145d90614d2b565b60405180910390fd5b6001601660146101000a81548160ff02191690831515021790555060784261148e9190614f50565b601781905550565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000611519601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610c86565b905090565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b61160361222e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611690576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168790614d2b565b60405180910390fd5b601660149054906101000a900460ff16156116e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d790614deb565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061177130601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1669d3c21bcecceda1000000612236565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156117b757600080fd5b505afa1580156117cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ef91906145d4565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561185157600080fd5b505afa158015611865573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061188991906145d4565b6040518363ffffffff1660e01b81526004016118a6929190614b3b565b602060405180830381600087803b1580156118c057600080fd5b505af11580156118d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118f891906145d4565b601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061198130610c86565b60008061198c6111cc565b426040518863ffffffff1660e01b81526004016119ae96959493929190614b8d565b6060604051808303818588803b1580156119c757600080fd5b505af11580156119db573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611a009190614752565b505050692a5a058fc295ed00000060128190555042600f81905550601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611aba929190614b64565b602060405180830381600087803b158015611ad457600080fd5b505af1158015611ae8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b0c9190614729565b5050565b611b1861222e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ba5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9c90614d2b565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611c28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1f90614e2b565b60405180910390fd5b600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611cb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cac90614ccb565b60405180910390fd5b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115611d8957611d45600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612cfb565b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506007819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611e4f61222e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611edc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ed390614d2b565b60405180910390fd5b600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611f68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f5f90614ccb565b60405180910390fd5b60005b60078054905081101561222a578173ffffffffffffffffffffffffffffffffffffffff1660078281548110611fc9577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561221757600760016007805490506120249190615031565b8154811061205b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600782815481106120c0577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060078054806121dd577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055905561222a565b8080612222906150ff565b915050611f6b565b5050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156122a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161229d90614dcb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612316576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161230d90614c6b565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516123f49190614e6b565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612471576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161246890614dab565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156124e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124d890614c2b565b60405180910390fd5b60008111612524576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161251b90614d4b565b60405180910390fd5b600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156125b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125a890614e4b565b60405180910390fd5b600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561263e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161263590614e4b565b60405180910390fd5b6126466111cc565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156126b457506126846111cc565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15612ad957601660159054906101000a900460ff16156127ba57600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009054906101000a900460ff166127b9576040518060600160405280600081526020016000815260200160011515815250600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082015181600001556020820151816001015560408201518160020160006101000a81548160ff0219169083151502179055509050505b5b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156128655750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156128bb5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612a1757601660149054906101000a900460ff1661290f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161290690614e0b565b60405180910390fd5b601660159054906101000a900460ff1615612a1657426017541115612a155760125481111561293d57600080fd5b42600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154106129c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129b890614c8b565b60405180910390fd5b600f426129ce9190614f50565b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055505b5b5b6000612a2230610c86565b905060168054906101000a900460ff16158015612a8d5750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015612aa55750601660149054906101000a900460ff165b15612ad7576000811115612abd57612abc81612d69565b5b60004790506000811115612ad557612ad447612c00565b5b505b505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612b805750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612b8a57600090505b612b9684848484613061565b50505050565b6000838311158290612be4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bdb9190614c09565b60405180910390fd5b5060008385612bf39190615031565b9050809150509392505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc612c5060028461337290919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612c7b573d6000803e3d6000fd5b50601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc612ccc60028461337290919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015612cf7573d6000803e3d6000fd5b5050565b6000600b54821115612d42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d3990614c4b565b60405180910390fd5b6000612d4c6133bc565b9050612d61818461337290919063ffffffff16565b915050919050565b60016016806101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115612dc6577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015612df45781602001602082028036833780820191505090505b5090503081600081518110612e32577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015612ed457600080fd5b505afa158015612ee8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f0c91906145d4565b81600181518110612f46577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612fad30601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612236565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401613011959493929190614e86565b600060405180830381600087803b15801561302b57600080fd5b505af115801561303f573d6000803e3d6000fd5b505050505060006016806101000a81548160ff02191690831515021790555050565b8061306f5761306e6133e7565b5b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156131125750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156131275761312284848461342a565b61335e565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156131ca5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156131df576131da84848461368a565b61335d565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156132835750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15613298576132938484846138ea565b61335c565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561333a5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561334f5761334a848484613ab5565b61335b565b61335a8484846138ea565b5b5b5b5b8061336c5761336b613daa565b5b50505050565b60006133b483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613dbe565b905092915050565b60008060006133c9613e21565b915091506133e0818361337290919063ffffffff16565b9250505090565b6000600d541480156133fb57506000600e54145b1561340557613428565b600d54601081905550600e546011819055506000600d819055506000600e819055505b565b60008060008060008061343c8761418c565b95509550955095509550955061349a87600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141f490919063ffffffff16565b600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061352f86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141f490919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506135c485600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461423e90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506136108161429c565b61361a8483614359565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516136779190614e6b565b60405180910390a3505050505050505050565b60008060008060008061369c8761418c565b9550955095509550955095506136fa86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141f490919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061378f83600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461423e90919063ffffffff16565b600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061382485600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461423e90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506138708161429c565b61387a8483614359565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516138d79190614e6b565b60405180910390a3505050505050505050565b6000806000806000806138fc8761418c565b95509550955095509550955061395a86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141f490919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506139ef85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461423e90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613a3b8161429c565b613a458483614359565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051613aa29190614e6b565b60405180910390a3505050505050505050565b600080600080600080613ac78761418c565b955095509550955095509550613b2587600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141f490919063ffffffff16565b600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613bba86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141f490919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613c4f83600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461423e90919063ffffffff16565b600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613ce485600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461423e90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613d308161429c565b613d3a8483614359565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051613d979190614e6b565b60405180910390a3505050505050505050565b601054600d81905550601154600e81905550565b60008083118290613e05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613dfc9190614c09565b60405180910390fd5b5060008385613e149190614fa6565b9050809150509392505050565b6000806000600b549050600069d3c21bcecceda1000000905060005b60078054905081101561413f57826002600060078481548110613e89577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541180613f9d5750816003600060078481548110613f35577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b15613fbc57600b5469d3c21bcecceda100000094509450505050614188565b6140726002600060078481548110613ffd577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054846141f490919063ffffffff16565b925061412a60036000600784815481106140b5577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836141f490919063ffffffff16565b91508080614137906150ff565b915050613e3d565b5061415f69d3c21bcecceda1000000600b5461337290919063ffffffff16565b82101561417f57600b5469d3c21bcecceda1000000935093505050614188565b81819350935050505b9091565b60008060008060008060008060006141a98a600d54600e54614393565b92509250925060006141b96133bc565b905060008060006141cc8e878787614429565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061423683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612b9c565b905092915050565b600080828461424d9190614f50565b905083811015614292576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161428990614cab565b60405180910390fd5b8091505092915050565b60006142a66133bc565b905060006142bd82846144b290919063ffffffff16565b905061431181600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461423e90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b61436e82600b546141f490919063ffffffff16565b600b8190555061438981600c5461423e90919063ffffffff16565b600c819055505050565b6000806000806143bf60646143b1888a6144b290919063ffffffff16565b61337290919063ffffffff16565b905060006143e960646143db888b6144b290919063ffffffff16565b61337290919063ffffffff16565b9050600061441282614404858c6141f490919063ffffffff16565b6141f490919063ffffffff16565b905080838395509550955050505093509350939050565b60008060008061444285896144b290919063ffffffff16565b9050600061445986896144b290919063ffffffff16565b9050600061447087896144b290919063ffffffff16565b905060006144998261448b85876141f490919063ffffffff16565b6141f490919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000808314156144c55760009050614527565b600082846144d39190614fd7565b90508284826144e29190614fa6565b14614522576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161451990614d0b565b60405180910390fd5b809150505b92915050565b60008135905061453c81615615565b92915050565b60008151905061455181615615565b92915050565b6000813590506145668161562c565b92915050565b60008151905061457b8161562c565b92915050565b60008135905061459081615643565b92915050565b6000815190506145a581615643565b92915050565b6000602082840312156145bd57600080fd5b60006145cb8482850161452d565b91505092915050565b6000602082840312156145e657600080fd5b60006145f484828501614542565b91505092915050565b6000806040838503121561461057600080fd5b600061461e8582860161452d565b925050602061462f8582860161452d565b9150509250929050565b60008060006060848603121561464e57600080fd5b600061465c8682870161452d565b935050602061466d8682870161452d565b925050604061467e86828701614581565b9150509250925092565b6000806040838503121561469b57600080fd5b60006146a98582860161452d565b92505060206146ba85828601614557565b9150509250929050565b600080604083850312156146d757600080fd5b60006146e58582860161452d565b92505060206146f685828601614581565b9150509250929050565b60006020828403121561471257600080fd5b600061472084828501614557565b91505092915050565b60006020828403121561473b57600080fd5b60006147498482850161456c565b91505092915050565b60008060006060848603121561476757600080fd5b600061477586828701614596565b935050602061478686828701614596565b925050604061479786828701614596565b9150509250925092565b60006147ad83836147b9565b60208301905092915050565b6147c281615065565b82525050565b6147d181615065565b82525050565b60006147e282614f0b565b6147ec8185614f2e565b93506147f783614efb565b8060005b8381101561482857815161480f88826147a1565b975061481a83614f21565b9250506001810190506147fb565b5085935050505092915050565b61483e81615077565b82525050565b61484d816150ba565b82525050565b600061485e82614f16565b6148688185614f3f565b93506148788185602086016150cc565b614881816151a6565b840191505092915050565b6000614899602383614f3f565b91506148a4826151b7565b604082019050919050565b60006148bc602a83614f3f565b91506148c782615206565b604082019050919050565b60006148df602283614f3f565b91506148ea82615255565b604082019050919050565b6000614902602283614f3f565b915061490d826152a4565b604082019050919050565b6000614925601b83614f3f565b9150614930826152f3565b602082019050919050565b6000614948601b83614f3f565b91506149538261531c565b602082019050919050565b600061496b601e83614f3f565b915061497682615345565b602082019050919050565b600061498e602183614f3f565b91506149998261536e565b604082019050919050565b60006149b1602083614f3f565b91506149bc826153bd565b602082019050919050565b60006149d4602983614f3f565b91506149df826153e6565b604082019050919050565b60006149f7601a83614f3f565b9150614a0282615435565b602082019050919050565b6000614a1a602483614f3f565b9150614a258261545e565b604082019050919050565b6000614a3d602583614f3f565b9150614a48826154ad565b604082019050919050565b6000614a60602483614f3f565b9150614a6b826154fc565b604082019050919050565b6000614a83601783614f3f565b9150614a8e8261554b565b602082019050919050565b6000614aa6601883614f3f565b9150614ab182615574565b602082019050919050565b6000614ac9602283614f3f565b9150614ad48261559d565b604082019050919050565b6000614aec601783614f3f565b9150614af7826155ec565b602082019050919050565b614b0b816150a3565b82525050565b614b1a816150ad565b82525050565b6000602082019050614b3560008301846147c8565b92915050565b6000604082019050614b5060008301856147c8565b614b5d60208301846147c8565b9392505050565b6000604082019050614b7960008301856147c8565b614b866020830184614b02565b9392505050565b600060c082019050614ba260008301896147c8565b614baf6020830188614b02565b614bbc6040830187614844565b614bc96060830186614844565b614bd660808301856147c8565b614be360a0830184614b02565b979650505050505050565b6000602082019050614c036000830184614835565b92915050565b60006020820190508181036000830152614c238184614853565b905092915050565b60006020820190508181036000830152614c448161488c565b9050919050565b60006020820190508181036000830152614c64816148af565b9050919050565b60006020820190508181036000830152614c84816148d2565b9050919050565b60006020820190508181036000830152614ca4816148f5565b9050919050565b60006020820190508181036000830152614cc481614918565b9050919050565b60006020820190508181036000830152614ce48161493b565b9050919050565b60006020820190508181036000830152614d048161495e565b9050919050565b60006020820190508181036000830152614d2481614981565b9050919050565b60006020820190508181036000830152614d44816149a4565b9050919050565b60006020820190508181036000830152614d64816149c7565b9050919050565b60006020820190508181036000830152614d84816149ea565b9050919050565b60006020820190508181036000830152614da481614a0d565b9050919050565b60006020820190508181036000830152614dc481614a30565b9050919050565b60006020820190508181036000830152614de481614a53565b9050919050565b60006020820190508181036000830152614e0481614a76565b9050919050565b60006020820190508181036000830152614e2481614a99565b9050919050565b60006020820190508181036000830152614e4481614abc565b9050919050565b60006020820190508181036000830152614e6481614adf565b9050919050565b6000602082019050614e806000830184614b02565b92915050565b600060a082019050614e9b6000830188614b02565b614ea86020830187614844565b8181036040830152614eba81866147d7565b9050614ec960608301856147c8565b614ed66080830184614b02565b9695505050505050565b6000602082019050614ef56000830184614b11565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000614f5b826150a3565b9150614f66836150a3565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115614f9b57614f9a615148565b5b828201905092915050565b6000614fb1826150a3565b9150614fbc836150a3565b925082614fcc57614fcb615177565b5b828204905092915050565b6000614fe2826150a3565b9150614fed836150a3565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561502657615025615148565b5b828202905092915050565b600061503c826150a3565b9150615047836150a3565b92508282101561505a57615059615148565b5b828203905092915050565b600061507082615083565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006150c5826150a3565b9050919050565b60005b838110156150ea5780820151818401526020810190506150cf565b838111156150f9576000848401525b50505050565b600061510a826150a3565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561513d5761513c615148565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f596f75722062757920636f6f6c646f776e20686173206e6f742065787069726560008201527f642e000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f4163636f756e7420697320616c7265616479206578636c756465640000000000600082015250565b7f4163636f756e7420697320616c726561647920626c61636b6c69737465640000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f4163636f756e74206973206e6f7420626c61636b6c6973746564000000000000600082015250565b7f57652063616e206e6f7420626c61636b6c69737420556e697377617020726f7560008201527f7465722e00000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f54726164696e67206e6f742079657420656e61626c65642e0000000000000000600082015250565b7f57652063616e206e6f74206578636c75646520556e697377617020726f75746560008201527f722e000000000000000000000000000000000000000000000000000000000000602082015250565b7f596f752068617665206e6f20706f776572206865726521000000000000000000600082015250565b61561e81615065565b811461562957600080fd5b50565b61563581615077565b811461564057600080fd5b50565b61564c816150a3565b811461565757600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220ed27c356647019be4a2efa6388f0868834d0447444c04aa9b97c4602deaefd4c64736f6c63430008040033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000007bf9ff5344ebf6ce3de1f053a4a1a6358728abe10000000000000000000000007bf9ff5344ebf6ce3de1f053a4a1a6358728abe1

-----Decoded View---------------
Arg [0] : FeeAddress (address): 0x7Bf9ff5344Ebf6Ce3DE1F053a4A1a6358728Abe1
Arg [1] : FeeAddress2 (address): 0x7Bf9ff5344Ebf6Ce3DE1F053a4A1a6358728Abe1

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000007bf9ff5344ebf6ce3de1f053a4a1a6358728abe1
Arg [1] : 0000000000000000000000007bf9ff5344ebf6ce3de1f053a4a1a6358728abe1


Deployed Bytecode Sourcemap

3833:16940:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6058:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6910:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6335:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7079:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20325:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6244:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19304:352;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19038:123;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17803:160;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20537:124;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17605:190;;;;;;;;;;;;;:::i;:::-;;6438:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2912:148;;;;;;;;;;;;;:::i;:::-;;19668:500;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2698:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6149:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6584:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20433:96;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20180:137;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17402:191;;;;;;;;;;;;;:::i;:::-;;17261:133;;;;;;;;;;;;;:::i;:::-;;17975:110;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20669:101;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6759:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19173:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16466:787;;;;;;;;;;;;;:::i;:::-;;18097:443;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18548:478;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6058:83;6095:13;6128:5;;;;;;;;;;;;;;;;;6121:12;;6058:83;:::o;6910:161::-;6985:4;7002:39;7011:12;:10;:12::i;:::-;7025:7;7034:6;7002:8;:39::i;:::-;7059:4;7052:11;;6910:161;;;;:::o;6335:95::-;6388:7;4476:12;6408:14;;6335:95;:::o;7079:313::-;7177:4;7194:36;7204:6;7212:9;7223:6;7194:9;:36::i;:::-;7241:121;7250:6;7258:12;:10;:12::i;:::-;7272:89;7310:6;7272:89;;;;;;;;;;;;;;;;;:11;:19;7284:6;7272:19;;;;;;;;;;;;;;;:33;7292:12;:10;:12::i;:::-;7272:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7241:8;:121::i;:::-;7380:4;7373:11;;7079:313;;;;;:::o;20325:100::-;20369:4;20393:24;20411:4;20393:9;:24::i;:::-;20386:31;;20325:100;:::o;6244:83::-;6285:5;4733:1;6303:16;;6244:83;:::o;19304:352::-;2835:12;:10;:12::i;:::-;2825:22;;:6;;;;;;;;;;:22;;;2817:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19399:42:::1;19388:53;;:7;:53;;;;19380:102;;;;;;;;;;;;:::i;:::-;;;;;;;;;19502:17;:26;19520:7;19502:26;;;;;;;;;;;;;;;;;;;;;;;;;19501:27;19493:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;19603:4;19574:17;:26;19592:7;19574:26;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;19618:16;19640:7;19618:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19304:352:::0;:::o;19038:123::-;19102:4;19126:18;:27;19145:7;19126:27;;;;;;;;;;;;;;;;;;;;;;;;;19119:34;;19038:123;;;:::o;17803:160::-;2835:12;:10;:12::i;:::-;2825:22;;:6;;;;;;;;;;:22;;;2817:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17894:5:::1;17875:16;;:24;;;;;;;;;;;;;;;;;;17915:40;17938:16;;;;;;;;;;;17915:40;;;;;;:::i;:::-;;;;;;;;17803:160:::0;:::o;20537:124::-;20592:4;20634:8;:15;20643:5;20634:15;;;;;;;;;;;;;;;:19;;;20616:15;:37;;;;:::i;:::-;20609:44;;20537:124;;;:::o;17605:190::-;17671:11;;;;;;;;;;;17655:27;;:12;:10;:12::i;:::-;:27;;;17647:36;;;;;;17694:26;17723:21;17694:50;;17755:32;17768:18;17755:12;:32::i;:::-;17605:190;:::o;6438:138::-;6504:7;6531:37;6551:7;:16;6559:7;6551:16;;;;;;;;;;;;;;;;6531:19;:37::i;:::-;6524:44;;6438:138;;;:::o;2912:148::-;2835:12;:10;:12::i;:::-;2825:22;;:6;;;;;;;;;;:22;;;2817:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3019:1:::1;2982:40;;3003:6;::::0;::::1;;;;;;;;2982:40;;;;;;;;;;;;3050:1;3033:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2912:148::o:0;19668:500::-;2835:12;:10;:12::i;:::-;2825:22;;:6;;;;;;;;;;:22;;;2817:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;19757:17:::1;:26;19775:7;19757:26;;;;;;;;;;;;;;;;;;;;;;;;;19749:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;19830:9;19825:336;19849:16;:23;;;;19845:1;:27;19825:336;;;19921:7;19898:30;;:16;19915:1;19898:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:30;;;19894:256;;;19971:16;20014:1;19988:16;:23;;;;:27;;;;:::i;:::-;19971:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19949:16;19966:1;19949:19;;;;;;;;;;;;;;;;;;;;;;;;:67;;;;;;;;;;;;;;;;;;20064:5;20035:17;:26;20053:7;20035:26;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;20088:16;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20129:5;;19894:256;19874:3;;;;;:::i;:::-;;;;19825:336;;;;19668:500:::0;:::o;2698:79::-;2736:7;2763:6;;;;;;;;;;;2756:13;;2698:79;:::o;6149:87::-;6188:13;6221:7;;;;;;;;;;;;;;;;;6214:14;;6149:87;:::o;6584:167::-;6662:4;6679:42;6689:12;:10;:12::i;:::-;6703:9;6714:6;6679:9;:42::i;:::-;6739:4;6732:11;;6584:167;;;;:::o;20433:96::-;20481:4;20505:16;;;;;;;;;;;20498:23;;20433:96;:::o;20180:137::-;2835:12;:10;:12::i;:::-;2825:22;;:6;;;;;;;;;;:22;;;2817:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20301:8:::1;20271:18;:27;20290:7;20271:27;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;20180:137:::0;;:::o;17402:191::-;17468:11;;;;;;;;;;;17452:27;;:12;:10;:12::i;:::-;:27;;;17444:36;;;;;;17491:23;17517:24;17535:4;17517:9;:24::i;:::-;17491:50;;17552:33;17569:15;17552:16;:33::i;:::-;17402:191;:::o;17261:133::-;2835:12;:10;:12::i;:::-;2825:22;;:6;;;;;;;;;;:22;;;2817:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17326:4:::1;17312:11;;:18;;;;;;;;;;;;;;;;;;17374:11;17355:15;:31;;;;:::i;:::-;17341:11;:45;;;;17261:133::o:0;17975:110::-;18033:4;18057:11;:20;18069:7;18057:20;;;;;;;;;;;;;;;;;;;;;;;;;18050:27;;17975:110;;;:::o;20669:101::-;20714:4;20738:24;20748:13;;;;;;;;;;;20738:9;:24::i;:::-;20731:31;;20669:101;:::o;6759:143::-;6840:7;6867:11;:18;6879:5;6867:18;;;;;;;;;;;;;;;:27;6886:7;6867:27;;;;;;;;;;;;;;;;6860:34;;6759:143;;;;:::o;19173:119::-;19234:4;19258:17;:26;19276:7;19258:26;;;;;;;;;;;;;;;;;;;;;;;;;19251:33;;19173:119;;;:::o;16466:787::-;2835:12;:10;:12::i;:::-;2825:22;;:6;;;;;;;;;;:22;;;2817:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16531:11:::1;;;;;;;;;;;16530:12;16522:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;16580:35;16637:42;16580:100;;16709:16;16691:15;;:34;;;;;;;;;;;;;;;;;;16736:58;16753:4;16768:15;;;;;;;;;;;4476:12;16736:8;:58::i;:::-;16839:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16821:56;;;16886:4;16893:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16821:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16805:13;;:112;;;;;;;;;;;;;;;;;;16928:15;;;;;;;;;;;:31;;;16967:21;16998:4;17004:24;17022:4;17004:9;:24::i;:::-;17029:1;17031::::0;17033:7:::1;:5;:7::i;:::-;17041:15;16928:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;17084:23;17068:13;:39;;;;17148:15;17134:11;:29;;;;17181:13;;;;;;;;;;;17174:29;;;17212:15;;;;;;;;;;;17230:14;17174:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2895:1;16466:787::o:0;18097:443::-;2835:12;:10;:12::i;:::-;2825:22;;:6;;;;;;;;;;:22;;;2817:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18189:42:::1;18178:53;;:7;:53;;;;18170:100;;;;;;;;;;;;:::i;:::-;;;;;;;;;18290:11;:20;18302:7;18290:20;;;;;;;;;;;;;;;;;;;;;;;;;18289:21;18281:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;18375:1;18356:7;:16;18364:7;18356:16;;;;;;;;;;;;;;;;:20;18353:108;;;18412:37;18432:7;:16;18440:7;18432:16;;;;;;;;;;;;;;;;18412:19;:37::i;:::-;18393:7;:16;18401:7;18393:16;;;;;;;;;;;;;;;:56;;;;18353:108;18494:4;18471:11;:20;18483:7;18471:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;18509:9;18524:7;18509:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18097:443:::0;:::o;18548:478::-;2835:12;:10;:12::i;:::-;2825:22;;:6;;;;;;;;;;:22;;;2817:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18629:11:::1;:20;18641:7;18629:20;;;;;;;;;;;;;;;;;;;;;;;;;18621:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;18697:9;18692:327;18716:9;:16;;;;18712:1;:20;18692:327;;;18774:7;18758:23;;:9;18768:1;18758:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:23;;;18754:254;;;18817:9;18846:1;18827:9;:16;;;;:20;;;;:::i;:::-;18817:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18802:9;18812:1;18802:12;;;;;;;;;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;18886:1;18867:7;:16;18875:7;18867:16;;;;;;;;;;;;;;;:20;;;;18929:5;18906:11;:20;18918:7;18906:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;18953:9;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18987:5;;18754:254;18734:3;;;;;:::i;:::-;;;;18692:327;;;;18548:478:::0;:::o;107:98::-;160:7;187:10;180:17;;107:98;:::o;8007:335::-;8117:1;8100:19;;:5;:19;;;;8092:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8198:1;8179:21;;:7;:21;;;;8171:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8280:6;8250:11;:18;8262:5;8250:18;;;;;;;;;;;;;;;:27;8269:7;8250:27;;;;;;;;;;;;;;;:36;;;;8318:7;8302:32;;8311:5;8302:32;;;8327:6;8302:32;;;;;;:::i;:::-;;;;;;;;8007:335;;;:::o;8350:1975::-;8454:1;8438:18;;:4;:18;;;;8430:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8531:1;8517:16;;:2;:16;;;;8509:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8601:1;8592:6;:10;8584:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8668:17;:21;8686:2;8668:21;;;;;;;;;;;;;;;;;;;;;;;;;8667:22;8659:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;8737:17;:29;8755:10;8737:29;;;;;;;;;;;;;;;;;;;;;;;;;8736:30;8728:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;8818:7;:5;:7::i;:::-;8810:15;;:4;:15;;;;:32;;;;;8835:7;:5;:7::i;:::-;8829:13;;:2;:13;;;;8810:32;8807:1314;;;8862:16;;;;;;;;;;;8859:168;;;8903:8;:20;8912:10;8903:20;;;;;;;;;;;;;;;:27;;;;;;;;;;;;8899:113;;8978:14;;;;;;;;8983:1;8978:14;;;;8985:1;8978:14;;;;8987:4;8978:14;;;;;8955:8;:20;8964:10;8955:20;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8899:113;8859:168;9074:13;;;;;;;;;;;9066:21;;:4;:21;;;:55;;;;;9105:15;;;;;;;;;;;9091:30;;:2;:30;;;;9066:55;:82;;;;;9126:18;:22;9145:2;9126:22;;;;;;;;;;;;;;;;;;;;;;;;;9125:23;9066:82;9063:552;;;9177:11;;;;;;;;;;;9169:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;9239:16;;;;;;;;;;;9236:364;;;9297:15;9283:11;;:29;9280:301;;;9359:13;;9349:6;:23;;9341:32;;;;;;9427:15;9408:8;:12;9417:2;9408:12;;;;;;;;;;;;;;;:16;;;:34;9400:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;9546:10;9527:15;:30;;;;:::i;:::-;9508:8;:12;9517:2;9508:12;;;;;;;;;;;;;;;:16;;:49;;;;9280:301;9236:364;9063:552;9629:28;9660:24;9678:4;9660:9;:24::i;:::-;9629:55;;9726:6;;;;;;;;;;9725:7;:32;;;;;9744:13;;;;;;;;;;;9736:21;;:4;:21;;;;9725:32;:47;;;;;9761:11;;;;;;;;;;;9725:47;9722:388;;;9819:1;9796:20;:24;9793:110;;;9845:38;9862:20;9845:16;:38::i;:::-;9793:110;9921:26;9950:21;9921:50;;10014:1;9993:18;:22;9990:105;;;10040:35;10053:21;10040:12;:35::i;:::-;9990:105;9722:388;;8807:1314;;10131:12;10146:4;10131:19;;10166:18;:24;10185:4;10166:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;10194:18;:22;10213:2;10194:22;;;;;;;;;;;;;;;;;;;;;;;;;10166:50;10163:96;;;10242:5;10232:15;;10163:96;10279:38;10294:4;10299:2;10302:6;10309:7;10279:14;:38::i;:::-;8350:1975;;;;:::o;1244:190::-;1330:7;1363:1;1358;:6;;1366:12;1350:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1390:9;1406:1;1402;:5;;;;:::i;:::-;1390:17;;1425:1;1418:8;;;1244:190;;;;;:::o;10832:147::-;10889:11;;;;;;;;;;;:20;;:35;10910:13;10921:1;10910:6;:10;;:13;;;;:::i;:::-;10889:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10935:12;;;;;;;;;;;:21;;:36;10957:13;10968:1;10957:6;:10;;:13;;;;:::i;:::-;10935:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10832:147;:::o;7400:254::-;7467:7;7506;;7495;:18;;7487:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;7571:19;7594:10;:8;:10::i;:::-;7571:33;;7622:24;7634:11;7622:7;:11;;:24;;;;:::i;:::-;7615:31;;;7400:254;;;:::o;10333:483::-;5531:4;5522:6;;:13;;;;;;;;;;;;;;;;;;10411:21:::1;10449:1;10435:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10411:40;;10480:4;10462;10467:1;10462:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;10506:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10496:4;10501:1;10496:7;;;;;;;;;;;;;;;;;;;;;:32;;;;;;;;;::::0;::::1;10539:62;10556:4;10571:15;;;;;;;;;;;10589:11;10539:8;:62::i;:::-;10612:15;;;;;;;;;;;:66;;;10693:11;10719:1;10735:4;10762;10782:15;10612:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5546:1;5567:5:::0;5558:6;;:14;;;;;;;;;;;;;;;;;;10333:483;:::o;10991:815::-;11103:7;11099:40;;11125:14;:12;:14::i;:::-;11099:40;11154:11;:19;11166:6;11154:19;;;;;;;;;;;;;;;;;;;;;;;;;:46;;;;;11178:11;:22;11190:9;11178:22;;;;;;;;;;;;;;;;;;;;;;;;;11177:23;11154:46;11150:597;;;11217:48;11239:6;11247:9;11258:6;11217:21;:48::i;:::-;11150:597;;;11288:11;:19;11300:6;11288:19;;;;;;;;;;;;;;;;;;;;;;;;;11287:20;:46;;;;;11311:11;:22;11323:9;11311:22;;;;;;;;;;;;;;;;;;;;;;;;;11287:46;11283:464;;;11350:46;11370:6;11378:9;11389:6;11350:19;:46::i;:::-;11283:464;;;11419:11;:19;11431:6;11419:19;;;;;;;;;;;;;;;;;;;;;;;;;11418:20;:47;;;;;11443:11;:22;11455:9;11443:22;;;;;;;;;;;;;;;;;;;;;;;;;11442:23;11418:47;11414:333;;;11482:44;11500:6;11508:9;11519:6;11482:17;:44::i;:::-;11414:333;;;11548:11;:19;11560:6;11548:19;;;;;;;;;;;;;;;;;;;;;;;;;:45;;;;;11571:11;:22;11583:9;11571:22;;;;;;;;;;;;;;;;;;;;;;;;;11548:45;11544:203;;;11610:48;11632:6;11640:9;11651:6;11610:21;:48::i;:::-;11544:203;;;11691:44;11709:6;11717:9;11728:6;11691:17;:44::i;:::-;11544:203;11414:333;11283:464;11150:597;11761:7;11757:41;;11783:15;:13;:15::i;:::-;11757:41;10991:815;;;;:::o;1695:132::-;1753:7;1780:39;1784:1;1787;1780:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1773:46;;1695:132;;;;:::o;14898:163::-;14939:7;14960:15;14977;14996:19;:17;:19::i;:::-;14959:56;;;;15033:20;15045:7;15033;:11;;:20;;;;:::i;:::-;15026:27;;;;14898:163;:::o;7662:210::-;7719:1;7708:7;;:12;:29;;;;;7736:1;7724:8;;:13;7708:29;7705:41;;;7739:7;;7705:41;7774:7;;7756:15;:25;;;;7811:8;;7792:16;:27;;;;7840:1;7830:7;:11;;;;7863:1;7852:8;:12;;;;7662:210;:::o;12878:549::-;12981:15;12998:23;13023:12;13037:23;13062:12;13076:13;13093:19;13104:7;13093:10;:19::i;:::-;12980:132;;;;;;;;;;;;13141:28;13161:7;13141;:15;13149:6;13141:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;13123:7;:15;13131:6;13123:15;;;;;;;;;;;;;;;:46;;;;13198:28;13218:7;13198;:15;13206:6;13198:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;13180:7;:15;13188:6;13180:15;;;;;;;;;;;;;;;:46;;;;13258:39;13281:15;13258:7;:18;13266:9;13258:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;13237:7;:18;13245:9;13237:18;;;;;;;;;;;;;;;:60;;;;13309:16;13319:5;13309:9;:16::i;:::-;13336:23;13348:4;13354;13336:11;:23::i;:::-;13392:9;13375:44;;13384:6;13375:44;;;13403:15;13375:44;;;;;;:::i;:::-;;;;;;;;12878:549;;;;;;;;;:::o;12308:564::-;12409:15;12426:23;12451:12;12465:23;12490:12;12504:13;12521:19;12532:7;12521:10;:19::i;:::-;12408:132;;;;;;;;;;;;12569:28;12589:7;12569;:15;12577:6;12569:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;12551:7;:15;12559:6;12551:15;;;;;;;;;;;;;;;:46;;;;12629:39;12652:15;12629:7;:18;12637:9;12629:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;12608:7;:18;12616:9;12608:18;;;;;;;;;;;;;;;:60;;;;12700:39;12723:15;12700:7;:18;12708:9;12700:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;12679:7;:18;12687:9;12679:18;;;;;;;;;;;;;;;:60;;;;12754:16;12764:5;12754:9;:16::i;:::-;12781:23;12793:4;12799;12781:11;:23::i;:::-;12837:9;12820:44;;12829:6;12820:44;;;12848:15;12820:44;;;;;;:::i;:::-;;;;;;;;12308:564;;;;;;;;;:::o;11814:488::-;11913:15;11930:23;11955:12;11969:23;11994:12;12008:13;12025:19;12036:7;12025:10;:19::i;:::-;11912:132;;;;;;;;;;;;12073:28;12093:7;12073;:15;12081:6;12073:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;12055:7;:15;12063:6;12055:15;;;;;;;;;;;;;;;:46;;;;12133:39;12156:15;12133:7;:18;12141:9;12133:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;12112:7;:18;12120:9;12112:18;;;;;;;;;;;;;;;:60;;;;12184:16;12194:5;12184:9;:16::i;:::-;12211:23;12223:4;12229;12211:11;:23::i;:::-;12267:9;12250:44;;12259:6;12250:44;;;12278:15;12250:44;;;;;;:::i;:::-;;;;;;;;11814:488;;;;;;;;;:::o;13433:622::-;13536:15;13553:23;13578:12;13592:23;13617:12;13631:13;13648:19;13659:7;13648:10;:19::i;:::-;13535:132;;;;;;;;;;;;13696:28;13716:7;13696;:15;13704:6;13696:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;13678:7;:15;13686:6;13678:15;;;;;;;;;;;;;;;:46;;;;13753:28;13773:7;13753;:15;13761:6;13753:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;13735:7;:15;13743:6;13735:15;;;;;;;;;;;;;;;:46;;;;13813:39;13836:15;13813:7;:18;13821:9;13813:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;13792:7;:18;13800:9;13792:18;;;;;;;;;;;;;;;:60;;;;13884:39;13907:15;13884:7;:18;13892:9;13884:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;13863:7;:18;13871:9;13863:18;;;;;;;;;;;;;;;:60;;;;13937:16;13947:5;13937:9;:16::i;:::-;13964:23;13976:4;13982;13964:11;:23::i;:::-;14020:9;14003:44;;14012:6;14003:44;;;14031:15;14003:44;;;;;;:::i;:::-;;;;;;;;13433:622;;;;;;;;;:::o;7884:115::-;7938:15;;7928:7;:25;;;;7975:16;;7964:8;:27;;;;7884:115::o;1835:189::-;1921:7;1953:1;1949;:5;1956:12;1941:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1980:9;1996:1;1992;:5;;;;:::i;:::-;1980:17;;2015:1;2008:8;;;1835:189;;;;;:::o;15069:554::-;15119:7;15128;15148:15;15166:7;;15148:25;;15184:15;4476:12;15184:25;;15225:9;15220:289;15244:9;:16;;;;15240:1;:20;15220:289;;;15310:7;15286;:21;15294:9;15304:1;15294:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15286:21;;;;;;;;;;;;;;;;:31;:66;;;;15345:7;15321;:21;15329:9;15339:1;15329:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15321:21;;;;;;;;;;;;;;;;:31;15286:66;15282:97;;;15362:7;;4476:12;15354:25;;;;;;;;;15282:97;15404:34;15416:7;:21;15424:9;15434:1;15424:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15416:21;;;;;;;;;;;;;;;;15404:7;:11;;:34;;;;:::i;:::-;15394:44;;15463:34;15475:7;:21;15483:9;15493:1;15483:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15475:21;;;;;;;;;;;;;;;;15463:7;:11;;:34;;;;:::i;:::-;15453:44;;15262:3;;;;;:::i;:::-;;;;15220:289;;;;15532:20;4476:12;15532:7;;:11;;:20;;;;:::i;:::-;15522:7;:30;15519:60;;;15562:7;;4476:12;15554:25;;;;;;;;15519:60;15598:7;15607;15590:25;;;;;;15069:554;;;:::o;14063:468::-;14122:7;14131;14140;14149;14158;14167;14188:23;14213:12;14227:13;14244:39;14256:7;14265;;14274:8;;14244:11;:39::i;:::-;14187:96;;;;;;14294:19;14317:10;:8;:10::i;:::-;14294:33;;14339:15;14356:23;14381:12;14397:46;14409:7;14418:4;14424:5;14431:11;14397;:46::i;:::-;14338:105;;;;;;14462:7;14471:15;14488:4;14494:15;14511:4;14517:5;14454:69;;;;;;;;;;;;;;;;;;;14063:468;;;;;;;:::o;1100:136::-;1158:7;1185:43;1189:1;1192;1185:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1178:50;;1100:136;;;;:::o;913:179::-;971:7;991:9;1007:1;1003;:5;;;;:::i;:::-;991:17;;1032:1;1027;:6;;1019:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1083:1;1076:8;;;913:179;;;;:::o;16048:214::-;16101:19;16124:10;:8;:10::i;:::-;16101:33;;16145:13;16161:22;16171:11;16161:5;:9;;:22;;;;:::i;:::-;16145:38;;16221:33;16248:5;16221:7;:22;16237:4;16221:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;16196:7;:22;16212:4;16196:22;;;;;;;;;;;;;;;:58;;;;16048:214;;;:::o;16270:147::-;16348:17;16360:4;16348:7;;:11;;:17;;;;:::i;:::-;16338:7;:27;;;;16389:20;16404:4;16389:10;;:14;;:20;;;;:::i;:::-;16376:10;:33;;;;16270:147;;:::o;14539:351::-;14632:7;14641;14650;14670:12;14685:28;14709:3;14685:19;14697:6;14685:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;14670:43;;14724:13;14740:29;14765:3;14740:20;14752:7;14740;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;14724:45;;14780:23;14806:28;14828:5;14806:17;14818:4;14806:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;14780:54;;14853:15;14870:4;14876:5;14845:37;;;;;;;;;14539:351;;;;;;;:::o;15631:409::-;15741:7;15750;15759;15779:15;15797:24;15809:11;15797:7;:11;;:24;;;;:::i;:::-;15779:42;;15832:12;15847:21;15856:11;15847:4;:8;;:21;;;;:::i;:::-;15832:36;;15879:13;15895:22;15905:11;15895:5;:9;;:22;;;;:::i;:::-;15879:38;;15928:23;15954:28;15976:5;15954:17;15966:4;15954:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;15928:54;;16001:7;16010:15;16027:4;15993:39;;;;;;;;;;15631:409;;;;;;;;:::o;1442:245::-;1500:7;1528:1;1523;:6;1520:46;;;1553:1;1546:8;;;;1520:46;1576:9;1592:1;1588;:5;;;;:::i;:::-;1576:17;;1621:1;1616;1612;:5;;;;:::i;:::-;:10;1604:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1678:1;1671:8;;;1442:245;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;215:80;;;;:::o;301:133::-;344:5;382:6;369:20;360:29;;398:30;422:5;398:30;:::i;:::-;350:84;;;;:::o;440:137::-;494:5;525:6;519:13;510:22;;541:30;565:5;541:30;:::i;:::-;500:77;;;;:::o;583:139::-;629:5;667:6;654:20;645:29;;683:33;710:5;683:33;:::i;:::-;635:87;;;;:::o;728:143::-;785:5;816:6;810:13;801:22;;832:33;859:5;832:33;:::i;:::-;791:80;;;;:::o;877:262::-;936:6;985:2;973:9;964:7;960:23;956:32;953:2;;;1001:1;998;991:12;953:2;1044:1;1069:53;1114:7;1105:6;1094:9;1090:22;1069:53;:::i;:::-;1059:63;;1015:117;943:196;;;;:::o;1145:284::-;1215:6;1264:2;1252:9;1243:7;1239:23;1235:32;1232:2;;;1280:1;1277;1270:12;1232:2;1323:1;1348:64;1404:7;1395:6;1384:9;1380:22;1348:64;:::i;:::-;1338:74;;1294:128;1222:207;;;;:::o;1435:407::-;1503:6;1511;1560:2;1548:9;1539:7;1535:23;1531:32;1528:2;;;1576:1;1573;1566:12;1528:2;1619:1;1644:53;1689:7;1680:6;1669:9;1665:22;1644:53;:::i;:::-;1634:63;;1590:117;1746:2;1772:53;1817:7;1808:6;1797:9;1793:22;1772:53;:::i;:::-;1762:63;;1717:118;1518:324;;;;;:::o;1848:552::-;1925:6;1933;1941;1990:2;1978:9;1969:7;1965:23;1961:32;1958:2;;;2006:1;2003;1996:12;1958:2;2049:1;2074:53;2119:7;2110:6;2099:9;2095:22;2074:53;:::i;:::-;2064:63;;2020:117;2176:2;2202:53;2247:7;2238:6;2227:9;2223:22;2202:53;:::i;:::-;2192:63;;2147:118;2304:2;2330:53;2375:7;2366:6;2355:9;2351:22;2330:53;:::i;:::-;2320:63;;2275:118;1948:452;;;;;:::o;2406:401::-;2471:6;2479;2528:2;2516:9;2507:7;2503:23;2499:32;2496:2;;;2544:1;2541;2534:12;2496:2;2587:1;2612:53;2657:7;2648:6;2637:9;2633:22;2612:53;:::i;:::-;2602:63;;2558:117;2714:2;2740:50;2782:7;2773:6;2762:9;2758:22;2740:50;:::i;:::-;2730:60;;2685:115;2486:321;;;;;:::o;2813:407::-;2881:6;2889;2938:2;2926:9;2917:7;2913:23;2909:32;2906:2;;;2954:1;2951;2944:12;2906:2;2997:1;3022:53;3067:7;3058:6;3047:9;3043:22;3022:53;:::i;:::-;3012:63;;2968:117;3124:2;3150:53;3195:7;3186:6;3175:9;3171:22;3150:53;:::i;:::-;3140:63;;3095:118;2896:324;;;;;:::o;3226:256::-;3282:6;3331:2;3319:9;3310:7;3306:23;3302:32;3299:2;;;3347:1;3344;3337:12;3299:2;3390:1;3415:50;3457:7;3448:6;3437:9;3433:22;3415:50;:::i;:::-;3405:60;;3361:114;3289:193;;;;:::o;3488:278::-;3555:6;3604:2;3592:9;3583:7;3579:23;3575:32;3572:2;;;3620:1;3617;3610:12;3572:2;3663:1;3688:61;3741:7;3732:6;3721:9;3717:22;3688:61;:::i;:::-;3678:71;;3634:125;3562:204;;;;:::o;3772:596::-;3860:6;3868;3876;3925:2;3913:9;3904:7;3900:23;3896:32;3893:2;;;3941:1;3938;3931:12;3893:2;3984:1;4009:64;4065:7;4056:6;4045:9;4041:22;4009:64;:::i;:::-;3999:74;;3955:128;4122:2;4148:64;4204:7;4195:6;4184:9;4180:22;4148:64;:::i;:::-;4138:74;;4093:129;4261:2;4287:64;4343:7;4334:6;4323:9;4319:22;4287:64;:::i;:::-;4277:74;;4232:129;3883:485;;;;;:::o;4374:179::-;4443:10;4464:46;4506:3;4498:6;4464:46;:::i;:::-;4542:4;4537:3;4533:14;4519:28;;4454:99;;;;:::o;4559:108::-;4636:24;4654:5;4636:24;:::i;:::-;4631:3;4624:37;4614:53;;:::o;4673:118::-;4760:24;4778:5;4760:24;:::i;:::-;4755:3;4748:37;4738:53;;:::o;4827:732::-;4946:3;4975:54;5023:5;4975:54;:::i;:::-;5045:86;5124:6;5119:3;5045:86;:::i;:::-;5038:93;;5155:56;5205:5;5155:56;:::i;:::-;5234:7;5265:1;5250:284;5275:6;5272:1;5269:13;5250:284;;;5351:6;5345:13;5378:63;5437:3;5422:13;5378:63;:::i;:::-;5371:70;;5464:60;5517:6;5464:60;:::i;:::-;5454:70;;5310:224;5297:1;5294;5290:9;5285:14;;5250:284;;;5254:14;5550:3;5543:10;;4951:608;;;;;;;:::o;5565:109::-;5646:21;5661:5;5646:21;:::i;:::-;5641:3;5634:34;5624:50;;:::o;5680:147::-;5775:45;5814:5;5775:45;:::i;:::-;5770:3;5763:58;5753:74;;:::o;5833:364::-;5921:3;5949:39;5982:5;5949:39;:::i;:::-;6004:71;6068:6;6063:3;6004:71;:::i;:::-;5997:78;;6084:52;6129:6;6124:3;6117:4;6110:5;6106:16;6084:52;:::i;:::-;6161:29;6183:6;6161:29;:::i;:::-;6156:3;6152:39;6145:46;;5925:272;;;;;:::o;6203:366::-;6345:3;6366:67;6430:2;6425:3;6366:67;:::i;:::-;6359:74;;6442:93;6531:3;6442:93;:::i;:::-;6560:2;6555:3;6551:12;6544:19;;6349:220;;;:::o;6575:366::-;6717:3;6738:67;6802:2;6797:3;6738:67;:::i;:::-;6731:74;;6814:93;6903:3;6814:93;:::i;:::-;6932:2;6927:3;6923:12;6916:19;;6721:220;;;:::o;6947:366::-;7089:3;7110:67;7174:2;7169:3;7110:67;:::i;:::-;7103:74;;7186:93;7275:3;7186:93;:::i;:::-;7304:2;7299:3;7295:12;7288:19;;7093:220;;;:::o;7319:366::-;7461:3;7482:67;7546:2;7541:3;7482:67;:::i;:::-;7475:74;;7558:93;7647:3;7558:93;:::i;:::-;7676:2;7671:3;7667:12;7660:19;;7465:220;;;:::o;7691:366::-;7833:3;7854:67;7918:2;7913:3;7854:67;:::i;:::-;7847:74;;7930:93;8019:3;7930:93;:::i;:::-;8048:2;8043:3;8039:12;8032:19;;7837:220;;;:::o;8063:366::-;8205:3;8226:67;8290:2;8285:3;8226:67;:::i;:::-;8219:74;;8302:93;8391:3;8302:93;:::i;:::-;8420:2;8415:3;8411:12;8404:19;;8209:220;;;:::o;8435:366::-;8577:3;8598:67;8662:2;8657:3;8598:67;:::i;:::-;8591:74;;8674:93;8763:3;8674:93;:::i;:::-;8792:2;8787:3;8783:12;8776:19;;8581:220;;;:::o;8807:366::-;8949:3;8970:67;9034:2;9029:3;8970:67;:::i;:::-;8963:74;;9046:93;9135:3;9046:93;:::i;:::-;9164:2;9159:3;9155:12;9148:19;;8953:220;;;:::o;9179:366::-;9321:3;9342:67;9406:2;9401:3;9342:67;:::i;:::-;9335:74;;9418:93;9507:3;9418:93;:::i;:::-;9536:2;9531:3;9527:12;9520:19;;9325:220;;;:::o;9551:366::-;9693:3;9714:67;9778:2;9773:3;9714:67;:::i;:::-;9707:74;;9790:93;9879:3;9790:93;:::i;:::-;9908:2;9903:3;9899:12;9892:19;;9697:220;;;:::o;9923:366::-;10065:3;10086:67;10150:2;10145:3;10086:67;:::i;:::-;10079:74;;10162:93;10251:3;10162:93;:::i;:::-;10280:2;10275:3;10271:12;10264:19;;10069:220;;;:::o;10295:366::-;10437:3;10458:67;10522:2;10517:3;10458:67;:::i;:::-;10451:74;;10534:93;10623:3;10534:93;:::i;:::-;10652:2;10647:3;10643:12;10636:19;;10441:220;;;:::o;10667:366::-;10809:3;10830:67;10894:2;10889:3;10830:67;:::i;:::-;10823:74;;10906:93;10995:3;10906:93;:::i;:::-;11024:2;11019:3;11015:12;11008:19;;10813:220;;;:::o;11039:366::-;11181:3;11202:67;11266:2;11261:3;11202:67;:::i;:::-;11195:74;;11278:93;11367:3;11278:93;:::i;:::-;11396:2;11391:3;11387:12;11380:19;;11185:220;;;:::o;11411:366::-;11553:3;11574:67;11638:2;11633:3;11574:67;:::i;:::-;11567:74;;11650:93;11739:3;11650:93;:::i;:::-;11768:2;11763:3;11759:12;11752:19;;11557:220;;;:::o;11783:366::-;11925:3;11946:67;12010:2;12005:3;11946:67;:::i;:::-;11939:74;;12022:93;12111:3;12022:93;:::i;:::-;12140:2;12135:3;12131:12;12124:19;;11929:220;;;:::o;12155:366::-;12297:3;12318:67;12382:2;12377:3;12318:67;:::i;:::-;12311:74;;12394:93;12483:3;12394:93;:::i;:::-;12512:2;12507:3;12503:12;12496:19;;12301:220;;;:::o;12527:366::-;12669:3;12690:67;12754:2;12749:3;12690:67;:::i;:::-;12683:74;;12766:93;12855:3;12766:93;:::i;:::-;12884:2;12879:3;12875:12;12868:19;;12673:220;;;:::o;12899:118::-;12986:24;13004:5;12986:24;:::i;:::-;12981:3;12974:37;12964:53;;:::o;13023:112::-;13106:22;13122:5;13106:22;:::i;:::-;13101:3;13094:35;13084:51;;:::o;13141:222::-;13234:4;13272:2;13261:9;13257:18;13249:26;;13285:71;13353:1;13342:9;13338:17;13329:6;13285:71;:::i;:::-;13239:124;;;;:::o;13369:332::-;13490:4;13528:2;13517:9;13513:18;13505:26;;13541:71;13609:1;13598:9;13594:17;13585:6;13541:71;:::i;:::-;13622:72;13690:2;13679:9;13675:18;13666:6;13622:72;:::i;:::-;13495:206;;;;;:::o;13707:332::-;13828:4;13866:2;13855:9;13851:18;13843:26;;13879:71;13947:1;13936:9;13932:17;13923:6;13879:71;:::i;:::-;13960:72;14028:2;14017:9;14013:18;14004:6;13960:72;:::i;:::-;13833:206;;;;;:::o;14045:807::-;14294:4;14332:3;14321:9;14317:19;14309:27;;14346:71;14414:1;14403:9;14399:17;14390:6;14346:71;:::i;:::-;14427:72;14495:2;14484:9;14480:18;14471:6;14427:72;:::i;:::-;14509:80;14585:2;14574:9;14570:18;14561:6;14509:80;:::i;:::-;14599;14675:2;14664:9;14660:18;14651:6;14599:80;:::i;:::-;14689:73;14757:3;14746:9;14742:19;14733:6;14689:73;:::i;:::-;14772;14840:3;14829:9;14825:19;14816:6;14772:73;:::i;:::-;14299:553;;;;;;;;;:::o;14858:210::-;14945:4;14983:2;14972:9;14968:18;14960:26;;14996:65;15058:1;15047:9;15043:17;15034:6;14996:65;:::i;:::-;14950:118;;;;:::o;15074:313::-;15187:4;15225:2;15214:9;15210:18;15202:26;;15274:9;15268:4;15264:20;15260:1;15249:9;15245:17;15238:47;15302:78;15375:4;15366:6;15302:78;:::i;:::-;15294:86;;15192:195;;;;:::o;15393:419::-;15559:4;15597:2;15586:9;15582:18;15574:26;;15646:9;15640:4;15636:20;15632:1;15621:9;15617:17;15610:47;15674:131;15800:4;15674:131;:::i;:::-;15666:139;;15564:248;;;:::o;15818:419::-;15984:4;16022:2;16011:9;16007:18;15999:26;;16071:9;16065:4;16061:20;16057:1;16046:9;16042:17;16035:47;16099:131;16225:4;16099:131;:::i;:::-;16091:139;;15989:248;;;:::o;16243:419::-;16409:4;16447:2;16436:9;16432:18;16424:26;;16496:9;16490:4;16486:20;16482:1;16471:9;16467:17;16460:47;16524:131;16650:4;16524:131;:::i;:::-;16516:139;;16414:248;;;:::o;16668:419::-;16834:4;16872:2;16861:9;16857:18;16849:26;;16921:9;16915:4;16911:20;16907:1;16896:9;16892:17;16885:47;16949:131;17075:4;16949:131;:::i;:::-;16941:139;;16839:248;;;:::o;17093:419::-;17259:4;17297:2;17286:9;17282:18;17274:26;;17346:9;17340:4;17336:20;17332:1;17321:9;17317:17;17310:47;17374:131;17500:4;17374:131;:::i;:::-;17366:139;;17264:248;;;:::o;17518:419::-;17684:4;17722:2;17711:9;17707:18;17699:26;;17771:9;17765:4;17761:20;17757:1;17746:9;17742:17;17735:47;17799:131;17925:4;17799:131;:::i;:::-;17791:139;;17689:248;;;:::o;17943:419::-;18109:4;18147:2;18136:9;18132:18;18124:26;;18196:9;18190:4;18186:20;18182:1;18171:9;18167:17;18160:47;18224:131;18350:4;18224:131;:::i;:::-;18216:139;;18114:248;;;:::o;18368:419::-;18534:4;18572:2;18561:9;18557:18;18549:26;;18621:9;18615:4;18611:20;18607:1;18596:9;18592:17;18585:47;18649:131;18775:4;18649:131;:::i;:::-;18641:139;;18539:248;;;:::o;18793:419::-;18959:4;18997:2;18986:9;18982:18;18974:26;;19046:9;19040:4;19036:20;19032:1;19021:9;19017:17;19010:47;19074:131;19200:4;19074:131;:::i;:::-;19066:139;;18964:248;;;:::o;19218:419::-;19384:4;19422:2;19411:9;19407:18;19399:26;;19471:9;19465:4;19461:20;19457:1;19446:9;19442:17;19435:47;19499:131;19625:4;19499:131;:::i;:::-;19491:139;;19389:248;;;:::o;19643:419::-;19809:4;19847:2;19836:9;19832:18;19824:26;;19896:9;19890:4;19886:20;19882:1;19871:9;19867:17;19860:47;19924:131;20050:4;19924:131;:::i;:::-;19916:139;;19814:248;;;:::o;20068:419::-;20234:4;20272:2;20261:9;20257:18;20249:26;;20321:9;20315:4;20311:20;20307:1;20296:9;20292:17;20285:47;20349:131;20475:4;20349:131;:::i;:::-;20341:139;;20239:248;;;:::o;20493:419::-;20659:4;20697:2;20686:9;20682:18;20674:26;;20746:9;20740:4;20736:20;20732:1;20721:9;20717:17;20710:47;20774:131;20900:4;20774:131;:::i;:::-;20766:139;;20664:248;;;:::o;20918:419::-;21084:4;21122:2;21111:9;21107:18;21099:26;;21171:9;21165:4;21161:20;21157:1;21146:9;21142:17;21135:47;21199:131;21325:4;21199:131;:::i;:::-;21191:139;;21089:248;;;:::o;21343:419::-;21509:4;21547:2;21536:9;21532:18;21524:26;;21596:9;21590:4;21586:20;21582:1;21571:9;21567:17;21560:47;21624:131;21750:4;21624:131;:::i;:::-;21616:139;;21514:248;;;:::o;21768:419::-;21934:4;21972:2;21961:9;21957:18;21949:26;;22021:9;22015:4;22011:20;22007:1;21996:9;21992:17;21985:47;22049:131;22175:4;22049:131;:::i;:::-;22041:139;;21939:248;;;:::o;22193:419::-;22359:4;22397:2;22386:9;22382:18;22374:26;;22446:9;22440:4;22436:20;22432:1;22421:9;22417:17;22410:47;22474:131;22600:4;22474:131;:::i;:::-;22466:139;;22364:248;;;:::o;22618:419::-;22784:4;22822:2;22811:9;22807:18;22799:26;;22871:9;22865:4;22861:20;22857:1;22846:9;22842:17;22835:47;22899:131;23025:4;22899:131;:::i;:::-;22891:139;;22789:248;;;:::o;23043:222::-;23136:4;23174:2;23163:9;23159:18;23151:26;;23187:71;23255:1;23244:9;23240:17;23231:6;23187:71;:::i;:::-;23141:124;;;;:::o;23271:831::-;23534:4;23572:3;23561:9;23557:19;23549:27;;23586:71;23654:1;23643:9;23639:17;23630:6;23586:71;:::i;:::-;23667:80;23743:2;23732:9;23728:18;23719:6;23667:80;:::i;:::-;23794:9;23788:4;23784:20;23779:2;23768:9;23764:18;23757:48;23822:108;23925:4;23916:6;23822:108;:::i;:::-;23814:116;;23940:72;24008:2;23997:9;23993:18;23984:6;23940:72;:::i;:::-;24022:73;24090:3;24079:9;24075:19;24066:6;24022:73;:::i;:::-;23539:563;;;;;;;;:::o;24108:214::-;24197:4;24235:2;24224:9;24220:18;24212:26;;24248:67;24312:1;24301:9;24297:17;24288:6;24248:67;:::i;:::-;24202:120;;;;:::o;24328:132::-;24395:4;24418:3;24410:11;;24448:4;24443:3;24439:14;24431:22;;24400:60;;;:::o;24466:114::-;24533:6;24567:5;24561:12;24551:22;;24540:40;;;:::o;24586:99::-;24638:6;24672:5;24666:12;24656:22;;24645:40;;;:::o;24691:113::-;24761:4;24793;24788:3;24784:14;24776:22;;24766:38;;;:::o;24810:184::-;24909:11;24943:6;24938:3;24931:19;24983:4;24978:3;24974:14;24959:29;;24921:73;;;;:::o;25000:169::-;25084:11;25118:6;25113:3;25106:19;25158:4;25153:3;25149:14;25134:29;;25096:73;;;;:::o;25175:305::-;25215:3;25234:20;25252:1;25234:20;:::i;:::-;25229:25;;25268:20;25286:1;25268:20;:::i;:::-;25263:25;;25422:1;25354:66;25350:74;25347:1;25344:81;25341:2;;;25428:18;;:::i;:::-;25341:2;25472:1;25469;25465:9;25458:16;;25219:261;;;;:::o;25486:185::-;25526:1;25543:20;25561:1;25543:20;:::i;:::-;25538:25;;25577:20;25595:1;25577:20;:::i;:::-;25572:25;;25616:1;25606:2;;25621:18;;:::i;:::-;25606:2;25663:1;25660;25656:9;25651:14;;25528:143;;;;:::o;25677:348::-;25717:7;25740:20;25758:1;25740:20;:::i;:::-;25735:25;;25774:20;25792:1;25774:20;:::i;:::-;25769:25;;25962:1;25894:66;25890:74;25887:1;25884:81;25879:1;25872:9;25865:17;25861:105;25858:2;;;25969:18;;:::i;:::-;25858:2;26017:1;26014;26010:9;25999:20;;25725:300;;;;:::o;26031:191::-;26071:4;26091:20;26109:1;26091:20;:::i;:::-;26086:25;;26125:20;26143:1;26125:20;:::i;:::-;26120:25;;26164:1;26161;26158:8;26155:2;;;26169:18;;:::i;:::-;26155:2;26214:1;26211;26207:9;26199:17;;26076:146;;;;:::o;26228:96::-;26265:7;26294:24;26312:5;26294:24;:::i;:::-;26283:35;;26273:51;;;:::o;26330:90::-;26364:7;26407:5;26400:13;26393:21;26382:32;;26372:48;;;:::o;26426:126::-;26463:7;26503:42;26496:5;26492:54;26481:65;;26471:81;;;:::o;26558:77::-;26595:7;26624:5;26613:16;;26603:32;;;:::o;26641:86::-;26676:7;26716:4;26709:5;26705:16;26694:27;;26684:43;;;:::o;26733:121::-;26791:9;26824:24;26842:5;26824:24;:::i;:::-;26811:37;;26801:53;;;:::o;26860:307::-;26928:1;26938:113;26952:6;26949:1;26946:13;26938:113;;;27037:1;27032:3;27028:11;27022:18;27018:1;27013:3;27009:11;27002:39;26974:2;26971:1;26967:10;26962:15;;26938:113;;;27069:6;27066:1;27063:13;27060:2;;;27149:1;27140:6;27135:3;27131:16;27124:27;27060:2;26909:258;;;;:::o;27173:233::-;27212:3;27235:24;27253:5;27235:24;:::i;:::-;27226:33;;27281:66;27274:5;27271:77;27268:2;;;27351:18;;:::i;:::-;27268:2;27398:1;27391:5;27387:13;27380:20;;27216:190;;;:::o;27412:180::-;27460:77;27457:1;27450:88;27557:4;27554:1;27547:15;27581:4;27578:1;27571:15;27598:180;27646:77;27643:1;27636:88;27743:4;27740:1;27733:15;27767:4;27764:1;27757:15;27784:102;27825:6;27876:2;27872:7;27867:2;27860:5;27856:14;27852:28;27842:38;;27832:54;;;:::o;27892:222::-;28032:34;28028:1;28020:6;28016:14;28009:58;28101:5;28096:2;28088:6;28084:15;28077:30;27998:116;:::o;28120:229::-;28260:34;28256:1;28248:6;28244:14;28237:58;28329:12;28324:2;28316:6;28312:15;28305:37;28226:123;:::o;28355:221::-;28495:34;28491:1;28483:6;28479:14;28472:58;28564:4;28559:2;28551:6;28547:15;28540:29;28461:115;:::o;28582:221::-;28722:34;28718:1;28710:6;28706:14;28699:58;28791:4;28786:2;28778:6;28774:15;28767:29;28688:115;:::o;28809:177::-;28949:29;28945:1;28937:6;28933:14;28926:53;28915:71;:::o;28992:177::-;29132:29;29128:1;29120:6;29116:14;29109:53;29098:71;:::o;29175:180::-;29315:32;29311:1;29303:6;29299:14;29292:56;29281:74;:::o;29361:220::-;29501:34;29497:1;29489:6;29485:14;29478:58;29570:3;29565:2;29557:6;29553:15;29546:28;29467:114;:::o;29587:182::-;29727:34;29723:1;29715:6;29711:14;29704:58;29693:76;:::o;29775:228::-;29915:34;29911:1;29903:6;29899:14;29892:58;29984:11;29979:2;29971:6;29967:15;29960:36;29881:122;:::o;30009:176::-;30149:28;30145:1;30137:6;30133:14;30126:52;30115:70;:::o;30191:223::-;30331:34;30327:1;30319:6;30315:14;30308:58;30400:6;30395:2;30387:6;30383:15;30376:31;30297:117;:::o;30420:224::-;30560:34;30556:1;30548:6;30544:14;30537:58;30629:7;30624:2;30616:6;30612:15;30605:32;30526:118;:::o;30650:223::-;30790:34;30786:1;30778:6;30774:14;30767:58;30859:6;30854:2;30846:6;30842:15;30835:31;30756:117;:::o;30879:173::-;31019:25;31015:1;31007:6;31003:14;30996:49;30985:67;:::o;31058:174::-;31198:26;31194:1;31186:6;31182:14;31175:50;31164:68;:::o;31238:221::-;31378:34;31374:1;31366:6;31362:14;31355:58;31447:4;31442:2;31434:6;31430:15;31423:29;31344:115;:::o;31465:173::-;31605:25;31601:1;31593:6;31589:14;31582:49;31571:67;:::o;31644:122::-;31717:24;31735:5;31717:24;:::i;:::-;31710:5;31707:35;31697:2;;31756:1;31753;31746:12;31697:2;31687:79;:::o;31772:116::-;31842:21;31857:5;31842:21;:::i;:::-;31835:5;31832:32;31822:2;;31878:1;31875;31868:12;31822:2;31812:76;:::o;31894:122::-;31967:24;31985:5;31967:24;:::i;:::-;31960:5;31957:35;31947:2;;32006:1;32003;31996:12;31947:2;31937:79;:::o

Swarm Source

ipfs://ed27c356647019be4a2efa6388f0868834d0447444c04aa9b97c4602deaefd4c
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.