
from typing import TYPE_CHECKING

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


lowercase    :   Optional[Any]						=			{
    'configuration_longformer': [
        'LONGFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP',
        'LongformerConfig',
        'LongformerOnnxConfig',
    ],
    'tokenization_longformer': ['LongformerTokenizer'],
}

try:
		if not is_tokenizers_available():
				raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
		pass
else:
		lowercase    :   Optional[Any]						=			['LongformerTokenizerFast']

try:
		if not is_torch_available():
				raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
		pass
else:
		lowercase    :   List[str]						=			[
		    'LONGFORMER_PRETRAINED_MODEL_ARCHIVE_LIST',
		    'LongformerForMaskedLM',
		    'LongformerForMultipleChoice',
		    'LongformerForQuestionAnswering',
		    'LongformerForSequenceClassification',
		    'LongformerForTokenClassification',
		    'LongformerModel',
		    'LongformerPreTrainedModel',
		    'LongformerSelfAttention',
		]

try:
		if not is_tf_available():
				raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
		pass
else:
		lowercase    :   Union[str, Any]						=			[
		    'TF_LONGFORMER_PRETRAINED_MODEL_ARCHIVE_LIST',
		    'TFLongformerForMaskedLM',
		    'TFLongformerForMultipleChoice',
		    'TFLongformerForQuestionAnswering',
		    'TFLongformerForSequenceClassification',
		    'TFLongformerForTokenClassification',
		    'TFLongformerModel',
		    'TFLongformerPreTrainedModel',
		    'TFLongformerSelfAttention',
		]


if TYPE_CHECKING:
		from .configuration_longformer import (
		    LONGFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP,
		    LongformerConfig,
		    LongformerOnnxConfig,
		)
		from .tokenization_longformer import LongformerTokenizer

		try:
				if not is_tokenizers_available():
						raise OptionalDependencyNotAvailable()
		except OptionalDependencyNotAvailable:
				pass
		else:
				from .tokenization_longformer_fast import LongformerTokenizerFast

		try:
				if not is_torch_available():
						raise OptionalDependencyNotAvailable()
		except OptionalDependencyNotAvailable:
				pass
		else:
				from .modeling_longformer import (
				    LONGFORMER_PRETRAINED_MODEL_ARCHIVE_LIST,
				    LongformerForMaskedLM,
				    LongformerForMultipleChoice,
				    LongformerForQuestionAnswering,
				    LongformerForSequenceClassification,
				    LongformerForTokenClassification,
				    LongformerModel,
				    LongformerPreTrainedModel,
				    LongformerSelfAttention,
				)

		try:
				if not is_tf_available():
						raise OptionalDependencyNotAvailable()
		except OptionalDependencyNotAvailable:
				pass
		else:
				from .modeling_tf_longformer import (
				    TF_LONGFORMER_PRETRAINED_MODEL_ARCHIVE_LIST,
				    TFLongformerForMaskedLM,
				    TFLongformerForMultipleChoice,
				    TFLongformerForQuestionAnswering,
				    TFLongformerForSequenceClassification,
				    TFLongformerForTokenClassification,
				    TFLongformerModel,
				    TFLongformerPreTrainedModel,
				    TFLongformerSelfAttention,
				)

else:
		import sys

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

from typing import TYPE_CHECKING

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


lowercase    :   Optional[int]						=			{
    'configuration_mobilevit': ['MOBILEVIT_PRETRAINED_CONFIG_ARCHIVE_MAP', 'MobileViTConfig', 'MobileViTOnnxConfig'],
}

try:
		if not is_vision_available():
				raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
		pass
else:
		lowercase    :   List[str]						=			['MobileViTFeatureExtractor']
		lowercase    :   Tuple						=			['MobileViTImageProcessor']

try:
		if not is_torch_available():
				raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
		pass
else:
		lowercase    :   List[Any]						=			[
		    'MOBILEVIT_PRETRAINED_MODEL_ARCHIVE_LIST',
		    'MobileViTForImageClassification',
		    'MobileViTForSemanticSegmentation',
		    'MobileViTModel',
		    'MobileViTPreTrainedModel',
		]

try:
		if not is_tf_available():
				raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
		pass
else:
		lowercase    :   List[Any]						=			[
		    'TF_MOBILEVIT_PRETRAINED_MODEL_ARCHIVE_LIST',
		    'TFMobileViTForImageClassification',
		    'TFMobileViTForSemanticSegmentation',
		    'TFMobileViTModel',
		    'TFMobileViTPreTrainedModel',
		]

if TYPE_CHECKING:
		from .configuration_mobilevit import MOBILEVIT_PRETRAINED_CONFIG_ARCHIVE_MAP, MobileViTConfig, MobileViTOnnxConfig

		try:
				if not is_vision_available():
						raise OptionalDependencyNotAvailable()
		except OptionalDependencyNotAvailable:
				pass
		else:
				from .feature_extraction_mobilevit import MobileViTFeatureExtractor
				from .image_processing_mobilevit import MobileViTImageProcessor

		try:
				if not is_torch_available():
						raise OptionalDependencyNotAvailable()
		except OptionalDependencyNotAvailable:
				pass
		else:
				from .modeling_mobilevit import (
				    MOBILEVIT_PRETRAINED_MODEL_ARCHIVE_LIST,
				    MobileViTForImageClassification,
				    MobileViTForSemanticSegmentation,
				    MobileViTModel,
				    MobileViTPreTrainedModel,
				)

		try:
				if not is_tf_available():
						raise OptionalDependencyNotAvailable()
		except OptionalDependencyNotAvailable:
				pass
		else:
				from .modeling_tf_mobilevit import (
				    TF_MOBILEVIT_PRETRAINED_MODEL_ARCHIVE_LIST,
				    TFMobileViTForImageClassification,
				    TFMobileViTForSemanticSegmentation,
				    TFMobileViTModel,
				    TFMobileViTPreTrainedModel,
				)


else:
		import sys

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