

'''simple docstring'''
from typing import TYPE_CHECKING

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


_lowerCamelCase      					=     {"""configuration_fnet""": ["""FNET_PRETRAINED_CONFIG_ARCHIVE_MAP""", """FNetConfig"""]}

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

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

try:
					if not is_torch_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					_lowerCamelCase      					=     [
					    """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

					_lowerCamelCase      					=     _LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)












"""simple docstring"""





from __future__ import annotations



def   a    (     __UpperCAmelCase      :    list  )    ->							list:
						if len(__UpperCAmelCase  ) == 0:
												return []
						__magic_name__,			__magic_name__:	List[str]							=       min(__UpperCAmelCase  ), max(__UpperCAmelCase  )
						__magic_name__:	Optional[int]							=       int(max_value - min_value  ) + 1
						__magic_name__:	list[list]							=       [[] for _ in range(__UpperCAmelCase  )]

						for i in my_list:
												buckets[int(i - min_value  )].append(__UpperCAmelCase  )

						return [v for bucket in buckets for v in sorted(__UpperCAmelCase  )]


if __name__ == "__main__":
							from doctest import testmod

							testmod()
							assert bucket_sort([4, 5, 3, 2, 1]) == [1, 2, 3, 4, 5]
							assert bucket_sort([0, 1, -10, 15, 2, -2]) == [-10, -2, 0, 1, 2, 15]



