+
    œ°³jú/  ã                   ó4  € ^ RI Ht ^ RIt^ RIHu 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 ^RIHt ^R	IHt ^R
IHt ^RIHt ^RIHtHt ^RIHt ^RIHtH t H!t!H"t"H#t#H$t$H%t% ^RI&H't'H(t(H)t) ^RI*H+t+ ]PX                  ! ]-4      t. ! R R]#4      t/ ! R R]4      t0 ! R R]Pb                  4      t2 ! R R]4      t3]! ])](.4       ! R R]Pb                  4      4       t4 ! R R]4      t5 ! R R]"4      t6 ! R R ]!4      t7 ! R! R"] 4      t8. R#Ot9R# )$é    )ÚCallableN)Únn)ÚCacheÚDynamicCache)Úuse_kernelized_func)Úforce_accelerate_hooks)Úcreate_causal_maskÚcreate_recurrent_attention_mask)ÚGradientCheckpointingLayer)ÚBaseModelOutputWithPast)ÚALL_ATTENTION_FUNCTIONS)ÚUnpack)ÚTransformersKwargsÚlogging)ÚGemma2RotaryEmbedding)ÚLlamaAttentionÚLlamaForCausalLMÚ
LlamaModelÚLlamaPreTrainedModelÚLlamaRMSNormÚapply_rotary_pos_embÚeager_attention_forward)Úapply_mask_to_padding_statesÚcausal_conv1d_fnÚcausal_conv1d_update©Ú
Lfm2Configc                   ó   € ] tR t^.tRtR# )ÚLfm2RMSNorm© N©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__static_attributes__r    ó    Úf/home/luca/screen-checking/.venv/lib/python3.14/site-packages/transformers/models/lfm2/modular_lfm2.pyr   r   .   ó   † Ûr'   r   c                   ó   € ] tR t^2tRtR# )ÚLfm2RotaryEmbeddingr    Nr!   r    r'   r(   r+   r+   2   r)   r'   r+   c                   óD   a a€ ] tR t^6t oV3R lV 3R lltR tRtVtV ;t# )ÚLfm2MLPc                ó    <€ V ^8„  d   QhRS[ /# ©é   Úconfigr   )ÚformatÚ__classdict__s   "€r(   Ú__annotate__ÚLfm2MLP.__annotate__7   s   ø€ ÷ Oñ O™zñ Or'   c                óJ  <€ \         SV `  4        VP                  pVP                  '       d   \	        ^V,          ^,          4      pVP
                  eX   \	        VP
                  V,          4      pVP                  W!P                  ,           ^,
          VP                  ,          ,          p\        P                  ! VP                  VRR7      V n
        \        P                  ! VP                  VRR7      V n        \        P                  ! W!P                  RR7      V n        R# )r0   NF©Úbias)ÚsuperÚ__init__Úintermediate_sizeÚblock_auto_adjust_ff_dimÚintÚblock_ffn_dim_multiplierÚblock_multiple_ofr   ÚLinearÚhidden_sizeÚw1Úw3Úw2)Úselfr1   r;   Ú	__class__s   && €r(   r:   ÚLfm2MLP.__init__7   sÝ   ø€ Ü‰ÑÔØ"×4Ñ4ÐØ×*×*Ð*Ü # AÐ(9Õ$9¸AÕ$=Ó >Ðà×.Ñ.Ò:Ü$'¨×(GÑ(GÐJ[Õ([Ó$\Ð!Ø$*×$<Ñ$<Ø&×)AÑ)AÕAÀAÕEÈ&×JbÑJbÕbõ%Ð!ô —)’)˜F×.Ñ.Ð0AÈÔNˆŒÜ—)’)˜F×.Ñ.Ð0AÈÔNˆŒÜ—)’)Ð-×/AÑ/AÈÔNˆŽr'   c                ó–   € V P                  \        P                  ! V P                  V4      4      V P	                  V4      ,          4      # ©N)rD   ÚFÚsilurB   rC   )rE   Úxs   &&r(   ÚforwardÚLfm2MLP.forwardF   s/   € Ø�w‰w”q—v’v˜dŸg™g a›jÓ)¨D¯G©G°A«JÕ6Ó7Ð7r'   )rB   rD   rC   ©	r"   r#   r$   r%   r:   rM   r&   Ú__classdictcell__Ú__classcell__©rF   r3   s   @@r(   r-   r-   6   s   ù‡ € ÷Oó O÷8ò 8r'   r-   c                   óT   a a€ ] tR t^Jt 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# )ÚLfm2Attentionc                ó&   <€ V ^8„  d   QhRS[ RS[/# ©r0   r1   Ú	layer_idx©r   r=   )r2   r3   s   "€r(   r4   ÚLfm2Attention.__annotate__K   s   ø€ ÷ 	#ñ 	#™zð 	#±cñ 	#r'   c                óÞ  <€ \         SV `  W4       \        P                  ! VP                  VP
                  V P                  ,          R R7      V n        \        P                  ! VP                  VP                  V P                  ,          R R7      V n	        \        P                  ! VP                  VP                  V P                  ,          R R7      V n
        \        P                  ! VP
                  V P                  ,          VP                  R R7      V n        \        V P                  VP                  R7      V n        \        V P                  VP                  R7      V n        V =V =R# )Fr7   ©ÚepsN)r9   r:   r   r@   rA   Únum_attention_headsÚhead_dimÚq_projÚnum_key_value_headsÚk_projÚv_projÚout_projr   Únorm_epsÚq_layernormÚk_layernormÚo_projÚattention_dropout©rE   r1   rW   rF   s   &&&€r(   r:   ÚLfm2Attention.__init__K   sú   ø€ Ü‰Ñ˜Ô+Ü—i’i × 2Ñ 2°F×4NÑ4NÐQU×Q^ÑQ^Õ4^ÐejÔkˆŒÜ—i’i × 2Ñ 2°F×4NÑ4NÐQU×Q^ÑQ^Õ4^ÐejÔkˆŒÜ—i’i × 2Ñ 2°F×4NÑ4NÐQU×Q^ÑQ^Õ4^ÐejÔkˆŒÜŸ	š	 &×"<Ñ"<¸t¿}¹}Õ"LÈf×N`ÑN`ÐglÔmˆŒÜ& t§}¡}¸&¿/¹/ÔJˆÔÜ& t§}¡}¸&¿/¹/ÔJˆÔØˆKØÒ"r'   c                ó  <€ V ^8„  d   QhRS[ P                  RS[S[ P                  S[ P                  3,          RS[ P                  R,          RS[R,          RS[S[ P                  S[ P                  R,          3,          /# )r0   Úhidden_statesÚposition_embeddingsÚattention_maskNÚpast_key_valuesÚreturn)ÚtorchÚTensorÚtupler   )r2   r3   s   "€r(   r4   rY   V   sw   ø€ ÷ %$ñ %$á—|‘|ð%$ñ #¡5§<¡<±·±Ð#=Õ>ð%$ñ Ÿ™ tÕ+ð	%$ñ
  �ð%$ñ 
‰u�|‰|™UŸ\™\¨DÕ0Ð0Õ	1ñ%$r'   c                ó  € VP                   R R p. VORNV P                  N5pV P                  V P                  V4      P                  ! V!  4      P                  ^^4      pV P                  V P                  V4      P                  ! V!  4      P                  ^^4      p	V P                  V4      P                  ! V!  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V! V VV	V
V3RRRV P"                  /VB w  rïVP$                  ! . VORN5!  P'                  4       pV P)                  V4      pVV3# )NÚdropoutg        Úscalingéÿÿÿÿ)Úshaper^   re   r_   ÚviewÚ	transposerf   ra   rb   r   ÚupdaterW   r   Úget_interfacer1   Ú_attn_implementationr   rv   ÚreshapeÚ
contiguousrc   )rE   rl   rm   rn   ro   ÚkwargsÚinput_shapeÚhidden_shapeÚquery_statesÚ
key_statesÚvalue_statesÚcosÚsinÚattention_interfaceÚattn_outputÚattn_weightsÚoutputs   &&&&&,           r(   rM   ÚLfm2Attention.forwardV   s’  € ð $×)Ñ)¨#¨2Ð.ˆØ8˜Ð8 bÐ8¨$¯-©-Ñ8ˆà×'Ñ'¨¯©°MÓ(B×(GÒ(GÈÑ(VÓW×aÑaÐbcÐefÓgˆØ×%Ñ% d§k¡k°-Ó&@×&EÒ&EÀ|Ñ&TÓU×_Ñ_Ð`aÐcdÓeˆ
Ø—{‘{ =Ó1×6Ò6¸ÑE×OÑOÐPQÐSTÓUˆà&‰ˆÜ#7¸ÐRUÓ#[Ñ ˆàÒ&Ø'6×'=Ñ'=¸jÐX\×XfÑXfÓ'gÑ$ˆJä(?×(MÒ(MØ�K‰K×,Ñ,Ô.Eó)
Ðñ %8ØØØØØñ	%
ð ð	%
ð —L‘Lð	%
ð ñ	%
Ñ!ˆð "×)Ò)Ð;¨;Ð;¸Ó;×FÑFÓHˆØ—‘˜{Ó+ˆØ�|Ð#Ð#r'   )rf   ra   rc   re   r_   rb   rI   rO   rR   s   @@r(   rT   rT   J   s   ù‡ € ÷	#ó 	#÷%$÷ %$ò %$r'   rT   c                   ój   a a€ ] tR t^~t oV3R lV 3R llt]! R4      RV3R lR ll4       tRtVtV ;t	# )ÚLfm2ShortConvc                ó&   <€ V ^8„  d   QhRS[ RS[/# rV   rX   )r2   r3   s   "€r(   r4   ÚLfm2ShortConv.__annotate__€   s   ø€ ÷ 8ñ 8áð8ñ ñ8r'   c           	     óv  <€ \         SV `  4        Wn        W n        VP                  V n        VP                  V n        \        P                  ! VP                  VP                  V 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,          V n        R# )é   )Úin_channelsÚout_channelsÚkernel_sizeÚgroupsr8   Úpaddingr7   N)r9   r:   r1   rW   Úconv_L_cacheÚconv_kernel_sizeÚ	conv_biasr8   r   ÚConv1drA   Úconvr@   Úin_projrc   Úlayer_typesÚ
layer_typeri   s   &&&€r(   r:   ÚLfm2ShortConv.__init__€   sâ   ø€ ô
 	‰ÑÔØŒØ"ŒØ &× 3Ñ 3ˆÔØ×$Ñ$ˆŒ	ä—I’IØ×*Ñ*Ø×+Ñ+Ø×-Ñ-Ø×%Ñ%Ø—‘Ø×)Ñ)¨AÕ-ô
ˆŒ	ô —y’y ×!3Ñ!3°Q¸×9KÑ9KÕ5KÐRV×R[ÑR[Ô\ˆŒÜŸ	š	 &×"4Ñ"4°f×6HÑ6HÈtÏyÉyÔYˆŒà ×,Ñ,¨YÕ7ˆŽr'   rœ   c          	      ó˜   <€ V ^8„  d   QhRS[ P                  RS[R,          RS[ P                  R,          RS[ P                  R,          /# )r0   rl   ro   Nrn   Úseq_idx)rq   rr   r   Ú	IntTensor)r2   r3   s   "€r(   r4   r�   ™   sM   ø€ ÷ 'ñ 'á—|‘|ð'ñ  �ð'ñ Ÿ™ tÕ+ð	'ñ
 —‘ 4Õ'ñ'r'   c                óä  € VP                   ^,          p\        W4      pV P                  V4      P                  RR4      pVP	                  ^RR7      w  rxp	Wy,          pVRJ;'       d    VP                  V P                  4      p
V
'       d¨   V^8X  d¡   VP                  V P                  ,          P                  '       gt   VP                  V P                  ,          P                  ^ ,          p\        WV P                  P                  P                  ^4      V P                  P                  4      pMƒVe(   VP                  WP                  V P                   R7      p\#        WP                  P                  P                  ^4      V P                  P                  VR7      pVe   VRRV) R13,          pW�,          pVP                  RR4      P%                  4       pV P'                  V4      pV# )r’   )ÚdimN)r™   )r¢   :NNNrw   éþÿÿÿ)rx   r   r�   rz   ÚchunkÚhas_previous_staterW   ÚlayersÚrecord_pastÚconv_statesr   rœ   ÚweightÚsqueezer8   Úupdate_conv_stater™   r   r   rc   )rE   rl   ro   rn   r¢   Úseq_lenÚBCxÚBÚCrL   Úuse_precomputed_statesÚ
conv_stateÚys   &&&&&        r(   rM   ÚLfm2ShortConv.forward˜   sœ  € ð  ×%Ñ% aÕ(ˆä4°]ÓSˆØ�l‰l˜=Ó)×3Ñ3°B¸Ó;ˆØ—)‘)˜A 2�)Ó&‰ˆˆaØ�ˆà!0¸Ð!<×!sÐ!sÀ×AcÑAcÐdh×drÑdrÓAsÐç! g°¤l¸?×;QÑ;QÐRV×R`ÑR`Õ;a×;m×;mÐ;mØ(×/Ñ/°·±Õ?×KÑKÈAÕNˆJä0Ø¨4¯9©9×+;Ñ+;×+CÑ+CÀAÓ+FÈÏ	É	ÏÉó‰Mð Ò*Ø /× AÑ AØ!§>¡>ÀD×DYÑDYð !Bó !�ô -ØŸy™y×/Ñ/×7Ñ7¸Ó:¸D¿I¹I¿N¹NÐT[ôˆMð
 Ò*Ø -¨a°°W°H±I¨oÕ >�àÕˆØ�K‰K˜˜BÓ×*Ñ*Ó,ˆØ�M‰M˜!ÓˆØˆr'   )r8   r1   rœ   r™   r�   rW   rŸ   rc   )NNN)
r"   r#   r$   r%   r:   r   rM   r&   rP   rQ   rR   s   @@r(   rŽ   rŽ   ~   s2   ù‡ € ÷8ó 8ñ0 ˜FÓ#÷'ñ 'ó $÷'ð '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# )ÚLfm2DecoderLayerc                ó&   <€ V ^8„  d   QhRS[ RS[/# rV   rX   )r2   r3   s   "€r(   r4   ÚLfm2DecoderLayer.__annotate__Ä   s   ø€ ÷ 
Mñ 
M™zð 
M±cñ 
Mr'   c                óx  <€ \         SV `  4        VP                  V,          R 8H  V n        V P                  '       d   \	        W4      V n        M\        W4      V n        \        V4      V n	        \        VP                  VP                  R7      V n        \        VP                  VP                  R7      V n        R# )Úfull_attentionr[   N)r9   r:   rž   Úis_attention_layerrT   Ú	self_attnrŽ   rœ   r-   Úfeed_forwardr   rA   rd   Úoperator_normÚffn_normri   s   &&&€r(   r:   ÚLfm2DecoderLayer.__init__Ä   sˆ   ø€ Ü‰ÑÔØ"(×"4Ñ"4°YÕ"?ÐCSÑ"SˆÔà×"×"Ð"Ü*¨6Ó=ˆD�Nä% fÓ8ˆDŒIÜ# F›OˆÔÜ(¨×);Ñ);ÀÇÁÔQˆÔÜ# F×$6Ñ$6¸F¿O¹OÔLˆŽr'   c                ó  <€ V ^8„  d   QhRS[ P                  RS[S[ P                  S[ P                  3,          R,          RS[ P                  R,          RS[ P                  R,          RS[R,          RS[ P                  /# )r0   rl   rm   Nrn   Úposition_idsro   rp   )rq   rr   rs   Ú
LongTensorr   )r2   r3   s   "€r(   r4   rº   Ð   s~   ø€ ÷ ñ á—|‘|ðñ #¡5§<¡<±·±Ð#=Õ>ÀÕEðñ Ÿ™ tÕ+ð	ñ
 ×&Ñ&¨Õ-ðñ  �ðñ 
�‰ñr'   c                óL  € TpV P                   '       d/   V P                  ! RR V P                  V4      RVRVRVRV/VB w  rM3V P                  V P                  V4      VVVP	                  R4      R7      pW,           pWP                  V P                  V4      4      ,           pV# )rl   rm   rn   rÄ   ro   r¢   )rl   ro   rn   r¢   r    )r½   r¾   rÀ   rœ   Úgetr¿   rÁ   )	rE   rl   rm   rn   rÄ   ro   r€   ÚresidualÚ_s	   &&&&&&,  r(   rM   ÚLfm2DecoderLayer.forwardÐ   sÌ   € ð !ˆØ×"×"Ð"Ø#Ÿ~š~ñ  Ø"×0Ñ0°Ó?ð à$7ð ð  .ð ð *ð	 ð
 !0ð ð ñ ÑˆM˜1ð !ŸI™IØ"×0Ñ0°Ó?Ø /Ø-ØŸ
™
 9Ó-ð	 &ó ˆMð &Õ0ˆØ%×(9Ñ(9¸$¿-¹-ÈÓ:VÓ(WÕWˆàÐr'   )rœ   r¿   rÁ   r½   rÀ   r¾   )NNNNrO   rR   s   @@r(   r¸   r¸   Ã   s    ù‡ € ÷
Mó 
M÷÷ ò r'   r¸   c                   ó   € ] tR t^ðtRtR# )ÚLfm2PreTrainedModelr    Nr!   r    r'   r(   rÌ   rÌ   ð   r)   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# )Ú	Lfm2Modelc                ó    <€ V ^8„  d   QhRS[ /# r/   r   )r2   r3   s   "€r(   r4   ÚLfm2Model.__annotate__õ   s   ø€ ÷ ñ ™zñ r'   c                óv   <€ \         SV `  V4       \        VP                  VP                  R 7      V n        V =R# )r[   N)r9   r:   r   rA   rd   Úembedding_normÚnorm)rE   r1   rF   s   &&€r(   r:   ÚLfm2Model.__init__õ   s.   ø€ Ü‰Ñ˜Ô Ü)¨&×*<Ñ*<À&Ç/Á/ÔRˆÔØŠIr'   c                óþ   <€ V ^8„  d   QhRS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[R,          RS[ P                  R,          RS[R,          RS[S[,          R	S[/# )
r0   Ú	input_idsNrn   rÄ   ro   Úinputs_embedsÚ	use_cacher€   rp   )	rq   rÅ   rr   r   ÚFloatTensorÚboolr   r   r   )r2   r3   s   "€r(   r4   rÐ   ú   s“   ø€ ÷ 8
ñ 8
á×#Ñ# dÕ*ð8
ñ Ÿ™ tÕ+ð8
ñ ×&Ñ&¨Õ-ð	8
ñ
  �ð8
ñ ×(Ñ(¨4Õ/ð8
ñ ˜$•;ð8
ñ Ñ+Õ,ð8
ñ 
!ñ8
r'   c                ó4  € VR J VR J,          '       d   \        R4      hVf   V P                  V4      pV'       d   Vf   \        V P                  R7      pVfb   Ve   VP	                  4       M^ p\
        P                  ! VP                  ^,          VP                  R7      V,           pVP                  ^ 4      p\        T;p	\        4      '       g/   RV P                  RVRVRVRV/p
R	\        R/ V
B R
\        R/ V
B /p	TpV P                  W³R7      p\        V P                   R V P                  P"                   4       F7  w  rÞV! V3RW�P                  P$                  V,          ,          RVRVRV/VB pK9  	  V P'                  V4      p\)        VVR7      # )Nz:You must specify exactly one of input_ids or inputs_embeds)r1   )Údevicer1   r×   rn   ro   rÄ   r¼   rœ   )rÄ   rm   )Úlast_hidden_statero   r    )Ú
ValueErrorÚembed_tokensr   r1   Úget_seq_lengthrq   Úarangerx   rÜ   Ú	unsqueezeÚ
isinstanceÚdictr	   r
   Ú
rotary_embÚ	enumerater©   Únum_hidden_layersrž   rÒ   r   )rE   rÖ   rn   rÄ   ro   r×   rØ   r€   Úpast_seen_tokensÚcausal_mask_mappingÚmask_kwargsrl   rm   ÚiÚdecoder_layers   &&&&&&&,       r(   rM   ÚLfm2Model.forwardú   s¹  € ð ˜Ð -°tÐ";×<Ô<ÜÐYÓZÐZàÒ Ø ×-Ñ-¨iÓ8ˆMç˜Ò0Ü*°$·+±+Ô>ˆOàÒØCRÒC^˜×=Ñ=Ô?ÐdeÐÜ Ÿ<š<¨×(;Ñ(;¸AÕ(>À}×G[ÑG[Ô\Ð_oÕoˆLØ'×1Ñ1°!Ó4ˆLä°Ð?Ð-Ä×FÒFà˜$Ÿ+™+Ø Ø  .Ø! ?Ø ðˆKð !Ô"4Ñ"C°{Ñ"CØÔ7ÑF¸+ÑFð#Ðð
 &ˆØ"Ÿo™o¨m˜oÓWÐô !*¨$¯+©+Ð6U¸¿¹×8UÑ8UÐ*VÖ WÑˆAÙ)Øñà2·;±;×3JÑ3JÈ1Õ3MÕNðð %8ðð *ð	ð
 !0ðð ñŠMñ !Xð ×+Ñ+¨MÓ:ˆä&Ø+Ø+ô
ð 	
r'   )rÒ   )NNNNNNrO   rR   s   @@r(   rÎ   rÎ   ô   s   ù‡ € ÷ó ÷
8
÷ 8
ò 8
r'   rÎ   c                   ó   € ] tR tRtRtR# )ÚLfm2ForCausalLMi5  r    Nr!   r    r'   r(   rï   rï   5  r)   r'   rï   )rï   rÎ   rÌ   ):Úcollections.abcr   rq   Útorch.nn.functionalr   Ú
functionalrJ   Úcache_utilsr   r   Úintegrationsr   Úintegrations.accelerater   Úmasking_utilsr	   r
   Úmodeling_layersr   Úmodeling_outputsr   Úmodeling_utilsr   Úprocessing_utilsr   Úutilsr   r   Úgemma2.modeling_gemma2r   Úllama.modeling_llamar   r   r   r   r   r   r   Úqwen3_next.modeling_qwen3_nextr   r   r   Úconfiguration_lfm2r   Ú
get_loggerr"   Úloggerr   r+   ÚModuler-   rT   rŽ   r¸   rÌ   rÎ   rï   Ú__all__r    r'   r(   Ú<module>r     s  ðõ %ã ß Ð Ý ç .Ý /Ý =ß PÝ 9Ý 7Ý 5Ý &ß 0Ý :÷÷ ñ ÷ rÑ qÝ *ð 
×	Ò	˜HÓ	%€ô	�,ô 	ô	Ð/ô 	ô8ˆb�i‰iô 8ô(1$�Nô 1$ñh Ð*Ð,<Ð=Ó>ôA�B—I‘Ió Aó ?ðAôH*Ð1ô *ôZ	Ð.ô 	ô>
�
ô >
ôB	Ð&ô 	ò B‚r'   