code: def _get_handle_fqns_from_root(
      state: _FSDPState, handle: "FlatParamHandle"
  ) -> Optional[List[str]]:
      if handle is None:
          return None
      param_to_fqn = state._exec_order_data.param_to_fqn
      handle_params = (
          handle.flat_param._params
      )  # only populated for use_orig_params
      param_fqns = [
          fqn
          for fqn_list in [param_to_fqn[p] for p in handle_params]
          for fqn in fqn_list
      ]
      return param_fqns
  
imports: import logging
  import traceback
  import warnings
  import weakref
  from enum import auto, Enum
  from functools import partial
  from typing import Any, Callable, cast, Dict, Generator, Iterable, List, no_type_check, Optional, Set, Tuple, Type, TYPE_CHECKING
  import torch
  import torch.distributed
  import torch.distributed.fsdp._flat_param
  import torch.nn
  from torch.distributed._composable_state import _get_module_state, _State
  from torch.distributed._tensor.device_mesh import DeviceMesh
  from torch.distributed.algorithms._checkpoint.checkpoint_wrapper import _CHECKPOINT_PREFIX
  from torch.distributed.fsdp._fsdp_extensions import FSDPExtensions
  from torch.distributed.utils import _apply_to_tensors
  from torch.utils._mode_utils import no_dispatch
  from .api import FullOptimStateDictConfig, FullStateDictConfig, OptimStateDictConfig, ShardingStrategy, StateDictConfig, StateDictType
label_desc: Use image node_id 13 for calling a global function with example usage: _get_handle_fqns_from_root(state, handle) and returns: param_fqns, None