+
    TV-j¤  ã                   ó–   € ^ RI 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 R R ltR R	 lt]R
8X  d   ]! R4       ]! 4        R# R# )é    N)ÚPath)Útree_flattenÚtree_unflatten)Úconvert_to_gguf)Údequantize_modelÚloadÚsaveÚupload_to_hubc                ó8   € V ^8„  d   QhR\         P                  /# )é   Úreturn)ÚargparseÚ	Namespace)Úformats   "Ú\/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/mlx_lm/fuse.pyÚ__annotate__r      s   € ÷ *ñ *œ×+Ñ+ñ *ó    c                  ó†  € \         P                  ! R R7      p V P                  RRRR7       V P                  RRRR7       V P                  R	\        R
RR7       V P                  RR\        RR7       V P                  RRRR7       V P                  RRRR7       V P                  RRR\        R7       V P	                  4       # )z-Fuse fine-tuned adapters into the base model.)Údescriptionz--modelÚ	mlx_modelz;The path to the local model directory or Hugging Face repo.)ÚdefaultÚhelpz--save-pathÚfused_modelz!The path to save the fused model.z--adapter-pathÚadaptersz/Path to the trained adapter weights and config.)Útyper   r   z--upload-repoz-The Hugging Face repo to upload the model to.N)r   r   r   z--dequantizezGenerate a dequantized model.Ú
store_true)r   Úactionz--export-ggufz$Export model weights in GGUF format.z--gguf-pathzTPath to save the exported GGUF format model weights. Default is ggml-model-f16.gguf.zggml-model-f16.gguf)r   r   r   )r   ÚArgumentParserÚadd_argumentÚstrÚ
parse_args)Úparsers    r   Úparse_argumentsr#      s  € Ü×$Ò$ØCô€Fð ×ÑØØØJð ô ð
 ×ÑØØØ0ð ô ð
 ×ÑØÜØØ>ð	 ô ð ×ÑØØ<ÜØð	 ô ð ×ÑØØ,Øð ô ð
 ×ÑØØ3Øð ô ð
 ×ÑØØcØ%Üð	 ô ð ×ÑÓÐr   c                ó   € V ^8„  d   QhRR/# )r   r   N© )r   s   "r   r   r   <   s   € ÷ +8ñ +8ˆdñ +8r   c            	      ó¸  € \        R 4       \        4       p \        V P                  V P                  RR7      w  rpVP                  4        UUu. uF6  w  rE\        VR4      '       g   K  WEP                  V P                  R7      3NK8  	  pppV'       d   VP                  \        V4      4       V P                  '       d;   \        R4       \        V4      pVP                  RR4       VP                  RR4       \        V P                  4      p\        VV P                  VVVR	R
7       V P                   '       dh   VR,          pVR9  d   \#        RV R24      h\%        \'        VP)                  4       4      4      p	\+        WyV\-        WpP.                  ,          4      4       V P0                  e#   \3        V P                  V P0                  4       R# R# u uppi )zLoading pretrained modelT)Úadapter_pathÚreturn_configÚfuse)Ú
dequantizezDequantizing modelÚquantizationNÚquantization_configF)Údonate_modelÚ
model_typezModel type z# not supported for GGUF conversion.)ÚllamaÚmixtralÚmistral)Úprintr#   r   Úmodelr'   Únamed_modulesÚhasattrr)   r*   Úupdate_modulesr   r   Úpopr   Ú	save_pathr	   Úexport_ggufÚ
ValueErrorÚdictr   Ú
parametersr   r    Ú	gguf_pathÚupload_repor
   )
Úargsr3   Ú	tokenizerÚconfigÚnÚmÚfused_linearsr8   r.   Úweightss
             r   ÚmainrF   <   s“  € Ü	Ð
$Ô%ÜÓ€Dä#Ø�
‰
 ×!2Ñ!2À$ô Ñ€E�fð ×'Ñ'Ô)ôá)‰DˆAÜ�1�f×ô 	0ˆ�F‰F˜dŸo™oˆFÓ.Ó/Ù)ð ñ ÷ Ø×Ñœ^¨MÓ:Ô;à‡‡€ÜÐ"Ô#Ü  Ó'ˆØ�
‰
�> 4Ô(Ø�
‰
Ð(¨$Ô/ä�T—^‘^Ó$€IÜØØ�
‰
ØØØØõð ××ÐØ˜LÕ)ˆ
ØÐ<Ô<ÜØ˜j˜\Ð)LÐMóð ô ”| E×$4Ñ$4Ó$6Ó7Ó8ˆÜ˜	¨F´C¸	ÇNÁNÕ8RÓ4SÔTà×ÑÒ#Ü�d—n‘n d×&6Ñ&6Ö7ñ $ùóEs   ÁGÁ)!GÚ__main__zwCalling `python -m mlx_lm.fuse...` directly is deprecated. Use `mlx_lm.fuse...` or `python -m mlx_lm fuse ...` instead.)r   Úpathlibr   Ú	mlx.utilsr   r   Úggufr   Úutilsr   r   r	   r
   r#   rF   Ú__name__r2   r%   r   r   Ú<module>rM      sK   ðÛ Ý ç 2å !÷ó õ*õZ+8ð\ ˆzÔÙ	ð	Hôñ 	†Fñ r   