





import importlib
import math
import os
from dataclasses import dataclass
from enum import Enum
from typing import Any, Dict, Optional, Tuple, Union

import flax
import jax.numpy as jnp

from ..utils import BaseOutput


UpperCAmelCase__						:			int									='''scheduler_config.json'''

class       __A     (						a    ):
				__A      =				1
				__A      =				2
				__A      =				3
				__A      =				4
				__A      =				5




@dataclass
class       __A     (						a    ):
				__A      =				42




class       __A     :
				__A      =				SCHEDULER_CONFIG_NAME
				__A      =				["""dtype"""]
				__A      =				[]
				__A      =				True


				@classmethod
				def _snake_case       (		cls   , UpperCAmelCase_ = None   , UpperCAmelCase_ = None   , UpperCAmelCase_=False   , **UpperCAmelCase_   , ):
								lowerCamelCase ,  lowerCamelCase	 =cls.load_config(
								    pretrained_model_name_or_path=UpperCAmelCase_   , subfolder=UpperCAmelCase_   , return_unused_kwargs=UpperCAmelCase_   , **UpperCAmelCase_   , )
								lowerCamelCase ,  lowerCamelCase	 =cls.from_config(UpperCAmelCase_   , return_unused_kwargs=UpperCAmelCase_   , **UpperCAmelCase_							)

								if hasattr(UpperCAmelCase_   , """create_state"""							) and getattr(UpperCAmelCase_   , """has_state"""   , UpperCAmelCase_							):
												lowerCamelCase	 =scheduler.create_state()

								if return_unused_kwargs:
												return scheduler, state, unused_kwargs

								return scheduler, state


				def _snake_case       (		self   , UpperCAmelCase_   , UpperCAmelCase_ = False   , **UpperCAmelCase_							):
								self.save_config(save_directory=UpperCAmelCase_   , push_to_hub=UpperCAmelCase_   , **UpperCAmelCase_							)


				@property
				def _snake_case       (		self							):
								return self._get_compatibles()


				@classmethod
				def _snake_case       (		cls							):
								lowerCamelCase	 =list(set([cls.__name__] + cls._compatibles							)							)
								lowerCamelCase	 =importlib.import_module(__name__.split("""."""							)[0]							)
								lowerCamelCase	 =[
								    getattr(UpperCAmelCase_   , UpperCAmelCase_							) for c in compatible_classes_str if hasattr(UpperCAmelCase_   , UpperCAmelCase_							)
								]
								return compatible_classes





def      _lowercase					(						_UpperCAmelCase			,      _UpperCAmelCase				)						->  jnp.ndarray:
				assert len(_UpperCAmelCase				) >= x.ndim
				return jnp.broadcast_to(x.reshape(x.shape + (1,) * (len(_UpperCAmelCase				) - x.ndim)				)			,      _UpperCAmelCase				)





def      _lowercase					(						_UpperCAmelCase			,      _UpperCAmelCase=0.9_9_9			,      _UpperCAmelCase=jnp.floataa				)						->  jnp.ndarray:

				def alpha_bar(_UpperCAmelCase				):
								return math.cos((time_step + 0.0_0_8) / 1.0_0_8 * math.pi / 2				) ** 2

				lowerCamelCase	 =[]
				for i in range(_UpperCAmelCase				):
								lowerCamelCase	 =i / num_diffusion_timesteps
								lowerCamelCase	 =(i + 1) / num_diffusion_timesteps
								betas.append(min(1 - alpha_bar(_UpperCAmelCase				) / alpha_bar(_UpperCAmelCase				)			,      _UpperCAmelCase				)				)
				return jnp.array(_UpperCAmelCase			,      dtype=_UpperCAmelCase				)

@flax.struct.dataclass
class       __A     :
				__A      =				42
				__A      =				42
				__A      =				42


				@classmethod
				def _snake_case       (		cls   , UpperCAmelCase_							):
								lowerCamelCase	 =scheduler.config

								if config.trained_betas is not None:
												lowerCamelCase	 =jnp.asarray(config.trained_betas   , dtype=scheduler.dtype							)
								elif config.beta_schedule == "linear":
												lowerCamelCase	 =jnp.linspace(config.beta_start   , config.beta_end   , config.num_train_timesteps   , dtype=scheduler.dtype							)
								elif config.beta_schedule == "scaled_linear":
												# this schedule is very specific to the latent diffusion model.
												lowerCamelCase	 =(
												    jnp.linspace(
												        config.beta_start**0.5   , config.beta_end**0.5   , config.num_train_timesteps   , dtype=scheduler.dtype							)
												    ** 2
												)
								elif config.beta_schedule == "squaredcos_cap_v2":
												# Glide cosine schedule
												lowerCamelCase	 =betas_for_alpha_bar(config.num_train_timesteps   , dtype=scheduler.dtype							)
								else:
												raise NotImplementedError(
												    f"""beta_schedule {config.beta_schedule} is not implemented for scheduler {scheduler.__class__.__name__}"""							)

								lowerCamelCase	 =1.0 - betas

								lowerCamelCase	 =jnp.cumprod(UpperCAmelCase_   , axis=0							)

								return cls(
								    alphas=UpperCAmelCase_   , betas=UpperCAmelCase_   , alphas_cumprod=UpperCAmelCase_   , )





def      _lowercase					(						_UpperCAmelCase			,      _UpperCAmelCase			,      _UpperCAmelCase			,      _UpperCAmelCase				)						->  Dict:
				lowerCamelCase	 =state.alphas_cumprod

				lowerCamelCase	 =alphas_cumprod[timesteps] ** 0.5
				lowerCamelCase	 =sqrt_alpha_prod.flatten()
				lowerCamelCase	 =broadcast_to_shape_from_left(_UpperCAmelCase			,      original_samples.shape				)

				lowerCamelCase	 =(1 - alphas_cumprod[timesteps]) ** 0.5
				lowerCamelCase	 =sqrt_one_minus_alpha_prod.flatten()
				lowerCamelCase	 =broadcast_to_shape_from_left(_UpperCAmelCase			,      original_samples.shape				)

				return sqrt_alpha_prod, sqrt_one_minus_alpha_prod





def      _lowercase					(						_UpperCAmelCase			,      _UpperCAmelCase			,      _UpperCAmelCase			,      _UpperCAmelCase				)						->  Any:
				lowerCamelCase ,  lowerCamelCase	 =get_sqrt_alpha_prod(_UpperCAmelCase			,      _UpperCAmelCase			,      _UpperCAmelCase			,      _UpperCAmelCase				)
				lowerCamelCase	 =sqrt_alpha_prod * original_samples + sqrt_one_minus_alpha_prod * noise
				return noisy_samples





def      _lowercase					(						_UpperCAmelCase			,      _UpperCAmelCase			,      _UpperCAmelCase			,      _UpperCAmelCase				)						->  List[Any]:
				lowerCamelCase ,  lowerCamelCase	 =get_sqrt_alpha_prod(_UpperCAmelCase			,      _UpperCAmelCase			,      _UpperCAmelCase			,      _UpperCAmelCase				)
				lowerCamelCase	 =sqrt_alpha_prod * noise - sqrt_one_minus_alpha_prod * sample
				return velocity












from ..utils import DummyObject, requires_backends

class       __A     (						metaclass=a    ):
				__A      =				["""torch"""]


				def __init__(		self   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(self   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)




class       __A     (						metaclass=a    ):
				__A      =				["""torch"""]


				def __init__(		self   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(self   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)




class       __A     (						metaclass=a    ):
				__A      =				["""torch"""]


				def __init__(		self   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(self   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)




class       __A     (						metaclass=a    ):
				__A      =				["""torch"""]


				def __init__(		self   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(self   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)




class       __A     (						metaclass=a    ):
				__A      =				["""torch"""]


				def __init__(		self   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(self   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)




class       __A     (						metaclass=a    ):
				__A      =				["""torch"""]


				def __init__(		self   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(self   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)




class       __A     (						metaclass=a    ):
				__A      =				["""torch"""]


				def __init__(		self   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(self   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)




class       __A     (						metaclass=a    ):
				__A      =				["""torch"""]


				def __init__(		self   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(self   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)




class       __A     (						metaclass=a    ):
				__A      =				["""torch"""]


				def __init__(		self   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(self   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)




class       __A     (						metaclass=a    ):
				__A      =				["""torch"""]


				def __init__(		self   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(self   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)




class       __A     (						metaclass=a    ):
				__A      =				["""torch"""]


				def __init__(		self   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(self   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)





def      _lowercase					(						*_UpperCAmelCase			,      **_UpperCAmelCase				)						->  int:
				requires_backends(_UpperCAmelCase			,      ["""torch"""]				)





def      _lowercase					(						*_UpperCAmelCase			,      **_UpperCAmelCase				)						->  Optional[int]:
				requires_backends(_UpperCAmelCase			,      ["""torch"""]				)





def      _lowercase					(						*_UpperCAmelCase			,      **_UpperCAmelCase				)						->  str:
				requires_backends(_UpperCAmelCase			,      ["""torch"""]				)





def      _lowercase					(						*_UpperCAmelCase			,      **_UpperCAmelCase				)						->  str:
				requires_backends(_UpperCAmelCase			,      ["""torch"""]				)





def      _lowercase					(						*_UpperCAmelCase			,      **_UpperCAmelCase				)						->  Optional[Any]:
				requires_backends(_UpperCAmelCase			,      ["""torch"""]				)





def      _lowercase					(						*_UpperCAmelCase			,      **_UpperCAmelCase				)						->  List[str]:
				requires_backends(_UpperCAmelCase			,      ["""torch"""]				)





def      _lowercase					(						*_UpperCAmelCase			,      **_UpperCAmelCase				)						->  Dict:
				requires_backends(_UpperCAmelCase			,      ["""torch"""]				)

class       __A     (						metaclass=a    ):
				__A      =				["""torch"""]


				def __init__(		self   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(self   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)




class       __A     (						metaclass=a    ):
				__A      =				["""torch"""]


				def __init__(		self   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(self   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)




class       __A     (						metaclass=a    ):
				__A      =				["""torch"""]


				def __init__(		self   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(self   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)




class       __A     (						metaclass=a    ):
				__A      =				["""torch"""]


				def __init__(		self   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(self   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)




class       __A     (						metaclass=a    ):
				__A      =				["""torch"""]


				def __init__(		self   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(self   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)




class       __A     (						metaclass=a    ):
				__A      =				["""torch"""]


				def __init__(		self   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(self   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)




class       __A     (						metaclass=a    ):
				__A      =				["""torch"""]


				def __init__(		self   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(self   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)




class       __A     (						metaclass=a    ):
				__A      =				["""torch"""]


				def __init__(		self   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(self   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)




class       __A     (						metaclass=a    ):
				__A      =				["""torch"""]


				def __init__(		self   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(self   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)




class       __A     (						metaclass=a    ):
				__A      =				["""torch"""]


				def __init__(		self   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(self   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)




class       __A     (						metaclass=a    ):
				__A      =				["""torch"""]


				def __init__(		self   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(self   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)




class       __A     (						metaclass=a    ):
				__A      =				["""torch"""]


				def __init__(		self   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(self   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)




class       __A     (						metaclass=a    ):
				__A      =				["""torch"""]


				def __init__(		self   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(self   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)




class       __A     (						metaclass=a    ):
				__A      =				["""torch"""]


				def __init__(		self   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(self   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)




class       __A     (						metaclass=a    ):
				__A      =				["""torch"""]


				def __init__(		self   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(self   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)




class       __A     (						metaclass=a    ):
				__A      =				["""torch"""]


				def __init__(		self   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(self   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)




class       __A     (						metaclass=a    ):
				__A      =				["""torch"""]


				def __init__(		self   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(self   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)




class       __A     (						metaclass=a    ):
				__A      =				["""torch"""]


				def __init__(		self   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(self   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)




class       __A     (						metaclass=a    ):
				__A      =				["""torch"""]


				def __init__(		self   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(self   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)




class       __A     (						metaclass=a    ):
				__A      =				["""torch"""]


				def __init__(		self   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(self   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)




class       __A     (						metaclass=a    ):
				__A      =				["""torch"""]


				def __init__(		self   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(self   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)




class       __A     (						metaclass=a    ):
				__A      =				["""torch"""]


				def __init__(		self   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(self   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)




class       __A     (						metaclass=a    ):
				__A      =				["""torch"""]


				def __init__(		self   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(self   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)




class       __A     (						metaclass=a    ):
				__A      =				["""torch"""]


				def __init__(		self   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(self   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)




class       __A     (						metaclass=a    ):
				__A      =				["""torch"""]


				def __init__(		self   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(self   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)




class       __A     (						metaclass=a    ):
				__A      =				["""torch"""]


				def __init__(		self   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(self   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)




class       __A     (						metaclass=a    ):
				__A      =				["""torch"""]


				def __init__(		self   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(self   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)




class       __A     (						metaclass=a    ):
				__A      =				["""torch"""]


				def __init__(		self   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(self   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)




class       __A     (						metaclass=a    ):
				__A      =				["""torch"""]


				def __init__(		self   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(self   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)




class       __A     (						metaclass=a    ):
				__A      =				["""torch"""]


				def __init__(		self   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(self   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)




class       __A     (						metaclass=a    ):
				__A      =				["""torch"""]


				def __init__(		self   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(self   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)




class       __A     (						metaclass=a    ):
				__A      =				["""torch"""]


				def __init__(		self   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(self   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)




class       __A     (						metaclass=a    ):
				__A      =				["""torch"""]


				def __init__(		self   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(self   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)




class       __A     (						metaclass=a    ):
				__A      =				["""torch"""]


				def __init__(		self   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(self   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)




class       __A     (						metaclass=a    ):
				__A      =				["""torch"""]


				def __init__(		self   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(self   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)




class       __A     (						metaclass=a    ):
				__A      =				["""torch"""]


				def __init__(		self   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(self   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)




class       __A     (						metaclass=a    ):
				__A      =				["""torch"""]


				def __init__(		self   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(self   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)




class       __A     (						metaclass=a    ):
				__A      =				["""torch"""]


				def __init__(		self   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(self   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)




class       __A     (						metaclass=a    ):
				__A      =				["""torch"""]


				def __init__(		self   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(self   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)


				@classmethod
				def _snake_case       (		cls   , *UpperCAmelCase_   , **UpperCAmelCase_							):
								requires_backends(cls   , ["""torch"""]							)





