+
    "Ý³j½¬ ã                   óŒ  a € ERM tï0 t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHtH	t	 ^ RI
HtHtHtHt ^ RIHt ^ RIHt ^ RIHt ^ RIHtHtHtHtHtHtHt ^ RIt^ RIt^ RIHt ^R	I H!t!H"t" ^R
I#H$t$ ]$! 4       t% ! R R4      t&R R lt'R]PP                  R]PP                  R]PP                  R]PR                  R]PR                  /t*Rt+Rt,Rt-Rt.Rt/Rt0Rt1Rt2Rt3Rt4]4RR.t5R t6R!t7R"t8R#t9R$t:R%t;R&t<R't=R(t>R)t?R*t@R+tAR,tBR-tCR.tDR/tE ! R0 R1]F]4      tG ! R2 R3]F]4      tH ! R4 R5]F]4      tI ! R6 R7]F]4      tJ] ! R8 R94      4       tK ! R: R;]F]4      tL ! R< R=]F]4      tM ! R> R?]F]4      tNR@R^RARBRCRDRER/RFR^RARBRCRDRERG/RHR^RARBRCRDRER/RIR^RARBRCRDRER/RJR^RARBRCRDRER/RKR^RARBRCRLRER/RMR^RARBRCRLRERN/ROR^RARBRCRLRERP/RQR^RARBRCRLRER/RRR^RARBRCRLRERN/RSR^RARBRCRLRERP/RTR^RARBRCRLRER//tO^R@^RH^RI^RS^RT^RJ/tPR@RURFRURHRVRIRWRJRXRKRWRMRWRORWRQRYRRRZRSRYRTR[/tQ] ! R\ R]]4      4       tR]! R^R_R`7       ! Ra Rb]R4      4       tS]StT]Pª                  ! Rc4      tVRd Re ltWRf Rg ltXRh Ri ltYRj Rk ltZRl Rm lt[ERNRn Ro llt\ERORp Rq llt]Rr Rs lt^Rt Ru lt_Rv Rw lt`Rx Ry ltaRzR{R|R{R{R{R}R~R~R~RR€R€R€R�R‚R‚R‚RƒR„R…R„R†R„R„R„/tb0 ERPmtcR‡0tdRˆR‰0teRŠ0tf]e]f,          tg0 ERQmthR‹ RŒ ltiR� RŽ ltjR� R� ltkR‘ R’ ltlR“ R” ltmR• R– ltnRR/R— R˜ lltoR™ Rš ltpR› Rœ ltq] ! R� Rž4      4       tr] ! RŸ R ]r4      4       ts] ! R¡ R¢]r4      4       tt] ! R£ R¤]r4      4       tu] ! R¥ R¦]r4      4       tv] ! R§ R¨]r4      4       tw] ! R© Rª]r4      4       tx] ! R« R¬]r4      4       ty] ! R­ R®]r4      4       tz ! R¯ R°]F]4      t{] ! R± R²4      4       t|] ! R³ R´4      4       t}] ! Rµ R¶4      4       t~] ! R· R¸]~4      4       t] ! R¹ Rº]~4      4       t€] ! R» R¼]~4      4       t�]! R^R½7       ! R¾ R¿4      4       t‚] ! RÀ RÁ4      4       tƒ] ! RÂ RÃ4      4       t„] ! RÄ RÅ4      4       t…] ! RÆ RÇ4      4       t†RÈt‡] ! RÉ RÊ]†4      4       tˆ] ! RË RÌ]†4      4       t‰] ! RÍ RÎ4      4       tŠ]HEP                  ]GEP                  ]GEP                  ]GEP                  ]GEP                  ]GEP                  0]HEP                   ]GEP                   0]HEP"                  ]GEP"                  0]HEP$                  ]GEP$                  0]HEP&                  ]GEP&                  0]HEP(                  ]GEP(                  0]HEP*                  ]GEP,                  ]GEP.                  ]GEP0                  ]GEP                  ]GEP                  ]GEP2                  0]HEP4                  ]GEP6                  0/tœ]GEP                  ]GEP                  ]GEP                  ]GEP                  ]GEP                  3t�] ^ k ]GEP,                  ]GEP.                  ]GEP0                  ]GEP                  ]GEP                  ]GEP2                  3tž] ^k ]GEP6                  3tŸ] ^k RÏt RÐt¡]GEP(                  3t¢] ^k ]GEP                   3t£] ^k ]GEP"                  3t¤] ^k ]GEP$                  3t¥] ^k ]GEP                  ]GEP                  ]GEP                  ]GEP,                  ]GEP.                  ]GEP0                  ]GEP2                  3t¦] ^k ]GEP&                  3t§] ^k ]GEP                  ]HEP                  ]GEP                  ]HEP                  ]GEP                  ]HEP                  ]GEP                   ]HEP                   ]GEP"                  ]HEP"                  ]GEP$                  ]HEP$                  ]GEP&                  ]HEP&                  ]GEP                  ]HEP                  ]GEP,                  ]HEP*                  ]GEP.                  ]HEP*                  ]GEP0                  ]HEP*                  ]GEP2                  ]HEP*                  ]GEP6                  ]HEP4                  ]GEP(                  ]HEP(                  /t¨/ t©RÑ]+RÒ]+RÓ],RA]-]/]-]2]1RÔ]-RÕRÖR×RØ/	tªRÙ]./t«/ t¬]­! 4       t®/ t¯] ^	k / t°] ^
k / t±] ^k / t²] ^k / t³] ^k RÚ RÛ lt´RÜ RÝ ltµRÞ Rß lt¶Rà Rá lt·Râ Rã lt¸Rä Rå lt¹Ræ Rç ltºRè Ré lt»Rê Rë lt¼Rì Rí lt½Rî Rï lt¾ERRRð Rñ llt¿Rò Ró ltÀRô Rõ ltÁRö R÷ ltÂRø Rù ltÃRú Rû ltÄRü Rý ltÅRþ Rÿ ltÆER  ER ltÇER ER ltÈER ER ltÉER ER ltÊER ER	 ltËER
 ER ltÌER ER ltÍER ER ltÎER ER ltÏER ER ltÐER ER ltÑER ER ltÒER ER ltÓER ER ltÔER ER ltÕER ER ltÖER  ER! lt×ERNER" ER# lltØER$ ER% ltÙER& ER' ltÚER( ER) ltÛ ! ER* ER+]Ü4      tÝER, ER- ltÞ] ! ER. ER/]ÝER07      4       tß] ! ER1 ER2]ß4      4       tà] ! ER3 ER4]ß]ÝER07      4       tá] ! ER5 ER6]à4      4       tâ] ! ER7 ER8]à4      4       tã] ! ER9 ER:]à4      4       tä] ! ER; ER<]â4      4       tå] ! ER= ER>]à4      4       tæ] ! ER? ER@]à4      4       tç] ! ERA ERB]ß4      4       tè] ! ERC ERD]à4      4       té] ! ERE ERF]à4      4       têERG ERH ltë]ëtìERI ERJ ltíERK ERL ltîR# (S  é    N)ÚABCÚabstractmethod)ÚasdictÚ	dataclassÚfieldÚfields)ÚEnum)Útotal_ordering)Újoin)ÚAnyÚClassVarÚDictÚListÚOptionalÚTupleÚUnion)Úversion)ÚLoraÚnormalize_adapter)Úsetup_loggerc                   óp   a € ] tR t^t o RtV 3R lR lt]V 3R lR l4       tV 3R lR ltR t	R	 t
R
tV tR# )Ú_SharedTemporaryDirectoryzAShare one TemporaryDirectory handle across copied config objects.c                ó    <€ V ^8„  d   QhRS[ /# )é   Úprefix©Ústr)ÚformatÚ__classdict__s   "€Ú^/home/luca/screen-checking/.venv/lib/python3.14/site-packages/gptqmodel/quantization/config.pyÚ__annotate__Ú&_SharedTemporaryDirectory.__annotate__    s   ø€ ÷ Dñ D¡#ñ Dó    c               ó>   € \         P                  ! VR 7      V n        R# )©r   N)ÚtempfileÚTemporaryDirectoryÚ	_temp_dir)Úselfr   s   &$r    Ú__init__Ú"_SharedTemporaryDirectory.__init__    s   € Ü!×4Ò4¸FÔCˆŽr#   c                ó    <€ V ^8„  d   QhRS[ /# ©r   Úreturnr   )r   r   s   "€r    r!   r"   $   s   ø€ ÷ #ñ #‘cñ #r#   c                ó.   € V P                   P                  # ©N)r(   Úname©r)   s   &r    r1   Ú_SharedTemporaryDirectory.name#   s   € à�~‰~×"Ñ"Ð"r#   c                ó   <€ V ^8„  d   QhRR/# ©r   r.   N© )r   r   s   "€r    r!   r"   '   s   ø€ ÷ !ñ !˜ñ !r#   c                ó:   € V P                   P                  4        R # r0   )r(   Úcleanupr2   s   &r    r8   Ú!_SharedTemporaryDirectory.cleanup'   s   € Ø�‰×ÑÖ r#   c                ó   € V # r0   r6   r2   s   &r    Ú__copy__Ú"_SharedTemporaryDirectory.__copy__*   s   € Øˆr#   c                ó    € W\        V 4      &   V # r0   )Úid)r)   Úmemos   &&r    Ú__deepcopy__Ú&_SharedTemporaryDirectory.__deepcopy__-   s   € ØŒR�‹X‰Øˆr#   )r(   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r*   Úpropertyr1   r8   r;   r@   Ú__static_attributes__Ú__classdictcell__©r   s   @r    r   r      sA   ø‡ € ÙK÷Dð Dð ÷#ó ð#÷!ð !ò÷ð r#   r   c                ó$   € V ^8„  d   QhR\         /# r-   ©r   )r   s   "r    r!   r!   2   s   € ÷ :ñ :Ô";ñ :r#   c                  ó   € \        R R7      # )Ú
gptqmodel_r%   rL   r6   r#   r    Ú_create_temp_offload_dirrO   2   s   € Ü$¨LÔ9Ð9r#   Úfloat16ÚhalfÚfp16Úbfloat16Úbf16ÚbitsÚ
group_sizer   ÚsymÚcheckpoint_formatÚis_marlin_formatÚmethodÚquant_methodÚ
pack_dtypezquantize_config.jsonzquant_config.jsonúconfig.jsonÚbackendz0.9.0ÚmetaÚ	quantizerÚ	gptqmodelÚuriz'https://github.com/modelcloud/gptqmodelÚdamp_percentÚdamp_auto_incrementÚstatic_groupsÚtrue_sequentialÚmseÚact_group_awareÚgptaqÚfoemÚadapterc                   óV   € ] tR t^jtRtRtRtRtRtRt	Rt
RtR	tR
tRtRtRtRtRtRtRtR# )ÚFORMATz1Checkpoint and runtime tensor layout identifiers.ÚgptqÚgptq_v2Úgptq_pÚggufÚfp8ÚbitsandbytesÚmarlinÚbitblasÚqqqÚexl3ÚgemmÚgemvÚ	gemv_fastúllm-awqÚ	paroquantr6   N)rB   rC   rD   rE   rF   ÚGPTQÚGPTQ_V2ÚGPTQ_PÚGGUFÚFP8ÚBITSANDBYTESÚMARLINÚBITBLASÚQQQÚEXL3ÚGEMMÚGEMVÚ	GEMV_FASTÚLLM_AWQÚ	PAROQUANTrH   r6   r#   r    rm   rm   j   sR   † Ù;à€Dà€Gð €FØ€DØ
€CØ!€LØ€FØ€GØ
€CØ€Dà€DØ€DØ€IØ€GØ„Ir#   rm   c                   ó:   € ] tR t^ƒtRtRtRtRtRtRt	Rt
RtR	tR
tR# )ÚMETHODz=Supported quantization algorithms exposed by config payloads.rn   rq   rr   rs   rv   Úawqrw   r|   r6   N)rB   rC   rD   rE   rF   r}   r€   r�   r‚   r…   ÚAWQr†   ÚPAROrH   r6   r#   r    r�   r�   ƒ   s-   † ÙGà€DØ€DØ
€CØ!€LØ
€CØ
€CØ€DØ„Dr#   r�   c                   ó"   € ] tR t^�tRtRtRtRtR# )ÚVramStrategyz:Placement strategies shared by dense and MoE device pools.Ú	exclusiveÚbalancedr6   N)rB   rC   rD   rE   rF   Ú	EXCLUSIVEÚBALANCEDrH   r6   r#   r    r’   r’   �   s   † ÙDà€IØ„Hr#   r’   c                   ó"   € ] tR t^—tRtRtRtRtR# )ÚQuantizeEmbedÚinputÚoutputÚbothr6   N)rB   rC   rD   rE   ÚINPUTÚOUTPUTÚBOTHrH   r6   r#   r    r˜   r˜   —   s   † Ø€EØ€FØ„Dr#   r˜   c                   óH   a € ] tR t^�t o ]P
                  tRtV 3R ltRt	V t
R# )ÚQuantizeEmbedConfigTc                ó2   <€ V ^8„  d   Qh/ S[ ;R&   S[;R&   # )r   Úembed_quant_modeÚ
embed_only)r˜   Úbool)r   r   s   "€r    r!   Ú QuantizeEmbedConfig.__annotate__�   s   ø‡ ‚ á#Ñ:ñ ñ Ñò r#   r6   N)rB   rC   rD   rE   r˜   r�   r¢   r£   Ú__annotate_func__rH   rI   rJ   s   @r    r    r    �   s   ø‡ € à&3×&:Ñ&:ÐØ€J÷ ƒ r#   r    c                   ó.   € ] tR t^£tRtRtRtRtRtRt	Rt
R# )	ÚFallbackStrategyaf  
+-----------+----------------------+---------------------------+------------------------------+
| strategy  | center               | scale                     | strengths / weaknesses       |
+-----------+----------------------+---------------------------+------------------------------+
| rtn       | min/max (quantizer)  | min/max (quantizer)        | simple, but outlier-driven   |
| midpoint  | (min+max)/2          | (max-min)                  | symmetric, outlier-sensitive |
| mean      | mean(w)              | 2*max(|w-mean|)            | stable for symmetric data    |
| median    | median(w)            | 2*max(|w-median|)          | robust center vs outliers    |
| stdclip   | mean(w)              | 2*sigma*std                | tames tails, may clip signal |
+-----------+----------------------+---------------------------+------------------------------+
ÚrtnÚmidpointÚmeanÚmedianÚstdclipr6   N)rB   rC   rD   rE   rF   ÚRTNÚMIDPOINTÚMEANÚMEDIANÚSTDCLIPrH   r6   r#   r    r¨   r¨   £   s"   † ñ
ð €CØ€HØ€DØ€FØ„Gr#   r¨   c                   ó.   € ] tR t^¶tRtRtRtRtRtRt	Rt
R# )	ÚWeightOnlyMethodz>Weight-only quantization backends available to fallback flows.r©   rq   rr   rs   Únvfp4r6   N)rB   rC   rD   rE   rF   r®   r€   r�   r‚   ÚNVFP4rH   r6   r#   r    r´   r´   ¶   s   † ÙHà
€CØ€DØ
€CØ!€LØ„Er#   r´   c                   ó&   € ] tR t^ÀtRtRtRtRtRtR# )ÚPreProcessorCodezBIdentifiers for preprocessing passes that run before quantization.ÚsmootherÚauto_module_decoderÚtensor_parallel_padderr6   N)	rB   rC   rD   rE   rF   ÚSMOOTHERÚAUTO_MODULE_DECODERÚTENSOR_PARALLEL_PADDERrH   r6   r#   r    r¸   r¸   À   s   † ÙLà€HØ/ÐØ5Ôr#   r¸   Úq1_0r   ÚqÚvariantÚ0ÚqualityÚ	q1_0_g128Úg128Úq2_0Úq4_0Úq8_0Úq4_kÚkÚq4_k_sÚsÚq4_k_mÚmÚq5_kÚq5_k_sÚq5_k_mÚq6_kg      ò?g      @g      @g      !@g      @g      @g      @c                   ó*  a € ] tR t^ît o Rt]]V 3R lR l4       4       t]V 3R lR l4       t]	V 3R lR l4       t
]	V 3R lR	 l4       tV 3R
 lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R  lR! ltV 3R" lR# ltV 3R$ lR% ltV 3R& lR' ltV 3R( lR) ltV 3R* lR+ ltV 3R, lR- ltV 3R. lR/ ltV 3R0 lR1 ltV 3R2 lR3 lt V 3R4 lR5 lt!R6t"V t#R7# )8ÚBaseComplexBitsz<Comparable bit-spec base class for non-scalar bit encodings.c                ó$   <€ V ^8„  d   QhRS[ RR/# )r   Úvaluer.   rÔ   r   )r   r   s   "€r    r!   ÚBaseComplexBits.__annotate__ô   s   ø€ ÷ "ñ "¡ð "Ð(9ñ "r#   c                ó   € \         h)z6Parse a serialized bit specification into an instance.©ÚNotImplementedError©ÚclsrÖ   s   &&r    Úfrom_stringÚBaseComplexBits.from_stringò   s
   € ô
 "Ð!r#   c                ó    <€ V ^8„  d   QhRS[ /# r-   r   )r   r   s   "€r    r!   r×   ú   s   ø€ ÷ "ñ "™3ñ "r#   c                ó   € \         h)z?Serialize the bit specification into its canonical string form.rÙ   r2   s   &r    Ú	to_stringÚBaseComplexBits.to_stringù   s
   € ô "Ð!r#   c                ó    <€ V ^8„  d   QhRS[ /# r-   ©Úint)r   r   s   "€r    r!   r×      s   ø€ ÷ ñ ‘sñ r#   c                ó   € V P                   # )z:Return the integer width represented by this bit encoding.©rU   r2   s   &r    ÚwidthÚBaseComplexBits.widthÿ   s   € ð �y‰yÐr#   c                ó    <€ V ^8„  d   QhRS[ /# r-   r   )r   r   s   "€r    r!   r×     s   ø€ ÷  ñ  ‘cñ  r#   c                ó"   € V P                  4       # )z7Return the canonical string name for this bit encoding.©rá   r2   s   &r    r1   ÚBaseComplexBits.name  s   € ð �~‰~ÓÐr#   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# ©r   Úotherr.   ©r   )r   r   s   "€r    r!   r×     s   ø€ ÷ 	ñ 	¡#ð 	©#ñ 	r#   c                ó(  € \        V\        4      '       d   VP                  # \        V\        4      '       d   V# \        V\        4      '       d>   VP                  4       P                  4       '       d   \        VP                  4       4      # \        # )z?Convert compatible operands into raw bit widths for arithmetic.)Ú
isinstancerÔ   rU   rå   r   ÚstripÚisdigitÚNotImplemented©r)   rð   s   &&r    Ú_coerce_bitsÚBaseComplexBits._coerce_bits  se   € ô �eœ_×-Ò-Ø—:‘:ÐÜ�eœS×!Ò!ØˆLÜ�eœS×!Ò! e§k¡k£m×&;Ñ&;×&=Ò&=Ü�u—{‘{“}Ó%Ð%ÜÐr#   c                ó    <€ V ^8„  d   QhRS[ /# r-   r   )r   r   s   "€r    r!   r×     s   ø€ ÷  ñ  ™ñ  r#   c                ó"   € V P                  4       # )z?Render the canonical string form for logging and serialization.rì   r2   s   &r    Ú__str__ÚBaseComplexBits.__str__  ó   € ð �~‰~ÓÐr#   c                ó    <€ V ^8„  d   QhRS[ /# r-   rä   )r   r   s   "€r    r!   r×     s   ø€ ÷ ñ ™#ñ r#   c                ó,   € \        V P                  4      # )z*Hash bit encodings by their integer width.)ÚhashrU   r2   s   &r    Ú__hash__ÚBaseComplexBits.__hash__  s   € ô �D—I‘I‹Ðr#   c                ó    <€ V ^8„  d   QhRS[ /# r-   rä   )r   r   s   "€r    r!   r×      s   ø€ ÷ ñ ™ñ r#   c                ó   € V P                   # )z#Expose the bit width as an integer.rç   r2   s   &r    Ú__int__ÚBaseComplexBits.__int__   ó   € ð �y‰yÐr#   c                ó    <€ V ^8„  d   QhRS[ /# r-   rä   )r   r   s   "€r    r!   r×   %  s   ø€ ÷ ñ ™3ñ r#   c                ó   € V P                   # )z>Allow the bit width to participate in index-style conversions.rç   r2   s   &r    Ú	__index__ÚBaseComplexBits.__index__%  r  r#   c                ó    <€ V ^8„  d   QhRS[ /# r-   ©Úfloat)r   r   s   "€r    r!   r×   *  s   ø€ ÷  ñ  ™5ñ  r#   c                ó,   € \        V P                  4      # )z Expose the bit width as a float.)r  rU   r2   s   &r    Ú	__float__ÚBaseComplexBits.__float__*  s   € ô �T—Y‘YÓÐr#   c                ó&   <€ V ^8„  d   QhRS[ RS[/# rï   ©r   r¤   )r   r   s   "€r    r!   r×   /  s   ø€ ÷ ñ ™Cð ¡Dñ r#   c                óÈ  € \        V\        4      '       d"   V P                  4       VP                  4       8H  # \        V\        4      '       d   V P                  V8H  # \        V\
        4      '       dp   VP                  4       P                  4       P                  RR4      pVP                  4       '       d   V P                  \        V4      8H  # V P                  4       V8H  # R# )z>Compare complex bit encodings against strings, ints, or peers.Ú-Ú_F)
ró   rÔ   rá   rå   rU   r   rô   ÚlowerÚreplacerõ   )r)   rð   Ú
normalizeds   && r    Ú__eq__ÚBaseComplexBits.__eq__/  s«   € ô �eœ_×-Ò-Ø—>‘>Ó# u§¡Ó'8Ñ8Ð8Ü�eœS×!Ò!Ø—9‘9 Ñ%Ð%Ü�eœS×!Ò!ØŸ™›×,Ñ,Ó.×6Ñ6°s¸CÓ@ˆJØ×!Ñ!×#Ò#Ø—y‘y¤C¨
£OÑ3Ð3Ø—>‘>Ó# zÑ1Ð1Ùr#   c                ó&   <€ V ^8„  d   QhRS[ RS[/# rï   r  )r   r   s   "€r    r!   r×   =  s   ø€ ÷ #ñ #™Cð #¡Dñ #r#   c                ób   € V P                  V4      pV\        J d   \        # V P                  V8  # )z-Order bit encodings by their effective width.©rø   rö   rU   ©r)   rð   Úcoerceds   && r    Ú__lt__ÚBaseComplexBits.__lt__=  s1   € ð ×#Ñ# EÓ*ˆØ”nÓ$Ü!Ð!Ø�y‰y˜7Ñ"Ð"r#   c                ó&   <€ V ^8„  d   QhRS[ RS[/# rï   ©r   rå   )r   r   s   "€r    r!   r×   E  ó   ø€ ÷ #ñ #™Sð #¡Sñ #r#   c                ój   € V P                  V4      pV\        J d   \        # V P                  V,           # )z;Add the effective bit width to another scalar-like operand.r  r   s   && r    Ú__add__ÚBaseComplexBits.__add__E  ó1   € ð ×#Ñ# EÓ*ˆØ”nÓ$Ü!Ð!Ø�y‰y˜7Õ"Ð"r#   c                ó&   <€ V ^8„  d   QhRS[ RS[/# rï   r%  )r   r   s   "€r    r!   r×   M  ó   ø€ ÷ #ñ #™cð #¡cñ #r#   c                ó$   € V P                  V4      # )z6Support right-hand addition with scalar-like operands.)r(  r÷   s   &&r    Ú__radd__ÚBaseComplexBits.__radd__M  ó   € ð �|‰|˜EÓ"Ð"r#   c                ó&   <€ V ^8„  d   QhRS[ RS[/# rï   r%  )r   r   s   "€r    r!   r×   R  r&  r#   c                ój   € V P                  V4      pV\        J d   \        # V P                  V,
          # )z9Subtract another scalar-like operand from this bit width.r  r   s   && r    Ú__sub__ÚBaseComplexBits.__sub__R  r*  r#   c                ó&   <€ V ^8„  d   QhRS[ RS[/# rï   r%  )r   r   s   "€r    r!   r×   Z  ó   ø€ ÷ #ñ #™cð #¡cñ #r#   c                óh   € V P                  V4      pV\        J d   \        # W P                  ,
          # )z6Support right-hand subtraction against this bit width.r  r   s   && r    Ú__rsub__ÚBaseComplexBits.__rsub__Z  ó/   € ð ×#Ñ# EÓ*ˆØ”nÓ$Ü!Ð!ØŸ™Õ"Ð"r#   c                ó&   <€ V ^8„  d   QhRS[ RS[/# rï   r%  )r   r   s   "€r    r!   r×   b  r&  r#   c                ój   € V P                  V4      pV\        J d   \        # V P                  V,          # )z6Multiply the bit width by another scalar-like operand.r  r   s   && r    Ú__mul__ÚBaseComplexBits.__mul__b  r*  r#   c                ó&   <€ V ^8„  d   QhRS[ RS[/# rï   r%  )r   r   s   "€r    r!   r×   j  r,  r#   c                ó$   € V P                  V4      # )z<Support right-hand multiplication with scalar-like operands.)r=  r÷   s   &&r    Ú__rmul__ÚBaseComplexBits.__rmul__j  r0  r#   c                ó&   <€ V ^8„  d   QhRS[ RS[/# rï   r%  )r   r   s   "€r    r!   r×   o  s   ø€ ÷ $ñ $¡#ð $©#ñ $r#   c                ój   € V P                  V4      pV\        J d   \        # V P                  V,          # )z:Floor-divide the bit width by another scalar-like operand.r  r   s   && r    Ú__floordiv__ÚBaseComplexBits.__floordiv__o  ó1   € ð ×#Ñ# EÓ*ˆØ”nÓ$Ü!Ð!Ø�y‰y˜GÕ#Ð#r#   c                ó&   <€ V ^8„  d   QhRS[ RS[/# rï   r%  )r   r   s   "€r    r!   r×   w  s   ø€ ÷ $ñ $¡3ð $©3ñ $r#   c                óh   € V P                  V4      pV\        J d   \        # W P                  ,          # )z9Support right-hand floor division against this bit width.r  r   s   && r    Ú__rfloordiv__ÚBaseComplexBits.__rfloordiv__w  ó/   € ð ×#Ñ# EÓ*ˆØ”nÓ$Ü!Ð!ØŸ)™)Õ#Ð#r#   c                ó&   <€ V ^8„  d   QhRS[ RS[/# rï   ©r   r  )r   r   s   "€r    r!   r×     s   ø€ ÷ #ñ #¡ð #©ñ #r#   c                ój   € V P                  V4      pV\        J d   \        # V P                  V,          # )z9True-divide the bit width by another scalar-like operand.r  r   s   && r    Ú__truediv__ÚBaseComplexBits.__truediv__  r*  r#   c                ó&   <€ V ^8„  d   QhRS[ RS[/# rï   rN  )r   r   s   "€r    r!   r×   ‡  s   ø€ ÷ #ñ #¡#ð #©%ñ #r#   c                óh   € V P                  V4      pV\        J d   \        # W P                  ,          # )z8Support right-hand true division against this bit width.r  r   s   && r    Ú__rtruediv__ÚBaseComplexBits.__rtruediv__‡  r:  r#   c                ó&   <€ V ^8„  d   QhRS[ RS[/# rï   r%  )r   r   s   "€r    r!   r×   �  r&  r#   c                ój   € V P                  V4      pV\        J d   \        # V P                  V,          # )zBTake the modulo of the bit width with another scalar-like operand.r  r   s   && r    Ú__mod__ÚBaseComplexBits.__mod__�  r*  r#   c                ó&   <€ V ^8„  d   QhRS[ RS[/# rï   r%  )r   r   s   "€r    r!   r×   —  r6  r#   c                óh   € V P                  V4      pV\        J d   \        # W P                  ,          # )z1Support right-hand modulo against this bit width.r  r   s   && r    Ú__rmod__ÚBaseComplexBits.__rmod__—  r:  r#   c                ó&   <€ V ^8„  d   QhRS[ RS[/# rï   r%  )r   r   s   "€r    r!   r×   Ÿ  s   ø€ ÷ $ñ $™Sð $¡Sñ $r#   c                ój   € V P                  V4      pV\        J d   \        # V P                  V,          # )z3Raise the bit width to another scalar-like operand.r  r   s   && r    Ú__pow__ÚBaseComplexBits.__pow__Ÿ  rG  r#   c                ó&   <€ V ^8„  d   QhRS[ RS[/# rï   r%  )r   r   s   "€r    r!   r×   §  s   ø€ ÷ $ñ $™cð $¡cñ $r#   c                óh   € V P                  V4      pV\        J d   \        # W P                  ,          # )z9Support right-hand exponentiation against this bit width.r  r   s   && r    Ú__rpow__ÚBaseComplexBits.__rpow__§  rL  r#   r6   N)$rB   rC   rD   rE   rF   Úclassmethodr   rÝ   rá   rG   rè   r1   rø   rü   r  r  r  r  r  r"  r(  r.  r3  r8  r=  rA  rE  rJ  rP  rT  rX  r\  r`  rd  rH   rI   rJ   s   @r    rÔ   rÔ   î   s:  ø‡ € áFàØ÷"ó ó ð"ð
 ÷"ó ð"ð
 ÷ó ðð
 ÷ ó ð ÷
	ð 	÷ ð  ÷
ð ÷
ð ÷
ð ÷
 ð  ÷
ð ÷#ð #÷#ð #÷#ð #÷
#ð #÷#ð #÷#ð #÷#ð #÷
$ð $÷$ð $÷#ð #÷#ð #÷#ð #÷#ð #÷$ð $÷$ö $r#   rÔ   TF)ÚfrozenÚeqc                   óº   a € ] tR tRt o RtRtR t]V 3R lR l4       tV 3R lR lt	]V 3R	 lR
 l4       t
V 3R lR ltV 3R lR ltV 3R lR ltV 3R ltRtV tR# )ÚGGUFBitsi°  z@Structured GGUF bit specification with version and variant tags.Nc                óæ   € V P                   ^ 8:  d   \        R4      hV P                  R9  d   \        R4      hV P                  R9  d   \        R4      hV P                  R9  d   \        R4      hR# )	z9Validate the GGUF bit-spec components after construction.z,GGUFBits: `bits` must be a positive integer.z(GGUFBits: `version` must be `q` or `iq`.z'GGUFBits: `variant` must be `0` or `k`.Nz?GGUFBits: `quality` must be one of `[None, xs, s, m, l, g128]`.>   rÀ   Úiq>   rÂ   rÊ   >   NÚlrÎ   rÌ   ÚxsrÅ   )rU   Ú
ValueErrorr   rÁ   rÃ   r2   s   &r    Ú__post_init__ÚGGUFBits.__post_init__¹  sj   € ð �9‰9˜Œ>ÜÐKÓLÐLØ�<‰<˜{Ô*ÜÐGÓHÐHØ�<‰<˜zÔ)ÜÐFÓGÐGØ�<‰<ÐBÔBÜÐ^Ó_Ð_ñ Cr#   c                ó$   <€ V ^8„  d   QhRS[ RR/# ©r   rÖ   r.   rj  r   )r   r   s   "€r    r!   ÚGGUFBits.__annotate__Æ  s   ø€ ÷ 
ñ 
¡ð 
¨
ñ 
r#   c                óR  € \        V4      P                  4       P                  4       P                  RR4      p\        P                  V4      pVf1   RP                  \        \        4      4      p\        RV RV R24      hV ! VR,          VR,          VR	,          VR
,          R7      # )z<Parse a GGUF alias such as ``q4_k_m`` into a typed bit spec.r  r  ú, zUnsupported GGUF bits `ú`. Supported values: Ú.rU   r   rÁ   rÃ   ©rU   r   rÁ   rÃ   )	r   rô   r  r  Ú_GGUF_BITS_ALIAS_INFOÚgetr   Úsortedro  )rÜ   rÖ   r  ÚinfoÚ	supporteds   &&   r    rÝ   ÚGGUFBits.from_stringÅ  s�   € ô ˜“Z×%Ñ%Ó'×-Ñ-Ó/×7Ñ7¸¸SÓAˆ
Ü$×(Ñ(¨Ó4ˆØŠ<ØŸ	™	¤&Ô)>Ó"?Ó@ˆIÜÐ6°u°gÐ=RÐS\ÐR]Ð]^Ð_Ó`Ð`ÙØ�f•Ø˜•OØ˜•OØ˜•Oô	
ð 	
r#   c                ó    <€ V ^8„  d   QhRS[ /# r-   r   )r   r   s   "€r    r!   rt  Õ  s   ø€ ÷ ñ ™3ñ r#   c                ó’   € V P                    V P                   RV P                   2pV P                  e   V RV P                   2pV# )z4Serialize this GGUF bit spec back to its alias form.r  )r   rU   rÁ   rÃ   )r)   Úaliass   & r    rá   ÚGGUFBits.to_stringÕ  sG   € ð —<‘<�. §¡ ¨1¨T¯\©\¨NÐ;ˆØ�<‰<Ò#Ø�g˜Q˜tŸ|™|˜nÐ-ˆEØˆr#   c                ó$   <€ V ^8„  d   QhRS[ RR/# rs  r   )r   r   s   "€r    r!   rt  Þ  s   ø€ ÷ &ñ &™sð & zñ &r#   c                ó$   € V P                  V4      # )z4Backward-compatible alias parser for GGUF bit specs.)rÝ   rÛ   s   &&r    Ú
from_aliasÚGGUFBits.from_aliasÝ  s   € ð �‰˜uÓ%Ð%r#   c                ó    <€ V ^8„  d   QhRS[ /# r-   r   )r   r   s   "€r    r!   rt  ã  s   ø€ ÷  ñ  ™3ñ  r#   c                ó"   € V P                  4       # )z=Return the canonical serialized form used in config payloads.rì   r2   s   &r    Ú	serializeÚGGUFBits.serializeã  rþ   r#   c                ó    <€ V ^8„  d   QhRS[ /# r-   r   )r   r   s   "€r    r!   rt  è  s   ø€ ÷ 1ñ 1™#ñ 1r#   c                ó,   € RV P                  4       : R2# )z9Return a debug-friendly constructor-style representation.z	GGUFBits(Ú)rì   r2   s   &r    Ú__repr__ÚGGUFBits.__repr__è  s   € ð ˜4Ÿ>™>Ó+Ñ.¨aÐ0Ð0r#   c                ó    <€ V ^8„  d   QhRS[ /# r-   r   )r   r   s   "€r    r!   rt  í  s   ø€ ÷ ñ ¡#ñ r#   c                óz   € V P                    RV P                   2pV P                  e   V RV P                   2pV# )z?Return the GGUF public subtype string without the width prefix.r  )r   rÁ   rÃ   )r)   Úpublic_formats   & r    Úto_public_formatÚGGUFBits.to_public_formatí  s@   € ð  Ÿ<™<˜.¨¨$¯,©,¨Ð8ˆØ�<‰<Ò#Ø,˜o¨Q¨t¯|©|¨nÐ=ˆMØÐr#   c                óZ   <€ V ^8„  d   Qh/ S[ ;R&   S[;R&   S[;R&   S[S[,          ;R&   # )r   rU   r   rÁ   rÃ   )rå   r   r   )r   r   s   "€r    r!   rt  °  s:   ø‡ ‚ ñ �Iñ	 ñ
 �Lñ ñ �Lñ ñ ‘c�]Ñ!ò r#   r6   )rB   rC   rD   rE   rF   rÃ   rp  rf  rÝ   rá   r†  rŠ  r�  r”  r¦   rH   rI   rJ   s   @r    rj  rj  °  sm   ø‡ € áJð
 "€Gò
`ð ÷
ó ð
÷ð ð ÷&ó ð&÷
 ð  ÷
1ð 1÷
ð ÷{ ƒ r#   rj  z#^(q|iq)_(0|k)(?:_(xs|s|m|l|g128))?$c                ó0   € V ^8„  d   QhR\         R\        /# ©r   rU   r.   )rj  r   )r   s   "r    r!   r!   ý  s   € ÷ #ñ #¬ð #´Sñ #r#   c                ó"   € V P                  4       # )z;Project a full GGUF bit spec into its public subtype token.)r”  rç   s   &r    Ú_gguf_public_format_from_bitsrš  ý  s   € ð × Ñ Ó"Ð"r#   c                óF   € V ^8„  d   QhR\         R\        \        ,          /# ©r   rÖ   r.   )r   r   r   )r   s   "r    r!   r!     s   € ÷ ñ ¬ð ´¼#µñ r#   c                óê  € V f   R# \        V \        4      '       d   \        V 4      # \        V \        4      '       d   V P                  p \        V 4      P                  4       P                  4       P                  RR4      pVR\        P                  P                  09   d   R# V\        9   d   \        \        P                  V4      4      # \        P                  V4      '       d   V# \        R4      h)z?Normalize GGUF subtype aliases into their public format string.Nr  r  Ú úSGGUFConfig: `format` must be a GGUF subtype like `q_0`, `q_k`, `q_k_s`, or `q_k_m`.)ró   rj  rš  rm   rÖ   r   rô   r  r  r€   rz  r†  Ú_GGUF_PUBLIC_FORMAT_REÚ	fullmatchro  ©rÖ   r  s   & r    Ú_normalize_gguf_public_formatr£    sÂ   € ð ‚}Ùä�%œ×"Ò"Ü,¨UÓ3Ð3ä�%œ× Ò Ø—‘ˆä�U“×!Ñ!Ó#×)Ñ)Ó+×3Ñ3°C¸Ó=€JØ�bœ&Ÿ+™+×+Ñ+Ð,Ô,ÙØÔ*Ô*Ü,¬X×-@Ñ-@ÀÓ-LÓMÐMÜ×'Ñ'¨
×3Ò3ØÐä
Ø]óð r#   c                ó0   € V ^8„  d   QhR\         R\        /# r˜  )rå   r   )r   s   "r    r!   r!     s   € ÷ Eñ E¤cð E¬cñ Er#   c                óŽ   € \         P                  V 4      pVf   \        RV  R24      h\        \        P                  V4      4      # )z:Return the default GGUF subtype for a supported bit width.z/GGUFConfig: no default GGUF format exists for `ú`-bit quantization.)Ú!_GGUF_DEFAULT_BITS_ALIAS_BY_WIDTHr{  ro  rš  rj  r†  )rU   r‚  s   & r    Ú_default_gguf_public_formatr¨    sE   € ô .×1Ñ1°$Ó7€EØ‚}ÜÐJÈ4È&ÐPcÐdÓeÐeÜ(¬×)<Ñ)<¸UÓ)CÓDÐDr#   c                ó<   € V ^8„  d   QhR\         R\        R\        /# )r   rU   r“  r.   )rå   r   rj  )r   s   "r    r!   r!   %  s!   € ÷ ñ ¤Sð ¼ð Äñ r#   c                óä   € \         P                  V4      pVf   \        R4      hVP                  4       w  r4p\	        WWER7      pVP                  4       \        9  d   \        RV  RV R24      hV# )zCBuild a validated ``GGUFBits`` object from width and subtype parts.rŸ  ry  z#Unsupported GGUF combination: bits=ú	, format=rx  )r   r¡  ro  Úgroupsrj  rá   rz  )rU   r“  ÚmatchÚversion_namerÁ   rÃ   Ú	bits_specs   &&     r    Ú_gguf_bits_from_componentsr°  %  s€   € ô #×,Ñ,¨]Ó;€EØ‚}ÜØaó
ð 	
ð &+§\¡\£^Ñ"€L˜7Ü˜dÀ'Ô[€IØ×ÑÓÔ$9Ô9ÜØ1°$°°yÀÀÈqÐQó
ð 	
ð Ðr#   c          	      óÖ   € V ^8„  d   QhR\         \        \        \        3,          R\        \         \        \
        \        3,          ,          R\        \        \        \        3,          /# ©r   rU   Úformat_valuer.   )r   rå   r   rj  r   rm   r   )r   s   "r    r!   r!   7  sO   € ÷ )9ñ )9Ü
””Sœ(Ð"Õ
#ð)9äœ5¤¤f¬hÐ!6Õ7Õ8ð)9ô Œ3””XÐÕñ)9r#   c                ó®  € RpT p\        V \        4      '       d   T pV P                  pM­\        V \        4      '       ds   V P	                  4       P                  4       P                  RR4      pVP                  4       '       d   \        V4      pMG\        P                  V4      pVP                  pM%\        V \        4      '       g   \        RV  R24      h\        V4      pVR
9  d   \        R4      h\        V4      pVf*   Ve   Tp\        V4      pM>\        V4      p\        W54      pM'\        W54      pVe   W&8w  d   \        RV  RV R	24      hW5V3# )zCResolve GGUF bits and format inputs into a consistent typed triple.Nr  r  z,GGUFConfig: unsupported bits specification `ú`.zBGGUFConfig: `bits` must resolve to one of `[1, 2, 3, 4, 5, 6, 8]`.z<GGUFConfig: incompatible GGUF bits/format combination: bits=r«  rx  ©é   r   é   é   é   é   é   )ró   rj  rU   r   rô   r  r  rõ   rå   r†  ro  r£  rš  r¨  r°  )rU   r³  Úbits_spec_from_bitsÚnormalized_bitsÚraw_bitsÚnormalized_formatr¯  s   &&     r    Ú_normalize_gguf_config_specrÁ  7  sP  € ð /3ÐØ€Oä�$œ×!Ò!Ø"ÐØŸ)™)‰Ü	�Dœ#×	Ò	Ø—:‘:“<×%Ñ%Ó'×/Ñ/°°SÓ9ˆØ×Ñ×ÒÜ! (›m‰Oä"*×"5Ñ"5°hÓ"?ÐØ1×6Ñ6‰OÜ˜œc×"Ò"ÜÐGÈÀvÈRÐPÓQÐQä˜/Ó*€OØÐ3Ô3ÜÐ]Ó^Ð^ä5°lÓCÐØÒ ØÒ*Ø+ˆIÜ =¸iÓ HÑä ;¸OÓ LÐÜ2°?ÓV‰Iä.¨ÓRˆ	ØÒ*Ð/BÔ/OÜØNÈtÈfÐT]Ð^jÐ]kÐklÐmóð ð ¨yÐ8Ð8r#   c                óÌ   € V ^8„  d   QhR\         \        \        \        \        3,          R\
        \         \        \        3,          ,          R\         \        \        3,          /# r²  )r   rå   r  r   rj  r   rm   )r   s   "r    r!   r!   c  s_   € ÷ 'ñ '¤¤c¬5´#´xÐ&?Õ @ð 'ÔPXÔY^Ô_bÔdjÐ_jÕYkÕPlð 'Ôx}ô  Bô  DLð  Lõ  yMñ 'r#   c                ó>  € \        V\        4      '       d   \        V4      p\        V \        4      '       d   T pEM\        V \        4      '       dJ   V\
        P                  8X  d   T pMÔV P                  4       '       d   \        V 4      pM²\        RV  R24      h\        V \        4      '       d   T pMŠ\        V \        4      '       df   V P                  4       P                  4       P                  RR4      pVP                  4       '       d   \        V4      M\        P                  V4      pM\        RV  R24      h\        V\        4      '       d   VP                  MTp. R	OpWE9  d   \        RV R24      hV\
        P                   8X  dT   \        V\        4      '       g>   \"        P%                  V4      pVf   \        RV R24      h\        P                  V4      p\        V\        4      '       d%   Ve!   V\
        P                   8w  d   \        R4      hV# )
z@Normalize generic bit fields into ints or structured GGUF specs.z0QuantizeConfig: unsupported bits specification `rµ  r  r  z/QuantizeConfig: `bits` must resolve to one of `z7QuantizeConfig: no default GGUF bits alias exists for `r¦  z9QuantizeConfig: GGUF bit encodings require `format=gguf`.)r·  r   r¸  r¹  rº  r»  é   r¼  )ró   r   Ú_normalize_formatrj  r  rm   r†   Ú
is_integerrå   ro  rô   r  r  rõ   r†  rU   r€   r§  r{  )rU   r³  r  ÚrawÚnormalized_widthÚvalid_bit_widthsÚdefault_aliass   &&     r    Ú_normalize_quant_bitsrË  c  sº  € ô �,¤×$Ò$Ü(¨Ó6ˆä�$œ×!Ò!ØŠ
Ü	�Dœ%×	 Ò	 Øœ6Ÿ;™;Ô&Ø‰JØ�_‰_×ÒÜ˜T›‰JäÐOÐPTÈvÐUWÐXÓYÐYÜ	�Dœ#×	Ò	Ø‰
Ü	�Dœ#×	Ò	Ø�j‰j‹l× Ñ Ó"×*Ñ*¨3°Ó4ˆØ!$§¡§¢”S˜”X´H×4GÑ4GÈÓ4L‰
äÐKÈDÈ6ÐQSÐTÓUÐUä*4°ZÄ×*JÒ*J�z—’ÐPZÐÚ/ÐØÔ/ÜÐJÐK[ÐJ\Ð\^Ð_Ó`Ð`à”v—{‘{Ô"¬:°jÄ(×+KÒ+KÜ9×=Ñ=Ð>NÓOˆØÒ ÜØIÐJZÐI[Ð[nÐoóð ô ×(Ñ(¨Ó7ˆ
ä�*œh×'Ò'¨LÒ,DÈÔY_×YdÑYdÔIdÜÐTÓUÐUàÐr#   c          	      óð   € V ^8„  d   QhR\         \        \        \        3,          ,          R\         \        \        \        3,          ,          R\         \        \        \        3,          ,          R\        /# )r   r³  rZ   r[   r.   )r   r   r   rm   r�   )r   s   "r    r!   r!   �  sZ   € ÷ )+ñ )+Üœ5¤¤f Õ-Õ.ð)+ä”Uœ3¤˜;Õ'Õ(ð)+ô œ5¤¤f Õ-Õ.ð)+ô ñ	)+r#   c                ó  € Vf   Tp\        V\        4      '       d   \        V4      pV\        P                  8X  d   \
        P                  # V\        P                  8X  d   \
        P                  # V\        P                  8X  d   \
        P                  # V\        P                  8X  d   \
        P                  # V\        P                  8X  d   \
        P                  # \        V \
        4      '       d   V #  \        V 4      e   \
        P                  #  \        V 4      '       d   \
        P                  # \        V 4      '       d   \
        P                  # V f   \
        P                  # \!        V 4      #   \         d     Lni ; i)zEInfer the effective quantization format from method and format hints.)ró   r   Ú_normalize_quant_methodr�   r€   rm   r�   r‚   r†   r�   r‹   r£  ro  Ú_looks_like_fp8_fmtÚ_looks_like_bitsandbytes_formatr}   rÅ  )r³  rZ   r[   s   &&&r    Úresolve_quant_formatrÑ  �  s)  € ð ‚~Øˆä�&œ#×ÒÜ(¨Ó0ˆà”—‘ÔÜ�{‰{ÐØ”—‘ÔÜ�z‰zÐØ”×$Ñ$Ô$Ü×"Ñ"Ð"Ø”—‘ÔÜ�{‰{ÐØ”—‘ÔÜ×ÑÐä�,¤×'Ò'ØÐðÜ(¨Ó6ÒBÜ—;‘;Ðð Cô
 ˜<×(Ò(Ü�z‰zÐÜ& |×4Ò4Ü×"Ñ"Ð"àÒÜ�{‰{Ðä˜\Ó*Ð*øô ô Ùðús   Ã:E9 Å9FÆFc                ó0   € V ^8„  d   QhR\         R\        /# r˜  r  )r   s   "r    r!   r!   ¹  s   € ÷ /ñ /¤ð /¬ñ /r#   c                óÐ   € \        V \        4      '       d   R# \        V \        4      '       g   R# V P                  4       P	                  4       P                  RR4      pV\        9   # )z@Return ``True`` when a value resembles a GGUF alias or bit spec.TFr  r  )ró   rj  r   rô   r  r  rz  ©rU   r  s   & r    Ú_looks_like_gguf_bitsrÕ  ¹  sQ   € ô �$œ×!Ò!ÙÜ�dœC× Ò ÙØ—‘“×#Ñ#Ó%×-Ñ-¨c°3Ó7€JØÔ.Ñ.Ð.r#   c                ó\   € V ^8„  d   QhR\         \        \        \        3,          R\        /# r˜  ©r   rå   r   rj  )r   s   "r    r!   r!   Ä  s*   € ÷ Oñ Oœ5¤¤c¬8Ð!3Õ4ð O¼ñ Or#   c                ó  € \        V \        4      '       d<   V ^ 8:  d   \        R4      h\        ^\	        \
        P                  ! V 4      4      4      # \        V 4      p\        V\        4      '       d   VP                  # T# )z;Return the integer width represented by a quant bits field.z<QuantizeConfig: EXL3 bits per weight must be greater than 0.)
ró   r  ro  Úmaxrå   ÚmathÚfloorrË  rj  rU   rÔ  s   & r    Úquant_bits_widthrÜ  Ä  sd   € ô �$œ×ÒØ�1Œ9ÜÐ[Ó\Ð\Ü�1”cœ$Ÿ*š* TÓ*Ó+Ó,Ð,Ü& tÓ,€JÜ(¨´X×>Ò>ˆ:�?‰?ÐNÀJÐNr#   c                ó~   € V ^8„  d   QhR\         \        \        \        3,          R\         \        \        3,          /# r˜  r×  )r   s   "r    r!   r!   Ï  s2   € ÷ Vñ Vœu¤S¬#¬xÐ%7Õ8ð V¼UÄ3ÌÀ8½_ñ Vr#   c                óª   € \        V \        4      '       d   \        V 4      # \        V 4      p\        V\        4      '       d   VP	                  4       # T# )zASerialize a quant bits field for JSON-compatible output payloads.)ró   r  rË  rj  rŠ  rÔ  s   & r    Úserialize_quant_bitsrß  Ï  sE   € ô �$œ×ÒÜ�T‹{ÐÜ& tÓ,€JÜ%/°
¼H×%EÒ%Eˆ:×ÑÓ!ÐUÈ:ÐUr#   c                ó\   € V ^8„  d   QhR\         \        \        \        3,          R\        /# r˜  )r   rå   r  r   )r   s   "r    r!   r!   Ø  s%   € ÷ ñ œu¤S¬%´ _Õ5ð ¼%ñ r#   c                ó†  € \        V \        4      '       d   \        V P                  4       4      p MG\        V \        4      '       d   \        V 4      p M%\        V \        4      '       g   \        RV  R24      h\        P                  ! V 4      '       g   \        R4      hV R8  g   V R8”  d   \        R4      h\        V 4      # )z1Normalize EXL3 fractional bits-per-weight values.z,EXL3Config: unsupported bits specification `rµ  z"EXL3Config: `bits` must be finite.ç      ð?ç       @z/EXL3Config: `bits` must be between 1.0 and 8.0.)ró   r   r  rô   rå   ro  rÚ  Úisfiniterç   s   &r    Ú_normalize_exl3_bitsrå  Ø  s—   € ô �$œ×ÒÜ�T—Z‘Z“\Ó"‰Ü	�Dœ#×	Ò	Ü�T‹{‰Ü˜œe×$Ò$ÜÐGÈÀvÈRÐPÓQÐQä�=Š=˜×ÒÜÐ=Ó>Ð>Øˆc„z�T˜C”ZÜÐJÓKÐKÜ�‹;Ðr#   Úe4m3Úfloat8_e4m3fnÚfloat8_e4m3Úe5m2Úfloat8_e5m2Úe4m3fnuzÚfloat8_e4m3fnuzÚe5m2fnuzÚfloat8_e5m2fnuzÚe8m0Úfloat8_e8m0fnuÚe8m0fnuÚfloat8_e8m0ÚinverseÚfp4Únf4Úint8c                ó0   € V ^8„  d   QhR\         R\        /# rœ  r  )r   s   "r    r!   r!     s   € ÷ *ñ *œsð *¤tñ *r#   c                ón   € V f   R# \        V 4      P                  4       P                  4       pV\        9   # )zBReturn ``True`` when a value matches a supported FP8 format alias.F)r   rô   r  Ú_FP8_FMT_ALIASESr¢  s   & r    rÏ  rÏ    s3   € ð ‚}ÙÜ�U“×!Ñ!Ó#×)Ñ)Ó+€JØÔ)Ñ)Ð)r#   c                óF   € V ^8„  d   QhR\         \        ,          R\        /# rœ  ©r   r   )r   s   "r    r!   r!     s   € ÷ ñ œh¤s�mð ´ñ r#   c                óú  € \        V \        4      '       d'   V \        P                  8w  d   \        RV  R24      hRp V f   RM&\	        V 4      P                  4       P                  4       pVR\        P                  P                  09   d   Rp\        P                  V4      pVf1   RP                  \        \        4      4      p\        RV  RV R24      h\        \        V4      '       g   \        R	V R24      hV# )
z?Resolve FP8 format aliases to the canonical PyTorch dtype name.z!FP8Config: unsupported `format` `rµ  Nrç  rž  rv  rw  rx  z3FP8Config: current PyTorch build does not provide `)ró   rm   r�   ro  r   rô   r  rÖ   rù  r{  r   r|  ÚhasattrÚtorch)rÖ   r  Úresolvedr~  s   &   r    Ú_normalize_fp8_fmtr     så   € ô �%œ× Ò Ø”F—J‘JÔÜÐ@ÀÀÀrÐJÓKÐKØˆà$)¢M‘´s¸5³z×7GÑ7GÓ7I×7OÑ7OÓ7Q€JØ�bœ&Ÿ*™*×*Ñ*Ð+Ô+Ø$ˆ
Ü×#Ñ# JÓ/€HØÒØ—I‘IœfÔ%5Ó6Ó7ˆ	ÜÐ<¸U¸GÐCXÐYbÐXcÐcdÐeÓfÐfÜ”5˜(×#Ò#ÜÐNÈxÈjÐXZÐ[Ó\Ð\Ø€Or#   c                óØ   € V ^8„  d   QhR\         \        \        \        ,          \        \        \        3,          3,          ,          R\         \        \        \        3,          ,          /# rœ  )r   r   r   rå   r   )r   s   "r    r!   r!     sI   € ÷ 
ñ 
¬H´U¼4Ä½9ÄeÌCÔQTÈHÅoÐ;UÕ5VÕ,Wð 
Ô\dÔejÔknÔpsÐksÕetÕ\uñ 
r#   c                óú   € V f   R# \        V \        \        34      '       d   \        V 4      ^8w  d   \	        R4      h\        V ^ ,          4      \        V ^,          4      r!V^ 8:  g   V^ 8:  d   \	        R4      hW3# )z2Validate and normalize FP8 block-scale dimensions.NzCFP8Config: `weight_block_size` must be a 2-item list/tuple or None.zAFP8Config: `weight_block_size` entries must be positive integers.)ró   ÚlistÚtupleÚlenro  rå   )rÖ   ÚrowsÚcolss   &  r    Ú _normalize_fp8_weight_block_sizer    sk   € ð ‚}ÙÜ�eœd¤E˜]×+Ò+¬s°5«z¸Q¬ÜÐ^Ó_Ð_Ü�U˜1•X“¤ E¨!¥H£ˆ$Øˆq„y�D˜A”IÜÐ\Ó]Ð]Øˆ:Ðr#   c                óŠ   € V ^8„  d   QhR\         \        ,          R\         \        \        \        3,          ,          R\        /# )r   rÖ   Úweight_block_sizer.   )r   r   r   rå   )r   s   "r    r!   r!   ,  s9   € ÷ ñ Ü”C�=ðô  ¤¤c¬3 h¥Õ0ðô 	ñ	r#   c               óN  € Ve   V f   RMT ;'       g    Rp\        V4      P                  4       P                  4       pV\        9  d1   RP	                  \        \        4      4      p\        RV RV  R24      hVR8X  d   Vf   \        R4      hVR8w  d   Ve   \        R4      hV# )	z;Resolve the FP8 weight scaling strategy from config inputs.ÚblockÚrowrv  z1FP8Config: `weight_scale_method` must be one of {ú}, got `rµ  zFFP8Config: `weight_scale_method='block'` requires `weight_block_size`.zPFP8Config: `weight_block_size` is only valid when `weight_scale_method='block'`.)r   rô   r  Ú_FP8_WEIGHT_SCALE_METHODSr   r|  ro  )rÖ   r
  r  r~  s   &$  r    Ú"_normalize_fp8_weight_scale_methodr  ,  sº   € ð .Ò9¸eºm‘ÐRW×R`ÐR`Ð[`€JÜ�Z“×&Ñ&Ó(×.Ñ.Ó0€JØÔ2Ô2Ø—I‘IœfÔ%>Ó?Ó@ˆ	ÜØ@ÀÀÈ9ÐUZÐT[Ð[]Ð^ó
ð 	
ð �WÔÐ!2Ò!:ÜÐaÓbÐbØ�WÔÐ!2Ò!>ÜØ^ó
ð 	
ð Ðr#   c                óF   € V ^8„  d   QhR\         \        ,          R\        /# rœ  rû  )r   s   "r    r!   r!   C  s   € ÷ 	ñ 	¬(´3­-ð 	¼Cñ 	r#   c                óÖ   € V f   RM&\        V 4      P                  4       P                  4       pV\        9  d1   RP	                  \        \        4      4      p\        RV RV  R24      hV# )z@Normalize FP8 scale semantics to the supported enum-like string.ró  rv  z4FP8Config: `weight_scale_semantics` must be one of {r  rµ  )r   rô   r  Ú_FP8_SCALE_SEMANTICSr   r|  ro  ©rÖ   r  r~  s   &  r    Ú_normalize_fp8_scale_semanticsr  C  sl   € ð $šm‘´°U³×1AÑ1AÓ1C×1IÑ1IÓ1K€JØÔ-Ô-Ø—I‘IœfÔ%9Ó:Ó;ˆ	ÜØCÀIÀ;ÈiÐX]ÐW^Ð^`Ðaó
ð 	
ð Ðr#   c                ó0   € V ^8„  d   QhR\         R\        /# rœ  r  )r   s   "r    r!   r!   O  s   € ÷ /ñ /¬3ð /´4ñ /r#   c                óŽ   € V f   R# \        V 4      P                  4       P                  4       P                  RR4      pV\        9   # )zAReturn ``True`` when a value matches a bitsandbytes format alias.Fr  r  )r   rô   r  r  Ú_BITSANDBYTES_FORMATSr¢  s   & r    rÐ  rÐ  O  s@   € ð ‚}ÙÜ�U“×!Ñ!Ó#×)Ñ)Ó+×3Ñ3°C¸Ó=€JØÔ.Ñ.Ð.r#   c                óh   € V ^8„  d   QhR\         \        ,          R\         \        ,          R\        /# )r   rÖ   rU   r.   )r   r   rå   )r   s   "r    r!   r!   X  s*   € ÷ ñ ¬(´3­-ð Ä(Ì3Å-ð Ô[^ñ r#   c               ó„  € V^8X  d   RMRpV f   TM6\        V 4      P                  4       P                  4       P                  RR4      pVR\        P
                  P                  09   d   TpV^8X  d   \        pMV^8X  d   \        pM\        pW49  d-   RP                  \        V4      4      p\        RV RV  R	24      hV# )
zBNormalize bitsandbytes format aliases for the requested bit width.rö  rô  r  r  rž  rv  z-BitsAndBytesConfig: `format` must be one of {r  rµ  )r   rô   r  r  rm   r‚   rÖ   Ú_BITSANDBYTES_4BIT_FORMATSÚ_BITSANDBYTES_8BIT_FORMATSr  r   r|  ro  )rÖ   rU   Údefault_formatr  Úallowed_formatsr~  s   &$    r    Ú_normalize_bitsandbytes_formatr  X  s¿   € ð  $ qœy‘V¨e€NØ#(¢=‘´c¸%³j×6FÑ6FÓ6H×6NÑ6NÓ6P×6XÑ6XÐY\Ð^aÓ6b€JØ�bœ&×-Ñ-×3Ñ3Ð4Ô4Ø#ˆ
àˆq„yÜ4‰Ø	�ŒÜ4‰ä/ˆàÔ(Ø—I‘Iœf _Ó5Ó6ˆ	ÜØ<¸Y¸KÀyÐQVÐPWÐWYÐZó
ð 	
ð Ðr#   c                óF   € V ^8„  d   QhR\         \        ,          R\        /# rœ  rû  )r   s   "r    r!   r!   o  s   € ÷ 9ñ 9¬h´s­mð 9Äñ 9r#   c                ó   € \        V ^R7      # )z9Normalize the legacy 4-bit bitsandbytes quant type field.rç   )r  )rÖ   s   &r    Ú"_normalize_bitsandbytes_quant_typer"  o  s   € ô *¨%°aÔ8Ð8r#   c                óF   € V ^8„  d   QhR\         \        ,          R\        /# rœ  ©r   rå   )r   s   "r    r!   r!   u  s   € ÷ 	ñ 	¬h´s­mð 	Äñ 	r#   c                ó¬   € V f   ^@M
\        V 4      pV\        9  d8   RP                  R \        \        4       4       4      p\	        RV RV  R24      hV# )z;Validate and normalize the bitsandbytes block size setting.rv  c              3   ó8   "  € T F  p\        V4      x € K  	  R # 5ir0   r   )Ú.0Úitems   & r    Ú	<genexpr>Ú5_normalize_bitsandbytes_block_size.<locals>.<genexpr>z  s   é € ÐVÑ4U¨Dœc $Ÿi˜iÓ4Uùó   ‚z1BitsAndBytesConfig: `block_size` must be one of {r  rµ  )rå   Ú_BITSANDBYTES_BLOCK_SIZESr   r|  ro  r  s   &  r    Ú"_normalize_bitsandbytes_block_sizer-  u  s`   € ð ’}‘¬#¨e«*€JØÔ2Ô2Ø—I‘IÑV´FÔ;TÔ4UÓVÓVˆ	ÜØ@ÀÀÈ9ÐUZÐT[Ð[]Ð^ó
ð 	
ð Ðr#   c                   ó4   a € ] tR tRt o Rt^€tV 3R ltRtV tR# )ÚSmoothMethodi€  z<Base smoother descriptor shared by all smoothing strategies.c                ó2   <€ V ^8„  d   Qh/ S[ ;R&   S[;R&   # )r   r1   Úgroup_size_threshold©r   rå   )r   r   s   "€r    r!   ÚSmoothMethod.__annotate__€  s   ø‡ ‚ ñ �Iñ	 ñ Ñ#ò r#   r6   N)	rB   rC   rD   rE   rF   r1  r¦   rH   rI   rJ   s   @r    r/  r/  €  s   ø‡ € áFð !$Ð÷ ƒ r#   r/  c                   óV   a a€ ] tR tRt oRtRtRV3R lV 3R llltV3R ltRtVt	V ;t
# )	ÚSmoothPercentilei‰  aö  
+----------------+-------------------------------------------+
| math           | clip(|w|) at p-th percentile             |
| config         | SmoothPercentile(percentile=p)           |
+----------------+-------------------------------------------+
+----------------+-------------------------------------------+
| percentile (p) | percentile of |w| used as clip threshold |
| effect         | higher p = less clipping                  |
+----------------+-------------------------------------------+
ç     ÀX@c                ó&   <€ V ^8„  d   QhRS[ RS[/# )r   Ú
percentiler1  ©r  rå   )r   r   s   "€r    r!   ÚSmoothPercentile.__annotate__—  s   ø€ ÷ %ñ %¡5ð %Ásñ %r#   c                ó6   <€ \         SV `  RVR7       Wn        R# )z@Configure percentile clipping with an optional group-size floor.r8  ©r1   r1  N)Úsuperr*   r8  )r)   r8  r1  Ú	__class__s   &&&€r    r*   ÚSmoothPercentile.__init__—  s   ø€ ô 	‰Ñ˜lÐAUÐÔVØ$Žr#   c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # )r   r8  r  )r   r   s   "€r    r!   r:  ‰  s   ø‡ ‚ ñ Ñò r#   ©r8  )r6  é€   )rB   rC   rD   rE   rF   r8  r*   r¦   rH   rI   Ú__classcell__©r>  r   s   @@r    r5  r5  ‰  s"   ù‡ € ñ	ð €J÷%õ %÷ … r#   r5  c                   óZ   a a€ ] tR tRt oRtRtRtR	V3R lV 3R llltV3R ltRt	Vt
V ;t# )
ÚSmoothPercentileAsymmetriciž  a  
+-------------------+-------------------------------------------+
| math              | clip to [p_low, p_high] percentiles      |
| config            | SmoothPercentileAsymmetric(low, high)    |
+-------------------+-------------------------------------------+
+-------------------+-------------------------------------------+
| low/high          | percentile bounds on raw weights         |
| effect            | asymmetric clipping of tails             |
+-------------------+-------------------------------------------+
ç      à?ç     àX@c                ó,   <€ V ^8„  d   QhRS[ RS[ RS[/# )r   ÚlowÚhighr1  r9  )r   r   s   "€r    r!   Ú'SmoothPercentileAsymmetric.__annotate__­  s#   ø€ ÷ ñ ™Eð ©uð ÑSVñ r#   c                óB   <€ \         SV `  RVR7       Wn        W n        R# )z0Configure asymmetric percentile clipping bounds.Úpercentile_asymr<  N)r=  r*   rJ  rK  )r)   rJ  rK  r1  r>  s   &&&&€r    r*   Ú#SmoothPercentileAsymmetric.__init__­  s#   ø€ ô 	‰ÑÐ/ÐFZÐÔ[ØŒØŽ	r#   c                ó2   <€ V ^8„  d   Qh/ S[ ;R&   S[ ;R&   # )r   rJ  rK  r  )r   r   s   "€r    r!   rL  ž  s   ø‡ ‚ ñ 
Ññ ñ Ñò r#   )rK  rJ  )rG  rH  rB  )rB   rC   rD   rE   rF   rJ  rK  r*   r¦   rH   rI   rC  rD  s   @@r    rF  rF  ž  s'   ù‡ € ñ	ð €CØ€D÷õ ÷ … r#   rF  c                   óV   a a€ ] tR tRt oRtRtRV3R lV 3R llltV3R ltRtVt	V ;t
# )	Ú	SmoothMADiµ  aù  
+----------------+-------------------------------------------+
| math           | median +/- K * MAD                        |
| config         | SmoothMAD(k=K)                            |
+----------------+-------------------------------------------+
+----------------+-------------------------------------------+
| K              | width multiplier for MAD window           |
| effect         | higher K = less clipping                  |
+----------------+-------------------------------------------+
ç      @c                ó&   <€ V ^8„  d   QhRS[ RS[/# ©r   rÊ   r1  r9  )r   r   s   "€r    r!   ÚSmoothMAD.__annotate__Ã  s   ø€ ÷ ñ ™%ð ¹cñ r#   c                ó6   <€ \         SV `  RVR7       Wn        R# )z<Configure MAD-based clipping width and activation threshold.Úmadr<  N©r=  r*   rÊ   ©r)   rÊ   r1  r>  s   &&&€r    r*   ÚSmoothMAD.__init__Ã  s   ø€ ô 	‰Ñ˜eÐ:NÐÔOØŽr#   c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # ©r   rÊ   r  )r   r   s   "€r    r!   rV  µ  s   ø‡ ‚ ñ �Oò r#   ©rÊ   )rS  rB  ©rB   rC   rD   rE   rF   rÊ   r*   r¦   rH   rI   rC  rD  s   @@r    rR  rR  µ  s"   ù‡ € ñ	ð €A÷õ ÷ … r#   rR  c                   óZ   a a€ ] tR tRt oRt^ tRtRV3R lV 3R llltV3R ltRt	Vt
V ;t# )	Ú	SmoothMSEiÊ  a8  
+----------------+-------------------------------------------+
| math           | grid-search shrink p in [1..maxshrink]    |
| config         | SmoothMSE(steps=N, maxshrink=S)           |
+----------------+-------------------------------------------+
+----------------+-------------------------------------------+
| steps (N)      | number of shrink candidates               |
| maxshrink (S)  | smallest range multiplier                 |
| effect         | more steps = better fit, slower           |
+----------------+-------------------------------------------+
çš™™™™™é?c                ó,   <€ V ^8„  d   QhRS[ RS[RS[ /# )r   ÚstepsÚ	maxshrinkr1  ©rå   r  )r   r   s   "€r    r!   ÚSmoothMSE.__annotate__Ú  s#   ø€ ÷ #ñ #™cð #±5ð #ÑVYñ #r#   c                óB   <€ \         SV `  RVR7       Wn        W n        R# )z5Configure search granularity for MSE-based shrinking.rg   r<  N)r=  r*   rd  re  )r)   rd  re  r1  r>  s   &&&&€r    r*   ÚSmoothMSE.__init__Ú  s"   ø€ ô 	‰Ñ˜eÐ:NÐÔOØŒ
Ø"Žr#   c                ó2   <€ V ^8„  d   Qh/ S[ ;R&   S[;R&   # )r   rd  re  rf  )r   r   s   "€r    r!   rg  Ê  s   ø‡ ‚ ñ �Oñ ñ Ñò r#   )re  rd  )é    rb  rB  )rB   rC   rD   rE   rF   rd  re  r*   r¦   rH   rI   rC  rD  s   @@r    ra  ra  Ê  s'   ù‡ € ñ
ð €EØ€I÷#õ #÷! … r#   ra  c                   óV   a a€ ] tR tRt oRtRtRV3R lV 3R llltV3R ltRtVt	V ;t
# )	ÚSmoothOutlieriâ  aù  
+----------------+-------------------------------------------+
| math           | clip by kth |w|, keep (100-pct)% mass     |
| config         | SmoothOutlier(pct=p)                      |
+----------------+-------------------------------------------+
+----------------+-------------------------------------------+
| pct (p)        | top-pct of |w| treated as outliers        |
| effect         | higher p = more clipping                  |
+----------------+-------------------------------------------+
râ  c                ó&   <€ V ^8„  d   QhRS[ RS[/# )r   Úpctr1  r9  )r   r   s   "€r    r!   ÚSmoothOutlier.__annotate__ð  s   ø€ ÷ ñ ™Eð ¹sñ r#   c                ó6   <€ \         SV `  RVR7       Wn        R# )z0Configure top-percent outlier clipping behavior.Úoutlierr<  N)r=  r*   ro  )r)   ro  r1  r>  s   &&&€r    r*   ÚSmoothOutlier.__init__ð  s   ø€ ô 	‰Ñ˜iÐ>RÐÔSØŽr#   c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # )r   ro  r  )r   r   s   "€r    r!   rp  â  s   ø‡ ‚ ñ 
Ñò r#   ©ro  )râ  rB  )rB   rC   rD   rE   rF   ro  r*   r¦   rH   rI   rC  rD  s   @@r    rm  rm  â  s"   ù‡ € ñ	ð €C÷õ ÷ … r#   rm  c                   óV   a a€ ] tR tRt oRtRtRV3R lV 3R llltV3R ltRtVt	V ;t
# )	ÚSmoothSoftNormi÷  aù  
+----------------+-------------------------------------------+
| math           | z=(w-mean)/rms, clip z to +/-K            |
| config         | SmoothSoftNorm(k=K)                       |
+----------------+-------------------------------------------+
+----------------+-------------------------------------------+
| K              | z-score clip limit                        |
| effect         | higher K = less clipping                  |
+----------------+-------------------------------------------+
ç      @c                ó&   <€ V ^8„  d   QhRS[ RS[/# rU  r9  )r   r   s   "€r    r!   ÚSmoothSoftNorm.__annotate__  s   ø€ ÷ ñ ™%ð ¹Sñ r#   c                ó6   <€ \         SV `  RVR7       Wn        R# )z;Configure z-score clipping strength for soft normalization.Úsoftnormr<  NrY  rZ  s   &&&€r    r*   ÚSmoothSoftNorm.__init__  s   ø€ ô 	‰Ñ˜jÐ?SÐÔTØŽr#   c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # r]  r  )r   r   s   "€r    r!   rz  ÷  s   ø‡ ‚ ñ �Nò r#   r^  )rx  rB  r_  rD  s   @@r    rw  rw  ÷  s"   ù‡ € ñ	ð €A÷õ ÷ … r#   rw  c                   óZ   a a€ ] tR tRt oRtRtRtR	V3R lV 3R llltV3R ltRt	Vt
V ;t# )
Ú	SmoothLogi  a8  
+----------------+-------------------------------------------+
| math           | log1p(mu*|w|) percentile, invert to clip  |
| config         | SmoothLog(percentile=p, mu=mu)            |
+----------------+-------------------------------------------+
+----------------+-------------------------------------------+
| percentile (p) | percentile in log space for clip          |
| mu             | log companding strength                   |
| effect         | higher mu compresses outliers more        |
+----------------+-------------------------------------------+
r6  rã  c                ó,   <€ V ^8„  d   QhRS[ RS[ RS[/# )r   r8  Úmur1  r9  )r   r   s   "€r    r!   ÚSmoothLog.__annotate__  s#   ø€ ÷ ñ ¡5ð ±Uð ÑX[ñ r#   c                óB   <€ \         SV `  RVR7       Wn        W n        R# )zGConfigure log-domain smoothing with percentile and companding strength.Úlogr<  N)r=  r*   r8  r‚  )r)   r8  r‚  r1  r>  s   &&&&€r    r*   ÚSmoothLog.__init__  s"   ø€ ô 	‰Ñ˜eÐ:NÐÔOØ$ŒØŽr#   c                ó2   <€ V ^8„  d   Qh/ S[ ;R&   S[ ;R&   # )r   r8  r‚  r  )r   r   s   "€r    r!   rƒ    s   ø‡ ‚ ñ Ññ ñ 	�Oò r#   )r‚  r8  )r6  rã  rB  )rB   rC   rD   rE   rF   r8  r‚  r*   r¦   rH   rI   rC  rD  s   @@r    r€  r€    s'   ù‡ € ñ
ð €JØ€B÷õ ÷! … r#   r€  c                   óV   a a€ ] tR tRt oRtRtRV3R lV 3R llltV3R ltRtVt	V ;t
# )	ÚSmoothRowColi$  aù  
+----------------+-------------------------------------------+
| math           | divide by row/col RMS, re-scale after     |
| config         | SmoothRowCol(axis="row"|"col")            |
+----------------+-------------------------------------------+
+----------------+-------------------------------------------+
| axis           | apply RMS scale per "row" or "col"        |
| effect         | normalizes dynamic range before quant     |
+----------------+-------------------------------------------+
r  c                ó&   <€ V ^8„  d   QhRS[ RS[/# )r   Úaxisr1  r2  )r   r   s   "€r    r!   ÚSmoothRowCol.__annotate__2  s   ø€ ÷ ñ ™Sð Áñ r#   c                ó6   <€ \         SV `  RVR7       Wn        R# )z1Configure RMS normalization over rows or columns.Úrowcolr<  N)r=  r*   r‹  )r)   r‹  r1  r>  s   &&&€r    r*   ÚSmoothRowCol.__init__2  s   ø€ ô 	‰Ñ˜hÐ=QÐÔRØŽ	r#   c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # )r   r‹  r   )r   r   s   "€r    r!   rŒ  $  s   ø‡ ‚ ñ Ñò r#   ©r‹  )r  rB  )rB   rC   rD   rE   rF   r‹  r*   r¦   rH   rI   rC  rD  s   @@r    r‰  r‰  $  s"   ù‡ € ñ	ð €D÷õ ÷ … r#   r‰  c                   ó"   € ] tR tRtRtRtRtRtR# )ÚGcModei9  z7Policies for when staged garbage collection should run.ÚintervalÚon_stage_endr6   N)rB   rC   rD   rE   rF   ÚINTERVALÚON_STAGE_ENDrH   r6   r#   r    r“  r“  9  s   † ÙAà€HØ!„Lr#   r“  c                   óP   a € ] tR tRt o Rt]P                  tRtRt	V 3R lt
RtV tR# )ÚFallbacki@  zHLow-sample fallback strategy for modules with weak calibration coverage.z0.5%Nc                ón   <€ V ^8„  d   Qh/ S[ ;R&   S[S[,          S[,          ;R&   S[S[,          ;R&   # )r   ÚstrategyÚ	thresholdÚsmooth)r¨   rå   r  r   r   r/  )r   r   s   "€r    r!   ÚFallback.__annotate__@  s:   ø‡ ‚ ñ Ñ5ñ	 ñ ‘U�{™SÕ Ñ)ñ ñ ‘\Õ"Ñ)ò r#   r6   )rB   rC   rD   rE   rF   r¨   r®   r›  rœ  r�  r¦   rH   rI   rJ   s   @r    r™  r™  @  s(   ø‡ € áRà!1×!5Ñ!5€Hð $*€Ið &*€F÷ ƒ r#   r™  c                   óR   a € ] tR tRt o Rt]P                  tRtR t	V 3R lt
RtV tR# )ÚWeightOnlyConfigiO  z:Configuration for weight-only fallback quantization flows.Nc                óü  € \        V P                  \        4      '       d+    \        V P                  P	                  4       4      V n        ML\        V P                  \        4      '       g-   \        R\         Uu. uF  q"P                  NK  	  up R24      h\        V P                  4      V n        R#   \
         d9   p\        R\         Uu. uF  q"P                  NK  	  Mu upi up R24      ThRp?ii ; iu upi )z@Normalize the weight-only method and optional smoother settings.z*WeightOnlyConfig: `method` must be one of rx  N)	ró   rZ   r   r´   r  ro  rÖ   Ú_parse_smooth_methodr�  )r)   ÚexcÚvs   &  r    rp  ÚWeightOnlyConfig.__post_init__W  sÑ   € ô �d—k‘k¤3×'Ò'ðÜ.¨t¯{©{×/@Ñ/@Ó/BÓC�•ô
 ˜DŸK™KÔ)9×:Ò:ÜØ<ÕO_Ó=`ÑO_È!¿g¼gÑO_Ñ=`Ð<aÐabÐcóð ô +¨4¯;©;Ó7ˆŽøô ô Ü Ø@ÕScÓAdÑScÈaÇ'Ä'ÒScùÔAdÐ@eÐefÐgóàðûðüò >as)   ¢(B3 Á9C9
Â3C6Â>C1ÃC!Ã C1Ã1C6c                óB   <€ V ^8„  d   Qh/ S[ ;R&   S[S[,          ;R&   # )r   rZ   r�  )r´   r   r/  )r   r   s   "€r    r!   ÚWeightOnlyConfig.__annotate__O  s$   ø‡ ‚ ñ Ñ3ñ	 ñ ‘\Õ"Ñ)ò r#   ©rZ   r�  )rB   rC   rD   rE   rF   r´   r®   rZ   r�  rp  r¦   rH   rI   rJ   s   @r    r   r   O  s$   ø‡ € áDà/×3Ñ3€Fà%)€Fò8÷ ƒ r#   r   c                   óF   a € ] tR tRt o RtRtV 3R lR ltV 3R ltRtV t	R# )	ÚBasePreProcessorConfigii  z?Base payload for preprocessing stages emitted into config JSON.rž  c                ó6   <€ V ^8„  d   QhRS[ S[S[3,          /# r-   ©r   r   r   )r   r   s   "€r    r!   Ú#BasePreProcessorConfig.__annotate__o  s   ø€ ÷ #ñ #™™c¡3˜h�ñ #r#   c                ó   € RV P                   /# )z<Serialize the preprocessor config into a minimal dictionary.Úcode)r¯  r2   s   &r    Úto_dictÚBasePreProcessorConfig.to_dicto  s   € ð ˜Ÿ	™	Ð"Ð"r#   c                ó6   <€ V ^8„  d   Qh/ S[ S[,          ;R&   # ©r   r¯  ©r   r   )r   r   s   "€r    r!   r­  i  s   ø‡ ‚ ñ ‘3�-Ñò	 r#   r6   N)
rB   rC   rD   rE   rF   r¯  r°  r¦   rH   rI   rJ   s   @r    rª  rª  i  s   ø‡ € áIà€D÷#ð #÷ ƒ r#   rª  c                   ó„   a a€ ] tR tRt oRt]P                  P                  tRt	R t
V3R lV 3R lltV3R ltRtVtV ;t# )	ÚSmootherConfigiu  z;Serialized wrapper for a configured smoothing preprocessor.Nc                ó:   € \        V P                  4      V n        R# )z>Normalize the smoother payload into a typed smoother instance.N)r¢  r�  r2   s   &r    rp  ÚSmootherConfig.__post_init__|  s   € ô +¨4¯;©;Ó7ˆŽr#   c                ó6   <€ V ^8„  d   QhRS[ S[S[3,          /# r-   r¬  )r   r   s   "€r    r!   ÚSmootherConfig.__annotate__�  s   ø€ ÷ ñ ™™c¡3˜h�ñ r#   c                óT   <€ \         SV `  4       p\        V P                  4      VR&   V# )z>Serialize the smoother config, including the smoother payload.r�  )r=  r°  Ú_serialize_smooth_methodr�  ©r)   Úpayloadr>  s   & €r    r°  ÚSmootherConfig.to_dict�  s)   ø€ ô ‘'‘/Ó#ˆÜ4°T·[±[ÓAˆ�ÑØˆr#   c                óR   <€ V ^8„  d   Qh/ S[ S[,          ;R&   S[S[,          ;R&   # )r   r¯  r�  )r   r   r   r/  )r   r   s   "€r    r!   rº  u  s(   ø‡ ‚ ñ ‘3�-Ñ9ñ	 ñ
 ‘\Õ"Ñ)ò r#   ©r�  )rB   rC   rD   rE   rF   r¸   r¼   rÖ   r¯  r�  rp  r°  r¦   rH   rI   rC  rD  s   @@r    r¶  r¶  u  s4   ù‡ € áEà*×3Ñ3×9Ñ9€DØ%)€Fò8÷
ó ÷ … r#   r¶  c                   óœ   a a€ ] tR tRt oRt]P                  P                  tRt	]
P                  tR tV3R lV 3R lltV3R ltRtVtV ;t# )	ÚAutoModuleDecoderConfigi‰  zSConfigure automatic module-local decode behavior for checkpoint dtypes such as FP8.Úautoc                óò  € \        V P                  4      P                  4       P                  4       pVR8w  d   \	        RV P                   R24      hWn        V P
                  p\        V\        P                  4      '       d   TpM:\        P                  \        V4      P                  4       P                  4       4      pV\        P                  \        P                  09  d   \	        R4      hW0n        R# )zENormalize the decoder payload into canonical string and dtype values.rÄ  z5AutoModuleDecoderConfig: unsupported `source_dtype` `rµ  zTAutoModuleDecoderConfig: `target_dtype` must be `torch.float16` or `torch.bfloat16`.N)r   Úsource_dtyperô   r  ro  Útarget_dtyperó   rþ  ÚdtypeÚ_DECODER_TARGET_DTYPE_MAPr{  rP   rS   )r)   rÆ  rÇ  Únormalized_dtypes   &   r    rp  Ú%AutoModuleDecoderConfig.__post_init__‘  sÎ   € ô ˜4×,Ñ,Ó-×3Ñ3Ó5×;Ñ;Ó=ˆØ˜6Ô!ÜØGÈ×HYÑHYÐGZÐZ\Ð]óð ð )Ôà×(Ñ(ˆÜ�l¤E§K¡K×0Ò0Ø+Ñä8×<Ñ<¼SÀÓ=N×=TÑ=TÓ=V×=\Ñ=\Ó=^Ó_ÐØ¤E§M¡M´5·>±>Ð#BÔBÜØfóð ð -Ör#   c                ó6   <€ V ^8„  d   QhRS[ S[S[3,          /# r-   r¬  )r   r   s   "€r    r!   Ú$AutoModuleDecoderConfig.__annotate__¦  s   ø€ ÷ ñ ™™c¡3˜h�ñ r#   c                óž   <€ \         SV `  4       pV P                  VR&   \        V P                  4      P                  R4      R,          VR&   V# )z@Serialize the decoder config with a stable dtype string payload.rÆ  rx  rÇ  éÿÿÿÿ)r=  r°  rÆ  r   rÇ  Úsplitr½  s   & €r    r°  ÚAutoModuleDecoderConfig.to_dict¦  sK   ø€ ô ‘'‘/Ó#ˆØ"&×"3Ñ"3ˆ�ÑÜ"% d×&7Ñ&7Ó"8×">Ñ">¸sÓ"CÀBÕ"Gˆ�ÑØˆr#   c                óx   <€ V ^8„  d   Qh/ S[ S[,          ;R&   S[;R&   S[S[S[P                  3,          ;R&   # )r   r¯  rÆ  rÇ  )r   r   r   rþ  rÈ  )r   r   s   "€r    r!   rÍ  ‰  s>   ø‡ ‚ ñ ‘3�-ÑDñ	 ñ
 Ññ ñ ™™UŸ[™[Ð(Õ)Ñ:ò r#   ©rÆ  rÇ  )rB   rC   rD   rE   rF   r¸   r½   rÖ   r¯  rÆ  rþ  rS   rÇ  rp  r°  r¦   rH   rI   rC  rD  s   @@r    rÃ  rÃ  ‰  s=   ù‡ € á]à*×>Ñ>×DÑD€DØ€LØ,1¯N©N€Lò-÷*ó ÷; … r#   rÃ  c                   ó\   a € ] tR tRt o Rt]P                  P                  tV 3R lt	Rt
V tR# )ÚTensorParallelPadderConfigi¯  zPConfigure tensor-parallel-safe column padding derived from module weight shapes.c                ó6   <€ V ^8„  d   Qh/ S[ S[,          ;R&   # r³  r´  )r   r   s   "€r    r!   Ú'TensorParallelPadderConfig.__annotate__¯  s   ø‡ ‚ ñ ‘3�-ÑGò	 r#   r6   N)rB   rC   rD   rE   rF   r¸   r¾   rÖ   r¯  r¦   rH   rI   rJ   s   @r    rÕ  rÕ  ¯  s    ø‡ € áZà*×AÑA×GÑG€D÷	 ƒ r#   rÕ  )rg  c                   ó:   a € ] tR tRt o RtRtR tV 3R ltRtV t	R# )ÚTelemetryConfigi¶  zJDiagnostic controls; never part of quantization/resume algorithm identity.Fc                óV   € \        V P                  4      \        Jd   \        R 4      hR# )z(TelemetryConfig.device must be a booleanN)ÚtypeÚdevicer¤   ro  r2   s   &r    rp  ÚTelemetryConfig.__post_init__¼  s$   € Ü�—‘Ó¤DÓ(ÜÐGÓHÐHñ )r#   c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # )r   rÜ  ©r¤   )r   r   s   "€r    r!   ÚTelemetryConfig.__annotate__¶  s   ø‡ ‚ ñ Ñò	 r#   r6   N)
rB   rC   rD   rE   rF   rÜ  rp  r¦   rH   rI   rJ   s   @r    rÙ  rÙ  ¶  s   ø‡ € áTà€FòI÷ ƒ r#   rÙ  c                   óª   a € ] tR tRt o Rt]! RRR/R7      t]! RRR/R7      t]! ]P                  RR/R7      t
]! R	RR
/R7      tR tV 3R ltRtV tR# )ÚHessianConfigiÁ  zBControls for chunked Hessian accumulation during GPTQ calibration.NÚhelpzMaximum rows per Hessian chunk©ÚdefaultÚmetadataz2Memory budget (in bytes) for Hessian chunk stagingz>Stage Hessian chunks in a lower precision dtype when supportedTz¡Collect the Hessian once per explicit `:in=<tag>` shared-input group and copy it to the other group members instead of accumulating it separately for each modulec                ó¤  € \        V P                  \        4      '       g   \        R4      hV P                  eH   \        V P                  \
        4      '       g   \        R4      hV P                  ^ 8:  d   \        R4      hV P                  eH   \        V P                  \
        4      '       g   \        R4      hV P                  ^ 8:  d   \        R4      h\        V P                  \        4      '       d]   V P                  P                  4       V n        V P                  R	9  d   \        R4      h\        \        V P                  4      V n        R# \        V P                  \        P                  4      '       dL   V P                  \        P                  \        P                  \        P                  39  d   \        R4      hR# \        R4      h)
z5Validate Hessian chunking and staging dtype settings.z4HessianConfig: `dedup_shared_inputs` must be a bool.Nz7HessianConfig: `chunk_size` must be an integer or None.z7HessianConfig: `chunk_size` must be a positive integer.z8HessianConfig: `chunk_bytes` must be an integer or None.zHHessianConfig: `chunk_bytes` must be a positive integer amount of bytes.zEHessianConfig: `staging_dtype` must be float32, float16, or bfloat16.z?HessianConfig: `staging_dtype` must be a torch.dtype or string.)Úfloat32rP   rS   )ró   Údedup_shared_inputsr¤   ro  Ú
chunk_sizerå   Úchunk_bytesÚstaging_dtyper   r  Úgetattrrþ  rÈ  rè  rP   rS   r2   s   &r    rp  ÚHessianConfig.__post_init__Ô  sY  € ô ˜$×2Ñ2´D×9Ò9ÜÐSÓTÐTà�?‰?Ò&Ü˜dŸo™o¬s×3Ò3Ü Ð!ZÓ[Ð[Ø�‰ !Ô#Ü Ð!ZÓ[Ð[à×ÑÒ'Ü˜d×.Ñ.´×4Ò4Ü Ð![Ó\Ð\Ø×Ñ 1Ô$Ü Ð!kÓlÐlä�d×(Ñ(¬#×.Ò.Ø!%×!3Ñ!3×!9Ñ!9Ó!;ˆDÔØ×!Ñ!Ð)KÔKÜ Ð!hÓiÐiÜ!(¬°×0BÑ0BÓ!CˆDÖÜ˜×*Ñ*¬E¯K©K×8Ò8Ø×!Ñ!¬%¯-©-¼¿¹ÌÏÉÐ)WÔWÜ Ð!hÓiÐiñ Xô Ð^Ó_Ð_r#   c                ó”   <€ V ^8„  d   Qh/ S[ S[,          ;R&   S[ S[,          ;R&   S[S[S[P
                  3,          ;R&   S[;R&   # )r   rê  rë  rì  ré  )r   rå   r   r   rþ  rÈ  r¤   )r   r   s   "€r    r!   ÚHessianConfig.__annotate__Á  sS   ø‡ ‚ ñ
 ™•Ñhñ ñ ™#•Ñ}ñ ñ ™™eŸk™kÐ)Õ*ñ ñ ñ ñ ò r#   )rì  )rB   rC   rD   rE   rF   r   rê  rë  rþ  rè  rì  ré  rp  r¦   rH   rI   rJ   s   @r    râ  râ  Á  ss   ø‡ € áLñ !&¨d¸fÐFfÐ=gÔ h€JÙ!&¨t¸vÐG{Ð>|Ô!}€KÙ-2Ø—‘ØÐZÐ[ô.€Mñ !&Øàð `ð
ô!Ðò`÷' ƒ r#   râ  c                   óV   a € ] tR tRt o ]! RR7      t]! RR7      tR tV 3R ltRt	V t
R# )	ÚGPTAQConfigiò  g      Ð?©rå  rÄ  c                óP  € \        V P                  \        \        34      '       g   \	        R 4      h\        V P
                  \        4      '       d    V P
                  '       g   \	        R4      hR# \        V P
                  \        P
                  4      '       g   \	        R4      hR# )z-GPTAQConfig: `alpha` must be a numeric value.zAGPTAQConfig: `device` must be a non-empty string or torch.device.z7GPTAQConfig: `device` must be a string or torch.device.N)ró   Úalpharå   r  ro  rÜ  r   rþ  r2   s   &r    rp  ÚGPTAQConfig.__post_init__÷  st   € Ü˜$Ÿ*™*¤s¬E l×3Ò3ÜÐLÓMÐMÜ�d—k‘k¤3×'Ò'Ø—;—;�;Ü Ð!dÓeÐeñ ä˜DŸK™K¬¯©×6Ò6ÜÐVÓWÐWñ 7r#   c                ó\   <€ V ^8„  d   Qh/ S[ ;R&   S[S[S[P                  3,          ;R&   # )r   rõ  rÜ  ©r  r   r   rþ  rÜ  )r   r   s   "€r    r!   ÚGPTAQConfig.__annotate__ò  s+   ø‡ ‚ áÑ&ñ ñ ‘#‘u—|‘|Ð#Õ$Ñ<ò r#   r6   N)rB   rC   rD   rE   r   rõ  rÜ  rp  r¦   rH   rI   rJ   s   @r    rò  rò  ò  s&   ø‡ € á Ô&€EÙ',°VÔ'<€FòX÷ ƒ r#   rò  c                   ól   a € ] tR tRt o Rt]! ^ R7      t]! RR7      t]! RR7      tR t	V 3R lt
RtV tR	# )
Ú
FOEMConfigi  a=  Configuration parameters for the FOEM calibration process, including `alpha` and `beta`.

The parameter `alpha` follows the same definition and role as in GPTAQ.
Note: although GPTAQ does not explicitly mention this coefficient in the paper,
its official implementation applies it to the rightmost term of Eq.18.

The parameter `beta` is introduced by FOEM. Please refer to the paper for details:
https://ojs.aaai.org/index.php/AAAI/article/view/40123.

Special cases:
    - alpha = 0, beta = 0:
        Equivalent to GPTQ.
    - alpha > 0, beta = 0:
        Equivalent to GPTAQ. The recommended value for `alpha` is 0.25.
    - alpha = 0, beta > 0:
        Equivalent to FOEM. Empirically, setting `beta` in the range [0.1, 0.25] yields good performance.
    - alpha > 0, beta > 0:
        Equivalent to FOEM + GPTAQ. Using the default best settings
        (alpha = 0.25, beta = 0.2) generally produces strong results,
        although it is not consistently superior to using FOEM alone.

Args:
    alpha (float, optional): Default is 0.
    beta (float, optional): Default is 0.2.
ró  gš™™™™™É?rÄ  c                ó²  € \        V P                  \        \        34      '       g   \	        R 4      h\        V P
                  \        \        34      '       g   \	        R4      h\        V P                  \        4      '       d    V P                  '       g   \	        R4      hR# \        V P                  \        P                  4      '       g   \	        R4      hR# )z,FOEMConfig: `alpha` must be a numeric value.z+FOEMConfig: `beta` must be a numeric value.z@FOEMConfig: `device` must be a non-empty string or torch.device.z6FOEMConfig: `device` must be a string or torch.device.N)	ró   rõ  rå   r  ro  ÚbetarÜ  r   rþ  r2   s   &r    rp  ÚFOEMConfig.__post_init__   s•   € Ü˜$Ÿ*™*¤s¬E l×3Ò3ÜÐKÓLÐLÜ˜$Ÿ)™)¤c¬5 \×2Ò2ÜÐJÓKÐKÜ�d—k‘k¤3×'Ò'Ø—;—;�;Ü Ð!cÓdÐdñ ä˜DŸK™K¬¯©×6Ò6ÜÐUÓVÐVñ 7r#   c                óh   <€ V ^8„  d   Qh/ S[ ;R&   S[ ;R&   S[S[S[P                  3,          ;R&   # )r   rõ  rý  rÜ  rø  )r   r   s   "€r    r!   ÚFOEMConfig.__annotate__  s:   ø‡ ‚ ñ6 Ñ#ñ7 ñ8 Ñ$ñ9 ñ: ‘#‘u—|‘|Ð#Õ$Ñ<ò; r#   r6   N)rB   rC   rD   rE   rF   r   rõ  rý  rÜ  rp  r¦   rH   rI   rJ   s   @r    rû  rû    s7   ø‡ € ññ2  Ô#€EÙ Ô$€DÙ',°VÔ'<€Fò	W÷? ƒ r#   rû  c                   ó   € ] tR tRtRtR# )ÚBaseMoERoutingi,  r6   N)rB   rC   rD   rE   rH   r6   r#   r    r  r  ,  s   † ãr#   r  Úallc                   ó6   a € ] tR tRt o ]tR tV 3R ltRtV t	R# )ÚExpertsRoutingOverridei4  c                ó@  € \        V P                  \        4      '       d®   V P                  P                  4       pVP	                  4       '       d;   \        V4      pV^ 8:  d!   \        R\         RV P                   R24      hW n        R# VP                  4       pV\        8w  d!   \        R\         RV P                   R24      hW n        R# \        V P                  \
        4      '       d   V P                  ^ 8:  d    \        R\         RV P                   24      hR# )r   z/num_experts_per_tok must be a positive int or 'z', got 'Ú'Nz', got )	ró   Únum_experts_per_tokr   rô   rõ   rå   ro  ÚMOE_ALL_EXPERTSr  )r)   rÇ  rÖ   s   &  r    rp  Ú$ExpertsRoutingOverride.__post_init__8  s"  € ä�d×.Ñ.´×4Ò4Ø×*Ñ*×0Ñ0Ó2ˆCð �{‰{�}Š}Ü˜C›�Ø˜A”:Ü$ØIÌ/ÐIZð [ Ø $× 8Ñ 8Ð9¸ð<óð ð ,1Ô(Ùð —I‘I“KˆEØœÔ'Ü ØEÄoÐEVð WØ ×4Ñ4Ð5°Qð8óð ð
 (-Ô$Ùô ˜$×2Ñ2´C×8Ò8¸D×<TÑ<TÐXYÔ<YÜØAÄ/ÐARð SØ×/Ñ/Ð0ð2óð ñ =Zr#   c                ó<   <€ V ^8„  d   Qh/ S[ S[S[3,          ;R&   # )r   r  )r   rå   r   )r   r   s   "€r    r!   Ú#ExpertsRoutingOverride.__annotate__4  s   ø‡ ‚ á™s¡C˜x�Ñ:ò r#   ©r  N)
rB   rC   rD   rE   r	  r  rp  r¦   rH   rI   rJ   s   @r    r  r  4  s   ø‡ € à+:Ðò ÷	 ƒ r#   r  c                   óD   a € ] tR tRt o ]! RRR/R7      tV 3R ltRtV tR# )ÚExpertsRoutingBypassi]  Nrã  zFNumber of modules to process in a single batch during MoE quantizationrä  c                ó6   <€ V ^8„  d   Qh/ S[ S[,          ;R&   # )r   Ú
batch_sizer$  )r   r   s   "€r    r!   Ú!ExpertsRoutingBypass.__annotate__]  s   ø‡ ‚ ñ ™•ñ ò r#   r6   )	rB   rC   rD   rE   r   r  r¦   rH   rI   rJ   s   @r    r  r  ]  s$   ø‡ € ñ !&ØØÐbÐcô!€J÷ ƒ r#   r  c                   óh   a € ] tR tRt o R tV 3R lR ltV 3R lR ltV 3R lR ltV 3R	 ltR
t	V t
R# )Ú	MoEConfigii  c                óœ   € \        V P                  \        4      '       g,   \        R \	        V P                  4      P
                   24      hR# )z3routing must be an instance of BaseMoERouting, got N)ró   Úroutingr  ro  rÛ  rB   r2   s   &r    rp  ÚMoEConfig.__post_init__m  sD   € Ü˜$Ÿ,™,¬×7Ò7ÜðÜ˜DŸL™LÓ)×2Ñ2Ð3ð5óð ñ 8r#   c                ó    <€ V ^8„  d   QhRS[ /# r-   rß  )r   r   s   "€r    r!   ÚMoEConfig.__annotate__t  s   ø€ ÷ >ñ >¡ñ >r#   c                ó6   € \        V P                  \        4      # r0   )ró   r  r  r2   s   &r    Úrouting_bypassÚMoEConfig.routing_bypasst  s   € Ü˜$Ÿ,™,Ô(<Ó=Ð=r#   c                ó:   <€ V ^8„  d   QhRS[ RS[S[ R3,          /# ©r   Únum_expertsr.   N©rå   r   )r   r   s   "€r    r!   r  w  s$   ø€ ÷ ñ ©Cð ±E¹#¸t¸)Õ4Dñ r#   c           	     óê  € \        V P                  \        4      '       dÓ   \        V P                  P                  \        4      '       d>   V P                  P                  P                  4       P                  4       \        8X  d   V# \        V P                  P                  \        4      '       g   Q hV P                  P                  pW!8”  d"   \        P                  RV RV RV R24       TpV# R# )zÐ
Resolve MoE routing top-k override.

Returns the effective number of experts per token if routing override
is enabled, otherwise None.

- "all" resolves to `num_experts`
- integer value is returned directly
z5MoEConfig: MoE routing override num_experts_per_tok (z) exceeds num_experts (z); clamping to rx  N)ró   r  r  r  r   r  rô   r	  rå   r…  r}  )r)   r  Útop_ks   && r    Úrouting_overrideÚMoEConfig.routing_overridew  sÏ   € ô �d—l‘lÔ$:×;Ò;ä˜$Ÿ,™,×:Ñ:¼C×@Ò@ÀTÇ\Á\×EeÑEe×EkÑEkÓEm×EsÑEsÓEuô  zIô  FIØ"Ð"ä˜dŸl™l×>Ñ>Ä×DÒDÐDÐDØ—L‘L×4Ñ4ˆEð Ô"Ü—‘ÐPÐQVÐPWð X$Ø$/ =°À¸}ÈAðOô Qà#�àˆLár#   c                ó6   <€ V ^8„  d   QhRS[ S[S[3,          /# r-   r¬  )r   r   s   "€r    r!   r  “  s   ø€ ÷ 
ñ 
™™c¡3˜h�ñ 
r#   c                ót   € R RV P                   P                  P                  /\        V P                   4      C/# )r  Úclass)r  r>  rB   r   r2   s   &r    r°  ÚMoEConfig.to_dict“  s:   € àØ˜Ÿ™×/Ñ/×8Ñ8ðä˜Ÿ™Ó&ðð
ð 	
r#   c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # )r   r  )r  )r   r   s   "€r    r!   r  i  s   ø‡ ‚ áÑò r#   r6   N)rB   rC   rD   rE   rp  r  r#  r°  r¦   rH   rI   rJ   s   @r    r  r  i  s0   ø‡ € ò÷>ð >÷ð ÷8
ð 
÷U ƒ r#   r  ç{®Gáz„?g      Y@Úw_bitÚwbitsÚq_group_sizeÚbnb_quant_typeÚbnb_block_sizeÚ
block_sizeÚbnb_compress_statisticsÚcompress_statisticsÚ
zero_pointc                óF   € V ^8„  d   QhR\         R\        \         ,          /# )r   rÇ  r.   )r   r   )r   s   "r    r!   r!   ,  s   € ÷  ñ  ¬ð  ´¼µñ  r#   c                ó  € V P                  R4      '       d   V P                  R4      '       g   R# V ^R p . p^ p\        V 4      pW#8  d«   W,          pVR8X  dw   V^,           V8¼  d   R# W^,           ,          pVR8X  d   VP                  R4       V^,          pKW  VP	                  4       '       d   R# VP                  V4       V^,          pK‹  VR9   d   R# VP                  V4       V^,          pK°  RP                  V4      # )zMIf `raw` is a regex that matches a single literal string, return that string.Ú^Ú$NÚ\z.^$*+?{}[]()|rž  rÏ  )Ú
startswithÚendswithr  ÚappendÚisalnumr   )rÇ  ÚoutÚiÚnÚchÚnxts   &     r    Ú_extract_literal_regex_patternrB  ,  sß   € ð
 �>‰>˜#×Ò c§l¡l°3×&7Ò&7ÙØ
ˆa�ˆ)€CØ
€CØ	€AÜˆC‹€AØ
Œ%Ø�VˆØ�Œ:Ø�1�u˜ŒzÙØ˜!•e•*ˆCØ�dŒ{Ø—
‘
˜4Ô Ø�Q•�ÙØ�{‰{�}Š}áà�J‰J�sŒOØ��FˆAÙØ�Ô ÙØ�
‰
�2ŒØ	ˆQ�ŠØ�7‰7�3‹<Ðr#   c          
      ó  € V ^8„  d   QhR\         \        \         \        \        3,          3,          R\        \        \
        \        \         \        \        3,          \        \        ,          \        3,          ,          /# )r   Údynamicr.   )r   r   r   r   r   r¤   r   rå   )r   s   "r    r!   r!   O  sW   € ÷ !ñ !¤4¬¬T´#´s°(­^Ð(;Õ#<ð !ÄÄeÌDÔRUÔW[Ô\_ÔadÐ\dÕWeÔgoÔpsÕgtÔvyÐLyÕFzÕA{ñ !r#   c                óˆ  € \        V 4      p\        P                  V4      pVe   V# . p/ p. pRpV eÉ   \        V P	                  4       4       F«  w  pw  rxVP                  R4      p	VP                  R4      '       d
   VR,          MTp
\        V
4      pVf.   Rp \        P                  ! V
4      pTP                  YiYÈ34       M RpW³9  d   Yi'       d   RM
\        V4      3W;&   VP                  WœW‹V34       K­  	  V\        V&   V\        V&   V\        V&   V\        V&   V#   \         d   p\        RT R24      ThRp?ii ; i)	zeReturn compiled PCRE patterns (plus optional exact literal) for a dynamic dict, caching by object id.NTú-::r   NNFz)QuantizeConfig: invalid dynamic pattern `Ú`)rF  ú+:)r>   Ú_DYNAMIC_PATTERN_CACHEr{  Ú	enumerateÚitemsr9  rB  ÚpcreÚcompileÚ	Exceptionro  r;  ÚdictÚ_DYNAMIC_EXACT_LOOKUP_CACHEÚ_DYNAMIC_ALL_EXACT_CACHEÚ_DYNAMIC_REGEX_PATTERN_CACHE)rD  Ú	cache_keyÚpatternsÚexact_lookupÚregex_patternsÚ	all_exactÚindexÚpatternÚ	overridesÚis_negativerÇ  Úexact_literalÚcompiledr£  s   &             r    Ú_get_dynamic_patternsr^  O  sa  € ô �7“€IÜ%×)Ñ)¨)Ó4€HØÒØˆà€HØGI€LØBD€NØ€IØÒÜ+4°W·]±]³_Ö+EÑ'ˆEÑ'�GØ!×,Ñ,¨TÓ2ˆKØ!(×!3Ñ!3°L×!AÒ!A�'˜"–+ÀwˆCÜ:¸3Ó?ˆMØÒ$Ø!�	ðfÜ#Ÿ|š|¨CÓ0�Hð ×%Ñ% u¸8Ð&OÕPà�Ø Ô4Ø38Æ;¹%ÔTXÐYbÓTcÐ2d�LÑ/Ø�O‰O˜[°IÈeÐTÖUñ ,Fð  )1Ô˜9Ñ%Ø-9Ô 	Ñ*Ø*3Ô˜YÑ'Ø.<Ô  Ñ+Ø€Oøô !ô fÜ$Ð'PÐQXÐPYÐYZÐ%[Ó\ÐbeÐeûðfús   ÂD!Ä!EÄ,D<Ä<Ec          	      óÆ   € V ^8„  d   QhR\         \        \         \        \        3,          3,          R\        R\        \         \        \        3,          \        R3,          /# )r   rD  Úmodule_namer.   N)r   r   r   r   r¤   )r   s   "r    r!   r!   r  sL   € ÷ &ñ &Ü”#”tœC¤˜H•~Ð%Õ&ð&äð&ô Œ4””S��>œ4 Ð%Õ&ñ&r#   c                óf  € V f   R# \        V 4      p\        P                  V/ 4      pVP                  V\        4      pV\        Jd   V# \        V 4       \        P                  VR4      '       d2   \        V,          P                  V4      pVe
   V^,          MRpWcV&   V# \        V,          P                  V4      pVe
   V^ ,          MRpVe
   V^,          MRp\        V,           F@  w  r‰r«Ve	   W‡8”  d    M2V
P                  V4      '       g   K+  V	'       d   RM
\        V4      p M	  WcV&   V# )zMReturn the first matching dynamic override dict, False for negative, or None.NF)r>   Ú_DYNAMIC_OVERRIDE_CACHEÚ
setdefaultr{  Ú_DYNAMIC_NO_MATCHr^  rQ  rP  rR  r­  rO  )rD  r`  rS  Úoverride_cacheÚcachedÚexact_entryÚmatchedÚ
best_indexrX  r[  r]  rZ  s   &&          r    Ú_resolve_dynamic_overriderj  r  s#  € ð ‚Ùä�7“€IÜ,×7Ñ7¸	À2ÓF€NØ×Ñ Ô->Ó?€FØÔ&Ó&Øˆä˜'Ô"ô  ×#Ñ# I¨u×5Ò5Ü1°)Õ<×@Ñ@ÀÓMˆØ$/Ò$;�+˜a–.ÀˆØ&-�{Ñ#Øˆô .¨iÕ8×<Ñ<¸[ÓI€KØ#.Ò#:�˜Q–À€JØ +Ò 7ˆk˜!Žn¸T€Gä3OÐPY×3ZÐ3ZÑ/ˆ˜HØÒ! eÔ&8ÙØ�>‰>˜+×&Ô&ß*‘e´°Y³ˆGÙñ 4[ð #*�;ÑØ€Nr#   c                óJ   € V ^8„  d   QhR\         \        \        3,          RR/# )r   Údr.   Nr¬  )r   s   "r    r!   r!   š  s"   € ÷ 
+ñ 
+œt¤C¬ H�~ð 
+°$ñ 
+r#   c                ó2  € V P                  RR4      eI   \        V R,          \        4      '       g,   \        V R,          4      P                  R4      ^,          V R&   V P	                  4        F&  p\        V\
        4      '       g   K  \        V4       K(  	  R# )a  
Checks whether the passed dictionary and its nested dicts have a *scale_dtype* key and if it's not None,
converts torch.dtype to a string of just the type. For example, `torch.float32` get converted into *"float32"*
string, which can then be stored in the json format.
Úscale_dtypeNrx  )r{  ró   r   rÐ  ÚvaluesrO  Údict_scale_dtype_to_str)rl  rÖ   s   & r    rp  rp  š  sp   € ð 	‡u�uˆ]˜DÓ!Ò-´jÀÀ=ÕAQÔSV×6WÒ6WÜ˜q Õ/Ó0×6Ñ6°sÓ;¸AÕ>ˆˆ-ÑØ—‘–ˆÜ�eœT×"Ô"Ü# EÖ*ó r#   c                óh   € V ^8„  d   QhR\         \        \        3,          R\        \        ,          /# ©r   r¾  r.   )r   r   r   r   r/  )r   s   "r    r!   r!   §  s+   € ÷ 4Nñ 4N¬D´´c°­Nð 4N¼xÌÕ?Uñ 4Nr#   c           	      óš  € V P                  R 4      ;'       g    V P                  R4      pV'       g   R# \        V4      P                  4       P                  4       pV P                  R^€4      pVe   \	        V4      M^€pVR8X  d'   \        \        V P                  RR4      4      VR7      # VR%9   dA   \        \        V P                  RR4      4      \        V P                  R	R
4      4      VR7      # VR8X  d'   \        \        V P                  RR4      4      VR7      # VR8X  dA   \        \	        V P                  R^ 4      4      \        V P                  RR4      4      VR7      # VR8X  d'   \        \        V P                  RR4      4      VR7      # VR8X  d'   \        \        V P                  RR4      4      VR7      # VR8X  dA   \        \        V P                  RR4      4      \        V P                  RR4      4      VR7      # VR8X  d'   \        \        V P                  RR 4      4      VR!7      # VR"8X  d   R# \        R#V R$24      h)&rÛ  r1   Nr1  r8  r6  )r8  r1  rJ  rG  rK  rH  )rJ  rK  r1  rX  rÊ   rx  )rÊ   r1  rg   rd  re  rb  )rd  re  r1  rr  ro  râ  )ro  r1  r|  r…  r‚  rã  )r8  r‚  r1  rŽ  r‹  r  )r‹  r1  Únonez%QuantizeConfig: Unknown smooth type `rµ  )rN  Úpercentile_asymmetric)r{  r   rô   r  rå   r5  r  rF  rR  ra  rm  rw  r€  r‰  ro  )r¾  Úmethod_typeÚgroup_size_threshold_rawr1  s   &   r    Ú_build_smooth_method_from_dictrx  §  s+  € Ø—+‘+˜fÓ%×<Ð<¨¯©°VÓ)<€KßÙÜ�kÓ"×(Ñ(Ó*×0Ñ0Ó2€KØ&Ÿ{™{Ð+AÀ3ÓGÐØ<TÒ<`œ3Ð7Ô8ÐfiÐØ�lÔ"ÜÜ˜WŸ[™[¨°tÓ<Ó=Ø!5ô
ð 	
ð ÐBÔBÜ)Ü�g—k‘k %¨Ó-Ó.Ü�w—{‘{ 6¨4Ó0Ó1Ø!5ô
ð 	
ð
 �eÔÜÜ�G—K‘K  SÓ)Ó*Ø!5ô
ð 	
ð �eÔÜÜ�g—k‘k '¨2Ó.Ó/Ü˜GŸK™K¨°SÓ9Ó:Ø!5ô
ð 	
ð
 �iÔÜÜ�g—k‘k %¨Ó-Ó.Ø!5ô
ð 	
ð �jÔ ÜÜ�G—K‘K  SÓ)Ó*Ø!5ô
ð 	
ð �eÔÜÜ˜WŸ[™[¨°tÓ<Ó=Ü�W—[‘[  sÓ+Ó,Ø!5ô
ð 	
ð
 �hÔÜÜ�W—[‘[ ¨Ó/Ó0Ø!5ô
ð 	
ð �fÔÙÜ
Ð<¸[¸MÈÐLÓ
MÐMr#   c                óF   € V ^8„  d   QhR\         R\        \        ,          /# )r   Úsettingr.   )r   r   r/  )r   s   "r    r!   r!   Þ  s#   € ÷ 	cñ 	c¤#ð 	c¬(´<Õ*@ñ 	cr#   c                 óÜ   € V f   R # \        V \        4      '       d   V # \        V \        4      '       d   \        RV /4      # \        V \        4      '       d   \        V 4      # \        R4      h)NrÛ  zJQuantizeConfig: `fallback.smooth` must be a SmoothMethod, string, or dict.)ró   r/  r   rx  rO  ro  )rz  s   &r    r¢  r¢  Þ  s]   € Ø‚ÙÜ�'œ<×(Ò(ØˆÜ�'œ3×ÒÜ-¨v°wÐ.?Ó@Ð@Ü�'œ4× Ò Ü-¨gÓ6Ð6Ü
ÐaÓ
bÐbr#   c                ó~   € V ^8„  d   QhR\         \        ,          R\         \        \        \        3,          ,          /# ©r   rZ   r.   )r   r/  r   r   r   )r   s   "r    r!   r!   ê  s-   € ÷ ñ ¤X¬lÕ%;ð ÄÌÌcÔSVÈhÍÕ@Xñ r#   c                 ó  € V f   R # RV P                   RV P                  /p\        V \        4      '       d   V P                  VR&   V# \        V \
        4      '       d!   V P                  VR&   V P                  VR&   V# \        V \        4      '       d   V P                  VR&   V# \        V \        4      '       d!   V P                  VR&   V P                  VR&   V# \        V \        4      '       d   V P                  VR	&   V# \        V \        4      '       d   V P                  VR&   V# \        V \         4      '       d!   V P                  VR&   V P"                  VR
&   V# \        V \$        4      '       d   V P&                  VR&   V# )NrÛ  r1  r8  rJ  rK  rÊ   rd  re  ro  r‚  r‹  )r1   r1  ró   r5  r8  rF  rJ  rK  rR  rÊ   ra  rd  re  rm  ro  rw  r€  r‚  r‰  r‹  )rZ   r¾  s   & r    r¼  r¼  ê  sj  € Ø‚~Ùà�v—{‘{Ð$:¸F×<WÑ<WÐX€GÜ�&Ô*×+Ò+Ø &× 1Ñ 1ˆ�Ñð$ €Nô# 
�FÔ6×	7Ò	7ØŸ™ˆ�‰Ø Ÿ+™+ˆ�‰ð €Nô 
�FœI×	&Ò	&Ø—x‘xˆ�‰ð €Nô 
�FœI×	&Ò	&Ø!Ÿ<™<ˆ�ÑØ%×/Ñ/ˆ�Ñð €Nô 
�FœM×	*Ò	*ØŸ™ˆ�‰ð €Nô 
�FœN×	+Ò	+Ø—x‘xˆ�‰ð €Nô 
�FœI×	&Ò	&Ø &× 1Ñ 1ˆ�ÑØŸ	™	ˆ�‰ð €Nô 
�FœL×	)Ò	)Ø Ÿ+™+ˆ�‰Ø€Nr#   c                ó´   € V ^8„  d   QhR\         \        \        \        \        \
        \        3,          \
        3,          ,          R\         \        ,          /# rr  )r   r   r¶  r/  r   r   r   )r   s   "r    r!   r!     s<   € ÷ 	*ñ 	*Ü”eœN¬L¼$¼sÄC¸x½.Ì#ÐMÕNÕOð	*äŒnÕñ	*r#   c                 óÔ   € V f   R # \        V \        4      '       d   V # \        V \        4      '       d*   RV 9   d#   RV 9  d   \        V P                  R4      R7      # \        V R7      # )Nr�  rÛ  rÁ  )ró   r¶  rO  r{  ©r¾  s   &r    Ú_normalize_smoother_configr‚    sX   € ð ‚ÙÜ�'œ>×*Ò*ØˆÜ�'œ4× Ò  X°Ô%8¸VÈ7Ô=RÜ W§[¡[°Ó%:Ô;Ð;Ü Ô)Ð)r#   c                ó0   € V ^8„  d   QhR\         R\        /# rr  )r   rª  )r   s   "r    r!   r!     s   € ÷ Añ A¬Cð AÔ4Jñ Ar#   c                 ó–  € \        V \        4      '       d   V # \        V \        4      '       d   \        V R 7      # \        V \        4      '       d¨   V P                  4       P                  4       pV\        P                  P                  8X  d   \        RR 7      # V\        P                  P                  8X  d   \        4       # V\        P                  P                  8X  d   \        4       # \        V R 7      # \        V \        4      '       Ed2   \	        V P                  RR4      4      P                  4       P                  4       pV\        P                  P                  8X  d<   \        V P                  RR4      V P                  R\         P"                  4      R7      # V\        P                  P                  8X  d   \        4       # V'       d/   V\        P                  P                  8w  d   \%        RV R	24      hR
V 9   d   \        V P                  R
4      R 7      # RV 9   d   \        V R 7      # \        RR 7      # \%        R4      h)rÁ  Nr¯  rž  rÆ  rÄ  rÇ  rÓ  z/QuantizeConfig: unsupported preprocessor code `rµ  r�  rÛ  zhQuantizeConfig: `preprocessors` entries must be preprocessor configs, smooth configs, dicts, or strings.)ró   rª  r/  r¶  r   rô   r  r¸   r¼   rÖ   r½   rÃ  r¾   rÕ  rO  r{  rþ  rS   ro  )r¾  r  r¯  s   &  r    Ú_normalize_preprocessor_configr…    sÄ  € Ü�'Ô1×2Ò2ØˆÜ�'œ<×(Ò(Ü WÔ-Ð-Ü�'œ3×ÒØ—]‘]“_×*Ñ*Ó,ˆ
ØÔ)×2Ñ2×8Ñ8Ô8Ü!¨Ô.Ð.ØÔ)×=Ñ=×CÑCÔCÜ*Ó,Ð,ØÔ)×@Ñ@×FÑFÔFÜ-Ó/Ð/Ü WÔ-Ð-Ü�'œ4× Ó Ü�7—;‘;˜v rÓ*Ó+×1Ñ1Ó3×9Ñ9Ó;ˆØÔ#×7Ñ7×=Ñ=Ô=Ü*Ø$Ÿ[™[¨¸Ó@Ø$Ÿ[™[¨¼¿¹ÓHôð ð Ô#×:Ñ:×@Ñ@Ô@Ü-Ó/Ð/ß�DÔ,×5Ñ5×;Ñ;Ô;ÜÐNÈtÈfÐTVÐWÓXÐXØ�wÔÜ!¨¯©°XÓ)>Ô?Ð?Ø�WÔÜ!¨Ô1Ð1Ü TÔ*Ð*Ü
Ðó  Að  Ar#   c                ór   € V ^8„  d   QhR\         \        \        ,          ,          R\        \        ,          /# rr  )r   r   r   rª  )r   s   "r    r!   r!   2  s-   € ÷ Fñ F¤h¬t´C­yÕ&9ð F¼dÔCYÕ>Zñ Fr#   c                 ó�   € V f   . # \        V \        4      '       g   \        R4      hV  Uu. uF  p\        V4      NK  	  up# u upi )Nz7QuantizeConfig: `preprocessors` must be a list or None.)ró   r  ro  r…  )r¾  r(  s   & r    Ú_normalize_preprocessorsrˆ  2  sC   € Ø‚Øˆ	Ü�gœt×$Ò$ÜÐRÓSÐSÙ=DÓE¹W°TÔ*¨4Ö0¹WÑEÐEùÒEs   ¬Ac                ó>   € V ^8„  d   QhR\         \        ,          RR/# )r   Úpreprocessorsr.   N)r   rª  )r   s   "r    r!   r!   :  s!   € ÷ *ñ *´$Ô7MÕ2Nð *ÐSWñ *r#   c                 ó¶   € \        4       pV  FH  pVP                  V9   d   \        R VP                   R24      hVP                  VP                  4       KJ  	  R# )z(QuantizeConfig: duplicate preprocessor `z` is not allowed.N)Úsetr¯  ro  Úadd)rŠ  Ú
codes_seenÚpreprocessors   &  r    Ú_validate_unique_preprocessorsr�  :  sP   € Ü“€JÛ%ˆØ×Ñ 
Ô*ÜÐGÈ×HYÑHYÐGZÐZkÐlÓmÐmØ�‰�|×(Ñ(Ö)ó &r#   c                ó  € V ^8„  d   QhR\         \        \         \        \        \        \        3,          3,          3,          R\        R\        R\        \        \        3,          R\        R\        \         \        \        3,          /# )r   rD  r`  Úkeyrå  Úsub_keyr.   )r   r   r   rå   r¤   )r   s   "r    r!   r!   B  so   € ÷  ñ  œœc¤4¬¬U´3¼°9Õ-=Ð(=Õ#>Ð>Õ?ð  Ìcð  ÔX[ð  Üœs¤D˜yÕ)ð Ü;>ð ÜJOÔPTÔVYÔ[_ÐP_ÕJ`ñ r#   c                 óp  € V f   V# \        W4      pVRJ d   R# Vf   V# Vf   V# W%9   d
   WR,          pM4V\        9   d(   R p\        V,           F  pWu9   g   K  WW,          p M	  MV# V'       dF   \        V\        4      '       d   VP	                  WC4      # \
        P                  RV RV R24       V# V# )NFz!QuantConfig: Dynamic `sub_key`: `z(` failed extraction from  `sub_value`: `rG  )rj  ÚDYNAMIC_FIELD_SYNONYMSró   r   r{  r…  r}  )rD  r`  r’  rå  r“  rZ  Ú	sub_valueÚ
legacy_keys   &&&&&   r    Údynamic_getr˜  B  sÈ   € ð ‚Øˆä)¨'Ó?€IØ�EÓÙØÒØˆà
‚{ØÐà
ÔØ•N‰	Ø	Ô&Ô	&Øˆ	Ü0°×5Ð5ˆJØÖ&Ø%Õ1�	Ùò 6ð
 ˆçÜ�i¤×&Ò&Ø—=‘= Ó2Ð2Ü�‰Ð4°W°IÐ=eÐfoÐepÐpqÐrÔsØˆàÐr#   c                óR   € V ^8„  d   QhR\         \        \        3,          R\        /# rœ  ©r   r   r�   )r   s   "r    r!   r!   d  s#   € ÷ ñ ¤5¬¬f¨Õ#5ð ¼&ñ r#   c                 ó´  € \        V \        4      '       dû   V P                  4       p V \        P                  8X  d   \
        P                  # V \        P                  8X  d   \
        P                  # V \        P                  8X  d   \
        P                  # V \        P                  8X  d   \
        P                  # V \        P                  8X  d   \
        P                  # V \        P                  8X  d   \
        P                  #  \        V 4      # \        V \
        4      '       g   \        RV  24      hV #   \         d   p\        R T  R24      ThRp?ii ; i)z.QuantizeConfig: Unknown quantization method: `rµ  Nú&QuantizeConfig: Unsupported `method`: )ró   r   r  rm   rƒ   r�   r}   r„   r�   r‚   r†   r‹   r�   ro  ©rÖ   r£  s   & r    rÎ  rÎ  d  s  € Ü�%œ×ÒØ—‘“ˆØ”F—M‘MÔ!Ü—;‘;ÐØ”F—N‘NÔ"Ü—;‘;ÐØ”F—J‘JÔÜ—:‘:ÐØ”F×'Ñ'Ô'Ü×&Ñ&Ð&Ø”F—K‘KÔÜ—;‘;ÐØ”F×$Ñ$Ô$Ü—;‘;Ðð	bÜ˜%“=Ð ô �eœV×$Ò$ÜÐAÀ%ÀÐIÓJÐJØ€Løô	 ô 	bÜÐMÈeÈWÐTVÐWÓXÐ^aÐaûð	bús   Ä
D7 Ä7EÅEÅEc                óR   € V ^8„  d   QhR\         \        \        3,          R\        /# rœ  )r   r   rm   )r   s   "r    r!   r!   |  s#   € ÷ ñ œU¤3¬ ;Õ/ð ´Fñ r#   c                 óö   € \        V \        4      '       d    \        V P                  4       4      # \        V \        4      '       g   \	        R V  R24      hV #   \         d   p\	        R T  R24      ThRp?ii ; i)z.QuantizeConfig: Unknown quantization format: `rµ  N)ró   r   rm   r  ro  r�  s   & r    rÅ  rÅ  |  s}   € Ü�%œ×Òð	bÜ˜%Ÿ+™+›-Ó(Ð(ô �eœV×$Ò$ÜÐIÈ%ÈÐPRÐSÓTÐTØ€Løô	 ô 	bÜÐMÈeÈWÐTVÐWÓXÐ^aÐaûð	bús   ˜A ÁA8Á#A3Á3A8c                ó�   € V ^8„  d   QhR\         \        \        \        P                  3,          ,          R\        P                  /# )r   r\   r.   ©r   r   r   rþ  rÈ  )r   s   "r    r!   r!   ‡  s5   € ÷ Pñ P¤h¬u´S¼%¿+¹+Ð5EÕ/FÕ&Gð PÌEÏKÉKñ Pr#   c                 óÂ  € V f   \         P                  # \        V \        4      '       d6   V P	                  4       p V R9  d   \        RV  24      h\        \         V 4      # \        V \         P                  4      '       dT   V \         P                  \         P                  \         P                  \         P                  39  d   \        RV  24      hV # \        RV  24      h)Nz*QuantizeConfig: Unsupported `pack_dtype`: )Úint64Úint32Úint16rö  )rþ  r¤  ró   r   r  ro  rí  rÈ  r£  r¥  rö  )r\   s   &r    Ú_normalize_pack_dtyper¦  ‡  s´   € ØÒÜ�{‰{ÐÜ�*œc×"Ò"Ø×%Ñ%Ó'ˆ
ØÐ@Ô@ÜÐIÈ*ÈÐVÓWÐWÜ”u˜jÓ)Ð)Ü�*œeŸk™k×*Ò*ØœeŸk™k¬5¯;©;¼¿¹ÄUÇZÁZÐPÔPÜÐIÈ*ÈÐVÓWÐWØÐÜ
ÐAÀ*ÀÐNÓ
OÐOr#   c                ó|   € V ^8„  d   QhR\         \        \        \        P                  3,          ,          R\        /# )r   Úbest_state_dtyper.   r¡  )r   s   "r    r!   r!   –  s1   € ÷ ñ ¼HÄUÌ3ÔPU×P[ÑP[ÐK[ÕE\Õ<]ð Ôbeñ r#   c                óŽ  € V f   R# \        V \        4      '       d;   V P                  4       P                  4       pVR9   d   R# VR9   d   R# VR9   d   R# Me\        V \        P
                  4      '       dF   V \        P                  8X  d   R# V \        P                  8X  d   R# V \        P                  8X  d   R# \        R4      h)zNCanonicalize the ParoQuant best-state snapshot dtype into a serialized string.Úfp32rR   rT   zyParoConfig: `opt_best_state_dtype` must be one of {'fp16', 'bf16', 'fp32'} or torch.float16/torch.bfloat16/torch.float32.>   rR   rP   >   rT   rS   >   rª  rè  )
ró   r   rô   r  rþ  rÈ  rP   rS   rè  ro  )r¨  r  s   & r    Ú%_normalize_paroquant_best_state_dtyper«  –  sª   € àÒÙÜÐ"¤C×(Ò(Ø%×+Ñ+Ó-×3Ñ3Ó5ˆ
ØÐ,Ô,ÙØÐ-Ô-ÙØÐ,Ô,Ùð -ä	Ð$¤e§k¡k×	2Ò	2ØœuŸ}™}Ô,ÙØœuŸ~™~Ô-ÙØœuŸ}™}Ô,ÙÜ
ð	9óð r#   c                ó¾   € V ^8„  d   QhR\         \        \        \        \        \
        3,          \        \        \        3,          ,          R\         \        ,          /# )r   Úfallbackr.   )r   r   r™  r   r   r   rå   r  )r   s   "r    r!   r!   ¯  s@   € ÷ 4ñ 4¤(¬5´¼4ÄÄSÀ½>Ì3ÔPSÔUZÐ1ZÕ+[Õ"\ð 4ÔaiÔjrÕasñ 4r#   c           	      ó  € V f   R # \        V \        4      '       Ed
   V P                  R\        P                  4      pV P                  RR4      pV P                  R4      pVf   V P                  R4      pVf   RV 9   d   V P                  R4      p\        V4      pVEfx   RV 9   d(   \        \        V P                  RR4      4      R	7      pEMIR
V 9   d(   \        \        V P                  R
R4      4      R7      pEMRV 9   g   RV 9   dA   \        \        V P                  R^ 4      4      \        V P                  RR4      4      R7      pMÍRV 9   d'   \        \        V P                  RR4      4      R7      pM RV 9   d'   \        \        V P                  RR4      4      R7      pMsRV 9   dA   \        \        V P                  RR4      4      \        V P                  RR4      4      R7      pM,RV 9   d&   \        \        V P                  RR4      4      R7      p\!        WVR7      p M^\        V \        \        \        34      '       d   \!        \        P                  V R7      p M!\        V \         4      '       g   \#        R4      h\        V P$                  \        4      '       d+    \        V P$                  P'                  4       4      V n        ML\        V P$                  \        4      '       g-   \#        R\         Uu. uF  qUP(                  NK  	  up R24      h\        V P*                  4      V n        V #   \"         d9   p\#        R\         Uu. uF  qUP(                  NK  	  Mu upi up R24      ThR p?ii ; iu upi ) Nr›  rœ  z1.0%r�  Úsmooth_methodÚclip_methodÚsmooth_percentiler6  rA  Úsmooth_mad_krx  r^  Úsmooth_mse_stepsÚsmooth_mse_maxshrinkrb  )rd  re  Úsmooth_outlier_pctrâ  ru  Úsmooth_rms_kÚsmooth_log_murã  )r8  r‚  Úsmooth_axisr  r‘  )r›  rœ  r�  )r›  rœ  zXQuantizeConfig: `fallback` must be a Fallback config, dict, string, int, float, or None.z3QuantizeConfig: `fallback.strategy` must be one of rx  )ró   rO  r{  r¨   r®   r¢  r5  r  rR  ra  rå   rm  rw  r€  r‰  r   r™  ro  r›  r  rÖ   r�  )r­  r›  rœ  r�  r£  r¤  s   &     r    Ú_normalize_fallbackr¹  ¯  sÝ  € ØÒÙÜ�(œD×!Ó!Ø—<‘< 
Ô,<×,@Ñ,@ÓAˆØ—L‘L ¨fÓ5ˆ	Ø—‘˜hÓ'ˆØŠ>Ø—\‘\ /Ó2ˆFØŠ>˜m¨xÔ7Ø—\‘\ -Ó0ˆFÜ% fÓ-ˆØ‹>Ø" hÔ.Ü)´U¸8¿<¹<ÐH[Ð]aÓ;bÓ5cÔd’Ø 8Ô+Ü"¤U¨8¯<©<¸ÈÓ+LÓ%MÔN’Ø# xÔ/Ð3IÈXÔ3UÜ"Ü˜hŸl™lÐ+=¸rÓBÓCÜ# H§L¡LÐ1GÈÓ$MÓNô‘ð &¨Ô1Ü&¬5°·±Ð>RÐTWÓ1XÓ+YÔZ‘Ø 8Ô+Ü'¬%°·±¸^ÈSÓ0QÓ*RÔS‘Ø  HÔ,Ü"Ü$ X§\¡\Ð2EÀtÓ%LÓMÜ˜XŸ\™\¨/¸3Ó?Ó@ô‘ð  (Ô*Ü%¬3¨x¯|©|¸MÈ5Ó/QÓ+RÔS�Ü XÈ6ÔR‰Ü	�Hœs¤C¬Ð/×	0Ò	0ÜÔ%5×%9Ñ%9ÀXÔN‰Ü˜¤(×+Ò+ÜÐsÓtÐtä�(×#Ñ#¤S×)Ò)ð	Ü 0°×1BÑ1B×1HÑ1HÓ1JÓ KˆHÕô
 ˜×)Ñ)Ô+;×<Ò<ÜØAÕTdÓBeÑTdÈqÇ7Ä7ÑTdÑBeÐAfÐfgÐhó
ð 	
ô +¨8¯?©?Ó;€H„OØ€Oøô ô 	ÜØEÕXhÓFiÑXhÐSTÇwÄwÒXhùÔFiÐEjÐjkÐlóàðûð	üò Cfs*   Ê&(L7 Ë=M=
Ì7M:ÍM5ÍM%Í$M5Í5M:c                óª   € V ^8„  d   QhR\         \        \        \        \        \
        3,          \        3,          ,          R\         \        ,          /# )r   Úweight_onlyr.   )r   r   r   r   r   r   )r   s   "r    r!   r!   æ  s<   € ÷ ñ Üœ%Ô 0´$´s¼C°xµ.Ä#Ð EÕFÕGðäÔÕñr#   c                 óh  € V f   R # \        V \        4      '       dS   V P                  R\        P                  4      pV P                  R4      pVf   V P                  R4      p\        WR7      # \        V \        4      '       d   \        V R7      # \        V \
        4      '       g   \        R4      hV # )NrZ   r�  r¯  r¨  ©rZ   úPQuantizeConfig: `weight_only` must be a WeightOnlyConfig, dict, string, or None.)ró   rO  r{  r´   r®   r   r   ro  )r»  rZ   r�  s   &  r    Ú_normalize_weight_onlyr¿  æ  s›   € ð ÒÙÜ�+œt×$Ò$Ø—‘ Ô+;×+?Ñ+?Ó@ˆØ—‘ Ó*ˆØŠ>Ø —_‘_ _Ó5ˆFÜ vÔ=Ð=Ü�+œs×#Ò#Ü {Ô3Ð3Ü�kÔ#3×4Ò4ÜØ^ó
ð 	
ð Ðr#   c                óŠ   € V ^8„  d   QhR\         \        \        \        \        \
        3,          3,          ,          R\        /# )r   Úhessianr.   )r   r   râ  r   r   r   )r   s   "r    r!   r!   ú  s2   € ÷ ñ ¤¬¬}¼dÄ3ÌÀ8½nÐ/LÕ)MÕ Nð ÔS`ñ r#   c                 ó¦   € V f   \        4       # \        V \        4      '       d   \        R/ V B # \        V \         4      '       g   \        R4      hV # )NzAQuantizeConfig: `hessian` must be a HessianConfig, dict, or None.r6   )râ  ró   rO  ro  )rÁ  s   &r    Ú_normalize_hessianrÃ  ú  sH   € Ø‚Ü‹ÐÜ�'œ4× Ò ÜÑ'˜wÑ'Ð'Ü�gœ}×-Ò-ÜÐ\Ó]Ð]Ø€Nr#   c                ó    € V ^8„  d   QhR\         \        \        \        \        \
        3,          3,          ,          R\         \        ,          /# )r   ri   r.   )r   r   rò  r   r   r   )r   s   "r    r!   r!     s7   € ÷ ñ œH¤U¬;¼¼SÄ#¸X½Ð+FÕ%GÕHð ÌXÔVaÕMbñ r#   c                 ó–   € V f   R # \        V \        4      '       d   \        R/ V B # \        V \        4      '       g   \        R4      hV # )Nz=QuantizeConfig: `gptaq` must be a GPTAQConfig, dict, or None.r6   )ró   rO  rò  ro  )ri   s   &r    Ú_normalize_gptaqrÆ    sC   € Ø‚}ÙÜ�%œ×ÒÜÑ#˜UÑ#Ð#Ü�eœ[×)Ò)ÜÐXÓYÐYØ€Lr#   c                ó    € V ^8„  d   QhR\         \        \        \        \        \
        3,          3,          ,          R\         \        ,          /# )r   rj   r.   )r   r   rû  r   r   r   )r   s   "r    r!   r!     s7   € ÷ ñ œ(¤5¬´T¼#¼s¸(µ^Ð)CÕ#DÕEð Ì(ÔS]ÕJ^ñ r#   c                 ó–   € V f   R # \        V \        4      '       d   \        R/ V B # \        V \        4      '       g   \        R4      hV # )Nz;QuantizeConfig: `foem` must be a FOEMConfig, dict, or None.r6   )ró   rO  rû  ro  )rj   s   &r    Ú_normalize_foemrÉ    sC   € Ø‚|ÙÜ�$œ×ÒÜÑ!˜DÑ!Ð!Ü�dœJ×'Ò'ÜÐVÓWÐWØ€Kr#   c                óR   € V ^8„  d   QhR\         \        \        3,          R\        /# rœ  ©r   r   r’   )r   s   "r    r!   r!     s$   € ÷ ñ ¬%´´\Ð0AÕ*Bð Ä|ñ r#   c                ó€  € \        V \        4      '       d    \        V P                  4       4      # \        V \        4      '       g-   \	        R\         Uu. uF  q"P
                  NK  	  up R24      hV #   \         d9   p\	        R\         Uu. uF  q"P
                  NK  	  Mu upi up R24      ThRp?ii ; iu upi )z?Validate one user-supplied dense-pool placement strategy value.z5QuantizeConfig: `dense_vram_strategy` must be one of rx  N©ró   r   r’   r  ro  rÖ   ©rÖ   r£  r¤  s   &  r    Ú_normalize_dense_vram_strategyrÏ    s¸   € ô �%œ×Òð	Ü §¡£Ó.Ð.ô
 �eœ\×*Ò*ÜØCÕVbÓDcÑVbÐQRÇWÄWÑVbÑDcÐCdÐdeÐfó
ð 	
ð €Løô ô 	ÜØGÕZfÓHgÑZfÐUVÏÌÒZfùÔHgÐGhÐhiÐjóàðûð	üò Edó)   ˜A5 ÁB;
Á5B8Â B3ÂB#Â"B3Â3B8c                óR   € V ^8„  d   QhR\         \        \        3,          R\        /# rœ  rË  )r   s   "r    r!   r!   )  s$   € ÷ ñ ¬¬c´<Ð.?Õ(@ð Ä\ñ r#   c                ó€  € \        V \        4      '       d    \        V P                  4       4      # \        V \        4      '       g-   \	        R\         Uu. uF  q"P
                  NK  	  up R24      hV #   \         d9   p\	        R\         Uu. uF  q"P
                  NK  	  Mu upi up R24      ThRp?ii ; iu upi )zDValidate one user-supplied MoE expert-pool placement strategy value.z3QuantizeConfig: `moe_vram_strategy` must be one of rx  NrÍ  rÎ  s   &  r    Ú_normalize_moe_vram_strategyrÓ  )  s·   € ô �%œ×Òð	Ü §¡£Ó.Ð.ô
 �eœ\×*Ò*ÜØAÕT`ÓBaÑT`ÈqÇ7Ä7ÑT`ÑBaÐAbÐbcÐdó
ð 	
ð €Løô ô 	ÜØEÕXdÓFeÑXdÐSTÇwÄwÒXdùÔFeÐEfÐfgÐhóàðûð	üò CbrÐ  c                óÊ   € V ^8„  d   QhR\         \        \        \        \        P
                  3,          ,          ,          R\        R\         \        \        ,          ,          /# )r   rÖ   Ú
field_namer.   )r   r   r   r   rþ  rÜ  )r   s   "r    r!   r!   :  sI   € ÷ ñ Ü”Dœœs¤E§L¡LÐ0Õ1Õ2Õ3ðô ðô Œd”3�iÕñ	r#   c               óh  € V f   R# \        V \        4      '       g   \        RV R24      hV '       g   \        RV R24      h^RIHp . p\        4       pV  FW  pV! V4      pVf   \        RV RV: R24      h\        V4      pWt9   d   K5  VP                  V4       VP                  V4       KY  	  V# )zHNormalize one user-facing strategy device pool to stable device strings.NúQuantizeConfig: `z:` must be a list of device strings or torch.device values.z"` must not be empty when provided.)Únormalize_device_likez(` contains an unsupported device value: rx  )	ró   r  ro  Úutils.looper_helpersrØ  rŒ  r   r�  r;  )rÖ   rÕ  rØ  Únormalized_devicesÚseenÚ
raw_devicer  r’  s   &$      r    Ú_normalize_strategy_devicesrÝ  :  sÅ   € ð ‚}ÙÜ�eœT×"Ò"ÜÐ,¨Z¨LÐ8rÐsÓtÐtßÜÐ,¨Z¨LÐ8ZÐ[Ó\Ð\õ =à$&ÐÜ‹5€DÛˆ
Ù*¨:Ó6ˆ
ØÒÜÐ0°°Ð<dÐeoÑdrÐrsÐtÓuÐuÜ�*‹oˆØŒ;ÙØ�‰�ŒØ×!Ñ! #Ö&ñ ð Ðr#   c                óR   € V ^8„  d   QhR\         \        \        3,          R\        /# rœ  )r   r   r“  )r   s   "r    r!   r!   Z  s#   € ÷ ñ œe¤C¬ KÕ0ð ´Vñ r#   c                 ó€  € \        V \        4      '       d    \        V P                  4       4      # \        V \        4      '       g-   \	        R \         Uu. uF  q"P
                  NK  	  up R24      hV #   \         d9   p\	        R \         Uu. uF  q"P
                  NK  	  Mu upi up R24      ThRp?ii ; iu upi )z)QuantizeConfig: `gc_mode` must be one of rx  N)ró   r   r“  r  ro  rÖ   rÎ  s   &  r    Ú_normalize_gc_moderà  Z  s­   € Ü�%œ×Òð	Ü˜%Ÿ+™+›-Ó(Ð(ô
 �eœV×$Ò$ÜØ7Í&Ó8QÉ&ÀQ¿¼É&Ñ8QÐ7RÐRSÐTó
ð 	
ð €Løô ô 	ÜØ;ÍfÓ<UÉfÈ¿W¼WÊfùÔ<UÐ;VÐVWÐXóàðûð	üò 9RrÐ  c                ó    € V ^8„  d   QhR\         \        \        \        \        \
        3,          3,          ,          R\         \        ,          /# rœ  )r   r   r  r   r   r   )r   s   "r    r!   r!   i  s8   € ÷ *ñ *¤¬%´	¼4ÄÄSÀ½>Ð0IÕ*JÕ!Kð *ÔPXÔYbÕPcñ *r#   c                 óN  € V f   R # \        V \        4      '       d   V # \        V \        4      '       g   \        R4      hV P	                  R4      p\        V\
        4      '       d   \        VR7      # \        V\        4      '       g   \        R4      hVP	                  R4      pV\        P                  8X  d"   \        VP	                  R\        4      R7      pM@V\        P                  8X  d   \        VP	                  R4      R	7      pM\        R
V R24      h\        VR7      # )Nz9QuantizeConfig: `moe` must be a MoEConfig, dict, or None.r  )r  zFQuantizeConfig: `moe.routing` must be a BaseMoERouting, dict, or None.r'  r  r  r  )r  z.QuantizeConfig: Unknown `moe.routing.class`: `rµ  )
ró   r  rO  ro  r{  r  r  rB   r	  r  )rÖ   r  Úrouting_classÚrouting_objs   &   r    Ú_normalize_moe_configrå  i  sï   € Ø‚}ÙÜ�%œ×#Ò#ØˆÜ�eœT×"Ò"ÜÐTÓUÐUà�i‰i˜	Ó"€GÜ�'œ>×*Ò*Ü Ô)Ð)Ü�gœt×$Ò$ÜÐaÓbÐbà—K‘K Ó(€MØÔ.×7Ñ7Ô7Ü,Ø '§¡Ð,AÄ?Ó Sô
‰ð 
Ô.×7Ñ7Ô	7Ü*°g·k±kÀ,Ó6OÔP‰äÐIÈ-ÈÐXZÐ[Ó\Ð\ä˜[Ô)Ð)r#   c                ó$   € V ^8„  d   QhR\         /# r-   r   )r   s   "r    r!   r!   „  s   € ÷ bñ b¬3ñ br#   c                  ó   € R # )zTQuantizeConfig: `group_size` must be one of `[-1, 16, 32, 64, 128, 256, 512, 1024]`.r6   r6   r#   r    Ú!_resolve_dynamic_group_size_errorrè  „  s   € Ùar#   c                ó0   € V ^8„  d   QhR\         R\        /# r}  ©r�   r  )r   s   "r    r!   r!   ˆ  s   € ÷ 3ñ 3¤&ð 3¬Uñ 3r#   c                 ó4   € V \         P                  8X  d   R # R# )g{®Gázt?çš™™™™™©?©r�   r…   r½  s   &r    Ú_default_damp_percentrî  ˆ  ó   € ØœfŸj™jÔ(ˆ5Ð2¨dÐ2r#   c                ó0   € V ^8„  d   QhR\         R\        /# r}  rê  )r   s   "r    r!   r!   Œ  s   € ÷ 3ñ 3¬ð 3´Eñ 3r#   c                 ó4   € V \         P                  8X  d   R # R# )gü©ñÒMbP?r*  rí  r½  s   &r    Ú_default_damp_auto_incrementrò  Œ  rï  r#   c                óF   € V ^8„  d   QhR\         R\        \        ,          /# rr  )r   r   r´   )r   s   "r    r!   r!   �  s    € ÷ ñ ¤cð ¬hÔ7GÕ.Hñ r#   c                 ó°  € V f   R # \        V \        4      '       d   V P                  # \        V \        4      '       d    \	        V P                  4       4      # \        V \        4      '       dD   V P                  R\        P                  4      p \	        \        V4      P                  4       4      # R #   \         d     R # i ; i  \         d     R # i ; i)NrZ   )
ró   r   rZ   r   r´   r  ro  rO  r{  r®   )r¾  rZ   s   & r    Ú_peek_weight_only_methodrõ  �  s´   € Ø‚ÙÜ�'Ô+×,Ò,Ø�~‰~ÐÜ�'œ3×Òð	Ü# G§M¡M£OÓ4Ð4ô �'œ4× Ò Ø—‘˜XÔ'7×';Ñ';Ó<ˆð	Ü#¤C¨£K×$5Ñ$5Ó$7Ó8Ð8ñ øô ô 	Úð	ûô ô 	Úð	ús$   Á B4 Â!C Â4CÃCÃCÃCc                ó0   € V ^8„  d   QhR\         R\         /# rr  rñ   )r   s   "r    r!   r!   £  s   € ÷ iñ i¬ð i´ñ ir#   c                 ó  € V f   R # \        V \        4      '       d   V P                  # \        V \        4      '       d)   V P	                  R4      pVf   V P	                  R4      pV# \        V \
        4      '       d   R # \        R4      h)Nr�  r¯  r¾  )ró   r   r�  rO  r{  r   ro  )r¾  r�  s   & r    Ú_extract_weight_only_smoothrø  £  sq   € Ø‚ÙÜ�'Ô+×,Ò,Ø�~‰~ÐÜ�'œ4× Ò Ø—‘˜XÓ&ˆØŠ>Ø—[‘[ Ó1ˆFØˆÜ�'œ3×ÒÙÜ
ÐgÓ
hÐhr#   c                ó0   € V ^8„  d   QhR\         R\         /# rr  rñ   )r   s   "r    r!   r!   ²  s   € ÷ 	iñ 	i´3ð 	i¼3ñ 	ir#   c                 óè   € V f   R # \        V \        4      '       d   \        V RR 4      # \        V \        4      '       d   V P	                  R4      # \        V \
        4      '       d   R # \        R4      h)NÚ
gguf_qtyper¾  )ró   r   rí  rO  r{  r   ro  r�  s   &r    Ú%_extract_weight_only_legacy_gguf_bitsrü  ²  s_   € Ø‚ÙÜ�'Ô+×,Ò,Ü�w ¨dÓ3Ð3Ü�'œ4× Ò Ø�{‰{˜<Ó(Ð(Ü�'œ3×ÒÙÜ
ÐgÓ
hÐhr#   c                ót   € V ^8„  d   QhR\         \        \        3,          R\         \        \        3,          /# rr  r¬  )r   s   "r    r!   r!   ¾  s*   € ÷ ñ ¤4¬¬S¨¥>ð ´d¼3Ä¸8µnñ r#   c                 ó^  € \        V 4      pVP                  R R4      pVP                  RR4      p\        V4      pV\        P                  8X  d#   \
        V9  d   \        P                  V\
        &   RV9  d   \        V4      VR&   Vf   \        V4      pVe   \        V9  d	   W!\        &   V# )rû  Nr»  r�  )
rO  Úpoprõ  r´   r€   ÚFORMAT_FIELD_CODErm   rø  rü  ÚBITS_FIELD_CODE)r¾  r  Úlegacy_gguf_bitsr»  Úweight_only_methods   &    r    Ú_normalize_rtn_kwargsr  ¾  s£   € Ü�g“€JØ!—~‘~ l°DÓ9ÐØ—.‘. °Ó5€KÜ1°+Ó>Ðð Ô-×2Ñ2Ô2Ô7HÐPZÔ7ZÜ(.¯©ˆ
Ô$Ñ%à�zÔ!Ü:¸;ÓGˆ
�8ÑØÒÜ@ÀÓMÐØÒ#¬¸zÔ(IØ&6”?Ñ#ØÐr#   c                ót   € V ^8„  d   QhR\         \        \        3,          R\         \        \        3,          /# rr  r¬  )r   s   "r    r!   r!   Ñ  s*   € ÷ ñ ¤D¬¬c¨¥Nð ´t¼CÄ¸Hµ~ñ r#   c                 ór  € \        V 4      pVP                  R R4      pVP                  RR4      pRV9  d   RV9  d   \        V4      VR&   Vf   \        V4      pVe   \        V9  d	   W!\        &   \        VP                  \        ^4      VP                  \        4      4      w  V\        &   V\        &   pV# )rû  Nr»  r¹   r�  )rO  rÿ  rø  rü  r  rÁ  r{  r   )r¾  r  r  r»  r  s   &    r    Ú_normalize_gguf_kwargsr  Ñ  s°   € Ü�g“€JØ!—~‘~ l°DÓ9ÐØ—.‘. °Ó5€Kà˜Ô#¨¸
Ô(BÜ!<¸[Ó!Iˆ
�:ÑØÒÜ@ÀÓMÐØÒ#¬¸zÔ(IØ&6”?Ñ#ÜD_Ø�‰”¨Ó*Ø�‰Ô(Ó)óEÑA€JŒÑ Ô,=Ñ!>Àð Ðr#   c                ót   € V ^8„  d   QhR\         \        \        3,          R\         \        \        3,          /# rr  r¬  )r   s   "r    r!   r!   ã  s*   € ÷ ñ ¤4¬¬S¨¥>ð ´d¼3Ä¸8µnñ r#   c                 ó‚  € \        V 4      pVP                  R R4      pVP                  RR4      pRV9  d   RV9  d   \        V4      VR&   \        VP	                  \
        V4      4      V\
        &   \        VP	                  R4      4      pVe   \        V4      MRVR&   \        VP	                  R4      VR7      VR&   V# )r»  NÚfmtr¹   r�  r
  Úweight_scale_method©r
  )	rO  rÿ  rø  r   r{  r   r  r  r  )r¾  r  r»  Ú
legacy_fmtr
  s   &    r    Ú_normalize_fp8_kwargsr  ã  sÀ   € Ü�g“€JØ—.‘. °Ó5€KØ—‘  tÓ,€Jà˜Ô#¨¸
Ô(BÜ!<¸[Ó!Iˆ
�:Ñä$6Ø�‰Ô(¨*Ó5ó%€JÔ Ñ!ô 9¸¿¹ÐH[Ó9\Ó]ÐØARÒA^¤dÐ+<Ô&=Ðdh€JÐ"Ñ#ä(JØ�‰Ð,Ó-Ø+ô)€JÐ$Ñ%ð Ðr#   c                ót   € V ^8„  d   QhR\         \        \        3,          R\         \        \        3,          /# rr  r¬  )r   s   "r    r!   r!   ù  s*   € ÷ ñ ¬D´´c°­Nð ¼tÄCÌÀH½~ñ r#   c           	      óò  € \        V 4      pVP                  R R4      pRV9  d   RV9  d   \        V4      VR&   VP                  RR4      pVP                  RR4      pVP                  RR4      p\        VP	                  \
        V4      \        VP	                  \        ^4      4      R7      V\
        &   \        VP	                  RV4      4      VR&   \        TP	                  R	Ve   TMR
4      4      VR	&   V# )r»  Nr¹   r�  r.  r/  r1  rç   r0  r2  T)
rO  rÿ  rø  r  r{  r   rå   r  r-  r¤   )r¾  r  r»  Úlegacy_formatÚlegacy_block_sizeÚlegacy_compress_statisticss   &     r    Ú_normalize_bitsandbytes_kwargsr  ù  sô   € Ü�g“€JØ—.‘. °Ó5€Kà˜Ô#¨¸
Ô(BÜ!<¸[Ó!Iˆ
�:Ñà—N‘NÐ#3°TÓ:€MØ"Ÿ™Ð'7¸Ó>ÐØ!+§¡Ð0IÈ4Ó!PÐä$BØ�‰Ô(¨-Ó8Ü�—‘¤°Ó3Ó4ô%€JÔ Ñ!ô  BØ�‰�|Ð%6Ó7ó €Jˆ|Ñô )-Ø�‰Ð,ÐLfÒLrÑ.HÐx|Ó}ó)€JÐ$Ñ%ð Ðr#   c                óR   € V ^8„  d   QhR\         R\        \        ,          R\        /# )r   r³  Úfallback_methodr.   )rm   r   r�   )r   s   "r    r!   r!   	  s(   € ÷ ñ ¬vð ÌÔQWÕHXð Ôdjñ r#   c                 ó"  € V \         P                  8X  d&   V\        P                  8X  d   \        P                  # V \         P                  8X  d   Vf   \        R4      hV# \        P                  V 4      pVf   Ve   V# \        RV  R24      hV# )NzNQuantizeConfig: FORMAT.MARLIN requires an explicit quantization method family.z<QuantizeConfig: Unable to resolve export method for format `rµ  )rm   r„   r�   r�   rƒ   ro  Ú$_UNAMBIGUOUS_EXPORT_METHOD_BY_FORMATr{  )r³  r  rZ   s   && r    Ú_resolve_export_quant_methodr  	  s…   € Ø”v—~‘~Ô%¨/¼V¿Z¹ZÔ*GÜ�z‰zÐØ”v—}‘}Ô$ØÒ"ÜÐmÓnÐnØÐä1×5Ñ5°lÓC€FØ‚~ØÒ&Ø"Ð"ÜÐWÐXdÐWeÐegÐhÓiÐiØ€Mr#   c                ót   € V ^8„  d   QhR\         \        \        3,          R\         \        \        3,          /# rr  r¬  )r   s   "r    r!   r!   !	  s6   € ÷ Hñ HÌ4ÔPSÔUXÐPXÍ>ð HÔ^bÔcfÔhkÐckÕ^lñ Hr#   c                 ó¢  € \        V4      pV \        J d   \        P                  pEMGV \        J d   \        P
                  pEM+V \        J d   \        P                  pEMV \        J d™   \        P                  pVP                  \        4      pR pVe    \        V4      pWR\        &   VeT   V\        P                  8w  d?   \        P!                  R\        P                   R24       \        P                  V\        &   EMmV \"        J d˜   \        P$                  pVP                  \        4      pR pVe    \        V4      pWR\        &   VeT   V\        P&                  8w  d?   \        P!                  R\        P&                   R24       \        P&                  V\        &   MÌV \(        J d   \        P*                  pM±V \,        J d˜   \        P.                  pVP                  \        4      pR pVe    \        V4      pWR\        &   VeT   V\        P.                  8w  d?   \        P!                  R\        P.                   R24       \        P.                  V\        &   M\        P0                  pVP                  \2        4      pR pVe    \5        V4      pWr\2        &   Ve_   Ws8w  dY   V \(        J d   V\        P0                  8X  d   M0\        P7                  R\2         RV RV P8                   RV R2	4       W2\2        &   V#   \         d    R p ELii ; i  \         d    R p ELÛi ; i  \         d    R p EL3i ; i  \         d    R p L¯i ; i)Nú&QuantizeConfig: Auto fix `format` to `rG  r×  z`=`z` is incompatible with `z`. Auto-fix method to `rµ  )rO  Ú	AWQConfigr�   r�   Ú	FP8Configr�   ÚBitsAndBytesConfigr‚   Ú
EXL3Configr†   r{  r   rÅ  ro  rm   r…  r}  Ú
ParoConfigr�   r‹   Ú
GGUFConfigr€   Ú	QQQConfigr…   r}   ÚMETHOD_FIELD_CODErÎ  ÚwarnrB   )Ú
target_clsr¾  r  Úexpected_methodr³  rÀ  rZ   Únormalized_methods   &&      r    Ú1_normalize_quantize_config_payload_for_target_clsr)  !	  sî  € Ü�g“€Jà”YÓÜ Ÿ*™*ŠØ	”yÓ	 Ü Ÿ*™*ŠØ	Ô)Ó	)Ü ×-Ñ-ŠØ	”zÓ	!Ü Ÿ+™+ˆØ!—~‘~Ô&7Ó8ˆØ ÐØÒ#ð)Ü$5°lÓ$CÐ!Ø0AÔ,Ñ-ð Ò(Ð->Ä&Ç+Á+Ô-MÜ�H‰HÐ=¼f¿k¹k¸]È!ÐLÔMÜ,2¯K©KˆJÔ(Ñ)ùØ	”zÓ	!Ü Ÿ+™+ˆØ!—~‘~Ô&7Ó8ˆØ ÐØÒ#ð)Ü$5°lÓ$CÐ!Ø0AÔ,Ñ-ð Ò(Ð->Ä&×BRÑBRÔ-RÜ�H‰HÐ=¼f×>NÑ>NÐ=OÈqÐQÔRÜ,2×,<Ñ,<ˆJÔ(Ñ)øØ	”zÓ	!Ü Ÿ+™+‰Ø	”yÓ	 Ü Ÿ*™*ˆØ!—~‘~Ô&7Ó8ˆØ ÐØÒ#ð)Ü$5°lÓ$CÐ!Ø0AÔ,Ñ-ð Ò(Ð->Ä&Ç*Á*Ô-LÜ�H‰HÐ=¼f¿j¹j¸\ÈÐKÔLÜ,2¯J©JˆJÔ(Ñ)øä Ÿ+™+ˆà�^‰^Ô-Ó.€FØÐØÒð	%Ü 7¸Ó ?ÐØ,=Ô(Ñ)ð Ò$Ð):Ô)MØœÓ#Ð(9¼V¿[¹[Ô(HØä�H‰HØ#Ô$5Ð#6°cÐ:KÐ9LÐLdÐeo×exÑexÐdyð z'Ø'6Ð&7°rð;ôð )8Ô$Ñ%àÐøôo ô )Ø$(Ó!ð)ûô ô )Ø$(Ó!ð)ûô ô )Ø$(Ó!ð)ûô ô 	%Ø $Òð	%úsH   ÂL Ä8L Ç4L* ÊL> ÌLÌLÌL'Ì&L'Ì*L;Ì:L;Ì>MÍMc                ót   € V ^8„  d   QhR\         \        \        3,          R\         \        \        3,          /# rr  r¬  )r   s   "r    r!   r!   l	  s4   € ÷ Wñ WÌÌSÔRUÈXÍð WÔ[_Ô`cÔehÐ`hÕ[iñ Wr#   c                 óÞ   € \        V 4       Uu0 uF"  q"P                  '       g   K  VP                  kK$  	  ppVP                  4        UUu/ uF  w  rEWC9   g   K  WEbK  	  upp# u upi u uppi r0   )r   Úinitr1   rK  )r&  r¾  r   Útarget_field_namesr’  rÖ   s   &&    r    Ú._filter_quantize_config_payload_for_target_clsr.  l	  sW   € Ü28¸Ô2DÓSÑ2D¨Ï
Í
œ*˜%Ÿ*œ*Ñ2DÐÐSØ)0¯©¬ÔV©™:˜3¸CÑ<UŒJˆCŠJ©ÒVÐVùò TùÛVs   ŽA$¦A$Á
A)ÁA)c                ót   € V ^8„  d   QhR\         \        \        3,          R\         \        \        3,          /# rr  r¬  )r   s   "r    r!   r!   q	  s3   € ÷ 
Rñ 
RÄÄSÌ#ÀXÅð 
RÔSWÔX[Ô]`ÐX`ÕSañ 
Rr#   c                 óÜ   € \        W4      pV \        J d   \        V4      pMAV \        J d   \	        V4      pM+V \
        J d   \        V4      pMV \        J d   \        V4      p\        W4      # r0   )
r)  Ú	RTNConfigr  r"  r  r  r  r  r  r.  )r&  r¾  r  s   && r    Ú&_prepare_target_quantize_config_kwargsr2  q	  s`   € ÜBÀ:ÓW€JØ”YÓÜ*¨:Ó6‰
Ø	”zÓ	!Ü+¨JÓ7‰
Ø	”yÓ	 Ü*¨:Ó6‰
Ø	Ô)Ó	)Ü3°JÓ?ˆ
Ü9¸*ÓQÐQr#   c                   óJ   a a€ ] tR tRt oV 3R ltV 3R ltV 3R ltRtVtV ;t	# )ÚQuantizeConfigMetai~	  c                óV   <€ V \         J d   \        V\        4      # \        SV `  V4      # r0   )ÚQuantizeConfigró   ÚBaseQuantizeConfigr=  Ú__instancecheck__)rÜ   Úinstancer>  s   &&€r    r8  Ú$QuantizeConfigMeta.__instancecheck__	  s)   ø€ Ø”.Ó Ü˜hÔ(:Ó;Ð;Ü‰wÑ(¨Ó2Ð2r#   c                ó|   <€ V \         J d    \        V\        4      # \        SV `  V4      #   \         d     R # i ; i©F)r6  Ú
issubclassr7  Ú	TypeErrorr=  Ú__subclasscheck__)rÜ   Úsubclassr>  s   &&€r    r?  Ú$QuantizeConfigMeta.__subclasscheck__„	  sD   ø€ Ø”.Ó ðÜ! (Ô,>Ó?Ð?ô ‰wÑ(¨Ó2Ð2øô ô Úðús   �, ¬;º;c                ó®   <€ \        V4      pV \        J d1   \        V4      p\        W24      p\        P
                  ! V.VO5/ VB # \        SV `  ! V/ VB # r0   )Ú-_normalize_quantize_config_constructor_kwargsr6  Ú_resolve_quantize_config_classr2  rÛ  Ú__call__r=  )rÜ   ÚargsÚkwargsr&  Útarget_kwargsr>  s   &*,  €r    rE  ÚQuantizeConfigMeta.__call__Œ	  sW   ø€ Ü>¸vÓFˆØ”.Ó Ü7¸Ó?ˆJÜBÀ:ÓVˆMÜ—=’= ÐD¨dÒD°mÑDÐDÜ‰wÒ Ð0¨Ñ0Ð0r#   r6   )
rB   rC   rD   rE   r8  r?  rE  rH   rI   rC  rD  s   @@r    r4  r4  ~	  s   ù‡ € õ3õ
3÷1õ 1r#   r4  c                ót   € V ^8„  d   QhR\         \        \        3,          R\         \        \        3,          /# )r   rG  r.   r¬  )r   s   "r    r!   r!   •	  s-   € ÷ ñ ¼$¼sÄC¸x½.ð ÌTÔRUÔWZÐRZÍ^ñ r#   c                 ó\  € V '       g   V # \        V 4      p\        V9   d   \        R 4      h\        V9  d    \        V9   d   V\        ,          V\        &   VP                  \        R4       \        V9  d    \        V9   d   V\        ,          V\        &   VP                  \        R4       V# )zŸQuantizeConfig: `is_marlin_format` has been removed. Use `format="marlin"` only for legacy checkpoint inspection, or `format="gptq"` for new GPTQ quantization.N)rO  ÚFORMAT_FIELD_COMPAT_MARLINro  r$  ÚQUANT_METHOD_FIELDrÿ  r   ÚFORMAT_FIELD_CHECKPOINT)rG  r  s   & r    rC  rC  •	  s•   € ßØˆä�f“€JÜ! ZÔ/Üð>ó
ð 	
ô  
Ô*Ô/AÀZÔ/OØ(2Ô3EÕ(Fˆ
Ô$Ñ%Ø‡N�NÔ% tÔ,ä 
Ô*Ô/FÈ*Ô/TØ(2Ô3JÕ(Kˆ
Ô$Ñ%Ø‡N�NÔ*¨DÔ1ØÐr#   c                   óä  a € ] tR tRt o ]! ^R. R_O/R7      t]! RR7      t]! ^€R7      t]! RR7      t]! RR7      t	]! RR7      t
]! RR7      t]! ]P                  R7      t]! ]P                  R7      t]! RR7      t]! RR7      t]! ]R7      t]! ]P,                  R7      t]! R	R7      t]! RR7      t]! RR
R/R7      t]! RR
R/R7      t]! RRRRR7      t]! RRRR./R7      t]! ]R7      t]! RR
R/R7      t ]! RR
R/R7      t!]! RR
R/R7      t"]! ]#PH                  R
R/R7      t%]! RR
R/R7      t&]! ]#PH                  R
R/R7      t']! RR
R/R7      t(]! ])PT                  R
R/R7      t+]! RR
R/R7      t,]! RR
R/R7      t-].V 3R lR l4       t/]/P`                  V 3R lR l4       t/].R 4       t1]1P`                  V 3R lR  l4       t1].R! 4       t2V 3R" lR# lt3V 3R$ lR% lt4V 3R& lR' lt5V 3R( lR) lt6V 3R* lR+ lt7V 3R, lR- lt8V 3R. lR/ lt9V 3R0 lR1 lt:R2 t;V 3R3 lR4 lt<V 3R5 lR6 lt=V 3R7 lR8 lt>V 3R9 lR: lt?R`V 3R; lR< llt@V 3R= lR> ltAV 3R? lR@ ltBV 3RA lRB ltCV 3RC lRD ltDV 3RE lRF ltEV 3RG lRH ltF]GRaV 3RI lRJ ll4       tH]GV 3RK lRL l4       tIV 3RM lRN ltJV 3RO lRP ltKRQ tLRR tMV 3RS lRT ltNV 3RU lRV ltOV 3RW lRX ltPV 3RY lRZ ltQV 3R[ lR\ ltRV 3R] ltSR^tTV tUR# )br7  i©	  Úchoicesrä  Nró  TF©Údefault_factoryÚcpurã  z@Offload completed module memory to disk during quantization loopz@Offload disk path. Only applicable if Offload to disk is enabled)rå  r,  ÚreprÚcompareÚhadamardÚrandomzØCallback function to filter devices for compute-intensive stages. Function signature: fn(devices: List) -> List. Example to exclude device 0: compute_device_filter=lambda devices: [d for d in devices if d.index != 0]zkDevice for storing calibration data. 'balanced' = round-robin across GPUs, or specify device like 'cuda:1'.zþWhen multi-gpu is detected, we may data clone modules to each gpu for data parallelism to speed up quantization forwarding. This causes extra time spent (especially for MoE layers) and vram pressure, leading in some cases to slower forwarding or vram OOMzyDense pool placement strategy. The dense pool owns qkv, z, out_proj, norms, router, shared expert, and dense MLP modules.z„Explicit device pool for dense modules. In dense BALANCED mode, modules are assigned by calculation groups, so qkv stays co-located.ziMoE expert-pool placement strategy. Expert families stay co-located and can be balanced across this pool.zcExplicit device pool for MoE expert modules. Each expert family (gate/up/down) stays on one device.z�Garbage collection mode: 'interval' for regular GC or 'on_stage_end' for GC after stage end (after forward pass, quantize, layer finilization).zœWait for all layer finalization tasks (packing, offloading to disk, etc) to complete before proceeding to next layer. May reduce vram pressure for some env.a¿  Mixture-of-Experts (MoE) configuration for routing strategy and expert batching. Requires import: from gptqmodel.quantization.config import MoEConfig, ExpertsRoutingBypass, ExpertsRoutingOverride. Example with bypass routing (forward all data to each expert): moe=MoEConfig(routing=ExpertsRoutingBypass()) - processes all experts in one batch (default). moe=MoEConfig(routing=ExpertsRoutingBypass(batch_size=4)) - processes 4 modules at a time to reduce VRAM pressure. Example with routing override (limit experts per token): moe=MoEConfig(routing=ExpertsRoutingOverride(num_experts_per_tok=2)). Example to forward to all experts: moe=MoEConfig(routing=ExpertsRoutingOverride(num_experts_per_tok='all'))c                ó    <€ V ^8„  d   QhRS[ /# r-   ©r�   )r   r   s   "€r    r!   ÚBaseQuantizeConfig.__annotate__'
  s   ø€ ÷ ñ ™fñ r#   c                ó   € V P                   # r0   r½  r2   s   &r    r[   ÚBaseQuantizeConfig.quant_method&
  ó   € à�{‰{Ðr#   c                ó:   <€ V ^8„  d   QhRS[ S[S[3,          RR/# ©r   rÖ   r.   Nrš  )r   r   s   "€r    r!   rZ  +
  s$   ø€ ÷ ñ ¡%©©V¨Õ"4ð ¸ñ r#   c                ó   € Wn         R # r0   r½  ©r)   rÖ   s   &&r    r[   r\  *
  ó   € àŽr#   c                ó   € V P                   # r0   ©r   r2   s   &r    rX   Ú$BaseQuantizeConfig.checkpoint_format.
  r]  r#   c                ó   <€ V ^8„  d   QhRR/# r5   r6   )r   r   s   "€r    r!   rZ  3
  s   ø€ ÷ ñ ¨$ñ r#   c                ó   € Wn         R # r0   rd  ra  s   &&r    rX   re  2
  rb  r#   c                ó   € V P                   # r0   rç   r2   s   &r    Úruntime_bitsÚBaseQuantizeConfig.runtime_bits6
  s   € à�y‰yÐr#   c                ó    <€ V ^8„  d   QhRS[ /# r-   ©rm   )r   r   s   "€r    r!   rZ  :
  ó   ø€ ÷ ñ ©Fñ r#   c                óN   € \        V P                  4      V n        V P                  # r0   )rÅ  r   r2   s   &r    Ú_resolve_checkpoint_formatÚ-BaseQuantizeConfig._resolve_checkpoint_format:
  s   € Ü'¨¯©Ó4ˆŒØ�{‰{Ðr#   c                ó    <€ V ^8„  d   QhRS[ /# ©r   rX   rl  )r   r   s   "€r    r!   rZ  >
  s   ø€ ÷ Qñ QÁ6ñ Qr#   c                ó   € \        WR 7      # ©©r³  )rË  ©r)   Ú
bits_valuerX   s   &&&r    Ú_normalize_bits_fieldÚ(BaseQuantizeConfig._normalize_bits_field>
  s   € Ü$ ZÔPÐPr#   c          
      ó\   <€ V ^8„  d   QhRS[ RS[S[ S[3,          RS[S[,          RS[RR/# ©r   Ú
layer_nameÚ
layer_dictrÉ  rX   r.   N©r   r   r   r   rå   rm   )r   r   s   "€r    r!   rZ  A
  sP   ø€ ÷ Fñ FáðFñ ™™c˜•NðFñ
 ™s�)ðFñ "ðFð 
ñFr#   c               ó  € VP                  4        Fp  w  rVVR 8X  d9   V P                  WdR7      pWrV&   \        V4      V9  d   \        RV RV R24      hVR8X  g   KM  VR8w  g   KV  V^ 8:  g   K_  \        \	        4       4      h	  R# )rU   ©rX   úQuantizeConfig: Layer `ú ` only support quantization of `ú` bits.rV   NrÏ  )rK  rx  rÜ  ro  rè  )r)   r|  r}  rÉ  rX   r’  rÖ   r¾  s   &&&$$   r    Ú_normalize_dynamic_layer_configÚ2BaseQuantizeConfig._normalize_dynamic_layer_configA
  s�   € ð %×*Ñ*Ö,‰JˆCØ�fŒ}Ø"&×"<Ñ"<¸UÐ"<Ó"h�Ø"1˜3‘Ü# OÓ4Ð<LÔLÜ$Ø1°*°Ð=]Ð^nÐ]oÐovÐwóð ð �lÖ" u°¦{°uÀ¶zÜ Ô!BÓ!DÓEÐEó -r#   c                ó4   <€ V ^8„  d   QhRS[ S[R3,          /# ©r   r.   .©r   r�   )r   r   s   "€r    r!   rZ  T
  ó   ø€ ÷ ñ ¡u©V°S¨[Õ'9ñ r#   c                ó    € \        \        4      # r0   )r  r�   r2   s   &r    Úallowed_quant_methodsÚ(BaseQuantizeConfig.allowed_quant_methodsT
  s   € Ü”V‹}Ðr#   c                ó4   <€ V ^8„  d   QhRS[ S[R3,          /# r‡  ©r   rm   )r   r   s   "€r    r!   rZ  W
  s   ø€ ÷ $ñ $©%±¸°Õ*<ñ $r#   c                ó�   € \         P                  V P                  R 4      pVf   \        RV P                   24      h\	        V4      # )Nrœ  )ÚQUANT_METHOD_FORMAT_MAPPINGr{  rZ   ro  r  )r)   Úvalid_formatss   & r    Úsupported_export_formatsÚ+BaseQuantizeConfig.supported_export_formatsW
  s@   € Ü3×7Ñ7¸¿¹ÀTÓJˆØÒ ÜÐEÀdÇkÁkÀ]ÐSÓTÐTÜ�]Ó#Ð#r#   c                ó    <€ V ^8„  d   QhRS[ /# r-   rY  )r   r   s   "€r    r!   rZ  ]
  s   ø€ ÷ yñ y¡Vñ yr#   c                ól   € \        \        V P                  V P                  4      V P                  R 7      # ))r  )r  rÑ  r   rZ   r2   s   &r    Úexport_quant_methodÚ&BaseQuantizeConfig.export_quant_method]
  s&   € Ü+Ô,@ÀÇÁÈdÏkÉkÓ,ZÐlp×lwÑlwÔxÐxr#   c                ó    <€ V ^8„  d   QhRS[ /# r-   rß  )r   r   s   "€r    r!   rZ  `
  ó   ø€ ÷ ñ ¡$ñ r#   c                ó   € R # ©Tr6   r2   s   &r    Údefault_desc_actÚ#BaseQuantizeConfig.default_desc_act`
  ó   € Ùr#   c                ó   <€ V ^8„  d   QhRR/# r5   r6   )r   r   s   "€r    r!   rZ  c
  s   ø€ ÷ vñ v¨$ñ vr#   c                óð   € V P                   '       dd   V P                  '       gP   \        4       V n        V P                  P                  V n        \
        P                  R V P                   R24       R# R# R# )z@QuantizeConfig: offload_to_disk_path auto set to temporary dir `rG  N)Úoffload_to_diskÚoffload_to_disk_pathrO   Ú_offload_temp_dirr1   r…  r}  r2   s   &r    Ú_ensure_offload_temp_dirÚ+BaseQuantizeConfig._ensure_offload_temp_dirc
  s`   € Ø××Ð¨×(A×(AÐ(AÜ%=Ó%?ˆDÔ"Ø(,×(>Ñ(>×(CÑ(CˆDÔ%Ü�H‰HÐWÐX\×XqÑXqÐWrÐrsÐtÖuñ )BÑr#   c                óÂ  a € \        S 4      p\        S P                  4      S n        S P                  4       p\	        S P
                  4      S n        S P                  S P                  VR 7      S n        S P                  4       pV'       dP   S P                  V9  d?   \        S P                  P                   RV Uu. uF  qDP                  NK  	  up R24      hS P                  \        P                  8X  d¸   S P                   \"        P$                  \"        P&                  \"        P(                  \"        P*                  \"        P,                  \"        P.                  39  dM   \0        P3                  R\"        P*                   R24       \"        P*                  S n        S P                  4       pS P5                  4       pW%9  d&   \        S P                  P                   RV R24      h\7        S P8                  4      S n        V^ ,          P:                  R,          p\=        S P                  4      V9  d(   \        RV^ ,          P:                  R,           R24      h\=        S P                  4      R9   pV'       gy   S P>                  ek   \@        ;QJ d7    V 3R
 lS P>                  PC                  4        4       F  '       g   K   RM,	  RM(! V 3R
 lS P>                  PC                  4        4       4      pS P                  \        PD                  8X  dz   V\"        PD                  \"        PF                  39   dU   V'       dM   \0        P3                  R\"        PH                   R24       \"        PH                  S n        S P                  4       pS P>                  eÎ   / S P>                  PC                  4        UUu/ uF   w  r„VPK                  R4      '       g   K  W„bK"  	  uppCS P>                  PC                  4        UUu/ uF   w  r„VPK                  R4      '       d   K  W„bK"  	  uppCS n        S P>                  PC                  4        F  w  ršS PM                  V	V
VVR7       K  	  S PN                  R8w  d%   S PN                  ^ 8:  d   \        \Q        4       4      hS PR                  f   S PU                  4       S n)        M:\W        S PR                  \X        4      '       g   \Y        S PR                  4      S n)        S PZ                  ea   \W        S PZ                  \\        4      '       g   \        R4      hS PZ                   F$  p\W        V\^        4      '       d   K  \        R4      h	  M/ S n-        \a        S Pb                  4      S n1        \W        S Pd                  \\        4      '       d   \g        R/ S Pd                  B S n2        M+\W        S Pd                  \f        4      '       g   \        R4      hS Ph                  '       dF   S Pj                  '       d4   \0        Pm                  S P                  P                   R24       RS n5        S Po                  4        \q        S Pr                  4      S n9        \u        S Pv                  RR7      S n;        \y        S Pz                  4      S n=        \u        S P|                  RR7      S n>        \        S P€                  4      S n@        \ƒ        S P„                  4      S nB        S P†                  eÇ   \W        S P†                  \^        4      '       d\   S P†                  P‰                  4       R8X  d
   RS nC        R	# ^RIEHFp V! \Ž        P�                  ! S P†                  4      4      S nC        R	# \W        S P†                  \Ž        P�                  4      '       d    ^RIEHFp V! S P†                  4      S nC        R	# R	# R	# u upi u uppi u uppi )r€  z: `method` must be one of rx  r  rG  z: unsupported export `format` `rµ  rP  z.QuantizeConfig: `bits` must be in the set of `Nc              3   óÚ   <"  € T F`  w  rVP                  R 4      '       d   K  \        V\        4      ;'       d)    \        VP	                  RSP
                  4      4      R9   x € Kb  	  R# 5i)r  rU   N©rº  r»  rÄ  )r9  ró   rO  rÜ  r{  rU   )r'  Úlayerr}  r)   s   &  €r    r)  Ú3BaseQuantizeConfig.__post_init__.<locals>.<genexpr>�
  s]   øé € ð #á)=Ñ%�EØ×'Ñ'¨×,ô r”
˜:¤tÓ,×qÐqÔ1AÀ*Ç.Á.ÐQWÐY]×YbÑYbÓBcÓ1dÐhqÑ1qÔqÛ)=ùs   ƒA+£A+º1A+TFzNQuantizeConfig: 5/6/7-bit layers use the planar layout; auto fix `format` to `r  ©rÉ  rX   ú+QuantizeConfig: `meta` must be a dictionaryú+QuantizeConfig: `meta` keys must be stringsz1telemetry must be a TelemetryConfig or dictionaryúL: `rotation` is incompatible with `offload_to_disk`; disabling disk offload.Údense_vram_strategy_devices©rÕ  Úmoe_vram_strategy_devicesr”   )Ú_canonical_devicer¨  rÏ  r6   )Ir   rÎ  rZ   ro  r¦  r\   rx  rU   r‹  ro  r>  rB   rÖ   r[   r�   r�   r   rm   rƒ   rˆ   r‰   r‡   r„   rŠ   r…  r}  r’  r¹  r­  ræ  rÜ  rD  ÚanyrK  r}   r~   r   r9  r„  rV   rè  Údesc_actrœ  ró   r¤   r_   rO  r   r   rk   Ú	telemetryrÙ  Úrotationr¡  r%  r¤  rÏ  Údense_vram_strategyrÝ  r¯  rÓ  Úmoe_vram_strategyr±  rà  Úgc_moderå  ÚmoeÚcalibration_data_devicer  rÙ  r²  rþ  rÜ  )r)   Úfields_infoÚformat_familyÚallowed_methodsr¤  r‘  rÉ  Úplanar_only_bitsrÊ   r©  r}  r’  r²  s   f            r    rp  Ú BaseQuantizeConfig.__post_init__i
  sý  ø€ Ü˜T“lˆä-¨d¯k©kÓ:ˆŒØ×7Ñ7Ó9ˆÜ/°·±Ó@ˆŒØ×.Ñ.¨t¯y©yÈMÐ.ÓZˆŒ	à×4Ñ4Ó6ˆß˜tŸ{™{°/ÔAÜØ—>‘>×*Ñ*Ð+Ð+EÑXgÓFhÑXgÐSTÇwÄwÑXgÑFhÐEiÐijÐkóð ð
 ×Ñ¤§
¡
Ô*¨t¯{©{Ä6Ç=Á=ÔRX×R]ÑR]Ô_e×_oÑ_oÔqw×q|Ñq|ô  E÷  Mñ  Mô  OU÷  O]ñ  O]ð  C^ô  0^Ü�H‰HÐ=¼f¿k¹k¸]È!ÐLÔMÜ Ÿ+™+ˆDŒKØ ×;Ñ;Ó=ˆMà×5Ñ5Ó7ˆØÔ-ÜØ—>‘>×*Ñ*Ð+Ð+JÈ=È/ÐY[Ð\óð ô ,¨D¯M©MÓ:ˆŒà& q�>×2Ñ2°9Õ=ÐÜ˜DŸI™IÓ&Ð.>Ô>ÜÐMÈkÐZ[Ín×NeÑNeÐfoÕNpÐMqÐqsÐtÓuÐuô ,¨D¯I©IÓ6¸)ÑCÐß D§L¡LÒ$<ß"›sô #à)-¯©×);Ñ);Ô)=ó#ŸsŸsšsô #à)-¯©×);Ñ);Ô)=ó#ó  Ðð �K‰Kœ6Ÿ;™;Ô&Ø¤&§+¡+¬v¯~©~Ð!>Ô>ß ä�H‰HØ`Ôag×anÑanÐ`oÐoqÐrôô !Ÿ-™-ˆDŒKØ ×;Ñ;Ó=ˆMà�<‰<Ò#ðØ$(§L¡L×$6Ñ$6Ô$8ÔNÑ$8™D˜A¸A¿L¹LÈ×<M”4�1’4Ñ$8ÒNðà$(§L¡L×$6Ñ$6Ô$8ÔRÑ$8™D˜AÀÇÁÈS×@Q”4�1’4Ñ$8ÒRðˆDŒLð
 &*§\¡\×%7Ñ%7Ö%9Ñ!�Ø×4Ñ4ØØØ%5Ø&3ð	 5ö ñ &:ð �?‰?˜bÔ  T§_¡_¸Ô%9ÜÔ>Ó@ÓAÐAà�=‰=Ò Ø ×1Ñ1Ó3ˆD�MÜ˜DŸM™M¬4×0Ò0Ü  §¡Ó/ˆDŒMà�9‰9Ò Ü˜dŸi™i¬×.Ò.Ü Ð!NÓOÐOØ—y”y�Ü! #¤s×+Ô+Ü$Ð%RÓSÐSò !ð ˆDŒIä(¨¯©Ó6ˆŒÜ�d—n‘n¤d×+Ò+Ü,Ñ>¨t¯~©~Ñ>ˆD�NÜ˜DŸN™N¬O×<Ò<ÜÐPÓQÐQð �=�=ˆ=˜T×1×1Ð1Ü�H‰H˜Ÿ™×/Ñ/Ð0Ð0|Ð}Ô~Ø#(ˆDÔ à×%Ñ%Ô'ä#AÀ$×BZÑBZÓ#[ˆÔ Ü+FØ×,Ñ,Ø4ô,
ˆÔ(ô ">¸d×>TÑ>TÓ!UˆÔÜ)DØ×*Ñ*Ø2ô*
ˆÔ&ô *¨$¯,©,Ó7ˆŒÜ(¨¯©Ó2ˆŒð ×'Ñ'Ò3Ü˜$×6Ñ6¼×<Ò<Ø×/Ñ/×5Ñ5Ó7¸:ÔEØ3=�DÖ0õ IÙ3DÄUÇ\Â\ÐRV×RnÑRnÓEoÓ3p�DÖ0Ü˜D×8Ñ8¼%¿,¹,×GÒGåDÙ/@À×A]ÑA]Ó/^�Ö,ñ Hñ 4ùòM GiùóZ OùÛRs   Â<_Î<_Ï_Ð_Ð#_c                ó&   <€ V ^8„  d   QhRS[ RS[/# ©r   r’  rÖ   ©r   r   )r   r   s   "€r    r!   rZ  ç
  s   ø€ ÷ *ñ *¡ð *©Sñ *r#   c                óh   € V P                   f   / V n         W P                   VP                  4       &   R # r0   )rk   r  ©r)   r’  rÖ   s   &&&r    Úextension_setÚ BaseQuantizeConfig.extension_setç
  s%   € Ø�<‰<ÒØˆDŒLØ$)�‰�S—Y‘Y“[Ó!r#   c                ó&   <€ V ^8„  d   QhRS[ RS[/# ©r   r’  r.   rÃ  )r   r   s   "€r    r!   rZ  ì
  s   ø€ ÷ Gñ G¡ð G©ñ Gr#   c                ó|   € V P                   '       d*   V P                   P                  VP                  4       4      # R # r0   )rk   r{  r  ©r)   r’  s   &&r    Úextension_getÚ BaseQuantizeConfig.extension_getì
  s*   € Ø04··°ˆt�|‰|×Ñ §	¡	£Ó,ÐFÀ$ÐFr#   c                ó&   <€ V ^8„  d   QhRS[ RS[/# rÂ  rÃ  )r   r   s   "€r    r!   rZ  ï
  s   ø€ ÷ ñ ™Cð ©ñ r#   c                ó"   € W P                   V&   R # r0   )r_   rÅ  s   &&&r    Úmeta_setÚBaseQuantizeConfig.meta_setï
  s   € Ø�	‰	�#‹r#   c                ó&   <€ V ^8„  d   QhRS[ RS[/# rÉ  rÃ  )r   r   s   "€r    r!   rZ  ò
  s   ø€ ÷ "ñ "™Cð "¡Cñ "r#   c                ó8   € V P                   P                  V4      # r0   )r_   r{  rË  s   &&r    Úmeta_getÚBaseQuantizeConfig.meta_getò
  s   € Ø�y‰y�}‰}˜SÓ!Ð!r#   c                óp   <€ V ^8„  d   QhRS[ RS[ RS[S[S[S[3,          RS[ RS[S[S[S[S[3,          /# )r   r|  r’  rå  r“  r.   )r   r   rå   r¤   r  r   )r   r   s   "€r    r!   rZ  õ
  s^   ø€ ÷ Lñ LáðLñ ðLñ ‘s™D¡%Ð'Õ(ð	Lñ
 ðLñ 
‰t‘S™$¡Ð%Õ	&ñLr#   c                ó0   € \        V P                  WW44      # r0   )r˜  rD  )r)   r|  r’  rå  r“  s   &&&&&r    r˜  ÚBaseQuantizeConfig.dynamic_getõ
  s   € ô ˜4Ÿ<™<¨¸'ÓKÐKr#   c                ó6   <€ V ^8„  d   QhRS[ RS[S[ ,          /# rÂ  )r   r   )r   r   s   "€r    r!   rZ  þ
  s   ø€ ÷ "ñ "©ð "±D¹µIñ "r#   c                ó(   € V P                  W4       R # r0   )rÐ  rÅ  s   &&&r    Úmeta_set_versionableÚ'BaseQuantizeConfig.meta_set_versionableþ
  s   € Ø�‰�cÖ!r#   c                óL   <€ V ^8„  d   QhRS[ RS[S[S[ S[ 3,          ,          /# rÉ  )r   r   r   )r   r   s   "€r    r!   rZ    s(   ø€ ÷ ñ ©ð ±±U¹3Á¸8µ_Õ0Eñ r#   c                ó<  € V P                  V4      pVf   . # \        V\        4      '       g   V.p. pV Fc  pVP                  R4      p\	        V4      ^8¼  g   K&  VP                  V^ ,          P                  4       V^,          P                  4       34       Ke  	  V# )NÚ:)rÔ  ró   r  rÐ  r  r;  r  )r)   r’  ro  ÚresultÚvalÚpartss   &&    r    Úmeta_get_versionableÚ'BaseQuantizeConfig.meta_get_versionable  sƒ   € Ø—‘˜sÓ#ˆØŠ>ØˆIÜ˜&¤$×'Ò'Ø�XˆFØˆÛˆCØ—I‘I˜c“NˆEÜ�5‹z˜QŽØ—‘˜u Q�xŸ~™~Ó/°°qµ·±Ó1AÐBÖCñ ð ˆr#   c                ó    <€ V ^8„  d   QhRS[ /# r-   rß  )r   r   s   "€r    r!   rZ    s   ø€ ÷ ñ ¡tñ r#   c                óâ   € V P                  \        4      p\        V4      ^ 8”  dJ   V FC  w  r#V\        8X  g   K  \        P
                  ! V4      \        P
                  ! \        4      8¬  u # 	  R# ©r   F©rã  ÚMETA_FIELD_QUANTIZERr  ÚMETA_QUANTIZER_GPTQMODELr   ÚparseÚMIN_VERSION_WITH_V2©r)   rà  ÚproducerÚ_versions   &   r    Úis_quantized_by_gptaqÚ(BaseQuantizeConfig.is_quantized_by_gptaq  óW   € Ø×*Ñ*Ô+?Ó@ˆÜˆv‹;˜Œ?Û&,Ñ"�ØÔ7Ö7Ü"Ÿ=š=¨Ó2´g·m²mÔDWÓ6XÑXÒXñ '-ñ r#   c                ó    <€ V ^8„  d   QhRS[ /# r-   rß  )r   r   s   "€r    r!   rZ    s   ø€ ÷ ñ ¡dñ r#   c                óâ   € V P                  \        4      p\        V4      ^ 8”  dJ   V FC  w  r#V\        8X  g   K  \        P
                  ! V4      \        P
                  ! \        4      8¬  u # 	  R# rç  rè  rí  s   &   r    Úis_quantized_by_foemÚ'BaseQuantizeConfig.is_quantized_by_foem  rò  r#   c                óF   <€ V ^8„  d   QhRS[ S[S[S[3,          ,          /# r-   )r   r   r   rå   )r   r   s   "€r    r!   rZ    s!   ø€ ÷ %ñ %©x¹¹SÁ#¸X½Õ/Gñ %r#   c                ó’  € / pV P                   '       d   V P                  '       g   V# V P                   P                  4        F€  w  r#VP                  R R4      pV'       g   K!  \	        V\
        4      '       g   K9  VP                  RR4      pV'       g   KU  \	        V\        4      '       g   Km  WQVP                  R4      &   K‚  	  V# )rk   NÚrankrH  )rD  rk   rK  r{  ró   r   rå   Úlstrip)r)   Úadapter_rank_patternsrÊ   r¤  Úadapter_overriderù  s   &     r    Úextract_adapter_rank_patternsÚ0BaseQuantizeConfig.extract_adapter_rank_patterns  s—   € Ø "ÐØ�|�|ˆ| 4§<§< <Ø(Ð(à—L‘L×&Ñ&Ö(‰DˆAØ Ÿu™u Y°Ó5ÐßÑ¤JÐ/?Ä×$FÔ$FØ'×+Ñ+¨F°DÓ9�ß‘4œJ t¬S×1Ô1Ø<@¨!¯(©(°4«.Ó9ñ )ð %Ð$r#   c                ó    <€ V ^8„  d   QhRS[ /# ©r   Úsave_dirr   )r   r   s   "€r    r!   rZ  ,  s   ø€ ÷ ñ ©ñ r#   c                ó*  € \        \        V\        4      R RR7      ;_uu_ 4       pV P                  4       p\        P
                  ! V^R7      p\        P                  RV 24       VP                  V4       RRR4       R#   + '       g   i     R# ; i)Úwúutf-8©Úencoding)ÚindentzSaved Quantize Config: 
N)	Úopenr   ÚQUANT_CONFIG_FILENAMEr°  ÚjsonÚdumpsr…  r}  Úwrite)r)   r  rG  Úfr¾  Újson_strs   &&,   r    Úsave_pretrainedÚ"BaseQuantizeConfig.save_pretrained,  sg   € Ü”$�xÔ!6Ó7¸Àw×OÕOÐSTØ—l‘l“nˆGÜ—z’z '°!Ô4ˆHÜ�H‰HÐ0°°
Ð;Ô<Ø�G‰G�HÔ÷	 P×O×OÒOús   ¥ABÂB	c                ó    <€ V ^8„  d   QhRS[ /# )r   r   r   )r   r   s   "€r    r!   rZ  4  s   ø€ ÷ Ddñ Dd±Sñ Ddr#   c                óp  € \        \        4      pR p\        V\        4      '       d   VP	                  \
        4      MRp\        V\        4      '       d   VP	                  \        4      MRpV'       do   \        V4      '       d   \        V4      pM=\        V4      '       d   \        V4      pM \        V4      pW#9  d   \        RV R24      hVf   Ve   \        R4      hM
Vf   Vf   Rp\        4       p\        \        P                   \        V'       d   TM\        P                   /pVRJp	Rp
VP#                  4        EFÍ  w  r¼VP%                  4       pV\&        8X  d   \        R4      hV\
        8X  d^   \        V4      '       d   \        V4      p
M8\        V4      '       d   \        V4      p
M \)        V4      p
V
f   \        V4      p
V
e   T
pK”  V\*        9   d!   \*        V,          V9   d   \*        V,          pM:V\,        9   d0   \,        V,          V9   d   \,        V,          p\/        V4      '       * pV\        8X  d¼   \        V\0        4      '       d>   VP%                  4       \        P2                  8X  d   \        P2                  V\        &   EKW  \        V\0        4      '       d>   VP%                  4       \        P4                  8X  d   \        P4                  V\        &   EKª  \7        V4      V\        &   EK¿  V\        8X  dÞ   Rp	Rp \9        VVP	                  \        4      4      pT;'       g    T
;'       g    TpVe!    \9        VVP	                  \        4      4      pV\        P:                  \        P<                  \        P>                  09   g5   V\        P:                  \        P<                  \        P>                  09   d   WÈV&   EK—  \        V4      W‹&   EK§  W·9   d   WÈV&   EK´  \@        PC                  RV R24       EKÐ  	  V	'       g   V
e	   W¨\        &   VP	                  \D        4      R8X  d[   \        PF                  V\        &   \        PH                  V\        &   \J        PL                  V\N        &   \@        PC                  R	4       VP	                  \P        4      p/ R
R
bRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRb/ RRbRRbRRbRRbRRbR R bR!R!bR"R"bR#R#bR$R$bR%R%bR&R&bR'R'bR(R(bR)R)bR*R*bR+R+bC/ R,R,bR-R-bR.R.bR/R/bR0R0bR1R1bR2R2bR3R3bR4R4bR5R5bR6R6bR7R7bR8R8bR9R9bR:R:bR;R;bR<R<bCR=R=R>R>R?R?/Cp\        V\        4      '       dA   VP#                  4        F,  w  ppVV9  g   K  VV9   g   K  VP	                  V4      VV&   K.  	  V \R        \T        09  d   T M
\W        V4      p\Y        VV4      pV\Z        J d   \]        V4      pMAV\^        J d   \a        V4      pM+V\b        J d   \e        V4      pMV\f        J d   \i        V4      pV'       d+   \@        PC                  R@\         RAV\        ,           24       \9        V\        ,          VP	                  \        4      4      pV\        P4                  \        P>                  09   d   R VRB&   RCV9  d1   V\^        \b        \f        \j        09  d   \@        Pm                  RD4       V! RE/ \o        VV4      B #   \         d    Rp
 ELOi ; i  \         d    Rp ELòi ; i  \         d    Rp ELÌi ; i)FFNz8QuantizeConfig: Unknown quantization checkpoint format: rx  zcQuantizeConfig: Conflicting quantization format passed in manually and also exists in model config.TzfQuantizeConfig: `is_marlin_format` is no longer supported. Replace it with an explicit `format` field.zNQuantizeConfig: Ignoring unknown parameter in the quantization configuration: r{   zQDetected llm-awq quantization format; FORMAT automatically set to FORMAT.LLM_AWQ.rµ  r­  rÁ  ri   rj   r»  rŠ  r¹  Úwait_for_submodule_finalizersÚauto_forward_data_parallelr·  r¯  r¸  r±  rº  r¡  r¢  Ú	pack_implrg   Úmock_quantizationrh   rf   rc   rd   Úopt_rotation_epochsÚopt_finetune_epochsÚopt_train_samplesÚopt_validation_samplesÚopt_batch_sizeÚopt_rotation_lrÚopt_weight_lrÚopt_quantizer_lrÚopt_pair_ratioÚopt_seedÚopt_optimizerÚopt_weight_decayÚ	opt_betasÚopt_epsÚopt_amsgradÚopt_sgd_momentumÚopt_sgd_dampeningÚopt_sgd_nesterovÚopt_fused_rotationÚopt_gradient_checkpointingÚopt_stage_cudagraphÚopt_best_state_dtypeÚopt_train_on_noisy_inputsÚ	opt_scopeÚopt_stage_implÚopt_pair_implÚopt_quantizer_implÚopt_channel_scale_clamp_minÚopt_channel_scale_clamp_maxÚ scale_search_chunked_activationsr×  zR` is missing from the quantization configuration and is automatically inferred to r´  rW   zƒQuantizeConfig: config does not contain `sym` (symmetric quantization). This may result in silent errors. Defaulting to `sym=True`.r6   )8rŒ  rm   ró   rO  r{  rN  r   rÏ  r   rÐ  r  rÅ  ro  Ú"_known_quantize_config_field_namesr$  r�   r}   rK  r  rL  r£  ÚQUANT_CONFIG_ARG_SYNONYMSÚ!QUANT_CONFIG_ARG_SYNONYMS_NEGATEDr¤   r   rƒ   r„   rÎ  rÑ  r€   r�   r‚   r…  r}  ÚAWQ_PACKING_BACKEND_FIELDr�   rŠ   rþ  r¥  ÚPACK_DTYPE_FIELDÚ
META_FIELDr7  r6  rD  r)  r1  r  r"  r  r  r  r  r  r   r%  r.  )rÜ   Úquantize_cfgr   r‘  Úformat_auto_inferredÚcheckpoint_format_hintÚserialized_formatÚfield_namesr  Úformat_field_presentÚlegacy_checkpoint_formatr’  rá  Úserialized_format_hintÚformat_hintÚmeta_payloadÚmeta_field_mapÚnormalized_keyÚmeta_keyr&  Úresolved_format_familys   &&&                  r    Úfrom_quant_configÚ$BaseQuantizeConfig.from_quant_config3  s~  € äœF›ˆØ$ÐÜNXÐYeÔgk×NlÒNl ×!1Ñ!1Ô2IÔ!JÐrvÐÜCMÈlÔ\`×CaÒCa˜L×,Ñ,Ô->Ô?ÐgkÐßÜ" 6×*Ò*Ü+¨FÓ3‘Ü0°×8Ò8Ü7¸Ó?‘ä*¨6Ó2�ØÔ.Ü$Ð'_Ð`fÐ_gÐghÐ%iÓjÐjØ%Ò1Ð5FÒ5RÜ ð  "Gó  Hð  Hð 6Sà#Ò+Ð0AÒ0IØ#'Ð ä8Ó:ˆô œvŸ{™{Ü¯™v´V·[±[ð
ˆ
ð  &¨TÐ1ÐØ#'Ð à$×*Ñ*×,‰HˆCØ—)‘)“+ˆCàÔ0Ô0Ü Ø|óð ð Ô-Ô-Ü& s×+Ò+Ü/AÀ#Ó/FÑ,Ü4°S×9Ò9Ü/MÈcÓ/RÑ,ð8Ü3PÐQTÓ3UÐ0ð 0Ò7Ü3DÀSÓ3IÐ0Ø+Ò7Ø-EÐ*ÙàÔ/Ô/Ô4MÈcÕ4RÐVaÔ4aÜ/°Õ4‘ØÔ9Ô9Ô>_Ð`cÕ>dÐhsÔ>sÜ7¸Õ<�Ü˜s›)”m�àÔ'Ô'Ü˜c¤3×'Ò'¨C¯I©I«K¼6¿=¹=Ô,HÜ4:·M±M�JÔ0Ô1Ü ¤S×)Ò)¨c¯i©i«k¼V¿^¹^Ô.KÜ4:·N±N�JÔ0Ô1ä4KÈCÓ4P�JÔ0Ô1ØÔ)Ô)Ø'+Ð$Ø)-Ð&ð2Ü-AØØ"Ÿ™Ô'8Ó9ó.Ð*ð %×ZÐZÐ(@×ZÐZÐDZ�ØÒ*ð+Ü&:Ø'Ø&ŸN™NÔ+<Ó=ó'˜ð *¬f¯k©k¼6¿:¹:Äv×GZÑGZÐ-[Ô[Ð_jÜ—K‘KÜ—J‘JÜ×'Ñ'ðoô `ð
 '*˜s”Oä&7¸Ó&<�J”OØÔ#Ø"%˜3”ä—‘ÐiÐjmÐinÐnoÐp×qñI -÷L $Ð(@Ò(LØ,DÔ(Ñ)à×ÑÔ5Ó6¸)ÔCÜ,2¯J©JˆJÔ(Ñ)Ü,2¯N©NˆJÔ(Ñ)Ü+0¯;©;ˆJÔ'Ñ(Ü�H‰HÐhÔià!—~‘~¤jÓ1ˆð7
Ø˜ð7
à˜
ð7
ð �yð7
ð �Wð	7
ð
 �Fð7
ð ˜=ð7
ð ˜_ð7
ð �yð7
ð ,Ð-Lð7
ð )Ð*Fð7
ð "Ð#8ð7
ð *Ð+Hð7
ð  Ð!4ð7
ð (Ð)Dð7
ð �5ð7
ð  Ð0ð!7
ð" #Ð$:ñ#7
ð$ ˜ð%7
ð& �5ð'7
ð(  Ð!4ð)7
ð* Ð0ð+7
ð, Ð0ð-7
ð. ˜Nð/7
ð0 "Ð#8ð17
ð2 "Ð#8ð37
ð4 "Ð#8ð57
ð6  Ð!4ð77
ð8 %Ð&>ð97
ð: Ð.ð;7
ð< Ð0ð=7
ð> ˜_ð?7
ð@ Ð 2ðA7
ðB Ð.ðC7
ðD ˜
òE7
ðF ˜_ðG7
ðH Ð 2ðI7
ðJ ˜ðK7
ðL �yðM7
ðN ˜=ðO7
ðP Ð 2ðQ7
ðR  Ð!4ðS7
ðT Ð 2ðU7
ðV !Ð"6ðW7
ðX )Ð*FðY7
ðZ "Ð#8ð[7
ð\ #Ð$:ð]7
ð^ (Ð)Dð_7
ð` ˜ða7
ðb Ð.ðc7
ðd ˜_ðe7
ðf !Ð"6ñg7
ðh *Ð+HØ)Ð+HØ.Ð0Rñm7
ˆôp �l¤D×)Ò)Ø,:×,@Ñ,@Ö,BÑ(� Ø!¨Ö3¸ÀLÖ8PØ1=×1AÑ1AÀ(Ó1K�J˜~Ó.ñ -Cð  Ô(:¼NÐ'KÔK‘SÔQoÐpzÓQ{ˆ
ÜFÀzÐS]Ó^ˆ
ØœÓ"Ü.¨zÓ:‰JØœ:Ó%Ü/°
Ó;‰JØœ9Ó$Ü.¨zÓ:‰JØÔ-Ó-Ü7¸
ÓCˆJçÜ�H‰HØ#Ô$5Ð#6ð  7Ið  JTô  Ufõ  Jgð  Ihð  iôô "6ØÔ(Õ)Ø�N‰NÔ,Ó-ó"
Ðð "¤f§n¡n´f×6IÑ6IÐ%JÔJØ%*ˆJ�zÑ"à˜
Ô" z¼*ÄiÔQcÔeoÐ9pÔ'pÜ�H‰Hð Vôñ ÑcÔJÈ:ÐWaÓbÑcÐcøôq &ô 8Ø37Ó0ð8ûô: "ô 2Ø-1Ó*ð2ûô &ô +Ø&*›ð+ús6   Æ2[<Ì\Í	\$Û<\Ü\Ü\!Ü \!Ü$\5Ü4\5c                ó    <€ V ^8„  d   QhRS[ /# r   r   )r   r   s   "€r    r!   rZ  û  s   ø€ ÷ Añ A¡sñ Ar#   c                ó¶  € VP                  R R4      pRpRp\         F>  p\        W4      p\        P                  P                  V4      '       g   K5  VR8X  d   Rp M	  Vf   \        R4      h\        VRRR7      ;_uu_ 4       p\        P                  ! V4      pV'       d
   VR	,          pV P                  Wƒ4      uuRRR4       #   + '       g   i     R# ; i)
r   NFr]   TzqQuantizeConfig: No quantize_config.json, quant_config.json or config.json file was found in the model repository.Úrr  r  Úquantization_config)rÿ  ÚQUANT_CONFIG_FILENAME_COMPATr   ÚosÚpathÚexistsro  r  r
  ÚloadrI  )	rÜ   r  rG  r   Útransformers_configÚresolved_config_fileÚquantize_config_filenamer  Úargs_from_jsons	   &&,      r    Úfrom_pretrainedÚ"BaseQuantizeConfig.from_pretrainedú  sÁ   € à—‘˜H dÓ+ˆà#ÐØ#Ðß(DÐ$Ü#'¨Ó#KÐ Ü�w‰w�~‰~Ð2×3Ô3Ø+¨}Ô<Ø*.Ð'Ùñ )Eð  Ò'Üð Dóð ô Ð&¨°g×>Õ>À!Ü!ŸYšY q›\ˆNß"Ø!/Ð0EÕ!F�Ø×(Ñ(¨Ó@÷	 ?×>×>Ó>ús   Â8CÃC	c                ó:   <€ V ^8„  d   QhRS[ S[S[3,          RR/# ©r   rD  r.   Nr¬  )r   r   s   "€r    r!   rZ    s#   ø€ ÷ ñ ±±c¹3°hµð ÀDñ r#   c                ó   € R # r0   r6   ©r)   rD  s   &&r    Ú_update_meta_payloadÚ'BaseQuantizeConfig._update_meta_payload  rž  r#   c                ó:   <€ V ^8„  d   QhRS[ S[S[3,          RR/# ©r   r=  r.   Nr¬  )r   r   s   "€r    r!   rZ    s#   ø€ ÷ ñ ©$©s±C¨x­.ð ¸Tñ r#   c                ó   € R # r0   r6   ©r)   r=  s   &&r    Ú_update_output_payloadÚ)BaseQuantizeConfig._update_output_payload  rž  r#   c                óè  € \        V P                  e   V P                  P                  MR 4      pV P                  '       d   \	        V P                  4      M/ pV P
                  '       d   V P
                  P                  4       VR&   V P                  f   R VR&   M}R\        V P                  P                  \        4      '       d!   V P                  P                  P                  MV P                  P                  RV P                  P                  RV/VR&   V P                  VR&   \        V P                  4      VR&   V P                  VR&   V P                   VR	&   \        V P"                  \$        4      '       d   V P"                  P                  MV P"                  VR
&   V P&                  VR&   V P(                  VR&   \        V P*                  \,        4      '       d   V P*                  P                  MV P*                  VR&   V P.                  VR&   \        V P0                  \,        4      '       d   V P0                  P                  MV P0                  VR&   V P2                  VR&   V P5                  V4       R\7        V P8                  4      RV P:                  RV P<                  RV P>                  RV P@                  \B        V PD                  \F        V PD                  \H        V PJ                  \L        V PJ                  \N        \Q        V PR                  4      PU                  R4      R,          RV PV                  \X        V/pV P[                  V4       VR,          pV'       dJ   VP]                  4        F5  w  rVVP_                  RR 4       RV9   g   K   \7        VR,          4      VR&   K7  	  VP]                  4        UUu/ uF  w  rvVf   K  VR / 39  g   K  WvbK  	  ppp\a        V4       V# u uppi )Nrº  r­  r›  rœ  r�  r¡  rµ  r¢  r  r¹  r  r  r·  r¯  r¸  r±  rU   rD  rV   r´  Úlm_headrx  r¶  rk   rÏ  )1r¼  r­  r�  r_   rO  rº  r°  ró   r›  r¨   rÖ   rœ  r¡  r   rµ  r¢  r  r¹  r“  r  r  r·  r’   r¯  r¸  r±  r^  rß  rU   rD  rV   r´  rg  r$  rZ   rM  r   r   rN  r9  r   r\   rÐ  r¶  r:  rd  rK  rÿ  rp  )r)   r�  rD  r=  rD  r  r¤  rÊ   s   &       r    r°  ÚBaseQuantizeConfig.to_dict  s/  € Ü)À$Ç-Á-ÒB[¨$¯-©-×*>Ò*>ÐaeÓfˆà*.¯)¯)¨)”t˜DŸI™I”¸ˆØ�8�8ˆ8Ø"&§(¡(×"2Ñ"2Ó"4ˆL˜Ñà�=‰=Ò Ø'+ˆL˜Ò$ð ä! $§-¡-×"8Ñ"8Ô:J×KÒKð —M‘M×*Ñ*×0Ò0àŸ™×/Ñ/à˜TŸ]™]×4Ñ4Ø˜&ð(ˆL˜Ñ$ð +/×*>Ñ*>ˆÐ&Ñ'Ü$*¨4¯>©>Ó$:ˆ�[Ñ!Ø/3×/HÑ/HˆÐ+Ñ,Ø$(§N¡Nˆ�[Ñ!Ü8BÀ4Ç<Á<ÔQW×8XÒ8X $§,¡,×"4Ò"4Ð^b×^jÑ^jˆ�YÑØ8<×8ZÑ8ZˆÐ4Ñ5Ø59×5TÑ5TˆÐ1Ñ2ô ˜$×2Ñ2´L×AÒAð ×$Ñ$×*Ò*à×)Ñ)ð 	Ð*Ñ+ð
 7;×6VÑ6VˆÐ2Ñ3ô ˜$×0Ñ0´,×?Ò?ð ×"Ñ"×(Ò(à×'Ñ'ð 	Ð(Ñ)ð
 59×4RÑ4RˆÐ0Ñ1Ø×!Ñ! ,Ô/ð Ô(¨¯©Ó3Ø�t—|‘|Ø˜$Ÿ/™/Ø˜Ÿ™Ø�t—|‘|Ü˜tŸ{™{Ü §¡Ü˜tŸ{™{Ü# T§[¡[Üœc $§/¡/Ó2×8Ñ8¸Ó=¸bÕAØ˜Ÿ™Ü˜ð
ˆð 	×#Ñ# CÔ(à�i•.ˆßØŸ™ž‘�Ø—‘�i Ô&Ø˜Q–;Ü 4°Q°vµYÓ ?�A�f“Iñ (ð
 !$§	¡	¤ÔW¡™˜¨qŒtÀ!ÈDÐRTÈ:ÑBUŒtˆqŠt¡ˆÑWÜ Ô$Øˆ
ùó Xs   Ï O.ÏO.ÏO.c           	     óN  € \        V P                  4      pV P                  R8w  dJ   V P                  V,          pV^,          pW!,          pV^,          pW P                  ,          pVR,          pMTp\        P	                  RV RV P                   RV P                   R24       R# )r·  gš™™™™™¹?ú.Estimated Quantization BPW (bits per weight): ú bpw, based on [bits: z, group_size: Ú]NrÏ  )rÜ  rU   rV   r…  r}  )r)   Ú	bit_widthÚper_group_bitsÚbpws   &   r    Úcalculate_bits_per_weightÚ,BaseQuantizeConfig.calculate_bits_per_weight\  s«   € Ü$ T§Y¡YÓ/ˆ	Ø�?‰?˜bÔ Ø!Ÿ_™_¨yÕ8ˆNØ˜bÕ ˆNØÕ'ˆNØ˜aÕˆNØ §?¡?Õ2ˆCØ�3�J‰CàˆCÜ�‰ÐAÀ#ÀÐF\Ð]a×]fÑ]fÐ\gÐguÐvz÷  wFñ  wFð  vGð  GHð  Iö  	Jr#   c                ó:   <€ V ^8„  d   QhRS[ RS[S[ R3,          /# r  r   )r   r   s   "€r    r!   rZ  i  s$   ø€ ÷ 6ñ 6±ð 6¹¹cÀ4¸iÕ8Hñ 6r#   c                óX   € V P                   f   R # V P                   P                  V4      # r0   )rº  r#  )r)   r  s   &&r    Úmoe_routing_overrideÚ'BaseQuantizeConfig.moe_routing_overridei  s$   € Ø�8‰8ÒÙØ�x‰x×(Ñ(¨Ó5Ð5r#   c                ó    <€ V ^8„  d   QhRS[ /# r-   rß  )r   r   s   "€r    r!   rZ  n  s   ø€ ÷ )ñ )¡Dñ )r#   c                óV   € V P                   f   R# V P                   P                  4       # )NF)rº  r  r2   s   &r    Úmoe_routing_bypassÚ%BaseQuantizeConfig.moe_routing_bypassn  s"   € Ø�8‰8ÒÙØ�x‰x×&Ñ&Ó(Ð(r#   c                ó    <€ V ^8„  d   QhRS[ /# r-   rß  )r   r   s   "€r    r!   rZ  s  s   ø€ ÷ ñ ©Dñ r#   c                ó   € R # r<  r6   r2   s   &r    Úuses_weight_only_lifecycleÚ-BaseQuantizeConfig.uses_weight_only_lifecycles  ó   € Ùr#   c                ó    <€ V ^8„  d   QhRS[ /# r-   rß  )r   r   s   "€r    r!   rZ  v  s   ø€ ÷ 5ñ 5©dñ 5r#   c                ó,   € V P                  4       '       * # r0   )r|  r2   s   &r    Úrequires_calibration_datasetÚ/BaseQuantizeConfig.requires_calibration_datasetv  s   € Ø×2Ñ2Ó4Ô4Ð4r#   c                ó6   <€ V ^8„  d   QhRS[ S[S[3,          /# r-   r¬  )r   r   s   "€r    r!   rZ  y  s   ø€ ÷ ñ ©$©s±C¨x­.ñ r#   c                ó   € / # r0   r6   r2   s   &r    Úquant_linear_init_kwargsÚ+BaseQuantizeConfig.quant_linear_init_kwargsy  s   € Øˆ	r#   c                ó  <€ V ^8„  d   Qh/ S[ S[S[S[3,          ;R&   S[S[S[S[S[S[ S[S[S[S[3,          3,          3,          ,          ;R&   S[;R&   S[S[,          ;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R	&   S[S[,          ;R
&   S[S[ S[S[	P                  3,          ,          ;R&   S[ S[S[S[S[3,          3,          ;R&   S[S[ S[S[	P                  3,          ,          ;R&   S[;R&   S[S[ S[S[S[3,          S[3,          ,          ;R&   S[;R&   S[;R&   S[S[,          ;R&   S[S[,          ;R&   S[S[,          ;R&   S[S[,          ;R&   S[S[ S[S[	P                  3,          ,          ;R&   S[;R&   S[;R&   S[S[S[ S[S[	P                  3,          ,          ,          ;R&   S[;R&   S[S[S[ S[S[	P                  3,          ,          ,          ;R&   S[;R&   S[;R&   S[S[,          ;R&   # )r   rU   rD  rV   r´  rW   rf   rg  rZ   r   r_   rÜ  rµ  r\   r  rk   r¡  r¢  r£  r¶  r­  Úcompute_device_filterr»  r  r·  r¯  r¸  r±  r¹  r  rº  )r   rå   r   rj  r   r   r¤   r�   rm   rþ  rÜ  rÙ  r   rÈ  r   r   r™  Úcallabler’   r   r“  r  )r   r   s   "€r    r!   rZ  ©	  s«  ø‡ ‚ á
‘‘S™(Ð"Õ
#Ñcñ ñ
 ‘d™3¡¡S©%±±S¹$ÁÐ0HÕ*IÐ%IÕ JÐJÕKÕLÑbñ ñ Ñ(ñ ñ ‘t�nÑ2ñ ñ 
Ñ#ñ ñ Ñ/ñ ñ" Ñ(ñ# ñ& Ñ/ñ' ñ, Ñ/ñ- ñ2 ‘4�.Ñ.ñ3 ñ8 ‘U™3¡§¡Ð,Õ-Õ.ÑDñ9 ñ< ‘_¡d©3±¨8¥nÐ4Õ5Ñ^ñ= ñF ™™s¡E§K¡KÐ/Õ0Õ1ÑNñG ñL Ñ)ñM ñP ‘e™D¡¡c �N©DÐ0Õ1Õ2ÑHñQ ñV ñ ñW ñ^ ñ ñ_ ñf  Ñ 9Õ:Ñwñg ñj ‘s�mÑ_ñk ñp ‘xÕ ÑBñq ñv $¡HÕ-ñ ñw ñD &¡e©C±·±Ð,=Õ&>Õ?ñ ñE ñN !%ñ ñO ñ` &ñ ña ñl "*©$©u±S¹%¿,¹,Ð5FÕ/GÕ*HÕ!Iñ ñm ñx $ñ ñy ñB  (©©U±3¹¿¹Ð3DÕ-EÕ(FÕGñ ñC ñL ñ ñM ñV $(ñ ñW ñ` 
‘)Õ	ñ òa r#   )r£  rk   rU   r»  r·  r¯  r´  rD  r­  r   r¹  r_   rZ   rº  r¸  r±  r¡  r¢  r\   rµ  )r   r¸  r¹  rº  r»  rÄ  r¼  ©NNNr0   )VrB   rC   rD   rE   r   rU   rD  rV   r´  rW   rf   rg  r�   r}   rZ   rm   r   r_   rÜ  rÙ  rµ  rþ  r¤  r\   r  rk   r¡  r¢  r£  r¶  r™  r­  rˆ  r»  r  r’   r•   r·  r¯  r¸  r±  r“  r–  r¹  r  rº  rG   r[   ÚsetterrX   ri  ro  rx  r„  r‹  r’  r–  rœ  r¤  rp  rÆ  rÌ  rÐ  rÔ  r˜  rÛ  rã  rð  rõ  rý  r  rf  rI  rX  r^  rd  r°  rp  rt  rx  r|  r�  r…  r¦   rH   rI   rJ   s   @r    r7  r7  ©	  sJ  ø‡ € á&+°AÀÒLaÐ@bÔ&c€Dñ PUÐ]aÔOb€Gñ  CÔ(€Já$¨TÔ2€Hñ ˜dÔ#€Cá!¨$Ô/€Oá %Ô(€Gá 6§;¡;Ô/€Fñ  6§;¡;Ô/€Fñ !¨Ô.€Dñ 27¸tÔ1D€Fá8=ÈoÔ8^€Iñ
 5:À%Ç+Á+Ô4N€Jñ  5Ô)€Iá5:À4Ô5H€Gñ "ØØÐ\Ð]ô€Oñ !&ØØÐ\Ð]ô!Ðñ >CÈ4ÐV[ÐbgÐqvÔ=wÐá#¨D¸IÈ
ÐT\ÐG]Ð;^Ô_€Hñ $)¸Ô#B€Hñ 16ØØð |ð }ô1Ðñ CHØØð  Hð  IôCÐñ
 (-ØØð Að Bô(Ðñ ).Ø×&Ñ&Øð  Vð  Wô)Ðñ MRØØð  að  bôMÐñ ',Ø×&Ñ&Øð  Fð  Gô'Ðñ
 KPØØÐð  AôKÐñ
 Ø—‘Øð  lð  mô€Gñ
 +0ØØð  yð  zô+Ð!ñ
  %ØØð ]ð ^ô €Cð ÷ó ðð ×Ñ÷ó ðð ñó ðð ×Ñ÷ó ðð ñó ð÷ð ÷Qð Q÷Fð F÷&ð ÷$ð $÷yð y÷ð ÷vð vò|_÷|*ð *÷
Gð G÷ð ÷"ð "÷Lò L÷"ð "÷ð ÷ð ÷ð ÷%ð %÷ð ð ÷Ddñ Ddó ðDdðL ÷Aó ðA÷.ð ÷ð òBòHJ÷6ð 6÷
)ð )÷
ð ÷5ð 5÷ð ÷a ƒ r#   r7  )Ú	metaclassc                   ó¬   a a€ ] tR tRt o]! ]R7      t]! RR7      t]! RRR7      tV3R lR lt	V 3R	 lt
V3R
 lR ltV3R lR ltV3R ltRtVtV ;t# )ÚPreProcessorConfigi}  rQ  Nró  F)rå  rT  c                ó   <€ V ^8„  d   QhRR/# r5   r6   )r   r   s   "€r    r!   ÚPreProcessorConfig.__annotate__„  s   ø€ ÷ 3ñ 3¨tñ 3r#   c                óF  € \        V P                  4      V n        V P                  e   V P                  MV P                  p\	        V4      V n        V P                  f2   V P                   F!  p\        V\        4      '       g   K  W n         M	  V P                   Uu. uF  p\        V\        4      '       d   K  VNK  	  ppV P                  e   VP                  V P                  4       W0n        \        V P                  4       V P                  4       V n        R # u upi r0   )
rˆ  rŠ  r¹   r�  r‚  ró   r¶  r;  r�  Úresolve_smooth_method)r)   Úsmoother_payloadr�  Únon_smoother_preprocessorss   &   r    Ú_normalize_preprocessor_stateÚ0PreProcessorConfig._normalize_preprocessor_state„  sã   € Ü5°d×6HÑ6HÓIˆÔà,0¯M©MÒ,E˜4Ÿ=š=È4Ï;É;ÐÜ2Ð3CÓDˆŒà�=‰=Ò Ø $× 2Ô 2�Ü˜l¬N×;Ô;Ø$0”MÙñ !3ð .2×-?Ò-?ó&
Ù-?˜\ÄzÐR^Ô`n×Go�LˆLÑ-?ð 	#ð &
ð �=‰=Ò$Ø&×-Ñ-¨d¯m©mÔ<Ø7ÔÜ& t×'9Ñ'9Ô:Ø×0Ñ0Ó2ˆŽùò&
s   ÂDÂ;Dc                óD   <€ V P                  4        \        SV `	  4        R # r0   )r•  r=  rp  ©r)   r>  s   &€r    rp  Ú PreProcessorConfig.__post_init__™  s   ø€ Ø×*Ñ*Ô,Ü‰ÑÖr#   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# r-   )r   r/  )r   r   s   "€r    r!   r�  �  s   ø€ ÷ $ñ $¡x±Õ'=ñ $r#   c                óN   € V P                   f   R # V P                   P                  # r0   )r¹   r�  r2   s   &r    r’  Ú(PreProcessorConfig.resolve_smooth_method�  s   € Ø�=‰=Ò ÙØ�}‰}×#Ñ#Ð#r#   c                ó:   <€ V ^8„  d   QhRS[ S[S[3,          RR/# r[  r¬  )r   r   s   "€r    r!   r�  ¢  s'   ø€ ÷ lñ l±±c¹3°hµð lÀDñ lr#   c                ó�   € V P                   '       d/   V P                    Uu. uF  q"P                  4       NK  	  upVR &   R# R# u upi )rŠ  N)rŠ  r°  )r)   rD  r�  s   && r    r^  Ú'PreProcessorConfig._update_meta_payload¢  s>   € Ø××ÐØX\×XjÒXjÓ,kÑXjÈ×-AÑ-AÖ-CÑXjÑ,kˆL˜Ó)ñ ùÚ,ks   ¡Ac                ó  <€ V ^8„  d   Qh/ S[ S[S[S[S[S[S[3,          S[3,          ,          ,          ;R&   S[ S[S[S[S[S[S[3,          S[3,          ,          ;R&   S[ S[S[S[S[S[3,          S[3,          ,          ;R&   # )r   rŠ  r¹   r�  )	r   r   r   rª  r   r   r   r¶  r/  )r   r   s   "€r    r!   r�  }  s}   ø‡ ‚ á™D¡Ñ'=¹tÁCÉÀH½~ÉsÐ'RÕ!SÕTÕUÑsñ ñ ‘u™^©\¹4ÁÁSÀ½>É3ÐNÕOÕPÑfñ ñ
 ‘U™<©©c±3¨h­¹Ð<Õ=Õ>Ñ`ò r#   )rŠ  r�  r¹   )rB   rC   rD   rE   r   r  rŠ  r¹   r�  r•  rp  r’  r^  r¦   rH   rI   rC  rD  s   @@r    rŽ  rŽ  }  sU   ù‡ € áX]ÐnrÔXs€MÙSXÐaeÔSf€HáAFÈtÐZ_ÔA`€F÷3ð 3õ* ÷$ð $÷
lð l÷K … r#   rŽ  c                   ó   € ] tR tRtRtRtR# )r6  i§  z}Backward-compatible quantization config factory.

Direct construction dispatches to a concrete method-specific config class.
r6   N)rB   rC   rD   rE   rF   rH   r6   r#   r    r6  r6  §  s   † õr#   r6  c                   óR  a a€ ] tR tRt o]! RR7      t]! RR7      t]! RR7      t]! RR7      t]! RR7      t	]! RR7      t
]! RR7      t]! RRR/R7      t]! ]R	7      tV3R
 lR ltV3R lR ltV3R lR ltV 3R ltV3R lR ltV3R lR ltV3R lR ltV3R ltRtVtV ;t# )Ú
GPTQConfigi¯  Nró  Fç        rã  z9Skip heavy computations for fast model loading validationrä  rQ  c                ó4   <€ V ^8„  d   QhRS[ S[R3,          /# r‡  rˆ  )r   r   s   "€r    r!   ÚGPTQConfig.__annotate__¾  ó   ø€ ÷ ñ ¡u©V°S¨[Õ'9ñ r#   c                ó$   € \         P                  3# r0   ©r�   r}   r2   s   &r    r‹  Ú GPTQConfig.allowed_quant_methods¾  ó   € Ü—‘ˆ~Ðr#   c                ó4   <€ V ^8„  d   QhRS[ S[R3,          /# r‡  rŽ  )r   r   s   "€r    r!   r¦  Á  ó   ø€ ÷ #ñ #©%±¸°Õ*<ñ #r#   c                ó   € \         # r0   )ÚGPTQ_EXPORT_FORMATSr2   s   &r    r’  Ú#GPTQConfig.supported_export_formatsÁ  ó   € Ü"Ð"r#   c                ó    <€ V ^8„  d   QhRS[ /# r-   rß  )r   r   s   "€r    r!   r¦  Ä  ó   ø€ ÷ ñ ¡$ñ r#   c                ó   € R # r<  r6   r2   s   &r    rœ  ÚGPTQConfig.default_desc_actÄ  r~  r#   c                ó2  <€ V P                   pV P                  p\        SV `  4        V P                  f   \        V P                  4      V n        V P                  f   \        V P                  4      V n        ^ V P                  u;8  d   ^8  g   M \        R4      hV P                  ^ 8  d   \        R4      h\        V P                  4      V n        \        V P                  4      V n        \        V P                  4      V n        Vf$   V P                  \         P"                  8H  V n        M&\%        V\&        4      '       g   \'        V4      V n        V P)                  W4       V P                  '       d    V P                   '       d   \        R4      hR # R # )Nz4QuantizeConfig: `damp_percent` must between 0 and 1.z;QuantizeConfig:: `damp_auto_increment` must greater than 0.zLQuantizeConfig:: `act_group_aware` == `True` requires `desc_act` == `False`.)r´  rh   r=  rp  rc   rî  rZ   rd   rò  ro  rÃ  rÁ  rÆ  ri   rÉ  rj   r�   r}   ró   r¤   Ú_resolve_activation_ordering)r)   Údesc_act_user_valueÚact_group_aware_user_valuer>  s   &  €r    rp  ÚGPTQConfig.__post_init__Ç  s5  ø€ Ø"Ÿm™mÐØ%)×%9Ñ%9Ð"Ü‰ÑÔà×ÑÒ$Ü 5°d·k±kÓ BˆDÔØ×#Ñ#Ò+Ü'CÀDÇKÁKÓ'PˆDÔ$Ø�D×%Ñ%Ö)¨Ö)ÜÐSÓTÐTØ×#Ñ# aÔ'ÜÐZÓ[Ð[ä)¨$¯,©,Ó7ˆŒÜ% d§j¡jÓ1ˆŒ
Ü# D§I¡IÓ.ˆŒ	à%Ò-Ø#'§;¡;´&·+±+Ñ#=ˆDÕ ÜÐ6¼×=Ò=Ü#'Ð(BÓ#CˆDÔ à×)Ñ)Ð*=ÔZØ××Ð D§M§M MÜÐkÓlÐlñ %2Ñr#   c                óJ   <€ V ^8„  d   QhRS[ S[,          RS[ S[,          RR/# )r   r¸  r¹  r.   N)r   r¤   )r   r   s   "€r    r!   r¦  â  s1   ø€ ÷ )ñ )á%¡d�^ð)ñ %-©T¥Nð)ð 
ñ	)r#   c                ó  € Ve   \        V4      MRpVe   \        V4      MRpV'       d   Ve   V'       d   \        R4      hV'       d9   Vf3   V P                  '       d   \        P	                  R4       RV n        R # R # R # R # )NFziQuantizeConfig:: `act_group_aware` == `True` requires `desc_act` == `False` when both are explicitly set.z‰QuantizeConfig: `desc_act=True` automatically disables `act_group_aware`. Set `act_group_aware=False` explicitly to silence this warning.)r¤   ro  rh   r…  r%  )r)   r¸  r¹  Údesc_act_enabled_by_userÚact_group_aware_enabled_by_users   &&&  r    r·  Ú'GPTQConfig._resolve_activation_orderingâ  s�   € ð
 ATÒ@_¤4Ð(;Ô#<ÐejÐ à0JÒ0VŒDÐ+Ô,Ð\að 	(÷ $Ð(BÒ(N×SrÜØ{óð ÷ $Ð(BÒ(JÈt×Oc×OcÐOcÜ�H‰HðRôð $)ˆDÖ ñ PdÑ(JÑ#r#   c                ó:   <€ V ^8„  d   QhRS[ S[S[3,          RR/# r[  r¬  )r   r   s   "€r    r!   r¦  ø  s#   ø€ ÷ 
ñ 
±±c¹3°hµð 
ÀDñ 
r#   c           	     ó  € V P                   f   R VR&   MÍV P                  fV   V P                   P                  pRV P                   P                  R\	        V\
        4      '       d   TM
\        V4      /VR&   MjV P                  P                  pRV P                  P                  RV P                  P                  R\	        V\
        4      '       d   TM
\        V4      /VR&   V P                  VR&   V P                  VR&   V P                  VR&   R	V P                  P                  R
V P                  P                  R\        V P                  P                  4      P                  R4      R,          RV P                  P                  /VR&   R # )Nri   rõ  rÜ  rý  rj   rg   r  rh   rê  rë  rì  rx  ré  rÁ  rÏ  )ri   rj   rÜ  rõ  ró   r   rý  rg   r  rh   rÁ  rê  rë  rì  rÐ  ré  )r)   rD  rÜ  s   && r    r^  ÚGPTQConfig._update_meta_payloadø  s>  € Ø�:‰:ÒØ$(ˆL˜Ò!Ø�Y‰YÒØ—Z‘Z×&Ñ&ˆFà˜Ÿ™×)Ñ)Ø¤J¨v´s×$;Ò$;™&ÄÀVÃð%ˆL˜Ò!ð
 —Y‘Y×%Ñ%ˆFà˜Ÿ™Ÿ™Ø˜Ÿ	™	Ÿ™Ø¤J¨v´s×$;Ò$;™&ÄÀVÃð$ˆL˜Ñ ð #Ÿh™hˆ�UÑØ,0×,BÑ,BˆÐ(Ñ)Ø*.×*>Ñ*>ˆÐ&Ñ'à˜$Ÿ,™,×1Ñ1Ø˜4Ÿ<™<×3Ñ3ØœS §¡×!;Ñ!;Ó<×BÑBÀ3ÓGÈÕKØ! 4§<¡<×#CÑ#Cð	#
ˆ�YÓr#   c                ó:   <€ V ^8„  d   QhRS[ S[S[3,          RR/# ra  r¬  )r   r   s   "€r    r!   r¦    ó#   ø€ ÷ -ñ -©$©s±C¨x­.ð -¸Tñ -r#   c                óJ   € V P                   VR &   V P                  V\        &   R# ©rW   N©rW   r   r   rc  s   &&r    rd  Ú!GPTQConfig._update_output_payload  ó   € Ø—X‘XˆˆE‰
Ø!%§¡ˆÔÓr#   c                óæ   <€ V ^8„  d   Qh/ S[ S[,          ;R&   S[ S[,          ;R&   S[ S[,          ;R&   S[;R&   S[;R&   S[ S[,          ;R&   S[ S[,          ;R&   S[;R&   S[ S[,          ;R	&   # )
r   rc   rd   rh   re   rg   ri   rj   r  rÁ  )r   r  r¤   rò  rû  râ  )r   r   s   "€r    r!   r¦  ¯  s•   ø‡ ‚ á™5•/Ñ7ñ ñ "¡%�Ñ>ñ ñ ™d•^Ñ9ñ	 ñ
 Ñ.ñ ñ 
Ñ#ñ ñ ‘KÕ Ñ6ñ ñ ‘:Õ
Ñ4ñ ñ ñ ñ ñ ‘mÕ$ÑKò r#   )rh   rd   rc   rj   ri   rÁ  )rB   rC   rD   rE   r   rc   rd   rh   re   rg   ri   rj   r  râ  rÁ  r‹  r’  rœ  rp  r·  r^  rd  r¦   rH   rI   rC  rD  s   @@r    r£  r£  ¯  s¹   ù‡ € á$)°$Ô$7€LÙ+0¸Ô+>ÐÙ&+°DÔ&9€OÙ¨Ô.€MÙ˜sÔ#€CÙ#(°Ô#6€EÙ!&¨tÔ!4€DÙ#ØØÐUÐVôÐñ (-¸]Ô'K€G÷ð ÷#ð #÷ð õm÷6)ð )÷,
ð 
÷6-ð -÷I … r#   r£  c                   ó  a a€ ] tR tRt o]! ]P                  R7      t]! ]P                  R7      t
]! RRR/R7      tV3R lR ltV3R	 lR
 ltV3R lR ltV 3R ltV3R lR ltV3R lV 3R lltV3R ltRtVtV ;t# )r  i  ró  Trã  zqStream and chunk AWQ scale-search activations to reduce peak memory during reference and reconstruction forwards.rä  c                ó4   <€ V ^8„  d   QhRS[ S[R3,          /# r‡  rˆ  )r   r   s   "€r    r!   ÚAWQConfig.__annotate__#  r‰  r#   c                ó$   € \         P                  3# r0   )r�   r�   r2   s   &r    r‹  ÚAWQConfig.allowed_quant_methods#  ó   € Ü—
‘
ˆ}Ðr#   c                ó4   <€ V ^8„  d   QhRS[ S[R3,          /# r‡  rŽ  )r   r   s   "€r    r!   rÍ  &  ó   ø€ ÷ "ñ "©%±¸°Õ*<ñ "r#   c                ó   € \         # r0   )ÚAWQ_EXPORT_FORMATSr2   s   &r    r’  Ú"AWQConfig.supported_export_formats&  ó   € Ü!Ð!r#   c                ó    <€ V ^8„  d   QhRS[ /# r-   rß  )r   r   s   "€r    r!   rÍ  )  s   ø€ ÷ ñ ¡$ñ r#   c                ó   € R # r<  r6   r2   s   &r    rœ  ÚAWQConfig.default_desc_act)  s   € ñ r#   c                óB  <€ \        V P                  4      V n        \        V P                  4      V n        V P                  V P	                  4       9  d=   \
        P                  R \        P                   R24       \        P                  V n        \        SV `)  4        R# )r  rG  N)rÎ  rZ   rÅ  r   r’  r…  r}  rm   r‡   r=  rp  r˜  s   &€r    rp  ÚAWQConfig.__post_init__.  sh   ø€ Ü-¨d¯k©kÓ:ˆŒÜ'¨¯©Ó4ˆŒØ�;‰;˜d×;Ñ;Ó=Ô=Ü�H‰HÐ=¼f¿k¹k¸]È!ÐLÔMÜ Ÿ+™+ˆDŒKÜ‰ÑÖr#   c                ó:   <€ V ^8„  d   QhRS[ S[S[3,          RR/# ra  r¬  )r   r   s   "€r    r!   rÍ  6  ó#   ø€ ÷ -ñ -©$©s±C¨x­.ð -¸Tñ -r#   c                ór   € V P                   '       * VR &   V P                  VR&   V P                  V\        &   R# )r3  r   NrÇ  rc  s   &&r    rd  Ú AWQConfig._update_output_payload6  s.   € Ø $§¡œLˆˆLÑØŸ™ˆˆI‰Ø!%§¡ˆÔÓr#   c                ó:   <€ V ^8„  d   QhRS[ S[S[3,          RR/# r[  r¬  )r   r   s   "€r    r!   rÍ  ;  s'   ø€ ÷ añ a±±c¹3°hµð aÀDñ ar#   c                óD   <€ \         SV `  V4       V P                  VR &   R# )r4  N)r=  r^  r4  ©r)   rD  r>  s   &&€r    r^  ÚAWQConfig._update_meta_payload;  s!   ø€ Ü‰Ñ$ \Ô2Ø;?×;`Ñ;`ˆÐ7Ó8r#   c                ó>   <€ V ^8„  d   Qh/ S[ ;R&   S[;R&   S[;R&   # )r   rZ   r   r4  )r�   rm   r¤   )r   r   s   "€r    r!   rÍ    s,   ø‡ ‚ áÑ.ñ ñ Ñ/ñ ñ '+ñ ò	 r#   )r   rZ   )rB   rC   rD   rE   r   r�   r�   rZ   rm   r‡   r   r4  r‹  r’  rœ  rp  rd  r^  r¦   rH   rI   rC  rD  s   @@r    r  r    s~   ù‡ € á 6§:¡:Ô.€FÙ 6§;¡;Ô/€FÙ-2Øàð  Hð
ô.Ð$÷ð ÷"ð "÷ð õ
 ÷-ð -÷
aó a÷G … r#   r  c                   ó  a a€ ] tR tRt o]! ]P                  R7      t]! ]P                  R7      t
]! ^R7      t]! ^
R7      t]! ^
R7      t]! RR7      t]! ^@R7      t]! ^@R7      t]! RR7      t]! RR7      t]! RR7      t]! RR7      t]! ^ R7      t]! RR7      t]! R	R7      t]! R"R7      t]! R
R7      t]! RR7      t]! RR7      t]! RR7      t]! RR7      t]! RR7      t]! RR7      t]! RR7      t ]! RR7      t!]! RR7      t"]! RR7      t#]! RR7      t$]! RR7      t%]! RR7      t&]! ]'R7      t(]! ])R7      t*V3R lR lt+V3R lR lt,]-V3R lR l4       t.V 3R lt/V3R lR lt0V3R lR lt1V3R lR lt2V3R  lt3R!t4Vt5V ;t6# )#r!  i@  ró  é   rì  gñhãˆµøä>g�íµ ÷Æ°>rG  Úadamwr*  g»½×Ùß|Û=Fr¤  TNrª  ÚmoduleÚfastÚ	referencec                ó4   <€ V ^8„  d   QhRS[ S[R3,          /# r‡  rˆ  )r   r   s   "€r    r!   ÚParoConfig.__annotate__c  r§  r#   c                ó$   € \         P                  3# r0   )r�   r�   r2   s   &r    r‹  Ú ParoConfig.allowed_quant_methodsc  r«  r#   c                ó4   <€ V ^8„  d   QhRS[ S[R3,          /# r‡  rŽ  )r   r   s   "€r    r!   rì  f  s   ø€ ÷ (ñ (©%±¸°Õ*<ñ (r#   c                ó   € \         # r0   )ÚPAROQUANT_EXPORT_FORMATSr2   s   &r    r’  Ú#ParoConfig.supported_export_formatsf  s   € Ü'Ð'r#   c                ó&   <€ V ^8„  d   QhRS[ RS[/# )r   r.  r.   )r   r¤   )r   r   s   "€r    r!   rì  j  s   ø€ ÷ 9ñ 9Áð 9Éñ 9r#   c                óV   € \        V 4      P                  4       P                  4       R8H  # )zMEnable activation checkpointing by default only for whole-layer optimization.r©  )r   rô   r  )r.  s   &r    Ú,default_opt_gradient_checkpointing_for_scopeÚ7ParoConfig.default_opt_gradient_checkpointing_for_scopei  s%   € ô �9‹~×#Ñ#Ó%×+Ñ+Ó-°Ñ8Ð8r#   c                ó*  <€ \        V P                  4      V n        \        V P                  4      V n        V P                  \        P
                  8w  d=   \        P                  R \        P
                   R24       \        P
                  V n        \        SV `%  4        \        V P                  4      V n        V P                  ^ 8:  d   \        R4      h\        V P                  4      V n        \        V P                  4      V n        \        V P                  4      V n        \        V P                   4      V n        \        V P"                  4      V n        \%        V P&                  4      V n        \%        V P(                  4      V n        \%        V P*                  4      V n        \%        V P,                  4      V n        \        V P.                  4      V n        \1        V P2                  4      P5                  4       P7                  4       V n        \%        V P8                  4      V n        \;        V P<                  \>        \@        34      '       d   \C        V P<                  4      ^8w  d   \        R4      h\%        V P<                  ^ ,          4      \%        V P<                  ^,          4      3V n        \%        V PD                  4      V n"        \G        V PH                  4      V n$        \%        V PJ                  4      V n%        \%        V PL                  4      V n&        \G        V PN                  4      V n'        \G        V PP                  4      V n(        \1        V PR                  4      P5                  4       P7                  4       V n)        V PT                  p\;        V\0        4      '       d>   VP5                  4       P7                  4       pVR9   d   RpMVR9   d   RpM\        R4      hVf   V PW                  V PR                  4      p\G        V4      V n*        \G        V PX                  4      V n,        \[        V P\                  4      V n.        \G        V P^                  4      V n/        \1        V P`                  4      P5                  4       P7                  4       V n0        \1        V Pb                  4      P5                  4       P7                  4       V n1        \1        V Pd                  4      P5                  4       P7                  4       V n2        \%        V Pf                  4      V n3        \%        V Ph                  4      V n4        V P                  ^ 8  g   V P                  ^ 8  d   \        R4      hV P                  ^ 8:  g   V P                   ^ 8:  d   \        R	4      hV P"                  ^ 8:  d   \        R
4      hV P&                  ^ 8:  g#   V P(                  ^ 8:  g   V P*                  ^ 8:  d   \        R4      hRV P,                  u;8  d   R8:  g   M \        R4      hV P2                  R 9  d   \        R4      hV P8                  ^ 8  d   \        R4      hV PD                  ^ 8:  d   \        R4      h\j        ;QJ d&    R V P<                   4       F  '       d   K   RM	  RM! R V P<                   4       4      '       g   \        R4      hV PJ                  ^ 8  d   \        R4      hV PL                  ^ 8  d   \        R4      hV PN                  '       d   V PJ                  ^ 8:  d   \        R4      hV PN                  '       d   V PL                  ^ 8w  d   \        R4      hV PR                  R!9  d   \        R4      hV P`                  R"9  d   \        R4      hV Pb                  R"9  d   \        R4      hV Pd                  R"9  d   \        R4      hV Pf                  ^ 8:  g   V Ph                  ^ 8:  d   \        R4      hV Pf                  V Ph                  8¼  d   \        R4      hR# )#r  rG  z.ParoConfig: `krot` must be a positive integer.z9ParoConfig: `opt_betas` must be a 2-tuple/list of floats.TFz…ParoConfig: `opt_gradient_checkpointing` string values must be one of {'1','0','true','false','yes','no','on','off','y','n','t','f'}.Nz5ParoConfig: optimization epochs must be non-negative.z8ParoConfig: optimization sample counts must be positive.z.ParoConfig: `opt_batch_size` must be positive.z9ParoConfig: optimization learning rates must be positive.r¤  rG  z>ParoConfig: `opt_pair_ratio` must be in the interval (0, 0.5].zDParoConfig: `opt_optimizer` must be one of {'adamw', 'adam', 'sgd'}.z4ParoConfig: `opt_weight_decay` must be non-negative.z'ParoConfig: `opt_eps` must be positive.c              3   óN   "  € T F  pR Tu;8*  ;'       d    R8  Mu x € K  	  R# 5i)r¤  râ  Nr6   )r'  rý  s   & r    r)  Ú+ParoConfig.__post_init__.<locals>.<genexpr>µ  s    é € Ð@±¨�3˜$×$Ô$ ×$Ñ$³ùs   ‚%•%z>ParoConfig: `opt_betas` values must be in the interval [0, 1).z4ParoConfig: `opt_sgd_momentum` must be non-negative.z5ParoConfig: `opt_sgd_dampening` must be non-negative.zDParoConfig: `opt_sgd_nesterov=True` requires `opt_sgd_momentum > 0`.zFParoConfig: `opt_sgd_nesterov=True` requires `opt_sgd_dampening == 0`.zLParoConfig: `opt_scope` must be one of {'module', 'compute_block', 'layer'}.zBParoConfig: `opt_stage_impl` must be one of {'fast', 'reference'}.zAParoConfig: `opt_pair_impl` must be one of {'fast', 'reference'}.zFParoConfig: `opt_quantizer_impl` must be one of {'fast', 'reference'}.z0ParoConfig: scale clamp bounds must be positive.z]ParoConfig: `opt_channel_scale_clamp_min` must be smaller than `opt_channel_scale_clamp_max`.>   Ú1ÚtÚyÚonÚyesÚtrue>   rÂ   r  r?  ÚnoÚoffÚfalse>   ÚsgdÚadamrç  >   r©  rè  Úcompute_block>   ré  rê  )6rÎ  rZ   rÅ  r   rm   r‹   r…  r}  r=  rp  rå   Úkrotro  r  r  r  r  r  r  r  r  r  r  r   r   r!  rô   r  r"  ró   r#  r  r  r  r$  r¤   r%  r&  r'  r(  r)  r.  r*  rõ  r+  r«  r,  r-  r/  r0  r1  r2  r3  r  )r)   ÚcheckpointingÚnormalized_checkpointingr>  s   &  €r    rp  ÚParoConfig.__post_init__n  s>  ø€ Ü-¨d¯k©kÓ:ˆŒÜ'¨¯©Ó4ˆŒØ�;‰;œ&×*Ñ*Ô*Ü�H‰HÐ=¼f×>NÑ>NÐ=OÈqÐQÔRÜ ×*Ñ*ˆDŒKÜ‰ÑÔÜ˜Ÿ	™	“NˆŒ	Ø�9‰9˜Œ>ÜÐMÓNÐNÜ#& t×'?Ñ'?Ó#@ˆÔ Ü#& t×'?Ñ'?Ó#@ˆÔ Ü!$ T×%;Ñ%;Ó!<ˆÔÜ&)¨$×*EÑ*EÓ&FˆÔ#Ü! $×"5Ñ"5Ó6ˆÔÜ$ T×%9Ñ%9Ó:ˆÔÜ" 4×#5Ñ#5Ó6ˆÔÜ % d×&;Ñ&;Ó <ˆÔÜ# D×$7Ñ$7Ó8ˆÔÜ˜DŸM™MÓ*ˆŒÜ  ×!3Ñ!3Ó4×:Ñ:Ó<×BÑBÓDˆÔÜ % d×&;Ñ&;Ó <ˆÔÜ˜$Ÿ.™.¬4´¨-×8Ò8¼CÀÇÁÓ<OÐSTÔ<TÜÐXÓYÐYÜ §¡¨qÕ 1Ó2´E¸$¿.¹.ÈÕ:KÓ4LÐMˆŒÜ˜TŸ\™\Ó*ˆŒÜ × 0Ñ 0Ó1ˆÔÜ % d×&;Ñ&;Ó <ˆÔÜ!& t×'=Ñ'=Ó!>ˆÔÜ $ T×%:Ñ%:Ó ;ˆÔÜ"& t×'>Ñ'>Ó"?ˆÔÜ˜TŸ^™^Ó,×2Ñ2Ó4×:Ñ:Ó<ˆŒØ×7Ñ7ˆÜ�m¤S×)Ò)Ø'4×':Ñ':Ó'<×'BÑ'BÓ'DÐ$Ø'Ð+OÔOØ $‘Ø)Ð-RÔRØ %‘ä ðVóð ð Ò Ø ×MÑMÈdÏnÉnÓ]ˆMÜ*.¨}Ó*=ˆÔ'Ü#'¨×(@Ñ(@Ó#AˆÔ Ü$IÈ$×JcÑJcÓ$dˆÔ!Ü)-¨d×.LÑ.LÓ)MˆÔ&Ü! $×"5Ñ"5Ó6×<Ñ<Ó>×DÑDÓFˆÔÜ  ×!3Ñ!3Ó4×:Ñ:Ó<×BÑBÓDˆÔÜ"% d×&=Ñ&=Ó">×"DÑ"DÓ"F×"LÑ"LÓ"NˆÔÜ+0°×1QÑ1QÓ+RˆÔ(Ü+0°×1QÑ1QÓ+RˆÔ(Ø×#Ñ# aÔ'¨4×+CÑ+CÀaÔ+GÜÐTÓUÐUØ×!Ñ! QÔ&¨$×*EÑ*EÈÔ*JÜÐWÓXÐXØ×Ñ !Ô#ÜÐMÓNÐNØ×Ñ 1Ô$¨×(:Ñ(:¸aÔ(?À4×CXÑCXÐ\]ÔC]ÜÐXÓYÐYØ�d×)Ñ)Ö0¨SÖ0ÜÐ]Ó^Ð^Ø×ÑÐ%=Ô=ÜÐcÓdÐdØ× Ñ  1Ô$ÜÐSÓTÐTØ�<‰<˜1ÔÜÐFÓGÐGß‹sÑ@°·²Ó@�s�sŠsÑ@°·²Ó@×@Ò@ÜÐ]Ó^Ð^Ø× Ñ  1Ô$ÜÐSÓTÐTØ×!Ñ! AÔ%ÜÐTÓUÐUØ× × Ð  T×%:Ñ%:¸aÔ%?ÜÐcÓdÐdØ× × Ð  T×%;Ñ%;¸qÔ%@ÜÐeÓfÐfØ�>‰>Ð!EÔEÜÐkÓlÐlØ×ÑÐ&;Ô;ÜÐaÓbÐbØ×ÑÐ%:Ô:ÜÐ`ÓaÐaØ×"Ñ"Ð*?Ô?ÜÐeÓfÐfØ×+Ñ+¨qÔ0°D×4TÑ4TÐXYÔ4YÜÐOÓPÐPØ×+Ñ+¨t×/OÑ/OÔOÜð1óð ñ Pr#   c                ó6   <€ V ^8„  d   QhRS[ S[S[3,          /# r-   r¬  )r   r   s   "€r    r!   rì  Ï  s   ø€ ÷ 
ñ 
©$©s±C¨x­.ñ 
r#   c                ó   € R V P                   /# ©r  r  r2   s   &r    r…  Ú#ParoConfig.quant_linear_init_kwargsÏ  s   € à�D—I‘Ið
ð 	
r#   c                ó:   <€ V ^8„  d   QhRS[ S[S[3,          RR/# r[  r¬  )r   r   s   "€r    r!   rì  Ô  s'   ø€ ÷ Wñ W±±c¹3°hµð WÀDñ Wr#   c                ó~  € V P                   VR &   V P                  VR&   V P                  VR&   V P                  VR&   V P                  VR&   V P
                  VR&   V P                  VR&   V P                  VR&   V P                  VR&   V P                  VR	&   V P                  VR
&   V P                  VR&   \        V P                  4      VR&   V P                  VR&   V P                  VR&   V P                   VR&   V P"                  VR&   V P$                  VR&   V P&                  VR&   V P(                  VR&   V P*                  VR&   V P,                  VR&   V P.                  VR&   V P0                  VR&   V P2                  VR&   V P4                  VR&   V P6                  VR&   V P8                  VR&   V P:                  VR&   R# )r  r  r  r  r  r  r  r  r  r   r!  r"  r#  r$  r%  r&  r'  r(  r)  r*  r+  r,  r-  r.  r/  r0  r1  r2  r3  N)r  r  r  r  r  r  r  r  r  r   r!  r"  r  r#  r$  r%  r&  r'  r(  r)  r*  r+  r,  r-  r.  r/  r0  r1  r2  r3  r]  s   &&r    r^  ÚParoConfig._update_meta_payloadÔ  sä  € Ø.2×.FÑ.FˆÐ*Ñ+Ø.2×.FÑ.FˆÐ*Ñ+Ø,0×,BÑ,BˆÐ(Ñ)Ø15×1LÑ1LˆÐ-Ñ.Ø)-×)<Ñ)<ˆÐ%Ñ&Ø*.×*>Ñ*>ˆÐ&Ñ'Ø(,×(:Ñ(:ˆ�_Ñ%Ø+/×+@Ñ+@ˆÐ'Ñ(Ø)-×)<Ñ)<ˆÐ%Ñ&Ø#'§=¡=ˆ�ZÑ Ø(,×(:Ñ(:ˆ�_Ñ%Ø+/×+@Ñ+@ˆÐ'Ñ(Ü$(¨¯©Ó$8ˆ�[Ñ!Ø"&§,¡,ˆ�YÑØ&*×&6Ñ&6ˆ�]Ñ#Ø+/×+@Ñ+@ˆÐ'Ñ(Ø,0×,BÑ,BˆÐ(Ñ)Ø+/×+@Ñ+@ˆÐ'Ñ(Ø-1×-DÑ-DˆÐ)Ñ*Ø59×5TÑ5TˆÐ1Ñ2Ø.2×.FÑ.FˆÐ*Ñ+Ø/3×/HÑ/HˆÐ+Ñ,Ø48×4RÑ4RˆÐ0Ñ1Ø$(§N¡Nˆ�[Ñ!Ø)-×)<Ñ)<ˆÐ%Ñ&Ø(,×(:Ñ(:ˆ�_Ñ%Ø-1×-DÑ-DˆÐ)Ñ*Ø6:×6VÑ6VˆÐ2Ñ3Ø6:×6VÑ6VˆÐ2Ó3r#   c                ó:   <€ V ^8„  d   QhRS[ S[S[3,          RR/# ra  r¬  )r   r   s   "€r    r!   rì  ó  rÝ  r#   c                ór   € V P                   '       * VR &   V P                  VR&   V P                  V\        &   R# )r3  r  N)rW   r  r   r   rc  s   &&r    rd  Ú!ParoConfig._update_output_payloadó  s.   € Ø $§¡œLˆˆLÑØ—i‘iˆˆF‰Ø!%§¡ˆÔÓr#   c                óê  <€ V ^8„  d   Qh/ S[ ;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R	&   S[;R
&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[S[S[3,          ;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[S[,          ;R&   S[;R&   S[S[S[	P                  3,          ;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R &   # )!r   rZ   r   r  r  r  r  r  r  r  r  r  r  r   r!  r"  r#  r$  r%  r&  r'  r(  r)  r*  r+  r,  r-  r.  r/  r0  r1  r2  r3  )r�   rm   rå   r  r   r   r¤   r   r   rþ  rÈ  )r   r   s   "€r    r!   rì  @  sÂ  ø‡ ‚ áÑ/ñ ñ Ñ4ñ ñ Ñ ñ	 ñ
 Ñ0ñ ñ Ñ0ñ ñ Ñ0ñ ñ  Ñ3ñ ñ Ñ+ñ ñ Ñ0ñ ñ Ñ.ñ ñ Ñ1ñ ñ Ñ.ñ ñ Ñ$ñ ñ Ñ/ñ ñ  Ñ1ñ! ñ" ‘U™E�\Õ"Ñ?ñ# ñ$ Ñ)ñ% ñ& Ñ,ñ' ñ( Ñ0ñ) ñ* Ñ1ñ+ ñ, Ñ1ñ- ñ. Ñ2ñ/ ñ0 !)©¥ÑDñ1 ñ2 Ñ3ñ3 ñ4  ¡¡U§[¡[Ð 0Õ1ÑIñ5 ñ6  $Ñ:ñ7 ñ8 Ñ,ñ9 ñ: Ñ/ñ; ñ< Ñ.ñ= ñ> Ñ8ñ? ñ@ "'Ñ]ñA ñB "'Ñ]òC r#   ) r   r  rZ   r%  r  r,  r#  r3  r2  r$  r  r)  r*  r!  r0  r  r1  r  r  r  r.  r   r'  r&  r(  r+  r/  r-  r  r  r"  r  )gÍÌÌÌÌÌì?gffffffî?)7rB   rC   rD   rE   r   r�   r�   rZ   rm   r‹   r   r  r  r  r  r  r  r  r  r  r  r   r!  r"  r#  r$  r%  r&  r'  r(  r)  r*  r+  r,  r-  r.  r/  r0  r1  Ú%PAROQUANT_OPT_SCALE_CLAMP_MIN_DEFAULTr2  Ú%PAROQUANT_OPT_SCALE_CLAMP_MAX_DEFAULTr3  r‹  r’  Ústaticmethodrõ  rp  r…  r^  rd  r¦   rH   rI   rC  rD  s   @@r    r!  r!  @  s¹  ù‡ € á 6§;¡;Ô/€FÙ 6×#3Ñ#3Ô4€FÙ˜aÔ €DÙ$¨RÔ0ÐÙ$¨RÔ0ÐÙ"¨4Ô0ÐÙ"'°Ô"3ÐÙ¨Ô+€NÙ"¨4Ô0€OÙ ¨Ô.€MÙ#¨DÔ1ÐÙ!¨#Ô.€NÙ !Ô$€HÙ wÔ/€MÙ#¨DÔ1ÐÙ%*°;Ô%?€IÙ 5Ô)€GÙ eÔ,€KÙ#¨CÔ0ÐÙ$¨SÔ1ÐÙ"¨5Ô1ÐÙ$¨TÔ2ÐÙ16¸tÔ1DÐÙ %¨dÔ 3ÐÙ49À&Ô4IÐÙ&+°EÔ&:ÐÙ 8Ô,€IÙ¨Ô/€NÙ vÔ.€MÙ#¨KÔ8ÐÙ).Ð7\Ô)]ÐÙ).Ð7\Ô)]Ð÷ð ÷(ð (ð ÷9ó ð9õ_÷B
ð 
÷
Wð W÷>-ð -÷g … r#   r!  c                   ó®   a € ] tR tRt o ]! ]P                  R7      t]! ]P                  R7      t	V 3R lR lt
V 3R lR ltV 3R lR ltV 3R	 ltR
tV tR# )r#  iù  ró  c                ó4   <€ V ^8„  d   QhRS[ S[R3,          /# r‡  rˆ  )r   r   s   "€r    r!   ÚQQQConfig.__annotate__þ  r‰  r#   c                ó$   € \         P                  3# r0   rí  r2   s   &r    r‹  ÚQQQConfig.allowed_quant_methodsþ  rÐ  r#   c                ó4   <€ V ^8„  d   QhRS[ S[R3,          /# r‡  rŽ  )r   r   s   "€r    r!   r    rÒ  r#   c                ó   € \         # r0   )ÚQQQ_EXPORT_FORMATSr2   s   &r    r’  Ú"QQQConfig.supported_export_formats  rÖ  r#   c                ó    <€ V ^8„  d   QhRS[ /# r-   rß  )r   r   s   "€r    r!   r    r™  r#   c                ó   € R # r›  r6   r2   s   &r    rœ  ÚQQQConfig.default_desc_act  rž  r#   c                ó2   <€ V ^8„  d   Qh/ S[ ;R&   S[;R&   # ©r   rZ   r   ©r�   rm   )r   r   s   "€r    r!   r  ù  s   ø‡ ‚ áÑ.ñ ñ Ñ.ò r#   r6   N)rB   rC   rD   rE   r   r�   r…   rZ   rm   r   r‹  r’  rœ  r¦   rH   rI   rJ   s   @r    r#  r#  ù  sF   ø‡ € á 6§:¡:Ô.€FÙ 6§:¡:Ô.€F÷ð ÷"ð "÷ð ÷ ƒ r#   r#  c                   óŒ  a a€ ] tR tRt o]! ^R^./R7      t]! ]P                  R7      t]! RR7      t	]! RR7      t
]! RR7      t]! RR7      t]! RR7      t]! R	R7      t]! R
R7      tV3R lR ltV3R lR ltV3R lR ltV3R lR ltV 3R ltV3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R ltRtVtV ;t# )r  i  rP  rä  ró  rç  FTr  Nró  c                ó    <€ V ^8„  d   QhRS[ /# r-   rl  )r   r   s   "€r    r!   ÚFP8Config.__annotate__  s   ø€ ÷ ñ ©Fñ r#   c                óV   € \        V P                  4      V n        \        P                  # r0   )r   r   rm   r�   r2   s   &r    ro  Ú$FP8Config._resolve_checkpoint_format  s   € Ü(¨¯©Ó5ˆŒÜ�z‰zÐr#   c                ó4   <€ V ^8„  d   QhRS[ S[R3,          /# r‡  rˆ  )r   r   s   "€r    r!   r)    r‰  r#   c                ó$   € \         P                  3# r0   )r�   r�   r2   s   &r    r‹  ÚFP8Config.allowed_quant_methods  rÐ  r#   c                ó4   <€ V ^8„  d   QhRS[ S[R3,          /# r‡  rŽ  )r   r   s   "€r    r!   r)    rÒ  r#   c                ó   € \         # r0   )ÚFP8_EXPORT_FORMATSr2   s   &r    r’  Ú"FP8Config.supported_export_formats  rÖ  r#   c                ó    <€ V ^8„  d   QhRS[ /# r-   rß  )r   r   s   "€r    r!   r)    r³  r#   c                ó   € R # r<  r6   r2   s   &r    rœ  ÚFP8Config.default_desc_act  r~  r#   c                óà  <€ V P                  4        \        SV `	  4        V P                  ^8w  d   \	        R4      hV P
                  \        P                  8w  d   \	        R4      hR	V n        RV n	        RV n
        \        V P                  4      V n        \        V P                  4      p\        V P                   VR7      V n        Ve   \#        V4      MRV n        \%        V P&                  4      V n        V P(                  eß   / V P(                  P+                  4        UUu/ uF   w  r#VP-                  R4      '       g   K  W#bK"  	  uppCV P(                  P+                  4        UUu/ uF   w  r#VP-                  R4      '       d   K  W#bK"  	  uppCV n        V P(                  P+                  4        F)  w  rEV P/                  VV^.\0        P                  R7       K+  	  R# R# u uppi u uppi )
r¼  zFP8Config: `bits` must be `8`.z"FP8Config: `method` must be `fp8`.FTr  Nr  r«  rÏ  )r•  r=  rp  rU   ro  rZ   r�   r�   rV   r´  rW   r   r   r  r
  r  r  r  r  Úweight_scale_semanticsrD  rK  r9  r„  rm   )r)   r0  rÊ   r¤  r©  r}  r>  s   &     €r    rp  ÚFP8Config.__post_init__!  s“  ø€ Ø×*Ñ*Ô,Ü‰ÑÔà�9‰9˜Œ>ÜÐ=Ó>Ð>à�;‰;œ&Ÿ*™*Ô$ÜÐAÓBÐBàˆŒØˆŒØˆŒä(¨¯©Ó5ˆŒÜ5°d×6LÑ6LÓMˆ
Ü#EØ×$Ñ$Ø(ô$
ˆÔ ð 6@Ò5K¤ jÔ!1ÐQUˆÔÜ&DÀT×E`ÑE`Ó&aˆÔ#à�<‰<Ò#ðØ$(§L¡L×$6Ñ$6Ô$8ÔNÑ$8™D˜A¸A¿L¹LÈ×<M”4�1’4Ñ$8ÒNðà$(§L¡L×$6Ñ$6Ô$8ÔRÑ$8™D˜AÀÇÁÈS×@Q”4�1’4Ñ$8ÒRðˆDŒLð &*§\¡\×%7Ñ%7Ö%9Ñ!�Ø×4Ñ4ØØØ&' SÜ&,§j¡jð	 5ö ó &:ñ $ùãNùÛRs   Ä"G$ÅG$Å)G*Æ	G*c          
      ó\   <€ V ^8„  d   QhRS[ RS[S[ S[3,          RS[S[,          RS[RR/# r{  r~  )r   r   s   "€r    r!   r)  E  sP   ø€ ÷ cñ cáðcñ ™™c˜•Nðcñ
 ™s�)ðcñ "ðcð 
ñcr#   c               ó8  € ??R V9   d'   \        VR ,          4      ^8w  d   \        RV R24      hRV9   d   VR,          R9  d   \        R4      h\        VP                  R4      4      pVP                  \        VP                  R4      4      pVe   \        V4      V\        &   VP                  RR4       RV9   g   Ve    \        VP                  R4      VR	7      VR&   R
V9   d   \        VR
,          4      VR
&   RV9   d   Ve   \        V4      MRVR&   R# R# )rU   zFP8Config: layer `z"` only supports 8-bit FP8 weights.rV   Nz5FP8Config: `group_size` is not used; keep it at `-1`.r
  r
  r  r  r7  ©rÏ  N)
rå   ro  r  r{  r   r   rÿ  r  r  r  )r)   r|  r}  rÉ  rX   r0  Ú
raw_formats   &&&$$  r    r„  Ú)FP8Config._normalize_dynamic_layer_configE  s"  € ð Ð/Ø�ZÔ¤C¨
°6Õ(:Ó$;¸qÔ$@ÜÐ1°*°Ð=_Ð`ÓaÐaØ˜:Ô%¨*°\Õ*BÈ*Ô*TÜÐTÓUÐUä5°j·n±nÐEXÓ6YÓZˆ
Ø—^‘^Ô$5°z·~±~ÀeÓ7LÓMˆ
ØÒ!Ü,>¸zÓ,JˆJÔ(Ñ)Ø�‰�u˜dÔ#Ø  JÔ.°*Ò2HÜ0RØ—‘Ð4Ó5Ø",ô1ˆJÐ,Ñ-ð $ zÔ1Ü3QØÐ3Õ4ó4ˆJÐ/Ñ0ð  *Ô,ØBLÒBX¬d°:Ô.>Ð^bˆJÐ*Ó+ñ -r#   c                ó6   <€ V ^8„  d   QhRS[ S[S[3,          /# r-   r¬  )r   r   s   "€r    r!   r)  d  s   ø€ ÷ 
ñ 
©$©s±C¨x­.ñ 
r#   c                óf   € R V P                   RV P                  RV P                  RV P                  /# ©r   r  r
  r7  r@  r2   s   &r    r…  Ú"FP8Config.quant_linear_init_kwargsd  s6   € à�d—k‘kØ! 4×#;Ñ#;Ø ×!7Ñ!7Ø$ d×&AÑ&Að	
ð 	
r#   c                ó:   <€ V ^8„  d   QhRS[ S[S[3,          RR/# ra  r¬  )r   r   s   "€r    r!   r)  l  s'   ø€ ÷ Dñ D©$©s±C¨x­.ð D¸Tñ Dr#   c                ó†   € V P                   V\        &   V P                  VR &   V P                  VR&   V P                  VR&   R# )r  r
  r7  N)r   r   r  r
  r7  rc  s   &&r    rd  Ú FP8Config._update_output_payloadl  sD   € Ø!%§¡ˆÔÑØ%)×%=Ñ%=ˆÐ!Ñ"Ø#'×#9Ñ#9ˆÐÑ Ø(,×(CÑ(CˆÐ$Ó%r#   c                ó    <€ V ^8„  d   QhRS[ /# r-   rß  )r   r   s   "€r    r!   r)  r  ó   ø€ ÷ ñ ©Dñ r#   c                ó   € R # r›  r6   r2   s   &r    r|  Ú$FP8Config.uses_weight_only_lifecycler  rž  r#   c                óò   <€ V ^8„  d   Qh/ S[ ;R&   S[;R&   S[S[,          ;R&   S[ ;R&   S[S[,          ;R&   S[;R&   S[;R&   S[S[S[S[ ,          S[S[ S[ 3,          3,          ,          ;R&   S[;R	&   # )
r   rU   rZ   r   rV   r´  rW   r  r
  r7  )rå   r�   r   r   r¤   r   r   r   )r   r   s   "€r    r!   r)    s›   ø‡ ‚ á
Ñ;ñ ñ Ñ.ñ ñ ‘S�MÑ:ñ	 ñ
 Ñ'ñ ñ ‘t�nÑ3ñ ñ 
Ñ#ñ ñ Ñ3ñ ñ  ¡¡d©3¥i±±s¹C°xµÐ&@Õ AÕBÑXñ ñ  Ñ:ò r#   )r´  rD  r   rV   rW   r
  r  r7  rÏ  )rB   rC   rD   rE   r   rU   r�   r�   rZ   r   rV   r´  rW   r  r
  r7  ro  r‹  r’  rœ  rp  r„  r…  rd  r|  r¦   rH   rI   rC  rD  s   @@r    r  r    sÒ   ù‡ € á˜a¨9°q°cÐ*:Ô;€DÙ 6§:¡:Ô.€FÙ!¨/Ô:€FÙ BÔ'€JÙ$¨UÔ3€HÙ˜dÔ#€CÙ$¨UÔ3ÐÙEJÐSWÔEXÐÙ"'°	Ô":Ð÷ð ÷ð ÷"ð "÷ð õ"÷Hcð c÷>
ð 
÷Dð D÷ð ÷U … r#   r  c                   ó`  a a€ ] tR tRt o]! ^R^^./R7      t]! ]P                  R7      t]! RR7      t	]! R'R7      t
]! RR7      t]! RR7      t]! ^@R7      t]! RR7      tV3R lR	 ltV3R
 lR ltV3R lR ltV3R lR ltV 3R ltV3R lR ltV3R lR ltV3R lR ltV3R lR lt]V3R lR l4       t]P4                  V3R lR l4       t]V3R lR l4       t]P4                  V3R lR  l4       t]V3R! lR" l4       t]P4                  V3R# lR$ l4       tV3R% ltR&tVtV ;t # )(r  iu  rP  rä  ró  NFTc                ó    <€ V ^8„  d   QhRS[ /# r-   rl  )r   r   s   "€r    r!   ÚBitsAndBytesConfig.__annotate__€  s   ø€ ÷ #ñ #©Fñ #r#   c                ó€   € \        V P                  \        V P                  4      R 7      V n        \        P
                  # )rç   )r  r   rå   rU   rm   r‚   r2   s   &r    ro  Ú-BitsAndBytesConfig._resolve_checkpoint_format€  s(   € Ü4°T·[±[ÄsÈ4Ï9É9Ã~ÔVˆŒÜ×"Ñ"Ð"r#   c                ó4   <€ V ^8„  d   QhRS[ S[R3,          /# r‡  rˆ  )r   r   s   "€r    r!   rL  „  s   ø€ ÷ &ñ &¡u©V°S¨[Õ'9ñ &r#   c                ó$   € \         P                  3# r0   )r�   r‚   r2   s   &r    r‹  Ú(BitsAndBytesConfig.allowed_quant_methods„  s   € Ü×#Ñ#Ð%Ð%r#   c                ó4   <€ V ^8„  d   QhRS[ S[R3,          /# r‡  rŽ  )r   r   s   "€r    r!   rL  ‡  s   ø€ ÷ +ñ +©%±¸°Õ*<ñ +r#   c                ó   € \         # r0   )ÚBITSANDBYTES_EXPORT_FORMATSr2   s   &r    r’  Ú+BitsAndBytesConfig.supported_export_formats‡  s   € Ü*Ð*r#   c                ó    <€ V ^8„  d   QhRS[ /# r-   rß  )r   r   s   "€r    r!   rL  Š  r³  r#   c                ó   € R # r<  r6   r2   s   &r    rœ  Ú#BitsAndBytesConfig.default_desc_actŠ  r~  r#   c                ó²  <€ V P                  4        \        SV `	  4        V P                  R	9  d   \	        R4      hV P
                  \        P                  8w  d   \	        R4      hR
V n        RV n	        RV n
        \        V P                  \        V P                  4      R7      V n        \        V P                  4      V n        \!        V P"                  4      V n        V P$                  eà   / V P$                  P'                  4        UUu/ uF   w  rVP)                  R4      '       g   K  WbK"  	  uppCV P$                  P'                  4        UUu/ uF   w  rVP)                  R4      '       d   K  WbK"  	  uppCV n        V P$                  P'                  4        F*  w  r4V P+                  VV^^.\,        P                  R7       K,  	  R# R# u uppi u uppi )r¹  z.BitsAndBytesConfig: `bits` must be `4` or `8`.z4BitsAndBytesConfig: `method` must be `bitsandbytes`.FTrç   Nr  r«  ¾   r¹  r¼  rÏ  )r•  r=  rp  rU   ro  rZ   r�   r‚   rV   r´  rW   r  r   rå   r-  r0  r¤   r2  rD  rK  r9  r„  rm   )r)   rÊ   r¤  r©  r}  r>  s   &    €r    rp  Ú BitsAndBytesConfig.__post_init__�  ss  ø€ Ø×*Ñ*Ô,Ü‰ÑÔà�9‰9˜FÔ"ÜÐMÓNÐNØ�;‰;œ&×-Ñ-Ô-ÜÐSÓTÐTàˆŒØˆŒØˆŒä4°T·[±[ÄsÈ4Ï9É9Ã~ÔVˆŒÜ<¸T¿_¹_ÓMˆŒÜ#'¨×(@Ñ(@Ó#AˆÔ à�<‰<Ò#ðØ$(§L¡L×$6Ñ$6Ô$8ÔNÑ$8™D˜A¸A¿L¹LÈ×<M”4�1’4Ñ$8ÒNðà$(§L¡L×$6Ñ$6Ô$8ÔRÑ$8™D˜AÀÇÁÈS×@Q”4�1’4Ñ$8ÒRðˆDŒLð &*§\¡\×%7Ñ%7Ö%9Ñ!�Ø×4Ñ4ØØØ&'¨ VÜ&,×&9Ñ&9ð	 5ö ó &:ñ $ùãNùÛRs   Ä
GÄ*GÅGÅ1Gc          
      ó\   <€ V ^8„  d   QhRS[ RS[S[ S[3,          RS[S[,          RS[RR/# r{  r~  )r   r   s   "€r    r!   rL  «  sI   ø€ ÷ 8ñ 8áð8ñ ™™c˜•Nð8ñ
 ™s�)ð8ñ "ð8ð 
ñ8r#   c               ó,  € ??R V9   d'   \        VR ,          4      R9  d   \        RV R24      hRV9   d   VR,          R9  d   \        R4      hRV9   d$   \        VR,          4      '       d   \        R4      hRV9   d   VR,          R	Jd   \        R
4      h\        VP                  R V P                  4      4      pVP                  \
        VP                  R4      4      pVe   \        WeR7      V\
        &   RV9   g   RV9   d.   \        VP                  RVP                  R4      4      4      VR&   VP                  RR4       RV9   g   RV9   d.   \        VP                  RVP                  R4      4      4      VR&   VP                  RR4       R# )rU   zBitsAndBytesConfig: layer `z'` only supports 4-bit or 8-bit weights.rV   Nz>BitsAndBytesConfig: `group_size` is not used; keep it at `-1`.r´  z0BitsAndBytesConfig: `desc_act` is not supported.rW   Tz+BitsAndBytesConfig: `sym` must stay `True`.r.  rç   r0  r/  r2  r1  rZ  r;  )	rå   ro  r¤   r{  rU   r   r  r-  rÿ  )r)   r|  r}  rÉ  rX   Údynamic_bitsr<  s   &&&$$  r    r„  Ú2BitsAndBytesConfig._normalize_dynamic_layer_config«  sx  € ð Ð/Ø�ZÔ¤C¨
°6Õ(:Ó$;À6Ô$IÜÐ:¸:¸,ÐFmÐnÓoÐoØ˜:Ô%¨*°\Õ*BÈ*Ô*TÜÐ]Ó^Ð^Ø˜Ô#¬¨Z¸
Õ-C×(DÒ(DÜÐOÓPÐPØ�JÔ :¨eÕ#4¸DÓ#@ÜÐJÓKÐKÜ˜:Ÿ>™>¨&°$·)±)Ó<Ó=ˆØ—^‘^Ô$5°z·~±~ÐFVÓ7WÓXˆ
ØÒ!Ü,JÈ:Ô,iˆJÔ(Ñ)Ø˜:Ô%Ð)9¸ZÔ)GÜ'IØ—‘˜|¨Z¯^©^Ð<LÓ-MÓNó(ˆJ�|Ñ$ð 	�‰Ð'¨Ô.Ø  JÔ.Ð2KÈzÔ2YÜ04Ø—‘Ð4°j·n±nÐE^Ó6_Ó`ó1ˆJÐ,Ñ-ð 	�‰Ð0°$Ö7r#   c                ó6   <€ V ^8„  d   QhRS[ S[S[3,          /# r-   r¬  )r   r   s   "€r    r!   rL  Ë  s   ø€ ÷ 
ñ 
©$©s±C¨x­.ñ 
r#   c                óN   € R V P                   RV P                  RV P                  /# ©r   r0  r2  rb  r2   s   &r    r…  Ú+BitsAndBytesConfig.quant_linear_init_kwargsË  s)   € à�d—k‘kØ˜$Ÿ/™/Ø! 4×#;Ñ#;ð
ð 	
r#   c                ó:   <€ V ^8„  d   QhRS[ S[S[3,          RR/# ra  r¬  )r   r   s   "€r    r!   rL  Ò  s#   ø€ ÷ >ñ >©$©s±C¨x­.ð >¸Tñ >r#   c                óh   € V P                   V\        &   V P                  VR &   V P                  VR&   R# )r0  r2  N)r   r   r0  r2  rc  s   &&r    rd  Ú)BitsAndBytesConfig._update_output_payloadÒ  s0   € Ø!%§¡ˆÔÑØ ŸO™OˆˆLÑØ%)×%=Ñ%=ˆÐ!Ó"r#   c                ó    <€ V ^8„  d   QhRS[ /# r-   rß  )r   r   s   "€r    r!   rL  ×  rF  r#   c                ó   € R # r›  r6   r2   s   &r    r|  Ú-BitsAndBytesConfig.uses_weight_only_lifecycle×  rž  r#   c                ó    <€ V ^8„  d   QhRS[ /# r-   r   )r   r   s   "€r    r!   rL  Û  s   ø€ ÷ ñ ¡ñ r#   c                ó   € V P                   # r0   rd  r2   s   &r    r.  Ú!BitsAndBytesConfig.bnb_quant_typeÚ  r]  r#   c                ó$   <€ V ^8„  d   QhRS[ RR/# r_  r   )r   r   s   "€r    r!   rL  ß  s   ø€ ÷ Qñ Q¡Cð Q¨Dñ Qr#   c                óP   € \        V\        V P                  4      R 7      V n        R# )rç   N)r  rå   rU   r   ra  s   &&r    r.  rl  Þ  s   € ä4°UÄÀTÇYÁYÃÔPˆŽr#   c                ó    <€ V ^8„  d   QhRS[ /# r-   rä   )r   r   s   "€r    r!   rL  ã  s   ø€ ÷ ñ ¡ñ r#   c                ó   € V P                   # r0   )r0  r2   s   &r    r/  Ú!BitsAndBytesConfig.bnb_block_sizeâ  ó   € à�‰Ðr#   c                ó$   <€ V ^8„  d   QhRS[ RR/# r_  rä   )r   r   s   "€r    r!   rL  ç  s   ø€ ÷ Dñ D¡Cð D¨Dñ Dr#   c                ó&   € \        V4      V n        R # r0   )r-  r0  ra  s   &&r    r/  rq  æ  s   € ä<¸UÓCˆŽr#   c                ó    <€ V ^8„  d   QhRS[ /# r-   rß  )r   r   s   "€r    r!   rL  ë  s   ø€ ÷ (ñ (©ñ (r#   c                ó   € V P                   # r0   )r2  r2   s   &r    r1  Ú*BitsAndBytesConfig.bnb_compress_statisticsê  s   € à×'Ñ'Ð'r#   c                ó$   <€ V ^8„  d   QhRS[ RR/# r_  rß  )r   r   s   "€r    r!   rL  ï  s   ø€ ÷ /ñ /©Tð /°dñ /r#   c                ó&   € \        V4      V n        R # r0   )r¤   r2  ra  s   &&r    r1  rw  î  s   € ä#'¨£;ˆÖ r#   c                óš   <€ V ^8„  d   Qh/ S[ ;R&   S[;R&   S[S[,          ;R&   S[ ;R&   S[S[,          ;R&   S[;R&   S[ ;R&   S[;R&   # )	r   rU   rZ   r   rV   r´  rW   r0  r2  )rå   r�   r   r   r¤   )r   r   s   "€r    r!   rL  u  ss   ø‡ ‚ á
Ñ>ñ ñ Ñ7ñ ñ ‘S�MÑ/ñ	 ñ
 Ñ'ñ ñ ‘t�nÑ3ñ ñ 
Ñ#ñ ñ Ñ'ñ ñ Ñ3ò r#   )r0  r2  r´  rD  r   rV   rW   rÏ  )!rB   rC   rD   rE   r   rU   r�   r‚   rZ   r   rV   r´  rW   r0  r2  ro  r‹  r’  rœ  rp  r„  r…  rd  r|  rG   r.  r‹  r/  r1  r¦   rH   rI   rC  rD  s   @@r    r  r  u  sS  ù‡ € á˜a¨9°q¸!°fÐ*=Ô>€DÙ 6×#6Ñ#6Ô7€FÙ!¨$Ô/€FÙ BÔ'€JÙ$¨UÔ3€HÙ˜dÔ#€CÙ BÔ'€JÙ %¨dÔ 3Ð÷#ð #÷&ð &÷+ð +÷ð õ÷<8ð 8÷@
ð 
÷>ð >÷
ð ð ÷ó ðð ×Ñ÷Qó ðQð ÷ó ðð ×Ñ÷Dó ðDð ÷(ó ð(ð ×#Ñ#÷/ó $ð/÷u … r#   r  c                   ó®  a € ] tR tRt o ]! RR7      t]! ]P                  R7      t]! ]	P                  R7      t
]! RR7      t]! RR7      t]! RR7      t]! RR7      t]! RR7      t]! RR7      t]! RR7      t]! RR7      t]V 3R	 lR
 l4       tV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltR tV 3R lR ltR tV 3R ltRtV tR# )r   iò  rx  ró  FTNrÄ  Úmcgc                ó    <€ V ^8„  d   QhRS[ /# r-   rä   )r   r   s   "€r    r!   ÚEXL3Config.__annotate__  s   ø€ ÷ +ñ +™cñ +r#   c                ó,   € \        V P                  4      # r0   )rÜ  rU   r2   s   &r    ri  ÚEXL3Config.runtime_bits   s   € ä §	¡	Ó*Ð*r#   c                ó4   <€ V ^8„  d   QhRS[ S[R3,          /# r‡  rˆ  )r   r   s   "€r    r!   r~    r§  r#   c                ó$   € \         P                  3# r0   )r�   r†   r2   s   &r    r‹  Ú EXL3Config.allowed_quant_methods  r«  r#   c                ó4   <€ V ^8„  d   QhRS[ S[R3,          /# r‡  rŽ  )r   r   s   "€r    r!   r~    r­  r#   c                ó   € \         # r0   )ÚEXL3_EXPORT_FORMATSr2   s   &r    r’  Ú#EXL3Config.supported_export_formats  r±  r#   c                ó    <€ V ^8„  d   QhRS[ /# r-   rß  )r   r   s   "€r    r!   r~  
  r³  r#   c                ó   € R # r<  r6   r2   s   &r    rœ  ÚEXL3Config.default_desc_act
  r~  r#   c                ó    <€ V ^8„  d   QhRS[ /# rr  rl  )r   r   s   "€r    r!   r~    s   ø€ ÷ 0ñ 0Á6ñ 0r#   c                ó   € \        V4      # r0   )rå  rv  s   &&&r    rx  Ú EXL3Config._normalize_bits_field  s   € Ü# JÓ/Ð/r#   c          
      ó\   <€ V ^8„  d   QhRS[ RS[S[ S[3,          RS[S[,          RS[RR/# r{  r~  )r   r   s   "€r    r!   r~    sP   ø€ ÷ [ñ [áð[ñ ™™c˜•Nð[ñ
 ™s�)ð[ñ "ð[ð 
ñ[r#   c               óÖ   € ??VP                  4        FR  w  rVVR 8X  d   \        V4      W%&   K  VR8X  d   Vf   RM
\        V4      W%&   K7  VR8X  g   K@  VR9  g   KI  \        R4      h	  R# )rU   Ú	head_bitsNrV   z6EXL3Config: `group_size` is not used; keep it at `-1`.r;  )rK  rå  ro  )r)   r|  r}  rÉ  rX   r’  rÖ   s   &&&$$  r    r„  Ú*EXL3Config._normalize_dynamic_layer_config  si   € ð Ð/Ø$×*Ñ*Ö,‰JˆCØ�fŒ}Ü"6°uÓ"=�
“Ø˜Ô#Ø*/ª-¡$Ô=QÐRWÓ=X�
“Ø˜Ö$¨°jÖ)@Ü Ð!YÓZÐZó -r#   c                ó<
  € \        V P                  4      V n        \        V P                  4      V n        \	        V P
                  4      V n        \        V P                  4      V n        V P                  f   R M\        V P                  4      V n        V P                  \        P                  8w  d   \        R4      hV P                  \        P                  8w  d   \        R4      hRV n        RV n        RV n        \!        V P"                  4      V n        V P$                  eÜ   / V P$                  P'                  4        UUu/ uF   w  rVP)                  R4      '       g   K  WbK"  	  uppCV P$                  P'                  4        UUu/ uF   w  rVP)                  R4      '       d   K  WbK"  	  uppCV n        V P$                  P'                  4        F(  w  r4V P+                  VV. \        P                  R7       K*  	  V P,                  e^   \/        V P,                  4      P1                  4       P3                  4       pRRRRR	R	R
R	RRRR/pWV9  d   \        R4      hWe,          V n        \/        V P4                  4      P1                  4       P3                  4       V n        V P4                  R9  d   \        R4      hV P6                  e,   \9        V P6                  \:        4      '       g   \        R4      hV P<                  er   \9        V P<                  \:        4      '       g   \        R4      hV P<                  P'                  4        UUu/ uF  w  rx\/        V4      \?        V4      bK  	  uppV n        V P@                  ea   \9        V P@                  \:        4      '       g   \        R4      hV P@                   F$  p\9        V\.        4      '       d   K  \        R4      h	  M/ V n         \C        V PD                  4      V n"        V PF                  '       dF   V PH                  '       d4   \J        PM                  V PN                  PP                   R24       RV n$        V PS                  4        \U        V PV                  4      V n+        \Y        V PZ                  RR7      V n-        \]        V P^                  4      V n/        \Y        V P`                  RR7      V n0        \c        V Pd                  4      V n2        \g        V Ph                  4      V n4        R # u uppi u uppi u uppi )Nz$EXL3Config: `method` must be `exl3`.z$EXL3Config: `format` must be `exl3`.FTr  r«  Úalwaysrÿ  Úneverr  rÄ  rt  zEEXL3Config: `out_scales` must be one of `always`, `never`, or `auto`.z@EXL3Config: `codebook` must be one of `mcg`, `mul1`, or `3inst`.z@EXL3Config: `tensor_storage` must be a dictionary when provided.z=EXL3Config: `calibration` must be a dictionary when provided.r¬  r­  r®  r¯  r°  r±  rÏ  >   r|  Úmul1Ú3inst)5rÎ  rZ   rÅ  r   r¦  r\   rå  rU   r�  r�   r†   ro  rm   rV   r´  rW   r¹  r­  rD  rK  r9  r„  Ú
out_scalesr   rô   r  ÚcodebookÚtensor_storageró   rO  Úcalibrationrå   r_   r   rk   r¶  r¡  r…  r%  r>  rB   r¤  rÏ  r·  rÝ  r¯  rÓ  r¸  r±  rà  r¹  rå  rº  )	r)   rÊ   r¤  r©  r}  Únormalized_out_scalesÚout_scale_aliasesr’  rÖ   s	   &        r    rp  ÚEXL3Config.__post_init__!  sþ  € Ü-¨d¯k©kÓ:ˆŒÜ'¨¯©Ó4ˆŒÜ/°·±Ó@ˆŒÜ(¨¯©Ó3ˆŒ	Ø!%§¡Ò!7™Ô=QÐRV×R`ÑR`Ó=aˆŒà�;‰;œ&Ÿ+™+Ô%ÜÐCÓDÐDØ�;‰;œ&Ÿ+™+Ô%ÜÐCÓDÐDàˆŒØˆŒØˆŒä+¨D¯M©MÓ:ˆŒà�<‰<Ò#ðØ$(§L¡L×$6Ñ$6Ô$8ÔNÑ$8™D˜A¸A¿L¹LÈ×<M”4�1’4Ñ$8ÒNðà$(§L¡L×$6Ñ$6Ô$8ÔRÑ$8™D˜AÀÇÁÈS×@Q”4�1’4Ñ$8ÒRðˆDŒLð &*§\¡\×%7Ñ%7Ö%9Ñ!�Ø×4Ñ4ØØØ%'Ü&,§k¡kð	 5ö ñ &:ð �?‰?Ò&Ü$'¨¯©Ó$8×$>Ñ$>Ó$@×$FÑ$FÓ$HÐ!à˜(Ø˜Ø˜Ø˜Ø˜Ø˜ð!Ðð %Ô=Ü Ð!hÓiÐiØ/ÕFˆDŒOä˜DŸM™MÓ*×0Ñ0Ó2×8Ñ8Ó:ˆŒØ�=‰=Ð 8Ô8ÜÐ_Ó`Ð`à×ÑÒ*´:¸d×>QÑ>QÔSW×3XÒ3XÜÐ_Ó`Ð`Ø×ÑÒ'Ü˜d×.Ñ.´×5Ò5Ü Ð!`ÓaÐað #'×"2Ñ"2×"8Ñ"8Ô":ô á":‘J�Cô �C“œ#˜e›*Ò$Ù":ò ˆDÔð
 �9‰9Ò Ü˜dŸi™i¬×.Ò.Ü Ð!NÓOÐOØ—y”y�Ü! #¤s×+Ô+Ü$Ð%RÓSÐSò !ð ˆDŒIä(¨¯©Ó6ˆŒð �=�=ˆ=˜T×1×1Ð1Ü�H‰H˜Ÿ™×/Ñ/Ð0Ð0|Ð}Ô~Ø#(ˆDÔ à×%Ñ%Ô'ä#AÀ$×BZÑBZÓ#[ˆÔ Ü+FØ×,Ñ,Ø4ô,
ˆÔ(ô ">¸d×>TÑ>TÓ!UˆÔÜ)DØ×*Ñ*Ø2ô*
ˆÔ&ô *¨$¯,©,Ó7ˆŒÜ(¨¯©Ó2ˆŽùóK OùÛRùóB s   ÅTÅ"TÆ	TÆ)TÍ Tc                ó:   <€ V ^8„  d   QhRS[ S[S[3,          RR/# ra  r¬  )r   r   s   "€r    r!   r~  |  s#   ø€ ÷ .ñ .©$©s±C¨x­.ð .¸Tñ .r#   c                óþ   € \        V P                  4      VR &   V P                  f   RM\        V P                  4      VR&   V P                  VR&   V P                  VR&   V P
                  VR&   V P                  VR&   R# )rU   Nr�  r—  r˜  r™  rš  )r  rU   r�  r—  r˜  r™  rš  rc  s   &&r    rd  Ú!EXL3Config._update_output_payload|  sn   € Ü˜DŸI™IÓ&ˆˆF‰Ø#'§>¡>Ò#9™4¼uÀTÇ^Á^Ó?TˆˆKÑØ ŸO™OˆˆLÑØŸ-™-ˆˆJ‰Ø $× 3Ñ 3ˆÐÑØ!×-Ñ-ˆˆMÓr#   c                óª   € V P                   e   V P                   MV P                  p\        P                  RV P                  V P                  V4       R # )NzXEstimated Quantization BPW (bits per weight): %s bpw, based on [bits: %s, head_bits: %s])r�  rU   r…  r}  )r)   r�  s   & r    rp  Ú$EXL3Config.calculate_bits_per_weight„  s:   € Ø&*§n¡nÒ&@�D—N’NÀdÇiÁiˆ	Ü�‰ØfØ�I‰IØ�I‰IØö		
r#   c                ó  <€ V ^8„  d   Qh/ S[ ;R&   S[;R&   S[;R&   S[;R&   S[S[,          ;R&   S[;R&   S[S[ ,          ;R&   S[S[,          ;R&   S[;R	&   S[S[S[S[3,          ,          ;R
&   S[S[S[S[3,          ,          ;R&   # )r   rU   rZ   r   rV   r´  rW   r�  r—  r˜  r™  rš  )	r  r�   rm   rå   r   r¤   r   r   r   )r   r   s   "€r    r!   r~  ò  s¸   ø‡ ‚ á
Ñ$ñ ñ Ñ/ñ ñ Ñ/ñ	 ñ
 Ñ'ñ ñ ‘t�nÑ3ñ ñ 
Ñ#ñ ñ ™�Ñ4ñ ñ ™•Ñ5ñ ñ Ñ(ñ ñ ™T¡#¡s (�^Õ,ÑBñ ñ ™$™s¡C˜x�.Õ)Ñ?ò r#   )rk   rU   rš  r˜  r·  r¯  r´  rD  r­  r   r¹  rV   r�  r_   rZ   rº  r¸  r±  r¡  r—  r\   rW   rÏ  ) rB   rC   rD   rE   r   rU   r�   r†   rZ   rm   r   rV   r´  rW   r�  r—  r˜  r™  rš  rG   ri  r‹  r’  rœ  rx  r„  rp  rd  rp  r¦   rH   rI   rJ   s   @r    r   r   ò  sß   ø‡ € á Ô$€DÙ 6§;¡;Ô/€FÙ 6§;¡;Ô/€FÙ BÔ'€JÙ$¨UÔ3€HÙ˜dÔ#€CÙ!&¨tÔ!4€IÙ %¨fÔ 5€JÙ %Ô(€HÙ/4¸TÔ/B€NÙ,1¸$Ô,?€Kà÷+ó ð+÷ð ÷#ð #÷ð ÷0ð 0÷[ð [ò"Y3÷v.ð .ò
÷e ƒ r#   r   c                   óü   a a€ ] tR tRt o]! ]P                  R7      t]! ]P                  R7      t	V3R lR lt
V3R lR ltV3R lR ltV 3R	 ltV3R
 lR ltV3R lV 3R lltV3R lR ltV3R ltRtVtV ;t# )r1  i�  ró  c                ó4   <€ V ^8„  d   QhRS[ S[R3,          /# r‡  rˆ  )r   r   s   "€r    r!   ÚRTNConfig.__annotate__’  r§  r#   c                ó$   € \         P                  3# r0   r©  r2   s   &r    r‹  ÚRTNConfig.allowed_quant_methods’  r«  r#   c                ó4   <€ V ^8„  d   QhRS[ S[R3,          /# r‡  rŽ  )r   r   s   "€r    r!   r¦  •  rÒ  r#   c                ó   € \         # r0   )ÚRTN_EXPORT_FORMATSr2   s   &r    r’  Ú"RTNConfig.supported_export_formats•  rÖ  r#   c                ó    <€ V ^8„  d   QhRS[ /# r-   rß  )r   r   s   "€r    r!   r¦  ˜  r³  r#   c                ó   € R # r<  r6   r2   s   &r    rœ  ÚRTNConfig.default_desc_act˜  r~  r#   c                ó$   <€ \         SV `  4        R # r0   )r=  rp  r˜  s   &€r    rp  ÚRTNConfig.__post_init__›  s   ø€ Ü‰ÑÖr#   c                ó:   <€ V ^8„  d   QhRS[ S[S[3,          RR/# ra  r¬  )r   r   s   "€r    r!   r¦  ž  rÄ  r#   c                óJ   € V P                   VR &   V P                  V\        &   R# rÆ  rÇ  rc  s   &&r    rd  Ú RTNConfig._update_output_payloadž  rÉ  r#   c                ó:   <€ V ^8„  d   QhRS[ S[S[3,          RR/# r[  r¬  )r   r   s   "€r    r!   r¦  ¢  s#   ø€ ÷ 
ñ 
±±c¹3°hµð 
ÀDñ 
r#   c                óZ   <€ \         SV `  V4       R \        V P                  4      /VR&   R# )r�  r»  N)r=  r^  r¼  r�  râ  s   &&€r    r^  ÚRTNConfig._update_meta_payload¢  s+   ø€ Ü‰Ñ$ \Ô2àÔ.¨t¯{©{Ó;ð'
ˆ�]Ó#r#   c                ó    <€ V ^8„  d   QhRS[ /# r-   rß  )r   r   s   "€r    r!   r¦  ¨  rF  r#   c                ó   € R # r›  r6   r2   s   &r    r|  Ú$RTNConfig.uses_weight_only_lifecycle¨  rž  r#   c                ó2   <€ V ^8„  d   Qh/ S[ ;R&   S[;R&   # r%  r&  )r   r   s   "€r    r!   r¦  �  s   ø‡ ‚ áÑ/ñ ñ Ñ/ò r#   r6   )rB   rC   rD   rE   r   r�   r}   rZ   rm   r   r‹  r’  rœ  rp  rd  r^  r|  r¦   rH   rI   rC  rD  s   @@r    r1  r1  �  si   ù‡ € á 6§;¡;Ô/€FÙ 6§;¡;Ô/€F÷ð ÷"ð "÷ð õ ÷-ð -÷
ó 
÷ð ÷7 … r#   r1  c                   ó¼  a a€ ] tR tRt o]! ^R. R$O/R7      t]! RR7      t]! ]P                  RR7      t	]! R%RRR7      t
]! RRRR7      t]! R	RRR7      t]! RRRR
7      t]V3R lR l4       tV3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R lR ltV3R lR ltR tV3R lV 3R lltV3R lR ltV 3R ltR tV3R  lR! ltV3R" ltR#tVtV ;t# )&r"  i¬  rP  rä  Nró  F)rå  r,  )rå  r,  rT  T)r,  rT  rU  c                ó    <€ V ^8„  d   QhRS[ /# r-   )rj  )r   r   s   "€r    r!   ÚGGUFConfig.__annotate__·  s   ø€ ÷ ñ ™hñ r#   c                ó   € V P                   # r0   )Ú
_gguf_bitsr2   s   &r    ri  ÚGGUFConfig.runtime_bits¶  rr  r#   c                ó4   <€ V ^8„  d   QhRS[ S[R3,          /# r‡  rˆ  )r   r   s   "€r    r!   r¾  º  r§  r#   c                ó$   € \         P                  3# r0   )r�   r€   r2   s   &r    r‹  Ú GGUFConfig.allowed_quant_methodsº  r«  r#   c                ó4   <€ V ^8„  d   QhRS[ S[R3,          /# r‡  rŽ  )r   r   s   "€r    r!   r¾  ½  s   ø€ ÷ ñ ©%±¸°Õ*<ñ r#   c                ó$   € \         P                  3# r0   )rm   r€   r2   s   &r    r’  Ú#GGUFConfig.supported_export_formats½  r«  r#   c                ó    <€ V ^8„  d   QhRS[ /# r-   rß  )r   r   s   "€r    r!   r¾  À  r³  r#   c                ó   € R # r<  r6   r2   s   &r    rœ  ÚGGUFConfig.default_desc_actÀ  r~  r#   c                ó    <€ V ^8„  d   QhRS[ /# r-   rl  )r   r   s   "€r    r!   r¾  Ã  rm  r#   c                óˆ   € \        V P                  V P                  4      w  V n        V n        V n        \        P
                  # r0   )rÁ  rU   r   rÀ  rm   r€   r2   s   &r    ro  Ú%GGUFConfig._resolve_checkpoint_formatÃ  s0   € Ü2MÈdÏiÉiÐY]×YdÑYdÓ2eÑ/ˆŒ	�4”; ¤Ü�{‰{Ðr#   c                ó    <€ V ^8„  d   QhRS[ /# rr  rl  )r   r   s   "€r    r!   r¾  Ç  s   ø€ ÷ Sñ SÁ6ñ Sr#   c                ó€   € \        V\        P                  R 7      p\        V\        4      '       d   VP
                  # T# rt  )rË  rm   r€   ró   rj  rU   )r)   rw  rX   r  s   &&& r    rx  Ú GGUFConfig._normalize_bits_fieldÇ  s-   € Ü*¨:ÄFÇKÁKÔPˆ
Ü",¨Z¼×"BÒ"Bˆz�‰ÐRÈ
ÐRr#   c          
      ó\   <€ V ^8„  d   QhRS[ RS[S[ S[3,          RS[S[,          RS[RR/# r{  r~  )r   r   s   "€r    r!   r¾  Ë  sP   ø€ ÷ Bñ BáðBñ ™™c˜•NðBñ
 ™s�)ðBñ "ðBð 
ñBr#   c               ól  € R V9   p\         V9   pV'       g	   V'       dÜ   VP                  R V P                  4      pVP                  \         V P                  4      p\	        Wx4      w  ršpW’R &   \        V\        4      ;'       g<    \        V\        4      ;'       d$    VP                  4       P                  4       '       * pV'       g	   V'       d	   W¢\         &   \        V4      V9  d   \        RV RV R24      hRV9   d4   VR,          R8w  d$   VR,          ^ 8:  d   \        \        4       4      hR# R# R# )rU   r�  r‚  rƒ  rV   NrÏ  )r   r{  rU   r   rÁ  ró   rj  r   rô   rõ   rÜ  ro  rè  )r)   r|  r}  rÉ  rX   Úbits_override_presentÚformat_override_presentr¿  r<  r¾  rÀ  Únormalized_runtime_bitsÚbits_implied_formats   &&&$$        r    r„  Ú*GGUFConfig._normalize_dynamic_layer_configË  s'  € ð !'¨*Ñ 4ÐÜ"3°zÑ"AÐç ×$;Ø!—~‘~ f¨d¯i©iÓ8ˆHØ#Ÿ™Ô(9¸4¿;¹;ÓGˆJÜJeÐfnÓJ{ÑGˆOÐ0Gà!0�vÑô ˜8¤XÓ.÷ Rð RÜ˜x¬Ó-×PÐP°h·n±nÓ6F×6NÑ6NÓ6PÔ2Pð  ÷ '×*=Ø0AÔ,Ñ-äÐ 7Ó8Ð@PÔPÜ Ø-¨j¨\Ð9YÐZjÐYkÐkrÐsóð ð ˜:Ô%¨*°\Õ*BÀbÔ*HÈZÐXdÕMeÐijÔMjÜÔ>Ó@ÓAÐAñ NkÑ*HÑ%r#   c                óš   € V P                  4        \        P                  V 4       \        V P                  V P
                  4      V n        R # r0   )r•  r7  rp  r°  rU   r   rÀ  r2   s   &r    rp  ÚGGUFConfig.__post_init__ì  s4   € Ø×*Ñ*Ô,ô 	×(Ñ(¨Ô.Ü4°T·Y±YÀÇÁÓLˆŽr#   c                ó:   <€ V ^8„  d   QhRS[ S[S[3,          RR/# r[  r¬  )r   r   s   "€r    r!   r¾  ó  s#   ø€ ÷ 3ñ 3±±c¹3°hµð 3ÀDñ 3r#   c                ó&   <€ \         SV `  V4       R # r0   )r=  r^  râ  s   &&€r    r^  ÚGGUFConfig._update_meta_payloadó  s   ø€ Ü‰Ñ$ \Ö2r#   c                ó:   <€ V ^8„  d   QhRS[ S[S[3,          RR/# ra  r¬  )r   r   s   "€r    r!   r¾  ö  s#   ø€ ÷ -ñ -©$©s±C¨x­.ð -¸Tñ -r#   c                ó,   € V P                   V\        &   R # r0   )r   r   rc  s   &&r    rd  Ú!GGUFConfig._update_output_payloadö  s   € Ø!%§¡ˆÔÓr#   c                óh  <€ \         SV `  4       pVP                  \        R 4       VP                  RR 4       VP                  \        R 4       VP                  \        4      p\        V\        4      '       d:   R F  pVP                  VR 4       K  	  V'       g   VP                  \        R 4       V# )Nr´  )r­  r¡  r¢  r  r¹  r  r  r·  r¯  r¸  r±  r»  )	r=  r°  rÿ  ÚGROUP_SIZE_FIELD_CODEr9  r{  r:  ró   rO  )r)   r=  rD  r’  r>  s   &   €r    r°  ÚGGUFConfig.to_dictù  sŒ   ø€ Ü‰g‰oÓˆØ�‰Ô% tÔ,Ø�‰�
˜DÔ!Ø�‰Ô  $Ô'à—w‘wœzÓ*ˆÜ�l¤D×)Ò)ó�ð × Ñ   dÖ+ñ÷  Ø—‘œ
 DÔ)àˆ
r#   c           	     ó  € V P                   P                  4       p\        P                  V\	        \        V P                   4      4      4      p\        P                  R V RV P                   RV P                   R24       R# )rj  rk  z
, format: rl  N)
ri  rá   Ú%_GGUF_APPROX_BITS_PER_WEIGHT_BY_ALIASr{  r  rÜ  r…  r}  rU   r   )r)   Ú	bits_namero  s   &  r    rp  Ú$GGUFConfig.calculate_bits_per_weight  sq   € Ø×%Ñ%×/Ñ/Ó1ˆ	Ü3×7Ñ7¸	Ä5ÔIYÐZ^×ZkÑZkÓIlÓCmÓnˆÜ�‰Ø<¸S¸EÐAWÐX\×XaÑXaÐWbÐblÐmq×mxÑmxÐlyÐyzÐ{ö	
r#   c                ó    <€ V ^8„  d   QhRS[ /# r-   rß  )r   r   s   "€r    r!   r¾    rF  r#   c                ó   € R # r›  r6   r2   s   &r    r|  Ú%GGUFConfig.uses_weight_only_lifecycle  rž  r#   c                ó¨   <€ V ^8„  d   Qh/ S[ S[S[S[3,          ;R&   S[S[,          ;R&   S[;R&   S[;R&   S[S[,          ;R&   S[;R&   S[;R&   # )r   rU   r   rZ   rV   r´  rW   rÀ  )r   rå   r   rj  r   r�   r¤   )r   r   s   "€r    r!   r¾  ¬  sr   ø‡ ‚ á
‘‘S™(Ð"Õ
#Ñcñ ñ ‘S�MÑ/ñ ñ Ñ;ñ	 ñ
 Ñ?ñ ñ ‘t�nÑKñ ñ 
Ñ;ñ ñ ÑGò r#   )rÀ  rU   r   r¶  rÏ  ) rB   rC   rD   rE   r   rU   r   r�   r€   rZ   rV   r´  rW   rÀ  rG   ri  r‹  r’  rœ  ro  rx  r„  rp  r^  rd  r°  rp  r|  r¦   rH   rI   rC  rD  s   @@r    r"  r"  ¬  sò   ù‡ € á&+°AÀÒLaÐ@bÔ&c€DÙ!¨$Ô/€FÙ 6§;¡;°UÔ;€FÙ B¨U¸Ô?€JÙ$¨U¸ÀUÔK€HÙ˜d¨°UÔ;€CÙ  e°%ÀÔG€Jà÷ó ð÷ð ÷ð ÷ð ÷ð ÷Sð S÷Bð BòBM÷3ó 3÷-ð -õò8
÷ð ÷a … r#   r"  c                ó¾   € V ^8„  d   QhR\         \        \        \        \        3,          R\
        R\        \         \        \        \        \        3,          ,          /# )r   ÚqcfgÚmodule_full_namer.   )r   r1  r"  r  r  r   r   )r   s   "r    r!   r!     sN   € ÷ hñ hÜ
”	œ:¤yÔ2DÐDÕ
Eðhäðhô Œe”Iœz¬9Ô6HÐHÕIÕJñhr#   c                 óÀ  € V P                  VR 7      RJ d   R# \        P                  ! V 4      pV P                  Ee¡   V P                  VRR4      pVf   V P                  VRR4      pVe&   \	        V4      Vn        VP                  4       Vn        \        V\        4      '       d`   V P                  VRVP                  4      pV P                  V\        VP                  4      p\        VV4      w  Vn
        Vn        Vn        EMa\        V\        4      '       dá   V P                  V\        R4      pVf   V P                  VRVP                  4      pV P                  VRVP                   4      p\#        V4      p\%        V4      Vn        \'        V P                  VRVP(                  4      VR	7      Vn        Ve   \+        V4      MRVn        \-        V P                  VR
VP.                  4      4      Vn        EMk\        V\0        4      '       Ed
   \3        V P                  VRVP                  4      \4        P6                  R7      Vn
        \9        V P                  V\        V P                  VRVP                  4      4      \;        VP                  4      R7      Vn        \=        V P                  VRV P                  VRVP>                  4      4      4      Vn        \A        V P                  VRV P                  VRVPB                  4      4      4      Vn!        MK\3        V P                  VRVP                  4      \E        VP                  VPF                  4      R7      Vn
        \        V\H        4      '       db   V P                  VRVPJ                  4      Vn%        V P                  VRVPL                  4      Vn&        V P                  VRR4      pVe   W‚n'        V# ))r|  FNr¹   r�  rU   r
  r
  r  r  r7  ru  r.  rç   r0  r/  r2  r1  rW   rV   r´  )(r˜  ÚcopyÚdeepcopyrD  r‚  r¹   r’  r�  ró   r"  rU   r   r   rÁ  rÀ  r  r
  r  r   r  r  r  r  r7  r  rË  rm   r‚   r  rå   r-  r0  r¤   r2  rÑ  rZ   r1  rW   rV   r´  )	rì  rí  Ú
qcfg_cloneÚsmooth_overrider^  Údynamic_formatÚdynamic_block_sizer0  Údesc_act_overrides	   &&       r    Ú#clone_weight_only_config_for_modulerö    s—  € ð ×ÑÐ#3ÐÓ4¸Ó=Ùä—’˜tÓ$€Jà‡|�|ÓØ×*Ñ*Ð+;¸ZÈÓNˆØÒ"Ø"×.Ñ.Ð/?ÀÈ4ÓPˆOØÒ&Ü"<¸_Ó"MˆJÔØ *× @Ñ @Ó BˆJÔä�j¤*×-Ò-Ø×+Ñ+Ð,<¸fÀjÇoÁoÓVˆLØ!×-Ñ-Ð.>Ô@QÐS]×SdÑSdÓeˆNÜHcØØóIÑEˆJŒO˜ZÔ.°
Ö0Eô ˜
¤I×.Ò.Ø!×-Ñ-Ð.>Ô@QÐSWÓXˆNØÒ%Ø!%×!1Ñ!1Ð2BÀEÈ:×K\ÑK\Ó!]�Ø!%×!1Ñ!1Ø Ø#Ø×,Ñ,ó"Ðô
 :Ð:LÓMˆJÜ 2°>Ó BˆJÔÜ-OØ× Ñ Ø$Ø)Ø×2Ñ2óð
 #-ô.ˆJÔ*ð @JÒ?U¬4°
Ô+;Ð[_ˆJÔ(Ü0NØ× Ñ Ø$Ø,Ø×5Ñ5óó1ˆJÖ-ô ˜
Ô$6×7Ó7Ü3Ø× Ñ Ð!1°6¸:¿?¹?ÓKÜ#×0Ñ0ôˆJŒOô !?Ø× Ñ Ø$Ü%Ø×$Ñ$Ø(Ø(Ø"×)Ñ)óóô ˜Ÿ™Ó)ô!ˆJÔô %GØ× Ñ Ø$Ø Ø×$Ñ$Ø(Ø(Ø"×-Ñ-óóó
%ˆJÔ!ô .2Ø× Ñ Ø$Ø)Ø×$Ñ$Ø(Ø1Ø"×6Ñ6óóó
.ˆJÕ*ô 4Ø× Ñ Ð!1°6¸:¿?¹?ÓKÜ1°*×2CÑ2CÀZ×EVÑEVÓWôˆJŒOô
 �j¤)×,Ò,Ø!×-Ñ-Ð.>ÀÀzÇ~Á~ÓVˆJŒNØ$(×$4Ñ$4Ð5EÀ|ÐU_×UjÑUjÓ$kˆJÔ!à $× 0Ñ 0Ð1AÀ:ÈtÓ TÐØ Ò,Ø&7Ô#àÐr#   c                óh   € V ^8„  d   QhR\         \        \        3,          R\        \        ,          /# rr  )r   r   r   rÛ  r7  )r   s   "r    r!   r!   �  s,   € ÷ Kñ K¬D´´c°­Nð K¼tÔDVÕ?Wñ Kr#   c                 ó¼  € V P                  \        V P                  \        \        P                  4      4      pV P                  \
        V P                  \        \        P                  4      4      pV P                  R 4      pV P                  \        4      pV P                  \
        4      p \        V4      p\        V4      '       d   \        P                  pM \        V4      pRpVe    \        V4      RJp\!        V4      pV P                  \
        V P                  R4      4      p	VeP   VR\"        P$                  \"        P&                  \"        P                  \"        P(                  09  d   \        R4      hV\        P&                  8X  g/   V\"        P&                  8X  g   \+        V4      '       g	   V'       d   \,        # V\"        P                  8X  d   \.        # V\"        P(                  8X  d   \0        # V\"        P$                  8X  d   \2        # Ve   \2        # V\        P                  8X  g'   V\        P                  8X  g   \        V	4      '       d   \.        # V\        P(                  8X  g'   V\        P(                  8X  g   \5        V4      '       d   \0        # V\        P6                  8X  g   V\        P6                  8X  d   \8        # V\        P:                  8X  g   V\        P<                  8X  d   \>        # V\        P@                  8X  g   V\        P@                  8X  d   \B        # V\        PD                  8X  d   \F        # V\        PH                  \        PJ                  \        PL                  \        PN                  09   d   \F        # V\        PP                  8X  d"   V\        PD                  8X  d   \F        # \R        # \R        #   \         d    \        P                  p EL9i ; i  \         dH     \        T4      pM&  \         d    T P                  \
        4      p Mi ; i\        P                  p EL`i ; i  \         d    Rp EL`i ; i)r»  FNr
  zQuantizeConfig: unsupported weight-only config. Weight-only export currently supports `rtn`, `gguf`, `fp8`, and `bitsandbytes`.)*r{  r$  rM  r�   r}   r   rN  rm   r  rÎ  rN  rÏ  r�   rÅ  r£  ro  rõ  r´   r®   r€   r‚   rÕ  r"  r  r  r1  rÐ  r†   r   r�   r‹   r!  r…   r#  r�   r  r‡   rˆ   r‰   rŠ   rƒ   r£  )
r¾  rZ   Úraw_format_valuer»  rU   Úgguf_public_formatr³  Úgguf_format_detectedr  Úfp8_storage_fmts
   &         r    rD  rD  �  sW  € Ø�[‰[Ô*¨G¯K©KÔ8JÌFÏKÉKÓ,XÓY€FØ—{‘{Ô#4°g·k±kÔBYÔ[a×[fÑ[fÓ6gÓhÐØ—+‘+˜mÓ,€KØ�;‰;”Ó'€DØ Ÿ™Ô%6Ó7ÐðÜ(¨Ó0ˆô Ð+×,Ò,Ü—z‘z‰ð	'Ü,Ð-=Ó>ˆLð !ÐØÒ%ð	)Ü#@ÐASÓ#TÐ\`Ð#`Ð ô 2°+Ó>ÐØ—k‘kÔ"3°W·[±[ÀÓ5GÓH€OØÒÐ#5ØÜ×ÑÜ×ÑÜ×ÑÜ×%Ñ%ð>ô $ô ð8ó
ð 	
ð
 	œŸ™Ô#ØÔ!1×!6Ñ!6Ô6Ü  ×&Ò&ßäÐØÔ-×1Ñ1Ô1ÜÐØÔ-×:Ñ:Ô:Ü!Ð!ØÔ-×1Ñ1Ô1ÜÐØÒÜÐØ”—‘Ô˜|¬v¯z©zÔ9Ô=PÐQ`×=aÒ=aÜÐØ”×$Ñ$Ô$¨¼×8KÑ8KÔ(KÔOnÐo÷  PAò  PAÜ!Ð!Ø”—‘Ô ´·±Ô ;ÜÐØ”—‘Ô ´×0@Ñ0@Ô @ÜÐØ”—‘Ô˜|¬v¯z©zÔ9ÜÐØ”—‘ÔÜÐØœŸ™¤V§[¡[´&×2BÑ2BÄFÇNÁNÐSÔSÜÐØ”v—}‘}Ô$Ø"¤f§j¡jÔ0ŒyÐ@´jÐ@ÜÐøôE ô Ü—‘‹ðûô ô 	'ðDÜ%BÐCSÓ%TÑ"øÜô DØ%,§[¡[Ô1BÓ%CÒ"ðDúä!Ÿ;™;‹Lð	'ûô ô 	)Ø#(Ó ð	)úsZ   Â-O ÃO5 Ã-Q
 ÏO2Ï1O2Ï5QÐPÐQÐ P0Ð-QÐ/P0Ð0QÑQÑ
QÑQc                ó:   € V ^8„  d   QhR\         \        ,          /# r-   )rŒ  r   )r   s   "r    r!   r!   Û  s   € ÷ ñ ¬C´­Hñ r#   c                  óæ   € \        4       p \        \        \        \        \
        \        \        \        \        \        \        \        3 F$  pV P                  R  \        V4       4       4       K&  	  V # )c              3   ó8   "  € T F  qP                   x € K  	  R # 5ir0   )r1   )r'  r   s   & r    r)  Ú5_known_quantize_config_field_names.<locals>.<genexpr>ë  s   é € Ð?±;¨%Ÿ:ž:³;ùr+  )rŒ  r7  rŽ  r6  r£  r  r!  r#  r  r  r   r1  r"  Úupdater   )r?  rÜ   s     r    r5  r5  Û  s[   € Ü›E€KäÜÜÜÜÜÜÜÜÜÜÜóˆð 	×ÑÑ?´6¸#´;Ó?Ö?ñð Ðr#   c                ó‚  € V ^8„  d   Qh/ ^ \         9   d   \        \        R3,          ;R&   ^\         9   d   \        \        R3,          ;R&   ^\         9   d   \        \        R3,          ;R&   ^\         9   d   \        \        R3,          ;R&   ^\         9   d   \        \        R3,          ;R&   ^\         9   d   \        \        R3,          ;R&   ^\         9   d   \        \        R3,          ;R&   ^\         9   d   \        \        R3,          ;R	&   ^\         9   d   \        \        R3,          ;R
&   ^	\         9   db   \        \        \
        \        \        \        \        \        \        3,          \        \        ,          \        3,          ,          3,          ;R&   ^
\         9   d,   \        \        \        \        \        3,          3,          ;R&   ^\         9   d_   \        \        \        \        \        \        \        \        \        \        3,          \        3,          3,          3,          3,          ;R&   ^\         9   d   \        \        \        3,          ;R&   ^\         9   dR   \        \        \
        \        \        \        \        \        \        \        3,          3,          ,          3,          ;R&   # )r   .r¯  rÔ  rñ  r  r1  rT  r†  r«  ÚGGUF_EXPORT_FORMATSrI  rb  rP  rQ  rR  )Ú__conditional_annotations__r   rm   r   rå   r   r¤   r   r   r   r   )r   s   "r    r!   r!      s3  € ‡�÷t-ò ”Uœ6 3˜;Õ'ñ ñu- ÷B.ò ”Eœ& #˜+Õ&ñ ñC. ÷R.ò œ%¤¨ Õ,ñ ñS. ÷`.ò ”Eœ& #˜+Õ&ñ ña. ÷f.ò ”Eœ& #˜+Õ&ñ ñg. ÷l.ò œU¤6¨3 ;Õ/ñ ñm. ÷r.ò ”Uœ6 3˜;Õ'ñ ñs. ÷x.ò ”Eœ& #˜+Õ&ñ ñy. ÷J/ò ”Uœ6 3˜;Õ'ñ ñK/ ÷z0 cÒ bœœS¤$¤u¬T´3¼¼SÄ#¸X½ÌÔQTÍÔWZÐ-ZÕ'[Õ"\Ð\Õ]Ñ bñ{0 ÷|0 8Ò 7œœc¤4¬¬S¨¥>Ð1Õ2Ñ 7ñ}0 ÷B1 `Ò _œT¤#¤t¬C´´s¼EÄ$ÄsÌCÀxÅ.ÔRVÐBVÕ<WÐ7WÕ1XÐ,XÕ'YÐ"YÕZÑ _ñC1 ÷D1 /Ò .œ$œs¤D˜y�/Ñ .ñE1 ÷H1 ZÒ Yœd¤3¬¬U´3¼¼cÄ4ÌÌSÈÅ>Ð3QÕ-RÕ(SÐ#SÕTÑ YòI1 r#   r0   )NN>   r  r  Útensor>   é   é   é   ræ  é   rk  é@   rB  rŠ  )ðr  rï  r
  rÚ  Úos.pathrP  r&   Úabcr   r   Údataclassesr   r   r   r   Úenumr	   Ú	functoolsr
   r   Útypingr   r   r   r   r   r   r   rL  rþ  Ú	packagingr   Úadapter.adapterr   r   Úutils.loggerr   r…  r   rO   rP   rS   rÉ  r  rá  r   ÚSYMMETRIC_FIELD_CODErN  rL  r$  rM  r9  r	  rO  r8  rì  r:  ré  rê  ÚMETA_FIELD_URIÚMETA_VALUE_URIÚMETA_FIELD_DAMP_PERCENTÚMETA_FIELD_DAMP_AUTO_INCREMENTÚMETA_FIELD_STATIC_GROUPSÚMETA_FIELD_TRUE_SEQUENTIALÚMETA_FIELD_MSEÚMETA_FIELD_ACT_GROUP_AWAREÚMETA_FIELD_GPTAQ_ENABLEDÚMETA_FIELD_FOEM_ENABLEDÚADAPTER_FIELDr   rm   r�   r’   r˜   r    r¨   r´   r¸   rz  r§  rä  rÔ   rj  Ú	QuantBitsrM  r   rš  r£  r¨  r°  rÁ  rË  rÑ  rÕ  rÜ  rß  rå  rù  r  r  r  r  r  r,  rÏ  r   r  r  r  rÐ  r  r"  r-  r/  r5  rF  rR  ra  rm  rw  r€  r‰  r“  r™  r   rª  r¶  rÃ  rÕ  rÙ  râ  rò  rû  r  r	  r  r  r  r}   r~   r   rƒ   r„   r�   r‚   r†   r€   r…   r�   r‡   rˆ   r‰   rŠ   r�   r‹   r�  r¯  rÔ  rñ  r  r  r  r1  rT  r†  r«  r  r  ÚQUANTIZE_BLACK_LISTr6  r7  r•  Úobjectrd  rI  rb  rP  rQ  rR  rB  r^  rj  rp  rx  r¢  r¼  r‚  r…  rˆ  r�  r˜  rÎ  rÅ  r¦  r«  r¹  r¿  rÃ  rÆ  rÉ  rÏ  rÓ  rÝ  rà  rå  rè  rî  rò  rõ  rø  rü  r  r  r  r  r  r)  r.  r2  rÛ  r4  rC  r7  rŽ  r6  r£  r  r!  r#  r  r  r   r1  r"  rö  Úclone_rtn_config_for_modulerD  r5  r!   )r  s   @r    Ú<module>r$     sS  øð÷ �Û Û Û Û ß #ß 8Ó 8Ý Ý $Ý ß D× DÑ Dã Û Ý ç 5Ý 'ñ ƒn€÷ñ õ*:ð ˆu�}‰}Ø
ˆE�M‰MØ
ˆE�M‰MØ�—‘Ø
ˆE�N‰NðÐ ð €Ø$Ð ØÐ ØÐ à-Ð à/Ð àÐ Ø#Ð ØÐ Ø.Ð Ø 5Ð7JÈMÐZÐ ð &Ð àÐ à€
à"Ð à&Ð à€Ø:€à(Ð Ø!6Ð à*Ð Ø.Ð à€Ø.Ð à"Ð à Ð à€ôˆS�$ô ô2
ˆS�$ô 
ô�3˜ô ô�C˜ô ð ÷ð ó ðô
�s˜Dô ô&�s˜Dô ô6�s˜Dô 6ð ˆV�Q˜	 3¨	°3¸	À4ÐHØ�&˜!˜Y¨¨Y¸¸YÈÐOØ
ˆV�Q˜	 3¨	°3¸	À4ÐHØ
ˆV�Q˜	 3¨	°3¸	À4ÐHØ
ˆV�Q˜	 3¨	°3¸	À4ÐHØ
ˆV�Q˜	 3¨	°3¸	À4ÐHØˆv�q˜) S¨)°S¸)ÀSÐIØˆv�q˜) S¨)°S¸)ÀSÐIØ
ˆV�Q˜	 3¨	°3¸	À4ÐHØˆv�q˜) S¨)°S¸)ÀSÐIØˆv�q˜) S¨)°S¸)ÀSÐIØ
ˆV�Q˜	 3¨	°3¸	À4ÐHðÐ ð €vØ€vØ€vØ€xØ€vØ€vð%Ð !ð ˆEØ�Ø
ˆDØ
ˆCØ
ˆCØ
ˆCØˆcØˆcØ
ˆCØˆcØˆcØ
ˆCð)Ð %ð  ô~$�có ~$ó ð~$ñB �$˜5Ô!ôBˆó Bó "ðBðL €	ð ŸšÐ&LÓMÐ õ#õõ2Eõõ$)9÷X'ð '÷T)+ð )+õX/õOõVõð( ˆOØ�?Ø�_Ø
ˆMØ�=ØÐ!ØÐ(ØÐ!ØÐ(Ø
ÐØÐØÐ#ØÐ&ðÐ ó 7Ð Ø!�{Ð Ø# U˜^Ð Ø$˜XÐ Ø2Ð5OÕOÐ ÛEÐ õ*õõ(
õõ.	õ/ðÐRV÷ õ.9õ	ð ÷$ð $ó ð$ð ô%�|ó %ó ð%ð( ô ó ó ðð, ô�ó ó ðð( ô#�ó #ó ð#ð. ô�Ló ó ðð( ô�\ó ó ðð( ô�ó ó ðð. ô�<ó ó ðô("ˆS�$ô "ð ÷*ð *ó ð*ð ÷8ð 8ó ð8ð2 ÷#ð #ó ð#ð ôÐ+ó ó ðð& ô"Ð4ó "ó ð"ðJ ôHÐ!7ó Hó ðHñ �$Ô÷Ið Ió ðIð ÷-`ð -`ó ð-`ð` ÷Xð Xó ðXð ÷'Wð 'Wó ð'WðT ÷	ð 	ó ð	ð €ð ô#˜^ó #ó ð#ðP ô˜>ó ó ðð ÷/
ð /
ó ð/
ðf ‡K‚KØ�ŠØ�ŠØ�ŠØ�ŠØ�Šðð ‡J‚JØ�
Š
ðð ×ÒØ×Òðð ‡K‚KØ�Šðð ‡K‚KØ�Šðð ‡J‚JØ�
Š
ðð ‡J‚JØ�ŠØ�ŠØ×ÒØ�ŠØ�ŠØ�Šðð ‡K‚KØ×Òðð?"Ð ðJ ‡K‚KØ
‡N‚NØ
‡M‚MØ
‡M‚MØ
‡N‚Nð+Ð ó ð ‡K‚KØ
‡K‚KØ
×ÒØ
‡M‚MØ
‡N‚NØ
‡N‚Nð*Ð ó ð ×Òð0Ð ó ð
 )-Ð %Ø(+Ð %à
‡J‚Jð*Ð ó ð ‡J‚Jð*Ð ó ð ×Òð3Ð ó ð ‡K‚Kð+Ð ó ð ‡K‚KØ
‡N‚NØ
‡M‚MØ
‡K‚KØ
‡K‚KØ
×ÒØ
‡N‚Nð*Ð ó ð ‡K‚Kð+Ð ó ð
 ‡K‚K�—’Ø
‡N‚N�F—K’KØ
‡M‚M�6—;’;Ø
‡J‚J�—
’
Ø
×Ò˜×,Ò,Ø
‡K‚K�—’Ø
‡K‚K�—’Ø
‡N‚N�F—K’KØ
‡K‚K�—’Ø
‡K‚K�—’Ø
×Ò�f—j’jØ
‡N‚N�F—J’JØ
×Ò�f—k’kØ
‡J‚J�—
’
ð(Ð $ð$ Ð ð ˆ_ð ˆ_ØÐ)ð Ð!ð Ð.ØÐ)ØÐ'Ø�lØÐ4ðÐ ð* Ð&ð%Ð !ð Ð ñ “HÐ ð
 acÐ Ó bØ57Ð Ó 7ð ^`Ð Ó _Ø,.Ð Ó .àWYÐ Ó Yõ õF!õF&õP
+õ4Nõn	cõõ6	*õAõBFõ*÷ ð  õDõ0õPõõ24õnõ(÷÷÷÷"÷"÷@÷*÷6b÷3÷3÷÷&i÷	i÷÷&÷$÷,÷0ò ÷ H÷VW÷

Rö1˜ô 1÷.ð( öPÐ#5õ Pó ðPðf ö&lÐ+ó &ló ð&lðR öÐ'Ð3Eõ ó ðð öe-Ð#ó e-ó ðe-ðP ö$aÐ"ó $aó ð$aðN öu-Ð#ó u-ó ðu-ðp ö�
ó ó ðð öjÐ"ó jó ðjðX öz/Ð+ó z/ó ðz/ðx öX
Ð#ó X
ó ðX
ðt öÐ"ó ó ðð< öpÐ#ó pó ðp÷dhðV BÐ ÷K÷\ñ r#   