
from typing import TYPE_CHECKING

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


_UpperCAmelCase   :					Tuple    =			{"configuration_vilt": ["VILT_PRETRAINED_CONFIG_ARCHIVE_MAP", "ViltConfig"]}

try:
					if not is_vision_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					_UpperCAmelCase   :					List[Any]    =			["ViltFeatureExtractor"]
					_UpperCAmelCase   :					List[str]    =			["ViltImageProcessor"]
					_UpperCAmelCase   :					List[str]    =			["ViltProcessor"]

try:
					if not is_torch_available():
										raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
					pass
else:
					_UpperCAmelCase   :					Optional[Any]    =			[
					    "VILT_PRETRAINED_MODEL_ARCHIVE_LIST",
					    "ViltForImageAndTextRetrieval",
					    "ViltForImagesAndTextClassification",
					    "ViltForTokenClassification",
					    "ViltForMaskedLM",
					    "ViltForQuestionAnswering",
					    "ViltLayer",
					    "ViltModel",
					    "ViltPreTrainedModel",
					]


if TYPE_CHECKING:
					from .configuration_vilt import VILT_PRETRAINED_CONFIG_ARCHIVE_MAP, ViltConfig

					try:
										if not is_vision_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .feature_extraction_vilt import ViltFeatureExtractor
										from .image_processing_vilt import ViltImageProcessor
										from .processing_vilt import ViltProcessor

					try:
										if not is_torch_available():
															raise OptionalDependencyNotAvailable()
					except OptionalDependencyNotAvailable:
										pass
					else:
										from .modeling_vilt import (
										    VILT_PRETRAINED_MODEL_ARCHIVE_LIST,
										    ViltForImageAndTextRetrieval,
										    ViltForImagesAndTextClassification,
										    ViltForMaskedLM,
										    ViltForQuestionAnswering,
										    ViltForTokenClassification,
										    ViltLayer,
										    ViltModel,
										    ViltPreTrainedModel,
										)


else:
					import sys

					_UpperCAmelCase   :					List[Any]    =			_LazyModule(__name__, globals()["__file__"], _import_structure)


from dataclasses import dataclass
from typing import List, Optional, Union

import numpy as np
import PIL

from ...utils import BaseOutput, is_invisible_watermark_available, is_torch_available, is_transformers_available


@dataclass
class 							lowercase   (						_SCREAMING_SNAKE_CASE  ):
		__lowercase			:			Union[List[PIL.Image.Image], np.ndarray]


if is_transformers_available() and is_torch_available() and is_invisible_watermark_available():
					from .pipeline_stable_diffusion_xl import StableDiffusionXLPipeline
					from .pipeline_stable_diffusion_xl_imgaimg import StableDiffusionXLImgaImgPipeline
