ETH Price: $3,265.92 (+4.06%)

Token

Bonfire (FIRE)

Overview

Max Total Supply

100,000,000 FIRE

Holders

4

Market

Price

$0.00 @ 0.000000 ETH

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
388.650631797574087839 FIRE

Value
$0.00
0xbb62d22c55430bed86f18da8fc0e2923568fc90a
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.

Contract Source Code Verified (Exact Match)

Contract Name:
Bonfire

Compiler Version
v0.8.17-1.0.1

ZkSolc Version
v1.5.7

Optimization Enabled:
Yes with Mode 3

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at abscan.org on 2025-01-29
*/

// SPDX-License-Identifier: MIT
pragma solidity 0.8.17;
pragma experimental ABIEncoderV2;

/**
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. This is a cut-down version of OpenZeppelin's Context.
 */
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 module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use.
 */
abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _transferOwnership(_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 current owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Leaves the contract without owner. After calling, it will not be possible
     * to call `onlyOwner` functions. Can only be called by the current owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    /**
     * @dev Transfers ownership of the contract to `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");
        _transferOwnership(newOwner);
    }

    /**
     * @dev Internal logic for transferring ownership.
     */
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}


////// lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol
// OpenZeppelin Contracts v4.4.0 (token/ERC20/IERC20.sol)

/* pragma solidity ^0.8.0; */

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

////// lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol
// OpenZeppelin Contracts v4.4.0 (token/ERC20/extensions/IERC20Metadata.sol)

/* pragma solidity ^0.8.0; */

/* import "../IERC20.sol"; */

/**
 * @dev Interface for the optional metadata functions from the ERC20 standard.
 *
 * _Available since v4.1._
 */
interface IERC20Metadata is IERC20 {
    /**
     * @dev Returns the name of the token.
     */
    function name() external view returns (string memory);

    /**
     * @dev Returns the symbol of the token.
     */
    function symbol() external view returns (string memory);

    /**
     * @dev Returns the decimals places of the token.
     */
    function decimals() external view returns (uint8);
}

/**
 * @dev Implementation of the {IERC20} interface.
 *
 * This implementation is agnostic to the way tokens are created. This means
 * that a supply mechanism has to be added in a derived contract using {_mint}.
 * For a generic mechanism see {ERC20PresetMinterPauser}.
 *
 * TIP: For a detailed writeup see our guide
 * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How
 * to implement supply mechanisms].
 *
 * We have followed general OpenZeppelin Contracts guidelines: functions revert
 * instead returning `false` on failure. This behavior is nonetheless
 * conventional and does not conflict with the expectations of ERC20
 * applications.
 *
 * Additionally, an {Approval} event is emitted on calls to {transferFrom}.
 * This allows applications to reconstruct the allowance for all accounts just
 * by listening to said events. Other implementations of the EIP may not emit
 * these events, as it isn't required by the specification.
 *
 * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}
 * functions have been added to mitigate the well-known issues around setting
 * allowances. See {IERC20-approve}.
 */
contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    /**
     * @dev Sets the values for {name} and {symbol}.
     *
     * The default value of {decimals} is 18. To select a different value for
     * {decimals} you should overload it.
     *
     * All two of these values are immutable: they can only be set once during
     * construction.
     */
    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

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

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view virtual override 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 this function is
     * overridden;
     *
     * 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 override returns (uint8) {
        return 18;
    }

    /**
     * @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);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        unchecked {
            _approve(sender, _msgSender(), currentAllowance - amount);
        }

        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] + 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) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    /**
     * @dev Moves `amount` of tokens from `sender` to `recipient`.
     *
     * This 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 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);

        _afterTokenTransfer(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:
     *
     * - `account` 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 += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);

        _afterTokenTransfer(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);

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
        }
        _totalSupply -= amount;

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

        _afterTokenTransfer(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 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 {}

    /**
     * @dev Hook that is called after any transfer of tokens. This includes
     * minting and burning.
     *
     * Calling conditions:
     *
     * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens
     * has been transferred to `to`.
     * - when `from` is zero, `amount` tokens have been minted for `to`.
     * - when `to` is zero, `amount` of ``from``'s tokens have been 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 _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

/**
 * @dev Wrappers over Solidity's arithmetic operations.
 *
 * NOTE: `SafeMath` is generally not needed starting with Solidity 0.8, since 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 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;
}

////// src/IUniswapV2Pair.sol
/* pragma solidity 0.8.10; */
/* pragma experimental ABIEncoderV2; */

interface IUniswapV2Pair {
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
    event Transfer(address indexed from, address indexed to, uint256 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 (uint256);

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

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

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

    function transfer(address to, uint256 value) external returns (bool);

    function transferFrom(
        address from,
        address to,
        uint256 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 (uint256);

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

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

    function MINIMUM_LIQUIDITY() external pure returns (uint256);

    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 (uint256);

    function price1CumulativeLast() external view returns (uint256);

    function kLast() external view returns (uint256);

    function mint(address to) external returns (uint256 liquidity);

    function burn(address to)
        external
        returns (uint256 amount0, uint256 amount1);

    function swap(
        uint256 amount0Out,
        uint256 amount1Out,
        address to,
        bytes calldata data
    ) external;

    function skim(address to) external;

    function sync() external;

    function initialize(address, address) external;
}

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

contract Bonfire is ERC20, Ownable {
    using SafeMath for uint256;

    IUniswapV2Router02 public immutable uniswapV2Router;
    address public immutable uniswapV2Pair;
    address public constant deadAddress = address(0xdead);

    bool private swapping;

    address public revShareWallet;
    address public teamWallet;

    uint256 public maxTransactionAmount;
    uint256 public swapTokensAtAmount;
    uint256 public maxWallet;

    bool public limitsInEffect = true;
    bool public tradingActive = false;
    bool public swapEnabled = false;

    bool public blacklistRenounced = false;

    // Anti-bot and anti-whale
    mapping(address => bool) blacklisted;

    uint256 public buyTotalFees;
    uint256 public buyRevShareFee;
    uint256 public buyLiquidityFee;
    uint256 public buyTeamFee;

    uint256 public sellTotalFees;
    uint256 public sellRevShareFee;
    uint256 public sellLiquidityFee;
    uint256 public sellTeamFee;

    uint256 public tokensForRevShare;
    uint256 public tokensForLiquidity;
    uint256 public tokensForTeam;

    // Exclusions from fees & max TX
    mapping(address => bool) private _isExcludedFromFees;
    mapping(address => bool) public _isExcludedMaxTransactionAmount;

    // Automated Market Maker pairs
    mapping(address => bool) public automatedMarketMakerPairs;

    bool public preMigrationPhase = true;
    mapping(address => bool) public preMigrationTransferrable;
    mapping(address => bool) public approvedMinter;

    event UpdateUniswapV2Router(address indexed newAddress, address indexed oldAddress);
    event ExcludeFromFees(address indexed account, bool isExcluded);
    event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value);
    event revShareWalletUpdated(address indexed newWallet, address indexed oldWallet);
    event teamWalletUpdated(address indexed newWallet, address indexed oldWallet);
    event SwapAndLiquify(uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiquidity);

    constructor() ERC20("Bonfire", "FIRE") {
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(
            0xad1eCa41E6F772bE3cb5A48A6141f9bcc1AF9F7c
        );

        excludeFromMaxTransaction(address(_uniswapV2Router), true);
        uniswapV2Router = _uniswapV2Router;

        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        excludeFromMaxTransaction(address(uniswapV2Pair), true);
        _setAutomatedMarketMakerPair(address(uniswapV2Pair), true);

        uint256 _buyRevShareFee = 0;
        uint256 _buyLiquidityFee = 1;
        uint256 _buyTeamFee = 1;

        uint256 _sellRevShareFee = 1;
        uint256 _sellLiquidityFee = 1;
        uint256 _sellTeamFee = 3;

        uint256 totalSupply = 100_000_000 * 1e18;

        maxTransactionAmount = 1_000_000 * 1e18; // 1%
        maxWallet = 10_000 * 1e18;              // 1%
        swapTokensAtAmount = (totalSupply * 5) / 10000; // 0.05%

        buyRevShareFee = _buyRevShareFee;
        buyLiquidityFee = _buyLiquidityFee;
        buyTeamFee = _buyTeamFee;
        buyTotalFees = buyRevShareFee + buyLiquidityFee + buyTeamFee;

        sellRevShareFee = _sellRevShareFee;
        sellLiquidityFee = _sellLiquidityFee;
        sellTeamFee = _sellTeamFee;
        sellTotalFees = sellRevShareFee + sellLiquidityFee + sellTeamFee;

        revShareWallet = address(0xA4EC345C71106Dd7e7315404DeE0B77120711C94);
        teamWallet = owner();

        // exclude from paying fees or having max transaction
        excludeFromFees(owner(), true);
        excludeFromFees(address(this), true);
        excludeFromFees(address(0xdead), true);

        excludeFromMaxTransaction(owner(), true);
        excludeFromMaxTransaction(address(this), true);
        excludeFromMaxTransaction(address(0xdead), true);

        preMigrationTransferrable[owner()] = true;

        _mint(msg.sender, totalSupply);
        tradingActive = true;
        swapEnabled = true;
        preMigrationPhase = false;
        limitsInEffect = false;
    }

    function mint(address _to, uint _amount) public {
        require(msg.sender == owner() || approvedMinter[msg.sender] == true);
        _mint(_to, _amount);
    }

    function setMinter(address _minter, bool _bool) public onlyOwner {
        approvedMinter[_minter] = _bool;
    }

    receive() external payable {}

    function excludeFromMaxTransaction(address updAds, bool isEx)
        public
        onlyOwner
    {
        _isExcludedMaxTransactionAmount[updAds] = isEx;
    }

    function updateSwapTokensAtAmount(uint256 newAmount)
        external
        onlyOwner
        returns (bool)
    {
        require(
            newAmount >= (totalSupply() * 1) / 100000,
            "Swap amt cannot be < 0.001% total supply."
        );
        require(
            newAmount <= (totalSupply() * 5) / 1000,
            "Swap amt cannot be > 0.5% total supply."
        );
        swapTokensAtAmount = newAmount;
        return true;
    }

    // Only use if absolutely needed
    function updateSwapEnabled(bool enabled) external onlyOwner {
        swapEnabled = enabled;
    }

    function updateBuyFees(
        uint256 _revShareFee,
        uint256 _liquidityFee,
        uint256 _teamFee
    ) external onlyOwner {
        buyRevShareFee = _revShareFee;
        buyLiquidityFee = _liquidityFee;
        buyTeamFee = _teamFee;
        buyTotalFees = buyRevShareFee + buyLiquidityFee + buyTeamFee;
        require(buyTotalFees <= 5, "Buy fees must be <= 5.");
    }

    function updateSellFees(
        uint256 _revShareFee,
        uint256 _liquidityFee,
        uint256 _teamFee
    ) external onlyOwner {
        sellRevShareFee = _revShareFee;
        sellLiquidityFee = _liquidityFee;
        sellTeamFee = _teamFee;
        sellTotalFees = sellRevShareFee + sellLiquidityFee + sellTeamFee;
        require(sellTotalFees <= 5, "Sell fees must be <= 5.");
    }

    function excludeFromFees(address account, bool excluded) 
        public onlyOwner 
    {
        _isExcludedFromFees[account] = excluded;
        emit ExcludeFromFees(account, excluded);
    }

    function setAutomatedMarketMakerPair(
        address pair, 
        bool value
    ) public onlyOwner {
        require(
            pair != uniswapV2Pair,
            "Cannot remove main pair"
        );
        _setAutomatedMarketMakerPair(pair, value);
    }

    function _setAutomatedMarketMakerPair(address pair, bool value) private {
        automatedMarketMakerPairs[pair] = value;
        emit SetAutomatedMarketMakerPair(pair, value);
    }

    function updateRevShareWallet(address newRevShareWallet) 
        external onlyOwner 
    {
        emit revShareWalletUpdated(newRevShareWallet, revShareWallet);
        revShareWallet = newRevShareWallet;
    }

    function updateTeamWallet(address newWallet) external onlyOwner {
        emit teamWalletUpdated(newWallet, teamWallet);
        teamWallet = newWallet;
    }

    function isExcludedFromFees(address account) 
        public view returns (bool) 
    {
        return _isExcludedFromFees[account];
    }

    function isBlacklisted(address account) 
        public view returns (bool) 
    {
        return blacklisted[account];
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal override 
    {
        require(from != address(0), "ERC20: xfer from zero");
        require(to != address(0), "ERC20: xfer to zero");
        require(!blacklisted[from], "Sender blacklisted");
        require(!blacklisted[to],   "Receiver blacklisted");

        if (amount == 0) {
            super._transfer(from, to, 0);
            return;
        }

        if (limitsInEffect) {
            if (
                from != owner() &&
                to != owner() &&
                to != address(0) &&
                to != address(0xdead) &&
                !swapping
            ) {
                if (!tradingActive) {
                    require(
                        _isExcludedFromFees[from] || 
                        _isExcludedFromFees[to],
                        "Trading not active."
                    );
                }

                // buy
                if (
                    automatedMarketMakerPairs[from] &&
                    !_isExcludedMaxTransactionAmount[to]
                ) {
                    require(
                        amount <= maxTransactionAmount,
                        "Buy > maxTransactionAmount"
                    );
                    require(
                        amount + balanceOf(to) <= maxWallet,
                        "Max wallet exceeded"
                    );
                }
                // sell
                else if (
                    automatedMarketMakerPairs[to] &&
                    !_isExcludedMaxTransactionAmount[from]
                ) {
                    require(
                        amount <= maxTransactionAmount,
                        "Sell > maxTransactionAmount"
                    );
                } else if (!_isExcludedMaxTransactionAmount[to]) {
                    require(
                        amount + balanceOf(to) <= maxWallet,
                        "Max wallet exceeded"
                    );
                }
            }
        }

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

        if (
            canSwap &&
            swapEnabled &&
            !swapping &&
            !automatedMarketMakerPairs[from] &&
            !_isExcludedFromFees[from] &&
            !_isExcludedFromFees[to]
        ) {
            swapping = true;
            swapBack();
            swapping = false;
        }

        bool takeFee = !swapping;
        if (_isExcludedFromFees[from] || _isExcludedFromFees[to]) {
            takeFee = false;
        }

        uint256 fees = 0;
        if (takeFee) {
            // sell
            if (automatedMarketMakerPairs[to] && sellTotalFees > 0) {
                fees = amount.mul(sellTotalFees).div(100);
                tokensForLiquidity += (fees * sellLiquidityFee) / sellTotalFees;
                tokensForTeam += (fees * sellTeamFee) / sellTotalFees;
                tokensForRevShare += (fees * sellRevShareFee) / sellTotalFees;
            } 
            // buy
            else if (automatedMarketMakerPairs[from] && buyTotalFees > 0) {
                fees = amount.mul(buyTotalFees).div(100);
                tokensForLiquidity += (fees * buyLiquidityFee) / buyTotalFees;
                tokensForTeam += (fees * buyTeamFee) / buyTotalFees;
                tokensForRevShare += (fees * buyRevShareFee) / buyTotalFees;
            }

            if (fees > 0) {
                super._transfer(from, address(this), fees);
            }
            amount -= fees;
        }

        super._transfer(from, to, amount);
    }

    function swapTokensForEth(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

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

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

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0,
            0,
            owner(),
            block.timestamp
        );
    }

    function swapBack() private {
        uint256 contractBalance = balanceOf(address(this));
        uint256 totalTokensToSwap = tokensForLiquidity + tokensForRevShare + tokensForTeam;
        if (contractBalance == 0 || totalTokensToSwap == 0) {
            return;
        }
        if (contractBalance > swapTokensAtAmount * 20) {
            contractBalance = swapTokensAtAmount * 20;
        }

        // half for liquidity
        uint256 liquidityTokens = (contractBalance * tokensForLiquidity) /
            totalTokensToSwap / 2;
        uint256 amountToSwapForETH = contractBalance.sub(liquidityTokens);

        uint256 initialETHBalance = address(this).balance;
        swapTokensForEth(amountToSwapForETH);
        uint256 ethBalance = address(this).balance.sub(initialETHBalance);

        uint256 ethForRevShare = ethBalance.mul(tokensForRevShare).div(
            totalTokensToSwap - (tokensForLiquidity / 2)
        );
        uint256 ethForTeam = ethBalance.mul(tokensForTeam).div(
            totalTokensToSwap - (tokensForLiquidity / 2)
        );
        uint256 ethForLiquidity = ethBalance - ethForRevShare - ethForTeam;

        tokensForLiquidity = 0;
        tokensForRevShare = 0;
        tokensForTeam = 0;

        (bool success, ) = address(teamWallet).call{value: ethForTeam}("");
        if (liquidityTokens > 0 && ethForLiquidity > 0) {
            addLiquidity(liquidityTokens, ethForLiquidity);
            emit SwapAndLiquify(
                amountToSwapForETH,
                ethForLiquidity,
                tokensForLiquidity
            );
        }
        (success, ) = address(revShareWallet).call{value: address(this).balance}("");
    }

    function withdrawStuckBonfire() external onlyOwner {
        uint256 balance_ = IERC20(address(this)).balanceOf(address(this));
        IERC20(address(this)).transfer(msg.sender, balance_);

        // Replaced `payable(msg.sender).transfer(...)`
        (bool success, ) = payable(msg.sender).call{value: address(this).balance}("");
        require(success, "Transfer failed");
    }

    function withdrawStuckToken(address _token, address _to) 
        external 
        onlyOwner 
    {
        require(_token != address(0), "_token cannot be 0");
        uint256 _contractBalance = IERC20(_token).balanceOf(address(this));
        IERC20(_token).transfer(_to, _contractBalance);
    }

    // Now uses .call for leftover ETH
    function withdrawStuckEth(address toAddr) external onlyOwner {
        (bool success, ) = toAddr.call{value: address(this).balance}("");
        require(success, "Transfer failed");
    }

    function renounceBlacklist() public onlyOwner {
        blacklistRenounced = true;
    }

    function blacklist(address _addr) public onlyOwner {
        require(!blacklistRenounced, "Team has revoked blacklist rights");
        require(
            _addr != address(uniswapV2Pair) && 
            _addr != address(0xad1eCa41E6F772bE3cb5A48A6141f9bcc1AF9F7c),
            "Cannot blacklist token's v2 router or v2 pool"
        );
        blacklisted[_addr] = true;
    }

    function blacklistLiquidityPool(address lpAddress) public onlyOwner {
        require(!blacklistRenounced, "Team has revoked blacklist rights");
        require(
            lpAddress != address(uniswapV2Pair) && 
            lpAddress != address(0xad1eCa41E6F772bE3cb5A48A6141f9bcc1AF9F7c),
            "Cannot blacklist token's v2 router or v2 pool"
        );
        blacklisted[lpAddress] = true;
    }

    function unblacklist(address _addr) public onlyOwner {
        blacklisted[_addr] = false;
    }

    function setPreMigrationTransferable(address _addr, bool isAuthorized) 
        public onlyOwner 
    {
        preMigrationTransferrable[_addr] = isAuthorized;
        excludeFromFees(_addr, isAuthorized);
        excludeFromMaxTransaction(_addr, isAuthorized);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExcluded","type":"bool"}],"name":"ExcludeFromFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","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":"tokensIntoLiquidity","type":"uint256"}],"name":"SwapAndLiquify","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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAddress","type":"address"},{"indexed":true,"internalType":"address","name":"oldAddress","type":"address"}],"name":"UpdateUniswapV2Router","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newWallet","type":"address"},{"indexed":true,"internalType":"address","name":"oldWallet","type":"address"}],"name":"revShareWalletUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newWallet","type":"address"},{"indexed":true,"internalType":"address","name":"oldWallet","type":"address"}],"name":"teamWalletUpdated","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedMaxTransactionAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"","type":"address"}],"name":"approvedMinter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"_addr","type":"address"}],"name":"blacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"lpAddress","type":"address"}],"name":"blacklistLiquidityPool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"blacklistRenounced","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyRevShareFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTeamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"updAds","type":"address"},{"internalType":"bool","name":"isEx","type":"bool"}],"name":"excludeFromMaxTransaction","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":"isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransactionAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"mint","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":[],"name":"preMigrationPhase","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"preMigrationTransferrable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceBlacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"revShareWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellRevShareFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTeamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTotalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_minter","type":"address"},{"internalType":"bool","name":"_bool","type":"bool"}],"name":"setMinter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"},{"internalType":"bool","name":"isAuthorized","type":"bool"}],"name":"setPreMigrationTransferable","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"teamWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForRevShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForTeam","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"unblacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_revShareFee","type":"uint256"},{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_teamFee","type":"uint256"}],"name":"updateBuyFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newRevShareWallet","type":"address"}],"name":"updateRevShareWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_revShareFee","type":"uint256"},{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_teamFee","type":"uint256"}],"name":"updateSellFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enabled","type":"bool"}],"name":"updateSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"updateSwapTokensAtAmount","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"updateTeamWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawStuckBonfire","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"toAddr","type":"address"}],"name":"withdrawStuckEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_to","type":"address"}],"name":"withdrawStuckToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

9c4d535b00000000000000000000000000000000000000000000000000000000000000000100058b783dec6376e52e2604692931b43de22280e040b4f4ad529aa249e7fc00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x00040000000000020007000000000002000000000401034f0000006003100270000004ba0130019700030000001403550002000000040355000004ba0030019d0000000100200190000000490000c13d0000008002000039000000400020043f000000040010008c000000680000413d000000000204043b000000e002200270000004e00020009c000000930000a13d000004e10020009c000000aa0000213d000004f90020009c000001190000213d000005050020009c000001d90000213d0000050b0020009c000002de0000213d0000050e0020009c000004c10000613d0000050f0020009c00000aea0000c13d000000640010008c00000aea0000413d0000000001000416000000000001004b00000aea0000c13d0000004401400370000000000101043b0000000502000039000000000202041a000004c1022001970000000003000411000000000032004b000005d30000c13d0000002402400370000000000202043b0000000403400370000000000303043b0000000e04000039000000000034041b0000000f04000039000000000024041b0000001004000039000000000014041b000000000023001a00000a490000413d0000000002230019000000000012001a00000a490000413d00000000011200190000000d02000039000000000012041b000000060010008c0000006a0000413d000004cf01000041000000800010043f0000002001000039000000840010043f0000001601000039000000a40010043f0000055701000041000000c40010043f0000054701000041000012e400010430000000c001000039000000400010043f0000000001000416000000000001004b00000aea0000c13d0000000701000039000000c00010043f000004bb01000041000000e00010043f0000014001000039000000400010043f0000000404000039000001000040043f000004bc01000041000001200010043f0000000303000039000000000103041a000000010210019000000001051002700000007f0550618f0000001f0050008c00000000010000390000000101002039000000000012004b0000006c0000613d000004de01000041000000000010043f0000002201000039000000040010043f000004df01000041000012e400010430000000000001004b00000aea0000c13d0000000001000019000012e30001042e000000200050008c000000860000413d000300000005001d000000000030043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004bd011001c7000080100200003912e212dd0000040f000000010020019000000aea0000613d000000000101043b00000003020000290000001f0220003900000005022002700000000002210019000000000021004b00000004040000390000000303000039000000860000813d000000000001041b0000000101100039000000000021004b000000820000413d000000e00100043d000004be011001970000000e011001bf000000000013041b000001000500043d000004bf0050009c000000dc0000413d000004de01000041000000000010043f0000004101000039000000040010043f000004df01000041000012e400010430000005100020009c000000cd0000a13d000005110020009c000001b00000213d0000051d0020009c0000026c0000213d000005230020009c000003a40000213d000005260020009c000005e10000613d000005270020009c00000aea0000c13d0000000001000416000000000001004b00000aea0000c13d0000000001000412000500000001001d000400200000003d000080050100003900000044030000390000000004000415000000050440008a000004bd0000013d000004e20020009c0000018b0000213d000004ee0020009c000002120000213d000004f40020009c000003010000213d000004f70020009c000004e80000613d000004f80020009c00000aea0000c13d000000440010008c00000aea0000413d0000000001000416000000000001004b00000aea0000c13d0000000401400370000000000101043b000300000001001d000004c10010009c00000aea0000213d12e20b660000040f0000000502000039000000000202041a000004c1022001970000000003000411000000000032004b00000000020000390000000102006039000200000001001d000000000102001912e20b710000040f0000000301000029000000000010043f0000001d01000039000006340000013d000005280020009c000001bf0000a13d000005290020009c000001cc0000213d0000052f0020009c000002c10000213d000005320020009c0000041c0000613d000005330020009c00000aea0000c13d0000000001000416000000000001004b00000aea0000c13d0000001601000039000006580000013d000000000104041a000000010010019000000001031002700000007f0330618f0000001f0030008c00000000020000390000000102002039000000000121013f0000000100100190000000620000c13d000000200030008c000001060000413d000200000003001d000300000005001d000000000040043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004bd011001c7000080100200003912e212dd0000040f000000010020019000000aea0000613d00000003050000290000001f025000390000000502200270000000200050008c0000000002004019000000000301043b00000002010000290000001f01100039000000050110027000000000011300190000000002230019000000000012004b0000000404000039000001060000813d000000000002041b0000000102200039000000000012004b000001020000413d0000001f0050008c000002b60000a13d000300000005001d000000000040043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004bd011001c7000080100200003912e212dd0000040f000000010020019000000aea0000613d00000003060000290000056302600198000000000101043b000006820000c13d00000020030000390000068e0000013d000004fa0020009c000002320000213d000005000020009c0000030a0000213d000005030020009c000004ed0000613d000005040020009c00000aea0000c13d000000440010008c00000aea0000413d0000000001000416000000000001004b00000aea0000c13d0000000401400370000000000101043b000300000001001d000004c10010009c00000aea0000213d0000002401400370000000000201043b000000000002004b0000000001000039000000010100c039000200000002001d000000000012004b00000aea0000c13d0000000501000039000000000101041a000004c1011001970000000002000411000000000021004b000005d30000c13d0000000301000029000000000010043f0000001c01000039000000200010043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f000000010020019000000aea0000613d000000000101043b000000000201041a000005640220019700000002022001af000000000021041b0000000501000039000000000101041a000004c1011001970000000002000411000000000021004b00000a940000c13d0000000301000029000000000010043f0000001801000039000000200010043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f000000010020019000000aea0000613d000000000101043b000000000201041a00000564022001970000000203000029000000000232019f000000000021041b000000400100043d0000000000310435000004ba0010009c000004ba0100804100000040011002100000000002000414000004ba0020009c000004ba02008041000000c002200210000000000112019f000004bd011001c70000800d020000390000000203000039000004d604000041000000030500002912e212d80000040f000000010020019000000aea0000613d0000000501000039000000000101041a000004c1011001970000000002000411000000000021004b0000000001000039000000010100603912e20b710000040f0000000301000029000000000010043f0000001901000039000000200010043f0000004002000039000000000100001912e212a50000040f000000000201041a000005640220019700000002022001af000000000021041b0000000001000019000012e30001042e000004e30020009c0000025a0000213d000004e90020009c0000031a0000213d000004ec0020009c000005020000613d000004ed0020009c00000aea0000c13d000000240010008c00000aea0000413d0000000001000416000000000001004b00000aea0000c13d0000000401400370000000000601043b000004c10060009c00000aea0000213d0000000501000039000000000201041a000004c1032001970000000005000411000000000053004b000005d30000c13d000000000006004b000009e50000c13d000004cf01000041000000800010043f0000002001000039000000840010043f0000002601000039000000a40010043f0000053e01000041000000c40010043f0000053f01000041000000e40010043f0000054001000041000012e400010430000005120020009c000002870000213d000005180020009c000003b40000213d0000051b0020009c000006070000613d0000051c0020009c00000aea0000c13d0000000001000416000000000001004b00000aea0000c13d0000000b01000039000000000101041a0000055b00100198000006450000013d000005340020009c000002ab0000a13d000005350020009c000002d50000213d000005380020009c000004a70000613d000005390020009c00000aea0000c13d0000000001000416000000000001004b00000aea0000c13d0000000e01000039000006580000013d0000052a0020009c000002ca0000213d0000052d0020009c000004210000613d0000052e0020009c00000aea0000c13d0000000001000416000000000001004b00000aea0000c13d0000001201000039000000800010043f0000053d01000041000012e30001042e000005060020009c000003230000213d000005090020009c000005070000613d0000050a0020009c00000aea0000c13d000000440010008c00000aea0000413d0000000001000416000000000001004b00000aea0000c13d0000000401400370000000000101043b000300000001001d000004c10010009c00000aea0000213d0000002401400370000000000201043b000000000002004b0000000001000039000000010100c039000200000002001d000000000012004b00000aea0000c13d0000000501000039000000000101041a000004c1011001970000000002000411000000000021004b000005d30000c13d0000055101000041000000000010044300000000010004120000000400100443000000200100003900000024001004430000000001000414000004ba0010009c000004ba01008041000000c00110021000000552011001c7000080050200003912e212dd0000040f0000000100200190000009ad0000613d000000000101043b000004c1011001970000000302000029000000000012004b00000a9f0000c13d000000400100043d00000044021000390000055303000041000000000032043500000024021000390000001703000039000005fc0000013d000004ef0020009c0000035c0000213d000004f20020009c000005270000613d000004f30020009c00000aea0000c13d000000440010008c00000aea0000413d0000000001000416000000000001004b00000aea0000c13d0000000401400370000000000101043b000004c10010009c00000aea0000213d0000002402400370000000000202043b000300000002001d000004c10020009c00000aea0000213d000000000010043f0000000101000039000000200010043f0000004002000039000000000100001912e212a50000040f0000000302000029000000000020043f000000200010043f00000000010000190000004002000039000006570000013d000004fb0020009c000003650000213d000004fe0020009c0000052c0000613d000004ff0020009c00000aea0000c13d000000440010008c00000aea0000413d0000000001000416000000000001004b00000aea0000c13d0000000401400370000000000101043b000300000001001d000004c10010009c00000aea0000213d0000002401400370000000000101043b000200000001001d000004c10010009c00000aea0000213d0000000501000039000000000101041a000004c1011001970000000002000411000000000021004b000005d30000c13d0000000302000029000000000002004b00000a4f0000c13d000004cf01000041000000800010043f0000002001000039000000840010043f0000001201000039000000a40010043f0000054b01000041000000c40010043f0000054701000041000012e400010430000004e40020009c000003940000213d000004e70020009c000005330000613d000004e80020009c00000aea0000c13d000000240010008c00000aea0000413d0000000001000416000000000001004b00000aea0000c13d0000000401400370000000000101043b000004c10010009c00000aea0000213d000000000010043f0000001d01000039000006170000013d0000051e0020009c000003d00000213d000005210020009c0000060c0000613d000005220020009c00000aea0000c13d0000000001000416000000000001004b00000aea0000c13d0000000501000039000000000101041a000004c1011001970000000002000411000000000021004b000005d30000c13d0000054801000041000000800010043f0000000002000410000000840020043f0000000001000414000000040020008c0000092c0000c13d0000000103000031000000200030008c00000020040000390000000004034019000009510000013d000005130020009c000003e60000213d000005160020009c0000061c0000613d000005170020009c00000aea0000c13d000000240010008c00000aea0000413d0000000001000416000000000001004b00000aea0000c13d0000000401400370000000000101043b000300000001001d000004c10010009c00000aea0000213d0000000501000039000000000101041a000004c1011001970000000002000411000000000021004b0000000001000039000000010100603912e20b710000040f0000000301000029000000000010043f0000000c01000039000000200010043f0000004002000039000000000100001912e212a50000040f000000000301041a0000056402300197000000000021041b0000000001000019000012e30001042e0000053a0020009c0000066a0000613d0000053b0020009c0000040e0000613d0000053c0020009c00000aea0000c13d0000000001000416000000000001004b00000aea0000c13d0000001b01000039000006430000013d000000000005004b0000000001000019000002ba0000613d000001200100043d0000000302500210000005650220027f0000056502200167000000000121016f0000000102500210000000000121019f0000069b0000013d000005300020009c000004280000613d000005310020009c00000aea0000c13d0000000001000416000000000001004b00000aea0000c13d0000001501000039000006580000013d0000052b0020009c0000046d0000613d0000052c0020009c00000aea0000c13d0000000001000416000000000001004b00000aea0000c13d0000000b01000039000000000101041a0000055f00100198000006450000013d000005360020009c000004b30000613d000005370020009c00000aea0000c13d0000000001000416000000000001004b00000aea0000c13d0000000201000039000006580000013d0000050c0020009c000005360000613d0000050d0020009c00000aea0000c13d000000240010008c00000aea0000413d0000000001000416000000000001004b00000aea0000c13d0000000401400370000000000201043b000000000002004b0000000001000039000000010100c039000300000002001d000000000012004b00000aea0000c13d0000000501000039000000000101041a000004c1011001970000000002000411000000000021004b0000000001000039000000010100603912e20b710000040f000000030000006b0000000001000019000005550100c0410000000b02000039000000000302041a0000055603300197000000000113019f000000000012041b0000000001000019000012e30001042e000004f50020009c0000053b0000613d000004f60020009c00000aea0000c13d0000000001000416000000000001004b00000aea0000c13d0000001401000039000006580000013d000005010020009c0000055b0000613d000005020020009c00000aea0000c13d000000240010008c00000aea0000413d0000000001000416000000000001004b00000aea0000c13d0000000401400370000000000101043b000004c10010009c00000aea0000213d000000000010043f0000001a01000039000006170000013d000004ea0020009c000005820000613d000004eb0020009c00000aea0000c13d0000000001000416000000000001004b00000aea0000c13d0000000a01000039000006580000013d000005070020009c000005870000613d000005080020009c00000aea0000c13d000000440010008c00000aea0000413d0000000001000416000000000001004b00000aea0000c13d0000000401400370000000000101043b000300000001001d000004c10010009c00000aea0000213d0000002401400370000000000101043b000200000001001d0000000001000411000000000010043f0000000101000039000000200010043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f000000010020019000000aea0000613d000000000101043b0000000302000029000000000020043f000000200010043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f000000010020019000000aea0000613d000000000101043b000000000101041a000000020310006c0000049c0000813d000000400100043d00000064021000390000054e03000041000000000032043500000044021000390000054f03000041000000000032043500000024021000390000002503000039000004620000013d000004f00020009c0000058c0000613d000004f10020009c00000aea0000c13d0000000001000416000000000001004b00000aea0000c13d0000000901000039000006580000013d000004fc0020009c000005980000613d000004fd0020009c00000aea0000c13d000000640010008c00000aea0000413d0000000001000416000000000001004b00000aea0000c13d0000004401400370000000000101043b0000000502000039000000000202041a000004c1022001970000000003000411000000000032004b000005d30000c13d0000002402400370000000000202043b0000000403400370000000000303043b0000001204000039000000000034041b0000001304000039000000000024041b0000001404000039000000000014041b000000000023001a00000a490000413d0000000002230019000000000012001a00000a490000413d00000000011200190000001102000039000000000012041b000000060010008c0000006a0000413d000004cf01000041000000800010043f0000002001000039000000840010043f0000001701000039000000a40010043f0000054601000041000000c40010043f0000054701000041000012e400010430000004e50020009c000005dc0000613d000004e60020009c00000aea0000c13d000000240010008c00000aea0000413d0000000001000416000000000001004b00000aea0000c13d0000000401400370000000000101043b000004c10010009c00000aea0000213d000000000010043f0000000c01000039000006170000013d000005240020009c0000063f0000613d000005250020009c00000aea0000c13d000000240010008c00000aea0000413d0000000001000416000000000001004b00000aea0000c13d0000000401400370000000000101043b000004c10010009c00000aea0000213d000000000010043f0000001c01000039000006170000013d000005190020009c0000064a0000613d0000051a0020009c00000aea0000c13d0000000001000416000000000001004b00000aea0000c13d0000000501000039000000000201041a000004c1032001970000000005000411000000000053004b000005d30000c13d000004c002200197000000000021041b0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c2011001c70000800d020000390000000303000039000004c304000041000000000600001912e212d80000040f00000001002001900000006a0000c13d00000aea0000013d0000051f0020009c0000065c0000613d000005200020009c00000aea0000c13d0000000001000416000000000001004b00000aea0000c13d0000000501000039000000000101041a000004c1011001970000000002000411000000000021004b0000000001000039000000010100603912e20b710000040f0000000b01000039000000000201041a0000055c022001970000055d022001c7000000000021041b0000000001000019000012e30001042e000005140020009c000006610000613d000005150020009c00000aea0000c13d000000240010008c00000aea0000413d0000000001000416000000000001004b00000aea0000c13d0000000401400370000000000101043b000300000001001d000004c10010009c00000aea0000213d0000000501000039000000000101041a000004c1011001970000000002000411000000000021004b000005d30000c13d00000559010000410000000000100443000000000100041000000004001004430000000001000414000004ba0010009c000004ba01008041000000c0011002100000055a011001c70000800a0200003912e212dd0000040f0000000100200190000009ad0000613d000000000301043b00000000010004140000000304000029000000040040008c00000a5b0000c13d000300010000003d00000a680000013d000000440010008c00000aea0000413d0000000001000416000000000001004b00000aea0000c13d0000000401400370000000000201043b000004c10020009c00000aea0000213d0000002401400370000000000301043b000000000100041112e20b960000040f000004fa0000013d0000000001000416000000000001004b00000aea0000c13d0000001201000039000006580000013d0000000001000416000000000001004b00000aea0000c13d0000dead01000039000000800010043f0000053d01000041000012e30001042e000000640010008c00000aea0000413d0000000001000416000000000001004b00000aea0000c13d0000000401400370000000000101043b000300000001001d000004c10010009c00000aea0000213d0000002401400370000000000201043b000004c10020009c00000aea0000213d0000004401400370000000000301043b0000000301000029000200000003001d12e20bed0000040f0000000301000029000000000010043f0000000101000039000000200010043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f000000010020019000000aea0000613d000000000101043b0000000002000411000000000020043f000000200010043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f000000010020019000000aea0000613d000000000101043b000000000101041a000000020310006c00000aba0000813d000000400100043d000000640210003900000560030000410000000000320435000000440210003900000561030000410000000000320435000000240210003900000028030000390000000000320435000004cf020000410000000000210435000000040210003900000020030000390000000000320435000004ba0010009c000004ba01008041000000400110021000000550011001c7000012e400010430000000440010008c00000aea0000413d0000000001000416000000000001004b00000aea0000c13d0000000401400370000000000101043b000300000001001d000004c10010009c00000aea0000213d0000000001000411000000000010043f0000000101000039000000200010043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c70000801002000039000200000004035312e212dd0000040f000000020300035f000000010020019000000aea0000613d000000000101043b0000000302000029000000000020043f000000200010043f0000002401300370000000000101043b000200000001001d0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f000000010020019000000aea0000613d000000000101043b000000000101041a0000000202000029000000000021001a00000a490000413d00000000032100190000000001000411000000030200002912e20b960000040f000000400100043d00000001020000390000000000210435000004ba0010009c000004ba0100804100000040011002100000054d011001c7000012e30001042e000000240010008c00000aea0000413d0000000001000416000000000001004b00000aea0000c13d0000000401400370000000000101043b000004c10010009c00000aea0000213d000000000010043f0000001901000039000006170000013d0000000001000416000000000001004b00000aea0000c13d0000000001000412000700000001001d000600000000003d000080050100003900000044030000390000000004000415000000070440008a0000000504400210000005510200004112e212ba0000040f000006660000013d000000240010008c00000aea0000413d0000000001000416000000000001004b00000aea0000c13d0000000401400370000000000101043b000300000001001d000004c10010009c00000aea0000213d0000000501000039000000000101041a000004c1011001970000000002000411000000000021004b000005d30000c13d0000000701000039000000000201041a0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c2011001c7000200000002001d000004c1062001970000800d0200003900000003030000390000055804000041000000030500002912e212d80000040f000000010020019000000aea0000613d0000000201000029000004c00110019700000003011001af0000000702000039000000000012041b0000000001000019000012e30001042e0000000001000416000000000001004b00000aea0000c13d0000000801000039000006580000013d000000440010008c00000aea0000413d0000000001000416000000000001004b00000aea0000c13d0000000401400370000000000201043b000004c10020009c00000aea0000213d0000002401400370000000000301043b000000000100041112e20bed0000040f0000000101000039000000400200043d0000000000120435000004ba0020009c000004ba0200804100000040012002100000054d011001c7000012e30001042e0000000001000416000000000001004b00000aea0000c13d0000000f01000039000006580000013d0000000001000416000000000001004b00000aea0000c13d0000000403000039000000000203041a000000010520019000000001012002700000007f0410018f00000000010460190000001f0010008c00000000060000390000000106002039000000000662013f0000000100600190000000620000c13d000000800010043f000000000005004b0000067c0000613d000000000030043f000000020020008c000009ab0000413d000005540200004100000000040000190000000003040019000000000402041a000000a005300039000000000045043500000001022000390000002004300039000000000014004b0000051e0000413d00000a080000013d0000000001000416000000000001004b00000aea0000c13d0000000d01000039000006580000013d0000000001000416000000000001004b00000aea0000c13d0000000b01000039000000000101041a0000ff0000100190000006450000013d000000240010008c0000058e0000813d00000aea0000013d0000000001000416000000000001004b00000aea0000c13d0000000501000039000006650000013d000000240010008c00000aea0000413d0000000001000416000000000001004b00000aea0000c13d0000000401400370000000000101043b0000000502000039000000000202041a000004c1022001970000000003000411000000000032004b000005d30000c13d0000000202000039000000000202041a000000000002004b0000000003000019000009880000c13d000000000031004b000009f80000a13d000004cf01000041000000800010043f0000002001000039000000840010043f0000002701000039000000a40010043f0000054401000041000000c40010043f0000054501000041000000e40010043f0000054001000041000012e400010430000000240010008c00000aea0000413d0000000001000416000000000001004b00000aea0000c13d0000000401400370000000000101043b000300000001001d000004c10010009c00000aea0000213d0000000501000039000000000101041a000004c1011001970000000002000411000000000021004b000005d30000c13d0000000601000039000000000201041a0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c2011001c7000200000002001d000004c1062001970000800d0200003900000003030000390000054c04000041000000030500002912e212d80000040f000000010020019000000aea0000613d0000000201000029000004c00110019700000003011001af0000000602000039000000000012041b0000000001000019000012e30001042e0000000001000416000000000001004b00000aea0000c13d0000001301000039000006580000013d0000000001000416000000000001004b00000aea0000c13d0000001001000039000006580000013d000000240010008c00000aea0000413d0000000001000416000000000001004b00000aea0000c13d0000000401400370000000000101043b000004c10010009c00000aea0000213d12e2123e0000040f0000000001000019000012e30001042e000000440010008c00000aea0000413d0000000001000416000000000001004b00000aea0000c13d0000000401400370000000000101043b000300000001001d000004c10010009c00000aea0000213d0000002401400370000000000201043b000000000002004b0000000001000039000000010100c039000200000002001d000000000012004b00000aea0000c13d0000000501000039000000000101041a000004c1011001970000000002000411000000000021004b000005d30000c13d0000000301000029000000000010043f0000001801000039000000200010043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f000000010020019000000aea0000613d000000000101043b000000000201041a00000564022001970000000203000029000000000232019f000000000021041b000000400100043d0000000000310435000004ba0010009c000004ba0100804100000040011002100000000002000414000004ba0020009c000004ba02008041000000c002200210000000000112019f000004bd011001c70000800d020000390000000203000039000004d6040000410000000305000029000003cc0000013d000004cf01000041000000800010043f0000002001000039000000840010043f000000a40010043f000004ce01000041000000c40010043f0000054701000041000012e4000104300000000001000416000000000001004b00000aea0000c13d0000001701000039000006580000013d000000440010008c00000aea0000413d0000000001000416000000000001004b00000aea0000c13d0000000401400370000000000101043b000300000001001d000004c10010009c00000aea0000213d0000002401400370000000000101043b000200000001001d0000000501000039000000000101041a000004c1021001970000000001000411000000000021004b000009970000c13d000000030000006b000009ae0000c13d000000400100043d00000044021000390000055e03000041000000000032043500000024021000390000001f030000390000000000320435000004cf020000410000000000210435000000040210003900000020030000390000000000320435000004ba0010009c000004ba010080410000004001100210000004d0011001c7000012e4000104300000000001000416000000000001004b00000aea0000c13d0000001101000039000006580000013d000000240010008c00000aea0000413d0000000001000416000000000001004b00000aea0000c13d0000000401400370000000000101043b000004c10010009c00000aea0000213d000000000010043f0000001801000039000000200010043f0000004002000039000000000100001912e212a50000040f000006430000013d000000440010008c00000aea0000413d0000000001000416000000000001004b00000aea0000c13d0000000401400370000000000101043b000300000001001d000004c10010009c00000aea0000213d12e20b660000040f0000000502000039000000000202041a000004c1022001970000000003000411000000000032004b00000000020000390000000102006039000200000001001d000000000102001912e20b710000040f0000000301000029000000000010043f0000001901000039000000200010043f0000004002000039000000000100001912e212a50000040f000000000301041a0000056402300197000000020000006b000000010220c1bf000000000021041b0000000001000019000012e30001042e0000000001000416000000000001004b00000aea0000c13d0000000b01000039000000000101041a000000ff001001900000000001000039000000010100c039000000800010043f0000053d01000041000012e30001042e000000240010008c00000aea0000413d0000000001000416000000000001004b00000aea0000c13d0000000401400370000000000101043b000004c10010009c00000aea0000213d000000000010043f000000200000043f0000004002000039000000000100001912e212a50000040f000000000101041a000000800010043f0000053d01000041000012e30001042e0000000001000416000000000001004b00000aea0000c13d0000000701000039000006650000013d0000000001000416000000000001004b00000aea0000c13d0000000601000039000000000101041a000004c101100197000000800010043f0000053d01000041000012e30001042e0000000001000416000000000001004b00000aea0000c13d0000000303000039000000000203041a000000010520019000000001012002700000007f0410018f00000000010460190000001f0010008c00000000060000390000000106002039000000000662013f0000000100600190000000620000c13d000000800010043f000000000005004b000009a80000c13d0000056401200197000000a00010043f000000000004004b000000c001000039000000a00100603900000a090000013d000000010320008a000000050330027000000000043100190000002003000039000000010440003900000100053000390000000005050433000000000051041b00000020033000390000000101100039000000000041004b000006870000c13d000000000062004b000006980000813d0000000302600210000000f80220018f000005650220027f000005650220016700000100033000390000000003030433000000000223016f000000000021041b000000010160021000000001011001bf0000000404000039000000000014041b0000000503000039000000000103041a000004c0021001970000000006000411000000000226019f000000000023041b0000000002000414000004c105100197000004ba0020009c000004ba02008041000000c001200210000004c2011001c70000800d020000390000000303000039000004c30400004112e212d80000040f000000010020019000000aea0000613d0000000b02000039000000000102041a000004c40110019700000001011001bf000000000012041b0000001b02000039000000000102041a000005640110019700000001011001bf000000000012041b000004c501000041000000000010043f0000001901000039000000200010043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f000000010020019000000aea0000613d000000000101043b000000000201041a000005640220019700000001022001bf000000000021041b000004c501000041000000800010043f000004c701000041000000400200043d000300000002001d0000000000120435000004ba0020009c000004ba01000041000000000102401900000040011002100000000002000414000004ba0020009c000004ba02008041000000c002200210000000000112019f000004c8011001c7000004c50200004112e212dd0000040f000000030b0000290000006003100270000004ba03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000000057b0019000006ec0000613d000000000801034f00000000090b0019000000008a08043c0000000009a90436000000000059004b000006e80000c13d000000000006004b000006f90000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f000300000001035500000001002001900000090e0000613d0000001f01400039000000600110018f0000000002b10019000000000012004b00000000010000390000000101004039000004ca0020009c0000008d0000213d00000001001001900000008d0000c13d000200000002001d000000400020043f000000200030008c00000aea0000413d00000000010b0433000300000001001d000004c10010009c00000aea0000213d000004cb0100004100000002020000290000000000120435000004ba0020009c000004ba01000041000000000102401900000040011002100000000002000414000004ba0020009c000004ba02008041000000c002200210000000000121019f000004c8011001c7000004c50200004112e212dd0000040f000000020b0000290000006003100270000004ba04300197000000200040008c000000200300003900000000030440190000001f0630018f000000200730019000000000057b00190000072e0000613d000000000801034f00000000090b0019000000008a08043c0000000009a90436000000000059004b0000072a0000c13d000000000006004b0000073b0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000004001f0003000000010355000000010020019000000a6e0000613d0000001f01300039000000600110018f0000000002b10019000004ca0020009c0000008d0000213d000100000002001d000000400020043f000000200040008c00000aea0000413d00000002020000290000000002020433000004c10020009c00000aea0000213d000000010500002900000024045000390000000000240435000004cc02000041000000000025043500000004025000390000000004000410000000000042043500000000020004140000000304000029000000040040008c000007850000613d0000000101000029000004ba0010009c000004ba010080410000004001100210000004ba0020009c000004ba02008041000000c002200210000000000112019f000004cd011001c7000000030200002912e212d80000040f0000006003100270000004ba04300197000000200040008c000000200300003900000000030440190000001f0630018f00000020073001900000000105700029000007720000613d000000000801034f0000000109000029000000008a08043c0000000009a90436000000000059004b0000076e0000c13d000000000006004b0000077f0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000004001f0003000000010355000000010020019000000b450000613d0000001f01300039000000600110018f0000000101100029000004ca0010009c0000008d0000213d000000400010043f000000200030008c00000aea0000413d00000001020000290000000002020433000004c10020009c00000aea0000213d000000a00020043f0000000503000039000000000303041a000004c1033001970000000004000411000000000043004b00000a950000c13d000000000020043f0000001901000039000000200010043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f000000010020019000000aea0000613d000000000101043b000000000201041a000005640220019700000001022001bf000000000021041b000000a00100043d000004c101100197000300000001001d000000000010043f0000001a01000039000000200010043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f000000010020019000000aea0000613d000000000101043b000000000201041a000005640220019700000001022001bf000000000021041b0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c2011001c70000800d0200003900000003030000390000000106000039000004d104000041000000030500002912e212d80000040f000000010020019000000aea0000613d000004d2010000410000000802000039000000000012041b000004d3010000410000000a02000039000000000012041b000004d4010000410000000902000039000000000012041b0000000e01000039000000000001041b0000000f010000390000000103000039000000000031041b0000001001000039000000000031041b00000002010000390000000d02000039000000000012041b0000001201000039000000000031041b0000001301000039000000000031041b00000014010000390000000302000039000000000021041b00000011010000390000000503000039000000000031041b0000000601000039000000000201041a000004c002200197000004d5022001c7000000000021041b000000000103041a000004c1011001970000000703000039000000000203041a000004c002200197000000000212019f000000000023041b0000000002000411000000000021004b00000a940000c13d0000000001000411000000000010043f0000001801000039000000200010043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f000000010020019000000aea0000613d000000000101043b000000000201041a000005640220019700000001022001bf000000000021041b000000400100043d00000001020000390000000000210435000004ba0010009c000004ba0100804100000040011002100000000002000414000004ba0020009c000004ba02008041000000c002200210000000000112019f000004bd011001c70000800d020000390000000203000039000004d604000041000000000500041112e212d80000040f000000010020019000000aea0000613d0000000501000039000000000101041a000004c1011001970000000002000411000000000021004b00000a940000c13d0000000001000410000000000010043f0000001801000039000000200010043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f000000010020019000000aea0000613d000000000101043b000000000201041a000005640220019700000001022001bf000000000021041b000000400100043d00000001020000390000000000210435000004ba0010009c000004ba0100804100000040011002100000000002000414000004ba0020009c000004ba02008041000000c002200210000000000112019f000004bd011001c70000800d020000390000000203000039000004d604000041000000000500041012e212d80000040f000000010020019000000aea0000613d0000000501000039000000000101041a000004c1011001970000000002000411000000000021004b00000a940000c13d0000dead01000039000000000010043f0000001801000039000000200010043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f000000010020019000000aea0000613d000000000101043b000000000201041a000005640220019700000001022001bf000000000021041b000000400100043d00000001020000390000000000210435000004ba0010009c000004ba0100804100000040011002100000000002000414000004ba0020009c000004ba02008041000000c002200210000000000112019f000004bd011001c70000800d0200003900000002030000390000dead05000039000004d60400004112e212d80000040f000000010020019000000aea0000613d0000000501000039000000000101041a000004c1011001970000000002000411000000000021004b00000a940000c13d0000000001000411000000000010043f0000001901000039000000200010043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f000000010020019000000aea0000613d000000000101043b000000000201041a000005640220019700000001022001bf000000000021041b0000000501000039000000000101041a000004c1011001970000000002000411000000000021004b00000a940000c13d0000000001000410000000000010043f0000001901000039000000200010043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f000000010020019000000aea0000613d000000000101043b000000000201041a000005640220019700000001022001bf000000000021041b0000000501000039000000000101041a000004c1011001970000000002000411000000000021004b00000a940000c13d0000dead01000039000000000010043f0000001901000039000000200010043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f000000010020019000000aea0000613d000000000101043b000000000201041a000005640220019700000001022001bf000000000021041b0000000501000039000000000101041a000004c101100197000000000010043f0000001c01000039000000200010043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f000000010020019000000aea0000613d000000000101043b000000000201041a000005640220019700000001022001bf000000000021041b0000000001000411000000000001004b000005f60000613d0000000201000039000000000101041a000004d70110009c00000a490000813d0000000202000039000000000012041b0000000001000411000000000010043f000000200000043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f000000010020019000000aea0000613d000000000101043b000000000201041a000004d70220009c00000a490000813d000000000021041b000004d901000041000000400200043d0000000000120435000004ba0020009c000004ba0200804100000040012002100000000002000414000004ba0020009c000004ba02008041000000c002200210000000000112019f000004bd011001c70000800d020000390000000303000039000004da040000410000000005000019000000000600041112e212d80000040f000000010020019000000aea0000613d0000001b04000039000000000104041a00000564011001970000000b03000039000000000203041a000000000014041b000004db01200197000004dc011001c7000000000013041b000000800100043d000001400000044300000160001004430000002001000039000000a00200043d0000018000100443000001a000200443000001000010044300000002010000390000012000100443000004dd01000041000012e30001042e0000001f0530018f000004c906300198000000400200043d0000000004620019000009190000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000009150000c13d000000000005004b000009260000613d000000000161034f0000000305500210000000000604043300000000065601cf000000000656022f000000000101043b0000010005500089000000000151022f00000000015101cf000000000161019f00000000001404350000006001300210000004ba0020009c000004ba020080410000004002200210000000000112019f000012e400010430000004ba0010009c000004ba01008041000000c00110021000000549011001c712e212dd0000040f0000006003100270000004ba03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000080057001bf000009400000613d0000008008000039000000000901034f000000009a09043c0000000008a80436000000000058004b0000093c0000c13d000000000006004b0000094d0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f00030000000103550000000100200190000009d90000613d0000001f01400039000000600110018f00000080021001bf000300000002001d000000400020043f000000200030008c00000aea0000413d000000800200043d0000054a03000041000000030500002900000000003504350000000003000411000004c10330019700000084041001bf0000000000340435000000a403100039000000000023043500000000030004140000000002000410000000040020008c00000a1a0000c13d0000000001150019000000400010043f00000003010000290000000001010433000000000001004b0000000002000039000000010200c039000000000021004b00000aea0000c13d00000559010000410000000000100443000000000100041000000004001004430000000001000414000004ba0010009c000004ba01008041000000c0011002100000055a011001c70000800a0200003912e212dd0000040f0000000100200190000009ad0000613d000000000301043b00000000010004140000000002000411000000040020008c0000040c0000613d000004ba0010009c000004ba01008041000000c001100210000000000003004b000004c20110c1c7000000000400041100000a600000013d000005410320012a000000000031004b000009f10000813d000004cf01000041000000800010043f0000002001000039000000840010043f0000002901000039000000a40010043f0000054201000041000000c40010043f0000054301000041000000e40010043f0000054001000041000012e400010430000000000010043f0000001d01000039000000200010043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f000000010020019000000aea0000613d000000000101043b000000000101041a000000ff0010019000000aea0000613d000005f40000013d000000000030043f000000020020008c000009fe0000813d000000a00100003900000a090000013d000000000001042f0000000201000039000000000201041a0000000203000029000000000032001a00000a490000413d0000000002320019000000000021041b0000000301000029000000000010043f000000200000043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f000000010020019000000aea0000613d000000000101043b000000000201041a0000000203000029000000000032001a00000a490000413d0000000002320019000000000021041b000000400100043d0000000000310435000004ba0010009c000004ba0100804100000040011002100000000002000414000004ba0020009c000004ba02008041000000c002200210000000000112019f000004bd011001c70000800d020000390000000303000039000004da0400004100000000050000190000000306000029000003cc0000013d0000001f0530018f000004c906300198000000400200043d0000000004620019000009190000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000009e00000c13d000009190000013d000004c002200197000000000262019f000000000021041b0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c2011001c70000800d020000390000000303000039000004c304000041000003cc0000013d00000005032000c900000000022300d9000000050020008c00000a490000c13d000003e80330011a000000000031004b0000054f0000213d0000000902000039000000000012041b0000000101000039000000800010043f0000053d01000041000012e30001042e000005620200004100000000040000190000000003040019000000000402041a000000a005300039000000000045043500000001022000390000002004300039000000000014004b00000a000000413d000000c001300039000000800210008a000000800100003912e20b840000040f000000400100043d000300000001001d000000800200003912e20b510000040f00000003020000290000000001210049000004ba0010009c000004ba010080410000006001100210000004ba0020009c000004ba020080410000004002200210000000000121019f000012e30001042e000004ba0030009c000004ba03008041000000c0013002100000004003500210000000000131019f000004cd011001c712e212d80000040f000000030b0000290000006003100270000004ba03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000000057b001900000a310000613d000000000801034f00000000090b0019000000008a08043c0000000009a90436000000000059004b00000a2d0000c13d000000000006004b00000a3e0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f0003000000010355000000010020019000000a880000613d0000001f01400039000000600110018f0000000001b10019000000400010043f000000200030008c00000aea0000413d000009680000013d000004de01000041000000000010043f0000001101000039000000040010043f000004df01000041000012e4000104300000054801000041000000800010043f0000000001000410000000840010043f0000000001000414000000040020008c00000abd0000c13d0000000103000031000000200030008c0000002009000039000000000903401900000ae30000013d000004ba0010009c000004ba01008041000000c001100210000000000003004b000004c20110c1c700008009020000390000000002046019000000000500001912e212d80000040f000300000002001d0000006002100270000104ba0020019d000300000001035512e211ed0000040f0000000301000029000000010110018f12e2122a0000040f0000000001000019000012e30001042e0000001f0540018f000004c906400198000000400200043d000000000362001900000a790000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000038004b00000a750000c13d000000000005004b00000a860000613d000000000161034f0000000305500210000000000603043300000000065601cf000000000656022f000000000101043b0000010005500089000000000151022f00000000015101cf000000000161019f00000000001304350000006001400210000009270000013d0000001f0530018f000004c906300198000000400200043d0000000004620019000009190000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00000a8f0000c13d000009190000013d000000400100043d0000004402100039000004ce030000410000000000320435000004cf0200004100000000002104350000002402100039000000200300003900000000003204350000000402100039000006010000013d000000000020043f0000001a01000039000000200010043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f000000010020019000000aea0000613d000000000101043b000000000201041a00000564022001970000000206000029000000000262019f000000000021041b0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c2011001c70000800d020000390000000303000039000004d104000041000005d10000013d000000030100002900000000020004110000049e0000013d000004ba0010009c000004ba01008041000000c00110021000000549011001c712e212dd0000040f0000006003100270000004ba03300197000000200030008c000000200400003900000000040340190000001f0540018f0000000009040019000000200640019000000080046001bf000000800a00003900000ad20000613d000000000701034f000000007807043c000000000a8a043600000000004a004b00000ace0000c13d000000000005004b00000adf0000613d000000000661034f0000000305500210000000000704043300000000075701cf000000000757022f000000000606043b0000010005500089000000000656022f00000000055601cf000000000575019f0000000000540435000100000003001f0003000000010355000000010020019000000b2d0000613d0000001f01900039000000600110018f00000080021001bf000100000002001d000000400020043f000000200030008c00000aec0000813d0000000001000019000012e400010430000000000a090019000000800200043d0000054a030000410000000104000029000000000034043500000084031001bf00000002040000290000000000430435000000a401100039000000000021043500000000010004140000000302000029000000040020008c00000b240000613d000004ba0010009c000004ba01008041000000c00110021000000001020000290000004002200210000000000121019f000004cd011001c7000000030200002912e212d80000040f0000006003100270000004ba03300197000000200030008c000000200400003900000000040340190000001f0540018f000000000a0400190000002006400190000000010460002900000b130000613d000000000701034f0000000108000029000000007907043c0000000008980436000000000048004b00000b0f0000c13d000000000005004b00000b200000613d000000000661034f0000000305500210000000000704043300000000075701cf000000000757022f000000000606043b0000010005500089000000000656022f00000000055601cf000000000575019f0000000000540435000100000003001f0003000000010355000000010020019000000b390000613d000000010100002900000000020a001900030000000a001d12e20b840000040f0000000101000029000000030210002912e2121c0000040f0000000001000019000012e30001042e0000001f0530018f000004c906300198000000400200043d0000000004620019000009190000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00000b340000c13d000009190000013d0000001f0530018f000004c906300198000000400200043d0000000004620019000009190000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00000b400000c13d000009190000013d0000001f0540018f000004c906400198000000400200043d000000000362001900000a790000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000038004b00000b4c0000c13d00000a790000013d00000020030000390000000004310436000000003202043400000000002404350000004001100039000000000002004b00000b600000613d000000000400001900000000054100190000000006430019000000000606043300000000006504350000002004400039000000000024004b00000b590000413d000000000321001900000000000304350000001f0220003900000563022001970000000001210019000000000001042d00000024010000390000000201100367000000000101043b000000000001004b0000000002000039000000010200c039000000000021004b00000b6f0000c13d000000000001042d0000000001000019000012e400010430000000000001004b00000b740000613d000000000001042d000000400100043d0000004402100039000004ce030000410000000000320435000004cf02000041000000000021043500000024021000390000002003000039000000000032043500000004021000390000000000320435000004ba0010009c000004ba010080410000004001100210000004d0011001c7000012e4000104300000001f0220003900000563022001970000000001120019000000000021004b00000000020000390000000102004039000004ca0010009c00000b900000213d000000010020019000000b900000c13d000000400010043f000000000001042d000004de01000041000000000010043f0000004101000039000000040010043f000004df01000041000012e4000104300003000000000002000004c10110019800000bcf0000613d000200000003001d000304c10020019c00000bd90000613d000100000001001d000000000010043f0000000101000039000000200010043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f0000000100200190000000030300002900000bcd0000613d000000000101043b000000000030043f000000200010043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f0000000306000029000000010020019000000bcd0000613d000000000101043b0000000202000029000000000021041b000000400100043d0000000000210435000004ba0010009c000004ba0100804100000040011002100000000002000414000004ba0020009c000004ba02008041000000c002200210000000000112019f000004bd011001c70000800d0200003900000003030000390000056604000041000000010500002912e212d80000040f000000010020019000000bcd0000613d000000000001042d0000000001000019000012e400010430000000400100043d00000064021000390000056903000041000000000032043500000044021000390000056a0300004100000000003204350000002402100039000000240300003900000be20000013d000000400100043d000000640210003900000567030000410000000000320435000000440210003900000568030000410000000000320435000000240210003900000022030000390000000000320435000004cf020000410000000000210435000000040210003900000020030000390000000000320435000004ba0010009c000004ba01008041000000400110021000000550011001c7000012e400010430000d000000000002000b00000003001d000d04c10010019c000011330000613d000c04c10020019c0000113a0000613d0000000d01000029000000000010043f0000000c01000039000000200010043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f0000000100200190000011310000613d000000000101043b000000000101041a000000ff00100190000011410000c13d0000000c01000029000000000010043f0000000c01000039000000200010043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f0000000100200190000011310000613d000000000101043b000000000101041a000000ff00100190000011480000c13d0000000b0000006b00000ca30000613d0000000b01000039000000000101041a000a00000001001d000000ff00100190000000050200003900000cf10000613d0000000c010000290000dead0010008c00000cf10000613d000000000102041a000004c1021001970000000d0020006b00000cf10000613d0000000c0020006b00000cf10000613d0000056d0010019800000cf10000c13d0000000a010000290000ff000010019000000c4b0000c13d0000000d01000029000000000010043f0000001801000039000000200010043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f0000000100200190000011310000613d000000000101043b000000000101041a000000ff0010019000000c4b0000c13d0000000c01000029000000000010043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f0000000100200190000011310000613d000000000101043b000000000101041a000000ff00100190000011920000613d0000000d01000029000000000010043f0000001a01000039000000200010043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f0000000100200190000011310000613d000000000101043b000000000101041a000000ff0010019000000c6d0000613d0000000c01000029000000000010043f0000001901000039000000200010043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f0000000100200190000011310000613d000000000101043b000000000101041a000000ff0010019000000cd00000613d0000000c01000029000000000010043f0000001a01000039000000200010043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f0000000100200190000011310000613d000000000101043b000000000101041a000000ff0010019000000c8f0000613d0000000d01000029000000000010043f0000001901000039000000200010043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f0000000100200190000011310000613d000000000101043b000000000101041a000000ff0010019000000ced0000613d0000000c01000029000000000010043f0000001901000039000000200010043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f0000000100200190000011310000613d000000000101043b000000000101041a000000ff0010019000000cf10000c13d000000200000043f000000000100041400000cd80000013d0000000d01000029000000000010043f000000200000043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f0000000100200190000011310000613d000000000101043b000000000101041a000b00000001001d0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f0000000100200190000011310000613d000000000101043b0000000b02000029000000000021041b0000000c06000029000000000060043f000000400100043d0000000000010435000004ba0010009c000004ba0100804100000040011002100000000002000414000004ba0020009c000004ba02008041000000c002200210000000000112019f000004bd011001c70000800d020000390000000303000039000004da040000410000000d050000290000112d0000013d0000000801000039000000000101041a0000000b0010006c0000117e0000413d0000000c01000029000000000010043f000000200000043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f0000000100200190000011310000613d000000000101043b000000000101041a0000000b0010002a0000116d0000413d0000000b011000290000000a02000039000000000202041a000000000021004b00000cf10000a13d000000400100043d000000440210003900000570030000410000113d0000013d0000000801000039000000000101041a0000000b0010006c0000118b0000413d0000000001000410000000000010043f000000200000043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f0000000100200190000011310000613d0000000902000039000000000202041a000000000101043b000000000101041a000000000021004b000000050200003900000ff50000413d0000000a010000290000055b0010019800000ff50000613d000000000102041a0000056d0010019800000ff50000c13d0000000d01000029000000000010043f0000001a01000039000000200010043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f0000000100200190000011310000613d000000000101043b000000000101041a000000ff00100190000000050200003900000ff50000c13d0000000d01000029000000000010043f0000001801000039000000200010043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f0000000100200190000011310000613d000000000101043b000000000101041a000000ff00100190000000050200003900000ff50000c13d0000000c01000029000000000010043f0000001801000039000000200010043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f0000000100200190000011310000613d000000000101043b000000000101041a000000ff00100190000000050200003900000ff50000c13d000000000102041a000005720110019700000573011001c7000000000012041b0000000001000410000000000010043f000000200000043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f0000000100200190000011310000613d0000001602000039000000000202041a0000001503000039000000000303041a000000000101043b000000000023001a0000116d0000413d00000000032300190000001704000039000000000404041a000000000034001a0000116d0000413d000000000101041a000000000001004b00000ff10000613d000000000534001a00000ff10000613d0000000903000039000000000403041a00000014034000c9000000000004004b00000d690000613d00000000044300d9000000140040008c0000116d0000c13d000000000031004b000000000103801900000000032100a9000000000001004b00000d710000613d00000000041300d9000000000024004b0000116d0000c13d00000000025300d9000300000002001d0002000100200278000000020110006c000800000001001d0000116d0000413d000400000005001d00000559010000410000000000100443000000000100041000000004001004430000000001000414000004ba0010009c000004ba01008041000000c0011002100000055a011001c70000800a0200003912e212dd0000040f00000001002001900000117d0000613d000000000101043b000600000001001d000000400300043d000005740030009c000011850000813d0000006001300039000000400010043f0000000202000039000700000003001d0000000005230436000000000200003100000002022003670000000003050019000000002402043c0000000003430436000000000013004b00000d920000c13d0000000001000410000100000005001d0000000000150435000005510100004100000000001004430000000001000412000000040010044300000024000004430000000001000414000004ba0010009c000004ba01008041000000c00110021000000552011001c7000080050200003912e212dd0000040f00000001002001900000117d0000613d000000000201043b000000400b00043d000004cb0100004100000000001b04350000000001000414000004c102200197000000040020008c000a00000002001d00000db50000c13d0000000103000031000000200030008c0000002004000039000000000403401900000de10000013d000004ba00b0009c000004ba0300004100000000030b40190000004003300210000004ba0010009c000004ba01008041000000c001100210000000000131019f000004c8011001c700090000000b001d12e212dd0000040f000000090b0000290000006003100270000004ba03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000000057b001900000dd00000613d000000000801034f00000000090b0019000000008a08043c0000000009a90436000000000059004b00000dcc0000c13d000000000006004b00000ddd0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f00030000000103550000000100200190000011b60000613d0000001f01400039000000600210018f0000000001b20019000000000021004b00000000020000390000000102004039000004ca0010009c000011850000213d0000000100200190000011850000c13d000000400010043f000000200030008c000011310000413d00000000010b0433000005730010009c000011310000813d00000007030000290000000002030433000000010020008c000011960000a13d000000400230003900000000001204350000000001000410000904c10010019c0000000a010000290000119c0000613d000000000001004b000011a60000613d0000000901000029000000000010043f0000000101000039000000200010043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f0000000100200190000011310000613d000000000101043b0000000a02000029000000000020043f000000200010043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f0000000100200190000011310000613d000000000101043b0000000802000029000000000021041b000000400100043d0000000000210435000004ba0010009c000004ba0100804100000040011002100000000002000414000004ba0020009c000004ba02008041000000c002200210000000000112019f000004bd011001c70000800d020000390000000303000039000005660400004100000009050000290000000a0600002912e212d80000040f0000000100200190000011310000613d000005750100004100000000001004430000000a0100002900000004001004430000000001000414000004ba0010009c000004ba01008041000000c0011002100000055a011001c7000080020200003912e212dd0000040f00000001002001900000117d0000613d000000000101043b000000000001004b000011310000613d000000400500043d0000004401500039000000a0020000390000000000210435000005760100004100000000001504350000000401500039000000080200002900000000002104350000002401500039000000000001043500000007010000290000000001010433000000a4025000390000000000120435000000c406500039000000000001004b00000e570000613d000000000200001900000001040000290000000043040434000004c10330019700000000063604360000000102200039000000000012004b00000e510000413d000700000006001d000000640150003900000000020004100000000000210435000005770100004100000000001004430000000001000414000004ba0010009c000004ba01008041000000c00110021000000578011001c70000800b02000039000500000005001d12e212dd0000040f00000001002001900000117d0000613d000000000201043b00000005040000290000008401400039000100000002001d000000000021043500000000010004140000000a02000029000000040020008c000000070200002900000e860000613d0000000002420049000004ba0020009c000004ba020080410000006002200210000004ba0040009c000004ba0300004100000000030440190000004003300210000000000232019f000004ba0010009c000004ba01008041000000c001100210000000000121019f0000000a0200002912e212d80000040f00000005040000290000006003100270000104ba0030019d00030000000103550000000100200190000011c20000613d000004ca0040009c000011850000213d000000400040043f00000559010000410000000000100443000000000100041000000004001004430000000001000414000004ba0010009c000004ba01008041000000c0011002100000055a011001c70000800a0200003912e212dd0000040f00000001002001900000117d0000613d000000000501043b000000060150006c00000016070000390000001508000039000000170900003900000004060000290000116d0000413d000000000208041a00000000041200a900000ea30000613d00000000031400d9000000000023004b0000116d0000c13d000000000207041a0000000102200270000000000226004b0000116d0000413d000011b00000613d000000000609041a000000000b1600a9000000060050006c00000eaf0000613d00000000051b00d9000000000065004b0000116d0000c13d00000000042400d9000000000a41004b0000116d0000413d00000000032b00d900070000003a00530000116d0000413d000000000007041b000000000008041b000000000009041b0000000701000039000000000401041a0000000001000414000004c104400197000000040040008c00000ec00000c13d000000010200003100000ed30000013d00060000000a001d000004ba0010009c000004ba01008041000000c0011002100000000000b2004b000500000003001d00000ec90000a13d000000000204001900000ecc0000013d000004c2011001c70000800902000039000000000500001912e212d80000040f00000005030000290000006002100270000104ba0020019d000004ba022001970003000000010355000000060a000029000000000002004b00000efb0000613d0000001f0120003900000563011001970000003f011000390000056304100197000000400100043d0000000005410019000000000015004b00000000040000390000000104004039000004ca0050009c000011850000213d0000000100400190000011850000c13d000000400050043f000000000521043600000563082001980000001f0220018f0000000001850019000000030400036700000eee0000613d000000000604034f000000006706043c0000000005750436000000000015004b00000eea0000c13d000000000002004b00000efb0000613d000000000584034f0000000302200210000000000401043300000000042401cf000000000424022f000000000505043b0000010002200089000000000525022f00000000022501cf000000000242019f00000000002104350000000301000029000000020010008c00000fa20000413d00000000003a004b00000fa20000613d0000000901000029000000000010043f0000000101000039000000200010043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f0000000100200190000011310000613d000000000101043b0000000a02000029000000000020043f000000200010043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f0000000100200190000011310000613d000000000101043b0000000202000029000000000021041b000000400100043d0000000000210435000004ba0010009c000004ba0100804100000040011002100000000002000414000004ba0020009c000004ba02008041000000c002200210000000000112019f000004bd011001c70000800d020000390000000303000039000005660400004100000009050000290000000a0600002912e212d80000040f0000000100200190000011310000613d0000000501000039000000000101041a000000400b00043d000000a402b00039000000010300002900000000003204350000002402b0003900000002030000290000000000320435000004c1011001970000008402b000390000000000120435000005790100004100000000001b04350000000401b00039000000000200041000000000002104350000006401b0003900000000000104350000004401b00039000000000001043500000000010004140000000a04000029000000040040008c00000f4e0000c13d0000000103000031000000600030008c0000006004000039000000000403401900000f7d0000013d000004ba00b0009c000004ba0200004100000000020b40190000004002200210000004ba0010009c000004ba01008041000000c001100210000000000121019f0000057a011001c7000080090200003900000007030000290000000005000019000a0000000b001d12e212d80000040f0000000a0b0000290000006003100270000004ba03300197000000600030008c000000600400003900000000040340190000001f0640018f000000600740019000000000057b001900000f6c0000613d000000000801034f00000000090b0019000000008a08043c0000000009a90436000000000059004b00000f680000c13d000000000006004b00000f790000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f00030000000103550000000100200190000011cf0000613d0000001f01400039000000e00210018f0000000001b20019000000000021004b00000000020000390000000102004039000004ca0010009c000011850000213d0000000100200190000011850000c13d000000400010043f000000600030008c000011310000413d0000001602000039000000000202041a0000004003100039000000000023043500000020021000390000000703000029000000000032043500000008020000290000000000210435000004ba0010009c000004ba0100804100000040011002100000000002000414000004ba0020009c000004ba02008041000000c002200210000000000121019f0000057b011001c70000800d0200003900000001030000390000057c0400004112e212d80000040f0000000100200190000011310000613d0000000601000039000000000101041a000a00000001001d00000559010000410000000000100443000000000100041000000004001004430000000001000414000004ba0010009c000004ba01008041000000c0011002100000055a011001c70000800a0200003912e212dd0000040f00000001002001900000117d0000613d0000000a02000029000004c104200197000000000301043b0000000001000414000000040040008c00000fba0000c13d000000010200003100000fc90000013d000004ba0010009c000004ba01008041000000c001100210000000000003004b00000fc30000613d000004c2011001c70000800902000039000000000500001900000fc40000013d000000000204001912e212d80000040f0000006002100270000104ba0020019d000004ba022001970003000000010355000000000002004b00000ff10000613d0000001f0120003900000563011001970000003f011000390000056303100197000000400100043d0000000003310019000000000013004b00000000040000390000000104004039000004ca0030009c000011850000213d0000000100400190000011850000c13d000000400030043f000000000521043600000563032001980000001f0220018f0000000001350019000000030400036700000fe40000613d000000000604034f000000006706043c0000000005750436000000000015004b00000fe00000c13d000000000002004b00000ff10000613d000000000334034f0000000302200210000000000401043300000000042401cf000000000424022f000000000303043b0000010002200089000000000323022f00000000022301cf000000000242019f00000000002104350000000502000039000000000102041a0000057201100197000000000012041b000000000102041a000a00000001001d0000000d01000029000000000010043f0000001801000039000000200010043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f0000000100200190000011310000613d000000000101043b000000000101041a000000ff00100190000010ec0000c13d0000000c01000029000000000010043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f0000000100200190000011310000613d0000000a020000290000056d02200197000000000101043b000000000101041a000000ff0110018f00000000002101a0000010ec0000c13d0000000c01000029000000000010043f0000001a01000039000000200010043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f0000000100200190000011310000613d000000000101043b000000000101041a000000ff00100190000010540000613d0000001101000039000000000101041a000000000001004b000010540000613d0000000b021000b90000000b032000fa000000000013004b0000116d0000c13d0000001303000039000000000403041a000000640620011a00000000036400a9000000640020008c0000103c0000413d00000000056300d9000000000045004b0000116d0000c13d00000000031300d90000001604000039000000000504041a000000000035001a0000116d0000413d0000000003350019000000000034041b0000001403000039000000000403041a00000000036400a9000000640020008c0000104b0000413d00000000056300d9000000000045004b0000116d0000c13d00000000031300d90000001704000039000000000504041a000000000035001a0000116d0000413d0000000003350019000000000034041b00000012030000390000108b0000013d0000000d01000029000000000010043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f0000000100200190000011310000613d000000000101043b000000000101041a000000ff00100190000010e50000613d0000000d01000039000000000101041a000000000001004b000010e50000613d0000000b021000b90000000b032000fa000000000013004b0000116d0000c13d0000000f03000039000000000403041a000000640620011a00000000036400a9000000640020008c000010740000413d00000000056300d9000000000045004b0000116d0000c13d00000000031300d90000001604000039000000000504041a000000000035001a0000116d0000413d0000000003350019000000000034041b0000001003000039000000000403041a00000000036400a9000000640020008c000010830000413d00000000056300d9000000000045004b0000116d0000c13d00000000031300d90000001704000039000000000504041a000000000035001a0000116d0000413d0000000003350019000000000034041b0000000e03000039000000000403041a00000000036400a9000000640020008c000010920000413d00000000026300d9000000000042004b0000116d0000c13d00000000011300d90000001502000039000000000202041a000000000012001a0000116d0000413d00000000011200190000001502000039000000000012041b000000000006004b000010e70000613d000a00000006001d0000000001000410000904c10010019c000011730000613d0000000d01000029000000000010043f000000200000043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f0000000100200190000011310000613d000000000101043b000000000101041a0008000a00100074000011590000413d0000000d01000029000000000010043f000000200000043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f0000000100200190000011310000613d000000000101043b0000000802000029000000000021041b0000000901000029000000000010043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f0000000100200190000011310000613d000000000101043b000000000201041a0000000a03000029000000000032001a0000116d0000413d0000000002320019000000000021041b000000400100043d0000000000310435000004ba0010009c000004ba0100804100000040011002100000000002000414000004ba0020009c000004ba02008041000000c002200210000000000112019f000004bd011001c70000800d020000390000000303000039000004da040000410000000d05000029000000090600002912e212d80000040f0000000100200190000010e80000c13d000011310000013d0000000002000019000010eb0000013d000a00000000001d0000000a020000290000000b0020006c0000116d0000213d000b000b002000710000000d01000029000000000010043f000000200000043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f0000000100200190000011310000613d000000000101043b000000000101041a000a000b00100074000011590000413d0000000d01000029000000000010043f000000200000043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f0000000100200190000011310000613d000000000101043b0000000a02000029000000000021041b0000000c01000029000000000010043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f0000000100200190000011310000613d000000000101043b000000000201041a0000000b0020002a0000116d0000413d0000000b030000290000000002320019000000000021041b000000400100043d0000000000310435000004ba0010009c000004ba0100804100000040011002100000000002000414000004ba0020009c000004ba02008041000000c002200210000000000112019f000004bd011001c70000800d020000390000000303000039000004da040000410000000d050000290000000c0600002912e212d80000040f0000000100200190000011310000613d000000000001042d0000000001000019000012e400010430000000400100043d000000440210003900000582030000410000000000320435000000240210003900000015030000390000114e0000013d000000400100043d000000440210003900000581030000410000000000320435000000240210003900000013030000390000114e0000013d000000400100043d00000044021000390000056b030000410000000000320435000000240210003900000012030000390000114e0000013d000000400100043d00000044021000390000056c030000410000000000320435000000240210003900000014030000390000000000320435000004cf020000410000000000210435000000040210003900000020030000390000000000320435000004ba0010009c000004ba010080410000004001100210000004d0011001c7000012e400010430000000400100043d00000064021000390000057f030000410000000000320435000000440210003900000580030000410000000000320435000000240210003900000026030000390000000000320435000004cf020000410000000000210435000000040210003900000020030000390000000000320435000004ba0010009c000004ba01008041000000400110021000000550011001c7000012e400010430000004de01000041000000000010043f0000001101000039000000040010043f000004df01000041000012e400010430000000400100043d00000064021000390000057d03000041000000000032043500000044021000390000057e03000041000000000032043500000024021000390000002303000039000011620000013d000000000001042f000000400100043d00000044021000390000056e03000041000000000032043500000024021000390000001a030000390000114e0000013d000004de01000041000000000010043f0000004101000039000000040010043f000004df01000041000012e400010430000000400100043d00000044021000390000056f03000041000000000032043500000024021000390000001b030000390000114e0000013d000000400100043d000000440210003900000571030000410000113d0000013d000004de01000041000000000010043f0000003201000039000000040010043f000004df01000041000012e400010430000000400100043d00000064021000390000056903000041000000000032043500000044021000390000056a03000041000000000032043500000024021000390000002403000039000011620000013d000000400100043d00000064021000390000056703000041000000000032043500000044021000390000056803000041000000000032043500000024021000390000002203000039000011620000013d000004de01000041000000000010043f0000001201000039000000040010043f000004df01000041000012e4000104300000001f0530018f000004c906300198000000400200043d0000000004620019000011da0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000011bd0000c13d000011da0000013d000004ba033001970000001f0530018f000004c906300198000000400200043d0000000004620019000011da0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000011ca0000c13d000011da0000013d0000001f0530018f000004c906300198000000400200043d0000000004620019000011da0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000011d60000c13d000000000005004b000011e70000613d000000000161034f0000000305500210000000000604043300000000065601cf000000000656022f000000000101043b0000010005500089000000000151022f00000000015101cf000000000161019f00000000001404350000006001300210000004ba0020009c000004ba020080410000004002200210000000000112019f000012e4000104300000000101000032000012150000613d0000001f0310003900000563033001970000003f033000390000056304300197000000400300043d0000000004430019000000000034004b00000000050000390000000105004039000004ca0040009c000012160000213d0000000100500190000012160000c13d000000400040043f000000000513043600000563021001980000001f0310018f00000000012500190000000304000367000012080000613d000000000604034f000000006706043c0000000005750436000000000015004b000012040000c13d000000000003004b000012150000613d000000000224034f0000000303300210000000000401043300000000043401cf000000000434022f000000000202043b0000010003300089000000000232022f00000000023201cf000000000242019f0000000000210435000000000001042d000004de01000041000000000010043f0000004101000039000000040010043f000004df01000041000012e4000104300000000002120049000005830020009c000012280000213d0000001f0020008c000012280000a13d0000000001010433000000000001004b0000000002000039000000010200c039000000000021004b000012280000c13d000000000001042d0000000001000019000012e400010430000000000001004b0000122d0000613d000000000001042d000000400100043d00000044021000390000058403000041000000000032043500000024021000390000000f030000390000000000320435000004cf020000410000000000210435000000040210003900000020030000390000000000320435000004ba0010009c000004ba010080410000004001100210000004d0011001c7000012e40001043000010000000000020000000502000039000000000202041a000004c1032001970000000002000411000000000023004b000012730000c13d000100000001001d0000000b01000039000000000101041a0000055f00100198000012830000c13d0000055101000041000000000010044300000000010004120000000400100443000000200100003900000024001004430000000001000414000004ba0010009c000004ba01008041000000c00110021000000552011001c7000080050200003912e212dd0000040f00000001002001900000128d0000613d0000000102000029000004c102200197000000000101043b000004c50020009c0000128e0000613d000004c101100197000000000012004b0000128e0000613d000000000020043f0000000c01000039000000200010043f0000000001000414000004ba0010009c000004ba01008041000000c001100210000004c6011001c7000080100200003912e212dd0000040f0000000100200190000012a20000613d000000000101043b000000000201041a000005640220019700000001022001bf000000000021041b000000000001042d000000400100043d0000004402100039000004ce030000410000000000320435000004cf02000041000000000021043500000024021000390000002003000039000000000032043500000004021000390000000000320435000004ba0010009c000004ba010080410000004001100210000004d0011001c7000012e400010430000000400100043d00000064021000390000058503000041000000000032043500000044021000390000058603000041000000000032043500000024021000390000002103000039000012970000013d000000000001042f000000400100043d00000064021000390000058703000041000000000032043500000044021000390000058803000041000000000032043500000024021000390000002d030000390000000000320435000004cf020000410000000000210435000000040210003900000020030000390000000000320435000004ba0010009c000004ba01008041000000400110021000000550011001c7000012e4000104300000000001000019000012e400010430000000000001042f000004ba0010009c000004ba010080410000004001100210000004ba0020009c000004ba020080410000006002200210000000000112019f0000000002000414000004ba0020009c000004ba02008041000000c002200210000000000112019f000004c2011001c7000080100200003912e212dd0000040f0000000100200190000012b80000613d000000000101043b000000000001042d0000000001000019000012e40001043000000000050100190000000000200443000000050030008c000012c80000413d000000040100003900000000020000190000000506200210000000000664001900000005066002700000000006060031000000000161043a0000000102200039000000000031004b000012c00000413d000004ba0030009c000004ba0300804100000060013002100000000002000414000004ba0020009c000004ba02008041000000c002200210000000000112019f00000589011001c7000000000205001912e212dd0000040f0000000100200190000012d70000613d000000000101043b000000000001042d000000000001042f000012db002104210000000102000039000000000001042d0000000002000019000000000001042d000012e0002104230000000102000039000000000001042d0000000002000019000000000001042d000012e200000432000012e30001042e000012e40001043000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff426f6e666972650000000000000000000000000000000000000000000000000046495245000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000020000000000000000000000000ffffffffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffff02000000000000000000000000000000000000000000000000000000000000008be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000ad1eca41e6f772be3cb5a48a6141f9bcc1af9f7c0200000000000000000000000000000000000040000000000000000000000000c45a015500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffe0000000000000000000000000000000000000000000000000ffffffffffffffffad5c464800000000000000000000000000000000000000000000000000000000c9c653960000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440000000000000000000000004f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657208c379a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064000000000000000000000000ffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab00000000000000000000000000000000000000000000d3c21bcecceda100000000000000000000000000000000000000000000000000021e19e0c9bab2400000000000000000000000000000000000000000000000000a968163f0a57b400000000000000000000000000000a4ec345c71106dd7e7315404dee0b77120711c949d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7ffffffffffffffffffffffffffffffffffffffffffad482d2337f32d1c000000ffffffffffffffffffffffffffffffffffffffffffad482d2337f32d1bffffff00000000000000000000000000000000000000000052b7d2dcc80cd2e4000000ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000000000000000000001010000000002000000000000000000000000000000c00000010000000000000000004e487b71000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000000000000000000007cb332ba00000000000000000000000000000000000000000000000000000000c8c8ebe300000000000000000000000000000000000000000000000000000000f11a24d200000000000000000000000000000000000000000000000000000000f9f92be300000000000000000000000000000000000000000000000000000000fde83a3300000000000000000000000000000000000000000000000000000000fde83a3400000000000000000000000000000000000000000000000000000000fe575a8700000000000000000000000000000000000000000000000000000000f9f92be400000000000000000000000000000000000000000000000000000000fb19c76000000000000000000000000000000000000000000000000000000000f637434100000000000000000000000000000000000000000000000000000000f637434200000000000000000000000000000000000000000000000000000000f8b45b0500000000000000000000000000000000000000000000000000000000f11a24d300000000000000000000000000000000000000000000000000000000f2fde38b00000000000000000000000000000000000000000000000000000000d85ba06200000000000000000000000000000000000000000000000000000000e19b282200000000000000000000000000000000000000000000000000000000e19b282300000000000000000000000000000000000000000000000000000000e2f4560500000000000000000000000000000000000000000000000000000000d85ba06300000000000000000000000000000000000000000000000000000000dd62ed3e00000000000000000000000000000000000000000000000000000000d257b34e00000000000000000000000000000000000000000000000000000000d257b34f00000000000000000000000000000000000000000000000000000000d729715f00000000000000000000000000000000000000000000000000000000c8c8ebe400000000000000000000000000000000000000000000000000000000cf456ae700000000000000000000000000000000000000000000000000000000a9059cba00000000000000000000000000000000000000000000000000000000bbc0c74100000000000000000000000000000000000000000000000000000000c024666700000000000000000000000000000000000000000000000000000000c024666800000000000000000000000000000000000000000000000000000000c17b5b8c00000000000000000000000000000000000000000000000000000000bbc0c74200000000000000000000000000000000000000000000000000000000bc205ad300000000000000000000000000000000000000000000000000000000adee28fe00000000000000000000000000000000000000000000000000000000adee28ff00000000000000000000000000000000000000000000000000000000b62496f500000000000000000000000000000000000000000000000000000000a9059cbb00000000000000000000000000000000000000000000000000000000aa0e43880000000000000000000000000000000000000000000000000000000095d89b40000000000000000000000000000000000000000000000000000000009c2e4ac5000000000000000000000000000000000000000000000000000000009c2e4ac600000000000000000000000000000000000000000000000000000000a457c2d70000000000000000000000000000000000000000000000000000000095d89b41000000000000000000000000000000000000000000000000000000009a7a23d6000000000000000000000000000000000000000000000000000000008da5cb5a000000000000000000000000000000000000000000000000000000008da5cb5b00000000000000000000000000000000000000000000000000000000924de9b7000000000000000000000000000000000000000000000000000000007cb332bb000000000000000000000000000000000000000000000000000000008095d5640000000000000000000000000000000000000000000000000000000040c10f18000000000000000000000000000000000000000000000000000000006a486a8d000000000000000000000000000000000000000000000000000000007571336900000000000000000000000000000000000000000000000000000000782c4e9800000000000000000000000000000000000000000000000000000000782c4e99000000000000000000000000000000000000000000000000000000007ca8448a000000000000000000000000000000000000000000000000000000007571336a0000000000000000000000000000000000000000000000000000000075e3661e0000000000000000000000000000000000000000000000000000000070a082300000000000000000000000000000000000000000000000000000000070a0823100000000000000000000000000000000000000000000000000000000715018a6000000000000000000000000000000000000000000000000000000006a486a8e000000000000000000000000000000000000000000000000000000006ddd1713000000000000000000000000000000000000000000000000000000004fbee19200000000000000000000000000000000000000000000000000000000599270430000000000000000000000000000000000000000000000000000000059927044000000000000000000000000000000000000000000000000000000005f189361000000000000000000000000000000000000000000000000000000004fbee193000000000000000000000000000000000000000000000000000000005768ab21000000000000000000000000000000000000000000000000000000004a62bb64000000000000000000000000000000000000000000000000000000004a62bb65000000000000000000000000000000000000000000000000000000004e29e5230000000000000000000000000000000000000000000000000000000040c10f190000000000000000000000000000000000000000000000000000000049bd5a5e0000000000000000000000000000000000000000000000000000000019eab0410000000000000000000000000000000000000000000000000000000027c8f83400000000000000000000000000000000000000000000000000000000395093500000000000000000000000000000000000000000000000000000000039509351000000000000000000000000000000000000000000000000000000003dc599ff0000000000000000000000000000000000000000000000000000000027c8f83500000000000000000000000000000000000000000000000000000000313ce5670000000000000000000000000000000000000000000000000000000023b872dc0000000000000000000000000000000000000000000000000000000023b872dd0000000000000000000000000000000000000000000000000000000024b9f3c10000000000000000000000000000000000000000000000000000000019eab042000000000000000000000000000000000000000000000000000000001a8145bb0000000000000000000000000000000000000000000000000000000010d5de52000000000000000000000000000000000000000000000000000000001694505d000000000000000000000000000000000000000000000000000000001694505e0000000000000000000000000000000000000000000000000000000018160ddd0000000000000000000000000000000000000000000000000000000010d5de5300000000000000000000000000000000000000000000000000000000156c2f350000000000000000000000000000000000000000000000000000000006fdde0300000000000000000000000000000000000000000000000000000000095ea7b3000000000000000000000000000000000000000000000000000000000e922ca700000000000000000000000000000000000000200000008000000000000000004f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573730000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008400000080000000000000000000000000000000000000000000000000000000000000000000000000000186a05377617020616d742063616e6e6f74206265203c20302e3030312520746f74616c20737570706c792e00000000000000000000000000000000000000000000005377617020616d742063616e6e6f74206265203e20302e352520746f74616c20737570706c792e0000000000000000000000000000000000000000000000000053656c6c2066656573206d757374206265203c3d20352e000000000000000000000000000000000000000000000000000000006400000080000000000000000070a08231000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024000000800000000000000000a9059cbb000000000000000000000000000000000000000000000000000000005f746f6b656e2063616e6e6f7420626520300000000000000000000000000000c9f2d63eee8632b33d7a7db5252eb29036e81ee4fbe29260febe0c49ffb8a7bb0000000000000000000000000000000000000020000000000000000000000000207a65726f00000000000000000000000000000000000000000000000000000045524332303a2064656372656173656420616c6c6f77616e63652062656c6f770000000000000000000000000000000000000084000000000000000000000000310ab089e4439a4c15d089f94afb7896ff553aecb10793d0ab882de59d99a32e020000020000000000000000000000000000004400000000000000000000000043616e6e6f742072656d6f7665206d61696e20706169720000000000000000008a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0000000000000000000000000000000000000000000000000000000000010000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff4275792066656573206d757374206265203c3d20352e000000000000000000008aa0f85050aca99be43beb823e0457e77966b3baf697a289b03681978f9616689cc7f708afc65944829bd487b90b72536b1951864fbfc14e125fc972a6507f3902000002000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000000000000000000000000ff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffff000000000000000000000000000000000000000000000000000000000100000045524332303a206d696e7420746f20746865207a65726f20616464726573730000000000000000000000000000000000000000000000000000000000ff0000006c6c6f77616e636500000000000000000000000000000000000000000000000045524332303a207472616e7366657220616d6f756e7420657863656564732061c2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85bffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925737300000000000000000000000000000000000000000000000000000000000045524332303a20617070726f766520746f20746865207a65726f206164647265726573730000000000000000000000000000000000000000000000000000000045524332303a20617070726f76652066726f6d20746865207a65726f2061646453656e64657220626c61636b6c69737465640000000000000000000000000000526563656976657220626c61636b6c69737465640000000000000000000000000000000000000000000000ff0000000000000000000000000000000000000000427579203e206d61785472616e73616374696f6e416d6f756e7400000000000053656c6c203e206d61785472616e73616374696f6e416d6f756e7400000000004d61782077616c6c65742065786365656465640000000000000000000000000054726164696e67206e6f74206163746976652e00000000000000000000000000ffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff0000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffa01806aa1896bbf26568e884a7374b41e002500962caba6a15023a8d90e8508b83791ac94700000000000000000000000000000000000000000000000000000000796b89b91644bc98cd93958e4c9038275d622183e25ac5af08cc6b5d955391320200000200000000000000000000000000000004000000000000000000000000f305d7190000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000c4000000000000000000000000020000000000000000000000000000000000006000000000000000000000000017bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb561657373000000000000000000000000000000000000000000000000000000000045524332303a207472616e7366657220746f20746865207a65726f2061646472616c616e6365000000000000000000000000000000000000000000000000000045524332303a207472616e7366657220616d6f756e742065786365656473206245524332303a207866657220746f207a65726f0000000000000000000000000045524332303a20786665722066726f6d207a65726f00000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5472616e73666572206661696c6564000000000000000000000000000000000073000000000000000000000000000000000000000000000000000000000000005465616d20686173207265766f6b656420626c61636b6c6973742072696768746572206f7220763220706f6f6c0000000000000000000000000000000000000043616e6e6f7420626c61636b6c69737420746f6b656e277320763220726f7574020000020000000000000000000000000000000000000000000000000000000088b81b63ec97a11db1ce41f007be59501ea49cc2b904af3c3d2d5eceb71c7c5a

[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.