code: def get_spark_conf_gcs_requester_pays_configuration() -> (
      Optional[SparkConfGcsRequseterPaysConfiguration]
  ):
      mode: Optional[SparkConfGcsRequesterPaysMode] = None
      project: Optional[str] = None
      buckets: Optional[List[str]] = None
      path = spark_conf_path()
      if path is not None and os.path.exists(path):
          props = Properties()
          with open(path, "rb") as f:
              props.load(f, "utf-8")
          for key, (val, _) in dict(props).items():
              if key == "spark.hadoop.fs.gs.requester.pays.mode":
                  try:
                      mode = SparkConfGcsRequesterPaysMode(val)
                  except ValueError as exc:
                      raise ValueError(
                          f"When reading GCS requester pays configuration from "
                          f"spark-defaults.conf ({path}) an unknown mode was "
                          f"found: {val}. Expected ENABLED, AUTO, CUSTOM, or "
                          f"DISABLED."
                      ) from exc
              elif (
                  key == "spark.hadoop.fs.gs.requester.pays.project.id"
              ):
                  project = val
              elif key == "spark.hadoop.fs.gs.requester.pays.buckets":
                  buckets = val.split(",")
          if mode or project or buckets:
              return SparkConfGcsRequseterPaysConfiguration(
                  mode, project, buckets, path
              )
      return None
  
file_path: hail/hail/python/hailtop/aiocloud/aiogoogle/user_config.py
imports: from typing import Optional, List, Union, Tuple
  import os
  import warnings
  from jproperties import Properties
  from enum import Enum
  from dataclasses import dataclass
  from hailtop.config.user_config import configuration_of
  from hailtop.config.variables import ConfigVariable
label_desc: Use image node_id 3 for calling a global function with example usage: get_spark_conf_gcs_requester_pays_configuration() and returns: None, SparkConfGcsRequseterPaysConfiguration