'''simple docstring'''





from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


SCREAMING_SNAKE_CASE_:     Dict  ={
    """configuration_git""": ["""GIT_PRETRAINED_CONFIG_ARCHIVE_MAP""", """GitConfig""", """GitVisionConfig"""],
    """processing_git""": ["""GitProcessor"""],
}

try:
    if not is_torch_available():
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
    pass
else:
    SCREAMING_SNAKE_CASE_:     List[Any]  =[
        """GIT_PRETRAINED_MODEL_ARCHIVE_LIST""",
        """GitForCausalLM""",
        """GitModel""",
        """GitPreTrainedModel""",
        """GitVisionModel""",
    ]

if TYPE_CHECKING:
    from .configuration_git import GIT_PRETRAINED_CONFIG_ARCHIVE_MAP, GitConfig, GitVisionConfig
    from .processing_git import GitProcessor

    try:
        if not is_torch_available():
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        pass
    else:
        from .modeling_git import (
            GIT_PRETRAINED_MODEL_ARCHIVE_LIST,
            GitForCausalLM,
            GitModel,
            GitPreTrainedModel,
            GitVisionModel,
        )

else:
    import sys

    SCREAMING_SNAKE_CASE_:     Dict  =_LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)








import inspect
import unittest







class  snake_case__(							unittest.TestCase							):







						'''simple docstring'''




						def   lowercase_       ( self							)    ->			int:
										try:
														import diffusers  # noqa: F401
										except ImportError:
														assert False




						def   lowercase_       ( self							)    ->			List[str]:
										import diffusers
										from diffusers.dependency_versions_table import deps

										lowerCAmelCase_       :					Any			 = inspect.getmembers(__lowercase      ,  inspect.isclass							)

										for cls_name, cls_module in all_classes:
														if "dummy_" in cls_module.__module__:
																		for backend in cls_module._backends:
																						if backend == "k_diffusion":
																										lowerCAmelCase_       :					Optional[int]			 = '''k-diffusion'''
																						elif backend == "invisible_watermark":
																										lowerCAmelCase_       :					Dict			 = '''invisible-watermark'''
																						assert backend in deps, f"""{backend} is not in the deps table!"""