




from typing import TYPE_CHECKING

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


__lowerCAmelCase		:    Any	      =		{
    'configuration_layoutlm': ['LAYOUTLM_PRETRAINED_CONFIG_ARCHIVE_MAP', 'LayoutLMConfig', 'LayoutLMOnnxConfig'],
    'tokenization_layoutlm': ['LayoutLMTokenizer'],
}

try:
		if not is_tokenizers_available():
				raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
		pass
else:
		__lowerCAmelCase		:    List[str]	      =		['LayoutLMTokenizerFast']

try:
		if not is_torch_available():
				raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
		pass
else:
		__lowerCAmelCase		:    Dict	      =		[
		    'LAYOUTLM_PRETRAINED_MODEL_ARCHIVE_LIST',
		    'LayoutLMForMaskedLM',
		    'LayoutLMForSequenceClassification',
		    'LayoutLMForTokenClassification',
		    'LayoutLMForQuestionAnswering',
		    'LayoutLMModel',
		    'LayoutLMPreTrainedModel',
		]

try:
		if not is_tf_available():
				raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
		pass
else:
		__lowerCAmelCase		:    int	      =		[
		    'TF_LAYOUTLM_PRETRAINED_MODEL_ARCHIVE_LIST',
		    'TFLayoutLMForMaskedLM',
		    'TFLayoutLMForSequenceClassification',
		    'TFLayoutLMForTokenClassification',
		    'TFLayoutLMForQuestionAnswering',
		    'TFLayoutLMMainLayer',
		    'TFLayoutLMModel',
		    'TFLayoutLMPreTrainedModel',
		]


if TYPE_CHECKING:
		from .configuration_layoutlm import LAYOUTLM_PRETRAINED_CONFIG_ARCHIVE_MAP, LayoutLMConfig, LayoutLMOnnxConfig
		from .tokenization_layoutlm import LayoutLMTokenizer

		try:
				if not is_tokenizers_available():
						raise OptionalDependencyNotAvailable()
		except OptionalDependencyNotAvailable:
				pass
		else:
				from .tokenization_layoutlm_fast import LayoutLMTokenizerFast

		try:
				if not is_torch_available():
						raise OptionalDependencyNotAvailable()
		except OptionalDependencyNotAvailable:
				pass
		else:
				from .modeling_layoutlm import (
				    LAYOUTLM_PRETRAINED_MODEL_ARCHIVE_LIST,
				    LayoutLMForMaskedLM,
				    LayoutLMForQuestionAnswering,
				    LayoutLMForSequenceClassification,
				    LayoutLMForTokenClassification,
				    LayoutLMModel,
				    LayoutLMPreTrainedModel,
				)
		try:
				if not is_tf_available():
						raise OptionalDependencyNotAvailable()
		except OptionalDependencyNotAvailable:
				pass
		else:
				from .modeling_tf_layoutlm import (
				    TF_LAYOUTLM_PRETRAINED_MODEL_ARCHIVE_LIST,
				    TFLayoutLMForMaskedLM,
				    TFLayoutLMForQuestionAnswering,
				    TFLayoutLMForSequenceClassification,
				    TFLayoutLMForTokenClassification,
				    TFLayoutLMMainLayer,
				    TFLayoutLMModel,
				    TFLayoutLMPreTrainedModel,
				)

else:
		import sys

		__lowerCAmelCase		:    Tuple	      =		_LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)












from ..utils import DummyObject, requires_backends




class    snake_case__							(metaclass=_UpperCamelCase       ):
				"""simple docstring"""



				SCREAMING_SNAKE_CASE_	:							List[str]										= ["""torch""", """transformers""", """k_diffusion"""]





				def __init__(				self    :					Optional[int] ,				*__lowerCamelCase    :					Union[str, Any] ,				**__lowerCamelCase    :					List[Any]							) ->					Optional[Any]:
							requires_backends(self ,				["torch", "transformers", "k_diffusion"]							)





				@classmethod
				def 							__UpperCAmelCase							(				cls    :					str ,				*__lowerCamelCase    :					Union[str, Any] ,				**__lowerCamelCase    :					Tuple							) ->					List[Any]:
							requires_backends(cls ,				["torch", "transformers", "k_diffusion"]							)





				@classmethod
				def 							__UpperCAmelCase							(				cls    :					Optional[Any] ,				*__lowerCamelCase    :					List[str] ,				**__lowerCamelCase    :					int							) ->					Dict:
							requires_backends(cls ,				["torch", "transformers", "k_diffusion"]							)






