+
    UV-j—  ã                   óx   € ^ RI Ht ^ RIHt ^ RIHt ^ RIHt ^RI	H
t
 ^RIHt  ! R R]P                  4      tR# )é    )ÚOptionalN)Ú
Qwen2Model)ÚLanguageModelOutput©Ú
TextConfigc                   óŠ   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[ /# )é   Úconfigr   )ÚformatÚ__classdict__s   "€Úp/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/mlx_vlm/models/fastvlm/language.pyÚ__annotate__ÚLanguageModel.__annotate__   s   ø€ ÷ Xñ X™zñ Xó    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# )F)ÚbiasN)ÚsuperÚ__init__r   Ú
model_typer   ÚmodelÚtie_word_embeddingsÚnnÚLinearÚhidden_sizeÚ
vocab_sizeÚlm_head)Úselfr   Ú	__class__s   &&€r   r   ÚLanguageModel.__init__   s^   ø€ Ü‰ÑÔØŒØ ×+Ñ+ˆŒÜ Ó'ˆŒ
Ø×)×)Ð)ÜŸ9š9 V×%7Ñ%7¸×9JÑ9JÐQVÔWˆDŽLñ *r   c                óx   <€ V ^8„  d   QhRS[ P                  RS[ P                  RS[S[ P                  ,          /# )r   ÚinputsÚmaskÚinputs_embeds)ÚmxÚarrayr   )r   r   s   "€r   r   r      s:   ø€ ÷ (ñ (á—‘ð(ñ �h‰hð(ñ
  ¡§¡Õ)ñ(r   c                óä   € V P                  WVR 7      pV P                  P                  '       d'   V P                   P                  P	                  V4      pMV P                  V4      p\        V4      # ))ÚcacheÚinput_embeddings)r   r   r   Úembed_tokensÚ	as_linearr   r   )r   r#   r$   r)   r%   ÚkwargsÚouts   &&&&&, r   Ú__call__ÚLanguageModel.__call__   sY   € ð �j‰j˜¸}ˆjÓMˆØ�;‰;×*×*Ð*Ø—*‘*×)Ñ)×3Ñ3°CÓ8‰Cà—,‘,˜sÓ#ˆCÜ" 3Ó'Ð'r   c                óÄ   € V P                   P                  '       d   VP                  R R4       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language_model.lm_head.weightNzself_attn.rotary_emb.inv_freq)r   r   ÚpopÚitems)r   ÚweightsÚkÚvs   &&  r   ÚsanitizeÚLanguageModel.sanitize$   sW   € Ø�;‰;×*×*Ð*à�K‰KÐ7¸Ô>à$Ÿ]™]œ_ô
Ù,‘T�QÐ0OÐWXÑ0XŒDˆAŠD™_ò
ð 	
ùó 
s   ÁAÁAc                ó.   € V P                   P                  # ©N)r   Úlayers©r   s   &r   r;   ÚLanguageModel.layers,   s   € à�z‰z× Ñ Ð r   c                ód   € V P                   P                  V P                   P                  ,          # r:   )Úargsr   Únum_attention_headsr<   s   &r   Úhead_dimÚLanguageModel.head_dim0   s!   € à�y‰y×$Ñ$¨¯	©	×(EÑ(EÕEÐEr   c                ó.   € V P                   P                  # r:   )r?   Únum_key_value_headsr<   s   &r   Ú
n_kv_headsÚLanguageModel.n_kv_heads4   s   € à�y‰y×,Ñ,Ð,r   )r   r   r   r   )NNN)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r/   r7   Úpropertyr;   rA   rE   Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r    r   s   @@r   r	   r	      sc   ù‡ € ÷Xó X÷(ò (ò
ð ñ!ó ð!ð ñFó ðFð ñ-ó ÷-ð -r   r	   )Útypingr   Úmlx.coreÚcorer&   Úmlx.nnr   Úmlx_lm.models.qwen2r   Úbaser   r   r   ÚModuler	   © r   r   Ú<module>rW      s'   ðÝ å Ý Ý *å &Ý ô+-�B—I‘Iö +-r   