+
    UV-j[  ã                   óþ   € ^ RI Ht ^ RIHt ^ RIHt ^RIHtH	t	H
t
 ^RIHt ^RIHt  ! R R]P                  4      t ! R R	]P                  4      t ! R
 R]P                  4      t ! R R]P                  4      tR# )é    )ÚOptionalN)ÚLanguageModelOutputÚcreate_attention_maskÚscaled_dot_product_attention)ÚKVCache©Ú
TextConfigc                   ó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# )Ú	Attentionc                ó    <€ V ^8„  d   QhRS[ /# ©é   Úconfigr   )ÚformatÚ__classdict__s   "€Úq/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/mlx_vlm/models/idefics3/language.pyÚ__annotate__ÚAttention.__annotate__   s   ø€ ÷ 
ñ 
™zñ 
ó    c                óN  <€ \         SV `  4        VP                  pVP                  ;V n        pVP                  V,          pVP
                  ;V n        pVR,          V n        \        P                  ! W#V,          RR7      V n
        \        P                  ! W%V,          RR7      V n        \        P                  ! W%V,          RR7      V n        \        P                  ! W4,          VRR7      V n        \        P                  ! VVP                  VP                   R7      V n        R# )g      à?F©Úbias)ÚtraditionalÚbaseNg      à¿)ÚsuperÚ__init__Úhidden_sizeÚnum_attention_headsÚn_headsÚnum_key_value_headsÚ
n_kv_headsÚscaleÚnnÚLinearÚq_projÚk_projÚv_projÚo_projÚRoPEÚrope_traditionalÚ
rope_thetaÚrope)Úselfr   Údimr   Úhead_dimr!   Ú	__class__s   &&    €r   r   ÚAttention.__init__   sÙ   ø€ Ü‰ÑÔà× Ñ ˆØ!'×!;Ñ!;Ð;ˆŒ�wØ×%Ñ%¨Õ0ˆØ'-×'AÑ'AÐAˆŒ˜*à˜t•^ˆŒ
ä—i’i ¨xÕ%7¸eÔDˆŒÜ—i’i °(Õ%:ÀÔGˆŒÜ—i’i °(Õ%:ÀÔGˆŒÜ—i’i Õ 2°C¸eÔDˆŒä—G’GØØ×/Ñ/Ø×"Ñ"ô
ˆŽ	r   c                óŽ   <€ V ^8„  d   QhRS[ P                  RS[S[ P                  ,          RS[S[,          RS[ P                  /# ©r   ÚxÚmaskÚcacheÚreturn©ÚmxÚarrayr   r   )r   r   s   "€r   r   r   %   sI   ø€ ÷ #ñ #á�8‰8ð#ñ ‘r—x‘xÕ ð#ñ ™Õ ð	#ñ
 
�‰ñ#r   c           	     ó  € VP                   w  rEpV P                  V4      V P                  V4      V P                  V4      r˜pVP	                  WEV P
                  R4      P                  ^ ^^^4      pVP	                  WEV P                  R4      P                  ^ ^^^4      pV	P	                  WEV P                  R4      P                  ^ ^^^4      p	VeM   V P                  WsP                  R7      pV P                  WƒP                  R7      pVP                  W‰4      w  r‰M"V P                  V4      pV P                  V4      p\        WxW“V P                  VR7      p
V
P                  ^ ^^^4      P	                  WER4      p
V P                  V
4      # )é   )Úoffset)r"   r5   éÿÿÿÿ)Úshaper%   r&   r'   Úreshaper   Ú	transposer!   r,   r=   Úupdate_and_fetchr   r"   r(   )r-   r4   r5   r6   ÚBÚLÚDÚqueriesÚkeysÚvaluesÚoutputs   &&&&       r   Ú__call__ÚAttention.__call__%   sS  € ð —'‘'‰ˆˆaà $§¡¨A£°·±¸A³ÀÇÁÈAÃ�vˆð —/‘/ !¨¯©°bÓ9×CÑCÀAÀqÈ!ÈQÓOˆØ�|‰|˜A $§/¡/°2Ó6×@Ñ@ÀÀAÀqÈ!ÓLˆØ—‘  d§o¡o°rÓ:×DÑDÀQÈÈ1ÈaÓPˆàÒØ—i‘i ·±�iÓ=ˆGØ—9‘9˜T¯,©,�9Ó7ˆDØ ×1Ñ1°$Ó?‰LˆD�&à—i‘i Ó(ˆGØ—9‘9˜T“?ˆDä-Ø˜6°·
±
Àô
ˆð ×!Ñ! ! Q¨¨1Ó-×5Ñ5°a¸BÓ?ˆØ�{‰{˜6Ó"Ð"r   )r&   r   r!   r(   r%   r,   r"   r'   ©NN©	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   rJ   Ú__static_attributes__Ú__classdictcell__Ú__classcell__©r0   r   s   @@r   r   r      s   ù‡ € ÷
ó 
÷*#÷ #ò #r   r   c                   óD   a a€ ] tR t^Ct oV 3R ltV3R lR ltRtVtV ;t# )ÚMLPc                óÒ   <€ \         SV `  4        \        P                  ! WR R7      V n        \        P                  ! W!R R7      V n        \        P                  ! WR R7      V n        R# )Fr   N)r   r   r#   r$   Ú	gate_projÚ	down_projÚup_proj)r-   r.   Ú
hidden_dimr0   s   &&&€r   r   ÚMLP.__init__D   sD   ø€ Ü‰ÑÔÜŸš 3¸Ô?ˆŒÜŸš :¸Ô?ˆŒÜ—y’y °uÔ=ˆŽr   c                ó4   <€ V ^8„  d   QhRS[ P                  /# )r   r7   )r9   r:   )r   r   s   "€r   r   ÚMLP.__annotate__J   s   ø€ ÷ Lñ L™RŸX™Xñ Lr   c                ó–   € V P                  \        P                  ! V P                  V4      4      V P	                  V4      ,          4      # ©N)rZ   r#   ÚsilurY   r[   )r-   r4   s   &&r   rJ   ÚMLP.__call__J   s0   € Ø�~‰~œbŸgšg d§n¡n°QÓ&7Ó8¸4¿<¹<È»?ÕJÓKÐKr   )rZ   rY   r[   rM   rU   s   @@r   rW   rW   C   s   ù‡ € õ>÷L÷ Lð Lr   rW   c                   óT   a a€ ] tR t^Nt 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# )ÚTransformerBlockc                ó    <€ V ^8„  d   QhRS[ /# r   r   )r   r   s   "€r   r   ÚTransformerBlock.__annotate__O   s   ø€ ÷ 
ñ 
™zñ 
r   c                ó¢  <€ \         SV `  4        VP                  V n        VP                  V n        \	        V4      V n        \        VP                  VP                  4      V n        \        P                  ! VP                  VP                  R 7      V n        \        P                  ! VP                  VP                  R 7      V n        Wn        R# )©ÚepsN)r   r   r   r   r   Ú	self_attnrW   Úintermediate_sizeÚmlpr#   ÚRMSNormÚrms_norm_epsÚinput_layernormÚpost_attention_layernormr   )r-   r   r0   s   &&€r   r   ÚTransformerBlock.__init__O   s˜   ø€ Ü‰ÑÔØ#)×#=Ñ#=ˆÔ Ø!×-Ñ-ˆÔÜ" 6Ó*ˆŒÜ�v×)Ñ)¨6×+CÑ+CÓDˆŒÜ!Ÿzšz¨&×*<Ñ*<À&×BUÑBUÔVˆÔÜ(*¯
ª
Ø×Ñ F×$7Ñ$7ô)
ˆÔ%ð Žr   c                óŽ   <€ V ^8„  d   QhRS[ P                  RS[S[ P                  ,          RS[S[,          RS[ P                  /# r3   r8   )r   r   s   "€r   r   rg   [   sI   ø€ ÷ 
ñ 
á�8‰8ð
ñ ‘r—x‘xÕ ð
ñ ™Õ ð	
ñ
 
�‰ñ
r   c                ó¨   € V P                  V P                  V4      W#4      pW,           pV P                  V P                  V4      4      pWT,           pV# ra   )rk   rp   rm   rq   )r-   r4   r5   r6   ÚrÚhÚouts   &&&&   r   rJ   ÚTransformerBlock.__call__[   sK   € ð �N‰N˜4×/Ñ/°Ó2°DÓ@ˆØ�EˆØ�H‰H�T×2Ñ2°1Ó5Ó6ˆØ�eˆØˆ
r   )r   r   rp   rm   r   rq   rk   rL   rM   rU   s   @@r   re   re   N   s   ù‡ € ÷
ó 
÷
÷ 
ò 
r   re   c                   óz   a a€ ] tR t^ht oV3R lV 3R lltR	V3R lR lltR t]R 4       t]R 4       t	Rt
VtV ;t# )
ÚLanguageModelc                ó    <€ V ^8„  d   QhRS[ /# r   r   )r   r   s   "€r   r   ÚLanguageModel.__annotate__i   s   ø€ ÷ Tñ T™zñ Tr   c                óT  <€ \         SV `  4        Wn        VP                  V n        VP                  V n        VP
                  V n        V P                  ^ 8”  g   Q h\        P                  ! VP                  VP                  4      V n	        \        VP
                  4       Uu. uF  p\        VR7      NK  	  upV n        \        P                  ! VP                  VP                  R7      V n        \        P                   ! VP                  VP                  RR7      V n        R# u upi )r   )r   ri   Fr   N)r   r   r   Ú
model_typeÚ
vocab_sizeÚnum_hidden_layersr#   Ú	Embeddingr   Úembed_tokensÚrangere   Úlayersrn   ro   Únormr$   Úlm_head)r-   r   Ú_r0   s   && €r   r   ÚLanguageModel.__init__i   sÞ   ø€ Ü‰ÑÔØŒØ ×+Ñ+ˆŒØ ×+Ñ+ˆŒØ!'×!9Ñ!9ˆÔØ�‰ Ô"Ð"Ð"ÜŸLšL¨×):Ñ):¸F×<NÑ<NÓOˆÔä5:¸6×;SÑ;SÔ5Tó
Ù5T°Ô F×+Ñ5Tñ
ˆŒô —J’J˜v×1Ñ1°v×7JÑ7JÔKˆŒ	Ü—y’y ×!3Ñ!3°V×5FÑ5FÈUÔSˆŽùò	
s   Â#D%c                óˆ   <€ V ^8„  d   QhRS[ P                  RS[S[ P                  ,          RS[S[ P                  ,          /# )r   ÚinputsÚinputs_embedsr5   )r9   r:   r   )r   r   s   "€r   r   r|   w   s?   ø€ ÷ 2ñ 2á—‘ð2ñ  ¡§¡Õ)ð2ñ ‘r—x‘xÕ ñ	2r   c                ó”  € Vf   V P                  V4      pM/VP                  V P                  P                  P                  4      pVf   R .\        V P                  4      ,          pVf   \        Wd4      p\        V P                  V4       F  w  rxV! WcV4      pK  	  V P                  V P                  V4      4      p	\        V	R7      # )N)Úlogits)r‚   Úastyper…   ÚweightÚdtypeÚlenr„   r   Úzipr†   r   )
r-   rŠ   r‹   r5   r6   Úkwargsrv   ÚlayerÚcr�   s
   &&&&&,    r   rJ   ÚLanguageModel.__call__w   s©   € ð Ò Ø×!Ñ! &Ó)‰Aà×$Ñ$ T§Y¡Y×%5Ñ%5×%;Ñ%;Ó<ˆAàŠ=Ø�FœS §¡Ó-Õ-ˆEàŠ<Ü(¨Ó2ˆDä˜DŸK™K¨Ö/‰HˆEÙ�a˜qÓ!ŠAñ 0ð —‘˜dŸi™i¨›lÓ+ˆÜ"¨&Ô1Ð1r   c                óh   € VP                  4        UUu/ uF  w  r#R V9  g   K  W#bK  	  upp# u uppi )zself_attn.rotary_emb.inv_freq)Úitems)r-   ÚweightsÚkÚvs   &&  r   ÚsanitizeÚLanguageModel.sanitize‘   s:   € ð %Ÿ]™]œ_ô
Ù,‘T�QÐ0OÐWXÑ0XŒDˆAŠD™_ò
ð 	
ùó 
s   ”.¤.c                ód   € V P                   P                  V P                   P                  ,          # ra   )r   r   r   ©r-   s   &r   r/   ÚLanguageModel.head_dim—   s!   € à�{‰{×&Ñ&¨$¯+©+×*IÑ*IÕIÐIr   c                ó.   € V P                   P                  # ra   )r   r    rŸ   s   &r   r!   ÚLanguageModel.n_kv_heads›   s   € à�{‰{×.Ñ.Ð.r   )r   r‚   r„   r†   r~   r…   r€   r   )NNN)rN   rO   rP   rQ   r   rJ   rœ   Úpropertyr/   r!   rR   rS   rT   rU   s   @@r   rz   rz   h   sO   ù‡ € ÷Tó T÷2ò 2ò4
ð ñJó ðJð ñ/ó ÷/ð /r   rz   )Útypingr   Úmlx.coreÚcorer9   Úmlx.nnr#   r   r   r   r   r6   r   r   r	   ÚModuler   rW   re   rz   © r   r   Ú<module>rª      sc   ðÝ å Ý ÷ñ õ
 Ý ô1#�—	‘	ô 1#ôhLˆ"�)‰)ô Lô�r—y‘yô ô45/�B—I‘Iö 5/r   