code: def _decompose_dld(self, config):
      self._dld = {}
      if isinstance(config, list):
          return config
      # config is dict
      list_config = []
      for key in config:
          self._dld[key] = []
          for para in config[key]:
              self._dld[key].append(para["parameterName"])
              newpara = para.copy()
              newpara["parameterName"] = (
                  key + ":" + para["parameterName"]
              )
              if "cutPara" in para.keys():
                  if isinstance(newpara["cutPara"], str):
                      newpara["cutPara"] = key + ":" + para["cutPara"]
                  else:
                      newpara["cutPara"] = [
                          key + ":" + cutname
                          for cutname in para["cutPara"]
                      ]
              list_config.append(newpara)
      return list_config
  
imports: from ...utils import get_logger
  import hyperopt
  import time
  import math
  import dill
  import multiprocessing
  import copy
  import random
label_desc: Use image node_id 2 for calling the BaseHPOptimizer obj's underlying member method code with example usage: obj._decompose_dld(config) and returns: list_config, config