code: def _build_ignore_columns(
      input_dict: Dict[str, List[str]]
  ) -> DefaultDict[str, set]:
      """Iterates over the input dictionary to build the ignore_columns defaultdict.
      Expects the input_dict's keys to be strings, and values to be lists of strings.
      Throws a TypeError if they are not.
      """
      ignore_columns = defaultdict(set)
      if input_dict is not None:
          for df_name, cols in input_dict.items():
              if not isinstance(df_name, str) or not isinstance(
                  cols, list
              ):
                  raise TypeError(
                      "ignore_columns should be dict[str -> list]"
                  )
              elif not all(isinstance(c, str) for c in cols):
                  raise TypeError(
                      "list in ignore_columns must only have string values"
                  )
              ignore_columns[df_name] = set(cols)
      return ignore_columns
  
imports: import functools
  import logging
  import operator
  import warnings
  from collections import defaultdict
  from typing import Any, DefaultDict, Dict, List, Tuple, Type
  from woodwork.column_schema import ColumnSchema
  from woodwork.logical_types import Boolean, BooleanNullable
  from featuretools import primitives
  from featuretools.entityset.entityset import LTI_COLUMN_NAME
  from featuretools.entityset.relationship import RelationshipPath
  from featuretools.feature_base import AggregationFeature, DirectFeature, FeatureBase, GroupByTransformFeature, IdentityFeature, TransformFeature
  from featuretools.feature_base.cache import CacheType, feature_cache
  from featuretools.feature_base.utils import is_valid_input
  from featuretools.primitives.base import AggregationPrimitive, PrimitiveBase, TransformPrimitive
  from featuretools.primitives.options_utils import filter_groupby_matches_by_options, filter_matches_by_options, generate_all_primitive_options, ignore_dataframe_for_primitive
  from featuretools.utils.gen_utils import Library, camel_and_title_to_snake
label_desc: Use image node_id 12 for calling a global function with example usage: _build_ignore_columns(input_dict) and returns: ignore_columns