





'''simple docstring'''






from typing import TYPE_CHECKING

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


A__    :       List[str]              ={
    '''configuration_lxmert''': ['''LXMERT_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''LxmertConfig'''],
    '''tokenization_lxmert''': ['''LxmertTokenizer'''],
}

try:
      if not is_tokenizers_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      A__    :       Union[str, Any]              =['''LxmertTokenizerFast''']

try:
      if not is_torch_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      A__    :       List[Any]              =[
          '''LxmertEncoder''',
          '''LxmertForPreTraining''',
          '''LxmertForQuestionAnswering''',
          '''LxmertModel''',
          '''LxmertPreTrainedModel''',
          '''LxmertVisualFeatureEncoder''',
          '''LxmertXLayer''',
      ]

try:
      if not is_tf_available():
            raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
      pass
else:
      A__    :       Optional[int]              =[
          '''TF_LXMERT_PRETRAINED_MODEL_ARCHIVE_LIST''',
          '''TFLxmertForPreTraining''',
          '''TFLxmertMainLayer''',
          '''TFLxmertModel''',
          '''TFLxmertPreTrainedModel''',
          '''TFLxmertVisualFeatureEncoder''',
      ]


if TYPE_CHECKING:
      from .configuration_lxmert import LXMERT_PRETRAINED_CONFIG_ARCHIVE_MAP, LxmertConfig
      from .tokenization_lxmert import LxmertTokenizer

      try:
            if not is_tokenizers_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .tokenization_lxmert_fast import LxmertTokenizerFast

      try:
            if not is_torch_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_lxmert import (
                LxmertEncoder,
                LxmertForPreTraining,
                LxmertForQuestionAnswering,
                LxmertModel,
                LxmertPreTrainedModel,
                LxmertVisualFeatureEncoder,
                LxmertXLayer,
            )

      try:
            if not is_tf_available():
                  raise OptionalDependencyNotAvailable()
      except OptionalDependencyNotAvailable:
            pass
      else:
            from .modeling_tf_lxmert import (
                TF_LXMERT_PRETRAINED_MODEL_ARCHIVE_LIST,
                TFLxmertForPreTraining,
                TFLxmertMainLayer,
                TFLxmertModel,
                TFLxmertPreTrainedModel,
                TFLxmertVisualFeatureEncoder,
            )

else:
      import sys

      A__    :       List[Any]              =_LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)













'''simple docstring'''






def        UpperCamelCase__				(		lowerCAmelCase							,     lowerCAmelCase  ):





      """simple docstring"""


      if not (isinstance(lowerCAmelCase							,     lowerCAmelCase  ) and isinstance(lowerCAmelCase							,     lowerCAmelCase  )):
            raise ValueError("""longest_common_substring() takes two strings for inputs"""  )

      _lowerCAmelCase												=							len(lowerCAmelCase  )
      _lowerCAmelCase												=							len(lowerCAmelCase  )

      _lowerCAmelCase												=							[[0] * (texta_length + 1) for _ in range(texta_length + 1  )]
      _lowerCAmelCase												=							0
      _lowerCAmelCase												=							0

      for i in range(1							,     texta_length + 1  ):
            for j in range(1							,     texta_length + 1  ):
                  if texta[i - 1] == texta[j - 1]:
                        _lowerCAmelCase												=							1 + dp[i - 1][j - 1]
                        if dp[i][j] > ans_length:
                              _lowerCAmelCase												=							i
                              _lowerCAmelCase												=							dp[i][j]

      return texta[ans_index - ans_length : ans_index]


if __name__ == "__main__":
      import doctest

      doctest.testmod()






