Contract 0x1d05ec50dfe0a44a396b5c68b7c482e90563252d 11

 

Contract Overview

Balance:
0.001621968040082327 ETH

ETH Value:
$2.59 (@ $1,594.44/ETH)

Token:
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x0c3d142f29f04ed1add5eccd8157b4dec6de8866a77eb4de102be1723e3e7768Approve1210905762023-08-13 20:13:2440 days 12 hrs ago0x8df3e2e70aa58cc5d14a7036b31eab0e227b3a20 IN  0x1d05ec50dfe0a44a396b5c68b7c482e90563252d0 ETH0.000031710.1
0x17c97059c3fee9d965a5ce23e0c24a88ee853b4b9b930dd65b0436b36a861f5dApprove1210286072023-08-13 15:32:2840 days 16 hrs ago0x3f03146b294e30d5bcd101a3fa347ec5bde9bcb5 IN  0x1d05ec50dfe0a44a396b5c68b7c482e90563252d0 ETH0.00004944 0.1
0x1694a370f35602d723d8f7eb66f5d67b8b789941a044386ac40152ecf32a8917Approve1210278342023-08-13 15:29:1140 days 16 hrs ago0x3f03146b294e30d5bcd101a3fa347ec5bde9bcb5 IN  0x1d05ec50dfe0a44a396b5c68b7c482e90563252d0 ETH0.0000488 0.1
0x09759e06d9331feeda1a9cc31b955dae141430aeab03b95a7d73a0742cc46559Approve1114170622023-07-15 9:20:0569 days 23 hrs ago0xd2cde3a0e267b7f8cff979ee9dc5ae0a8304ec10 IN  0x1d05ec50dfe0a44a396b5c68b7c482e90563252d0 ETH0.00003148 0.1
0x0c7301e3b1e4363332e1bd9f20f412733e7b23c78da6326250ee1af60bd9fb8eApprove1002469032023-06-12 1:55:18103 days 6 hrs ago0xd570c4b9d38054cdea6dc30d1bd9bb1ccd281afe IN  0x1d05ec50dfe0a44a396b5c68b7c482e90563252d0 ETH0.00003178 0.1
0xbe48283df2e26132d2458f43efa1d1a111a35635f51cc6232ee0f4826fe57a13Approve1002445102023-06-12 1:44:42103 days 6 hrs ago0xecfe760aacbcdd01ccb190882f730de10d7e6273 IN  0x1d05ec50dfe0a44a396b5c68b7c482e90563252d0 ETH0.00003202 0.1
0x8f5a4bbf4ac26f6602155c5942a8de933eaa40c6f85828af586c6499964dbfb4Approve960673962023-05-30 17:16:01115 days 15 hrs ago0x1275128100e906ea4cb589d2b5d34e56eede9b1e IN  0x1d05ec50dfe0a44a396b5c68b7c482e90563252d0 ETH0.00008746 0.1
0xe4ee1a91494094cf640c1b44e4ae0478bc4d5a0ae3753adea028b6fd63a37202Transfer960671922023-05-30 17:15:10115 days 15 hrs ago0xb76f152642816b17ad56fe92c6960e34e6a1d1cb IN  0x1d05ec50dfe0a44a396b5c68b7c482e90563252d0 ETH0.00011144 0.1
0x4d3c33de09fb1aa15ed43f40c3a202bec7ec9e62c048422cedb9de4c2fb6d590Approve960664852023-05-30 17:12:12115 days 15 hrs ago0xb76f152642816b17ad56fe92c6960e34e6a1d1cb IN  0x1d05ec50dfe0a44a396b5c68b7c482e90563252d0 ETH0.00008792 0.1
0xd5729dce003035d76b80160354849e209251e0604a024adc97771ea569833a9dApprove951917282023-05-28 3:47:22118 days 4 hrs ago0xd570c4b9d38054cdea6dc30d1bd9bb1ccd281afe IN  0x1d05ec50dfe0a44a396b5c68b7c482e90563252d0 ETH0.00004414 0.1
0x16bc88e67e42c5f44c4c7e014ae89abae3dfb21ea7f3bece78711e2f7a06f53eApprove951910952023-05-28 3:44:45118 days 4 hrs ago0xecfe760aacbcdd01ccb190882f730de10d7e6273 IN  0x1d05ec50dfe0a44a396b5c68b7c482e90563252d0 ETH0.00004656 0.1
0x29a663552d47462ed5720a89acc4a7ee81971df474d4a475076e89e759583ec9Approve929905682023-05-21 16:26:36124 days 15 hrs ago0xa6a877697c3b09b2c0608b3c267d117601b55aac IN  0x1d05ec50dfe0a44a396b5c68b7c482e90563252d0 ETH0.000068130.1
0x93f9875f47c29960a894dc3acea12f55838ee6863bd90bc5d4ff42ef1552069bApprove882465192023-05-07 13:11:19138 days 19 hrs ago0x44f2c1540a62897e4f9ae5dd76881b3e6290f042 IN  0x1d05ec50dfe0a44a396b5c68b7c482e90563252d0 ETH0.00014666 0.1
0x5e53d6364ecc9f12abf97d5f831cbd79fb957deebc28c5a66cccea89f4ac6319Approve882285852023-05-07 11:56:54138 days 20 hrs ago0xeb8d129cea0972691881611b29d2e5c9e97f84f7 IN  0x1d05ec50dfe0a44a396b5c68b7c482e90563252d0 ETH0.00013504 0.1
0xf54f16249652ad6b08384b524d2649922c14bb57b161d37536fe0cae8dd3bb7bApprove865817882023-05-02 16:16:43143 days 16 hrs ago0xba3f3c03ecfba2d0828a2adb85179019ceaca96d IN  0x1d05ec50dfe0a44a396b5c68b7c482e90563252d0 ETH0.00012448 0.11199
0xc6975a4bb06279cbd522197f0b7a5f4885636967352a8b7d69acf766c9dc70c2Approve862196852023-05-01 14:43:13144 days 17 hrs ago0x87a94c036e3e25edbeb19efb1f9f68f652970be6 IN  0x1d05ec50dfe0a44a396b5c68b7c482e90563252d0 ETH0.000142650.1
0xf4db2b6af8a087267592d51d1f22017a04f15947782eba2b787be761a72e664eApprove854468872023-04-29 8:35:24146 days 23 hrs ago0x12bedff5350f138d9f2975018729301857cdf2e6 IN  0x1d05ec50dfe0a44a396b5c68b7c482e90563252d0 ETH0.00006727 0.1
0x2944a895fc966d14424b64c1a216e8787d3501ed12d886ac1ed0f6fa8f96e72bApprove852284772023-04-28 16:41:55147 days 15 hrs ago0x817271ea29e0297d26e87c0fcae5d7086c06ae94 IN  0x1d05ec50dfe0a44a396b5c68b7c482e90563252d0 ETH0.000088 0.1
0x9cfc8d8f5ff9e46af53b30513a973fac4f5799dd0469932d878fcec81f173e56Approve832330672023-04-22 20:30:38153 days 11 hrs ago0xc477397bc5f52b7715e9a837b5a014b51dd9b3d2 IN  0x1d05ec50dfe0a44a396b5c68b7c482e90563252d0 ETH0.00007298 0.1
0xfc4a936dd4f0fe46d6f4238cc5289fc5f37c5160741490cb048811e7f151f52fApprove832317912023-04-22 20:25:22153 days 11 hrs ago0xc477397bc5f52b7715e9a837b5a014b51dd9b3d2 IN  0x1d05ec50dfe0a44a396b5c68b7c482e90563252d0 ETH0.00007956 0.1
0xce3c5101e4ee1ead93dc59c2a4025999195d0f77d5105114ff23e00e663c3dc4Approve829055072023-04-21 21:27:57154 days 10 hrs ago0x1963c8d8eec61cf1b571fad046a2cfd9f26d1438 IN  0x1d05ec50dfe0a44a396b5c68b7c482e90563252d0 ETH0.00007595 0.1
0x7063a4bd4f3159b9b470c7af49115b5dd4f4e7f807e5e5f61788c22155efdc9bApprove827237322023-04-21 8:48:40154 days 23 hrs ago0x12d75814604865c2e9dd988f43b3d75afb0d47f2 IN  0x1d05ec50dfe0a44a396b5c68b7c482e90563252d0 ETH0.000076680.1
0x1b0012b7cc3b40eb5fbfdf903cd8817038036e8825edeb7b4fcc4785ac05f3a4Approve817979662023-04-18 16:13:16157 days 16 hrs ago0xd9a4adc7bbbd0c78eda03b1054ded460f2725764 IN  0x1d05ec50dfe0a44a396b5c68b7c482e90563252d0 ETH0.00006331 0.1
0xefd5f2f4ac3a3dfd56f927866047599410ab1e15461169d2b0265ce2d5b9e5ceApprove813120332023-04-17 6:39:12159 days 1 hr ago0xa8ef1065b278d56c319f4ac388e98231b7523ed7 IN  0x1d05ec50dfe0a44a396b5c68b7c482e90563252d0 ETH0.00004855 0.15027
0xf47921a258ed6fb02cd4c549ce9e130c5d9a86434a95ea7a55deb48ba64a23f4Approve811133852023-04-16 16:50:54159 days 15 hrs ago0xcb6a43585b6719bdf518011e5e44a1b0b5ebbd5c IN  0x1d05ec50dfe0a44a396b5c68b7c482e90563252d0 ETH0.00004729 0.1
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x7037f80d6802dfaac519d4fdcfc268879dcf12b615c95b653068a8befd5a9547994363722023-06-09 16:22:36105 days 15 hrs ago 0x1d05ec50dfe0a44a396b5c68b7c482e90563252d SushiSwap: Router0.00665937125859439 ETH
0x7037f80d6802dfaac519d4fdcfc268879dcf12b615c95b653068a8befd5a9547994363722023-06-09 16:22:36105 days 15 hrs ago SushiSwap: Router 0x1d05ec50dfe0a44a396b5c68b7c482e90563252d0.00665937125859439 ETH
0xe4ee1a91494094cf640c1b44e4ae0478bc4d5a0ae3753adea028b6fd63a37202960671922023-05-30 17:15:10115 days 15 hrs ago 0x1d05ec50dfe0a44a396b5c68b7c482e90563252d SushiSwap: Router0.006678336211697482 ETH
0xe4ee1a91494094cf640c1b44e4ae0478bc4d5a0ae3753adea028b6fd63a37202960671922023-05-30 17:15:10115 days 15 hrs ago SushiSwap: Router 0x1d05ec50dfe0a44a396b5c68b7c482e90563252d0.006678336211697482 ETH
0xc9c087f6d9515844e4c9aa60fff5ef2c35fc050b0210f4c8ace2d1705e2d16f7951918252023-05-28 3:47:46118 days 4 hrs ago 0x1d05ec50dfe0a44a396b5c68b7c482e90563252d SushiSwap: Router0.007651565892208567 ETH
0xc9c087f6d9515844e4c9aa60fff5ef2c35fc050b0210f4c8ace2d1705e2d16f7951918252023-05-28 3:47:46118 days 4 hrs ago SushiSwap: Router 0x1d05ec50dfe0a44a396b5c68b7c482e90563252d0.007651565892208567 ETH
0x964e302c9efff5f6a8ebd024eebfa7b6144b4cf5a77e05b34eaa9342c53cb30a810016072023-04-16 9:06:33159 days 23 hrs ago 0x1d05ec50dfe0a44a396b5c68b7c482e90563252d SushiSwap: Router0.00802274189050519 ETH
0x964e302c9efff5f6a8ebd024eebfa7b6144b4cf5a77e05b34eaa9342c53cb30a810016072023-04-16 9:06:33159 days 23 hrs ago SushiSwap: Router 0x1d05ec50dfe0a44a396b5c68b7c482e90563252d0.00802274189050519 ETH
0xb4a1c4e74ac6ca86c80aba3eefd10207a2d35bb37c5bfc822ceb0fdb83719133807368672023-04-15 14:35:51160 days 17 hrs ago 0x1d05ec50dfe0a44a396b5c68b7c482e90563252d SushiSwap: Router0.00802274189050519 ETH
0xb4a1c4e74ac6ca86c80aba3eefd10207a2d35bb37c5bfc822ceb0fdb83719133807368672023-04-15 14:35:51160 days 17 hrs ago SushiSwap: Router 0x1d05ec50dfe0a44a396b5c68b7c482e90563252d0.00802274189050519 ETH
0x755e528958fb0741418d08f96adb3e52a54f113e87a0a0c2c0b08df6bef1a00a773672682023-04-05 17:40:23170 days 14 hrs ago 0x1d05ec50dfe0a44a396b5c68b7c482e90563252d SushiSwap: Router0.008022118467133243 ETH
0x755e528958fb0741418d08f96adb3e52a54f113e87a0a0c2c0b08df6bef1a00a773672682023-04-05 17:40:23170 days 14 hrs ago SushiSwap: Router 0x1d05ec50dfe0a44a396b5c68b7c482e90563252d0.008022118467133243 ETH
0x5bd8ae59a40bc57cf76123d679ea19e9e8ca9f1bc24a0431129bea7587df6ce8766009122023-04-03 11:54:06172 days 20 hrs ago 0x1d05ec50dfe0a44a396b5c68b7c482e90563252d SushiSwap: Router0.008664769291747533 ETH
0x5bd8ae59a40bc57cf76123d679ea19e9e8ca9f1bc24a0431129bea7587df6ce8766009122023-04-03 11:54:06172 days 20 hrs ago SushiSwap: Router 0x1d05ec50dfe0a44a396b5c68b7c482e90563252d0.008664769291747533 ETH
0x1fd3d9576e5790ec2113c5c71b880855fd36af29930765f1f2211b336737e860730623052023-03-24 4:34:25183 days 3 hrs ago 0x1d05ec50dfe0a44a396b5c68b7c482e90563252d SushiSwap: Router0.009333162292401446 ETH
0x1fd3d9576e5790ec2113c5c71b880855fd36af29930765f1f2211b336737e860730623052023-03-24 4:34:25183 days 3 hrs ago SushiSwap: Router 0x1d05ec50dfe0a44a396b5c68b7c482e90563252d0.009333162292401446 ETH
0x22567895c7766edfdef894fe2d18990de273b1f4b15291ae37a4d2b4aa580ca9717706012023-03-20 12:22:21186 days 19 hrs ago 0x051d354e4c7579f8dcadc13d244fcb6c9568c9d3 0x1d05ec50dfe0a44a396b5c68b7c482e90563252d0 ETH
0x22567895c7766edfdef894fe2d18990de273b1f4b15291ae37a4d2b4aa580ca9717706012023-03-20 12:22:21186 days 19 hrs ago 0x64768a3a2453f1e8de9e43e92d65fc36e4c9872d 0x1d05ec50dfe0a44a396b5c68b7c482e90563252d0 ETH
0x22567895c7766edfdef894fe2d18990de273b1f4b15291ae37a4d2b4aa580ca9717706012023-03-20 12:22:21186 days 19 hrs ago 1inch v5: Aggregation Router 0x1d05ec50dfe0a44a396b5c68b7c482e90563252d0 ETH
0xba6cea8ec4c4ee2b9f7351ad0a76a5d9972b1a5cd03c2d8d21000f84b1503663717467782023-03-20 10:44:50186 days 21 hrs ago 0x051d354e4c7579f8dcadc13d244fcb6c9568c9d3 0x1d05ec50dfe0a44a396b5c68b7c482e90563252d0 ETH
0xba6cea8ec4c4ee2b9f7351ad0a76a5d9972b1a5cd03c2d8d21000f84b1503663717467782023-03-20 10:44:50186 days 21 hrs ago 0x64768a3a2453f1e8de9e43e92d65fc36e4c9872d 0x1d05ec50dfe0a44a396b5c68b7c482e90563252d0 ETH
0xba6cea8ec4c4ee2b9f7351ad0a76a5d9972b1a5cd03c2d8d21000f84b1503663717467782023-03-20 10:44:50186 days 21 hrs ago 0x051d354e4c7579f8dcadc13d244fcb6c9568c9d3 0x1d05ec50dfe0a44a396b5c68b7c482e90563252d0 ETH
0xba6cea8ec4c4ee2b9f7351ad0a76a5d9972b1a5cd03c2d8d21000f84b1503663717467782023-03-20 10:44:50186 days 21 hrs ago SushiSwap: Router 0x1d05ec50dfe0a44a396b5c68b7c482e90563252d0 ETH
0xba6cea8ec4c4ee2b9f7351ad0a76a5d9972b1a5cd03c2d8d21000f84b1503663717467782023-03-20 10:44:50186 days 21 hrs ago 0x1d05ec50dfe0a44a396b5c68b7c482e90563252d SushiSwap: Router0.009946538926496537 ETH
0xba6cea8ec4c4ee2b9f7351ad0a76a5d9972b1a5cd03c2d8d21000f84b1503663717467782023-03-20 10:44:50186 days 21 hrs ago SushiSwap: Router 0x1d05ec50dfe0a44a396b5c68b7c482e90563252d0.009946538926496537 ETH
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
AstroSpacesSecondaryChain

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Arbiscan.io on 2023-02-13
*/

// SPDX-License-Identifier: MIT
pragma solidity =0.8.4;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);
}


/**
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

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

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _setOwner(_msgSender());
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}


// CAUTION
// This version of SafeMath should only be used with Solidity 0.8 or later,
// because it relies on the compiler's built in overflow checks.

/**
 * @dev Wrappers over Solidity's arithmetic operations.
 *
 * NOTE: `SafeMath` is no longer needed starting with Solidity 0.8. The compiler
 * now has built in overflow checking.
 */
library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, with an overflow flag.
     *
     * _Available since v3.4._
     */
    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }

    /**
     * @dev Returns the substraction of two unsigned integers, with an overflow flag.
     *
     * _Available since v3.4._
     */
    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, with an overflow flag.
     *
     * _Available since v3.4._
     */
    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            // 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 (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }

    /**
     * @dev Returns the division of two unsigned integers, with a division by zero flag.
     *
     * _Available since v3.4._
     */
    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag.
     *
     * _Available since v3.4._
     */
    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }

    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     *
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    /**
     * @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 a - b;
    }

    /**
     * @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) {
        return a * b;
    }

    /**
     * @dev Returns the integer division of two unsigned integers, reverting on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator.
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * reverting 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 a % b;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * CAUTION: This function is deprecated because it requires allocating memory for the error
     * message unnecessarily. For custom revert reasons use {trySub}.
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b <= a, errorMessage);
            return a - b;
        }
    }

    /**
     * @dev Returns the integer division of two unsigned integers, reverting 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) {
        unchecked {
            require(b > 0, errorMessage);
            return a / b;
        }
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * reverting with custom message when dividing by zero.
     *
     * CAUTION: This function is deprecated because it requires allocating memory for the error
     * message unnecessarily. For custom revert reasons use {tryMod}.
     *
     * 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) {
        unchecked {
            require(b > 0, errorMessage);
            return a % b;
        }
    }
}

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

    function WETH() external pure returns (address);

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

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

    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint256 liquidity,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline
    ) external returns (uint256 amountA, uint256 amountB);

    function removeLiquidityETH(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    ) external returns (uint256 amountToken, uint256 amountETH);

    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint256 liquidity,
        uint256 amountAMin,
        uint256 amountBMin,
        address to,
        uint256 deadline,
        bool approveMax,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external returns (uint256 amountA, uint256 amountB);

    function removeLiquidityETHWithPermit(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline,
        bool approveMax,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external returns (uint256 amountToken, uint256 amountETH);

    function swapExactTokensForTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);

    function swapTokensForExactTokens(
        uint256 amountOut,
        uint256 amountInMax,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);

    function swapExactETHForTokens(
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable returns (uint256[] memory amounts);

    function swapTokensForExactETH(
        uint256 amountOut,
        uint256 amountInMax,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);

    function swapExactTokensForETH(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external returns (uint256[] memory amounts);

    function swapETHForExactTokens(
        uint256 amountOut,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable returns (uint256[] memory amounts);

    function quote(
        uint256 amountA,
        uint256 reserveA,
        uint256 reserveB
    ) external pure returns (uint256 amountB);

    function getAmountOut(
        uint256 amountIn,
        uint256 reserveIn,
        uint256 reserveOut
    ) external pure returns (uint256 amountOut);

    function getAmountIn(
        uint256 amountOut,
        uint256 reserveIn,
        uint256 reserveOut
    ) external pure returns (uint256 amountIn);

    function getAmountsOut(uint256 amountIn, address[] calldata path)
        external
        view
        returns (uint256[] memory amounts);

    function getAmountsIn(uint256 amountOut, address[] calldata path)
        external
        view
        returns (uint256[] memory amounts);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    ) external returns (uint256 amountETH);

    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint256 liquidity,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline,
        bool approveMax,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external returns (uint256 amountETH);

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

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

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


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

    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(uint256) external view returns (address pair);

    function allPairsLength() external view returns (uint256);

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

    function setFeeTo(address) external;

    function setFeeToSetter(address) external;
}

contract AstroSpacesSecondaryChain is IERC20, Ownable {
    using SafeMath for uint256;

    address public immutable underlying;
    bool public constant underlyingIsMinted = false;

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

    string private _name;
    string private _symbol;
    uint8 private _decimals;
    uint256 private _totalSupply;

    mapping(address => bool) private _isExcludedFromFee;

    uint256 public _liquidityFee;

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;

    bool inSwapAndLiquify;
    bool public swapAndLiquifyEnabled;

    uint256 public numTokensSellToAddToLiquidity;

    event MinTokensBeforeSwapUpdated(uint256 minTokensBeforeSwap);
    event SwapAndLiquifyAmountUpdated(uint256 amount);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );

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

    mapping(address => bool) public isMinter;
    address[] public minters;
    
    modifier onlyAuth() {
        require(isMinter[msg.sender], "AnyswapV6ERC20: FORBIDDEN");
        _;
    }

    constructor() payable {
        underlying = address(0);

        _name = "AstroSpaces.io";
        _symbol = "SPACES";
        _decimals = 9;

        _liquidityFee = 9;
        swapAndLiquifyEnabled = true;

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(address(0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506));
        
        // Create a uniswap pair for this new token
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        // set the rest of the contract variables
        uniswapV2Router = _uniswapV2Router;

        // exclude owner and this contract from fee
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;

    }

    /**
     * @dev Returns the name of the token.
     */
    function name() public view virtual returns (string memory) {
        return _name;
    }

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view virtual returns (string memory) {
        return _symbol;
    }

    /**
     * @dev Returns the number of decimals used to get its user representation.
     * For example, if `decimals` equals `2`, a balance of `505` tokens should
     * be displayed to a user as `5,05` (`505 / 10 ** 2`).
     *
     * Tokens usually opt for a value of 18, imitating the relationship between
     * Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is
     * called.
     *
     * NOTE: This information is only used for _display_ purposes: it in
     * no way affects any of the arithmetic of the contract, including
     * {IERC20-balanceOf} and {IERC20-transfer}.
     */
    function decimals() public view virtual returns (uint8) {
        return _decimals;
    }

    /**
     * @dev See {IERC20-totalSupply}.
     */
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

    /**
     * @dev See {IERC20-balanceOf}.
     */
    function balanceOf(address account)
        public
        view
        virtual
        override
        returns (uint256)
    {
        return _balances[account];
    }

    /**
     * @dev See {IERC20-transfer}.
     *
     * Requirements:
     *
     * - `recipient` cannot be the zero address.
     * - the caller must have a balance of at least `amount`.
     */
    function transfer(address recipient, uint256 amount)
        public
        virtual
        override
        returns (bool)
    {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    /**
     * @dev See {IERC20-allowance}.
     */
    function allowance(address owner, address spender)
        public
        view
        virtual
        override
        returns (uint256)
    {
        return _allowances[owner][spender];
    }

    /**
     * @dev See {IERC20-approve}.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function approve(address spender, uint256 amount)
        public
        virtual
        override
        returns (bool)
    {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    /**
     * @dev See {IERC20-transferFrom}.
     *
     * Emits an {Approval} event indicating the updated allowance. This is not
     * required by the EIP. See the note at the beginning of {ERC20}.
     *
     * Requirements:
     *
     * - `sender` and `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     * - the caller must have allowance for ``sender``'s tokens of at least
     * `amount`.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }

    /**
     * @dev Atomically increases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     */
    function increaseAllowance(address spender, uint256 addedValue)
        public
        virtual
        returns (bool)
    {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender].add(addedValue)
        );
        return true;
    }

    /**
     * @dev Atomically decreases the allowance granted to `spender` by the caller.
     *
     * This is an alternative to {approve} that can be used as a mitigation for
     * problems described in {IERC20-approve}.
     *
     * Emits an {Approval} event indicating the updated allowance.
     *
     * Requirements:
     *
     * - `spender` cannot be the zero address.
     * - `spender` must have allowance for the caller of at least
     * `subtractedValue`.
     */
    function decreaseAllowance(address spender, uint256 subtractedValue)
        public
        virtual
        returns (bool)
    {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender].sub(
                subtractedValue,
                "ERC20: decreased allowance below zero"
            )
        );
        return true;
    }

    /**
     * @dev Moves tokens `amount` from `sender` to `recipient`.
     *
     * This is internal function is equivalent to {transfer}, and can be used to
     * e.g. implement automatic token fees, slashing mechanisms, etc.
     *
     * Emits a {Transfer} event.
     *
     * Requirements:
     *
     * - `sender` cannot be the zero address.
     * - `recipient` cannot be the zero address.
     * - `sender` must have a balance of at least `amount`.
     */
    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

        uint256 contractTokenBalance = balanceOf(address(this));

        bool overMinTokenBalance = contractTokenBalance >=
            numTokensSellToAddToLiquidity;
        if (
            overMinTokenBalance &&
            numTokensSellToAddToLiquidity != 0 &&
            !inSwapAndLiquify &&
            sender != uniswapV2Pair &&
            swapAndLiquifyEnabled
        ) {
            // Add liquidity
            contractTokenBalance = numTokensSellToAddToLiquidity;
            swapAndLiquify(contractTokenBalance);
        }
        
        if (_isExcludedFromFee[sender] || _isExcludedFromFee[recipient] || _liquidityFee == 0) {
            // NO TAX TRANSFER. EXCLUDED
            _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance");
            _balances[recipient] = _balances[recipient].add(amount);
        } else {
            uint256 feeAmount = amount.div(100).mul(_liquidityFee);
            uint256 amountRemains = amount.sub(feeAmount);
            _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance");
            _balances[recipient] = _balances[recipient].add(amountRemains);
            _balances[address(this)] = _balances[address(this)].add(feeAmount);   
        }

        emit Transfer(sender, recipient, amount);
    }

    /** @dev Creates `amount` tokens and assigns them to `account`, increasing
     * the total supply.
     *
     * Emits a {Transfer} event with `from` set to the zero address.
     *
     * Requirements:
     *
     * - `to` cannot be the zero address.
     */
    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply = _totalSupply.add(amount);
        _balances[account] = _balances[account].add(amount);

        numTokensSellToAddToLiquidity = _totalSupply.div(1000); // 0.1%

        emit Transfer(address(0), account, amount);
    }

    /**
     * @dev Destroys `amount` tokens from `account`, reducing the
     * total supply.
     *
     * Emits a {Transfer} event with `to` set to the zero address.
     *
     * Requirements:
     *
     * - `account` cannot be the zero address.
     * - `account` must have at least `amount` tokens.
     */
    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        _balances[account] = _balances[account].sub(
            amount,
            "ERC20: burn amount exceeds balance"
        );
        _totalSupply = _totalSupply.sub(amount);

        numTokensSellToAddToLiquidity = _totalSupply.div(1000); // 0.1%

        emit Transfer(account, address(0), amount);
    }

    /**
     * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.
     *
     * This internal function is equivalent to `approve`, and can be used to
     * e.g. set automatic allowances for certain subsystems, etc.
     *
     * Emits an {Approval} event.
     *
     * Requirements:
     *
     * - `owner` cannot be the zero address.
     * - `spender` cannot be the zero address.
     */
    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

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

    /**
     * @dev Hook that is called before any transfer of tokens. This includes
     * minting and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * will be to transferred to `to`.
     * - when `from` is zero, `amount` tokens will be minted for `to`.
     * - when `to` is zero, `amount` of ``from``'s tokens will be burned.
     * - `from` and `to` are never both zero.
     *
     * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].
     */
    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

    /*
        CUSTOM CONTRACT
    */

    receive() external payable {}

    function mint(address to, uint256 amount) external onlyAuth returns (bool) {
        _mint(to, amount);
        return true;
    }

    function applyMinter(address mintAddress) external onlyOwner {
        require(mintAddress != address(0));
        isMinter[mintAddress] = true;
        minters.push(mintAddress);
    }

    // No time delay revoke minter emergency function
    function revokeMinter(address mintAddress) external onlyOwner {
        isMinter[mintAddress] = false;
    }

    function getAllMinters() external view returns (address[] memory) {
        return minters;
    }

    function burn(address from, uint256 amount) external onlyAuth returns (bool) {
        require(from != address(0), "AnyswapV3ERC20: address(0x0)");
        _burn(from, amount);
        return true;
    }

    function excludeFromFee(address account, bool value) public onlyOwner {
        _isExcludedFromFee[account] = value;
    }

    function isExcludedFromFee(address account) public view returns (bool) {
        return _isExcludedFromFee[account];
    }

    function setLiquidityFeePercent(uint256 liquidityFeeBps) external onlyOwner {
        require(_liquidityFee < 15, "Total fee is over 15%");
        _liquidityFee = liquidityFeeBps;
    }

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

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

        // swap tokens for ETH
        swapTokensForEth(half);

        // how much ETH did we just swap into?
        uint256 newBalance = address(this).balance.sub(initialBalance);

        // add liquidity to uniswap
        addLiquidity(otherHalf, newBalance);

        emit SwapAndLiquify(half, newBalance, otherHalf);
    }

    function swapTokensForEth(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 ETH
            path,
            address(this),
            block.timestamp
        );
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        // approve token transfer to cover all possible scenarios
        _approve(address(this), address(uniswapV2Router), tokenAmount);

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

    function withdrawStuck() public onlyOwner {
        payable(owner()).transfer(address(this).balance);
    }
    
}

Contract ABI

[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"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":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"SwapAndLiquifyAmountUpdated","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":"_liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"mintAddress","type":"address"}],"name":"applyMinter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","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":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getAllMinters","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","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":"","type":"address"}],"name":"isMinter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"minters","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"numTokensSellToAddToLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"mintAddress","type":"address"}],"name":"revokeMinter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"liquidityFeeBps","type":"uint256"}],"name":"setLiquidityFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"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":"underlying","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"underlyingIsMinted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[],"name":"withdrawStuck","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a06040526200000f33620002c3565b600060805260408051808201909152600e8082526d417374726f5370616365732e696f60901b60209092019182526200004b9160039162000313565b506040805180820190915260068082526553504143455360d01b60209092019182526200007b9160049162000313565b506005805460ff19166009908117909155600855600a805460ff60a81b1916600160a81b1790556040805163c45a015560e01b81529051731b02da8cb0d097eb8d57a175b88c7d8b4799750691829163c45a015591600480820192602092909190829003018186803b158015620000f157600080fd5b505afa15801562000106573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200012c9190620003b9565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200017557600080fd5b505afa1580156200018a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b09190620003b9565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015620001f957600080fd5b505af11580156200020e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002349190620003b9565b600a80546001600160a01b03199081166001600160a01b0393841617909155600980549091169183169190911790556001600760006200027c6000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff1995861617905530815260079092529020805490911660011790555062000426565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b8280546200032190620003e9565b90600052602060002090601f01602090048101928262000345576000855562000390565b82601f106200036057805160ff191683800117855562000390565b8280016001018555821562000390579182015b828111156200039057825182559160200191906001019062000373565b506200039e929150620003a2565b5090565b5b808211156200039e5760008155600101620003a3565b600060208284031215620003cb578081fd5b81516001600160a01b0381168114620003e2578182fd5b9392505050565b600181811c90821680620003fe57607f821691505b602082108114156200042057634e487b7160e01b600052602260045260246000fd5b50919050565b60805160601c611afc6200044560003960006103e00152611afc6000f3fe6080604052600436106101e75760003560e01c80638623ec7b11610102578063aa271e1a11610095578063d9e35bb211610064578063d9e35bb2146105bd578063dd62ed3e146105dd578063df8408fe14610623578063f2fde38b1461064357600080fd5b8063aa271e1a14610542578063cfbd488514610572578063d12a768814610592578063d6c79751146105a857600080fd5b80639dc29fac116100d15780639dc29fac146104c0578063a045442c146104e0578063a457c2d714610502578063a9059cbb1461052257600080fd5b80638623ec7b1461044d5780638da5cb5b1461046d5780638ee88c531461048b57806395d89b41146104ab57600080fd5b806349bd5a5e1161017a5780636bc87c3a116101495780636bc87c3a146103b85780636f307dc3146103ce57806370a0823114610402578063715018a61461043857600080fd5b806349bd5a5e146103275780634a74bb02146103475780635342acb41461036857806367a1bd55146103a157600080fd5b806323b872dd116101b657806323b872dd146102a5578063313ce567146102c557806339509351146102e757806340c10f191461030757600080fd5b806306fdde03146101f3578063095ea7b31461021e5780631694505e1461024e57806318160ddd1461028657600080fd5b366101ee57005b600080fd5b3480156101ff57600080fd5b50610208610663565b6040516102159190611899565b60405180910390f35b34801561022a57600080fd5b5061023e6102393660046117d3565b6106f5565b6040519015158152602001610215565b34801561025a57600080fd5b5060095461026e906001600160a01b031681565b6040516001600160a01b039091168152602001610215565b34801561029257600080fd5b506006545b604051908152602001610215565b3480156102b157600080fd5b5061023e6102c0366004611762565b61070b565b3480156102d157600080fd5b5060055460405160ff9091168152602001610215565b3480156102f357600080fd5b5061023e6103023660046117d3565b610774565b34801561031357600080fd5b5061023e6103223660046117d3565b6107aa565b34801561033357600080fd5b50600a5461026e906001600160a01b031681565b34801561035357600080fd5b50600a5461023e90600160a81b900460ff1681565b34801561037457600080fd5b5061023e6103833660046116f2565b6001600160a01b031660009081526007602052604090205460ff1690565b3480156103ad57600080fd5b506103b6610814565b005b3480156103c457600080fd5b5061029760085481565b3480156103da57600080fd5b5061026e7f000000000000000000000000000000000000000000000000000000000000000081565b34801561040e57600080fd5b5061029761041d3660046116f2565b6001600160a01b031660009081526001602052604090205490565b34801561044457600080fd5b506103b661087b565b34801561045957600080fd5b5061026e6104683660046117fe565b6108b1565b34801561047957600080fd5b506000546001600160a01b031661026e565b34801561049757600080fd5b506103b66104a63660046117fe565b6108db565b3480156104b757600080fd5b50610208610954565b3480156104cc57600080fd5b5061023e6104db3660046117d3565b610963565b3480156104ec57600080fd5b506104f5610a1e565b6040516102159190611886565b34801561050e57600080fd5b5061023e61051d3660046117d3565b610a7f565b34801561052e57600080fd5b5061023e61053d3660046117d3565b610ace565b34801561054e57600080fd5b5061023e61055d3660046116f2565b600c6020526000908152604090205460ff1681565b34801561057e57600080fd5b506103b661058d3660046116f2565b610adb565b34801561059e57600080fd5b50610297600b5481565b3480156105b457600080fd5b5061023e600081565b3480156105c957600080fd5b506103b66105d83660046116f2565b610b26565b3480156105e957600080fd5b506102976105f836600461172a565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561062f57600080fd5b506103b661063e3660046117a2565b610bc9565b34801561064f57600080fd5b506103b661065e3660046116f2565b610c1e565b606060038054610672906119cb565b80601f016020809104026020016040519081016040528092919081815260200182805461069e906119cb565b80156106eb5780601f106106c0576101008083540402835291602001916106eb565b820191906000526020600020905b8154815290600101906020018083116106ce57829003601f168201915b5050505050905090565b6000610702338484610cb6565b50600192915050565b6000610718848484610dda565b61076a843361076585604051806060016040528060288152602001611a7a602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190611120565b610cb6565b5060019392505050565b3360008181526002602090815260408083206001600160a01b03871684529091528120549091610702918590610765908661114c565b336000908152600c602052604081205460ff1661080a5760405162461bcd60e51b815260206004820152601960248201527820b73cb9bbb0b82b1b22a92199181d102327a92124a22222a760391b60448201526064015b60405180910390fd5b610702838361115f565b6000546001600160a01b0316331461083e5760405162461bcd60e51b8152600401610801906118ec565b600080546040516001600160a01b03909116914780156108fc02929091818181858888f19350505050158015610878573d6000803e3d6000fd5b50565b6000546001600160a01b031633146108a55760405162461bcd60e51b8152600401610801906118ec565b6108af6000611259565b565b600d81815481106108c157600080fd5b6000918252602090912001546001600160a01b0316905081565b6000546001600160a01b031633146109055760405162461bcd60e51b8152600401610801906118ec565b600f6008541061094f5760405162461bcd60e51b8152602060048201526015602482015274546f74616c20666565206973206f7665722031352560581b6044820152606401610801565b600855565b606060048054610672906119cb565b336000908152600c602052604081205460ff166109be5760405162461bcd60e51b815260206004820152601960248201527820b73cb9bbb0b82b1b22a92199181d102327a92124a22222a760391b6044820152606401610801565b6001600160a01b038316610a145760405162461bcd60e51b815260206004820152601c60248201527f416e7973776170563345524332303a20616464726573732830783029000000006044820152606401610801565b61070283836112a9565b6060600d8054806020026020016040519081016040528092919081815260200182805480156106eb57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610a58575050505050905090565b6000610702338461076585604051806060016040528060258152602001611aa2602591393360009081526002602090815260408083206001600160a01b038d1684529091529020549190611120565b6000610702338484610dda565b6000546001600160a01b03163314610b055760405162461bcd60e51b8152600401610801906118ec565b6001600160a01b03166000908152600c60205260409020805460ff19169055565b6000546001600160a01b03163314610b505760405162461bcd60e51b8152600401610801906118ec565b6001600160a01b038116610b6357600080fd5b6001600160a01b03166000818152600c60205260408120805460ff19166001908117909155600d805491820181559091527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50180546001600160a01b0319169091179055565b6000546001600160a01b03163314610bf35760405162461bcd60e51b8152600401610801906118ec565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610c485760405162461bcd60e51b8152600401610801906118ec565b6001600160a01b038116610cad5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610801565b61087881611259565b6001600160a01b038316610d185760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610801565b6001600160a01b038216610d795760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610801565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e3e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610801565b6001600160a01b038216610ea05760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610801565b30600090815260016020526040902054600b5481108015908190610ec55750600b5415155b8015610edb5750600a54600160a01b900460ff16155b8015610ef55750600a546001600160a01b03868116911614155b8015610f0a5750600a54600160a81b900460ff165b15610f1d57600b549150610f1d826113be565b6001600160a01b03851660009081526007602052604090205460ff1680610f5c57506001600160a01b03841660009081526007602052604090205460ff165b80610f675750600854155b15610ff657610fa983604051806060016040528060268152602001611a54602691396001600160a01b0388166000908152600160205260409020549190611120565b6001600160a01b038087166000908152600160205260408082209390935590861681522054610fd8908461114c565b6001600160a01b0385166000908152600160205260409020556110cc565b6008546000906110119061100b866064611465565b90611471565b9050600061101f858361147d565b905061105e85604051806060016040528060268152602001611a54602691396001600160a01b038a166000908152600160205260409020549190611120565b6001600160a01b03808916600090815260016020526040808220939093559088168152205461108d908261114c565b6001600160a01b0387166000908152600160205260408082209290925530815220546110b9908361114c565b3060009081526001602052604090205550505b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161111191815260200190565b60405180910390a35050505050565b600081848411156111445760405162461bcd60e51b81526004016108019190611899565b505050900390565b6000611158828461195d565b9392505050565b6001600160a01b0382166111b55760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610801565b6006546111c2908261114c565b6006556001600160a01b0382166000908152600160205260409020546111e8908261114c565b6001600160a01b038316600090815260016020526040902055600654611210906103e8611465565b600b556040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a35050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0382166113095760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610801565b61134681604051806060016040528060228152602001611a32602291396001600160a01b0385166000908152600160205260409020549190611120565b6001600160a01b03831660009081526001602052604090205560065461136c908261147d565b600681905561137d906103e8611465565b600b556040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200161124d565b600a805460ff60a01b1916600160a01b17905560006113de826002611465565b905060006113ec838361147d565b9050476113f883611489565b6000611404478361147d565b9050611410838261160e565b60408051858152602081018390529081018490527f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619060600160405180910390a15050600a805460ff60a01b19169055505050565b60006111588284611975565b60006111588284611995565b600061115882846119b4565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106114cc57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561152057600080fd5b505afa158015611534573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611558919061170e565b8160018151811061157957634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201015260095461159f9130911684610cb6565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac947906115d8908590600090869030904290600401611921565b600060405180830381600087803b1580156115f257600080fd5b505af1158015611606573d6000803e3d6000fd5b505050505050565b6009546116269030906001600160a01b031684610cb6565b6009546001600160a01b031663f305d71982308560008061164f6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b1580156116b257600080fd5b505af11580156116c6573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906116eb9190611816565b5050505050565b600060208284031215611703578081fd5b813561115881611a1c565b60006020828403121561171f578081fd5b815161115881611a1c565b6000806040838503121561173c578081fd5b823561174781611a1c565b9150602083013561175781611a1c565b809150509250929050565b600080600060608486031215611776578081fd5b833561178181611a1c565b9250602084013561179181611a1c565b929592945050506040919091013590565b600080604083850312156117b4578182fd5b82356117bf81611a1c565b915060208301358015158114611757578182fd5b600080604083850312156117e5578182fd5b82356117f081611a1c565b946020939093013593505050565b60006020828403121561180f578081fd5b5035919050565b60008060006060848603121561182a578283fd5b8351925060208401519150604084015190509250925092565b6000815180845260208085019450808401835b8381101561187b5781516001600160a01b031687529582019590820190600101611856565b509495945050505050565b6020815260006111586020830184611843565b6000602080835283518082850152825b818110156118c5578581018301518582016040015282016118a9565b818111156118d65783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b85815284602082015260a06040820152600061194060a0830186611843565b6001600160a01b0394909416606083015250608001529392505050565b6000821982111561197057611970611a06565b500190565b60008261199057634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156119af576119af611a06565b500290565b6000828210156119c6576119c6611a06565b500390565b600181811c908216806119df57607f821691505b60208210811415611a0057634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461087857600080fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212200d34d4218375278b99ea176b31275b03af091fa9f2941af325e16b2b60b87cad64736f6c63430008040033

Deployed ByteCode Sourcemap

19046:16133:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21242:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;23529:210;;;;;;;;;;-1:-1:-1;23529:210:0;;;;;:::i;:::-;;:::i;:::-;;;4422:14:1;;4415:22;4397:41;;4385:2;4370:18;23529:210:0;4352:92:1;19588:41:0;;;;;;;;;;-1:-1:-1;19588:41:0;;;;-1:-1:-1;;;;;19588:41:0;;;;;;-1:-1:-1;;;;;3335:32:1;;;3317:51;;3305:2;3290:18;19588:41:0;3272:102:1;22341:108:0;;;;;;;;;;-1:-1:-1;22429:12:0;;22341:108;;;9646:25:1;;;9634:2;9619:18;22341:108:0;9601:76:1;24221:454:0;;;;;;;;;;-1:-1:-1;24221:454:0;;;;;:::i;:::-;;:::i;22185:91::-;;;;;;;;;;-1:-1:-1;22259:9:0;;22185:91;;22259:9;;;;10735:36:1;;10723:2;10708:18;22185:91:0;10690:87:1;25084:300:0;;;;;;;;;;-1:-1:-1;25084:300:0;;;;;:::i;:::-;;:::i;31725:133::-;;;;;;;;;;-1:-1:-1;31725:133:0;;;;;:::i;:::-;;:::i;19636:28::-;;;;;;;;;;-1:-1:-1;19636:28:0;;;;-1:-1:-1;;;;;19636:28:0;;;19701:33;;;;;;;;;;-1:-1:-1;19701:33:0;;;;-1:-1:-1;;;19701:33:0;;;;;;32690:124;;;;;;;;;;-1:-1:-1;32690:124:0;;;;;:::i;:::-;-1:-1:-1;;;;;32779:27:0;32755:4;32779:27;;;:18;:27;;;;;;;;;32690:124;35061:109;;;;;;;;;;;;;:::i;:::-;;19551:28;;;;;;;;;;;;;;;;19142:35;;;;;;;;;;;;;;;22512:177;;;;;;;;;;-1:-1:-1;22512:177:0;;;;;:::i;:::-;-1:-1:-1;;;;;22663:18:0;22631:7;22663:18;;;:9;:18;;;;;;;22512:177;5124:94;;;;;;;;;;;;;:::i;20222:24::-;;;;;;;;;;-1:-1:-1;20222:24:0;;;;;:::i;:::-;;:::i;4473:87::-;;;;;;;;;;-1:-1:-1;4519:7:0;4546:6;-1:-1:-1;;;;;4546:6:0;4473:87;;32822:189;;;;;;;;;;-1:-1:-1;32822:189:0;;;;;:::i;:::-;;:::i;21452:95::-;;;;;;;;;;;;;:::i;32343:207::-;;;;;;;;;;-1:-1:-1;32343:207:0;;;;;:::i;:::-;;:::i;32236:99::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;25887:400::-;;;;;;;;;;-1:-1:-1;25887:400:0;;;;;:::i;:::-;;:::i;22902:216::-;;;;;;;;;;-1:-1:-1;22902:216:0;;;;;:::i;:::-;;:::i;20175:40::-;;;;;;;;;;-1:-1:-1;20175:40:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;32118:110;;;;;;;;;;-1:-1:-1;32118:110:0;;;;;:::i;:::-;;:::i;19743:44::-;;;;;;;;;;;;;;;;19184:47;;;;;;;;;;;;19226:5;19184:47;;31866:189;;;;;;;;;;-1:-1:-1;31866:189:0;;;;;:::i;:::-;;:::i;23181:201::-;;;;;;;;;;-1:-1:-1;23181:201:0;;;;;:::i;:::-;-1:-1:-1;;;;;23347:18:0;;;23315:7;23347:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;23181:201;32558:124;;;;;;;;;;-1:-1:-1;32558:124:0;;;;;:::i;:::-;;:::i;5373:192::-;;;;;;;;;;-1:-1:-1;5373:192:0;;;;;:::i;:::-;;:::i;21242:91::-;21287:13;21320:5;21313:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21242:91;:::o;23529:210::-;23648:4;23670:39;3429:10;23693:7;23702:6;23670:8;:39::i;:::-;-1:-1:-1;23727:4:0;23529:210;;;;:::o;24221:454::-;24361:4;24378:36;24388:6;24396:9;24407:6;24378:9;:36::i;:::-;24425:220;24448:6;3429:10;24496:138;24552:6;24496:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;24496:19:0;;;;;;:11;:19;;;;;;;;3429:10;24496:33;;;;;;;;;;:37;:138::i;:::-;24425:8;:220::i;:::-;-1:-1:-1;24663:4:0;24221:454;;;;;:::o;25084:300::-;3429:10;25199:4;25293:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;25293:34:0;;;;;;;;;;25199:4;;25221:133;;25271:7;;25293:50;;25332:10;25293:38;:50::i;31725:133::-;20307:10;31794:4;20298:20;;;:8;:20;;;;;;;;20290:58;;;;-1:-1:-1;;;20290:58:0;;6707:2:1;20290:58:0;;;6689:21:1;6746:2;6726:18;;;6719:30;-1:-1:-1;;;6765:18:1;;;6758:55;6830:18;;20290:58:0;;;;;;;;;31811:17:::1;31817:2;31821:6;31811:5;:17::i;35061:109::-:0;4519:7;4546:6;-1:-1:-1;;;;;4546:6:0;3429:10;4693:23;4685:68;;;;-1:-1:-1;;;4685:68:0;;;;;;;:::i;:::-;4519:7;4546:6;;35114:48:::1;::::0;-1:-1:-1;;;;;4546:6:0;;;;35140:21:::1;35114:48:::0;::::1;;;::::0;35140:21;;35114:48;4519:7;35114:48;35140:21;4546:6;35114:48;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;35061:109::o:0;5124:94::-;4519:7;4546:6;-1:-1:-1;;;;;4546:6:0;3429:10;4693:23;4685:68;;;;-1:-1:-1;;;4685:68:0;;;;;;;:::i;:::-;5189:21:::1;5207:1;5189:9;:21::i;:::-;5124:94::o:0;20222:24::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;20222:24:0;;-1:-1:-1;20222:24:0;:::o;32822:189::-;4519:7;4546:6;-1:-1:-1;;;;;4546:6:0;3429:10;4693:23;4685:68;;;;-1:-1:-1;;;4685:68:0;;;;;;;:::i;:::-;32933:2:::1;32917:13;;:18;32909:52;;;::::0;-1:-1:-1;;;32909:52:0;;8181:2:1;32909:52:0::1;::::0;::::1;8163:21:1::0;8220:2;8200:18;;;8193:30;-1:-1:-1;;;8239:18:1;;;8232:51;8300:18;;32909:52:0::1;8153:171:1::0;32909:52:0::1;32972:13;:31:::0;32822:189::o;21452:95::-;21499:13;21532:7;21525:14;;;;;:::i;32343:207::-;20307:10;32414:4;20298:20;;;:8;:20;;;;;;;;20290:58;;;;-1:-1:-1;;;20290:58:0;;6707:2:1;20290:58:0;;;6689:21:1;6746:2;6726:18;;;6719:30;-1:-1:-1;;;6765:18:1;;;6758:55;6830:18;;20290:58:0;6679:175:1;20290:58:0;-1:-1:-1;;;;;32439:18:0;::::1;32431:59;;;::::0;-1:-1:-1;;;32431:59:0;;7061:2:1;32431:59:0::1;::::0;::::1;7043:21:1::0;7100:2;7080:18;;;7073:30;7139;7119:18;;;7112:58;7187:18;;32431:59:0::1;7033:178:1::0;32431:59:0::1;32501:19;32507:4;32513:6;32501:5;:19::i;32236:99::-:0;32284:16;32320:7;32313:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;32313:14:0;;;;;;;;;;;;;;;;;;;;;;32236:99;:::o;25887:400::-;26007:4;26029:228;3429:10;26079:7;26101:145;26158:15;26101:145;;;;;;;;;;;;;;;;;3429:10;26101:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;26101:34:0;;;;;;;;;;;;:38;:145::i;22902:216::-;23024:4;23046:42;3429:10;23070:9;23081:6;23046:9;:42::i;32118:110::-;4519:7;4546:6;-1:-1:-1;;;;;4546:6:0;3429:10;4693:23;4685:68;;;;-1:-1:-1;;;4685:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;32191:21:0::1;32215:5;32191:21:::0;;;:8:::1;:21;::::0;;;;:29;;-1:-1:-1;;32191:29:0::1;::::0;;32118:110::o;31866:189::-;4519:7;4546:6;-1:-1:-1;;;;;4546:6:0;3429:10;4693:23;4685:68;;;;-1:-1:-1;;;4685:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;31946:25:0;::::1;31938:34;;;::::0;::::1;;-1:-1:-1::0;;;;;31983:21:0::1;;::::0;;;:8:::1;:21;::::0;;;;:28;;-1:-1:-1;;31983:28:0::1;32007:4;31983:28:::0;;::::1;::::0;;;32022:7:::1;:25:::0;;;;::::1;::::0;;;;;;::::1;::::0;;-1:-1:-1;;;;;;32022:25:0::1;::::0;;::::1;::::0;;31866:189::o;32558:124::-;4519:7;4546:6;-1:-1:-1;;;;;4546:6:0;3429:10;4693:23;4685:68;;;;-1:-1:-1;;;4685:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;32639:27:0;;;::::1;;::::0;;;:18:::1;:27;::::0;;;;:35;;-1:-1:-1;;32639:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;32558:124::o;5373:192::-;4519:7;4546:6;-1:-1:-1;;;;;4546:6:0;3429:10;4693:23;4685:68;;;;-1:-1:-1;;;4685:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5462:22:0;::::1;5454:73;;;::::0;-1:-1:-1;;;5454:73:0;;5897:2:1;5454:73:0::1;::::0;::::1;5879:21:1::0;5936:2;5916:18;;;5909:30;5975:34;5955:18;;;5948:62;-1:-1:-1;;;6026:18:1;;;6019:36;6072:19;;5454:73:0::1;5869:228:1::0;5454:73:0::1;5538:19;5548:8;5538:9;:19::i;30529:380::-:0;-1:-1:-1;;;;;30665:19:0;;30657:68;;;;-1:-1:-1;;;30657:68:0;;8937:2:1;30657:68:0;;;8919:21:1;8976:2;8956:18;;;8949:30;9015:34;8995:18;;;8988:62;-1:-1:-1;;;9066:18:1;;;9059:34;9110:19;;30657:68:0;8909:226:1;30657:68:0;-1:-1:-1;;;;;30744:21:0;;30736:68;;;;-1:-1:-1;;;30736:68:0;;6304:2:1;30736:68:0;;;6286:21:1;6343:2;6323:18;;;6316:30;6382:34;6362:18;;;6355:62;-1:-1:-1;;;6433:18:1;;;6426:32;6475:19;;30736:68:0;6276:224:1;30736:68:0;-1:-1:-1;;;;;30817:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;30869:32;;9646:25:1;;;30869:32:0;;9619:18:1;30869:32:0;;;;;;;30529:380;;;:::o;26777:1712::-;-1:-1:-1;;;;;26917:20:0;;26909:70;;;;-1:-1:-1;;;26909:70:0;;8531:2:1;26909:70:0;;;8513:21:1;8570:2;8550:18;;;8543:30;8609:34;8589:18;;;8582:62;-1:-1:-1;;;8660:18:1;;;8653:35;8705:19;;26909:70:0;8503:227:1;26909:70:0;-1:-1:-1;;;;;26998:23:0;;26990:71;;;;-1:-1:-1;;;26990:71:0;;5493:2:1;26990:71:0;;;5475:21:1;5532:2;5512:18;;;5505:30;5571:34;5551:18;;;5544:62;-1:-1:-1;;;5622:18:1;;;5615:33;5665:19;;26990:71:0;5465:225:1;26990:71:0;27183:4;27134:28;22663:18;;;:9;:18;;;;;;27266:29;;27229:66;;;;;;;27324:70;;-1:-1:-1;27360:29:0;;:34;;27324:70;:104;;;;-1:-1:-1;27412:16:0;;-1:-1:-1;;;27412:16:0;;;;27411:17;27324:104;:144;;;;-1:-1:-1;27455:13:0;;-1:-1:-1;;;;;27445:23:0;;;27455:13;;27445:23;;27324:144;:182;;;;-1:-1:-1;27485:21:0;;-1:-1:-1;;;27485:21:0;;;;27324:182;27306:372;;;27586:29;;27563:52;;27630:36;27645:20;27630:14;:36::i;:::-;-1:-1:-1;;;;;27702:26:0;;;;;;:18;:26;;;;;;;;;:59;;-1:-1:-1;;;;;;27732:29:0;;;;;;:18;:29;;;;;;;;27702:59;:81;;;-1:-1:-1;27765:13:0;;:18;27702:81;27698:731;;;27862:71;27884:6;27862:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;27862:17:0;;;;;;:9;:17;;;;;;;:71;:21;:71::i;:::-;-1:-1:-1;;;;;27842:17:0;;;;;;;:9;:17;;;;;;:91;;;;27971:20;;;;;;;:32;;27996:6;27971:24;:32::i;:::-;-1:-1:-1;;;;;27948:20:0;;;;;;:9;:20;;;;;:55;27698:731;;;28076:13;;28036:17;;28056:34;;:15;:6;28067:3;28056:10;:15::i;:::-;:19;;:34::i;:::-;28036:54;-1:-1:-1;28105:21:0;28129;:6;28036:54;28129:10;:21::i;:::-;28105:45;;28185:71;28207:6;28185:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;28185:17:0;;;;;;:9;:17;;;;;;;:71;:21;:71::i;:::-;-1:-1:-1;;;;;28165:17:0;;;;;;;:9;:17;;;;;;:91;;;;28294:20;;;;;;;:39;;28319:13;28294:24;:39::i;:::-;-1:-1:-1;;;;;28271:20:0;;;;;;:9;:20;;;;;;:62;;;;28393:4;28375:24;;;;:39;;28404:9;28375:28;:39::i;:::-;28366:4;28348:24;;;;:9;:24;;;;;:66;-1:-1:-1;;27698:731:0;28463:9;-1:-1:-1;;;;;28446:35:0;28455:6;-1:-1:-1;;;;;28446:35:0;;28474:6;28446:35;;;;9646:25:1;;9634:2;9619:18;;9601:76;28446:35:0;;;;;;;;26777:1712;;;;;:::o;10735:240::-;10855:7;10916:12;10908:6;;;;10900:29;;;;-1:-1:-1;;;10900:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;10951:5:0;;;10735:240::o;8456:98::-;8514:7;8541:5;8545:1;8541;:5;:::i;:::-;8534:12;8456:98;-1:-1:-1;;;8456:98:0:o;28771:455::-;-1:-1:-1;;;;;28855:21:0;;28847:65;;;;-1:-1:-1;;;28847:65:0;;9342:2:1;28847:65:0;;;9324:21:1;9381:2;9361:18;;;9354:30;9420:33;9400:18;;;9393:61;9471:18;;28847:65:0;9314:181:1;28847:65:0;29002:12;;:24;;29019:6;29002:16;:24::i;:::-;28987:12;:39;-1:-1:-1;;;;;29058:18:0;;;;;;:9;:18;;;;;;:30;;29081:6;29058:22;:30::i;:::-;-1:-1:-1;;;;;29037:18:0;;;;;;:9;:18;;;;;:51;29133:12;;:22;;29150:4;29133:16;:22::i;:::-;29101:29;:54;29181:37;;9646:25:1;;;-1:-1:-1;;;;;29181:37:0;;;29198:1;;29181:37;;9634:2:1;9619:18;29181:37:0;;;;;;;;28771:455;;:::o;5573:173::-;5629:16;5648:6;;-1:-1:-1;;;;;5665:17:0;;;-1:-1:-1;;;;;;5665:17:0;;;;;;5698:40;;5648:6;;;;;;;5698:40;;5629:16;5698:40;5573:173;;:::o;29559:532::-;-1:-1:-1;;;;;29643:21:0;;29635:67;;;;-1:-1:-1;;;29635:67:0;;7779:2:1;29635:67:0;;;7761:21:1;7818:2;7798:18;;;7791:30;7857:34;7837:18;;;7830:62;-1:-1:-1;;;7908:18:1;;;7901:31;7949:19;;29635:67:0;7751:223:1;29635:67:0;29798:105;29835:6;29798:105;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;29798:18:0;;;;;;:9;:18;;;;;;;:105;:22;:105::i;:::-;-1:-1:-1;;;;;29777:18:0;;;;;;:9;:18;;;;;:126;29929:12;;:24;;29946:6;29929:16;:24::i;:::-;29914:12;:39;;;29998:22;;30015:4;29998:16;:22::i;:::-;29966:29;:54;30046:37;;9646:25:1;;;30072:1:0;;-1:-1:-1;;;;;30046:37:0;;;;;9634:2:1;9619:18;30046:37:0;9601:76:1;33019:907:0;20089:16;:23;;-1:-1:-1;;;;20089:23:0;-1:-1:-1;;;20089:23:0;;;;33170:27:::1;:20:::0;33195:1:::1;33170:24;:27::i;:::-;33155:42:::0;-1:-1:-1;33208:17:0::1;33228:30;:20:::0;33155:42;33228:24:::1;:30::i;:::-;33208:50:::0;-1:-1:-1;33561:21:0::1;33627:22;33644:4:::0;33627:16:::1;:22::i;:::-;33710:18;33731:41;:21;33757:14:::0;33731:25:::1;:41::i;:::-;33710:62;;33822:35;33835:9;33846:10;33822:12;:35::i;:::-;33875:43;::::0;;10471:25:1;;;10527:2;10512:18;;10505:34;;;10555:18;;;10548:34;;;33875:43:0::1;::::0;10459:2:1;10444:18;33875:43:0::1;;;;;;;-1:-1:-1::0;;20135:16:0;:24;;-1:-1:-1;;;;20135:24:0;;;-1:-1:-1;;;33019:907:0:o;9593:98::-;9651:7;9678:5;9682:1;9678;:5;:::i;9194:98::-;9252:7;9279:5;9283:1;9279;:5;:::i;8837:98::-;8895:7;8922:5;8926:1;8922;:5;:::i;33934:589::-;34084:16;;;34098:1;34084:16;;;;;;;;34060:21;;34084:16;;;;;;;;;;-1:-1:-1;34084:16:0;34060:40;;34129:4;34111;34116:1;34111:7;;;;;;-1:-1:-1;;;34111:7:0;;;;;;;;;-1:-1:-1;;;;;34111:23:0;;;:7;;;;;;;;;;:23;;;;34155:15;;:22;;;-1:-1:-1;;;34155:22:0;;;;:15;;;;;:20;;:22;;;;;34111:7;;34155:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;34145:4;34150:1;34145:7;;;;;;-1:-1:-1;;;34145:7:0;;;;;;;;;-1:-1:-1;;;;;34145:32:0;;;:7;;;;;;;;;:32;34222:15;;34190:62;;34207:4;;34222:15;34240:11;34190:8;:62::i;:::-;34291:15;;:224;;-1:-1:-1;;;34291:224:0;;-1:-1:-1;;;;;34291:15:0;;;;:66;;:224;;34372:11;;34291:15;;34442:4;;34469;;34489:15;;34291:224;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;33934:589;;:::o;34531:522::-;34711:15;;34679:62;;34696:4;;-1:-1:-1;;;;;34711:15:0;34729:11;34679:8;:62::i;:::-;34784:15;;-1:-1:-1;;;;;34784:15:0;:31;34823:9;34856:4;34876:11;34784:15;;34996:7;4519;4546:6;-1:-1:-1;;;;;4546:6:0;;4473:87;34996:7;34784:261;;;;;;-1:-1:-1;;;;;;34784:261:0;;;-1:-1:-1;;;;;3738:15:1;;;34784:261:0;;;3720:34:1;3770:18;;;3763:34;;;;3813:18;;;3806:34;;;;3856:18;;;3849:34;3920:15;;;3899:19;;;3892:44;35019:15:0;3952:19:1;;;3945:35;3654:19;;34784:261:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;34531:522;;:::o;14:257:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:2;;;147:6;139;132:22;94:2;191:9;178:23;210:31;235:5;210:31;:::i;276:261::-;346:6;399:2;387:9;378:7;374:23;370:32;367:2;;;420:6;412;405:22;367:2;457:9;451:16;476:31;501:5;476:31;:::i;542:398::-;610:6;618;671:2;659:9;650:7;646:23;642:32;639:2;;;692:6;684;677:22;639:2;736:9;723:23;755:31;780:5;755:31;:::i;:::-;805:5;-1:-1:-1;862:2:1;847:18;;834:32;875:33;834:32;875:33;:::i;:::-;927:7;917:17;;;629:311;;;;;:::o;945:466::-;1022:6;1030;1038;1091:2;1079:9;1070:7;1066:23;1062:32;1059:2;;;1112:6;1104;1097:22;1059:2;1156:9;1143:23;1175:31;1200:5;1175:31;:::i;:::-;1225:5;-1:-1:-1;1282:2:1;1267:18;;1254:32;1295:33;1254:32;1295:33;:::i;:::-;1049:362;;1347:7;;-1:-1:-1;;;1401:2:1;1386:18;;;;1373:32;;1049:362::o;1416:436::-;1481:6;1489;1542:2;1530:9;1521:7;1517:23;1513:32;1510:2;;;1563:6;1555;1548:22;1510:2;1607:9;1594:23;1626:31;1651:5;1626:31;:::i;:::-;1676:5;-1:-1:-1;1733:2:1;1718:18;;1705:32;1775:15;;1768:23;1756:36;;1746:2;;1811:6;1803;1796:22;1857:325;1925:6;1933;1986:2;1974:9;1965:7;1961:23;1957:32;1954:2;;;2007:6;1999;1992:22;1954:2;2051:9;2038:23;2070:31;2095:5;2070:31;:::i;:::-;2120:5;2172:2;2157:18;;;;2144:32;;-1:-1:-1;;;1944:238:1:o;2187:190::-;2246:6;2299:2;2287:9;2278:7;2274:23;2270:32;2267:2;;;2320:6;2312;2305:22;2267:2;-1:-1:-1;2348:23:1;;2257:120;-1:-1:-1;2257:120:1:o;2382:316::-;2470:6;2478;2486;2539:2;2527:9;2518:7;2514:23;2510:32;2507:2;;;2560:6;2552;2545:22;2507:2;2594:9;2588:16;2578:26;;2644:2;2633:9;2629:18;2623:25;2613:35;;2688:2;2677:9;2673:18;2667:25;2657:35;;2497:201;;;;;:::o;2703:463::-;2756:3;2794:5;2788:12;2821:6;2816:3;2809:19;2847:4;2876:2;2871:3;2867:12;2860:19;;2913:2;2906:5;2902:14;2934:3;2946:195;2960:6;2957:1;2954:13;2946:195;;;3025:13;;-1:-1:-1;;;;;3021:39:1;3009:52;;3081:12;;;;3116:15;;;;3057:1;2975:9;2946:195;;;-1:-1:-1;3157:3:1;;2764:402;-1:-1:-1;;;;;2764:402:1:o;3991:261::-;4170:2;4159:9;4152:21;4133:4;4190:56;4242:2;4231:9;4227:18;4219:6;4190:56;:::i;4683:603::-;4795:4;4824:2;4853;4842:9;4835:21;4885:6;4879:13;4928:6;4923:2;4912:9;4908:18;4901:34;4953:4;4966:140;4980:6;4977:1;4974:13;4966:140;;;5075:14;;;5071:23;;5065:30;5041:17;;;5060:2;5037:26;5030:66;4995:10;;4966:140;;;5124:6;5121:1;5118:13;5115:2;;;5194:4;5189:2;5180:6;5169:9;5165:22;5161:31;5154:45;5115:2;-1:-1:-1;5270:2:1;5249:15;-1:-1:-1;;5245:29:1;5230:45;;;;5277:2;5226:54;;4804:482;-1:-1:-1;;;4804:482:1:o;7216:356::-;7418:2;7400:21;;;7437:18;;;7430:30;7496:34;7491:2;7476:18;;7469:62;7563:2;7548:18;;7390:182::o;9682:582::-;9981:6;9970:9;9963:25;10024:6;10019:2;10008:9;10004:18;9997:34;10067:3;10062:2;10051:9;10047:18;10040:31;9944:4;10088:57;10140:3;10129:9;10125:19;10117:6;10088:57;:::i;:::-;-1:-1:-1;;;;;10181:32:1;;;;10176:2;10161:18;;10154:60;-1:-1:-1;10245:3:1;10230:19;10223:35;10080:65;9953:311;-1:-1:-1;;;9953:311:1:o;10782:128::-;10822:3;10853:1;10849:6;10846:1;10843:13;10840:2;;;10859:18;;:::i;:::-;-1:-1:-1;10895:9:1;;10830:80::o;10915:217::-;10955:1;10981;10971:2;;-1:-1:-1;;;11006:31:1;;11060:4;11057:1;11050:15;11088:4;11013:1;11078:15;10971:2;-1:-1:-1;11117:9:1;;10961:171::o;11137:168::-;11177:7;11243:1;11239;11235:6;11231:14;11228:1;11225:21;11220:1;11213:9;11206:17;11202:45;11199:2;;;11250:18;;:::i;:::-;-1:-1:-1;11290:9:1;;11189:116::o;11310:125::-;11350:4;11378:1;11375;11372:8;11369:2;;;11383:18;;:::i;:::-;-1:-1:-1;11420:9:1;;11359:76::o;11440:380::-;11519:1;11515:12;;;;11562;;;11583:2;;11637:4;11629:6;11625:17;11615:27;;11583:2;11690;11682:6;11679:14;11659:18;11656:38;11653:2;;;11736:10;11731:3;11727:20;11724:1;11717:31;11771:4;11768:1;11761:15;11799:4;11796:1;11789:15;11653:2;;11495:325;;;:::o;11825:127::-;11886:10;11881:3;11877:20;11874:1;11867:31;11917:4;11914:1;11907:15;11941:4;11938:1;11931:15;11957:131;-1:-1:-1;;;;;12032:31:1;;12022:42;;12012:2;;12078:1;12075;12068:12

Metadata Hash

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