+
    œ°³je  ã                   óÚ  € ^ RI Ht ^ RIt^ RIHt ^ RIHtHtHt ^RIH	t	 ^RI
Ht ^RIHtHt ^RIHt ^R	IHt ^R
IHtHtHtHt ^RIHtHt ^RIHtHt ^RIHt ^RI H!t! ^RI"H#t# ^RI$H%t%H&t&H't'H(t( ^RI)H*t* ^RI+H,t, ]! R4       ! R R]PZ                  4      4       t.R t/]! R4      R/R l4       t0R R lt1R0R R llt2]! ]04       ! R R]PZ                  4      4       t3 ! R R ]PZ                  4      t4 ! R! R"]4      t5]! ! R# R$]4      4       t6 ! R% R&]PZ                  4      t7]! ! R' R(]64      4       t8]! ! R) R*]64      4       t9]! ! R+ R,]64      4       t:]! ! R- R.]64      4       t;. R1Ot<R# )2é    )ÚCallableN)Únn)ÚBCEWithLogitsLossÚCrossEntropyLossÚMSELoss)ÚACT2FN)ÚCache)Úuse_kernel_forward_from_hubÚuse_kernelized_func)Úcreate_bidirectional_mask)ÚGradientCheckpointingLayer)ÚBaseModelOutputÚMaskedLMOutputÚSequenceClassifierOutputÚTokenClassifierOutput)ÚROPE_INIT_FUNCTIONSÚdynamic_rope_update)ÚALL_ATTENTION_FUNCTIONSÚPreTrainedModel)ÚUnpack)Úauto_docstring)Údeprecate_kwarg)ÚTransformersKwargsÚcan_return_tupleÚmaybe_autocastÚmerge_with_config_defaults)Úcapture_outputs©ÚEuroBertConfigÚRMSNormc                   óZ   a a€ ] tR t^,t oRV3R lV 3R llltV3R lR ltR tRtVtV ;t	# )ÚEuroBertRMSNormc                ó   <€ V ^8„  d   QhRR/# )é   ÚreturnN© )ÚformatÚ__classdict__s   "€Úo/home/luca/screen-checking/.venv/lib/python3.14/site-packages/transformers/models/eurobert/modeling_eurobert.pyÚ__annotate__ÚEuroBertRMSNorm.__annotate__.   s   ø€ ÷ $ñ $°ñ $ó    c                óŽ   <€ \         SV `  4        \        P                  ! \        P
                  ! V4      4      V n        W n        R# )z.
EuroBertRMSNorm is equivalent to T5LayerNorm
N)ÚsuperÚ__init__r   Ú	ParameterÚtorchÚonesÚweightÚvariance_epsilon)ÚselfÚhidden_sizeÚepsÚ	__class__s   &&&€r)   r/   ÚEuroBertRMSNorm.__init__.   s/   ø€ ô 	‰ÑÔÜ—l’l¤5§:¢:¨kÓ#:Ó;ˆŒØ #Ör,   c                óN   <€ V ^8„  d   QhRS[ P                  RS[ P                  /# )r$   Úhidden_statesr%   )r1   ÚTensor)r'   r(   s   "€r)   r*   r+   6   s#   ø€ ÷ ;ñ ;¡U§\¡\ð ;±e·l±lñ ;r,   c                ó:  € VP                   pVP                  \        P                  4      pVP	                  ^4      P                  RRR7      pV\        P                  ! W0P                  ,           4      ,          pV P                  VP                  V4      ,          # )r$   T)Úkeepdiméÿÿÿÿ)	ÚdtypeÚtor1   Úfloat32ÚpowÚmeanÚrsqrtr4   r3   )r5   r;   Úinput_dtypeÚvariances   &&  r)   ÚforwardÚEuroBertRMSNorm.forward6   sw   € Ø#×)Ñ)ˆØ%×(Ñ(¬¯©Ó7ˆØ ×$Ñ$ QÓ'×,Ñ,¨R¸Ð,Ó>ˆØ%¬¯ª°H×?TÑ?TÕ4TÓ(UÕUˆØ�{‰{˜]×-Ñ-¨kÓ:Õ:Ð:r,   c                ó^   € \        V P                  P                  4       R V P                   2# )z, eps=)Útupler3   Úshaper4   ©r5   s   &r)   Ú
extra_reprÚEuroBertRMSNorm.extra_repr=   s*   € Ü˜Ÿ™×)Ñ)Ó*Ð+¨6°$×2GÑ2GÐ1HÐIÐIr,   )r4   r3   )gñhãˆµøä>)
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r/   rH   rN   Ú__static_attributes__Ú__classdictcell__Ú__classcell__©r8   r(   s   @@r)   r"   r"   ,   s%   ù‡ € ÷$õ $÷;ð ;÷Jò Jr,   r"   c                óÌ   € V RRV P                   R,          ^,          13,          pV RV P                   R,          ^,          R13,          p\        P                  ! V) V3RR7      # )z*Rotates half the hidden dims of the input..N©Údimr?   )rL   r1   Úcat)ÚxÚx1Úx2s   &  r)   Úrotate_halfr_   A   sZ   € à	
ˆ3Ð"�!—'‘'˜"•+ Õ"Ð"Ð"Õ	#€BØ	
ˆ3�—‘˜•˜qÕ Ñ"Ð"Õ	#€BÜ�9Š9�r�c˜2�Y BÔ'Ð'r,   Úrotary_pos_embc                óÈ   € VP                  V4      pVP                  V4      pW,          \        V 4      V,          ,           pW,          \        V4      V,          ,           pWV3# )aI  Applies Rotary Position Embedding to the query and key tensors.

Args:
    q (`torch.Tensor`): The query tensor.
    k (`torch.Tensor`): The key tensor.
    cos (`torch.Tensor`): The cosine part of the rotary embedding.
    sin (`torch.Tensor`): The sine part of the rotary embedding.
    unsqueeze_dim (`int`, *optional*, defaults to 1):
        The 'unsqueeze_dim' argument specifies the dimension along which to unsqueeze cos[position_ids] and
        sin[position_ids] so that they can be properly broadcasted to the dimensions of q and k. For example, note
        that cos[position_ids] and sin[position_ids] have the shape [batch_size, seq_len, head_dim]. Then, if q and
        k have the shape [batch_size, heads, seq_len, head_dim], then setting unsqueeze_dim=1 makes
        cos[position_ids] and sin[position_ids] broadcastable to the shapes of q and k. Similarly, if q and k have
        the shape [batch_size, seq_len, heads, head_dim], then set unsqueeze_dim=2.
Returns:
    `tuple(torch.Tensor)` comprising of the query and key tensors rotated using the Rotary Position Embedding.
)Ú	unsqueezer_   )ÚqÚkÚcosÚsinÚunsqueeze_dimÚq_embedÚk_embeds   &&&&&  r)   Úapply_rotary_pos_embrj   H   sS   € ð& �-‰-˜Ó
&€CØ
�-‰-˜Ó
&€CØ�wœ; q›>¨CÕ/Õ0€GØ�wœ; q›>¨CÕ/Õ0€GØÐÐr,   c                ód   € V ^8„  d   QhR\         P                  R\        R\         P                  /# )r$   r;   Ún_repr%   )r1   r<   Úint)r'   s   "r)   r*   r*   b   s.   € ÷ 	Uñ 	UœUŸ\™\ð 	U´#ð 	U¼%¿,¹,ñ 	Ur,   c                ó˜   € V P                   w  r#rEV^8X  d   V # V R,          P                  W#WV4      p V P                  W#V,          WE4      # )zÈ
This is the equivalent of torch.repeat_interleave(x, dim=1, repeats=n_rep). The hidden states go from (batch,
num_key_value_heads, seqlen, head_dim) to (batch, num_attention_heads, seqlen, head_dim)
)ºNNNro   Nro   ro   )rL   ÚexpandÚreshape)r;   rl   ÚbatchÚnum_key_value_headsÚslenÚhead_dims   &&    r)   Ú	repeat_kvrv   b   sU   € ð
 2?×1DÑ1DÑ.€E Ø�„zØÐØ!Ð"2Õ3×:Ñ:¸5ÐW\ÐdlÓm€MØ× Ñ  ¸eÕ(CÀTÓTÐTr,   c                ó   € V ^8„  d   QhR\         P                  R\        P                  R\        P                  R\        P                  R\        P                  R,          R\        R\        R	\
        \        ,          /# )
r$   ÚmoduleÚqueryÚkeyÚvalueÚattention_maskNÚscalingÚdropoutÚkwargs)r   ÚModuler1   r<   Úfloatr   r   )r'   s   "r)   r*   r*   n   sw   € ÷ %ñ %Ü�I‰Ið%ä�<‰<ð%ô 
�‰ð%ô �<‰<ð	%ô
 —L‘L 4Õ'ð%ô ð%ô ð%ô Ô'Õ(ñ%r,   c                 ó"  € \        W P                  4      p\        W0P                  4      p	\        P                  ! WP	                  ^^4      4      V,          p
Ve	   W¤,           p
\
        P                  P                  V
R\        P                  R7      P                  VP                  4      p
\
        P                  P                  W¦V P                  R7      p
\        P                  ! W©4      pVP	                  ^^4      P                  4       pWº3# )r$   )rZ   r@   )ÚpÚtrainingr?   )rv   Únum_key_value_groupsr1   ÚmatmulÚ	transposer   Ú
functionalÚsoftmaxrB   rA   r@   r~   r„   Ú
contiguous)rx   ry   rz   r{   r|   r}   r~   r   Ú
key_statesÚvalue_statesÚattn_weightsÚattn_outputs   &&&&&&&,    r)   Úeager_attention_forwardr�   n   sÒ   € ô ˜3× ;Ñ ;Ó<€JÜ˜U×$?Ñ$?Ó@€Lä—<’< ×';Ñ';¸A¸qÓ'AÓBÀWÕL€LØÒ!Ø#Õ4ˆä—=‘=×(Ñ(¨¸2ÄUÇ]Á]Ð(ÓS×VÑVÐW\×WbÑWbÓc€LÜ—=‘=×(Ñ(¨È6Ï?É?Ð(Ó[€LÜ—,’,˜|Ó:€KØ×'Ñ'¨¨1Ó-×8Ñ8Ó:€KàÐ$Ð$r,   c                   óX   a a€ ] tR t^‡t oRtV3R lV 3R lltRV3R lR lltRtVtV ;t	# )ÚEuroBertAttentionz=Multi-headed attention from 'Attention Is All You Need' paperc                ó&   <€ V ^8„  d   QhRS[ RS[/# ©r$   ÚconfigÚ	layer_idx©r   rm   )r'   r(   s   "€r)   r*   ÚEuroBertAttention.__annotate__‹   s   ø€ ÷ 
ñ 
™~ð 
¹#ñ 
r,   c                ó¢  <€ \         SV `  4        Wn        W n        \	        VR VP
                  VP                  ,          4      V n        VP                  VP                  ,          V n	        V P                  R,          V n
        VP                  V n        RV n        \        P                  ! VP
                  VP                  V P                  ,          VP                  R7      V n        \        P                  ! VP
                  VP                  V P                  ,          VP                  R7      V n        \        P                  ! VP
                  VP                  V P                  ,          VP                  R7      V n        \        P                  ! VP                  V P                  ,          VP
                  VP                  R7      V n        R# )ru   F©ÚbiasNg      à¿)r.   r/   r”   r•   Úgetattrr6   Únum_attention_headsru   rs   r…   r}   Úattention_dropoutÚ	is_causalr   ÚLinearÚattention_biasÚq_projÚk_projÚv_projÚo_proj©r5   r”   r•   r8   s   &&&€r)   r/   ÚEuroBertAttention.__init__‹   sI  ø€ Ü‰ÑÔØŒØ"ŒÜ ¨
°F×4FÑ4FÈ&×JdÑJdÕ4dÓeˆŒØ$*×$>Ñ$>À&×B\ÑB\Õ$\ˆÔ!Ø—}‘} dÕ*ˆŒØ!'×!9Ñ!9ˆÔØˆŒä—i’iØ×Ñ × :Ñ :¸T¿]¹]Õ JÐQW×QfÑQfô
ˆŒô —i’iØ×Ñ × :Ñ :¸T¿]¹]Õ JÐQW×QfÑQfô
ˆŒô —i’iØ×Ñ × :Ñ :¸T¿]¹]Õ JÐQW×QfÑQfô
ˆŒô —i’iØ×&Ñ&¨¯©Õ6¸×8JÑ8JÐQW×QfÑQfô
ˆŽr,   c                ó  <€ V ^8„  d   QhRS[ P                  RS[S[ P                  S[ P                  3,          R,          RS[ P                  R,          RS[R,          RS[S[,          RS[S[ P                  S[ P                  3,          /# )r$   r;   Úposition_embeddingsNr|   Úpast_key_valuesr   r%   )r1   r<   rK   r	   r   r   )r'   r(   s   "€r)   r*   r—   ¢   s‡   ø€ ÷ &)ñ &)á—|‘|ð&)ñ #¡5§<¡<±·±Ð#=Õ>ÀÕEð&)ñ Ÿ™ tÕ+ð	&)ñ
  �ð&)ñ Ñ+Õ,ð&)ñ 
‰u�|‰|™UŸ\™\Ð)Õ	*ñ&)r,   c                ó  € VP                   R R p. VORNV P                  N5pV P                  V4      P                  V4      P	                  ^^4      pV P                  V4      P                  V4      P	                  ^^4      p	V P                  V4      P                  V4      P	                  ^^4      p
Vw  r¼\        W‰W¼4      w  r‰Ve   VP                  WšV P                  4      w  rš\        P                  ! V P                  P                  \        4      pT! V VV	V
V3RV P                  '       g   RMV P                   RV P"                  /VB w  rïVP$                  ! . VORN5!  P'                  4       pV P)                  V4      pWï3# )Nr~   ç        r}   r?   )rL   ru   r¡   Úviewr‡   r¢   r£   rj   Úupdater•   r   Úget_interfacer”   Ú_attn_implementationr�   r„   r�   r}   rq   rŠ   r¤   )r5   r;   r¨   r|   r©   r   Úinput_shapeÚhidden_shapeÚquery_statesr‹   rŒ   re   rf   Úattention_interfacerŽ   r�   s   &&&&&,          r)   rH   ÚEuroBertAttention.forward¢   s‡  € ð $×)Ñ)¨#¨2Ð.ˆØ8˜Ð8 bÐ8¨$¯-©-Ñ8ˆà—{‘{ =Ó1×6Ñ6°|ÓD×NÑNÈqÐRSÓTˆØ—[‘[ Ó/×4Ñ4°\ÓB×LÑLÈQÐPQÓRˆ
Ø—{‘{ =Ó1×6Ñ6°|ÓD×NÑNÈqÐRSÓTˆà&‰ˆÜ#7¸ÐRUÓ#[Ñ ˆàÒ&Ø'6×'=Ñ'=¸jÐX\×XfÑXfÓ'gÑ$ˆJä(?×(MÒ(MØ�K‰K×,Ñ,Ô.Eó)
Ðñ %8ØØØØØñ	%
ð  $Ÿ}Ÿ}˜}‘C°$×2HÑ2Hð	%
ð —L‘Lð	%
ð ñ	%
Ñ!ˆð "×)Ò)Ð;¨;Ð;¸Ó;×FÑFÓHˆØ—k‘k +Ó.ˆØÐ(Ð(r,   )r�   r”   ru   rž   r¢   r•   r…   r¤   r¡   r}   r£   )NNN)
rP   rQ   rR   rS   Ú__doc__r/   rH   rT   rU   rV   rW   s   @@r)   r‘   r‘   ‡   s!   ù‡ € áG÷
ó 
÷.&)÷ &)ò &)r,   r‘   c                   ó8   a a€ ] tR t^Ët oV 3R ltR tRtVtV ;t# )ÚEuroBertMLPc                ó  <€ \         SV `  4        Wn        VP                  V n        VP                  V n        \
        P                  ! V P                  V P                  VP                  R 7      V n        \
        P                  ! V P                  V P                  VP                  R 7      V n	        \
        P                  ! V P                  V P                  VP                  R 7      V n
        \        VP                  ,          V n        R# )r™   N)r.   r/   r”   r6   Úintermediate_sizer   rŸ   Úmlp_biasÚ	gate_projÚup_projÚ	down_projr   Ú
hidden_actÚact_fn©r5   r”   r8   s   &&€r)   r/   ÚEuroBertMLP.__init__Ì   s¶   ø€ Ü‰ÑÔØŒØ!×-Ñ-ˆÔØ!'×!9Ñ!9ˆÔÜŸš 4×#3Ñ#3°T×5KÑ5KÐRX×RaÑRaÔbˆŒÜ—y’y ×!1Ñ!1°4×3IÑ3IÐPV×P_ÑP_Ô`ˆŒÜŸš 4×#9Ñ#9¸4×;KÑ;KÐRX×RaÑRaÔbˆŒÜ˜V×.Ñ.Õ/ˆŽr,   c                ó�   € V P                  V P                  V P                  V4      4      V P                  V4      ,          4      pV# ©N)r½   r¿   r»   r¼   )r5   r\   r½   s   && r)   rH   ÚEuroBertMLP.forwardÖ   s6   € Ø—N‘N 4§;¡;¨t¯~©~¸aÓ/@Ó#AÀDÇLÁLÐQRÃOÕ#SÓTˆ	ØÐr,   )r¿   r”   r½   r»   r6   r¹   r¼   ©	rP   rQ   rR   rS   r/   rH   rT   rU   rV   rW   s   @@r)   r·   r·   Ë   s   ù‡ € õ0÷ò r,   r·   c                   óT   a a€ ] tR t^Ût oV3R lV 3R lltRV3R lR lltRtVtV ;t# )ÚEuroBertDecoderLayerc                ó&   <€ V ^8„  d   QhRS[ RS[/# r“   r–   )r'   r(   s   "€r)   r*   Ú!EuroBertDecoderLayer.__annotate__Ü   s   ø€ ÷ eñ e™~ð e¹#ñ er,   c                ó   <€ \         SV `  4        VP                  V n        \        WR 7      V n        \        V4      V n        \        VP                  VP                  R7      V n	        \        VP                  VP                  R7      V n
        R# ))r”   r•   ©r7   N)r.   r/   r6   r‘   Ú	self_attnr·   Úmlpr"   Úrms_norm_epsÚinput_layernormÚpost_attention_layernormr¥   s   &&&€r)   r/   ÚEuroBertDecoderLayer.__init__Ü   sk   ø€ Ü‰ÑÔØ!×-Ñ-ˆÔä*°&ÔNˆŒä˜vÓ&ˆŒÜ.¨v×/AÑ/AÀv×GZÑGZÔ[ˆÔÜ(7¸×8JÑ8JÐPV×PcÑPcÔ(dˆÖ%r,   c                ó.  <€ V ^8„  d   QhRS[ P                  RS[ P                  R,          RS[ P                  R,          RS[R,          RS[R,          RS[S[ P                  S[ P                  3,          R,          RS[S[,          R	S[ P                  /# )
r$   r;   r|   NÚposition_idsr©   Ú	use_cacher¨   r   r%   )r1   r<   Ú
LongTensorr	   ÚboolrK   r   r   )r'   r(   s   "€r)   r*   rÉ   æ   sœ   ø€ ÷ ñ á—|‘|ðñ Ÿ™ tÕ+ðñ ×&Ñ&¨Õ-ð	ñ
  �ðñ ˜$•;ðñ #¡5§<¡<±·±Ð#=Õ>ÀÕEðñ Ñ+Õ,ðñ 
�‰ñr,   c                óÔ   € TpV P                  V4      pV P                  ! RR VRVRVRVRVRV/VB w  rW�,           pTpV P                  V4      pV P                  V4      pW�,           pV# )r;   r|   rÓ   r©   rÔ   r¨   r&   )rÏ   rÌ   rÐ   rÍ   )
r5   r;   r|   rÓ   r©   rÔ   r¨   r   ÚresidualÚ_s
   &&&&&&&,  r)   rH   ÚEuroBertDecoderLayer.forwardæ   s©   € ð !ˆØ×,Ñ,¨]Ó;ˆàŸ>š>ñ 
Ø'ð
à)ð
ð &ð
ð ,ð	
ð
  ð
ð !4ð
ð ñ
Ñˆð !Õ0ˆð !ˆØ×5Ñ5°mÓDˆØŸ™ Ó/ˆØ Õ0ˆØÐr,   )r6   rÏ   rÍ   rÐ   rÌ   )NNNFNrÅ   rW   s   @@r)   rÇ   rÇ   Û   s    ù‡ € ÷eó e÷÷ ò r,   rÇ   c                   ó`   a € ] tR tRt o RtRtR.tR.tRtRt	Rt
RtRtR]R]/tV 3R ltR	tV tR
# )ÚEuroBertPreTrainedModeli  ÚmodelTrÇ   r©   r;   Ú
attentionsc                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # ©r$   r”   r   )r'   r(   s   "€r)   r*   Ú$EuroBertPreTrainedModel.__annotate__  s   ø‡ ‚ áÑò r,   r&   N)rP   rQ   rR   rS   Úbase_model_prefixÚsupports_gradient_checkpointingÚ_no_split_modulesÚ_skip_keys_device_placementÚ_supports_flash_attnÚ_supports_sdpaÚ_supports_flex_attnÚ_can_compile_fullgraphÚ_supports_attention_backendrÇ   r‘   Ú_can_record_outputsÚ__annotate_func__rT   rU   )r(   s   @r)   rÜ   rÜ     s]   ø‡ € ð  ÐØ&*Ð#Ø/Ð0ÐØ#4Ð"5ÐØÐØ€NØÐà!ÐØ"&ÐàÐ-ØÐ'ðÐ÷ ƒ r,   rÜ   c                   óÎ   a a€ ] tR tRt o]! RRR7      RV3R lV 3R lll4       t]]! RRR7      RV3R lR ll4       4       t]P                  ! 4       ]
R	 4       4       tR
tVtV ;t# )ÚEuroBertRotaryEmbeddingi  Údevicez5.18)Úversionc                ó    <€ V ^8„  d   QhRS[ /# rà   r   )r'   r(   s   "€r)   r*   Ú$EuroBertRotaryEmbedding.__annotate__  s   ø€ ÷ Oñ O™~ñ Or,   c                óä  <€ \         SV `  4        VP                  V n        VP                  V n        Wn        V P
                  P                  R ,          V n        V P                  pV P                  R8w  d   \        V P                  ,          pV! V P
                  V4      w  q@n
        \        P                  ! VRR7      V n        \        P                  ! VP                  4       RR7      V n        R# )Ú	rope_typeÚdefaultF)Ú
persistentN)r.   r/   Úmax_position_embeddingsÚmax_seq_len_cachedÚoriginal_max_seq_lenr”   Úrope_parametersrô   Úcompute_default_rope_parametersr   Úattention_scalingr   ÚBufferÚinv_freqÚcloneÚoriginal_inv_freq)r5   r”   rï   Úrope_init_fnrþ   r8   s   &&&  €r)   r/   Ú EuroBertRotaryEmbedding.__init__  s¬   ø€ ä‰ÑÔØ"(×"@Ñ"@ˆÔØ$*×$BÑ$BˆÔ!àŒàŸ™×4Ñ4°[ÕAˆŒØ!%×!EÑ!EˆØ�>‰>˜YÔ&Ü.¨t¯~©~Õ>ˆLÙ+7¸¿¹ÀVÓ+LÑ(ˆÔ(äŸ	š	 (°uÔ=ˆŒÜ!#§¢¨8¯>©>Ó+;ÈÔ!NˆÖr,   c                óP   <€ V ^8„  d   QhRS[ RS[S[P                  S[3,          /# )r$   r”   r%   )r   rK   r1   r<   r�   )r'   r(   s   "€r)   r*   rò   -  s.   ø€ ÷ 5ñ 5±ð 5ÑZ_Ñ`e×`lÑ`lÑnsÐ`sÕZtñ 5r,   c           	     ó0  € V P                   R,          p\        V RR4      ;'       g    V P                  V P                  ,          pRpRV\        P
                  ! ^ V^\        P                  R7      V,          ,          ,          pVP                  V4      V3# )a~  
Computes the inverse frequencies according to the original RoPE implementation
Args:
    config ([`~transformers.PreTrainedConfig`]):
        The model configuration.
Returns:
    Tuple of (`torch.Tensor`, `float`), containing the inverse frequencies for the RoPE embeddings and the
    post-processing scaling factor applied to the computed cos/sin (unused in this type of RoPE).
Ú
rope_thetaru   Ng      ð?©r@   )rú   r›   r6   rœ   r1   Úaranger�   rA   )r”   rï   r   ÚbaserZ   Úattention_factorrþ   s   &&,    r)   rû   Ú7EuroBertRotaryEmbedding.compute_default_rope_parameters+  s~   € ð ×%Ñ% lÕ3ˆÜ�f˜j¨$Ó/×cÐc°6×3EÑ3EÈ×IcÑIcÕ3cˆàÐà˜$¤5§<¢<°°3¸ÄÇÁÔ#MÐPSÕ#SÕTÕUˆØ�{‰{˜6Ó"Ð$4Ð4Ð4r,   c                ó^  € V P                   R,          P                  VP                  ^ ,          R	^4      P                  \        P
                  VP                  R7      pVR
,          P                  4       p\        VP                  P                  \        4      '       d2   VP                  P                  R8w  d   VP                  P                  MRp\        VRR7      ;_uu_ 4        W4,          P                  ^^4      p\        P                  ! Wf3R	R7      pVP                  4       V P                  ,          pVP                  4       V P                  ,          p	R R R 4       XP                  VP                   R7      X	P                  VP                   R7      3#   + '       g   i     LH; i)N)r@   rï   ÚmpsÚcpuF)Údevice_typeÚenabledrY   r  )Nro   Nr?   )ro   Nro   )rþ   rp   rL   rA   r1   r�   rï   Ú
isinstanceÚtypeÚstrr   r‡   r[   re   rü   rf   r@   )
r5   r\   rÓ   Úinv_freq_expandedÚposition_ids_expandedr  ÚfreqsÚembre   rf   s
   &&&       r)   rH   ÚEuroBertRotaryEmbedding.forward?  s2  € ð �M‰M˜-Õ(×/Ñ/°×0BÑ0BÀ1Õ0EÀrÈ1ÓM×PÑPÔW\×WbÑWbÐkl×ksÑksÐPÓtð 	ð !-¨ZÕ 8× >Ñ >Ó @Ðä'1°!·(±(·-±-Ä×'EÒ'EÈ!Ï(É(Ï-É-Ð[`ÔJ`�a—h‘h—m’mÐfkˆä¨¸U×CÖCØ&Õ>×IÑIÈ!ÈQÓOˆEÜ—)’)˜U˜N°Ô3ˆCØ—'‘'“)˜d×4Ñ4Õ4ˆCØ—'‘'“)˜d×4Ñ4Õ4ˆC÷	 Dð �v‰v˜AŸG™GˆvÓ$ c§f¡f°1·7±7 fÓ&;Ð;Ð;÷ D×Cús   Ã(A4FÆF,	)rü   r”   rþ   rø   r   rù   rô   rÃ   )rP   rQ   rR   rS   r   r/   Ústaticmethodrû   r1   Úno_gradr   rH   rT   rU   rV   rW   s   @@r)   rî   rî     su   ù‡ € Ù�X vÔ.÷Oô Oó /ðOð  Ù�X vÔ.÷5ñ 5ó /ó ð5ð$ ‡]‚]ƒ_Øñ<ó ó ÷<ð <r,   rî   c                   ór   a a€ ] tR tRt oV3R lV 3R llt]]]RV3R lR ll4       4       4       tRt	Vt
V ;t# )ÚEuroBertModeliR  c                ó    <€ V ^8„  d   QhRS[ /# rà   r   )r'   r(   s   "€r)   r*   ÚEuroBertModel.__annotate__T  s   ø€ ÷ ñ ™~ñ r,   c           	     ó  <€ \         SV `  V4       VP                  V n        VP                  V n        \
        P                  ! VP                  VP                  V P                  4      V n        \
        P                  ! \        VP                  4       Uu. uF  p\        W4      NK  	  up4      V n        \        VP                  VP                  R 7      V n        \#        VR7      V n        RV n        V P)                  4        R# u upi )rË   )r”   FN)r.   r/   Úpad_token_idÚpadding_idxÚ
vocab_sizer   Ú	Embeddingr6   Úembed_tokensÚ
ModuleListÚrangeÚnum_hidden_layersrÇ   Úlayersr"   rÎ   Únormrî   Ú
rotary_embÚgradient_checkpointingÚ	post_initr¥   s   && €r)   r/   ÚEuroBertModel.__init__T  sÊ   ø€ Ü‰Ñ˜Ô Ø!×.Ñ.ˆÔØ ×+Ñ+ˆŒäŸLšL¨×):Ñ):¸F×<NÑ<NÐPT×P`ÑP`ÓaˆÔÜ—m’mÜFKÈF×LdÑLdÔFeÓfÑFe¸Ô! &Ö4ÑFeÑfó
ˆŒô $ F×$6Ñ$6¸F×<OÑ<OÔPˆŒ	Ü1¸Ô@ˆŒØ&+ˆÔ#ð 	�‰Öùò gs   ÂDc                óØ   <€ V ^8„  d   QhRS[ P                  RS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[S[,          RS[S[,          /# )r$   Ú	input_idsr|   NrÓ   Úinputs_embedsr   r%   )r1   rÕ   r<   ÚFloatTensorr   r   rK   r   )r'   r(   s   "€r)   r*   r  g  sw   ø€ ÷ &
ñ &
á×#Ñ#ð&
ñ Ÿ™ tÕ+ð&
ñ ×&Ñ&¨Õ-ð	&
ñ
 ×(Ñ(¨4Õ/ð&
ñ Ñ+Õ,ð&
ñ 
‘Õ	 ñ&
r,   c           
     óø  € VR J VR J,          '       d   \        R4      hVf   V P                  V4      pVfC   \        P                  ! VP                  ^,          VP
                  R7      P                  ^ 4      p\        V P                  VVR7      pTpV P                  WsR7      pV P                  R V P                  P                    F  p	V	! V3RVRVRV/VB pK  	  V P                  V4      p\        VR7      # )	Nz:You must specify exactly one of input_ids or inputs_embeds)rï   )r”   r/  r|   )rÓ   r|   r¨   rÓ   )Úlast_hidden_state)Ú
ValueErrorr#  r1   r  rL   rï   rb   r   r”   r)  r'  r&  r(  r   )
r5   r.  r|   rÓ   r/  r   Úbidirectional_maskr;   r¨   Úencoder_layers
   &&&&&,    r)   rH   ÚEuroBertModel.forwardd  s  € ð ˜Ð -°tÐ";×<Ô<ÜÐYÓZÐZàÒ Ø*.×*;Ñ*;¸IÓ*FˆMàÒÜ Ÿ<š<¨×(;Ñ(;¸AÕ(>À}×G[ÑG[Ô\×fÑfÐghÓiˆLä6Ø—;‘;Ø'Ø)ô
Ðð &ˆØ"Ÿo™o¨m˜oÓWÐà!Ÿ[™[Ð)H¨4¯;©;×+HÑ+HÓIˆMÙ)Øñà1ðð %8ðð *ð	ð
 ñŠMñ Jð Ÿ	™	 -Ó0ˆÜØ+ô
ð 	
r,   )r#  r*  r'  r(  r   r)  r!  )NNNN)rP   rQ   rR   rS   r/   r   r   r   rH   rT   rU   rV   rW   s   @@r)   r  r  R  s=   ù‡ € ÷ó ð   ØØ÷&
ñ &
ó ó ó  ÷&
ð &
r,   r  c                   ó�   a a€ ] tR tRt oRR/tRR/tRR.R.3/tRR/tV3R	 lV 3R
 llt]	]
RV3R lR ll4       4       tRtVtV ;t# )ÚEuroBertForMaskedLMi�  zlm_head.weightzmodel.embed_tokens.weightÚlm_headÚcolwise_gather_outputr;   ÚlogitsÚkeep_full_weightc                ó    <€ V ^8„  d   QhRS[ /# rà   r   )r'   r(   s   "€r)   r*   Ú EuroBertForMaskedLM.__annotate__˜  ó   ø€ ÷ ñ ™~ñ r,   c                óÜ   <€ \         SV `  V4       \        V4      V n        \        P
                  ! VP                  VP                  VP                  4      V n	        V P                  4        R # rÃ   )r.   r/   r  rÝ   r   rŸ   r6   r!  rº   r9  r+  rÀ   s   &&€r)   r/   ÚEuroBertForMaskedLM.__init__˜  sL   ø€ Ü‰Ñ˜Ô Ü" 6Ó*ˆŒ
Ü—y’y ×!3Ñ!3°V×5FÑ5FÈÏÉÓXˆŒð 	�‰Ör,   c                ó2  <€ V ^8„  d   QhRS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[S[,          RS[S[ P                  ,          S[,          /# ©	r$   r.  Nr|   rÓ   r/  Úlabelsr   r%   )r1   rÕ   r<   r0  r   r   rK   r   )r'   r(   s   "€r)   r*   r>  ¢  sš   ø€ ÷ /
ñ /
á×#Ñ# dÕ*ð/
ñ Ÿ™ tÕ+ð/
ñ ×&Ñ&¨Õ-ð	/
ñ
 ×(Ñ(¨4Õ/ð/
ñ × Ñ  4Õ'ð/
ñ Ñ+Õ,ð/
ñ 
‰u�|‰|Õ	™~Õ	-ñ/
r,   c                ó  € V P                   ! R
RVRVRVRV/VB pV P                  VP                  4      pRp	Ve-   V P                  ! R
RVRVRV P                  P
                  /VB p	\        V	VVP                  VP                  R	7      # )a±  
Example:

```python
>>> from transformers import AutoTokenizer, EuroBertForMaskedLM

>>> model = EuroBertForMaskedLM.from_pretrained("EuroBERT/EuroBERT-210m")
>>> tokenizer = AutoTokenizer.from_pretrained("EuroBERT/EuroBERT-210m")

>>> text = "The capital of France is <|mask|>."
>>> inputs = tokenizer(text, return_tensors="pt")
>>> outputs = model(**inputs)

>>> # To get predictions for the mask:
>>> masked_index = inputs["input_ids"][0].tolist().index(tokenizer.mask_token_id)
>>> predicted_token_id = outputs.logits[0, masked_index].argmax(axis=-1)
>>> predicted_token = tokenizer.decode(predicted_token_id)
>>> print("Predicted token:", predicted_token)
Predicted token:  Paris
```r.  r|   rÓ   r/  Nr;  rD  r!  ©Úlossr;  r;   rÞ   r&   )	rÝ   r9  r2  Úloss_functionr”   r!  r   r;   rÞ   )
r5   r.  r|   rÓ   r/  rD  r   Úoutputsr;  rG  s
   &&&&&&,   r)   rH   ÚEuroBertForMaskedLM.forward   s³   € ð> $(§:¢:ñ $
Øð$
à)ð$
ð &ð$
ð (ð	$
ð
 ñ$
ˆð —‘˜g×7Ñ7Ó8ˆØˆØÒØ×%Ò%Ñp¨VÐp¸FÐpÈtÏ{É{×OeÑOeÐpÐioÑpˆDäØØØ!×/Ñ/Ø×)Ñ)ô	
ð 	
r,   )r9  rÝ   ©NNNNN)rP   rQ   rR   rS   Ú_tied_weights_keysÚ_tp_planÚ_pp_planÚ
_fsdp_planr/   r   r   rH   rT   rU   rV   rW   s   @@r)   r8  r8  �  sk   ù‡ € à*Ð,GÐHÐØÐ2Ð3€HØ˜_Ð-°¨zÐ:Ð;€HàÐ/Ð0€J÷ó ð Ø÷/
ñ /
ó ó ÷/
ð /
r,   r8  c                   óh   a a€ ] tR tRt oV3R lV 3R llt]]RV3R lR ll4       4       tRtVt	V ;t
# )Ú!EuroBertForSequenceClassificationiÔ  c                ó    <€ V ^8„  d   QhRS[ /# rà   r   )r'   r(   s   "€r)   r*   Ú.EuroBertForSequenceClassification.__annotate__Ö  s   ø€ ÷ 	ñ 	™~ñ 	r,   c                óž  <€ \         SV `  V4       VP                  V n        VP                  V n        \	        V4      V n        \        P                  ! VP                  VP                  4      V n	        \        P                  ! 4       V n        \        P                  ! VP                  V P                  4      V n        V P                  4        R # rÃ   )r.   r/   Ú
num_labelsÚclassifier_poolingr  rÝ   r   rŸ   r6   ÚdenseÚGELUÚ
activationÚ
classifierr+  rÀ   s   &&€r)   r/   Ú*EuroBertForSequenceClassification.__init__Ö  sˆ   ø€ Ü‰Ñ˜Ô Ø ×+Ñ+ˆŒØ"(×";Ñ";ˆÔä" 6Ó*ˆŒ
Ü—Y’Y˜v×1Ñ1°6×3EÑ3EÓFˆŒ
ÜŸ'š'›)ˆŒÜŸ)š) F×$6Ñ$6¸¿¹ÓHˆŒØ�‰Ör,   c                ó2  <€ V ^8„  d   QhRS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[S[,          RS[S[ P                  ,          S[,          /# rC  )r1   rÕ   r<   r0  r   r   rK   r   )r'   r(   s   "€r)   r*   rS  ã  s¤   ø€ ÷ J
ñ J
á×#Ñ# dÕ*ðJ
ñ Ÿ™ tÕ+ðJ
ñ ×&Ñ&¨Õ-ð	J
ñ
 ×(Ñ(¨4Õ/ðJ
ñ × Ñ  4Õ'ðJ
ñ Ñ+Õ,ðJ
ñ 
‰u�|‰|Õ	Ñ7Õ	7ñJ
r,   c           	     ó0  € V P                   ! V3R VRVRV/VB pV^ ,          pV P                  R9   dÓ   V P                  R8X  d   VR,          p	MƒV P                  R8X  ds   Vf   VP                  ^R7      p	M[VP                  VP                  4      pW‚P                  R4      ,          P                  ^R7      p	W’P                  ^RR7      ,          p	V P                  X	4      p	V P                  V	4      p	V P                  V	4      p
M¶V P                  R	8X  d¦   V P                  V4      pV P                  V4      pV P                  V4      p
Vf   V
P                  ^R7      p
M[VP                  V
P                  4      pW¢P                  R4      ,          P                  ^R7      p
W¢P                  ^RR7      ,          p
RpVEe³   VP                  X
P                  4      pV P                  P                  f–   V P                  ^8X  d   R
V P                  n        MrV P                  ^8”  dQ   VP                  \        P                  8X  g    VP                  \        P                   8X  d   RV P                  n        MRV P                  n        V P                  P                  R
8X  dK   \#        4       pV P                  ^8X  d'   V! V
P%                  4       VP%                  4       4      pMŽV! W¥4      pM…V P                  P                  R8X  d>   \'        4       pV! V
P)                  RV P                  4      VP)                  R4      4      pM-V P                  P                  R8X  d   \+        4       pV! W¥4      p\-        VX
VP.                  VP0                  R7      # )r|   rÓ   r/  ÚbosrD   NrY   T)rZ   r>   ÚlateÚ
regressionÚsingle_label_classificationÚmulti_label_classificationrF  )r^  rD   )ro   r   r?   )rÝ   rV  rD   rA   rï   rb   ÚsumrW  rY  rZ  r”   Úproblem_typerU  r@   r1   Úlongrm   r   Úsqueezer   r¬   r   r   r;   rÞ   )r5   r.  r|   rÓ   r/  rD  r   Úencoder_outputr2  Úpooled_outputr;  r\   rG  Úloss_fcts   &&&&&&,       r)   rH   Ú)EuroBertForSequenceClassification.forwardá  s  € ð ŸšØñ
à)ð
ð &ð
ð (ð	
ð
 ñ
ˆð +¨1Õ-Ðà×"Ñ" oÔ5Ø×&Ñ&¨%Ô/Ø 1°$Õ 7‘à×(Ñ(¨FÔ2Ø!Ò)Ø$5×$:Ñ$:¸qÐ$:Ó$A‘Mà%3×%6Ñ%6Ð7H×7OÑ7OÓ%P�NØ%6×9QÑ9QÐRTÓ9UÕ%U×$ZÑ$ZÐ_`Ð$ZÓ$a�MØ!×%7Ñ%7¸AÀtÐ%7Ó%LÕL�Mà ŸJ™J }Ó5ˆMØ ŸO™O¨MÓ:ˆMØ—_‘_ ]Ó3‰Fà×$Ñ$¨Ô.Ø—
‘
Ð,Ó-ˆAØ—‘ Ó"ˆAØ—_‘_ QÓ'ˆFØÒ%ØŸ™¨˜Ó+‘à!/×!2Ñ!2°6·=±=Ó!A�Ø ×#;Ñ#;¸BÓ#?Õ?×DÑDÈÐDÓK�Ø×,Ñ,°¸DÐ,ÓAÕA�àˆØÓØ—Y‘Y˜vŸ}™}Ó-ˆFØ�{‰{×'Ñ'Ò/Ø—?‘? aÔ'Ø/;�D—K‘KÕ,Ø—_‘_ qÔ(¨f¯l©l¼e¿j¹jÔ.HÈFÏLÉLÔ\a×\eÑ\eÔLeØ/L�D—K‘KÕ,à/K�D—K‘KÔ,à�{‰{×'Ñ'¨<Ô7Ü"›9�Ø—?‘? aÔ'Ù# F§N¡NÓ$4°f·n±nÓ6FÓG‘Dá# FÓ3‘DØ—‘×)Ñ)Ð-JÔJÜ+Ó-�Ù §¡¨B°·±Ó @À&Ç+Á+ÈbÃ/ÓR‘Ø—‘×)Ñ)Ð-IÔIÜ,Ó.�Ù Ó/�ä'ØØØ(×6Ñ6Ø%×0Ñ0ô	
ð 	
r,   )rY  rZ  rV  rW  rÝ   rU  rK  )rP   rQ   rR   rS   r/   r   r   rH   rT   rU   rV   rW   s   @@r)   rQ  rQ  Ô  s9   ù‡ € ÷	ó 	ð Ø÷J
ñ J
ó ó ÷J
ð J
r,   rQ  c                   ót   a a€ ] tR tRt oV3R lV 3R lltR tR t]]R	V3R lR ll4       4       t	Rt
VtV ;t# )
ÚEuroBertForTokenClassificationi0  c                ó    <€ V ^8„  d   QhRS[ /# rà   r   )r'   r(   s   "€r)   r*   Ú+EuroBertForTokenClassification.__annotate__2  r?  r,   c                óè   <€ \         SV `  V4       VP                  V n        \        V4      V n        \
        P                  ! VP                  VP                  4      V n        V P                  4        R # rÃ   )
r.   r/   rU  r  rÝ   r   rŸ   r6   rZ  r+  rÀ   s   &&€r)   r/   Ú'EuroBertForTokenClassification.__init__2  sQ   ø€ Ü‰Ñ˜Ô Ø ×+Ñ+ˆŒÜ" 6Ó*ˆŒ
äŸ)š) F×$6Ñ$6¸×8IÑ8IÓJˆŒØ�‰Ör,   c                ó.   € V P                   P                  # rÃ   ©rÝ   r#  rM   s   &r)   Úget_input_embeddingsÚ3EuroBertForTokenClassification.get_input_embeddings:  s   € Ø�z‰z×&Ñ&Ð&r,   c                ó&   € WP                   n        R # rÃ   rr  )r5   r{   s   &&r)   Úset_input_embeddingsÚ3EuroBertForTokenClassification.set_input_embeddings=  s   € Ø"'�
‰
Ör,   c                ó  <€ V ^8„  d   QhRS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[S[,          RS[S[,          /# rC  )r1   rÕ   r<   r0  r   r   rK   r   )r'   r(   s   "€r)   r*   rn  B  s’   ø€ ÷ #
ñ #
á×#Ñ# dÕ*ð#
ñ Ÿ™ tÕ+ð#
ñ ×&Ñ&¨Õ-ð	#
ñ
 ×(Ñ(¨4Õ/ð#
ñ × Ñ  4Õ'ð#
ñ Ñ+Õ,ð#
ñ 
Ñ&Õ	&ñ#
r,   c           	     ó2  € V P                   ! V3RVRVRV/VB pV^ ,          pV P                  V4      p	Rp
Ve=   \        4       pV! V	P                  RV P                  4      VP                  R4      4      p
\        V
V	VP                  VP                  R7      # )ae  
labels (`torch.LongTensor` of shape `(batch_size,)`, *optional*):
    Labels for computing the sequence classification/regression loss. Indices should be in `[0, ...,
    config.num_labels - 1]`. If `config.num_labels == 1` a regression loss is computed (Mean-Square loss), If
    `config.num_labels > 1` a classification loss is computed (Cross-Entropy).
r|   rÓ   r/  NrF  r?   )rÝ   rZ  r   r¬   rU  r   r;   rÞ   )r5   r.  r|   rÓ   r/  rD  r   rI  Úsequence_outputr;  rG  ri  s   &&&&&&,     r)   rH   Ú&EuroBertForTokenClassification.forward@  s¯   € ð" —*’*Øñ
à)ð
ð &ð
ð (ð	
ð
 ñ
ˆð " !�*ˆØ—‘ Ó1ˆàˆØÒÜ'Ó)ˆHÙ˜FŸK™K¨¨D¯O©OÓ<¸f¿k¹kÈ"»oÓNˆDä$ØØØ!×/Ñ/Ø×)Ñ)ô	
ð 	
r,   )rZ  rÝ   rU  rK  )rP   rQ   rR   rS   r/   rs  rv  r   r   rH   rT   rU   rV   rW   s   @@r)   rl  rl  0  s?   ù‡ € ÷ó ò'ò(ð Ø÷#
ñ #
ó ó ÷#
ð #
r,   rl  )é   )r«   )rÜ   r  r8  rQ  rl  )=Úcollections.abcr   r1   r   Útorch.nnr   r   r   Úactivationsr   Úcache_utilsr	   Úintegrationsr
   r   Úmasking_utilsr   Úmodeling_layersr   Úmodeling_outputsr   r   r   r   Úmodeling_rope_utilsr   r   Úmodeling_utilsr   r   Úprocessing_utilsr   Úutilsr   Úutils.deprecationr   Úutils.genericr   r   r   r   Úutils.output_capturingr   Úconfiguration_eurobertr   r€   r"   r_   rj   rv   r�   r‘   r·   rÇ   rÜ   rî   r  r8  rQ  rl  Ú__all__r&   r,   r)   Ú<module>rŽ     s‹  ðõ, %ã Ý ß AÑ Aå !Ý  ß LÝ 6Ý 9ß pÓ pß Kß FÝ &Ý #Ý 0ß mÓ mÝ 5Ý 2ñ ˜YÓ'ôJ�b—i‘ió Jó (ðJò((ñ Ð-Ó.óó /ðõ2	U÷%ñ2 Ð)Ó*ô@)˜Ÿ	™	ó @)ó +ð@)ôF�"—)‘)ô ô (Ð5ô (ðV ô˜oó ó ðô$6<˜bŸi™iô 6<ðr ô:
Ð+ó :
ó ð:
ðz ô@
Ð1ó @
ó ð@
ðF ôX
Ð(?ó X
ó ðX
ðv ô4
Ð%<ó 4
ó ð4
òn‚r,   