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      lowercase_						(						UpperCamelCase_		):



	"""simple docstring"""





	UpperCAmelCase_						:      List[Any]     =       {
	    """sld_warmup_steps""": 15,
	    """sld_guidance_scale""": 20,
	    """sld_threshold""": 0.0,
	    """sld_momentum_scale""": 0.0,
	    """sld_mom_beta""": 0.0,
	}
	UpperCAmelCase_						:      List[Any]     =       {
	    """sld_warmup_steps""": 10,
	    """sld_guidance_scale""": 1000,
	    """sld_threshold""": 0.01,
	    """sld_momentum_scale""": 0.3,
	    """sld_mom_beta""": 0.4,
	}
	UpperCAmelCase_						:      Optional[Any]     =       {
	    """sld_warmup_steps""": 7,
	    """sld_guidance_scale""": 2000,
	    """sld_threshold""": 0.025,
	    """sld_momentum_scale""": 0.5,
	    """sld_mom_beta""": 0.7,
	}
	UpperCAmelCase_						:      str     =       {
	    """sld_warmup_steps""": 0,
	    """sld_guidance_scale""": 5000,
	    """sld_threshold""": 1.0,
	    """sld_momentum_scale""": 0.5,
	    """sld_mom_beta""": 0.7,
	}




@dataclass
class      lowercase_						(						UpperCamelCase_		):



	"""simple docstring"""





	UpperCAmelCase_						:      Union[List[PIL.Image.Image], np.ndarray]
	UpperCAmelCase_						:      Optional[List[bool]]
	UpperCAmelCase_						:      Optional[Union[List[PIL.Image.Image], np.ndarray]]
	UpperCAmelCase_						:      Optional[str]


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




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_						(						UpperCamelCase_		):



	"""simple docstring"""





	UpperCAmelCase_						:      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



