code: def _evaluate_dict_node(
      ctx: _Context, node_id: str, data: Mapping[str, _Data]
  ) -> _Data:
      """A functional interface for `DictNode`."""
      dict_node = ctx.input_graph.nodes[node_id].dict_node
      result = {}
      for dict_key, node_id in dict_node.node_ids.items():
          result[dict_key] = data[node_id]
      return result
  
imports: import collections
  import dataclasses
  import functools
  from typing import Union, Sequence, Mapping, Tuple, List, Iterable, Callable
  from tfx import types
  from tfx.dsl.components.common import resolver
  from tfx.dsl.input_resolution import resolver_op
  from tfx.dsl.input_resolution.ops import ops
  from tfx.orchestration import data_types_utils
  from tfx.orchestration import metadata
  from tfx.orchestration.portable.input_resolution import exceptions
  from tfx.proto.orchestration import pipeline_pb2
  from tfx.utils import topsort
  from tfx.utils import typing_utils
label_desc: Use image node_id 4 for calling a global function with example usage: _evaluate_dict_node(ctx, node_id, data) and returns: result