






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,
)


_a    :   Tuple        =			{
    """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:
 _a    :   Dict        =			["""OwlViTFeatureExtractor"""]
 _a    :   Tuple        =			["""OwlViTImageProcessor"""]

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

 _a    :   Union[str, Any]        =			_LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)














import re


def 				snake_case__							(							UpperCAmelCase							:  str       ):
    return [char.split() for char in re.split(R"[^ a-z A-Z 0-9 \s]"    ,			str_       )]


def 				snake_case__							(							UpperCAmelCase							:  str       ):
    lowerCAmelCase__   :List[Any]      							=				split_input(str_       )
    return "".join(
        ["".join([char.capitalize() for char in sub_str]       ) for sub_str in string_split]       )


def 				snake_case__							(							UpperCAmelCase							:  str    ,			UpperCAmelCase							:  bool    ,			UpperCAmelCase							:  str       ):
    try:
        lowerCAmelCase__   :Dict      							=				split_input(UpperCAmelCase       )
        if upper:
            lowerCAmelCase__   :Dict      							=				"".join(
                [
                    separator.join([char.upper() for char in sub_str]       )
                    for sub_str in string_split
                ]       )
        else:
            lowerCAmelCase__   :Any      							=				"".join(
                [
                    separator.join([char.lower() for char in sub_str]       )
                    for sub_str in string_split
                ]       )
        return res_str
    except IndexError:
        return "not valid string"


def 				snake_case__							(							UpperCAmelCase							:  str       ):
    return to_simple_case(UpperCAmelCase       )


def 				snake_case__							(							UpperCAmelCase							:  str       ):
    try:
        lowerCAmelCase__   :Any      							=				to_simple_case(UpperCAmelCase       )
        return res_str[0].lower() + res_str[1:]
    except IndexError:
        return "not valid string"


def 				snake_case__							(							UpperCAmelCase							:  str    ,			UpperCAmelCase							:  bool       ):
    return to_complex_case(UpperCAmelCase    ,			UpperCAmelCase    ,			"_"       )


def 				snake_case__							(							UpperCAmelCase							:  str    ,			UpperCAmelCase							:  bool       ):
    return to_complex_case(UpperCAmelCase    ,			UpperCAmelCase    ,			"-"       )


if __name__ == "__main__":
 __import__("""doctest""").testmod()



