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

import numpy as np
import PIL

from ...utils import BaseOutput, OptionalDependencyNotAvailable, is_torch_available, is_transformers_available
from .timesteps import (
    fastaa_timesteps,
    smartaa_timesteps,
    smartaa_timesteps,
    smartaaa_timesteps,
    smartaaa_timesteps,
    superaa_timesteps,
    superaa_timesteps,
    superaaa_timesteps,
)







@dataclass
class     lowercase		( SCREAMING_SNAKE_CASE__		):
							lowercase_	:	Union[List[PIL.Image.Image], np.ndarray]
							lowercase_	:	Optional[List[bool]]
							lowercase_	:	Optional[List[bool]]


try:
							if not (is_transformers_available() and is_torch_available()):
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							from ...utils.dummy_torch_and_transformers_objects import *  # noqa F403
else:
							from .pipeline_if import IFPipeline
							from .pipeline_if_imgaimg import IFImgaImgPipeline
							from .pipeline_if_imgaimg_superresolution import IFImgaImgSuperResolutionPipeline
							from .pipeline_if_inpainting import IFInpaintingPipeline
							from .pipeline_if_inpainting_superresolution import IFInpaintingSuperResolutionPipeline
							from .pipeline_if_superresolution import IFSuperResolutionPipeline
							from .safety_checker import IFSafetyChecker
							from .watermark import IFWatermarker






lowercase__		:Any			  =   8.3_144_598



def 	UpperCamelCase   (							lowerCAmelCase__			,      lowerCAmelCase__		):
					'''simple docstring'''
					if temperature < 0:
										raise Exception('''Temperature cannot be less than 0 K'''		)
					if molar_mass <= 0:
										raise Exception('''Molar mass cannot be less than or equal to 0 kg/mol'''		)
					else:
										return (3 * UNIVERSAL_GAS_CONSTANT * temperature / molar_mass) ** 0.5


if __name__ == "__main__":
							import doctest

							# run doctest
							doctest.testmod()

							# example
							lowercase__		:Optional[Any]			  =   300
							lowercase__		:List[Any]			  =   28
							lowercase__		:Dict			  =   rms_speed_of_molecule(temperature, molar_mass)
							print(F'Vrms of Nitrogen gas at 300 K is {vrms} m/s')




