



'''simple docstring'''





from ..utils import deprecate
from .attention_processor import (  # noqa: F401
    Attention,
    AttentionProcessor,
    AttnAddedKVProcessor,
    AttnProcessor2_0,
    LoRAAttnProcessor,
    LoRALinearLayer,
    LoRAXFormersAttnProcessor,
    SlicedAttnAddedKVProcessor,
    SlicedAttnProcessor,
    XFormersAttnProcessor,
)
from .attention_processor import AttnProcessor as AttnProcessorRename  # noqa: F401


deprecate(
    'cross_attention',
    '0.20.0',
    'Importing from cross_attention is deprecated. Please import from diffusers.models.attention_processor instead.',
    standard_warn=False,
)


UpperCamelCase__    :     Optional[int]			  =   AttentionProcessor


class 							_lowerCAmelCase	(  __A							):


 """simple docstring"""

 def __init__(      self					,    *_lowerCamelCase					,    **_lowerCamelCase  )    ->    Dict:
    A_  :		str						=					F"{self.__class__.__name__} is deprecated and will be removed in `0.20.0`. Please use `from diffusers.models.attention_processor import {''.join(self.__class__.__name__.split('Cross'  )  )} instead."
    deprecate("""cross_attention"""					,    """0.20.0"""					,    _lowerCamelCase					,    standard_warn=_lowerCamelCase  )
    super().__init__(*_lowerCamelCase					,    **_lowerCamelCase  )


class 							_lowerCAmelCase	(  __A							):


 """simple docstring"""

 def __init__(      self					,    *_lowerCamelCase					,    **_lowerCamelCase  )    ->    Tuple:
    A_  :		Tuple						=					F"{self.__class__.__name__} is deprecated and will be removed in `0.20.0`. Please use `from diffusers.models.attention_processor import {''.join(self.__class__.__name__.split('Cross'  )  )} instead."
    deprecate("""cross_attention"""					,    """0.20.0"""					,    _lowerCamelCase					,    standard_warn=_lowerCamelCase  )
    super().__init__(*_lowerCamelCase					,    **_lowerCamelCase  )


class 							_lowerCAmelCase	(  __A							):


 """simple docstring"""

 def __init__(      self					,    *_lowerCamelCase					,    **_lowerCamelCase  )    ->    Optional[Any]:
    A_  :		List[str]						=					F"{self.__class__.__name__} is deprecated and will be removed in `0.20.0`. Please use `from diffusers.models.attention_processor import {''.join(self.__class__.__name__.split('Cross'  )  )} instead."
    deprecate("""cross_attention"""					,    """0.20.0"""					,    _lowerCamelCase					,    standard_warn=_lowerCamelCase  )
    super().__init__(*_lowerCamelCase					,    **_lowerCamelCase  )


class 							_lowerCAmelCase	(  __A							):


 """simple docstring"""

 def __init__(      self					,    *_lowerCamelCase					,    **_lowerCamelCase  )    ->    str:
    A_  :		int						=					F"{self.__class__.__name__} is deprecated and will be removed in `0.20.0`. Please use `from diffusers.models.attention_processor import {''.join(self.__class__.__name__.split('Cross'  )  )} instead."
    deprecate("""cross_attention"""					,    """0.20.0"""					,    _lowerCamelCase					,    standard_warn=_lowerCamelCase  )
    super().__init__(*_lowerCamelCase					,    **_lowerCamelCase  )


class 							_lowerCAmelCase	(  __A							):


 """simple docstring"""

 def __init__(      self					,    *_lowerCamelCase					,    **_lowerCamelCase  )    ->    int:
    A_  :		int						=					F"{self.__class__.__name__} is deprecated and will be removed in `0.20.0`. Please use `from diffusers.models.attention_processor import {''.join(self.__class__.__name__.split('Cross'  )  )} instead."
    deprecate("""cross_attention"""					,    """0.20.0"""					,    _lowerCamelCase					,    standard_warn=_lowerCamelCase  )
    super().__init__(*_lowerCamelCase					,    **_lowerCamelCase  )


class 							_lowerCAmelCase	(  __A							):


 """simple docstring"""

 def __init__(      self					,    *_lowerCamelCase					,    **_lowerCamelCase  )    ->    Optional[Any]:
    A_  :		Tuple						=					F"{self.__class__.__name__} is deprecated and will be removed in `0.20.0`. Please use `from diffusers.models.attention_processor import {''.join(self.__class__.__name__.split('Cross'  )  )} instead."
    deprecate("""cross_attention"""					,    """0.20.0"""					,    _lowerCamelCase					,    standard_warn=_lowerCamelCase  )
    super().__init__(*_lowerCamelCase					,    **_lowerCamelCase  )


class 							_lowerCAmelCase	(  __A							):


 """simple docstring"""

 def __init__(      self					,    *_lowerCamelCase					,    **_lowerCamelCase  )    ->    str:
    A_  :		Dict						=					F"{self.__class__.__name__} is deprecated and will be removed in `0.20.0`. Please use `from diffusers.models.attention_processor import {''.join(self.__class__.__name__.split('Cross'  )  )} instead."
    deprecate("""cross_attention"""					,    """0.20.0"""					,    _lowerCamelCase					,    standard_warn=_lowerCamelCase  )
    super().__init__(*_lowerCamelCase					,    **_lowerCamelCase  )


class 							_lowerCAmelCase	(  __A							):


 """simple docstring"""

 def __init__(      self					,    *_lowerCamelCase					,    **_lowerCamelCase  )    ->    List[Any]:
    A_  :		int						=					F"{self.__class__.__name__} is deprecated and will be removed in `0.20.0`. Please use `from diffusers.models.attention_processor import {''.join(self.__class__.__name__.split('Cross'  )  )} instead."
    deprecate("""cross_attention"""					,    """0.20.0"""					,    _lowerCamelCase					,    standard_warn=_lowerCamelCase  )
    super().__init__(*_lowerCamelCase					,    **_lowerCamelCase  )





'''simple docstring'''





from ..utils import DummyObject, requires_backends


class 							_lowerCAmelCase	(  metaclass=__A							):


 """simple docstring"""

 lowerCamelCase									=     ['''torch''', '''librosa''']







 def __init__(      self					,    *_lowerCamelCase					,    **_lowerCamelCase  )    ->    str:
    requires_backends(self					,    ["""torch""", """librosa"""]  )







 @classmethod
 def       UpperCAmelCase_       (      cls					,    *_lowerCamelCase					,    **_lowerCamelCase  )    ->    Dict:
    requires_backends(cls					,    ["""torch""", """librosa"""]  )







 @classmethod
 def       UpperCAmelCase_       (      cls					,    *_lowerCamelCase					,    **_lowerCamelCase  )    ->    Optional[int]:
    requires_backends(cls					,    ["""torch""", """librosa"""]  )


class 							_lowerCAmelCase	(  metaclass=__A							):


 """simple docstring"""

 lowerCamelCase									=     ['''torch''', '''librosa''']







 def __init__(      self					,    *_lowerCamelCase					,    **_lowerCamelCase  )    ->    Dict:
    requires_backends(self					,    ["""torch""", """librosa"""]  )







 @classmethod
 def       UpperCAmelCase_       (      cls					,    *_lowerCamelCase					,    **_lowerCamelCase  )    ->    str:
    requires_backends(cls					,    ["""torch""", """librosa"""]  )







 @classmethod
 def       UpperCAmelCase_       (      cls					,    *_lowerCamelCase					,    **_lowerCamelCase  )    ->    Dict:
    requires_backends(cls					,    ["""torch""", """librosa"""]  )
