** Maintenance in progress, block data might not be up to date **

Contract 0xb9a0caabd2f247631ecf03dd5e363c430c66a65b

 

Contract Overview

MoonMiner: MoonMiner Token
Balance:
0.3910917299667 BNB

BNB Value:
$168.35 (@ $430.45/BNB)

Token:
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x0e031a0d244f49b67c340b8f560109fdb5c720377ebe0764496b0425ec640eeeApprove144262782022-01-16 21:20:044 days 4 hrs ago0xfad2cbb3097f2b6082b39659e80781d79635b9da IN  MoonMiner: MoonMiner Token0 BNB0.000225805
0xc2a27081de3beae54a3ae469fe328ca2554b13487216c4c5be38178e0ca33ec6Transfer144116252022-01-16 9:03:354 days 16 hrs ago0x61ecfa1672b7cb135f17bf79e3970780b5759de4 IN  MoonMiner: MoonMiner Token0 BNB0.00043791048
0x3c173b23ea4ea286b3d0fa7a410dd649e937dc3739ed6044033dd5b2bf5e3f7cTransfer144115052022-01-16 8:57:354 days 16 hrs ago0x700e6034120b4d1637cb0565a5e6646d2c408cfe IN  MoonMiner: MoonMiner Token0 BNB0.00035758548
0xa9bf72791482dca06b6aa3c1af8e2e28de81125ca2b2fb5cfc1c5022beeb423dTransfer144055882022-01-16 4:01:434 days 21 hrs ago0x700e6034120b4d1637cb0565a5e6646d2c408cfe IN  MoonMiner: MoonMiner Token0 BNB0.00043791048
0x2c72b9adf68a06027a80e6e678068c949c67bd067ae38c18e796c1bd877399f5Approve143979922022-01-15 21:39:505 days 4 hrs ago0x76417fe8e91c81d76d98cb15bf2941e1c2855c17 IN  MoonMiner: MoonMiner Token0 BNB0.000074445
0x8baa980f32e88d47e5f1995b6026a2dd568a0a2f9074b456445dce73e186e3a4Approve143663932022-01-14 19:16:376 days 6 hrs ago0x3a2b576ef1884f10c4b18c06d55e7c07fde4ec12 IN  MoonMiner: MoonMiner Token0 BNB0.000316127
0x62d7fbd0256ab8da24eefaad983bee2a769c29b7d41db7516e0a917f8bdc8704Approve143409342022-01-13 21:59:227 days 3 hrs ago0x64cd3b2c2beabda16eff12116a8d4d02acc6c1ce IN  MoonMiner: MoonMiner Token0 BNB0.000225805
0xcfd9d5a6030812721ea09d40d626b96432a3deadb10410298a812c42e593e311Approve143367622022-01-13 18:30:447 days 7 hrs ago0x67c8087cf2e71fec95e0e3816052e2154818f2e9 IN  MoonMiner: MoonMiner Token0 BNB0.000225805
0x3785ae0e931d19d7ced7c7a85f54ef6c5c65ca569b59d2586e06d8bb3885b2ecApprove143217172022-01-13 5:57:337 days 19 hrs ago0x637a17bc644ed39df5ba9ce7b115b8be4c1b07e3 IN  MoonMiner: MoonMiner Token0 BNB0.000225805
0xfc579d5a7095785387ec0dd0711e56f23c0d90fc1f4e8d9b3246cdad428ad2abApprove142969982022-01-12 9:18:188 days 16 hrs ago0xd7b44ae796dd2e46497a6ff1bcd7f5c65753e006 IN  MoonMiner: MoonMiner Token0 BNB0.000225805
0xb2e3f3697a86c8e99b6d841c623d750861ef5ebba94428ed3d8c769bd781f34aApprove142856272022-01-11 23:49:269 days 2 hrs ago0xf24bfd02a161960004aebeb25d3bda95f19ed7c1 IN  MoonMiner: MoonMiner Token0 BNB0.000225805
0x956a7bc04e0f6a8285c672b0835acf013363097478a6eab47fa94cb4e4c604caApprove142010562022-01-09 1:13:2512 days 38 mins ago0x86fabdeaba4ec5347c0a07c29125f49bf85e6480 IN  MoonMiner: MoonMiner Token0 BNB0.000225805
0xa5584c396fb168ed978224aeaece2844fe8800bbfb451ff991cfa383dfa02467Approve141891762022-01-08 15:18:3612 days 10 hrs ago0x71e92e45a4dcb680b37d9930a047994c4a75b5c1 IN  MoonMiner: MoonMiner Token0 BNB0.000074445
0x02efb6af722fafb6cc555263733f2280deb26dfc57c28af2890aab3db688cdcdApprove141639632022-01-07 18:16:2813 days 7 hrs ago0x108fdaa72206d4288d883b9ed051086a3a2ed827 IN  MoonMiner: MoonMiner Token0 BNB0.000270966
0xa7a9084c78d6e6ea7705a936f383aa3a09a08baf777e191ac0c26bad9d3d1064Approve140554122022-01-03 23:35:0917 days 2 hrs ago0x936adde05d68690fb46cac9a386ac149bdd0c59e IN  MoonMiner: MoonMiner Token0 BNB0.000225805
0x0e5cc0948f788aaebd865d195cc288e993a3696baf2515345bd4341e8b664f0bApprove140058722022-01-02 6:12:2218 days 19 hrs ago0xd3796c2661969bb6802df7ed935ee02f2e88e51f IN  MoonMiner: MoonMiner Token0 BNB0.000225805
0xad3fdb38de0aa667c70d03db7f287c79156be55869f04dd631a9e68a0fd0113aApprove139693042021-12-31 23:42:1020 days 2 hrs ago0x348e05c4e721ce821e182f379a63aa36edf2f341 IN  MoonMiner: MoonMiner Token0 BNB0.0000774228
0x03962a5b3feba030af23d5037a83cdb89c6a11e5ff379fc7558a57fbe98a4df6Approve139555252021-12-31 12:11:5720 days 13 hrs ago0x3893e16833147c5f84632a4a05478328389eee60 IN  MoonMiner: MoonMiner Token0 BNB0.000224245
0x510275278d7278cb26b77ff7189dde1243b1543c5bfcd5af65eb19cc1db007faApprove138777132021-12-28 19:19:0823 days 6 hrs ago0xc166d8deb655524be3e41573ec2d4ae8b3a56c0e IN  MoonMiner: MoonMiner Token0 BNB0.000270966
0x698629edf626ea98391e5e0d6c4294e70c5315f62bb6466662fe3b7d79f2b989Approve138650422021-12-28 8:44:3323 days 17 hrs ago0x7cbfcf398219ab8637924d9094713b59053a34d3 IN  MoonMiner: MoonMiner Token0 BNB0.000225805
0xcbf9b8b88e6b42fb5541c729e5647b3cf61cd6f27ab21a84dd0c1c26fb1e3dfdApprove138430402021-12-27 14:21:4124 days 11 hrs ago0x498411bb32776a68536fd1abc91a776564ecfb91 IN  MoonMiner: MoonMiner Token0 BNB0.000225805
0xa735f0f31e4ef64be74928dfc57077f8662bb8e2906b949bde10358d281e4a13Approve135811782021-12-18 11:18:2133 days 14 hrs ago0xd7970b9572dab275fc914713cb323d8a94913d75 IN  MoonMiner: MoonMiner Token0 BNB0.000225805
0xf994984394b328c33ed2e78c88b9c8edbca766d471d38404f480c47175e549e1Approve135508932021-12-17 10:00:5234 days 15 hrs ago0x1744ea93436fe1f2efeb75f1099908d77ad6cda1 IN  MoonMiner: MoonMiner Token0 BNB0.000316127
0xa05b28affd3cf25483101fad562cc8c5752ff1bd4aa1a80f805f0fd4b378500bApprove135390092021-12-17 0:03:2235 days 1 hr ago0x75d5e9744bcfd48e0a89828e363e5b350d2e8a7a IN  MoonMiner: MoonMiner Token0 BNB0.000127885
0x8662e1332d7f989cdec1a7a9c1118f40cee92a69633c8a1a7176b95f372b2441Approve135389572021-12-17 0:00:4635 days 1 hr ago0x75d5e9744bcfd48e0a89828e363e5b350d2e8a7a IN  MoonMiner: MoonMiner Token0 BNB0.000074445
[ Download CSV Export 

OVERVIEW

MoonMiner takes a fee from each transaction and places it into a giant crowdfunded Syrup Pool on Pancakeswap, and the profit it generates is sent to its holders.

Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x58cbee0fe86bc9e67b861536fc10d84e4be7fee402902004ddb5d79b8f4fe22c144549352022-01-17 21:27:323 days 4 hrs ago Bulksender.app MoonMiner: MoonMiner Token0.005714783479 BNB
0x93c66cfd7289ad85965b4cdb53f4422c982acdc79aeb206f98fb14413e810ffe143217242022-01-13 5:57:547 days 19 hrs ago MoonMiner: MoonMiner Token PancakeSwap: Router v20.084418787930327713 BNB
0x93c66cfd7289ad85965b4cdb53f4422c982acdc79aeb206f98fb14413e810ffe143217242022-01-13 5:57:547 days 19 hrs ago MoonMiner: MoonMiner TokenMoonMiner: Deployer0.443198636634220491 BNB
0x93c66cfd7289ad85965b4cdb53f4422c982acdc79aeb206f98fb14413e810ffe143217242022-01-13 5:57:547 days 19 hrs ago PancakeSwap: Router v2 MoonMiner: MoonMiner Token0.527617424564548204 BNB
0x3cae9f7eeb0c1e7f63fdec105409ee844ee6f3677da8a0df62221a8488b4a7db143017822022-01-12 13:19:338 days 12 hrs ago MoonMiner: MoonMiner Token PancakeSwap: Router v20.068129269609888129 BNB
0x3cae9f7eeb0c1e7f63fdec105409ee844ee6f3677da8a0df62221a8488b4a7db143017822022-01-12 13:19:338 days 12 hrs ago MoonMiner: MoonMiner TokenMoonMiner: Deployer0.357678665451912673 BNB
0x3cae9f7eeb0c1e7f63fdec105409ee844ee6f3677da8a0df62221a8488b4a7db143017822022-01-12 13:19:338 days 12 hrs ago PancakeSwap: Router v2 MoonMiner: MoonMiner Token0.425807935061800802 BNB
0xc5c1e94bae9a99e4227d092abc7fdbd53682a377149fc0f3cc064c855abf0f2f142981162022-01-12 10:15:398 days 15 hrs ago MoonMiner: MoonMiner Token PancakeSwap: Router v20.096329053665064832 BNB
0xc5c1e94bae9a99e4227d092abc7fdbd53682a377149fc0f3cc064c855abf0f2f142981162022-01-12 10:15:398 days 15 hrs ago MoonMiner: MoonMiner TokenMoonMiner: Deployer0.505727531741590364 BNB
0xc5c1e94bae9a99e4227d092abc7fdbd53682a377149fc0f3cc064c855abf0f2f142981162022-01-12 10:15:398 days 15 hrs ago PancakeSwap: Router v2 MoonMiner: MoonMiner Token0.602056585406655196 BNB
0xdaca87e760488c08604769c296335fbfaf62bc7a643a338fe2a56e67a962c403142970042022-01-12 9:18:368 days 16 hrs ago MoonMiner: MoonMiner Token PancakeSwap: Router v20.110338206111195377 BNB
0xdaca87e760488c08604769c296335fbfaf62bc7a643a338fe2a56e67a962c403142970042022-01-12 9:18:368 days 16 hrs ago MoonMiner: MoonMiner TokenMoonMiner: Deployer0.579275582083775729 BNB
0xdaca87e760488c08604769c296335fbfaf62bc7a643a338fe2a56e67a962c403142970042022-01-12 9:18:368 days 16 hrs ago PancakeSwap: Router v2 MoonMiner: MoonMiner Token0.689613788194971106 BNB
0xde7585131ad77f5266da6f3cdbba843eda1e6509615d8317fa5b1e3cba3b6654142539722022-01-10 21:20:4110 days 4 hrs ago Bulksender.app MoonMiner: MoonMiner Token0.003771927546 BNB
0xbcd4a0ef2c82a6854b949351379b568893dd08e87f0ee522b5af2f69273f7bb7141639692022-01-07 18:16:4613 days 7 hrs ago MoonMiner: MoonMiner Token PancakeSwap: Router v20.091839692327161424 BNB
0xbcd4a0ef2c82a6854b949351379b568893dd08e87f0ee522b5af2f69273f7bb7141639692022-01-07 18:16:4613 days 7 hrs ago MoonMiner: MoonMiner TokenMoonMiner: Deployer0.482158384717597473 BNB
0xbcd4a0ef2c82a6854b949351379b568893dd08e87f0ee522b5af2f69273f7bb7141639692022-01-07 18:16:4613 days 7 hrs ago PancakeSwap: Router v2 MoonMiner: MoonMiner Token0.573998077044758897 BNB
0x3ecdf2b839f037f5b3756fa70e9fcea3f13916d68af732164a5c2bee2f3a4b8a140528642022-01-03 21:27:4517 days 4 hrs ago Bulksender.app MoonMiner: MoonMiner Token0.003603447998 BNB
0x6397f39c39c0a26cecfc09003c657a4d42e2520c7f930e463a4011d6ebf8a35d139555522021-12-31 12:13:1820 days 13 hrs ago MoonMiner: MoonMiner Token PancakeSwap: Router v20.076952915318541124 BNB
0x6397f39c39c0a26cecfc09003c657a4d42e2520c7f930e463a4011d6ebf8a35d139555522021-12-31 12:13:1820 days 13 hrs ago MoonMiner: MoonMiner TokenMoonMiner: Deployer0.4040028054223409 BNB
0x6397f39c39c0a26cecfc09003c657a4d42e2520c7f930e463a4011d6ebf8a35d139555522021-12-31 12:13:1820 days 13 hrs ago PancakeSwap: Router v2 MoonMiner: MoonMiner Token0.480955720740882024 BNB
0xfc6788ce702b935b435cd9436150de5379a8c5d617664ec4bff85cb31fc7c96e138804112021-12-28 21:34:0423 days 4 hrs ago MoonMiner: MoonMiner Token PancakeSwap: Router v20.096756267653932456 BNB
0xfc6788ce702b935b435cd9436150de5379a8c5d617664ec4bff85cb31fc7c96e138804112021-12-28 21:34:0423 days 4 hrs ago MoonMiner: MoonMiner TokenMoonMiner: Deployer0.507970405183145392 BNB
0xfc6788ce702b935b435cd9436150de5379a8c5d617664ec4bff85cb31fc7c96e138804112021-12-28 21:34:0423 days 4 hrs ago PancakeSwap: Router v2 MoonMiner: MoonMiner Token0.604726672837077848 BNB
0xd8e928a6bfc09fab10ae3572574930c375202e19349fffef2a3b68ad0eddcbc6138804042021-12-28 21:33:4323 days 4 hrs ago MoonMiner: MoonMiner Token PancakeSwap: Router v20.096756267653932456 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MoonMiner

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at BscScan.com on 2021-06-12
*/

pragma solidity ^0.8.4;

/**
    MoonMiner
*/

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

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

interface IBEP20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}
 
library SafeMath {

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

        return c;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     *
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts with custom message on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts with custom message when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    uint256 private _lockTime;

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

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

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

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

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

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

    function getUnlockTime() public view returns (uint256) {
        return _lockTime;
    }

    function lock(uint256 time) public virtual onlyOwner {
        _previousOwner = _owner;
        _owner = address(0);
        _lockTime = block.timestamp + time;
        emit OwnershipTransferred(_owner, address(0));
    }
    
    function unlock() public virtual {
        require(_previousOwner == msg.sender, "You don't have permission to unlock");
        require(block.timestamp > _lockTime , "Contract is still locked");
        emit OwnershipTransferred(_owner, _previousOwner);
        _owner = _previousOwner;
    }
}

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);

    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);

    function createPair(address tokenA, address tokenB) external returns (address pair);

    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

interface IUniswapV2Pair {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);

    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);

    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;

    event Mint(address indexed sender, uint amount0, uint amount1);
    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function price0CumulativeLast() external view returns (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);

    function mint(address to) external returns (uint liquidity);
    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;

    function initialize(address, address) external;
}

interface IUniswapV2Router01 {
    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 removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);

    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);

    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 MoonMiner is Context, IBEP20, Ownable {
    using SafeMath for uint256;

    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private _isExcluded;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public _isExcludedFromAutoLiquidity;

    address[] private _excluded;
    address public _devWallet;
   
    uint256 private constant MAX = ~uint256(0);
    uint256 private _tTotal = 1000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;

    string private _name     = "MoonMiner";
    string private _symbol   = "MoonMiner";
    uint8 private  _decimals = 9;
    
    uint256 public _taxFee       = 0; 
    uint256 public _liquidityFee = 12; 
    uint256 public _percentageOfLiquidityForDev = 50; 
    
    uint256 public  _maxTxAmount     = 10000000 * 10**9;
    uint256 private _minTokenBalance = 1000000 * 10**9;
    
    // auto liquidity
    bool public _swapAndLiquifyEnabled = true;
    bool _inSwapAndLiquify;
    IUniswapV2Router02 public _uniswapV2Router;
    address            public _uniswapV2Pair;
    event MinTokensBeforeSwapUpdated(uint256 minTokensBeforeSwap);
    event SwapAndLiquifyEnabledUpdated(bool enabled);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 bnbReceived,
        uint256 tokensIntoLiqudity
    );
    event DevFeeSent(address to, uint256 bnbSent);
    
    modifier lockTheSwap {
        _inSwapAndLiquify = true;
        _;
        _inSwapAndLiquify = false;
    }
    
    constructor (address cOwner, address devWallet) Ownable(cOwner) {
        _devWallet = devWallet;

        _rOwned[cOwner] = _rTotal;
        
        // uniswap
        IUniswapV2Router02 uniswapV2Router = IUniswapV2Router02(0x10ED43C718714eb63d5aA57B78B54704E256024E);
        _uniswapV2Router = uniswapV2Router;
        _uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory())
            .createPair(address(this), uniswapV2Router.WETH());
        
        // exclude system contracts
        _isExcludedFromFee[owner()]        = true;
        _isExcludedFromFee[address(this)]  = true;
        _isExcludedFromFee[_devWallet]     = true;

        _isExcludedFromAutoLiquidity[_uniswapV2Pair]            = true;
        _isExcludedFromAutoLiquidity[address(_uniswapV2Router)] = true;
        
        emit Transfer(address(0), cOwner, _tTotal);
    }

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

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

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

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

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

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

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

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

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

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "BEP20: decreased allowance below zero"));
        return true;
    }

    function isExcludedFromReward(address account) public view returns (bool) {
        return _isExcluded[account];
    }

    function totalFees() public view returns (uint256) {
        return _tFeeTotal;
    }

    function deliver(uint256 tAmount) public {
        address sender = _msgSender();
        require(!_isExcluded[sender], "Excluded addresses cannot call this function");

        (, uint256 tFee, uint256 tLiquidity) = _getTValues(tAmount);
        uint256 currentRate = _getRate();
        (uint256 rAmount,,) = _getRValues(tAmount, tFee, tLiquidity, currentRate);

        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rTotal         = _rTotal.sub(rAmount);
        _tFeeTotal      = _tFeeTotal.add(tAmount);
    }

    function reflectionFromToken(uint256 tAmount, bool deductTransferFee) public view returns(uint256) {
        require(tAmount <= _tTotal, "Amount must be less than supply");
        (, uint256 tFee, uint256 tLiquidity) = _getTValues(tAmount);
        uint256 currentRate = _getRate();

        if (!deductTransferFee) {
            (uint256 rAmount,,) = _getRValues(tAmount, tFee, tLiquidity, currentRate);
            return rAmount;

        } else {
            (, uint256 rTransferAmount,) = _getRValues(tAmount, tFee, tLiquidity, currentRate);
            return rTransferAmount;
        }
    }

    function tokenFromReflection(uint256 rAmount) public view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");

        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }

    function excludeFromReward(address account) public onlyOwner {
        require(!_isExcluded[account], "Account is already excluded");

        if (_rOwned[account] > 0) {
            _tOwned[account] = tokenFromReflection(_rOwned[account]);
        }
        _isExcluded[account] = true;
        _excluded.push(account);
    }

    function includeInReward(address account) external onlyOwner {
        require(_isExcluded[account], "Account is already excluded");

        for (uint256 i = 0; i < _excluded.length; i++) {
            if (_excluded[i] == account) {
                _excluded[i] = _excluded[_excluded.length - 1];
                _tOwned[account] = 0;
                _isExcluded[account] = false;
                _excluded.pop();
                break;
            }
        }
    }

    function setDevWallet(address devWallet) external onlyOwner {
        _devWallet = devWallet;
    }

    function setExcludedFromFee(address account, bool e) external onlyOwner {
        _isExcludedFromFee[account] = e;
    }
    
    function setTaxFeePercent(uint256 taxFee) external onlyOwner {
        _taxFee = taxFee;
    }

    function setLiquidityFeePercent(uint256 liquidityFee) external onlyOwner {
        _liquidityFee = liquidityFee;
    }

    function setPercentageOfLiquidityForDev(uint256 devFee) external onlyOwner {
        _percentageOfLiquidityForDev = devFee;
    }
   
    function setMaxTxPercent(uint256 maxTxPercent) external onlyOwner {
        _maxTxAmount = _tTotal.mul(maxTxPercent).div(100);
    }

    function setSwapAndLiquifyEnabled(bool e) public onlyOwner {
        _swapAndLiquifyEnabled = e;
        emit SwapAndLiquifyEnabledUpdated(e);
    }
    
    receive() external payable {}

    function setUniswapRouter(address r) external onlyOwner {
        IUniswapV2Router02 uniswapV2Router = IUniswapV2Router02(r);
        _uniswapV2Router = uniswapV2Router;
    }

    function setUniswapPair(address p) external onlyOwner {
        _uniswapV2Pair = p;
    }

    function setExcludedFromAutoLiquidity(address a, bool b) external onlyOwner {
        _isExcludedFromAutoLiquidity[a] = b;
    }

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

    function _getTValues(uint256 tAmount) private view returns (uint256, uint256, uint256) {
        uint256 tFee       = calculateFee(tAmount, _taxFee);
        uint256 tLiquidity = calculateFee(tAmount, _liquidityFee);
        uint256 tTransferAmount = tAmount.sub(tFee);
        tTransferAmount = tTransferAmount.sub(tLiquidity);
        return (tTransferAmount, tFee, tLiquidity);
    }

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

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

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

        uint256 rAmount = tAmount.mul(currentRate);
        _rOwned[to] = _rOwned[to].add(rAmount);
        if (_isExcluded[to]) {
            _tOwned[to] = _tOwned[to].add(tAmount);
        }
    }
    
    function calculateFee(uint256 amount, uint256 fee) private pure returns (uint256) {
        return amount.mul(fee).div(100);
    }
    
    function isExcludedFromFee(address account) public view returns(bool) {
        return _isExcludedFromFee[account];
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "BEP20: approve from the zero address");
        require(spender != address(0), "BEP20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

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

        if (from != owner() && to != owner()) {
            require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount.");
        }

        /*
            - swapAndLiquify will be initiated when token balance of this contract
            has accumulated enough over the minimum number of tokens required.
            - don't get caught in a circular liquidity event.
            - don't swapAndLiquify if sender is uniswap pair.
        */
        uint256 contractTokenBalance = balanceOf(address(this));
        
        if (contractTokenBalance >= _maxTxAmount) {
            contractTokenBalance = _maxTxAmount;
        }
        
        bool isOverMinTokenBalance = contractTokenBalance >= _minTokenBalance;
        if (
            isOverMinTokenBalance &&
            !_inSwapAndLiquify &&
            !_isExcludedFromAutoLiquidity[from] &&
            _swapAndLiquifyEnabled
        ) {
            // contractTokenBalance = _minTokenBalance;
            swapAndLiquify(contractTokenBalance);
        }

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

    function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap {
        // split contract balance into halves
        uint256 half      = contractTokenBalance.div(2);
        uint256 otherHalf = contractTokenBalance.sub(half);

        /*
            capture the contract's current BNB balance.
            this is so that we can capture exactly the amount of BNB that
            the swap creates, and not make the liquidity event include any BNB
            that has been manually sent to the contract.
        */
        uint256 initialBalance = address(this).balance;

        // swap tokens for BNB
        swapTokensForBnb(half);

        // this is the amount of BNB that we just swapped into
        uint256 newBalance = address(this).balance.sub(initialBalance);

        // take dev fee
        uint256 devFee          = newBalance.mul(_percentageOfLiquidityForDev).div(100);
        uint256 bnbForLiquidity = newBalance.sub(devFee);
        if (devFee > 0) {
            payable(_devWallet).transfer(devFee);
            emit DevFeeSent(_devWallet, devFee);
        }

        // add liquidity to uniswap
        addLiquidity(otherHalf, bnbForLiquidity);
        
        emit SwapAndLiquify(half, bnbForLiquidity, otherHalf);
    }
    function swapTokensForBnb(uint256 tokenAmount) private {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _uniswapV2Router.WETH();

        _approve(address(this), address(_uniswapV2Router), tokenAmount);

        // make the swap
        _uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of BNB
            path,
            address(this),
            block.timestamp
        );
    }
    function addLiquidity(uint256 tokenAmount, uint256 bnbAmount) private {
        // approve token transfer to cover all possible scenarios
        _approve(address(this), address(_uniswapV2Router), tokenAmount);

        // add the liquidity
        _uniswapV2Router.addLiquidityETH{value: bnbAmount}(
            address(this),
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            address(this),
            block.timestamp
        );
    }

    function _tokenTransfer(address sender, address recipient, uint256 amount,bool takeFee) private {
        uint256 previousTaxFee       = _taxFee;
        uint256 previousLiquidityFee = _liquidityFee;
        
        if (!takeFee) {
            _taxFee       = 0;
            _liquidityFee = 0;
        }
        
        if (_isExcluded[sender] && !_isExcluded[recipient]) {
            _transferFromExcluded(sender, recipient, amount);

        } else if (!_isExcluded[sender] && _isExcluded[recipient]) {
            _transferToExcluded(sender, recipient, amount);

        } else if (!_isExcluded[sender] && !_isExcluded[recipient]) {
            _transferStandard(sender, recipient, amount);

        } else if (_isExcluded[sender] && _isExcluded[recipient]) {
            _transferBothExcluded(sender, recipient, amount);

        } else {
            _transferStandard(sender, recipient, amount);
        }
        
        if (!takeFee) {
            _taxFee       = previousTaxFee;
            _liquidityFee = previousLiquidityFee;
        }
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity) = _getTValues(tAmount);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tLiquidity, currentRate);

        _rOwned[sender]    = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);

        takeTransactionFee(address(this), tLiquidity, currentRate);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _transferBothExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity) = _getTValues(tAmount);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tLiquidity, currentRate);

        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);

        takeTransactionFee(address(this), tLiquidity, currentRate);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _transferToExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity) = _getTValues(tAmount);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tLiquidity, currentRate);

        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);

        takeTransactionFee(address(this), tLiquidity, currentRate);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _transferFromExcluded(address sender, address recipient, uint256 tAmount) private {
        (uint256 tTransferAmount, uint256 tFee, uint256 tLiquidity) = _getTValues(tAmount);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tLiquidity, currentRate);

        _tOwned[sender] = _tOwned[sender].sub(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        
        takeTransactionFee(address(this), tLiquidity, currentRate);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"cOwner","type":"address"},{"internalType":"address","name":"devWallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"bnbSent","type":"uint256"}],"name":"DevFeeSent","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"minTokensBeforeSwap","type":"uint256"}],"name":"MinTokensBeforeSwapUpdated","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":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"bnbReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_devWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromAutoLiquidity","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_percentageOfLiquidityForDev","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"}],"name":"deliver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getUnlockTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromReward","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"time","type":"uint256"}],"name":"lock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferFee","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"devWallet","type":"address"}],"name":"setDevWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"},{"internalType":"bool","name":"b","type":"bool"}],"name":"setExcludedFromAutoLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"e","type":"bool"}],"name":"setExcludedFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"liquidityFee","type":"uint256"}],"name":"setLiquidityFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxPercent","type":"uint256"}],"name":"setMaxTxPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"devFee","type":"uint256"}],"name":"setPercentageOfLiquidityForDev","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"e","type":"bool"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"taxFee","type":"uint256"}],"name":"setTaxFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"p","type":"address"}],"name":"setUniswapPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"r","type":"address"}],"name":"setUniswapRouter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[],"name":"unlock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052670de0b6b3a7640000600b55600b54600019620000229190620009ca565b6000196200003191906200091b565b600c556040518060400160405280600981526020017f4d6f6f6e4d696e65720000000000000000000000000000000000000000000000815250600e9080519060200190620000819291906200077b565b506040518060400160405280600981526020017f4d6f6f6e4d696e65720000000000000000000000000000000000000000000000815250600f9080519060200190620000cf9291906200077b565b506009601060006101000a81548160ff021916908360ff1602179055506000601155600c6012556032601355662386f26fc1000060145566038d7ea4c680006015556001601660006101000a81548160ff0219169083151502179055503480156200013957600080fd5b506040516200668f3803806200668f83398181016040528101906200015f91906200086e565b81806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c54600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060007310ed43c718714eb63d5aa57b78b54704e256024e905080601660026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200032457600080fd5b505afa15801562000339573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200035f919062000842565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620003c257600080fd5b505afa158015620003d7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003fd919062000842565b6040518363ffffffff1660e01b81526004016200041c929190620008d1565b602060405180830381600087803b1580156200043757600080fd5b505af11580156200044c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000472919062000842565b601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160056000620004c86200075260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160086000601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160086000601660029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600b54604051620007419190620008fe565b60405180910390a350505062000aa9565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b828054620007899062000994565b90600052602060002090601f016020900481019282620007ad5760008555620007f9565b82601f10620007c857805160ff1916838001178555620007f9565b82800160010185558215620007f9579182015b82811115620007f8578251825591602001919060010190620007db565b5b5090506200080891906200080c565b5090565b5b80821115620008275760008160009055506001016200080d565b5090565b6000815190506200083c8162000a8f565b92915050565b6000602082840312156200085557600080fd5b600062000865848285016200082b565b91505092915050565b600080604083850312156200088257600080fd5b600062000892858286016200082b565b9250506020620008a5858286016200082b565b9150509250929050565b620008ba8162000956565b82525050565b620008cb816200098a565b82525050565b6000604082019050620008e86000830185620008af565b620008f76020830184620008af565b9392505050565b6000602082019050620009156000830184620008c0565b92915050565b600062000928826200098a565b915062000935836200098a565b9250828210156200094b576200094a62000a02565b5b828203905092915050565b600062000963826200096a565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006002820490506001821680620009ad57607f821691505b60208210811415620009c457620009c362000a60565b5b50919050565b6000620009d7826200098a565b9150620009e4836200098a565b925082620009f757620009f662000a31565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b62000a9a8162000956565b811462000aa657600080fd5b50565b615bd68062000ab96000396000f3fe60806040526004361061026b5760003560e01c806370a0823111610144578063b71cbfd4116100b6578063d543dbeb1161007a578063d543dbeb14610961578063d5aed6bf1461098a578063d6b0e3b4146109b3578063dd467064146109de578063dd62ed3e14610a07578063f2fde38b14610a4457610272565b8063b71cbfd41461087e578063baa04398146108a7578063bea9849e146108e4578063c49b9a801461090d578063cbecede01461093657610272565b80638ee88c53116101085780638ee88c531461076e57806395d89b41146107975780639c74daf0146107c2578063a457c2d7146107ed578063a69df4b51461082a578063a9059cbb1461084157610272565b806370a0823114610687578063715018a6146106c45780637d1db4a5146106db57806388f82020146107065780638da5cb5b1461074357610272565b806339509351116101dd5780635342acb4116101a15780635342acb414610577578063583e0568146105b45780635d83b454146105df578063602bc62b146106085780636612e66f146106335780636bc87c3a1461065c57610272565b806339509351146104805780633b124fe7146104bd5780633bd5d173146104e85780634549b0391461051157806352390c021461054e57610272565b806318160ddd1161022f57806318160ddd1461035e5780631f53ac021461038957806323b872dd146103b25780632d838119146103ef578063313ce5671461042c5780633685d4191461045757610272565b8063061c82d01461027757806306fdde03146102a0578063095ea7b3146102cb57806311a63e171461030857806313114a9d1461033357610272565b3661027257005b600080fd5b34801561028357600080fd5b5061029e60048036038101906102999190614bdb565b610a6d565b005b3480156102ac57600080fd5b506102b5610b0c565b6040516102c291906150b2565b60405180910390f35b3480156102d757600080fd5b506102f260048036038101906102ed9190614b76565b610b9e565b6040516102ff919061507c565b60405180910390f35b34801561031457600080fd5b5061031d610bbc565b60405161032a9190614fd7565b60405180910390f35b34801561033f57600080fd5b50610348610be2565b60405161035591906152d4565b60405180910390f35b34801561036a57600080fd5b50610373610bec565b60405161038091906152d4565b60405180910390f35b34801561039557600080fd5b506103b060048036038101906103ab9190614a5d565b610bf6565b005b3480156103be57600080fd5b506103d960048036038101906103d49190614aeb565b610ccf565b6040516103e6919061507c565b60405180910390f35b3480156103fb57600080fd5b5061041660048036038101906104119190614bdb565b610da8565b60405161042391906152d4565b60405180910390f35b34801561043857600080fd5b50610441610e16565b60405161044e9190615380565b60405180910390f35b34801561046357600080fd5b5061047e60048036038101906104799190614a5d565b610e2d565b005b34801561048c57600080fd5b506104a760048036038101906104a29190614b76565b611214565b6040516104b4919061507c565b60405180910390f35b3480156104c957600080fd5b506104d26112c7565b6040516104df91906152d4565b60405180910390f35b3480156104f457600080fd5b5061050f600480360381019061050a9190614bdb565b6112cd565b005b34801561051d57600080fd5b5061053860048036038101906105339190614c04565b611468565b60405161054591906152d4565b60405180910390f35b34801561055a57600080fd5b5061057560048036038101906105709190614a5d565b61150f565b005b34801561058357600080fd5b5061059e60048036038101906105999190614a5d565b6117c3565b6040516105ab919061507c565b60405180910390f35b3480156105c057600080fd5b506105c9611819565b6040516105d69190615097565b60405180910390f35b3480156105eb57600080fd5b5061060660048036038101906106019190614b3a565b61183f565b005b34801561061457600080fd5b5061061d61192f565b60405161062a91906152d4565b60405180910390f35b34801561063f57600080fd5b5061065a60048036038101906106559190614b3a565b611939565b005b34801561066857600080fd5b50610671611a29565b60405161067e91906152d4565b60405180910390f35b34801561069357600080fd5b506106ae60048036038101906106a99190614a5d565b611a2f565b6040516106bb91906152d4565b60405180910390f35b3480156106d057600080fd5b506106d9611b1a565b005b3480156106e757600080fd5b506106f0611c6d565b6040516106fd91906152d4565b60405180910390f35b34801561071257600080fd5b5061072d60048036038101906107289190614a5d565b611c73565b60405161073a919061507c565b60405180910390f35b34801561074f57600080fd5b50610758611cc9565b6040516107659190614fd7565b60405180910390f35b34801561077a57600080fd5b5061079560048036038101906107909190614bdb565b611cf2565b005b3480156107a357600080fd5b506107ac611d91565b6040516107b991906150b2565b60405180910390f35b3480156107ce57600080fd5b506107d7611e23565b6040516107e49190614fd7565b60405180910390f35b3480156107f957600080fd5b50610814600480360381019061080f9190614b76565b611e49565b604051610821919061507c565b60405180910390f35b34801561083657600080fd5b5061083f611f16565b005b34801561084d57600080fd5b5061086860048036038101906108639190614b76565b6120ea565b604051610875919061507c565b60405180910390f35b34801561088a57600080fd5b506108a560048036038101906108a09190614bdb565b612108565b005b3480156108b357600080fd5b506108ce60048036038101906108c99190614a5d565b6121a7565b6040516108db919061507c565b60405180910390f35b3480156108f057600080fd5b5061090b60048036038101906109069190614a5d565b6121c7565b005b34801561091957600080fd5b50610934600480360381019061092f9190614bb2565b6122a6565b005b34801561094257600080fd5b5061094b61238f565b604051610958919061507c565b60405180910390f35b34801561096d57600080fd5b5061098860048036038101906109839190614bdb565b6123a2565b005b34801561099657600080fd5b506109b160048036038101906109ac9190614a5d565b612468565b005b3480156109bf57600080fd5b506109c8612541565b6040516109d591906152d4565b60405180910390f35b3480156109ea57600080fd5b50610a056004803603810190610a009190614bdb565b612547565b005b348015610a1357600080fd5b50610a2e6004803603810190610a299190614aaf565b61270e565b604051610a3b91906152d4565b60405180910390f35b348015610a5057600080fd5b50610a6b6004803603810190610a669190614a5d565b612795565b005b610a75612957565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af990615214565b60405180910390fd5b8060118190555050565b6060600e8054610b1b906155c3565b80601f0160208091040260200160405190810160405280929190818152602001828054610b47906155c3565b8015610b945780601f10610b6957610100808354040283529160200191610b94565b820191906000526020600020905b815481529060010190602001808311610b7757829003601f168201915b5050505050905090565b6000610bb2610bab612957565b848461295f565b6001905092915050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600d54905090565b6000600b54905090565b610bfe612957565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c8b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8290615214565b60405180910390fd5b80600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000610cdc848484612b2a565b610d9d84610ce8612957565b610d9885604051806060016040528060288152602001615b5460289139600760008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610d4e612957565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e909092919063ffffffff16565b61295f565b600190509392505050565b6000600c54821115610def576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de690615134565b60405180910390fd5b6000610df9612ef4565b9050610e0e8184612f1f90919063ffffffff16565b915050919050565b6000601060009054906101000a900460ff16905090565b610e35612957565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ec2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb990615214565b60405180910390fd5b600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610f4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4590615194565b60405180910390fd5b60005b600980549050811015611210578173ffffffffffffffffffffffffffffffffffffffff1660098281548110610faf577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156111fd576009600160098054905061100a91906154d1565b81548110611041577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600982815481106110a6577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060098054806111c3577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690559055611210565b8080611208906155f5565b915050610f51565b5050565b60006112bd611221612957565b846112b88560076000611232612957565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f6990919063ffffffff16565b61295f565b6001905092915050565b60115481565b60006112d7612957565b9050600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611366576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135d90615274565b60405180910390fd5b60008061137284612fc7565b92509250506000611381612ef4565b905060006113918685858561302a565b505090506113e781600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546130b690919063ffffffff16565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061143f81600c546130b690919063ffffffff16565b600c8190555061145a86600d54612f6990919063ffffffff16565b600d81905550505050505050565b6000600b548311156114af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a6906151b4565b60405180910390fd5b6000806114bb85612fc7565b925092505060006114ca612ef4565b9050846114ef5760006114df8785858561302a565b5050905080945050505050611509565b60006114fd8785858561302a565b50915050809450505050505b92915050565b611517612957565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159b90615214565b60405180910390fd5b600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611631576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162890615194565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115611705576116c1600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610da8565b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506009819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b601660029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611847612957565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118cb90615214565b60405180910390fd5b80600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600254905090565b611941612957565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c590615214565b60405180910390fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60125481565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611aca57600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050611b15565b611b12600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610da8565b90505b919050565b611b22612957565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611baf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba690615214565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60145481565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611cfa612957565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7e90615214565b60405180910390fd5b8060128190555050565b6060600f8054611da0906155c3565b80601f0160208091040260200160405190810160405280929190818152602001828054611dcc906155c3565b8015611e195780601f10611dee57610100808354040283529160200191611e19565b820191906000526020600020905b815481529060010190602001808311611dfc57829003601f168201915b5050505050905090565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611f0c611e56612957565b84611f0785604051806060016040528060258152602001615b7c6025913960076000611e80612957565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e909092919063ffffffff16565b61295f565b6001905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611fa6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9d906152b4565b60405180910390fd5b6002544211611fea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fe1906150f4565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60006120fe6120f7612957565b8484612b2a565b6001905092915050565b612110612957565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461219d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161219490615214565b60405180910390fd5b8060138190555050565b60086020528060005260406000206000915054906101000a900460ff1681565b6121cf612957565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461225c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161225390615214565b60405180910390fd5b600081905080601660026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6122ae612957565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461233b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161233290615214565b60405180910390fd5b80601660006101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc15981604051612384919061507c565b60405180910390a150565b601660009054906101000a900460ff1681565b6123aa612957565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612437576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161242e90615214565b60405180910390fd5b61245f606461245183600b5461310090919063ffffffff16565b612f1f90919063ffffffff16565b60148190555050565b612470612957565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146124fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124f490615214565b60405180910390fd5b80601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60135481565b61254f612957565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146125dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125d390615214565b60405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550804261268a91906153f0565b600281905550600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61279d612957565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461282a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161282190615214565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561289a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161289190615154565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156129cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129c690615114565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612a3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a3690615294565b60405180910390fd5b80600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051612b1d91906152d4565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612b9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b91906150d4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612c0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c0190615254565b60405180910390fd5b60008111612c4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c4490615234565b60405180910390fd5b612c55611cc9565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015612cc35750612c93611cc9565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15612d0e57601454811115612d0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d04906151d4565b60405180910390fd5b5b6000612d1930611a2f565b90506014548110612d2a5760145490505b60006015548210159050808015612d4e5750601660019054906101000a900460ff16155b8015612da45750600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612dbc5750601660009054906101000a900460ff165b15612dcb57612dca8261317b565b5b600060019050600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612e725750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612e7c57600090505b612e8886868684613364565b505050505050565b6000838311158290612ed8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ecf91906150b2565b60405180910390fd5b5060008385612ee791906154d1565b9050809150509392505050565b6000806000612f01613693565b91509150612f188183612f1f90919063ffffffff16565b9250505090565b6000612f6183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506139de565b905092915050565b6000808284612f7891906153f0565b905083811015612fbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612fb490615174565b60405180910390fd5b8091505092915050565b600080600080612fd985601154613a41565b90506000612fe986601254613a41565b9050600061300083886130b690919063ffffffff16565b905061301582826130b690919063ffffffff16565b90508083839550955095505050509193909250565b600080600080613043858961310090919063ffffffff16565b9050600061305a868961310090919063ffffffff16565b90506000613071878961310090919063ffffffff16565b9050600061308883856130b690919063ffffffff16565b905061309d82826130b690919063ffffffff16565b9050838184965096509650505050509450945094915050565b60006130f883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612e90565b905092915050565b6000808314156131135760009050613175565b600082846131219190615477565b90508284826131309190615446565b14613170576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613167906151f4565b60405180910390fd5b809150505b92915050565b6001601660016101000a81548160ff02191690831515021790555060006131ac600283612f1f90919063ffffffff16565b905060006131c382846130b690919063ffffffff16565b905060004790506131d383613a71565b60006131e882476130b690919063ffffffff16565b9050600061321460646132066013548561310090919063ffffffff16565b612f1f90919063ffffffff16565b9050600061322b82846130b690919063ffffffff16565b905060008211156132fb57600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f1935050505015801561329e573d6000803e3d6000fd5b507ff00ef454165952f9f1864c60595e806f9a1b7f118b5474cfde32bf4061041be9600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040516132f2929190614ff2565b60405180910390a15b6133058582613d35565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb56186828760405161333893929190615349565b60405180910390a15050505050506000601660016101000a81548160ff02191690831515021790555050565b60006011549050600060125490508261338857600060118190555060006012819055505b600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561342b5750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156134405761343b868686613e22565b613677565b600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156134e35750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156134f8576134f386868661409e565b613676565b600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561359c5750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156135b1576135ac86868661431a565b613675565b600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156136535750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561366857613663868686614501565b613674565b61367386868661431a565b5b5b5b5b8261368b5781601181905550806012819055505b505050505050565b6000806000600c5490506000600b54905060005b6009805490508110156139a1578260036000600984815481106136f3577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541180613807575081600460006009848154811061379f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b1561381e57600c54600b54945094505050506139da565b6138d4600360006009848154811061385f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054846130b690919063ffffffff16565b925061398c6004600060098481548110613917577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836130b690919063ffffffff16565b91508080613999906155f5565b9150506136a7565b506139b9600b54600c54612f1f90919063ffffffff16565b8210156139d157600c54600b549350935050506139da565b81819350935050505b9091565b60008083118290613a25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613a1c91906150b2565b60405180910390fd5b5060008385613a349190615446565b9050809150509392505050565b6000613a696064613a5b848661310090919063ffffffff16565b612f1f90919063ffffffff16565b905092915050565b6000600267ffffffffffffffff811115613ab4577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015613ae25781602001602082028036833780820191505090505b5090503081600081518110613b20577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601660029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015613bc257600080fd5b505afa158015613bd6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613bfa9190614a86565b81600181518110613c34577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050613c9b30601660029054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461295f565b601660029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401613cff9594939291906152ef565b600060405180830381600087803b158015613d1957600080fd5b505af1158015613d2d573d6000803e3d6000fd5b505050505050565b613d6230601660029054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461295f565b601660029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71982308560008030426040518863ffffffff1660e01b8152600401613dc99695949392919061501b565b6060604051808303818588803b158015613de257600080fd5b505af1158015613df6573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190613e1b9190614c40565b5050505050565b6000806000613e3084612fc7565b9250925092506000613e40612ef4565b90506000806000613e538887878761302a565b925092509250613eab88600460008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546130b690919063ffffffff16565b600460008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613f4083600360008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546130b690919063ffffffff16565b600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613fd582600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f6990919063ffffffff16565b600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550614023308686614812565b61402d81876149ba565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8960405161408a91906152d4565b60405180910390a350505050505050505050565b60008060006140ac84612fc7565b92509250925060006140bc612ef4565b905060008060006140cf8887878761302a565b92509250925061412783600360008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546130b690919063ffffffff16565b600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506141bc87600460008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f6990919063ffffffff16565b600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061425182600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f6990919063ffffffff16565b600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061429f308686614812565b6142a981876149ba565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8960405161430691906152d4565b60405180910390a350505050505050505050565b600080600061432884612fc7565b9250925092506000614338612ef4565b9050600080600061434b8887878761302a565b9250925092506143a383600360008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546130b690919063ffffffff16565b600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061443882600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f6990919063ffffffff16565b600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550614486308686614812565b61449081876149ba565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef896040516144ed91906152d4565b60405180910390a350505050505050505050565b600080600061450f84612fc7565b925092509250600061451f612ef4565b905060008060006145328887878761302a565b92509250925061458a88600460008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546130b690919063ffffffff16565b600460008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061461f83600360008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546130b690919063ffffffff16565b600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506146b487600460008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f6990919063ffffffff16565b600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061474982600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f6990919063ffffffff16565b600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550614797308686614812565b6147a181876149ba565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef896040516147fe91906152d4565b60405180910390a350505050505050505050565b6000821161481f576149b5565b6000614834828461310090919063ffffffff16565b905061488881600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f6990919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156149b35761496f83600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f6990919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b505b505050565b6149cf82600c546130b690919063ffffffff16565b600c819055506149ea81600d54612f6990919063ffffffff16565b600d819055505050565b600081359050614a0381615b0e565b92915050565b600081519050614a1881615b0e565b92915050565b600081359050614a2d81615b25565b92915050565b600081359050614a4281615b3c565b92915050565b600081519050614a5781615b3c565b92915050565b600060208284031215614a6f57600080fd5b6000614a7d848285016149f4565b91505092915050565b600060208284031215614a9857600080fd5b6000614aa684828501614a09565b91505092915050565b60008060408385031215614ac257600080fd5b6000614ad0858286016149f4565b9250506020614ae1858286016149f4565b9150509250929050565b600080600060608486031215614b0057600080fd5b6000614b0e868287016149f4565b9350506020614b1f868287016149f4565b9250506040614b3086828701614a33565b9150509250925092565b60008060408385031215614b4d57600080fd5b6000614b5b858286016149f4565b9250506020614b6c85828601614a1e565b9150509250929050565b60008060408385031215614b8957600080fd5b6000614b97858286016149f4565b9250506020614ba885828601614a33565b9150509250929050565b600060208284031215614bc457600080fd5b6000614bd284828501614a1e565b91505092915050565b600060208284031215614bed57600080fd5b6000614bfb84828501614a33565b91505092915050565b60008060408385031215614c1757600080fd5b6000614c2585828601614a33565b9250506020614c3685828601614a1e565b9150509250929050565b600080600060608486031215614c5557600080fd5b6000614c6386828701614a48565b9350506020614c7486828701614a48565b9250506040614c8586828701614a48565b9150509250925092565b6000614c9b8383614ca7565b60208301905092915050565b614cb081615505565b82525050565b614cbf81615505565b82525050565b6000614cd0826153ab565b614cda81856153ce565b9350614ce58361539b565b8060005b83811015614d16578151614cfd8882614c8f565b9750614d08836153c1565b925050600181019050614ce9565b5085935050505092915050565b614d2c81615517565b82525050565b614d3b8161555a565b82525050565b614d4a8161557e565b82525050565b6000614d5b826153b6565b614d6581856153df565b9350614d75818560208601615590565b614d7e816156cb565b840191505092915050565b6000614d966025836153df565b9150614da1826156dc565b604082019050919050565b6000614db96018836153df565b9150614dc48261572b565b602082019050919050565b6000614ddc6024836153df565b9150614de782615754565b604082019050919050565b6000614dff602a836153df565b9150614e0a826157a3565b604082019050919050565b6000614e226026836153df565b9150614e2d826157f2565b604082019050919050565b6000614e45601b836153df565b9150614e5082615841565b602082019050919050565b6000614e68601b836153df565b9150614e738261586a565b602082019050919050565b6000614e8b601f836153df565b9150614e9682615893565b602082019050919050565b6000614eae6028836153df565b9150614eb9826158bc565b604082019050919050565b6000614ed16021836153df565b9150614edc8261590b565b604082019050919050565b6000614ef46020836153df565b9150614eff8261595a565b602082019050919050565b6000614f176029836153df565b9150614f2282615983565b604082019050919050565b6000614f3a6023836153df565b9150614f45826159d2565b604082019050919050565b6000614f5d602c836153df565b9150614f6882615a21565b604082019050919050565b6000614f806022836153df565b9150614f8b82615a70565b604082019050919050565b6000614fa36023836153df565b9150614fae82615abf565b604082019050919050565b614fc281615543565b82525050565b614fd18161554d565b82525050565b6000602082019050614fec6000830184614cb6565b92915050565b60006040820190506150076000830185614cb6565b6150146020830184614fb9565b9392505050565b600060c0820190506150306000830189614cb6565b61503d6020830188614fb9565b61504a6040830187614d41565b6150576060830186614d41565b6150646080830185614cb6565b61507160a0830184614fb9565b979650505050505050565b60006020820190506150916000830184614d23565b92915050565b60006020820190506150ac6000830184614d32565b92915050565b600060208201905081810360008301526150cc8184614d50565b905092915050565b600060208201905081810360008301526150ed81614d89565b9050919050565b6000602082019050818103600083015261510d81614dac565b9050919050565b6000602082019050818103600083015261512d81614dcf565b9050919050565b6000602082019050818103600083015261514d81614df2565b9050919050565b6000602082019050818103600083015261516d81614e15565b9050919050565b6000602082019050818103600083015261518d81614e38565b9050919050565b600060208201905081810360008301526151ad81614e5b565b9050919050565b600060208201905081810360008301526151cd81614e7e565b9050919050565b600060208201905081810360008301526151ed81614ea1565b9050919050565b6000602082019050818103600083015261520d81614ec4565b9050919050565b6000602082019050818103600083015261522d81614ee7565b9050919050565b6000602082019050818103600083015261524d81614f0a565b9050919050565b6000602082019050818103600083015261526d81614f2d565b9050919050565b6000602082019050818103600083015261528d81614f50565b9050919050565b600060208201905081810360008301526152ad81614f73565b9050919050565b600060208201905081810360008301526152cd81614f96565b9050919050565b60006020820190506152e96000830184614fb9565b92915050565b600060a0820190506153046000830188614fb9565b6153116020830187614d41565b81810360408301526153238186614cc5565b90506153326060830185614cb6565b61533f6080830184614fb9565b9695505050505050565b600060608201905061535e6000830186614fb9565b61536b6020830185614fb9565b6153786040830184614fb9565b949350505050565b60006020820190506153956000830184614fc8565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006153fb82615543565b915061540683615543565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561543b5761543a61563e565b5b828201905092915050565b600061545182615543565b915061545c83615543565b92508261546c5761546b61566d565b5b828204905092915050565b600061548282615543565b915061548d83615543565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156154c6576154c561563e565b5b828202905092915050565b60006154dc82615543565b91506154e783615543565b9250828210156154fa576154f961563e565b5b828203905092915050565b600061551082615523565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006155658261556c565b9050919050565b600061557782615523565b9050919050565b600061558982615543565b9050919050565b60005b838110156155ae578082015181840152602081019050615593565b838111156155bd576000848401525b50505050565b600060028204905060018216806155db57607f821691505b602082108114156155ef576155ee61569c565b5b50919050565b600061560082615543565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156156335761563261563e565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f42455032303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f436f6e7472616374206973207374696c6c206c6f636b65640000000000000000600082015250565b7f42455032303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f4163636f756e7420697320616c7265616479206578636c756465640000000000600082015250565b7f416d6f756e74206d757374206265206c657373207468616e20737570706c7900600082015250565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785460008201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f42455032303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460008201527f6869732066756e6374696f6e0000000000000000000000000000000000000000602082015250565b7f42455032303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f596f7520646f6e27742068617665207065726d697373696f6e20746f20756e6c60008201527f6f636b0000000000000000000000000000000000000000000000000000000000602082015250565b615b1781615505565b8114615b2257600080fd5b50565b615b2e81615517565b8114615b3957600080fd5b50565b615b4581615543565b8114615b5057600080fd5b5056fe42455032303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636542455032303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220fed0aa18de91623bcc9ec6f12ec735fb89b3cd8dec8c6ec9b497ec118e05fdbf64736f6c634300080400330000000000000000000000008d472b003badc260767b18b13f2da334e0e399cd0000000000000000000000009560ce474ffc853d244f949cd4ee83bd6edcedc0

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

0000000000000000000000008d472b003badc260767b18b13f2da334e0e399cd0000000000000000000000009560ce474ffc853d244f949cd4ee83bd6edcedc0

-----Decoded View---------------
Arg [0] : cOwner (address): 0x8d472b003badc260767b18b13f2da334e0e399cd
Arg [1] : devWallet (address): 0x9560ce474ffc853d244f949cd4ee83bd6edcedc0

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000008d472b003badc260767b18b13f2da334e0e399cd
Arg [1] : 0000000000000000000000009560ce474ffc853d244f949cd4ee83bd6edcedc0


Deployed ByteCode Sourcemap

15198:19158:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22449:96;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17823:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18735:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15680:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19856:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18100:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22206:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18904:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21115:254;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18009:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21719:479;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19225:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16039:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19951:536;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20495:612;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21377:334;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;25869:123;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16403:42;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23450:130;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6590:90;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22315:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16079:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18203:198;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6182:148;;;;;;;;;;;;;:::i;:::-;;16182:51;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19728:120;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5968:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22553:120;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17914:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16452:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19451:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6926:298;;;;;;;;;;;;;:::i;:::-;;18409:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22681:131;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15576:61;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23165:178;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;22965:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16326:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22823:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;23351:91;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16120:48;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6688:226;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18584:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6338:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;22449:96;6105:12;:10;:12::i;:::-;6095:22;;:6;;;;;;;;;;:22;;;6087:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;22531:6:::1;22521:7;:16;;;;22449:96:::0;:::o;17823:83::-;17860:13;17893:5;17886:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17823:83;:::o;18735:161::-;18810:4;18827:39;18836:12;:10;:12::i;:::-;18850:7;18859:6;18827:8;:39::i;:::-;18884:4;18877:11;;18735:161;;;;:::o;15680:25::-;;;;;;;;;;;;;:::o;19856:87::-;19898:7;19925:10;;19918:17;;19856:87;:::o;18100:95::-;18153:7;18180;;18173:14;;18100:95;:::o;22206:101::-;6105:12;:10;:12::i;:::-;6095:22;;:6;;;;;;;;;;:22;;;6087:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;22290:9:::1;22277:10;;:22;;;;;;;;;;;;;;;;;;22206:101:::0;:::o;18904:313::-;19002:4;19019:36;19029:6;19037:9;19048:6;19019:9;:36::i;:::-;19066:121;19075:6;19083:12;:10;:12::i;:::-;19097:89;19135:6;19097:89;;;;;;;;;;;;;;;;;:11;:19;19109:6;19097:19;;;;;;;;;;;;;;;:33;19117:12;:10;:12::i;:::-;19097:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;19066:8;:121::i;:::-;19205:4;19198:11;;18904:313;;;;;:::o;21115:254::-;21181:7;21220;;21209;:18;;21201:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;21287:19;21309:10;:8;:10::i;:::-;21287:32;;21337:24;21349:11;21337:7;:11;;:24;;;;:::i;:::-;21330:31;;;21115:254;;;:::o;18009:83::-;18050:5;18075:9;;;;;;;;;;;18068:16;;18009:83;:::o;21719:479::-;6105:12;:10;:12::i;:::-;6095:22;;:6;;;;;;;;;;:22;;;6087:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;21799:11:::1;:20;21811:7;21799:20;;;;;;;;;;;;;;;;;;;;;;;;;21791:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;21869:9;21864:327;21888:9;:16;;;;21884:1;:20;21864:327;;;21946:7;21930:23;;:9;21940:1;21930:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:23;;;21926:254;;;21989:9;22018:1;21999:9;:16;;;;:20;;;;:::i;:::-;21989:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21974:9;21984:1;21974:12;;;;;;;;;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;22058:1;22039:7;:16;22047:7;22039:16;;;;;;;;;;;;;;;:20;;;;22101:5;22078:11;:20;22090:7;22078:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;22125:9;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22159:5;;21926:254;21906:3;;;;;:::i;:::-;;;;21864:327;;;;21719:479:::0;:::o;19225:218::-;19313:4;19330:83;19339:12;:10;:12::i;:::-;19353:7;19362:50;19401:10;19362:11;:25;19374:12;:10;:12::i;:::-;19362:25;;;;;;;;;;;;;;;:34;19388:7;19362:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;19330:8;:83::i;:::-;19431:4;19424:11;;19225:218;;;;:::o;16039:32::-;;;;:::o;19951:536::-;20003:14;20020:12;:10;:12::i;:::-;20003:29;;20052:11;:19;20064:6;20052:19;;;;;;;;;;;;;;;;;;;;;;;;;20051:20;20043:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;20136:12;20150:18;20172:20;20184:7;20172:11;:20::i;:::-;20133:59;;;;;20203:19;20225:10;:8;:10::i;:::-;20203:32;;20247:15;20268:51;20280:7;20289:4;20295:10;20307:11;20268;:51::i;:::-;20246:73;;;;20350:28;20370:7;20350;:15;20358:6;20350:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;20332:7;:15;20340:6;20332:15;;;;;;;;;;;;;;;:46;;;;20407:20;20419:7;20407;;:11;;:20;;;;:::i;:::-;20389:7;:38;;;;20456:23;20471:7;20456:10;;:14;;:23;;;;:::i;:::-;20438:10;:41;;;;19951:536;;;;;;:::o;20495:612::-;20585:7;20624;;20613;:18;;20605:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;20681:12;20695:18;20717:20;20729:7;20717:11;:20::i;:::-;20678:59;;;;;20748:19;20770:10;:8;:10::i;:::-;20748:32;;20798:17;20793:307;;20833:15;20854:51;20866:7;20875:4;20881:10;20893:11;20854;:51::i;:::-;20832:73;;;;20927:7;20920:14;;;;;;;;20793:307;20972:23;21000:51;21012:7;21021:4;21027:10;21039:11;21000;:51::i;:::-;20969:82;;;;21073:15;21066:22;;;;;;20495:612;;;;;:::o;21377:334::-;6105:12;:10;:12::i;:::-;6095:22;;:6;;;;;;;;;;:22;;;6087:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;21458:11:::1;:20;21470:7;21458:20;;;;;;;;;;;;;;;;;;;;;;;;;21457:21;21449:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;21546:1;21527:7;:16;21535:7;21527:16;;;;;;;;;;;;;;;;:20;21523:109;;;21583:37;21603:7;:16;21611:7;21603:16;;;;;;;;;;;;;;;;21583:19;:37::i;:::-;21564:7;:16;21572:7;21564:16;;;;;;;;;;;;;;;:56;;;;21523:109;21665:4;21642:11;:20;21654:7;21642:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;21680:9;21695:7;21680:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21377:334:::0;:::o;25869:123::-;25933:4;25957:18;:27;25976:7;25957:27;;;;;;;;;;;;;;;;;;;;;;;;;25950:34;;25869:123;;;:::o;16403:42::-;;;;;;;;;;;;;:::o;23450:130::-;6105:12;:10;:12::i;:::-;6095:22;;:6;;;;;;;;;;:22;;;6087:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;23571:1:::1;23537:28;:31;23566:1;23537:31;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;23450:130:::0;;:::o;6590:90::-;6636:7;6663:9;;6656:16;;6590:90;:::o;22315:122::-;6105:12;:10;:12::i;:::-;6095:22;;:6;;;;;;;;;;:22;;;6087:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;22428:1:::1;22398:18;:27;22417:7;22398:27;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;22315:122:::0;;:::o;16079:33::-;;;;:::o;18203:198::-;18269:7;18293:11;:20;18305:7;18293:20;;;;;;;;;;;;;;;;;;;;;;;;;18289:49;;;18322:7;:16;18330:7;18322:16;;;;;;;;;;;;;;;;18315:23;;;;18289:49;18356:37;18376:7;:16;18384:7;18376:16;;;;;;;;;;;;;;;;18356:19;:37::i;:::-;18349:44;;18203:198;;;;:::o;6182:148::-;6105:12;:10;:12::i;:::-;6095:22;;:6;;;;;;;;;;:22;;;6087:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6289:1:::1;6252:40;;6273:6;::::0;::::1;;;;;;;;6252:40;;;;;;;;;;;;6320:1;6303:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;6182:148::o:0;16182:51::-;;;;:::o;19728:120::-;19796:4;19820:11;:20;19832:7;19820:20;;;;;;;;;;;;;;;;;;;;;;;;;19813:27;;19728:120;;;:::o;5968:79::-;6006:7;6033:6;;;;;;;;;;;6026:13;;5968:79;:::o;22553:120::-;6105:12;:10;:12::i;:::-;6095:22;;:6;;;;;;;;;;:22;;;6087:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;22653:12:::1;22637:13;:28;;;;22553:120:::0;:::o;17914:87::-;17953:13;17986:7;17979:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17914:87;:::o;16452:40::-;;;;;;;;;;;;;:::o;19451:269::-;19544:4;19561:129;19570:12;:10;:12::i;:::-;19584:7;19593:96;19632:15;19593:96;;;;;;;;;;;;;;;;;:11;:25;19605:12;:10;:12::i;:::-;19593:25;;;;;;;;;;;;;;;:34;19619:7;19593:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;19561:8;:129::i;:::-;19708:4;19701:11;;19451:269;;;;:::o;6926:298::-;6996:10;6978:28;;:14;;;;;;;;;;;:28;;;6970:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;7083:9;;7065:15;:27;7057:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;7167:14;;;;;;;;;;;7138:44;;7159:6;;;;;;;;;;7138:44;;;;;;;;;;;;7202:14;;;;;;;;;;;7193:6;;:23;;;;;;;;;;;;;;;;;;6926:298::o;18409:167::-;18487:4;18504:42;18514:12;:10;:12::i;:::-;18528:9;18539:6;18504:9;:42::i;:::-;18564:4;18557:11;;18409:167;;;;:::o;22681:131::-;6105:12;:10;:12::i;:::-;6095:22;;:6;;;;;;;;;;:22;;;6087:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;22798:6:::1;22767:28;:37;;;;22681:131:::0;:::o;15576:61::-;;;;;;;;;;;;;;;;;;;;;;:::o;23165:178::-;6105:12;:10;:12::i;:::-;6095:22;;:6;;;;;;;;;;:22;;;6087:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;23232:34:::1;23288:1;23232:58;;23320:15;23301:16;;:34;;;;;;;;;;;;;;;;;;6165:1;23165:178:::0;:::o;22965:151::-;6105:12;:10;:12::i;:::-;6095:22;;:6;;;;;;;;;;:22;;;6087:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;23060:1:::1;23035:22;;:26;;;;;;;;;;;;;;;;;;23077:31;23106:1;23077:31;;;;;;:::i;:::-;;;;;;;;22965:151:::0;:::o;16326:41::-;;;;;;;;;;;;;:::o;22823:134::-;6105:12;:10;:12::i;:::-;6095:22;;:6;;;;;;;;;;:22;;;6087:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;22915:34:::1;22945:3;22915:25;22927:12;22915:7;;:11;;:25;;;;:::i;:::-;:29;;:34;;;;:::i;:::-;22900:12;:49;;;;22823:134:::0;:::o;23351:91::-;6105:12;:10;:12::i;:::-;6095:22;;:6;;;;;;;;;;:22;;;6087:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;23433:1:::1;23416:14;;:18;;;;;;;;;;;;;;;;;;23351:91:::0;:::o;16120:48::-;;;;:::o;6688:226::-;6105:12;:10;:12::i;:::-;6095:22;;:6;;;;;;;;;;:22;;;6087:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6769:6:::1;::::0;::::1;;;;;;;;6752:14;;:23;;;;;;;;;;;;;;;;;;6803:1;6786:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;6846:4;6828:15;:22;;;;:::i;:::-;6816:9;:34;;;;6903:1;6866:40;;6887:6;::::0;::::1;;;;;;;;6866:40;;;;;;;;;;;;6688:226:::0;:::o;18584:143::-;18665:7;18692:11;:18;18704:5;18692:18;;;;;;;;;;;;;;;:27;18711:7;18692:27;;;;;;;;;;;;;;;;18685:34;;18584:143;;;;:::o;6338:244::-;6105:12;:10;:12::i;:::-;6095:22;;:6;;;;;;;;;;:22;;;6087:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6447:1:::1;6427:22;;:8;:22;;;;6419:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;6537:8;6508:38;;6529:6;::::0;::::1;;;;;;;;6508:38;;;;;;;;;;;;6566:8;6557:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;6338:244:::0;:::o;86:98::-;139:7;166:10;159:17;;86:98;:::o;26000:337::-;26110:1;26093:19;;:5;:19;;;;26085:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;26191:1;26172:21;;:7;:21;;;;26164:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;26275:6;26245:11;:18;26257:5;26245:18;;;;;;;;;;;;;;;:27;26264:7;26245:27;;;;;;;;;;;;;;;:36;;;;26313:7;26297:32;;26306:5;26297:32;;;26322:6;26297:32;;;;;;:::i;:::-;;;;;;;;26000:337;;;:::o;26345:1597::-;26483:1;26467:18;;:4;:18;;;;26459:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;26560:1;26546:16;;:2;:16;;;;26538:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;26630:1;26621:6;:10;26613:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;26702:7;:5;:7::i;:::-;26694:15;;:4;:15;;;;:32;;;;;26719:7;:5;:7::i;:::-;26713:13;;:2;:13;;;;26694:32;26690:140;;;26761:12;;26751:6;:22;;26743:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;26690:140;27156:28;27187:24;27205:4;27187:9;:24::i;:::-;27156:55;;27260:12;;27236:20;:36;27232:104;;27312:12;;27289:35;;27232:104;27356:26;27409:16;;27385:20;:40;;27356:69;;27454:21;:56;;;;;27493:17;;;;;;;;;;;27492:18;27454:56;:108;;;;;27528:28;:34;27557:4;27528:34;;;;;;;;;;;;;;;;;;;;;;;;;27527:35;27454:108;:147;;;;;27579:22;;;;;;;;;;;27454:147;27436:297;;;27685:36;27700:20;27685:14;:36::i;:::-;27436:297;27755:12;27770:4;27755:19;;27789:18;:24;27808:4;27789:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;27817:18;:22;27836:2;27817:22;;;;;;;;;;;;;;;;;;;;;;;;;27789:50;27785:98;;;27866:5;27856:15;;27785:98;27893:41;27908:4;27914:2;27918:6;27926:7;27893:14;:41::i;:::-;26345:1597;;;;;;:::o;2039:192::-;2125:7;2158:1;2153;:6;;2161:12;2145:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2185:9;2201:1;2197;:5;;;;:::i;:::-;2185:17;;2222:1;2215:8;;;2039:192;;;;;:::o;24636:163::-;24677:7;24698:15;24715;24734:19;:17;:19::i;:::-;24697:56;;;;24771:20;24783:7;24771;:11;;:20;;;;:::i;:::-;24764:27;;;;24636:163;:::o;3437:132::-;3495:7;3522:39;3526:1;3529;3522:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;3515:46;;3437:132;;;;:::o;1136:181::-;1194:7;1214:9;1230:1;1226;:5;;;;:::i;:::-;1214:17;;1255:1;1250;:6;;1242:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1308:1;1301:8;;;1136:181;;;;:::o;23746:392::-;23806:7;23815;23824;23844:12;23865:30;23878:7;23887;;23865:12;:30::i;:::-;23844:51;;23906:18;23927:36;23940:7;23949:13;;23927:12;:36::i;:::-;23906:57;;23974:23;24000:17;24012:4;24000:7;:11;;:17;;;;:::i;:::-;23974:43;;24046:31;24066:10;24046:15;:19;;:31;;;;:::i;:::-;24028:49;;24096:15;24113:4;24119:10;24088:42;;;;;;;;;23746:392;;;;;:::o;24146:482::-;24261:7;24270;24279;24299:15;24320:24;24332:11;24320:7;:11;;:24;;;;:::i;:::-;24299:45;;24355:12;24376:21;24385:11;24376:4;:8;;:21;;;;:::i;:::-;24355:42;;24408:18;24429:27;24444:11;24429:10;:14;;:27;;;;:::i;:::-;24408:48;;24467:23;24493:17;24505:4;24493:7;:11;;:17;;;;:::i;:::-;24467:43;;24539:31;24559:10;24539:15;:19;;:31;;;;:::i;:::-;24521:49;;24589:7;24598:15;24615:4;24581:39;;;;;;;;;;24146:482;;;;;;;;:::o;1600:136::-;1658:7;1685:43;1689:1;1692;1685:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1678:50;;1600:136;;;;:::o;2490:471::-;2548:7;2798:1;2793;:6;2789:47;;;2823:1;2816:8;;;;2789:47;2848:9;2864:1;2860;:5;;;;:::i;:::-;2848:17;;2893:1;2888;2884;:5;;;;:::i;:::-;:10;2876:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2952:1;2945:8;;;2490:471;;;;;:::o;27950:1286::-;16865:4;16845:17;;:24;;;;;;;;;;;;;;;;;;28082:12:::1;28102:27;28127:1;28102:20;:24;;:27;;;;:::i;:::-;28082:47;;28140:17;28160:30;28185:4;28160:20;:24;;:30;;;;:::i;:::-;28140:50;;28497:22;28522:21;28497:46;;28588:22;28605:4;28588:16;:22::i;:::-;28687:18;28708:41;28734:14;28708:21;:25;;:41;;;;:::i;:::-;28687:62;;28787:14;28813:53;28862:3;28813:44;28828:28;;28813:10;:14;;:44;;;;:::i;:::-;:48;;:53;;;;:::i;:::-;28787:79;;28877:23;28903:22;28918:6;28903:10;:14;;:22;;;;:::i;:::-;28877:48;;28949:1;28940:6;:10;28936:129;;;28975:10;;;;;;;;;;;28967:28;;:36;28996:6;28967:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;29023:30;29034:10;;;;;;;;;;;29046:6;29023:30;;;;;;;:::i;:::-;;;;;;;;28936:129;29114:40;29127:9;29138:15;29114:12;:40::i;:::-;29180:48;29195:4;29201:15;29218:9;29180:48;;;;;;;;:::i;:::-;;;;;;;;16880:1;;;;;;16912:5:::0;16892:17;;:25;;;;;;;;;;;;;;;;;;27950:1286;:::o;30369:1085::-;30476:22;30507:7;;30476:38;;30525:28;30556:13;;30525:44;;30595:7;30590:90;;30635:1;30619:7;:17;;;;30667:1;30651:13;:17;;;;30590:90;30704:11;:19;30716:6;30704:19;;;;;;;;;;;;;;;;;;;;;;;;;:46;;;;;30728:11;:22;30740:9;30728:22;;;;;;;;;;;;;;;;;;;;;;;;;30727:23;30704:46;30700:605;;;30767:48;30789:6;30797:9;30808:6;30767:21;:48::i;:::-;30700:605;;;30840:11;:19;30852:6;30840:19;;;;;;;;;;;;;;;;;;;;;;;;;30839:20;:46;;;;;30863:11;:22;30875:9;30863:22;;;;;;;;;;;;;;;;;;;;;;;;;30839:46;30835:470;;;30902:46;30922:6;30930:9;30941:6;30902:19;:46::i;:::-;30835:470;;;30973:11;:19;30985:6;30973:19;;;;;;;;;;;;;;;;;;;;;;;;;30972:20;:47;;;;;30997:11;:22;31009:9;30997:22;;;;;;;;;;;;;;;;;;;;;;;;;30996:23;30972:47;30968:337;;;31036:44;31054:6;31062:9;31073:6;31036:17;:44::i;:::-;30968:337;;;31104:11;:19;31116:6;31104:19;;;;;;;;;;;;;;;;;;;;;;;;;:45;;;;;31127:11;:22;31139:9;31127:22;;;;;;;;;;;;;;;;;;;;;;;;;31104:45;31100:205;;;31166:48;31188:6;31196:9;31207:6;31166:21;:48::i;:::-;31100:205;;;31249:44;31267:6;31275:9;31286:6;31249:17;:44::i;:::-;31100:205;30968:337;30835:470;30700:605;31330:7;31325:122;;31370:14;31354:7;:30;;;;31415:20;31399:13;:36;;;;31325:122;30369:1085;;;;;;:::o;24807:561::-;24857:7;24866;24886:15;24904:7;;24886:25;;24922:15;24940:7;;24922:25;;24969:9;24964:289;24988:9;:16;;;;24984:1;:20;24964:289;;;25054:7;25030;:21;25038:9;25048:1;25038:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25030:21;;;;;;;;;;;;;;;;:31;:66;;;;25089:7;25065;:21;25073:9;25083:1;25073:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25065:21;;;;;;;;;;;;;;;;:31;25030:66;25026:97;;;25106:7;;25115;;25098:25;;;;;;;;;25026:97;25148:34;25160:7;:21;25168:9;25178:1;25168:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25160:21;;;;;;;;;;;;;;;;25148:7;:11;;:34;;;;:::i;:::-;25138:44;;25207:34;25219:7;:21;25227:9;25237:1;25227:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25219:21;;;;;;;;;;;;;;;;25207:7;:11;;:34;;;;:::i;:::-;25197:44;;25006:3;;;;;:::i;:::-;;;;24964:289;;;;25277:20;25289:7;;25277;;:11;;:20;;;;:::i;:::-;25267:7;:30;25263:61;;;25307:7;;25316;;25299:25;;;;;;;;25263:61;25343:7;25352;25335:25;;;;;;24807:561;;;:::o;4065:278::-;4151:7;4183:1;4179;:5;4186:12;4171:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;4210:9;4226:1;4222;:5;;;;:::i;:::-;4210:17;;4334:1;4327:8;;;4065:278;;;;;:::o;25725:132::-;25798:7;25825:24;25845:3;25825:15;25836:3;25825:6;:10;;:15;;;;:::i;:::-;:19;;:24;;;;:::i;:::-;25818:31;;25725:132;;;;:::o;29242:592::-;29368:21;29406:1;29392:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29368:40;;29437:4;29419;29424:1;29419:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;;;29463:16;;;;;;;;;;;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;29453:4;29458:1;29453:7;;;;;;;;;;;;;;;;;;;;;:33;;;;;;;;;;;29499:63;29516:4;29531:16;;;;;;;;;;;29550:11;29499:8;:63::i;:::-;29601:16;;;;;;;;;;;:67;;;29683:11;29709:1;29753:4;29780;29800:15;29601:225;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29242:592;;:::o;29840:521::-;29988:63;30005:4;30020:16;;;;;;;;;;;30039:11;29988:8;:63::i;:::-;30094:16;;;;;;;;;;;:32;;;30134:9;30167:4;30187:11;30213:1;30256;30307:4;30327:15;30094:259;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;29840:521;;:::o;33635:716::-;33738:23;33763:12;33777:18;33799:20;33811:7;33799:11;:20::i;:::-;33737:82;;;;;;33830:19;33852:10;:8;:10::i;:::-;33830:32;;33874:15;33891:23;33916:12;33932:51;33944:7;33953:4;33959:10;33971:11;33932;:51::i;:::-;33873:110;;;;;;34014:28;34034:7;34014;:15;34022:6;34014:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;33996:7;:15;34004:6;33996:15;;;;;;;;;;;;;;;:46;;;;34071:28;34091:7;34071;:15;34079:6;34071:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;34053:7;:15;34061:6;34053:15;;;;;;;;;;;;;;;:46;;;;34131:39;34154:15;34131:7;:18;34139:9;34131:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;34110:7;:18;34118:9;34110:18;;;;;;;;;;;;;;;:60;;;;34191:58;34218:4;34225:10;34237:11;34191:18;:58::i;:::-;34260:23;34272:4;34278;34260:11;:23::i;:::-;34316:9;34299:44;;34308:6;34299:44;;;34327:15;34299:44;;;;;;:::i;:::-;;;;;;;;33635:716;;;;;;;;;;:::o;32907:720::-;33008:23;33033:12;33047:18;33069:20;33081:7;33069:11;:20::i;:::-;33007:82;;;;;;33100:19;33122:10;:8;:10::i;:::-;33100:32;;33144:15;33161:23;33186:12;33202:51;33214:7;33223:4;33229:10;33241:11;33202;:51::i;:::-;33143:110;;;;;;33284:28;33304:7;33284;:15;33292:6;33284:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;33266:7;:15;33274:6;33266:15;;;;;;;;;;;;;;;:46;;;;33344:39;33367:15;33344:7;:18;33352:9;33344:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;33323:7;:18;33331:9;33323:18;;;;;;;;;;;;;;;:60;;;;33415:39;33438:15;33415:7;:18;33423:9;33415:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;33394:7;:18;33402:9;33394:18;;;;;;;;;;;;;;;:60;;;;33467:58;33494:4;33501:10;33513:11;33467:18;:58::i;:::-;33536:23;33548:4;33554;33536:11;:23::i;:::-;33592:9;33575:44;;33584:6;33575:44;;;33603:15;33575:44;;;;;;:::i;:::-;;;;;;;;32907:720;;;;;;;;;;:::o;31462:650::-;31561:23;31586:12;31600:18;31622:20;31634:7;31622:11;:20::i;:::-;31560:82;;;;;;31653:19;31675:10;:8;:10::i;:::-;31653:32;;31697:15;31714:23;31739:12;31755:51;31767:7;31776:4;31782:10;31794:11;31755;:51::i;:::-;31696:110;;;;;;31840:28;31860:7;31840;:15;31848:6;31840:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;31819:7;:15;31827:6;31819:15;;;;;;;;;;;;;;;:49;;;;31900:39;31923:15;31900:7;:18;31908:9;31900:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;31879:7;:18;31887:9;31879:18;;;;;;;;;;;;;;;:60;;;;31952:58;31979:4;31986:10;31998:11;31952:18;:58::i;:::-;32021:23;32033:4;32039;32021:11;:23::i;:::-;32077:9;32060:44;;32069:6;32060:44;;;32088:15;32060:44;;;;;;:::i;:::-;;;;;;;;31462:650;;;;;;;;;;:::o;32120:779::-;32223:23;32248:12;32262:18;32284:20;32296:7;32284:11;:20::i;:::-;32222:82;;;;;;32315:19;32337:10;:8;:10::i;:::-;32315:32;;32359:15;32376:23;32401:12;32417:51;32429:7;32438:4;32444:10;32456:11;32417;:51::i;:::-;32358:110;;;;;;32499:28;32519:7;32499;:15;32507:6;32499:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;32481:7;:15;32489:6;32481:15;;;;;;;;;;;;;;;:46;;;;32556:28;32576:7;32556;:15;32564:6;32556:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;32538:7;:15;32546:6;32538:15;;;;;;;;;;;;;;;:46;;;;32616:39;32639:15;32616:7;:18;32624:9;32616:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;32595:7;:18;32603:9;32595:18;;;;;;;;;;;;;;;:60;;;;32687:39;32710:15;32687:7;:18;32695:9;32687:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;32666:7;:18;32674:9;32666:18;;;;;;;;;;;;;;;:60;;;;32739:58;32766:4;32773:10;32785:11;32739:18;:58::i;:::-;32808:23;32820:4;32826;32808:11;:23::i;:::-;32864:9;32847:44;;32856:6;32847:44;;;32875:15;32847:44;;;;;;:::i;:::-;;;;;;;;32120:779;;;;;;;;;;:::o;25380:333::-;25492:1;25481:7;:12;25477:29;;25497:7;;25477:29;25518:15;25536:24;25548:11;25536:7;:11;;:24;;;;:::i;:::-;25518:42;;25585:24;25601:7;25585;:11;25593:2;25585:11;;;;;;;;;;;;;;;;:15;;:24;;;;:::i;:::-;25571:7;:11;25579:2;25571:11;;;;;;;;;;;;;;;:38;;;;25624:11;:15;25636:2;25624:15;;;;;;;;;;;;;;;;;;;;;;;;;25620:86;;;25670:24;25686:7;25670;:11;25678:2;25670:11;;;;;;;;;;;;;;;;:15;;:24;;;;:::i;:::-;25656:7;:11;25664:2;25656:11;;;;;;;;;;;;;;;:38;;;;25620:86;25380:333;;;;;:::o;23588:150::-;23669:17;23681:4;23669:7;;:11;;:17;;;;:::i;:::-;23656:7;:30;;;;23710:20;23725:4;23710:10;;:14;;:20;;;;:::i;:::-;23697:10;:33;;;;23588:150;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;215:80;;;;:::o;301:133::-;344:5;382:6;369:20;360:29;;398:30;422:5;398:30;:::i;:::-;350:84;;;;:::o;440:139::-;486:5;524:6;511:20;502:29;;540:33;567:5;540:33;:::i;:::-;492:87;;;;:::o;585:143::-;642:5;673:6;667:13;658:22;;689:33;716:5;689:33;:::i;:::-;648:80;;;;:::o;734:262::-;793:6;842:2;830:9;821:7;817:23;813:32;810:2;;;858:1;855;848:12;810:2;901:1;926:53;971:7;962:6;951:9;947:22;926:53;:::i;:::-;916:63;;872:117;800:196;;;;:::o;1002:284::-;1072:6;1121:2;1109:9;1100:7;1096:23;1092:32;1089:2;;;1137:1;1134;1127:12;1089:2;1180:1;1205:64;1261:7;1252:6;1241:9;1237:22;1205:64;:::i;:::-;1195:74;;1151:128;1079:207;;;;:::o;1292:407::-;1360:6;1368;1417:2;1405:9;1396:7;1392:23;1388:32;1385:2;;;1433:1;1430;1423:12;1385:2;1476:1;1501:53;1546:7;1537:6;1526:9;1522:22;1501:53;:::i;:::-;1491:63;;1447:117;1603:2;1629:53;1674:7;1665:6;1654:9;1650:22;1629:53;:::i;:::-;1619:63;;1574:118;1375:324;;;;;:::o;1705:552::-;1782:6;1790;1798;1847:2;1835:9;1826:7;1822:23;1818:32;1815:2;;;1863:1;1860;1853:12;1815:2;1906:1;1931:53;1976:7;1967:6;1956:9;1952:22;1931:53;:::i;:::-;1921:63;;1877:117;2033:2;2059:53;2104:7;2095:6;2084:9;2080:22;2059:53;:::i;:::-;2049:63;;2004:118;2161:2;2187:53;2232:7;2223:6;2212:9;2208:22;2187:53;:::i;:::-;2177:63;;2132:118;1805:452;;;;;:::o;2263:401::-;2328:6;2336;2385:2;2373:9;2364:7;2360:23;2356:32;2353:2;;;2401:1;2398;2391:12;2353:2;2444:1;2469:53;2514:7;2505:6;2494:9;2490:22;2469:53;:::i;:::-;2459:63;;2415:117;2571:2;2597:50;2639:7;2630:6;2619:9;2615:22;2597:50;:::i;:::-;2587:60;;2542:115;2343:321;;;;;:::o;2670:407::-;2738:6;2746;2795:2;2783:9;2774:7;2770:23;2766:32;2763:2;;;2811:1;2808;2801:12;2763:2;2854:1;2879:53;2924:7;2915:6;2904:9;2900:22;2879:53;:::i;:::-;2869:63;;2825:117;2981:2;3007:53;3052:7;3043:6;3032:9;3028:22;3007:53;:::i;:::-;2997:63;;2952:118;2753:324;;;;;:::o;3083:256::-;3139:6;3188:2;3176:9;3167:7;3163:23;3159:32;3156:2;;;3204:1;3201;3194:12;3156:2;3247:1;3272:50;3314:7;3305:6;3294:9;3290:22;3272:50;:::i;:::-;3262:60;;3218:114;3146:193;;;;:::o;3345:262::-;3404:6;3453:2;3441:9;3432:7;3428:23;3424:32;3421:2;;;3469:1;3466;3459:12;3421:2;3512:1;3537:53;3582:7;3573:6;3562:9;3558:22;3537:53;:::i;:::-;3527:63;;3483:117;3411:196;;;;:::o;3613:401::-;3678:6;3686;3735:2;3723:9;3714:7;3710:23;3706:32;3703:2;;;3751:1;3748;3741:12;3703:2;3794:1;3819:53;3864:7;3855:6;3844:9;3840:22;3819:53;:::i;:::-;3809:63;;3765:117;3921:2;3947:50;3989:7;3980:6;3969:9;3965:22;3947:50;:::i;:::-;3937:60;;3892:115;3693:321;;;;;:::o;4020:596::-;4108:6;4116;4124;4173:2;4161:9;4152:7;4148:23;4144:32;4141:2;;;4189:1;4186;4179:12;4141:2;4232:1;4257:64;4313:7;4304:6;4293:9;4289:22;4257:64;:::i;:::-;4247:74;;4203:128;4370:2;4396:64;4452:7;4443:6;4432:9;4428:22;4396:64;:::i;:::-;4386:74;;4341:129;4509:2;4535:64;4591:7;4582:6;4571:9;4567:22;4535:64;:::i;:::-;4525:74;;4480:129;4131:485;;;;;:::o;4622:179::-;4691:10;4712:46;4754:3;4746:6;4712:46;:::i;:::-;4790:4;4785:3;4781:14;4767:28;;4702:99;;;;:::o;4807:108::-;4884:24;4902:5;4884:24;:::i;:::-;4879:3;4872:37;4862:53;;:::o;4921:118::-;5008:24;5026:5;5008:24;:::i;:::-;5003:3;4996:37;4986:53;;:::o;5075:732::-;5194:3;5223:54;5271:5;5223:54;:::i;:::-;5293:86;5372:6;5367:3;5293:86;:::i;:::-;5286:93;;5403:56;5453:5;5403:56;:::i;:::-;5482:7;5513:1;5498:284;5523:6;5520:1;5517:13;5498:284;;;5599:6;5593:13;5626:63;5685:3;5670:13;5626:63;:::i;:::-;5619:70;;5712:60;5765:6;5712:60;:::i;:::-;5702:70;;5558:224;5545:1;5542;5538:9;5533:14;;5498:284;;;5502:14;5798:3;5791:10;;5199:608;;;;;;;:::o;5813:109::-;5894:21;5909:5;5894:21;:::i;:::-;5889:3;5882:34;5872:50;;:::o;5928:185::-;6042:64;6100:5;6042:64;:::i;:::-;6037:3;6030:77;6020:93;;:::o;6119:147::-;6214:45;6253:5;6214:45;:::i;:::-;6209:3;6202:58;6192:74;;:::o;6272:364::-;6360:3;6388:39;6421:5;6388:39;:::i;:::-;6443:71;6507:6;6502:3;6443:71;:::i;:::-;6436:78;;6523:52;6568:6;6563:3;6556:4;6549:5;6545:16;6523:52;:::i;:::-;6600:29;6622:6;6600:29;:::i;:::-;6595:3;6591:39;6584:46;;6364:272;;;;;:::o;6642:366::-;6784:3;6805:67;6869:2;6864:3;6805:67;:::i;:::-;6798:74;;6881:93;6970:3;6881:93;:::i;:::-;6999:2;6994:3;6990:12;6983:19;;6788:220;;;:::o;7014:366::-;7156:3;7177:67;7241:2;7236:3;7177:67;:::i;:::-;7170:74;;7253:93;7342:3;7253:93;:::i;:::-;7371:2;7366:3;7362:12;7355:19;;7160:220;;;:::o;7386:366::-;7528:3;7549:67;7613:2;7608:3;7549:67;:::i;:::-;7542:74;;7625:93;7714:3;7625:93;:::i;:::-;7743:2;7738:3;7734:12;7727:19;;7532:220;;;:::o;7758:366::-;7900:3;7921:67;7985:2;7980:3;7921:67;:::i;:::-;7914:74;;7997:93;8086:3;7997:93;:::i;:::-;8115:2;8110:3;8106:12;8099:19;;7904:220;;;:::o;8130:366::-;8272:3;8293:67;8357:2;8352:3;8293:67;:::i;:::-;8286:74;;8369:93;8458:3;8369:93;:::i;:::-;8487:2;8482:3;8478:12;8471:19;;8276:220;;;:::o;8502:366::-;8644:3;8665:67;8729:2;8724:3;8665:67;:::i;:::-;8658:74;;8741:93;8830:3;8741:93;:::i;:::-;8859:2;8854:3;8850:12;8843:19;;8648:220;;;:::o;8874:366::-;9016:3;9037:67;9101:2;9096:3;9037:67;:::i;:::-;9030:74;;9113:93;9202:3;9113:93;:::i;:::-;9231:2;9226:3;9222:12;9215:19;;9020:220;;;:::o;9246:366::-;9388:3;9409:67;9473:2;9468:3;9409:67;:::i;:::-;9402:74;;9485:93;9574:3;9485:93;:::i;:::-;9603:2;9598:3;9594:12;9587:19;;9392:220;;;:::o;9618:366::-;9760:3;9781:67;9845:2;9840:3;9781:67;:::i;:::-;9774:74;;9857:93;9946:3;9857:93;:::i;:::-;9975:2;9970:3;9966:12;9959:19;;9764:220;;;:::o;9990:366::-;10132:3;10153:67;10217:2;10212:3;10153:67;:::i;:::-;10146:74;;10229:93;10318:3;10229:93;:::i;:::-;10347:2;10342:3;10338:12;10331:19;;10136:220;;;:::o;10362:366::-;10504:3;10525:67;10589:2;10584:3;10525:67;:::i;:::-;10518:74;;10601:93;10690:3;10601:93;:::i;:::-;10719:2;10714:3;10710:12;10703:19;;10508:220;;;:::o;10734:366::-;10876:3;10897:67;10961:2;10956:3;10897:67;:::i;:::-;10890:74;;10973:93;11062:3;10973:93;:::i;:::-;11091:2;11086:3;11082:12;11075:19;;10880:220;;;:::o;11106:366::-;11248:3;11269:67;11333:2;11328:3;11269:67;:::i;:::-;11262:74;;11345:93;11434:3;11345:93;:::i;:::-;11463:2;11458:3;11454:12;11447:19;;11252:220;;;:::o;11478:366::-;11620:3;11641:67;11705:2;11700:3;11641:67;:::i;:::-;11634:74;;11717:93;11806:3;11717:93;:::i;:::-;11835:2;11830:3;11826:12;11819:19;;11624:220;;;:::o;11850:366::-;11992:3;12013:67;12077:2;12072:3;12013:67;:::i;:::-;12006:74;;12089:93;12178:3;12089:93;:::i;:::-;12207:2;12202:3;12198:12;12191:19;;11996:220;;;:::o;12222:366::-;12364:3;12385:67;12449:2;12444:3;12385:67;:::i;:::-;12378:74;;12461:93;12550:3;12461:93;:::i;:::-;12579:2;12574:3;12570:12;12563:19;;12368:220;;;:::o;12594:118::-;12681:24;12699:5;12681:24;:::i;:::-;12676:3;12669:37;12659:53;;:::o;12718:112::-;12801:22;12817:5;12801:22;:::i;:::-;12796:3;12789:35;12779:51;;:::o;12836:222::-;12929:4;12967:2;12956:9;12952:18;12944:26;;12980:71;13048:1;13037:9;13033:17;13024:6;12980:71;:::i;:::-;12934:124;;;;:::o;13064:332::-;13185:4;13223:2;13212:9;13208:18;13200:26;;13236:71;13304:1;13293:9;13289:17;13280:6;13236:71;:::i;:::-;13317:72;13385:2;13374:9;13370:18;13361:6;13317:72;:::i;:::-;13190:206;;;;;:::o;13402:807::-;13651:4;13689:3;13678:9;13674:19;13666:27;;13703:71;13771:1;13760:9;13756:17;13747:6;13703:71;:::i;:::-;13784:72;13852:2;13841:9;13837:18;13828:6;13784:72;:::i;:::-;13866:80;13942:2;13931:9;13927:18;13918:6;13866:80;:::i;:::-;13956;14032:2;14021:9;14017:18;14008:6;13956:80;:::i;:::-;14046:73;14114:3;14103:9;14099:19;14090:6;14046:73;:::i;:::-;14129;14197:3;14186:9;14182:19;14173:6;14129:73;:::i;:::-;13656:553;;;;;;;;;:::o;14215:210::-;14302:4;14340:2;14329:9;14325:18;14317:26;;14353:65;14415:1;14404:9;14400:17;14391:6;14353:65;:::i;:::-;14307:118;;;;:::o;14431:276::-;14551:4;14589:2;14578:9;14574:18;14566:26;;14602:98;14697:1;14686:9;14682:17;14673:6;14602:98;:::i;:::-;14556:151;;;;:::o;14713:313::-;14826:4;14864:2;14853:9;14849:18;14841:26;;14913:9;14907:4;14903:20;14899:1;14888:9;14884:17;14877:47;14941:78;15014:4;15005:6;14941:78;:::i;:::-;14933:86;;14831:195;;;;:::o;15032:419::-;15198:4;15236:2;15225:9;15221:18;15213:26;;15285:9;15279:4;15275:20;15271:1;15260:9;15256:17;15249:47;15313:131;15439:4;15313:131;:::i;:::-;15305:139;;15203:248;;;:::o;15457:419::-;15623:4;15661:2;15650:9;15646:18;15638:26;;15710:9;15704:4;15700:20;15696:1;15685:9;15681:17;15674:47;15738:131;15864:4;15738:131;:::i;:::-;15730:139;;15628:248;;;:::o;15882:419::-;16048:4;16086:2;16075:9;16071:18;16063:26;;16135:9;16129:4;16125:20;16121:1;16110:9;16106:17;16099:47;16163:131;16289:4;16163:131;:::i;:::-;16155:139;;16053:248;;;:::o;16307:419::-;16473:4;16511:2;16500:9;16496:18;16488:26;;16560:9;16554:4;16550:20;16546:1;16535:9;16531:17;16524:47;16588:131;16714:4;16588:131;:::i;:::-;16580:139;;16478:248;;;:::o;16732:419::-;16898:4;16936:2;16925:9;16921:18;16913:26;;16985:9;16979:4;16975:20;16971:1;16960:9;16956:17;16949:47;17013:131;17139:4;17013:131;:::i;:::-;17005:139;;16903:248;;;:::o;17157:419::-;17323:4;17361:2;17350:9;17346:18;17338:26;;17410:9;17404:4;17400:20;17396:1;17385:9;17381:17;17374:47;17438:131;17564:4;17438:131;:::i;:::-;17430:139;;17328:248;;;:::o;17582:419::-;17748:4;17786:2;17775:9;17771:18;17763:26;;17835:9;17829:4;17825:20;17821:1;17810:9;17806:17;17799:47;17863:131;17989:4;17863:131;:::i;:::-;17855:139;;17753:248;;;:::o;18007:419::-;18173:4;18211:2;18200:9;18196:18;18188:26;;18260:9;18254:4;18250:20;18246:1;18235:9;18231:17;18224:47;18288:131;18414:4;18288:131;:::i;:::-;18280:139;;18178:248;;;:::o;18432:419::-;18598:4;18636:2;18625:9;18621:18;18613:26;;18685:9;18679:4;18675:20;18671:1;18660:9;18656:17;18649:47;18713:131;18839:4;18713:131;:::i;:::-;18705:139;;18603:248;;;:::o;18857:419::-;19023:4;19061:2;19050:9;19046:18;19038:26;;19110:9;19104:4;19100:20;19096:1;19085:9;19081:17;19074:47;19138:131;19264:4;19138:131;:::i;:::-;19130:139;;19028:248;;;:::o;19282:419::-;19448:4;19486:2;19475:9;19471:18;19463:26;;19535:9;19529:4;19525:20;19521:1;19510:9;19506:17;19499:47;19563:131;19689:4;19563:131;:::i;:::-;19555:139;;19453:248;;;:::o;19707:419::-;19873:4;19911:2;19900:9;19896:18;19888:26;;19960:9;19954:4;19950:20;19946:1;19935:9;19931:17;19924:47;19988:131;20114:4;19988:131;:::i;:::-;19980:139;;19878:248;;;:::o;20132:419::-;20298:4;20336:2;20325:9;20321:18;20313:26;;20385:9;20379:4;20375:20;20371:1;20360:9;20356:17;20349:47;20413:131;20539:4;20413:131;:::i;:::-;20405:139;;20303:248;;;:::o;20557:419::-;20723:4;20761:2;20750:9;20746:18;20738:26;;20810:9;20804:4;20800:20;20796:1;20785:9;20781:17;20774:47;20838:131;20964:4;20838:131;:::i;:::-;20830:139;;20728:248;;;:::o;20982:419::-;21148:4;21186:2;21175:9;21171:18;21163:26;;21235:9;21229:4;21225:20;21221:1;21210:9;21206:17;21199:47;21263:131;21389:4;21263:131;:::i;:::-;21255:139;;21153:248;;;:::o;21407:419::-;21573:4;21611:2;21600:9;21596:18;21588:26;;21660:9;21654:4;21650:20;21646:1;21635:9;21631:17;21624:47;21688:131;21814:4;21688:131;:::i;:::-;21680:139;;21578:248;;;:::o;21832:222::-;21925:4;21963:2;21952:9;21948:18;21940:26;;21976:71;22044:1;22033:9;22029:17;22020:6;21976:71;:::i;:::-;21930:124;;;;:::o;22060:831::-;22323:4;22361:3;22350:9;22346:19;22338:27;;22375:71;22443:1;22432:9;22428:17;22419:6;22375:71;:::i;:::-;22456:80;22532:2;22521:9;22517:18;22508:6;22456:80;:::i;:::-;22583:9;22577:4;22573:20;22568:2;22557:9;22553:18;22546:48;22611:108;22714:4;22705:6;22611:108;:::i;:::-;22603:116;;22729:72;22797:2;22786:9;22782:18;22773:6;22729:72;:::i;:::-;22811:73;22879:3;22868:9;22864:19;22855:6;22811:73;:::i;:::-;22328:563;;;;;;;;:::o;22897:442::-;23046:4;23084:2;23073:9;23069:18;23061:26;;23097:71;23165:1;23154:9;23150:17;23141:6;23097:71;:::i;:::-;23178:72;23246:2;23235:9;23231:18;23222:6;23178:72;:::i;:::-;23260;23328:2;23317:9;23313:18;23304:6;23260:72;:::i;:::-;23051:288;;;;;;:::o;23345:214::-;23434:4;23472:2;23461:9;23457:18;23449:26;;23485:67;23549:1;23538:9;23534:17;23525:6;23485:67;:::i;:::-;23439:120;;;;:::o;23565:132::-;23632:4;23655:3;23647:11;;23685:4;23680:3;23676:14;23668:22;;23637:60;;;:::o;23703:114::-;23770:6;23804:5;23798:12;23788:22;;23777:40;;;:::o;23823:99::-;23875:6;23909:5;23903:12;23893:22;;23882:40;;;:::o;23928:113::-;23998:4;24030;24025:3;24021:14;24013:22;;24003:38;;;:::o;24047:184::-;24146:11;24180:6;24175:3;24168:19;24220:4;24215:3;24211:14;24196:29;;24158:73;;;;:::o;24237:169::-;24321:11;24355:6;24350:3;24343:19;24395:4;24390:3;24386:14;24371:29;;24333:73;;;;:::o;24412:305::-;24452:3;24471:20;24489:1;24471:20;:::i;:::-;24466:25;;24505:20;24523:1;24505:20;:::i;:::-;24500:25;;24659:1;24591:66;24587:74;24584:1;24581:81;24578:2;;;24665:18;;:::i;:::-;24578:2;24709:1;24706;24702:9;24695:16;;24456:261;;;;:::o;24723:185::-;24763:1;24780:20;24798:1;24780:20;:::i;:::-;24775:25;;24814:20;24832:1;24814:20;:::i;:::-;24809:25;;24853:1;24843:2;;24858:18;;:::i;:::-;24843:2;24900:1;24897;24893:9;24888:14;;24765:143;;;;:::o;24914:348::-;24954:7;24977:20;24995:1;24977:20;:::i;:::-;24972:25;;25011:20;25029:1;25011:20;:::i;:::-;25006:25;;25199:1;25131:66;25127:74;25124:1;25121:81;25116:1;25109:9;25102:17;25098:105;25095:2;;;25206:18;;:::i;:::-;25095:2;25254:1;25251;25247:9;25236:20;;24962:300;;;;:::o;25268:191::-;25308:4;25328:20;25346:1;25328:20;:::i;:::-;25323:25;;25362:20;25380:1;25362:20;:::i;:::-;25357:25;;25401:1;25398;25395:8;25392:2;;;25406:18;;:::i;:::-;25392:2;25451:1;25448;25444:9;25436:17;;25313:146;;;;:::o;25465:96::-;25502:7;25531:24;25549:5;25531:24;:::i;:::-;25520:35;;25510:51;;;:::o;25567:90::-;25601:7;25644:5;25637:13;25630:21;25619:32;;25609:48;;;:::o;25663:126::-;25700:7;25740:42;25733:5;25729:54;25718:65;;25708:81;;;:::o;25795:77::-;25832:7;25861:5;25850:16;;25840:32;;;:::o;25878:86::-;25913:7;25953:4;25946:5;25942:16;25931:27;;25921:43;;;:::o;25970:180::-;26047:9;26080:64;26138:5;26080:64;:::i;:::-;26067:77;;26057:93;;;:::o;26156:140::-;26233:9;26266:24;26284:5;26266:24;:::i;:::-;26253:37;;26243:53;;;:::o;26302:121::-;26360:9;26393:24;26411:5;26393:24;:::i;:::-;26380:37;;26370:53;;;:::o;26429:307::-;26497:1;26507:113;26521:6;26518:1;26515:13;26507:113;;;26606:1;26601:3;26597:11;26591:18;26587:1;26582:3;26578:11;26571:39;26543:2;26540:1;26536:10;26531:15;;26507:113;;;26638:6;26635:1;26632:13;26629:2;;;26718:1;26709:6;26704:3;26700:16;26693:27;26629:2;26478:258;;;;:::o;26742:320::-;26786:6;26823:1;26817:4;26813:12;26803:22;;26870:1;26864:4;26860:12;26891:18;26881:2;;26947:4;26939:6;26935:17;26925:27;;26881:2;27009;27001:6;26998:14;26978:18;26975:38;26972:2;;;27028:18;;:::i;:::-;26972:2;26793:269;;;;:::o;27068:233::-;27107:3;27130:24;27148:5;27130:24;:::i;:::-;27121:33;;27176:66;27169:5;27166:77;27163:2;;;27246:18;;:::i;:::-;27163:2;27293:1;27286:5;27282:13;27275:20;;27111:190;;;:::o;27307:180::-;27355:77;27352:1;27345:88;27452:4;27449:1;27442:15;27476:4;27473:1;27466:15;27493:180;27541:77;27538:1;27531:88;27638:4;27635:1;27628:15;27662:4;27659:1;27652:15;27679:180;27727:77;27724:1;27717:88;27824:4;27821:1;27814:15;27848:4;27845:1;27838:15;27865:102;27906:6;27957:2;27953:7;27948:2;27941:5;27937:14;27933:28;27923:38;;27913:54;;;:::o;27973:224::-;28113:34;28109:1;28101:6;28097:14;28090:58;28182:7;28177:2;28169:6;28165:15;28158:32;28079:118;:::o;28203:174::-;28343:26;28339:1;28331:6;28327:14;28320:50;28309:68;:::o;28383:223::-;28523:34;28519:1;28511:6;28507:14;28500:58;28592:6;28587:2;28579:6;28575:15;28568:31;28489:117;:::o;28612:229::-;28752:34;28748:1;28740:6;28736:14;28729:58;28821:12;28816:2;28808:6;28804:15;28797:37;28718:123;:::o;28847:225::-;28987:34;28983:1;28975:6;28971:14;28964:58;29056:8;29051:2;29043:6;29039:15;29032:33;28953:119;:::o;29078:177::-;29218:29;29214:1;29206:6;29202:14;29195:53;29184:71;:::o;29261:177::-;29401:29;29397:1;29389:6;29385:14;29378:53;29367:71;:::o;29444:181::-;29584:33;29580:1;29572:6;29568:14;29561:57;29550:75;:::o;29631:227::-;29771:34;29767:1;29759:6;29755:14;29748:58;29840:10;29835:2;29827:6;29823:15;29816:35;29737:121;:::o;29864:220::-;30004:34;30000:1;29992:6;29988:14;29981:58;30073:3;30068:2;30060:6;30056:15;30049:28;29970:114;:::o;30090:182::-;30230:34;30226:1;30218:6;30214:14;30207:58;30196:76;:::o;30278:228::-;30418:34;30414:1;30406:6;30402:14;30395:58;30487:11;30482:2;30474:6;30470:15;30463:36;30384:122;:::o;30512:222::-;30652:34;30648:1;30640:6;30636:14;30629:58;30721:5;30716:2;30708:6;30704:15;30697:30;30618:116;:::o;30740:231::-;30880:34;30876:1;30868:6;30864:14;30857:58;30949:14;30944:2;30936:6;30932:15;30925:39;30846:125;:::o;30977:221::-;31117:34;31113:1;31105:6;31101:14;31094:58;31186:4;31181:2;31173:6;31169:15;31162:29;31083:115;:::o;31204:222::-;31344:34;31340:1;31332:6;31328:14;31321:58;31413:5;31408:2;31400:6;31396:15;31389:30;31310:116;:::o;31432:122::-;31505:24;31523:5;31505:24;:::i;:::-;31498:5;31495:35;31485:2;;31544:1;31541;31534:12;31485:2;31475:79;:::o;31560:116::-;31630:21;31645:5;31630:21;:::i;:::-;31623:5;31620:32;31610:2;;31666:1;31663;31656:12;31610:2;31600:76;:::o;31682:122::-;31755:24;31773:5;31755:24;:::i;:::-;31748:5;31745:35;31735:2;;31794:1;31791;31784:12;31735:2;31725:79;:::o

Swarm Source

ipfs://fed0aa18de91623bcc9ec6f12ec735fb89b3cd8dec8c6ec9b497ec118e05fdbf
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.