





from typing import TYPE_CHECKING

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


__A				:    List[Any]       =   {
    "configuration_groupvit": [
        "GROUPVIT_PRETRAINED_CONFIG_ARCHIVE_MAP",
        "GroupViTConfig",
        "GroupViTOnnxConfig",
        "GroupViTTextConfig",
        "GroupViTVisionConfig",
    ],
}

try:
				if not is_torch_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				__A				:    Any       =   [
				    "GROUPVIT_PRETRAINED_MODEL_ARCHIVE_LIST",
				    "GroupViTModel",
				    "GroupViTPreTrainedModel",
				    "GroupViTTextModel",
				    "GroupViTVisionModel",
				]

try:
				if not is_tf_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				__A				:    Any       =   [
				    "TF_GROUPVIT_PRETRAINED_MODEL_ARCHIVE_LIST",
				    "TFGroupViTModel",
				    "TFGroupViTPreTrainedModel",
				    "TFGroupViTTextModel",
				    "TFGroupViTVisionModel",
				]

if TYPE_CHECKING:
				from .configuration_groupvit import (
				    GROUPVIT_PRETRAINED_CONFIG_ARCHIVE_MAP,
				    GroupViTConfig,
				    GroupViTOnnxConfig,
				    GroupViTTextConfig,
				    GroupViTVisionConfig,
				)

				try:
								if not is_torch_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_groupvit import (
								    GROUPVIT_PRETRAINED_MODEL_ARCHIVE_LIST,
								    GroupViTModel,
								    GroupViTPreTrainedModel,
								    GroupViTTextModel,
								    GroupViTVisionModel,
								)

				try:
								if not is_tf_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_tf_groupvit import (
								    TF_GROUPVIT_PRETRAINED_MODEL_ARCHIVE_LIST,
								    TFGroupViTModel,
								    TFGroupViTPreTrainedModel,
								    TFGroupViTTextModel,
								    TFGroupViTVisionModel,
								)

else:
				import sys

				__A				:    Dict       =   _LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)










from __future__ import annotations

from collections import namedtuple





def 						__SCREAMING_SNAKE_CASE  (				UpperCamelCase__			,			UpperCamelCase__			,			UpperCamelCase__ )  ->				tuple:







			'''simple docstring'''

			UpperCAmelCase   		=				namedtuple('''result'''			,			'''name value''' )
			if (voltage, current, power).count(0 ) != 1:
						raise ValueError('''Only one argument must be 0''' )
			elif power < 0:
						raise ValueError(
						    '''Power cannot be negative in any electrical/electronics system''' )
			elif voltage == 0:
						return result('''voltage'''			,			power / current )
			elif current == 0:
						return result('''current'''			,			power / voltage )
			elif power == 0:
						return result('''power'''			,			float(round(abs(voltage * current )			,			2 ) ) )
			else:
						raise ValueError('''Exactly one argument must be 0''' )


if __name__ == "__main__":
				import doctest

				doctest.testmod()



