






from collections import OrderedDict
from typing import TYPE_CHECKING, Any, Mapping, Optional, Union

from ...configuration_utils import PretrainedConfig
from ...onnx import OnnxConfig
from ...utils import logging


if TYPE_CHECKING:
      from ... import FeatureExtractionMixin, PreTrainedTokenizerBase, TensorType


SCREAMING_SNAKE_CASE__		:							Union[str, Any] 				=				logging.get_logger(__name__)

SCREAMING_SNAKE_CASE__		:							List[Any] 				=				{
    """microsoft/deberta-v2-xlarge""": """https://huggingface.co/microsoft/deberta-v2-xlarge/resolve/main/config.json""",
    """microsoft/deberta-v2-xxlarge""": """https://huggingface.co/microsoft/deberta-v2-xxlarge/resolve/main/config.json""",
    """microsoft/deberta-v2-xlarge-mnli""": (
        """https://huggingface.co/microsoft/deberta-v2-xlarge-mnli/resolve/main/config.json"""
    ),
    """microsoft/deberta-v2-xxlarge-mnli""": (
        """https://huggingface.co/microsoft/deberta-v2-xxlarge-mnli/resolve/main/config.json"""
    ),
}







class 				UpperCAmelCase_  (		__lowerCamelCase		):
     __lowerCamelCase      				=  'deberta-v2'




     def __init__(				self	,						_lowerCAmelCase=128100	,						_lowerCAmelCase=1536	,						_lowerCAmelCase=24	,						_lowerCAmelCase=24	,						_lowerCAmelCase=6144	,						_lowerCAmelCase="gelu"	,						_lowerCAmelCase=0.1	,						_lowerCAmelCase=0.1	,						_lowerCAmelCase=512	,						_lowerCAmelCase=0	,						_lowerCAmelCase=0.0_2	,						_lowerCAmelCase=1e-7	,						_lowerCAmelCase=False	,						_lowerCAmelCase=-1	,						_lowerCAmelCase=0	,						_lowerCAmelCase=True	,						_lowerCAmelCase=None	,						_lowerCAmelCase=0	,						_lowerCAmelCase="gelu"	,						**_lowerCAmelCase	,						):
          super().__init__(**_lowerCAmelCase		)

          UpperCAmelCase__      :  List[str]				      =			hidden_size
          UpperCAmelCase__      :  List[str]				      =			num_hidden_layers
          UpperCAmelCase__      :  Any				      =			num_attention_heads
          UpperCAmelCase__      :  List[str]				      =			intermediate_size
          UpperCAmelCase__      :  Optional[Any]				      =			hidden_act
          UpperCAmelCase__      :  Any				      =			hidden_dropout_prob
          UpperCAmelCase__      :  Tuple				      =			attention_probs_dropout_prob
          UpperCAmelCase__      :  Optional[Any]				      =			max_position_embeddings
          UpperCAmelCase__      :  Tuple				      =			type_vocab_size
          UpperCAmelCase__      :  Any				      =			initializer_range
          UpperCAmelCase__      :  List[Any]				      =			relative_attention
          UpperCAmelCase__      :  Tuple				      =			max_relative_positions
          UpperCAmelCase__      :  List[str]				      =			pad_token_id
          UpperCAmelCase__      :  Any				      =			position_biased_input

          # Backwards compatibility
          if type(_lowerCAmelCase		) == str:
               UpperCAmelCase__      :  Tuple				      =			[x.strip() for x in pos_att_type.lower().split("""|"""		)]

          UpperCAmelCase__      :  Dict				      =			pos_att_type
          UpperCAmelCase__      :  Tuple				      =			vocab_size
          UpperCAmelCase__      :  Dict				      =			layer_norm_eps

          UpperCAmelCase__      :  Any				      =			kwargs.get("""pooler_hidden_size"""	,						_lowerCAmelCase		)
          UpperCAmelCase__      :  Optional[int]				      =			pooler_dropout
          UpperCAmelCase__      :  int				      =			pooler_hidden_act







class 				UpperCAmelCase_  (		__lowerCamelCase		):




     @property
     def   __UpperCAmelCase  (				self		):
          if self.task == "multiple-choice":
               UpperCAmelCase__      :  Union[str, Any]				      =			{0: """batch""", 1: """choice""", 2: """sequence"""}
          else:
               UpperCAmelCase__      :  Tuple				      =			{0: """batch""", 1: """sequence"""}
          if self._config.type_vocab_size > 0:
               return OrderedDict(
                   [("""input_ids""", dynamic_axis), ("""attention_mask""", dynamic_axis), ("""token_type_ids""", dynamic_axis)]		)
          else:
               return OrderedDict([("""input_ids""", dynamic_axis), ("""attention_mask""", dynamic_axis)]		)




     @property
     def   __UpperCAmelCase  (				self		):
          return 12




     def   __UpperCAmelCase  (				self	,						_lowerCAmelCase	,						_lowerCAmelCase = -1	,						_lowerCAmelCase = -1	,						_lowerCAmelCase = -1	,						_lowerCAmelCase = False	,						_lowerCAmelCase = None	,						_lowerCAmelCase = 3	,						_lowerCAmelCase = 40	,						_lowerCAmelCase = 40	,						_lowerCAmelCase = None	,						):
          UpperCAmelCase__      :  int				      =			super().generate_dummy_inputs(preprocessor=_lowerCAmelCase	,						framework=_lowerCAmelCase		)
          if self._config.type_vocab_size == 0 and "token_type_ids" in dummy_inputs:
               del dummy_inputs["token_type_ids"]
          return dummy_inputs








"""simple docstring"""






from typing import TYPE_CHECKING

from ....utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


__SCREAMING_SNAKE_CASE							=     {
    'configuration_mctct': ['MCTCT_PRETRAINED_CONFIG_ARCHIVE_MAP', 'MCTCTConfig'],
    'feature_extraction_mctct': ['MCTCTFeatureExtractor'],
    'processing_mctct': ['MCTCTProcessor'],
}


try:
 if not is_torch_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 __SCREAMING_SNAKE_CASE							=     [
     'MCTCT_PRETRAINED_MODEL_ARCHIVE_LIST',
     'MCTCTForCTC',
     'MCTCTModel',
     'MCTCTPreTrainedModel',
 ]


if TYPE_CHECKING:
 from .configuration_mctct import MCTCT_PRETRAINED_CONFIG_ARCHIVE_MAP, MCTCTConfig
 from .feature_extraction_mctct import MCTCTFeatureExtractor
 from .processing_mctct import MCTCTProcessor

 try:
  if not is_torch_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_mctct import MCTCT_PRETRAINED_MODEL_ARCHIVE_LIST, MCTCTForCTC, MCTCTModel, MCTCTPreTrainedModel

else:
 import sys

 __SCREAMING_SNAKE_CASE							=     _LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)
