






from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


UpperCAmelCase__            =	{"configuration_visual_bert": ["VISUAL_BERT_PRETRAINED_CONFIG_ARCHIVE_MAP", "VisualBertConfig"]}

try:
     if not is_torch_available():
          raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
     pass
else:
     UpperCAmelCase__            =	[
         "VISUAL_BERT_PRETRAINED_MODEL_ARCHIVE_LIST",
         "VisualBertForMultipleChoice",
         "VisualBertForPreTraining",
         "VisualBertForQuestionAnswering",
         "VisualBertForRegionToPhraseAlignment",
         "VisualBertForVisualReasoning",
         "VisualBertLayer",
         "VisualBertModel",
         "VisualBertPreTrainedModel",
     ]


if TYPE_CHECKING:
     from .configuration_visual_bert import VISUAL_BERT_PRETRAINED_CONFIG_ARCHIVE_MAP, VisualBertConfig

     try:
          if not is_torch_available():
               raise OptionalDependencyNotAvailable()
     except OptionalDependencyNotAvailable:
          pass
     else:
          from .modeling_visual_bert import (
              VISUAL_BERT_PRETRAINED_MODEL_ARCHIVE_LIST,
              VisualBertForMultipleChoice,
              VisualBertForPreTraining,
              VisualBertForQuestionAnswering,
              VisualBertForRegionToPhraseAlignment,
              VisualBertForVisualReasoning,
              VisualBertLayer,
              VisualBertModel,
              VisualBertPreTrainedModel,
          )


else:
     import sys

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










def 		_a					(   a				:float				)							->    float:
 return -num if num < 0 else num
def 		_a					(   a				:list[int]				)							->    int:
 if len(a				) == 0:
  raise ValueError('''abs_min() arg is an empty sequence'''				)
 a							=   x[0]
 for i in x:
  if abs_val(a				) < abs_val(a				):
   a							=   i
 return j
def 		_a					(   a				:list[int]				)							->    int:
 if len(a				) == 0:
  raise ValueError('''abs_max() arg is an empty sequence'''				)
 a							=   x[0]
 for i in x:
  if abs(a				) > abs(a				):
   a							=   i
 return j
def 		_a					(   a				:list[int]				)							->    int:
 if len(a				) == 0:
  raise ValueError('''abs_max_sort() arg is an empty sequence'''				)
 return sorted(a			,							key=a				)[-1]
def 		_a					(   )							->    int:
 assert abs_val(0				) == 0
 assert abs_val(34				) == 34
 assert abs_val(-100_000_000_000				) == 100_000_000_000

 a							=   [-3, -1, 2, -11]
 assert abs_max(a				) == -11
 assert abs_max_sort(a				) == -11
 assert abs_min(a				) == -1


if __name__ == "__main__":
     import doctest

     doctest.testmod()

     test_abs_val()
     print(abs_val(-34))  # --> 34


