'''simple docstring'''

def 							UpperCamelCase__			(			a__			,      a__			,      a__ = 0			,      a__ = 0      ):


						'''simple docstring'''






						_lowerCAmelCase										=right or len(_lowercase      ) - 1
						if left > right:
												return -1
						elif list_data[left] == key:
												return left
						elif list_data[right] == key:
												return right
						else:
												return search(_lowercase			,      _lowercase			,      left + 1			,      right - 1      )


if __name__ == "__main__":
							import doctest

							doctest.testmod()






'''simple docstring'''

from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_flax_available,
    is_tf_available,
    is_torch_available,
)


lowercase_     		= {'''configuration_vit_mae''': ['''VIT_MAE_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''ViTMAEConfig''']}

try:
							if not is_torch_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							lowercase_     		= [
							    '''VIT_MAE_PRETRAINED_MODEL_ARCHIVE_LIST''',
							    '''ViTMAEForPreTraining''',
							    '''ViTMAELayer''',
							    '''ViTMAEModel''',
							    '''ViTMAEPreTrainedModel''',
							]

try:
							if not is_tf_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							lowercase_     		= [
							    '''TFViTMAEForPreTraining''',
							    '''TFViTMAEModel''',
							    '''TFViTMAEPreTrainedModel''',
							]

if TYPE_CHECKING:
							from .configuration_vit_mae import VIT_MAE_PRETRAINED_CONFIG_ARCHIVE_MAP, ViTMAEConfig

							try:
														if not is_torch_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .modeling_vit_mae import (
														    VIT_MAE_PRETRAINED_MODEL_ARCHIVE_LIST,
														    ViTMAEForPreTraining,
														    ViTMAELayer,
														    ViTMAEModel,
														    ViTMAEPreTrainedModel,
														)

							try:
														if not is_tf_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .modeling_tf_vit_mae import TFViTMAEForPreTraining, TFViTMAEModel, TFViTMAEPreTrainedModel


else:
							import sys

							lowercase_     		= _LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)





