code: def make_default_output_config(
      input_config: Union[example_gen_pb2.Input, Dict[str, Any]]
  ) -> example_gen_pb2.Output:
      """Returns default output config based on input config."""
      if isinstance(input_config, example_gen_pb2.Input):
          input_config = json_format.MessageToDict(
              input_config,
              including_default_value_fields=True,
              preserving_proto_field_name=True,
          )
  
      if len(input_config["splits"]) > 1:
          # Returns empty output split config as output split will be same as input.
          return example_gen_pb2.Output()
      else:
          # Returns 'train' and 'eval' splits with size 2:1.
          return example_gen_pb2.Output(
              split_config=example_gen_pb2.SplitConfig(
                  splits=[
                      example_gen_pb2.SplitConfig.Split(
                          name="train", hash_buckets=2
                      ),
                      example_gen_pb2.SplitConfig.Split(
                          name="eval", hash_buckets=1
                      ),
                  ]
              )
          )
  
imports: import datetime
  import os
  import re
  from typing import Any, Dict, Iterable, List, Optional, Tuple, Union
  from absl import logging
  import numpy
  from tfx.dsl.io import fileio
  from tfx.proto import example_gen_pb2
  from tfx.proto import range_config_pb2
  from tfx.utils import io_utils
  from google.protobuf import json_format
  from tensorflow.core.example import example_pb2
  from tensorflow.core.example import feature_pb2
label_desc: Use image node_id 5 for calling a global function with example usage: make_default_output_config(input_config) and returns: example_gen_pb2, example_gen_pb2