ETH Price: $2,030.34 (+0.17%)

Contract

0xe5a89cd031dA286af727c7B5a0b286Ee1401887A
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

TokenTracker

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve243989962026-02-06 16:31:4733 days ago1770395507IN
Evojacks: EJX Token
0 ETH0.000034821.1688581
Transfer243831762026-02-04 11:25:2335 days ago1770204323IN
Evojacks: EJX Token
0 ETH0.00006931.19499383
Transfer243482572026-01-30 14:23:2340 days ago1769783003IN
Evojacks: EJX Token
0 ETH0.000074681.28783602
Transfer242706482026-01-19 18:35:2351 days ago1768847723IN
Evojacks: EJX Token
0 ETH0.000003940.05255206
Transfer241823362026-01-07 10:54:3563 days ago1767783275IN
Evojacks: EJX Token
0 ETH0.000060091.03618472
Approve241815662026-01-07 8:20:1163 days ago1767774011IN
Evojacks: EJX Token
0 ETH0.000096652.04971245
Transfer241631402026-01-04 18:38:1166 days ago1767551891IN
Evojacks: EJX Token
0 ETH0.000108752.04403923
Approve241101792025-12-28 9:17:3573 days ago1766913455IN
Evojacks: EJX Token
0 ETH0.000001190.04836602
Approve241098602025-12-28 8:13:2373 days ago1766909603IN
Evojacks: EJX Token
0 ETH0.000004160.08905231
Approve240952582025-12-26 7:17:3575 days ago1766733455IN
Evojacks: EJX Token
0 ETH0.000001250.02653354
Transfer240719982025-12-23 1:21:5979 days ago1766452919IN
Evojacks: EJX Token
0 ETH0.000001270.02396219
Transfer240719832025-12-23 1:18:5979 days ago1766452739IN
Evojacks: EJX Token
0 ETH0.000001950.02596714
Transfer240717242025-12-23 0:27:1179 days ago1766449631IN
Evojacks: EJX Token
0 ETH0.000001640.02193962
Transfer239901842025-12-11 14:58:3590 days ago1765465115IN
Evojacks: EJX Token
0 ETH0.0000270.35970646
Approve239829462025-12-10 14:36:2391 days ago1765377383IN
Evojacks: EJX Token
0 ETH0.000007470.15842027
Transfer239185902025-12-01 12:20:23100 days ago1764591623IN
Evojacks: EJX Token
0 ETH0.000118312.03900075
Transfer238632472025-11-23 18:02:35108 days ago1763920955IN
Evojacks: EJX Token
0 ETH0.000008050.10722573
Approve238336772025-11-19 14:20:23112 days ago1763562023IN
Evojacks: EJX Token
0 ETH0.000118862.53702696
Approve238081842025-11-16 0:32:11116 days ago1763253131IN
Evojacks: EJX Token
0 ETH0.00000670.14216098
Transfer237988932025-11-14 17:22:35117 days ago1763140955IN
Evojacks: EJX Token
0 ETH0.000190862.71399006
Transfer237928962025-11-13 21:14:47118 days ago1763068487IN
Evojacks: EJX Token
0 ETH0.000029840.51491524
Approve237702712025-11-10 17:12:47121 days ago1762794767IN
Evojacks: EJX Token
0 ETH0.000027170.57716952
Transfer237702412025-11-10 17:06:47121 days ago1762794407IN
Evojacks: EJX Token
0 ETH0.000059580.79361816
Update Buy Fees237492532025-11-07 18:43:59124 days ago1762541039IN
Evojacks: EJX Token
0 ETH0.000106893.75153463
Approve237144352025-11-02 21:50:11129 days ago1762120211IN
Evojacks: EJX Token
0 ETH0.000016790.35660364
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer242781762026-01-20 19:47:1150 days ago1768938431
Evojacks: EJX Token
0.01955102 ETH
Transfer242781762026-01-20 19:47:1150 days ago1768938431
Evojacks: EJX Token
0.01955102 ETH
Transfer241827662026-01-07 12:21:2363 days ago1767788483
Evojacks: EJX Token
0.0148848 ETH
Transfer241827662026-01-07 12:21:2363 days ago1767788483
Evojacks: EJX Token
0.0148848 ETH
Transfer240952732025-12-26 7:20:4775 days ago1766733647
Evojacks: EJX Token
0.01942912 ETH
Transfer240952732025-12-26 7:20:4775 days ago1766733647
Evojacks: EJX Token
0.01942912 ETH
Transfer239902192025-12-11 15:05:3590 days ago1765465535
Evojacks: EJX Token
0.0245196 ETH
Transfer239902192025-12-11 15:05:3590 days ago1765465535
Evojacks: EJX Token
0.0245196 ETH
Transfer239416632025-12-04 19:13:3597 days ago1764875615
Evojacks: EJX Token
0.03067231 ETH
Transfer239416632025-12-04 19:13:3597 days ago1764875615
Evojacks: EJX Token
0.03067231 ETH
Transfer238800172025-11-26 2:42:11105 days ago1764124931
Evojacks: EJX Token
0.02556934 ETH
Transfer238800172025-11-26 2:42:11105 days ago1764124931
Evojacks: EJX Token
0.02556934 ETH
Transfer237917582025-11-13 17:25:47118 days ago1763054747
Evojacks: EJX Token
0.01600816 ETH
Transfer237917582025-11-13 17:25:47118 days ago1763054747
Evojacks: EJX Token
0.01600816 ETH
Transfer237917582025-11-13 17:25:47118 days ago1763054747
Evojacks: EJX Token
0.02108356 ETH
Transfer237917582025-11-13 17:25:47118 days ago1763054747
Evojacks: EJX Token
0.02108356 ETH
Transfer237917582025-11-13 17:25:47118 days ago1763054747
Evojacks: EJX Token
0.02792079 ETH
Transfer237917582025-11-13 17:25:47118 days ago1763054747
Evojacks: EJX Token
0.02792079 ETH
Transfer237702712025-11-10 17:12:47121 days ago1762794767
Evojacks: EJX Token
0.07930071 ETH
Transfer237702712025-11-10 17:12:47121 days ago1762794767
Evojacks: EJX Token
0.07930071 ETH
Transfer235978032025-10-17 13:52:59145 days ago1760709179
Evojacks: EJX Token
0.05335515 ETH
Transfer235978032025-10-17 13:52:59145 days ago1760709179
Evojacks: EJX Token
0.05335515 ETH
Transfer235284212025-10-07 20:59:35155 days ago1759870775
Evojacks: EJX Token
0.07611683 ETH
Transfer235284212025-10-07 20:59:35155 days ago1759870775
Evojacks: EJX Token
0.07611683 ETH
Transfer234988442025-10-03 17:48:11159 days ago1759513691
Evojacks: EJX Token
0.06780477 ETH
View All Internal Transactions
Loading...
Loading
Loading...
Loading
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:
EVOJACKS

Compiler Version
v0.8.13+commit.abaa5c0e

Optimization Enabled:
No with 200 runs

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

// SPDX-License-Identifier: MIT

/**
evojoacks.com
*/

pragma solidity 0.8.13;

interface IERC20 {
    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);
    event Burn(address indexed from, address indexed to, uint256 value);
}

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

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


abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    address ZERO = 0x0000000000000000000000000000000000000000;

    constructor() {
        _transferOwnership(_msgSender());
    }

    modifier onlyOwner() {
        _checkOwner();
        _;
    }

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

    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(ZERO);
    }

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

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}


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


interface IDEXRouter {
    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;
}


contract EVOJACKS is IERC20, Ownable {

    address private WETH;

    string private constant _name = "Evojacks";
    string private constant _symbol = "EJX";
    uint8 private constant _decimals = 18;
    
    uint256 _totalSupply = 1 * 10**8 * (10 ** _decimals);
    uint256 public swapThreshold = _totalSupply / 1000; // Starting at 0.1%

    mapping (address => uint256) private _balances;
    mapping (address => mapping(address => uint256)) private _allowances;
    mapping (address => bool) public isFeeExempt;

    address DEAD = 0x000000000000000000000000000000000000dEaD;

    uint[2] taxesCollected = [0, 0];

    uint256 public launchedAt;
    address public liquidityPool = DEAD;

    // All fees are in basis points (100 = 1%)
    uint256 private buyEvo = 300;
    uint256 private sellEvo = 300;
    uint256 private buyLP = 200;
    uint256 private sellLP = 200;
    uint256 private xferBurn = 50;

    uint256 _baseBuyFee = buyEvo + buyLP;
    uint256 _baseSellFee = sellEvo + sellLP;

    IDEXRouter public router;
    address public pair;
    address public factory;
    address public evoWallet = payable(0x583fd38aEFa8aC399484d52EFaa752e1F2259d59);

    bool inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;
    bool public tradingOpen = false;
    bool public burnTransferToggle = true;

    //Event Logs
    event LiquidityPoolUpdated(address indexed _newPool);
    event EvoWalletUpdated(address indexed _newWallet);
    event RouterUpdated(IDEXRouter indexed _newRouter);
    event BuyFeesUpdated(uint256 _newEvo, uint256 _newLp);
    event SellFeesUpdated(uint256 _neEvo, uint256 _newLp);
    event FeeExemptionChanged(address indexed _exemptWallet, bool _exempt);
    event SwapbackSettingsChanged(bool _enabled, uint256 _newSwapbackAmount);


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

    constructor() {
        router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
            
        WETH = router.WETH();
        
        pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
        
        _allowances[address(this)][address(router)] = type(uint256).max;

        isFeeExempt[owner()] = true;
        isFeeExempt[evoWallet] = true;
        isFeeExempt[address(this)] = true;

        _balances[owner()] = _totalSupply;
    
        emit Transfer(address(0), owner(), _totalSupply);
    }

    receive() external payable { }

    function launchSequence() external onlyOwner {
	    require(launchedAt == 0, "Already launched");
        launchedAt = block.number;
        tradingOpen = true;
    }

    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply - balanceOf(DEAD) - balanceOf(ZERO);
    }

    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    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 baseBuyFee() external view returns (uint256) {return _baseBuyFee; }
    function baseSellFee() external view returns (uint256) {return _baseSellFee; }

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

//Transfer Functions

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

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

        return _transfer(sender, recipient, amount);
    }

    function _transfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        require(sender != address(0), "BEP20: transfer from the zero address");
        require(recipient != address(0), "BEP20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        if(!isFeeExempt[sender] && !isFeeExempt[recipient]) { require(tradingOpen, "Trading not active"); }
        if(inSwapAndLiquify){ return _basicTransfer(sender, recipient, amount); }
    	if(sender != pair && recipient != pair && burnTransferToggle == true) { return _burnTransfer(sender, recipient, amount); }
        if(msg.sender != pair && !inSwapAndLiquify && swapAndLiquifyEnabled && _balances[address(this)] >= swapThreshold){ swapBack(); }

        _balances[sender] = _balances[sender] - amount;
        
        uint256 finalAmount = !isFeeExempt[sender] && !isFeeExempt[recipient] ? takeFee(sender, recipient, amount) : amount;

        _balances[recipient] = _balances[recipient] + finalAmount;

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

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender] - amount;
        _balances[recipient] = _balances[recipient] + amount;
        emit Transfer(sender, recipient, amount);
        return true;
    }  

    function _burnTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        uint _burnFee = amount * xferBurn / 10000;
        uint256 _finalAmount = !isFeeExempt[sender] ? amount - _burnFee : amount;

        _balances[sender] = _balances[sender] - amount;
        _balances[recipient] = _balances[recipient] + _finalAmount;

        if(!isFeeExempt[sender]) { 
            _balances[DEAD] = _balances[DEAD] + _burnFee; 
            emit Burn(sender, DEAD, _burnFee); 
            }

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

//Tax Functions

    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        
        uint256 evoTaxB = amount * buyEvo / 10000;
	    uint256 evoTaxS = amount * sellEvo / 10000;
        uint256 lpTaxB = amount * buyLP / 10000;
	    uint256 lpTaxS = amount * sellLP / 10000;
        uint256 taxToGet;

	    if(sender == pair && recipient != address(pair) && !isFeeExempt[recipient]) {
            taxToGet = evoTaxB + lpTaxB;
	        addTaxCollected(evoTaxB, lpTaxB);
	    }

	    if(!inSwapAndLiquify && sender != pair && tradingOpen) {
	        taxToGet = evoTaxS + lpTaxS;
	        addTaxCollected(evoTaxS, lpTaxS);
	    }

        _balances[address(this)] = _balances[address(this)] + taxToGet;
        emit Transfer(sender, address(this), taxToGet);

        return amount - taxToGet;
    }

    function addTaxCollected(uint evo, uint lp) internal {
        taxesCollected[0] += evo;
        taxesCollected[1] += lp;
    }

    function burnTransferSwitch(bool _switch) external onlyOwner {
        burnTransferToggle = _switch;
    }

//LP and Swapback Functions

    function swapTokensForETH(uint256 tokenAmount) private {

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

        approve(address(this), tokenAmount);

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

    function addLiquidity(uint256 tokenAmount, uint256 ETHAmount) private {
        router.addLiquidityETH{value: ETHAmount}(
            address(this),
            tokenAmount,
            0,
            0,
            liquidityPool,
            block.timestamp
        );
    }

    function swapBack() internal lockTheSwap {
    
        uint256 tokenBalance = _balances[address(this)];
        uint256 _totalCollected = taxesCollected[0] + taxesCollected[1];
        uint256 evoShare = taxesCollected[0];
        uint256 lpShare = taxesCollected[1];
        uint256 tokensForLiquidity = lpShare / 2;  
        uint256 amountToSwap = tokenBalance - tokensForLiquidity;

        swapTokensForETH(amountToSwap);

        uint256 totalETHBalance = address(this).balance;
        uint256 ETHForEvo = totalETHBalance * evoShare / _totalCollected;
        uint256 ETHForLiquidity = totalETHBalance * lpShare / _totalCollected / 2;
      
        if (totalETHBalance > 0) {
            payable(evoWallet).transfer(ETHForEvo);
        }
  
        if (tokensForLiquidity > 0) {
            addLiquidity(tokensForLiquidity, ETHForLiquidity);
        }

	    delete taxesCollected;
    }

    function manualSwapBack() external onlyOwner {
        swapBack();
    }

// Update/Change Functions

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

    function setEvoWallet(address payable newEvoWallet) external onlyOwner {
        require(newEvoWallet != address(0), "Cannot be set to zero address");
        isFeeExempt[evoWallet] = false;
        evoWallet = payable(newEvoWallet);
        isFeeExempt[evoWallet] = true;
        emit EvoWalletUpdated(newEvoWallet);
    }

    function setLiquidityPool(address newLiquidityPool) external onlyOwner {
        require(newLiquidityPool != address(0), "Cannot be set to zero address");
        liquidityPool = newLiquidityPool;
        emit LiquidityPoolUpdated(newLiquidityPool);
    }

    function changeSwapBackSettings(bool enableSwapback, uint256 newSwapbackLimit) external onlyOwner {
        require(newSwapbackLimit >= 1000 * (10 ** _decimals), "Limit must be over 1,000 tokens");
        swapAndLiquifyEnabled  = enableSwapback;
        swapThreshold = newSwapbackLimit;
        emit SwapbackSettingsChanged(enableSwapback, newSwapbackLimit);
    }


    function updateBuyFees(uint256 newBuyEvoFee, uint256 newBuyLpFee) public onlyOwner {
	    require(newBuyEvoFee + newBuyLpFee <= 500, "Fees Too High");
	    buyEvo = newBuyEvoFee;
	    buyLP = newBuyLpFee;
        emit BuyFeesUpdated(newBuyEvoFee, newBuyLpFee);
    }
    
    function updateSellFees(uint256 newSellEvoFee,uint256 newSellLpFee) public onlyOwner {
	    require(newSellEvoFee + newSellLpFee <= 500, "Fees Too High");
	    sellEvo = newSellEvoFee;
	    sellLP = newSellLpFee;
        emit SellFeesUpdated(newSellEvoFee, newSellLpFee);
    }

    function updateBurnTransferFees(uint256 _newBurnTransferTax) public onlyOwner {
        require(_newBurnTransferTax <= 200, "Fees Too High");
        xferBurn = _newBurnTransferTax;
    }

    function updateRouter(IDEXRouter _newRouter) external onlyOwner {
        require(_newRouter != IDEXRouter(ZERO), "Cannot be set to zero address");
        require(_newRouter != IDEXRouter(DEAD), "Cannot be set to zero address");
        router = _newRouter;
        emit RouterUpdated(_newRouter);
    }

    function clearStuckETH() external onlyOwner {
        uint256 contractETHBalance = address(this).balance;
        if(contractETHBalance > 0) { 
            payable(evoWallet).transfer(contractETHBalance);
    	}
    }

    function clearStuckTokens(address contractAddress) external onlyOwner {
        IERC20 erc20Token = IERC20(contractAddress);
        uint256 balance = erc20Token.balanceOf(address(this));
        erc20Token.transfer(evoWallet, balance);
        if(contractAddress == address(this)) { delete taxesCollected; }
    }

}

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":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_newEvo","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_newLp","type":"uint256"}],"name":"BuyFeesUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_newWallet","type":"address"}],"name":"EvoWalletUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_exemptWallet","type":"address"},{"indexed":false,"internalType":"bool","name":"_exempt","type":"bool"}],"name":"FeeExemptionChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_newPool","type":"address"}],"name":"LiquidityPoolUpdated","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":"contract IDEXRouter","name":"_newRouter","type":"address"}],"name":"RouterUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_neEvo","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_newLp","type":"uint256"}],"name":"SellFeesUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"_enabled","type":"bool"},{"indexed":false,"internalType":"uint256","name":"_newSwapbackAmount","type":"uint256"}],"name":"SwapbackSettingsChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"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":[],"name":"baseBuyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseSellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_switch","type":"bool"}],"name":"burnTransferSwitch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"burnTransferToggle","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"changeIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enableSwapback","type":"bool"},{"internalType":"uint256","name":"newSwapbackLimit","type":"uint256"}],"name":"changeSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clearStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"}],"name":"clearStuckTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"evoWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"factory","outputs":[{"internalType":"address","name":"","type":"address"}],"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":[],"name":"launchSequence","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityPool","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwapBack","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"newEvoWallet","type":"address"}],"name":"setEvoWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newLiquidityPool","type":"address"}],"name":"setLiquidityPool","outputs":[],"stateMutability":"nonpayable","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":"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":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newBurnTransferTax","type":"uint256"}],"name":"updateBurnTransferFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyEvoFee","type":"uint256"},{"internalType":"uint256","name":"newBuyLpFee","type":"uint256"}],"name":"updateBuyFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IDEXRouter","name":"_newRouter","type":"address"}],"name":"updateRouter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newSellEvoFee","type":"uint256"},{"internalType":"uint256","name":"newSellLpFee","type":"uint256"}],"name":"updateSellFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a62000056919062000ad6565b6305f5e10062000067919062000b27565b6003556103e86003546200007c919062000bb7565b60045561dead600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280600060ff168152602001600060ff168152506009906002620000f1929190620008d3565b50600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061012c600d5561012c600e5560c8600f5560c86010556032601155600f54600d5462000182919062000bef565b601255601054600e5462000197919062000bef565b60135573583fd38aefa8ac399484d52efaa752e1f2259d59601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601760156101000a81548160ff0219169083151502179055506000601760166101000a81548160ff02191690831515021790555060016017806101000a81548160ff0219169083151502179055503480156200024c57600080fd5b506200026d62000261620007de60201b60201c565b620007e660201b60201c565b737a250d5630b4cf539739df2c5dacb4c659f2488d601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000330573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000356919062000cb6565b600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000404573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200042a919062000cb6565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16306040518363ffffffff1660e01b81526004016200048892919062000cf9565b6020604051808303816000875af1158015620004a8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004ce919062000cb6565b601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160076000620005e7620008aa60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160076000601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506003546005600062000721620008aa60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200076f620008aa60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600354604051620007d0919062000d37565b60405180910390a362000d54565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b82600281019282156200090a579160200282015b8281111562000909578251829060ff16905591602001919060010190620008e7565b5b5090506200091991906200091d565b5090565b5b80821115620009385760008160009055506001016200091e565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620009ca57808604811115620009a257620009a16200093c565b5b6001851615620009b25780820291505b8081029050620009c2856200096b565b945062000982565b94509492505050565b600082620009e5576001905062000ab8565b81620009f5576000905062000ab8565b816001811462000a0e576002811462000a195762000a4f565b600191505062000ab8565b60ff84111562000a2e5762000a2d6200093c565b5b8360020a91508482111562000a485762000a476200093c565b5b5062000ab8565b5060208310610133831016604e8410600b841016171562000a895782820a90508381111562000a835762000a826200093c565b5b62000ab8565b62000a98848484600162000978565b9250905081840481111562000ab25762000ab16200093c565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000ae38262000abf565b915062000af08362000ac9565b925062000b1f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620009d3565b905092915050565b600062000b348262000abf565b915062000b418362000abf565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000b7d5762000b7c6200093c565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000bc48262000abf565b915062000bd18362000abf565b92508262000be45762000be362000b88565b5b828204905092915050565b600062000bfc8262000abf565b915062000c098362000abf565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000c415762000c406200093c565b5b828201905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000c7e8262000c51565b9050919050565b62000c908162000c71565b811462000c9c57600080fd5b50565b60008151905062000cb08162000c85565b92915050565b60006020828403121562000ccf5762000cce62000c4c565b5b600062000cdf8482850162000c9f565b91505092915050565b62000cf38162000c71565b82525050565b600060408201905062000d10600083018562000ce8565b62000d1f602083018462000ce8565b9392505050565b62000d318162000abf565b82525050565b600060208201905062000d4e600083018462000d26565b92915050565b6141878062000d646000396000f3fe60806040526004361061024a5760003560e01c806366eb378511610139578063bf56b371116100b6578063dd62ed3e1161007a578063dd62ed3e14610855578063f2fde38b14610892578063f726c804146108bb578063f887ea40146108e4578063f88de0c31461090f578063ffb54a991461092657610251565b8063bf56b37114610780578063c45a0155146107ab578063c851cc32146107d6578063d073a01f146107ff578063d726b2211461082a57610251565b80638da5cb5b116100fd5780638da5cb5b1461069957806395d89b41146106c4578063a3a2e89e146106ef578063a8aa1b3114610718578063a9059cbb1461074357610251565b806366eb3785146105da57806370a08231146105f1578063715018a61461062e5780637306db5d14610645578063893d20e81461066e57610251565b8063313ce567116101c7578063527de4701161018b578063527de470146104f5578063548ee3fe14610520578063571ac8b014610549578063665a11ca1461058657806366ca9b83146105b157610251565b8063313ce56714610410578063346cc7be1461043b5780633dab5269146104645780633f4218e01461048d5780634a74bb02146104ca57610251565b806318160ddd1161020e57806318160ddd1461033b57806323b872dd1461036657806329be46fe146103a35780632b112e49146103ce5780632ebcbf6c146103f957610251565b8063018770201461025657806302dbd8f81461027f5780630445b667146102a857806306fdde03146102d3578063095ea7b3146102fe57610251565b3661025157005b600080fd5b34801561026257600080fd5b5061027d600480360381019061027891906130a2565b610951565b005b34801561028b57600080fd5b506102a660048036038101906102a19190613105565b610a4f565b005b3480156102b457600080fd5b506102bd610af2565b6040516102ca9190613154565b60405180910390f35b3480156102df57600080fd5b506102e8610af8565b6040516102f59190613208565b60405180910390f35b34801561030a57600080fd5b506103256004803603810190610320919061322a565b610b35565b6040516103329190613285565b60405180910390f35b34801561034757600080fd5b50610350610c27565b60405161035d9190613154565b60405180910390f35b34801561037257600080fd5b5061038d600480360381019061038891906132a0565b610c31565b60405161039a9190613285565b60405180910390f35b3480156103af57600080fd5b506103b8610df3565b6040516103c59190613302565b60405180910390f35b3480156103da57600080fd5b506103e3610e19565b6040516103f09190613154565b60405180910390f35b34801561040557600080fd5b5061040e610e8d565b005b34801561041c57600080fd5b50610425610efe565b6040516104329190613339565b60405180910390f35b34801561044757600080fd5b50610462600480360381019061045d91906130a2565b610f07565b005b34801561047057600080fd5b5061048b60048036038101906104869190613380565b61107a565b005b34801561049957600080fd5b506104b460048036038101906104af91906130a2565b61113d565b6040516104c19190613285565b60405180910390f35b3480156104d657600080fd5b506104df61115d565b6040516104ec9190613285565b60405180910390f35b34801561050157600080fd5b5061050a611170565b6040516105179190613285565b60405180910390f35b34801561052c57600080fd5b50610547600480360381019061054291906133c0565b611181565b005b34801561055557600080fd5b50610570600480360381019061056b91906130a2565b6111d7565b60405161057d9190613285565b60405180910390f35b34801561059257600080fd5b5061059b61120a565b6040516105a89190613302565b60405180910390f35b3480156105bd57600080fd5b506105d860048036038101906105d39190613105565b611230565b005b3480156105e657600080fd5b506105ef6112d3565b005b3480156105fd57600080fd5b50610618600480360381019061061391906130a2565b6112e5565b6040516106259190613154565b60405180910390f35b34801561063a57600080fd5b5061064361132e565b005b34801561065157600080fd5b5061066c600480360381019061066791906133ed565b611363565b005b34801561067a57600080fd5b50610683611387565b6040516106909190613302565b60405180910390f35b3480156106a557600080fd5b506106ae611396565b6040516106bb9190613302565b60405180910390f35b3480156106d057600080fd5b506106d96113bf565b6040516106e69190613208565b60405180910390f35b3480156106fb57600080fd5b506107166004803603810190610711919061341a565b6113fc565b005b34801561072457600080fd5b5061072d6114ad565b60405161073a9190613302565b60405180910390f35b34801561074f57600080fd5b5061076a6004803603810190610765919061322a565b6114d3565b6040516107779190613285565b60405180910390f35b34801561078c57600080fd5b506107956114e8565b6040516107a29190613154565b60405180910390f35b3480156107b757600080fd5b506107c06114ee565b6040516107cd9190613302565b60405180910390f35b3480156107e257600080fd5b506107fd60048036038101906107f89190613498565b611514565b005b34801561080b57600080fd5b506108146116c3565b6040516108219190613154565b60405180910390f35b34801561083657600080fd5b5061083f6116cd565b60405161084c9190613154565b60405180910390f35b34801561086157600080fd5b5061087c600480360381019061087791906134c5565b6116d7565b6040516108899190613154565b60405180910390f35b34801561089e57600080fd5b506108b960048036038101906108b491906130a2565b61175e565b005b3480156108c757600080fd5b506108e260048036038101906108dd9190613543565b611802565b005b3480156108f057600080fd5b506108f96119f4565b60405161090691906135cf565b60405180910390f35b34801561091b57600080fd5b50610924611a1a565b005b34801561093257600080fd5b5061093b611a9d565b6040516109489190613285565b60405180910390f35b610959611ab0565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036109c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bf90613636565b60405180910390fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167fedf1a035d265f6321083031b40acf4e5e06cd3e2e2025192fd308409b13b44c660405160405180910390a250565b610a57611ab0565b6101f48183610a669190613685565b1115610aa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9e90613727565b60405180910390fd5b81600e81905550806010819055507f2c7448b63380296b372453c5287509524b5b645dc6a93ffe09e0af53e6b8935b8282604051610ae6929190613747565b60405180910390a15050565b60045481565b60606040518060400160405280600881526020017f45766f6a61636b73000000000000000000000000000000000000000000000000815250905090565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610c159190613154565b60405180910390a36001905092915050565b6000600354905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610ddf5781600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d5e9190613770565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610dea848484611b2e565b90509392505050565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610e46600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166112e5565b610e71600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166112e5565b600354610e7e9190613770565b610e889190613770565b905090565b610e95611ab0565b6000600b5414610eda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed1906137f0565b60405180910390fd5b43600b819055506001601760166101000a81548160ff021916908315150217905550565b60006012905090565b610f0f611ab0565b600081905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610f4f9190613302565b602060405180830381865afa158015610f6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f909190613825565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610fef929190613852565b6020604051808303816000875af115801561100e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110329190613890565b503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361107557600960006110749190613031565b5b505050565b611082611ab0565b6012600a61109091906139f0565b6103e861109d9190613a3b565b8110156110df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d690613ae1565b60405180910390fd5b81601760156101000a81548160ff021916908315150217905550806004819055507f479b6e261fc1ed1b1a450fd333c906ece427a6ef5cdb37d2762bf1834ea090488282604051611131929190613b01565b60405180910390a15050565b60076020528060005260406000206000915054906101000a900460ff1681565b601760159054906101000a900460ff1681565b60178054906101000a900460ff1681565b611189611ab0565b60c88111156111cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c490613727565b60405180910390fd5b8060118190555050565b6000611203827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610b35565b9050919050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611238611ab0565b6101f481836112479190613685565b1115611288576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127f90613727565b60405180910390fd5b81600d8190555080600f819055507f480af1f773972b1df72af32ec463e0fdeb1b49f1ca37d07982f677919d5fdd0c82826040516112c7929190613747565b60405180910390a15050565b6112db611ab0565b6112e361217a565b565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611336611ab0565b611361600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612377565b565b61136b611ab0565b806017806101000a81548160ff02191690831515021790555050565b6000611391611396565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f454a580000000000000000000000000000000000000000000000000000000000815250905090565b611404611ab0565b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9f1eaee9ad9cb68284f0dc523aa42c465ed33b53f8da7fc7294ccea47358bbdf826040516114a19190613285565b60405180910390a25050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006114e0338484611b2e565b905092915050565b600b5481565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61151c611ab0565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036115ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a390613636565b60405180910390fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361163c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163390613636565b60405180910390fd5b80601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167f7aed1d3e8155a07ccf395e44ea3109a0e2d6c9b29bbbe9f142d9790596f4dc8060405160405180910390a250565b6000601354905090565b6000601254905090565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611766611ab0565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036117f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ed90613b9c565b60405180910390fd5b6117ff81612377565b50565b61180a611ab0565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611879576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187090613636565b60405180910390fd5b600060076000601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160076000601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f62f4a28a39b0a28ebc822847f71cb96c68bd5a4cce7aada521c732c464ebf2ac60405160405180910390a250565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611a22611ab0565b60004790506000811115611a9a57601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611a98573d6000803e3d6000fd5b505b50565b601760169054906101000a900460ff1681565b611ab861243b565b73ffffffffffffffffffffffffffffffffffffffff16611ad6611396565b73ffffffffffffffffffffffffffffffffffffffff1614611b2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2390613c08565b60405180910390fd5b565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611b9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9590613c9a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0490613d2c565b60405180910390fd5b60008211611c50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4790613dbe565b60405180910390fd5b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611cf45750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611d4957601760169054906101000a900460ff16611d48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3f90613e2a565b60405180910390fd5b5b601760149054906101000a900460ff1615611d7057611d69848484612443565b9050612173565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611e1c5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611e3957506001151560178054906101000a900460ff161515145b15611e5057611e498484846125d1565b9050612173565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015611ebb5750601760149054906101000a900460ff16155b8015611ed35750601760159054906101000a900460ff165b8015611f205750600454600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b15611f2e57611f2d61217a565b5b81600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f799190613770565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156120625750600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61206c5782612078565b612077858585612993565b5b905080600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120c59190613685565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516121659190613154565b60405180910390a360019150505b9392505050565b6001601760146101000a81548160ff0219169083151502179055506000600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600060096001600281106121f0576121ef613e4a565b5b0154600960006002811061220757612206613e4a565b5b01546122139190613685565b90506000600960006002811061222c5761222b613e4a565b5b015490506000600960016002811061224757612246613e4a565b5b01549050600060028261225a9190613ea8565b90506000818661226a9190613770565b905061227581612cdf565b600047905060008686836122899190613a3b565b6122939190613ea8565b9050600060028887856122a69190613a3b565b6122b09190613ea8565b6122ba9190613ea8565b9050600083111561232f57601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f1935050505015801561232d573d6000803e3d6000fd5b505b6000851115612343576123428582612f00565b5b600960006123519190613031565b5050505050505050506000601760146101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b600081600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124909190613770565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461251e9190613685565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516125be9190613154565b60405180910390a3600190509392505050565b600080612710601154846125e59190613a3b565b6125ef9190613ea8565b90506000600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561264b5783612658565b81846126579190613770565b5b905083600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126a59190613770565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127339190613685565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612921578160056000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128349190613685565b60056000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fbac40739b0d4ca32fa2d82fc91630465ba3eddd1598da6fca393b26fb63b9453846040516129189190613154565b60405180910390a35b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161297e9190613154565b60405180910390a36001925050509392505050565b600080612710600d54846129a79190613a3b565b6129b19190613ea8565b90506000612710600e54856129c69190613a3b565b6129d09190613ea8565b90506000612710600f54866129e59190613a3b565b6129ef9190613ea8565b9050600061271060105487612a049190613a3b565b612a0e9190613ea8565b90506000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff16148015612abd5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b8015612b135750600760008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612b31578285612b249190613685565b9050612b308584612fd3565b5b601760149054906101000a900460ff16158015612b9c5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b8015612bb45750601760169054906101000a900460ff165b15612bd2578184612bc59190613685565b9050612bd18483612fd3565b5b80600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c1d9190613685565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612cbd9190613154565b60405180910390a38087612cd19190613770565b955050505050509392505050565b6000600267ffffffffffffffff811115612cfc57612cfb613ed9565b5b604051908082528060200260200182016040528015612d2a5781602001602082028036833780820191505090505b5090503081600081518110612d4257612d41613e4a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612de9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e0d9190613f1d565b81600181518110612e2157612e20613e4a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612e653083610b35565b50601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612eca959493929190614043565b600060405180830381600087803b158015612ee457600080fd5b505af1158015612ef8573d6000803e3d6000fd5b505050505050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b8152600401612f899695949392919061409d565b60606040518083038185885af1158015612fa7573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612fcc91906140fe565b5050505050565b816009600060028110612fe957612fe8613e4a565b5b016000828254612ff99190613685565b9250508190555080600960016002811061301657613015613e4a565b5b0160008282546130269190613685565b925050819055505050565b506000815560010160009055565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061306f82613044565b9050919050565b61307f81613064565b811461308a57600080fd5b50565b60008135905061309c81613076565b92915050565b6000602082840312156130b8576130b761303f565b5b60006130c68482850161308d565b91505092915050565b6000819050919050565b6130e2816130cf565b81146130ed57600080fd5b50565b6000813590506130ff816130d9565b92915050565b6000806040838503121561311c5761311b61303f565b5b600061312a858286016130f0565b925050602061313b858286016130f0565b9150509250929050565b61314e816130cf565b82525050565b60006020820190506131696000830184613145565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156131a957808201518184015260208101905061318e565b838111156131b8576000848401525b50505050565b6000601f19601f8301169050919050565b60006131da8261316f565b6131e4818561317a565b93506131f481856020860161318b565b6131fd816131be565b840191505092915050565b6000602082019050818103600083015261322281846131cf565b905092915050565b600080604083850312156132415761324061303f565b5b600061324f8582860161308d565b9250506020613260858286016130f0565b9150509250929050565b60008115159050919050565b61327f8161326a565b82525050565b600060208201905061329a6000830184613276565b92915050565b6000806000606084860312156132b9576132b861303f565b5b60006132c78682870161308d565b93505060206132d88682870161308d565b92505060406132e9868287016130f0565b9150509250925092565b6132fc81613064565b82525050565b600060208201905061331760008301846132f3565b92915050565b600060ff82169050919050565b6133338161331d565b82525050565b600060208201905061334e600083018461332a565b92915050565b61335d8161326a565b811461336857600080fd5b50565b60008135905061337a81613354565b92915050565b600080604083850312156133975761339661303f565b5b60006133a58582860161336b565b92505060206133b6858286016130f0565b9150509250929050565b6000602082840312156133d6576133d561303f565b5b60006133e4848285016130f0565b91505092915050565b6000602082840312156134035761340261303f565b5b60006134118482850161336b565b91505092915050565b600080604083850312156134315761343061303f565b5b600061343f8582860161308d565b92505060206134508582860161336b565b9150509250929050565b600061346582613064565b9050919050565b6134758161345a565b811461348057600080fd5b50565b6000813590506134928161346c565b92915050565b6000602082840312156134ae576134ad61303f565b5b60006134bc84828501613483565b91505092915050565b600080604083850312156134dc576134db61303f565b5b60006134ea8582860161308d565b92505060206134fb8582860161308d565b9150509250929050565b600061351082613044565b9050919050565b61352081613505565b811461352b57600080fd5b50565b60008135905061353d81613517565b92915050565b6000602082840312156135595761355861303f565b5b60006135678482850161352e565b91505092915050565b6000819050919050565b600061359561359061358b84613044565b613570565b613044565b9050919050565b60006135a78261357a565b9050919050565b60006135b98261359c565b9050919050565b6135c9816135ae565b82525050565b60006020820190506135e460008301846135c0565b92915050565b7f43616e6e6f742062652073657420746f207a65726f2061646472657373000000600082015250565b6000613620601d8361317a565b915061362b826135ea565b602082019050919050565b6000602082019050818103600083015261364f81613613565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613690826130cf565b915061369b836130cf565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156136d0576136cf613656565b5b828201905092915050565b7f4665657320546f6f204869676800000000000000000000000000000000000000600082015250565b6000613711600d8361317a565b915061371c826136db565b602082019050919050565b6000602082019050818103600083015261374081613704565b9050919050565b600060408201905061375c6000830185613145565b6137696020830184613145565b9392505050565b600061377b826130cf565b9150613786836130cf565b92508282101561379957613798613656565b5b828203905092915050565b7f416c7265616479206c61756e6368656400000000000000000000000000000000600082015250565b60006137da60108361317a565b91506137e5826137a4565b602082019050919050565b60006020820190508181036000830152613809816137cd565b9050919050565b60008151905061381f816130d9565b92915050565b60006020828403121561383b5761383a61303f565b5b600061384984828501613810565b91505092915050565b600060408201905061386760008301856132f3565b6138746020830184613145565b9392505050565b60008151905061388a81613354565b92915050565b6000602082840312156138a6576138a561303f565b5b60006138b48482850161387b565b91505092915050565b60008160011c9050919050565b6000808291508390505b6001851115613914578086048111156138f0576138ef613656565b5b60018516156138ff5780820291505b808102905061390d856138bd565b94506138d4565b94509492505050565b60008261392d57600190506139e9565b8161393b57600090506139e9565b8160018114613951576002811461395b5761398a565b60019150506139e9565b60ff84111561396d5761396c613656565b5b8360020a91508482111561398457613983613656565b5b506139e9565b5060208310610133831016604e8410600b84101617156139bf5782820a9050838111156139ba576139b9613656565b5b6139e9565b6139cc84848460016138ca565b925090508184048111156139e3576139e2613656565b5b81810290505b9392505050565b60006139fb826130cf565b9150613a068361331d565b9250613a337fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461391d565b905092915050565b6000613a46826130cf565b9150613a51836130cf565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613a8a57613a89613656565b5b828202905092915050565b7f4c696d6974206d757374206265206f76657220312c30303020746f6b656e7300600082015250565b6000613acb601f8361317a565b9150613ad682613a95565b602082019050919050565b60006020820190508181036000830152613afa81613abe565b9050919050565b6000604082019050613b166000830185613276565b613b236020830184613145565b9392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613b8660268361317a565b9150613b9182613b2a565b604082019050919050565b60006020820190508181036000830152613bb581613b79565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613bf260208361317a565b9150613bfd82613bbc565b602082019050919050565b60006020820190508181036000830152613c2181613be5565b9050919050565b7f42455032303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613c8460258361317a565b9150613c8f82613c28565b604082019050919050565b60006020820190508181036000830152613cb381613c77565b9050919050565b7f42455032303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613d1660238361317a565b9150613d2182613cba565b604082019050919050565b60006020820190508181036000830152613d4581613d09565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613da860298361317a565b9150613db382613d4c565b604082019050919050565b60006020820190508181036000830152613dd781613d9b565b9050919050565b7f54726164696e67206e6f74206163746976650000000000000000000000000000600082015250565b6000613e1460128361317a565b9150613e1f82613dde565b602082019050919050565b60006020820190508181036000830152613e4381613e07565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613eb3826130cf565b9150613ebe836130cf565b925082613ece57613ecd613e79565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600081519050613f1781613076565b92915050565b600060208284031215613f3357613f3261303f565b5b6000613f4184828501613f08565b91505092915050565b6000819050919050565b6000613f6f613f6a613f6584613f4a565b613570565b6130cf565b9050919050565b613f7f81613f54565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613fba81613064565b82525050565b6000613fcc8383613fb1565b60208301905092915050565b6000602082019050919050565b6000613ff082613f85565b613ffa8185613f90565b935061400583613fa1565b8060005b8381101561403657815161401d8882613fc0565b975061402883613fd8565b925050600181019050614009565b5085935050505092915050565b600060a0820190506140586000830188613145565b6140656020830187613f76565b81810360408301526140778186613fe5565b905061408660608301856132f3565b6140936080830184613145565b9695505050505050565b600060c0820190506140b260008301896132f3565b6140bf6020830188613145565b6140cc6040830187613f76565b6140d96060830186613f76565b6140e660808301856132f3565b6140f360a0830184613145565b979650505050505050565b6000806000606084860312156141175761411661303f565b5b600061412586828701613810565b935050602061413686828701613810565b925050604061414786828701613810565b915050925092509256fea2646970667358221220e13b45399b87905f587e1486b26ffc7b3b26a0b563b956e3be218f0ebb29d7d764736f6c634300080d0033

Deployed Bytecode

0x60806040526004361061024a5760003560e01c806366eb378511610139578063bf56b371116100b6578063dd62ed3e1161007a578063dd62ed3e14610855578063f2fde38b14610892578063f726c804146108bb578063f887ea40146108e4578063f88de0c31461090f578063ffb54a991461092657610251565b8063bf56b37114610780578063c45a0155146107ab578063c851cc32146107d6578063d073a01f146107ff578063d726b2211461082a57610251565b80638da5cb5b116100fd5780638da5cb5b1461069957806395d89b41146106c4578063a3a2e89e146106ef578063a8aa1b3114610718578063a9059cbb1461074357610251565b806366eb3785146105da57806370a08231146105f1578063715018a61461062e5780637306db5d14610645578063893d20e81461066e57610251565b8063313ce567116101c7578063527de4701161018b578063527de470146104f5578063548ee3fe14610520578063571ac8b014610549578063665a11ca1461058657806366ca9b83146105b157610251565b8063313ce56714610410578063346cc7be1461043b5780633dab5269146104645780633f4218e01461048d5780634a74bb02146104ca57610251565b806318160ddd1161020e57806318160ddd1461033b57806323b872dd1461036657806329be46fe146103a35780632b112e49146103ce5780632ebcbf6c146103f957610251565b8063018770201461025657806302dbd8f81461027f5780630445b667146102a857806306fdde03146102d3578063095ea7b3146102fe57610251565b3661025157005b600080fd5b34801561026257600080fd5b5061027d600480360381019061027891906130a2565b610951565b005b34801561028b57600080fd5b506102a660048036038101906102a19190613105565b610a4f565b005b3480156102b457600080fd5b506102bd610af2565b6040516102ca9190613154565b60405180910390f35b3480156102df57600080fd5b506102e8610af8565b6040516102f59190613208565b60405180910390f35b34801561030a57600080fd5b506103256004803603810190610320919061322a565b610b35565b6040516103329190613285565b60405180910390f35b34801561034757600080fd5b50610350610c27565b60405161035d9190613154565b60405180910390f35b34801561037257600080fd5b5061038d600480360381019061038891906132a0565b610c31565b60405161039a9190613285565b60405180910390f35b3480156103af57600080fd5b506103b8610df3565b6040516103c59190613302565b60405180910390f35b3480156103da57600080fd5b506103e3610e19565b6040516103f09190613154565b60405180910390f35b34801561040557600080fd5b5061040e610e8d565b005b34801561041c57600080fd5b50610425610efe565b6040516104329190613339565b60405180910390f35b34801561044757600080fd5b50610462600480360381019061045d91906130a2565b610f07565b005b34801561047057600080fd5b5061048b60048036038101906104869190613380565b61107a565b005b34801561049957600080fd5b506104b460048036038101906104af91906130a2565b61113d565b6040516104c19190613285565b60405180910390f35b3480156104d657600080fd5b506104df61115d565b6040516104ec9190613285565b60405180910390f35b34801561050157600080fd5b5061050a611170565b6040516105179190613285565b60405180910390f35b34801561052c57600080fd5b50610547600480360381019061054291906133c0565b611181565b005b34801561055557600080fd5b50610570600480360381019061056b91906130a2565b6111d7565b60405161057d9190613285565b60405180910390f35b34801561059257600080fd5b5061059b61120a565b6040516105a89190613302565b60405180910390f35b3480156105bd57600080fd5b506105d860048036038101906105d39190613105565b611230565b005b3480156105e657600080fd5b506105ef6112d3565b005b3480156105fd57600080fd5b50610618600480360381019061061391906130a2565b6112e5565b6040516106259190613154565b60405180910390f35b34801561063a57600080fd5b5061064361132e565b005b34801561065157600080fd5b5061066c600480360381019061066791906133ed565b611363565b005b34801561067a57600080fd5b50610683611387565b6040516106909190613302565b60405180910390f35b3480156106a557600080fd5b506106ae611396565b6040516106bb9190613302565b60405180910390f35b3480156106d057600080fd5b506106d96113bf565b6040516106e69190613208565b60405180910390f35b3480156106fb57600080fd5b506107166004803603810190610711919061341a565b6113fc565b005b34801561072457600080fd5b5061072d6114ad565b60405161073a9190613302565b60405180910390f35b34801561074f57600080fd5b5061076a6004803603810190610765919061322a565b6114d3565b6040516107779190613285565b60405180910390f35b34801561078c57600080fd5b506107956114e8565b6040516107a29190613154565b60405180910390f35b3480156107b757600080fd5b506107c06114ee565b6040516107cd9190613302565b60405180910390f35b3480156107e257600080fd5b506107fd60048036038101906107f89190613498565b611514565b005b34801561080b57600080fd5b506108146116c3565b6040516108219190613154565b60405180910390f35b34801561083657600080fd5b5061083f6116cd565b60405161084c9190613154565b60405180910390f35b34801561086157600080fd5b5061087c600480360381019061087791906134c5565b6116d7565b6040516108899190613154565b60405180910390f35b34801561089e57600080fd5b506108b960048036038101906108b491906130a2565b61175e565b005b3480156108c757600080fd5b506108e260048036038101906108dd9190613543565b611802565b005b3480156108f057600080fd5b506108f96119f4565b60405161090691906135cf565b60405180910390f35b34801561091b57600080fd5b50610924611a1a565b005b34801561093257600080fd5b5061093b611a9d565b6040516109489190613285565b60405180910390f35b610959611ab0565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036109c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bf90613636565b60405180910390fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167fedf1a035d265f6321083031b40acf4e5e06cd3e2e2025192fd308409b13b44c660405160405180910390a250565b610a57611ab0565b6101f48183610a669190613685565b1115610aa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9e90613727565b60405180910390fd5b81600e81905550806010819055507f2c7448b63380296b372453c5287509524b5b645dc6a93ffe09e0af53e6b8935b8282604051610ae6929190613747565b60405180910390a15050565b60045481565b60606040518060400160405280600881526020017f45766f6a61636b73000000000000000000000000000000000000000000000000815250905090565b600081600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610c159190613154565b60405180910390a36001905092915050565b6000600354905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610ddf5781600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d5e9190613770565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610dea848484611b2e565b90509392505050565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610e46600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166112e5565b610e71600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166112e5565b600354610e7e9190613770565b610e889190613770565b905090565b610e95611ab0565b6000600b5414610eda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed1906137f0565b60405180910390fd5b43600b819055506001601760166101000a81548160ff021916908315150217905550565b60006012905090565b610f0f611ab0565b600081905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610f4f9190613302565b602060405180830381865afa158015610f6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f909190613825565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610fef929190613852565b6020604051808303816000875af115801561100e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110329190613890565b503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361107557600960006110749190613031565b5b505050565b611082611ab0565b6012600a61109091906139f0565b6103e861109d9190613a3b565b8110156110df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d690613ae1565b60405180910390fd5b81601760156101000a81548160ff021916908315150217905550806004819055507f479b6e261fc1ed1b1a450fd333c906ece427a6ef5cdb37d2762bf1834ea090488282604051611131929190613b01565b60405180910390a15050565b60076020528060005260406000206000915054906101000a900460ff1681565b601760159054906101000a900460ff1681565b60178054906101000a900460ff1681565b611189611ab0565b60c88111156111cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c490613727565b60405180910390fd5b8060118190555050565b6000611203827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610b35565b9050919050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611238611ab0565b6101f481836112479190613685565b1115611288576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127f90613727565b60405180910390fd5b81600d8190555080600f819055507f480af1f773972b1df72af32ec463e0fdeb1b49f1ca37d07982f677919d5fdd0c82826040516112c7929190613747565b60405180910390a15050565b6112db611ab0565b6112e361217a565b565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611336611ab0565b611361600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612377565b565b61136b611ab0565b806017806101000a81548160ff02191690831515021790555050565b6000611391611396565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f454a580000000000000000000000000000000000000000000000000000000000815250905090565b611404611ab0565b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9f1eaee9ad9cb68284f0dc523aa42c465ed33b53f8da7fc7294ccea47358bbdf826040516114a19190613285565b60405180910390a25050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006114e0338484611b2e565b905092915050565b600b5481565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61151c611ab0565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036115ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a390613636565b60405180910390fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361163c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163390613636565b60405180910390fd5b80601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167f7aed1d3e8155a07ccf395e44ea3109a0e2d6c9b29bbbe9f142d9790596f4dc8060405160405180910390a250565b6000601354905090565b6000601254905090565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611766611ab0565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036117f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ed90613b9c565b60405180910390fd5b6117ff81612377565b50565b61180a611ab0565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611879576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187090613636565b60405180910390fd5b600060076000601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160076000601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f62f4a28a39b0a28ebc822847f71cb96c68bd5a4cce7aada521c732c464ebf2ac60405160405180910390a250565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611a22611ab0565b60004790506000811115611a9a57601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611a98573d6000803e3d6000fd5b505b50565b601760169054906101000a900460ff1681565b611ab861243b565b73ffffffffffffffffffffffffffffffffffffffff16611ad6611396565b73ffffffffffffffffffffffffffffffffffffffff1614611b2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2390613c08565b60405180910390fd5b565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611b9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9590613c9a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0490613d2c565b60405180910390fd5b60008211611c50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4790613dbe565b60405180910390fd5b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611cf45750600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611d4957601760169054906101000a900460ff16611d48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3f90613e2a565b60405180910390fd5b5b601760149054906101000a900460ff1615611d7057611d69848484612443565b9050612173565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611e1c5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611e3957506001151560178054906101000a900460ff161515145b15611e5057611e498484846125d1565b9050612173565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015611ebb5750601760149054906101000a900460ff16155b8015611ed35750601760159054906101000a900460ff165b8015611f205750600454600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b15611f2e57611f2d61217a565b5b81600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f799190613770565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156120625750600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61206c5782612078565b612077858585612993565b5b905080600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120c59190613685565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516121659190613154565b60405180910390a360019150505b9392505050565b6001601760146101000a81548160ff0219169083151502179055506000600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600060096001600281106121f0576121ef613e4a565b5b0154600960006002811061220757612206613e4a565b5b01546122139190613685565b90506000600960006002811061222c5761222b613e4a565b5b015490506000600960016002811061224757612246613e4a565b5b01549050600060028261225a9190613ea8565b90506000818661226a9190613770565b905061227581612cdf565b600047905060008686836122899190613a3b565b6122939190613ea8565b9050600060028887856122a69190613a3b565b6122b09190613ea8565b6122ba9190613ea8565b9050600083111561232f57601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f1935050505015801561232d573d6000803e3d6000fd5b505b6000851115612343576123428582612f00565b5b600960006123519190613031565b5050505050505050506000601760146101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b600081600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124909190613770565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461251e9190613685565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516125be9190613154565b60405180910390a3600190509392505050565b600080612710601154846125e59190613a3b565b6125ef9190613ea8565b90506000600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561264b5783612658565b81846126579190613770565b5b905083600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126a59190613770565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127339190613685565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612921578160056000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128349190613685565b60056000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fbac40739b0d4ca32fa2d82fc91630465ba3eddd1598da6fca393b26fb63b9453846040516129189190613154565b60405180910390a35b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161297e9190613154565b60405180910390a36001925050509392505050565b600080612710600d54846129a79190613a3b565b6129b19190613ea8565b90506000612710600e54856129c69190613a3b565b6129d09190613ea8565b90506000612710600f54866129e59190613a3b565b6129ef9190613ea8565b9050600061271060105487612a049190613a3b565b612a0e9190613ea8565b90506000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff16148015612abd5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b8015612b135750600760008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612b31578285612b249190613685565b9050612b308584612fd3565b5b601760149054906101000a900460ff16158015612b9c5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b8015612bb45750601760169054906101000a900460ff165b15612bd2578184612bc59190613685565b9050612bd18483612fd3565b5b80600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c1d9190613685565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612cbd9190613154565b60405180910390a38087612cd19190613770565b955050505050509392505050565b6000600267ffffffffffffffff811115612cfc57612cfb613ed9565b5b604051908082528060200260200182016040528015612d2a5781602001602082028036833780820191505090505b5090503081600081518110612d4257612d41613e4a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612de9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e0d9190613f1d565b81600181518110612e2157612e20613e4a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612e653083610b35565b50601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612eca959493929190614043565b600060405180830381600087803b158015612ee457600080fd5b505af1158015612ef8573d6000803e3d6000fd5b505050505050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b8152600401612f899695949392919061409d565b60606040518083038185885af1158015612fa7573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612fcc91906140fe565b5050505050565b816009600060028110612fe957612fe8613e4a565b5b016000828254612ff99190613685565b9250508190555080600960016002811061301657613015613e4a565b5b0160008282546130269190613685565b925050819055505050565b506000815560010160009055565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061306f82613044565b9050919050565b61307f81613064565b811461308a57600080fd5b50565b60008135905061309c81613076565b92915050565b6000602082840312156130b8576130b761303f565b5b60006130c68482850161308d565b91505092915050565b6000819050919050565b6130e2816130cf565b81146130ed57600080fd5b50565b6000813590506130ff816130d9565b92915050565b6000806040838503121561311c5761311b61303f565b5b600061312a858286016130f0565b925050602061313b858286016130f0565b9150509250929050565b61314e816130cf565b82525050565b60006020820190506131696000830184613145565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156131a957808201518184015260208101905061318e565b838111156131b8576000848401525b50505050565b6000601f19601f8301169050919050565b60006131da8261316f565b6131e4818561317a565b93506131f481856020860161318b565b6131fd816131be565b840191505092915050565b6000602082019050818103600083015261322281846131cf565b905092915050565b600080604083850312156132415761324061303f565b5b600061324f8582860161308d565b9250506020613260858286016130f0565b9150509250929050565b60008115159050919050565b61327f8161326a565b82525050565b600060208201905061329a6000830184613276565b92915050565b6000806000606084860312156132b9576132b861303f565b5b60006132c78682870161308d565b93505060206132d88682870161308d565b92505060406132e9868287016130f0565b9150509250925092565b6132fc81613064565b82525050565b600060208201905061331760008301846132f3565b92915050565b600060ff82169050919050565b6133338161331d565b82525050565b600060208201905061334e600083018461332a565b92915050565b61335d8161326a565b811461336857600080fd5b50565b60008135905061337a81613354565b92915050565b600080604083850312156133975761339661303f565b5b60006133a58582860161336b565b92505060206133b6858286016130f0565b9150509250929050565b6000602082840312156133d6576133d561303f565b5b60006133e4848285016130f0565b91505092915050565b6000602082840312156134035761340261303f565b5b60006134118482850161336b565b91505092915050565b600080604083850312156134315761343061303f565b5b600061343f8582860161308d565b92505060206134508582860161336b565b9150509250929050565b600061346582613064565b9050919050565b6134758161345a565b811461348057600080fd5b50565b6000813590506134928161346c565b92915050565b6000602082840312156134ae576134ad61303f565b5b60006134bc84828501613483565b91505092915050565b600080604083850312156134dc576134db61303f565b5b60006134ea8582860161308d565b92505060206134fb8582860161308d565b9150509250929050565b600061351082613044565b9050919050565b61352081613505565b811461352b57600080fd5b50565b60008135905061353d81613517565b92915050565b6000602082840312156135595761355861303f565b5b60006135678482850161352e565b91505092915050565b6000819050919050565b600061359561359061358b84613044565b613570565b613044565b9050919050565b60006135a78261357a565b9050919050565b60006135b98261359c565b9050919050565b6135c9816135ae565b82525050565b60006020820190506135e460008301846135c0565b92915050565b7f43616e6e6f742062652073657420746f207a65726f2061646472657373000000600082015250565b6000613620601d8361317a565b915061362b826135ea565b602082019050919050565b6000602082019050818103600083015261364f81613613565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613690826130cf565b915061369b836130cf565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156136d0576136cf613656565b5b828201905092915050565b7f4665657320546f6f204869676800000000000000000000000000000000000000600082015250565b6000613711600d8361317a565b915061371c826136db565b602082019050919050565b6000602082019050818103600083015261374081613704565b9050919050565b600060408201905061375c6000830185613145565b6137696020830184613145565b9392505050565b600061377b826130cf565b9150613786836130cf565b92508282101561379957613798613656565b5b828203905092915050565b7f416c7265616479206c61756e6368656400000000000000000000000000000000600082015250565b60006137da60108361317a565b91506137e5826137a4565b602082019050919050565b60006020820190508181036000830152613809816137cd565b9050919050565b60008151905061381f816130d9565b92915050565b60006020828403121561383b5761383a61303f565b5b600061384984828501613810565b91505092915050565b600060408201905061386760008301856132f3565b6138746020830184613145565b9392505050565b60008151905061388a81613354565b92915050565b6000602082840312156138a6576138a561303f565b5b60006138b48482850161387b565b91505092915050565b60008160011c9050919050565b6000808291508390505b6001851115613914578086048111156138f0576138ef613656565b5b60018516156138ff5780820291505b808102905061390d856138bd565b94506138d4565b94509492505050565b60008261392d57600190506139e9565b8161393b57600090506139e9565b8160018114613951576002811461395b5761398a565b60019150506139e9565b60ff84111561396d5761396c613656565b5b8360020a91508482111561398457613983613656565b5b506139e9565b5060208310610133831016604e8410600b84101617156139bf5782820a9050838111156139ba576139b9613656565b5b6139e9565b6139cc84848460016138ca565b925090508184048111156139e3576139e2613656565b5b81810290505b9392505050565b60006139fb826130cf565b9150613a068361331d565b9250613a337fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461391d565b905092915050565b6000613a46826130cf565b9150613a51836130cf565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613a8a57613a89613656565b5b828202905092915050565b7f4c696d6974206d757374206265206f76657220312c30303020746f6b656e7300600082015250565b6000613acb601f8361317a565b9150613ad682613a95565b602082019050919050565b60006020820190508181036000830152613afa81613abe565b9050919050565b6000604082019050613b166000830185613276565b613b236020830184613145565b9392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613b8660268361317a565b9150613b9182613b2a565b604082019050919050565b60006020820190508181036000830152613bb581613b79565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613bf260208361317a565b9150613bfd82613bbc565b602082019050919050565b60006020820190508181036000830152613c2181613be5565b9050919050565b7f42455032303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613c8460258361317a565b9150613c8f82613c28565b604082019050919050565b60006020820190508181036000830152613cb381613c77565b9050919050565b7f42455032303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613d1660238361317a565b9150613d2182613cba565b604082019050919050565b60006020820190508181036000830152613d4581613d09565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613da860298361317a565b9150613db382613d4c565b604082019050919050565b60006020820190508181036000830152613dd781613d9b565b9050919050565b7f54726164696e67206e6f74206163746976650000000000000000000000000000600082015250565b6000613e1460128361317a565b9150613e1f82613dde565b602082019050919050565b60006020820190508181036000830152613e4381613e07565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613eb3826130cf565b9150613ebe836130cf565b925082613ece57613ecd613e79565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600081519050613f1781613076565b92915050565b600060208284031215613f3357613f3261303f565b5b6000613f4184828501613f08565b91505092915050565b6000819050919050565b6000613f6f613f6a613f6584613f4a565b613570565b6130cf565b9050919050565b613f7f81613f54565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613fba81613064565b82525050565b6000613fcc8383613fb1565b60208301905092915050565b6000602082019050919050565b6000613ff082613f85565b613ffa8185613f90565b935061400583613fa1565b8060005b8381101561403657815161401d8882613fc0565b975061402883613fd8565b925050600181019050614009565b5085935050505092915050565b600060a0820190506140586000830188613145565b6140656020830187613f76565b81810360408301526140778186613fe5565b905061408660608301856132f3565b6140936080830184613145565b9695505050505050565b600060c0820190506140b260008301896132f3565b6140bf6020830188613145565b6140cc6040830187613f76565b6140d96060830186613f76565b6140e660808301856132f3565b6140f360a0830184613145565b979650505050505050565b6000806000606084860312156141175761411661303f565b5b600061412586828701613810565b935050602061413686828701613810565b925050604061414786828701613810565b915050925092509256fea2646970667358221220e13b45399b87905f587e1486b26ffc7b3b26a0b563b956e3be218f0ebb29d7d764736f6c634300080d0033

Deployed Bytecode Sourcemap

3924:12442:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14076:259;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15007:282;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4203:50;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7070:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7660:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6800:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8198:337;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5048:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6656:136;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6478:170;;;;;;;;;;;;;:::i;:::-;;6894:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16042:319;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14343:371;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4410:44;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5163:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5248:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15297:190;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7884:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4601:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14724:271;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13446:74;;;;;;;;;;;;;:::i;:::-;;7242:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1937:97;;;;;;;;;;;;;:::i;:::-;;11640:108;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7156:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1702:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6980:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13558:173;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4993:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8038:152;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4569:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5019:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15495:309;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7574:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7492:76;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7353:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2042:195;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13739:329;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4962:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15812:222;;;;;;;;;;;;;:::i;:::-;;5210:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14076:259;1661:13;:11;:13::i;:::-;14194:1:::1;14166:30;;:16;:30;;::::0;14158:72:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;14257:16;14241:13;;:32;;;;;;;;;;;;;;;;;;14310:16;14289:38;;;;;;;;;;;;14076:259:::0;:::o;15007:282::-;1661:13;:11;:13::i;:::-;15140:3:::1;15124:12;15108:13;:28;;;;:::i;:::-;:35;;15100:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;15179:13;15169:7;:23;;;;15209:12;15200:6;:21;;;;15237:44;15253:13;15268:12;15237:44;;;;;;;:::i;:::-;;;;;;;;15007:282:::0;;:::o;4203:50::-;;;;:::o;7070:80::-;7118:13;7142:5;;;;;;;;;;;;;;;;;7135:12;;7070:80;:::o;7660:216::-;7735:4;7787:6;7752:11;:23;7764:10;7752:23;;;;;;;;;;;;;;;:32;7776:7;7752:32;;;;;;;;;;;;;;;:41;;;;7830:7;7809:37;;7818:10;7809:37;;;7839:6;7809:37;;;;;;:::i;:::-;;;;;;;;7864:4;7857:11;;7660:216;;;;:::o;6800:88::-;6855:7;6873:12;;6866:19;;6800:88;:::o;8198:337::-;8298:4;8353:17;8318:11;:19;8330:6;8318:19;;;;;;;;;;;;;;;:31;8338:10;8318:31;;;;;;;;;;;;;;;;:52;8315:157;;8454:6;8420:11;:19;8432:6;8420:19;;;;;;;;;;;;;;;:31;8440:10;8420:31;;;;;;;;;;;;;;;;:40;;;;:::i;:::-;8386:11;:19;8398:6;8386:19;;;;;;;;;;;;;;;:31;8406:10;8386:31;;;;;;;;;;;;;;;:74;;;;8315:157;8491:36;8501:6;8509:9;8520:6;8491:9;:36::i;:::-;8484:43;;8198:337;;;;;:::o;5048:78::-;;;;;;;;;;;;;:::o;6656:136::-;6709:7;6769:15;6779:4;;;;;;;;;;;6769:9;:15::i;:::-;6751;6761:4;;;;;;;;;;;6751:9;:15::i;:::-;6736:12;;:30;;;;:::i;:::-;:48;;;;:::i;:::-;6729:55;;6656:136;:::o;6478:170::-;1661:13;:11;:13::i;:::-;6553:1:::1;6539:10;;:15;6531:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;6599:12;6586:10;:25;;;;6636:4;6622:11;;:18;;;;;;;;;;;;;;;;;;6478:170::o:0;6894:80::-;6946:5;4129:2;6955:16;;6894:80;:::o;16042:319::-;1661:13;:11;:13::i;:::-;16123:17:::1;16150:15;16123:43;;16177:15;16195:10;:20;;;16224:4;16195:35;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16177:53;;16241:10;:19;;;16261:9;;;;;;;;;;;16272:7;16241:39;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;16321:4;16294:32;;:15;:32;;::::0;16291:63:::1;;16337:14;;16330:21;;;;:::i;:::-;16291:63;16112:249;;16042:319:::0;:::o;14343:371::-;1661:13;:11;:13::i;:::-;4129:2:::1;14488;:15;;;;:::i;:::-;14480:4;:24;;;;:::i;:::-;14460:16;:44;;14452:88;;;;;;;;;;;;:::i;:::-;;;;;;;;;14576:14;14551:21;;:39;;;;;;;;;;;;;;;;;;14617:16;14601:13;:32;;;;14649:57;14673:14;14689:16;14649:57;;;;;;;:::i;:::-;;;;;;;;14343:371:::0;;:::o;4410:44::-;;;;;;;;;;;;;;;;;;;;;;:::o;5163:40::-;;;;;;;;;;;;;:::o;5248:37::-;;;;;;;;;;;;:::o;15297:190::-;1661:13;:11;:13::i;:::-;15417:3:::1;15394:19;:26;;15386:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;15460:19;15449:8;:30;;;;15297:190:::0;:::o;7884:122::-;7939:4;7963:35;7971:7;7980:17;7963:7;:35::i;:::-;7956:42;;7884:122;;;:::o;4601:35::-;;;;;;;;;;;;;:::o;14724:271::-;1661:13;:11;:13::i;:::-;14853:3:::1;14838:11;14823:12;:26;;;;:::i;:::-;:33;;14815:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;14891:12;14882:6;:21;;;;14919:11;14911:5;:19;;;;14946:41;14961:12;14975:11;14946:41;;;;;;;:::i;:::-;;;;;;;;14724:271:::0;;:::o;13446:74::-;1661:13;:11;:13::i;:::-;13502:10:::1;:8;:10::i;:::-;13446:74::o:0;7242:105::-;7308:7;7326:9;:18;7336:7;7326:18;;;;;;;;;;;;;;;;7319:25;;7242:105;;;:::o;1937:97::-;1661:13;:11;:13::i;:::-;2002:24:::1;2021:4;;;;;;;;;;;2002:18;:24::i;:::-;1937:97::o:0;11640:108::-;1661:13;:11;:13::i;:::-;11733:7:::1;11712:18;::::0;:28:::1;;;;;;;;;;;;;;;;;;11640:108:::0;:::o;7156:80::-;7208:7;7226;:5;:7::i;:::-;7219:14;;7156:80;:::o;1702:87::-;1748:7;1775:6;;;;;;;;;;;1768:13;;1702:87;:::o;6980:84::-;7030:13;7054:7;;;;;;;;;;;;;;;;;7047:14;;6980:84;:::o;13558:173::-;1661:13;:11;:13::i;:::-;13666:6:::1;13644:11;:19;13656:6;13644:19;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;13708:6;13688:35;;;13716:6;13688:35;;;;;;:::i;:::-;;;;;;;;13558:173:::0;;:::o;4993:19::-;;;;;;;;;;;;;:::o;8038:152::-;8118:4;8142:40;8152:10;8164:9;8175:6;8142:9;:40::i;:::-;8135:47;;8038:152;;;;:::o;4569:25::-;;;;:::o;5019:22::-;;;;;;;;;;;;;:::o;15495:309::-;1661:13;:11;:13::i;:::-;15603:4:::1;;;;;;;;;;;15578:30;;:10;:30;;::::0;15570:72:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;15686:4;;;;;;;;;;;15661:30;;:10;:30;;::::0;15653:72:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;15745:10;15736:6;;:19;;;;;;;;;;;;;;;;;;15785:10;15771:25;;;;;;;;;;;;15495:309:::0;:::o;7574:78::-;7620:7;7637:12;;7630:19;;7574:78;:::o;7492:76::-;7537:7;7554:11;;7547:18;;7492:76;:::o;7353:133::-;7437:7;7455:11;:19;7467:6;7455:19;;;;;;;;;;;;;;;:28;7475:7;7455:28;;;;;;;;;;;;;;;;7448:35;;7353:133;;;;:::o;2042:195::-;1661:13;:11;:13::i;:::-;2143:4:::1;;;;;;;;;;;2131:16;;:8;:16;;::::0;2123:67:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2201:28;2220:8;2201:18;:28::i;:::-;2042:195:::0;:::o;13739:329::-;1661:13;:11;:13::i;:::-;13853:1:::1;13829:26;;:12;:26;;::::0;13821:68:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;13925:5;13900:11;:22;13912:9;;;;;;;;;;;13900:22;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;13961:12;13941:9;;:33;;;;;;;;;;;;;;;;;;14010:4;13985:11;:22;13997:9;;;;;;;;;;;13985:22;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;14047:12;14030:30;;;;;;;;;;;;13739:329:::0;:::o;4962:24::-;;;;;;;;;;;;;:::o;15812:222::-;1661:13;:11;:13::i;:::-;15867:26:::1;15896:21;15867:50;;15952:1;15931:18;:22;15928:99;;;15979:9;;;;;;;;;;;15971:27;;:47;15999:18;15971:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;15928:99;15856:178;15812:222::o:0;5210:31::-;;;;;;;;;;;;;:::o;1797:132::-;1872:12;:10;:12::i;:::-;1861:23;;:7;:5;:7::i;:::-;:23;;;1853:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1797:132::o;8543:1146::-;8631:4;8674:1;8656:20;;:6;:20;;;8648:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;8758:1;8737:23;;:9;:23;;;8729:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;8828:1;8819:6;:10;8811:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8892:11;:19;8904:6;8892:19;;;;;;;;;;;;;;;;;;;;;;;;;8891:20;:47;;;;;8916:11;:22;8928:9;8916:22;;;;;;;;;;;;;;;;;;;;;;;;;8915:23;8891:47;8888:99;;;8950:11;;;;;;;;;;;8942:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;8888:99;9000:16;;;;;;;;;;;8997:73;;;9026:41;9041:6;9049:9;9060:6;9026:14;:41::i;:::-;9019:48;;;;8997:73;9090:4;;;;;;;;;;;9080:14;;:6;:14;;;;:35;;;;;9111:4;;;;;;;;;;;9098:17;;:9;:17;;;;9080:35;:65;;;;;9141:4;9119:26;;:18;;;;;;;;;;:26;;;9080:65;9077:122;;;9156:40;9170:6;9178:9;9189:6;9156:13;:40::i;:::-;9149:47;;;;9077:122;9226:4;;;;;;;;;;;9212:18;;:10;:18;;;;:39;;;;;9235:16;;;;;;;;;;;9234:17;9212:39;:64;;;;;9255:21;;;;;;;;;;;9212:64;:109;;;;;9308:13;;9280:9;:24;9298:4;9280:24;;;;;;;;;;;;;;;;:41;;9212:109;9209:128;;;9324:10;:8;:10::i;:::-;9209:128;9389:6;9369:9;:17;9379:6;9369:17;;;;;;;;;;;;;;;;:26;;;;:::i;:::-;9349:9;:17;9359:6;9349:17;;;;;;;;;;;;;;;:46;;;;9416:19;9439:11;:19;9451:6;9439:19;;;;;;;;;;;;;;;;;;;;;;;;;9438:20;:47;;;;;9463:11;:22;9475:9;9463:22;;;;;;;;;;;;;;;;;;;;;;;;;9462:23;9438:47;:93;;9525:6;9438:93;;;9488:34;9496:6;9504:9;9515:6;9488:7;:34::i;:::-;9438:93;9416:115;;9590:11;9567:9;:20;9577:9;9567:20;;;;;;;;;;;;;;;;:34;;;;:::i;:::-;9544:9;:20;9554:9;9544:20;;;;;;;;;;;;;;;:57;;;;9636:9;9619:40;;9628:6;9619:40;;;9647:11;9619:40;;;;;;:::i;:::-;;;;;;;;9677:4;9670:11;;;8543:1146;;;;;;:::o;12519:919::-;5816:4;5797:16;;:23;;;;;;;;;;;;;;;;;;12577:20:::1;12600:9;:24;12618:4;12600:24;;;;;;;;;;;;;;;;12577:47;;12635:23;12681:14;12696:1;12681:17;;;;;;;:::i;:::-;;;;12661:14;12676:1;12661:17;;;;;;;:::i;:::-;;;;:37;;;;:::i;:::-;12635:63;;12709:16;12728:14;12743:1;12728:17;;;;;;;:::i;:::-;;;;12709:36;;12756:15;12774:14;12789:1;12774:17;;;;;;;:::i;:::-;;;;12756:35;;12802:26;12841:1;12831:7;:11;;;;:::i;:::-;12802:40;;12855:20;12893:18;12878:12;:33;;;;:::i;:::-;12855:56;;12924:30;12941:12;12924:16;:30::i;:::-;12967:23;12993:21;12967:47;;13025:17;13074:15;13063:8;13045:15;:26;;;;:::i;:::-;:44;;;;:::i;:::-;13025:64;;13100:23;13172:1;13154:15;13144:7;13126:15;:25;;;;:::i;:::-;:43;;;;:::i;:::-;:47;;;;:::i;:::-;13100:73;;13214:1;13196:15;:19;13192:90;;;13240:9;;;;;;;;;;;13232:27;;:38;13260:9;13232:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;13192:90;13321:1;13300:18;:22;13296:104;;;13339:49;13352:18;13372:15;13339:12;:49::i;:::-;13296:104;13416:14;;13409:21;;;;:::i;:::-;12560:878;;;;;;;;;5862:5:::0;5843:16;;:24;;;;;;;;;;;;;;;;;;12519:919::o;2245:191::-;2319:16;2338:6;;;;;;;;;;;2319:25;;2364:8;2355:6;;:17;;;;;;;;;;;;;;;;;;2419:8;2388:40;;2409:8;2388:40;;;;;;;;;;;;2308:128;2245:191;:::o;1109:98::-;1162:7;1189:10;1182:17;;1109:98;:::o;9699:300::-;9792:4;9849:6;9829:9;:17;9839:6;9829:17;;;;;;;;;;;;;;;;:26;;;;:::i;:::-;9809:9;:17;9819:6;9809:17;;;;;;;;;;;;;;;:46;;;;9912:6;9889:9;:20;9899:9;9889:20;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;9866:9;:20;9876:9;9866:20;;;;;;;;;;;;;;;:52;;;;9951:9;9934:35;;9943:6;9934:35;;;9962:6;9934:35;;;;;;:::i;:::-;;;;;;;;9987:4;9980:11;;9699:300;;;;;:::o;10009:613::-;10101:4;10118:13;10154:5;10143:8;;10134:6;:17;;;;:::i;:::-;:25;;;;:::i;:::-;10118:41;;10170:20;10194:11;:19;10206:6;10194:19;;;;;;;;;;;;;;;;;;;;;;;;;10193:20;:49;;10236:6;10193:49;;;10225:8;10216:6;:17;;;;:::i;:::-;10193:49;10170:72;;10295:6;10275:9;:17;10285:6;10275:17;;;;;;;;;;;;;;;;:26;;;;:::i;:::-;10255:9;:17;10265:6;10255:17;;;;;;;;;;;;;;;:46;;;;10358:12;10335:9;:20;10345:9;10335:20;;;;;;;;;;;;;;;;:35;;;;:::i;:::-;10312:9;:20;10322:9;10312:20;;;;;;;;;;;;;;;:58;;;;10387:11;:19;10399:6;10387:19;;;;;;;;;;;;;;;;;;;;;;;;;10383:151;;10460:8;10442:9;:15;10452:4;;;;;;;;;;;10442:15;;;;;;;;;;;;;;;;:26;;;;:::i;:::-;10424:9;:15;10434:4;;;;;;;;;;;10424:15;;;;;;;;;;;;;;;:44;;;;10502:4;;;;;;;;;;;10489:28;;10494:6;10489:28;;;10508:8;10489:28;;;;;;:::i;:::-;;;;;;;;10383:151;10568:9;10551:41;;10560:6;10551:41;;;10579:12;10551:41;;;;;;:::i;:::-;;;;;;;;10610:4;10603:11;;;;10009:613;;;;;:::o;10649:845::-;10735:7;10765:15;10801:5;10792:6;;10783;:15;;;;:::i;:::-;:23;;;;:::i;:::-;10765:41;;10814:15;10851:5;10841:7;;10832:6;:16;;;;:::i;:::-;:24;;;;:::i;:::-;10814:42;;10867:14;10901:5;10893;;10884:6;:14;;;;:::i;:::-;:22;;;;:::i;:::-;10867:39;;10914:14;10949:5;10940:6;;10931;:15;;;;:::i;:::-;:23;;;;:::i;:::-;10914:40;;10965:16;11004:4;;;;;;;;;;;10994:14;;:6;:14;;;:44;;;;;11033:4;;;;;;;;;;;11012:26;;:9;:26;;;;10994:44;:71;;;;;11043:11;:22;11055:9;11043:22;;;;;;;;;;;;;;;;;;;;;;;;;11042:23;10994:71;10991:171;;;11103:6;11093:7;:16;;;;:::i;:::-;11082:27;;11121:32;11137:7;11146:6;11121:15;:32::i;:::-;10991:171;11175:16;;;;;;;;;;;11174:17;:35;;;;;11205:4;;;;;;;;;;;11195:14;;:6;:14;;;;11174:35;:50;;;;;11213:11;;;;;;;;;;;11174:50;11171:147;;;11259:6;11249:7;:16;;;;:::i;:::-;11238:27;;11277:32;11293:7;11302:6;11277:15;:32::i;:::-;11171:147;11384:8;11357:9;:24;11375:4;11357:24;;;;;;;;;;;;;;;;:35;;;;:::i;:::-;11330:9;:24;11348:4;11330:24;;;;;;;;;;;;;;;:62;;;;11433:4;11408:41;;11417:6;11408:41;;;11440:8;11408:41;;;;;;:::i;:::-;;;;;;;;11478:8;11469:6;:17;;;;:::i;:::-;11462:24;;;;;;;10649:845;;;;;:::o;11787:432::-;11855:21;11893:1;11879:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11855:40;;11924:4;11906;11911:1;11906:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;11950:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11940:4;11945:1;11940:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;11976:35;11992:4;11999:11;11976:7;:35::i;:::-;;12024:6;;;;;;;;;;;:57;;;12096:11;12122:1;12138:4;12165;12185:15;12024:187;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11842:377;11787:432;:::o;12227:284::-;12308:6;;;;;;;;;;;:22;;;12338:9;12371:4;12391:11;12417:1;12433;12449:13;;;;;;;;;;;12477:15;12308:195;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12227:284;;:::o;11502:130::-;11587:3;11566:14;11581:1;11566:17;;;;;;;:::i;:::-;;;;:24;;;;;;;:::i;:::-;;;;;;;;11622:2;11601:14;11616:1;11601:17;;;;;;;:::i;:::-;;;;:23;;;;;;;:::i;:::-;;;;;;;;11502:130;;:::o;-1:-1:-1:-;;;;;;;;;;:::o;88:117:1:-;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:329::-;900:6;949:2;937:9;928:7;924:23;920:32;917:119;;;955:79;;:::i;:::-;917:119;1075:1;1100:53;1145:7;1136:6;1125:9;1121:22;1100:53;:::i;:::-;1090:63;;1046:117;841:329;;;;:::o;1176:77::-;1213:7;1242:5;1231:16;;1176:77;;;:::o;1259:122::-;1332:24;1350:5;1332:24;:::i;:::-;1325:5;1322:35;1312:63;;1371:1;1368;1361:12;1312:63;1259:122;:::o;1387:139::-;1433:5;1471:6;1458:20;1449:29;;1487:33;1514:5;1487:33;:::i;:::-;1387:139;;;;:::o;1532:474::-;1600:6;1608;1657:2;1645:9;1636:7;1632:23;1628:32;1625:119;;;1663:79;;:::i;:::-;1625:119;1783:1;1808:53;1853:7;1844:6;1833:9;1829:22;1808:53;:::i;:::-;1798:63;;1754:117;1910:2;1936:53;1981:7;1972:6;1961:9;1957:22;1936:53;:::i;:::-;1926:63;;1881:118;1532:474;;;;;:::o;2012:118::-;2099:24;2117:5;2099:24;:::i;:::-;2094:3;2087:37;2012:118;;:::o;2136:222::-;2229:4;2267:2;2256:9;2252:18;2244:26;;2280:71;2348:1;2337:9;2333:17;2324:6;2280:71;:::i;:::-;2136:222;;;;:::o;2364:99::-;2416:6;2450:5;2444:12;2434:22;;2364:99;;;:::o;2469:169::-;2553:11;2587:6;2582:3;2575:19;2627:4;2622:3;2618:14;2603:29;;2469:169;;;;:::o;2644:307::-;2712:1;2722:113;2736:6;2733:1;2730:13;2722:113;;;2821:1;2816:3;2812:11;2806:18;2802:1;2797:3;2793:11;2786:39;2758:2;2755:1;2751:10;2746:15;;2722:113;;;2853:6;2850:1;2847:13;2844:101;;;2933:1;2924:6;2919:3;2915:16;2908:27;2844:101;2693:258;2644:307;;;:::o;2957:102::-;2998:6;3049:2;3045:7;3040:2;3033:5;3029:14;3025:28;3015:38;;2957:102;;;:::o;3065:364::-;3153:3;3181:39;3214:5;3181:39;:::i;:::-;3236:71;3300:6;3295:3;3236:71;:::i;:::-;3229:78;;3316:52;3361:6;3356:3;3349:4;3342:5;3338:16;3316:52;:::i;:::-;3393:29;3415:6;3393:29;:::i;:::-;3388:3;3384:39;3377:46;;3157:272;3065:364;;;;:::o;3435:313::-;3548:4;3586:2;3575:9;3571:18;3563:26;;3635:9;3629:4;3625:20;3621:1;3610:9;3606:17;3599:47;3663:78;3736:4;3727:6;3663:78;:::i;:::-;3655:86;;3435:313;;;;:::o;3754:474::-;3822:6;3830;3879:2;3867:9;3858:7;3854:23;3850:32;3847:119;;;3885:79;;:::i;:::-;3847:119;4005:1;4030:53;4075:7;4066:6;4055:9;4051:22;4030:53;:::i;:::-;4020:63;;3976:117;4132:2;4158:53;4203:7;4194:6;4183:9;4179:22;4158:53;:::i;:::-;4148:63;;4103:118;3754:474;;;;;:::o;4234:90::-;4268:7;4311:5;4304:13;4297:21;4286:32;;4234:90;;;:::o;4330:109::-;4411:21;4426:5;4411:21;:::i;:::-;4406:3;4399:34;4330:109;;:::o;4445:210::-;4532:4;4570:2;4559:9;4555:18;4547:26;;4583:65;4645:1;4634:9;4630:17;4621:6;4583:65;:::i;:::-;4445:210;;;;:::o;4661:619::-;4738:6;4746;4754;4803:2;4791:9;4782:7;4778:23;4774:32;4771:119;;;4809:79;;:::i;:::-;4771:119;4929:1;4954:53;4999:7;4990:6;4979:9;4975:22;4954:53;:::i;:::-;4944:63;;4900:117;5056:2;5082:53;5127:7;5118:6;5107:9;5103:22;5082:53;:::i;:::-;5072:63;;5027:118;5184:2;5210:53;5255:7;5246:6;5235:9;5231:22;5210:53;:::i;:::-;5200:63;;5155:118;4661:619;;;;;:::o;5286:118::-;5373:24;5391:5;5373:24;:::i;:::-;5368:3;5361:37;5286:118;;:::o;5410:222::-;5503:4;5541:2;5530:9;5526:18;5518:26;;5554:71;5622:1;5611:9;5607:17;5598:6;5554:71;:::i;:::-;5410:222;;;;:::o;5638:86::-;5673:7;5713:4;5706:5;5702:16;5691:27;;5638:86;;;:::o;5730:112::-;5813:22;5829:5;5813:22;:::i;:::-;5808:3;5801:35;5730:112;;:::o;5848:214::-;5937:4;5975:2;5964:9;5960:18;5952:26;;5988:67;6052:1;6041:9;6037:17;6028:6;5988:67;:::i;:::-;5848:214;;;;:::o;6068:116::-;6138:21;6153:5;6138:21;:::i;:::-;6131:5;6128:32;6118:60;;6174:1;6171;6164:12;6118:60;6068:116;:::o;6190:133::-;6233:5;6271:6;6258:20;6249:29;;6287:30;6311:5;6287:30;:::i;:::-;6190:133;;;;:::o;6329:468::-;6394:6;6402;6451:2;6439:9;6430:7;6426:23;6422:32;6419:119;;;6457:79;;:::i;:::-;6419:119;6577:1;6602:50;6644:7;6635:6;6624:9;6620:22;6602:50;:::i;:::-;6592:60;;6548:114;6701:2;6727:53;6772:7;6763:6;6752:9;6748:22;6727:53;:::i;:::-;6717:63;;6672:118;6329:468;;;;;:::o;6803:329::-;6862:6;6911:2;6899:9;6890:7;6886:23;6882:32;6879:119;;;6917:79;;:::i;:::-;6879:119;7037:1;7062:53;7107:7;7098:6;7087:9;7083:22;7062:53;:::i;:::-;7052:63;;7008:117;6803:329;;;;:::o;7138:323::-;7194:6;7243:2;7231:9;7222:7;7218:23;7214:32;7211:119;;;7249:79;;:::i;:::-;7211:119;7369:1;7394:50;7436:7;7427:6;7416:9;7412:22;7394:50;:::i;:::-;7384:60;;7340:114;7138:323;;;;:::o;7467:468::-;7532:6;7540;7589:2;7577:9;7568:7;7564:23;7560:32;7557:119;;;7595:79;;:::i;:::-;7557:119;7715:1;7740:53;7785:7;7776:6;7765:9;7761:22;7740:53;:::i;:::-;7730:63;;7686:117;7842:2;7868:50;7910:7;7901:6;7890:9;7886:22;7868:50;:::i;:::-;7858:60;;7813:115;7467:468;;;;;:::o;7941:114::-;7996:7;8025:24;8043:5;8025:24;:::i;:::-;8014:35;;7941:114;;;:::o;8061:158::-;8152:42;8188:5;8152:42;:::i;:::-;8145:5;8142:53;8132:81;;8209:1;8206;8199:12;8132:81;8061:158;:::o;8225:175::-;8289:5;8327:6;8314:20;8305:29;;8343:51;8388:5;8343:51;:::i;:::-;8225:175;;;;:::o;8406:365::-;8483:6;8532:2;8520:9;8511:7;8507:23;8503:32;8500:119;;;8538:79;;:::i;:::-;8500:119;8658:1;8683:71;8746:7;8737:6;8726:9;8722:22;8683:71;:::i;:::-;8673:81;;8629:135;8406:365;;;;:::o;8777:474::-;8845:6;8853;8902:2;8890:9;8881:7;8877:23;8873:32;8870:119;;;8908:79;;:::i;:::-;8870:119;9028:1;9053:53;9098:7;9089:6;9078:9;9074:22;9053:53;:::i;:::-;9043:63;;8999:117;9155:2;9181:53;9226:7;9217:6;9206:9;9202:22;9181:53;:::i;:::-;9171:63;;9126:118;8777:474;;;;;:::o;9257:104::-;9302:7;9331:24;9349:5;9331:24;:::i;:::-;9320:35;;9257:104;;;:::o;9367:138::-;9448:32;9474:5;9448:32;:::i;:::-;9441:5;9438:43;9428:71;;9495:1;9492;9485:12;9428:71;9367:138;:::o;9511:155::-;9565:5;9603:6;9590:20;9581:29;;9619:41;9654:5;9619:41;:::i;:::-;9511:155;;;;:::o;9672:345::-;9739:6;9788:2;9776:9;9767:7;9763:23;9759:32;9756:119;;;9794:79;;:::i;:::-;9756:119;9914:1;9939:61;9992:7;9983:6;9972:9;9968:22;9939:61;:::i;:::-;9929:71;;9885:125;9672:345;;;;:::o;10023:60::-;10051:3;10072:5;10065:12;;10023:60;;;:::o;10089:142::-;10139:9;10172:53;10190:34;10199:24;10217:5;10199:24;:::i;:::-;10190:34;:::i;:::-;10172:53;:::i;:::-;10159:66;;10089:142;;;:::o;10237:126::-;10287:9;10320:37;10351:5;10320:37;:::i;:::-;10307:50;;10237:126;;;:::o;10369:144::-;10437:9;10470:37;10501:5;10470:37;:::i;:::-;10457:50;;10369:144;;;:::o;10519:167::-;10624:55;10673:5;10624:55;:::i;:::-;10619:3;10612:68;10519:167;;:::o;10692:258::-;10803:4;10841:2;10830:9;10826:18;10818:26;;10854:89;10940:1;10929:9;10925:17;10916:6;10854:89;:::i;:::-;10692:258;;;;:::o;10956:179::-;11096:31;11092:1;11084:6;11080:14;11073:55;10956:179;:::o;11141:366::-;11283:3;11304:67;11368:2;11363:3;11304:67;:::i;:::-;11297:74;;11380:93;11469:3;11380:93;:::i;:::-;11498:2;11493:3;11489:12;11482:19;;11141:366;;;:::o;11513:419::-;11679:4;11717:2;11706:9;11702:18;11694:26;;11766:9;11760:4;11756:20;11752:1;11741:9;11737:17;11730:47;11794:131;11920:4;11794:131;:::i;:::-;11786:139;;11513:419;;;:::o;11938:180::-;11986:77;11983:1;11976:88;12083:4;12080:1;12073:15;12107:4;12104:1;12097:15;12124:305;12164:3;12183:20;12201:1;12183:20;:::i;:::-;12178:25;;12217:20;12235:1;12217:20;:::i;:::-;12212:25;;12371:1;12303:66;12299:74;12296:1;12293:81;12290:107;;;12377:18;;:::i;:::-;12290:107;12421:1;12418;12414:9;12407:16;;12124:305;;;;:::o;12435:163::-;12575:15;12571:1;12563:6;12559:14;12552:39;12435:163;:::o;12604:366::-;12746:3;12767:67;12831:2;12826:3;12767:67;:::i;:::-;12760:74;;12843:93;12932:3;12843:93;:::i;:::-;12961:2;12956:3;12952:12;12945:19;;12604:366;;;:::o;12976:419::-;13142:4;13180:2;13169:9;13165:18;13157:26;;13229:9;13223:4;13219:20;13215:1;13204:9;13200:17;13193:47;13257:131;13383:4;13257:131;:::i;:::-;13249:139;;12976:419;;;:::o;13401:332::-;13522:4;13560:2;13549:9;13545:18;13537:26;;13573:71;13641:1;13630:9;13626:17;13617:6;13573:71;:::i;:::-;13654:72;13722:2;13711:9;13707:18;13698:6;13654:72;:::i;:::-;13401:332;;;;;:::o;13739:191::-;13779:4;13799:20;13817:1;13799:20;:::i;:::-;13794:25;;13833:20;13851:1;13833:20;:::i;:::-;13828:25;;13872:1;13869;13866:8;13863:34;;;13877:18;;:::i;:::-;13863:34;13922:1;13919;13915:9;13907:17;;13739:191;;;;:::o;13936:166::-;14076:18;14072:1;14064:6;14060:14;14053:42;13936:166;:::o;14108:366::-;14250:3;14271:67;14335:2;14330:3;14271:67;:::i;:::-;14264:74;;14347:93;14436:3;14347:93;:::i;:::-;14465:2;14460:3;14456:12;14449:19;;14108:366;;;:::o;14480:419::-;14646:4;14684:2;14673:9;14669:18;14661:26;;14733:9;14727:4;14723:20;14719:1;14708:9;14704:17;14697:47;14761:131;14887:4;14761:131;:::i;:::-;14753:139;;14480:419;;;:::o;14905:143::-;14962:5;14993:6;14987:13;14978:22;;15009:33;15036:5;15009:33;:::i;:::-;14905:143;;;;:::o;15054:351::-;15124:6;15173:2;15161:9;15152:7;15148:23;15144:32;15141:119;;;15179:79;;:::i;:::-;15141:119;15299:1;15324:64;15380:7;15371:6;15360:9;15356:22;15324:64;:::i;:::-;15314:74;;15270:128;15054:351;;;;:::o;15411:332::-;15532:4;15570:2;15559:9;15555:18;15547:26;;15583:71;15651:1;15640:9;15636:17;15627:6;15583:71;:::i;:::-;15664:72;15732:2;15721:9;15717:18;15708:6;15664:72;:::i;:::-;15411:332;;;;;:::o;15749:137::-;15803:5;15834:6;15828:13;15819:22;;15850:30;15874:5;15850:30;:::i;:::-;15749:137;;;;:::o;15892:345::-;15959:6;16008:2;15996:9;15987:7;15983:23;15979:32;15976:119;;;16014:79;;:::i;:::-;15976:119;16134:1;16159:61;16212:7;16203:6;16192:9;16188:22;16159:61;:::i;:::-;16149:71;;16105:125;15892:345;;;;:::o;16243:102::-;16285:8;16332:5;16329:1;16325:13;16304:34;;16243:102;;;:::o;16351:848::-;16412:5;16419:4;16443:6;16434:15;;16467:5;16458:14;;16481:712;16502:1;16492:8;16489:15;16481:712;;;16597:4;16592:3;16588:14;16582:4;16579:24;16576:50;;;16606:18;;:::i;:::-;16576:50;16656:1;16646:8;16642:16;16639:451;;;17071:4;17064:5;17060:16;17051:25;;16639:451;17121:4;17115;17111:15;17103:23;;17151:32;17174:8;17151:32;:::i;:::-;17139:44;;16481:712;;;16351:848;;;;;;;:::o;17205:1073::-;17259:5;17450:8;17440:40;;17471:1;17462:10;;17473:5;;17440:40;17499:4;17489:36;;17516:1;17507:10;;17518:5;;17489:36;17585:4;17633:1;17628:27;;;;17669:1;17664:191;;;;17578:277;;17628:27;17646:1;17637:10;;17648:5;;;17664:191;17709:3;17699:8;17696:17;17693:43;;;17716:18;;:::i;:::-;17693:43;17765:8;17762:1;17758:16;17749:25;;17800:3;17793:5;17790:14;17787:40;;;17807:18;;:::i;:::-;17787:40;17840:5;;;17578:277;;17964:2;17954:8;17951:16;17945:3;17939:4;17936:13;17932:36;17914:2;17904:8;17901:16;17896:2;17890:4;17887:12;17883:35;17867:111;17864:246;;;18020:8;18014:4;18010:19;18001:28;;18055:3;18048:5;18045:14;18042:40;;;18062:18;;:::i;:::-;18042:40;18095:5;;17864:246;18135:42;18173:3;18163:8;18157:4;18154:1;18135:42;:::i;:::-;18120:57;;;;18209:4;18204:3;18200:14;18193:5;18190:25;18187:51;;;18218:18;;:::i;:::-;18187:51;18267:4;18260:5;18256:16;18247:25;;17205:1073;;;;;;:::o;18284:281::-;18342:5;18366:23;18384:4;18366:23;:::i;:::-;18358:31;;18410:25;18426:8;18410:25;:::i;:::-;18398:37;;18454:104;18491:66;18481:8;18475:4;18454:104;:::i;:::-;18445:113;;18284:281;;;;:::o;18571:348::-;18611:7;18634:20;18652:1;18634:20;:::i;:::-;18629:25;;18668:20;18686:1;18668:20;:::i;:::-;18663:25;;18856:1;18788:66;18784:74;18781:1;18778:81;18773:1;18766:9;18759:17;18755:105;18752:131;;;18863:18;;:::i;:::-;18752:131;18911:1;18908;18904:9;18893:20;;18571:348;;;;:::o;18925:181::-;19065:33;19061:1;19053:6;19049:14;19042:57;18925:181;:::o;19112:366::-;19254:3;19275:67;19339:2;19334:3;19275:67;:::i;:::-;19268:74;;19351:93;19440:3;19351:93;:::i;:::-;19469:2;19464:3;19460:12;19453:19;;19112:366;;;:::o;19484:419::-;19650:4;19688:2;19677:9;19673:18;19665:26;;19737:9;19731:4;19727:20;19723:1;19712:9;19708:17;19701:47;19765:131;19891:4;19765:131;:::i;:::-;19757:139;;19484:419;;;:::o;19909:320::-;20024:4;20062:2;20051:9;20047:18;20039:26;;20075:65;20137:1;20126:9;20122:17;20113:6;20075:65;:::i;:::-;20150:72;20218:2;20207:9;20203:18;20194:6;20150:72;:::i;:::-;19909:320;;;;;:::o;20235:225::-;20375:34;20371:1;20363:6;20359:14;20352:58;20444:8;20439:2;20431:6;20427:15;20420:33;20235:225;:::o;20466:366::-;20608:3;20629:67;20693:2;20688:3;20629:67;:::i;:::-;20622:74;;20705:93;20794:3;20705:93;:::i;:::-;20823:2;20818:3;20814:12;20807:19;;20466:366;;;:::o;20838:419::-;21004:4;21042:2;21031:9;21027:18;21019:26;;21091:9;21085:4;21081:20;21077:1;21066:9;21062:17;21055:47;21119:131;21245:4;21119:131;:::i;:::-;21111:139;;20838:419;;;:::o;21263:182::-;21403:34;21399:1;21391:6;21387:14;21380:58;21263:182;:::o;21451:366::-;21593:3;21614:67;21678:2;21673:3;21614:67;:::i;:::-;21607:74;;21690:93;21779:3;21690:93;:::i;:::-;21808:2;21803:3;21799:12;21792:19;;21451:366;;;:::o;21823:419::-;21989:4;22027:2;22016:9;22012:18;22004:26;;22076:9;22070:4;22066:20;22062:1;22051:9;22047:17;22040:47;22104:131;22230:4;22104:131;:::i;:::-;22096:139;;21823:419;;;:::o;22248:224::-;22388:34;22384:1;22376:6;22372:14;22365:58;22457:7;22452:2;22444:6;22440:15;22433:32;22248:224;:::o;22478:366::-;22620:3;22641:67;22705:2;22700:3;22641:67;:::i;:::-;22634:74;;22717:93;22806:3;22717:93;:::i;:::-;22835:2;22830:3;22826:12;22819:19;;22478:366;;;:::o;22850:419::-;23016:4;23054:2;23043:9;23039:18;23031:26;;23103:9;23097:4;23093:20;23089:1;23078:9;23074:17;23067:47;23131:131;23257:4;23131:131;:::i;:::-;23123:139;;22850:419;;;:::o;23275:222::-;23415:34;23411:1;23403:6;23399:14;23392:58;23484:5;23479:2;23471:6;23467:15;23460:30;23275:222;:::o;23503:366::-;23645:3;23666:67;23730:2;23725:3;23666:67;:::i;:::-;23659:74;;23742:93;23831:3;23742:93;:::i;:::-;23860:2;23855:3;23851:12;23844:19;;23503:366;;;:::o;23875:419::-;24041:4;24079:2;24068:9;24064:18;24056:26;;24128:9;24122:4;24118:20;24114:1;24103:9;24099:17;24092:47;24156:131;24282:4;24156:131;:::i;:::-;24148:139;;23875:419;;;:::o;24300:228::-;24440:34;24436:1;24428:6;24424:14;24417:58;24509:11;24504:2;24496:6;24492:15;24485:36;24300:228;:::o;24534:366::-;24676:3;24697:67;24761:2;24756:3;24697:67;:::i;:::-;24690:74;;24773:93;24862:3;24773:93;:::i;:::-;24891:2;24886:3;24882:12;24875:19;;24534:366;;;:::o;24906:419::-;25072:4;25110:2;25099:9;25095:18;25087:26;;25159:9;25153:4;25149:20;25145:1;25134:9;25130:17;25123:47;25187:131;25313:4;25187:131;:::i;:::-;25179:139;;24906:419;;;:::o;25331:168::-;25471:20;25467:1;25459:6;25455:14;25448:44;25331:168;:::o;25505:366::-;25647:3;25668:67;25732:2;25727:3;25668:67;:::i;:::-;25661:74;;25744:93;25833:3;25744:93;:::i;:::-;25862:2;25857:3;25853:12;25846:19;;25505:366;;;:::o;25877:419::-;26043:4;26081:2;26070:9;26066:18;26058:26;;26130:9;26124:4;26120:20;26116:1;26105:9;26101:17;26094:47;26158:131;26284:4;26158:131;:::i;:::-;26150:139;;25877:419;;;:::o;26302:180::-;26350:77;26347:1;26340:88;26447:4;26444:1;26437:15;26471:4;26468:1;26461:15;26488:180;26536:77;26533:1;26526:88;26633:4;26630:1;26623:15;26657:4;26654:1;26647:15;26674:185;26714:1;26731:20;26749:1;26731:20;:::i;:::-;26726:25;;26765:20;26783:1;26765:20;:::i;:::-;26760:25;;26804:1;26794:35;;26809:18;;:::i;:::-;26794:35;26851:1;26848;26844:9;26839:14;;26674:185;;;;:::o;26865:180::-;26913:77;26910:1;26903:88;27010:4;27007:1;27000:15;27034:4;27031:1;27024:15;27051:143;27108:5;27139:6;27133:13;27124:22;;27155:33;27182:5;27155:33;:::i;:::-;27051:143;;;;:::o;27200:351::-;27270:6;27319:2;27307:9;27298:7;27294:23;27290:32;27287:119;;;27325:79;;:::i;:::-;27287:119;27445:1;27470:64;27526:7;27517:6;27506:9;27502:22;27470:64;:::i;:::-;27460:74;;27416:128;27200:351;;;;:::o;27557:85::-;27602:7;27631:5;27620:16;;27557:85;;;:::o;27648:158::-;27706:9;27739:61;27757:42;27766:32;27792:5;27766:32;:::i;:::-;27757:42;:::i;:::-;27739:61;:::i;:::-;27726:74;;27648:158;;;:::o;27812:147::-;27907:45;27946:5;27907:45;:::i;:::-;27902:3;27895:58;27812:147;;:::o;27965:114::-;28032:6;28066:5;28060:12;28050:22;;27965:114;;;:::o;28085:184::-;28184:11;28218:6;28213:3;28206:19;28258:4;28253:3;28249:14;28234:29;;28085:184;;;;:::o;28275:132::-;28342:4;28365:3;28357:11;;28395:4;28390:3;28386:14;28378:22;;28275:132;;;:::o;28413:108::-;28490:24;28508:5;28490:24;:::i;:::-;28485:3;28478:37;28413:108;;:::o;28527:179::-;28596:10;28617:46;28659:3;28651:6;28617:46;:::i;:::-;28695:4;28690:3;28686:14;28672:28;;28527:179;;;;:::o;28712:113::-;28782:4;28814;28809:3;28805:14;28797:22;;28712:113;;;:::o;28861:732::-;28980:3;29009:54;29057:5;29009:54;:::i;:::-;29079:86;29158:6;29153:3;29079:86;:::i;:::-;29072:93;;29189:56;29239:5;29189:56;:::i;:::-;29268:7;29299:1;29284:284;29309:6;29306:1;29303:13;29284:284;;;29385:6;29379:13;29412:63;29471:3;29456:13;29412:63;:::i;:::-;29405:70;;29498:60;29551:6;29498:60;:::i;:::-;29488:70;;29344:224;29331:1;29328;29324:9;29319:14;;29284:284;;;29288:14;29584:3;29577:10;;28985:608;;;28861:732;;;;:::o;29599:831::-;29862:4;29900:3;29889:9;29885:19;29877:27;;29914:71;29982:1;29971:9;29967:17;29958:6;29914:71;:::i;:::-;29995:80;30071:2;30060:9;30056:18;30047:6;29995:80;:::i;:::-;30122:9;30116:4;30112:20;30107:2;30096:9;30092:18;30085:48;30150:108;30253:4;30244:6;30150:108;:::i;:::-;30142:116;;30268:72;30336:2;30325:9;30321:18;30312:6;30268:72;:::i;:::-;30350:73;30418:3;30407:9;30403:19;30394:6;30350:73;:::i;:::-;29599:831;;;;;;;;:::o;30436:807::-;30685:4;30723:3;30712:9;30708:19;30700:27;;30737:71;30805:1;30794:9;30790:17;30781:6;30737:71;:::i;:::-;30818:72;30886:2;30875:9;30871:18;30862:6;30818:72;:::i;:::-;30900:80;30976:2;30965:9;30961:18;30952:6;30900:80;:::i;:::-;30990;31066:2;31055:9;31051:18;31042:6;30990:80;:::i;:::-;31080:73;31148:3;31137:9;31133:19;31124:6;31080:73;:::i;:::-;31163;31231:3;31220:9;31216:19;31207:6;31163:73;:::i;:::-;30436:807;;;;;;;;;:::o;31249:663::-;31337:6;31345;31353;31402:2;31390:9;31381:7;31377:23;31373:32;31370:119;;;31408:79;;:::i;:::-;31370:119;31528:1;31553:64;31609:7;31600:6;31589:9;31585:22;31553:64;:::i;:::-;31543:74;;31499:128;31666:2;31692:64;31748:7;31739:6;31728:9;31724:22;31692:64;:::i;:::-;31682:74;;31637:129;31805:2;31831:64;31887:7;31878:6;31867:9;31863:22;31831:64;:::i;:::-;31821:74;;31776:129;31249:663;;;;;:::o

Swarm Source

ipfs://e13b45399b87905f587e1486b26ffc7b3b26a0b563b956e3be218f0ebb29d7d7

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

OVERVIEW

Powered by $EJX, Evojacks is a decentralized Web3 gambling platform offering casino games, sports markets, and lottery betting. It supports multiple token deposits and withdrawals, with no KYC, and is built for fast, frictionless crypto wagering.

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.