


"""simple docstring"""
from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_flax_available,
    is_tf_available,
    is_tokenizers_available,
    is_torch_available,
    is_vision_available,
)


SCREAMING_SNAKE_CASE :    List[str]									=				{
    """configuration_owlvit""": [
        """OWLVIT_PRETRAINED_CONFIG_ARCHIVE_MAP""",
        """OwlViTConfig""",
        """OwlViTOnnxConfig""",
        """OwlViTTextConfig""",
        """OwlViTVisionConfig""",
    ],
    """processing_owlvit""": ["""OwlViTProcessor"""],
}


try:
			if not is_vision_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			SCREAMING_SNAKE_CASE :    Optional[int]									=				["""OwlViTFeatureExtractor"""]
			SCREAMING_SNAKE_CASE :    Tuple									=				["""OwlViTImageProcessor"""]

try:
			if not is_torch_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			SCREAMING_SNAKE_CASE :    Tuple									=				[
			    """OWLVIT_PRETRAINED_MODEL_ARCHIVE_LIST""",
			    """OwlViTModel""",
			    """OwlViTPreTrainedModel""",
			    """OwlViTTextModel""",
			    """OwlViTVisionModel""",
			    """OwlViTForObjectDetection""",
			]

if TYPE_CHECKING:
			from .configuration_owlvit import (
			    OWLVIT_PRETRAINED_CONFIG_ARCHIVE_MAP,
			    OwlViTConfig,
			    OwlViTOnnxConfig,
			    OwlViTTextConfig,
			    OwlViTVisionConfig,
			)
			from .processing_owlvit import OwlViTProcessor

			try:
						if not is_vision_available():
									raise OptionalDependencyNotAvailable()
			except OptionalDependencyNotAvailable:
						pass
			else:
						from .feature_extraction_owlvit import OwlViTFeatureExtractor
						from .image_processing_owlvit import OwlViTImageProcessor

			try:
						if not is_torch_available():
									raise OptionalDependencyNotAvailable()
			except OptionalDependencyNotAvailable:
						pass
			else:
						from .modeling_owlvit import (
						    OWLVIT_PRETRAINED_MODEL_ARCHIVE_LIST,
						    OwlViTForObjectDetection,
						    OwlViTModel,
						    OwlViTPreTrainedModel,
						    OwlViTTextModel,
						    OwlViTVisionModel,
						)

else:
			import sys

			SCREAMING_SNAKE_CASE :    List[str]									=				_LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)









"""simple docstring"""
def 		lowercase							(     _snake_case						:      int     ,   _snake_case						:      int     )     ->str:
	"""simple docstring"""





	if a < 0 or b < 0:
		raise ValueError('''the value of both inputs must be positive'''     )
	__snake_case	:						Tuple						=				str(bin(_snake_case     )     )[2:]  # remove the leading "0b"
	__snake_case	:						List[Any]						=				str(bin(_snake_case     )     )[2:]
	__snake_case	:						Any						=				max(len(_snake_case     )     ,   len(_snake_case     )     )
	return "0b" + "".join(
	    str(int('''1''' in (char_a, char_b)     )     )
	    for char_a, char_b in zip(a_binary.zfill(_snake_case     )     ,   b_binary.zfill(_snake_case     )     )     )


if __name__ == "__main__":
			import doctest

			doctest.testmod()





