+
    TV-jÛ  ã                   ó`  € ^ RI Ht ^ RIHtHtHt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 R]4      4       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# )é    )Ú	dataclass)ÚAnyÚDictÚOptionalÚUnionN)Úswiglu)ÚBaseModelArgsÚcreate_attention_maskÚscaled_dot_product_attention)Úinitialize_ropec                   ó@   a € ] tR t^t o RtRtRtRtRtV 3R lt	Rt
V tR# )Ú	ModelArgsNg    €„.AFc                ó&  <€ V ^8„  d   Qh/ S[ ;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R	&   S[;R
&   S[;R&   S[S[,          ;R&   S[;R&   S[;R&   S[S[S[ S[S[ S[3,          3,          ,          ;R&   S[;R&   # )é   Ú
model_typeÚhidden_sizeÚdim_model_baseÚnum_hidden_layersÚintermediate_sizeÚnum_attention_headsÚrms_norm_epsÚ
vocab_sizeÚnum_key_value_headsÚscale_depthÚ	scale_embÚmax_position_embeddingsÚ
rope_thetaÚrope_traditionalÚrope_scalingÚtie_word_embeddings)ÚstrÚintÚfloatr   Úboolr   r   )ÚformatÚ__classdict__s   "€Úf/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/mlx_lm/models/minicpm.pyÚ__annotate__ÚModelArgs.__annotate__   sí   ø‡ ‚ á�Oñ ñ Ññ ñ Ññ	 ñ
 Ññ ñ Ññ ñ Ññ ñ Ññ ñ �Oñ ñ Ññ ñ Ññ ñ Ññ ñ &¡c�]Ñ1ñ ñ Ñ!ñ ñ Ñ"ñ ñ  ™4¡¡U©3±¨:Õ%6Ð 6Õ7Õ8Ñ?ñ! ñ" Ñ%ò# ó    © )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   r   r   r    Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__)r&   s   @r'   r   r      s*   ø‡ € ð .2ÐØ!€JØ"ÐØ;?€LØ %Ð÷# ƒ r*   r   c                   ó8   a a€ ] tR t^"t oV 3R ltR tRtVtV ;t# )ÚMLPc                óP  <€ \         SV `  4        \        P                  ! VP                  VP
                  R R7      V n        \        P                  ! VP                  VP
                  R R7      V n        \        P                  ! VP
                  VP                  R R7      V n        R# ©F©ÚbiasN)	ÚsuperÚ__init__ÚnnÚLinearr   r   Ú	gate_projÚup_projÚ	down_proj©ÚselfÚargsÚ	__class__s   &&€r'   r:   ÚMLP.__init__#   sq   ø€ Ü‰ÑÔÜŸš 4×#3Ñ#3°T×5KÑ5KÐRWÔXˆŒÜ—y’y ×!1Ñ!1°4×3IÑ3IÐPUÔVˆŒÜŸš 4×#9Ñ#9¸4×;KÑ;KÐRWÔXˆŽr*   c                ót   € V P                  \        V P                  V4      V P                  V4      4      4      # ©N)r?   r   r=   r>   )rA   Úxs   &&r'   Ú__call__ÚMLP.__call__)   s)   € Ø�~‰~œf T§^¡^°AÓ%6¸¿¹ÀQ»ÓHÓIÐIr*   )r?   r=   r>   ©	r,   r-   r.   r/   r:   rH   r1   r2   Ú__classcell__©rC   r&   s   @@r'   r4   r4   "   s   ù‡ € õY÷Jò Jr*   r4   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# )Ú	Attentionc                ó    <€ V ^8„  d   QhRS[ /# ©r   rB   ©r   )r%   r&   s   "€r'   r(   ÚAttention.__annotate__.   s   ø€ ÷ !
ñ !
™Yñ !
r*   c                óô  <€ \         SV `  4        Wn        VP                  V n        VP                  ;V n        pVP                  V n        VP                  V,          ;V n        pVR,          V n        VP                  V n	        V P
                  V P                  ,          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        \        P                  ! V P
                  V P                  ,          V P                  RR7      V n        \#        V P                  VP                  VP$                  VP&                  VP(                  4      V n        R# )ç      à?Fr7   Ng      à¿)r9   r:   rB   r   r   Ú	num_headsr   Úhead_dimÚscaler   Únum_key_value_groupsr;   r<   Úq_projÚk_projÚv_projÚo_projr   r   r   r   Úrope)rA   rB   Ún_headsrV   rC   s   &&  €r'   r:   ÚAttention.__init__.   sn  ø€ Ü‰ÑÔØŒ	à×+Ñ+ˆÔØ#'×#;Ñ#;Ð;ˆŒ˜ØŸ/™/ˆŒà#'×#3Ñ#3°wÕ#>Ð>ˆŒ˜Ø˜t•^ˆŒ
à#'×#;Ñ#;ˆÔ Ø$(§N¡N°d×6NÑ6NÕ$NˆÔ!ä—i’iØ×Ñ˜dŸn™n¨t¯}©}Õ<À5ô
ˆŒô —i’iØ×Ñ˜d×6Ñ6¸¿¹ÕFÈUô
ˆŒô —i’iØ×Ñ˜d×6Ñ6¸¿¹ÕFÈUô
ˆŒô —i’iØ�N‰N˜TŸ]™]Õ*¨D×,<Ñ,<À5ô
ˆŒô $Ø�M‰MØ�O‰OØ×!Ñ!Ø×ÑØ×(Ñ(ó
ˆŽ	r*   c                ót   <€ V ^8„  d   QhRS[ P                  RS[S[ P                  ,          RS[S[,          /# )r   rG   ÚmaskÚcache©ÚmxÚarrayr   r   )r%   r&   s   "€r'   r(   rR   Q   s:   ø€ ÷ (ñ (á�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)rb   rW   ra   éÿÿÿÿ)ÚshaperY   rZ   r[   ÚreshaperU   Ú	transposer   r]   rh   Úupdate_and_fetchr   rW   r\   )rA   rG   ra   rb   ÚBÚLÚ_ÚqueriesÚkeysÚvaluesÚattn_outputs   &&&&       r'   rH   ÚAttention.__call__Q   s\  € ð —'‘'‰ˆˆaà $§¡¨A£°·±¸A³ÀÇÁÈAÃ�vˆà—/‘/ !¨¯©¸Ó;×EÑEÀaÈÈAÈqÓQˆØ�|‰|˜A $×":Ñ":¸BÓ?×IÑIÈ!ÈQÐPQÐSTÓUˆØ—‘  d×&>Ñ&>ÀÓC×MÑMØˆq�!�Qó
ˆð ÒØ—i‘i ·±�iÓ=ˆGØ—9‘9˜T¯,©,�9Ó7ˆDØ ×1Ñ1°$Ó?‰LˆD�&à—i‘i Ó(ˆGØ—9‘9˜T“?ˆDä2Ø˜6°d·j±jÀtô
ˆð "×+Ñ+¨A¨q°!°QÓ7×?Ñ?ÀÀbÓIˆà�{‰{˜;Ó'Ð'r*   )rB   rV   r   rZ   rU   rX   r   r\   rY   r]   r   rW   r[   ©NNrJ   rL   s   @@r'   rN   rN   -   s   ù‡ € ÷!
ó !
÷F(÷ (ò (r*   rN   c                   óT   a a€ ] tR t^rt 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# )ÚDecoderLayerc                ó    <€ V ^8„  d   QhRS[ /# rP   rQ   )r%   r&   s   "€r'   r(   ÚDecoderLayer.__annotate__s   s   ø€ ÷ 8ñ 8™Yñ 8r*   c                ó¼  <€ \         SV `  4        Wn        VP                  V n        VP                  V n        \        V4      V n        \        V4      V n        \        P                  ! VP                  VP                  R 7      V n        \        P                  ! VP                  VP                  R 7      V n        VP                  V n        VP                  V n        R# )©ÚepsN)r9   r:   rB   r   r   rN   Ú	self_attnr4   Úmlpr;   ÚRMSNormr   Úinput_layernormÚpost_attention_layernormr   r@   s   &&€r'   r:   ÚDecoderLayer.__init__s   s¤   ø€ Ü‰ÑÔØŒ	Ø×+Ñ+ˆÔØ!%×!7Ñ!7ˆÔä" 4›ˆŒÜ�t“9ˆŒÜ!Ÿzšz¨$×*:Ñ*:À×@QÑ@QÔRˆÔÜ(*¯
ª
Ø×Ñ $×"3Ñ"3ô)
ˆÔ%ð  ×+Ñ+ˆÔØ!%×!7Ñ!7ˆÖr*   c                óŽ   <€ V ^8„  d   QhRS[ P                  RS[S[ P                  ,          RS[S[,          RS[ P                  /# )r   rG   ra   rb   Úreturnrc   )r%   r&   s   "€r'   r(   rz   ƒ   sH   ø€ ÷ 
ñ 
á�8‰8ð
ñ ‘r—x‘xÕ ð
ñ ™�}ð	
ñ
 
�‰ñ
r*   c                óL  € V P                  V P                  V4      W#4      pWV P                  V P                  R ,          ,          ,          ,           pV P	                  V P                  V4      4      pWTV P                  V P                  R ,          ,          ,          ,           pV# )rT   )r~   r�   r   r   r   r‚   )rA   rG   ra   rb   ÚrÚhÚouts   &&&&   r'   rH   ÚDecoderLayer.__call__ƒ   sƒ   € ð �N‰N˜4×/Ñ/°Ó2°DÓ@ˆØ�T×%Ñ%¨×(>Ñ(>ÀÕ(CÕCÕDÕDˆØ�H‰H�T×2Ñ2°1Ó5Ó6ˆØ�t×'Ñ'¨$×*@Ñ*@À#Õ*EÕEÕFÕFˆØˆ
r*   )rB   r   r�   r   r   r‚   r   r~   rv   rJ   rL   s   @@r'   rx   rx   r   s   ù‡ € ÷8ó 8÷ 
÷ 
ò 
r*   rx   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# )ÚMiniCPMModelc                ó    <€ V ^8„  d   QhRS[ /# rP   rQ   )r%   r&   s   "€r'   r(   ÚMiniCPMModel.__annotate__‘   s   ø€ ÷ Hñ H™Yñ Hr*   c                óª  <€ \         SV `  4        W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4      NK  	  upV n        \        P                  ! VP                  VP                  R7      V n        R# u upi )r   r|   N)r9   r:   rB   r   r;   Ú	Embeddingr   Úembed_tokensÚranger   rx   Úlayersr€   r   Únorm)rA   rB   rp   rC   s   && €r'   r:   ÚMiniCPMModel.__init__‘   s™   ø€ Ü‰ÑÔØŒ	ØŸ/™/ˆŒØ�‰ Ô"Ð"Ð"äŸLšL¨¯©¸$×:JÑ:JÓKˆÔÜ38¸×9OÑ9OÔ3PÓQÑ3P¨a”| DÖ)Ñ3PÑQˆŒÜ—J’J˜t×/Ñ/°T×5FÑ5FÔGˆŽ	ùò Rs   ÂCc                ó4   <€ V ^8„  d   QhRS[ P                  /# ©r   Úinputs©rd   re   )r%   r&   s   "€r'   r(   rŽ   ›   s   ø€ ÷ ñ á—‘ñr*   c                ó2  € V P                  V4      V P                  P                  ,          pVf   R .\        V P                  4      ,          p\        W2^ ,          4      p\        V P                  V4       F  w  rVV! W4V4      pK  	  V P                  V4      # rF   )r‘   rB   r   Úlenr“   r
   Úzipr”   )rA   r˜   rb   rˆ   ra   ÚlayerÚcs   &&&    r'   rH   ÚMiniCPMModel.__call__›   s~   € ð
 ×Ñ˜fÓ%¨¯	©	×(;Ñ(;Õ;ˆàŠ=Ø�FœS §¡Ó-Õ-ˆEä$ Q¨a­Ó1ˆä˜DŸK™K¨Ö/‰HˆEÙ�a˜qÓ!ŠAñ 0ð �y‰y˜‹|Ðr*   )rB   r‘   r“   r”   r   rF   rJ   rL   s   @@r'   rŒ   rŒ   �   s    ù‡ € ÷Hó H÷÷ ò r*   rŒ   c                   ój   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t	Vt
V ;t# )	ÚModelc                ó    <€ V ^8„  d   QhRS[ /# rP   rQ   )r%   r&   s   "€r'   r(   ÚModel.__annotate__®   s   ø€ ÷ Tñ T™Yñ Tr*   c                ó  <€ \         SV `  4        Wn        VP                  V n        \	        V4      V n        V P                  P                  '       g5   \        P                  ! VP                  VP                  R R7      V n        R# R# r6   )r9   r:   rB   r   rŒ   Úmodelr    r;   r<   r   r   Úlm_headr@   s   &&€r'   r:   ÚModel.__init__®   s]   ø€ Ü‰ÑÔØŒ	ØŸ/™/ˆŒÜ! $Ó'ˆŒ
à�y‰y×,×,Ð,ÜŸ9š9 T×%5Ñ%5°t·±ÈUÔSˆDŽLñ -r*   c                ó4   <€ V ^8„  d   QhRS[ P                  /# r—   r™   )r%   r&   s   "€r'   r(   r£   ·   s   ø€ ÷ ñ á—‘ñr*   c                óP  € V P                  W4      pV P                  P                  '       gI   V P                  W0P                  P                  V P                  P
                  ,          ,          4      pV# W0P                   P                  P                  P                  ,          pV# rF   )	r¥   rB   r    r¦   r   r   r‘   ÚweightÚT)rA   r˜   rb   r‰   s   &&& r'   rH   ÚModel.__call__·   sx   € ð
 �j‰j˜Ó'ˆà�y‰y×,×,Ð,Ø—,‘,˜s§i¡i×&;Ñ&;¸d¿i¹i×>VÑ>VÕ&VÕWÓXˆCð ˆ
ð Ÿ
™
×/Ñ/×6Ñ6×8Ñ8Õ8ˆCàˆ
r*   c                ó,   € R V9  d   VR,          VR &   V# )zlm_head.weightzmodel.embed_tokens.weightr+   )rA   Úweightss   &&r'   ÚsanitizeÚModel.sanitizeÅ   s    € Ø 7Ô*Ø(/Ð0KÕ(LˆGÐ$Ñ%Øˆr*   c                ó.   € V P                   P                  # rF   )r¥   r“   )rA   s   &r'   r“   ÚModel.layersÊ   s   € à�z‰z× Ñ Ð r*   )rB   r¦   r¥   r   rF   )r,   r-   r.   r/   r:   rH   r¯   Úpropertyr“   r1   r2   rK   rL   s   @@r'   r¡   r¡   ­   s9   ù‡ € ÷Tó T÷ò òð
 ñ!ó ÷!ð !r*   r¡   )Údataclassesr   Útypingr   r   r   r   Úmlx.coreÚcorerd   Úmlx.nnr;   Úactivationsr   Úbaser	   r
   r   Ú
rope_utilsr   r   ÚModuler4   rN   rx   rŒ   r¡   r+   r*   r'   Ú<module>r½      s’   ðõ "ß -Ó -å Ý å ß TÑ TÝ 'ð ô&�ó &ó ð&ô&Jˆ"�)‰)ô JôB(�—	‘	ô B(ôJ�2—9‘9ô ô<�2—9‘9ô ô:!ˆB�I‰Iö !r*   