ETH Price: $3,788.12 (-12.42%)

Contract

0xde8f66e0ff04f7965BA75667531C895C71395a1A
 

Overview

ETH Balance

2 wei

Eth Value

Less Than $0.01 (@ $3,788.12/ETH)

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer217445842025-01-31 12:43:47252 days ago1738327427IN
0xde8f66e0...C71395a1A
0 ETH0.000381155.49137707
Transfer217445822025-01-31 12:43:23252 days ago1738327403IN
0xde8f66e0...C71395a1A
0 ETH0.000821519.00057056
Transfer217445622025-01-31 12:39:23252 days ago1738327163IN
0xde8f66e0...C71395a1A
0 ETH0.000794628.70596078
Approve217443712025-01-31 12:00:47252 days ago1738324847IN
0xde8f66e0...C71395a1A
0 ETH0.0001914.05971982
Transfer217443662025-01-31 11:59:47252 days ago1738324787IN
0xde8f66e0...C71395a1A
0 ETH0.000590066.46471177
Transfer216774932025-01-22 3:58:35262 days ago1737518315IN
0xde8f66e0...C71395a1A
0 ETH0.00069258.00712046
Approve216774592025-01-22 3:51:47262 days ago1737517907IN
0xde8f66e0...C71395a1A
0 ETH0.000390828.2960205
Approve214297652024-12-18 13:38:11296 days ago1734529091IN
0xde8f66e0...C71395a1A
0 ETH0.0006543913.89072612
Transfer214297432024-12-18 13:33:47296 days ago1734528827IN
0xde8f66e0...C71395a1A
0 ETH0.0017479919.15110805
Approve213256262024-12-04 0:42:23311 days ago1733272943IN
0xde8f66e0...C71395a1A
0 ETH0.0010366722.00541245
Approve211182032024-11-05 1:35:11340 days ago1730770511IN
0xde8f66e0...C71395a1A
0 ETH0.000295946.289924
Approve211181892024-11-05 1:32:23340 days ago1730770343IN
0xde8f66e0...C71395a1A
0 ETH0.000275115.84721811
Approve211181692024-11-05 1:28:23340 days ago1730770103IN
0xde8f66e0...C71395a1A
0 ETH0.000299696.3696241
Approve211181332024-11-05 1:21:11340 days ago1730769671IN
0xde8f66e0...C71395a1A
0 ETH0.000258375.49140891
Approve210141762024-10-21 13:12:59354 days ago1729516379IN
0xde8f66e0...C71395a1A
0 ETH0.0005493611.67615748
Approve207743532024-09-18 1:59:11388 days ago1726624751IN
0xde8f66e0...C71395a1A
0 ETH0.000220574.68216643
Approve204539122024-08-04 8:11:59432 days ago1722759119IN
0xde8f66e0...C71395a1A
0 ETH0.000035161.29235791
Approve204539112024-08-04 8:11:47432 days ago1722759107IN
0xde8f66e0...C71395a1A
0 ETH0.000064161.36201665
Approve204538592024-08-04 8:01:23432 days ago1722758483IN
0xde8f66e0...C71395a1A
0 ETH0.000056411.20478182
Approve204538542024-08-04 8:00:23432 days ago1722758423IN
0xde8f66e0...C71395a1A
0 ETH0.000049121.04915782
Approve203980842024-07-27 13:08:11440 days ago1722085691IN
0xde8f66e0...C71395a1A
0 ETH0.000132242.80714822
Approve203980782024-07-27 13:06:59440 days ago1722085619IN
0xde8f66e0...C71395a1A
0 ETH0.000131692.81187835
Approve203980762024-07-27 13:06:35440 days ago1722085595IN
0xde8f66e0...C71395a1A
0 ETH0.000125562.68109504
Approve203936522024-07-26 22:17:11441 days ago1722032231IN
0xde8f66e0...C71395a1A
0 ETH0.000079841.69711856
Approve202715332024-07-09 21:11:11458 days ago1720559471IN
0xde8f66e0...C71395a1A
0 ETH0.000342647.28264366
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer213256332024-12-04 0:43:47311 days ago1733273027
0xde8f66e0...C71395a1A
0.00340048 ETH
Transfer213256332024-12-04 0:43:47311 days ago1733273027
0xde8f66e0...C71395a1A
0.00340048 ETH
Transfer213256332024-12-04 0:43:47311 days ago1733273027
0xde8f66e0...C71395a1A
0.00340048 ETH
Transfer213256332024-12-04 0:43:47311 days ago1733273027
0xde8f66e0...C71395a1A
0.01020146 ETH
Transfer181690452023-09-19 9:24:11752 days ago1695115451
0xde8f66e0...C71395a1A
0.00457538 ETH
Transfer181690452023-09-19 9:24:11752 days ago1695115451
0xde8f66e0...C71395a1A
0.00457538 ETH
Transfer181690452023-09-19 9:24:11752 days ago1695115451
0xde8f66e0...C71395a1A
0.00457538 ETH
Transfer181690452023-09-19 9:24:11752 days ago1695115451
0xde8f66e0...C71395a1A
0.01372614 ETH
Transfer181515652023-09-16 22:11:35755 days ago1694902295
0xde8f66e0...C71395a1A
0.00694891 ETH
Transfer181515652023-09-16 22:11:35755 days ago1694902295
0xde8f66e0...C71395a1A
0.00694891 ETH
Transfer181515652023-09-16 22:11:35755 days ago1694902295
0xde8f66e0...C71395a1A
0.00694891 ETH
Transfer181515652023-09-16 22:11:35755 days ago1694902295
0xde8f66e0...C71395a1A
0.02084675 ETH
Transfer181505882023-09-16 18:51:59755 days ago1694890319
0xde8f66e0...C71395a1A
0.00951903 ETH
Transfer181505882023-09-16 18:51:59755 days ago1694890319
0xde8f66e0...C71395a1A
0.00951903 ETH
Transfer181505882023-09-16 18:51:59755 days ago1694890319
0xde8f66e0...C71395a1A
0.00951903 ETH
Transfer181505882023-09-16 18:51:59755 days ago1694890319
0xde8f66e0...C71395a1A
0.0285571 ETH
Transfer181498772023-09-16 16:27:35755 days ago1694881655
0xde8f66e0...C71395a1A
0.01761977 ETH
Transfer181498772023-09-16 16:27:35755 days ago1694881655
0xde8f66e0...C71395a1A
0.01761977 ETH
Transfer181498772023-09-16 16:27:35755 days ago1694881655
0xde8f66e0...C71395a1A
0.01761977 ETH
Transfer181498772023-09-16 16:27:35755 days ago1694881655
0xde8f66e0...C71395a1A
0.05285933 ETH
Transfer181473692023-09-16 7:55:59755 days ago1694850959
0xde8f66e0...C71395a1A
0.01494907 ETH
Transfer181473692023-09-16 7:55:59755 days ago1694850959
0xde8f66e0...C71395a1A
0.01494907 ETH
Transfer181473692023-09-16 7:55:59755 days ago1694850959
0xde8f66e0...C71395a1A
0.01494907 ETH
Transfer181473692023-09-16 7:55:59755 days ago1694850959
0xde8f66e0...C71395a1A
0.04484723 ETH
Transfer181452762023-09-16 0:51:59756 days ago1694825519
0xde8f66e0...C71395a1A
0.01976387 ETH
View All Internal Transactions
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

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

Contract Source Code Verified (Exact Match)

Contract Name:
THEFINESTMEME

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license
/**
 *Submitted for verification at Etherscan.io on 2023-09-15
*/

pragma solidity 0.8.4;

// SPDX-License-Identifier: Unlicensed

interface IBEP20 {
    function totalSupply() external view returns (uint256);

    function decimals() external view returns (uint8);

    function symbol() external view returns (string memory);

    function name() external view returns (string memory);

    function getOwner() external view returns (address);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount) external returns (bool);

    function allowance(address _owner, address spender) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

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

interface PancakeSwapRouter {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);

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

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

// Contracts and libraries

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

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

    function _msgData() internal view virtual returns (bytes memory) {
        this;
        return msg.data;
    }
}

contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        authorizations[_owner] = true;
        emit OwnershipTransferred(address(0), msgSender);
    }
    mapping (address => bool) internal authorizations;

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

contract THEFINESTMEME is Ownable, IBEP20 {
    using SafeMath for uint256;

    uint8 constant _decimals = 9;

    uint256 _totalSupply = 33000000000000 * (10 ** _decimals); //Set Supply
    uint256 public _maxTxAmount = _totalSupply * 5 / 1000; //Set max transaction amount. Currently set to 0.5% of the supply.
    uint256 public _walletMax = _totalSupply * 15 / 1000; //Set max wallet amount. Currently set to 1.5% of the supply.

    address DEAD_WALLET = 0x000000000000000000000000000000000000dEaD;
    address ZERO_WALLET = 0x0000000000000000000000000000000000000000;

    address pancakeAddress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    //address pancakeAddress = 0x10ED43C718714eb63d5aA57B78B54704E256024E;

    string constant _name = "THEFINESTMEME"; //Set the name of your token.
    string constant _symbol = "FINEST"; //Set the symbol of your token.

    bool public restrictWhales = true; //If true, limits wallet to _walletMax set above.

    mapping(address => uint256) _balances;
    mapping(address => mapping(address => uint256)) _allowances;

    mapping(address => bool) public isFeeExempt;
    mapping(address => bool) public isTxLimitExempt;

    uint256 public developmentFee = 0; // Tax for development costs -- Actual wallet split set below at "amountToDevelopment"
    uint256 public marketingFee = 95; //Tax for Marketing costs -- Actual wallet split set below at "amountToMarketing"
    uint256 public rewardsFee = 0; // Tax for Rewards -- Actual wallet split set below at "amountToRewards"

    uint256 public totalFee; //Ignore this

    address private developmentWallet;
    address private marketingWallet;
    address private rewardsWallet;

    PancakeSwapRouter public router;
    address public pair;

    uint256 public launchedAt;
    bool public tradingOpen = false; //Leave false, enabled after launch.

    bool inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;
    bool public swapAndLiquifyByLimitOnly = false;

    uint256 public swapThreshold = _totalSupply * 4 / 2000; //Amount to swap for Development/Marketing/Rewards -- Set to 0.2% 

    event AutoLiquify(uint256 amountBNB, uint256 amountBOG);

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

    constructor() {
        router = PancakeSwapRouter(pancakeAddress);
        pair = PancakeSwapFactory(router.factory()).createPair(router.WETH(), address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;
        _allowances[address(this)][address(pair)] = type(uint256).max;

        isFeeExempt[msg.sender] = true;
        isFeeExempt[address(this)] = true;
        isFeeExempt[DEAD_WALLET] = true;

        isTxLimitExempt[msg.sender] = true;
        isTxLimitExempt[pair] = true;
        isTxLimitExempt[DEAD_WALLET] = true;

        developmentWallet = 0x7915a6c8b49E204B6CDf7d74CC526041449EE4F3; //Address for development costs
        marketingWallet = 0x5D268b622688230d8f1644A74CbDeC750390a24b; //Address for marketing fees
        rewardsWallet = 0x5D268b622688230d8f1644A74CbDeC750390a24b; //Address for rewards
        
        isFeeExempt[marketingWallet] = true;
        totalFee = developmentFee.add(marketingFee + rewardsFee);

        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }

    receive() external payable {}

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

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

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

    function totalSupply() external view override returns (uint256) {return _totalSupply;}

    function getOwner() external view override returns (address) {return owner();}

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

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

    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(DEAD_WALLET)).sub(balanceOf(ZERO_WALLET));
    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function launched() internal view returns (bool) {
        return launchedAt != 0;
    }

    function launch() internal {
        launchedAt = block.number;
    }

    function checkTxLimit(address sender, uint256 amount) internal view {
        require(amount <= _maxTxAmount || isTxLimitExempt[sender], "TX Limit Exceeded");
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if (_allowances[sender][msg.sender] != type(uint256).max) {
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }
        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if (inSwapAndLiquify) {return _basicTransfer(sender, recipient, amount);}
        if(!authorizations[sender] && !authorizations[recipient]){
            require(tradingOpen, "Trading not open yet");
        }

        require(amount <= _maxTxAmount || isTxLimitExempt[sender], "TX Limit Exceeded");
        if (msg.sender != pair && !inSwapAndLiquify && swapAndLiquifyEnabled && _balances[address(this)] >= swapThreshold) {transferFees();}
        if (!launched() && recipient == pair) {
            require(_balances[sender] > 0, "Zero balance violated!");
            launch();
        }    

        //Exchange tokens
         _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

        if (!isTxLimitExempt[recipient] && restrictWhales) {
            require(_balances[recipient].add(amount) <= _walletMax, "Max wallet violated!");
        }

        uint256 finalAmount = !isFeeExempt[sender] && !isFeeExempt[recipient] ? extractFee(sender, amount) : amount;
        _balances[recipient] = _balances[recipient].add(finalAmount);

        emit Transfer(sender, recipient, finalAmount);
        return true;
    }

    function extractFee(address sender, uint256 amount) internal returns (uint256) {
        uint256 feeAmount = amount.mul(totalFee).div(100);

        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);

        return amount.sub(feeAmount);
    }

    function transferFees() internal lockTheSwap {
        uint256 tokensToSwap = _balances[address(this)];

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokensToSwap,
            0,
            path,
            address(this),
            block.timestamp
        );

        uint256 amountBNB = address(this).balance;

        uint256 amountToMarketing = amountBNB.div(3);
        uint256 amountToDevelopment = amountBNB.div(3);
        uint256 amountToRewards = amountBNB.div(3);
        
        (bool tmpSuccess1,) = payable(marketingWallet).call{value : amountToMarketing, gas : 30000}("");
        tmpSuccess1 = false;

        (bool tmpSuccess2,) = payable(developmentWallet).call{value : amountToDevelopment, gas : 30000}("");
        tmpSuccess2 = false;

        (bool tmpSuccess3,) = payable(rewardsWallet).call{value : amountToRewards, gas : 30000}("");
        tmpSuccess3 = false;

    }

    // CONTRACT OWNER FUNCTIONS

    function setWalletLimit(uint256 newLimit) external onlyOwner {
        _walletMax = newLimit;
    }

    function tradingStatus(bool newStatus) public onlyOwner {
        tradingOpen = newStatus;
    }

    function setIsFeeExempt(address holder, bool exempt) external onlyOwner {
        isFeeExempt[holder] = exempt;
    }

    function setIsTxLimitExempt(address holder, bool exempt) external onlyOwner {
        isTxLimitExempt[holder] = exempt;
    }

    function setFees(uint256 newDevFee, uint256 newMarketingFee, uint256 newRewardsFee) external onlyOwner {
        developmentFee = newDevFee;
        marketingFee = newMarketingFee;
        rewardsFee = newRewardsFee;

        totalFee = developmentFee.add(marketingFee + rewardsFee);
    }

    function rescueToken(address tokenAddress, uint256 tokens) public onlyOwner returns (bool success) {
        return IBEP20(tokenAddress).transfer(msg.sender, tokens);
    }

    function clearStuckBalance(uint256 amountPercentage) external onlyOwner {
        uint256 amountETH = address(this).balance;
        payable(msg.sender).transfer(amountETH * amountPercentage / 100);
    }

}

Contract Security Audit

Contract ABI

API
[{"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":"amountBNB","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","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":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","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":"uint256","name":"amountPercentage","type":"uint256"}],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"developmentFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"rescueToken","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"restrictWhales","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardsFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract PancakeSwapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newDevFee","type":"uint256"},{"internalType":"uint256","name":"newMarketingFee","type":"uint256"},{"internalType":"uint256","name":"newRewardsFee","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"newStatus","type":"bool"}],"name":"tradingStatus","outputs":[],"stateMutability":"nonpayable","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"},{"stateMutability":"payable","type":"receive"}]

60806040526009600a62000014919062000e5c565b651e036947100062000027919062000f99565b6002556103e860056002546200003e919062000f99565b6200004a919062000dc9565b6003556103e8600f60025462000061919062000f99565b6200006d919062000dc9565b60045561dead600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550737a250d5630b4cf539739df2c5dacb4c659f2488d600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600760146101000a81548160ff0219169083151502179055506000600c55605f600d556000600e556000601660006101000a81548160ff0219169083151502179055506001601660026101000a81548160ff0219169083151502179055506000601660036101000a81548160ff0219169083151502179055506107d06004600254620001d9919062000f99565b620001e5919062000dc9565b601755348015620001f557600080fd5b5060006200020862000bf860201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620003ea57600080fd5b505afa158015620003ff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000425919062000c7a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620004a957600080fd5b505afa158015620004be573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004e4919062000c7a565b306040518363ffffffff1660e01b81526004016200050492919062000cef565b602060405180830381600087803b1580156200051f57600080fd5b505af115801562000534573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200055a919062000c7a565b601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600b6000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550737915a6c8b49e204b6cdf7d74cc526041449ee4f3601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550735d268b622688230d8f1644a74cbdec750390a24b601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550735d268b622688230d8f1644a74cbdec750390a24b601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600a6000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000b3c600e54600d5462000b25919062000d6c565b600c5462000c0060201b620018b71790919060201c565b600f81905550600254600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60025460405162000bea919062000d3e565b60405180910390a3620010f3565b600033905090565b600080828462000c11919062000d6c565b90508381101562000c59576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000c509062000d1c565b60405180910390fd5b8091505092915050565b60008151905062000c7481620010d9565b92915050565b60006020828403121562000c8d57600080fd5b600062000c9d8482850162000c63565b91505092915050565b62000cb18162000ffa565b82525050565b600062000cc6601b8362000d5b565b915062000cd382620010b0565b602082019050919050565b62000ce9816200102e565b82525050565b600060408201905062000d06600083018562000ca6565b62000d15602083018462000ca6565b9392505050565b6000602082019050818103600083015262000d378162000cb7565b9050919050565b600060208201905062000d55600083018462000cde565b92915050565b600082825260208201905092915050565b600062000d79826200102e565b915062000d86836200102e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000dbe5762000dbd62001045565b5b828201905092915050565b600062000dd6826200102e565b915062000de3836200102e565b92508262000df65762000df562001074565b5b828204905092915050565b6000808291508390505b600185111562000e535780860481111562000e2b5762000e2a62001045565b5b600185161562000e3b5780820291505b808102905062000e4b85620010a3565b945062000e0b565b94509492505050565b600062000e69826200102e565b915062000e768362001038565b925062000ea57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000ead565b905092915050565b60008262000ebf576001905062000f92565b8162000ecf576000905062000f92565b816001811462000ee8576002811462000ef35762000f29565b600191505062000f92565b60ff84111562000f085762000f0762001045565b5b8360020a91508482111562000f225762000f2162001045565b5b5062000f92565b5060208310610133831016604e8410600b841016171562000f635782820a90508381111562000f5d5762000f5c62001045565b5b62000f92565b62000f72848484600162000e01565b9250905081840481111562000f8c5762000f8b62001045565b5b81810290505b9392505050565b600062000fa6826200102e565b915062000fb3836200102e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000fef5762000fee62001045565b5b828202905092915050565b600062001007826200100e565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008160011c9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b620010e48162000ffa565b8114620010f057600080fd5b50565b61363680620011036000396000f3fe6080604052600436106102295760003560e01c8063715018a611610123578063a9059cbb116100ab578063f1d5f5171161006f578063f1d5f51714610846578063f2fde38b1461086f578063f84ba65d14610898578063f887ea40146108c1578063ffb54a99146108ec57610230565b8063a9059cbb1461074d578063bf56b3711461078a578063cec10c11146107b5578063da00097d146107de578063dd62ed3e1461080957610230565b80638b42507f116100f25780638b42507f146106645780638da5cb5b146106a157806395d89b41146106cc578063a5f3d003146106f7578063a8aa1b311461072257610230565b8063715018a6146105cc5780637d1db4a5146105e3578063807c2d9c1461060e578063893d20e81461063957610230565b80632bb14e1d116101b15780634a74bb02116101755780634a74bb02146104d3578063571ac8b0146104fe578063658d4b7f1461053b5780636b67c4df1461056457806370a082311461058f57610230565b80632bb14e1d146103d8578063313ce5671461040357806333f3d6281461042e5780633f4218e01461046b57806344de2e4c146104a857610230565b806318160ddd116101f857806318160ddd146102f15780631da1db5e1461031c5780631df4ccfc1461034557806323b872dd146103705780632b112e49146103ad57610230565b80630445b6671461023557806306fdde0314610260578063095ea7b31461028b5780630d295980146102c857610230565b3661023057005b600080fd5b34801561024157600080fd5b5061024a610917565b60405161025791906130f2565b60405180910390f35b34801561026c57600080fd5b5061027561091d565b6040516102829190612fd0565b60405180910390f35b34801561029757600080fd5b506102b260048036038101906102ad9190612be8565b61095a565b6040516102bf9190612f9a565b60405180910390f35b3480156102d457600080fd5b506102ef60048036038101906102ea9190612c24565b610a4c565b005b3480156102fd57600080fd5b50610306610afe565b60405161031391906130f2565b60405180910390f35b34801561032857600080fd5b50610343600480360381019061033e9190612c76565b610b08565b005b34801561035157600080fd5b5061035a610c04565b60405161036791906130f2565b60405180910390f35b34801561037c57600080fd5b5061039760048036038101906103929190612b5d565b610c0a565b6040516103a49190612f9a565b60405180910390f35b3480156103b957600080fd5b506103c2610e0a565b6040516103cf91906130f2565b60405180910390f35b3480156103e457600080fd5b506103ed610e8c565b6040516103fa91906130f2565b60405180910390f35b34801561040f57600080fd5b50610418610e92565b6040516104259190613167565b60405180910390f35b34801561043a57600080fd5b5061045560048036038101906104509190612be8565b610e9b565b6040516104629190612f9a565b60405180910390f35b34801561047757600080fd5b50610492600480360381019061048d9190612acf565b610fc7565b60405161049f9190612f9a565b60405180910390f35b3480156104b457600080fd5b506104bd610fe7565b6040516104ca9190612f9a565b60405180910390f35b3480156104df57600080fd5b506104e8610ffa565b6040516104f59190612f9a565b60405180910390f35b34801561050a57600080fd5b5061052560048036038101906105209190612acf565b61100d565b6040516105329190612f9a565b60405180910390f35b34801561054757600080fd5b50610562600480360381019061055d9190612bac565b611040565b005b34801561057057600080fd5b50610579611130565b60405161058691906130f2565b60405180910390f35b34801561059b57600080fd5b506105b660048036038101906105b19190612acf565b611136565b6040516105c391906130f2565b60405180910390f35b3480156105d857600080fd5b506105e161117f565b005b3480156105ef57600080fd5b506105f86112d2565b60405161060591906130f2565b60405180910390f35b34801561061a57600080fd5b506106236112d8565b60405161063091906130f2565b60405180910390f35b34801561064557600080fd5b5061064e6112de565b60405161065b9190612f56565b60405180910390f35b34801561067057600080fd5b5061068b60048036038101906106869190612acf565b6112ed565b6040516106989190612f9a565b60405180910390f35b3480156106ad57600080fd5b506106b661130d565b6040516106c39190612f56565b60405180910390f35b3480156106d857600080fd5b506106e1611336565b6040516106ee9190612fd0565b60405180910390f35b34801561070357600080fd5b5061070c611373565b60405161071991906130f2565b60405180910390f35b34801561072e57600080fd5b50610737611379565b6040516107449190612f56565b60405180910390f35b34801561075957600080fd5b50610774600480360381019061076f9190612be8565b61139f565b6040516107819190612f9a565b60405180910390f35b34801561079657600080fd5b5061079f6113b4565b6040516107ac91906130f2565b60405180910390f35b3480156107c157600080fd5b506107dc60048036038101906107d79190612c9f565b6113ba565b005b3480156107ea57600080fd5b506107f3611493565b6040516108009190612f9a565b60405180910390f35b34801561081557600080fd5b50610830600480360381019061082b9190612b21565b6114a6565b60405161083d91906130f2565b60405180910390f35b34801561085257600080fd5b5061086d60048036038101906108689190612c76565b61152d565b005b34801561087b57600080fd5b5061089660048036038101906108919190612acf565b6115cc565b005b3480156108a457600080fd5b506108bf60048036038101906108ba9190612bac565b61178e565b005b3480156108cd57600080fd5b506108d661187e565b6040516108e39190612fb5565b60405180910390f35b3480156108f857600080fd5b506109016118a4565b60405161090e9190612f9a565b60405180910390f35b60175481565b60606040518060400160405280600d81526020017f54484546494e4553544d454d4500000000000000000000000000000000000000815250905090565b600081600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610a3a91906130f2565b60405180910390a36001905092915050565b610a54611915565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ae1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad8906130b2565b60405180910390fd5b80601660006101000a81548160ff02191690831515021790555050565b6000600254905090565b610b10611915565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b94906130b2565b60405180910390fd5b60004790503373ffffffffffffffffffffffffffffffffffffffff166108fc60648484610bca9190613269565b610bd49190613238565b9081150290604051600060405180830381858888f19350505050158015610bff573d6000803e3d6000fd5b505050565b600f5481565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610df657610d75826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461191d9092919063ffffffff16565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610e01848484611981565b90509392505050565b6000610e87610e3a600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611136565b610e79610e68600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611136565b60025461209e90919063ffffffff16565b61209e90919063ffffffff16565b905090565b600e5481565b60006009905090565b6000610ea5611915565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f29906130b2565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b8152600401610f6d929190612f71565b602060405180830381600087803b158015610f8757600080fd5b505af1158015610f9b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fbf9190612c4d565b905092915050565b600a6020528060005260406000206000915054906101000a900460ff1681565b600760149054906101000a900460ff1681565b601660029054906101000a900460ff1681565b6000611039827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61095a565b9050919050565b611048611915565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110cc906130b2565b60405180910390fd5b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600d5481565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611187611915565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611214576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120b906130b2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60035481565b60045481565b60006112e861130d565b905090565b600b6020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f46494e4553540000000000000000000000000000000000000000000000000000815250905090565b600c5481565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006113ac338484611981565b905092915050565b60155481565b6113c2611915565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461144f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611446906130b2565b60405180910390fd5b82600c8190555081600d8190555080600e81905550611488600e54600d5461147791906131e2565b600c546118b790919063ffffffff16565b600f81905550505050565b601660039054906101000a900460ff1681565b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611535611915565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b9906130b2565b60405180910390fd5b8060048190555050565b6115d4611915565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611661576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611658906130b2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156116d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c890613012565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611796611915565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611823576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181a906130b2565b60405180910390fd5b80600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601660009054906101000a900460ff1681565b60008082846118c691906131e2565b90508381101561190b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190290613032565b60405180910390fd5b8091505092915050565b600033905090565b6000838311158290611965576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195c9190612fd0565b60405180910390fd5b506000838561197491906132c3565b9050809150509392505050565b6000601660019054906101000a900460ff16156119aa576119a38484846120e8565b9050612097565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611a4e5750600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611aa357601660009054906101000a900460ff16611aa2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9990613072565b60405180910390fd5b5b60035482111580611afd5750600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611b3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b3390612ff2565b60405180910390fd5b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015611ba75750601660019054906101000a900460ff16155b8015611bbf5750601660029054906101000a900460ff165b8015611c0c5750601754600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b15611c1a57611c196122bb565b5b611c226127e5565b158015611c7c5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15611d0c576000600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411611d03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cfa90613052565b60405180910390fd5b611d0b6127f2565b5b611d95826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461191d9092919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611e3e5750600760149054906101000a900460ff165b15611eda57600454611e9883600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118b790919063ffffffff16565b1115611ed9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ed0906130d2565b60405180910390fd5b5b6000600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611f805750600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611f8a5782611f95565b611f9485846127fb565b5b9050611fe981600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118b790919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161208991906130f2565b60405180910390a360019150505b9392505050565b60006120e083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061191d565b905092915050565b6000612173826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461191d9092919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061220882600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118b790919063ffffffff16565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516122a891906130f2565b60405180910390a3600190509392505050565b6001601660016101000a81548160ff0219169083151502179055506000600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600267ffffffffffffffff81111561235d577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405190808252806020026020018201604052801561238b5781602001602082028036833780820191505090505b50905030816000815181106123c9577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561246b57600080fd5b505afa15801561247f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124a39190612af8565b816001815181106124dd577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161257b95949392919061310d565b600060405180830381600087803b15801561259557600080fd5b505af11580156125a9573d6000803e3d6000fd5b50505050600047905060006125c860038361293e90919063ffffffff16565b905060006125e060038461293e90919063ffffffff16565b905060006125f860038561293e90919063ffffffff16565b90506000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16846175309060405161264690612f41565b600060405180830381858888f193505050503d8060008114612684576040519150601f19603f3d011682016040523d82523d6000602084013e612689565b606091505b50509050600090506000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1684617530906040516126dd90612f41565b600060405180830381858888f193505050503d806000811461271b576040519150601f19603f3d011682016040523d82523d6000602084013e612720565b606091505b50509050600090506000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16846175309060405161277490612f41565b600060405180830381858888f193505050503d80600081146127b2576040519150601f19603f3d011682016040523d82523d6000602084013e6127b7565b606091505b50509050600090505050505050505050506000601660016101000a81548160ff021916908315150217905550565b6000806015541415905090565b43601581905550565b6000806128266064612818600f548661298890919063ffffffff16565b61293e90919063ffffffff16565b905061287a81600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118b790919063ffffffff16565b600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161291a91906130f2565b60405180910390a3612935818461209e90919063ffffffff16565b91505092915050565b600061298083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612a03565b905092915050565b60008083141561299b57600090506129fd565b600082846129a99190613269565b90508284826129b89190613238565b146129f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129ef90613092565b60405180910390fd5b809150505b92915050565b60008083118290612a4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a419190612fd0565b60405180910390fd5b5060008385612a599190613238565b9050809150509392505050565b600081359050612a75816135bb565b92915050565b600081519050612a8a816135bb565b92915050565b600081359050612a9f816135d2565b92915050565b600081519050612ab4816135d2565b92915050565b600081359050612ac9816135e9565b92915050565b600060208284031215612ae157600080fd5b6000612aef84828501612a66565b91505092915050565b600060208284031215612b0a57600080fd5b6000612b1884828501612a7b565b91505092915050565b60008060408385031215612b3457600080fd5b6000612b4285828601612a66565b9250506020612b5385828601612a66565b9150509250929050565b600080600060608486031215612b7257600080fd5b6000612b8086828701612a66565b9350506020612b9186828701612a66565b9250506040612ba286828701612aba565b9150509250925092565b60008060408385031215612bbf57600080fd5b6000612bcd85828601612a66565b9250506020612bde85828601612a90565b9150509250929050565b60008060408385031215612bfb57600080fd5b6000612c0985828601612a66565b9250506020612c1a85828601612aba565b9150509250929050565b600060208284031215612c3657600080fd5b6000612c4484828501612a90565b91505092915050565b600060208284031215612c5f57600080fd5b6000612c6d84828501612aa5565b91505092915050565b600060208284031215612c8857600080fd5b6000612c9684828501612aba565b91505092915050565b600080600060608486031215612cb457600080fd5b6000612cc286828701612aba565b9350506020612cd386828701612aba565b9250506040612ce486828701612aba565b9150509250925092565b6000612cfa8383612d06565b60208301905092915050565b612d0f816132f7565b82525050565b612d1e816132f7565b82525050565b6000612d2f82613192565b612d3981856131b5565b9350612d4483613182565b8060005b83811015612d75578151612d5c8882612cee565b9750612d67836131a8565b925050600181019050612d48565b5085935050505092915050565b612d8b81613309565b82525050565b612d9a8161334c565b82525050565b612da981613370565b82525050565b6000612dba8261319d565b612dc481856131d1565b9350612dd4818560208601613382565b612ddd81613413565b840191505092915050565b6000612df56011836131d1565b9150612e0082613424565b602082019050919050565b6000612e186026836131d1565b9150612e238261344d565b604082019050919050565b6000612e3b601b836131d1565b9150612e468261349c565b602082019050919050565b6000612e5e6016836131d1565b9150612e69826134c5565b602082019050919050565b6000612e816014836131d1565b9150612e8c826134ee565b602082019050919050565b6000612ea46021836131d1565b9150612eaf82613517565b604082019050919050565b6000612ec76020836131d1565b9150612ed282613566565b602082019050919050565b6000612eea6000836131c6565b9150612ef58261358f565b600082019050919050565b6000612f0d6014836131d1565b9150612f1882613592565b602082019050919050565b612f2c81613335565b82525050565b612f3b8161333f565b82525050565b6000612f4c82612edd565b9150819050919050565b6000602082019050612f6b6000830184612d15565b92915050565b6000604082019050612f866000830185612d15565b612f936020830184612f23565b9392505050565b6000602082019050612faf6000830184612d82565b92915050565b6000602082019050612fca6000830184612d91565b92915050565b60006020820190508181036000830152612fea8184612daf565b905092915050565b6000602082019050818103600083015261300b81612de8565b9050919050565b6000602082019050818103600083015261302b81612e0b565b9050919050565b6000602082019050818103600083015261304b81612e2e565b9050919050565b6000602082019050818103600083015261306b81612e51565b9050919050565b6000602082019050818103600083015261308b81612e74565b9050919050565b600060208201905081810360008301526130ab81612e97565b9050919050565b600060208201905081810360008301526130cb81612eba565b9050919050565b600060208201905081810360008301526130eb81612f00565b9050919050565b60006020820190506131076000830184612f23565b92915050565b600060a0820190506131226000830188612f23565b61312f6020830187612da0565b81810360408301526131418186612d24565b90506131506060830185612d15565b61315d6080830184612f23565b9695505050505050565b600060208201905061317c6000830184612f32565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b60006131ed82613335565b91506131f883613335565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561322d5761322c6133b5565b5b828201905092915050565b600061324382613335565b915061324e83613335565b92508261325e5761325d6133e4565b5b828204905092915050565b600061327482613335565b915061327f83613335565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156132b8576132b76133b5565b5b828202905092915050565b60006132ce82613335565b91506132d983613335565b9250828210156132ec576132eb6133b5565b5b828203905092915050565b600061330282613315565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006133578261335e565b9050919050565b600061336982613315565b9050919050565b600061337b82613335565b9050919050565b60005b838110156133a0578082015181840152602081019050613385565b838111156133af576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f5458204c696d6974204578636565646564000000000000000000000000000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f5a65726f2062616c616e63652076696f6c617465642100000000000000000000600082015250565b7f54726164696e67206e6f74206f70656e20796574000000000000000000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b50565b7f4d61782077616c6c65742076696f6c6174656421000000000000000000000000600082015250565b6135c4816132f7565b81146135cf57600080fd5b50565b6135db81613309565b81146135e657600080fd5b50565b6135f281613335565b81146135fd57600080fd5b5056fea2646970667358221220483bee70009b394ed54c811b57de14e646eb3c32a1371787fe59aef557412b1364736f6c63430008040033

Deployed Bytecode

0x6080604052600436106102295760003560e01c8063715018a611610123578063a9059cbb116100ab578063f1d5f5171161006f578063f1d5f51714610846578063f2fde38b1461086f578063f84ba65d14610898578063f887ea40146108c1578063ffb54a99146108ec57610230565b8063a9059cbb1461074d578063bf56b3711461078a578063cec10c11146107b5578063da00097d146107de578063dd62ed3e1461080957610230565b80638b42507f116100f25780638b42507f146106645780638da5cb5b146106a157806395d89b41146106cc578063a5f3d003146106f7578063a8aa1b311461072257610230565b8063715018a6146105cc5780637d1db4a5146105e3578063807c2d9c1461060e578063893d20e81461063957610230565b80632bb14e1d116101b15780634a74bb02116101755780634a74bb02146104d3578063571ac8b0146104fe578063658d4b7f1461053b5780636b67c4df1461056457806370a082311461058f57610230565b80632bb14e1d146103d8578063313ce5671461040357806333f3d6281461042e5780633f4218e01461046b57806344de2e4c146104a857610230565b806318160ddd116101f857806318160ddd146102f15780631da1db5e1461031c5780631df4ccfc1461034557806323b872dd146103705780632b112e49146103ad57610230565b80630445b6671461023557806306fdde0314610260578063095ea7b31461028b5780630d295980146102c857610230565b3661023057005b600080fd5b34801561024157600080fd5b5061024a610917565b60405161025791906130f2565b60405180910390f35b34801561026c57600080fd5b5061027561091d565b6040516102829190612fd0565b60405180910390f35b34801561029757600080fd5b506102b260048036038101906102ad9190612be8565b61095a565b6040516102bf9190612f9a565b60405180910390f35b3480156102d457600080fd5b506102ef60048036038101906102ea9190612c24565b610a4c565b005b3480156102fd57600080fd5b50610306610afe565b60405161031391906130f2565b60405180910390f35b34801561032857600080fd5b50610343600480360381019061033e9190612c76565b610b08565b005b34801561035157600080fd5b5061035a610c04565b60405161036791906130f2565b60405180910390f35b34801561037c57600080fd5b5061039760048036038101906103929190612b5d565b610c0a565b6040516103a49190612f9a565b60405180910390f35b3480156103b957600080fd5b506103c2610e0a565b6040516103cf91906130f2565b60405180910390f35b3480156103e457600080fd5b506103ed610e8c565b6040516103fa91906130f2565b60405180910390f35b34801561040f57600080fd5b50610418610e92565b6040516104259190613167565b60405180910390f35b34801561043a57600080fd5b5061045560048036038101906104509190612be8565b610e9b565b6040516104629190612f9a565b60405180910390f35b34801561047757600080fd5b50610492600480360381019061048d9190612acf565b610fc7565b60405161049f9190612f9a565b60405180910390f35b3480156104b457600080fd5b506104bd610fe7565b6040516104ca9190612f9a565b60405180910390f35b3480156104df57600080fd5b506104e8610ffa565b6040516104f59190612f9a565b60405180910390f35b34801561050a57600080fd5b5061052560048036038101906105209190612acf565b61100d565b6040516105329190612f9a565b60405180910390f35b34801561054757600080fd5b50610562600480360381019061055d9190612bac565b611040565b005b34801561057057600080fd5b50610579611130565b60405161058691906130f2565b60405180910390f35b34801561059b57600080fd5b506105b660048036038101906105b19190612acf565b611136565b6040516105c391906130f2565b60405180910390f35b3480156105d857600080fd5b506105e161117f565b005b3480156105ef57600080fd5b506105f86112d2565b60405161060591906130f2565b60405180910390f35b34801561061a57600080fd5b506106236112d8565b60405161063091906130f2565b60405180910390f35b34801561064557600080fd5b5061064e6112de565b60405161065b9190612f56565b60405180910390f35b34801561067057600080fd5b5061068b60048036038101906106869190612acf565b6112ed565b6040516106989190612f9a565b60405180910390f35b3480156106ad57600080fd5b506106b661130d565b6040516106c39190612f56565b60405180910390f35b3480156106d857600080fd5b506106e1611336565b6040516106ee9190612fd0565b60405180910390f35b34801561070357600080fd5b5061070c611373565b60405161071991906130f2565b60405180910390f35b34801561072e57600080fd5b50610737611379565b6040516107449190612f56565b60405180910390f35b34801561075957600080fd5b50610774600480360381019061076f9190612be8565b61139f565b6040516107819190612f9a565b60405180910390f35b34801561079657600080fd5b5061079f6113b4565b6040516107ac91906130f2565b60405180910390f35b3480156107c157600080fd5b506107dc60048036038101906107d79190612c9f565b6113ba565b005b3480156107ea57600080fd5b506107f3611493565b6040516108009190612f9a565b60405180910390f35b34801561081557600080fd5b50610830600480360381019061082b9190612b21565b6114a6565b60405161083d91906130f2565b60405180910390f35b34801561085257600080fd5b5061086d60048036038101906108689190612c76565b61152d565b005b34801561087b57600080fd5b5061089660048036038101906108919190612acf565b6115cc565b005b3480156108a457600080fd5b506108bf60048036038101906108ba9190612bac565b61178e565b005b3480156108cd57600080fd5b506108d661187e565b6040516108e39190612fb5565b60405180910390f35b3480156108f857600080fd5b506109016118a4565b60405161090e9190612f9a565b60405180910390f35b60175481565b60606040518060400160405280600d81526020017f54484546494e4553544d454d4500000000000000000000000000000000000000815250905090565b600081600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610a3a91906130f2565b60405180910390a36001905092915050565b610a54611915565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ae1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad8906130b2565b60405180910390fd5b80601660006101000a81548160ff02191690831515021790555050565b6000600254905090565b610b10611915565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b94906130b2565b60405180910390fd5b60004790503373ffffffffffffffffffffffffffffffffffffffff166108fc60648484610bca9190613269565b610bd49190613238565b9081150290604051600060405180830381858888f19350505050158015610bff573d6000803e3d6000fd5b505050565b600f5481565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610df657610d75826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461191d9092919063ffffffff16565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610e01848484611981565b90509392505050565b6000610e87610e3a600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611136565b610e79610e68600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611136565b60025461209e90919063ffffffff16565b61209e90919063ffffffff16565b905090565b600e5481565b60006009905090565b6000610ea5611915565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f29906130b2565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b8152600401610f6d929190612f71565b602060405180830381600087803b158015610f8757600080fd5b505af1158015610f9b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fbf9190612c4d565b905092915050565b600a6020528060005260406000206000915054906101000a900460ff1681565b600760149054906101000a900460ff1681565b601660029054906101000a900460ff1681565b6000611039827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61095a565b9050919050565b611048611915565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110cc906130b2565b60405180910390fd5b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600d5481565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611187611915565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611214576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120b906130b2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60035481565b60045481565b60006112e861130d565b905090565b600b6020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f46494e4553540000000000000000000000000000000000000000000000000000815250905090565b600c5481565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006113ac338484611981565b905092915050565b60155481565b6113c2611915565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461144f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611446906130b2565b60405180910390fd5b82600c8190555081600d8190555080600e81905550611488600e54600d5461147791906131e2565b600c546118b790919063ffffffff16565b600f81905550505050565b601660039054906101000a900460ff1681565b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611535611915565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b9906130b2565b60405180910390fd5b8060048190555050565b6115d4611915565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611661576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611658906130b2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156116d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c890613012565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611796611915565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611823576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181a906130b2565b60405180910390fd5b80600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601660009054906101000a900460ff1681565b60008082846118c691906131e2565b90508381101561190b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190290613032565b60405180910390fd5b8091505092915050565b600033905090565b6000838311158290611965576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195c9190612fd0565b60405180910390fd5b506000838561197491906132c3565b9050809150509392505050565b6000601660019054906101000a900460ff16156119aa576119a38484846120e8565b9050612097565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611a4e5750600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611aa357601660009054906101000a900460ff16611aa2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9990613072565b60405180910390fd5b5b60035482111580611afd5750600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611b3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b3390612ff2565b60405180910390fd5b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015611ba75750601660019054906101000a900460ff16155b8015611bbf5750601660029054906101000a900460ff165b8015611c0c5750601754600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b15611c1a57611c196122bb565b5b611c226127e5565b158015611c7c5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15611d0c576000600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411611d03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cfa90613052565b60405180910390fd5b611d0b6127f2565b5b611d95826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461191d9092919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611e3e5750600760149054906101000a900460ff165b15611eda57600454611e9883600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118b790919063ffffffff16565b1115611ed9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ed0906130d2565b60405180910390fd5b5b6000600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611f805750600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611f8a5782611f95565b611f9485846127fb565b5b9050611fe981600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118b790919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161208991906130f2565b60405180910390a360019150505b9392505050565b60006120e083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061191d565b905092915050565b6000612173826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461191d9092919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061220882600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118b790919063ffffffff16565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516122a891906130f2565b60405180910390a3600190509392505050565b6001601660016101000a81548160ff0219169083151502179055506000600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600267ffffffffffffffff81111561235d577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405190808252806020026020018201604052801561238b5781602001602082028036833780820191505090505b50905030816000815181106123c9577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561246b57600080fd5b505afa15801561247f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124a39190612af8565b816001815181106124dd577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161257b95949392919061310d565b600060405180830381600087803b15801561259557600080fd5b505af11580156125a9573d6000803e3d6000fd5b50505050600047905060006125c860038361293e90919063ffffffff16565b905060006125e060038461293e90919063ffffffff16565b905060006125f860038561293e90919063ffffffff16565b90506000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16846175309060405161264690612f41565b600060405180830381858888f193505050503d8060008114612684576040519150601f19603f3d011682016040523d82523d6000602084013e612689565b606091505b50509050600090506000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1684617530906040516126dd90612f41565b600060405180830381858888f193505050503d806000811461271b576040519150601f19603f3d011682016040523d82523d6000602084013e612720565b606091505b50509050600090506000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16846175309060405161277490612f41565b600060405180830381858888f193505050503d80600081146127b2576040519150601f19603f3d011682016040523d82523d6000602084013e6127b7565b606091505b50509050600090505050505050505050506000601660016101000a81548160ff021916908315150217905550565b6000806015541415905090565b43601581905550565b6000806128266064612818600f548661298890919063ffffffff16565b61293e90919063ffffffff16565b905061287a81600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118b790919063ffffffff16565b600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161291a91906130f2565b60405180910390a3612935818461209e90919063ffffffff16565b91505092915050565b600061298083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612a03565b905092915050565b60008083141561299b57600090506129fd565b600082846129a99190613269565b90508284826129b89190613238565b146129f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129ef90613092565b60405180910390fd5b809150505b92915050565b60008083118290612a4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a419190612fd0565b60405180910390fd5b5060008385612a599190613238565b9050809150509392505050565b600081359050612a75816135bb565b92915050565b600081519050612a8a816135bb565b92915050565b600081359050612a9f816135d2565b92915050565b600081519050612ab4816135d2565b92915050565b600081359050612ac9816135e9565b92915050565b600060208284031215612ae157600080fd5b6000612aef84828501612a66565b91505092915050565b600060208284031215612b0a57600080fd5b6000612b1884828501612a7b565b91505092915050565b60008060408385031215612b3457600080fd5b6000612b4285828601612a66565b9250506020612b5385828601612a66565b9150509250929050565b600080600060608486031215612b7257600080fd5b6000612b8086828701612a66565b9350506020612b9186828701612a66565b9250506040612ba286828701612aba565b9150509250925092565b60008060408385031215612bbf57600080fd5b6000612bcd85828601612a66565b9250506020612bde85828601612a90565b9150509250929050565b60008060408385031215612bfb57600080fd5b6000612c0985828601612a66565b9250506020612c1a85828601612aba565b9150509250929050565b600060208284031215612c3657600080fd5b6000612c4484828501612a90565b91505092915050565b600060208284031215612c5f57600080fd5b6000612c6d84828501612aa5565b91505092915050565b600060208284031215612c8857600080fd5b6000612c9684828501612aba565b91505092915050565b600080600060608486031215612cb457600080fd5b6000612cc286828701612aba565b9350506020612cd386828701612aba565b9250506040612ce486828701612aba565b9150509250925092565b6000612cfa8383612d06565b60208301905092915050565b612d0f816132f7565b82525050565b612d1e816132f7565b82525050565b6000612d2f82613192565b612d3981856131b5565b9350612d4483613182565b8060005b83811015612d75578151612d5c8882612cee565b9750612d67836131a8565b925050600181019050612d48565b5085935050505092915050565b612d8b81613309565b82525050565b612d9a8161334c565b82525050565b612da981613370565b82525050565b6000612dba8261319d565b612dc481856131d1565b9350612dd4818560208601613382565b612ddd81613413565b840191505092915050565b6000612df56011836131d1565b9150612e0082613424565b602082019050919050565b6000612e186026836131d1565b9150612e238261344d565b604082019050919050565b6000612e3b601b836131d1565b9150612e468261349c565b602082019050919050565b6000612e5e6016836131d1565b9150612e69826134c5565b602082019050919050565b6000612e816014836131d1565b9150612e8c826134ee565b602082019050919050565b6000612ea46021836131d1565b9150612eaf82613517565b604082019050919050565b6000612ec76020836131d1565b9150612ed282613566565b602082019050919050565b6000612eea6000836131c6565b9150612ef58261358f565b600082019050919050565b6000612f0d6014836131d1565b9150612f1882613592565b602082019050919050565b612f2c81613335565b82525050565b612f3b8161333f565b82525050565b6000612f4c82612edd565b9150819050919050565b6000602082019050612f6b6000830184612d15565b92915050565b6000604082019050612f866000830185612d15565b612f936020830184612f23565b9392505050565b6000602082019050612faf6000830184612d82565b92915050565b6000602082019050612fca6000830184612d91565b92915050565b60006020820190508181036000830152612fea8184612daf565b905092915050565b6000602082019050818103600083015261300b81612de8565b9050919050565b6000602082019050818103600083015261302b81612e0b565b9050919050565b6000602082019050818103600083015261304b81612e2e565b9050919050565b6000602082019050818103600083015261306b81612e51565b9050919050565b6000602082019050818103600083015261308b81612e74565b9050919050565b600060208201905081810360008301526130ab81612e97565b9050919050565b600060208201905081810360008301526130cb81612eba565b9050919050565b600060208201905081810360008301526130eb81612f00565b9050919050565b60006020820190506131076000830184612f23565b92915050565b600060a0820190506131226000830188612f23565b61312f6020830187612da0565b81810360408301526131418186612d24565b90506131506060830185612d15565b61315d6080830184612f23565b9695505050505050565b600060208201905061317c6000830184612f32565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b60006131ed82613335565b91506131f883613335565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561322d5761322c6133b5565b5b828201905092915050565b600061324382613335565b915061324e83613335565b92508261325e5761325d6133e4565b5b828204905092915050565b600061327482613335565b915061327f83613335565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156132b8576132b76133b5565b5b828202905092915050565b60006132ce82613335565b91506132d983613335565b9250828210156132ec576132eb6133b5565b5b828203905092915050565b600061330282613315565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006133578261335e565b9050919050565b600061336982613315565b9050919050565b600061337b82613335565b9050919050565b60005b838110156133a0578082015181840152602081019050613385565b838111156133af576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f5458204c696d6974204578636565646564000000000000000000000000000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f5a65726f2062616c616e63652076696f6c617465642100000000000000000000600082015250565b7f54726164696e67206e6f74206f70656e20796574000000000000000000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b50565b7f4d61782077616c6c65742076696f6c6174656421000000000000000000000000600082015250565b6135c4816132f7565b81146135cf57600080fd5b50565b6135db81613309565b81146135e657600080fd5b50565b6135f281613335565b81146135fd57600080fd5b5056fea2646970667358221220483bee70009b394ed54c811b57de14e646eb3c32a1371787fe59aef557412b1364736f6c63430008040033

Deployed Bytecode Sourcemap

4960:9846:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6990:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8456:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9312:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13741:98;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8718:86;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14594:207;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6524:23;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10519:370;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9148:156;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6413:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8632:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14412:174;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6059:43;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5855:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6889:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9536:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13847:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6292:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8898:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4553:148;;;;;;;;;;;;;:::i;:::-;;5158:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5285:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8812:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6109:47;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4337:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8542:82;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6165:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6724:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10017:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6752:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14109:295;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6936:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9009:131;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13632:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4709:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13974:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6686:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6784;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6990:54;;;;:::o;8456:78::-;8504:13;8527:5;;;;;;;;;;;;;;;;;8520:12;;8456:78;:::o;9312:216::-;9387:4;9439:6;9404:11;:23;9416:10;9404:23;;;;;;;;;;;;;;;:32;9428:7;9404:32;;;;;;;;;;;;;;;:41;;;;9482:7;9461:37;;9470:10;9461:37;;;9491:6;9461:37;;;;;;:::i;:::-;;;;;;;;9516:4;9509:11;;9312:216;;;;:::o;13741:98::-;4474:12;:10;:12::i;:::-;4464:22;;:6;;;;;;;;;;:22;;;4456:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13822:9:::1;13808:11;;:23;;;;;;;;;;;;;;;;;;13741:98:::0;:::o;8718:86::-;8773:7;8790:12;;8783:19;;8718:86;:::o;14594:207::-;4474:12;:10;:12::i;:::-;4464:22;;:6;;;;;;;;;;:22;;;4456:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14677:17:::1;14697:21;14677:41;;14737:10;14729:28;;:64;14789:3;14770:16;14758:9;:28;;;;:::i;:::-;:34;;;;:::i;:::-;14729:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;4534:1;14594:207:::0;:::o;6524:23::-;;;;:::o;10519:370::-;10619:4;10675:17;10640:11;:19;10652:6;10640:19;;;;;;;;;;;;;;;:31;10660:10;10640:31;;;;;;;;;;;;;;;;:52;10636:188;;10743:69;10779:6;10743:69;;;;;;;;;;;;;;;;;:11;:19;10755:6;10743:19;;;;;;;;;;;;;;;:31;10763:10;10743:31;;;;;;;;;;;;;;;;:35;;:69;;;;;:::i;:::-;10709:11;:19;10721:6;10709:19;;;;;;;;;;;;;;;:31;10729:10;10709:31;;;;;;;;;;;;;;;:103;;;;10636:188;10841:40;10855:6;10863:9;10874:6;10841:13;:40::i;:::-;10834:47;;10519:370;;;;;:::o;9148:156::-;9201:7;9228:68;9273:22;9283:11;;;;;;;;;;;9273:9;:22::i;:::-;9228:40;9245:22;9255:11;;;;;;;;;;;9245:9;:22::i;:::-;9228:12;;:16;;:40;;;;:::i;:::-;:44;;:68;;;;:::i;:::-;9221:75;;9148:156;:::o;6413:29::-;;;;:::o;8632:78::-;8684:5;5071:1;8692:16;;8632:78;:::o;14412:174::-;14497:12;4474;:10;:12::i;:::-;4464:22;;:6;;;;;;;;;;:22;;;4456:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14536:12:::1;14529:29;;;14559:10;14571:6;14529:49;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14522:56;;14412:174:::0;;;;:::o;6059:43::-;;;;;;;;;;;;;;;;;;;;;;:::o;5855:33::-;;;;;;;;;;;;;:::o;6889:40::-;;;;;;;;;;;;;:::o;9536:122::-;9591:4;9615:35;9623:7;9632:17;9615:7;:35::i;:::-;9608:42;;9536:122;;;:::o;13847:119::-;4474:12;:10;:12::i;:::-;4464:22;;:6;;;;;;;;;;:22;;;4456:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13952:6:::1;13930:11;:19;13942:6;13930:19;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;13847:119:::0;;:::o;6292:32::-;;;;:::o;8898:103::-;8964:7;8981:9;:18;8991:7;8981:18;;;;;;;;;;;;;;;;8974:25;;8898:103;;;:::o;4553:148::-;4474:12;:10;:12::i;:::-;4464:22;;:6;;;;;;;;;;:22;;;4456:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4660:1:::1;4623:40;;4644:6;::::0;::::1;;;;;;;;4623:40;;;;;;;;;;;;4691:1;4674:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;4553:148::o:0;5158:53::-;;;;:::o;5285:52::-;;;;:::o;8812:78::-;8864:7;8881;:5;:7::i;:::-;8874:14;;8812:78;:::o;6109:47::-;;;;;;;;;;;;;;;;;;;;;;:::o;4337:79::-;4375:7;4402:6;;;;;;;;;;;4395:13;;4337:79;:::o;8542:82::-;8592:13;8615:7;;;;;;;;;;;;;;;;;8608:14;;8542:82;:::o;6165:33::-;;;;:::o;6724:19::-;;;;;;;;;;;;;:::o;10017:156::-;10097:4;10121:44;10135:10;10147:9;10158:6;10121:13;:44::i;:::-;10114:51;;10017:156;;;;:::o;6752:25::-;;;;:::o;14109:295::-;4474:12;:10;:12::i;:::-;4464:22;;:6;;;;;;;;;;:22;;;4456:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14240:9:::1;14223:14;:26;;;;14275:15;14260:12;:30;;;;14314:13;14301:10;:26;;;;14351:45;14385:10;;14370:12;;:25;;;;:::i;:::-;14351:14;;:18;;:45;;;;:::i;:::-;14340:8;:56;;;;14109:295:::0;;;:::o;6936:45::-;;;;;;;;;;;;;:::o;9009:131::-;9093:7;9110:11;:19;9122:6;9110:19;;;;;;;;;;;;;;;:28;9130:7;9110:28;;;;;;;;;;;;;;;;9103:35;;9009:131;;;;:::o;13632:101::-;4474:12;:10;:12::i;:::-;4464:22;;:6;;;;;;;;;;:22;;;4456:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13717:8:::1;13704:10;:21;;;;13632:101:::0;:::o;4709:244::-;4474:12;:10;:12::i;:::-;4464:22;;:6;;;;;;;;;;:22;;;4456:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4818:1:::1;4798:22;;:8;:22;;;;4790:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;4908:8;4879:38;;4900:6;::::0;::::1;;;;;;;;4879:38;;;;;;;;;;;;4937:8;4928:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;4709:244:::0;:::o;13974:127::-;4474:12;:10;:12::i;:::-;4464:22;;:6;;;;;;;;;;:22;;;4456:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14087:6:::1;14061:15;:23;14077:6;14061:23;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;13974:127:::0;;:::o;6686:31::-;;;;;;;;;;;;;:::o;6784:::-;;;;;;;;;;;;;:::o;2549:179::-;2607:7;2627:9;2643:1;2639;:5;;;;:::i;:::-;2627:17;;2668:1;2663;:6;;2655:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2719:1;2712:8;;;2549:179;;;;:::o;3677:115::-;3730:15;3773:10;3758:26;;3677:115;:::o;2880:190::-;2966:7;2999:1;2994;:6;;3002:12;2986:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3026:9;3042:1;3038;:5;;;;:::i;:::-;3026:17;;3061:1;3054:8;;;2880:190;;;;;:::o;10897:1273::-;10989:4;11010:16;;;;;;;;;;;11006:73;;;11036:41;11051:6;11059:9;11070:6;11036:14;:41::i;:::-;11029:48;;;;11006:73;11093:14;:22;11108:6;11093:22;;;;;;;;;;;;;;;;;;;;;;;;;11092:23;:53;;;;;11120:14;:25;11135:9;11120:25;;;;;;;;;;;;;;;;;;;;;;;;;11119:26;11092:53;11089:128;;;11169:11;;;;;;;;;;;11161:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;11089:128;11247:12;;11237:6;:22;;:49;;;;11263:15;:23;11279:6;11263:23;;;;;;;;;;;;;;;;;;;;;;;;;11237:49;11229:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;11337:4;;;;;;;;;;;11323:18;;:10;:18;;;;:39;;;;;11346:16;;;;;;;;;;;11345:17;11323:39;:64;;;;;11366:21;;;;;;;;;;;11323:64;:109;;;;;11419:13;;11391:9;:24;11409:4;11391:24;;;;;;;;;;;;;;;;:41;;11323:109;11319:132;;;11435:14;:12;:14::i;:::-;11319:132;11466:10;:8;:10::i;:::-;11465:11;:32;;;;;11493:4;;;;;;;;;;;11480:17;;:9;:17;;;11465:32;11461:144;;;11542:1;11522:9;:17;11532:6;11522:17;;;;;;;;;;;;;;;;:21;11514:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;11585:8;:6;:8::i;:::-;11461:144;11669:53;11691:6;11669:53;;;;;;;;;;;;;;;;;:9;:17;11679:6;11669:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;11649:9;:17;11659:6;11649:17;;;;;;;;;;;;;;;:73;;;;11740:15;:26;11756:9;11740:26;;;;;;;;;;;;;;;;;;;;;;;;;11739:27;:45;;;;;11770:14;;;;;;;;;;;11739:45;11735:157;;;11845:10;;11809:32;11834:6;11809:9;:20;11819:9;11809:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;:46;;11801:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;11735:157;11904:19;11927:11;:19;11939:6;11927:19;;;;;;;;;;;;;;;;;;;;;;;;;11926:20;:47;;;;;11951:11;:22;11963:9;11951:22;;;;;;;;;;;;;;;;;;;;;;;;;11950:23;11926:47;:85;;12005:6;11926:85;;;11976:26;11987:6;11995;11976:10;:26::i;:::-;11926:85;11904:107;;12045:37;12070:11;12045:9;:20;12055:9;12045:20;;;;;;;;;;;;;;;;:24;;:37;;;;:::i;:::-;12022:9;:20;12032:9;12022:20;;;;;;;;;;;;;;;:60;;;;12117:9;12100:40;;12109:6;12100:40;;;12128:11;12100:40;;;;;;:::i;:::-;;;;;;;;12158:4;12151:11;;;10897:1273;;;;;;:::o;2736:136::-;2794:7;2821:43;2825:1;2828;2821:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2814:50;;2736:136;;;;:::o;10181:330::-;10274:4;10311:53;10333:6;10311:53;;;;;;;;;;;;;;;;;:9;:17;10321:6;10311:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;10291:9;:17;10301:6;10291:17;;;;;;;;;;;;;;;:73;;;;10398:32;10423:6;10398:9;:20;10408:9;10398:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;10375:9;:20;10385:9;10375:20;;;;;;;;;;;;;;;:55;;;;10463:9;10446:35;;10455:6;10446:35;;;10474:6;10446:35;;;;;;:::i;:::-;;;;;;;;10499:4;10492:11;;10181:330;;;;;:::o;12511:1078::-;7235:4;7216:16;;:23;;;;;;;;;;;;;;;;;;12567:20:::1;12590:9;:24;12608:4;12590:24;;;;;;;;;;;;;;;;12567:47;;12627:21;12665:1;12651:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12627:40;;12696:4;12678;12683:1;12678:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;12722:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12712:4;12717:1;12712:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;12748:6;;;;;;;;;;;:57;;;12820:12;12847:1;12863:4;12890;12910:15;12748:188;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12949:17;12969:21;12949:41;;13003:25;13031:16;13045:1;13031:9;:13;;:16;;;;:::i;:::-;13003:44;;13058:27;13088:16;13102:1;13088:9;:13;;:16;;;;:::i;:::-;13058:46;;13115:23;13141:16;13155:1;13141:9;:13;;:16;;;;:::i;:::-;13115:42;;13179:16;13208:15;;;;;;;;;;;13200:29;;13238:17;13263:5;13200:73;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13178:95;;;13298:5;13284:19;;13317:16;13346:17;;;;;;;;;;;13338:31;;13378:19;13405:5;13338:77;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13316:99;;;13440:5;13426:19;;13459:16;13488:13;;;;;;;;;;;13480:27;;13516:15;13539:5;13480:69;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13458:91;;;13574:5;13560:19;;7250:1;;;;;;;;;7281:5:::0;7262:16;;:24;;;;;;;;;;;;;;;;;;12511:1078::o;9666:90::-;9709:4;9747:1;9733:10;;:15;;9726:22;;9666:90;:::o;9764:71::-;9815:12;9802:10;:25;;;;9764:71::o;12178:325::-;12248:7;12268:17;12288:29;12313:3;12288:20;12299:8;;12288:6;:10;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;12268:49;;12357:39;12386:9;12357;:24;12375:4;12357:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;12330:9;:24;12348:4;12330:24;;;;;;;;;;;;;;;:66;;;;12437:4;12412:42;;12421:6;12412:42;;;12444:9;12412:42;;;;;;:::i;:::-;;;;;;;;12474:21;12485:9;12474:6;:10;;:21;;;;:::i;:::-;12467:28;;;12178:325;;;;:::o;3308:132::-;3366:7;3393:39;3397:1;3400;3393:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;3386:46;;3308:132;;;;:::o;3078:222::-;3136:7;3165:1;3160;:6;3156:23;;;3176:1;3169:8;;;;3156:23;3189:9;3205:1;3201;:5;;;;:::i;:::-;3189:17;;3234:1;3229;3225;:5;;;;:::i;:::-;:10;3217:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;3291:1;3284:8;;;3078:222;;;;;:::o;3448:189::-;3534:7;3566:1;3562;:5;3569:12;3554:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3593:9;3609:1;3605;:5;;;;:::i;:::-;3593:17;;3628:1;3621:8;;;3448:189;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;215:80;;;;:::o;301:133::-;344:5;382:6;369:20;360:29;;398:30;422:5;398:30;:::i;:::-;350:84;;;;:::o;440:137::-;494:5;525:6;519:13;510:22;;541:30;565:5;541:30;:::i;:::-;500:77;;;;:::o;583:139::-;629:5;667:6;654:20;645:29;;683:33;710:5;683:33;:::i;:::-;635:87;;;;:::o;728:262::-;787:6;836:2;824:9;815:7;811:23;807:32;804:2;;;852:1;849;842:12;804:2;895:1;920:53;965:7;956:6;945:9;941:22;920:53;:::i;:::-;910:63;;866:117;794:196;;;;:::o;996:284::-;1066:6;1115:2;1103:9;1094:7;1090:23;1086:32;1083:2;;;1131:1;1128;1121:12;1083:2;1174:1;1199:64;1255:7;1246:6;1235:9;1231:22;1199:64;:::i;:::-;1189:74;;1145:128;1073:207;;;;:::o;1286:407::-;1354:6;1362;1411:2;1399:9;1390:7;1386:23;1382:32;1379:2;;;1427:1;1424;1417:12;1379:2;1470:1;1495:53;1540:7;1531:6;1520:9;1516:22;1495:53;:::i;:::-;1485:63;;1441:117;1597:2;1623:53;1668:7;1659:6;1648:9;1644:22;1623:53;:::i;:::-;1613:63;;1568:118;1369:324;;;;;:::o;1699:552::-;1776:6;1784;1792;1841:2;1829:9;1820:7;1816:23;1812:32;1809:2;;;1857:1;1854;1847:12;1809:2;1900:1;1925:53;1970:7;1961:6;1950:9;1946:22;1925:53;:::i;:::-;1915:63;;1871:117;2027:2;2053:53;2098:7;2089:6;2078:9;2074:22;2053:53;:::i;:::-;2043:63;;1998:118;2155:2;2181:53;2226:7;2217:6;2206:9;2202:22;2181:53;:::i;:::-;2171:63;;2126:118;1799:452;;;;;:::o;2257:401::-;2322:6;2330;2379:2;2367:9;2358:7;2354:23;2350:32;2347:2;;;2395:1;2392;2385:12;2347:2;2438:1;2463:53;2508:7;2499:6;2488:9;2484:22;2463:53;:::i;:::-;2453:63;;2409:117;2565:2;2591:50;2633:7;2624:6;2613:9;2609:22;2591:50;:::i;:::-;2581:60;;2536:115;2337:321;;;;;:::o;2664:407::-;2732:6;2740;2789:2;2777:9;2768:7;2764:23;2760:32;2757:2;;;2805:1;2802;2795:12;2757:2;2848:1;2873:53;2918:7;2909:6;2898:9;2894:22;2873:53;:::i;:::-;2863:63;;2819:117;2975:2;3001:53;3046:7;3037:6;3026:9;3022:22;3001:53;:::i;:::-;2991:63;;2946:118;2747:324;;;;;:::o;3077:256::-;3133:6;3182:2;3170:9;3161:7;3157:23;3153:32;3150:2;;;3198:1;3195;3188:12;3150:2;3241:1;3266:50;3308:7;3299:6;3288:9;3284:22;3266:50;:::i;:::-;3256:60;;3212:114;3140:193;;;;:::o;3339:278::-;3406:6;3455:2;3443:9;3434:7;3430:23;3426:32;3423:2;;;3471:1;3468;3461:12;3423:2;3514:1;3539:61;3592:7;3583:6;3572:9;3568:22;3539:61;:::i;:::-;3529:71;;3485:125;3413:204;;;;:::o;3623:262::-;3682:6;3731:2;3719:9;3710:7;3706:23;3702:32;3699:2;;;3747:1;3744;3737:12;3699:2;3790:1;3815:53;3860:7;3851:6;3840:9;3836:22;3815:53;:::i;:::-;3805:63;;3761:117;3689:196;;;;:::o;3891:552::-;3968:6;3976;3984;4033:2;4021:9;4012:7;4008:23;4004:32;4001:2;;;4049:1;4046;4039:12;4001:2;4092:1;4117:53;4162:7;4153:6;4142:9;4138:22;4117:53;:::i;:::-;4107:63;;4063:117;4219:2;4245:53;4290:7;4281:6;4270:9;4266:22;4245:53;:::i;:::-;4235:63;;4190:118;4347:2;4373:53;4418:7;4409:6;4398:9;4394:22;4373:53;:::i;:::-;4363:63;;4318:118;3991:452;;;;;:::o;4449:179::-;4518:10;4539:46;4581:3;4573:6;4539:46;:::i;:::-;4617:4;4612:3;4608:14;4594:28;;4529:99;;;;:::o;4634:108::-;4711:24;4729:5;4711:24;:::i;:::-;4706:3;4699:37;4689:53;;:::o;4748:118::-;4835:24;4853:5;4835:24;:::i;:::-;4830:3;4823:37;4813:53;;:::o;4902:732::-;5021:3;5050:54;5098:5;5050:54;:::i;:::-;5120:86;5199:6;5194:3;5120:86;:::i;:::-;5113:93;;5230:56;5280:5;5230:56;:::i;:::-;5309:7;5340:1;5325:284;5350:6;5347:1;5344:13;5325:284;;;5426:6;5420:13;5453:63;5512:3;5497:13;5453:63;:::i;:::-;5446:70;;5539:60;5592:6;5539:60;:::i;:::-;5529:70;;5385:224;5372:1;5369;5365:9;5360:14;;5325:284;;;5329:14;5625:3;5618:10;;5026:608;;;;;;;:::o;5640:109::-;5721:21;5736:5;5721:21;:::i;:::-;5716:3;5709:34;5699:50;;:::o;5755:181::-;5867:62;5923:5;5867:62;:::i;:::-;5862:3;5855:75;5845:91;;:::o;5942:147::-;6037:45;6076:5;6037:45;:::i;:::-;6032:3;6025:58;6015:74;;:::o;6095:364::-;6183:3;6211:39;6244:5;6211:39;:::i;:::-;6266:71;6330:6;6325:3;6266:71;:::i;:::-;6259:78;;6346:52;6391:6;6386:3;6379:4;6372:5;6368:16;6346:52;:::i;:::-;6423:29;6445:6;6423:29;:::i;:::-;6418:3;6414:39;6407:46;;6187:272;;;;;:::o;6465:366::-;6607:3;6628:67;6692:2;6687:3;6628:67;:::i;:::-;6621:74;;6704:93;6793:3;6704:93;:::i;:::-;6822:2;6817:3;6813:12;6806:19;;6611:220;;;:::o;6837:366::-;6979:3;7000:67;7064:2;7059:3;7000:67;:::i;:::-;6993:74;;7076:93;7165:3;7076:93;:::i;:::-;7194:2;7189:3;7185:12;7178:19;;6983:220;;;:::o;7209:366::-;7351:3;7372:67;7436:2;7431:3;7372:67;:::i;:::-;7365:74;;7448:93;7537:3;7448:93;:::i;:::-;7566:2;7561:3;7557:12;7550:19;;7355:220;;;:::o;7581:366::-;7723:3;7744:67;7808:2;7803:3;7744:67;:::i;:::-;7737:74;;7820:93;7909:3;7820:93;:::i;:::-;7938:2;7933:3;7929:12;7922:19;;7727:220;;;:::o;7953:366::-;8095:3;8116:67;8180:2;8175:3;8116:67;:::i;:::-;8109:74;;8192:93;8281:3;8192:93;:::i;:::-;8310:2;8305:3;8301:12;8294:19;;8099:220;;;:::o;8325:366::-;8467:3;8488:67;8552:2;8547:3;8488:67;:::i;:::-;8481:74;;8564:93;8653:3;8564:93;:::i;:::-;8682:2;8677:3;8673:12;8666:19;;8471:220;;;:::o;8697:366::-;8839:3;8860:67;8924:2;8919:3;8860:67;:::i;:::-;8853:74;;8936:93;9025:3;8936:93;:::i;:::-;9054:2;9049:3;9045:12;9038:19;;8843:220;;;:::o;9069:398::-;9228:3;9249:83;9330:1;9325:3;9249:83;:::i;:::-;9242:90;;9341:93;9430:3;9341:93;:::i;:::-;9459:1;9454:3;9450:11;9443:18;;9232:235;;;:::o;9473:366::-;9615:3;9636:67;9700:2;9695:3;9636:67;:::i;:::-;9629:74;;9712:93;9801:3;9712:93;:::i;:::-;9830:2;9825:3;9821:12;9814:19;;9619:220;;;:::o;9845:118::-;9932:24;9950:5;9932:24;:::i;:::-;9927:3;9920:37;9910:53;;:::o;9969:112::-;10052:22;10068:5;10052:22;:::i;:::-;10047:3;10040:35;10030:51;;:::o;10087:379::-;10271:3;10293:147;10436:3;10293:147;:::i;:::-;10286:154;;10457:3;10450:10;;10275:191;;;:::o;10472:222::-;10565:4;10603:2;10592:9;10588:18;10580:26;;10616:71;10684:1;10673:9;10669:17;10660:6;10616:71;:::i;:::-;10570:124;;;;:::o;10700:332::-;10821:4;10859:2;10848:9;10844:18;10836:26;;10872:71;10940:1;10929:9;10925:17;10916:6;10872:71;:::i;:::-;10953:72;11021:2;11010:9;11006:18;10997:6;10953:72;:::i;:::-;10826:206;;;;;:::o;11038:210::-;11125:4;11163:2;11152:9;11148:18;11140:26;;11176:65;11238:1;11227:9;11223:17;11214:6;11176:65;:::i;:::-;11130:118;;;;:::o;11254:272::-;11372:4;11410:2;11399:9;11395:18;11387:26;;11423:96;11516:1;11505:9;11501:17;11492:6;11423:96;:::i;:::-;11377:149;;;;:::o;11532:313::-;11645:4;11683:2;11672:9;11668:18;11660:26;;11732:9;11726:4;11722:20;11718:1;11707:9;11703:17;11696:47;11760:78;11833:4;11824:6;11760:78;:::i;:::-;11752:86;;11650:195;;;;:::o;11851:419::-;12017:4;12055:2;12044:9;12040:18;12032:26;;12104:9;12098:4;12094:20;12090:1;12079:9;12075:17;12068:47;12132:131;12258:4;12132:131;:::i;:::-;12124:139;;12022:248;;;:::o;12276:419::-;12442:4;12480:2;12469:9;12465:18;12457:26;;12529:9;12523:4;12519:20;12515:1;12504:9;12500:17;12493:47;12557:131;12683:4;12557:131;:::i;:::-;12549:139;;12447:248;;;:::o;12701:419::-;12867:4;12905:2;12894:9;12890:18;12882:26;;12954:9;12948:4;12944:20;12940:1;12929:9;12925:17;12918:47;12982:131;13108:4;12982:131;:::i;:::-;12974:139;;12872:248;;;:::o;13126:419::-;13292:4;13330:2;13319:9;13315:18;13307:26;;13379:9;13373:4;13369:20;13365:1;13354:9;13350:17;13343:47;13407:131;13533:4;13407:131;:::i;:::-;13399:139;;13297:248;;;:::o;13551:419::-;13717:4;13755:2;13744:9;13740:18;13732:26;;13804:9;13798:4;13794:20;13790:1;13779:9;13775:17;13768:47;13832:131;13958:4;13832:131;:::i;:::-;13824:139;;13722:248;;;:::o;13976:419::-;14142:4;14180:2;14169:9;14165:18;14157:26;;14229:9;14223:4;14219:20;14215:1;14204:9;14200:17;14193:47;14257:131;14383:4;14257:131;:::i;:::-;14249:139;;14147:248;;;:::o;14401:419::-;14567:4;14605:2;14594:9;14590:18;14582:26;;14654:9;14648:4;14644:20;14640:1;14629:9;14625:17;14618:47;14682:131;14808:4;14682:131;:::i;:::-;14674:139;;14572:248;;;:::o;14826:419::-;14992:4;15030:2;15019:9;15015:18;15007:26;;15079:9;15073:4;15069:20;15065:1;15054:9;15050:17;15043:47;15107:131;15233:4;15107:131;:::i;:::-;15099:139;;14997:248;;;:::o;15251:222::-;15344:4;15382:2;15371:9;15367:18;15359:26;;15395:71;15463:1;15452:9;15448:17;15439:6;15395:71;:::i;:::-;15349:124;;;;:::o;15479:831::-;15742:4;15780:3;15769:9;15765:19;15757:27;;15794:71;15862:1;15851:9;15847:17;15838:6;15794:71;:::i;:::-;15875:80;15951:2;15940:9;15936:18;15927:6;15875:80;:::i;:::-;16002:9;15996:4;15992:20;15987:2;15976:9;15972:18;15965:48;16030:108;16133:4;16124:6;16030:108;:::i;:::-;16022:116;;16148:72;16216:2;16205:9;16201:18;16192:6;16148:72;:::i;:::-;16230:73;16298:3;16287:9;16283:19;16274:6;16230:73;:::i;:::-;15747:563;;;;;;;;:::o;16316:214::-;16405:4;16443:2;16432:9;16428:18;16420:26;;16456:67;16520:1;16509:9;16505:17;16496:6;16456:67;:::i;:::-;16410:120;;;;:::o;16536:132::-;16603:4;16626:3;16618:11;;16656:4;16651:3;16647:14;16639:22;;16608:60;;;:::o;16674:114::-;16741:6;16775:5;16769:12;16759:22;;16748:40;;;:::o;16794:99::-;16846:6;16880:5;16874:12;16864:22;;16853:40;;;:::o;16899:113::-;16969:4;17001;16996:3;16992:14;16984:22;;16974:38;;;:::o;17018:184::-;17117:11;17151:6;17146:3;17139:19;17191:4;17186:3;17182:14;17167:29;;17129:73;;;;:::o;17208:147::-;17309:11;17346:3;17331:18;;17321:34;;;;:::o;17361:169::-;17445:11;17479:6;17474:3;17467:19;17519:4;17514:3;17510:14;17495:29;;17457:73;;;;:::o;17536:305::-;17576:3;17595:20;17613:1;17595:20;:::i;:::-;17590:25;;17629:20;17647:1;17629:20;:::i;:::-;17624:25;;17783:1;17715:66;17711:74;17708:1;17705:81;17702:2;;;17789:18;;:::i;:::-;17702:2;17833:1;17830;17826:9;17819:16;;17580:261;;;;:::o;17847:185::-;17887:1;17904:20;17922:1;17904:20;:::i;:::-;17899:25;;17938:20;17956:1;17938:20;:::i;:::-;17933:25;;17977:1;17967:2;;17982:18;;:::i;:::-;17967:2;18024:1;18021;18017:9;18012:14;;17889:143;;;;:::o;18038:348::-;18078:7;18101:20;18119:1;18101:20;:::i;:::-;18096:25;;18135:20;18153:1;18135:20;:::i;:::-;18130:25;;18323:1;18255:66;18251:74;18248:1;18245:81;18240:1;18233:9;18226:17;18222:105;18219:2;;;18330:18;;:::i;:::-;18219:2;18378:1;18375;18371:9;18360:20;;18086:300;;;;:::o;18392:191::-;18432:4;18452:20;18470:1;18452:20;:::i;:::-;18447:25;;18486:20;18504:1;18486:20;:::i;:::-;18481:25;;18525:1;18522;18519:8;18516:2;;;18530:18;;:::i;:::-;18516:2;18575:1;18572;18568:9;18560:17;;18437:146;;;;:::o;18589:96::-;18626:7;18655:24;18673:5;18655:24;:::i;:::-;18644:35;;18634:51;;;:::o;18691:90::-;18725:7;18768:5;18761:13;18754:21;18743:32;;18733:48;;;:::o;18787:126::-;18824:7;18864:42;18857:5;18853:54;18842:65;;18832:81;;;:::o;18919:77::-;18956:7;18985:5;18974:16;;18964:32;;;:::o;19002:86::-;19037:7;19077:4;19070:5;19066:16;19055:27;;19045:43;;;:::o;19094:176::-;19169:9;19202:62;19258:5;19202:62;:::i;:::-;19189:75;;19179:91;;;:::o;19276:138::-;19351:9;19384:24;19402:5;19384:24;:::i;:::-;19371:37;;19361:53;;;:::o;19420:121::-;19478:9;19511:24;19529:5;19511:24;:::i;:::-;19498:37;;19488:53;;;:::o;19547:307::-;19615:1;19625:113;19639:6;19636:1;19633:13;19625:113;;;19724:1;19719:3;19715:11;19709:18;19705:1;19700:3;19696:11;19689:39;19661:2;19658:1;19654:10;19649:15;;19625:113;;;19756:6;19753:1;19750:13;19747:2;;;19836:1;19827:6;19822:3;19818:16;19811:27;19747:2;19596:258;;;;:::o;19860:180::-;19908:77;19905:1;19898:88;20005:4;20002:1;19995:15;20029:4;20026:1;20019:15;20046:180;20094:77;20091:1;20084:88;20191:4;20188:1;20181:15;20215:4;20212:1;20205:15;20232:102;20273:6;20324:2;20320:7;20315:2;20308:5;20304:14;20300:28;20290:38;;20280:54;;;:::o;20340:167::-;20480:19;20476:1;20468:6;20464:14;20457:43;20446:61;:::o;20513:225::-;20653:34;20649:1;20641:6;20637:14;20630:58;20722:8;20717:2;20709:6;20705:15;20698:33;20619:119;:::o;20744:177::-;20884:29;20880:1;20872:6;20868:14;20861:53;20850:71;:::o;20927:172::-;21067:24;21063:1;21055:6;21051:14;21044:48;21033:66;:::o;21105:170::-;21245:22;21241:1;21233:6;21229:14;21222:46;21211:64;:::o;21281:220::-;21421:34;21417:1;21409:6;21405:14;21398:58;21490:3;21485:2;21477:6;21473:15;21466:28;21387:114;:::o;21507:182::-;21647:34;21643:1;21635:6;21631:14;21624:58;21613:76;:::o;21695:114::-;21801:8;:::o;21815:170::-;21955:22;21951:1;21943:6;21939:14;21932:46;21921:64;:::o;21991:122::-;22064:24;22082:5;22064:24;:::i;:::-;22057:5;22054:35;22044:2;;22103:1;22100;22093:12;22044:2;22034:79;:::o;22119:116::-;22189:21;22204:5;22189:21;:::i;:::-;22182:5;22179:32;22169:2;;22225:1;22222;22215:12;22169:2;22159:76;:::o;22241:122::-;22314:24;22332:5;22314:24;:::i;:::-;22307:5;22304:35;22294:2;;22353:1;22350;22343:12;22294:2;22284:79;:::o

Swarm Source

ipfs://483bee70009b394ed54c811b57de14e646eb3c32a1371787fe59aef557412b13

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

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