"""simple docstring"""
def 		__a  (      _SCREAMING_SNAKE_CASE  )      ->list[int]:
  if len(_SCREAMING_SNAKE_CASE  ) > 1:
    a__:	Dict     				=      len(_SCREAMING_SNAKE_CASE  ) // 2  # Finds the middle of the array
    a__:	List[str]     				=      arr[
        :middle_length
    ]  # Creates an array of the elements in the first half.
    a__:	Any     				=      arr[
        middle_length:
    ]  # Creates an array of the elements in the second half.
    a__:	Tuple     				=      len(_SCREAMING_SNAKE_CASE  )
    a__:	Optional[Any]     				=      len(_SCREAMING_SNAKE_CASE  )
    merge(_SCREAMING_SNAKE_CASE  )  # Starts sorting the left.
    merge(_SCREAMING_SNAKE_CASE  )  # Starts sorting the right
    a__:	Any     				=      0  # Left Counter
    a__:	Union[str, Any]     				=      0  # Right Counter
    a__:	int     				=      0  # Position Counter
    while (
        left_index < left_size and right_index < right_size
    ):  # Runs until the lowers size of the left and right are sorted.
      if left_array[left_index] < right_array[right_index]:
        a__:	Union[str, Any]     				=      left_array[left_index]
        left_index += 1
      else:
        a__:	str     				=      right_array[right_index]
        right_index += 1
      index += 1
    while (
        left_index < left_size
    ):  # Adds the left over elements in the left half of the array
      a__:	List[Any]     				=      left_array[left_index]
      left_index += 1
      index += 1
    while (
        right_index < right_size
    ):  # Adds the left over elements in the right half of the array
      a__:	str     				=      right_array[right_index]
      right_index += 1
      index += 1
  return arr


if __name__ == "__main__":
 import doctest

 doctest.testmod()










"""simple docstring"""





from collections import OrderedDict
from typing import Mapping

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


UpperCamelCase					=     logging.get_logger(__name__)

UpperCamelCase					=     {
    """squeezebert/squeezebert-uncased""": (
        """https://huggingface.co/squeezebert/squeezebert-uncased/resolve/main/config.json"""
    ),
    """squeezebert/squeezebert-mnli""": """https://huggingface.co/squeezebert/squeezebert-mnli/resolve/main/config.json""",
    """squeezebert/squeezebert-mnli-headless""": (
        """https://huggingface.co/squeezebert/squeezebert-mnli-headless/resolve/main/config.json"""
    ),
}







class 						_a  (		lowercase_       ):





   '''simple docstring'''






   UpperCamelCase__     	=							SQUEEZEBERT_PRETRAINED_CONFIG_ARCHIVE_MAP
   UpperCamelCase__     	=							"""squeezebert"""





   def __init__(       self					, UpperCAmelCase_=30_522					, UpperCAmelCase_=768					, UpperCAmelCase_=12					, UpperCAmelCase_=12					, UpperCAmelCase_=3_072					, UpperCAmelCase_="gelu"					, UpperCAmelCase_=0.1					, UpperCAmelCase_=0.1					, UpperCAmelCase_=512					, UpperCAmelCase_=2					, UpperCAmelCase_=0.02					, UpperCAmelCase_=1E-1_2					, UpperCAmelCase_=0					, UpperCAmelCase_=768					, UpperCAmelCase_=4					, UpperCAmelCase_=4					, UpperCAmelCase_=4					, UpperCAmelCase_=1					, UpperCAmelCase_=4					, UpperCAmelCase_=4					, **UpperCAmelCase_					, )			->   int:




          '''simple docstring'''




          super().__init__(pad_token_id=UpperCAmelCase_					, **UpperCAmelCase_)

          lowercase__:							Union[str, Any]         =     vocab_size
          lowercase__:							int         =     hidden_size
          lowercase__:							int         =     num_hidden_layers
          lowercase__:							List[str]         =     num_attention_heads
          lowercase__:							Any         =     hidden_act
          lowercase__:							List[str]         =     intermediate_size
          lowercase__:							Any         =     hidden_dropout_prob
          lowercase__:							List[Any]         =     attention_probs_dropout_prob
          lowercase__:							Optional[int]         =     max_position_embeddings
          lowercase__:							List[Any]         =     type_vocab_size
          lowercase__:							Union[str, Any]         =     initializer_range
          lowercase__:							str         =     layer_norm_eps
          lowercase__:							Optional[Any]         =     embedding_size
          lowercase__:							Optional[int]         =     q_groups
          lowercase__:							List[str]         =     k_groups
          lowercase__:							Union[str, Any]         =     v_groups
          lowercase__:							str         =     post_attention_groups
          lowercase__:							Optional[int]         =     intermediate_groups
          lowercase__:							List[Any]         =     output_groups







class 						_a  (		lowercase_       ):





   '''simple docstring'''






   @property
   def __lowercase							(       self)			->   Mapping[str, Mapping[int, str]]:




          '''simple docstring'''




          if self.task == "multiple-choice":
                 lowercase__:							Optional[int]         =     {0: "batch", 1: "choice", 2: "sequence"}
          else:
                 lowercase__:							Optional[Any]         =     {0: "batch", 1: "sequence"}
          return OrderedDict(
              [
                  ("input_ids", dynamic_axis),
                  ("attention_mask", dynamic_axis),
                  ("token_type_ids", dynamic_axis),
              ])






