Ë
    T^(hù@  ã                   ó2  — d dl mZmZmZ d dlZd dlmZ ddlmZ ddl	m
Z
 ddlmZmZmZ ddlmZ ddlmZmZmZmZ d	d
lmZmZmZmZmZmZmZ ddlmZ dZ dZ!dZ"g d¢Z#dZ$dZ%dZ&dZ'dZ( G d„ dejR                  «      Z* G d„ de«      Z+ G d„ de«      Z, G d„ dejR                  «      Z- G d„ de«      Z. G d„ d e«      Z/ G d!„ d"e«      Z0d#Z1d$Z2 ed%e1«       G d&„ d'ee0«      «       Z3 ed(e1«       G d)„ d*e«      «       Z4 ed+e1«       G d,„ d-e«      «       Z5g d.¢Z6y)/é    )ÚOptionalÚTupleÚUnionNé   )ÚACT2FN)Úis_deepspeed_zero3_enabled)ÚBaseModelOutputÚCausalLMOutputÚSequenceClassifierOutput)ÚPreTrainedModel)Úadd_code_sample_docstringsÚadd_start_docstringsÚ%add_start_docstrings_to_model_forwardÚreplace_return_docstringsé   )ÚWav2Vec2EncoderÚWav2Vec2EncoderStableLayerNormÚWav2Vec2FeatureEncoderÚWav2Vec2ForCTCÚ!Wav2Vec2ForSequenceClassificationÚWav2Vec2ModelÚWav2Vec2SamePadLayeré   )ÚHubertConfigr   zfacebook/hubert-large-ls960-ft)r   i$  i   z['MISTER QUILTER IS THE APOSTLE OF THE MIDDLE CLASSES AND WE ARE GLAD TO WELCOME HIS GOSPEL'g®Gáz®6@zsuperb/hubert-base-superb-ksz'_unknown_'g�Âõ(\!@c                   ó$   ‡ — e Zd Zˆ fd„Zd„ Zˆ xZS )ÚHubertPositionalConvEmbeddingc                 ó  •— t         ‰| �  «        t        j                  |j                  |j                  |j
                  |j
                  dz  |j                  ¬«      | _        d | _        |j                  r&t        j                  |j                  «      | _        �n¯t        j                  j                  }t        t        j                  j                  d«      r$t        j                  j                  j                  }t        «       �r(dd l}|j"                  j%                  | j                  j&                  d¬«      5   || j                  dd¬«      | _        d d d «       t        | j                  d«      rU| j                  j                  j&                  j(                  }| j                  j                  j&                  j*                  }n,| j                  j,                  }| j                  j.                  }|j"                  j1                  | |«       |j"                  j1                  | |«       n || j                  dd¬«      | _        t3        |j
                  «      | _        t6        |j8                     | _        y # 1 sw Y   �Œ'xY w)	Nr   )Úkernel_sizeÚpaddingÚgroupsÚweight_normr   ©Úmodifier_rankÚweight)ÚnameÚdimÚparametrizations)ÚsuperÚ__init__ÚnnÚConv1dÚhidden_sizeÚnum_conv_pos_embeddingsÚnum_conv_pos_embedding_groupsÚconvÚ
batch_normÚconv_pos_batch_normÚBatchNorm1dÚutilsr!   Úhasattrr'   r   Ú	deepspeedÚzeroÚGatheredParametersr$   Ú	original0Ú	original1Úweight_gÚweight_vÚregister_external_parameterÚHubertSamePadLayerr   r   Úfeat_extract_activationÚ
activation)ÚselfÚconfigr!   r5   r:   r;   Ú	__class__s         €úg/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/transformers/models/hubert/modular_hubert.pyr)   z&HubertPositionalConvEmbedding.__init__0   sË  ø€ Ü‰ÑÔÜ—I‘IØ×ÑØ×ÑØ×6Ñ6Ø×2Ñ2°aÑ7Ø×7Ñ7ô
ˆŒ	ð ˆŒØ×%Ò%Ü Ÿn™n¨V×-?Ñ-?Ó@ˆDŽOäŸ(™(×.Ñ.ˆKÜ”r—x‘x×0Ñ0°-Ô@Ü Ÿh™h×7Ñ7×CÑC�ä)Õ+Û à—^‘^×6Ñ6°t·y±y×7GÑ7GÐWXÐ6ÓYñ MÙ +¨D¯I©I¸HÈ!Ô L�D”I÷Mä˜4Ÿ9™9Ð&8Ô9Ø#Ÿy™y×9Ñ9×@Ñ@×JÑJ�HØ#Ÿy™y×9Ñ9×@Ñ@×JÑJ‘Hà#Ÿy™y×1Ñ1�HØ#Ÿy™y×1Ñ1�HØ—‘×:Ñ:¸4ÀÔJØ—‘×:Ñ:¸4ÀÕJá'¨¯	©	¸ÀaÔH�”	ä)¨&×*HÑ*HÓIˆŒÜ  ×!?Ñ!?Ñ@ˆ�÷Mñ Mús   Ä?I?É?J	c                 óî   — |j                  dd«      }| j                  �| j                  |«      }| j                  |«      }| j                  |«      }| j	                  |«      }|j                  dd«      }|S )Nr   r   )Ú	transposer0   r/   r   r?   ©r@   Úhidden_statess     rC   Úforwardz%HubertPositionalConvEmbedding.forwardU   sn   € Ø%×/Ñ/°°1Ó5ˆØ�?‰?Ð&Ø ŸO™O¨MÓ:ˆMØŸ	™	 -Ó0ˆØŸ™ ]Ó3ˆØŸ™¨Ó6ˆà%×/Ñ/°°1Ó5ˆØÐó    ©Ú__name__Ú
__module__Ú__qualname__r)   rH   Ú__classcell__©rB   s   @rC   r   r   /   s   ø„ ô#AöJ	rI   r   c                   ó   — e Zd Zy)r=   N©rK   rL   rM   © rI   rC   r=   r=   a   ó   „ ØrI   r=   c                   ó   — e Zd Zy)ÚHubertFeatureEncoderNrQ   rR   rI   rC   rU   rU   e   rS   rI   rU   c                   ó$   ‡ — e Zd Zˆ fd„Zd„ Zˆ xZS )ÚHubertFeatureProjectionc                 ón  •— t         ‰| �  «        |j                  | _        | j                  r3t        j                  |j
                  d   |j                  ¬«      | _        t        j                  |j
                  d   |j                  «      | _
        t        j                  |j                  «      | _        y )Néÿÿÿÿ)Úeps)r(   r)   Úfeat_proj_layer_normr*   Ú	LayerNormÚconv_dimÚlayer_norm_epsÚ
layer_normÚLinearr,   Ú
projectionÚDropoutÚfeat_proj_dropoutÚdropout©r@   rA   rB   s     €rC   r)   z HubertFeatureProjection.__init__j   s}   ø€ Ü‰ÑÔØ$*×$?Ñ$?ˆÔ!Ø×$Ò$Ü Ÿl™l¨6¯?©?¸2Ñ+>ÀF×DYÑDYÔZˆDŒOÜŸ)™) F§O¡O°BÑ$7¸×9KÑ9KÓLˆŒÜ—z‘z &×":Ñ":Ó;ˆ�rI   c                 ó„   — | j                   r| j                  |«      }| j                  |«      }| j                  |«      }|S )N)r[   r_   ra   rd   rF   s     rC   rH   zHubertFeatureProjection.forwardr   s;   € à×$Ò$Ø ŸO™O¨MÓ:ˆMØŸ™¨Ó6ˆØŸ™ ]Ó3ˆØÐrI   rJ   rO   s   @rC   rW   rW   i   s   ø„ ô<örI   rW   c                   ó   — e Zd Zy)ÚHubertEncoderNrQ   rR   rI   rC   rh   rh   {   rS   rI   rh   c                   ó   — e Zd Zy)ÚHubertEncoderStableLayerNormNrQ   rR   rI   rC   rj   rj      rS   rI   rj   c                   ó|   — e Zd ZdZeZdZdZdZdZ	dZ
d„ Zdeej                  ef   fd„Zded	ej                  fd
„Zy)ÚHubertPreTrainedModelz†
    An abstract class to handle weights initialization and a simple interface for downloading and loading pretrained
    models.
    ÚhubertÚinput_valuesTc                 óz  — t        |t        j                  «      rm|j                  j                  j                  d| j                  j                  ¬«       |j                  �%|j                  j                  j                  «        yyt        |t        j                  t        j                  t        j                  f«      rJ|j                  j                  j                  «        |j                  j                  j                  d«       yt        |t        j                  «      �r_t        «       rðddl}t#        |d«      r|t#        |d«      rp|j$                  j'                  |j(                  |j*                  gd¬«      5  t        j,                  j/                  |j                  j                  «       ddd«       n—|j$                  j'                  |j                  d¬«      5  t        j,                  j/                  |j                  j                  «       ddd«       n3t        j,                  j/                  |j                  j                  «       |j                  �%|j                  j                  j                  «        yyt        |t0        «      r2t#        |d	«      r%|j2                  j                  j5                  «        yyt        |t6        «      rMt#        |d
«      r@|j8                  j                  j                  d| j                  j:                  dz   z  «       yyy# 1 sw Y   ŒÛxY w# 1 sw Y   ŒçxY w)zInitialize the weightsç        )ÚmeanÚstdNg      ð?r   r;   r:   r"   Úmasked_spec_embedÚlayer_weightsr   )Ú
isinstancer*   r`   r$   ÚdataÚnormal_rA   Úinitializer_rangeÚbiasÚzero_r\   Ú	GroupNormr2   Úfill_r+   r   r5   r4   r6   r7   r;   r:   ÚinitÚkaiming_normal_ÚHubertModelrs   Úuniform_ÚHubertForSequenceClassificationrt   Únum_hidden_layers)r@   Úmoduler5   s      rC   Ú_init_weightsz#HubertPreTrainedModel._init_weights�   sP  € ä�fœbŸi™iÔ(ð �M‰M×Ñ×&Ñ&¨C°T·[±[×5RÑ5RÐ&ÔSØ�{‰{Ð&Ø—‘× Ñ ×&Ñ&Õ(ð 'ä˜¤§¡¬r¯|©|¼R¿^¹^Ð LÔMØ�K‰K×Ñ×"Ñ"Ô$Ø�M‰M×Ñ×$Ñ$ SÕ)Ü˜¤§	¡	Õ*Ü)Ô+Û ä˜6 :Ô.´7¸6À:Ô3NØ"Ÿ™×:Ñ:¸F¿O¹OÈVÏ_É_Ð;]ÐmnÐ:Óoñ DÜŸ™×/Ñ/°·±×0BÑ0BÔC÷Dð Dð #Ÿ™×:Ñ:¸6¿=¹=ÐXYÐ:ÓZñ DÜŸ™×/Ñ/°·±×0BÑ0BÔC÷Dð Dô —‘×'Ñ'¨¯©×(:Ñ(:Ô;à�{‰{Ð&Ø—‘× Ñ ×&Ñ&Õ(ð 'ä˜¤Ô,Ü�vÐ2Ô3Ø×(Ñ(×-Ñ-×6Ñ6Õ8ð 4ä˜Ô ?Ô@Ü�v˜Ô/Ø×$Ñ$×)Ñ)×/Ñ/°°t·{±{×7TÑ7TÐWXÑ7XÑ0YÕZð 0ð A÷Dð Dú÷Dð Dús   Å?4L%Ç#4L1Ì%L.Ì1L:Úinput_lengthsc                 ó˜   — d„ }t        | j                  j                  | j                  j                  «      D ]  \  }} ||||«      }Œ |S )zH
        Computes the output length of the convolutional layers
        c                 ó>   — t        j                  | |z
  |d¬«      dz   S )NÚfloor)Úrounding_moder   )ÚtorchÚdiv)Úinput_lengthr   Ústrides      rC   Ú_conv_out_lengthzPHubertPreTrainedModel._get_feat_extract_output_lengths.<locals>._conv_out_length¶   s"   € ô —9‘9˜\¨KÑ7¸ÈwÔWÐZ[Ñ[Ð[rI   )ÚziprA   Úconv_kernelÚconv_stride)r@   r…   rŽ   r   r�   s        rC   Ú _get_feat_extract_output_lengthsz6HubertPreTrainedModel._get_feat_extract_output_lengths±   sQ   € ò
	\ô
 $' t§{¡{×'>Ñ'>ÀÇÁ×@WÑ@WÓ#Xò 	QÑˆK˜Ù,¨]¸KÈÓP‰Mð	Qð ÐrI   Úfeature_vector_lengthÚattention_maskc                 óä  — | j                  |j                  d«      «      j                  t        j                  «      }|j
                  d   }t        j                  ||f|j                  |j                  ¬«      }d|t        j                  |j
                  d   |j                  ¬«      |dz
  f<   |j                  dg«      j                  d«      j                  dg«      j                  «       }|S )NrY   r   )ÚdtypeÚdevicer   )r—   )r’   ÚsumÚtorŠ   ÚlongÚshapeÚzerosr–   r—   ÚarangeÚflipÚcumsumÚbool)r@   r“   r”   Úoutput_lengthsÚ
batch_sizes        rC   Ú"_get_feature_vector_attention_maskz8HubertPreTrainedModel._get_feature_vector_attention_maskÀ   s×   € Ø×>Ñ>¸~×?QÑ?QÐRTÓ?UÓV×YÑYÔZ_×ZdÑZdÓeˆØ#×)Ñ)¨!Ñ,ˆ
äŸ™ØÐ.Ð/°~×7KÑ7KÐTb×TiÑTiô
ˆð uvˆœŸ™ ^×%9Ñ%9¸!Ñ%<À^×EZÑEZÔ[Ð]kÐnoÑ]oÐpÑqØ'×,Ñ,¨b¨TÓ2×9Ñ9¸"Ó=×BÑBÀBÀ4ÓH×MÑMÓOˆØÐrI   N)rK   rL   rM   Ú__doc__r   Úconfig_classÚbase_model_prefixÚmain_input_nameÚsupports_gradient_checkpointingÚ_supports_flash_attn_2Ú_supports_sdpar„   r   rŠ   Ú
LongTensorÚintr’   r£   rR   rI   rC   rl   rl   ƒ   sh   „ ñð
  €LØ ÐØ$€OØ&*Ð#Ø!ÐØ€Nò[ðB¸eÀE×DTÑDTÐVYÐDYÑ>Zó ð
Èð 
Ð]b×]mÑ]mô 
rI   rl   a!  
    Hubert was proposed in [HuBERT: Self-Supervised Speech Representation Learning by Masked Prediction of Hidden
    Units](https://arxiv.org/abs/2106.07447) by Wei-Ning Hsu, Benjamin Bolte, Yao-Hung Hubert Tsai, Kushal Lakhotia,
    Ruslan Salakhutdinov, Abdelrahman Mohamed.

    This model inherits from [`PreTrainedModel`]. Check the superclass documentation for the generic methods the
    library implements for all its model (such as downloading or saving etc.).

    This model is a PyTorch [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) sub-class. Use
    it as a regular PyTorch Module and refer to the PyTorch documentation for all matter related to general usage and
    behavior.

    Parameters:
        config ([`HubertConfig`]): Model configuration class with all the parameters of the model.
            Initializing with a config file does not load the weights associated with the model, only the
            configuration. Check out the [`~PreTrainedModel.from_pretrained`] method to load the model weights.
aŸ  
    Args:
        input_values (`torch.FloatTensor` of shape `(batch_size, sequence_length)`):
            Float values of input raw speech waveform. Values can be obtained by loading a `.flac` or `.wav` audio file
            into an array of type `List[float]` or a `numpy.ndarray`, *e.g.* via the soundfile library (`pip install
            soundfile`). To prepare the array into `input_values`, the [`AutoProcessor`] should be used for padding and
            conversion into a tensor of type `torch.FloatTensor`. See [`Wav2Vec2Processor.__call__`] for details.
        attention_mask (`torch.LongTensor` of shape `(batch_size, sequence_length)`, *optional*):
            Mask to avoid performing convolution and attention on padding token indices. Mask values selected in `[0,
            1]`:

            - 1 for tokens that are **not masked**,
            - 0 for tokens that are **masked**.

            [What are attention masks?](../glossary#attention-mask)

            <Tip warning={true}>

            `attention_mask` should only be passed if the corresponding processor has `config.return_attention_mask ==
            True`. For all models whose processor has `config.return_attention_mask == False`, such as
            [hubert-base](https://huggingface.co/facebook/hubert-base-ls960), `attention_mask` should **not** be passed
            to avoid degraded performance when doing batched inference. For such models `input_values` should simply be
            padded with 0 and passed without `attention_mask`. Be aware that these models also yield slightly different
            results depending on whether `input_values` is padded or not.

            </Tip>

        output_attentions (`bool`, *optional*):
            Whether or not to return the attentions tensors of all attention layers. See `attentions` under returned
            tensors for more detail.
        output_hidden_states (`bool`, *optional*):
            Whether or not to return the hidden states of all layers. See `hidden_states` under returned tensors for
            more detail.
        return_dict (`bool`, *optional*):
            Whether or not to return a [`~utils.ModelOutput`] instead of a plain tuple.
z`The bare Hubert Model transformer outputting raw hidden-states without any specific head on top.c                   óú   ‡ — e Zd Zdefˆ fd„Zd„ Zd„ Z ee«       e	e
e¬«      	 	 	 	 	 ddeej                     deej                     deej                     d	ee   d
ee   dee   deee
f   fd„«       «       Zˆ xZS )r   rA   c                 ó¶  •— t         ‰| �  |«       || _        t        |«      | _        t        |«      | _        |j                  dkD  s|j                  dkD  rEt        j                  t        j                  |j                  «      j                  «       «      | _        |j                   rt#        |«      | _        nt'        |«      | _        | j)                  «        | `y )Nrp   )r(   r)   rA   rU   Úfeature_extractorrW   Úfeature_projectionÚmask_time_probÚmask_feature_probr*   Ú	ParameterrŠ   ÚTensorr,   r€   rs   Údo_stable_layer_normrj   Úencoderrh   Ú	post_initÚadapterre   s     €rC   r)   zHubertModel.__init__  s§   ø€ Ü‰Ñ˜Ô ØˆŒÜ!5°fÓ!=ˆÔÜ"9¸&Ó"AˆÔà× Ñ  3Ò&¨&×*BÑ*BÀSÒ*HÜ%'§\¡\´%·,±,¸v×?QÑ?QÓ2R×2[Ñ2[Ó2]Ó%^ˆDÔ"à×&Ò&Ü7¸Ó?ˆD�Lä(¨Ó0ˆDŒLð 	�‰Ôà‰LrI   c                 ó   — t        d«      ‚©NzNot needed for Hubert©ÚAttributeError©r@   s    rC   Úfreeze_feature_extractorz$HubertModel.freeze_feature_extractor  ó   € ÜÐ4Ó5Ð5rI   c                 ó   — t        d«      ‚rº   r»   r½   s    rC   Úfreeze_feature_encoderz"HubertModel.freeze_feature_encoder!  r¿   rI   )Úoutput_typer¥   rn   r”   Úmask_time_indicesÚoutput_attentionsÚoutput_hidden_statesÚreturn_dictÚreturnc                 óþ  — |�|n| j                   j                  }|�|n| j                   j                  }|�|n| j                   j                  }| j	                  |«      }|j                  dd«      }|�| j                  |j                  d   |«      }| j                  |«      }| j                  ||¬«      }| j                  |||||¬«      }	|	d   }|s	|f|	dd z   S t        ||	j                  |	j                  ¬«      S )aZ  

        Returns:

        Example:

        ```python
        >>> from transformers import AutoProcessor, HubertModel
        >>> from datasets import load_dataset
        >>> import soundfile as sf

        >>> processor = AutoProcessor.from_pretrained("facebook/hubert-large-ls960-ft")
        >>> model = HubertModel.from_pretrained("facebook/hubert-large-ls960-ft")


        >>> def map_to_array(batch):
        ...     speech, _ = sf.read(batch["file"])
        ...     batch["speech"] = speech
        ...     return batch


        >>> ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
        >>> ds = ds.map(map_to_array)

        >>> input_values = processor(ds["speech"][0], return_tensors="pt").input_values  # Batch size 1
        >>> hidden_states = model(input_values).last_hidden_state
        ```Nr   r   )rÃ   )r”   rÄ   rÅ   rÆ   r   )Úlast_hidden_staterG   Ú
attentions)rA   rÄ   rÅ   Úuse_return_dictr¯   rE   r£   r›   r°   Ú_mask_hidden_statesr¶   r	   rG   rÊ   )
r@   rn   r”   rÃ   rÄ   rÅ   rÆ   Úextract_featuresrG   Úencoder_outputss
             rC   rH   zHubertModel.forward$  s,  € ðL 2CÐ1NÑ-ÐTX×T_ÑT_×TqÑTqÐà$8Ð$DÑ È$Ï+É+×JjÑJjð 	ð &1Ð%<‘kÀ$Ç+Á+×B]ÑB]ˆà×1Ñ1°,Ó?ÐØ+×5Ñ5°a¸Ó;ÐàÐ%à!×DÑDÐEU×E[ÑE[Ð\]ÑE^Ð`nÓoˆNà×/Ñ/Ð0@ÓAˆØ×0Ñ0°ÐRcÐ0ÓdˆàŸ,™,ØØ)Ø/Ø!5Ø#ð 'ó 
ˆð (¨Ñ*ˆáØ!Ð# o°a°bÐ&9Ñ9Ð9äØ+Ø)×7Ñ7Ø&×1Ñ1ô
ð 	
rI   )NNNNN)rK   rL   rM   r   r)   r¾   rÁ   r   ÚHUBERT_INPUTS_DOCSTRINGr   r	   Ú_CONFIG_FOR_DOCr   rŠ   r´   ÚFloatTensorr    r   r   rH   rN   rO   s   @rC   r   r     sÕ   ø„ ð
˜|õ ò&6ò6ñ +Ð+BÓCÙ¨?ÈÔYð 26Ø9=Ø,0Ø/3Ø&*ñE
à˜uŸ|™|Ñ,ðE
ð ! §¡Ñ.ðE
ð $ E×$5Ñ$5Ñ6ð	E
ð
 $ D™>ðE
ð ' t™nðE
ð ˜d‘^ðE
ð 
ˆu�oÐ%Ñ	&òE
ó Zó DôE
rI   r   zdHubert Model with a `language modeling` head on top for Connectionist Temporal Classification (CTC).c                   óV   ‡ — e Zd Z	  ee«       eeeee	e
¬«      ˆ fd„«       «       Zˆ xZS )ÚHubertForCTC)Ú
checkpointrÂ   r¥   Úexpected_outputÚexpected_lossc                 ó$   •— t        ‰| �  di |¤Ž y ©NrR   ©r(   rH   ©r@   Úsuper_kwargsrB   s     €rC   rH   zHubertForCTC.forwardu  s   ø€ ô 	‰‰Ñ'˜,Ó'rI   )rK   rL   rM   r   rÏ   r   Ú_CHECKPOINT_FOR_DOCr
   rÐ   Ú_CTC_EXPECTED_OUTPUTÚ_CTC_EXPECTED_LOSSrH   rN   rO   s   @rC   rÓ   rÓ   n  s=   ø„ ð
 	á*Ð+BÓCÙØ&Ø"Ø$Ø,Ø(ôó(óó Dô(rI   rÓ   z•
    Hubert Model with a sequence classification head on top (a linear layer over the pooled output) for tasks like
    SUPERB Keyword Spotting.
    c            	       óX   ‡ — e Zd Z	  ee«       eeeede	e
¬«      ˆ fd„«       «       Zˆ xZS )r�   Úaudio)rÔ   rÂ   r¥   ÚmodalityrÕ   rÖ   c                 ó$   •— t        ‰| �  di |¤Ž y rØ   rÙ   rÚ   s     €rC   rH   z'HubertForSequenceClassification.forward‹  s   ø€ ô 	‰‰Ñ'˜,Ó'rI   )rK   rL   rM   r   rÏ   r   Ú_SEQ_CLASS_CHECKPOINTr   rÐ   Ú_SEQ_CLASS_EXPECTED_OUTPUTÚ_SEQ_CLASS_EXPECTED_LOSSrH   rN   rO   s   @rC   r�   r�   �  s@   ø„ ð 	á*Ð+BÓCÙØ(Ø,Ø$ØØ2Ø.ôó(óó Dô(rI   r�   )rÓ   r�   r   rl   )7Útypingr   r   r   rŠ   Útorch.nnr*   Úactivationsr   Úintegrations.deepspeedr   Úmodeling_outputsr	   r
   r   Úmodeling_utilsr   r3   r   r   r   r   Úwav2vec2.modeling_wav2vec2r   r   r   r   r   r   r   Úconfiguration_hubertr   Ú_HIDDEN_STATES_START_POSITIONrÐ   rÜ   Ú_EXPECTED_OUTPUT_SHAPErÝ   rÞ   rã   rä   rå   ÚModuler   r=   rU   rW   rh   rj   rl   ÚHUBERT_START_DOCSTRINGrÏ   r   rÓ   r�   Ú__all__rR   rI   rC   ú<module>ró      sx  ðß )Ñ )ã Ý å !Ý @ß YÑ YÝ -÷ó ÷÷ ñ õ /ð !"Ð ð !€ð 7Ð Ú&Ð ð uÐ ØÐ ð 7Ð Ø*Ð ØÐ ô/ B§I¡Iô /ôd	Ð-ô 	ô	Ð1ô 	ô˜bŸi™iô ô$	�Oô 	ô	Ð#Aô 	ôG˜Oô GðTÐ ð&#Ð ñL ØfØóôa
�-Ð!6ó a
ó	ða
ñH ØnØóô(�>ó (ó	ð(ñ ðð óô(Ð&Gó (óð(ò  f�rI   