




from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_flax_available,
    is_tf_available,
    is_torch_available,
)


SCREAMING_SNAKE_CASE_						       =	{
    """configuration_wav2vec2""": ["""WAV_2_VEC_2_PRETRAINED_CONFIG_ARCHIVE_MAP""", """Wav2Vec2Config"""],
    """feature_extraction_wav2vec2""": ["""Wav2Vec2FeatureExtractor"""],
    """processing_wav2vec2""": ["""Wav2Vec2Processor"""],
    """tokenization_wav2vec2""": ["""Wav2Vec2CTCTokenizer""", """Wav2Vec2Tokenizer"""],
}


try:
      if not is_torch_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      SCREAMING_SNAKE_CASE_						       =	[
          """WAV_2_VEC_2_PRETRAINED_MODEL_ARCHIVE_LIST""",
          """Wav2Vec2ForAudioFrameClassification""",
          """Wav2Vec2ForCTC""",
          """Wav2Vec2ForMaskedLM""",
          """Wav2Vec2ForPreTraining""",
          """Wav2Vec2ForSequenceClassification""",
          """Wav2Vec2ForXVector""",
          """Wav2Vec2Model""",
          """Wav2Vec2PreTrainedModel""",
      ]

try:
      if not is_tf_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      SCREAMING_SNAKE_CASE_						       =	[
          """TF_WAV_2_VEC_2_PRETRAINED_MODEL_ARCHIVE_LIST""",
          """TFWav2Vec2ForCTC""",
          """TFWav2Vec2Model""",
          """TFWav2Vec2PreTrainedModel""",
          """TFWav2Vec2ForSequenceClassification""",
      ]

try:
      if not is_flax_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      SCREAMING_SNAKE_CASE_						       =	[
          """FlaxWav2Vec2ForCTC""",
          """FlaxWav2Vec2ForPreTraining""",
          """FlaxWav2Vec2Model""",
          """FlaxWav2Vec2PreTrainedModel""",
      ]


if TYPE_CHECKING:
      from .configuration_wavaveca import WAV_2_VEC_2_PRETRAINED_CONFIG_ARCHIVE_MAP, WavaVecaConfig
      from .feature_extraction_wavaveca import WavaVecaFeatureExtractor
      from .processing_wavaveca import WavaVecaProcessor
      from .tokenization_wavaveca import WavaVecaCTCTokenizer, WavaVecaTokenizer

      try:
            if not is_torch_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_wavaveca import (
                WAV_2_VEC_2_PRETRAINED_MODEL_ARCHIVE_LIST,
                WavaVecaForAudioFrameClassification,
                WavaVecaForCTC,
                WavaVecaForMaskedLM,
                WavaVecaForPreTraining,
                WavaVecaForSequenceClassification,
                WavaVecaForXVector,
                WavaVecaModel,
                WavaVecaPreTrainedModel,
            )

      try:
            if not is_tf_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_tf_wavaveca import (
                TF_WAV_2_VEC_2_PRETRAINED_MODEL_ARCHIVE_LIST,
                TFWavaVecaForCTC,
                TFWavaVecaForSequenceClassification,
                TFWavaVecaModel,
                TFWavaVecaPreTrainedModel,
            )

      try:
            if not is_flax_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_tf_wavaveca import (
                FlaxWavaVecaForCTC,
                FlaxWavaVecaForPreTraining,
                FlaxWavaVecaModel,
                FlaxWavaVecaPreTrainedModel,
            )


else:
      import sys

      SCREAMING_SNAKE_CASE_						       =	_LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)









from __future__ import annotations



def        __lowercase       (				_SCREAMING_SNAKE_CASE     )			->       list[int]:


      '''simple docstring'''


      SCREAMING_SNAKE_CASE		=						2
      SCREAMING_SNAKE_CASE		=						[]
      while i * i <= n:
            if n % i:
                  i += 1
            else:
                  n //= i
                  factors.append(_SCREAMING_SNAKE_CASE     )
      if n > 1:
            factors.append(_SCREAMING_SNAKE_CASE     )
      return factors


if __name__ == "__main__":
      import doctest

      doctest.testmod()


