


'''simple docstring'''

from typing import TYPE_CHECKING

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


__lowercase:		int    						=  {
    "configuration_switch_transformers": [
        "SWITCH_TRANSFORMERS_PRETRAINED_CONFIG_ARCHIVE_MAP",
        "SwitchTransformersConfig",
        "SwitchTransformersOnnxConfig",
    ]
}

try:
       if not is_torch_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       __lowercase:		Any    						=  [
           "SWITCH_TRANSFORMERS_PRETRAINED_MODEL_ARCHIVE_LIST",
           "SwitchTransformersEncoderModel",
           "SwitchTransformersForConditionalGeneration",
           "SwitchTransformersModel",
           "SwitchTransformersPreTrainedModel",
           "SwitchTransformersTop1Router",
           "SwitchTransformersSparseMLP",
       ]


if TYPE_CHECKING:
       from .configuration_switch_transformers import (
           SWITCH_TRANSFORMERS_PRETRAINED_CONFIG_ARCHIVE_MAP,
           SwitchTransformersConfig,
           SwitchTransformersOnnxConfig,
       )

       try:
              if not is_torch_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .modeling_switch_transformers import (
                  SWITCH_TRANSFORMERS_PRETRAINED_MODEL_ARCHIVE_LIST,
                  SwitchTransformersEncoderModel,
                  SwitchTransformersForConditionalGeneration,
                  SwitchTransformersModel,
                  SwitchTransformersPreTrainedModel,
                  SwitchTransformersSparseMLP,
                  SwitchTransformersTopaRouter,
              )


else:
       import sys

       __lowercase:		Optional[int]    						=  _LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)




"""simple docstring"""
def   A_    (     _lowercase,   _lowercase,   _lowercase,   _lowercase      ):







						'''simple docstring'''


						snake_case_					:Dict		=     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(_lowercase,   r + 1,   _lowercase,   _lowercase      )
						else:
												return binary_search(_lowercase,   _lowercase,   r - 1,   _lowercase      )
def   A_    (     _lowercase,   _lowercase      ):







						'''simple docstring'''


						snake_case_					:Any		=     0
						if matrix[index][0] == value:
												return [index, 0]
						while index < len(_lowercase      ) and matrix[index][0] < value:
												snake_case_					:List[str]		=     binary_search(matrix[index],   0,   len(matrix[index]      ) - 1,   _lowercase      )
												if r != -1:
																		return [index, r]
												index += 1
						return [-1, -1]


if __name__ == "__main__":
						import doctest

						doctest.testmod()
