



'''simple docstring'''




from typing import TYPE_CHECKING

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


snake_case  =			{
    '''configuration_bart''': ['''BART_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''BartConfig''', '''BartOnnxConfig'''],
    '''tokenization_bart''': ['''BartTokenizer'''],
}

try:
 if not is_tokenizers_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 snake_case  =			['''BartTokenizerFast''']

try:
 if not is_torch_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 snake_case  =			[
     '''BART_PRETRAINED_MODEL_ARCHIVE_LIST''',
     '''BartForCausalLM''',
     '''BartForConditionalGeneration''',
     '''BartForQuestionAnswering''',
     '''BartForSequenceClassification''',
     '''BartModel''',
     '''BartPretrainedModel''',
     '''PretrainedBartModel''',
 ]

try:
 if not is_tf_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 snake_case  =			[
     '''TFBartForConditionalGeneration''',
     '''TFBartForSequenceClassification''',
     '''TFBartModel''',
     '''TFBartPretrainedModel''',
 ]

try:
 if not is_flax_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 snake_case  =			[
     '''FlaxBartDecoderPreTrainedModel''',
     '''FlaxBartForCausalLM''',
     '''FlaxBartForConditionalGeneration''',
     '''FlaxBartForQuestionAnswering''',
     '''FlaxBartForSequenceClassification''',
     '''FlaxBartModel''',
     '''FlaxBartPreTrainedModel''',
 ]

if TYPE_CHECKING:
 from .configuration_bart import BART_PRETRAINED_CONFIG_ARCHIVE_MAP, BartConfig, BartOnnxConfig
 from .tokenization_bart import BartTokenizer

 try:
  if not is_tokenizers_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .tokenization_bart_fast import BartTokenizerFast

 try:
  if not is_torch_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_bart import (
      BART_PRETRAINED_MODEL_ARCHIVE_LIST,
      BartForCausalLM,
      BartForConditionalGeneration,
      BartForQuestionAnswering,
      BartForSequenceClassification,
      BartModel,
      BartPretrainedModel,
      PretrainedBartModel,
  )

 try:
  if not is_tf_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_tf_bart import (
      TFBartForConditionalGeneration,
      TFBartForSequenceClassification,
      TFBartModel,
      TFBartPretrainedModel,
  )

 try:
  if not is_flax_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_flax_bart import (
      FlaxBartDecoderPreTrainedModel,
      FlaxBartForCausalLM,
      FlaxBartForConditionalGeneration,
      FlaxBartForQuestionAnswering,
      FlaxBartForSequenceClassification,
      FlaxBartModel,
      FlaxBartPreTrainedModel,
  )

else:
 import sys

 snake_case  =			_LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)






'''simple docstring'''




import unittest

from transformers import is_torch_available, load_tool

from .test_tools_common import ToolTesterMixin


if is_torch_available():
 import torch





class        SCREAMING_SNAKE_CASE   (				unittest.TestCase	,						__a ):
  """simple docstring"""







  def   a   (  self   :					List[str]					):


        """simple docstring"""



        _lowerCAmelCase		   =   load_tool('speech-to-text'					)
        self.tool.setup()



  def   a   (  self   :					Any					):


        """simple docstring"""



        _lowerCAmelCase		   =   self.tool(torch.ones(3000					)					)
        self.assertEqual(__lowerCAmelCase					,					' you'					)



  def   a   (  self   :					Optional[int]					):


        """simple docstring"""



        _lowerCAmelCase		   =   self.tool(audio=torch.ones(3000					)					)
        self.assertEqual(__lowerCAmelCase					,					' you'					)





