ETH Price: $3,086.88 (-0.03%)

Contract

0x12b3AC29c8D7e4Fb03003e86dC5d7988f75A8D35
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve181842872023-09-21 12:35:47424 days ago1695299747IN
0x12b3AC29...8f75A8D35
0 ETH0.000241759.68139068
Approve161792522022-12-14 0:07:47705 days ago1670976467IN
0x12b3AC29...8f75A8D35
0 ETH0.0007312815.47525253
Approve161526352022-12-10 6:53:23709 days ago1670655203IN
0x12b3AC29...8f75A8D35
0 ETH0.0009057419.16723655
Approve161501922022-12-09 22:41:23709 days ago1670625683IN
0x12b3AC29...8f75A8D35
0 ETH0.000673714.25683235
Approve161499782022-12-09 21:58:23709 days ago1670623103IN
0x12b3AC29...8f75A8D35
0 ETH0.0006877314.55378843
Approve161415222022-12-08 17:36:11710 days ago1670520971IN
0x12b3AC29...8f75A8D35
0 ETH0.000996221.08150446
Approve161415122022-12-08 17:34:11710 days ago1670520851IN
0x12b3AC29...8f75A8D35
0 ETH0.000953420.17580856
Transfer161415072022-12-08 17:33:11710 days ago1670520791IN
0x12b3AC29...8f75A8D35
0 ETH0.0008785320.68174204
Transfer161400552022-12-08 12:41:59711 days ago1670503319IN
0x12b3AC29...8f75A8D35
0 ETH0.0004230413.29673909
Transfer161400522022-12-08 12:41:23711 days ago1670503283IN
0x12b3AC29...8f75A8D35
0 ETH0.0004949915.55811157
Transfer161398122022-12-08 11:52:23711 days ago1670500343IN
0x12b3AC29...8f75A8D35
0 ETH0.0004337413.63306094
Transfer161398012022-12-08 11:50:11711 days ago1670500211IN
0x12b3AC29...8f75A8D35
0 ETH0.0005116816.08262562
Transfer161397952022-12-08 11:48:59711 days ago1670500139IN
0x12b3AC29...8f75A8D35
0 ETH0.0004908515.427822
Approve161395552022-12-08 11:00:23711 days ago1670497223IN
0x12b3AC29...8f75A8D35
0 ETH0.000603212.76482317
Transfer161387682022-12-08 8:22:11711 days ago1670487731IN
0x12b3AC29...8f75A8D35
0 ETH0.0014448814.31851142
Transfer161378272022-12-08 5:12:47711 days ago1670476367IN
0x12b3AC29...8f75A8D35
0 ETH0.001370413.5804872
Transfer161378122022-12-08 5:09:35711 days ago1670476175IN
0x12b3AC29...8f75A8D35
0 ETH0.0015018714.8815028
Transfer161377972022-12-08 5:06:35711 days ago1670475995IN
0x12b3AC29...8f75A8D35
0 ETH0.0017142716.98612838
Transfer161377722022-12-08 5:01:35711 days ago1670475695IN
0x12b3AC29...8f75A8D35
0 ETH0.0015234315.0951526
Transfer161377562022-12-08 4:58:23711 days ago1670475503IN
0x12b3AC29...8f75A8D35
0 ETH0.0013385113.26290682
Transfer161377452022-12-08 4:56:11711 days ago1670475371IN
0x12b3AC29...8f75A8D35
0 ETH0.0013242513.12314219
Approve161362712022-12-08 0:00:23711 days ago1670457623IN
0x12b3AC29...8f75A8D35
0 ETH0.0006769514.32551587
Approve161358132022-12-07 22:28:35711 days ago1670452115IN
0x12b3AC29...8f75A8D35
0 ETH0.0006635214.04139073
Approve161355872022-12-07 21:43:11711 days ago1670449391IN
0x12b3AC29...8f75A8D35
0 ETH0.0007094515.01336673
Approve161355852022-12-07 21:42:47711 days ago1670449367IN
0x12b3AC29...8f75A8D35
0 ETH0.0008932518.90291192
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
161792542022-12-14 0:08:11705 days ago1670976491
0x12b3AC29...8f75A8D35
0.00035655 ETH
161792542022-12-14 0:08:11705 days ago1670976491
0x12b3AC29...8f75A8D35
0.00035655 ETH
161500722022-12-09 22:17:11709 days ago1670624231
0x12b3AC29...8f75A8D35
0.00121432 ETH
161500722022-12-09 22:17:11709 days ago1670624231
0x12b3AC29...8f75A8D35
0.00121432 ETH
161500152022-12-09 22:05:47709 days ago1670623547
0x12b3AC29...8f75A8D35
0.00229397 ETH
161500152022-12-09 22:05:47709 days ago1670623547
0x12b3AC29...8f75A8D35
0.00229397 ETH
161415252022-12-08 17:36:47710 days ago1670521007
0x12b3AC29...8f75A8D35
0.00121229 ETH
161415252022-12-08 17:36:47710 days ago1670521007
0x12b3AC29...8f75A8D35
0.00121229 ETH
161415172022-12-08 17:35:11710 days ago1670520911
0x12b3AC29...8f75A8D35
0.00249014 ETH
161415172022-12-08 17:35:11710 days ago1670520911
0x12b3AC29...8f75A8D35
0.00249014 ETH
161398482022-12-08 11:59:47711 days ago1670500787
0x12b3AC29...8f75A8D35
0.00287775 ETH
161398482022-12-08 11:59:47711 days ago1670500787
0x12b3AC29...8f75A8D35
0.00287775 ETH
161395562022-12-08 11:00:35711 days ago1670497235
0x12b3AC29...8f75A8D35
0.0019958 ETH
161395562022-12-08 11:00:35711 days ago1670497235
0x12b3AC29...8f75A8D35
0.0019958 ETH
161383392022-12-08 6:56:11711 days ago1670482571
0x12b3AC29...8f75A8D35
0.00280958 ETH
161383392022-12-08 6:56:11711 days ago1670482571
0x12b3AC29...8f75A8D35
0.00280958 ETH
161379032022-12-08 5:28:11711 days ago1670477291
0x12b3AC29...8f75A8D35
0.00204198 ETH
161379032022-12-08 5:28:11711 days ago1670477291
0x12b3AC29...8f75A8D35
0.00204198 ETH
161373902022-12-08 3:44:59711 days ago1670471099
0x12b3AC29...8f75A8D35
0.00180082 ETH
161373902022-12-08 3:44:59711 days ago1670471099
0x12b3AC29...8f75A8D35
0.00180082 ETH
161372172022-12-08 3:10:23711 days ago1670469023
0x12b3AC29...8f75A8D35
0.00231121 ETH
161372172022-12-08 3:10:23711 days ago1670469023
0x12b3AC29...8f75A8D35
0.00231121 ETH
161369542022-12-08 2:17:35711 days ago1670465855
0x12b3AC29...8f75A8D35
0.00215115 ETH
161369542022-12-08 2:17:35711 days ago1670465855
0x12b3AC29...8f75A8D35
0.00215115 ETH
161365362022-12-08 0:53:35711 days ago1670460815
0x12b3AC29...8f75A8D35
0.00524895 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TwitterShill

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

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

/**
Telegram Link: https://t.me/Twittershill
Twitter: https://twitter.com/ShillandEarn

Earn rewards to chill your favorite new TwitterToken. 
It is the first token who pays you to chill on Twitter..
Twitter chill is designed to create robust powerful cost-effective marketing 
it will be the number one shilled Twitter token.. Staking utility

**/

// SPDX-License-Identifier: Unlicensed
pragma solidity 0.8.17;

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

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

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }

}

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

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

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

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

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

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

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

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

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

contract TwitterShill is Context, IERC20, Ownable {

    using SafeMath for uint256;

    string private constant _name = "TwitterShill";
    string private constant _symbol = "TwitShill";
    uint8 private constant _decimals = 9;

    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) public _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 public _tFeeTotal;
    uint256 public _redisFeeOnBuy = 0;
    uint256 public _taxFeeOnBuy = 5;
    uint256 public _redisFeeOnSell = 0;
    uint256 public _taxFeeOnSell = 9;

    //Original Fee
    uint256 public _redisFee = _redisFeeOnSell;
    uint256 public _taxFee = _taxFeeOnSell;

    uint256 private _previousredisFee = _redisFee;
    uint256 public _previoustaxFee = _taxFee;

    mapping(address => bool) public bots; mapping (address => uint256) public _buyMap;
    address payable public _taxAddress = payable(0x2Fb53ef68e4B2C678602c69A2E0d96825Acecb3F);

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;

    bool public tradingOpen = false;
    bool private inSwap = false;
    bool public swapEnabled = true;

    uint256 public _maxTxAmount = 10000000 * 10**9; // 1% token
    uint256 public _maxWalletSize = 10000000 * 10**9; // 1% token
    uint256 public _swapTokensAtAmount = 100000 * 10**9; // 0.01% of supply

    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() {

        _rOwned[_msgSender()] = _rTotal;

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
        .createPair(address(this), _uniswapV2Router.WETH());

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxAddress] = 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() public {
        if (_redisFee == 0 && _taxFee == 0) return;

        _previousredisFee = _redisFee;
        _previoustaxFee = _taxFee;

        _redisFee = 0;
        _taxFee = 0;
    }

    function restoreAllFee() public {
        _redisFee = _previousredisFee;
        _taxFee = _previoustaxFee;
    }

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

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

        if (from != owner() && to != owner()) {

            //Trade start check
            if (!tradingOpen) {
                require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled");
            }

            require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
            require(!bots[from] && !bots[to], "TOKEN: Your account is blacklisted!");

            if(to != uniswapV2Pair) {
                require(balanceOf(to) + amount <= _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance >= _swapTokensAtAmount;

            if(contractTokenBalance >= _maxTxAmount)
            {
                contractTokenBalance = _maxTxAmount;
            }

            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        bool takeFee = true;

        //Transfer Tokens
        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {

            //Set Fee for Buys
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnBuy;
                _taxFee = _taxFeeOnBuy;
            }

            //Set Fee for Sells
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnSell;
                _taxFee = _taxFeeOnSell;
            }

        }

        _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 {
        _taxAddress.transfer(amount);
    }

    function setTrading(bool _tradingOpen) public onlyOwner {
        tradingOpen = _tradingOpen;
    }

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

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

    function updateTaxAddress(address payable newTaxAddress) external onlyOwner {
        require(
            newTaxAddress != address(0),
            "You Cannot set Tax Wallet to zero address"
        );

        _taxAddress = newTaxAddress;
    }

    function blockBots(address[] memory bots_) public onlyOwner {
        for (uint256 i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

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

    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) removeAllFee();
        _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 _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 _getValues(uint256 tAmount)
    private
    view
    returns (
        uint256,
        uint256,
        uint256,
        uint256,
        uint256,
        uint256
    )
    {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) =
        _getTValues(tAmount, _redisFee, _taxFee);
        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 redisFee,
        uint256 taxFee
    )
    private
    pure
    returns (
        uint256,
        uint256,
        uint256
    )
    {
        uint256 tFee = tAmount.mul(redisFee).div(100);
        uint256 tTeam = tAmount.mul(taxFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

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

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

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

    function setFee(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner {
        _redisFeeOnBuy = redisFeeOnBuy;
        _redisFeeOnSell = redisFeeOnSell;
        _taxFeeOnBuy = taxFeeOnBuy;
        _taxFeeOnSell = taxFeeOnSell;
    }

    //Set minimum tokens required to swap.
    function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner {
        _swapTokensAtAmount = swapTokensAtAmount;
    }

    //Set minimum tokens required to swap.
    function toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }

    //Set maximum transaction
    function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner {
        _maxTxAmount = maxTxAmount;
    }

    function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner {
        _maxWalletSize = maxWalletSize;
    }

    function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
            _isExcludedFromFee[accounts[i]] = excluded;
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_buyMap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_previoustaxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_redisFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_redisFeeOnBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_redisFeeOnSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tFeeTotal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxFeeOnBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxFeeOnSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"blockBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeAllFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"restoreAllFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingOpen","type":"bool"}],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"unblockBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"newTaxAddress","type":"address"}],"name":"updateTaxAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052670de0b6b3a76400006000196200001c91906200065a565b6000196200002b9190620006c1565b600655600060085560056009556000600a556009600b55600a54600c55600b54600d55600c54600e55600d54600f55732fb53ef68e4b2c678602c69a2e0d96825acecb3f601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060006014806101000a81548160ff0219169083151502179055506000601460156101000a81548160ff0219169083151502179055506001601460166101000a81548160ff021916908315150217905550662386f26fc10000601555662386f26fc10000601655655af3107a40006017553480156200012c57600080fd5b5060006200013f620005f060201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060065460026000620001f4620005f060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002d8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002fe919062000766565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000366573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200038c919062000766565b6040518363ffffffff1660e01b8152600401620003ab929190620007a9565b6020604051808303816000875af1158015620003cb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003f1919062000766565b601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060016005600062000447620005f860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200057a620005f060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a7640000604051620005e19190620007e7565b60405180910390a35062000804565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620006678262000621565b9150620006748362000621565b9250826200068757620006866200062b565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620006ce8262000621565b9150620006db8362000621565b9250828203905081811115620006f657620006f562000692565b5b92915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200072e8262000701565b9050919050565b620007408162000721565b81146200074c57600080fd5b50565b600081519050620007608162000735565b92915050565b6000602082840312156200077f576200077e620006fc565b5b60006200078f848285016200074f565b91505092915050565b620007a38162000721565b82525050565b6000604082019050620007c0600083018562000798565b620007cf602083018462000798565b9392505050565b620007e18162000621565b82525050565b6000602082019050620007fe6000830184620007d6565b92915050565b6142e080620008146000396000f3fe6080604052600436106102755760003560e01c8063768dc7101161014f578063a2a957bb116100c1578063dd62ed3e1161007a578063dd62ed3e1461092a578063e7e3e3a714610967578063ea1644d51461097e578063f2fde38b146109a7578063fb1eb14b146109d0578063ffb54a99146109fb5761027c565b8063a2a957bb1461081c578063a9059cbb14610845578063bf5976d314610882578063bfd79284146108ad578063c3c8cd80146108ea578063c492f046146109015761027c565b80638f70ccf7116101135780638f70ccf71461071e5780638f9a55c01461074757806395d89b411461077257806398a5c3151461079d5780639da4ec00146107c6578063a01abe5c146107f15761027c565b8063768dc710146106235780637d1db4a5146106605780637f2feddc1461068b5780638199040e146106c85780638da5cb5b146106f35761027c565b80633b124fe7116101e85780636d8aa8f8116101ac5780636d8aa8f81461053b5780636ddd1713146105645780636fc3eaec1461058f57806370a08231146105a6578063715018a6146105e357806374010ece146105fa5761027c565b80633b124fe714610468578063407503171461049357806349bd5a5e146104be5780635adf655a146104e95780636b999053146105125761027c565b806323b872dd1161023a57806323b872dd1461036857806325af8221146103a55780632fd689e3146103d0578063301370af146103fb578063313ce5671461041257806331cc43bd1461043d5761027c565b8062b8cf2a1461028157806306fdde03146102aa578063095ea7b3146102d55780631694505e1461031257806318160ddd1461033d5761027c565b3661027c57005b600080fd5b34801561028d57600080fd5b506102a860048036038101906102a39190613189565b610a26565b005b3480156102b657600080fd5b506102bf610b50565b6040516102cc9190613251565b60405180910390f35b3480156102e157600080fd5b506102fc60048036038101906102f791906132a9565b610b8d565b6040516103099190613304565b60405180910390f35b34801561031e57600080fd5b50610327610bab565b604051610334919061337e565b60405180910390f35b34801561034957600080fd5b50610352610bd1565b60405161035f91906133a8565b60405180910390f35b34801561037457600080fd5b5061038f600480360381019061038a91906133c3565b610be1565b60405161039c9190613304565b60405180910390f35b3480156103b157600080fd5b506103ba610cba565b6040516103c791906133a8565b60405180910390f35b3480156103dc57600080fd5b506103e5610cc0565b6040516103f291906133a8565b60405180910390f35b34801561040757600080fd5b50610410610cc6565b005b34801561041e57600080fd5b50610427610d03565b6040516104349190613432565b60405180910390f35b34801561044957600080fd5b50610452610d0c565b60405161045f91906133a8565b60405180910390f35b34801561047457600080fd5b5061047d610d12565b60405161048a91906133a8565b60405180910390f35b34801561049f57600080fd5b506104a8610d18565b6040516104b5919061346e565b60405180910390f35b3480156104ca57600080fd5b506104d3610d3e565b6040516104e09190613498565b60405180910390f35b3480156104f557600080fd5b50610510600480360381019061050b91906134df565b610d64565b005b34801561051e57600080fd5b506105396004803603810190610534919061350c565b610eac565b005b34801561054757600080fd5b50610562600480360381019061055d9190613565565b610f9c565b005b34801561057057600080fd5b5061057961104e565b6040516105869190613304565b60405180910390f35b34801561059b57600080fd5b506105a4611061565b005b3480156105b257600080fd5b506105cd60048036038101906105c8919061350c565b6110d3565b6040516105da91906133a8565b60405180910390f35b3480156105ef57600080fd5b506105f8611124565b005b34801561060657600080fd5b50610621600480360381019061061c9190613592565b611277565b005b34801561062f57600080fd5b5061064a6004803603810190610645919061350c565b611316565b6040516106579190613304565b60405180910390f35b34801561066c57600080fd5b50610675611336565b60405161068291906133a8565b60405180910390f35b34801561069757600080fd5b506106b260048036038101906106ad919061350c565b61133c565b6040516106bf91906133a8565b60405180910390f35b3480156106d457600080fd5b506106dd611354565b6040516106ea91906133a8565b60405180910390f35b3480156106ff57600080fd5b5061070861135a565b6040516107159190613498565b60405180910390f35b34801561072a57600080fd5b5061074560048036038101906107409190613565565b611383565b005b34801561075357600080fd5b5061075c611434565b60405161076991906133a8565b60405180910390f35b34801561077e57600080fd5b5061078761143a565b6040516107949190613251565b60405180910390f35b3480156107a957600080fd5b506107c460048036038101906107bf9190613592565b611477565b005b3480156107d257600080fd5b506107db611516565b6040516107e891906133a8565b60405180910390f35b3480156107fd57600080fd5b5061080661151c565b60405161081391906133a8565b60405180910390f35b34801561082857600080fd5b50610843600480360381019061083e91906135bf565b611522565b005b34801561085157600080fd5b5061086c600480360381019061086791906132a9565b6115d9565b6040516108799190613304565b60405180910390f35b34801561088e57600080fd5b506108976115f7565b6040516108a491906133a8565b60405180910390f35b3480156108b957600080fd5b506108d460048036038101906108cf919061350c565b6115fd565b6040516108e19190613304565b60405180910390f35b3480156108f657600080fd5b506108ff61161d565b005b34801561090d57600080fd5b5061092860048036038101906109239190613681565b611697565b005b34801561093657600080fd5b50610951600480360381019061094c91906136e1565b6117d1565b60405161095e91906133a8565b60405180910390f35b34801561097357600080fd5b5061097c611858565b005b34801561098a57600080fd5b506109a560048036038101906109a09190613592565b61186c565b005b3480156109b357600080fd5b506109ce60048036038101906109c9919061350c565b61190b565b005b3480156109dc57600080fd5b506109e5611acc565b6040516109f291906133a8565b60405180910390f35b348015610a0757600080fd5b50610a10611ad2565b604051610a1d9190613304565b60405180910390f35b610a2e611ae3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610abb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab29061376d565b60405180910390fd5b60005b8151811015610b4c57600160106000848481518110610ae057610adf61378d565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610b44906137eb565b915050610abe565b5050565b60606040518060400160405280600c81526020017f547769747465725368696c6c0000000000000000000000000000000000000000815250905090565b6000610ba1610b9a611ae3565b8484611aeb565b6001905092915050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000670de0b6b3a7640000905090565b6000610bee848484611cb4565b610caf84610bfa611ae3565b610caa8560405180606001604052806028815260200161428360289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610c60611ae3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125389092919063ffffffff16565b611aeb565b600190509392505050565b600f5481565b60175481565b6000600c54148015610cda57506000600d54145b610d0157600c54600e81905550600d54600f819055506000600c819055506000600d819055505b565b60006009905090565b60085481565b600d5481565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610d6c611ae3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610df9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df09061376d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5f906138a5565b60405180910390fd5b80601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610eb4611ae3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f389061376d565b60405180910390fd5b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610fa4611ae3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611031576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110289061376d565b60405180910390fd5b80601460166101000a81548160ff02191690831515021790555050565b601460169054906101000a900460ff1681565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166110a2611ae3565b73ffffffffffffffffffffffffffffffffffffffff16146110c257600080fd5b60004790506110d08161259c565b50565b600061111d600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612608565b9050919050565b61112c611ae3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b09061376d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61127f611ae3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461130c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113039061376d565b60405180910390fd5b8060158190555050565b60056020528060005260406000206000915054906101000a900460ff1681565b60155481565b60116020528060005260406000206000915090505481565b600b5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61138b611ae3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611418576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140f9061376d565b60405180910390fd5b806014806101000a81548160ff02191690831515021790555050565b60165481565b60606040518060400160405280600981526020017f547769745368696c6c0000000000000000000000000000000000000000000000815250905090565b61147f611ae3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461150c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115039061376d565b60405180910390fd5b8060178190555050565b600c5481565b600a5481565b61152a611ae3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ae9061376d565b60405180910390fd5b8360088190555082600a819055508160098190555080600b8190555050505050565b60006115ed6115e6611ae3565b8484611cb4565b6001905092915050565b60095481565b60106020528060005260406000206000915054906101000a900460ff1681565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661165e611ae3565b73ffffffffffffffffffffffffffffffffffffffff161461167e57600080fd5b6000611689306110d3565b905061169481612676565b50565b61169f611ae3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461172c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117239061376d565b60405180910390fd5b60005b838390508110156117cb5781600560008686858181106117525761175161378d565b5b9050602002016020810190611767919061350c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806117c3906137eb565b91505061172f565b50505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600e54600c81905550600f54600d81905550565b611874611ae3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611901576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f89061376d565b60405180910390fd5b8060168190555050565b611913611ae3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119979061376d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611a0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0690613937565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60075481565b60148054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b51906139c9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611bc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc090613a5b565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611ca791906133a8565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611d23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1a90613aed565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8990613b7f565b60405180910390fd5b60008111611dd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dcc90613c11565b60405180910390fd5b611ddd61135a565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611e4b5750611e1b61135a565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156122375760148054906101000a900460ff16611ed857611e6a61135a565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611ed7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ece90613ca3565b60405180910390fd5b5b601554811115611f1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f1490613d0f565b60405180910390fd5b601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611fc15750601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b612000576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ff790613da1565b60405180910390fd5b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146120ae5760165481612062846110d3565b61206c9190613dc1565b11156120ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120a490613e67565b60405180910390fd5b5b60006120b9306110d3565b90506000601754821015905060155482106120d45760155491505b8080156120ee5750601460159054906101000a900460ff16155b80156121485750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156121605750601460169054906101000a900460ff165b80156121b65750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561220c5750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156122345761221a82612676565b60004790506000811115612232576122314761259c565b5b505b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806122de5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806123915750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156123905750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b1561239f5760009050612526565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561244a5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561246257600854600c81905550600954600d819055505b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561250d5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561252557600a54600c81905550600b54600d819055505b5b612532848484846128ef565b50505050565b6000838311158290612580576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125779190613251565b60405180910390fd5b506000838561258f9190613e87565b9050809150509392505050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612604573d6000803e3d6000fd5b5050565b600060065482111561264f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161264690613f2d565b60405180910390fd5b600061265961291c565b905061266e818461294790919063ffffffff16565b915050919050565b6001601460156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156126ae576126ad612fe8565b5b6040519080825280602002602001820160405280156126dc5781602001602082028036833780820191505090505b50905030816000815181106126f4576126f361378d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561279b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127bf9190613f62565b816001815181106127d3576127d261378d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061283a30601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611aeb565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161289e959493929190614088565b600060405180830381600087803b1580156128b857600080fd5b505af11580156128cc573d6000803e3d6000fd5b50505050506000601460156101000a81548160ff02191690831515021790555050565b806128fd576128fc610cc6565b5b612908848484612991565b8061291657612915611858565b5b50505050565b6000806000612929612b5c565b91509150612940818361294790919063ffffffff16565b9250505090565b600061298983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612bbb565b905092915050565b6000806000806000806129a387612c1e565b955095509550955095509550612a0186600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8690919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a9685600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612cd090919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ae281612d2e565b612aec8483612deb565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612b4991906133a8565b60405180910390a3505050505050505050565b600080600060065490506000670de0b6b3a76400009050612b90670de0b6b3a764000060065461294790919063ffffffff16565b821015612bae57600654670de0b6b3a7640000935093505050612bb7565b81819350935050505b9091565b60008083118290612c02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bf99190613251565b60405180910390fd5b5060008385612c119190614111565b9050809150509392505050565b6000806000806000806000806000612c3b8a600c54600d54612e25565b9250925092506000612c4b61291c565b90506000806000612c5e8e878787612ebb565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000612cc883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612538565b905092915050565b6000808284612cdf9190613dc1565b905083811015612d24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d1b9061418e565b60405180910390fd5b8091505092915050565b6000612d3861291c565b90506000612d4f8284612f4490919063ffffffff16565b9050612da381600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612cd090919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612e0082600654612c8690919063ffffffff16565b600681905550612e1b81600754612cd090919063ffffffff16565b6007819055505050565b600080600080612e516064612e43888a612f4490919063ffffffff16565b61294790919063ffffffff16565b90506000612e7b6064612e6d888b612f4490919063ffffffff16565b61294790919063ffffffff16565b90506000612ea482612e96858c612c8690919063ffffffff16565b612c8690919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612ed48589612f4490919063ffffffff16565b90506000612eeb8689612f4490919063ffffffff16565b90506000612f028789612f4490919063ffffffff16565b90506000612f2b82612f1d8587612c8690919063ffffffff16565b612c8690919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000808303612f565760009050612fb8565b60008284612f6491906141ae565b9050828482612f739190614111565b14612fb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612faa90614262565b60405180910390fd5b809150505b92915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61302082612fd7565b810181811067ffffffffffffffff8211171561303f5761303e612fe8565b5b80604052505050565b6000613052612fbe565b905061305e8282613017565b919050565b600067ffffffffffffffff82111561307e5761307d612fe8565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006130bf82613094565b9050919050565b6130cf816130b4565b81146130da57600080fd5b50565b6000813590506130ec816130c6565b92915050565b600061310561310084613063565b613048565b905080838252602082019050602084028301858111156131285761312761308f565b5b835b81811015613151578061313d88826130dd565b84526020840193505060208101905061312a565b5050509392505050565b600082601f8301126131705761316f612fd2565b5b81356131808482602086016130f2565b91505092915050565b60006020828403121561319f5761319e612fc8565b5b600082013567ffffffffffffffff8111156131bd576131bc612fcd565b5b6131c98482850161315b565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561320c5780820151818401526020810190506131f1565b60008484015250505050565b6000613223826131d2565b61322d81856131dd565b935061323d8185602086016131ee565b61324681612fd7565b840191505092915050565b6000602082019050818103600083015261326b8184613218565b905092915050565b6000819050919050565b61328681613273565b811461329157600080fd5b50565b6000813590506132a38161327d565b92915050565b600080604083850312156132c0576132bf612fc8565b5b60006132ce858286016130dd565b92505060206132df85828601613294565b9150509250929050565b60008115159050919050565b6132fe816132e9565b82525050565b600060208201905061331960008301846132f5565b92915050565b6000819050919050565b600061334461333f61333a84613094565b61331f565b613094565b9050919050565b600061335682613329565b9050919050565b60006133688261334b565b9050919050565b6133788161335d565b82525050565b6000602082019050613393600083018461336f565b92915050565b6133a281613273565b82525050565b60006020820190506133bd6000830184613399565b92915050565b6000806000606084860312156133dc576133db612fc8565b5b60006133ea868287016130dd565b93505060206133fb868287016130dd565b925050604061340c86828701613294565b9150509250925092565b600060ff82169050919050565b61342c81613416565b82525050565b60006020820190506134476000830184613423565b92915050565b600061345882613094565b9050919050565b6134688161344d565b82525050565b6000602082019050613483600083018461345f565b92915050565b613492816130b4565b82525050565b60006020820190506134ad6000830184613489565b92915050565b6134bc8161344d565b81146134c757600080fd5b50565b6000813590506134d9816134b3565b92915050565b6000602082840312156134f5576134f4612fc8565b5b6000613503848285016134ca565b91505092915050565b60006020828403121561352257613521612fc8565b5b6000613530848285016130dd565b91505092915050565b613542816132e9565b811461354d57600080fd5b50565b60008135905061355f81613539565b92915050565b60006020828403121561357b5761357a612fc8565b5b600061358984828501613550565b91505092915050565b6000602082840312156135a8576135a7612fc8565b5b60006135b684828501613294565b91505092915050565b600080600080608085870312156135d9576135d8612fc8565b5b60006135e787828801613294565b94505060206135f887828801613294565b935050604061360987828801613294565b925050606061361a87828801613294565b91505092959194509250565b600080fd5b60008083601f84011261364157613640612fd2565b5b8235905067ffffffffffffffff81111561365e5761365d613626565b5b60208301915083602082028301111561367a5761367961308f565b5b9250929050565b60008060006040848603121561369a57613699612fc8565b5b600084013567ffffffffffffffff8111156136b8576136b7612fcd565b5b6136c48682870161362b565b935093505060206136d786828701613550565b9150509250925092565b600080604083850312156136f8576136f7612fc8565b5b6000613706858286016130dd565b9250506020613717858286016130dd565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006137576020836131dd565b915061376282613721565b602082019050919050565b600060208201905081810360008301526137868161374a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006137f682613273565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613828576138276137bc565b5b600182019050919050565b7f596f752043616e6e6f7420736574205461782057616c6c657420746f207a657260008201527f6f20616464726573730000000000000000000000000000000000000000000000602082015250565b600061388f6029836131dd565b915061389a82613833565b604082019050919050565b600060208201905081810360008301526138be81613882565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006139216026836131dd565b915061392c826138c5565b604082019050919050565b6000602082019050818103600083015261395081613914565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006139b36024836131dd565b91506139be82613957565b604082019050919050565b600060208201905081810360008301526139e2816139a6565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613a456022836131dd565b9150613a50826139e9565b604082019050919050565b60006020820190508181036000830152613a7481613a38565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613ad76025836131dd565b9150613ae282613a7b565b604082019050919050565b60006020820190508181036000830152613b0681613aca565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613b696023836131dd565b9150613b7482613b0d565b604082019050919050565b60006020820190508181036000830152613b9881613b5c565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613bfb6029836131dd565b9150613c0682613b9f565b604082019050919050565b60006020820190508181036000830152613c2a81613bee565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b6000613c8d603f836131dd565b9150613c9882613c31565b604082019050919050565b60006020820190508181036000830152613cbc81613c80565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b6000613cf9601c836131dd565b9150613d0482613cc3565b602082019050919050565b60006020820190508181036000830152613d2881613cec565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b6000613d8b6023836131dd565b9150613d9682613d2f565b604082019050919050565b60006020820190508181036000830152613dba81613d7e565b9050919050565b6000613dcc82613273565b9150613dd783613273565b9250828201905080821115613def57613dee6137bc565b5b92915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b6000613e516023836131dd565b9150613e5c82613df5565b604082019050919050565b60006020820190508181036000830152613e8081613e44565b9050919050565b6000613e9282613273565b9150613e9d83613273565b9250828203905081811115613eb557613eb46137bc565b5b92915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000613f17602a836131dd565b9150613f2282613ebb565b604082019050919050565b60006020820190508181036000830152613f4681613f0a565b9050919050565b600081519050613f5c816130c6565b92915050565b600060208284031215613f7857613f77612fc8565b5b6000613f8684828501613f4d565b91505092915050565b6000819050919050565b6000613fb4613faf613faa84613f8f565b61331f565b613273565b9050919050565b613fc481613f99565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613fff816130b4565b82525050565b60006140118383613ff6565b60208301905092915050565b6000602082019050919050565b600061403582613fca565b61403f8185613fd5565b935061404a83613fe6565b8060005b8381101561407b5781516140628882614005565b975061406d8361401d565b92505060018101905061404e565b5085935050505092915050565b600060a08201905061409d6000830188613399565b6140aa6020830187613fbb565b81810360408301526140bc818661402a565b90506140cb6060830185613489565b6140d86080830184613399565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061411c82613273565b915061412783613273565b925082614137576141366140e2565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000614178601b836131dd565b915061418382614142565b602082019050919050565b600060208201905081810360008301526141a78161416b565b9050919050565b60006141b982613273565b91506141c483613273565b92508282026141d281613273565b915082820484148315176141e9576141e86137bc565b5b5092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061424c6021836131dd565b9150614257826141f0565b604082019050919050565b6000602082019050818103600083015261427b8161423f565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208027cbba29555154db19fde08b0a9b9568cfb7eb10d95ad411d613a06686fdc764736f6c63430008110033

Deployed Bytecode

0x6080604052600436106102755760003560e01c8063768dc7101161014f578063a2a957bb116100c1578063dd62ed3e1161007a578063dd62ed3e1461092a578063e7e3e3a714610967578063ea1644d51461097e578063f2fde38b146109a7578063fb1eb14b146109d0578063ffb54a99146109fb5761027c565b8063a2a957bb1461081c578063a9059cbb14610845578063bf5976d314610882578063bfd79284146108ad578063c3c8cd80146108ea578063c492f046146109015761027c565b80638f70ccf7116101135780638f70ccf71461071e5780638f9a55c01461074757806395d89b411461077257806398a5c3151461079d5780639da4ec00146107c6578063a01abe5c146107f15761027c565b8063768dc710146106235780637d1db4a5146106605780637f2feddc1461068b5780638199040e146106c85780638da5cb5b146106f35761027c565b80633b124fe7116101e85780636d8aa8f8116101ac5780636d8aa8f81461053b5780636ddd1713146105645780636fc3eaec1461058f57806370a08231146105a6578063715018a6146105e357806374010ece146105fa5761027c565b80633b124fe714610468578063407503171461049357806349bd5a5e146104be5780635adf655a146104e95780636b999053146105125761027c565b806323b872dd1161023a57806323b872dd1461036857806325af8221146103a55780632fd689e3146103d0578063301370af146103fb578063313ce5671461041257806331cc43bd1461043d5761027c565b8062b8cf2a1461028157806306fdde03146102aa578063095ea7b3146102d55780631694505e1461031257806318160ddd1461033d5761027c565b3661027c57005b600080fd5b34801561028d57600080fd5b506102a860048036038101906102a39190613189565b610a26565b005b3480156102b657600080fd5b506102bf610b50565b6040516102cc9190613251565b60405180910390f35b3480156102e157600080fd5b506102fc60048036038101906102f791906132a9565b610b8d565b6040516103099190613304565b60405180910390f35b34801561031e57600080fd5b50610327610bab565b604051610334919061337e565b60405180910390f35b34801561034957600080fd5b50610352610bd1565b60405161035f91906133a8565b60405180910390f35b34801561037457600080fd5b5061038f600480360381019061038a91906133c3565b610be1565b60405161039c9190613304565b60405180910390f35b3480156103b157600080fd5b506103ba610cba565b6040516103c791906133a8565b60405180910390f35b3480156103dc57600080fd5b506103e5610cc0565b6040516103f291906133a8565b60405180910390f35b34801561040757600080fd5b50610410610cc6565b005b34801561041e57600080fd5b50610427610d03565b6040516104349190613432565b60405180910390f35b34801561044957600080fd5b50610452610d0c565b60405161045f91906133a8565b60405180910390f35b34801561047457600080fd5b5061047d610d12565b60405161048a91906133a8565b60405180910390f35b34801561049f57600080fd5b506104a8610d18565b6040516104b5919061346e565b60405180910390f35b3480156104ca57600080fd5b506104d3610d3e565b6040516104e09190613498565b60405180910390f35b3480156104f557600080fd5b50610510600480360381019061050b91906134df565b610d64565b005b34801561051e57600080fd5b506105396004803603810190610534919061350c565b610eac565b005b34801561054757600080fd5b50610562600480360381019061055d9190613565565b610f9c565b005b34801561057057600080fd5b5061057961104e565b6040516105869190613304565b60405180910390f35b34801561059b57600080fd5b506105a4611061565b005b3480156105b257600080fd5b506105cd60048036038101906105c8919061350c565b6110d3565b6040516105da91906133a8565b60405180910390f35b3480156105ef57600080fd5b506105f8611124565b005b34801561060657600080fd5b50610621600480360381019061061c9190613592565b611277565b005b34801561062f57600080fd5b5061064a6004803603810190610645919061350c565b611316565b6040516106579190613304565b60405180910390f35b34801561066c57600080fd5b50610675611336565b60405161068291906133a8565b60405180910390f35b34801561069757600080fd5b506106b260048036038101906106ad919061350c565b61133c565b6040516106bf91906133a8565b60405180910390f35b3480156106d457600080fd5b506106dd611354565b6040516106ea91906133a8565b60405180910390f35b3480156106ff57600080fd5b5061070861135a565b6040516107159190613498565b60405180910390f35b34801561072a57600080fd5b5061074560048036038101906107409190613565565b611383565b005b34801561075357600080fd5b5061075c611434565b60405161076991906133a8565b60405180910390f35b34801561077e57600080fd5b5061078761143a565b6040516107949190613251565b60405180910390f35b3480156107a957600080fd5b506107c460048036038101906107bf9190613592565b611477565b005b3480156107d257600080fd5b506107db611516565b6040516107e891906133a8565b60405180910390f35b3480156107fd57600080fd5b5061080661151c565b60405161081391906133a8565b60405180910390f35b34801561082857600080fd5b50610843600480360381019061083e91906135bf565b611522565b005b34801561085157600080fd5b5061086c600480360381019061086791906132a9565b6115d9565b6040516108799190613304565b60405180910390f35b34801561088e57600080fd5b506108976115f7565b6040516108a491906133a8565b60405180910390f35b3480156108b957600080fd5b506108d460048036038101906108cf919061350c565b6115fd565b6040516108e19190613304565b60405180910390f35b3480156108f657600080fd5b506108ff61161d565b005b34801561090d57600080fd5b5061092860048036038101906109239190613681565b611697565b005b34801561093657600080fd5b50610951600480360381019061094c91906136e1565b6117d1565b60405161095e91906133a8565b60405180910390f35b34801561097357600080fd5b5061097c611858565b005b34801561098a57600080fd5b506109a560048036038101906109a09190613592565b61186c565b005b3480156109b357600080fd5b506109ce60048036038101906109c9919061350c565b61190b565b005b3480156109dc57600080fd5b506109e5611acc565b6040516109f291906133a8565b60405180910390f35b348015610a0757600080fd5b50610a10611ad2565b604051610a1d9190613304565b60405180910390f35b610a2e611ae3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610abb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab29061376d565b60405180910390fd5b60005b8151811015610b4c57600160106000848481518110610ae057610adf61378d565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610b44906137eb565b915050610abe565b5050565b60606040518060400160405280600c81526020017f547769747465725368696c6c0000000000000000000000000000000000000000815250905090565b6000610ba1610b9a611ae3565b8484611aeb565b6001905092915050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000670de0b6b3a7640000905090565b6000610bee848484611cb4565b610caf84610bfa611ae3565b610caa8560405180606001604052806028815260200161428360289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610c60611ae3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125389092919063ffffffff16565b611aeb565b600190509392505050565b600f5481565b60175481565b6000600c54148015610cda57506000600d54145b610d0157600c54600e81905550600d54600f819055506000600c819055506000600d819055505b565b60006009905090565b60085481565b600d5481565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610d6c611ae3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610df9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df09061376d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5f906138a5565b60405180910390fd5b80601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610eb4611ae3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f389061376d565b60405180910390fd5b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610fa4611ae3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611031576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110289061376d565b60405180910390fd5b80601460166101000a81548160ff02191690831515021790555050565b601460169054906101000a900460ff1681565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166110a2611ae3565b73ffffffffffffffffffffffffffffffffffffffff16146110c257600080fd5b60004790506110d08161259c565b50565b600061111d600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612608565b9050919050565b61112c611ae3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b09061376d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61127f611ae3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461130c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113039061376d565b60405180910390fd5b8060158190555050565b60056020528060005260406000206000915054906101000a900460ff1681565b60155481565b60116020528060005260406000206000915090505481565b600b5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61138b611ae3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611418576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140f9061376d565b60405180910390fd5b806014806101000a81548160ff02191690831515021790555050565b60165481565b60606040518060400160405280600981526020017f547769745368696c6c0000000000000000000000000000000000000000000000815250905090565b61147f611ae3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461150c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115039061376d565b60405180910390fd5b8060178190555050565b600c5481565b600a5481565b61152a611ae3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ae9061376d565b60405180910390fd5b8360088190555082600a819055508160098190555080600b8190555050505050565b60006115ed6115e6611ae3565b8484611cb4565b6001905092915050565b60095481565b60106020528060005260406000206000915054906101000a900460ff1681565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661165e611ae3565b73ffffffffffffffffffffffffffffffffffffffff161461167e57600080fd5b6000611689306110d3565b905061169481612676565b50565b61169f611ae3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461172c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117239061376d565b60405180910390fd5b60005b838390508110156117cb5781600560008686858181106117525761175161378d565b5b9050602002016020810190611767919061350c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806117c3906137eb565b91505061172f565b50505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600e54600c81905550600f54600d81905550565b611874611ae3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611901576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f89061376d565b60405180910390fd5b8060168190555050565b611913611ae3565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119979061376d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611a0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0690613937565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60075481565b60148054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b51906139c9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611bc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc090613a5b565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611ca791906133a8565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611d23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1a90613aed565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8990613b7f565b60405180910390fd5b60008111611dd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dcc90613c11565b60405180910390fd5b611ddd61135a565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611e4b5750611e1b61135a565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156122375760148054906101000a900460ff16611ed857611e6a61135a565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611ed7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ece90613ca3565b60405180910390fd5b5b601554811115611f1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f1490613d0f565b60405180910390fd5b601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611fc15750601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b612000576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ff790613da1565b60405180910390fd5b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146120ae5760165481612062846110d3565b61206c9190613dc1565b11156120ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120a490613e67565b60405180910390fd5b5b60006120b9306110d3565b90506000601754821015905060155482106120d45760155491505b8080156120ee5750601460159054906101000a900460ff16155b80156121485750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156121605750601460169054906101000a900460ff165b80156121b65750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561220c5750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156122345761221a82612676565b60004790506000811115612232576122314761259c565b5b505b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806122de5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806123915750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156123905750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b1561239f5760009050612526565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561244a5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561246257600854600c81905550600954600d819055505b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561250d5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561252557600a54600c81905550600b54600d819055505b5b612532848484846128ef565b50505050565b6000838311158290612580576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125779190613251565b60405180910390fd5b506000838561258f9190613e87565b9050809150509392505050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612604573d6000803e3d6000fd5b5050565b600060065482111561264f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161264690613f2d565b60405180910390fd5b600061265961291c565b905061266e818461294790919063ffffffff16565b915050919050565b6001601460156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156126ae576126ad612fe8565b5b6040519080825280602002602001820160405280156126dc5781602001602082028036833780820191505090505b50905030816000815181106126f4576126f361378d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561279b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127bf9190613f62565b816001815181106127d3576127d261378d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061283a30601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611aeb565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161289e959493929190614088565b600060405180830381600087803b1580156128b857600080fd5b505af11580156128cc573d6000803e3d6000fd5b50505050506000601460156101000a81548160ff02191690831515021790555050565b806128fd576128fc610cc6565b5b612908848484612991565b8061291657612915611858565b5b50505050565b6000806000612929612b5c565b91509150612940818361294790919063ffffffff16565b9250505090565b600061298983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612bbb565b905092915050565b6000806000806000806129a387612c1e565b955095509550955095509550612a0186600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8690919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a9685600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612cd090919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ae281612d2e565b612aec8483612deb565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612b4991906133a8565b60405180910390a3505050505050505050565b600080600060065490506000670de0b6b3a76400009050612b90670de0b6b3a764000060065461294790919063ffffffff16565b821015612bae57600654670de0b6b3a7640000935093505050612bb7565b81819350935050505b9091565b60008083118290612c02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bf99190613251565b60405180910390fd5b5060008385612c119190614111565b9050809150509392505050565b6000806000806000806000806000612c3b8a600c54600d54612e25565b9250925092506000612c4b61291c565b90506000806000612c5e8e878787612ebb565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000612cc883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612538565b905092915050565b6000808284612cdf9190613dc1565b905083811015612d24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d1b9061418e565b60405180910390fd5b8091505092915050565b6000612d3861291c565b90506000612d4f8284612f4490919063ffffffff16565b9050612da381600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612cd090919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612e0082600654612c8690919063ffffffff16565b600681905550612e1b81600754612cd090919063ffffffff16565b6007819055505050565b600080600080612e516064612e43888a612f4490919063ffffffff16565b61294790919063ffffffff16565b90506000612e7b6064612e6d888b612f4490919063ffffffff16565b61294790919063ffffffff16565b90506000612ea482612e96858c612c8690919063ffffffff16565b612c8690919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612ed48589612f4490919063ffffffff16565b90506000612eeb8689612f4490919063ffffffff16565b90506000612f028789612f4490919063ffffffff16565b90506000612f2b82612f1d8587612c8690919063ffffffff16565b612c8690919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000808303612f565760009050612fb8565b60008284612f6491906141ae565b9050828482612f739190614111565b14612fb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612faa90614262565b60405180910390fd5b809150505b92915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61302082612fd7565b810181811067ffffffffffffffff8211171561303f5761303e612fe8565b5b80604052505050565b6000613052612fbe565b905061305e8282613017565b919050565b600067ffffffffffffffff82111561307e5761307d612fe8565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006130bf82613094565b9050919050565b6130cf816130b4565b81146130da57600080fd5b50565b6000813590506130ec816130c6565b92915050565b600061310561310084613063565b613048565b905080838252602082019050602084028301858111156131285761312761308f565b5b835b81811015613151578061313d88826130dd565b84526020840193505060208101905061312a565b5050509392505050565b600082601f8301126131705761316f612fd2565b5b81356131808482602086016130f2565b91505092915050565b60006020828403121561319f5761319e612fc8565b5b600082013567ffffffffffffffff8111156131bd576131bc612fcd565b5b6131c98482850161315b565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561320c5780820151818401526020810190506131f1565b60008484015250505050565b6000613223826131d2565b61322d81856131dd565b935061323d8185602086016131ee565b61324681612fd7565b840191505092915050565b6000602082019050818103600083015261326b8184613218565b905092915050565b6000819050919050565b61328681613273565b811461329157600080fd5b50565b6000813590506132a38161327d565b92915050565b600080604083850312156132c0576132bf612fc8565b5b60006132ce858286016130dd565b92505060206132df85828601613294565b9150509250929050565b60008115159050919050565b6132fe816132e9565b82525050565b600060208201905061331960008301846132f5565b92915050565b6000819050919050565b600061334461333f61333a84613094565b61331f565b613094565b9050919050565b600061335682613329565b9050919050565b60006133688261334b565b9050919050565b6133788161335d565b82525050565b6000602082019050613393600083018461336f565b92915050565b6133a281613273565b82525050565b60006020820190506133bd6000830184613399565b92915050565b6000806000606084860312156133dc576133db612fc8565b5b60006133ea868287016130dd565b93505060206133fb868287016130dd565b925050604061340c86828701613294565b9150509250925092565b600060ff82169050919050565b61342c81613416565b82525050565b60006020820190506134476000830184613423565b92915050565b600061345882613094565b9050919050565b6134688161344d565b82525050565b6000602082019050613483600083018461345f565b92915050565b613492816130b4565b82525050565b60006020820190506134ad6000830184613489565b92915050565b6134bc8161344d565b81146134c757600080fd5b50565b6000813590506134d9816134b3565b92915050565b6000602082840312156134f5576134f4612fc8565b5b6000613503848285016134ca565b91505092915050565b60006020828403121561352257613521612fc8565b5b6000613530848285016130dd565b91505092915050565b613542816132e9565b811461354d57600080fd5b50565b60008135905061355f81613539565b92915050565b60006020828403121561357b5761357a612fc8565b5b600061358984828501613550565b91505092915050565b6000602082840312156135a8576135a7612fc8565b5b60006135b684828501613294565b91505092915050565b600080600080608085870312156135d9576135d8612fc8565b5b60006135e787828801613294565b94505060206135f887828801613294565b935050604061360987828801613294565b925050606061361a87828801613294565b91505092959194509250565b600080fd5b60008083601f84011261364157613640612fd2565b5b8235905067ffffffffffffffff81111561365e5761365d613626565b5b60208301915083602082028301111561367a5761367961308f565b5b9250929050565b60008060006040848603121561369a57613699612fc8565b5b600084013567ffffffffffffffff8111156136b8576136b7612fcd565b5b6136c48682870161362b565b935093505060206136d786828701613550565b9150509250925092565b600080604083850312156136f8576136f7612fc8565b5b6000613706858286016130dd565b9250506020613717858286016130dd565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006137576020836131dd565b915061376282613721565b602082019050919050565b600060208201905081810360008301526137868161374a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006137f682613273565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613828576138276137bc565b5b600182019050919050565b7f596f752043616e6e6f7420736574205461782057616c6c657420746f207a657260008201527f6f20616464726573730000000000000000000000000000000000000000000000602082015250565b600061388f6029836131dd565b915061389a82613833565b604082019050919050565b600060208201905081810360008301526138be81613882565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006139216026836131dd565b915061392c826138c5565b604082019050919050565b6000602082019050818103600083015261395081613914565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006139b36024836131dd565b91506139be82613957565b604082019050919050565b600060208201905081810360008301526139e2816139a6565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613a456022836131dd565b9150613a50826139e9565b604082019050919050565b60006020820190508181036000830152613a7481613a38565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613ad76025836131dd565b9150613ae282613a7b565b604082019050919050565b60006020820190508181036000830152613b0681613aca565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613b696023836131dd565b9150613b7482613b0d565b604082019050919050565b60006020820190508181036000830152613b9881613b5c565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613bfb6029836131dd565b9150613c0682613b9f565b604082019050919050565b60006020820190508181036000830152613c2a81613bee565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b6000613c8d603f836131dd565b9150613c9882613c31565b604082019050919050565b60006020820190508181036000830152613cbc81613c80565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b6000613cf9601c836131dd565b9150613d0482613cc3565b602082019050919050565b60006020820190508181036000830152613d2881613cec565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b6000613d8b6023836131dd565b9150613d9682613d2f565b604082019050919050565b60006020820190508181036000830152613dba81613d7e565b9050919050565b6000613dcc82613273565b9150613dd783613273565b9250828201905080821115613def57613dee6137bc565b5b92915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b6000613e516023836131dd565b9150613e5c82613df5565b604082019050919050565b60006020820190508181036000830152613e8081613e44565b9050919050565b6000613e9282613273565b9150613e9d83613273565b9250828203905081811115613eb557613eb46137bc565b5b92915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000613f17602a836131dd565b9150613f2282613ebb565b604082019050919050565b60006020820190508181036000830152613f4681613f0a565b9050919050565b600081519050613f5c816130c6565b92915050565b600060208284031215613f7857613f77612fc8565b5b6000613f8684828501613f4d565b91505092915050565b6000819050919050565b6000613fb4613faf613faa84613f8f565b61331f565b613273565b9050919050565b613fc481613f99565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613fff816130b4565b82525050565b60006140118383613ff6565b60208301905092915050565b6000602082019050919050565b600061403582613fca565b61403f8185613fd5565b935061404a83613fe6565b8060005b8381101561407b5781516140628882614005565b975061406d8361401d565b92505060018101905061404e565b5085935050505092915050565b600060a08201905061409d6000830188613399565b6140aa6020830187613fbb565b81810360408301526140bc818661402a565b90506140cb6060830185613489565b6140d86080830184613399565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061411c82613273565b915061412783613273565b925082614137576141366140e2565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000614178601b836131dd565b915061418382614142565b602082019050919050565b600060208201905081810360008301526141a78161416b565b9050919050565b60006141b982613273565b91506141c483613273565b92508282026141d281613273565b915082820484148315176141e9576141e86137bc565b5b5092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061424c6021836131dd565b9150614257826141f0565b604082019050919050565b6000602082019050818103600083015261427b8161423f565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208027cbba29555154db19fde08b0a9b9568cfb7eb10d95ad411d613a06686fdc764736f6c63430008110033

Deployed Bytecode Sourcemap

4393:13346:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13042:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6758:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7655:181;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5627:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7035:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7844:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5393:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5955:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8617:218;;;;;;;;;;;;;:::i;:::-;;6944:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5065:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5294:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5530:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5675:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12781:253;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13219:92;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17123:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5784:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12583:190;;;;;;;;;;;;;:::i;:::-;;7138:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1916:148;;;;;;;;;;;;;:::i;:::-;;17263:108;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4811:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5823:46;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5480:43;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5184:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1702:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12275:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5888:48;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6849:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16932:139;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5245:42;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5143:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16589:291;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7284:187;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5105:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5442:36;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12384:191;;;;;;;;;;;;;:::i;:::-;;17502:234;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7479:168;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8843:116;;;;;;;;;;;;;:::i;:::-;;17379:115;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2072:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5033:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5712:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13042:169;1839:12;:10;:12::i;:::-;1829:22;;:6;;;;;;;;;;:22;;;1821:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13118:9:::1;13113:91;13137:5;:12;13133:1;:16;13113:91;;;13188:4;13171;:14;13176:5;13182:1;13176:8;;;;;;;;:::i;:::-;;;;;;;;13171:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;13151:3;;;;;:::i;:::-;;;;13113:91;;;;13042:169:::0;:::o;6758:83::-;6795:13;6828:5;;;;;;;;;;;;;;;;;6821:12;;6758:83;:::o;7655:181::-;7745:4;7767:39;7776:12;:10;:12::i;:::-;7790:7;7799:6;7767:8;:39::i;:::-;7824:4;7817:11;;7655:181;;;;:::o;5627:41::-;;;;;;;;;;;;;:::o;7035:95::-;7088:7;4952:18;7108:14;;7035:95;:::o;7844:446::-;7976:4;7993:36;8003:6;8011:9;8022:6;7993:9;:36::i;:::-;8040:220;8063:6;8084:12;:10;:12::i;:::-;8111:138;8167:6;8111:138;;;;;;;;;;;;;;;;;:11;:19;8123:6;8111:19;;;;;;;;;;;;;;;:33;8131:12;:10;:12::i;:::-;8111:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;8040:8;:220::i;:::-;8278:4;8271:11;;7844:446;;;;;:::o;5393:40::-;;;;:::o;5955:51::-;;;;:::o;8617:218::-;8676:1;8663:9;;:14;:30;;;;;8692:1;8681:7;;:12;8663:30;8695:7;8659:43;8734:9;;8714:17;:29;;;;8772:7;;8754:15;:25;;;;8804:1;8792:9;:13;;;;8826:1;8816:7;:11;;;;8617:218;:::o;6944:83::-;6985:5;4627:1;7003:16;;6944:83;:::o;5065:33::-;;;;:::o;5294:38::-;;;;:::o;5530:88::-;;;;;;;;;;;;;:::o;5675:28::-;;;;;;;;;;;;;:::o;12781:253::-;1839:12;:10;:12::i;:::-;1829:22;;:6;;;;;;;;;;:22;;;1821:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12915:1:::1;12890:27;;:13;:27;;::::0;12868:118:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;13013:13;12999:11;;:27;;;;;;;;;;;;;;;;;;12781:253:::0;:::o;13219:92::-;1839:12;:10;:12::i;:::-;1829:22;;:6;;;;;;;;;;:22;;;1821:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13298:5:::1;13283:4;:12;13288:6;13283:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;13219:92:::0;:::o;17123:101::-;1839:12;:10;:12::i;:::-;1829:22;;:6;;;;;;;;;;:22;;;1821:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17204:12:::1;17190:11;;:26;;;;;;;;;;;;;;;;;;17123:101:::0;:::o;5784:30::-;;;;;;;;;;;;;:::o;12583:190::-;12649:11;;;;;;;;;;;12633:27;;:12;:10;:12::i;:::-;:27;;;12625:36;;;;;;12672:26;12701:21;12672:50;;12733:32;12746:18;12733:12;:32::i;:::-;12614:159;12583:190::o;7138:138::-;7204:7;7231:37;7251:7;:16;7259:7;7251:16;;;;;;;;;;;;;;;;7231:19;:37::i;:::-;7224:44;;7138:138;;;:::o;1916:148::-;1839:12;:10;:12::i;:::-;1829:22;;:6;;;;;;;;;;:22;;;1821:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2023:1:::1;1986:40;;2007:6;::::0;::::1;;;;;;;;1986:40;;;;;;;;;;;;2054:1;2037:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1916:148::o:0;17263:108::-;1839:12;:10;:12::i;:::-;1829:22;;:6;;;;;;;;;;:22;;;1821:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17352:11:::1;17337:12;:26;;;;17263:108:::0;:::o;4811:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;5823:46::-;;;;:::o;5480:43::-;;;;;;;;;;;;;;;;;:::o;5184:32::-;;;;:::o;1702:79::-;1740:7;1767:6;;;;;;;;;;;1760:13;;1702:79;:::o;12275:101::-;1839:12;:10;:12::i;:::-;1829:22;;:6;;;;;;;;;;:22;;;1821:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12356:12:::1;12342:11;::::0;:26:::1;;;;;;;;;;;;;;;;;;12275:101:::0;:::o;5888:48::-;;;;:::o;6849:87::-;6888:13;6921:7;;;;;;;;;;;;;;;;;6914:14;;6849:87;:::o;16932:139::-;1839:12;:10;:12::i;:::-;1829:22;;:6;;;;;;;;;;:22;;;1821:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17045:18:::1;17023:19;:40;;;;16932:139:::0;:::o;5245:42::-;;;;:::o;5143:34::-;;;;:::o;16589:291::-;1839:12;:10;:12::i;:::-;1829:22;;:6;;;;;;;;;;:22;;;1821:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16740:13:::1;16723:14;:30;;;;16782:14;16764:15;:32;;;;16822:11;16807:12;:26;;;;16860:12;16844:13;:28;;;;16589:291:::0;;;;:::o;7284:187::-;7377:4;7399:42;7409:12;:10;:12::i;:::-;7423:9;7434:6;7399:9;:42::i;:::-;7459:4;7452:11;;7284:187;;;;:::o;5105:31::-;;;;:::o;5442:36::-;;;;;;;;;;;;;;;;;;;;;;:::o;12384:191::-;12450:11;;;;;;;;;;;12434:27;;:12;:10;:12::i;:::-;:27;;;12426:36;;;;;;12473:23;12499:24;12517:4;12499:9;:24::i;:::-;12473:50;;12534:33;12551:15;12534:16;:33::i;:::-;12415:160;12384:191::o;17502:234::-;1839:12;:10;:12::i;:::-;1829:22;;:6;;;;;;;;;;:22;;;1821:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17619:9:::1;17615:114;17638:8;;:15;;17634:1;:19;17615:114;;;17709:8;17675:18;:31;17694:8;;17703:1;17694:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;17675:31;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;17655:3;;;;;:::i;:::-;;;;17615:114;;;;17502:234:::0;;;:::o;7479:168::-;7580:7;7612:11;:18;7624:5;7612:18;;;;;;;;;;;;;;;:27;7631:7;7612:27;;;;;;;;;;;;;;;;7605:34;;7479:168;;;;:::o;8843:116::-;8898:17;;8886:9;:29;;;;8936:15;;8926:7;:25;;;;8843:116::o;17379:115::-;1839:12;:10;:12::i;:::-;1829:22;;:6;;;;;;;;;;:22;;;1821:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17473:13:::1;17456:14;:30;;;;17379:115:::0;:::o;2072:244::-;1839:12;:10;:12::i;:::-;1829:22;;:6;;;;;;;;;;:22;;;1821:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2181:1:::1;2161:22;;:8;:22;;::::0;2153:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2271:8;2242:38;;2263:6;::::0;::::1;;;;;;;;2242:38;;;;;;;;;;;;2300:8;2291:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;2072:244:::0;:::o;5033:25::-;;;;:::o;5712:31::-;;;;;;;;;;;;:::o;461:98::-;514:7;541:10;534:17;;461:98;:::o;8967:369::-;9111:1;9094:19;;:5;:19;;;9086:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9192:1;9173:21;;:7;:21;;;9165:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9274:6;9244:11;:18;9256:5;9244:18;;;;;;;;;;;;;;;:27;9263:7;9244:27;;;;;;;;;;;;;;;:36;;;;9312:7;9296:32;;9305:5;9296:32;;;9321:6;9296:32;;;;;;:::i;:::-;;;;;;;;8967:369;;;:::o;9344:2331::-;9482:1;9466:18;;:4;:18;;;9458:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9559:1;9545:16;;:2;:16;;;9537:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9629:1;9620:6;:10;9612:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9701:7;:5;:7::i;:::-;9693:15;;:4;:15;;;;:32;;;;;9718:7;:5;:7::i;:::-;9712:13;;:2;:13;;;;9693:32;9689:1260;;;9782:11;;;;;;;;;;9777:144;;9830:7;:5;:7::i;:::-;9822:15;;:4;:15;;;9814:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;9777:144;9955:12;;9945:6;:22;;9937:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;10024:4;:10;10029:4;10024:10;;;;;;;;;;;;;;;;;;;;;;;;;10023:11;:24;;;;;10039:4;:8;10044:2;10039:8;;;;;;;;;;;;;;;;;;;;;;;;;10038:9;10023:24;10015:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;10113:13;;;;;;;;;;;10107:19;;:2;:19;;;10104:147;;10181:14;;10171:6;10155:13;10165:2;10155:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;10147:88;;;;;;;;;;;;:::i;:::-;;;;;;;;;10104:147;10267:28;10298:24;10316:4;10298:9;:24::i;:::-;10267:55;;10337:12;10376:19;;10352:20;:43;;10337:58;;10439:12;;10415:20;:36;10412:124;;10508:12;;10485:35;;10412:124;10556:7;:18;;;;;10568:6;;;;;;;;;;;10567:7;10556:18;:43;;;;;10586:13;;;;;;;;;;;10578:21;;:4;:21;;;;10556:43;:58;;;;;10603:11;;;;;;;;;;;10556:58;:87;;;;;10619:18;:24;10638:4;10619:24;;;;;;;;;;;;;;;;;;;;;;;;;10618:25;10556:87;:114;;;;;10648:18;:22;10667:2;10648:22;;;;;;;;;;;;;;;;;;;;;;;;;10647:23;10556:114;10552:386;;;10691:38;10708:20;10691:16;:38::i;:::-;10748:26;10777:21;10748:50;;10842:1;10821:18;:22;10817:106;;;10868:35;10881:21;10868:12;:35::i;:::-;10817:106;10672:266;10552:386;9727:1222;;9689:1260;10961:12;10976:4;10961:19;;11025:18;:24;11044:4;11025:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;11053:18;:22;11072:2;11053:22;;;;;;;;;;;;;;;;;;;;;;;;;11025:50;11024:102;;;;11089:13;;;;;;;;;;;11081:21;;:4;:21;;;;:44;;;;;11112:13;;;;;;;;;;;11106:19;;:2;:19;;;;11081:44;11024:102;11020:594;;;11153:5;11143:15;;11020:594;;;11236:13;;;;;;;;;;;11228:21;;:4;:21;;;:55;;;;;11267:15;;;;;;;;;;;11253:30;;:2;:30;;;;11228:55;11225:162;;;11316:14;;11304:9;:26;;;;11359:12;;11349:7;:22;;;;11225:162;11446:13;;;;;;;;;;;11440:19;;:2;:19;;;:55;;;;;11479:15;;;;;;;;;;;11463:32;;:4;:32;;;;11440:55;11436:165;;;11528:15;;11516:9;:27;;;;11572:13;;11562:7;:23;;;;11436:165;11020:594;11626:41;11641:4;11647:2;11651:6;11659:7;11626:14;:41::i;:::-;9447:2228;9344:2331;;;:::o;2680:224::-;2800:7;2833:1;2828;:6;;2836:12;2820:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2860:9;2876:1;2872;:5;;;;:::i;:::-;2860:17;;2895:1;2888:8;;;2680:224;;;;;:::o;12174:93::-;12231:11;;;;;;;;;;;:20;;:28;12252:6;12231:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12174:93;:::o;8298:311::-;8381:7;8439;;8428;:18;;8406:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;8527:19;8549:10;:8;:10::i;:::-;8527:32;;8577:24;8589:11;8577:7;:11;;:24;;;;:::i;:::-;8570:31;;;8298:311;;;:::o;11683:483::-;6128:4;6119:6;;:13;;;;;;;;;;;;;;;;;;11761:21:::1;11799:1;11785:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11761:40;;11830:4;11812;11817:1;11812:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;11856:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11846:4;11851:1;11846:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;11889:62;11906:4;11921:15;;;;;;;;;;;11939:11;11889:8;:62::i;:::-;11962:15;;;;;;;;;;;:66;;;12043:11;12069:1;12085:4;12112;12132:15;11962:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11750:416;6164:5:::0;6155:6;;:14;;;;;;;;;;;;;;;;;;11683:483;:::o;13319:282::-;13475:7;13470:28;;13484:14;:12;:14::i;:::-;13470:28;13509:44;13527:6;13535:9;13546:6;13509:17;:44::i;:::-;13569:7;13564:29;;13578:15;:13;:15::i;:::-;13564:29;13319:282;;;;:::o;16152:164::-;16194:7;16215:15;16232;16251:19;:17;:19::i;:::-;16214:56;;;;16288:20;16300:7;16288;:11;;:20;;;;:::i;:::-;16281:27;;;;16152:164;:::o;3166:132::-;3224:7;3251:39;3255:1;3258;3251:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;3244:46;;3166:132;;;;:::o;13609:586::-;13752:15;13778:23;13812:12;13835:23;13869:12;13892:13;13919:19;13930:7;13919:10;:19::i;:::-;13741:197;;;;;;;;;;;;13967:28;13987:7;13967;:15;13975:6;13967:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;13949:7;:15;13957:6;13949:15;;;;;;;;;;;;;;;:46;;;;14027:39;14050:15;14027:7;:18;14035:9;14027:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;14006:7;:18;14014:9;14006:18;;;;;;;;;;;;;;;:60;;;;14077:16;14087:5;14077:9;:16::i;:::-;14104:23;14116:4;14122;14104:11;:23::i;:::-;14160:9;14143:44;;14152:6;14143:44;;;14171:15;14143:44;;;;;;:::i;:::-;;;;;;;;13730:465;;;;;;13609:586;;;:::o;16324:257::-;16375:7;16384;16404:15;16422:7;;16404:25;;16440:15;4952:18;16440:25;;16490:20;4952:18;16490:7;;:11;;:20;;;;:::i;:::-;16480:7;:30;16476:61;;;16520:7;;4952:18;16512:25;;;;;;;;16476:61;16556:7;16565;16548:25;;;;;;16324:257;;;:::o;3306:223::-;3426:7;3458:1;3454;:5;3461:12;3446:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3485:9;3501:1;3497;:5;;;;:::i;:::-;3485:17;;3520:1;3513:8;;;3306:223;;;;;:::o;14614:567::-;14698:7;14716;14734;14752;14770;14788;14820:23;14845:12;14859:13;14885:40;14897:7;14906:9;;14917:7;;14885:11;:40::i;:::-;14819:106;;;;;;14936:19;14958:10;:8;:10::i;:::-;14936:32;;14980:15;14997:23;15022:12;15047:46;15059:7;15068:4;15074:5;15081:11;15047;:46::i;:::-;14979:114;;;;;;15112:7;15121:15;15138:4;15144:15;15161:4;15167:5;15104:69;;;;;;;;;;;;;;;;;;;14614:567;;;;;;;:::o;2536:136::-;2594:7;2621:43;2625:1;2628;2621:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2614:50;;2536:136;;;;:::o;2349:179::-;2407:7;2427:9;2443:1;2439;:5;;;;:::i;:::-;2427:17;;2468:1;2463;:6;;2455:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2519:1;2512:8;;;2349:179;;;;:::o;14203:211::-;14256:19;14278:10;:8;:10::i;:::-;14256:32;;14299:13;14315:22;14325:11;14315:5;:9;;:22;;;;:::i;:::-;14299:38;;14373:33;14400:5;14373:7;:22;14389:4;14373:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;14348:7;:22;14364:4;14348:22;;;;;;;;;;;;;;;:58;;;;14245:169;;14203:211;:::o;14422:147::-;14500:17;14512:4;14500:7;;:11;;:17;;;;:::i;:::-;14490:7;:27;;;;14541:20;14556:4;14541:10;;:14;;:20;;;;:::i;:::-;14528:10;:33;;;;14422:147;;:::o;15189:441::-;15342:7;15360;15378;15409:12;15424:30;15450:3;15424:21;15436:8;15424:7;:11;;:21;;;;:::i;:::-;:25;;:30;;;;:::i;:::-;15409:45;;15465:13;15481:28;15505:3;15481:19;15493:6;15481:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;15465:44;;15520:23;15546:28;15568:5;15546:17;15558:4;15546:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;15520:54;;15593:15;15610:4;15616:5;15585:37;;;;;;;;;15189:441;;;;;;;:::o;15638:506::-;15816:7;15834;15852;15883:15;15901:24;15913:11;15901:7;:11;;:24;;;;:::i;:::-;15883:42;;15936:12;15951:21;15960:11;15951:4;:8;;:21;;;;:::i;:::-;15936:36;;15983:13;15999:22;16009:11;15999:5;:9;;:22;;;;:::i;:::-;15983:38;;16032:23;16058:28;16080:5;16058:17;16070:4;16058:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;16032:54;;16105:7;16114:15;16131:4;16097:39;;;;;;;;;;15638:506;;;;;;;;:::o;2912:246::-;2970:7;2999:1;2994;:6;2990:47;;3024:1;3017:8;;;;2990:47;3047:9;3063:1;3059;:5;;;;:::i;:::-;3047:17;;3092:1;3087;3083;:5;;;;:::i;:::-;:10;3075:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;3149:1;3142:8;;;2912:246;;;;;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:102;498:6;549:2;545:7;540:2;533:5;529:14;525:28;515:38;;457:102;;;:::o;565:180::-;613:77;610:1;603:88;710:4;707:1;700:15;734:4;731:1;724:15;751:281;834:27;856:4;834:27;:::i;:::-;826:6;822:40;964:6;952:10;949:22;928:18;916:10;913:34;910:62;907:88;;;975:18;;:::i;:::-;907:88;1015:10;1011:2;1004:22;794:238;751:281;;:::o;1038:129::-;1072:6;1099:20;;:::i;:::-;1089:30;;1128:33;1156:4;1148:6;1128:33;:::i;:::-;1038:129;;;:::o;1173:311::-;1250:4;1340:18;1332:6;1329:30;1326:56;;;1362:18;;:::i;:::-;1326:56;1412:4;1404:6;1400:17;1392:25;;1472:4;1466;1462:15;1454:23;;1173:311;;;:::o;1490:117::-;1599:1;1596;1589:12;1613:126;1650:7;1690:42;1683:5;1679:54;1668:65;;1613:126;;;:::o;1745:96::-;1782:7;1811:24;1829:5;1811:24;:::i;:::-;1800:35;;1745:96;;;:::o;1847:122::-;1920:24;1938:5;1920:24;:::i;:::-;1913:5;1910:35;1900:63;;1959:1;1956;1949:12;1900:63;1847:122;:::o;1975:139::-;2021:5;2059:6;2046:20;2037:29;;2075:33;2102:5;2075:33;:::i;:::-;1975:139;;;;:::o;2137:710::-;2233:5;2258:81;2274:64;2331:6;2274:64;:::i;:::-;2258:81;:::i;:::-;2249:90;;2359:5;2388:6;2381:5;2374:21;2422:4;2415:5;2411:16;2404:23;;2475:4;2467:6;2463:17;2455:6;2451:30;2504:3;2496:6;2493:15;2490:122;;;2523:79;;:::i;:::-;2490:122;2638:6;2621:220;2655:6;2650:3;2647:15;2621:220;;;2730:3;2759:37;2792:3;2780:10;2759:37;:::i;:::-;2754:3;2747:50;2826:4;2821:3;2817:14;2810:21;;2697:144;2681:4;2676:3;2672:14;2665:21;;2621:220;;;2625:21;2239:608;;2137:710;;;;;:::o;2870:370::-;2941:5;2990:3;2983:4;2975:6;2971:17;2967:27;2957:122;;2998:79;;:::i;:::-;2957:122;3115:6;3102:20;3140:94;3230:3;3222:6;3215:4;3207:6;3203:17;3140:94;:::i;:::-;3131:103;;2947:293;2870:370;;;;:::o;3246:539::-;3330:6;3379:2;3367:9;3358:7;3354:23;3350:32;3347:119;;;3385:79;;:::i;:::-;3347:119;3533:1;3522:9;3518:17;3505:31;3563:18;3555:6;3552:30;3549:117;;;3585:79;;:::i;:::-;3549:117;3690:78;3760:7;3751:6;3740:9;3736:22;3690:78;:::i;:::-;3680:88;;3476:302;3246:539;;;;:::o;3791:99::-;3843:6;3877:5;3871:12;3861:22;;3791:99;;;:::o;3896:169::-;3980:11;4014:6;4009:3;4002:19;4054:4;4049:3;4045:14;4030:29;;3896:169;;;;:::o;4071:246::-;4152:1;4162:113;4176:6;4173:1;4170:13;4162:113;;;4261:1;4256:3;4252:11;4246:18;4242:1;4237:3;4233:11;4226:39;4198:2;4195:1;4191:10;4186:15;;4162:113;;;4309:1;4300:6;4295:3;4291:16;4284:27;4133:184;4071:246;;;:::o;4323:377::-;4411:3;4439:39;4472:5;4439:39;:::i;:::-;4494:71;4558:6;4553:3;4494:71;:::i;:::-;4487:78;;4574:65;4632:6;4627:3;4620:4;4613:5;4609:16;4574:65;:::i;:::-;4664:29;4686:6;4664:29;:::i;:::-;4659:3;4655:39;4648:46;;4415:285;4323:377;;;;:::o;4706:313::-;4819:4;4857:2;4846:9;4842:18;4834:26;;4906:9;4900:4;4896:20;4892:1;4881:9;4877:17;4870:47;4934:78;5007:4;4998:6;4934:78;:::i;:::-;4926:86;;4706:313;;;;:::o;5025:77::-;5062:7;5091:5;5080:16;;5025:77;;;:::o;5108:122::-;5181:24;5199:5;5181:24;:::i;:::-;5174:5;5171:35;5161:63;;5220:1;5217;5210:12;5161:63;5108:122;:::o;5236:139::-;5282:5;5320:6;5307:20;5298:29;;5336:33;5363:5;5336:33;:::i;:::-;5236:139;;;;:::o;5381:474::-;5449:6;5457;5506:2;5494:9;5485:7;5481:23;5477:32;5474:119;;;5512:79;;:::i;:::-;5474:119;5632:1;5657:53;5702:7;5693:6;5682:9;5678:22;5657:53;:::i;:::-;5647:63;;5603:117;5759:2;5785:53;5830:7;5821:6;5810:9;5806:22;5785:53;:::i;:::-;5775:63;;5730:118;5381:474;;;;;:::o;5861:90::-;5895:7;5938:5;5931:13;5924:21;5913:32;;5861:90;;;:::o;5957:109::-;6038:21;6053:5;6038:21;:::i;:::-;6033:3;6026:34;5957:109;;:::o;6072:210::-;6159:4;6197:2;6186:9;6182:18;6174:26;;6210:65;6272:1;6261:9;6257:17;6248:6;6210:65;:::i;:::-;6072:210;;;;:::o;6288:60::-;6316:3;6337:5;6330:12;;6288:60;;;:::o;6354:142::-;6404:9;6437:53;6455:34;6464:24;6482:5;6464:24;:::i;:::-;6455:34;:::i;:::-;6437:53;:::i;:::-;6424:66;;6354:142;;;:::o;6502:126::-;6552:9;6585:37;6616:5;6585:37;:::i;:::-;6572:50;;6502:126;;;:::o;6634:152::-;6710:9;6743:37;6774:5;6743:37;:::i;:::-;6730:50;;6634:152;;;:::o;6792:183::-;6905:63;6962:5;6905:63;:::i;:::-;6900:3;6893:76;6792:183;;:::o;6981:274::-;7100:4;7138:2;7127:9;7123:18;7115:26;;7151:97;7245:1;7234:9;7230:17;7221:6;7151:97;:::i;:::-;6981:274;;;;:::o;7261:118::-;7348:24;7366:5;7348:24;:::i;:::-;7343:3;7336:37;7261:118;;:::o;7385:222::-;7478:4;7516:2;7505:9;7501:18;7493:26;;7529:71;7597:1;7586:9;7582:17;7573:6;7529:71;:::i;:::-;7385:222;;;;:::o;7613:619::-;7690:6;7698;7706;7755:2;7743:9;7734:7;7730:23;7726:32;7723:119;;;7761:79;;:::i;:::-;7723:119;7881:1;7906:53;7951:7;7942:6;7931:9;7927:22;7906:53;:::i;:::-;7896:63;;7852:117;8008:2;8034:53;8079:7;8070:6;8059:9;8055:22;8034:53;:::i;:::-;8024:63;;7979:118;8136:2;8162:53;8207:7;8198:6;8187:9;8183:22;8162:53;:::i;:::-;8152:63;;8107:118;7613:619;;;;;:::o;8238:86::-;8273:7;8313:4;8306:5;8302:16;8291:27;;8238:86;;;:::o;8330:112::-;8413:22;8429:5;8413:22;:::i;:::-;8408:3;8401:35;8330:112;;:::o;8448:214::-;8537:4;8575:2;8564:9;8560:18;8552:26;;8588:67;8652:1;8641:9;8637:17;8628:6;8588:67;:::i;:::-;8448:214;;;;:::o;8668:104::-;8713:7;8742:24;8760:5;8742:24;:::i;:::-;8731:35;;8668:104;;;:::o;8778:142::-;8881:32;8907:5;8881:32;:::i;:::-;8876:3;8869:45;8778:142;;:::o;8926:254::-;9035:4;9073:2;9062:9;9058:18;9050:26;;9086:87;9170:1;9159:9;9155:17;9146:6;9086:87;:::i;:::-;8926:254;;;;:::o;9186:118::-;9273:24;9291:5;9273:24;:::i;:::-;9268:3;9261:37;9186:118;;:::o;9310:222::-;9403:4;9441:2;9430:9;9426:18;9418:26;;9454:71;9522:1;9511:9;9507:17;9498:6;9454:71;:::i;:::-;9310:222;;;;:::o;9538:138::-;9619:32;9645:5;9619:32;:::i;:::-;9612:5;9609:43;9599:71;;9666:1;9663;9656:12;9599:71;9538:138;:::o;9682:155::-;9736:5;9774:6;9761:20;9752:29;;9790:41;9825:5;9790:41;:::i;:::-;9682:155;;;;:::o;9843:345::-;9910:6;9959:2;9947:9;9938:7;9934:23;9930:32;9927:119;;;9965:79;;:::i;:::-;9927:119;10085:1;10110:61;10163:7;10154:6;10143:9;10139:22;10110:61;:::i;:::-;10100:71;;10056:125;9843:345;;;;:::o;10194:329::-;10253:6;10302:2;10290:9;10281:7;10277:23;10273:32;10270:119;;;10308:79;;:::i;:::-;10270:119;10428:1;10453:53;10498:7;10489:6;10478:9;10474:22;10453:53;:::i;:::-;10443:63;;10399:117;10194:329;;;;:::o;10529:116::-;10599:21;10614:5;10599:21;:::i;:::-;10592:5;10589:32;10579:60;;10635:1;10632;10625:12;10579:60;10529:116;:::o;10651:133::-;10694:5;10732:6;10719:20;10710:29;;10748:30;10772:5;10748:30;:::i;:::-;10651:133;;;;:::o;10790:323::-;10846:6;10895:2;10883:9;10874:7;10870:23;10866:32;10863:119;;;10901:79;;:::i;:::-;10863:119;11021:1;11046:50;11088:7;11079:6;11068:9;11064:22;11046:50;:::i;:::-;11036:60;;10992:114;10790:323;;;;:::o;11119:329::-;11178:6;11227:2;11215:9;11206:7;11202:23;11198:32;11195:119;;;11233:79;;:::i;:::-;11195:119;11353:1;11378:53;11423:7;11414:6;11403:9;11399:22;11378:53;:::i;:::-;11368:63;;11324:117;11119:329;;;;:::o;11454:765::-;11540:6;11548;11556;11564;11613:3;11601:9;11592:7;11588:23;11584:33;11581:120;;;11620:79;;:::i;:::-;11581:120;11740:1;11765:53;11810:7;11801:6;11790:9;11786:22;11765:53;:::i;:::-;11755:63;;11711:117;11867:2;11893:53;11938:7;11929:6;11918:9;11914:22;11893:53;:::i;:::-;11883:63;;11838:118;11995:2;12021:53;12066:7;12057:6;12046:9;12042:22;12021:53;:::i;:::-;12011:63;;11966:118;12123:2;12149:53;12194:7;12185:6;12174:9;12170:22;12149:53;:::i;:::-;12139:63;;12094:118;11454:765;;;;;;;:::o;12225:117::-;12334:1;12331;12324:12;12365:568;12438:8;12448:6;12498:3;12491:4;12483:6;12479:17;12475:27;12465:122;;12506:79;;:::i;:::-;12465:122;12619:6;12606:20;12596:30;;12649:18;12641:6;12638:30;12635:117;;;12671:79;;:::i;:::-;12635:117;12785:4;12777:6;12773:17;12761:29;;12839:3;12831:4;12823:6;12819:17;12809:8;12805:32;12802:41;12799:128;;;12846:79;;:::i;:::-;12799:128;12365:568;;;;;:::o;12939:698::-;13031:6;13039;13047;13096:2;13084:9;13075:7;13071:23;13067:32;13064:119;;;13102:79;;:::i;:::-;13064:119;13250:1;13239:9;13235:17;13222:31;13280:18;13272:6;13269:30;13266:117;;;13302:79;;:::i;:::-;13266:117;13415:80;13487:7;13478:6;13467:9;13463:22;13415:80;:::i;:::-;13397:98;;;;13193:312;13544:2;13570:50;13612:7;13603:6;13592:9;13588:22;13570:50;:::i;:::-;13560:60;;13515:115;12939:698;;;;;:::o;13643:474::-;13711:6;13719;13768:2;13756:9;13747:7;13743:23;13739:32;13736:119;;;13774:79;;:::i;:::-;13736:119;13894:1;13919:53;13964:7;13955:6;13944:9;13940:22;13919:53;:::i;:::-;13909:63;;13865:117;14021:2;14047:53;14092:7;14083:6;14072:9;14068:22;14047:53;:::i;:::-;14037:63;;13992:118;13643:474;;;;;:::o;14123:182::-;14263:34;14259:1;14251:6;14247:14;14240:58;14123:182;:::o;14311:366::-;14453:3;14474:67;14538:2;14533:3;14474:67;:::i;:::-;14467:74;;14550:93;14639:3;14550:93;:::i;:::-;14668:2;14663:3;14659:12;14652:19;;14311:366;;;:::o;14683:419::-;14849:4;14887:2;14876:9;14872:18;14864:26;;14936:9;14930:4;14926:20;14922:1;14911:9;14907:17;14900:47;14964:131;15090:4;14964:131;:::i;:::-;14956:139;;14683:419;;;:::o;15108:180::-;15156:77;15153:1;15146:88;15253:4;15250:1;15243:15;15277:4;15274:1;15267:15;15294:180;15342:77;15339:1;15332:88;15439:4;15436:1;15429:15;15463:4;15460:1;15453:15;15480:233;15519:3;15542:24;15560:5;15542:24;:::i;:::-;15533:33;;15588:66;15581:5;15578:77;15575:103;;15658:18;;:::i;:::-;15575:103;15705:1;15698:5;15694:13;15687:20;;15480:233;;;:::o;15719:228::-;15859:34;15855:1;15847:6;15843:14;15836:58;15928:11;15923:2;15915:6;15911:15;15904:36;15719:228;:::o;15953:366::-;16095:3;16116:67;16180:2;16175:3;16116:67;:::i;:::-;16109:74;;16192:93;16281:3;16192:93;:::i;:::-;16310:2;16305:3;16301:12;16294:19;;15953:366;;;:::o;16325:419::-;16491:4;16529:2;16518:9;16514:18;16506:26;;16578:9;16572:4;16568:20;16564:1;16553:9;16549:17;16542:47;16606:131;16732:4;16606:131;:::i;:::-;16598:139;;16325:419;;;:::o;16750:225::-;16890:34;16886:1;16878:6;16874:14;16867:58;16959:8;16954:2;16946:6;16942:15;16935:33;16750:225;:::o;16981:366::-;17123:3;17144:67;17208:2;17203:3;17144:67;:::i;:::-;17137:74;;17220:93;17309:3;17220:93;:::i;:::-;17338:2;17333:3;17329:12;17322:19;;16981:366;;;:::o;17353:419::-;17519:4;17557:2;17546:9;17542:18;17534:26;;17606:9;17600:4;17596:20;17592:1;17581:9;17577:17;17570:47;17634:131;17760:4;17634:131;:::i;:::-;17626:139;;17353:419;;;:::o;17778:223::-;17918:34;17914:1;17906:6;17902:14;17895:58;17987:6;17982:2;17974:6;17970:15;17963:31;17778:223;:::o;18007:366::-;18149:3;18170:67;18234:2;18229:3;18170:67;:::i;:::-;18163:74;;18246:93;18335:3;18246:93;:::i;:::-;18364:2;18359:3;18355:12;18348:19;;18007:366;;;:::o;18379:419::-;18545:4;18583:2;18572:9;18568:18;18560:26;;18632:9;18626:4;18622:20;18618:1;18607:9;18603:17;18596:47;18660:131;18786:4;18660:131;:::i;:::-;18652:139;;18379:419;;;:::o;18804:221::-;18944:34;18940:1;18932:6;18928:14;18921:58;19013:4;19008:2;19000:6;18996:15;18989:29;18804:221;:::o;19031:366::-;19173:3;19194:67;19258:2;19253:3;19194:67;:::i;:::-;19187:74;;19270:93;19359:3;19270:93;:::i;:::-;19388:2;19383:3;19379:12;19372:19;;19031:366;;;:::o;19403:419::-;19569:4;19607:2;19596:9;19592:18;19584:26;;19656:9;19650:4;19646:20;19642:1;19631:9;19627:17;19620:47;19684:131;19810:4;19684:131;:::i;:::-;19676:139;;19403:419;;;:::o;19828:224::-;19968:34;19964:1;19956:6;19952:14;19945:58;20037:7;20032:2;20024:6;20020:15;20013:32;19828:224;:::o;20058:366::-;20200:3;20221:67;20285:2;20280:3;20221:67;:::i;:::-;20214:74;;20297:93;20386:3;20297:93;:::i;:::-;20415:2;20410:3;20406:12;20399:19;;20058:366;;;:::o;20430:419::-;20596:4;20634:2;20623:9;20619:18;20611:26;;20683:9;20677:4;20673:20;20669:1;20658:9;20654:17;20647:47;20711:131;20837:4;20711:131;:::i;:::-;20703:139;;20430:419;;;:::o;20855:222::-;20995:34;20991:1;20983:6;20979:14;20972:58;21064:5;21059:2;21051:6;21047:15;21040:30;20855:222;:::o;21083:366::-;21225:3;21246:67;21310:2;21305:3;21246:67;:::i;:::-;21239:74;;21322:93;21411:3;21322:93;:::i;:::-;21440:2;21435:3;21431:12;21424:19;;21083:366;;;:::o;21455:419::-;21621:4;21659:2;21648:9;21644:18;21636:26;;21708:9;21702:4;21698:20;21694:1;21683:9;21679:17;21672:47;21736:131;21862:4;21736:131;:::i;:::-;21728:139;;21455:419;;;:::o;21880:228::-;22020:34;22016:1;22008:6;22004:14;21997:58;22089:11;22084:2;22076:6;22072:15;22065:36;21880:228;:::o;22114:366::-;22256:3;22277:67;22341:2;22336:3;22277:67;:::i;:::-;22270:74;;22353:93;22442:3;22353:93;:::i;:::-;22471:2;22466:3;22462:12;22455:19;;22114:366;;;:::o;22486:419::-;22652:4;22690:2;22679:9;22675:18;22667:26;;22739:9;22733:4;22729:20;22725:1;22714:9;22710:17;22703:47;22767:131;22893:4;22767:131;:::i;:::-;22759:139;;22486:419;;;:::o;22911:250::-;23051:34;23047:1;23039:6;23035:14;23028:58;23120:33;23115:2;23107:6;23103:15;23096:58;22911:250;:::o;23167:366::-;23309:3;23330:67;23394:2;23389:3;23330:67;:::i;:::-;23323:74;;23406:93;23495:3;23406:93;:::i;:::-;23524:2;23519:3;23515:12;23508:19;;23167:366;;;:::o;23539:419::-;23705:4;23743:2;23732:9;23728:18;23720:26;;23792:9;23786:4;23782:20;23778:1;23767:9;23763:17;23756:47;23820:131;23946:4;23820:131;:::i;:::-;23812:139;;23539:419;;;:::o;23964:178::-;24104:30;24100:1;24092:6;24088:14;24081:54;23964:178;:::o;24148:366::-;24290:3;24311:67;24375:2;24370:3;24311:67;:::i;:::-;24304:74;;24387:93;24476:3;24387:93;:::i;:::-;24505:2;24500:3;24496:12;24489:19;;24148:366;;;:::o;24520:419::-;24686:4;24724:2;24713:9;24709:18;24701:26;;24773:9;24767:4;24763:20;24759:1;24748:9;24744:17;24737:47;24801:131;24927:4;24801:131;:::i;:::-;24793:139;;24520:419;;;:::o;24945:222::-;25085:34;25081:1;25073:6;25069:14;25062:58;25154:5;25149:2;25141:6;25137:15;25130:30;24945:222;:::o;25173:366::-;25315:3;25336:67;25400:2;25395:3;25336:67;:::i;:::-;25329:74;;25412:93;25501:3;25412:93;:::i;:::-;25530:2;25525:3;25521:12;25514:19;;25173:366;;;:::o;25545:419::-;25711:4;25749:2;25738:9;25734:18;25726:26;;25798:9;25792:4;25788:20;25784:1;25773:9;25769:17;25762:47;25826:131;25952:4;25826:131;:::i;:::-;25818:139;;25545:419;;;:::o;25970:191::-;26010:3;26029:20;26047:1;26029:20;:::i;:::-;26024:25;;26063:20;26081:1;26063:20;:::i;:::-;26058:25;;26106:1;26103;26099:9;26092:16;;26127:3;26124:1;26121:10;26118:36;;;26134:18;;:::i;:::-;26118:36;25970:191;;;;:::o;26167:222::-;26307:34;26303:1;26295:6;26291:14;26284:58;26376:5;26371:2;26363:6;26359:15;26352:30;26167:222;:::o;26395:366::-;26537:3;26558:67;26622:2;26617:3;26558:67;:::i;:::-;26551:74;;26634:93;26723:3;26634:93;:::i;:::-;26752:2;26747:3;26743:12;26736:19;;26395:366;;;:::o;26767:419::-;26933:4;26971:2;26960:9;26956:18;26948:26;;27020:9;27014:4;27010:20;27006:1;26995:9;26991:17;26984:47;27048:131;27174:4;27048:131;:::i;:::-;27040:139;;26767:419;;;:::o;27192:194::-;27232:4;27252:20;27270:1;27252:20;:::i;:::-;27247:25;;27286:20;27304:1;27286:20;:::i;:::-;27281:25;;27330:1;27327;27323:9;27315:17;;27354:1;27348:4;27345:11;27342:37;;;27359:18;;:::i;:::-;27342:37;27192:194;;;;:::o;27392:229::-;27532:34;27528:1;27520:6;27516:14;27509:58;27601:12;27596:2;27588:6;27584:15;27577:37;27392:229;:::o;27627:366::-;27769:3;27790:67;27854:2;27849:3;27790:67;:::i;:::-;27783:74;;27866:93;27955:3;27866:93;:::i;:::-;27984:2;27979:3;27975:12;27968:19;;27627:366;;;:::o;27999:419::-;28165:4;28203:2;28192:9;28188:18;28180:26;;28252:9;28246:4;28242:20;28238:1;28227:9;28223:17;28216:47;28280:131;28406:4;28280:131;:::i;:::-;28272:139;;27999:419;;;:::o;28424:143::-;28481:5;28512:6;28506:13;28497:22;;28528:33;28555:5;28528:33;:::i;:::-;28424:143;;;;:::o;28573:351::-;28643:6;28692:2;28680:9;28671:7;28667:23;28663:32;28660:119;;;28698:79;;:::i;:::-;28660:119;28818:1;28843:64;28899:7;28890:6;28879:9;28875:22;28843:64;:::i;:::-;28833:74;;28789:128;28573:351;;;;:::o;28930:85::-;28975:7;29004:5;28993:16;;28930:85;;;:::o;29021:158::-;29079:9;29112:61;29130:42;29139:32;29165:5;29139:32;:::i;:::-;29130:42;:::i;:::-;29112:61;:::i;:::-;29099:74;;29021:158;;;:::o;29185:147::-;29280:45;29319:5;29280:45;:::i;:::-;29275:3;29268:58;29185:147;;:::o;29338:114::-;29405:6;29439:5;29433:12;29423:22;;29338:114;;;:::o;29458:184::-;29557:11;29591:6;29586:3;29579:19;29631:4;29626:3;29622:14;29607:29;;29458:184;;;;:::o;29648:132::-;29715:4;29738:3;29730:11;;29768:4;29763:3;29759:14;29751:22;;29648:132;;;:::o;29786:108::-;29863:24;29881:5;29863:24;:::i;:::-;29858:3;29851:37;29786:108;;:::o;29900:179::-;29969:10;29990:46;30032:3;30024:6;29990:46;:::i;:::-;30068:4;30063:3;30059:14;30045:28;;29900:179;;;;:::o;30085:113::-;30155:4;30187;30182:3;30178:14;30170:22;;30085:113;;;:::o;30234:732::-;30353:3;30382:54;30430:5;30382:54;:::i;:::-;30452:86;30531:6;30526:3;30452:86;:::i;:::-;30445:93;;30562:56;30612:5;30562:56;:::i;:::-;30641:7;30672:1;30657:284;30682:6;30679:1;30676:13;30657:284;;;30758:6;30752:13;30785:63;30844:3;30829:13;30785:63;:::i;:::-;30778:70;;30871:60;30924:6;30871:60;:::i;:::-;30861:70;;30717:224;30704:1;30701;30697:9;30692:14;;30657:284;;;30661:14;30957:3;30950:10;;30358:608;;;30234:732;;;;:::o;30972:831::-;31235:4;31273:3;31262:9;31258:19;31250:27;;31287:71;31355:1;31344:9;31340:17;31331:6;31287:71;:::i;:::-;31368:80;31444:2;31433:9;31429:18;31420:6;31368:80;:::i;:::-;31495:9;31489:4;31485:20;31480:2;31469:9;31465:18;31458:48;31523:108;31626:4;31617:6;31523:108;:::i;:::-;31515:116;;31641:72;31709:2;31698:9;31694:18;31685:6;31641:72;:::i;:::-;31723:73;31791:3;31780:9;31776:19;31767:6;31723:73;:::i;:::-;30972:831;;;;;;;;:::o;31809:180::-;31857:77;31854:1;31847:88;31954:4;31951:1;31944:15;31978:4;31975:1;31968:15;31995:185;32035:1;32052:20;32070:1;32052:20;:::i;:::-;32047:25;;32086:20;32104:1;32086:20;:::i;:::-;32081:25;;32125:1;32115:35;;32130:18;;:::i;:::-;32115:35;32172:1;32169;32165:9;32160:14;;31995:185;;;;:::o;32186:177::-;32326:29;32322:1;32314:6;32310:14;32303:53;32186:177;:::o;32369:366::-;32511:3;32532:67;32596:2;32591:3;32532:67;:::i;:::-;32525:74;;32608:93;32697:3;32608:93;:::i;:::-;32726:2;32721:3;32717:12;32710:19;;32369:366;;;:::o;32741:419::-;32907:4;32945:2;32934:9;32930:18;32922:26;;32994:9;32988:4;32984:20;32980:1;32969:9;32965:17;32958:47;33022:131;33148:4;33022:131;:::i;:::-;33014:139;;32741:419;;;:::o;33166:410::-;33206:7;33229:20;33247:1;33229:20;:::i;:::-;33224:25;;33263:20;33281:1;33263:20;:::i;:::-;33258:25;;33318:1;33315;33311:9;33340:30;33358:11;33340:30;:::i;:::-;33329:41;;33519:1;33510:7;33506:15;33503:1;33500:22;33480:1;33473:9;33453:83;33430:139;;33549:18;;:::i;:::-;33430:139;33214:362;33166:410;;;;:::o;33582:220::-;33722:34;33718:1;33710:6;33706:14;33699:58;33791:3;33786:2;33778:6;33774:15;33767:28;33582:220;:::o;33808:366::-;33950:3;33971:67;34035:2;34030:3;33971:67;:::i;:::-;33964:74;;34047:93;34136:3;34047:93;:::i;:::-;34165:2;34160:3;34156:12;34149:19;;33808:366;;;:::o;34180:419::-;34346:4;34384:2;34373:9;34369:18;34361:26;;34433:9;34427:4;34423:20;34419:1;34408:9;34404:17;34397:47;34461:131;34587:4;34461:131;:::i;:::-;34453:139;;34180:419;;;:::o

Swarm Source

ipfs://8027cbba29555154db19fde08b0a9b9568cfb7eb10d95ad411d613a06686fdc7

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.