code: 
  
  
  import os
  
  from packaging import version
  
  from .. import __version__
  from .accelerate_utils import apply_forward_hook
  from .constants import (
      CONFIG_NAME,
      DEPRECATED_REVISION_ARGS,
      DIFFUSERS_CACHE,
      DIFFUSERS_DYNAMIC_MODULE_NAME,
      FLAX_WEIGHTS_NAME,
      HF_MODULES_CACHE,
      HUGGINGFACE_CO_RESOLVE_ENDPOINT,
      ONNX_EXTERNAL_WEIGHTS_NAME,
      ONNX_WEIGHTS_NAME,
      SAFETENSORS_WEIGHTS_NAME,
      TEXT_ENCODER_ATTN_MODULE,
      WEIGHTS_NAME,
  )
  from .deprecation_utils import deprecate
  from .doc_utils import replace_example_docstring
  from .dynamic_modules_utils import get_class_from_dynamic_module
  from .hub_utils import (
      HF_HUB_OFFLINE,
      _add_variant,
      _get_model_file,
      extract_commit_hash,
      http_user_agent,
  )
  from .import_utils import (
      BACKENDS_MAPPING,
      ENV_VARS_TRUE_AND_AUTO_VALUES,
      ENV_VARS_TRUE_VALUES,
      USE_JAX,
      USE_TF,
      USE_TORCH,
      DummyObject,
      OptionalDependencyNotAvailable,
      is_accelerate_available,
      is_accelerate_version,
      is_bsa_available,
      is_flax_available,
      is_ftfy_available,
      is_inflect_available,
      is_invisible_watermark_available,
      is_k_diffusion_available,
      is_k_diffusion_version,
      is_librosa_available,
      is_note_seq_available,
      is_omegaconf_available,
      is_onnx_available,
      is_safetensors_available,
      is_scipy_available,
      is_tensorboard_available,
      is_tf_available,
      is_torch_available,
      is_torch_version,
      is_torchsde_available,
      is_transformers_available,
      is_transformers_version,
      is_unidecode_available,
      is_wandb_available,
      is_xformers_available,
      requires_backends,
  )
  from .logging import get_logger
  from .outputs import BaseOutput
  from .pil_utils import PIL_INTERPOLATION, numpy_to_pil, pt_to_pil
  from .torch_utils import is_compiled_module, randn_tensor
  
  
  if is_torch_available():
  	from .testing_utils import (
  	    floats_tensor,
  	    load_hf_numpy,
  	    load_image,
  	    load_numpy,
  	    load_pt,
  	    nightly,
  	    parse_flag_from_env,
  	    print_tensor_test,
  	    require_torch_a,
  	    require_torch_gpu,
  	    skip_mps,
  	    slow,
  	    torch_all_close,
  	    torch_device,
  	)
  	from .torch_utils import maybe_allow_in_graph
  
  from .testing_utils import export_to_gif, export_to_video
  
  
  SCREAMING_SNAKE_CASE : Optional[Any]          =    get_logger(__name__)
  
  
  
  
  
  def 						_lowerCamelCase		(							SCREAMING_SNAKE_CASE_				: Optional[Any]      ):
  
  
  
  
  
  
  							"""simple docstring"""
  
  
  
  							if version.parse(SCREAMING_SNAKE_CASE_      ) < version.parse(SCREAMING_SNAKE_CASE_      ):
  														if "dev" in min_version:
  																					a_       :   str			=	(
  																					    """This example requires a source install from HuggingFace diffusers (see """
  																					    """`https://huggingface.co/docs/diffusers/installation#install-from-source`),"""
  																					)
  														else:
  																					a_       :   Any			=	F"""This example requires a minimum version of {min_version},"""
  														error_message += F""" but the version found is {__version__}.\n"""
  														raise ImportError(SCREAMING_SNAKE_CASE_      )
  
  
  
style_context: 
  
  
  import itertools
  from dataclasses import dataclass
  from typing import Optional
  
  import pyarrow as pa
  
  import datasets
  from datasets.table import table_cast
  
  
  SCREAMING_SNAKE_CASE : int          =    datasets.utils.logging.get_logger(__name__)
  
  
  
  
  
  @dataclass
  class 					snake_case__  ( datasets.BuilderConfig       ):
  	UpperCAmelCase   :							Optional[datasets.Features]         = None
  
  
  
  
  
  class 					snake_case__  ( datasets.ArrowBasedBuilder       ):
  	UpperCAmelCase   :							Optional[int]         = ArrowConfig
  
  
  
  
  
  	def     A				(  self							)		->			str:
  								"""simple docstring"""
  
  
  
  
  
  
  								return datasets.DatasetInfo(features=self.config.features							)
  
  
  
  
  
  	def     A				(  self				,    UpperCamelCase_							)		->			str:
  								"""simple docstring"""
  
  
  
  
  
  
  								if not self.config.data_files:
  															raise ValueError(f"""At least one data file must be specified, but got data_files={self.config.data_files}"""							)
  								a_       :   List[str]			=	dl_manager.download_and_extract(self.config.data_files							)
  								if isinstance(UpperCamelCase_				,    (str, list, tuple)							):
  															a_       :   Dict			=	data_files
  															if isinstance(UpperCamelCase_				,    UpperCamelCase_							):
  																						a_       :   Optional[Any]			=	[files]
  															# Use `dl_manager.iter_files` to skip hidden files in an extracted archive
  															a_       :   List[Any]			=	[dl_manager.iter_files(UpperCamelCase_							) for file in files]
  															return [datasets.SplitGenerator(name=datasets.Split.TRAIN				,    gen_kwargs={"""files""": files}							)]
  								a_       :   Any			=	[]
  								for split_name, files in data_files.items():
  															if isinstance(UpperCamelCase_				,    UpperCamelCase_							):
  																						a_       :   Dict			=	[files]
  															# Use `dl_manager.iter_files` to skip hidden files in an extracted archive
  															a_       :   List[Any]			=	[dl_manager.iter_files(UpperCamelCase_							) for file in files]
  															# Infer features is they are stoed in the arrow schema
  															if self.info.features is None:
  																						for file in itertools.chain.from_iterable(UpperCamelCase_							):
  																													with open(UpperCamelCase_				,    """rb"""							) as f:
  																																				a_       :   List[str]			=	datasets.Features.from_arrow_schema(pa.ipc.open_stream(UpperCamelCase_							).schema							)
  																													break
  															splits.append(datasets.SplitGenerator(name=UpperCamelCase_				,    gen_kwargs={"""files""": files}							)							)
  								return splits
  
  
  
  
  
  	def     A				(  self				,    UpperCamelCase_							)		->			pa.Table:
  								"""simple docstring"""
  
  
  
  
  
  
  								if self.info.features is not None:
  															# more expensive cast to support nested features with keys in a different order
  															# allows str <-> int/float or str to Audio for example
  															a_       :   int			=	table_cast(UpperCamelCase_				,    self.info.features.arrow_schema							)
  								return pa_table
  
  
  
  
  
  	def     A				(  self				,    UpperCamelCase_							)		->			Optional[Any]:
  								"""simple docstring"""
  
  
  
  
  
  
  								for file_idx, file in enumerate(itertools.chain.from_iterable(UpperCamelCase_							)							):
  															with open(UpperCamelCase_				,    """rb"""							) as f:
  																						try:
  																													for batch_idx, record_batch in enumerate(pa.ipc.open_stream(UpperCamelCase_							)							):
  																																				a_       :   Tuple			=	pa.Table.from_batches([record_batch]							)
  																																				# Uncomment for debugging (will print the Arrow table size and elements)
  																																				# logger.warning(f"pa_table: {pa_table} num rows: {pa_table.num_rows}")
  																																				# logger.warning('\n'.join(str(pa_table.slice(i, 1).to_pydict()) for i in range(pa_table.num_rows)))
  																																				yield f"""{file_idx}_{batch_idx}""", self._cast_table(UpperCamelCase_							)
  																						except ValueError as e:
  																													logger.error(f"""Failed to read file '{file}' with error {type(UpperCamelCase_							)}: {e}"""							)
  																													raise
  
  
  