



"""simple docstring"""
import unittest

from transformers import DebertaVaTokenizer, DebertaVaTokenizerFast
from transformers.testing_utils import get_tests_dir, require_sentencepiece, require_tokenizers, slow

from ...test_tokenization_common import TokenizerTesterMixin


UpperCAmelCase						:		Optional[Any]			= get_tests_dir("fixtures/spiece.model")


@require_sentencepiece
@require_tokenizers
class    SCREAMING_SNAKE_CASE__ (							__UpperCAmelCase      ,  unittest.TestCase   ):
    lowercase__      =   DebertaVaTokenizer
    lowercase__      =   DebertaVaTokenizerFast
    lowercase__      =   True
    lowercase__      =   True

    def 					_UpperCAmelCase	(				self			:				List[str]):







      """simple docstring"""







      super().setUp()

      # We have a SentencePiece fixture for testing
      lowercase_								= DebertaVaTokenizer(lowerCAmelCase_ ,  unk_token="""<unk>""")
      tokenizer.save_pretrained(self.tmpdirname)

    def 					_UpperCAmelCase	(				self			:				int ,  lowerCAmelCase_			:				Optional[int]):







      """simple docstring"""







      lowercase_								= """this is a test"""
      lowercase_								= """this is a test"""
      return input_text, output_text

    def 					_UpperCAmelCase	(				self			:				Dict):







      """simple docstring"""







      lowercase_								= """<pad>"""
      lowercase_								= 0

      self.assertEqual(self.get_tokenizer()._convert_token_to_id(lowerCAmelCase_) ,  lowerCAmelCase_)
      self.assertEqual(self.get_tokenizer()._convert_id_to_token(lowerCAmelCase_) ,  lowerCAmelCase_)

    def 					_UpperCAmelCase	(				self			:				Optional[int]):







      """simple docstring"""







      lowercase_								= list(self.get_tokenizer().get_vocab().keys())
      self.assertEqual(vocab_keys[0] ,  """<pad>""")
      self.assertEqual(vocab_keys[1] ,  """<unk>""")
      self.assertEqual(vocab_keys[-1] ,  """[PAD]""")
      self.assertEqual(len(lowerCAmelCase_) ,  3_0_0_0_1)

    def 					_UpperCAmelCase	(				self			:				List[str]):







      """simple docstring"""







      self.assertEqual(self.get_tokenizer().vocab_size ,  3_0_0_0_0)

    def 					_UpperCAmelCase	(				self			:				int):







      """simple docstring"""







      lowercase_								= """ \tHeLLo!how  \n Are yoU?  """
      lowercase_								= ["""▁hello""", """!""", """how""", """▁are""", """▁you""", """?"""]
      # fmt: on

      lowercase_								= DebertaVaTokenizer(lowerCAmelCase_ ,  do_lower_case=lowerCAmelCase_)
      lowercase_								= tokenizer.convert_ids_to_tokens(tokenizer.encode(lowerCAmelCase_ ,  add_special_tokens=lowerCAmelCase_))

      self.assertListEqual(lowerCAmelCase_ ,  lowerCAmelCase_)

      lowercase_								= DebertaVaTokenizerFast(lowerCAmelCase_ ,  do_lower_case=lowerCAmelCase_)
      lowercase_								= rust_tokenizer.convert_ids_to_tokens(rust_tokenizer.encode(lowerCAmelCase_ ,  add_special_tokens=lowerCAmelCase_))

      self.assertListEqual(lowerCAmelCase_ ,  lowerCAmelCase_)

    @unittest.skip("""There is an inconsistency between slow and fast tokenizer due to a bug in the fast one.""")
    def 					_UpperCAmelCase	(				self			:				Optional[Any]):







      """simple docstring"""







      pass

    @unittest.skip("""There is an inconsistency between slow and fast tokenizer due to a bug in the fast one.""")
    def 					_UpperCAmelCase	(				self			:				int):







      """simple docstring"""







      pass

    def 					_UpperCAmelCase	(				self			:				int):







      """simple docstring"""







      lowercase_								= """I was born in 92000, and this is falsé."""
      lowercase_								= ["""▁""", """<unk>""", """▁was""", """▁born""", """▁in""", """▁9""", """2000""", """▁""", """,""", """▁and""", """▁this""", """▁is""", """▁fal""", """s""", """<unk>""", """▁""", """.""", ]
      # fmt: on

      lowercase_								= DebertaVaTokenizer(lowerCAmelCase_ ,  split_by_punct=lowerCAmelCase_)
      lowercase_								= tokenizer.convert_ids_to_tokens(tokenizer.encode(lowerCAmelCase_ ,  add_special_tokens=lowerCAmelCase_))

      self.assertListEqual(lowerCAmelCase_ ,  lowerCAmelCase_)

      lowercase_								= DebertaVaTokenizerFast(lowerCAmelCase_ ,  split_by_punct=lowerCAmelCase_)
      lowercase_								= rust_tokenizer.convert_ids_to_tokens(rust_tokenizer.encode(lowerCAmelCase_ ,  add_special_tokens=lowerCAmelCase_))

      self.assertListEqual(lowerCAmelCase_ ,  lowerCAmelCase_)

    def 					_UpperCAmelCase	(				self			:				Tuple):







      """simple docstring"""







      lowercase_								= """I was born in 92000, and this is falsé."""
      lowercase_								= ["""▁i""", """▁was""", """▁born""", """▁in""", """▁9""", """2000""", """▁""", """,""", """▁and""", """▁this""", """▁is""", """▁fal""", """s""", """<unk>""", """▁""", """.""", ]
      # fmt: on

      lowercase_								= DebertaVaTokenizer(lowerCAmelCase_ ,  do_lower_case=lowerCAmelCase_ ,  split_by_punct=lowerCAmelCase_)
      lowercase_								= tokenizer.convert_ids_to_tokens(tokenizer.encode(lowerCAmelCase_ ,  add_special_tokens=lowerCAmelCase_))
      self.assertListEqual(lowerCAmelCase_ ,  lowerCAmelCase_)

      lowercase_								= DebertaVaTokenizerFast(lowerCAmelCase_ ,  do_lower_case=lowerCAmelCase_ ,  split_by_punct=lowerCAmelCase_)
      lowercase_								= rust_tokenizer.convert_ids_to_tokens(rust_tokenizer.encode(lowerCAmelCase_ ,  add_special_tokens=lowerCAmelCase_))
      self.assertListEqual(lowerCAmelCase_ ,  lowerCAmelCase_)

    def 					_UpperCAmelCase	(				self			:				Union[str, Any]):







      """simple docstring"""







      lowercase_								= """I was born in 92000, and this is falsé."""
      lowercase_								= ["""▁i""", """▁was""", """▁born""", """▁in""", """▁9""", """2000""", """,""", """▁and""", """▁this""", """▁is""", """▁fal""", """s""", """<unk>""", """.""", ]
      # fmt: on

      lowercase_								= DebertaVaTokenizer(lowerCAmelCase_ ,  do_lower_case=lowerCAmelCase_ ,  split_by_punct=lowerCAmelCase_)
      lowercase_								= tokenizer.convert_ids_to_tokens(tokenizer.encode(lowerCAmelCase_ ,  add_special_tokens=lowerCAmelCase_))

      self.assertListEqual(lowerCAmelCase_ ,  lowerCAmelCase_)

      lowercase_								= DebertaVaTokenizerFast(lowerCAmelCase_ ,  do_lower_case=lowerCAmelCase_ ,  split_by_punct=lowerCAmelCase_)
      lowercase_								= rust_tokenizer.convert_ids_to_tokens(rust_tokenizer.encode(lowerCAmelCase_ ,  add_special_tokens=lowerCAmelCase_))

      self.assertListEqual(lowerCAmelCase_ ,  lowerCAmelCase_)

    def 					_UpperCAmelCase	(				self			:				Dict):







      """simple docstring"""







      lowercase_								= """I was born in 92000, and this is falsé."""
      lowercase_								= ["""▁""", """<unk>""", """▁was""", """▁born""", """▁in""", """▁9""", """2000""", """▁""", """,""", """▁and""", """▁this""", """▁is""", """▁fal""", """s""", """<unk>""", """▁""", """.""", ]
      # fmt: on

      lowercase_								= DebertaVaTokenizer(lowerCAmelCase_ ,  do_lower_case=lowerCAmelCase_ ,  split_by_punct=lowerCAmelCase_)
      lowercase_								= tokenizer.convert_ids_to_tokens(tokenizer.encode(lowerCAmelCase_ ,  add_special_tokens=lowerCAmelCase_))

      self.assertListEqual(lowerCAmelCase_ ,  lowerCAmelCase_)

      lowercase_								= DebertaVaTokenizerFast(lowerCAmelCase_ ,  do_lower_case=lowerCAmelCase_ ,  split_by_punct=lowerCAmelCase_)
      lowercase_								= rust_tokenizer.convert_ids_to_tokens(rust_tokenizer.encode(lowerCAmelCase_ ,  add_special_tokens=lowerCAmelCase_))

      self.assertListEqual(lowerCAmelCase_ ,  lowerCAmelCase_)

    def 					_UpperCAmelCase	(				self			:				Any):







      """simple docstring"""







      lowercase_								= """ \tHeLLo!how  \n Are yoU?  """
      lowercase_								= ["""▁""", """<unk>""", """e""", """<unk>""", """o""", """!""", """how""", """▁""", """<unk>""", """re""", """▁yo""", """<unk>""", """?"""]
      # fmt: on

      lowercase_								= DebertaVaTokenizer(lowerCAmelCase_ ,  do_lower_case=lowerCAmelCase_ ,  split_by_punct=lowerCAmelCase_)
      lowercase_								= tokenizer.convert_ids_to_tokens(tokenizer.encode(lowerCAmelCase_ ,  add_special_tokens=lowerCAmelCase_))

      self.assertListEqual(lowerCAmelCase_ ,  lowerCAmelCase_)

      lowercase_								= DebertaVaTokenizerFast(lowerCAmelCase_ ,  do_lower_case=lowerCAmelCase_ ,  split_by_punct=lowerCAmelCase_)
      lowercase_								= rust_tokenizer.convert_ids_to_tokens(rust_tokenizer.encode(lowerCAmelCase_ ,  add_special_tokens=lowerCAmelCase_))

      self.assertListEqual(lowerCAmelCase_ ,  lowerCAmelCase_)

    def 					_UpperCAmelCase	(				self			:				Any):







      """simple docstring"""







      lowercase_								= self.get_tokenizer()
      lowercase_								= self.get_rust_tokenizer()

      lowercase_								= """I was born in 92000, and this is falsé."""

      lowercase_								= tokenizer.convert_ids_to_tokens(tokenizer.encode(lowerCAmelCase_ ,  add_special_tokens=lowerCAmelCase_))
      lowercase_								= rust_tokenizer.convert_ids_to_tokens(rust_tokenizer.encode(lowerCAmelCase_ ,  add_special_tokens=lowerCAmelCase_))
      self.assertListEqual(lowerCAmelCase_ ,  lowerCAmelCase_)

      lowercase_								= tokenizer.encode(lowerCAmelCase_ ,  add_special_tokens=lowerCAmelCase_)
      lowercase_								= rust_tokenizer.encode(lowerCAmelCase_ ,  add_special_tokens=lowerCAmelCase_)
      self.assertListEqual(lowerCAmelCase_ ,  lowerCAmelCase_)

      lowercase_								= self.get_rust_tokenizer()
      lowercase_								= tokenizer.encode(lowerCAmelCase_)
      lowercase_								= rust_tokenizer.encode(lowerCAmelCase_)
      self.assertListEqual(lowerCAmelCase_ ,  lowerCAmelCase_)

    def 					_UpperCAmelCase	(				self			:				Optional[Any]):







      """simple docstring"""







      lowercase_								= """This is a test"""
      lowercase_								= [1_3, 1, 4_3_9_8, 2_5, 2_1, 1_2_8_9]
      lowercase_								= ["""▁""", """T""", """his""", """▁is""", """▁a""", """▁test"""]
      lowercase_								= ["""▁""", """<unk>""", """his""", """▁is""", """▁a""", """▁test"""]

      lowercase_								= DebertaVaTokenizer(lowerCAmelCase_ ,  keep_accents=lowerCAmelCase_)
      lowercase_								= DebertaVaTokenizerFast(lowerCAmelCase_ ,  keep_accents=lowerCAmelCase_)

      lowercase_								= tokenizer.encode(lowerCAmelCase_ ,  add_special_tokens=lowerCAmelCase_)
      self.assertListEqual(lowerCAmelCase_ ,  lowerCAmelCase_)
      lowercase_								= tokenizer.tokenize(lowerCAmelCase_)
      self.assertListEqual(lowerCAmelCase_ ,  lowerCAmelCase_)
      lowercase_								= tokenizer.convert_ids_to_tokens(lowerCAmelCase_)
      self.assertListEqual(lowerCAmelCase_ ,  lowerCAmelCase_)

      lowercase_								= rust_tokenizer.encode(lowerCAmelCase_ ,  add_special_tokens=lowerCAmelCase_)
      self.assertListEqual(lowerCAmelCase_ ,  lowerCAmelCase_)
      lowercase_								= rust_tokenizer.tokenize(lowerCAmelCase_)
      self.assertListEqual(lowerCAmelCase_ ,  lowerCAmelCase_)
      lowercase_								= rust_tokenizer.convert_ids_to_tokens(lowerCAmelCase_)
      self.assertListEqual(lowerCAmelCase_ ,  lowerCAmelCase_)

      # fmt: off
      lowercase_								= """I was born in 92000, and this is falsé."""
      lowercase_								= [1_3, 1, 2_3, 3_8_6, 1_9, 5_6_1, 3_0_5_0, 1_5, 1_7, 4_8, 2_5, 8_2_5_6, 1_8, 1, 9]
      lowercase_								= ["""▁""", """I""", """▁was""", """▁born""", """▁in""", """▁9""", """2000""", """,""", """▁and""", """▁this""", """▁is""", """▁fal""", """s""", """é""", """.""", ]
      lowercase_								= ["""▁""", """<unk>""", """▁was""", """▁born""", """▁in""", """▁9""", """2000""", """,""", """▁and""", """▁this""", """▁is""", """▁fal""", """s""", """<unk>""", """.""", ]
      # fmt: on

      lowercase_								= tokenizer.encode(lowerCAmelCase_ ,  add_special_tokens=lowerCAmelCase_)
      self.assertListEqual(lowerCAmelCase_ ,  lowerCAmelCase_)
      lowercase_								= tokenizer.tokenize(lowerCAmelCase_)
      self.assertListEqual(lowerCAmelCase_ ,  lowerCAmelCase_)
      lowercase_								= tokenizer.convert_ids_to_tokens(lowerCAmelCase_)
      self.assertListEqual(lowerCAmelCase_ ,  lowerCAmelCase_)

      lowercase_								= rust_tokenizer.encode(lowerCAmelCase_ ,  add_special_tokens=lowerCAmelCase_)
      self.assertListEqual(lowerCAmelCase_ ,  lowerCAmelCase_)
      lowercase_								= rust_tokenizer.tokenize(lowerCAmelCase_)
      self.assertListEqual(lowerCAmelCase_ ,  lowerCAmelCase_)
      lowercase_								= rust_tokenizer.convert_ids_to_tokens(lowerCAmelCase_)
      self.assertListEqual(lowerCAmelCase_ ,  lowerCAmelCase_)

    def 					_UpperCAmelCase	(				self			:				Tuple):







      """simple docstring"""







      lowercase_								= DebertaVaTokenizer(lowerCAmelCase_)

      lowercase_								= tokenizer.encode("""sequence builders""")
      lowercase_								= tokenizer.encode("""multi-sequence build""")

      lowercase_								= tokenizer.build_inputs_with_special_tokens(lowerCAmelCase_)
      lowercase_								= tokenizer.build_inputs_with_special_tokens(lowerCAmelCase_ ,  lowerCAmelCase_)

      self.assertEqual([tokenizer.cls_token_id] + text + [tokenizer.sep_token_id] ,  lowerCAmelCase_)
      self.assertEqual(
          [tokenizer.cls_token_id] + text + [tokenizer.sep_token_id] + text_a + [tokenizer.sep_token_id] ,  lowerCAmelCase_ ,  )




    @slow
    def 					_UpperCAmelCase	(				self			:				Tuple):







      """simple docstring"""







      lowercase_								= {"""input_ids""": [[1, 3_9_8_6_7, 3_6, 1_9_3_9_0, 4_8_6, 2_7, 3_5_0_5_2, 8_1_4_3_6, 1_8, 6_0_6_8_5, 1_2_2_5, 7, 3_5_0_5_2, 8_1_4_3_6, 1_8, 9_3_6_7, 1_6_8_9_9, 1_8, 1_5_9_3_7, 5_3, 5_9_4, 7_7_3, 1_8, 1_6_2_8_7, 3_0_4_6_5, 3_6, 1_5_9_3_7, 6, 4_1_1_3_9, 3_8, 3_6_9_7_9, 6_0_7_6_3, 1_9_1, 6, 3_4_1_3_2, 9_9, 6, 5_0_5_3_8, 3_9_0, 4_3_2_3_0, 6, 3_4_1_3_2, 2_7_7_9, 2_0_8_5_0, 1_4, 6_9_9, 1_0_7_2, 1_1_9_4, 3_6, 3_8_2, 1_0_9_0_1, 5_3, 7, 6_9_9, 1_0_7_2, 2_0_8_4, 3_6, 2_0_4_2_2, 6_3_0, 5_3, 1_9, 1_0_5, 3_0_4_9, 1_8_9_6, 1_0_5_3, 1_6_8_9_9, 1_5_0_6, 1_1, 3_7_9_7_8, 4_2_4_3, 7, 1_2_3_7, 3_1_8_6_9, 2_0_0, 1_6_5_6_6, 6_5_4, 6, 3_5_0_5_2, 8_1_4_3_6, 7, 5_5_6_3_0, 1_3_5_9_3, 4, 2], [1, 2_6, 1_5_0_1_1, 1_3, 6_6_7, 8, 1_0_5_3, 1_8, 2_3_6_1_1, 1_2_3_7, 7_2_3_5_6, 1_2_8_2_0, 3_4, 1_0_4_1_3_4, 1_2_0_9, 3_5, 1_3_3_1_3, 6_6_2_7, 2_1, 2_0_2, 3_4_7, 7, 1_6_4, 2_3_9_9, 1_1, 4_6, 4_4_8_5, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 5, 1_2_3_2, 2_8_6_4, 1_5_7_8_5, 1_4_9_5_1, 1_0_5, 5, 8_5_8_1, 1_2_5_0, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], """token_type_ids""": [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], """attention_mask""": [[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]}  # noqa: E501
      # fmt: on

      self.tokenizer_integration_test_util(
          expected_encoding=lowerCAmelCase_ ,  model_name="""microsoft/deberta-v2-xlarge""" ,  revision="""ad6e42c1532ddf3a15c39246b63f5559d558b670""" ,  )






"""simple docstring"""
from typing import TYPE_CHECKING

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


UpperCAmelCase						:		Any			= {"configuration_xglm": ["XGLM_PRETRAINED_CONFIG_ARCHIVE_MAP", "XGLMConfig"]}

try:
       if not is_sentencepiece_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       UpperCAmelCase						:		List[str]			= ["XGLMTokenizer"]

try:
       if not is_tokenizers_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       UpperCAmelCase						:		Dict			= ["XGLMTokenizerFast"]

try:
       if not is_torch_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       UpperCAmelCase						:		Tuple			= [
           "XGLM_PRETRAINED_MODEL_ARCHIVE_LIST",
           "XGLMForCausalLM",
           "XGLMModel",
           "XGLMPreTrainedModel",
       ]


try:
       if not is_flax_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       UpperCAmelCase						:		int			= [
           "FlaxXGLMForCausalLM",
           "FlaxXGLMModel",
           "FlaxXGLMPreTrainedModel",
       ]


try:
       if not is_tf_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       UpperCAmelCase						:		List[str]			= [
           "TF_XGLM_PRETRAINED_MODEL_ARCHIVE_LIST",
           "TFXGLMForCausalLM",
           "TFXGLMModel",
           "TFXGLMPreTrainedModel",
       ]


if TYPE_CHECKING:
       from .configuration_xglm import XGLM_PRETRAINED_CONFIG_ARCHIVE_MAP, XGLMConfig

       try:
              if not is_sentencepiece_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .tokenization_xglm import XGLMTokenizer

       try:
              if not is_tokenizers_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .tokenization_xglm_fast import XGLMTokenizerFast

       try:
              if not is_torch_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .modeling_xglm import XGLM_PRETRAINED_MODEL_ARCHIVE_LIST, XGLMForCausalLM, XGLMModel, XGLMPreTrainedModel

       try:
              if not is_flax_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .modeling_flax_xglm import FlaxXGLMForCausalLM, FlaxXGLMModel, FlaxXGLMPreTrainedModel

       try:
              if not is_tf_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .modeling_tf_xglm import (
                  TF_XGLM_PRETRAINED_MODEL_ARCHIVE_LIST,
                  TFXGLMForCausalLM,
                  TFXGLMModel,
                  TFXGLMPreTrainedModel,
              )


else:
       import sys

       UpperCAmelCase						:		Any			= _LazyModule(__name__, globals()["__file__"], _import_structure)

