






'''simple docstring'''





import argparse

import torch

from transformers import (
    EncodecConfig,
    EncodecFeatureExtractor,
    EncodecModel,
    logging,
)


# checkpoints downloaded from:
# https://dl.fbaipublicfiles.com/encodec/v0/encodec_24khz-d7cc33bc.th
# https://huggingface.co/facebook/musicgen-small/resolve/main/compression_state_dict.bin
# https://dl.fbaipublicfiles.com/encodec/v0/encodec_48khz-7e698e3e.th


logging.set_verbosity_info()
__A							:							Union[str, Any]  							=		logging.get_logger("""transformers.models.encodec""")

__A							:							Union[str, Any]  							=		{
    """quantizer.vq.layers.*._codebook.inited""": """quantizer.layers.*.codebook.inited""",
    """quantizer.vq.layers.*._codebook.cluster_size""": """quantizer.layers.*.codebook.cluster_size""",
    """quantizer.vq.layers.*._codebook.embed""": """quantizer.layers.*.codebook.embed""",
    """quantizer.vq.layers.*._codebook.embed_avg""": """quantizer.layers.*.codebook.embed_avg""",
}
__A							:							Optional[int]  							=		{
    """encoder.model.0.conv.conv""": """encoder.layers.0.conv""",
    """encoder.model.1.block.1.conv.conv""": """encoder.layers.1.block.1.conv""",
    """encoder.model.1.block.3.conv.conv""": """encoder.layers.1.block.3.conv""",
    """encoder.model.1.shortcut.conv.conv""": """encoder.layers.1.shortcut.conv""",
    """encoder.model.3.conv.conv""": """encoder.layers.3.conv""",
    """encoder.model.4.block.1.conv.conv""": """encoder.layers.4.block.1.conv""",
    """encoder.model.4.block.3.conv.conv""": """encoder.layers.4.block.3.conv""",
    """encoder.model.4.shortcut.conv.conv""": """encoder.layers.4.shortcut.conv""",
    """encoder.model.6.conv.conv""": """encoder.layers.6.conv""",
    """encoder.model.7.block.1.conv.conv""": """encoder.layers.7.block.1.conv""",
    """encoder.model.7.block.3.conv.conv""": """encoder.layers.7.block.3.conv""",
    """encoder.model.7.shortcut.conv.conv""": """encoder.layers.7.shortcut.conv""",
    """encoder.model.9.conv.conv""": """encoder.layers.9.conv""",
    """encoder.model.10.block.1.conv.conv""": """encoder.layers.10.block.1.conv""",
    """encoder.model.10.block.3.conv.conv""": """encoder.layers.10.block.3.conv""",
    """encoder.model.10.shortcut.conv.conv""": """encoder.layers.10.shortcut.conv""",
    """encoder.model.12.conv.conv""": """encoder.layers.12.conv""",
    """encoder.model.13.lstm""": """encoder.layers.13.lstm""",
    """encoder.model.15.conv.conv""": """encoder.layers.15.conv""",
}
__A							:							Optional[Any]  							=		{
    """encoder.model.0.conv.norm""": """encoder.layers.0.norm""",
    """encoder.model.1.block.1.conv.norm""": """encoder.layers.1.block.1.norm""",
    """encoder.model.1.block.3.conv.norm""": """encoder.layers.1.block.3.norm""",
    """encoder.model.1.shortcut.conv.norm""": """encoder.layers.1.shortcut.norm""",
    """encoder.model.3.conv.norm""": """encoder.layers.3.norm""",
    """encoder.model.4.block.1.conv.norm""": """encoder.layers.4.block.1.norm""",
    """encoder.model.4.block.3.conv.norm""": """encoder.layers.4.block.3.norm""",
    """encoder.model.4.shortcut.conv.norm""": """encoder.layers.4.shortcut.norm""",
    """encoder.model.6.conv.norm""": """encoder.layers.6.norm""",
    """encoder.model.7.block.1.conv.norm""": """encoder.layers.7.block.1.norm""",
    """encoder.model.7.block.3.conv.norm""": """encoder.layers.7.block.3.norm""",
    """encoder.model.7.shortcut.conv.norm""": """encoder.layers.7.shortcut.norm""",
    """encoder.model.9.conv.norm""": """encoder.layers.9.norm""",
    """encoder.model.10.block.1.conv.norm""": """encoder.layers.10.block.1.norm""",
    """encoder.model.10.block.3.conv.norm""": """encoder.layers.10.block.3.norm""",
    """encoder.model.10.shortcut.conv.norm""": """encoder.layers.10.shortcut.norm""",
    """encoder.model.12.conv.norm""": """encoder.layers.12.norm""",
    """encoder.model.15.conv.norm""": """encoder.layers.15.norm""",
}
__A							:							Optional[int]  							=		{
    """decoder.model.0.conv.conv""": """decoder.layers.0.conv""",
    """decoder.model.1.lstm""": """decoder.layers.1.lstm""",
    """decoder.model.3.convtr.convtr""": """decoder.layers.3.conv""",
    """decoder.model.4.block.1.conv.conv""": """decoder.layers.4.block.1.conv""",
    """decoder.model.4.block.3.conv.conv""": """decoder.layers.4.block.3.conv""",
    """decoder.model.4.shortcut.conv.conv""": """decoder.layers.4.shortcut.conv""",
    """decoder.model.6.convtr.convtr""": """decoder.layers.6.conv""",
    """decoder.model.7.block.1.conv.conv""": """decoder.layers.7.block.1.conv""",
    """decoder.model.7.block.3.conv.conv""": """decoder.layers.7.block.3.conv""",
    """decoder.model.7.shortcut.conv.conv""": """decoder.layers.7.shortcut.conv""",
    """decoder.model.9.convtr.convtr""": """decoder.layers.9.conv""",
    """decoder.model.10.block.1.conv.conv""": """decoder.layers.10.block.1.conv""",
    """decoder.model.10.block.3.conv.conv""": """decoder.layers.10.block.3.conv""",
    """decoder.model.10.shortcut.conv.conv""": """decoder.layers.10.shortcut.conv""",
    """decoder.model.12.convtr.convtr""": """decoder.layers.12.conv""",
    """decoder.model.13.block.1.conv.conv""": """decoder.layers.13.block.1.conv""",
    """decoder.model.13.block.3.conv.conv""": """decoder.layers.13.block.3.conv""",
    """decoder.model.13.shortcut.conv.conv""": """decoder.layers.13.shortcut.conv""",
    """decoder.model.15.conv.conv""": """decoder.layers.15.conv""",
}
__A							:							List[str]  							=		{
    """decoder.model.0.conv.norm""": """decoder.layers.0.norm""",
    """decoder.model.3.convtr.norm""": """decoder.layers.3.norm""",
    """decoder.model.4.block.1.conv.norm""": """decoder.layers.4.block.1.norm""",
    """decoder.model.4.block.3.conv.norm""": """decoder.layers.4.block.3.norm""",
    """decoder.model.4.shortcut.conv.norm""": """decoder.layers.4.shortcut.norm""",
    """decoder.model.6.convtr.norm""": """decoder.layers.6.norm""",
    """decoder.model.7.block.1.conv.norm""": """decoder.layers.7.block.1.norm""",
    """decoder.model.7.block.3.conv.norm""": """decoder.layers.7.block.3.norm""",
    """decoder.model.7.shortcut.conv.norm""": """decoder.layers.7.shortcut.norm""",
    """decoder.model.9.convtr.norm""": """decoder.layers.9.norm""",
    """decoder.model.10.block.1.conv.norm""": """decoder.layers.10.block.1.norm""",
    """decoder.model.10.block.3.conv.norm""": """decoder.layers.10.block.3.norm""",
    """decoder.model.10.shortcut.conv.norm""": """decoder.layers.10.shortcut.norm""",
    """decoder.model.12.convtr.norm""": """decoder.layers.12.norm""",
    """decoder.model.13.block.1.conv.norm""": """decoder.layers.13.block.1.norm""",
    """decoder.model.13.block.3.conv.norm""": """decoder.layers.13.block.3.norm""",
    """decoder.model.13.shortcut.conv.norm""": """decoder.layers.13.shortcut.norm""",
    """decoder.model.15.conv.norm""": """decoder.layers.15.norm""",
}
__A							:							Union[str, Any]  							=		{
    **MAPPING_QUANTIZER,
    **MAPPING_ENCODER,
    **MAPPING_DECODER,
}
__A							:							str  							=		{
    **MAPPING_QUANTIZER,
    **MAPPING_ENCODER,
    **MAPPING_ENCODER_48K,
    **MAPPING_DECODER,
    **MAPPING_DECODER_48K,
}
__A							:							Dict  							=		[]
__A							:							int  							=		[]






def    lowerCamelCase_     (    lowercase__				,     lowercase__				,     lowercase__				,     lowercase__				,     lowercase__):
 for attribute in key.split("."):
  lowerCamelCase__  =     getattr(lowercase__				,     lowercase__)

 if weight_type is not None:
  lowerCamelCase__  =     getattr(lowercase__				,     lowercase__).shape
 else:
  lowerCamelCase__  =     hf_pointer.shape

 if hf_shape != value.shape:
  raise ValueError(
      F'''Shape of hf {key + "." + weight_type if weight_type is not None else ""} is {hf_shape}, but should be'''
      F''' {value.shape} for {full_name}''')

 if weight_type == "weight":
  lowerCamelCase__  =     value
 elif weight_type == "weight_g":
  lowerCamelCase__  =     value
 elif weight_type == "weight_v":
  lowerCamelCase__  =     value
 elif weight_type == "bias":
  lowerCamelCase__  =     value
 elif weight_type == "running_mean":
  lowerCamelCase__  =     value
 elif weight_type == "running_var":
  lowerCamelCase__  =     value
 elif weight_type == "num_batches_tracked":
  lowerCamelCase__  =     value
 elif weight_type == "weight_ih_l0":
  lowerCamelCase__  =     value
 elif weight_type == "weight_hh_l0":
  lowerCamelCase__  =     value
 elif weight_type == "bias_ih_l0":
  lowerCamelCase__  =     value
 elif weight_type == "bias_hh_l0":
  lowerCamelCase__  =     value
 elif weight_type == "weight_ih_l1":
  lowerCamelCase__  =     value
 elif weight_type == "weight_hh_l1":
  lowerCamelCase__  =     value
 elif weight_type == "bias_ih_l1":
  lowerCamelCase__  =     value
 elif weight_type == "bias_hh_l1":
  lowerCamelCase__  =     value
 else:
  lowerCamelCase__  =     value

 logger.info(F'''{key + ("." + weight_type if weight_type is not None else "")} was initialized from {full_name}.''')






def    lowerCamelCase_     (    lowercase__				,     lowercase__):
 for key in ignore_keys:
  if key.endswith(".*"):
   if name.startswith(key[:-1]):
    return True
  elif ".*." in key:
   lowerCamelCase__  ,	lowerCamelCase__  =     key.split(".*.")
   if prefix in name and suffix in name:
    return True
  elif key in name:
   return True
 return False






def    lowerCamelCase_     (    lowercase__				,     lowercase__				,     lowercase__):
 lowerCamelCase__  =     []

 if model_name == "encodec_24khz" or "encodec_32khz":
  lowerCamelCase__  =     MAPPING_24K
 elif model_name == "encodec_48khz":
  lowerCamelCase__  =     MAPPING_48K
 else:
  raise ValueError(F'''Unsupported model: {model_name}''')

 for name, value in orig_dict.items():
  if should_ignore(lowercase__				,     lowercase__):
   logger.info(F'''{name} was ignored''')
   continue

  lowerCamelCase__  =     False
  for key, mapped_key in MAPPING.items():
   if "*" in key:
    lowerCamelCase__  ,	lowerCamelCase__  =     key.split(".*.")
    if prefix in name and suffix in name:
     lowerCamelCase__  =     suffix

   if key in name:
    # HACK otherwise .embed gets initialized with .embed_avg too
    if key.endswith("embed") and name.endswith("embed_avg"):
     continue

    lowerCamelCase__  =     True
    if "*" in mapped_key:
     lowerCamelCase__  =     name.split(lowercase__)[0].split(".")[-2]
     lowerCamelCase__  =     mapped_key.replace("*"				,     lowercase__)
    if "weight_g" in name:
     lowerCamelCase__  =     "weight_g"
    elif "weight_v" in name:
     lowerCamelCase__  =     "weight_v"
    elif "weight_ih_l0" in name:
     lowerCamelCase__  =     "weight_ih_l0"
    elif "weight_hh_l0" in name:
     lowerCamelCase__  =     "weight_hh_l0"
    elif "bias_ih_l0" in name:
     lowerCamelCase__  =     "bias_ih_l0"
    elif "bias_hh_l0" in name:
     lowerCamelCase__  =     "bias_hh_l0"
    elif "weight_ih_l1" in name:
     lowerCamelCase__  =     "weight_ih_l1"
    elif "weight_hh_l1" in name:
     lowerCamelCase__  =     "weight_hh_l1"
    elif "bias_ih_l1" in name:
     lowerCamelCase__  =     "bias_ih_l1"
    elif "bias_hh_l1" in name:
     lowerCamelCase__  =     "bias_hh_l1"
    elif "bias" in name:
     lowerCamelCase__  =     "bias"
    elif "weight" in name:
     lowerCamelCase__  =     "weight"
    elif "running_mean" in name:
     lowerCamelCase__  =     "running_mean"
    elif "running_var" in name:
     lowerCamelCase__  =     "running_var"
    elif "num_batches_tracked" in name:
     lowerCamelCase__  =     "num_batches_tracked"
    else:
     lowerCamelCase__  =     None
    set_recursively(lowercase__				,     lowercase__				,     lowercase__				,     lowercase__				,     lowercase__)
   continue
  if not is_used:
   unused_weights.append(lowercase__)

 logger.warning(F'''Unused weights: {unused_weights}''')






@torch.no_grad()
def    lowerCamelCase_     (    lowercase__				,     lowercase__				,     lowercase__				,     lowercase__=None				,     lowercase__=None				,     ):
 if config_path is not None:
  lowerCamelCase__  =     EncodecConfig.from_pretrained(lowercase__)
 else:
  lowerCamelCase__  =     EncodecConfig()

 if model_name == "encodec_24khz":
  pass  # config is already correct
 elif model_name == "encodec_32khz":
  lowerCamelCase__  =     [8, 5, 4, 4]
  lowerCamelCase__  =     [2.2]
  lowerCamelCase__  =     64
  lowerCamelCase__  =     32000
  lowerCamelCase__  =     2048
  lowerCamelCase__  =     False
  lowerCamelCase__  =     False
  lowerCamelCase__  =     False
 elif model_name == "encodec_48khz":
  lowerCamelCase__  =     [8, 5, 4, 2]
  lowerCamelCase__  =     [3.0, 6.0, 12.0, 24.0]
  lowerCamelCase__  =     48000
  lowerCamelCase__  =     2
  lowerCamelCase__  =     False
  lowerCamelCase__  =     "time_group_norm"
  lowerCamelCase__  =     True
  lowerCamelCase__  =     1.0
  lowerCamelCase__  =     0.01
 else:
  raise ValueError(F'''Unknown model name: {model_name}''')

 lowerCamelCase__  =     EncodecModel(lowercase__)

 lowerCamelCase__  =     EncodecFeatureExtractor(
     feature_size=config.audio_channels				,     sampling_rate=config.sampling_rate				,     chunk_length_s=config.chunk_length_s				,     overlap=config.overlap				,     )
 feature_extractor.save_pretrained(lowercase__)

 lowerCamelCase__  =     torch.load(lowercase__)
 if "best_state" in original_checkpoint:
  # we might have a training state saved, in which case discard the yaml results and just retain the weights
  lowerCamelCase__  =     original_checkpoint["best_state"]
 recursively_load_weights(lowercase__				,     lowercase__				,     lowercase__)
 model.save_pretrained(lowercase__)

 if repo_id:
  print("Pushing to the hub...")
  feature_extractor.push_to_hub(lowercase__)
  model.push_to_hub(lowercase__)


if __name__ == "__main__":
 __A							:							Tuple  							=		argparse.ArgumentParser()
 parser.add_argument(
     """--model""",
     default="""encodec_24khz""",
     type=str,
     help="""The model to convert. Should be one of 'encodec_24khz', 'encodec_32khz', 'encodec_48khz'.""",
 )
 parser.add_argument("""--checkpoint_path""", required=True, default=None, type=str, help="""Path to original checkpoint""")
 parser.add_argument("""--config_path""", default=None, type=str, help="""Path to hf config.json of model to convert""")
 parser.add_argument(
     """--pytorch_dump_folder_path""", required=True, default=None, type=str, help="""Path to the output PyTorch model."""
 )
 parser.add_argument(
     """--push_to_hub""", default=None, type=str, help="""Where to upload the converted model on the 🤗 hub."""
 )

 __A							:							Union[str, Any]  							=		parser.parse_args()
 convert_checkpoint(
     args.model,
     args.checkpoint_path,
     args.pytorch_dump_folder_path,
     args.config_path,
     args.push_to_hub,
 )









'''simple docstring'''





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

from ... import PreTrainedTokenizer, TensorType, is_torch_available
from ...configuration_utils import PretrainedConfig
from ...onnx import OnnxConfigWithPast
from ...utils import logging


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

__A							:							Tuple  							=		{
    """EleutherAI/gpt-neo-1.3B""": """https://huggingface.co/EleutherAI/gpt-neo-1.3B/resolve/main/config.json""",
    # See all GPTNeo models at https://huggingface.co/models?filter=gpt_neo
}
class 				lowercase       (							_lowerCamelCase      ):


    '''simple docstring'''

    lowerCAmelCase__      				=							"gpt_neo"
    lowerCAmelCase__      				=							["past_key_values"]
    lowerCAmelCase__      				=							{"num_attention_heads": "num_heads", "num_hidden_layers": "num_layers"}

    def __init__(					self     :     str				,     __lowerCamelCase     :     Optional[int]=50257				,     __lowerCamelCase     :     Optional[int]=2048				,     __lowerCamelCase     :     Optional[int]=2048				,     __lowerCamelCase     :     Any=24				,     __lowerCamelCase     :     List[Any]=[[["global", "local"], 12]]				,     __lowerCamelCase     :     Any=16				,     __lowerCamelCase     :     Any=None				,     __lowerCamelCase     :     Optional[Any]=256				,     __lowerCamelCase     :     List[Any]="gelu_new"				,     __lowerCamelCase     :     Any=0.0				,     __lowerCamelCase     :     List[Any]=0.0				,     __lowerCamelCase     :     Union[str, Any]=0.0				,     __lowerCamelCase     :     Any=0.1				,     __lowerCamelCase     :     Dict=1E-5				,     __lowerCamelCase     :     List[Any]=0.0_2				,     __lowerCamelCase     :     List[Any]=True				,     __lowerCamelCase     :     Optional[int]=50256				,     __lowerCamelCase     :     Tuple=50256				,     **__lowerCamelCase     :     Optional[int]				,     )							->							str:

     '''simple docstring'''




     lowerCamelCase__  =     vocab_size
     lowerCamelCase__  =     max_position_embeddings
     lowerCamelCase__  =     hidden_size
     lowerCamelCase__  =     num_layers
     lowerCamelCase__  =     num_heads
     lowerCamelCase__  =     intermediate_size
     lowerCamelCase__  =     window_size
     lowerCamelCase__  =     activation_function
     lowerCamelCase__  =     resid_dropout
     lowerCamelCase__  =     embed_dropout
     lowerCamelCase__  =     attention_dropout
     lowerCamelCase__  =     classifier_dropout
     lowerCamelCase__  =     layer_norm_epsilon
     lowerCamelCase__  =     initializer_range
     lowerCamelCase__  =     use_cache

     lowerCamelCase__  =     bos_token_id
     lowerCamelCase__  =     eos_token_id

     lowerCamelCase__  =     attention_types
     lowerCamelCase__  =     self.expand_attention_types_params(__lowerCamelCase     )

     if len(self.attention_layers     ) != self.num_layers:
      raise ValueError(
          "Configuration for convolutional module is incorrect. "
          "It is required that `len(config.attention_layers)` == `config.num_layers` "
          f'''but is `len(config.attention_layers) = {len(self.attention_layers     )}`, '''
          f'''`config.num_layers = {self.num_layers}`. '''
          "`config.attention_layers` is prepared using `config.attention_types`. "
          "Please verify the value of `config.attention_types` argument."     )

     super().__init__(bos_token_id=__lowerCamelCase				,     eos_token_id=__lowerCamelCase				,     **__lowerCamelCase     )




    @staticmethod
    def    a__				(					__lowerCamelCase     :     int     )							->							str:

     '''simple docstring'''




     lowerCamelCase__  =     []
     for item in attention_types:
      for _ in range(item[1]     ):
       attentions.extend(item[0]     )
     return attentions






def    lowerCamelCase_     (    lowercase__				,     lowercase__				,     lowercase__				,     lowercase__):
 import torch

 lowerCamelCase__  =     input.size()
 lowerCamelCase__  =     len(lowercase__)
 lowerCamelCase__  =     shape[dimension]

 lowerCamelCase__  =     torch.arange(0				,     lowercase__				,     lowercase__)
 lowerCamelCase__  =     torch.div(sizedim - size				,     lowercase__				,     rounding_mode="floor") + 1
 lowerCamelCase__  =     torch.arange(lowercase__) + low_indices[:min_length][:, None]

 lowerCamelCase__  =     [slice(lowercase__)] * rank
 lowerCamelCase__  =     indices
 lowerCamelCase__  =     input[s]

 lowerCamelCase__  =     list(range(0				,     rank + 1))
 perm.append(perm.pop(dimension + 1))

 return sliced.permute(lowercase__)






def    lowerCamelCase_     (    lowercase__				,     lowercase__):
 import torch

 lowerCamelCase__  =     torch.arange(1				,     lowercase__)
 lowerCamelCase__  =     torch.remainder(lowercase__				,     lowercase__)
 lowerCamelCase__  =     remainders == 0
 lowerCamelCase__  =     candidates[divisor_indices]
 lowerCamelCase__  =     torch.max(lowercase__)
 return largest_divisor, torch.div(lowercase__				,     lowercase__				,     rounding_mode="floor")
class 				lowercase       (							_lowerCamelCase      ):


    '''simple docstring'''

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

     '''simple docstring'''




     lowerCamelCase__  =     OrderedDict({"input_ids": {0: "batch", 1: "sequence"}}     )
     if self.use_past:
      self.fill_with_past_key_values_(__lowerCamelCase				,     direction="inputs"     )
      lowerCamelCase__  =     {0: "batch", 1: "past_sequence + sequence"}
     else:
      lowerCamelCase__  =     {0: "batch", 1: "sequence"}

     return common_inputs

    @property
    def    a__				(					self     :     Any     )							->							int:

     '''simple docstring'''




     return self._config.num_heads

    def    a__				(					self     :     Optional[Any]				,     __lowerCamelCase     :     PreTrainedTokenizer				,     __lowerCamelCase     :     int = -1				,     __lowerCamelCase     :     int = -1				,     __lowerCamelCase     :     bool = False				,     __lowerCamelCase     :     Optional[TensorType] = None				,     )							->							Mapping[str, Any]:

     '''simple docstring'''




     lowerCamelCase__  =     super(__lowerCamelCase				,     self     ).generate_dummy_inputs(
         __lowerCamelCase				,     batch_size=__lowerCamelCase				,     seq_length=__lowerCamelCase				,     is_pair=__lowerCamelCase				,     framework=__lowerCamelCase     )

     # We need to order the input in the way they appears in the forward()
     lowerCamelCase__  =     OrderedDict({"input_ids": common_inputs["input_ids"]}     )

     # Need to add the past_keys
     if self.use_past:
      if not is_torch_available():
       raise ValueError("Cannot generate dummy past_keys inputs without PyTorch installed."     )
      else:
       import torch

       lowerCamelCase__  ,	lowerCamelCase__  =     common_inputs["input_ids"].shape
       # Not using the same length for past_key_values
       lowerCamelCase__  =     seqlen + 2
       lowerCamelCase__  =     (
           batch,
           self.num_attention_heads,
           past_key_values_length,
           self._config.hidden_size // self.num_attention_heads,
       )
       lowerCamelCase__  =     [
           (torch.zeros(__lowerCamelCase     ), torch.zeros(__lowerCamelCase     )) for _ in range(self.num_layers     )
       ]

     lowerCamelCase__  =     common_inputs["attention_mask"]
     if self.use_past:
      lowerCamelCase__  =     ordered_inputs["attention_mask"].dtype
      lowerCamelCase__  =     torch.cat(
          [ordered_inputs["attention_mask"], torch.ones(__lowerCamelCase				,     __lowerCamelCase				,     dtype=__lowerCamelCase     )]				,     dim=1     )

     return ordered_inputs




    @property
    def    a__				(					self     :     Optional[Any]     )							->							int:

     '''simple docstring'''




     return 13

