
'''simple docstring'''

from typing import TYPE_CHECKING

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


UpperCAmelCase__   : Tuple					=		{"configuration_bit": ["BIT_PRETRAINED_CONFIG_ARCHIVE_MAP", "BitConfig", "BitOnnxConfig"]}

try:
		if not is_torch_available():
				raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
		pass
else:
		UpperCAmelCase__   : Optional[Any]					=		[
		    "BIT_PRETRAINED_MODEL_ARCHIVE_LIST",
		    "BitForImageClassification",
		    "BitModel",
		    "BitPreTrainedModel",
		    "BitBackbone",
		]


try:
		if not is_vision_available():
				raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
		pass
else:
		UpperCAmelCase__   : List[str]					=		["BitImageProcessor"]


if TYPE_CHECKING:
		from .configuration_bit import BIT_PRETRAINED_CONFIG_ARCHIVE_MAP, BitConfig, BitOnnxConfig

		try:
				if not is_torch_available():
						raise OptionalDependencyNotAvailable()
		except OptionalDependencyNotAvailable:
				pass
		else:
				from .modeling_bit import (
				    BIT_PRETRAINED_MODEL_ARCHIVE_LIST,
				    BitBackbone,
				    BitForImageClassification,
				    BitModel,
				    BitPreTrainedModel,
				)

		try:
				if not is_vision_available():
						raise OptionalDependencyNotAvailable()
		except OptionalDependencyNotAvailable:
				pass
		else:
				from .image_processing_bit import BitImageProcessor

else:
		import sys

		UpperCAmelCase__   : Optional[int]					=		_LazyModule(__name__, globals()["__file__"], _import_structure)







'''simple docstring'''

from __future__ import annotations







def   A     (      UpperCamelCase_					:     int      )					->       list[int]:







			'''simple docstring'''



			assert (
			    isinstance(UpperCamelCase_						,	UpperCamelCase_      ) and mask > 0
			), F"""mask needs to be positive integer, your input {mask}"""
			lowerCAmelCase__								=							[]
			lowerCAmelCase__								=							mask

			while submask:
						all_submasks.append(UpperCamelCase_      )
						lowerCAmelCase__								=							(submask - 1) & mask

			return all_submasks


if __name__ == "__main__":
		import doctest

		doctest.testmod()





