
"""simple docstring"""




from typing import TYPE_CHECKING

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


UpperCAmelCase__   :					int												=				{
    'configuration_electra': ['ELECTRA_PRETRAINED_CONFIG_ARCHIVE_MAP', 'ElectraConfig', 'ElectraOnnxConfig'],
    'tokenization_electra': ['ElectraTokenizer'],
}

try:
					if not is_tokenizers_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					UpperCAmelCase__   :					str												=				['ElectraTokenizerFast']

try:
					if not is_torch_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					UpperCAmelCase__   :					Optional[Any]												=				[
					    'ELECTRA_PRETRAINED_MODEL_ARCHIVE_LIST',
					    'ElectraForCausalLM',
					    'ElectraForMaskedLM',
					    'ElectraForMultipleChoice',
					    'ElectraForPreTraining',
					    'ElectraForQuestionAnswering',
					    'ElectraForSequenceClassification',
					    'ElectraForTokenClassification',
					    'ElectraModel',
					    'ElectraPreTrainedModel',
					    'load_tf_weights_in_electra',
					]

try:
					if not is_tf_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					UpperCAmelCase__   :					List[str]												=				[
					    'TF_ELECTRA_PRETRAINED_MODEL_ARCHIVE_LIST',
					    'TFElectraForMaskedLM',
					    'TFElectraForMultipleChoice',
					    'TFElectraForPreTraining',
					    'TFElectraForQuestionAnswering',
					    'TFElectraForSequenceClassification',
					    'TFElectraForTokenClassification',
					    'TFElectraModel',
					    'TFElectraPreTrainedModel',
					]

try:
					if not is_flax_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					UpperCAmelCase__   :					str												=				[
					    'FlaxElectraForCausalLM',
					    'FlaxElectraForMaskedLM',
					    'FlaxElectraForMultipleChoice',
					    'FlaxElectraForPreTraining',
					    'FlaxElectraForQuestionAnswering',
					    'FlaxElectraForSequenceClassification',
					    'FlaxElectraForTokenClassification',
					    'FlaxElectraModel',
					    'FlaxElectraPreTrainedModel',
					]


if TYPE_CHECKING:
					from .configuration_electra import ELECTRA_PRETRAINED_CONFIG_ARCHIVE_MAP, ElectraConfig, ElectraOnnxConfig
					from .tokenization_electra import ElectraTokenizer

					try:
										if not is_tokenizers_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .tokenization_electra_fast import ElectraTokenizerFast

					try:
										if not is_torch_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .modeling_electra import (
										    ELECTRA_PRETRAINED_MODEL_ARCHIVE_LIST,
										    ElectraForCausalLM,
										    ElectraForMaskedLM,
										    ElectraForMultipleChoice,
										    ElectraForPreTraining,
										    ElectraForQuestionAnswering,
										    ElectraForSequenceClassification,
										    ElectraForTokenClassification,
										    ElectraModel,
										    ElectraPreTrainedModel,
										    load_tf_weights_in_electra,
										)

					try:
										if not is_tf_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .modeling_tf_electra import (
										    TF_ELECTRA_PRETRAINED_MODEL_ARCHIVE_LIST,
										    TFElectraForMaskedLM,
										    TFElectraForMultipleChoice,
										    TFElectraForPreTraining,
										    TFElectraForQuestionAnswering,
										    TFElectraForSequenceClassification,
										    TFElectraForTokenClassification,
										    TFElectraModel,
										    TFElectraPreTrainedModel,
										)

					try:
										if not is_flax_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .modeling_flax_electra import (
										    FlaxElectraForCausalLM,
										    FlaxElectraForMaskedLM,
										    FlaxElectraForMultipleChoice,
										    FlaxElectraForPreTraining,
										    FlaxElectraForQuestionAnswering,
										    FlaxElectraForSequenceClassification,
										    FlaxElectraForTokenClassification,
										    FlaxElectraModel,
										    FlaxElectraPreTrainedModel,
										)

else:
					import sys

					UpperCAmelCase__   :					Optional[int]												=				_LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)






"""simple docstring"""




import baseaa

def lowercase_						(     _snake_case		):
							return baseaa.baaencode(string.encode("""utf-8"""		)		)

def lowercase_						(     _snake_case		):
							return baseaa.baadecode(_snake_case		).decode("""utf-8"""		)


if __name__ == "__main__":
					UpperCAmelCase__   :					Dict												=				'Hello World!'
					UpperCAmelCase__   :					Tuple												=				baseaa_encode(test)
					print(encoded)

					UpperCAmelCase__   :					Tuple												=				baseaa_decode(encoded)
					print(decoded)




