+
    UV-j0  ã                   ór  € ^ RI Ht ^ 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 ltR	 R
 lt]P&                  3R R llt ! R R]P*                  4      t ! R R]P*                  4      t ! R R]P*                  4      t ! R R]P*                  4      t ! R R]P*                  4      tR# )é    )ÚOptionalN)Úswiglu)ÚLanguageModelOutputÚcreate_attention_maskÚscaled_dot_product_attention)ÚKVCache©Ú
TextConfigc                ó\   € V ^8„  d   QhR\         P                  R\        R\        R\        /# )é   Úposition_idsÚhead_dimÚbaseÚreturn)ÚmxÚarrayÚintÚfloatÚtuple)Úformats   "Úw/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/mlx_vlm/models/locateanything/language.pyÚ__annotate__r      s2   € ÷ Bñ B¤§¡ð B´Cð B¼uð BÌñ Bó    c                 ó€  € V^,          pV\         P                  ! ^ V\         P                  R7      ) V,          ,          pV R,          P                  \         P                  4      V,          p\         P                  ! WU.RR7      p\         P
                  ! V4      R,          \         P                  ! V4      R,          3# )r   ©Údtype©Úaxis).Néÿÿÿÿ)ºNNNNr    r    )r   ÚarangeÚfloat32ÚastypeÚconcatenateÚcosÚsin)r   r   r   ÚhalfÚinv_freqÚfreqsÚembs   &&&    r   Ú_rope_cos_sinr+      sƒ   € Ø�q�=€DØœŸš 1 d´"·*±*Ô=Ð=ÀÕDÕE€HØ˜Õ#×*Ñ*¬2¯:©:Ó6¸ÕA€EÜ
�.Š.˜%˜¨bÔ
1€CÜ�6Š6�#‹;�}Õ%¤r§v¢v¨c£{°=Õ'AÐAÐAr   c                ó˜   € V ^8„  d   QhR\         P                  R\         P                  R\         P                  R\         P                  /# )r   Úxr%   r&   r   ©r   r   )r   s   "r   r   r      s8   € ÷ 'ñ '¤§¡ð '¬r¯x©xð '¼b¿h¹hð 'Ì2Ï8É8ñ 'r   c                 óÈ   € V P                   R,          ^,          pV RRV13,          V RVR13,          rT\        P                  ! V) V.RR7      pW,          Wb,          ,           # )é   .Nr   r   )Úshaper   r$   )r-   r%   r&   r'   Úx1Úx2Úrotateds   &&&    r   Ú_apply_rope_with_cos_sinr5      sV   € Ø�7‰7�2�;˜!Õ€DØˆs�E�T�Eˆz�]˜A˜c 4¡5˜j�MˆÜ�nŠn˜r˜c 2˜Y¨RÔ0€GØ�G˜�Õ&Ð&r   c          
      ó|   € V ^8„  d   QhR\         R\         R\         R\        P                  R\        P                  /# )r   Úkv_lenÚq_lenÚ
block_sizer   r   )r   r   ÚDtyper   )r   s   "r   r   r      s<   € ÷ ñ ÜðÜðÜ),ðÜ57·X±Xðä‡X�Xñr   c                 ó  € W,
          pW,
          pV^,
          p\         P                  ! V4      P                  V^4      p\         P                  ! V 4      P                  ^V 4      pWt,           p	WqV,
          8¬  p
V
( W‰8*  ,          pW¨V8  ,          pW¨V8¬  ,          pW¼,          V,          p\         P                  ! \	        R4      VR7      p\         P
                  ! V\         P                  ! RVR7      V4      pVR,          # )r0   z-infr   g        )NN)r   r!   Úreshaper   r   Úwhere)r7   r8   r9   r   Úq_global_startÚwindow_start_kÚ	blocked_kÚq_idxÚk_idxÚg_idxÚ	in_windowÚcausalÚwin_to_prefixÚwin_to_windowÚallowedÚnegÚmasks   &&&&             r   Úbuild_magi_block_maskrK      sÙ   € ð •^€NØÕ(€NØ Õ"€Iä�IŠI�eÓ×$Ñ$ U¨AÓ.€EÜ�IŠI�fÓ×%Ñ% a¨Ó0€EØÕ"€Eà *Õ,Ñ-€Iàˆj˜U™^Õ,€FØ¨Ñ!2Õ3€MØ¨.Ñ!8Õ9€MàÕ$ }Õ4€GÜ
�(Š(”5˜“=¨Ô
.€CÜ�8Š8�GœRŸXšX c°Ô7¸Ó=€DØ�
ÕÐr   c                   óT   a a€ ] tR t^6t 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[ /# ©r   Úargsr	   )r   Ú__classdict__s   "€r   r   ÚAttention.__annotate__7   s   ø€ ÷ 
ñ 
™Zñ 
r   c                ól  <€ \         SV `  4        VP                  pVP                  ;V n        pVP
                  f   Q hVP
                  ;V n        pVP                  V,          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                  ! W5,          VRR7      V n        \        P                  ! WQP                  VP                   R7      V n        R # )NT©ÚbiasF)Útraditionalr   g      à¿)Ú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)ÚselfrP   Údimr[   r]   r   Ú	__class__s   &&    €r   rX   ÚAttention.__init__7   så   ø€ Ü‰ÑÔà×ÑˆØ!%×!9Ñ!9Ð9ˆŒ�wØ×'Ñ'Ò3Ð3Ð3Ø'+×'?Ñ'?Ð?ˆŒ˜*à×#Ñ# wÕ.ˆØ˜t•^ˆŒ
ä—i’i ¨xÕ%7¸dÔCˆŒÜ—i’i °(Õ%:ÀÔFˆŒÜ—i’i °(Õ%:ÀÔFˆŒÜ—i’i Õ 2°C¸eÔDˆŒä—G’GØ×"7Ñ"7¸d¿o¹oô
ˆŽ	r   c          
      ó¸   <€ V ^8„  d   QhRS[ P                  RS[S[ P                  ,          RS[S[,          RS[S[ P                  ,          RS[ P                  /# ©r   r-   rJ   Úcacher   r   ©r   r   r   r   )r   rQ   s   "€r   r   rR   K   s\   ø€ ÷ "#ñ "#á�8‰8ð"#ñ ‘r—x‘xÕ ð"#ñ ™Õ ð	"#ñ
 ™rŸx™xÕ(ð"#ñ 
�‰ñ"#r   c           	     óî  € VP                   w  rVpV P                  V4      V P                  V4      V P                  V4      r©pWpP                  ,          pVP                  WVV P                  R4      P                  ^ ^^^4      pV	P                  WVV P                  R4      P                  ^ ^^^4      p	V
P                  WVV P                  R4      P                  ^ ^^^4      p
VeS   \        WKV P                  P                  4      w  rÍ\        WŒV4      p\        WœV4      p	Ve   VP                  Wš4      w  ršMrVeM   V P                  WƒP                  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	\        W‰W£V P                  VR7      pVP                  ^ ^^^4      P                  WVR4      pV P!                  V4      # )r0   )Úoffset)ro   r^   rJ   r   )r1   ra   rb   rc   r[   r<   Ú	transposer]   r+   rh   r   r5   Úupdate_and_fetchrr   r   r^   rd   )ri   r-   rJ   ro   r   ÚBÚLÚDÚqueriesÚkeysÚvaluesr   r%   r&   Úoutputs   &&&&&          r   Ú__call__ÚAttention.__call__K   sª  € ð —'‘'‰ˆˆ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ˆàÒ#Ü$ \¸T¿Y¹Y¿^¹^ÓL‰HˆCÜ.¨w¸SÓAˆGÜ+¨D°sÓ;ˆDØÒ Ø$×5Ñ5°dÓC‘�øØÒØ—i‘i ·±�iÓ=ˆGØ—9‘9˜T¯,©,�9Ó7ˆDØ ×1Ñ1°$Ó?‰LˆD�&à—i‘i Ó(ˆGØ—9‘9˜T“?ˆDä-Ø˜6°d·j±jÀtô
ˆð ×!Ñ! ! Q¨¨1Ó-×5Ñ5°a¸BÓ?ˆØ�{‰{˜6Ó"Ð"r   )rb   r[   r]   rd   ra   rh   r^   rc   ©NNN©	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__rX   r|   Ú__static_attributes__Ú__classdictcell__Ú__classcell__©rk   rQ   s   @@r   rM   rM   6   s   ù‡ € ÷
ó 
÷("#÷ "#ò "#r   rM   c                   óD   a a€ ] tR t^pt 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# ©FrT   N)rW   rX   r_   r`   Ú	gate_projÚ	down_projÚup_proj)ri   rj   Ú
hidden_dimrk   s   &&&€r   rX   ÚMLP.__init__q   sD   ø€ Ü‰ÑÔÜŸš 3¸Ô?ˆŒÜŸš :¸Ô?ˆŒÜ—y’y °uÔ=ˆŽr   c                ó4   <€ V ^8„  d   QhRS[ P                  /# )r   r   r.   )r   rQ   s   "€r   r   ÚMLP.__annotate__w   s   ø€ ÷ Jñ J™RŸX™Xñ Jr   c                ót   € V P                  \        V P                  V4      V P                  V4      4      4      # ©N)r�   r   rŒ   rŽ   )ri   r-   s   &&r   r|   ÚMLP.__call__w   s)   € Ø�~‰~œf T§^¡^°AÓ%6¸¿¹ÀQ»ÓHÓIÐIr   )r�   rŒ   rŽ   r   r‡   s   @@r   r‰   r‰   p   s   ù‡ € õ>÷J÷ Jð J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# )ÚQwen2DecoderLayerc                ó    <€ V ^8„  d   QhRS[ /# rO   r	   )r   rQ   s   "€r   r   ÚQwen2DecoderLayer.__annotate__|   s   ø€ ÷ 
ñ 
™Zñ 
r   c                óR  <€ \         SV `  4        \        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        R# )©ÚepsN)rW   rX   rM   Ú	self_attnr‰   rY   Úintermediate_sizeÚmlpr_   ÚRMSNormÚrms_norm_epsÚinput_layernormÚpost_attention_layernorm)ri   rP   rk   s   &&€r   rX   ÚQwen2DecoderLayer.__init__|   st   ø€ Ü‰ÑÔÜ" 4›ˆŒÜ�t×'Ñ'¨×)?Ñ)?Ó@ˆŒÜ!Ÿzšz¨$×*:Ñ*:À×@QÑ@QÔRˆÔÜ(*¯
ª
Ø×Ñ $×"3Ñ"3ô)
ˆÖ%r   c          
      ó¸   <€ V ^8„  d   QhRS[ P                  RS[S[ P                  ,          RS[S[,          RS[S[ P                  ,          RS[ P                  /# rn   rp   )r   rQ   s   "€r   r   r™   …   s\   ø€ ÷ 
ñ 
á�8‰8ð
ñ ‘r—x‘xÕ ð
ñ ™Õ ð	
ñ
 ™rŸx™xÕ(ð
ñ 
�‰ñ
r   c                ó¦   € V P                  V P                  V4      W#V4      pW,           pV P                  V P                  V4      4      pWe,           # r”   )r�   r¢   rŸ   r£   )ri   r-   rJ   ro   r   ÚrÚhs   &&&&&  r   r|   ÚQwen2DecoderLayer.__call__…   sH   € ð �N‰N˜4×/Ñ/°Ó2°DÀÓNˆØ�EˆØ�H‰H�T×2Ñ2°1Ó5Ó6ˆØ�uˆr   )r¢   rŸ   r£   r�   r~   r   r‡   s   @@r   r—   r—   {   s   ù‡ € ÷
ó 
÷
÷ 
ò 
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# )Ú
Qwen2Modelc                ó    <€ V ^8„  d   QhRS[ /# rO   r	   )r   rQ   s   "€r   r   ÚQwen2Model.__annotate__“   s   ø€ ÷ Hñ H™Zñ Hr   c                óž  <€ \         SV `  4        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4      NK  	  upV n
        \        P                  ! VP
                  VP                  R7      V n        R# u upi )r   r›   N)rW   rX   Ú
vocab_sizer_   Ú	EmbeddingrY   Úembed_tokensÚrangeÚnum_hidden_layersr—   Úlayersr    r¡   Únorm)ri   rP   Ú_rk   s   && €r   rX   ÚQwen2Model.__init__“   s•   ø€ Ü‰ÑÔØŸ/™/ˆŒØ�‰ Ô"Ð"Ð"ÜŸLšL¨¯©¸$×:JÑ:JÓKˆÔÜ8=¸d×>TÑ>TÔ8UÓVÑ8U°1Ô(¨Ö.Ñ8UÑVˆŒÜ—J’J˜t×/Ñ/°T×5FÑ5FÔGˆŽ	ùò Ws   Á;C
c          	      ó²   <€ V ^8„  d   QhRS[ P                  RS[S[ P                  ,          RS[S[ P                  ,          RS[S[ P                  ,          /# ©r   ÚinputsÚinputs_embedsrJ   r   ©r   r   r   )r   rQ   s   "€r   r   r­   ›   sR   ø€ ÷ ñ á—‘ðñ  ¡§¡Õ)ðñ ‘r—x‘xÕ ð	ñ ™rŸx™xÕ(ñr   c                ó  € Ve   TMV P                  V4      pVf   R .\        V P                  4      ,          pVf   \        Wd^ ,          4      p\	        V P                  V4       F  w  rxV! WcW…4      pK  	  V P                  V4      # r”   )r±   Úlenr´   r   Úziprµ   )	ri   rº   r»   rJ   ro   r   r¨   ÚlayerÚcs	   &&&&&&   r   r|   ÚQwen2Model.__call__›   s{   € ð +Ò6‰M¸D×<MÑ<MÈfÓ<UˆàŠ=Ø�FœS §¡Ó-Õ-ˆEàŠ<Ü(¨°!­HÓ5ˆDä˜DŸK™K¨Ö/‰HˆEÙ�a˜qÓ/ŠAñ 0ð �y‰y˜‹|Ðr   )r±   r´   rµ   r¯   ©NNNNr   r‡   s   @@r   r«   r«   ’   s    ù‡ € ÷Hó H÷÷ ò r   r«   c                   óŠ   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]R 4       t]R 4       t	]R 4       t
R	tVtV ;t# )ÚLanguageModelc                ó    <€ V ^8„  d   QhRS[ /# )r   Úconfigr	   )r   rQ   s   "€r   r   ÚLanguageModel.__annotate__²   s   ø€ ÷ Xñ X™zñ Xr   c                óþ   <€ \         SV `  4        Wn        VP                  V n        \	        V4      V n        VP                  '       g5   \        P                  ! VP                  VP                  R R7      V n        R# R# r‹   )rW   rX   rP   Ú
model_typer«   ÚmodelÚtie_word_embeddingsr_   r`   rY   r¯   Úlm_head)ri   rÇ   rk   s   &&€r   rX   ÚLanguageModel.__init__²   s^   ø€ Ü‰ÑÔØŒ	Ø ×+Ñ+ˆŒÜ Ó'ˆŒ
Ø×)×)Ð)ÜŸ9š9 V×%7Ñ%7¸×9JÑ9JÐQVÔWˆDŽLñ *r   c          	      ó²   <€ V ^8„  d   QhRS[ P                  RS[S[ P                  ,          RS[S[ P                  ,          RS[S[ P                  ,          /# r¹   r¼   )r   rQ   s   "€r   r   rÈ   º   sR   ø€ ÷ /ñ /á—‘ð/ñ  ¡§¡Õ)ð/ñ ‘r—x‘xÕ ð	/ñ ™rŸx™xÕ(ñ/r   c                óì   € V P                  VVVVVR 7      pV P                  P                  '       d'   V P                   P                  P	                  V4      pMV P                  V4      p\        VR7      # ))r»   rJ   ro   r   )Úlogits)rË   rP   rÌ   r±   Ú	as_linearrÍ   r   )ri   rº   r»   rJ   ro   r   ÚkwargsÚouts   &&&&&&, r   r|   ÚLanguageModel.__call__º   sk   € ð �j‰jØØ'ØØØ%ð ó 
ˆð �9‰9×(×(Ð(Ø—*‘*×)Ñ)×3Ñ3°CÓ8‰Cà—,‘,˜sÓ#ˆCÜ"¨#Ô.Ð.r   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)ri   ÚweightsÚkÚvs   &&  r   ÚsanitizeÚLanguageModel.sanitizeÐ   s8   € à$Ÿ]™]œ_ô
Ù,‘T�QÐ0OÐWXÑ0XŒDˆAŠD™_ò
ð 	
ùó 
s   ”.¤.c                ó.   € V P                   P                  # r”   )rË   r´   ©ri   s   &r   r´   ÚLanguageModel.layersÕ   s   € à�z‰z× Ñ Ð r   c                ód   € V P                   P                  V P                   P                  ,          # r”   )rP   rY   rZ   rÞ   s   &r   r   ÚLanguageModel.head_dimÙ   s!   € à�y‰y×$Ñ$¨¯	©	×(EÑ(EÕEÐEr   c                ó.   € V P                   P                  # r”   )rP   r\   rÞ   s   &r   r]   ÚLanguageModel.n_kv_headsÝ   s   € à�y‰y×,Ñ,Ð,r   )rP   rÍ   rË   rÊ   rÃ   )r€   r�   r‚   rƒ   rX   r|   rÛ   Úpropertyr´   r   r]   r„   r…   r†   r‡   s   @@r   rÅ   rÅ   ±   sc   ù‡ € ÷Xó X÷/ò /ò,
ð
 ñ!ó ð!ð ñFó ðFð ñ-ó ÷-ð -r   rÅ   )Útypingr   Úmlx.coreÚcorer   Úmlx.nnr_   Úmlx_lm.models.activationsr   r   r   r   r   ro   r   rÇ   r
   r+   r5   r"   rK   ÚModulerM   r‰   r—   r«   rÅ   © r   r   Ú<module>rì      s‘   ðÝ å Ý Ý ,÷ñ õ
 Ý õBõ'ð ACÇ
Á
÷ô.7#�—	‘	ô 7#ôtJˆ"�)‰)ô Jô˜Ÿ	™	ô ô.�—‘ô ô>.-�B—I‘Iö .-r   