
    oi                     ,   / S Qr SSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKJ	r
  SSKJr  SSKrSSKrSSKrSSKrSSKrSSKrSSKJr  SSKr\R.                  " \5      r\R5                  5       (       d  \R6                  " \R8                  SS9  SrS	r/ S
Qr/ SQr SSSSSSSSSSS.
r!SSRE                  \RF                  RI                  5       5      -   r%S\%;   r&S\%;   r'Sr(C%\RR                  S 5       r* S1S jr+ S2S jr, S r- S3S jr. S3S jr/ S4S jr0 S\SSS4S jr1 S r2 \" S 5       S5S! j5       r3 S"\4S#\54S$ jr6 S6S% jr7 S7S& jr8 S8S' jr9           S9S( jr:    S:S) jr; S* r< S+ r= S, r> S- r? S. r@ \" S 5      S/ 5       rAS;S0 jrBg)<)convert_to_ggufquantize_ggufuse_local_ggufinstall_llama_cppcheck_llama_cpp_download_convert_hf_to_gguf    N)tqdm)	lru_cache)Pathz#%(levelname)s:%(name)s: %(message)s)levelformatzRhttps://github.com/ggerganov/llama.cpp/raw/refs/heads/master/convert_hf_to_gguf.py)zcommand not foundz	not foundzNo such file or directory)llama-quantizez	llama-clizllama-mtmd-clizllama-gguf-splitzllama-server)zuv pippippip3zpython3 -m pipz	py -m pippoetryzPlease report this ASAP!z@You need to redo the command manually with elevated permissions.z$You do not have internet connection! )
zundefined referencezUnknown argumentz[FAIL]z--break-system-packageszestablish a new connectionzfatal: unable to accessfailure resolvingzfatal Err:zFailed 
z
COLAB_z
KAGGLE_z/tmpc               #     #    [         R                  R                  5       n [        [         R                  R                  5       5      n[        R                  R                  SS5      n0 n [        R                  R                  U5      (       a  [        R                  SU S35        [         R                  R                  SU5        [         R                  R                  5        Vs/ s H  oDR                  S5      (       d  M  UPM     nnU HA  n[         R                  U   X6'   [         R                  U	 [        R                  SU 35        MC     Sv   U [         R                  SS& [        [         R                  R                  5       5      U-
  nU Vs/ s H  oR                  S5      (       d  M  UPM     n	nU	 H,  n[         R                  U	 [        R                  S	U 35        M.     UR                  5        H0  u  pU[         R                  U
'   [        R                  S
U
 35        M2     [        R                  S5        gs  snf s  snf ! U [         R                  SS& [        [         R                  R                  5       5      U-
  nU Vs/ s H  oR                  S5      (       d  M  UPM     Os  snf n	nU	 H,  n[         R                  U	 [        R                  S	U 35        M.     UR                  5        H0  u  pU[         R                  U
'   [        R                  S
U
 35        M2     [        R                  S5        f = f7f)z<Context manager to temporarily use llama.cpp's local gguf-py	llama.cppzgguf-pyzAdding z to sys.path   ggufzRemoved system module NzCleaned up module zRestored original module z$Restored original Python environment)syspathcopysetmoduleskeysosjoinexistsloggerdebuginsert
startswithitems)original_sys_pathoriginal_modulesgguf_py_pathoriginal_gguf_moduleskeygguf_modulesmodulenew_modulesmgguf_modules_to_removemodule_name
module_objs               O/home/james-whalen/.local/lib/python3.13/site-packages/unsloth_zoo/llama_cpp.pyr   r   d   s     3;;++-.77<<Y7L=77>>,''LL7<.=>HHOOA|, ,/;;+;+;+=X+=CPVAWC+=LX&03F0C%-KK'5fX>? '
 	 ( #++**,-0@@-8!Q[LL<P![!Q,FF#LL-fX67 -
 (='B'B'D#K'1CKK$LL4[MBC (E 	;<1 Y "R	 ( #++**,-0@@-8!Q[LL<P![!Q!Q,FF#LL-fX67 -
 (='B'B'D#K'1CKK$LL4[MBC (E 	;<sf   A(M+A=I (I
I
AI AMI6I<BM
I MAMJ:3J:9BMMFc           	         US:X  a<  [         R                  R                  S5      (       a  SOSnU(       a  SOS U SU  S3nOU(       a  SOS S	U  S3n[        S
U  35        [        (       dF  [
        (       d;  [        SU S35      nS[        U5      R                  5       ;   a  [        SU S35      e[        R                  " US[        R                  [        R                  S9 nUR                   H  n	U	R                  SSS9R!                  5       n	SU	;   d  SU	;   d  SU	;   d  SU	;   a  UR#                  5         [        SU  S35      eU	R%                  [&        5      (       a,  UR#                  5         US:X  a  SOSn
[        SU
 SU  S35      eS U	;   a  UR#                  5         [        S!U  S"35      eU(       a  [        U	SSS#9  Uc  M  UR)                  U	5        M      S S S 5        g ! , (       d  f       g = f)$Nrpm/usr/bin/yumyumdnfsudo r   z	 install z -yzapt-get install zUnsloth: Installing packages: z-Missing system packages. We need to execute `z/` - do you accept? Press ENTER. Type NO if not.nozUnsloth: Execution of `z` was cancelled!
Please install llama.cpp manually via https://docs.unsloth.ai/basics/troubleshooting-and-faqs#how-do-i-manually-save-to-ggufTshellstdoutstderrutf-8replaceerrorsPermission deniednot open lock fileare you root?fatalz:[FAIL] Unsloth: Permission denied when installing package zq
This operation requires elevated sudo/root permissions. Please manually install missing packages and retry againyum/dnfapt-get[FAIL] Unsloth: z  does not exist when installing z+? Is this NOT a Linux / Mac based computer?zUnable to locate packagez*[FAIL] Unsloth: Could not install package z since it does not exist.flushend)r    r   r"   printIS_COLAB_ENVIRONMENTIS_KAGGLE_ENVIRONMENTinputstrlowerRuntimeError
subprocessPopenPIPESTDOUTr>   decoderstrip	terminateendswithCOMMANDS_NOT_FOUNDappend)packagesudoprint_outputprint_outputssystem_typepkg_managerinstall_cmd
acceptancesplinepkg_mgr_names              r4   install_packagerj      s     e!ww~~n==e5$(b1+iyPST$(b11A'#N	*7)
45  $9$9J;-  XG  H  I
3z?((**)+ 7O O  
		+tjooXbXiXi	jnpIID;;w;;BBDD"d*.Bd.JoaeNeiptxix"%_`g_h iV $V   122,75,@yi"%5l^Ccdkcl  mX  $Y  Z  Z+t3"%OPWyXq#rssU4R@(-*>*>t*D! " 	% 
k& 	' 
k	j& 	s   &C#G,G,,
G:c                    Sn[        S5        U S:X  a.  [        R                  R                  S5      (       a  SOSnU S3nOSn[        R                  " 5       n[
        R                  " US	[
        R                  [
        R                  S
9 nUR                   H  nUR                  SSS9R                  5       nSU;   d  SU;   d  SU;   d  SU;   a  UR                  5         S	n  OUR                  [        5      (       a)  UR                  5         U S:X  a  SOSn[        SU S35      eSU;   d  SU;   a  UR                  5         [        S5      e[        R                  " 5       U-
  S:  d  M  UR                  5         [        S5      e    S S S 5         SU 3n[        R                  " 5       n[
        R                  " US	[
        R                  [
        R                  S
9 nUR                   H  nUR                  SSS9R                  5       nSU;   d  SU;   d  SU;   d  SU;   a  UR                  5         [        S5      eSU;   d  SU;   a  UR                  5         [        S5      e[        R                  " 5       U-
  S:  d  M  UR                  5         [        S5      e    S S S 5         U$ ! , (       d  f       GN,= f! , (       d  f        U$ = f)NFz,Unsloth: Updating system package directoriesr6   r7   r8   r9   z check-updatezapt-get update -yTr<   r@   rA   rB   rD   rE   rF   rG   rH   rI   rJ   z: does not exist? Is this NOT a Linux / Mac based computer?r   r   z4[FAIL] Unsloth: You do not have internet connection!   r:   z2[FAIL] Unsloth: Tried with sudo, but still failed?)rN   r    r   r"   timerU   rV   rW   rX   r>   rY   rZ   r[   r\   r]   rT   )	rc   r`   rd   
update_cmd
start_timerg   rh   ri   update_cmd_sudos	            r4   do_we_need_sudorq      s    D	
89 e!ww~~n==e5#}M2
(
J			*dZ__WaWhWh	imoIID;;w;;BBDD"d*.Bd.JoaeNeiptxix122,75,@yi"%5l^C}#~$,$"#YZZz)S0"#YZZ! " 	% 
j& 	 j\*OJ			/4*//\f\m\m	nrtIID;;w;;BBDD"d*.Bd.JoaeNeiptxix"#WXX$,$"#YZZz)S0"#YZZ  	 
o 	 KU 
j	i2 
o	n 	 Ks&   CJ1.J1"B"KK1
K 
Kc                     [          H  n U n[        R                  " U S[        R                  [        R                  S9 nUR
                   HM  nUR                  SSS9R                  5       R                  [        5      (       d  M;  S nUR                  5           O    S S S 5         Uc  M  Us  $     [        SSR                  [         5       S35      e! , (       d  f       N== f)	NTr<   r@   rA   rB   z[FAIL] Unsloth: Tried all of `, z` but failed.)PIP_OPTIONSrU   rV   rW   rX   r>   rY   rZ   r\   r]   r[   rT   r!   )r   	final_piprg   rh   s       r4   	check_piprv      s    	c4*//T^TeTefjl		;;w;;BBDMMN`aa $ILLN	 "
  g 	 "2  	
7		+8N7O}]
^^ gfs   ACC
C#	c           	      r   [         R                  " U S[         R                  [         R                  USS9 nUR	                  5       u  pU=(       d    SnU	=(       d    Sn	X-   n
UR
                  S:w  a>  SU  SUR
                   S3nU(       a	  USU S3-  nU	(       a	  US	U	 S3-  n[        U5      eU
R                  SS
9 H  nUR                  5       R                  [        5      (       a  [        SU  35      e[        R                  5        H.  u  pX;   d  M  SU  SUR                  5        S3n[        X-   5      e   Su  pU(       d)  X;   a$  SU  SUR                  5        S3n[        X-   5      eU(       a  [        USSS9  Uc  M  UR                  U5        M     S S S 5        g ! , (       d  f       g = f)NT)r=   r>   r?   cwdtextr   r   z[FAIL] Command `z` failed with exit code r   zstdout: zstderr: )keependszCommand not found: z` failed with error `z`
)zis deprecatedzCommand is deprecated!rK   )rU   rV   rW   rX   communicate
returncoderT   
splitlinesrZ   r\   r]   BAD_OUTCOMESr'   striprN   r^   )commandr`   ra   rb   rx   rc   ignore_deprecationrg   r>   r?   
all_output	error_msgrh   r,   values                  r4   try_executer     s    
		'4*//T^TeTempw{	|  AC)22_
 ==A*7)3KBMM?Z\]Iyhvhb$99yyhvhb$99yy)) ))4)8D{{}%%&899"%8	#BCC +002
;"27);PQUQ[Q[Q]P^^a bI&y'899 3 CJC%#+.wi7LTZZ\NZ]^	"9#455d$B/($$T*% 9 
}	|	|s   CF(A-F(
F((
F6c           
           [        XX#XEU5        g! [         aX  nS[        U5      ;   aC  U R                  SS5      S   n[	        SU 35        [        XX#U5        [        XX#XEU5         SnAge SnAff = f)zSTry to execute a command, and if it fails due to missing package, try to install itzCommand not found r   r   z#Trying to install missing package: N)r   rT   rR   splitrN   rj   )	r   r`   ra   rb   rx   rc   r   epackage_names	            r4   try_execute_with_auto_installr   -  sx    
G<Rde #a&("==a03L7~FGL[Y|CVhiis    
A3AA.-A..A3r   c                    [         R                  R                  U 5      (       d  [        SU  S35      eS nS nS H  n[         R                  R	                  X5      n[         R                  R                  U5      (       a  [         R
                  " U[         R                  5      (       ak   [        R                  " US/SSSS9nUR                  S:X  d<  S	UR                  R                  5       ;   d  S	UR                  R                  5       ;   a  Un  O M      Uc]  SS KnUR                  [         R                  R	                  U S5      5      n[        SU  SSR	                  S US S  5       5       35      e S HJ  n	[         R                  R	                  X	5      n[         R                  R                  U5      (       d  MH  Un  O    Uc  [        SU  35      e X4$ ! [         a  n[        S
U SU SU 35         S nANS nAff = f)Nzllama.cpp folder 'z' does not exist)r   quantizez--helpT   )capture_outputry   timeoutr   usagezFound  at z but couldn't run it: *z'Unsloth: No working quantizer found in z
Files in directory: rs   c              3   `   #    U  H$  n[         R                  R                  U5      v   M&     g 7fN)r    r   basename.0fs     r4   	<genexpr>"check_llama_cpp.<locals>.<genexpr>^  s$     ,[JZQRWW-=-=a-@-@JZ   ,.   )zconvert-hf-to-gguf.pyzconvert_hf_to_gguf.pyz,Unsloth: Failed to find converter script in )r    r   r"   rT   r!   accessX_OKrU   runr|   r>   rS   r?   	ExceptionrN   glob)
llama_cpp_folderquantizer_locationconverter_location	quantizerlocationresultr   r   files_found	converters
             r4   r   r   =  s     77>>*++/0@/AAQRSS 4	77<< 0<77>>(##		(BGG(D(D
f#x(#'	 $$)W8K8K8M-MQX\b\i\i\o\o\qQq)1& Rr 	 4 	!ii-=s CD56F5G H##'99,[+VYWYJZ,[#["\^
 	
 	 H	77<< 0<77>>(##!)	 H
 	!IJZI[\]]115 e56)D
J`ab`c)d#e#ees   +A'G!!
H	+HH	c           	      0   S nS nU(       a  SOSn[         R                  R                  U 5      (       a   [        U S9u  pV[	        SU  S35        XV4$  / n[        5       u  p[        5       n
XXyS.nU(       d  [	        S5        O4S	R                  U5      n[	        S
U 35        [	        S5        [        XU	S9  [	        S5        US:X  a  [	        S5        [         R                  R                  U 5      (       d  [	        S5        [        SU  340 UD6  [        5       n[	        S5        [        U S340 UD6  U(       a  U $ Sn/ n[        R                  " 5       =(       d    Sn[        (       d  [        (       a  US-
  n[!        US5      n U(       a  [	        S5        [        S-SU 0UD6  [        SU 34SU 0UD6  Sn[	        S5        U(       d:  S%nUS&R                  U5      -  nUS'-  nUS(R                  U5      -  n[)        U5      e [        U 5      u  pV[	        S)5        XV4$ !   [	        S5         GN= f! ["         Ga(  nUR%                  S['        U5       35        U(       a  [	        S5         [        S.SU 0UD6   [        SU S34SU 0UD6  OA! ["         a4  n['        U5      nSU;   a  SU;   a  [        SU 34U SS .UD6   S nAO	e S nAff = f[        S!U S"S	R                  U5       34SU 0UD6  [         S/SU 0UD6  Sn[        S.SU 0UD6  U(       a  [	        S#5         S nAGNe! ["         a,  nUR%                  S$['        U5       35         S nA S nAGNS nAff = fS nAff = f! ["         a   n[)        S*['        U5       S+U  S,35      eS nAff = f)0NONOFF)r   z5Unsloth: llama.cpp folder already exists - will use ``zFUnsloth: llama.cpp folder exists but binaries not found - will rebuild)r`   ra   rb   rc   z8Unsloth: All required system packages already installed!r   zUnsloth: Missing packages: z9Unsloth: Will attempt to install missing system packages.)rc   zDUnsloth: Install llama.cpp and building - please wait 1 to 3 minutesz,Unsloth: Building llama.cpp with GPU supportz%Unsloth: Cloning llama.cpp repositoryz0git clone https://github.com/ggml-org/llama.cpp z(Unsloth: Install GGUF and other packagesz3 install gguf protobuf sentencepiece mistral_commonFr   zTrying to build with make...rx   zmake all -jTzSuccessfully built with makezMake failed: zMake failed, trying cmake...z5cmake . -B build -DBUILD_SHARED_LIBS=OFF -DGGML_CUDA=z -DLLAMA_CURL=ON
LLAMA_CURL
deprecated)rx   r   z'cmake --build build --config Release -jz --clean-first --target zSuccessfully built with cmakezCMake failed: z+=== Unsloth: FAILED building llama.cpp ===
r   z
=== Full output log: ===
r   z*Unsloth: Successfully installed llama.cpp!z3Build appeared to succeed but can't find binaries: z
Check the z! directory for compiled binaries.)z
make clean)zrm -rf build)zcp build/bin/llama-* .)r    r   r"   r   rN   check_build_requirementsrq   r!   rj   r   rv   r   psutil	cpu_countrO   rP   maxr   r^   rR   rT   )r   llama_cpp_targetsra   gpu_supportjust_clone_repor   r   rb   missing_packagesrc   r`   kwargspackages_to_installr   build_successbuild_errorsr   r   inner_er   s                       r4   r   r   r  s    II%$5K	ww~~&''	a#2FV#W IIJZI[[\]^''M$<$>!DmxFHI!hh'78+,?+@ABIK+M	
PQd<= 77>>*++56%>?O>PQ	
	

 +C	
453%JKVvV//ML   "'aI44M		1%	4;=>D)9DVDk)-P5EPP,-b B	TYY|,,	33	RWW]++	9%%
./?@	:<##[ 	a^`d  .;mCF845!=?*	;J/?J6J;;F-GWY + 	  g,7*|w/F??JmM /-1	
 !  K788-./1 '	
  (& 
 !MJ/?J6JU#BC 	;.Q 9::	;[.;x  
A#a& J)**KM
 	

s   H" =H5 M+ "H25M( /M#0L*>JL*
K)K
L*	K

KAL**
M 4MM#M  M##M(+
N5NNc                    [         R                  R                  X5      nUb  UR                  c  [	        SU SU  35      e[         R                  R                  U5      nU[        R                  U'    UR                  R                  U5        U$ ! [         a(  n[        R                  U	 [	        SU SU  35      UeS nAff = f)NzCould not load spec for module r   zFailed to execute module z from )
	importlibutilspec_from_file_locationloaderImportErrormodule_from_specr   r   exec_moduler   )filepathr2   specr.   r   s        r4   _load_module_from_pathr     s    >>11+HD|t{{* ?}DQYPZ[\\^^,,T2F%CKK\'
 M	  \KK$5k]&
STZ[[\s   4B 
C#B>>Cr   c           	      D   [         R                  " SSS9  [        5       nS n [        R                  " [
        5      nUR                  5         UR                  n[        R                  S5        [        R                  " SSSSSS	9 nUR                  nUR                  U5        UR                  5         S S S 5        [        R                  S
U 35        S[         R                   R#                  U5      R%                  S5      S    3n[         R&                  R	                  S5      nS[         R&                  S'    [)        X&5      nUc!  [         R&                  R+                  SS 5        OU[         R&                  S'    [-        USS 5      n	[-        USS 5      n
U	b  U
c  [        R/                  S5        GO[1        U	S5      (       a  [3        U	R4                  [6        5      (       d  [        R/                  S5        GO[1        U
S5      (       a  U
R8                  U	R4                  ;   a  [3        U	R4                  U
R8                     [6        5      (       aB  [        U	R4                  U
R8                     R;                  5       5      nUR=                  U5        O+[        R/                  S5        O[        R                  S5        [1        U
S5      (       a  U
R>                  U	R4                  ;   a  [3        U	R4                  U
R>                     [6        5      (       aB  [        U	R4                  U
R>                     R;                  5       5      nUR=                  U5        O+[        R/                  S5        O[        R                  S5        [A        W5      n[A        W5      n[A        U5      nU(       d  [        R/                  S5        U[B        RD                  ;   a  [B        RD                  U	 U(       aS  [         R                   RK                  U5      (       a/   [         RL                  " U5        [        R                  S!U 35         Un[        R                  S#5         [S        [        [T        RV                  " S$U5      5      5      nU Vs/ s H,  nURY                  S%5      (       a  M  UR[                  S&5      PM.     nnU(       af  S'R]                  S( U 5       5      R_                  S&5      n[T        R`                  " S)S*U-   S+-   US,S-9nXO:X  a  U(       a  [        R/                  S.5        O[        R                  S/5          Sn[T        R`                  " S1S2US,[T        Rb                  S39nUU:w  a  UnSnU(       dG  [T        Rd                  " S4U5      (       a  [        R/                  S55        O[        R/                  S65        S8U  S3n[        R                  S9U 35        [g        US5       nUR                  U5        S S S 5        [        R                  S:5        [T        RV                  " S;U5      nU(       d  [Q        S<U S=35      e[T        RV                  " S>U5      n0 nU Ht  u  nnUR[                  S&5      Ri                  S?5      Rk                  S?S@5      nUR[                  S&5      n USA:X  a  SnOUSB:X  a  SnOUSC:X  a  S nO[m        U5      n UUU'   Mv     U Vs/ s Hi  nUR[                  S&5      Ri                  S?5      Rk                  S?S@5      U;  d  M9  UR[                  S&5      Ri                  S?5      Rk                  S?S@5      PMk     n n/ SGQn!U  H  nUU!;  d  M  S UU'   M     U! H1  nUU;  d  M  UU ;  d  M  [        R/                  SHU SI35        S UU'   M3     [        R                  SJ5        UX4$ ! , (       d  f       GN= f! Uc!  [         R&                  R+                  SS 5        f U[         R&                  S'   f = f! [F         a  n[        RI                  SU 3SS9  U(       am  [         R                   RK                  U5      (       aI  [         RL                  " U5        O2! [N         a%  n[        R/                  SU SU 35         S nAOS nAff = f[Q        S U 35      UeS nAff = f! [N         a&  n[        R/                  S"U SU 35         S nAGNS nAff = f! U(       a  [         R                   RK                  U5      (       ab   [         RL                  " U5        [        R                  S!U 35        f ! [N         a%  n[        R/                  S"U SU 35         S nAf S nAff = ff f = fs  snf ! [F         a  n[        RI                  S0U 3SS9  e S nAff = f! [F         a  n[        RI                  S7U 3SS9  e S nAff = f! , (       d  f       GN= f! [F         a"    [        R/                  SDU SEU SF35        S n GN?f = fs  snf ! [        Rn                  Rp                   a  n[Q        SK[
         SLU 35      UeS nAf[r         a  n[Q        SMU 35      UeS nAf[F         a+  n[        RI                  SNU 3SS9  [Q        SOU 35      UeS nAff = f)PNr   T)exist_okz>Unsloth: Identifying llama.cpp gguf supported architectures...wbz.pyoriginal_gguf_F)modesuffixprefixdirdeletez$Loading module from temporary file: convert_hf_to_gguf_.r   NO_LOCAL_GGUF1	ModelBase	ModelTypezUnsloth: Failed to find 'ModelBase' or 'ModelType' in the original downloaded script. Structure might have changed. Cannot determine supported architectures._model_classeszUnsloth: 'ModelBase._model_classes' not found or not a dictionary in original script. Cannot determine supported architectures.TEXTzFUnsloth: ModelBase._model_classes[ModelType.TEXT] is not a dictionary.zMUnsloth: No TEXT model architectures found registered in the original script.MMPROJzHUnsloth: ModelBase._model_classes[ModelType.MMPROJ] is not a dictionary.zOUnsloth: No VISION model architectures found registered in the original script.zbUnsloth: No supported architectures (TEXT or VISION) could be determined from the original script.zDUnsloth: Error during download or introspection of original script: )exc_infozCould not remove temp file : z9Failed during download/introspection of original script: zCleaned up temporary file: z Could not remove temporary file zUnsloth: Applying patches...s&   [\n\s]gguf\.([\.A-Z\_0-9]{3,})[\n\s\,]   _r@   r   c              3   4   #    U  H  nS U SU S3v   M     g7f)z
try: gguf.z
except AttributeError: gguf.z = NoneN )r   xs     r4   r   /_download_convert_hf_to_gguf.<locals>.<genexpr>  s&     %nhmcd
1#5STUSVV]&^hm   s   (import gguf\s*\n)s   \1s   

r   )countz4Unsloth: gguf attribute patch did not seem to apply.z4Unsloth: No specific gguf attributes found to patch.z.Unsloth: Error applying gguf attribute patch: sD   (self\.metadata \= gguf\.Metadata\.load\(.+?\))([\n\r]+([\s\t]{4,}))s  \1\n\3if hasattr(self.metadata, 'quantized_by'): self.metadata.quantized_by = 'Unsloth'\n\3if hasattr(self.metadata, 'repo_url'): self.metadata.repo_url = 'https://huggingface.co/unsloth'\n\3if hasattr(self.metadata, 'tags'): self.metadata.tags = ['unsloth', 'llama.cpp']\n\2)r   flagss(   self\.metadata \= gguf\.Metadata\.load\(zIUnsloth: Metadata branding patch target found, but regex failed to apply.z\Unsloth: Metadata branding patch target 'self.metadata = gguf.Metadata.load(...)' not found.z1Unsloth: Error applying metadata branding patch: z
llama.cpp/z"Unsloth: Saving patched script to z1Unsloth: Parsing arguments from patched script...s4   parser\.add_argument\([\s]*[\"\']([^\"\']{1,})[\'\"]zUnsloth: Failed parsing z - no arguments found.s^   parser\.add_argument\([\s]*[\"\']([^\"\']{1,})[\'\"][^\)]*(?:action=|default=)[\s]*([^,\s\)]+)-_
store_truestore_falseNonezCould not eval default 'z' for 'z'. Setting None.)modeloutfileouttypezEssential flag 'z' potentially missing.z6Unsloth: Successfully processed convert_hf_to_gguf.py.z$Unsloth: Network error downloading `z`: z-Unsloth: Import error during module loading: z/Unsloth: Unexpected error after introspection: z;Unsloth: Failed during patching/parsing of script content: ):r    makedirsr   requestsgetLLAMA_CPP_CONVERT_FILEraise_for_statuscontentr#   infotempfileNamedTemporaryFilenamewriterL   r$   r   r   r   environr   popgetattrwarninghasattr
isinstancer   dictr   r   updater   	frozensetr   r   r   errorr"   removeOSErrorrT   listrefindallr&   rY   r!   encodesub	MULTILINEsearchopenlstriprA   eval
exceptionsRequestExceptionr   )"r   supported_typestemp_original_file_pathresponseoriginal_content	temp_fileoriginal_module_nameold_envr.   r   r   
text_archsvision_archsr   remove_errorpatched_contentarchsr   	all_editsmetadata_patch_appliednew_patched_contentpatched_filenamefiler   defaults	all_flags
flag_bytesdefault_bytesflagdefault_strdefault_valfb
rest_flagsessential_flagss"                                     r4   r   r     s	    KKd+eO"]m<< 67!!##++ 	TU((e,<+V[
&/nn#OO,-OO
 	;<S;TUV!4RWW5E5EF]5^5d5deh5ijk5l4mn **..1&)

?#	6+,CZF 

5.5

?+ FK6	FK6		 1NNZ $455Z	H`H`bf=g=g^^> y&))inn	@X@X.Xi66y~~FMM!$Y%=%=inn%M%R%R%T!UJ#**:6NN#klkl y(++	0@0@ID\D\0\i66y7G7GH$OO#&y'?'?	@P@P'Q'V'V'X#YL#**<8NN#mnno z*
 .#O4^^t
  3;;.12 #rww~~6M'N'Nm		12:;R:STUKe* 	23	xRZZ(RTcdefE05P1Q\\$=O&QXXg&EP II%nhm%nnuuv}~	"$&&)?)ASV]A]_nvw"x#65&..  RH  CI++TU	{%*""$&&X
  q# #o5I\w{^t)IIJO\\^d^l^l  ny  _z~~  'E  F
 (vS189I8JKL"D)TJJ' * 	GH

SUdeL+CDTCUUk)lmm::  A  CR  S	)1%J$$W-44S9AA#sKD'..w7KH,.e M1; F*$K$($5k)IdO *2 RW  ]QV2Z\ZcZcdkZlZsZstwZx  [A  [A  BE  GJ  [K  S\  [\Fbii(//4<<S#FQV
  ]9D?*dIdO #DI%$j*@&..Scdhcii  RA  CB  VZ  DM  NR  DS $LM99y
 
$ 

5.5

?+h  d	\]^\_`ko	p#7N(O(O))34  EV^^>YZqYrrt  vB  uC  =D  .E  .E  EWXYWZ[\bc	cd  m!ABYAZZ\]i\jkllm	 #rww~~6M'N'Nm		12:;R:STU m!ABYAZZ\]i\jkllm	 (O"" Q wv||.\]^\_,`ko|prww( zv||._`a_b,cnr|suzz *)"   Hfnn/G}T[\`[aaq-rs  DH  vA  H ] // iABXAYY\]^\_`aghh XKA3OPVW	W eFqcJUYZXYZX[\]cddes  A#` .^84B` ;_
 J ` .b2 h -e= e8$e89A.e= 'h (e= =h ?A*f' )h *f' ?*h )g;B,h (g#0h 1g#9h :g#h g#h 8h4hh h 5h =:h 8
_` 
9`` 
b/Ab*a)(b*)
b3bb*bb**b//c% 2
c"<cc"%,e5.e e5
e0e+&e5+e00e58e= =
f$ff$$h '
g1g		gh 
g h #(hh hh j5iji''j4&jj	split_strreturnc                    U R                  S5      (       a  [        U S S 5      S-  nOU R                  S5      (       a  [        U S S 5      S-  S-  nO^U R                  S5      (       a  [        U S S 5      S-  S-  S-  nO0U R                  5       (       a  [        U 5      nO[        SU  S35      eUS:  a  [        SU  S	35      eU$ )
NKi  MGzInvalid split size: z5, must be a number, optionally followed by K, M, or Gr   z, must be positive)r\   float	isnumeric
ValueError)r+  ns     r4   _split_str_to_n_bytesr6    s     #)CR.!D(			C	 	 )CR.!D(4/			C	 	 )CR.!D(4/$6					)/	{:opqq1u/	{:LMNNH    c                 ^   SS K nUR                   R                  5       R                  S5      n[        R                  " U [        R
                  [        R                  SSS9n[        R                  R                  5         S nSnSn0 n	[        UR                  R                  S5       GH3  n
U
R                  S5      (       a  Uc  [        SSSS	S
9n[        R                  " SU
5      n[!        U5      S:X  a|  [!        US   5      S:X  aj  US   u  pUR#                  [%        U5      UR&                  -
  5        [        R                  " SU5      n[!        U5      S:w  a  UR)                  US   5        M  OU
R                  S5      (       aq  SU
;   ak  [        R                  " SU
5      n[!        U5      S:X  aD  US   n[        R                  " SU
5      n[!        U5      S:X  a   [+        US   5      nUUS   4X'    OMU
R                  USS45      (       a  GMo  U
R                  S5      (       a  GM  U
R                  S5      (       a  SnUS:w  a  US-  nUS:  a1  U
R                  S5      (       a  SnOU(       d  [3        S5        SnGM    U
R                  S5      (       a  SU
[!        S5      S  -   n
U(       a  [3        U
SSS9  Uc  GM"  UR5                  U
5        GM6      Ub  UR7                  5         UR                  R7                  5         UR9                  5       nU(       a  [        R:                  " UU 5      e [!        U	5      S:w  a  U	R=                  5        H}  u  nu  nn[>        R@                  RC                  U5      nUU-  nUS::  d  US:  a  [1        SU S U S!35      e S"U S#U S$3n
U(       a  [3        U
SSS9  Uc  Ml  UR5                  U
5        M     O[1        S%5      e[E        U	RG                  5       5      $ ! [,         a   nUR/                  5         [1        U5      eS nAff = f)&Nr   z%Y-%m-%dT)r>   r?   universal_newlinesr=   Fr   zWriting:d   zUnsloth: GGUF conversion)totalpositionleavedescz([\d]{1,3})\%.+?([\d\.].+?\])r      z*([\d\.]{1,}(?:K|M|G)\/[\d\.]{1,}(?:K|M|G))zINFO:gguf.gguf_writerztotal_size = z$INFO:gguf\.gguf_writer:([^\:]{1,})\:z"total_size = ([\d\.]{1,}(?:K|M|G))zWARNING:zINFO:numexprzINFO:hf-to-gguf:blkz%INFO:gguf.vocab:Setting chat_template
   zINFO:hf-to-gguf:z$..... Chat template truncated .....
zINFO:zUnsloth GGUF:rK   g?g?zSUnsloth: Failed converting to GGUF since we do not have enough disk space!
We need z# bytes but we managed to find only z bytes!zUnsloth: Converted to z with size = r   zIUnsloth: Failed converting to GGUF since we did not create an GGUF files?)$datetimetodaystrftimerU   rV   rW   rX   ProgressBar
_instancescleariterr>   readliner&   r  r  lenr   intr5  set_postfix_strr6  r   r[   rT   rN   r^   closewaitCalledProcessErrorr'   r    r   getsizer  r   )r   output_filenamera   rb   rA  popenprogress_barchat_template_linestop_chat_templatemetadatarh   r>  
percentager   r   r   
total_sizer  return_codeactual_sizeratios                        r4   _convert_to_ggufr[    s      &&(11*=H""!E   "LHU\\**B/??:&&#*31d[uv::>ED4yA~#d1g,!"3#'7 
##C
Olnn$DEzz"OQUVt9><#?#?Q#H__455/T:Q::EtLD4yA~AwJJDdKq6Q;2%:1Q4%@
 '1!A$%8HN__h
NCDD__233__DEE!""$6!$;$6#122%&")AB%)" ??7##Od3w<=>Q,QTtT<$m&:&:4&@{ 0| 	!3!3!5	LL**,K++KAA 8}191A-O-j!''///:K*,E|u|")l*Mk]Zac  +O+<M!BODU4R@(-*>*>t*D 2B 	W
 	
   I % 2)*5112s   "P
P,P''P,c                     [        U 5      [        L d   eU R                  5       n [        S5      nX;  a  [	        SU  S[        U5       S35      e SSSSS.nXU    4$ )	N)f32f16bf16q8_0
Unsloth: `zW` quantization type is not supported.
The following quantization types are supported: `r   g      ?g       @g      ?)r`  r]  r^  r_  )typerR   rS   r   rT   r  )quantization_typeSUPPORTED_GGUF_TYPESsize_multipliers      r4   check_quantization_typerf  R  s     !"c)*))//1$%CD4*+ ,@@DEY@Z?[[\^
 	
 		O .?@@@r7  c                     [        U 5      [        L d   eU R                  S5      (       a  U S S n  [        U 5        U $ !   [	        SU  S35      e= f)NBr/  z(Unsloth: Shard size must be in GB, but `z` is not)rb  rR   r\   r6  	TypeError)max_shard_sizes    r4   check_max_shard_sizerk  h  sf    3&'&s##nSb6I^]n- ]B>BRRZ[\\s	   > Ac           
      H
   [        U	5      n	US;  a  [        U5      u  p<[        R                  R	                  U5      (       d  [        SU S35      e[        R                  R                  US5      n[        R                  R	                  U5      (       d  [        SU S35      e[        USSS	9 n[        R                  " U5      nS S S 5         Xe-  nUb$  S
U;   d   eUS
   S   nX;  a  [        SU S35      e U(       a!  Ub  US
   S   nX;  a  Sn[        SU S35        / n/ nU(       Gay  U R                  S5      (       d3  US:X  a-  U  SUR                  5        S3nU  SUR                  5        S3nOU R                  S5      (       aN  U S S nU nU(       a  UO&[        R                  R!                  5       (       a  SOSnU SUR                  5        S3nO\U  SUR                  5        S3nU(       a  UO&[        R                  R!                  5       (       a  SOSnU  SUR                  5        S3nUS:X  a  UU	S.nOUUU	S.nUR#                  UUS45        UU(       a  UO&[        R                  R!                  5       (       a  SOSSU	S.nUR#                  UUS45        OU(       a  U  S3nOXUS:X  a$  U(       a  U  S3nOEU  SUR                  5        S3nO.U R                  S5      (       a  U OU  SUR                  5        S3nUS:X  a  UU	S.nOUUU	S.nUR#                  UUS45        U GHh  u  nnnU
(       a  [        SU S 35        S!R                  S" UR%                  5        5       5      nS#U S!U S!U 3n U
(       aK  [&        R(                  " US$S$S$[&        R*                  [&        R,                  S%9n[        UR.                  5        O[&        R(                  " US$S$S$S&9   [        R                  R	                  U5      (       d  [        S(U S*U S+35      eUR#                  U5        U
(       d  GM  [        R                  R5                  U5      n U S,:  a
  U S,-  S- S.3n!OU S/:  a
  U S/-  S- S03n!O	U S1-  S- S23n![        S3U S4U S5U! S635        GMk     UU4$ ! , (       d  f       GN= f! [&        R0                   aT  nU
(       a7  [3        US'5      (       a&  UR.                  (       a  [        UR.                  5        [        S(U S)U 35      eS nAff = f)7N)r   r]  r^  r_  r`  ra  z` does not exist?zconfig.jsonz.Unsloth: `config.json` does not exist inside `z`.rr@   encodingarchitecturesr   zSUnsloth: llama.cpp GGUF conversion does not yet support converting model types of `Fz	Unsloth: zG is not supported for MMPROJ conversion. Converting as text-only model.z.ggufr   r   z-mmproj.ggufr_  r^  )	--outfile--split-max-size)rr  	--outtypers  z
text modelr   )rr  rt  z--mmprojrs  zvision projectorz.MXFP4.ggufr   z
Unsloth: Converting ...r   c              3   4   #    U  H  u  pU S U 3v   M     g7f)r   Nr   )r   kvs      r4   r   "convert_to_gguf.<locals>.<genexpr>  s     @<41qc1#J<r   zpython Tr=   checkry   r>   r?   r=   r{  r   r>   zUnsloth: Failed to convert z
 to GGUF: z - output file  not created   @z.1fr1  i   r0  i   r.  zUnsloth: Successfully saved z
 GGUF to:  (size: ))rk  rf  r    r   r"   rT   r!   r  jsonloadNotImplementedErrorrN   r\   uppertorchcudais_bf16_supportedr^   r'   rU   r   rW   rX   r>   rN  r   rO  )"
model_nameinput_foldermodel_dtyperc  r   supported_text_archssupported_vision_archsis_vlm
is_gpt_ossrj  ra   rb   r   config_filer  archall_output_files
runs_to_dotext_outputmmproj_output	base_namemmproj_dtype	text_argsmmproj_argsfinal_outputargsoutput_filedescriptionargs_strr   r   r   file_size_bytessize_strs"                                     r4   r   r   t  sa   " *.9N FF67HI77>>,''Z~5FGHH'',,|];K77>>+&&KL>Y[\]] 
k37	3{ii, 
4 -CO"+-.-?+A.&%..2V27  	(4?+A.-	$'nopJ""7++0AV0K'L+*;*;*=)>eDK)l!K,=,=,?+@MM""7++&sO	(.9{%**JfJfJhJhns#,+Q|/A/A/C.DL Q!+A.?.E.E.G-HN.9{%**JfJfJhJhns#-,a0B0B0D/E\ R &%0%3I &1%6%3I
 	9k<@A "/0;5::KgKgKiKiot!#!/	
 	;7IJK (\5L&(",[9",Q{/@/@/B.C5I)3)<)<W)E)E:j\YZ[l[r[r[tZuuzK{L&%1%3D &2%6%3D
 	4w78 +5&k;!7}CHI88@4::<@@./q
!L>J
	Y#t4d-7__ZEVEVXfmm$wd$tT ww~~k**!<[MYdXeeqrss,< ggook:O')-9#>a@ G+-9#>a@-4S9;0Z}T\]e\ffghi? +5B V##{ 
4	3P ,, 	Y8 4 4ahh!<[MTUSVWXX	Ys,   0R'AR9R9'
R69T!ATT!c           	         Uc  [         R                  " 5       nUc  SnUS-  nU SU  SU SU SU 3	nU(       a  [        SU S35         U(       aK  [        R                  " USSS[        R
                  [        R                  S9n[        UR                  5        O[        R                  " USSSS9   [        U5      n	U	R                  5       (       d  [        SU S35      eU(       a2  U	R                  5       R                  n
U
S-  n[        SU SUS S35        U$ ! [        R                   aW  nU(       a7  [        US	5      (       a&  UR                  (       a  [        UR                  5        [        S
U  SU SU 35      eS nAff = f)Nr   r?  r   zUnsloth: Quantizing to ru  Trz  r|  r>   zFailed to quantize z to r   z"Quantization failed - output file r}  r~  z#Unsloth: Successfully quantized to r  z.2fzGB))r   r   rN   rU   r   rW   rX   r>   rN  r   rT   r   r"   statst_size)
input_ggufoutput_gguf
quant_typer   	n_threadsra   r   r   r   output_pathr  file_size_gbs               r4   r   r     s~    $$&	IQ	#$Aj\;-qAi[YG'
|378T^^G4t$)3ARARTF&-- NN7$d4P {#K?}LYZZ%**,44&'23K=VYHZZ]^_ (( TGAx00QXX!((O0DBqcRSSTs    
AD D F	2AFF	c                 "   SS K nSSK Jn  [        US5      (       d  [        S5      e[        R
                  " UR                  5      nSnUR                  U5      nXe;  a  [        SU S35      eUR                  XfS-   5      nS	U 3n[        UR                  5      n	U	 V
s/ s H  oU;   d  M
  U
PM     n	n
S
SR                  U	5       S3n	0 n[        X5        [        X5        S n S n [        U S5      nU" X5        U" X.5         SSKJn   " S S5      nU" 5       nSUl        U Ul        SUl        [&        R(                  " [+        [,        R.                  S5      5         U" UU5      nS S S 5        g s  sn
f ! , (       d  f       g = f!    g = f)Nr   )
GGUFReader__init__z:Unsloth: Failed to verify GGUF: GGUFReader has no __init__z(self._build_tensors(offs, tensors_fieldsz/Unsloth: Failed to verify GGUF: Reader has no `r   z[-1:]z&class Partial_GGUFReader(GGUFReader):
zfrom gguf.gguf_reader import (,r  c                    U R                  5       n[        US5      (       d  g [        UR                  S5      (       d  g UR                  S   R                  nU Vs/ s H  n[	        [        U5      SS9PM     nn[        UR                  5       S S9 VVs/ s H  u  pgUPM	     nnnXR:w  a  [        S5      eg s  snf s  snnf )Nfieldsztokenizer.ggml.tokensr@   rn  c                     U S   $ )Nr   r   )items    r4   <lambda>D_assert_correct_gguf.<locals>.check_gguf_tokenizer.<locals>.<lambda>e  s    Qr7  )r,   z>Unsloth: Failed converting to GGUF due to corrupted tokenizer.)		get_vocabr   r  datarR   bytessortedr'   rT   )	tokenizerreadervocabfieldr   saved_vocabrw  rx  s           r4   check_gguf_tokenizer2_assert_correct_gguf.<locals>.check_gguf_tokenizer]  s    ##%vx((&v}}&=>>56;;BGH%Qs588%H%ekkm;OPQPtqPQ_``   IQs   B9B>c                 P   [        US5      (       d  g UR                  S   n[        R                  " UR                  5      n[        U R                  5       5      SS  n[        R                  " [        U5      US   R                  S9nSn[        U5       H]  u  pxUR                  S   UR                  S   :X  a8  [        R                  " U5      n	US S  U	S S & [        R                  " X5      XW'   SnM_      U(       a(  [        R                  " UR                  5       S:H  S5        g )	Ntensorsr/  i)deviceFr   Tz:Unsloth: Failed converting to GGUF due to corrupted files.)r   r  r  tensorr  r  
parametersonesrI  r  	enumerateshape
empty_likedist_assertmin)
r   r  last_tensorlast_tensor_datar  	distancesfoundrw  paramr   s
             r4   check_gguf_last_tensor4_assert_correct_gguf.<locals>.check_gguf_last_tensork  s    vy))6nnR( <<(8(89%**,-cd3
JJs:B9N9NO	!*-HA{{1~!2!21!55$$U+'*!$zz!3	 . 	MM1$L 	r7  rm  )dump_metadata_jsonc                       \ rS rSrSrg)'_assert_correct_gguf.<locals>.Argumentsi  r   N)__name__
__module____qualname____firstlineno____static_attributes__r   r7  r4   	Argumentsr    s    r7  r  TFw)gguf.gguf_readerr  r   rT   inspect	getsourcer  findrA   r   gguf_readerr!   execPartial_GGUFReadergguf.scripts.gguf_dumpr  
no_tensorsr   
json_array
contextlibredirect_stdoutr  r    devnull)r  r   r  r   r  init_sourcery   stopsource	functionsr   all_functionsr  r  r  r  r  r  rU  s                      r4   _assert_correct_ggufr  B  s    + :z**WXX##J$7$78K5DD!DLTFRSTUU%%d7N;K 7{mDFD$$%I%5IqfII50)1D0EQGIM"
a 	. 	
C0F5)+={
 ''RZZ(=>)&$7H ? 6z ?>s7    	E4-E4AF
 !
E9+F
 9
FF
 F
 
Fc                 f    [        U 5      [        [        4;  a  U /n U  H  n[        X1U5        M     g r   )rb  r  tupler  )r  r   r  r   s       r4   assert_correct_ggufr    s3     Je~- ]
T)4 r7  c                     SSSSS.n / n[        5       nU R                  5        H_  u  p4 [        R                  " SU/SSS9nUR                  S	:w  a1  US
:X  a  SSSSS.nUR                  XD5      nUR                  U5        M_  Ma     [        5       u  pxU(       d  UR                  U5        [        [        U5      5      U4$ ! [         a    UR                  U5         M  f = f)z?Check if build requirements are available (tool-based approach)build-essentialcmakecurlgit)gccr  r  r  whichTr   ry   r   r6   zgcc gcc-c++ make)r  r  r  r  )check_linux_typer'   rU   r   r|   r   r^   r   check_libcurl_devr  r   )	required_toolsr   rc   toolr_   r   rpm_packagesis_installedr   s	            r4   r   r     s     !	N "$K'--/	-^^WdODtTF  A%%'+=!( &$	$L +..w@G ''0 & 0$ "3!4L-$%&33  	-##G,	-s   ACC C c                  d   [        5       n U S:X  aD  Sn [        R                  " SSU/SSS9nUR                  S:H  =(       a    SUR                  ;   nX14$ U S
:X  a.  Sn [        R                  " S
SU/SSS9nUR                  S:H  nX14$ g! [
         a    S	U4s $ f = f! [
         a    S	U4s $ f = f)zCCheck if required libcurl dev package is installed (cross-platform)debianlibcurl4-openssl-devdpkgz-lTr  r   iiFr6   zlibcurl-devz-q)Fr  )r  rU   r   r|   r>   r   )rc   r   r   r  s       r4   r  r    s    "$Kh-	'^^VD,$?RV_cdF!,,1Kdfmm6KL-- 
	$	'^^UD,$?RV_cdF!,,1L-- )  	',&&	'  	',&&	's$   A B
 *B 
BBB/.B/c                      SSK n U R                  5       R                  5       nUS:w  a  g[        R                  R                  S5      (       a  g[        S S 5       5      (       a  g	g)
z%Determine the linux distribution typer   Nlinuxunknownz/etc/debian_versionr   c              3   `   #    U  H$  n[         R                  R                  U5      v   M&     g 7fr   )r    r   r"   r   s     r4   r   #check_linux_type.<locals>.<genexpr>  s"     W(V1RWW^^A(Vr   )z/etc/redhat-releasez/etc/fedora-releaser6   )platformsystemrS   r    r   r"   any)r	  r
  s     r4   r  r    sX    __$$&F 
ww~~+,, 
W(VW	W	Wr7  c                      Sn Sn[         R                  " U SS9n UR                  5         UR                  R	                  S5      nX;   a  [
        R                  S5        U$  g!    g= f)NzVhttps://raw.githubusercontent.com/ggml-org/llama.cpp/refs/heads/master/common/chat.cppzxRespond in JSON format, either with `tool_call` (a request to call tools) or with `response` reply to the user's requestr   )r   r@   zNllama.cpp appends an extra system message for tools. You should consider this.r   )r   r   r   r   rY   r#   r   )llama_cpp_chat_filellama_cpp_appendedr{  s      r4   (_check_llama_cpp_appended_system_messager    sz     s XLL,:E $$W-&KKhi%% '
 s   AA$ $A(c                 D   [        5       n[        U 5      S:X  d  U c  U $ Ub  [        U5      S:X  a  U $ US:X  a  U $ U S   S   S:X  a2  U(       a  U S   S   S-   U-   U S   S'   U $ SU S   S   S./U SS  -   n  U $ U(       a  U R                  SSUS.5        U $ SUS./U -   n U $ )	Nr   r   roler
  r   z

)r  r   r   )r  rI  r%   )messagestoolsinplaceextras       r4   add_llama_cpp_system_messager    s     56E
8}X-}E
a{{6h&%-a[%;f%Du%LHQK	" O #+I8NOPS[\]\^S__H O	 OOAuEF O #+>?(JHOr7  )FFNr   )r   )FFNNr   F)r   )unsloth_convert_hf_to_gguf)FN)Q8_0)50GB)
r_  r_  z'llama.cpp/unsloth_convert_hf_to_gguf.pyNNFFr  FN)zllama.cpp/llama-quantizeNT)F)C__all__rU   r   r    rm   r  r   r  	tqdm.autor	   rD  	functoolsr
   r  r  importlib.utilr   r   loggingr  pathlibr   r   	getLoggerr  r#   hasHandlersbasicConfigINFOr   r]   LLAMA_CPP_TARGETSrt   r~   r!   r   r   keynamesrO   rP   
KAGGLE_TMPcontextmanagerr   rj   rq   rv   r   r   r   r   r   r   rR   rJ  r6  r[  rf  rk  r   r   r  r  r   r  r  r  r  r   r7  r4   <module>r(     sx  "  
 	  	   )          
		8	$gll3XY Y    $>#=#=#e#I#I#I#%#%#% $))BJJOO-.."x/ #x/ 
 (= (=R $	J 8r _ #+H  12d  #)E
L   1'xe xer S S $ p!b A&   B!Z$v  4,Z Ul 	 "4F ). $  1 "r7  