





"""simple docstring"""




from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


UpperCamelCase_									={
    '''configuration_time_series_transformer''': [
        '''TIME_SERIES_TRANSFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP''',
        '''TimeSeriesTransformerConfig''',
    ],
}

try:
						if not is_torch_available():
												raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
						pass
else:
						UpperCamelCase_									=[
						    '''TIME_SERIES_TRANSFORMER_PRETRAINED_MODEL_ARCHIVE_LIST''',
						    '''TimeSeriesTransformerForPrediction''',
						    '''TimeSeriesTransformerModel''',
						    '''TimeSeriesTransformerPreTrainedModel''',
						]


if TYPE_CHECKING:
						from .configuration_time_series_transformer import (
						    TIME_SERIES_TRANSFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP,
						    TimeSeriesTransformerConfig,
						)

						try:
												if not is_torch_available():
																		raise OptionalDependencyNotAvailable()
						except OptionalDependencyNotAvailable:
												pass
						else:
												from .modeling_time_series_transformer import (
												    TIME_SERIES_TRANSFORMER_PRETRAINED_MODEL_ARCHIVE_LIST,
												    TimeSeriesTransformerForPrediction,
												    TimeSeriesTransformerModel,
												    TimeSeriesTransformerPreTrainedModel,
												)

else:
						import sys

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












"""simple docstring"""




from functools import lru_cache





@lru_cache
def 	a_    (							_lowercase       ):
						if num < 0:
												raise ValueError('''Number should not be negative.'''       )

						return 1 if num in (0, 1) else num * factorial(num - 1       )


if __name__ == "__main__":
						import doctest

						doctest.testmod()



