




from typing import TYPE_CHECKING

from ....utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available, is_vision_available


_A     =			{'''configuration_van''': ['''VAN_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''VanConfig''']}


try:
						if not is_torch_available():
												raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
						pass
else:
						_A     =			[
						    '''VAN_PRETRAINED_MODEL_ARCHIVE_LIST''',
						    '''VanForImageClassification''',
						    '''VanModel''',
						    '''VanPreTrainedModel''',
						]

if TYPE_CHECKING:
						from .configuration_van import VAN_PRETRAINED_CONFIG_ARCHIVE_MAP, VanConfig

						try:
												if not is_torch_available():
																		raise OptionalDependencyNotAvailable()
						except OptionalDependencyNotAvailable:
												pass
						else:
												from .modeling_van import (
												    VAN_PRETRAINED_MODEL_ARCHIVE_LIST,
												    VanForImageClassification,
												    VanModel,
												    VanPreTrainedModel,
												)

else:
						import sys

						_A     =			_LazyModule(__name__, globals()['''__file__'''], _import_structure)










from functools import lru_cache





@lru_cache
def __UpperCamelCase			(       _A  ):
						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()




