



from typing import TYPE_CHECKING

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


_lowercase						  =		{
    "configuration_layoutlmv3": [
        "LAYOUTLMV3_PRETRAINED_CONFIG_ARCHIVE_MAP",
        "LayoutLMv3Config",
        "LayoutLMv3OnnxConfig",
    ],
    "processing_layoutlmv3": ["LayoutLMv3Processor"],
    "tokenization_layoutlmv3": ["LayoutLMv3Tokenizer"],
}

try:
   if not is_tokenizers_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   _lowercase						  =		["LayoutLMv3TokenizerFast"]

try:
   if not is_torch_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   _lowercase						  =		[
       "LAYOUTLMV3_PRETRAINED_MODEL_ARCHIVE_LIST",
       "LayoutLMv3ForQuestionAnswering",
       "LayoutLMv3ForSequenceClassification",
       "LayoutLMv3ForTokenClassification",
       "LayoutLMv3Model",
       "LayoutLMv3PreTrainedModel",
   ]

try:
   if not is_tf_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   _lowercase						  =		[
       "TF_LAYOUTLMV3_PRETRAINED_MODEL_ARCHIVE_LIST",
       "TFLayoutLMv3ForQuestionAnswering",
       "TFLayoutLMv3ForSequenceClassification",
       "TFLayoutLMv3ForTokenClassification",
       "TFLayoutLMv3Model",
       "TFLayoutLMv3PreTrainedModel",
   ]

try:
   if not is_vision_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   _lowercase						  =		["LayoutLMv3FeatureExtractor"]
   _lowercase						  =		["LayoutLMv3ImageProcessor"]


if TYPE_CHECKING:
   from .configuration_layoutlmva import (
       LAYOUTLMV3_PRETRAINED_CONFIG_ARCHIVE_MAP,
       LayoutLMvaConfig,
       LayoutLMvaOnnxConfig,
   )
   from .processing_layoutlmva import LayoutLMvaProcessor
   from .tokenization_layoutlmva import LayoutLMvaTokenizer

   try:
      if not is_tokenizers_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .tokenization_layoutlmva_fast import LayoutLMvaTokenizerFast

   try:
      if not is_torch_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_layoutlmva import (
          LAYOUTLMV3_PRETRAINED_MODEL_ARCHIVE_LIST,
          LayoutLMvaForQuestionAnswering,
          LayoutLMvaForSequenceClassification,
          LayoutLMvaForTokenClassification,
          LayoutLMvaModel,
          LayoutLMvaPreTrainedModel,
      )

   try:
      if not is_tf_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_tf_layoutlmva import (
          TF_LAYOUTLMV3_PRETRAINED_MODEL_ARCHIVE_LIST,
          TFLayoutLMvaForQuestionAnswering,
          TFLayoutLMvaForSequenceClassification,
          TFLayoutLMvaForTokenClassification,
          TFLayoutLMvaModel,
          TFLayoutLMvaPreTrainedModel,
      )

   try:
      if not is_vision_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .feature_extraction_layoutlmva import LayoutLMvaFeatureExtractor
      from .image_processing_layoutlmva import LayoutLMvaImageProcessor

else:
   import sys

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





import jax.numpy as jnp

from ...utils import logging
from ..ta.modeling_flax_ta import FlaxTaEncoderModel, FlaxTaForConditionalGeneration, FlaxTaModel
from .configuration_mta import MTaConfig


_lowercase						  =		logging.get_logger(__name__)

_lowercase						  =		"T5Config"



def 		lowerCAmelCase__    (					UpperCamelCase_				:       jnp.array ,       UpperCamelCase_				:       int ,       UpperCamelCase_				:       int	)->  jnp.ndarray:
    A__		 =					jnp.zeros_like(UpperCamelCase_	)
    A__		 =					shifted_input_ids.at[:, 1:].set(input_ids[:, :-1]	)
    A__		 =					shifted_input_ids.at[:, 0].set(UpperCamelCase_	)

    A__		 =					jnp.where(shifted_input_ids == -1_0_0 ,       UpperCamelCase_ ,       UpperCamelCase_	)
    return shifted_input_ids



class     _UpperCAmelCase			(       A__     ):
     UpperCamelCase__		    =				'''mt5'''
     UpperCamelCase__		    =				MTaConfig







class     _UpperCAmelCase			(       A__     ):
     UpperCamelCase__		    =				'''mt5'''
     UpperCamelCase__		    =				MTaConfig







class     _UpperCAmelCase			(       A__     ):
     UpperCamelCase__		    =				'''mt5'''
     UpperCamelCase__		    =				MTaConfig
