






"""simple docstring"""







from typing import TYPE_CHECKING

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


a :				Dict      					=		{
    """configuration_gpt2""": ["""GPT2_PRETRAINED_CONFIG_ARCHIVE_MAP""", """GPT2Config""", """GPT2OnnxConfig"""],
    """tokenization_gpt2""": ["""GPT2Tokenizer"""],
}

try:
			if not is_tokenizers_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			a :				Tuple      					=		["""GPT2TokenizerFast"""]

try:
			if not is_torch_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			a :				Optional[Any]      					=		[
			    """GPT2_PRETRAINED_MODEL_ARCHIVE_LIST""",
			    """GPT2DoubleHeadsModel""",
			    """GPT2ForQuestionAnswering""",
			    """GPT2ForSequenceClassification""",
			    """GPT2ForTokenClassification""",
			    """GPT2LMHeadModel""",
			    """GPT2Model""",
			    """GPT2PreTrainedModel""",
			    """load_tf_weights_in_gpt2""",
			]

try:
			if not is_tf_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			a :				Optional[int]      					=		[
			    """TF_GPT2_PRETRAINED_MODEL_ARCHIVE_LIST""",
			    """TFGPT2DoubleHeadsModel""",
			    """TFGPT2ForSequenceClassification""",
			    """TFGPT2LMHeadModel""",
			    """TFGPT2MainLayer""",
			    """TFGPT2Model""",
			    """TFGPT2PreTrainedModel""",
			]

try:
			if not is_keras_nlp_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			a :				Optional[Any]      					=		["""TFGPT2Tokenizer"""]

try:
			if not is_flax_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			a :				Any      					=		["""FlaxGPT2LMHeadModel""", """FlaxGPT2Model""", """FlaxGPT2PreTrainedModel"""]

if TYPE_CHECKING:
			from .configuration_gpta import GPT2_PRETRAINED_CONFIG_ARCHIVE_MAP, GPTaConfig, GPTaOnnxConfig
			from .tokenization_gpta import GPTaTokenizer

			try:
						if not is_tokenizers_available():
									raise OptionalDependencyNotAvailable()
			except OptionalDependencyNotAvailable:
						pass
			else:
						from .tokenization_gpta_fast import GPTaTokenizerFast

			try:
						if not is_torch_available():
									raise OptionalDependencyNotAvailable()
			except OptionalDependencyNotAvailable:
						pass
			else:
						from .modeling_gpta import (
						    GPT2_PRETRAINED_MODEL_ARCHIVE_LIST,
						    GPTaDoubleHeadsModel,
						    GPTaForQuestionAnswering,
						    GPTaForSequenceClassification,
						    GPTaForTokenClassification,
						    GPTaLMHeadModel,
						    GPTaModel,
						    GPTaPreTrainedModel,
						    load_tf_weights_in_gpta,
						)

			try:
						if not is_tf_available():
									raise OptionalDependencyNotAvailable()
			except OptionalDependencyNotAvailable:
						pass
			else:
						from .modeling_tf_gpta import (
						    TF_GPT2_PRETRAINED_MODEL_ARCHIVE_LIST,
						    TFGPTaDoubleHeadsModel,
						    TFGPTaForSequenceClassification,
						    TFGPTaLMHeadModel,
						    TFGPTaMainLayer,
						    TFGPTaModel,
						    TFGPTaPreTrainedModel,
						)

			try:
						if not is_keras_nlp_available():
									raise OptionalDependencyNotAvailable()
			except OptionalDependencyNotAvailable:
						pass
			else:
						from .tokenization_gpta_tf import TFGPTaTokenizer

			try:
						if not is_flax_available():
									raise OptionalDependencyNotAvailable()
			except OptionalDependencyNotAvailable:
						pass
			else:
						from .modeling_flax_gpta import FlaxGPTaLMHeadModel, FlaxGPTaModel, FlaxGPTaPreTrainedModel

else:
			import sys

			a :				Any      					=		_LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)














"""simple docstring"""







def 						lowercase__(A						)				->int:




						"""simple docstring"""



						lowercase__				:      str=       0
						for plain_chr in plain_text:
												lowercase__				:      List[str]=       (
												    ord(A						) + (hash_value << 6) + (hash_value << 16) - hash_value
												)
						return hash_value






