code: def check_param(
      alpha: float,
      beta: float,
      gamma: float,
      phi: float,
      lower: np.ndarray,
      upper: np.ndarray,
      bounds: str,
      m: int,
  ):
      if bounds != "admissible":
          if not np.isnan(alpha):
              if alpha < lower[0] or alpha > upper[0]:
                  return False
          if not np.isnan(beta):
              if beta < lower[1] or beta > alpha or beta > upper[1]:
                  return False
          if not np.isnan(phi):
              if phi < lower[3] or phi > upper[3]:
                  return False
          if not np.isnan(gamma):
              if (
                  gamma < lower[2]
                  or gamma > 1 - alpha
                  or gamma > upper[2]
              ):
                  return False
      if bounds != "usual":
          if not admissible(alpha, beta, gamma, phi, m):
              return False
      return True
  
imports: import math
  from collections import namedtuple
  from typing import Tuple
  import numpy
  from numba import njit
  from numba.typed import List
  from statsmodels.tsa.seasonal import seasonal_decompose
  from .utils import _calculate_intervals, CACHE, NOGIL
label_desc: Use image node_id 8 for calling a global function with example usage: check_param(alpha, beta, gamma, phi, lower, upper, bounds, m) and returns: True, False, False, False, False, False