






from ..utils import (
    OptionalDependencyNotAvailable,
    is_flax_available,
    is_invisible_watermark_available,
    is_k_diffusion_available,
    is_librosa_available,
    is_note_seq_available,
    is_onnx_available,
    is_torch_available,
    is_transformers_available,
)


try:
   if not is_torch_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   from ..utils.dummy_pt_objects import *  # noqa F403
else:
   from .consistency_models import ConsistencyModelPipeline
   from .dance_diffusion import DanceDiffusionPipeline
   from .ddim import DDIMPipeline
   from .ddpm import DDPMPipeline
   from .dit import DiTPipeline
   from .latent_diffusion import LDMSuperResolutionPipeline
   from .latent_diffusion_uncond import LDMPipeline
   from .pipeline_utils import AudioPipelineOutput, DiffusionPipeline, ImagePipelineOutput
   from .pndm import PNDMPipeline
   from .repaint import RePaintPipeline
   from .score_sde_ve import ScoreSdeVePipeline
   from .stochastic_karras_ve import KarrasVePipeline

try:
   if not (is_torch_available() and is_librosa_available()):
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   from ..utils.dummy_torch_and_librosa_objects import *  # noqa F403
else:
   from .audio_diffusion import AudioDiffusionPipeline, Mel

try:
   if not (is_torch_available() and is_transformers_available()):
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   from ..utils.dummy_torch_and_transformers_objects import *  # noqa F403
else:
   from .alt_diffusion import AltDiffusionImgaImgPipeline, AltDiffusionPipeline
   from .audioldm import AudioLDMPipeline
   from .controlnet import (
       StableDiffusionControlNetImgaImgPipeline,
       StableDiffusionControlNetInpaintPipeline,
       StableDiffusionControlNetPipeline,
   )
   from .deepfloyd_if import (
       IFImgaImgPipeline,
       IFImgaImgSuperResolutionPipeline,
       IFInpaintingPipeline,
       IFInpaintingSuperResolutionPipeline,
       IFPipeline,
       IFSuperResolutionPipeline,
   )
   from .kandinsky import (
       KandinskyImgaImgPipeline,
       KandinskyInpaintPipeline,
       KandinskyPipeline,
       KandinskyPriorPipeline,
   )
   from .kandinskya_a import (
       KandinskyVaaControlnetImgaImgPipeline,
       KandinskyVaaControlnetPipeline,
       KandinskyVaaImgaImgPipeline,
       KandinskyVaaInpaintPipeline,
       KandinskyVaaPipeline,
       KandinskyVaaPriorEmbaEmbPipeline,
       KandinskyVaaPriorPipeline,
   )
   from .latent_diffusion import LDMTextToImagePipeline
   from .paint_by_example import PaintByExamplePipeline
   from .semantic_stable_diffusion import SemanticStableDiffusionPipeline
   from .shap_e import ShapEImgaImgPipeline, ShapEPipeline
   from .stable_diffusion import (
       CycleDiffusionPipeline,
       StableDiffusionAttendAndExcitePipeline,
       StableDiffusionDepthaImgPipeline,
       StableDiffusionDiffEditPipeline,
       StableDiffusionImageVariationPipeline,
       StableDiffusionImgaImgPipeline,
       StableDiffusionInpaintPipeline,
       StableDiffusionInpaintPipelineLegacy,
       StableDiffusionInstructPixaPixPipeline,
       StableDiffusionLatentUpscalePipeline,
       StableDiffusionLDMaDPipeline,
       StableDiffusionModelEditingPipeline,
       StableDiffusionPanoramaPipeline,
       StableDiffusionParadigmsPipeline,
       StableDiffusionPipeline,
       StableDiffusionPixaPixZeroPipeline,
       StableDiffusionSAGPipeline,
       StableDiffusionUpscalePipeline,
       StableUnCLIPImgaImgPipeline,
       StableUnCLIPPipeline,
   )
   from .stable_diffusion_safe import StableDiffusionPipelineSafe
   from .text_to_video_synthesis import TextToVideoSDPipeline, TextToVideoZeroPipeline, VideoToVideoSDPipeline
   from .unclip import UnCLIPImageVariationPipeline, UnCLIPPipeline
   from .unidiffuser import ImageTextPipelineOutput, UniDiffuserModel, UniDiffuserPipeline, UniDiffuserTextDecoder
   from .versatile_diffusion import (
       VersatileDiffusionDualGuidedPipeline,
       VersatileDiffusionImageVariationPipeline,
       VersatileDiffusionPipeline,
       VersatileDiffusionTextToImagePipeline,
   )
   from .vq_diffusion import VQDiffusionPipeline


try:
   if not (is_torch_available() and is_transformers_available() and is_invisible_watermark_available()):
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   from ..utils.dummy_torch_and_transformers_and_invisible_watermark_objects import *  # noqa F403
else:
   from .stable_diffusion_xl import StableDiffusionXLImgaImgPipeline, StableDiffusionXLPipeline

try:
   if not is_onnx_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   from ..utils.dummy_onnx_objects import *  # noqa F403
else:
   from .onnx_utils import OnnxRuntimeModel

try:
   if not (is_torch_available() and is_transformers_available() and is_onnx_available()):
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   from ..utils.dummy_torch_and_transformers_and_onnx_objects import *  # noqa F403
else:
   from .stable_diffusion import (
       OnnxStableDiffusionImgaImgPipeline,
       OnnxStableDiffusionInpaintPipeline,
       OnnxStableDiffusionInpaintPipelineLegacy,
       OnnxStableDiffusionPipeline,
       OnnxStableDiffusionUpscalePipeline,
       StableDiffusionOnnxPipeline,
   )

try:
   if not (is_torch_available() and is_transformers_available() and is_k_diffusion_available()):
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   from ..utils.dummy_torch_and_transformers_and_k_diffusion_objects import *  # noqa F403
else:
   from .stable_diffusion import StableDiffusionKDiffusionPipeline

try:
   if not is_flax_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   from ..utils.dummy_flax_objects import *  # noqa F403
else:
   from .pipeline_flax_utils import FlaxDiffusionPipeline


try:
   if not (is_flax_available() and is_transformers_available()):
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   from ..utils.dummy_flax_and_transformers_objects import *  # noqa F403
else:
   from .controlnet import FlaxStableDiffusionControlNetPipeline
   from .stable_diffusion import (
       FlaxStableDiffusionImgaImgPipeline,
       FlaxStableDiffusionInpaintPipeline,
       FlaxStableDiffusionPipeline,
   )
try:
   if not (is_transformers_available() and is_torch_available() and is_note_seq_available()):
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   from ..utils.dummy_transformers_and_torch_and_note_seq_objects import *  # noqa F403
else:
   from .spectrogram_diffusion import MidiProcessor, SpectrogramDiffusionPipeline







# Lint as: python3

import hashlib
from typing import Union

def 						snake_case      (UpperCAmelCase__						) ->       bytes:
  if isinstance(UpperCAmelCase__			,					UpperCAmelCase__						):
    # Data already in bytes, returns as it as
    return hash_data
  elif isinstance(UpperCAmelCase__			,					UpperCAmelCase__						):
    # We keep the data as it as for it ot be later encoded to UTF-8
    # However replace `\\` with `/` for Windows compatibility
    UpperCamelCase_:      List[str]					   =       hash_data.replace('\\'			,					'/'						)
  elif isinstance(UpperCAmelCase__			,					UpperCAmelCase__						):
    UpperCamelCase_:      Union[str, Any]					   =       str(UpperCAmelCase__						)
  else:
    # If data is not of the required type, raise error
    raise InvalidKeyError(UpperCAmelCase__						)

  return hash_data.encode('utf-8'						)




class        _lowerCAmelCase( UpperCAmelCase_      ):





       """simple docstring"""







       def __init__(      self						,    _lowerCamelCase							):
         UpperCamelCase_:      int					   =       '\nFAILURE TO GENERATE DATASET: Invalid key type detected'
         UpperCamelCase_:      Dict					   =       f'''\nFound Key {hash_data} of type {type(_lowerCamelCase							)}'''
         UpperCamelCase_:      Any					   =       '\nKeys should be either str, int or bytes type'
         super().__init__(f'''{self.prefix}{self.err_msg}{self.suffix}'''							)







class        _lowerCAmelCase( UpperCAmelCase_      ):





       """simple docstring"""







       def __init__(      self						,    _lowerCamelCase						,    _lowerCamelCase						,    _lowerCamelCase=""							):
         UpperCamelCase_:      int					   =       key
         UpperCamelCase_:      Dict					   =       duplicate_key_indices
         UpperCamelCase_:      int					   =       fix_msg
         UpperCamelCase_:      List[Any]					   =       'Found multiple examples generated with the same key'
         if len(_lowerCamelCase							) <= 2_0:
           UpperCamelCase_:      Tuple					   =       f'''\nThe examples at index {', '.join(_lowerCamelCase							)} have the key {key}'''
         else:
           UpperCamelCase_:      Optional[int]					   =       f'''\nThe examples at index {', '.join(duplicate_key_indices[:2_0]							)}... ({len(_lowerCamelCase							) - 2_0} more) have the key {key}'''
         UpperCamelCase_:      List[Any]					   =       '\n' + fix_msg if fix_msg else ''
         super().__init__(f'''{self.prefix}{self.err_msg}{self.suffix}'''							)







class        _lowerCAmelCase:





       """simple docstring"""







       def __init__(      self						,    _lowerCamelCase							):
         UpperCamelCase_:      int					   =       hashlib.mda(_as_bytes(_lowerCamelCase							)							)





       def     _a					(      self						,    _lowerCamelCase							):
         UpperCamelCase_:      Optional[int]					   =       self._split_mda.copy()
         UpperCamelCase_:      str					   =       _as_bytes(_lowerCamelCase							)
         mda.update(_lowerCamelCase							)
         # Convert to integer with hexadecimal conversion
         return int(mda.hexdigest()						,    1_6							)