§
    m�’jÐ�  ã                   óê  — d dl Z d dlmZ d dlZd dlmZ ddlmZm	Z	m
Z
mZ ddlmZ ddlmZ ddlmZ  e¦   «         rd dlZ ee¦  «        Zd	d
ddœdddœdœe	de
d         ide
d         idœZ eed                              ¦   «         ¦  «        Z G d„ de¦  «        Z G d„ d¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ d e¦  «        Z G d!„ d"e¦  «        Z G d#„ d$e¦  «        Z  G d%„ d&e¦  «        Z! G d'„ d(e¦  «        Z" G d)„ d*e¦  «        Z# G d+„ d,e¦  «        Z$ G d-„ d.e¦  «        Z%eeeeeeee e!e"e#e#e$e%d/œZ&d0„ Z'	 	 	 d9d2ed3e(dz  d4e)dz  d5e(fd6„Z*d:d8„Z+dS );é    N)Ú
NamedTuple)Útqdmé   )ÚGGUF_CONFIG_DEFAULTS_MAPPINGÚGGUF_CONFIG_MAPPINGÚGGUF_TOKENIZER_MAPPINGÚ_gguf_parse_value)Úis_torch_available)Úis_gguf_available)Ú
get_loggerÚversionÚtensor_countÚkv_count)r   r   r   Ú	file_typeÚquantization_version)r   r   )ÚGGUFÚgeneralÚ	tokenizerÚtokenizer_config)ÚignoreÚconfigr   r   r   c                   ó8   — e Zd ZU ej        ed<   eed<   eed<   dS )Ú
GGUFTensorÚweightsÚnameÚmetadataN)Ú__name__Ú
__module__Ú__qualname__ÚnpÚndarrayÚ__annotations__ÚstrÚdict© ó    úVC:\Projects\DSCons\.venv\Lib\site-packages\transformers\modeling_gguf_pytorch_utils.pyr   r   8   s0   € € € € € € ØŒZÐÐÑØ
€I€I�IØ€N€N�N€N€Nr&   r   c                   óT   — e Zd Zdd„Zdedefd„Zdeeef         dededefd	„Zd
„ ZdS )ÚTensorProcessorNc                 ó   — |pi | _         d S ©N©r   )Úselfr   s     r'   Ú__init__zTensorProcessor.__init__?   s   € Ø�l ˆŒˆˆr&   Úhf_nameÚreturnc                 ó   — |S )zP
        Preprocesses the tensor name to ease loading the GGUF tensors.
        r%   ©r-   r/   s     r'   Úpreprocess_namezTensorProcessor.preprocess_nameB   s	   € ð ˆr&   Úgguf_to_hf_name_mapÚsuffixÚ	qual_namec                 ó   — dS )zø
        Called when get_gguf_hf_weights_map fails to map a HF parameter
        (tensor) and corresponding GGUF one.

        This is particularly useful to resolve one-to-many
        HF-GGUF mappings sometimes appear in some MoE models.
        Nr%   )r-   r4   r5   r6   r/   s        r'   Úperform_fallback_tensor_mappingz/TensorProcessor.perform_fallback_tensor_mappingH   s	   € ð 	ˆr&   c                 ó$   — t          ||i ¦  «        S r+   ©r   ©r-   r   r   Úkwargss       r'   ÚprocesszTensorProcessor.processT   s   € Ý˜' 4¨Ñ,Ô,Ð,r&   r+   )	r   r   r   r.   r#   r3   r$   r8   r=   r%   r&   r'   r)   r)   >   s•   € € € € € ð#ð #ð #ð #ð sð ¨sð ð ð ð ð
Ø#'¨¨S¨¤>ð
Ø;>ð
ØKNð
ØY\ð
ð 
ð 
ð 
ð-ð -ð -ð -ð -r&   r)   c            	       ó\   ‡ — e Zd Zd	ˆ fd„	Zd„ Z	 d	dej        dededz  dej        fd„Zˆ xZ	S )
ÚLlamaTensorProcessorNc                 óL   •— t          ¦   «                              |¬¦  «         d S ©Nr,   ©Úsuperr.   ©r-   r   Ú	__class__s     €r'   r.   zLlamaTensorProcessor.__init__Y   ó$   ø€ Ý‰Œ×Ò ÐÑ'Ô'Ð'Ð'Ð'r&   c                 ó8  — d|v sd|v r‚| j                              d¦  «        }| j                              d¦  «        }d ||fv rt          ||i ¦  «        S d|v r|                      |||¦  «        }nd|v r|                      |||¦  «        }t          ||i ¦  «        S )Nz.attn_k.z.attn_q.Únum_attention_headsÚnum_key_value_heads)r   Úgetr   Ú_reverse_permute_weights)r-   r   r   r<   Ú	num_headsÚnum_kv_headss         r'   r=   zLlamaTensorProcessor.process\   s¹   € Ø˜ÐÐ ¨tÐ!3Ð!3ØœŸšÐ(=Ñ>Ô>ˆIØœ;Ÿ?š?Ð+@ÑAÔAˆLà˜	 <Ð0Ð0Ð0Ý! '¨4°Ñ4Ô4Ð4Ø˜TÐ!Ð!Ø×7Ò7¸ÀÈIÑVÔV��Ø˜tÐ#Ð#Ø×7Ò7¸ÀÈLÑYÔY�Ý˜' 4¨Ñ,Ô,Ð,r&   r   Ún_headrM   r0   c                 óÒ   — |�||k    r|}|j         d         |z  dz  } |j        ||dg|j         dd …         ¢R Ž }|                     dd¦  «                             |j         ¦  «        S )Nr   é   r   )ÚshapeÚreshapeÚswapaxes)r-   r   rN   rM   ÚdimÚws         r'   rK   z-LlamaTensorProcessor._reverse_permute_weightsi   s{   € ð
 Ð#¨°,Ò(>Ð(>Ø!ˆFàŒm˜AÔ &Ñ(¨AÑ-ˆØˆGŒO˜F C¨Ð?¨W¬]¸1¸2¸2Ô->Ð?Ð?Ð?ˆØ�zŠz˜!˜QÑÔ×'Ò'¨¬Ñ6Ô6Ð6r&   r+   )
r   r   r   r.   r=   r    r!   ÚintrK   Ú__classcell__©rE   s   @r'   r?   r?   X   s”   ø€ € € € € ð(ð (ð (ð (ð (ð (ð-ð -ð -ð LPð
7ð 
7Ø”zð
7Ø+.ð
7Ø>AÀD¹jð
7à	Œð
7ð 
7ð 
7ð 
7ð 
7ð 
7ð 
7ð 
7r&   r?   c                   óö   ‡ — e Zd Z ej        d¦  «        Z ej        d¦  «        Z ej        d¦  «        Zdˆ fd„	Zde	de	fd„Z
d	ee	e	f         d
e	de	de	fd„Zde	fd„Zdej        dee	ef         de	de	fd„Zˆ xZS )ÚQwen2MoeTensorProcessorzmlp.experts.\d+.z7model\.layers\.(?P<bid>\d+)\.mlp\.experts\.gate_up_projú3(?P<name>.*\.ffn_(?P<w>gate|down|up)_exps)\.weight$Nc                 óL   •— t          ¦   «                              |¬¦  «         d S rA   rB   rD   s     €r'   r.   z Qwen2MoeTensorProcessor.__init__{   rF   r&   r/   r0   c                 ó8   — t          j        | j        d|¦  «        S ©Nzmlp.experts.©ÚreÚsubÚHF_EXPERT_RENAME_PATTERNr2   s     r'   r3   z'Qwen2MoeTensorProcessor.preprocess_name~   ó   € ÝŒv�dÔ3°^ÀWÑMÔMÐMr&   r4   r5   r6   c                 ó�   — t          j        | j        |¦  «        x}r)||z   }||d|d         › d|› �<   ||d|d         › d|› �<   d S d S )Núblk.Úbidú.ffn_gate_expsú.ffn_up_exps)r`   Ú	fullmatchÚHF_MOE_W13_PATTERN©r-   r4   r5   r6   r/   ÚmÚfull_hf_names          r'   r8   z7Qwen2MoeTensorProcessor.perform_fallback_tensor_mapping�   s}   € õ ”˜TÔ4°gÑ>Ô>Ð>ˆ1ð 	VØ$ wÑ.ˆLØKWÐÐ G q¨¤xÐ GÐ G¸vÐ GÐ GÑHØIUÐÐ E q¨¤xÐ EÐ E¸VÐ EÐ EÑFÐFÐFð	Vð 	Vr&   r   c                 ó^  — t          j        | j        |¦  «        x}rg|                     d¦  «        }|                     d¦  «        }|r;|                      ||||d                  |d         ¦  «         t          |d i ¦  «        S d|v rt          j        |d¬¦  «        }t          ||i ¦  «        S )NÚtensor_key_mappingÚparsed_parametersr   rU   Úffn_gate_inp_shexpr   ©Úaxis)r`   ri   ÚGGUF_MOE_WEIGHTS_PATTERNrJ   Ú_set_moe_expert_tensorr   r    Úexpand_dims©r-   r   r   r<   rl   ro   rp   s          r'   r=   zQwen2MoeTensorProcessor.processŠ   sÀ   € Ý”˜TÔ:¸DÑAÔAÐAˆ1ð 	5Ø!'§¢Ð,@Ñ!AÔ!AÐØ &§
¢
Ð+>Ñ ?Ô ?ÐØ!ð 5Ø×+Ò+¨GÐ5FÐHZÐ[\Ð]cÔ[dÔHeÐghÐilÔgmÑnÔnÐnÝ! '¨4°Ñ4Ô4Ð4Ø 4Ð'Ð'õ ”n W°1Ð5Ñ5Ô5ˆGÝ˜' 4¨Ñ,Ô,Ð,r&   r   rp   rU   c                 óÐ  — t          j        t          j        |¦  «        ¦  «        }|dk    r||d         |<   d S t	          |j        ¦  «        }d}||         }|dz  ||<   ||d         vr$t          j        ||j        ¬¦  «        |d         |<   |d         |         }	|dk    r|	                     |d|¦  «        }	n|	                     |||¦  «        }	|	 	                    |¦  «         d S ©NÚdownÚtensorsr   rP   )ÚdtypeÚgater   ©
ÚtorchÚ
from_numpyr    ÚcopyÚlistrQ   Úzerosr|   ÚnarrowÚcopy_©
r-   r   rp   r/   rU   Útorch_weightsrQ   Ú	shard_dimÚ
shard_sizeÚouts
             r'   ru   z.Qwen2MoeTensorProcessor._set_moe_expert_tensor—   sù   € ÝÔ(­¬°Ñ)9Ô)9Ñ:Ô:ˆØ�Š;ˆ;Ø4AÐ˜iÔ(¨Ñ1Ð1Ð1õ ˜œÑ'Ô'ˆEØˆIØ˜yÔ)ˆJØ)¨A™~ˆE�)ÑØÐ/°	Ô:Ð:Ð:Ý8=¼ÀEÐQ^ÔQdÐ8eÑ8eÔ8eÐ! )Ô,¨WÑ5Ø 1°)Ô <¸WÔ EˆCØ�FŠ{ˆ{Ø—j’j ¨A¨zÑ:Ô:��à—j’j ¨J¸
ÑCÔC�Ø�IŠI�mÑ$Ô$Ð$Ð$Ð$r&   r+   )r   r   r   r`   Úcompilerb   rj   rt   r.   r#   r3   r$   r8   r=   r    r!   ru   rW   rX   s   @r'   rZ   rZ   v   s<  ø€ € € € € Ø)˜rœzÐ*=Ñ>Ô>ÐØ#˜œÐ$^Ñ_Ô_ÐØ)˜rœzÐ*`ÑaÔaÐð(ð (ð (ð (ð (ð (ðN sð N¨sð Nð Nð Nð NðVØ#'¨¨S¨¤>ðVØ;>ðVØKNðVØY\ðVð Vð Vð Vð- Sð -ð -ð -ð -ð%¨b¬jð %ÈTÐRUÐW[ÐR[Ì_ð %Ðgjð %Ðorð %ð %ð %ð %ð %ð %ð %ð %r&   rZ   c            
       ó¸   ‡ — e Zd ZdZ ej        d¦  «        Z ej        d¦  «        Zdˆ fd„	Zde	fd„Z
dej        d	ed
e	de	def
d„Zdej        d	ed
e	defd„Zˆ xZS )ÚGptOssTensorProcessoraK  
    Tensor processor for GPT-OSS models (MoE with 128 experts).
    Handles:
    - Splitting stacked expert tensors (down_proj, gate_proj, up_proj) into individual experts.
    - Interleaving gate and up projections if stored in a combined tensor (gate_up_projs).
    - Bias tensors (1D) are passed through without transpose.
    z<blk\.(?P<bid>\d+)\.ffn_(?P<proj>down|gate|up)_projs\.weight$z-blk\.(?P<bid>\d+)\.ffn_gate_up_projs\.weight$Nc                 óL   •— t          ¦   «                              |¬¦  «         d S rA   rB   rD   s     €r'   r.   zGptOssTensorProcessor.__init__¼   rF   r&   r   c                 óp  — | j                              |¦  «        x}rd|                     d¦  «        }|                     d¦  «        }|r8|r6|                      |||d         |d         |¦  «         t	          |d i ¦  «        S | j                             |¦  «        x}r]|                     d¦  «        }|                     d¦  «        }|r1|r/|                      |||d         |¦  «         t	          |d i ¦  «        S d|v r)t          |j        ¦  «        dk    rt	          ||i ¦  «        S t	          ||i ¦  «        S )Nro   rp   rf   Úprojú.biasr   )	rt   ÚmatchrJ   Ú_split_moe_expert_tensorr   ÚGGUF_MOE_COMBINED_PATTERNÚ_interleave_gate_up_tensorÚlenrQ   rw   s          r'   r=   zGptOssTensorProcessor.process¿   s^  € àÔ-×3Ò3°DÑ9Ô9Ð9ˆ1ð 	5Ø!'§¢Ð,@Ñ!AÔ!AÐØ &§
¢
Ð+>Ñ ?Ô ?ÐØ!ð 5Ð&7ð 5Ø×-Ò-¨gÐ7HÈ!ÈEÌ(ÐTUÐV\ÔT]Ð_qÑrÔrÐrÝ! '¨4°Ñ4Ô4Ð4ð Ô.×4Ò4°TÑ:Ô:Ð:ˆ1ð 	5Ø!'§¢Ð,@Ñ!AÔ!AÐØ &§
¢
Ð+>Ñ ?Ô ?ÐØ!ð 5Ð&7ð 5Ø×/Ò/°Ð9JÈAÈeÌHÐVhÑiÔiÐiÝ! '¨4°Ñ4Ô4Ð4ð �dˆ?ˆ?�s 7¤=Ñ1Ô1°QÒ6Ð6Ý˜g t¨RÑ0Ô0Ð0õ ˜' 4¨Ñ,Ô,Ð,r&   r   rp   rf   r�   ro   c                 ó`  — | j                              dd¦  «        }t          t          ||j        d         ¦  «        ¦  «        D ]i}||         }d|› d|› d|› d�}	|                     ¦   «         D ]\  }
}|
|	v r|	                     |
|¦  «        }	Œ t          j        |d¬	¦  «        |d
         |	<   ŒjdS )z:Split a stacked MoE tensor into individual expert tensors.Únum_local_expertsé€   r   úmodel.layers.ú.block_sparse_moe.experts.ú.z_proj.weightT©r�   r{   N)	r   rJ   ÚrangeÚminrQ   ÚitemsÚreplacer   Útensor)r-   r   rp   rf   r�   ro   Únum_expertsÚiÚexpert_weightr/   ÚkeyÚ
mapped_keys               r'   r“   z.GptOssTensorProcessor._split_moe_expert_tensor×   sÚ   € ð ”k—o’oÐ&9¸3Ñ?Ô?ˆõ •s˜;¨¬°aÔ(8Ñ9Ô9Ñ:Ô:ð 		[ð 		[ˆAØ# AœJˆMà[ cÐ[Ð[ÀQÐ[Ð[ÈÐ[Ð[Ð[ˆGà#5×#;Ò#;Ñ#=Ô#=ð ?ð ?‘��ZØ˜'�>�>Ø%Ÿošo¨c°:Ñ>Ô>�Gøå49´LÀÐUYÐ4ZÑ4ZÔ4ZÐ˜iÔ(¨Ñ1Ð1ð		[ð 		[r&   c                 ój  — | j                              dd¦  «        }|j        d         }|dz  }|dd…d|…dd…f         }|dd…|d…dd…f         }	t          t	          ||j        d         ¦  «        ¦  «        D ]º}
||
         j        }|	|
         j        }d|› d|
› d	�}d|› d|
› d
�}|                     ¦   «         D ]9\  }}||v r|                     ||¦  «        }||v r|                     ||¦  «        }Œ:t          j	        |d¬¦  «        |d         |<   t          j	        |d¬¦  «        |d         |<   Œ»dS )a  
        Process a combined gate+up tensor.
        Expected shape: [num_experts, intermediate_size, hidden_size].
        Interleaving: gate occupies first half of intermediate dimension,
        up occupies second half. Transpose to [hidden, half_inter] per expert.
        r˜   r™   r   rP   Nr   rš   r›   z.gate_proj.weightz.up_proj.weightTr�   r{   )
r   rJ   rQ   rž   rŸ   ÚTr    r¡   r   r¢   )r-   r   rp   rf   ro   r£   Ú
inter_sizeÚ
half_interÚ	gate_partÚup_partr¤   Úgate_weightÚ	up_weightÚ	gate_nameÚup_namer¦   r§   s                    r'   r•   z0GptOssTensorProcessor._interleave_gate_up_tensorî   s†  € ð ”k—o’oÐ&9¸3Ñ?Ô?ˆØ”] 1Ô%ˆ
Ø 1‘_ˆ
Ø˜A˜A˜A˜{ 
˜{¨A¨A¨AÐ-Ô.ˆ	Ø˜!˜!˜!˜Z˜[˜[¨!¨!¨!Ð+Ô,ˆå•s˜;¨¬°aÔ(8Ñ9Ô9Ñ:Ô:ð 	Wð 	WˆAØ# Aœ,œ.ˆKØ œ
œˆIà[¨Ð[Ð[ÀqÐ[Ð[Ð[ˆIØW cÐWÐWÀQÐWÐWÐWˆGð $6×#;Ò#;Ñ#=Ô#=ð ?ð ?‘��ZØ˜)Ð#Ð#Ø )× 1Ò 1°#°zÑ BÔ B�IØ˜'�>�>Ø%Ÿošo¨c°:Ñ>Ô>�Gøå6;´lÀ;ÐUYÐ6ZÑ6ZÔ6ZÐ˜iÔ(¨Ñ3Ý49´LÀÐQUÐ4VÑ4VÔ4VÐ˜iÔ(¨Ñ1Ð1ð	Wð 	Wr&   r+   )r   r   r   Ú__doc__r`   r‹   rt   r”   r.   r#   r=   r    r!   r$   r“   r•   rW   rX   s   @r'   r�   r�   ®   s!  ø€ € € € € ðð ð  *˜rœzÐ*iÑjÔjÐà * ¤
Ð+[Ñ \Ô \Ðð(ð (ð (ð (ð (ð (ð- Sð -ð -ð -ð -ð0[à”ð[ð  ð[ð ð	[ð
 ð[ð !ð[ð [ð [ð [ð."Wà”ð"Wð  ð"Wð ð	"Wð
 !ð"Wð "Wð "Wð "Wð "Wð "Wð "Wð "Wr&   r�   c                   ób   ‡ — e Zd Zd	ˆ fd„	Zd„ Zdej        dedefd„Zdej        dedefd„Z	ˆ xZ
S )
ÚBloomTensorProcessorNc                 óL   •— t          ¦   «                              |¬¦  «         d S rA   rB   rD   s     €r'   r.   zBloomTensorProcessor.__init__  rF   r&   c                 óÆ   — d|v rM| j         d         }| j         d         }d|v r|                      |||¦  «        }n|                      |||¦  «        }t          ||i ¦  «        S )NÚattn_qkvrN   Úhidden_sizeÚweight)r   Ú_reverse_reshape_weightsÚ_reverse_reshape_biasr   )r-   r   r   r<   rL   Ún_embeds         r'   r=   zBloomTensorProcessor.process  sr   € Ø˜ÐÐØœ HÔ-ˆIØ”k -Ô0ˆGØ˜4ÐÐØ×7Ò7¸ÀÈGÑTÔT��à×4Ò4°W¸iÈÑQÔQ�Ý˜' 4¨Ñ,Ô,Ð,r&   r   rN   r¼   c                 óD  — t          j        |dd¬¦  «        \  }}}|                     |||z  |¦  «        }|                     |||z  |¦  «        }|                     |||z  |¦  «        }t          j        |||gd¬¦  «        }|                     |dz  ||z  z  |¦  «        S )Né   r   rr   r   )r    Úarray_splitrR   Ústack)r-   r   rN   r¼   ÚqÚkÚvÚqkv_weightss           r'   rº   z-BloomTensorProcessor._reverse_reshape_weights!  s¬   € õ ”. ¨!°!Ð4Ñ4Ô4‰ˆˆ1ˆaà�IŠI�f˜g¨Ñ/°Ñ9Ô9ˆØ�IŠI�f˜g¨Ñ/°Ñ9Ô9ˆØ�IŠI�f˜g¨Ñ/°Ñ9Ô9ˆÝ”h  1 a˜y¨qÐ1Ñ1Ô1ˆà×"Ò" 6¨A¡:°¸FÑ1BÑ#CÀWÑMÔMÐMr&   c                 ó$  — t          j        |d¦  «        \  }}}|                     |||z  ¦  «        }|                     |||z  ¦  «        }|                     |||z  ¦  «        }t          j        |||gd¬¦  «                             ¦   «         }|S )Nr¾   r   rr   )r    r¿   rR   rÀ   Úflatten)r-   r   rN   r¼   Úq_biasÚk_biasÚv_biasÚqkv_biass           r'   r»   z*BloomTensorProcessor._reverse_reshape_bias-  s�   € õ "$¤°¸Ñ!;Ô!;Ñˆ�˜à—’ ¨°6Ñ(9Ñ:Ô:ˆØ—’ ¨°6Ñ(9Ñ:Ô:ˆØ—’ ¨°6Ñ(9Ñ:Ô:ˆå”8˜V V¨VÐ4¸1Ð=Ñ=Ô=×EÒEÑGÔGˆØˆr&   r+   )r   r   r   r.   r=   r    r!   rV   rº   r»   rW   rX   s   @r'   r´   r´     sª   ø€ € € € € ð(ð (ð (ð (ð (ð (ð-ð -ð -ð
N°´
ð 
NÀCð 
NÐRUð 
Nð 
Nð 
Nð 
Nð
¨R¬Zð 
Àð 
Èsð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
r&   r´   c                   ó&   ‡ — e Zd Zdˆ fd„	Zd„ Zˆ xZS )ÚT5TensorProcessorNc                 óL   •— t          ¦   «                              |¬¦  «         d S rA   rB   rD   s     €r'   r.   zT5TensorProcessor.__init__;  rF   r&   c                 ó¦   — d }|                      d¦  «        D ]'}|                     ¦   «         rt          |¦  «        } nŒ(t          ||d|i¦  «        S )Nrœ   rf   )ÚsplitÚisdigitrV   r   )r-   r   r   r<   rf   Úchunks         r'   r=   zT5TensorProcessor.process>  s]   € ØˆØ—Z’Z ‘_”_ð 	ð 	ˆEØ�}Š}‰Œð Ý˜%‘j”j�Ø�ðõ ˜' 4¨%°¨Ñ6Ô6Ð6r&   r+   ©r   r   r   r.   r=   rW   rX   s   @r'   rÌ   rÌ   :  sL   ø€ € € € € ð(ð (ð (ð (ð (ð (ð7ð 7ð 7ð 7ð 7ð 7ð 7r&   rÌ   c                   ó&   ‡ — e Zd Zdˆ fd„	Zd„ Zˆ xZS )ÚGPT2TensorProcessorNc                 óL   •— t          ¦   «                              |¬¦  «         d S rA   rB   rD   s     €r'   r.   zGPT2TensorProcessor.__init__H  rF   r&   c                 óð   — d|v sd|v sd|v sd|v r|j         }|dk    rId}|                     di ¦  «        }t          j        t	          j        |¦  «        ¦  «        |d         |<   d }t          ||i ¦  «        S )	Nzattn_qkv.weightzffn_down.weightzffn_up.weightzattn_output.weightúoutput.weightzlm_head.weightrp   r{   )r©   rJ   r   r€   r    r�   r   )r-   r   r   r<   rp   s        r'   r=   zGPT2TensorProcessor.processK  sœ   € ð  Ð%Ð%Ø  DÐ(Ð(Ø $Ð&Ð&Ø# tÐ+Ð+à”iˆGð �?Ò"Ð"ð $ˆDØ &§
¢
Ð+>ÀÑ CÔ CÐÝ16Ô1AÅ"Ä'È'ÑBRÔBRÑ1SÔ1SÐ˜iÔ(¨Ñ.ØˆDÝ˜' 4¨Ñ,Ô,Ð,r&   r+   rÒ   rX   s   @r'   rÔ   rÔ   G  sL   ø€ € € € € ð(ð (ð (ð (ð (ð (ð-ð -ð -ð -ð -ð -ð -r&   rÔ   c                   ó&   ‡ — e Zd Zdˆ fd„	Zd„ Zˆ xZS )ÚMambaTensorProcessorNc                 óL   •— t          ¦   «                              |¬¦  «         d S rA   rB   rD   s     €r'   r.   zMambaTensorProcessor.__init__b  rF   r&   c                 óŠ   — d|v rt          j        |d¬¦  «        }d|v rt          j        | ¦  «        }t          ||i ¦  «        S )Nzssm_conv1d.weightr   rr   Ússm_a)r    rv   Úlogr   r;   s       r'   r=   zMambaTensorProcessor.processe  sQ   € Ø $Ð&Ð&õ ”n W°1Ð5Ñ5Ô5ˆGØ�dˆ?ˆ?õ ”f˜g˜XÑ&Ô&ˆGÝ˜' 4¨Ñ,Ô,Ð,r&   r+   rÒ   rX   s   @r'   rÙ   rÙ   a  sL   ø€ € € € € ð(ð (ð (ð (ð (ð (ð	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-r&   rÙ   c                   ó&   ‡ — e Zd Zdˆ fd„	Zd„ Zˆ xZS )ÚNemotronTensorProcessorNc                 óL   •— t          ¦   «                              |¬¦  «         d S rA   rB   rD   s     €r'   r.   z NemotronTensorProcessor.__init__r  rF   r&   c                 ó6   — d|v r|dz
  }t          ||i ¦  «        S ©Nznorm.weightr   r:   r;   s       r'   r=   zNemotronTensorProcessor.processv  ó(   € Ø˜DÐ Ð Ø ‘kˆGÝ˜' 4¨Ñ,Ô,Ð,r&   r+   rÒ   rX   s   @r'   rß   rß   q  sL   ø€ € € € € ð(ð (ð (ð (ð (ð (ð-ð -ð -ð -ð -ð -ð -r&   rß   c                   ó&   ‡ — e Zd Zdˆ fd„	Zd„ Zˆ xZS )ÚGemma2TensorProcessorNc                 óL   •— t          ¦   «                              |¬¦  «         d S rA   rB   rD   s     €r'   r.   zGemma2TensorProcessor.__init__}  rF   r&   c                 ó6   — d|v r|dz
  }t          ||i ¦  «        S râ   r:   r;   s       r'   r=   zGemma2TensorProcessor.process‚  rã   r&   r+   rÒ   rX   s   @r'   rå   rå   |  sL   ø€ € € € € ð(ð (ð (ð (ð (ð (ð
-ð -ð -ð -ð -ð -ð -r&   rå   c                   ó&   ‡ — e Zd Zdˆ fd„	Zd„ Zˆ xZS )ÚLfm2TensorProcessorNc                 óL   •— t          ¦   «                              |¬¦  «         d S rA   rB   rD   s     €r'   r.   zLfm2TensorProcessor.__init__‰  rF   r&   c                 óX   — d|v rt          j        |d¬¦  «        }t          ||i ¦  «        S )Nzshortconv.conv.weightr   rr   )r    rv   r   r;   s       r'   r=   zLfm2TensorProcessor.processŒ  s3   € Ø" dÐ*Ð*å”n W°1Ð5Ñ5Ô5ˆGÝ˜' 4¨Ñ,Ô,Ð,r&   r+   rÒ   rX   s   @r'   ré   ré   ˆ  sL   ø€ € € € € ð(ð (ð (ð (ð (ð (ð-ð -ð -ð -ð -ð -ð -r&   ré   c                   ó  ‡ — e Zd Z ej        d¦  «        Z ej        d¦  «        Z ej        d¦  «        Z ej        d¦  «        Zdˆ fd„	Z	de
de
fd	„Zd
ee
e
f         de
de
de
fd„Zde
fd„Zdej        dee
ef         de
de
fd„Zˆ xZS )ÚMiniMaxM2TensorProcessorzmlp\.experts\.\d+\.z<(?:model\.)?layers\.(?P<bid>\d+)\.mlp\.experts\.gate_up_projr[   z>(?:model\.)?layers\.(?P<bid>\d+)\.mlp\.e_score_correction_biasNc                 óL   •— t          ¦   «                              |¬¦  «         d S rA   rB   rD   s     €r'   r.   z!MiniMaxM2TensorProcessor.__init__™  rF   r&   r/   r0   c                 ó8   — t          j        | j        d|¦  «        S r^   r_   r2   s     r'   r3   z(MiniMaxM2TensorProcessor.preprocess_nameœ  rc   r&   r4   r5   r6   c                 óð   — t          j        | j        |¦  «        x}r)||z   }||d|d         › d|› �<   ||d|d         › d|› �<   d S t          j        | j        |¦  «        x}r||z   |d|d         › d�<   d S d S )Nre   rf   rg   rh   z.exp_probs_b.bias)r`   ri   rj   ÚHF_BIAS_PATTERNrk   s          r'   r8   z8MiniMaxM2TensorProcessor.perform_fallback_tensor_mappingŸ  sÁ   € õ ”˜TÔ4°gÑ>Ô>Ð>ˆ1ð 	ZØ$ wÑ.ˆLØKWÐÐ G q¨¤xÐ GÐ G¸vÐ GÐ GÑHØIUÐÐ E q¨¤xÐ EÐ E¸VÐ EÐ EÑFÐFÐFå”,˜tÔ3°WÑ=Ô=Ð=ˆQð 	ZØFOÐRYÑFYÐÐ B q¨¤xÐ BÐ BÐ BÑCÐCÐCð	Zð 	Zr&   r   c                 ó*  — t          j        | j        |¦  «        x}rg|                     d¦  «        }|                     d¦  «        }|r*|                      ||||d                  |d         ¦  «         t          |d i ¦  «        S t          ||i ¦  «        S )Nro   rp   r   rU   )r`   ri   rt   rJ   ru   r   rw   s          r'   r=   z MiniMaxM2TensorProcessor.process«  s    € Ý”˜TÔ:¸DÑAÔAÐAˆ1ð 	1Ø!'§¢Ð,@Ñ!AÔ!AÐØ &§
¢
Ð+>Ñ ?Ô ?ÐØ!ð oØ×+Ò+¨GÐ5FÐHZÐ[\Ð]cÔ[dÔHeÐghÐilÔgmÑnÔnÐnÝ˜g t¨RÑ0Ô0Ð0Ý˜' 4¨Ñ,Ô,Ð,r&   r   rp   rU   c                 óÐ  — t          j        t          j        |¦  «        ¦  «        }|dk    r||d         |<   d S t	          |j        ¦  «        }d}||         }|dz  ||<   ||d         vr$t          j        ||j        ¬¦  «        |d         |<   |d         |         }	|dk    r|	                     |d|¦  «        }	n|	                     |||¦  «        }	|	 	                    |¦  «         d S ry   r~   r†   s
             r'   ru   z/MiniMaxM2TensorProcessor._set_moe_expert_tensor´  sù   € ÝÔ(­¬°Ñ)9Ô)9Ñ:Ô:ˆØ�Š;ˆ;Ø4AÐ˜iÔ(¨Ñ1Ð1Ð1õ ˜œÑ'Ô'ˆEØˆIØ˜yÔ)ˆJØ)¨A™~ˆE�)ÑØÐ/°	Ô:Ð:Ð:Ý8=¼ÀEÐQ^ÔQdÐ8eÑ8eÔ8eÐ! )Ô,¨WÑ5Ø 1°)Ô <¸WÔ EˆCØ�FŠ{ˆ{Ø—j’j ¨A¨zÑ:Ô:��à—j’j ¨J¸
ÑCÔC�Ø�IŠI�mÑ$Ô$Ð$Ð$Ð$r&   r+   )r   r   r   r`   r‹   rb   rj   rt   rñ   r.   r#   r3   r$   r8   r=   r    r!   ru   rW   rX   s   @r'   rí   rí   “  sN  ø€ € € € € Ø)˜rœzÐ*@ÑAÔAÐØ#˜œÐ$cÑdÔdÐØ)˜rœzÐ*`ÑaÔaÐØ �b”jÐ!bÑcÔc€Oð(ð (ð (ð (ð (ð (ðN sð N¨sð Nð Nð Nð Nð
ZØ#'¨¨S¨¤>ð
ZØ;>ð
ZØKNð
ZØY\ð
Zð 
Zð 
Zð 
Zð- Sð -ð -ð -ð -ð%¨b¬jð %ÈTÐRUÐW[ÐR[Ì_ð %Ðgjð %Ðorð %ð %ð %ð %ð %ð %ð %ð %r&   rí   )ÚllamaÚqwen2moeÚgpt_ossÚqwen3moeÚbloomÚt5Ú	t5encoderÚgpt2ÚmambaÚnemotronÚgemma2Úgemma3Úlfm2ú
minimax-m2c                 óZ   ‡— || j         vrg S | j         |         Šˆfd„‰j        D ¦   «         S )Nc                 óP   •— g | ]"}t          ‰j        |         ‰j        ¦  «        ‘Œ#S r%   ©r	   ÚpartsÚtypes)Ú.0Ú_data_indexÚvalues     €r'   ú
<listcomp>zread_field.<locals>.<listcomp>Þ  s-   ø€ ÐcÐcÐcÈÕ˜eœk¨+Ô6¸¼ÑDÔDÐcÐcÐcr&   )ÚfieldsÚdata)ÚreaderÚfieldr	  s     @r'   Ú
read_fieldr  Ú  s?   ø€ Ø�F”MÐ!Ð!Øˆ	ØŒM˜%Ô €EØcÐcÐcÐcÐX]ÔXbÐcÑcÔcÐcr&   Ú Ú	processorÚ
model_typeÚ
num_layersr6   c           
      óF  ‡— t          ¦   «         rt          ¦   «         r	ddlm}m} n)t
                               d¦  «         t          d¦  «        ‚|€| j        j	        n|}|€| j        j
        n|}|dk    rd}n>|dk    rd	}n5|d
k    rd}n,|dk    rd}n#|dk    rd}n|dk    rd}n|dk    rd}n|dk    rd}d}|                     ¦   «         D ]\  }}	|	|k    r|} nŒ|€t          d|› d�¦  «        ‚ |||¦  «        }
i Š|                      ¦   «         }|D ]ž}|                     |¦  «        }|d}}|                     d¦  «        s|                     d¦  «        r|                     dd¦  «        \  }}d|z   }|
                     |¦  «        }|€|                     ‰|||¦  «         Œ“||z   ‰||z   <   ŒŸ|                      ¦   «         x}rV|D ]S\  }}t)          |||||› |› d�¬¦  «        }ˆfd„|                     ¦   «         D ¦   «         }‰                     |¦  «         ŒT‰S )aY  
    GGUF uses this naming convention for their tensors from HF checkpoint:
    `blk.N.BB.weight` and `blk.N.BB.bias`
    where N signifies the block number of a layer, and BB signifies the
    attention/mlp layer components.
    See "Standardized tensor names" in
    https://github.com/ggerganov/ggml/blob/master/docs/gguf.md for details.
    r   )ÚMODEL_ARCH_NAMESÚget_tensor_name_mapúÛLoading a GGUF checkpoint in PyTorch, requires both PyTorch and GGUF>=0.10.0 to be installed. Please see https://pytorch.org/ and https://github.com/ggerganov/llama.cpp/tree/master/gguf-py for installation instructions.úKPlease install torch and gguf>=0.10.0 to load a GGUF checkpoint in PyTorch.NÚcoherez	command-rÚ	qwen2_moerõ   Ú	qwen3_moer÷   Úgemma3_textrÿ   Úgemma4_textÚgemma4Úumt5rù   Ú
minimax_m2r  rö   úgpt-osszUnknown gguf model_type: zÏ in gguf-py. This might because you're using an outdated version of gguf-py package, you can install `gguf` package from source refer to https://github.com/ggerganov/llama.cpp/tree/master/gguf-py#developmentr  z.weightr‘   rœ   r   )r6   c                 ó$   •— i | ]\  }}|‰v¯	||“ŒS r%   r%   )r  rÂ   rÃ   r4   s      €r'   ú
<dictcomp>z+get_gguf_hf_weights_map.<locals>.<dictcomp>6  s*   ø€ ÐXÐXÐX¡  1¸1ÐDWÐ;WÐ;W�q˜!Ð;WÐ;WÐ;Wr&   )r   r
   Úggufr  r  ÚloggerÚerrorÚImportErrorr   r  Únum_hidden_layersr    ÚNotImplementedErrorÚ
state_dictr3   ÚendswithÚrsplitÚget_namer8   Únamed_childrenÚget_gguf_hf_weights_mapÚupdate)Úhf_modelr  r  r  r6   r  r  Úarchr¦   r	  Úname_mapr*  r/   r   r5   Ú	gguf_namer.  ÚchildÚsub_mapr4   s                      @r'   r/  r/  â  s%  ø€ õ ÑÔð iÕ1Ñ3Ô3ð iØ>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>å�ŠðAñ	
ô 	
ð 	
õ ÐgÑhÔhÐhà/9Ð/A�”Ô+Ð+Àz€JØ6@Ð6H�”Ô2Ð2Èj€Jà�XÒÐØ ˆ
ˆ
Ø	�{Ò	"Ð	"Øˆ
ˆ
Ø	�{Ò	"Ð	"Øˆ
ˆ
Ø	�}Ò	$Ð	$Øˆ
ˆ
Ø	�}Ò	$Ð	$Øˆ
ˆ
Ø	�vÒ	Ð	Øˆ
ˆ
Ø	�|Ò	#Ð	#Ø!ˆ
ˆ
Ø	�yÒ	 Ð	 Øˆ
Ø€DØ&×,Ò,Ñ.Ô.ð ð ‰
ˆˆUØ�JÒÐØˆDØˆEð ð €|Ý!ðU¨
ð Uð Uð Uñ
ô 
ð 	
ð #Ð" 4¨Ñ4Ô4€Hð ÐØ×$Ò$Ñ&Ô&€JØð Fð FˆØ×+Ò+¨GÑ4Ô4ˆà ˆfˆØ×Ò˜IÑ&Ô&ð 	"¨'×*:Ò*:¸7Ñ*CÔ*Cð 	"Ø"Ÿ>š>¨#¨qÑ1Ô1‰LˆD�&Ø˜6‘\ˆFà×%Ò% dÑ+Ô+ˆ	ØÐØ×5Ò5Ð6IÈ6ÐS\Ð^eÑfÔfÐfØà2;¸gÑ2EÐ˜I¨Ñ.Ñ/Ð/ð "×0Ò0Ñ2Ô2Ð2€~ð 0Ø)ð 	0ð 	0‰KˆD�%Ý-Ø�y *¨jÀyÐDYÐRVÐDYÐDYÐDYðñ ô ˆGð YÐXÐXÐX¨¯ª©¬ÐXÑXÔXˆGØ×&Ò& wÑ/Ô/Ð/Ð/àÐr&   Fc                 óf  ‡*‡+‡,— t          ¦   «         rt          ¦   «         r	ddlm}m} n)t
                               d¦  «         t          d¦  «        ‚ || ¦  «        }|j        }t          | 
                    ¦   «         ¦  «        }d„ t          D ¦   «         }	t          |d¦  «        d         }
t          |d¦  «        }d}d	|
v rd
|v rd
}nYd|
v sd|
v rOd|	d         d<   |r/d|d                              ¦   «         v rd}d|
v rdg|	d         d<   nd|
v rdg|	d         d<   d}n|
}d|
v rd}nd|
v sd|
v rd}nd|
v rd}nd|
v rd}d|
v r]h d£Š*dŠ+t          ˆ*fd„|j        D ¦   «         ¦  «        }t          ˆ+fd „|j        D ¦   «         ¦  «        }||	d         d!<   | |	d         d"<   |
t           vr|t           vrt#          d#|
› d$�¦  «        ‚d%d&g}t%          d'„ |j        D ¦   «         ¦  «        p|
|v |	d         d(<   t'          j        |t'          j        |
¦  «        pi ¦  «        }|                     ¦   «         D ]!\  }}|	d                              ||¦  «         Œ"|j                             ¦   «         D �]?\  }Š,|                     |
|¦  «        }|                     d)¦  «        }|d         }d)                     |d*d…         ¦  «        }ˆ,fd+„‰,j        D ¦   «         }t7          |¦  «        d*k    r|d         }t9          |t:          ¦  «        r|
|v r|                     |
|¦  «        }t                               ¦   «         D ]N\  }}||v rE|||         v r;||         |         }|d,k    rŒ(|�||	|         |<   ||v r|                     |¦  «         ŒO||v r t
                               d-|› d.|› �¦  «         �ŒA|	d         d/         d0k    rd1|	d         d/<   |	d         d/         d2k    rd3|	d         d/<   g d4¢|	d         d5<   |	d                              d/¦  «        dk    rUd6d7d8d9œ}|	d                              d:¦  «        }t9          |t@          ¦  «        r|                     |d7¦  «        |	d         d:<   |	d         d/         d;k    rS|	d         d<         }tC          |¦  «        |	d         d<<   d=|	d         d><   d?„ tE          |¦  «        D ¦   «         |	d         d@<   |dk    rÑdUdA„} ||dB¦  «        }|�¿dC|i}|j        D ]¨}| #                    dD¦  «        sŒ|t7          dD¦  «        d…         } | dEk    rŒ6|j        |         j$        d         }t9          |tJ          ¦  «        r| &                    dF¦  «        }| dGv rtO          |¦  «        }n| dHv rdI} tA          |¦  «        }n	 ||| <   Œ©||	d         dJ<   dK|	d         vrE|	dL         }!dM|!v rt7          |!dM         ¦  «        |	d         dK<   nt
           (                    dN¦  «         |�r	i |	dO<   |	                     di ¦  «        }"tR                               |
tT          ¦  «        }# |#|"¬P¦  «        }$tW          ||$¦  «        }%tY          |j        dQ¬R¦  «        D ]›}&|&j-        }' ||&j        |&j.        ¦  «        }(|$ /                    |(|'|%|	¬S¦  «        })|)j0        }(|)j-        }'|'|%vrŒK|%|'         }'tc          j2        tg          j4        |(¦  «        ¦  «        }&|�|& 5                    |¦  «        }&|&|	dO         |'<   Œœt7          |¦  «        dk    rt
                               dT|› �¦  «         |	S )VaF  
    Load a GGUF file and return a dictionary of parsed parameters containing tensors, the parsed
    tokenizer and config attributes.

    Args:
        gguf_checkpoint_path (`str`):
            The path the to GGUF file to load
        return_tensors (`bool`, defaults to `False`):
            Whether to read the tensors from the file and return them. Not doing so is faster
            and only loads the metadata in memory.
        model_to_load (`nn.Module`, *optional*):
            The model to load the weights into. This is used to map GGUF tensor names to
            Transformers parameter names.
        torch_dtype (`torch.dtype`, *optional*):
            The desired `torch.dtype` for the loaded tensors. If provided, tensors will be
            converted to this dtype immediately after dequantization to save memory.
    r   )Ú
GGUFReaderÚ
dequantizer  r  c                 ó   — i | ]}|i “ŒS r%   r%   )r  rÂ   s     r'   r#  z(load_gguf_checkpoint.<locals>.<dictcomp>[  s   € ÐEÐEÐE 1˜˜BÐEÐEÐEr&   zgeneral.architecturezgeneral.nameNrô   Úmistralrù   rú   Tr   Úis_gated_actr  ÚUMT5EncoderModelÚarchitecturesÚT5EncoderModelrõ   r  rö   r!  r÷   r  r  r   Ústablelm>   úattn_k.biasúattn_q.biasúattn_v.biasÚffn_normc              3   ó4   •K  — | ]}‰D ]}||j         v V — ŒŒd S r+   ©r   )r  r¢   Ú	bias_nameÚattn_bias_names      €r'   ú	<genexpr>z'load_gguf_checkpoint.<locals>.<genexpr>„  s9   øè è € ÐmÐm°FÐ^lÐmÐmÐQZ�y F¤KÐ/ÐmÐmÐmÐmÐmÐmÐmr&   c              3   ó*   •K  — | ]}‰|j         v V — Œd S r+   rF  )r  r¢   Úffn_norm_names     €r'   rI  z'load_gguf_checkpoint.<locals>.<genexpr>…  s*   øè è € Ð#^Ð#^ÀV M°V´[Ð$@Ð#^Ð#^Ð#^Ð#^Ð#^Ð#^r&   Úuse_qkv_biasÚuse_parallel_residualzGGUF model with architecture z is not supported yet.Úfalconrø   c              3   ó,   K  — | ]}|j         d k    V — ŒdS )r×   NrF  )r  r¢   s     r'   rI  z'load_gguf_checkpoint.<locals>.<genexpr>�  s)   è è € ÐHÐH¨vˆFŒK˜?Ò*ÐHÐHÐHÐHÐHÐHr&   Útie_word_embeddingsrœ   r   c                 óP   •— g | ]"}t          ‰j        |         ‰j        ¦  «        ‘Œ#S r%   r  )r  r  r  s     €r'   r
  z(load_gguf_checkpoint.<locals>.<listcomp>¡  s-   ø€ ÐhÐhÐhÈkÕ" 5¤;¨{Ô#;¸U¼[ÑIÔIÐhÐhÐhr&   éÿÿÿÿz1Some keys were not parsed and added into account z | r  rÿ   r  r  r  )r   éj   é2   Úeos_token_idÚnoneÚsoftmaxÚsigmoid)r   r   rP   Úscoring_funcr   rI   FÚblock_auto_adjust_ff_dimc                 ó$   — g | ]\  }}|d k    ¯|‘ŒS )r   r%   )r  r¤   rM   s      r'   r
  z(load_gguf_checkpoint.<locals>.<listcomp>Ô  s.   € ð 9
ð 9
ð 9
Ù!�!�\ÈLÐ[\ÒL\ÐL\ˆAÐL\ÐL\ÐL\r&   Úfull_attn_idxsc                 óª   — d|› �}|| j         v rD| j         |         j        d         }t          |t          ¦  «        r|                     d¦  «        }|S |S )Nzgpt-oss.r   úutf-8)r  r  Ú
isinstanceÚbytesÚdecode)r  r5   Údefaultr¦   Úvals        r'   Úread_gpt_keyz*load_gguf_checkpoint.<locals>.read_gpt_keyÚ  s]   € Ø%˜VÐ%Ð%ˆCØ�f”mÐ#Ð#Ø”m CÔ(Ô.¨qÔ1�Ý˜c¥5Ñ)Ô)ð .ØŸ*š* WÑ-Ô-�CØ�
ØˆNr&   zrope.scaling.typeÚ	rope_typezgpt-oss.rope.scaling.Útyper^  )ÚfactorÚattention_factorÚ	beta_fastÚ	beta_slow)Úoriginal_context_lengthÚ original_max_position_embeddingsrl  Úrope_scalingÚ
vocab_sizer   Útokensz¤Can't find a way to retrieve missing config vocab_size from tokenizer parameters. This will use default value from model config class and cause unexpected behavior.r{   r,   z,Converting and de-quantizing GGUF tensors...)Údesc)r   r   ro   rp   z0Some keys of the GGUF file were not considered: r+   )6r   r
   r$  r8  r9  r%  r&  r'  r  r‚   ÚkeysÚGGUF_TO_TRANSFORMERS_MAPPINGr  ÚlowerÚanyr{   ÚGGUF_SUPPORTED_ARCHITECTURESÚ
ValueErrorÚallr   rJ   r    Ú
setdefaultr¡   rÏ   Újoinr  r–   r_  r#   ÚremoveÚinforV   ÚmaxÚ	enumerateÚ
startswithr  r`  ra  ÚfloatÚwarningÚTENSOR_PROCESSORSr)   r/  r   r   Útensor_typer=   r   r   r€   r    r�   Úto)-Úgguf_checkpoint_pathÚreturn_tensorsÚmodel_to_loadÚtorch_dtyper8  r9  r  r  Úreader_keysrp   ÚarchitectureÚ
model_nameÚupdated_architecturerÊ   rM  Ú
exceptionsÚconfig_defaultsr¦   r	  Úgguf_keyrÏ   ÚprefixÚ
config_keyÚ	parameterÚparameter_renamesÚrenamed_config_keyÚ_gating_func_mapÚ_scoringÚgguf_num_key_value_headsrd  re  rm  r5   Útokenizer_parametersr   ÚProcessorClassr  ro   r¢   r   r   ÚresultrH  rK  r  s-                                             @@@r'   Úload_gguf_checkpointrš  <  s?	  øøø€ õ$ ÑÔð iÕ1Ñ3Ô3ð iØ/Ð/Ð/Ð/Ð/Ð/Ð/Ð/Ð/å�ŠðAñ	
ô 	
ð 	
õ ÐgÑhÔhÐhàˆZÐ,Ñ-Ô-€FØŒ]€FÝ�v—{’{‘}”}Ñ%Ô%€KàEÐEÕ(DÐEÑEÔEÐå˜fÐ&<Ñ=Ô=¸aÔ@€Lå˜F NÑ3Ô3€JàÐð �,ÐÐ 9°
Ð#:Ð#:Ø(ÐÐð 
�Ð	Ð	 °Ð!<Ð!<Ø6:Ð˜(Ô# NÑ3Øð 	(˜& J¨q¤M×$7Ò$7Ñ$9Ô$9Ð9Ð9Ø#)Ð Ø˜lÐ*Ð*Ø@RÐ?SÐ! (Ô+¨OÑ<øà˜lÐ*Ð*Ø@PÐ?QÐ! (Ô+¨OÑ<Ø#'Ð Ð à+Ðà�\Ð!Ð!Ø*ÐÐØ	�lÐ	"Ð	" i°<Ð&?Ð&?Ø(ÐÐØ	�|Ð	#Ð	#Ø*ÐÐØ	˜Ð	%Ð	%Ø+Ðð
 �\Ð!Ð!ØFÐFÐFˆØ"ˆÝÐmÐmÐmÐm¸f¼nÐmÑmÔmÑmÔmˆÝ #Ð#^Ð#^Ð#^Ð#^ÈvÌ~Ð#^Ñ#^Ô#^Ñ ^Ô ^ÐØ6>Ð˜(Ô# NÑ3ØCXÐ?XÐ˜(Ô#Ð$;Ñ<àÕ7Ð7Ð7Ð<PÕXtÐ<tÐ<tÝÐ]¸Ð]Ð]Ð]Ñ^Ô^Ð^ð ˜GÐ$€JåÐHÐH¸¼ÐHÑHÔHÑHÔHÐfÈLÐ\fÐLfð �hÔÐ 5Ñ6õ
 3Ô6ØÕ:Ô>¸|ÑLÔLÐRÐPRñô €Oð &×+Ò+Ñ-Ô-ð ;ð ;‰
ˆˆUØ˜(Ô#×.Ò.¨s°EÑ:Ô:Ð:Ð:ð "œ=×.Ò.Ñ0Ô0ð bñ b‰ˆ�%Ø×#Ò# LÐ2FÑGÔGˆØ—’˜sÑ#Ô#ˆØ�q”ˆØ—X’X˜e A B BœiÑ(Ô(ˆ
àhÐhÐhÐhÐ]bÔ]gÐhÑhÔhˆåˆu‰:Œ:˜Š?ˆ?Ø˜!”HˆEå�e�SÑ!Ô!ð 	F l°eÐ&;Ð&;Ø—M’M ,Ð0DÑEÔEˆEå,H×,NÒ,NÑ,PÔ,Pð 
	1ð 
	1Ñ(ˆIÐ(ØÐ*Ð*Ð*¨zÐ=NÈvÔ=VÐ/VÐ/VØ%6°vÔ%>¸zÔ%JÐ"Ø%¨Ò+Ð+Øà%Ð1ØGLÐ% iÔ0Ð1CÑDà˜{Ð*Ð*Ø×&Ò& xÑ0Ô0Ð0øà�{Ð"Ð"Ý�KŠKÐ`ÈHÐ`Ð`ÐY^Ð`Ð`ÑaÔaÐaùð ˜Ô" <Ô0°HÒ<Ð<Ø4AÐ˜(Ô# LÑ1ð ˜Ô" <Ô0°HÒ<Ð<Ø4AÐ˜(Ô# LÑ1ð 7C°l°lÐ˜(Ô# NÑ3ð ˜Ô"×&Ò& |Ñ4Ô4¸ÒDÐDØ%¨)¸	ÐBÐBÐØ$ XÔ.×2Ò2°>ÑBÔBˆÝ�h¥Ñ$Ô$ð 	dØ:J×:NÒ:NÈxÐYbÑ:cÔ:cÐ˜hÔ'¨Ñ7à˜Ô" <Ô0°FÒ:Ð:Ø#4°XÔ#>Ð?TÔ#UÐ å=@ÐAYÑ=ZÔ=ZÐ˜(Ô#Ð$9Ñ:àBGÐ˜(Ô#Ð$>Ñ?ð9
ð 9
Ý%.Ð/GÑ%HÔ%Hð9
ñ 9
ô 9
Ð˜(Ô#Ð$4Ñ5ð ˜yÒ(Ð(ð	ð 	ð 	ð 	ð !�L Ð)<Ñ=Ô=ˆ	ØÐ Ø'¨Ð3ˆLð ”}ð -ð -�Ø—~’~Ð&=Ñ>Ô>ð ØØ�SÐ!8Ñ9Ô9Ð;Ð;Ô<�Ø˜VÒ#Ð#ØØœ cÔ*Ô0°Ô3�Ý˜e¥UÑ+Ô+ð 2Ø!ŸLšL¨Ñ1Ô1�EàÐUÐUÐUÝ! %™LœL�E�EØÐ^Ð^Ð^à?�FÝ ™JœJ�E�EàØ',�˜VÑ$Ð$à:FÐ˜hÔ'¨Ñ7ð Ð,¨XÔ6Ð6Ð6Ø0°Ô=ÐØÐ+Ð+Ð+Ý8;Ð<PÐQYÔ<ZÑ8[Ô8[Ð˜hÔ'¨Ñ5Ð5å�NŠNðeñô ð ð
 ñ  8Ø')Ð˜)Ñ$à"×&Ò& x°Ñ4Ô4ˆå*×.Ò.¨|½_ÑMÔMˆØ"�N¨&Ð1Ñ1Ô1ˆ	å4°]ÀIÑNÔNÐå˜6œ>Ð0^Ð_Ñ_Ô_ð 	8ð 	8ˆFØ”;ˆDØ �j ¤¨fÔ.@ÑAÔAˆGà×&Ò&ØØØ#5Ø"3ð	 'ñ ô ˆFð ”nˆGØ”;ˆDàÐ-Ð-Ð-Øà% dÔ+ˆDåÔ%¥b¤g¨gÑ&6Ô&6Ñ7Ô7ˆFØÐ&ØŸš ;Ñ/Ô/�Ø17Ð˜iÔ(¨Ñ.Ð.å
ˆ;ÑÔ˜!ÒÐÝ�ŠÐTÀ{ÐTÐTÑUÔUÐUàÐr&   )NNr  )FNN),r`   Útypingr   Únumpyr    Ú	tqdm.autor   Úintegrationsr   r   r   r	   Úutilsr
   Úutils.import_utilsr   Úutils.loggingr   r   r   r%  rr  r‚   rq  ru  r   r)   r?   rZ   r�   r´   rÌ   rÔ   rÙ   rß   rå   ré   rí   r�  r  r#   rV   r/  rš  r%   r&   r'   ú<module>r¢     s^  ðð  
€	€	€	Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ø Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð &Ð %Ð %Ð %Ð %Ð %Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø %Ð %Ð %Ð %Ð %Ð %ð ÐÑÔð Ø€L€L€Là	ˆ�HÑ	Ô	€ð !Ø*Ø"ð
ð 
ð
 "-ÐF\Ð]Ð]ðð ð "ØÐ5°kÔBÐCØ$Ð&<Ð=OÔ&PÐQð ð  Ð ð  $˜tÐ$@ÀÔ$J×$OÒ$OÑ$QÔ$QÑRÔRÐ ðð ð ð ð �ñ ô ð ð-ð -ð -ð -ð -ñ -ô -ð -ð47ð 7ð 7ð 7ð 7˜?ñ 7ô 7ð 7ð<5%ð 5%ð 5%ð 5%ð 5%˜oñ 5%ô 5%ð 5%ðpbWð bWð bWð bWð bW˜Oñ bWô bWð bWðJ$ð $ð $ð $ð $˜?ñ $ô $ð $ðN
7ð 
7ð 
7ð 
7ð 
7˜ñ 
7ô 
7ð 
7ð-ð -ð -ð -ð -˜/ñ -ô -ð -ð4-ð -ð -ð -ð -˜?ñ -ô -ð -ð -ð -ð -ð -ð -˜oñ -ô -ð -ð	-ð 	-ð 	-ð 	-ð 	-˜Oñ 	-ô 	-ð 	-ð-ð -ð -ð -ð -˜/ñ -ô -ð -ð2%ð 2%ð 2%ð 2%ð 2%˜ñ 2%ô 2%ð 2%ðl "Ø'Ø$Ø'Ø!Ø
Ø"ØØ!Ø'Ø#Ø#ØØ*ðð Ð ð$dð dð dð "Ø!ØðWð WàðWð �d‘
ðWð �d‘
ð	Wð
 ðWð Wð Wð Wðttð tð tð tð tð tr&   