

from typing import TYPE_CHECKING

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


_UpperCAmelCase	:     Union[str, Any]		       = {"""configuration_fnet""": ["""FNET_PRETRAINED_CONFIG_ARCHIVE_MAP""", """FNetConfig"""]}

try:
					if not is_sentencepiece_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					_UpperCAmelCase	:     Optional[Any]		       = ["""FNetTokenizer"""]

try:
					if not is_tokenizers_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					_UpperCAmelCase	:     Any		       = ["""FNetTokenizerFast"""]

try:
					if not is_torch_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					_UpperCAmelCase	:     Any		       = [
					    """FNET_PRETRAINED_MODEL_ARCHIVE_LIST""",
					    """FNetForMaskedLM""",
					    """FNetForMultipleChoice""",
					    """FNetForNextSentencePrediction""",
					    """FNetForPreTraining""",
					    """FNetForQuestionAnswering""",
					    """FNetForSequenceClassification""",
					    """FNetForTokenClassification""",
					    """FNetLayer""",
					    """FNetModel""",
					    """FNetPreTrainedModel""",
					]


if TYPE_CHECKING:
					from .configuration_fnet import FNET_PRETRAINED_CONFIG_ARCHIVE_MAP, FNetConfig

					try:
										if not is_sentencepiece_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .tokenization_fnet import FNetTokenizer

					try:
										if not is_tokenizers_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .tokenization_fnet_fast import FNetTokenizerFast

					try:
										if not is_torch_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .modeling_fnet import (
										    FNET_PRETRAINED_MODEL_ARCHIVE_LIST,
										    FNetForMaskedLM,
										    FNetForMultipleChoice,
										    FNetForNextSentencePrediction,
										    FNetForPreTraining,
										    FNetForQuestionAnswering,
										    FNetForSequenceClassification,
										    FNetForTokenClassification,
										    FNetLayer,
										    FNetModel,
										    FNetPreTrainedModel,
										)


else:
					import sys

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







def       __lowerCamelCase			(				UpperCamelCase__   ):







							'''simple docstring'''






							if not nums:  # Makes sure that the list is not empty
														raise ValueError('List is empty'   )

							snake_case_           =					sum(UpperCamelCase__   ) / len(UpperCamelCase__   )  # Calculate the average
							return sum(abs(x - average   ) for x in nums   ) / len(UpperCamelCase__   )


if __name__ == "__main__":
					import doctest

					doctest.testmod()




