






from typing import TYPE_CHECKING

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


snake_case    				=		{
    """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:
   snake_case    				=		["""LayoutLMv3TokenizerFast"""]

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

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

try:
   if not is_vision_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   snake_case    				=		["""LayoutLMv3FeatureExtractor"""]
   snake_case    				=		["""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

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














from ..utils import DummyObject, requires_backends


class  SCREAMING_SNAKE_CASE			(			metaclass=lowerCAmelCase					):
     '''simple docstring'''


     UpperCamelCase_							:		Union[str, Any]			=	['''keras_nlp''']


     def __init__(				self       :	Dict					, *UpperCAmelCase_       :	Optional[Any]					, **UpperCAmelCase_       :	Dict      ):
       requires_backends(self					, ["keras_nlp"]      )






