



'''simple docstring'''







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__)










'''simple docstring'''







def 			_lowerCAmelCase(      UpperCAmelCase_      :	list					, UpperCAmelCase_      :	int					, UpperCAmelCase_      :	int					, UpperCAmelCase_      :	int						) ->							int:
							lowerCAmelCase__  =   int((lower_bound + upper_bound) // 2						)
							if array[r] == value:
														return r
							if lower_bound >= upper_bound:
														return -1
							if array[r] < value:
														return binary_search(UpperCAmelCase_					, r + 1					, UpperCAmelCase_					, UpperCAmelCase_						)
							else:
														return binary_search(UpperCAmelCase_					, UpperCAmelCase_					, r - 1					, UpperCAmelCase_						)
def 			_lowerCAmelCase(      UpperCAmelCase_      :	int					, UpperCAmelCase_      :	list						) ->							list:
							lowerCAmelCase__  =   0
							if matrix[index][0] == value:
														return [index, 0]
							while index < len(UpperCAmelCase_						) and matrix[index][0] < value:
														lowerCAmelCase__  =   binary_search(matrix[index]					, 0					, len(matrix[index]						) - 1					, UpperCAmelCase_						)
														if r != -1:
																					return [index, r]
														index += 1
							return [-1, -1]


if __name__ == "__main__":
		import doctest

		doctest.testmod()





