code: def build_map_chunk_kw(self, inputs, **kw):
      if (
          kw.get("index_value", None) is None
          and inputs[0].index_value is not None
      ):
          input_index_value = inputs[0].index_value
          index_min_max = self.index_min_max
          if index_min_max is not None:
              kw["index_value"] = filter_index_value(
                  input_index_value, index_min_max
              )
          else:
              kw["index_value"] = parse_index(
                  inputs[0].index_value.to_pandas(),
                  input_index_value,
                  type(self).__name__,
              )
      if self.output_types[0] == OutputType.dataframe:
          if (
              kw.get("columns_value", None) is None
              and getattr(inputs[0], "columns_value", None) is not None
          ):
              input_columns_value = inputs[0].columns_value
              input_dtypes = inputs[0].dtypes
              column_min_max = self.column_min_max
              if column_min_max is not None:
                  kw["columns_value"] = filter_index_value(
                      input_columns_value,
                      column_min_max,
                      store_data=True,
                  )
              else:
                  kw["columns_value"] = parse_index(
                      inputs[0].columns_value.to_pandas(),
                      input_columns_value,
                      type(self).__name__,
                  )
              kw["dtypes"] = input_dtypes[
                  kw["columns_value"].to_pandas()
              ]
              column_shuffle_size = self.column_shuffle_size
              if column_shuffle_size is not None:
                  self.column_shuffle_segments = hash_dtypes(
                      input_dtypes, column_shuffle_size
                  )
      else:
          if (
              kw.get("dtype", None) is None
              and getattr(inputs[0], "dtype", None) is not None
          ):
              kw["dtype"] = inputs[0].dtype
          if (
              kw.get("name", None) is None
              and getattr(inputs[0], "name", None) is not None
          ):
              kw["name"] = inputs[0].name
      return kw
  
imports: import itertools
  import operator
  import numpy
  import pandas
  from ..None import opcodes
  from ..core import OutputType
  from ..core.operand import OperandStage, MapReduceOperand
  from ..serialization.serializables import FieldTypes, AnyField, BoolField, Int32Field, KeyField, ListField
  from .core import SERIES_CHUNK_TYPE
  from .utils import hash_dtypes, filter_dtypes
  from .operands import DataFrameOperandMixin, DataFrameShuffleProxy
  from .utils import parse_index, split_monotonic_index_min_max, build_split_idx_to_origin_idx, filter_index_value, hash_index, is_index_value_identical, validate_axis
label_desc: Use image node_id 5 for calling the DataFrameIndexAlign obj's underlying member method code with example usage: obj.build_map_chunk_kw(inputs) and returns: kw