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

import numpy as np
import PIL
from PIL import Image

from ...utils import BaseOutput, is_torch_available, is_transformers_available




@dataclass
class  __lowerCAmelCase	(							a_    ):



 '''simple docstring'''
 _lowerCamelCase    :						List[str]					     =			{
     'sld_warmup_steps': 15,
     'sld_guidance_scale': 20,
     'sld_threshold': 0.0,
     'sld_momentum_scale': 0.0,
     'sld_mom_beta': 0.0,
 }
 _lowerCamelCase    :						List[Any]					     =			{
     'sld_warmup_steps': 10,
     'sld_guidance_scale': 1_000,
     'sld_threshold': 0.01,
     'sld_momentum_scale': 0.3,
     'sld_mom_beta': 0.4,
 }
 _lowerCamelCase    :						Tuple					     =			{
     'sld_warmup_steps': 7,
     'sld_guidance_scale': 2_000,
     'sld_threshold': 0.025,
     'sld_momentum_scale': 0.5,
     'sld_mom_beta': 0.7,
 }
 _lowerCamelCase    :						List[str]					     =			{
     'sld_warmup_steps': 0,
     'sld_guidance_scale': 5_000,
     'sld_threshold': 1.0,
     'sld_momentum_scale': 0.5,
     'sld_mom_beta': 0.7,
 }







@dataclass
class  __lowerCAmelCase	(							a_    ):



 '''simple docstring'''
 _lowerCamelCase    :						Union[List[PIL.Image.Image], np.ndarray]
 _lowerCamelCase    :						Optional[List[bool]]
 _lowerCamelCase    :						Optional[Union[List[PIL.Image.Image], np.ndarray]]
 _lowerCamelCase    :						Optional[str]


if is_transformers_available() and is_torch_available():
 from .pipeline_stable_diffusion_safe import StableDiffusionPipelineSafe
 from .safety_checker import SafeStableDiffusionSafetyChecker






from typing import TYPE_CHECKING

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


__A	:   Optional[int]	=					{
    'configuration_mobilevitv2': [
        'MOBILEVITV2_PRETRAINED_CONFIG_ARCHIVE_MAP',
        'MobileViTV2Config',
        'MobileViTV2OnnxConfig',
    ],
}


try:
	if not is_torch_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	__A	:   Tuple	=					[
	    'MOBILEVITV2_PRETRAINED_MODEL_ARCHIVE_LIST',
	    'MobileViTV2ForImageClassification',
	    'MobileViTV2ForSemanticSegmentation',
	    'MobileViTV2Model',
	    'MobileViTV2PreTrainedModel',
	]

if TYPE_CHECKING:
	from .configuration_mobilevitva import (
	    MOBILEVITV2_PRETRAINED_CONFIG_ARCHIVE_MAP,
	    MobileViTVaConfig,
	    MobileViTVaOnnxConfig,
	)

	try:
		if not is_torch_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .modeling_mobilevitva import (
		    MOBILEVITV2_PRETRAINED_MODEL_ARCHIVE_LIST,
		    MobileViTVaForImageClassification,
		    MobileViTVaForSemanticSegmentation,
		    MobileViTVaModel,
		    MobileViTVaPreTrainedModel,
		)

else:
	import sys

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