
from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available, is_vision_available


snake_case 				=       {
    """configuration_chinese_clip""": [
        """CHINESE_CLIP_PRETRAINED_CONFIG_ARCHIVE_MAP""",
        """ChineseCLIPConfig""",
        """ChineseCLIPOnnxConfig""",
        """ChineseCLIPTextConfig""",
        """ChineseCLIPVisionConfig""",
    ],
    """processing_chinese_clip""": ["""ChineseCLIPProcessor"""],
}

try:
      if not is_vision_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      snake_case 				=       ["""ChineseCLIPFeatureExtractor"""]
      snake_case 				=       ["""ChineseCLIPImageProcessor"""]

try:
      if not is_torch_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      snake_case 				=       [
          """CHINESE_CLIP_PRETRAINED_MODEL_ARCHIVE_LIST""",
          """ChineseCLIPModel""",
          """ChineseCLIPPreTrainedModel""",
          """ChineseCLIPTextModel""",
          """ChineseCLIPVisionModel""",
      ]

if TYPE_CHECKING:
      from .configuration_chinese_clip import (
          CHINESE_CLIP_PRETRAINED_CONFIG_ARCHIVE_MAP,
          ChineseCLIPConfig,
          ChineseCLIPOnnxConfig,
          ChineseCLIPTextConfig,
          ChineseCLIPVisionConfig,
      )
      from .processing_chinese_clip import ChineseCLIPProcessor

      try:
            if not is_vision_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .feature_extraction_chinese_clip import ChineseCLIPFeatureExtractor, ChineseCLIPImageProcessor

      try:
            if not is_torch_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_chinese_clip import (
                CHINESE_CLIP_PRETRAINED_MODEL_ARCHIVE_LIST,
                ChineseCLIPModel,
                ChineseCLIPPreTrainedModel,
                ChineseCLIPTextModel,
                ChineseCLIPVisionModel,
            )

else:
      import sys

      snake_case 				=       _LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)






snake_case 				=       8.3_144_598

def 							SCREAMING_SNAKE_CASE__       (  snake_case__  :float			,							snake_case__  :float     )      ->						float:
  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
      snake_case 				=       3_0_0
      snake_case 				=       2_8
      snake_case 				=       rms_speed_of_molecule(temperature, molar_mass)
      print(F"""Vrms of Nitrogen gas at 300 K is {vrms} m/s""")