+
    "Ý³jx: ã                   ó  a€ RZ tO0 t R t^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^ RI
t
^ RIt^ RIHt ^ RIHt ^ RI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 ^RIHt RtR	tR
t Rt!Rt"]! 4       t#R R lt$]PJ                  ^]PL                  ^]PN                  ^]PP                  ^]PR                  ^]PT                  ^]PV                  ^]PX                  ^]PZ                  ^]P\                  ^]P^                  ^]P`                  ^/t1] ^ k . R[ U u. uF  p ]2! ]V 4      '       g   K  V NK  	  up OR\ U u. uF  p ]2! ]V 4      '       g   K  V NK  	  up O F  t3^]1]4! ]]34      &   K  	   ! R R4      t5]5! R4      t6]5! R4      t7R]1]6&   R]1]7&   R R lt8R R lt9R R lt:RR/R R llt;R R lt<RR /R! R" llt=R#R/R$ R% llt>R& R' lt?R( R) lt@R*R+R,RR-RR.R R/R R0RR#RR1RR2R3R4^R5R6R7^/R8 R9 lltAR: R; ltBR< R= ltCR> R? ltD ! R@ RA]/4      tERB RC ltF]! RRD7       ! RE RF4      4       tG] ! RG RH4      4       tH] ! RI RJ4      4       tI ! RK RL4      tJR]RM RN lltKROR/RP RQ lltLRR RS ltMRTRRURRVRRWR^/RX RY lltNR# u up i u up i )_aÂ  
Usage:
  # Focus on mixers/MLP, show params/buffers, depth limit
  `filter` "self_attn|linear_attn|mlp" --show-params --max-depth 4

  # Control MoE collapsing:
  #   - collapse any ModuleList whose name matches the regex and whose children are numeric
  #   - show the first N experts and collapse the rest
  `experts-regex` "(^|\.)experts($|\.)" --experts-show 1
  `no-collapse-experts`  # disable collapsing

Flags semantics:
- show_params/show_buffers: print detailed lines for parameters and (optionally) buffers.
- show_all: print detailed lines for BOTH parameters AND buffers (names included), overriding the other two.
- filter_regex: planned hook (compiled but not applied; keep for future filtering of node names).

Notes:
- Detects shared submodules and avoids re-printing them.
- Collapsing is generic: any numeric-indexed ModuleList whose qualified name matches `experts-regex`.
- Large layer stacks are capped to the first 4 children by default.
N)Ú	dataclass)Úimport_module)ÚAnyÚDictÚIterableÚOptionalÚSetÚTuple)Ú	safe_open)Únn)Úsetup_loggerz[0mz[2mú[90mú[36mú[33mc                óH   € V ^8„  d   QhR\         R\         R\        R\         /# )é   ÚsÚcodeÚcolorÚreturn©ÚstrÚbool)Úformats   "ÚZ/home/luca/screen-checking/.venv/lib/python3.14/site-packages/gptqmodel/utils/structure.pyÚ__annotate__r   =   s(   € ÷ /ñ /Œcð /œð /¬ð /´ñ /ó    c                ó.   € V'       d   V V  \          2# T # ©N)ÚRESET)r   r   r   s   &&$r   Ú_mayber    =   s   € ß"'ˆdˆV�A�3”u�gÐÐ.¨QÐ.r   c                   óB   a € ] tR t^\t o RtV 3R lR ltR tR tRtV t	R# )Ú
_FakeDTypez.Sentinel dtype for experimental 4-bit formats.c                ó    <€ V ^8„  d   QhRS[ /# )r   Úname©r   )r   Ú__classdict__s   "€r   r   Ú_FakeDType.__annotate__^   s   ø€ ×3Ñ3™SÑ3r   c                ó   € Wn         R # r   ©r$   )Úselfr$   s   &&r   Ú__init__Ú_FakeDType.__init__^   s   € ¨t¦9r   c                ó   € V P                   # r   r)   ©r*   s   &r   Ú__repr__Ú_FakeDType.__repr___   s   € ˜tŸy™yÐ(r   c                ó   € V P                   # r   r)   r.   s   &r   Ú__str__Ú_FakeDType.__str__`   s   € ˜dŸi™iÐ'r   r)   N)
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r+   r/   r2   Ú__static_attributes__Ú__classdictcell__©r&   s   @r   r"   r"   \   s   ø‡ € Ù8ß3Ð3Ú(ß'Ð'r   r"   ÚMXFP4ÚNVFP4g      à?c                ó$   € V ^8„  d   QhR\         /# ©r   r   )Úfloat)r   s   "r   r   r   g   s   € ÷ $ñ $”Uñ $r   c                 ó.   € \         P                  V R 4      # )ç        )Ú_DTYPE_BYTESÚget)Úds   &r   Ú
_elem_sizerF   g   s   € Ü×Ñ˜A˜sÓ#Ð#r   c                ó0   € V ^8„  d   QhR\         R\        /# ©r   Únr   ©Úintr   )r   s   "r   r   r   m   s   € ÷ 	ñ 	”3ð 	œ3ñ 	r   c                 ó    € V ^ 8  d   \        V 4      # V R8  d   \        V 4      # R F  w  rW8¼  g   K  W,          R V 2u # 	  \        V 4      # )é    éè  ú.2f))ÚTl    J)£)ÚBi Êš;)ÚMi@B )ÚKrN   r%   )rI   ÚlabelÚscales   &  r   Úhuman_countrV   m   sS   € Øˆ1„u”S˜“VˆmØˆ5„yœ˜Q›�-ó'‰ˆð Ž:Ø•g˜c�] 5 'Ð*Ò*ñ'ô ˆq‹6€Mr   c                ó0   € V ^8„  d   QhR\         R\        /# rH   )r@   r   )r   s   "r   r   r   x   s   € ÷ ñ ”Eð œcñ r   c                 ó„   € V ^ 8:  d   R# R F,  pV R8  d   VR8X  d
   V R V 2u # V R V 2u # V R,          p K.  	  V R R2# )	rM   Ú0BrQ   ÚPBi   z.0frO   g      �@)rQ   ÚKBÚMBÚGBÚTBrZ   © )rI   Úunits   & r   Ú_human_bytesra   x   s\   € ØˆA„v‘dÛ.ˆØˆtŒ8Ø'+¨s¤{�a˜�W˜T˜FÐ#ÒH¸1¸S¸'À$ÀÐ8HÒHØ	ˆV�Šñ /ð �ˆW�Bˆ<Ðr   ÚrecurseTc                ór   € V ^8„  d   QhR\         P                  R\        R\        \        \        3,          /# )r   Úmodrb   r   )r   ÚModuler   r	   rK   )r   s   "r   r   r   ƒ   s-   € ÷ ñ œŸ	™	ð ¬tð ¼uÄSÌ#ÀX½ñ r   c                ó&  € V'       dD   \        R  V P                  4        4       4      p\        R V P                  4        4       4      pW#3# \        R V P                  RR7       4       4      p\        R V P	                  RR7       4       4      pW#3# )c              3   ó@   "  € T F  qP                  4       x € K  	  R # 5ir   ©Únumel©Ú.0Úps   & r   Ú	<genexpr>Ú!_param_summary.<locals>.<genexpr>…   s   é € Ð4Ñ#3˜a—‘—	�	Ó#3ùó   ‚c              3   ó@   "  € T F  qP                  4       x € K  	  R # 5ir   rh   ©rk   Úbs   & r   rm   rn   †   s   é € Ð1¡=˜a—‘—	�	£=ùro   c              3   óF   "  € T F  w  rVP                  4       x € K  	  R # 5ir   rh   )rk   Ú_rl   s   &  r   rm   rn   ˆ   s   é € ÐJÑ&I™d˜a�—‘—	�	Ó&Iùó   ‚!F©rb   c              3   óF   "  € T F  w  rVP                  4       x € K  	  R # 5ir   rh   )rk   rt   rr   s   &  r   rm   rn   ‰   s   é € ÐGÑ&F™d˜a�—‘—	�	Ó&Fùru   )ÚsumÚ
parametersÚbuffersÚnamed_parametersÚnamed_buffers)rd   rb   rl   rr   s   &$  r   Ú_param_summaryr}   ƒ   s€   € ßÜÑ4 3§>¡>Ô#3Ó4Ó4ˆÜÑ1 3§;¡;¤=Ó1Ó1ˆð ˆ4€Kô ÑJ c×&:Ñ&:À5Ð&:Ô&IÓJÓJˆÜÑG c×&7Ñ&7ÀÐ&7Ô&FÓGÓGˆØˆ4€Kr   c                óf   € V ^8„  d   QhR\         P                  R\        \        \        3,          /# )r   rd   r   )r   re   r	   rK   )r   s   "r   r   r   Œ   s&   € ÷ .ñ .œBŸI™Ið .¬%´´S°­/ñ .r   c                 ó   € \        V R R7      # )Frv   )r}   )rd   s   &r   Ú_counts_for_moduler€   Œ   s   € Ü˜# uÔ-Ð-r   Fc                óD   € V ^8„  d   QhR\         P                  R\        /# )r   rd   rb   )r   re   r   )r   s   "r   r   r   �   s"   € ÷ *Fñ *F¤2§9¡9ð *F¼$ñ *Fr   c                ó¼  a a€ / p\        4       p^ pRpRpR V V3R llpV! 4        EF>  pVf   K
  \        \        VRR4      ;'       g.    \        VR4      ;'       d    VP                  P
                  R8H  4      p	V	'       d   RM(\        VR4      '       d   \        VP                  4      MR	p
VP                  4       pWK,          pVP                  V
^ 4      V,           W*&   \        VR
R4      pVP                  V4       V	'       g#   \        VR4      '       d   VP                  4       M
\        V4      ;'       g    RpV	'       g   W[V,          ,          pWkV,          ,          pEKA  	  V'       g   R	pM–\        V4      ^8X  d$   \        \        VP                  4       4      4      pMc\!        VP#                  4       R RR7      R,          pRRP%                  R V 4       4      ,           \        V4      ^8:  d   RMR,           R,           pV'       g   R	pM¾\        V4      ^8X  d7   \        \        V4      4      pVe   \        V4      P'                  RR4      MR	pMx\)        V4      R,           Uu. uF$  pVe   \        V4      P'                  RR4      MR	NK&  	  ppRRP%                  V4      ,           \        V4      ^8:  d   RMR,           R,           pVVWEV3# u upi )rM   rB   c                óN   € V ^8„  d   QhR\         \        P                  ,          /# r?   )r   ÚtorchÚTensor)r   s   "r   r   Ú/_summarize_module_tensors.<locals>.__annotate__–   s   € ÷ @ñ @œ8¤E§L¡LÕ1ñ @r   c               3   óŒ   <"  € SP                  SR 7       F	  w  rVx € K  	  SP                  SR 7       F	  w  rVx € K  	  R# 5i)rv   N)r{   r|   )rt   Útrd   rb   s     €€r   Ú_iter_tensorsÚ0_summarize_module_tensors.<locals>._iter_tensors–   s>   øé € Ø×(Ñ(°Ð(Ö9‰DˆAÀ¼7Ñ9Ø×%Ñ%¨gÐ%Ö6‰DˆA¸a¼Ó6ùs   ƒAANÚis_metaFÚdeviceÚmetaÚ-ÚdtypeÚelement_sizec                 ó   € V ^,          # ©é   r_   )Úkvs   &r   Ú<lambda>Ú+_summarize_module_tensors.<locals>.<lambda>­   s   € ¸¸1¾r   T)ÚkeyÚreverse:Nr   Númixed[ú, c              3   ó*   "  € T F	  w  rVx € K  	  R # 5ir   r_   )rk   Úkrt   s   &  r   rm   Ú,_summarize_module_tensors.<locals>.<genexpr>®   s   é € Ð)<¹±°­!»ùs   ‚Ú u   , â€¦Ú]útorch.:Né   N)Úsetr   ÚgetattrÚhasattrrŒ   Útyper   ri   rD   Úaddr�   rF   ÚlenÚnextÚiterÚkeysÚsortedÚitemsÚjoinÚreplaceÚlist)rd   rb   Ú
dev_countsÚ	dtype_setÚtotal_elemsÚalloc_bytesÚ	est_bytesr‰   rˆ   r‹   Údev_keyrI   ÚdtÚesizeÚ
device_strÚtopÚ	dtype_strrE   Údnamess   fd                 r   Ú_summarize_module_tensorsr¼   �   s[  ù€ Ø!#€JÜ ›U€IØ€KØ€KØ€I÷@ñ @ñ �_ˆØŠ9‘hÜ”w˜q )¨UÓ3×iÐi¼ÀÀ8Ó8L×8hÐ8hÐQR×QYÑQY×Q^ÑQ^ÐbhÑQhÓjˆß#‘&¼7À1Àh×;OÒ;O¬#¨a¯h©h¬-ÐUXˆØ�G‰G‹IˆØÕˆØ(Ÿn™n¨W°aÓ8¸1Õ<ˆ
ÑÜ�Q˜ Ó&ˆØ�‰�bÔß*1´g¸aÀ×6PÒ6P�—‘Ô!ÔWaÐbdÓWe×mÐmÐjmˆßØ˜u�9Õ$ˆKØ˜•YÕ‹	ñ ÷ Ø‰
Ü	ˆZ‹˜AÔ	Üœ$˜zŸ™Ó0Ó1Ó2‰
ä�Z×%Ñ%Ó'Ñ-=ÀtÔLÈRÕPˆØ §	¡	Ñ)<¹Ó)<Ó <Õ<ÄcÈ*ÃoÐYZÔFZÁÐ`gÕhÐknÕnˆ
çØ‰	Ü	ˆY‹˜1Ô	Ü”�i“Ó!ˆØ67²m”S˜“V—^‘^ H¨bÔ1È‰	äTXÐYbÓTcÐdfÖTgÓhÑTgÈq°A²M”3�q“6—>‘> (¨BÔ/ÀsÒJÑTgˆÐhØ˜tŸy™y¨Ó0Õ0¼#¸i».ÈAÔ:M±BÐSZÕ[Ð^aÕaˆ	à�y +¸IÐEÐEùò is   É/*Kr   c                óP   € V ^8„  d   QhR\         P                  R\        R\        /# )r   rd   r   r   )r   re   r   r   )r   s   "r   r   r   »   s%   € ÷ *ñ *”2—9‘9ð *¬ð *¼ñ *r   c                ó°   € \        V R R7      w  r#rEpRV RV R\        V4       R2pWe8”  d   VRR
 R\        V4       R2,           p\        V\        VR	7      # )Frv   Ú[ú | z | ~rŸ   Nz (est~z)]©r   éÿÿÿÿ)r¼   ra   r    ÚDIM)rd   r   r¸   rº   Ú_nÚalloc_bÚest_bÚbases   &$      r   Ú	_annotaterÈ   »   si   € Ü0IÈ#ÐW\Ô0]Ñ-€J˜2¨Øˆzˆl˜#˜i˜[¨¬\¸'Ó-BÐ,CÀ1ÐE€DØ„Ø�C�Rˆy˜V¤L°Ó$7Ð#8¸Ð;Õ;ˆÜ�$œ 5Ô)Ð)r   c                ó€   € V ^8„  d   QhR\         R\         R\         R\        P                  R\        R\        R\         /# )r   ÚprefixÚtrunkÚ	qual_namerd   Úshow_countsr   r   ©r   r   re   r   )r   s   "r   r   r   Å   sD   € ÷ 
(ñ 
(œð 
(¤Sð 
(´Sð 
(¼r¿y¹yð 
(ÔW[ð 
(Ôdhð 
(Ômpñ 
(r   c                 óP  € VP                   P                  p\        W,           \        VR 7      p\        V\        VR 7      p\        V\
        VR 7      p	V'       dE   \        V4      w  r«\        R\        V
4       R\        V4       R2\        VR 7      pV V RV	 RV 2# V V RV	 2# ©rÁ   z(P=ú B=Ú)ú: z  )	Ú	__class__r4   r    ÚFG_GRAYÚFG_CYANrÃ   r€   rV   Ú	FG_YELLOW)rÊ   rË   rÌ   rd   rÍ   r   ÚclsÚleftr$   Úklassrl   rr   Úcountss   &&&&&&       r   Ú_format_linerÜ   Å   s¤   € Ø
�-‰-×
 Ñ
 €CÜ�&•.¤'°Ô7€DÜ�)œW¨EÔ2€DÜ�3œ 5Ô)€EßÜ! #Ó&‰ˆÜ˜#œk¨!›nÐ-¨S´¸Q³Ð0@ÀÐBÄIÐUZÔ[ˆØ�˜�v˜R ˜w b¨¨Ð1Ð1à�˜�v˜R ˜wÐ'Ð'r   c                ó\   € V ^8„  d   QhR\         R\        P                  R\        R\        /# )r   Úindentrd   Úinclude_buffersr   rÎ   )r   s   "r   r   r   Ñ   s3   € ÷ Sñ Sœ#ð S¤B§I¡Ið SÄ4ð SÔPTñ Sr   c                óæ   a a€ R  VV 3R llpVP                  RR7       F  w  rV\        V! RWV4      4       K  	  V'       d0   VP                  RR7       F  w  rW\        V! RWW4      4       K  	  R# R# )c                ó\   € V ^8„  d   QhR\         R\         R\        P                  R\         /# ©r   Úkindr$   rˆ   r   ©r   r„   r…   )r   s   "r   r   Ú#_print_params.<locals>.__annotate__Ò   s2   € ÷ gñ g”Cð gœsð g¤u§|¡|ð g¼ñ gr   c                 ó¶  <€ \        VR R4      '       g   VP                  P                  R8X  d   RM\        VP                  4      p\        \        VRR4      4      P	                  RR4      p\        VR R4      '       g>   \        VR4      '       d,   VP                  P                  R8w  d   VP                  4       M\        \        VRR4      4      pVP                  4       T;'       g    R,          p\        V \        S
R	7      p\        V\        S
R	7      p\        \        V4      \        S
R	7      p	S V R
V R\        VP                  4       RV RV RV	 2# )r‹   Fr�   r�   Nr    rž   rŒ   rB   rÁ   rÓ   ú  shape=ú dtype=ú device=ú ~)r£   rŒ   r¥   r   r®   r¤   r�   rF   ri   r    rÖ   rÕ   ra   r×   ÚtupleÚshape)rã   r$   rˆ   Údevr¶   r·   ÚsizebÚkind_cÚname_cÚsize_yr   rÞ   s   &&&       €€r   Ú_lineÚ_print_params.<locals>._lineÒ   sB  ø€ Ü   I¨u×5Ò5¸¿¹¿¹È&Ô9P‰fÔWZÐ[\×[cÑ[cÓWdˆÜ”˜˜G TÓ*Ó+×3Ñ3°H¸bÓAˆÜ)0°°I¸u×)EÒ)EÌ'ÐRSÐU]×J^ÒJ^Ðcd×ckÑck×cpÑcpÐtzÔcz�—‘Ô ô  BLô  MTð  UVð  X_ð  aeó  Mfó  BgˆØ—‘“	˜UŸ\˜\ cÕ*ˆÜ˜œg¨UÔ3ˆÜ˜œg¨UÔ3ˆÜœ UÓ+¬Y¸eÔDˆØ�˜&˜  F 8¨8´E¸!¿'¹'³NÐ3CÀ7È2È$ÈhÐWZÐV[Ð[]Ð^dÐ]eÐfÐfr   Frv   ÚparamÚbufferN©r{   Úprintr|   )rÞ   rd   rß   r   rò   rI   rl   rr   s   f&$d    r   Ú_print_paramsrø   Ñ   se   ù€ ÷gñ gð ×$Ñ$¨UÐ$Ö3‰ˆ´U¹5ÀÈ!Ó;OÖ5PÑ3ßØ×%Ñ%¨eÐ%Ö4‰DˆA´e¹EÀ(ÈAÓ<QÖ6RÓ4ñ r   Ú	root_nameÚmodelÚ	max_depthÚfilter_regexÚshow_paramsÚshow_buffersÚshow_allÚcollapse_expertsÚexperts_regexz(^|\.)experts($|\.)Úexperts_showÚlayers_regexz2(^|\.)((model_)?layers|layer|h|blocks|block)($|\.)Úlayers_showc                ó
  € V ^8„  d   QhR\         P                  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   re   r   r   rK   r   )r   s   "r   r   r   ã   sº   € ÷ nSñ nSÜ�9‰9ðnSô ðnSô œ�}ð	nSô
 œ3•-ðnSô ðnSô ðnSô ðnSô ðnSô ðnSô ðnSô ðnSô ðnSô œ#•ñnSr   c               ó  aaaaaaa
aaaaa a!a"a#a$a%a&a'a(a)a*a+€ . RCOoR V3R llo%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/o. RD Uu. uF  p\        \        V4      '       g   K  VNK  	  upORE Uu. uF  p\        \        V4      '       g   K  VNK  	  upO F!  pVP                  R4      '       d   RMRSV&   K#  	  RRRRRRRRRRRRR RR!R"RR/	oR# VV3R$ llo#R% VV3R& llo"R' VV"V#3R( llo$R) VV"V#3R* llo)V'       d   \        P                  ! V4      MR+p\        P                  ! V	4      o&Se   \        P                  ! V4      MR+o'\        4       o+\        R, V P                  4        4       4      p\        R- V P                  4        4       4      pR. R/ lo(R0 VV&V
V'VV(3R1 llo!R2 VV%3R3 llo R4 V V!VV$VV)V*V+VVV3R5 llo*S ! R6R6WR7^ R87      pS$! \        V SR97      4      p\        VR:,           V,           4       R;pVR;,           pS'       d   S)! VV R7R<7       MS'       g	   S'       d   S)! VV SR<7       \        V P                  4       4      p\        V4       F/  w  pw  ppV\        V4      ^,
          8H  pS*! VV R=V 2^R6V4       K1  	  \        R>\        V4      R?\        V4      4       \        R@ V P                  4        4       4      pVV,
          p\        RA\        V4      RB\        V4      4       R+# u upi u upi )FuF  
Pretty-print a module tree with sizes, devices, dtypes, and optional param/buffer details.
Visual/UI features:
  â€¢ Depth-based colors for module names (each level cycles its own color)
  â€¢ Distinct colors for dtype tokens and device tokens
  â€¢ Params/Buffers are indented one level deeper under each module for clarity
r   r   ú[35mú[32mú[34mú[31mc                ó0   € V ^8„  d   QhR\         R\        /# )r   Údepthr   rJ   )r   s   "r   r   Ú'print_module_tree.<locals>.__annotate__  s   € ÷ 7ñ 7œ3ð 7¤3ñ 7r   c                 ó6   <€ SV \        S4      ,          ,          # r   ©r§   )r  ÚDEPTH_COLORSs   &€r   Údepth_colorÚ&print_module_tree.<locals>.depth_color  s   ø€ Ø˜E¤C¨Ó$5Õ5Õ6Ð6r   Úfloat32r@   Úbfloat16Úfloat16Úhalfr<   r=   Úint8Úuint8Úint16ÚshortÚint32rK   r   z[37mrŽ   Úfloat8_ÚcpuÚcudaÚxpuÚnpuÚmpsÚhipÚprivateuseoner�   r   c                ó0   € V ^8„  d   QhR\         R\         /# )r   Ú
dtype_namer   r%   )r   s   "r   r   r  8  s   € ÷ Pñ P¤ð P¬ñ Pr   c                 ód   <€ SP                  V R 4      pS'       d   V'       d   V V  \         2# T # )rž   )rD   r   )r%  r   ÚDTYPE_COLORr   s   & €€r   Úcolor_dtypeÚ&print_module_tree.<locals>.color_dtype8  s/   ø€ Ø�‰˜z¨2Ó.ˆß05¿$�$�˜
�|¤E 7Ð+ÐOÀZÐOr   c                ó0   € V ^8„  d   QhR\         R\         /# )r   r¸   r   r%   )r   s   "r   r   r  <  s   € ÷ Pñ P¤ð P¬ñ Pr   c                 ó¨   <€ V '       d   V P                  R 4      ^ ,          MRpSP                  VR4      pS'       d   V'       d   V V  \         2# T # )Ú:rŽ   rž   )ÚsplitrD   r   )r¸   r—   r   ÚDEVICE_COLORr   s   &  €€r   Úcolor_deviceÚ'print_module_tree.<locals>.color_device<  sJ   ø€ ç*4ˆj×Ñ˜sÓ# AÖ&¸#ˆØ×Ñ  RÓ(ˆß05¿$�$�˜
�|¤E 7Ð+ÐOÀZÐOr   c                ó0   € V ^8„  d   QhR\         R\         /# )r   Úannotr   r%   )r   s   "r   r   r  E  s   € ÷ $ñ $¤3ð $¬3ñ $r   c                óÜ  <€ S
'       d   RV 9  g   RV 9  d   V #  V RV P                  R4       pW P                  R4      ^,           V P                  R4       pW P                  R4      ^,           R pVP                  R4       Uu. uF  qDP                  4       NK  	  pp\	        V4      ^8¼  Ed$   V^ ,          pVP                  R4      '       dQ   VP                  R4      '       d:   V^R pRP                  V3R lVP                  R4       4       4      pRV R2V^ &   MS! V4      V^ &   V^,          p	V	P                  R4      '       dQ   V	P                  R4      '       d:   V	^R pRP                  V3R	 lVP                  R4       4       4      pRV R2V^&   MS! V	4      V^&   VR,           R
P                  V4      ,           R,           V,           #  V # u upi   \         d    T u # i ; i)z¼
_annotate(mod) returns strings like:
  "[cuda:0 | float16 | ~123MB]" or "[mixed[cuda:0, cpu] | mixed[float16, bfloat16] | ~...]"
We color the device token(s) and dtype token(s) in-place.
r¿   rŸ   NÚ|r™   rš   c              3   óP   <"  € T F  pS! VP                  4       4      x € K  	  R # 5ir   ©Ústrip)rk   r   r/  s   & €r   rm   ÚAprint_module_tree.<locals>.colorize_annotation.<locals>.<genexpr>X  s!   øé € Ð'ZÑIYÀA©°Q·W±W³Y×(?Ð(?ÓIYùó   ƒ#&Ú,c              3   óP   <"  € T F  pS! VP                  4       4      x € K  	  R # 5ir   r6  )rk   r   r(  s   & €r   rm   r8  a  s!   øé € Ð'YÑHXÀ1©°A·G±G³I×(>Ð(>ÓHXùr9  rÀ   rÂ   )	ÚfindÚrfindr-  r7  r§   Ú
startswithÚendswithr­   Ú	Exception)r2  rÙ   ÚinnerÚrightrl   Úpartsrí   r¬   Úcoloredr¶   r   r/  r(  s   &         €€€r   Úcolorize_annotationÚ.print_module_tree.<locals>.colorize_annotationE  sÄ  ø€ ÷ ˜ 5Ô(¨C°uÔ,<ØˆLð	àÐ)˜%Ÿ*™* S›/Ð*ˆDØŸ*™* S›/¨!Õ+¨e¯k©k¸#Ó.>Ð?ˆEØŸ+™+ cÓ*¨1Õ,Ð-Ð.ˆEØ(-¯©°CÔ(8Ó9Ñ(8 1—W‘W–YÑ(8ˆEÐ9Ü�5‹z˜Q�à˜A•h�Ø—>‘> (×+Ò+°·±¸S×0AÒ0AØ  "˜I�EØ"Ÿi™iÔ'ZÈÏÉÐUXÔIYÓ'ZÓZ�GØ!'¨ y°Ð2�E˜!’Há+¨CÓ0�E˜!‘Hð ˜1•X�Ø—=‘= ×*Ò*¨r¯{©{¸3×/?Ò/?Ø˜q ˜H�EØ"Ÿi™iÔ'YÈÏÉÐTWÔHXÓ'YÓY�GØ!'¨ y°Ð2�E˜!’Há*¨2›�E˜!‘Hà˜c•z E§J¡J¨uÓ$5Õ5¸Õ;¸eÕCÐCð' ð, ˆùò/ :øô* ô 	ØŠLð	ús>   ›A*G ÂGÂ2G ÃG Ã'A#G ÅG Å"A0G ÇG ÇG+Ç*G+c                óP   € V ^8„  d   QhR\         R\        P                  R\        /# )r   rÞ   rd   rß   rÎ   )r   s   "r   r   r  k  s&   € ÷  -ñ  -¬ð  -´2·9±9ð  -ÔRVñ  -r   c               óê   <a € R VVV	V 3R llpVP                  RR7       F  w  rE\        V! RWE4      4       K  	  V'       d0   VP                  RR7       F  w  rF\        V! RWF4      4       K  	  R# R# )zw
Local printer for params/buffers with colored dtype/device tokens and sizes.
Mirrors _print_params but adds coloring.
c                ó\   € V ^8„  d   QhR\         R\         R\        P                  R\         /# râ   rä   )r   s   "r   r   ÚIprint_module_tree.<locals>.print_params_with_colors.<locals>.__annotate__p  s2   € ÷ 	sñ 	sœð 	s¤3ð 	s¬5¯<©<ð 	s¼Cñ 	sr   c                 ó  <€ \        \        VR R4      ;'       g.    \        VR4      ;'       d    VP                  P                  R8H  4      pV'       d   RM(\        VR4      '       d   \        VP                  4      MRpS! V4      p\        VRR4      pVe   \        V4      P                  RR4      MRpS! V4      pV'       g$   \        VR	4      '       d   VP                  4       p	M\        V4      ;'       g    R
p	VP                  4       T	;'       g    R
,          p
\        V \        SR7      p\        V\        SR7      p\        \        V
4      \        SR7      pS V RV R\        VP                   4       RV RV RV 2# )r‹   FrŒ   r�   rŽ   r�   Nr    rž   r�   rB   rÁ   rÓ   rç   rè   ré   rê   )r   r£   r¤   rŒ   r¥   r   r®   r�   rF   ri   r    rÖ   rÕ   ra   r×   rë   rì   )rã   r$   rˆ   r‹   Údev_strÚdev_colÚdt_rawÚdt_nameÚdt_colr·   rî   rï   rð   rñ   r   r/  r(  rÞ   s   &&&           €€€€r   rò   ÚBprint_module_tree.<locals>.print_params_with_colors.<locals>._linep  sR  ø€ äœ7 1 i°Ó7×mÐm¼GÀAÀxÓ<P×<lÐ<lÐUV×U]ÑU]×UbÑUbÐflÑUlÓnˆGß '‘f¼wÀqÈ(×?SÒ?S¬c°!·(±(¬mÐY\ˆGÙ" 7Ó+ˆGô ˜Q ¨Ó.ˆFØ=CÒ=O”s˜6“{×*Ñ*¨8°RÔ8ÐUXˆGÙ  Ó)ˆF÷ œw q¨.×9Ò9ØŸ™Ó(‘ä" 6Ó*×1Ð1¨c�Ø—G‘G“I § ¨#Õ.ˆEä˜D¤'°Ô7ˆFÜ˜D¤'°Ô7ˆFÜœL¨Ó/´À%ÔHˆFØ�X˜f˜X R¨ x¨x¼¸a¿g¹g»Ð7GÀwÈvÈhÐV^Ð_fÐ^gÐgiÐjpÐiqÐrÐrr   Frv   rô   rõ   Nrö   )
rÞ   rd   rß   rò   rI   rl   rr   r   r/  r(  s
   f&$    €€€r   Úprint_params_with_colorsÚ3print_module_tree.<locals>.print_params_with_colorsk  sk   ù€ ÷
	só 	sð. ×(Ñ(°Ð(Ö7‰DˆAÜ‘%˜ Ó&Ö'ñ 8çØ×)Ñ)°%Ð)Ö8‘�Ü‘e˜H aÓ+Ö,ó 9ñ r   Nc              3   ó@   "  € T F  qP                  4       x € K  	  R # 5ir   rh   rj   s   & r   rm   Ú$print_module_tree.<locals>.<genexpr>•  s   é € Ð8Ñ%7 —'‘'—)�)Ó%7ùro   c              3   ó@   "  € T F  qP                  4       x € K  	  R # 5ir   rh   rq   s   & r   rm   rU  –  s   é € Ð5¡_ —'‘'—)�)£_ùro   c                ó8   € V ^8„  d   QhR\         P                  /# )r   Ú	container)r   re   )r   s   "r   r   r  ˜  s   € ÷ ñ ¤B§I¡Iñ r   c                 ó(  € \        V \        P                  \        P                  34      '       g   R # \	        V P                  4       4      pV'       g   R # \        ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      '       g   R # V# )Nc              3   óF   "  € T F  w  rVP                  4       x € K  	  R # 5ir   )Úisdigit)rk   r$   rt   s   &  r   rm   Ú>print_module_tree.<locals>.numeric_children.<locals>.<genexpr>ž  s   é € Ð:±¡g d�4—<‘<—>�>³ùru   FT)Ú
isinstancer   Ú
ModuleListÚ
Sequentialr¯   Únamed_childrenÚall)rX  Úchildrens   & r   Únumeric_childrenÚ+print_module_tree.<locals>.numeric_children˜  sa   € Ü˜)¤b§m¡m´R·]±]Ð%C×DÒDÙÜ˜	×0Ñ0Ó2Ó3ˆßÙß‹sÑ:±Ó:�s�sŠsÑ:±Ó:×:Ò:ÙØˆr   c                óD   € V ^8„  d   QhR\         R\        P                  /# )r   rÌ   rX  )r   r   re   )r   s   "r   r   r  ¢  s   € ÷ ñ ¤ð ´·±ñ r   c                 ó  <€ S
! V4      pVf   R # \        V4      pSP                  V 4      '       d#   S'       g   R # \        ^ S4      pW48”  d   W$R3# R # Se   SP                  V 4      '       g   R # \        ^ S	4      pW48”  d   W$R3# R # )NÚexpertÚlayer)r§   ÚsearchÚmax)rÌ   rX  rb  Útotal_childrenÚ
show_countr   Úexperts_path_rer  Úlayers_name_rer  rc  s   &&   €€€€€€r   Úcollapse_specÚ(print_module_tree.<locals>.collapse_spec¢  s�   ø€ Ù# IÓ.ˆØÒÙä˜X›ˆØ×!Ñ! )×,Ò,ß#Ùä˜Q Ó-ˆJØÔ*Ø¨XÐ5Ð5ÙàÒ!¨×)>Ñ)>¸y×)IÒ)IÙä˜˜KÓ(ˆ
ØÔ&Ø¨Ð0Ð0Ùr   c                ó€   € V ^8„  d   QhR\         R\         R\         R\        P                  R\        R\        R\         /# )r   rÊ   rË   rÌ   rd   rÍ   r  r   )r   r   re   r   rK   )r   s   "r   r   r  ¹  sD   € ÷ ,ñ ,œSð ,¬ð ,¼ð ,Ä2Ç9Á9ð ,Ü"&ð,Ü/2ð,Ü7:ñ,r   c                 óV  <€ VP                   P                  p\        W,           \        SR 7      p\        VS! V4      SR 7      p\        V\        SR 7      p	V'       dE   \        V4      w  r«\        R\        V
4       R\        V4       R2\        SR 7      pV V RV	 RV 2# V V RV	 2# rÐ   )rÔ   r4   r    rÕ   rÃ   r€   rV   r×   )rÊ   rË   rÌ   rd   rÍ   r  rØ   rÙ   r$   rÚ   rl   rr   rÛ   r   r  s   &&&&&&       €€r   rÜ   Ú'print_module_tree.<locals>._format_line¹  sª   ø€ à�m‰m×$Ñ$ˆÜ�f•n¤g°UÔ;ˆÜ�i¡¨UÓ!3¸5ÔAˆÜ�sœC uÔ-ˆßÜ% cÓ*‰DˆAÜ˜c¤+¨a£.Ð!1°´[À³^Ð4DÀAÐFÌ	ÐY^Ô_ˆFØ�V˜D˜6  E 7¨"¨V¨HÐ5Ð5à�V˜D˜6  E 7Ð+Ð+r   c          
      óh   € V ^8„  d   QhR\         P                  R\        R\        R\        R\        /# )r   rd   r$   r  rÊ   Úis_last)r   re   r   rK   r   )r   s   "r   r   r  É  s:   € ÷ -`ñ -`”—‘ð -`¤#ð -`¬cð -`¼3ð -`Ìñ -`r   c                 ó  <€ Se
   VS8”  d   R # \        V 4      pVS!9  d   RMRpS!P                  V4       V'       d   RMRpS! W7WRVR7      pS! \        V SR7      4      p	\        VR,           V	,           V,           4       V'       d   R # Y4'       d   R	MR
,           p
Y¤'       d   R	MR
,           pS"'       d   S! W°RR7       MS$'       g	   S#'       d   S! W°S#R7       S! W4      pVEe4   Vw  rÞpVR \	        ^ \        V\        V4      4      4       p\        V4       FU  w  pw  ppV\        V4      ^,
          8H  ;'       d    \        V4      \        V4      8H  pS ! VV RV 2V^,           V
V4       KW  	  \        V4      \        V4      8  dŽ   \        V4      ^ 8”  d~   \        V^ ,          ^,          RR7      w  ppR\        V4       R\        V4      ^,
           RV R\        V4       R\        V4       R2p\        \        V
V,           \        SR7      4       R # \        V P                  4       4      p\        V4      p\        V4       F7  w  pw  ppVV^,
          8H  pS ! TV'       d   V RV 2MTV^,           V
V4       K9  	  R # )Nrž   u     â†© shared refu   â””â”€ u   â”œâ”€ T©rÍ   r  rÁ   Ú ú   u   â”‚  ©rß   Ú.rv   u   â€¢ â€¦ collapsed (repeats z..z, per-z P=rÑ   rÒ   )Úidr¦   rÈ   r÷   rj  Úminr§   Ú	enumerater}   rV   r    rÃ   r¯   r`  )%rd   r$   r  rÊ   ru  Úmod_idÚsharedrË   Úliner2  rÞ   Úparam_indentÚcollapserb  rl  Ú
item_labelÚshown_childrenÚiÚ
child_nameÚchildÚchild_is_lastÚp_oneÚb_oneÚ	collapsedrI   ÚlastrÜ   ro  r   rE  rû   rR  ÚrecÚseenrÿ   rþ   rý   s%   &&&&&                     €€€€€€€€€€€r   rŽ  Úprint_module_tree.<locals>.recÉ  s\  ø€ ØÒ  U¨YÔ%6ÙÜ�C“ˆØ TÔ)‘Ð/AˆØ�‰�Ôç$‘	¨)ˆÙ˜F¨4À$ÈeÔTˆÙ#¤I¨c¸Ô$?Ó@ˆÜˆd�S�j˜5Õ  6Õ)Ô*ßÙð ¦G™5°Õ9ˆà®'¡°wÕ?ˆçÙ$ \ÈÖMßŸLÙ$ \ÈÕUá  Ó+ˆØÓØ/7Ñ,ˆH *Ø%Ð&M¤s¨1¬c°*¼cÀ(»mÓ.LÓ'MÐNˆNÜ*3°NÖ*CÑ&�Ñ&�J Ø!"¤c¨.Ó&9¸AÕ&=Ñ!=× iÐ iÄCÈÓDWÔ[^Ð_gÓ[hÑDh�Ù�E˜d˜V 1 Z LÐ1°5¸1µ9¸fÀmÖTñ +Dô �>Ó"¤S¨£]Ô2´s¸8³}ÀqÔ7HÜ-¨h°q­k¸!­nÀdÔK‘��uà1´#°nÓ2EÐ1FÀbÌÈXËÐWXÍÐHYð ZØ%˜, c¬+°eÓ*<Ð)=¸SÄÈUÓASÐ@TÐTUðWð ô ”f˜V iÕ/´¸EÔBÔCÙä˜×*Ñ*Ó,Ó-ˆÜ�‹MˆÜ&/°Ö&9Ñ"ˆAÑ"�
˜EØ˜˜Q�‘JˆDÙ�·˜$˜˜q  Ñ-¸:ÀuÈqÅyÐRXÐZ^Ö_ó ':r   rž   Trw  rÁ   rx  ry  rz  r{  z
Total parameters:z | Total buffers:c              3   óh   "  € T F(  qP                   '       g   K  VP                  4       x € K*  	  R # 5ir   )Úrequires_gradri   rj   s   & r   rm   rU    s    é € ÐMÑ'9 !¿_½_”I�A—G‘G—I�IÓ'9ùs   ‚2š2z
Trainable:z
 | Frozen:)r   r   r  r  r	  r
  ©Úfloat8_e4m3fnÚfloat8_e5m2Úfloat8_e4m3fnuzÚfloat8_e5m2fnuzÚfloat8_e8m0fnu©Úfloat4_e2m1fn_x2)r¤   r„   r>  ÚpcreÚcompiler¢   rx   ry   rz   rÈ   r÷   r¯   r`  r~  r§   rV   ),rú   rù   rû   rü   rý   rþ   rÿ   r   r   r  r  r  r  r$   Ú_dtype_namert   Útotal_pÚtotal_bÚ	root_lineÚ
root_annotÚroot_trunk_indentÚroot_param_indentÚchildren_rootr†  r‡  rˆ  r�  Ú	trainableÚfrozenr  r.  r'  rÜ   ro  r/  r(  rE  r  rm  rn  rc  rR  rŽ  r�  s,   &$d$ddddd$d$d                @@@@@@@@@@@@@@@r   Úprint_module_treer§  ã   s  ÿÿþ€ ò6€L÷7ð 7ð 	�:Ø�:Ø�:Ø�:Ø�:Ø�:Ø�:Ø�:Ø�:Ø�:Ø�:Ø�:Ø�:Ø�:Ø�:ð€Kð"ñó


ñ�ô ”u˜d×#÷ ˆDññ


ðñ 1Ó	IÑ0�4´G¼EÀ4×4H�$ˆ$Ñ0Ñ	Ióˆð 2=×1GÑ1GÈ	×1RÒ1R¡:ÐXbˆ�KÓ ñð  	˜
Ø˜
Ø˜
Ø˜
Ø˜
Ø˜
Ø˜
Ø˜
Ø˜
ð
€L÷Pñ P÷Pñ P÷$ò $÷L -ò  -÷J '3Œ�Š�\Ô"¸€AÜ—l’l =Ó1€OØ3>Ò3J”T—\’\ ,Ô/ÐPT€NÜ“U€DäÑ8 U×%5Ñ%5Ô%7Ó8Ó8€GÜÑ5 U§]¡]¤_Ó5Ó5€Gõ÷õ ÷.,ñ ,÷ -`÷ -`ò -`ñd ˜R  YÀ4ÈqÔQ€IÙ$¤Y¨u¸EÔ%BÓC€JÜ	ˆ)�c�/˜JÕ
&Ô'ð ÐØ)¨EÕ1ÐçÙ Ð!2°EÈ4ÖPß	ŸÙ Ð!2°EÈ<ÕXä˜×-Ñ-Ó/Ó0€MÜ"+¨MÖ":ÑˆÑˆJ˜Ø”S˜Ó'¨!Õ+Ñ+ˆÙˆE�i�[  * Ð.°°2°tÖ<ñ #;ô
 
Ð
¤¨WÓ!5Ð7JÌKÐX_ÓL`ÔaÜÑM u×'7Ñ'7Ô'9ÓMÓM€IØ�yÕ €FÜ	ˆ,œ IÓ.°¼kÈ&Ó>QÖRùòg


ùò 
Js   Á
L Á'L Á4LÂLc                óŒ   € V ^8„  d   QhR\         P                  P                  R\         P                  P                  R\        /# )r   ÚrootÚobjr   ©r„   r   re   r   )r   s   "r   r   r     s6   € ÷ Qñ QœeŸh™hŸo™oð Q´E·H±H·O±Oð QÌñ Qr   c                 ó‚   € V P                  4        F!  w  r#W1J g   K  V'       g   \        R 4      hVu # 	  \        R4      h)z2Provided module is the root; expected a submodule.z8Could not find the given module within the target model.)Únamed_modulesÚ
ValueError)r©  rª  r$   rd   s   &&  r   Ú_get_qualified_namer¯    s>   € Ø×'Ñ'Ö)‰	ˆØ�:ßÜ Ð!UÓVÐVØŠKñ	 *ô
 ÐOÓ
PÐPr   c                óX   € V ^8„  d   QhR\         P                  P                  R\        /# )r   r©  Údottedr«  )r   s   "r   r   r     s"   € ÷ ñ ¤u§x¡x§¡ð Äñ r   c                 ój   € R V9   d)   VP                  R ^4      w  r#V P                  V4      pWC3# Yr4WC3# ©r{  )ÚrsplitÚget_submodule)r©  r±  Úparent_pathÚleafÚparents   &&   r   Ú_get_parent_and_leaf_by_pathr¹    sE   € Ø
ˆf„}Ø"ŸM™M¨#¨qÓ1ÑˆØ×#Ñ# KÓ0ˆð ˆ<Ðð �Øˆ<Ðr   c                ó    € V ^8„  d   QhR\         P                  P                  R\         P                  R\         P                  P                  /# )r   rô   rŒ   r   )r„   r   Ú	ParameterrŒ   )r   s   "r   r   r   $  s<   € ÷ 
ñ 
¬U¯X©X×-?Ñ-?ð 
ÌÏÉð 
ÔZ_×ZbÑZb×ZlÑZlñ 
r   c                ó8  € \        V RR4      '       g   V P                  P                  R8X  d7   \        P                  P                  \        P                  ! WR7      RR7      # V P                  V8X  d   V # V P                  P                  VRR7      V n        V # )zMMake sure `param`'s storage is on `device` without using set_ across devices.r‹   Fr�   ©rŒ   ©r’  T)Úcopy)	r£   rŒ   r¥   r„   r   r»  Ú
empty_likeÚdataÚto)rô   rŒ   s   &&r   Ú!_ensure_target_storage_on_device_rÃ  $  sx   € ô ˆu�i ×'Ò'¨5¯<©<×+<Ñ+<ÀÔ+FÜ�x‰x×!Ñ!¤%×"2Ò"2°5Ô"HÐX]Ð!Ó^Ð^à‡|�|�vÔØˆà—‘—‘˜v¨D�Ó1€E„JØ€Lr   c                   óB   a a€ ] tR tRt oRtV3R lV 3R lltRtVtV ;t# )Ú_SplitDimWithInterleavei1  a  Integer split dimension carrying a preceding HF Interleave operation.

Keeping this as an ``int`` preserves the private resolver's four-item return
contract while allowing materialization to reproduce checkpoint conversion
pipelines such as Inkling's ``Interleave -> Chunk``.
c                ó,   <€ V ^8„  d   QhRS[ RS[ RS[/# )r   Ú	split_dimÚinterleave_dimÚinterleave_inverse)rK   r   )r   r&   s   "€r   r   Ú$_SplitDimWithInterleave.__annotate__9  s#   ø€ ÷ ñ ¡ð ¹ð ÑQUñ r   c               ó>   <€ \         SV `  W4      pW$n        W4n        V# r   )ÚsuperÚ__new__rÈ  rÉ  )rØ   rÇ  rÈ  rÉ  ÚvaluerÔ   s   &&$$ €r   rÍ  Ú_SplitDimWithInterleave.__new__9  s"   ø€ Ü‘‘ Ó/ˆØ-ÔØ#5Ô Øˆr   r_   )	r4   r5   r6   r7   r8   rÍ  r9   r:   Ú__classcell__)rÔ   r&   s   @@r   rÅ  rÅ  1  s   ù‡ € ñ÷÷ ó r   rÅ  c                ó´   € V ^8„  d   QhR\         \        ,          R\        \         \        ,          \         \        ,          \         \        ,          3,          /# )r   rÇ  r   )r   rK   rë   r   )r   s   "r   r   r   @  s:   € ÷ ñ ¤H¬S¥Mð ´e¼HÄS½MÌ8ÔTWÍ=ÔZbÔcgÕZhÐ<hÕ6iñ r   c                óV   € V f   R# \        V 4      \        V RR4      \        V RR4      3# )zPKeep Interleave metadata distinct when a split dimension is used as a cache key.NrÈ  rÉ  )NNN)rK   r£   )rÇ  s   &r   Ú_split_dim_cache_keyrÓ  @  s9   € àÒØÐäˆI‹Ü�	Ð+¨TÓ2Ü�	Ð/°Ó6ðð r   )r¦  c                   ó0   a € ] tR tRt o RtV 3R ltRtV tR# )Ú_MoEAliasSpeciK  zLMoE alias groups derived entirely from the model definition's `module_tree`.c                ó>  <€ V ^8„  d   Qh/ S[ S[R3,          ;R&   S[ S[ S[R3,          R3,          ;R&   S[ S[R3,          ;R&   S[ S[ S[R3,          R3,          ;R&   S[ S[ S[R3,          R3,          ;R&   S[ S[ S[ S[R3,          R3,          R3,          ;R&   # )r   .Úruntime_root_pathÚroot_alias_pathsÚruntime_experts_pathÚexpert_alias_pathsÚruntime_leaf_groupsÚleaf_alias_groups©rë   r   )r   r&   s   "€r   r   Ú_MoEAliasSpec.__annotate__K  sµ   ø‡ ‚ ñ ™S #˜X•Ñ&ñ	 ñ
 ™E¡# s (�O¨SÐ0Õ1Ñ1ñ ñ  ¡ S �/Ñ)ñ ñ ™e¡C¨ H�o¨sÐ2Õ3Ñ3ñ ñ ™u¡S¨# X�°Ð3Õ4Ñ4ñ ñ ™U¡5©¨c¨¥?°CÐ#7Õ8¸#Ð=Õ>Ñ>ò r   r_   N)r4   r5   r6   r7   r8   Ú__annotate_func__r9   r:   r;   s   @r   rÕ  rÕ  K  s   ø‡ € áV÷ ƒ r   rÕ  c                   óÖ   a € ] tR tR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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tRtV tR# )Ú_LazyWeightRenamingiW  z\Lightweight 1:1 renaming rule that mirrors `transformers.WeightRenaming` matching semantics.c                ó   <€ V ^8„  d   QhRR/# ©r   r   Nr_   )r   r&   s   "€r   r   Ú _LazyWeightRenaming.__annotate__^  s   ø€ ÷ gñ g˜tñ gr   c                ó  € V P                  V P                  4      V n        V P                  V P                  4      V n        \        V P                  4      ^8w  g   \        V P                  4      ^8w  d   \	        R4      hR# )r“   zF_LazyWeightRenaming expects exactly one source and one target pattern.N)Ú_coerce_patternsÚsource_patternsÚtarget_patternsr§   r®  r.   s   &r   Ú__post_init__Ú!_LazyWeightRenaming.__post_init__^  sk   € Ø#×4Ñ4°T×5IÑ5IÓJˆÔØ#×4Ñ4°T×5IÑ5IÓJˆÔÜˆt×#Ñ#Ó$¨Ô)¬S°×1EÑ1EÓ-FÈ!Ô-KÜÐeÓfÐfñ .Lr   c                óˆ   <€ V ^8„  d   QhRS[ S[,          S[S[R3,          ,          S[,          R,          RS[ S[,          /# )r   Úpatterns.Nr   )r¯   r   rë   )r   r&   s   "€r   r   rä  e  s=   ø€ ÷ ñ ¡4©¥9©u±S¸#°X­Õ#>ÁÕ#DÀtÕ#Kð ÑPTÑUXÕPYñ r   c                óÎ   € \        V \        4      '       d   V .# \        V \        \        34      '       d+   V  Uu. uF  p\        V\        4      '       g   K  VNK  	  up# . # u upi r   ©r]  r   r¯   rë   ©rì  Úpatterns   & r   ræ  Ú$_LazyWeightRenaming._coerce_patternsd  óS   € ä�h¤×$Ò$Ø�:ÐÜ�h¤¤u ×.Ò.Ù+3ÓP©8 ´zÀ'Ì3×7O—G�G©8ÑPÐPØˆ	ùò Qó   ºA"ÁA"c                ó6   <€ V ^8„  d   QhRS[ RS[S[ ,          /# ©r   rð  r   ©r   r¯   )r   r&   s   "€r   r   rä  m  s   ø€ ÷  ñ  ©3ð  ±4¹µ9ñ  r   c                óü  € . p. pR pR p\        V 4       Fä  w  rVV'       d   R pK  VR8X  d   RpK  VR8X  d   V'       g   RpK/  VR8X  d   V'       d   R pKB  V'       d   KL  VR8X  dI   V^,           \        V 4      8  ;'       d    W^,           ,          R8H  '       * pVP                  WW34       K›  VR8X  g   K¤  V'       g   K®  VP                  4       w  r‡V'       g   KÊ  VP                  WV^,            4       Kæ  	  V# )FÚ\Tr¿   rŸ   Ú(Ú?rÒ   )r~  r§   ÚappendÚpop)	rð  ÚgroupsÚstackÚescapedÚin_char_classÚindexÚchÚis_capturingÚstarts	   &        r   Ú_extract_capturing_groupsÚ-_LazyWeightRenaming._extract_capturing_groupsl  sç   € àˆØ(*ˆØˆØˆä" 7Ö+‰IˆEßØ�ÙØ�TŒzØ�ÙØ�SŒy§Ø $�ÙØ�SŒyŸ]Ø %�ÙßÙà�SŒyØ$)¨A¥I´°G³Ñ$<×$ZÐ$ZÀÐQRÍÕASÐWZÑAZÔ[�Ø—‘˜eÐ2Ô3Ùà�SŽyŸU™UØ&+§i¡i£kÑ#�ß‘<Ø—M‘M '°%¸!µ)Ð"<Ö=ñ1 ,ð4 ˆ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   rä  �  s(   ø€ ÷ (ñ (©cð (±e¹CÁÁcÅ¸NÕ6Kñ (r   c                ó  € VP                  R 4      pVP                  R4      p\        P                  ! RRV4      pVP	                  RR4      pV P                  V4      p\        V^R7       F  w  r4VP	                  VRV 2^4      pK  	  W3# )Ú^Ú$z\(\?.+?\)?\)rž   z\.r{  ©r  rø  )ÚremoveprefixÚremovesuffixÚreÚsubr®   r  r~  )rØ   rð  Úcaptured_groupsÚgroup_indexÚcaptured_groups   &&   r   Ú_process_target_patternÚ+_LazyWeightRenaming._process_target_pattern�  s�   € ð ×&Ñ& sÓ+ˆØ×&Ñ& sÓ+ˆÜ—&’&˜¨"¨gÓ6ˆØ—/‘/ %¨Ó-ˆà×7Ñ7¸Ó@ˆÜ+4°_ÈA×+NÑ'ˆKØ—o‘o n¸¸;¸-Ð6HÈ!ÓLŠGñ ,Oð Ð'Ð'r   c                ó,   <€ V ^8„  d   QhRS[ RS[ RS[ /# )r   Úsource_patternÚtarget_patternr   r%   )r   r&   s   "€r   r   rä  Ÿ  s"   ø€ ÷ ñ ±ð ÁSð ÉSñ r   c                óÚ   € VP                  R 4      '       d   V P                  R 4      '       g   R V  2MT p VP                  R4      '       d   V P                  R4      '       g   V  R2MT p V # )r	  r
  )r>  r?  )r  r  s   &&r   Ú_process_source_patternÚ+_LazyWeightRenaming._process_source_patternž  sl   € à×$Ñ$ S×)Ò)Ø9G×9RÑ9RÐSV×9WÒ9W˜q Ð 0Ñ1Ð]kˆNØ×"Ñ" 3×'Ò'Ø9G×9PÑ9PÐQT×9UÒ9U Ð/¨qÑ1Ð[iˆNØÐr   c                ón   <€ V ^8„  d   QhRS[ S[S[,          S[S[,          S[P                  3,          /# r?   )rë   r¯   r   r  ÚPattern)r   r&   s   "€r   r   rä  ¦  s/   ø€ ÷ 2Fñ 2F¡E©$©s­)±T¹#µYÁÇ
Á
Ð*JÕ$Kñ 2Fr   c                óf  € . p. pV P                    F8  pV P                  V4      w  rEVP                  V4       VP                  V4       K:  	  V Uu0 uF  pV'       g   K  \        V4      kK  	  pp\	        V4      ^8”  d   \        RV R24      hV'       d   \        VP                  4       4      M. p. p\        V P                  4       Fì  w  r“Tp\        P                  ! RV4       U
u0 uF  p
\        V
4      kK  	  pp
V'       d|   V'       g   \        RV R24      h\        V4      pV\	        V4      8”  d   \        RV RV R\	        V4       R24      h\        V^R	7       F  w  rÞVP                  R
V 2V4      pK  	  V P                  W@P                   V	,          4      pVP                  V4       Kî  	  . p\        V4       F5  w  p	pRV	 2pVP                  RR4      pVP                  RV RV R24       K7  	  \        P                   ! RP#                  V4      4      pW�V3# u upi u up
i )r“   z>Multiple different capturing groups found in target_patterns: z@. All target patterns must use the same capturing group pattern.ú\\(\d+)zSource pattern 'zN' contains \1 backreference, but no capturing groups found in target_patterns.z' references \z", but target_patterns only define z capturing group(s).r  rø  Úgz.*.z\..*\.z(?P<Ú>rÒ   r4  )rè  r  rû  rë   r§   r®  r¯   rü  r~  rç  r  ÚfindallrK   rj  r®   r  rœ  r­   )r*   Úprocessed_targetsÚtarget_capturing_groupsrð  Úprocessed_patternr  Úunique_capturing_groupsÚunique_capturing_groups_seqÚprocessed_sourcesr†  ÚmatchÚbackrefsÚ	max_indexr  r  Úbranchesr  Ú
group_nameÚcompiled_sourcess   &                  r   Ú_prepared_patternsÚ&_LazyWeightRenaming._prepared_patterns¦  sp  € ð (*ÐØ35ÐØ×+Ô+ˆGØ15×1MÑ1MÈgÓ1VÑ.ÐØ×$Ñ$Ð%6Ô7Ø#×*Ñ*¨?Ö;ñ ,ñ $;ó#
á#:�Üô #ŒE�/Ö"Ù#:ð 	 ð #
ô
 Ð&Ó'¨!Ô+ÜØPÐQhÐPið jQð Róð ÷ Ne¤dÐ+B×+FÑ+FÓ+HÔ&IÐjlÐ#à')ÐÜ# D×$8Ñ$8Ö9‰JˆAØ 'ÐÜ02·
²
¸:ÐGXÔ0YÓZÑ0Y uœ˜Ež
Ñ0YˆHÐZßß2Ü$Ø*¨7¨)ð 44ð 5óð ô   ›M�	ØœsÐ#>Ó?Ô?Ü$Ø*¨7¨)°?À9À+ð N"Ü"%Ð&AÓ"BÐ!CÐCWðYóð ô 4=Ð=XÐ`a×3bÑ/�KØ(9×(AÑ(AÀQÀ{ÀmÐBTÐVdÓ(eÒ%ñ 4cà $× <Ñ <Ð=N×PdÑPdÐefÕPgÓ hÐØ×$Ñ$Ð%6Ö7ñ% :ð( ˆÜ!*Ð+<Ö!=ÑˆAˆ~Ø˜Q˜C˜ˆJØ$×,Ñ,¨U°IÓ>ˆGØ�O‰O˜d : ,¨a°¨y¸Ð:Ö;ñ ">ô Ÿ:š: c§h¡h¨xÓ&8Ó9Ðà Ð5EÐEÐEùòQ#
ùò [s   Á
H)Á H)Ã*H.c                óJ   <€ V ^8„  d   QhRS[ RS[S[ S[ R,          3,          /# )r   Ú
source_keyr   N©r   rë   )r   r&   s   "€r   r   rä  Ú  s(   ø€ ÷ 8ñ 8©Cð 8±E¹#¹sÀT½z¸/Õ4Jñ 8r   c                ó,  a	a
a€ V P                  4       w  r#pVP                  V4      o
S
f   VR 3# \        R S
P                  4       P	                  4        4       4      pV P
                  \        VR,          4      ,          pV^ ,          p\        P                  ! RV4      '       dK   VP                  V,          o	\        S
P                  4       4      o\        P                  ! RV	V
V3R lV4      pVP                  S
P                  ^ 4      V^4      pW†3# )Nc              3   ó6   "  € T F  w  rVf   K  Vx € K  	  R # 5ir   r_   )rk   r$   Úvals   &  r   rm   Ú8_LazyWeightRenaming.rename_source_key.<locals>.<genexpr>à  s   é € Ð"mÑ9Y©I¨DÐ]`§4¢4Ó9Yùs   ‚�
ºr“   NNz\\\dr  c                 ó6  <€ S\        V P                  ^4      4      ,           S8:  dc   SP                  S\        V P                  ^4      4      ,           4      e1   SP                  S\        V P                  ^4      4      ,           4      # V P                  ^ 4      # r’   )rK   Úgroup)ÚmÚgroup_startÚmatch_objectÚmax_group_indexs   &€€€r   r•   Ú7_LazyWeightRenaming.rename_source_key.<locals>.<lambda>è  sv   ø€ à#¤c¨!¯'©'°!«*£oÕ5¸/ÔIØ$×*Ñ*¨;¼¸Q¿W¹WÀQ»Z»Õ+HÓIÒUð !×&Ñ& {´S¸¿¹À»³_Õ'DÓEð $ð Ÿ™ ›ð$r   )r.  ri  r¨   Ú	groupdictr¬   rç  rK   r  Ú
groupindexr§   rý  r  r®   r9  )r*   r1  rt   r"  r-  Úmatching_group_nameÚsource_pattern_that_matchedÚreplacementÚrenamed_keyr;  r<  r=  s   &&       @@@r   Úrename_source_keyÚ%_LazyWeightRenaming.rename_source_keyÚ  sü   ú€ Ø15×1HÑ1HÓ1JÑ.ˆÐ.Ø'×.Ñ.¨zÓ:ˆØÒØ˜tÐ#Ð#ä"Ñ"m¸×9OÑ9OÓ9Q×9WÑ9WÔ9YÓ"mÓmÐØ&*×&:Ñ&:¼3Ð?RÐSUÕ?VÓ;WÕ&XÐ#Ø'¨Õ*ˆÜ�9Š9�W˜k×*Ò*Ø*×5Ñ5Ð6IÕJˆKÜ! ,×"5Ñ"5Ó"7Ó8ˆOÜŸ&š&Øöð ó	ˆKð !×(Ñ(¨×);Ñ);¸AÓ)>ÀÈQÓOˆØÐ7Ð7r   c                ór   <€ V ^8„  d   Qh/ S[ S[,          S[,          ;R&   S[ S[,          S[,          ;R&   # )r   rç  rè  )r¯   r   )r   r&   s   "€r   r   rä  W  s/   ø‡ ‚ ñ ™#•Y¡•_Ñ$ñ	 ñ
 ™#•Y¡•_Ñ$ò r   )rç  rè  N)r4   r5   r6   r7   r8   ré  Ústaticmethodræ  r  Úclassmethodr  r  r.  rE  rß  r9   r:   r;   s   @r   rá  rá  W  s„   ø‡ € áf÷
gð gð ÷ó ðð ÷ ó ð ðD ÷(ó ð(ð ÷ó ð÷2Fð 2F÷h8ð 8÷G ƒ r   rá  c                   óp   a € ] tR tR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V 3R	 lt	R
t
V tR# )Ú_LazyWeightConverteriô  aO  Runtime->checkpoint key hints for HF `WeightConverter` entries.

LazyTurtle only materializes the tensors needed by the current shell module,
so it cannot run HF's full many-key conversion pipeline eagerly. This stores
enough metadata to resolve direct converted tensors and ERNIE split expert
leaves back to their checkpoint sources.
c                ó   <€ V ^8„  d   QhRR/# rã  r_   )r   r&   s   "€r   r   Ú!_LazyWeightConverter.__annotate__  s   ø€ ÷ 6ñ 6˜tñ 6r   c                óÞ   € \         P                  V P                  4      V n        \         P                  V P                  4      V n        \	        V P
                  ;'       g    . 4      V n        R # r   )rá  ræ  rç  rè  r¯   Ú
operationsr.   s   &r   ré  Ú"_LazyWeightConverter.__post_init__  sL   € Ü2×CÑCÀD×DXÑDXÓYˆÔÜ2×CÑCÀD×DXÑDXÓYˆÔÜ˜tŸ™×4Ð4°"Ó5ˆŽr   c                ó4   <€ V ^8„  d   QhRS[ S[R3,          /# )r   r   .rÝ  )r   r&   s   "€r   r   rM    s   ø€ ÷ Pñ P¡¡s¨C x¥ñ Pr   c                ó‚   € \         ;QJ d    . R  V P                   4       F  NK  	  5# ! R  V P                   4       4      # )c              3   óL   "  € T F  p\        V4      P                  x € K  	  R # 5ir   ©r¥   r4   ©rk   Ú	operations   & r   rm   Ú7_LazyWeightConverter.operation_names.<locals>.<genexpr>	  s   é € ÐO¹°)”T˜)“_×-Ö-»ùs   ‚"$)rë   rO  r.   s   &r   Úoperation_namesÚ$_LazyWeightConverter.operation_names  s,   € çŒuÑO¸t¿ºÓO�uÐOˆuÑO¸t¿ºÓOÓOÐOr   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# r?   )r   rá  )r   r&   s   "€r   r   rM    s   ø€ ÷ 
Jñ 
J¡xÑ0CÕ'Dñ 
Jr   c              #  óÌ  "  € V P                   '       g   R # \        V P                  4      ^8X  dM   \        V P                  4      ^8X  d3   \	        V P                  ^ ,          V P                  ^ ,          4      x € R # \        V P                  4      \        V P                  4      8X  d9   \        V P                  V P                  4       F  w  r\	        W4      x € K  	  R # R # 5ir   )rO  r§   rç  rè  rá  Úzip)r*   r  r  s   &  r   Úiter_direct_renamingsÚ*_LazyWeightConverter.iter_direct_renamings  s­   é € Ø��ˆÙäˆt×#Ñ#Ó$¨Ô)¬c°$×2FÑ2FÓ.GÈ1Ô.LÜ% d×&:Ñ&:¸1Õ&=¸t×?SÑ?SÐTUÕ?VÓWÒWÙäˆt×#Ñ#Ó$¬¨D×,@Ñ,@Ó(AÔAÜ25°d×6JÑ6JÈD×L`ÑL`Ö2aÑ.�Ü)¨.ÓIÔIó 3bñ Bùs   ‚C"C$c                óŽ   <€ V ^8„  d   Qh/ S[ S[,          S[,          ;R&   S[ S[,          S[,          ;R&   S[ S[,          ;R&   # )r   rç  rè  rO  )r¯   r   r   )r   r&   s   "€r   r   rM  ô  s@   ø‡ ‚ ñ ™#•Y¡•_Ñ$ñ ñ ™#•Y¡•_Ñ$ñ ñ ‘S•	Ñò r   )rO  rç  rè  N)r4   r5   r6   r7   r8   ré  ÚpropertyrX  r]  rß  r9   r:   r;   s   @r   rK  rK  ô  s=   ø‡ € ñ÷6ð 6ð
 ÷Pó ðP÷
Jð 
J÷/ ƒ r   rK  c                   ó>  a € ] tR tRt o RtRtRtR‡tRtRRRRR	RR
R/V 3R lR llt	]
RRRRR	RR
R/V 3R lR ll4       tV 3R lR ltRRRRRRRRRR/V 3R lR lltV 3R lR ltV 3R lR ltRR/V 3R lR lltRRRRR RR!Rˆ/V 3R" lR# lltR$R/V 3R% lR& lltV 3R' lR( l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R0 l4       t]
V 3R1 lR2 l4       t]
V 3R3 lR4 l4       t]
V 3R5 lR6 l4       t]
V 3R7 lR8 l4       t]
R
RR9R/V 3R: lR; ll4       t]V 3R< lR= l4       t]V 3R> lR? l4       t]
V 3R@ lRA l4       t ]
V 3RB lRC l4       t!V 3RD lRE lt"V 3RF lRG lt#]RHR/V 3RI lRJ ll4       t$V 3RK lRL lt%V 3RM lRN lt&V 3RO lRP lt']V 3RQ lRR l4       t(V 3RS lRT lt)]V 3RU lRV l4       t*V 3RW lRX lt+V 3RY lRZ 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Ra lRb lt0V 3Rc lRd lt1V 3Re lRf lt2V 3Rg lRh lt3V 3Ri lRj lt4]RkRRlR/V 3Rm lRn ll4       t5]V 3Ro lRp l4       t6V 3Rq lRr lt7]RsRRtRRuRRvRRwRRxR/V 3Ry lRz ll4       t8V 3R{ lR| lt9R}RRR/V 3R~ lR l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 t?R# )‰Ú
LazyTurtlei  a¨  Checkpoint-backed shell materializer for local dense checkpoints.

The traditional offload path builds a meta shell model and then instantiates
a full CPU "turtle" model from `from_pretrained()` so submodules can be
copied over on demand. For very large local sharded checkpoints this upfront
load is dominated by walking every shard.

This source keeps only the checkpoint index in memory and materializes the
requested shell submodule directly from the relevant safetensors shards. If
a local checkpoint only provides PyTorch pickle weights (`.bin`, `.pt`,
`.pth`, `.ckpt`), LazyTurtle converts them into temporary safetensors once
and then reads from that converted directory.
FTzlazyturtle-Úmodel_init_kwargsNÚmodule_treeÚhf_conversion_map_reversedÚtarget_modelc                ó¬   <€ V ^8„  d   QhRS[ RS[RS[S[S[ S[3,          ,          RS[S[,          RS[S[,          RS[S[P
                  ,          RR/# )	r   Úmodel_local_pathÚconfigrc  rd  re  rf  r   N)r   r   r   r   r   re   )r   r&   s   "€r   r   ÚLazyTurtle.__annotate__,  sq   ø€ ÷ %'ñ %'ñ ð%'ñ ð	%'ñ
 $¡D©©c¨¥NÕ3ð%'ñ ™c•]ð%'ñ %-©S¥Mð%'ñ ™rŸy™yÕ)ð%'ð 
ñ%'r   c               óB  € \         P                  ! V4      V n        \        T;'       g    / 4      V n        V P                  VVR 7      w  V n        V n        \         P                  ! V4      V n        V P                  V P                  4      w  V n
        V n        Ve   TMV P                  VR7      p\        VRR4      V n        \        V P                  \         4      '       d   V P                  '       g   RV n        V P#                  V4      p\%        V4      V n        V P)                  V4      V n        \        VRR4      p	\$        ;QJ d    . R T	;'       g    R 4       F  NK  	  5M! R T	;'       g    R 4       4      V n        \.        P0                  ! 4       V n        R# )©rh  rf  N)rf  Úbase_model_prefixÚ_no_placement_paramsc              3   ój   "  € T F)  p\        V\        4      '       g   K  V'       g   K%  Vx € K+  	  R # 5ir   ©r]  r   ©rk   rð  s   & r   rm   Ú&LazyTurtle.__init__.<locals>.<genexpr>N  s%   é € ð *
Ù$=˜Ä*ÈWÔVY×BZŒGÔ_f�GŠGÓ$=ùs   ‚3Ÿ3©
3r_   )r¿  Údeepcopyri  ÚdictÚ_model_init_kwargsÚ_resolve_checkpoint_sourcerh  Ú_weight_mapÚ_module_treeÚ_build_moe_alias_specsÚ_module_tree_layer_prefixesÚ_moe_alias_specsÚ infer_hf_conversion_map_reversedr£   Ú_base_model_prefixr]  r   Ú*_normalize_runtime_to_checkpoint_renamingsrë   Ú _runtime_to_checkpoint_renamingsÚ+_normalize_runtime_to_checkpoint_convertersÚ!_runtime_to_checkpoint_convertersrn  Ú	threadingÚRLockÚ_lock)
r*   rh  ri  rc  rd  re  rf  Úconversion_aliasesÚalias_itemsÚno_placement_paramss
   &$$$$$$   r   r+   ÚLazyTurtle.__init__,  sx  € ô —m’m FÓ+ˆŒÜ"&Ð'8×'>Ð'>¸BÓ"?ˆÔØ26×2QÑ2QØ-Ø%ð 3Ró 3
Ñ/ˆÔ˜tÔ/ô
 !ŸMšM¨+Ó6ˆÔØBF×B]ÑB]Ð^b×^oÑ^oÓBpÑ?ˆÔ(¨$Ô*?ð
 *Ò5ñ 'à×6Ñ6ÀLÐ6ÓQð 	ô
 #*¨,Ð8KÈTÓ"RˆÔÜ˜$×1Ñ1´3×7Ò7¸t×?V×?VÐ?VØ&*ˆDÔ#Ø×EÑEÐFXÓYˆÜ05°kÓ0BˆÔ-Ø15×1aÑ1aÐbtÓ1uˆÔ.ä% lÐ4JÈBÓOÐß$)¤Eñ *
Ø$7×$=Ð$=¸2Ð$=ó*
§E¡Eñ *
Ø$7×$=Ð$=¸2Ð$=ó*
ó %
ˆÔ!ô —_’_Ó&ˆŽ
r   c                óÌ   <€ V ^8„  d   QhRS[ S[,          RS[RS[ S[S[S[3,          ,          RS[ S[,          RS[ S[,          RS[ S[P
                  ,          RS[ R,          /# )	r   rh  ri  rc  rd  re  rf  r   rb  )r   r   r   r   r   re   )r   r&   s   "€r   r   rj  T  sz   ø€ ÷ ñ ñ #¡3�-ðñ ð	ñ
 $¡D©©c¨¥NÕ3ðñ ™c•]ðñ %-©S¥Mðñ ™rŸy™yÕ)ðñ 
�,Õ	ñr   c          	     óÞ   € V'       d&   \         P                  P                  V4      '       g   R #  V ! VVVVVVR7      #   \         d#   p\        P                  RTT4        R p?R # R p?ii ; i)N)rh  ri  rc  rd  re  rf  z!LazyTurtle: disabled for `%s`: %s)ÚosÚpathÚisdirr@  ÚlogÚdebug)rØ   rh  ri  rc  rd  re  rf  Úexcs   &$$$$$$ r   Úmaybe_createÚLazyTurtle.maybe_createS  sm   € ÷  ¤r§w¡w§}¡}Ð5E×'FÒ'FÙð	ÙØ!1ØØ"3Ø'Ø+EØ)ôð øô ô 	Ü�I‰IØ3Ø Øôõ
 ûð	ús   ±? ¿A,Á
A'Á'A,c                ó   <€ V ^8„  d   QhRR/# )r   r   rb  r_   )r   r&   s   "€r   r   rj  r  s   ø€ ÷ ñ �lñ r   c                ó   € V # r   r_   r.   s   &r   ÚevalÚLazyTurtle.evalr  s   € Øˆr   Únon_blockingÚmodule_pathrb   Útie_weightsÚshow_progressc                óì   <€ V ^8„  d   QhRS[ P                  P                  RS[ P                  P                  RS[ P                  RS[RS[S[,          RS[RS[RS[R	S[ P                  P                  /	# )
r   rf  Útarget_submodulerŒ   r—  r˜  rb   r™  rš  r   ©r„   r   re   rŒ   r   r   r   )r   r&   s   "€r   r   rj  u  s‡   ø€ ÷ 1 ñ 1 ñ —h‘h—o‘oð1 ñ  Ÿ(™(Ÿ/™/ð	1 ñ
 —‘ð1 ñ ð1 ñ ™c•]ð1 ñ ð1 ñ ð1 ñ ð1 ñ 
�‰�‰ñ1 r   c               óÖ  € Vf   \        W4      pR p	Ve›   RV/p	VP                  R4      p
\        \        V
4      4       F2  pRP	                  V
R V^,            4      p VP                  V4      Wœ&   K4  	  W)V&   V'       d/   VP                  4        F  w  rÞV'       d   V RV 2MTpWéV&   K  	  M!V'       d   \        VP                  4       4      p	V P                  ;_uu_ 4        V P                  VVVVVVV	VR7      pR R R 4       V'       d*   X^ 8”  d#   \        VR4      '       d   VP                  4        V#   \        \        \        3 d      Kß  i ; i  + '       g   i     La; i)Nrž   r{  )rf  rœ  r˜  rŒ   rb   r—  Úmodules_by_namerš  r™  )r¯  r-  Úranger§   r­   rµ  ÚAttributeErrorÚ
IndexErrorÚKeyErrorr­  rt  r„  Ú'_copy_checkpoint_tensors_into_submoduler¤   r™  )r*   rf  rœ  rŒ   r—  r˜  rb   r™  rš  rŸ  rC  r†  rÊ   ÚsubnameÚsubmodÚ	full_nameÚloaded_entriess   &$$$$$$$$        r   Úmaterialize_submoduleÚ LazyTurtle.materialize_submoduleu  sa  € ð ÒÜ-¨lÓMˆKð
 AEˆØÒ"Ø! <Ð0ˆOØ×%Ñ% cÓ*ˆEÜœ3˜u›:Ö&�ØŸ™ %¨¨!¨a­% .Ó1�ðØ.:×.HÑ.HÈÓ.P�OÓ+ñ 'ð ,<˜KÑ(ßØ'7×'EÑ'EÖ'G‘O�Gß>E ; -¨q°°	Ñ :È;�IØ17 IÓ.ñ (Hø÷ Ü" <×#=Ñ#=Ó#?Ó@ˆOà�Z�Z‹ZØ!×IÑIØ)Ø!1Ø'ØØØ)Ø /Ø+ð Jó 	ˆN÷ ÷ ˜>¨AÔ-´'¸,È×2VÒ2VØ×$Ñ$Ô&ØÐøô/ '¬
´HÐ=ô Ûðú÷ �Zús   ÁD:Ã%EÄ:EÅEÅE(	c                óP   <€ V ^8„  d   QhRS[ RS[S[P                  ,          RS[ /# ©r   rh  rf  r   )r   r   r   re   )r   r&   s   "€r   r   rj  ¨  s9   ø€ ÷ @ñ @ñ ð@ñ ™rŸy™yÕ)ð	@ñ
 
ñ@r   c               óð  € ^RI Hp V! V\        V P                  4      RR.R7      w  rEp\        P
                  ! V P                  R7      p\        P                  ! \        P                  VRR7       \        P                  RVVV4       Ve   \        V4      MR	pVe   \        \        VR
R	4      4      '       g   \!        R4      h\#        V P$                  4      pVP'                  RR	4       RVR&   R	p	  VP(                  ! V3R\*        P,                  ! V P.                  4      /VB p	\        \        V	RR	4      4      '       g   \!        RVP0                   R24      hV	P3                  VRR7       TV	e   ?	\4        P6                  ! 4        #   \          d    TP(                  ! T3/ TB p	 L„i ; i  \8         d    \        P                  ! TRR7       h i ; i  T	e   ?	\4        P6                  ! 4        i ; i)r“   ©Úget_checkpointsrú   Úpytorch_model©Ú
extensionsÚpossible_model_basenames)rÊ   T)Úignore_errorsz`LazyTurtle: no safetensors found under `%s`; converting `%s` into temporary safetensors at `%s`.NÚfrom_pretrainedz]LazyTurtle: transformers-based fallback requires a target model class with from_pretrained().Ú
device_mapFÚlow_cpu_mem_usageri  Úsave_pretrainedzLazyTurtle: `za` does not provide save_pretrained(), cannot convert checkpoint via transformers full-model load.)Úsafe_serialization)rú   r¯  r¯   Ú_FALLBACK_CHECKPOINT_EXTENSIONSÚtempfileÚmkdtempÚ_TEMPDIR_PREFIXÚatexitÚregisterÚshutilÚrmtreerŽ  Úinfor¥   Úcallabler£   Ú	TypeErrorrt  ru  rü  rµ  r¿  rs  ri  r4   r¸  ÚgcÚcollectr@  )
r*   rh  rf  r¯  rt   Úresolved_archive_fileÚtempdirÚ	model_clsÚload_kwargsÚloaded_models
   &$$       r   Ú)_convert_checkpoint_source_to_safetensorsÚ4LazyTurtle._convert_checkpoint_source_to_safetensors¨  sé  € õ 	+á&5ØÜ˜D×@Ñ@ÓAØ&-¨Ð%?ô'
Ñ#ˆ !ô
 ×"Ò"¨$×*>Ñ*>Ô?ˆô 	�ŠœŸ™ w¸dÕCä�‰ØnØØ!Øô		
ð +7Ò*B”D˜Ô&Èˆ	ØÒ¤H¬W°YÐ@QÐSWÓ-X×$YÒ$YÜÐ{Ó|Ð|ä˜4×2Ñ2Ó3ˆØ�‰˜ dÔ+ð ,1ˆÐ'Ñ(àˆð	ð
Ø(×8Ò8Ø$ñ äŸ=š=¨¯©Ó5ð ð "ñ �ô œG LÐ2CÀTÓJ×KÒKÜØ# I×$6Ñ$6Ð#7ð 8Rð Róð ð ×(Ñ(¨ÀTÐ(ÔJØð Ò'Ø Ü�JŠJ�Løô+ ô Ø(×8Ò8Ø$ñ à!ñ ’ðûô ô 	ô �MŠM˜'°Õ6Øð		ûð Ò'Ø Ü�JŠJ�Lús7   Ã63F Ä)A	F1 ÆF.Æ+F1 Æ-F.Æ.F1 Æ1%GÇG ÇG5c          
      ó|   <€ V ^8„  d   QhRS[ RS[S[P                  ,          RS[S[ S[S[ S[ 3,          3,          /# r¬  )r   r   r   re   rë   r   )r   r&   s   "€r   r   rj  ê  sF   ø€ ÷ 'ñ 'ñ ð'ñ ™rŸy™yÕ)ð	'ñ
 
‰s‘D™™c˜•NÐ"Õ	#ñ'r   c               óœ   €  V P                  V4      pW3#   \         d+    T P                  TTR 7      pT P                  T4      pYC3u # i ; i)rl  )Ú_load_weight_mapÚFileNotFoundErrorrÌ  )r*   rh  rf  Ú
weight_maprÈ  s   &$$  r   rv  Ú%LazyTurtle._resolve_checkpoint_sourceê  si   € ð	'Ø×.Ñ.Ð/?Ó@ˆJØ#Ð/Ð/øÜ ô 	'ð ×DÑDØ!1Ø)ð Eó ˆGð ×.Ñ.¨wÓ7ˆJØÐ&Ò&ð	'ús   ‚ –2AÁ
Ac          
      ó„   <€ V ^8„  d   QhRS[ P                  RS[ P                  RS[RS[S[S[P                  3,          /# )r   rf  rœ  rb   r   )r   re   r   r   r   r„   r…   )r   r&   s   "€r   r   rj  ý  sK   ø€ ÷ ñ ñ —i‘iðñ Ÿ)™)ð	ñ
 ðñ 
‰c‘5—<‘<ÐÕ	 ñr   c               ó¤   € \        W4      pV P                  ;_uu_ 4        V P                  VVR7      uuRRR4       #   + '       g   i     R# ; i)zDLoad checkpoint tensors for one shell submodule without mutating it.)r˜  rb   N)r¯  r„  Ú(_load_checkpoint_tensors_for_module_path)r*   rf  rœ  rb   rŒ  s   &$$$ r   Ú checkpoint_tensors_for_submoduleÚ+LazyTurtle.checkpoint_tensors_for_submoduleý  s=   € ô # <ÓBˆØ�Z�Z‹ZØ×@Ñ@Ø Øð Aó ÷ �Z�Z‹Zús	    >¾A	Úrequire_class_matchÚverify_shapesÚ	tie_afterÚskip_module_typesc                óf   <€ V ^8„  d   QhRS[ P                  RS[RS[RS[RS[S[R3,          RS[/# )r   Úshell_modelrÙ  rÚ  rÛ  rÜ  .r   )r   re   r   rë   r¥   rK   )r   r&   s   "€r   r   rj    sV   ø€ ÷ 2ñ 2ñ —Y‘Yð2ñ "ð	2ñ
 ð2ñ ð2ñ !¡ s Õ+ð2ñ 
ñ2r   c               óR  € ??^ p/ p/ p\        VP                  4       4      p	\        P                  \	        \        V	4      4      4      P                  4       P                  RR7      p
V
P                  R\        V	4       R24       V
P                  R4       V
P                  RR7        V P                  ;_uu_ 4        \        P                  ! 4       ;_uu_ 4        \        V	4       F¾  w  pw  rÍ\        WÕ4      '       d   K  T;'       g    RpWºn        V
P                  R	V R
V^,            R\        V	4       R24       V
P                  4        V P#                  VVVVR7      pWo,          pV^,           V
n        V
P                  RV RV RV R24       V
P                  4        KÀ  	  RRR4       RRR4       V
P%                  4        V'       dV   \'        VR4      '       dD   \)        VP*                  RR4      '       d'    VP-                  4        \        P/                  R4       \        P/                  RV4       V#   + '       g   i     L�; i  + '       g   i     L¨; i  T
P%                  4        i ; i  \0         d#   p\        P/                  RT 24        Rp?L{Rp?ii ; i)rM   F©Úshow_left_stepsz Syncing lazy checkpoint writes (z	 modules)zPreparing module writesT©Úforceú<root>zWriting ú (Ú/rÒ   ©Ú	shell_subr˜  Úparam_cacheÚbuffer_cachezWrote z (+z, total Nr™  Útie_word_embeddingsz@Module: Re-tied embedding weights on shell model after lazy synczModule: tie_weights failed: zIModule: Total direct tensors materialized from lazy checkpoint source: %s)r¯   r­  rŽ  Úpbr   r§   Úmanualr¢   ÚtitleÚsubtitleÚdrawr„  r„   Úinference_moder~  r]  Úcurrent_iter_stepÚ _materialize_direct_meta_tensorsÚcloser¤   r£   ri  r™  rÂ  r@  )r*   rÞ  rÙ  rÚ  rÛ  rÜ  Úmaterializedré  rê  ÚmodulesÚprogressÚidxÚqnamerè  Úmodule_labelÚsyncedr�  s   &$$$$$           r   Úsync_all_metaÚLazyTurtle.sync_all_meta  s1  € ð   àˆØIKˆØDFˆÜ�{×0Ñ0Ó2Ó3ˆÜ—6‘6œ%¤ G£Ó-Ó.×5Ñ5Ó7×;Ñ;ÈEÐ;ÓRˆØ�‰Ð9¼#¸g»,¸ÀyÐQÔRØ×ÑÐ3Ô4Ø�‰˜DˆÔ!ð	Ø——“œU×1Ò1×3Õ3Ü/8¸Ö/AÑ+�CÑ+˜%Ü! )×?Ò?Ù Ø#(×#4Ð#4¨H�LØ14Ô.Ø×%Ñ%¨°°¸bÀÀqÅÀ	ÈÌ3ÈwË<È.ÐXYÐ&ZÔ[Ø—M‘M”OØ!×BÑBØ"+Ø$)Ø$/Ø%1ð	 Có �Fð !Õ*�LØ14°qµ�HÔ.Ø×%Ñ%¨¨|¨n¸CÀ¸xÀxÐP\È~Ð]^Ð&_Ô`Ø—M‘M–Oñ! 0B÷ 4—ð& �N‰NÔçœ ¨m×<Ò<ÄÈ×I[ÑI[Ð]rÐty×AzÒAzð?Ø×'Ñ'Ô)Ü—‘Ð[Ô\ô 	�‰Ð\Ð^jÔkØÐ÷; 4×3ú——ûð& �N‰NÕûô ô ?Ü—‘Ð7¸°uÐ=×>Ñ>ûð?ús[   Â)I$ Â=IÃ/H>	ÄBH>	Æ)IÆ1I$ È%I9 È>IÉ	IÉI!	ÉI$ É$I6É9J&ÊJ!Ê!J&rŒ   c                óx   <€ V ^8„  d   QhRS[ P                  RS[ P                  RS[S[P                  ,          /# )r   rf  rœ  rŒ   )r   re   r   r„   rŒ   )r   r&   s   "€r   r   rj  A  s<   ø€ ÷ $ñ $ñ —i‘ið$ñ Ÿ)™)ð	$ñ
 ™Ÿ™Õ&ñ$r   c               ó¢  € Ve3   \         P                  ! V4      pVP                  R8X  d   \        R4      h\	        W4      pV P
                  ;_uu_ 4        \         P                  ! 4       ;_uu_ 4        V P                  VV/ / R7       VuuRRR4       uuRRR4       #   + '       g   i     M; iRRR4       R#   + '       g   i     R# ; i)úDMaterialize only direct meta params/buffers for one shell submodule.Nr�   zGmaterialize_direct_meta_tensors() does not support meta target devices.rç  )r„   rŒ   r¥   r®  r¯  r„  rñ  ró  )r*   rf  rœ  rŒ   rŒ  s   &$$$ r   Úmaterialize_direct_meta_tensorsÚ*LazyTurtle.materialize_direct_meta_tensorsA  s‘   € ð ÒÜ—\’\ &Ó)ˆFØ�{‰{˜fÔ$Ü Ð!jÓkÐkä" <ÓBˆØ�Z�Z‹Zœ×-Ò-×/Õ/Ø×1Ñ1Ø*Ø ØØð	 2ô ð $÷ 0Ñ/�ZŠZ×/×/ú�Z�Z�ZŠZús$   ÁB=Á4B 	Â
B=Â B0Â+B=Â=C	c                ó<   <€ V ^8„  d   QhRS[ RS[S[ S[ 3,          /# )r   rh  r   )r   r   )r   r&   s   "€r   r   rj  Y  s#   ø€ ÷ 8ñ 8±ð 8¹¹cÁ3¸h½ñ 8r   c                ó  € ^RI Hp V! VR.RR.R7      w  r4pV'       dª   \        VRR7      ;_uu_ 4       p\        P                  ! V4      pRRR4       XP                  R	/ 4      p\        V\        4      '       d	   V'       g   \        R
V 24      hVP                  4        U	U
u/ uF  w  rš\        V	4      \        V
4      bK  	  up
p	# \        P                  P                  V4      p\        VRRR7      ;_uu_ 4       p\        VP!                  4       4      pRRR4       X'       g   \        RV 24      hV U	u/ uF  p	\        V	4      VbK  	  up	#   + '       g   i     EL; iu up
p	i   + '       g   i     L\; iu up	i )r“   r®  z.safetensorsrú   r°  r±  zutf-8)ÚencodingNrÒ  zInvalid safetensors index: Úptr  ©Ú	frameworkrŒ   z&No tensors found in safetensors file: )rú   r¯  ÚopenÚjsonÚloadrD   r]  rt  r®  r¬   r   r‹  rŒ  Úbasenamer
   r¯   rª   )r*   rh  r¯  Ú
is_shardedrÇ  rt   Úfpr  rÒ  r$   ÚfilenameÚ
shard_nameÚhandlerrª   s   &&            r   rÐ  ÚLazyTurtle._load_weight_mapY  sA  € Ý*á/>ØØ&Ð'Ø&-¨Ð%?ô0
Ñ,ˆ
¨1÷ ÜÐ+°g×>Õ>À"ÜŸ	š	 "›�÷ ?àŸ™ <°Ó4ˆJÜ˜j¬$×/Ò/·zÜ Ð#>Ð?TÐ>UÐ!VÓWÐWØCM×CSÑCSÔCUÔVÑCU±°”C˜“Iœs 8›}Ò,ÑCUÒVÐVä—W‘W×%Ñ%Ð&;Ó<ˆ
ÜÐ,¸ÀU×KÕKÈwÜ˜Ÿ™›Ó'ˆD÷ LçÜÐEÐF[ÐE\Ð]Ó^Ð^Ù26Ó7±$¨$”�D“	˜:Ò%±$Ñ7Ð7÷ ?×>Ð>üó
 W÷ L×Küò 8s#   µEÂ% E&Ã>E,Ä:E?ÅE#	Å,E<	c                ó,   <€ V ^8„  d   QhRS[ RS[ RS[ /# ©r   r˜  Úrel_namer   r%   )r   r&   s   "€r   r   rj  r  s"   ø€ ÷ +ñ +¡sð +±cð +¹cñ +r   c                ó8   € V '       g   V# V'       g   V # V  R V 2# r³  r_   )r˜  r  s   &&r   Ú_join_tensor_nameÚLazyTurtle._join_tensor_nameq  s$   € çØˆOßØÐØ�˜a ˜zÐ*Ð*r   c                ó6   <€ V ^8„  d   QhRS[ RS[S[,          /# )r   rì  r   )r   r¯   r   )r   r&   s   "€r   r   rj  z  s   ø€ ÷ ñ ¡3ð ©4±­9ñ r   c                óÎ   € \        V \        4      '       d   V .# \        V \        \        34      '       d+   V  Uu. uF  p\        V\        4      '       g   K  VNK  	  up# . # u upi r   rî  rï  s   & r   ræ  ÚLazyTurtle._coerce_patternsy  rò  ró  c                óL   <€ V ^8„  d   QhRS[ RS[S[S[S[3,          ,          /# ©r   Úentryr   )r   r   rë   r   )r   r&   s   "€r   r   rj  ‚  s)   ø€ ÷ 6ñ 6±cð 6¹hÁuÉSÑRUÈXÅÕ>Wñ 6r   c           	     ó<  € \        VR R4      pV'       d   R# \        VR\        VRR4      4      p\        VR\        VRR4      4      pV P                  V4      pV P                  V4      p\        V4      ^8w  g   \        V4      ^8w  d   R# V^ ,          V^ ,          3# ©rO  NÚ_original_source_patternsrç  Ú_original_target_patternsrè  )r£   ræ  r§   ©rØ   r  rO  rç  rè  s   &&   r   Ú!_extract_weight_renaming_patternsÚ,LazyTurtle._extract_weight_renaming_patterns�  s›   € ä˜U L°$Ó7ˆ
ßáä! %Ð)DÄgÈeÐUfÐhlÓFmÓnˆÜ! %Ð)DÄgÈeÐUfÐhlÓFmÓnˆØ×.Ñ.¨Ó?ˆØ×.Ñ.¨Ó?ˆÜˆÓ 1Ô$¬¨OÓ(<ÀÔ(AÙØ˜qÕ! ?°1Õ#5Ð5Ð5r   c          	      ó€   <€ V ^8„  d   QhRS[ RS[S[S[S[,          S[S[,          S[S[ ,          3,          ,          /# r  )r   r   rë   r¯   r   )r   r&   s   "€r   r   rj  ‘  sC   ø€ ÷ Bñ B±sð B¹xÉÉdÑSVÍiÑY]Ñ^aÕYbÑdhÑilÕdmÐNmÕHnÕ?oñ Br   c           	     ó  € \        VR R4      pV'       g   R# \        VR\        VRR4      4      p\        VR\        VRR4      4      pV P                  V4      pV P                  V4      pV'       d	   V'       g   R# W4\        V4      3# r   )r£   ræ  r¯   r#  s   &&   r   Ú"_extract_weight_converter_patternsÚ-LazyTurtle._extract_weight_converter_patterns�  s‚   € ä˜U L°$Ó7ˆ
ßÙä! %Ð)DÄgÈeÐUfÐhlÓFmÓnˆÜ! %Ð)DÄgÈeÐUfÐhlÓFmÓnˆØ×.Ñ.¨Ó?ˆØ×.Ñ.¨Ó?ˆß§oÙØ´°jÓ1AÐAÐAr   c                óJ   <€ V ^8„  d   QhRS[ S[,          RS[S[R3,          /# ©r   Úraw_aliasesr   .)r   r   rë   rá  )r   r&   s   "€r   r   rj  Ÿ  s,   ø€ ÷  ñ  ÁXÉcÅ]ð  ÑW\Ñ]pÐruÐ]uÕWvñ  r   c                ó<  € . pVf   R# \        V\        4      '       d™   VP                  4        Fy  w  r4\        V\        4      '       d   \        V\        4      '       g   K3  VP	                  R4      pVP	                  R4      pV'       g   K_  VP                  \        W44      4       K{  	  \        V4      # \        V\        \        34      '       g   R# V F8  pV P                  V4      pVf   K  Vw  rxVP                  \        Wx4      4       K:  	  \        V4      # )Nr{  r_   )
r]  rt  r¬   r   r7  rû  rá  rë   r¯   r$  )	rØ   r,  Ú	renamingsÚruntime_prefixÚcheckpoint_prefixr  rì  Úruntime_patternÚcheckpoint_patterns	   &&       r   r~  Ú5LazyTurtle._normalize_runtime_to_checkpoint_renamingsž  sþ   € à/1ˆ	ØÒØˆIä�k¤4×(Ò(à5@×5FÑ5FÖ5HÑ1�Ü! .´#×6Ò6¼jÐIZÔ\_×>`Ò>`ÙØ!/×!5Ñ!5°cÓ!:�Ø$5×$;Ñ$;¸CÓ$@Ð!ß%ÙØ× Ñ Ô!4°^Ó!WÖXñ 6Iô ˜Ó#Ð#ä˜+¬¬e }×5Ò5ØˆIã ˆEØ×<Ñ<¸UÓCˆHØÒÙà2:Ñ/ˆOØ×ÑÔ0°ÓUÖVñ !ô �YÓÐr   c                óJ   <€ V ^8„  d   QhRS[ S[,          RS[S[R3,          /# r+  )r   r   rë   rK  )r   r&   s   "€r   r   rj  ¾  s,   ø€ ÷ !ñ !ÁhÉsÅmð !ÑX]Ñ^rÐtwÐ^wÕXxñ !r   c                ó^  € . pVe3   \        V\        4      '       g   \        V\        \        34      '       g   R# V Fc  p\        V\        4      '       d   VP                  V4       K,  V P                  V4      pVf   KC  Vw  rVpVP                  \	        WVV4      4       Ke  	  \        V4      # )Nr_   )r]  rt  r¯   rë   rK  rû  r(  )rØ   r,  Ú
convertersr  rì  Úruntime_patternsÚcheckpoint_patternsrO  s   &&      r   r€  Ú6LazyTurtle._normalize_runtime_to_checkpoint_converters½  s¤   € à13ˆ
ØÒ¤*¨[¼$×"?Ò"?ÄzÐR]Ô`dÔfkÐ_l×GmÒGmØˆIã ˆEÜ˜%Ô!5×6Ò6Ø×!Ñ! %Ô(Ùà×=Ñ=¸eÓDˆHØÒÙØ@HÑ=Ð°:Ø×ÑÔ2Ð3CÐZdÓeÖfñ !ô �ZÓ Ð r   c                ó\   <€ V ^8„  d   QhRS[ S[,          RS[S[S[S[3,          ,          /# ©r   Úconversion_mappingr   )r   r   r   rë   r   )r   r&   s   "€r   r   rj  Ñ  s1   ø€ ÷ ñ ¹8ÁC½=ð ÉXÑV[Ñ\_ÑadÐ\dÕVeÕMfñ r   c              #  ó^  "  € \        V\        4      '       dQ   VP                  4        F:  w  r#\        V\        4      '       g   K  \        V\        4      '       g   K5  W#3x € K<  	  R # \        V\        \
        34      '       g   R # V F  pV P                  V4      pVf   K  Vx € K   	  R # 5ir   )r]  rt  r¬   r   r¯   rë   r$  )rØ   r<  r2  r/  r  rì  s   &&    r   Ú_iter_hf_conversion_pairsÚ$LazyTurtle._iter_hf_conversion_pairsÐ  sŽ   é € äÐ(¬$×/Ò/Ø6H×6NÑ6NÖ6PÑ2Ð"ÜÐ0´#×6Ô6¼:ÀnÔVY×;ZÔ;ZØ,Ð<Ô<ñ 7Qñ äÐ,¬t´U¨m×<Ò<Ùã'ˆEØ×<Ñ<¸UÓCˆHØÔ#Ø”ó (ùs   ‚?B-ÁB-ÁA B-Â#
B-c                óf   <€ V ^8„  d   QhRS[ S[,          RS[ S[S[S[,          ,          ,          /# r;  )r   r   r¯   rá  rK  )r   r&   s   "€r   r   rj  á  sA   ø€ ÷ $ñ $¹8ÁC½=ð $ÉXÑVZÑ[nñ  rFõ  \Fõ  WGõ  NHñ $r   c                óð  € . p\        V\        4      '       dA   V P                  V4       F  w  r4VP                  \	        WC4      4       K!  	  T;'       g    R# \        V\
        \        34      '       g   R# V Fo  pV P                  V4      pVe#   Vw  rxp	VP                  \        W‡V	4      4       K:  V P                  V4      p
V
f   KQ  V
w  r4VP                  \	        WC4      4       Kq  	  T;'       g    R# )z>Invert HF checkpoint conversion entries for LazyTurtle lookup.N)
r]  rt  r>  rû  rá  r¯   rë   r(  rK  r$  )rØ   r<  Úreversed_mapr2  r/  r  Úconverter_patternsr8  r7  rO  Úrenaming_patternss   &&         r   Úreverse_hf_conversion_mapÚ$LazyTurtle.reverse_hf_conversion_mapà  sù   € ð JLˆÜÐ(¬$×/Ò/Ø69×6SÑ6SÐTfÖ6gÑ2Ð"Ø×#Ñ#Ô$7¸Ó$[Ö\ñ 7hà×'Ð' 4Ð'äÐ,¬t´U¨m×<Ò<Ùã'ˆEØ!$×!GÑ!GÈÓ!NÐØ!Ò-ØDVÑAÐ#°zØ×#Ñ#Ô$8Ð9IÐ`jÓ$kÔlÙà #× EÑ EÀeÓ LÐØ Ò(ÙØ1BÑ.ÐØ×ÑÔ 3°NÓ WÖXñ (ð ×#Ð#˜tÐ#r   Ú
model_typec                óp   <€ V ^8„  d   QhRS[ S[P                  ,          RS[ S[,          RS[ S[,          /# )r   rf  rG  r   )r   r   re   r   r   )r   r&   s   "€r   r   rj  û  sA   ø€ ÷ lñ lñ ™rŸy™yÕ)ðlñ ™S•Mð	lñ
 
‘#�ñlr   c               óf  € Vf   \        \        VRR 4      RR 4      p\        V\        4      '       dL    \        R4      pVe<   \        VRR 4      p\        V4      '       d   V P                  V! V4      4      pVe   V# Vf   R # V P                  \        VRR 4      4      #   \         d    R p Lpi ; i)Nri  rG  ztransformers.conversion_mappingÚ!get_checkpoint_conversion_mappingÚ_checkpoint_conversion_mapping)r£   r]  r   r   r@  rÃ  rE  )rØ   rf  rG  Úconversion_mapping_modulerJ  rB  s   &$$   r   r|  Ú+LazyTurtle.infer_hf_conversion_map_reversedú  sÉ   € ð ÒÜ ¤¨°xÀÓ!FÈÐVZÓ[ˆJÜ�j¤#×&Ò&ð1Ü,9Ð:[Ó,\Ð)ð )Ò4Ü4;Ø-Ø7Øó5Ð1ô
 Ð=×>Ò>Ø#&×#@Ñ#@ÑAbÐcmÓAnÓ#o�LØ#Ò/Ø+Ð+àÒÙØ×,Ñ,¬W°\ÐCcÐeiÓ-jÓkÐkøô ô 1Ø,0Ò)ð1ús   ´B  Â B0Â/B0c                ód   <€ V ^8„  d   QhRS[ RS[S[S[ R3,          S[S[ R3,          3,          /# )r   Úmodule_specr   .r2  )r   r&   s   "€r   r   rj    s6   ø€ ÷ ñ ©ð ±±e¹CÀ¸HµoÁuÉSÐRUÈXÅÐ6VÕ0Wñ r   c                óâ  € \        V \        4      '       d   V P                  R4      M\        V 4      .pV'       dY   \        ;QJ d*    . R V^ ,          P                  R4       4       F  NK  	  5M/! R V^ ,          P                  R4       4       4      M\        V 4      3pV'       g   \        V 4      3p\        ;QJ d    . R VR,           4       F  NK  	  5M! R VR,           4       4      pW#3# )zFSplit one module-tree token into ordered aliases and `:flag` suffixes.r,  c              3   ó8   "  € T F  q'       g   K  Vx € K  	  R # 5ir   r_   )rk   Úaliass   & r   rm   Ú0LazyTurtle._parse_module_spec.<locals>.<genexpr>  s   é € ÐHÑ+> %Ã%ŸšÓ+>ùó   ‚	�
r4  c              3   ó8   "  € T F  q'       g   K  Vx € K  	  R # 5ir   r_   ©rk   Úparts   & r   rm   rS  !  s   é € Ð9¡y˜t³D—d’d£yùrT  r7  )r]  r   r-  rë   )rO  rC  ÚaliasesÚflagss   &   r   Ú_parse_module_specÚLazyTurtle._parse_module_spec  s¯   € ô +5°[Ä#×*FÒ*F�×!Ñ! #Ô&ÌSÐQ\ÓM]ÐL^ˆßLQ—%”%ÑH¨5°­8¯>©>¸#Ô+>ÓH—%‘%ÑH¨5°­8¯>©>¸#Ô+>ÓHÔHÔX[Ð\gÓXhÐWjˆßÜ˜;Ó'Ð)ˆGß”Ñ9 u¨R¦yÓ9—‘Ñ9 u¨R¦yÓ9Ó9ˆØˆ~Ðr   c                óv   <€ V ^8„  d   QhRS[ S[ S[R3,          R3,          RS[ S[ S[R3,          R3,          /# )r   Úpath_aliases.r   rÝ  )r   r&   s   "€r   r   rj  %  sE   ø€ ÷ ñ ©5±±s¸C°xµÀ#Ð1EÕ+Fð É5ÑQVÑWZÐ\_ÐW_ÕQ`ÐbeÐQeÕKfñ r   c                ó    € R.pV  F;  p. pV F.  pV F%  pWE3,           pWc9  g   K  VP                  V4       K'  	  K0  	  TpK=  	  \        V4      # )zLExpand a sequence of aliased path segments into every concrete path variant.r_   )rû  rë   )r]  ÚpathsÚsegment_aliasesÚ
next_pathsrÊ   rR  Ú	candidates   &      r   Ú_expand_path_aliasesÚLazyTurtle._expand_path_aliases$  s_   € ð )+ tˆÛ+ˆOØ02ˆJÛ�Û,�EØ &¨Õ 1�IØ Ö2Ø"×)Ñ)¨)Ö4ó -ñ  ð
 ŠEñ  ,ô �U‹|Ðr   c                óZ   <€ V ^8„  d   QhRS[ S[,          RS[S[S[,          R3,          /# ©r   rd  r   .)r   r   rë   r¯   )r   r&   s   "€r   r   rj  4  s.   ø€ ÷ $ñ $±X¹cµ]ð $ÁuÉTÑRUÍYÐX[È^ÕG\ñ $r   c                ó&  € \        V\        4      '       g   R# V'       dg   \        ;QJ d    R  V 4       F  '       d   K   RM	  RM! R  V 4       4      '       d-   \        ;QJ d    . R V 4       F  NK  	  5# ! R V 4       4      # \        V4      3# )c              3   óN   "  € T F  p\        V\        \        34      x € K  	  R # 5ir   )r]  r¯   rë   ©rk   Úitems   & r   rm   Ú8LazyTurtle._iter_module_tree_variants.<locals>.<genexpr>7  s   é € ÐWÉ;À4œz¨$´´u°×>Ð>Ë;ùs   ‚#%FTc              3   ó8   "  € T F  p\        V4      x € K  	  R # 5ir   )r¯   ri  s   & r   rm   rk  8  s   é € Ð<±¨œ˜dŸ˜³ùó   ‚r_   )r]  r¯   ra  rë   )rØ   rd  s   &&r   Ú_iter_module_tree_variantsÚ%LazyTurtle._iter_module_tree_variants3  sg   € ä˜+¤t×,Ò,ØˆIßŸ3›3ÑWÉ;ÓWŸ3Ÿ3š3ÑWÉ;ÓW×WÒWß”5Ñ<±Ó<—5Ð<�5Ñ<±Ó<Ó<Ð<Ü�[Ó!Ð#Ð#r   c                óˆ   <€ V ^8„  d   QhRS[ S[,          RS[S[S[S[R3,          R3,          S[S[R3,          3,          /# rf  )r   r   rë   r   rÕ  )r   r&   s   "€r   r   rj  <  sT   ø€ ÷ k3ñ k3±¹#µð k3Á5ÉÉuÑUXÐZ]ÐU]ÍÐ`cÐOcÕIdÑfkÑlyÐ{~Ðl~ÕfÐIõ  DAñ k3r   c                ó  a aa	a
€ \        V\        4      '       g   R	# . p. o	\        4       oR V VV	V
3R llo
S P                  V4       F«  p. pV FL  pVR8X  d    MD\        V\        4      '       g   K$  VP                  VP                  R^4      ^ ,          4       KN  	  V'       d#   \        V4      pWb9  d   VP                  V4       RpV F"  pVR8X  d   RpK  V'       g   K  S
! VRR4       K$  	  K­  	  \        V4      \        S	4      3# )
zZExtract runtime/checkpoint MoE aliases directly from the model definition's `module_tree`.c          
      ó¤   € V ^8„  d   QhR\         R\        \         R3,          R\        \        \        \        R3,          R3,          ,          RR/# )r   ÚnoderŒ  .Úmoe_rootr   N)r   rë   r   r   )r   s   "r   r   Ú7LazyTurtle._build_moe_alias_specs.<locals>.__annotate__N  sR   € ÷ B	/ñ B	/”sð B	/¤%¬¨S¨¥/ð B	/¼XÄeÌEÔRUÐWZÐRZÍOÐ]`ÐL`ÕFaÕ=bð B	/Ðgkñ B	/r   c                 óæ  <a€ \        V \        4      '       d�   V P                  4        Fj  w  r4VR 8X  d   S! WAR,           V4       K  \        V\        4      '       g   K6  SP	                  V4      w  rVW3,           pRV9   d   Vf   TMTpS! WGV4       Kl  	  R# \        V \
        \        34      '       Ed   \        ;QJ d    R V  4       F  '       d   K   RM	  RM! R V  4       4      '       EdÑ   Ve   R V9  d   R# VP                  R 4      p	\        VRV	 4      p
/ oV  Fe  pSP	                  V4      w  rÆ^ pV F&  pVP                  4       '       g   K  \        V4      p M	  SP                  V. 4      P                  V4       Kg  	  S'       g   R# \
        ;QJ d     . V3R l\        S4       4       F  NK  	  5M! V3R l\        S4       4       4      p\
        ;QJ d    . R V 4       F  NK  	  5M! R V 4       4      p\
        ;QJ d    . R V
 4       F  NK  	  5M! R V
 4       4      p\
        ;QJ d    . R	 V 4       F  NK  	  5M! R	 V 4       4      pSP                  V4      pSP                  V
4      pVVVVV3pVS9   d   R# SP                  V4       SP                  \!        VVVVVVR
7      4       R# \        V \
        \        34      '       d   V  F  pS! VW4       K  	  R# R# )Ú#ÚmoeNc              3   óB   "  € T F  p\        V\        4      x € K  	  R # 5ir   rp  ri  s   & r   rm   ÚBLazyTurtle._build_moe_alias_specs.<locals>.walk.<locals>.<genexpr>\  s   é € Ð6^ÑY]ÐQU´zÀ$Ì×7LÐ7LÓY]ùs   ‚FTc              3   óH   <"  € T F  p\        SV,          4      x € K  	  R # 5ir   ©rë   )rk   r9  Úgroupeds   & €r   rm   rz  o  s   øé € Ð)]É_ÀE¬%°¸µ×*?Ð*?Ë_ùs   ƒ"c              3   ó2   "  € T F  q^ ,          x € K  	  R# 5i©rM   Nr_   ©rk   Úsegments   & r   rm   rz  p  s   é € Ð)MÁH¸°!¯*ª*ÃHùó   ‚c              3   ó2   "  € T F  q^ ,          x € K  	  R# 5ir  r_   r€  s   & r   rm   rz  q  s   é € Ð,\ÑG[¸G°Q¯ZªZÓG[ùr‚  c              3   óz   "  € T F1  p\         ;QJ d    . R  V 4       F  NK  	  5M! R  V 4       4      x € K3  	  R# 5i)c              3   ó2   "  € T F  q^ ,          x € K  	  R# 5ir  r_   )rk   Úleaf_aliasess   & r   rm   ÚLLazyTurtle._build_moe_alias_specs.<locals>.walk.<locals>.<genexpr>.<genexpr>s  s   é € ÐD¹e¨l qŸ/š/»eùr‚  Nr|  )rk   r9  s   & r   rm   rz  r  s3   é € ð ,á!2˜÷ ”EÑD¹eÓD—E‘EÑD¹eÓD×DÐDÛ!2ùs   ‚;’);)r×  rØ  rÙ  rÚ  rÛ  rÜ  )rw  )r]  rt  r¬   r   rZ  rë   r¯   ra  r  r[  rK   Ú
setdefaultrû  r«   rc  r¦   rÕ  )rs  rŒ  rt  Úraw_keyrÎ  rX  rY  Ú	next_pathÚnext_moe_rootÚplaceholder_indexÚexperts_path_aliasesÚraw_leafr†  r  ÚflagrÜ  r×  rÙ  rÛ  rØ  rÚ  Úspec_keyrj  r}  rØ   Ú
seen_specsÚspecsÚwalks   &&&                    @€€€€r   r“  Ú/LazyTurtle._build_moe_alias_specs.<locals>.walkN  s–  ù€ Ü˜$¤×%Ò%Ø&*§j¡j¦l‘N�GØ #”~Ù˜U¨6¥M°8Ô<Ù Ü% g¬s×3Ò3Ù Ø%(×%;Ñ%;¸GÓ%D‘N�GØ $ zÕ 1�IØ16¸%´ÀHÒDT¡IÐZb�MÙ˜¨=Ö9ñ '3ñ ä˜$¤¬ ×.Ó.·3³3Ñ6^ÑY]Ó6^·3·3²3Ñ6^ÑY]Ó6^×3^Ó3^ØÒ# s°$¤Ùà$(§J¡J¨s£OÐ!Ü',¨TÐ2DÐ3DÐ-EÓ'FÐ$Ø<>�Û $�HØ*-×*@Ñ*@ÀÓ*JÑ'�LØ"#�KÛ %˜ØŸ<™<Ÿ>œ>Ü*-¨d«)˜KÙ!ñ !&ð ×&Ñ& {°BÓ7×>Ñ>¸|ÖLñ !%÷ Ùç$)¤EÔ)]ÌVÐT[Ì_Ó)]§E¡EÔ)]ÌVÐT[Ì_Ó)]Ó$]Ð!ß$)¤EÑ)MÁHÓ)M§E¡EÑ)MÁHÓ)MÓ$MÐ!ß',¤uÑ,\ÑG[Ó,\§u¡uÑ,\ÑG[Ó,\Ó'\Ð$ß&+¤eñ ,á!2ó,§e¡eñ ,á!2ó,ó 'Ð#ð $'×#;Ñ#;¸HÓ#EÐ Ø%(×%=Ñ%=Ð>RÓ%SÐ"à%Ø$Ø(Ø&Ø%ð�ð ˜zÔ)ÙØ—‘˜xÔ(Ø—‘Ü!Ø*;Ø)9Ø-AØ+=Ø,?Ø*;ôô	ñ ä˜$¤¬ ×.Ò.Û �DÙ˜˜tÖ.ó !ñ /r   rw  r,  FTNr_   )r_   r_   )r]  r¯   r¢   rn  r   rû  r-  rë   )rØ   rd  Úlayer_prefixesÚtree_variantÚlayer_prefixrj  Úprefix_tupleÚ
found_hashr‘  r’  r“  s   f&      @@@r   ry  Ú!LazyTurtle._build_moe_alias_specs;  sÿ   û€ ô ˜+¤t×,Ò,ØˆMà02ˆØ%'ˆô ‹Eð 	÷B	/ó B	/ðH  ×:Ñ:¸;ÖGˆLØ&(ˆLÛ$�Ø˜3”;ÙÜ˜d¤C×(Ô(Ø ×'Ñ'¨¯
©
°3¸Ó(:¸1Õ(=Ö>ñ	 %÷
 Ü$ \Ó2�ØÔ5Ø"×)Ñ)¨,Ô7àˆJÛ$�Ø˜3”;Ø!%�JÙß!ÙÙ�T˜2˜tÖ$ó %ñ Hô* �^Ó$¤e¨E£lÐ2Ð2r   c                ód   <€ V ^8„  d   QhRS[ RS[S[S[ R3,          S[S[ R3,          3,          /# )r   r$   r   .r2  )r   r&   s   "€r   r   rj  ©  s8   ø€ ÷ ñ ©sð ±u¹UÁ3ÈÀ8½_ÉeÑTWÐY\ÐT\ÍoÐ=]Õ7^ñ r   c                ó   € \         ;QJ d#    . R VP                  R4       4       F  NK  	  5M! R VP                  R4       4       4      p\        V RR4      ;'       g    RpV F¤  pV'       g   K  \        V4      \        V4      ,
          p\	        V^,           4       Ff  pV\        V4      ,           pW&V V8w  d   K   V\        V4      8¼  g   W',          P                  4       '       g   KN  W&V^,            W'^,           R 3u u # 	  K¦  	  RV3# )z[Return `(layer_prefix_with_index, relative_parts)` for a runtime or checkpoint tensor path.c              3   ó8   "  € T F  q'       g   K  Vx € K  	  R # 5ir   r_   rV  s   & r   rm   Ú8LazyTurtle._split_layer_relative_path.<locals>.<genexpr>¬  s   é € Ð?¡˜t»$—d’d£ùrT  r{  rz  Nr_   )rë   r-  r£   r§   r   r[  )r*   r$   rC  ÚprefixesrÊ   Ú	max_startr  Úends   &&      r   Ú_split_layer_relative_pathÚ%LazyTurtle._split_layer_relative_path©  sä   € ÷ ”Ñ? t§z¡z°#¤Ó?—‘Ñ? t§z¡z°#¤Ó?Ó?ˆÜ˜4Ð!>ÀÓC×IÐIÀrˆÛˆFßÙÜ˜E›
¤S¨£[Õ0ˆIÜ˜y¨1�}Ö-�Øœc &›kÕ)�Ø˜sÐ# vÔ-ÙØœ#˜e›*Ô$¨E­J×,>Ñ,>×,@Ò,@ÙØ S¨1¥WÐ-¨u¸1µW°YÐ/?Ð?Ô?ó .ñ	 ð �5ˆyÐr   c                ó6   <€ V ^8„  d   QhRS[ RS[S[ ,          /# ©r   r$   r   rö  )r   r&   s   "€r   r   rj  »  s   ø€ ÷ -ñ -©cð -±d¹3µiñ -r   c           	     ó  € V P                   '       d	   V'       g   . # V P                  V4      w  r#V'       g   . # . pV0pV P                    EF;  p\        VR\        VP                  4       4      VP                  8X  dt   V\        VP                  4      R pVP
                   FK  pRP                  W(,           V,           4      p	W•9  g   K)  VP                  V	4       VP                  V	4       KM  	  \        V4      \        VP                  4      ^,           8  d   KÓ  \        VR\        VP                  4       4      VP                  8w  d   EK  V\        VP                  4      ,          p
V\        VP                  4      ^,           ,          pV
P                  4       '       g   EK^  \        VP                  4       FÄ  w  rÍW½9  d   K  VP                  V4      pV\        VP                  4      ^,           R pVP                   Fu  pVP                  V,          V,           FT  pRP                  W/,           V
V3,           V,           4      p	W•9  g   K2  VP                  V	4       VP                  V	4       KV  	  Kw  	   EK9  	  EK>  	  V# )zOGenerate checkpoint-name candidates from MoE aliases declared in `module_tree`.Nr{  )r{  r¢  rë   r§   r×  rØ  r­   r¦   rû  rÙ  r[  r~  rÛ  r  rÚ  rÜ  )r*   r$   Ú
layer_headÚ	rel_partsrX  r�  ÚspecÚtailÚ
root_aliasrR  Úexpert_indexÚruntime_leafr  Úruntime_groupÚ
leaf_indexÚexpert_alias_pathÚ
leaf_aliass   &&               r   Ú_module_tree_name_aliasesÚ$LazyTurtle._module_tree_name_aliases»  s%  € ð ×$×$Ð$¯DØˆIà $× ?Ñ ?ÀÓ EÑˆ
ßØˆIàˆØˆvˆà×)Õ)ˆDÜ�YÐ<¤ T×%;Ñ%;Ó!<Ð=Ó>À$×BXÑBXÔXØ ¤ T×%;Ñ%;Ó!<Ð!>Ð?�Ø"&×"7Ô"7�JØŸH™H ZÕ%<¸tÕ%CÓD�EØÖ(ØŸ™ œØŸ™ uÖ-ñ	 #8ô �9‹~¤ D×$=Ñ$=Ó >ÀÕ BÔBÙÜ�YÐ?¤ T×%>Ñ%>Ó!?Ð@ÓAÀT×E^ÑE^Ô^Úà$¤S¨×)BÑ)BÓ%CÕDˆLØ$¤S¨×)BÑ)BÓ%CÀaÕ%GÕHˆLØ×'Ñ'×)Ò)Úä.7¸×8PÑ8PÖ.QÑ*�ØÔ4ÙØ*×0Ñ0°Ó>�
Ø ¤ T×%>Ñ%>Ó!?À!Õ!CÐ!EÐF�Ø)-×)@Ô)@Ð%Ø&*×&<Ñ&<¸[Õ&IÈ*×&UÐ&U˜
Ø #§¡¨Õ)GÈ<ÐYcÐJdÕ)dÐgkÕ)kÓ l˜Ø Ö,Ø ŸH™H UœOØ#ŸN™N¨5Ö1ó	 'Vñ *Aó ô /Rñ' *ð@ ˆr   Úallow_emptyc                ó<   <€ V ^8„  d   QhRS[ RS[RS[S[ ,          /# )r   r˜  r´  r   )r   r   r¯   )r   r&   s   "€r   r   rj  ë  s)   ø€ ÷ ñ ©Sð Á$ð ÑSWÑX[ÕS\ñ r   c               ó  € V '       g   R.# V P                  R4      p. p\        \        V4      ^,           4       FA  pRP                  W$R 4      pV'       g   V'       g   K(  WS9   d   K0  VP	                  V4       KC  	  V# )zHReturn progressively stripped module path aliases for checkpoint lookup.rž   r{  N)r-  r   r§   r­   rû  )r˜  r´  rC  Ú
candidatesÚ
drop_countrb  s   &$    r   Ú_candidate_module_pathsÚ"LazyTurtle._candidate_module_pathsê  st   € ÷ Ø�4ˆKà×!Ñ! #Ó&ˆØ "ˆ
Ü¤ E£
¨Q¥Ö/ˆJØŸ™  {Ð!3Ó4ˆIß§[ÙØÔ&ÙØ×Ñ˜iÖ(ñ 0ð Ðr   c                ó6   <€ V ^8„  d   QhRS[ RS[S[ ,          /# r¥  rö  )r   r&   s   "€r   r   rj  ü  s#   ø€ ÷ Bñ B¹Cð BÁDÉÅIñ Br   c                óN  aaa	a
a€ V'       g   V.# . o
\        4       oV P                  o	R V
V3R lloR VV	3R lloS! V4       \        S
4      pR V3R llp\        V P                  4      p\        \	        V P                  4      4      pV F  pV! Wd4       V! We4       K  	  S
# )aK  Return `name` plus the result of applying runtime->checkpoint renamings once.

This handles model families whose execution shell layout does not match
the serialized checkpoint layout. For example, Qwen2-VL runs with
`model.language_model.layers.0...` in memory while the checkpoint stores
the same tensors as `model.layers.0...`.
c                ó(   € V ^8„  d   QhR\         RR/# ©r   rb  r   Nr%   )r   s   "r   r   ÚHLazyTurtle._runtime_to_checkpoint_alias_candidates.<locals>.__annotate__  s   € ÷ 	-ñ 	-œ3ð 	- 4ñ 	-r   c                 ór   <€ V '       d.   V S9  d%   SP                  V 4       SP                  V 4       R # R # R # r   )r¦   rû  )rb  r·  r�  s   &€€r   r¦   Ú?LazyTurtle._runtime_to_checkpoint_alias_candidates.<locals>.add  s.   ø€ ß˜Y¨dÔ2Ø—‘˜Ô#Ø×!Ñ! )Ö,ñ 3‰yr   c                ó(   € V ^8„  d   QhR\         RR/# r¾  r%   )r   s   "r   r   r¿    s   € ÷ 		,ñ 		,´Sð 		,¸Tñ 		,r   c                 ó¬   <€ S! V 4       S'       g   R # S R2pV P                  V4      '       d   V \        V4      R  pS! V4       R # S! V V  24       R # )Nr{  )r>  r§   )rb  rÊ   Ústrippedr¦   Úbase_prefixs   &  €€r   Úadd_with_base_prefix_variantsÚYLazyTurtle._runtime_to_checkpoint_alias_candidates.<locals>.add_with_base_prefix_variants  sU   ø€ Ù�	ŒNßÙØ#�} AÐ&ˆFØ×#Ñ# F×+Ò+Ø$¤S¨£[ \Ð2�Ù�H–á�v�h˜y˜kÐ*Ö+r   c                óJ   € V ^8„  d   QhR\         R\        \        ,          RR/# )r   Úname_inr.  r   N)r   r¯   rá  )r   s   "r   r   r¿  +  s'   € ÷ 	;ñ 	;¤ð 	;´Ô6IÕ1Jð 	;Ètñ 	;r   c                 óô   <€ V .pV 0pS	! V 4       V Fb  p\        V4      pV FN  pVP                  V4      w  rxWv8X  g   Ws9   d   K$  VP                  V4       VP                  V4       S	! V4       KP  	  Kd  	  R # r   )r¯   rE  r¦   rû  )
rÉ  r.  ÚstatesÚseen_statesÚrenamingÚcurrent_statesÚstateÚrenamedrt   rÆ  s
   &&       €r   Úapply_chainÚGLazyTurtle._runtime_to_checkpoint_alias_candidates.<locals>.apply_chain+  sv   ø€ Ø!( 	ˆFØ%, IˆKÙ)¨'Ô2Û%�Ü!% f£�Û+�EØ!)×!;Ñ!;¸EÓ!B‘J�GØÔ'¨7Ô+AÙ Ø—O‘O GÔ,Ø—M‘M 'Ô*Ù1°'Ö:ó ,ó &r   )r¢   r}  r¯   r  Úreversed)r*   r$   Úinitial_candidatesrÑ  Úforward_chainÚreverse_chainrb  r¦   rÆ  rÅ  r·  r�  s   &&     @@@@@r   Ú'_runtime_to_checkpoint_alias_candidatesÚ2LazyTurtle._runtime_to_checkpoint_alias_candidatesü  s¤   ü€ ÷ Ø�6ˆMà "ˆ
Ü›ˆØ×-Ñ-ˆ÷	-ñ 	-÷
		,ñ 		,ñ 	& dÔ+ô " *Ó-Ð÷	;ð 	;ô ˜T×BÑBÓCˆÜœX d×&KÑ&KÓLÓMˆÛ+ˆIÙ˜	Ô1Ù˜	Ö1ñ ,ð Ðr   c                ó6   <€ V ^8„  d   QhRS[ RS[S[ ,          /# r¥  rö  )r   r&   s   "€r   r   rj  @  s   ø€ ÷ ñ ±sð ¹tÁC½yñ r   c                ó   € V'       g   . # . pV P                    Fa  pR VP                  9   d   K  VP                  4        F7  pVP                  V4      w  rVWQ8w  g   K  WR9  g   K&  VP	                  V4       K9  	  Kc  	  V# )Ú"ErnieFuseAndSplitTextVisionExperts)r�  rX  r]  rE  rû  )r*   r$   r·  Ú	converterrÍ  rÐ  rt   s   &&     r   Ú"_converter_direct_alias_candidatesÚ-LazyTurtle._converter_direct_alias_candidates@  sx   € ßØˆIà "ˆ
Ø×?Ô?ˆIð 4°y×7PÑ7PÔPÙØ%×;Ñ;Ö=�Ø%×7Ñ7¸Ó=‘
�Ø–? wÖ'@Ø×%Ñ% gÖ.ó >ñ @ð Ðr   c                ó6   <€ V ^8„  d   QhRS[ RS[S[ ,          /# r¥  rö  )r   r&   s   "€r   r   rj  P  s   ø€ ÷ ñ ¹#ð Á$ÁsÅ)ñ r   c                ó  € V P                  V4      p\        V4       Fc  pV P                  V4       FK  pWB9  d   VP                  V4       V P                  V4       F  pWR9  g   K  VP                  V4       K  	  KM  	  Ke  	  V# r   )r×  rë   rÝ  rû  )r*   r$   r·  rb  Ú	convertedÚaliaseds   &&    r   Ú%_all_runtime_to_checkpoint_candidatesÚ0LazyTurtle._all_runtime_to_checkpoint_candidatesP  s   € Ø×AÑAÀ$ÓGˆ
Ü˜zÖ*ˆIð "×DÑDÀYÖO�	ØÔ.Ø×%Ñ% iÔ0Ø#×KÑKÈIÖV�GØÖ0Ø"×)Ñ)¨'Ö2ó  Wó Pñ +ð Ðr   c          
      ó„   <€ V ^8„  d   QhRS[ RS[S[S[ S[S[,          S[S[,          S[S[,          3,          ,          /# )r   Úruntime_namer   )r   r¯   rë   r   rK   )r   r&   s   "€r   r   rj  ^  s<   ø€ ÷ 7?ñ 7?Ùð7?á	‰e‘C™¡#�©±­±xÁµ}ÐDÕEÕ	Fñ7?r   c                ó  € V P                  R4      p\        V4       Fû  w  r#VR8w  g   V^,           \        V4      8¼  d   K%  W^,           ,          P                  4       '       g   KJ  \	        W^,           ,          4      pW^,           ,          pW^,           ,          pRpRpRp	VR9   d$   VR8X  d   ^ M^pVR8X  d   Rp^p	M&VR8X  d   Rp^ p	MVR	8X  d   VR8X  d   R	pM	VR8X  d   R
pVf   . u # VRV^,            V.,           p
RP                  V
4      WHV	3.u # 	  \        V4      ^8  d   . # VR,          pVR,          pVR9  g   VR9  d   . # \        V4      p
RV
R&   VR8X  d   ^ M^pRP                  V
4      RV^ 3.# )zÓDescribe fused checkpoint tensors that could back one runtime tensor name.

Each entry is `(fused_name, expert_index, split_index, split_dim)`.
`fused_name` is expressed relative to the provided `runtime_name`.
r{  ÚexpertsNÚ	gate_projÚweightÚgate_up_projÚbiasÚgate_up_proj_biasÚ	down_projÚdown_proj_bias>   Úup_projré  éþÿÿÿrÂ   >   rì  rê  )r-  r~  r§   r[  rK   r­   r¯   )ræ  rC  Ú
expert_posrW  r¬  Ú	proj_nameÚtensor_nameÚ
fused_leafÚsplit_indexrÇ  Úfused_partss   &          r   Ú_fused_checkpoint_requestsÚ%LazyTurtle._fused_checkpoint_requests]  s¢  € ð ×"Ñ" 3Ó'ˆÜ )¨%Ö 0ÑˆJØ�yÔ  J°¥N´c¸%³jÔ$@ÙØ a�Õ(×0Ñ0×2Ò2Ùä˜u°!¥^Õ4Ó5ˆLØ¨1�nÕ-ˆIØ¨Q¥Õ/ˆKàˆJØˆKØˆIàÐ4Ô4Ø#,°Ô#;™aÀ�Ø (Ô*Ø!/�JØ !‘IØ  FÔ*Ø!4�JØ !�IøØ˜kÔ)Ø (Ô*Ø!,‘JØ  FÔ*Ø!1�JàÒ!Ø’	àÐ 0 *¨q¥.Ð1°Z°LÕ@ˆKØ—X‘X˜kÓ*¨LÀyÐQÐRÒRñA !1ôD ˆu‹:˜Œ>ØˆIà˜"•Iˆ	Ø˜B•iˆØÐ4Ô4¸ÐK]Ô8]ØˆIä˜5“kˆØ(ˆ�B‰Ø$¨Ô3‘a¸ˆØ—‘˜+Ó&¨¨k¸1Ð=Ð>Ð>r   c                ó<   <€ V ^8„  d   QhRS[ RS[ RS[S[ ,          /# r  rö  )r   r&   s   "€r   r   rj  —  s)   ø€ ÷ ñ ¹ð Éð ÑPTÑUXÕPYñ r   c                ó   a aa	€ . o\        4       o	R VV	V 3R llpS P                  VRR7       FL  pS P                  V4       F4  pS P                  WR4      pS P                  V4       F  pV! V4       K  	  K6  	  KN  	  S# )zYGenerate checkpoint key candidates for a runtime tensor without fused fallback semantics.c                ó(   € V ^8„  d   QhR\         RR/# )r   Úcandidate_namer   Nr%   )r   s   "r   r   Ú>LazyTurtle._checkpoint_tensor_candidates.<locals>.__annotate__�  s   € ÷ 	)ñ 	)¬#ð 	)°$ñ 	)r   c                 óà   <€ V S9  d#   SP                  V 4       SP                  V 4       SP                  V 4       F.  pVS9   d   K  SP                  V4       SP                  V4       K0  	  R # r   )r¦   rû  r²  )rý  rR  r·  r�  r*   s   & €€€r   Úadd_candidateÚ?LazyTurtle._checkpoint_tensor_candidates.<locals>.add_candidate�  s`   ø€ ð
  TÔ)Ø—‘˜Ô(Ø×!Ñ! .Ô1Ø×7Ñ7¸ÖG�Ø˜D”=ÙØ—‘˜”Ø×!Ñ! %Ö(ó	 Hr   T©r´  )r¢   r¹  rã  r  )
r*   r˜  r  r   Úcandidate_pathÚaliased_pathrý  Úaliased_namer·  r�  s
   f&&     @@r   Ú_checkpoint_tensor_candidatesÚ(LazyTurtle._checkpoint_tensor_candidates—  s…   ú€ ð !#ˆ
Ü›ˆ÷	)ò 	)ð #×:Ñ:¸;ÐTXÐ:ÖYˆNØ $× JÑ JÈ>Ö Z�Ø!%×!7Ñ!7¸Ó!O�Ø$(×$NÑ$NÈ~Ö$^�LÙ! ,Ö/ó %_ó ![ñ Zð Ðr   c                óŠ   <€ V ^8„  d   QhRS[ RS[ RS[S[S[ ,          S[S[,          S[S[,          S[S[,          3,          /# )r   ræ  Úcheckpoint_namer   ©r   rë   r   rK   )r   r&   s   "€r   r   rj  ´  sG   ø€ ÷ 
&ñ 
&áð
&ñ ð
&ñ 
‰x™�}™h¡s�m©X±c­]¹HÁS½MÐIÕ	Jñ	
&r   c                ó�   € \         P                  V 4       F,  w  r#rEW8X  g   VP                  RV 24      '       g   K(  WWE3u # 	  R# )z\Recover fused split metadata when aliasing already resolved a leaf to its checkpoint tensor.r{  ©NNNN)rb  rø  r?  )ræ  r	  Ú
fused_namer¬  rö  rÇ  s   $$    r   Ú1_resolve_fused_tensor_metadata_from_resolved_nameÚ<LazyTurtle._resolve_fused_tensor_metadata_from_resolved_name³  sS   € ô AK×@eÑ@eÐfrÖ@sÑ<ˆJ kØÔ,°×0HÑ0HÈ1ÈZÈLÐIY×0ZÔ0ZØ&°kÐLÒLñ Atð &Ð%r   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# )r   r˜  r   r%   )r   r&   s   "€r   r   rj  À  s   ø€ ÷ ñ ¹3ð Á3ñ r   c                ó  a€ V P                  V4      p\        V4       F[  pVP                  V P                  V4      4       V P	                  V4       F#  pVP                  V P                  V4      4       K%  	  K]  	  \        4       pV Fy  pWe9   d   K  VP                  V4       V R2o\        ;QJ d)    V3R lV P                   4       F  '       g   K   RM	  RM! V3R lV P                   4       4      '       g   Kw  Vu # 	  V# )zQResolve a shell module path to the checkpoint path when wrappers add extra roots.r{  c              3   óD   <"  € T F  qP                  S4      x € K  	  R # 5ir   )r>  )rk   r§  rÊ   s   & €r   rm   Ú=LazyTurtle._resolve_checkpoint_module_path.<locals>.<genexpr>Ó  s   øé € ÐRÑAQ°I×'Ñ'¨×/Ð/ÓAQùs   ƒ TF)	r×  rë   Úextendr²  r¹  r¢   r¦   Úanyrw  )r*   r˜  r·  râ  r  r�  rb  rÊ   s   &&     @r   Ú_resolve_checkpoint_module_pathÚ*LazyTurtle._resolve_checkpoint_module_pathÀ  sÜ   ø€ ð ×AÑAÀ+ÓNˆ
Ü˜ZÖ(ˆGð
 ×Ñ˜d×<Ñ<¸WÓEÔFØ"&×">Ñ">¸wÖ"G�Ø×!Ñ! $×"NÑ"NÈ~Ó"^Ö_ó #Hñ )ô ›ˆÛ#ˆIØÔ ÙØ�H‰H�YÔØ!�{ !�_ˆFß‹sÔRÀ×AQÒAQÓR�s�sŠsÔRÀ×AQÒAQÓR×RÔRØ Ò ñ $ð Ðr   c                ó,   <€ V ^8„  d   QhRS[ RS[ RS[ /# r  r%   )r   r&   s   "€r   r   rj  ×  s#   ø€ ÷ ñ ¹3ð É#ð ÑRUñ r   c                ó¾   € V P                  W4      pV P                  W4       F6  pW@P                  9   g   K  V P                  VVR7      ^ ,           e   K4  Vu # 	  V# )zaResolve a tensor name against checkpoint paths declared by `module_tree` and shell path prefixes.©ræ  r	  )r  r  rw  r  )r*   r˜  r  r§  rb  s   &&&  r   Ú_resolve_checkpoint_tensor_nameÚ*LazyTurtle._resolve_checkpoint_tensor_name×  su   € ð ×*Ñ*¨;ÓAˆ	Ø×;Ñ;¸KÖRˆIð ×,Ñ,Ö,°×1gÑ1gØ&Ø )ð 2hó 2ð õ2ð ô2ð !Ò ñ Sð Ðr   c                ó6   <€ V ^8„  d   QhRS[ RS[S[,          /# )r   Úwildcard_namer   )r   r¯   rK   )r   r&   s   "€r   r   rj  å  s    ø€ ÷ ñ Ácð ÉdÑSVÍiñ r   c           	     óš  € V P                  V4      p\        4       pV F   pR \        P                  ! V4      P	                  RR4      ,           R,           p\        P
                  ! V4      pV P                   FC  pVP                  V4      pVf   K  VP                  \        VP                  ^4      4      4       KE  	  K¢  	  \        V4      # )r	  z\*z(\d+)r
  )rã  r¢   r  Úescaper®   rœ  rw  r(  r¦   rK   r9  r«   )	r*   r  rX  ÚindicesrR  rð  Úcompiledr	  r(  s	   &&       r   Ú(_checkpoint_indices_for_wildcard_patternÚ3LazyTurtle._checkpoint_indices_for_wildcard_patternå  sŸ   € Ø×<Ñ<¸]ÓKˆÜ›EˆÛˆEàœBŸIšI eÓ,×4Ñ4°U¸HÓEÕEÈÕKˆGÜ—z’z 'Ó*ˆHØ#'×#3Ô#3�Ø Ÿ™ Ó7�ØÔ$Ø—K‘K¤ E§K¡K°£NÓ 3Ö4ó $4ñ	 ô �g‹Ðr   c                óŠ   <€ V ^8„  d   QhRS[ RS[ RS[S[S[ ,          S[S[,          S[S[,          S[S[,          3,          /# r  r
  )r   r&   s   "€r   r   rj  ò  sL   ø€ ÷ E&ñ E&áðE&ñ ðE&ñ 
‰x™�}™h¡s�m©X±c­]¹HÁS½MÐIÕ	Jñ	E&r   c           	     ó  € V P                  W4      pV P                   EF_  pR VP                  9  d   K  \        VP                  4      pV^ 8X  d   K5  \        VP                  4       EF  w  rgRpW‡9  d   K  VP                  V^4      ^ ,          p	V	 R2p
VP                  V
4      pV^ 8  d   KH  VRV pW;\        V
4      ,           R pVP                  R4      w  rïpV'       d   VP                  4       '       g   K•  \        V4      pRpVP                  R4      '       d   \        R VP                   4       R4      pMiVP                  R4      '       d   \        R VP                   4       R4      pM4VP                  R4      '       d   \        R	 VP                   4       R4      pVe   R
V9  d   EKN  V V 2pV P                  V4      pV'       g   EKp  \        V4      V,           ^,
          V,          pVV,          V,           pV\        V4      8¼  d   EK³  VV,          pV VP                  R
\!        V4      4       2pV P#                  V4       F   pVV P$                  9   g   K  VRRR3u u u # 	  EK  	  EKb  	  R# )rÛ  z	.experts.Nr{  z
gate_proj.c              3   ó8   "  € T F  pR V9   g   K  Vx € K  	  R# 5i)z.gate_proj.Nr_   rq  s   & r   rm   ÚKLazyTurtle._resolve_ernie_text_vision_expert_tensor_name.<locals>.<genexpr>  ó   é € ÐfÑ0I WÈ]Ð^eÑMeŸšÓ0IùrT  zup_proj.c              3   ó8   "  € T F  pR V9   g   K  Vx € K  	  R# 5i)z	.up_proj.Nr_   rq  s   & r   rm   r(    s   é € ÐdÑ0I WÈ[Ð\cÑMcŸšÓ0IùrT  z
down_proj.c              3   ó8   "  € T F  pR V9   g   K  Vx € K  	  R# 5i)z.down_proj.Nr_   rq  s   & r   rm   r(    r)  rT  Ú*r  )r  r�  rX  r§   rç  r~  r-  r<  Ú	partitionr[  rK   r>  r¨   rè  r#  r®   r   rã  rw  )r*   r˜  r  Úcombined_namerÜ  Útarget_countÚmodality_indexr1  ÚmarkerÚmodality_prefixÚruntime_markerÚmarker_indexrÊ   ÚsuffixÚexpert_index_textÚsepÚ	leaf_nameÚruntime_expert_indexr  r  Úsource_indicesÚ
chunk_sizeÚsource_positionÚcheckpoint_expert_indexr	  rb  s   &&&                       r   Ú-_resolve_ernie_text_vision_expert_tensor_nameÚ8LazyTurtle._resolve_ernie_text_vision_expert_tensor_nameò  sx  € ð
 ×.Ñ.¨{ÓEˆØ×?Õ?ˆIØ3¸9×;TÑ;TÔTÙä˜y×8Ñ8Ó9ˆLØ˜qÔ Ùä3<¸Y×=VÑ=V×3WÑ/�Ø$�ØÔ0ÙØ"1×"7Ñ"7¸ÀÓ"BÀ1Õ"E�Ø$3Ð#4°IÐ!>�Ø,×1Ñ1°.ÓA�Ø !Ô#Ùà& }¨Ð5�Ø&´c¸.Ó6IÕ'IÐ'JÐK�Ø4:×4DÑ4DÀSÓ4IÑ1Ð!¨	ßÐ"3×";Ñ";×"=Ò"=Ùä'*Ð+<Ó'=Ð$Ø!%�Ø×'Ñ'¨×5Ò5Ü%)Ùf°	×0IÒ0IÓfØó&‘Nð ×)Ñ)¨*×5Ò5Ü%)Ùd°	×0IÒ0IÓdØó&‘Nð ×)Ñ)¨,×7Ò7Ü%)Ùf°	×0IÒ0IÓfØó&�Nð "Ò)¨S¸Ô-FÚà#) (¨>Ð*:Ð ;�Ø!%×!NÑ!NÈ}Ó!]�ß%Úô
 " .Ó1°LÕ@À1ÕDÈÕU�
Ø"0°:Õ"=Ð@TÕ"T�Ø"¤c¨.Ó&9Ô9Úà*8¸Õ*IÐ'Ø%+ H¨^×-CÑ-CÀCÌÐMdÓIeÓ-fÐ,gÐ"h�Ø!%×!KÑ!KÈOÖ!\�IØ  D×$4Ñ$4Ö4Ø(¨$°°dÐ:Ö:ô "]ôg 4Xñ @ð~ &Ð%r   c                óŠ   <€ V ^8„  d   QhRS[ RS[ RS[S[S[ ,          S[S[,          S[S[,          S[S[,          3,          /# r  r
  )r   r&   s   "€r   r   rj  9  sL   ø€ ÷ r&ñ r&áðr&ñ ðr&ñ 
‰x™�}™h¡s�m©X±c­]¹HÁS½MÐIÕ	Jñ	r&r   c                óT  € V P                  W4      pVR R R 3.pV P                  V4       F4  w  rVrxV P                  W4      p	W–Wx3p
W¤9  g   K#  VP                  V
4       K6  	  V P                  V4       F#  w  r–rxW–Wx3p
W¤9  g   K  VP                  V
4       K%  	  V P                   EF}  pRVP                  9   d   K  \        VP                  4       EFL  w  rÍV EF?  w  rïppTp\        VP                  4      ^8X  d   VP                  ^ ,          pM~\        VP                  4      ^8X  d5   Ve1   V\        VP                  4      8  d   TpVP                  V,          pM0V\        VP                  4      8  d   VP                  V,          pMK¶  \        VV4      P                  V4      w  ppVe   VV8X  d   Ká  R pR pR p\        VP                  4      ^8X  d   TpTpTp\        R VP                   4       R 4      pVe*   \        VP                  4      ^8”  d   Tp\        VR^ 4      p\        R VP                   4       R 4      pVe2   Ve.   \        V\        VR^ 4      \        \        VRR4      4      R7      pV.pRV9   d3   Ve/   VP!                  ^ VP#                  R\%        V4      ^4      4       R pV FZ  pV P'                  V4       FB  pV P)                  VVR	7      ^ ,           e   K"  VV P*                  9   g   K5  VVWx3u u u u u # 	  K\  	  EKB  	  EKO  	  EK€  	  R
# )NrÛ  c              3   ó^   "  € T F#  p\        V4      P                  R 8X  g   K  Vx € K%  	  R# 5i)ÚChunkNrT  rU  s   & r   rm   Ú>LazyTurtle._resolve_converter_tensor_source.<locals>.<genexpr>}  s+   é € ð á-A 	Ü# I›×7Ñ7¸7ÑB÷ &šIÛ-Aùó   ‚-£
-Údimc              3   ó^   "  € T F#  p\        V4      P                  R 8X  g   K  Vx € K%  	  R# 5i)Ú
InterleaveNrT  rU  s   & r   rm   rD  ‹  s+   é € ð á-A 	Ü# I›×7Ñ7¸<ÑG÷ &šIÛ-AùrE  ÚinverseF)rÈ  rÉ  r,  r  r  )r  rø  rû  r�  rX  r~  rç  r§   rè  rá  rE  r¨   rO  r£   rÅ  r   Úinsertr®   r   r×  r  rw  )r*   r˜  r  r.  Úruntime_candidatesÚfused_rel_namer¬  rö  rÇ  r  Úfused_candidaterÜ  Úsource_indexr1  ræ  Úfused_expert_indexÚfused_split_indexÚfused_split_dimÚselected_source_indexr2  rÐ  Úmatched_patternÚresolved_expert_indexÚchunk_operationÚinterleave_operationÚrenamed_variantsÚrenamed_variantrb  s   &&&                         r   Ú _resolve_converter_tensor_sourceÚ+LazyTurtle._resolve_converter_tensor_source9  s|  € ð
 ×.Ñ.¨{ÓEˆð ˜D $¨Ð-ð]
Ðð EI×DcÑDcÐdlÖDmÑ@ˆN¨+Ø×/Ñ/°ÓLˆJØ)¸ÐPˆOØÖ8Ø"×)Ñ)¨/Ö:ñ	 Enð AE×@_Ñ@_Ð`mÖ@nÑ<ˆJ kØ)¸ÐPˆOØÖ8Ø"×)Ñ)¨/Ö:ñ Aoð
 ×?Õ?ˆIØ3°y×7PÑ7PÔPÙä1:¸9×;TÑ;T×1UÑ-�Ü\nÑX�LÐ6GÈØ,8Ð)Ü˜9×4Ñ4Ó5¸Ô:Ø-6×-FÑ-FÀqÕ-IÑ*ä˜I×5Ñ5Ó6¸!Ô;Ø-Ò9Ø-´°I×4MÑ4MÓ0NÔNð 1BÐ-Ø-6×-FÑ-FÐGXÕ-YÑ*Ø%¬¨I×,EÑ,EÓ(FÔFØ-6×-FÑ-FÀ|Õ-TÑ*á ä/BØ'Ø*ó0÷ (Ñ'¨Ó5ñ -�G˜_ð 'Ò.°'¸\Ô2IÙ à"&�KØ $�IØ,0Ð)Ü˜9×4Ñ4Ó5¸Ô:à0BÐ-Ø&7˜Ø$3˜	ä&*ñà-6×-AÒ-Aóð
 ó'�Oð 'Ò2´s¸9×;TÑ;TÓ7UÐXYÔ7Yð '<˜Ü$+¨O¸UÀAÓ$F˜	ä+/ñà-6×-AÒ-Aóð
 ó,Ð(ð ,Ò7¸IÒ<Qä$;Ø%Ü+2Ð3GÈÐPQÓ+RÜ/3´GÐ<PÐR[Ð]bÓ4cÓ/dô%˜	ð )0 yÐ$Ø˜g”~Ð*<Ò*HØ(×/Ñ/°°7·?±?À3ÌÐL^ÓH_ÐabÓ3cÔdð 15Ð-ã+;˜Ø)-×)UÑ)UÐVeÖ)f˜IØ#×UÑUØ-9Ø09ð  Vó  ð  õ !ð )-ò -ñ !)Ø(¨D×,<Ñ,<Ö<Ø'0Ð2GÈÐ'_× _Ò _ó *gô ,<ôU ]oô 2Vñ	 @ðr &Ð%r   c          	      ób   <€ V ^8„  d   QhRS[ RS[ RS[S[S[S[ ,          S[3,          ,          /# r  )r   r   rë   r¯   rK   )r   r&   s   "€r   r   rj  ­  s@   ø€ ÷ Fñ FáðFñ ðFñ 
‘%™™S�	¡3˜Õ'Õ	(ñ	Fr   c           
     óº  € V P                  W4      pV P                   EF3  pRVP                  9  d   K  \        VP                  4      ^8w  d   K3  VP                  ^ ,          p\        WU4      P                  V4      ^,          f   Kk  \        R VP                   4       4      p\        VP                  4      p\        VRR4      p\        V4      ^8X  d½   RV^ ,          9   d¯   V'       d§   V P                  p	\        V	RR4      p
\        V
4      '       d	   V
! 4       p	M\        V	RV	4      p	\        W˜R4      p\        V\        4      '       d   V^ 8:  d   EK:  \!        V4       Uu. uF%  pV^ ,          P#                  R\%        V4      4      NK'  	  ppM\        V4      ^8  d   EKˆ  . pV Fw  p\        VV4      P                  V4      w  ppVe   Wó8X  d   . p MLRpV P'                  V4       F  pVV P(                  9   g   K  Tp M	  Vf   . p MVP+                  V4       Ky  	  \        V4      \        V4      8w  d   EK#  \        VR^ 4      pVV3u # 	  R# u upi )	zLResolve one fused runtime tensor backed by several split checkpoint tensors.ÚConcatenateNc              3   ó^   "  € T F#  p\        V4      P                  R 8X  g   K  Vx € K%  	  R# 5i)r]  NrT  rU  s   & r   rm   ÚGLazyTurtle._resolve_concat_checkpoint_tensor_sources.<locals>.<genexpr>À  s+   é € ð $á!5�IÜ˜	“?×+Ñ+¨}Ñ<÷ ’	Û!5ùrE  Únum_shards_attributer,  Úget_text_configÚtext_configrF  )r  r�  rX  r§   rç  rá  rE  r¨   rO  r¯   rè  r£   ri  rÃ  r]  rK   r   r®   r   r×  rw  rû  )r*   r˜  r  r.  rÜ  r1  Úconcat_operationr8  r`  rb  ra  Ú
num_shardsr  Úcheckpoint_namesr2  rÐ  rS  Úresolved_namerb  Ú
concat_dims   &&&                 r   Ú)_resolve_concat_checkpoint_tensor_sourcesÚ4LazyTurtle._resolve_concat_checkpoint_tensor_sources­  sf  € ð ×.Ñ.¨{ÓEˆà×?Õ?ˆIØ I×$=Ñ$=Ô=ÙÜ�9×,Ñ,Ó-°Ô2Ùà'×7Ñ7¸Õ:ˆOÜ" ?ÓD×VÑVÐWdÓeÐfgÕhÒpÙä#ñ $à!*×!5Ò!5ó$ó  Ðô
 #' y×'@Ñ'@Ó"AÐÜ#*Ð+;Ð=SÐUYÓ#ZÐ ÜÐ&Ó'¨1Ô,°Ð8KÈAÕ8NÔ1N×Sgà"Ÿk™k�Ü")¨+Ð7HÈ$Ó"O�Ü˜O×,Ò,Ù"1Ó"3‘Kä")¨+°}ÀkÓ"R�KÜ$ [ÈÓM�
Ü! *¬c×2Ò2°jÀA´oÚô "' zÔ!2ó'á!2˜ð (¨Õ*×2Ñ2°3¼¸E»
ÖCÙ!2ð $ð 'Ð#ô Ð(Ó)¨AÔ-Úà!ÐÛ&9Ð"Ü+>Ø#Ø&ó,÷ $Ñ# MÓ2ñ )�˜ð #Ò*¨gÔ.FØ')Ð$Ùà $�Ø!%×!MÑ!MÈgÖ!V�IØ  D×$4Ñ$4Ö4Ø(1˜Ùñ "Wð !Ò(Ø')Ð$ÙØ ×'Ñ'¨Ö6ñ# ':ô& Ð#Ó$¬Ð,?Ó(@Ô@Úä Ð!1°5¸!Ó<ˆJØ# ZÐ/Ò/ñw @ñz ùòC's   Å%+Ic                óZ   <€ V ^8„  d   QhRS[ RS[ RS[P                  RS[P                  /# )r   r˜  r  Údefault_devicer   )r   r„   rŒ   )r   r&   s   "€r   r   rj  õ  s;   ø€ ÷ 
,ñ 
,áð
,ñ ð
,ñ Ÿ™ð	
,ñ
 
�‰ñ
,r   c                óˆ   € V P                  W4      '       d   \        P                  ! R4      # \        P                  ! V4      # )zEPrevent layer materialization from moving an excluded tensor off CPU.r  )Úis_no_placement_tensorr„   rŒ   )r*   r˜  r  rk  s   &&&&r   Ú"_materialization_device_for_tensorÚ-LazyTurtle._materialization_device_for_tensorõ  s3   € ð ×&Ñ& {×=Ò=Ü—<’< Ó&Ð&Ü�|Š|˜NÓ+Ð+r   c                ó,   <€ V ^8„  d   QhRS[ RS[ RS[/# r  r   )r   r&   s   "€r   r   rj    s"   ø€ ÷ ñ ±#ð Áð Éñ r   c                ó”   € V P                  W4      pV P                   F&  pW48X  g   VP                  RV 24      '       g   K%   R# 	  R# )z5Check Transformers' accelerator placement exclusions.r{  TF)r  rn  r?  )r*   r˜  r  r§  rð  s   &&&  r   rm  Ú!LazyTurtle.is_no_placement_tensor  sH   € ð ×*Ñ*¨;ÓAˆ	Ø×0Ô0ˆGØÔ# y×'9Ñ'9¸A¸g¸Y¸-×'HÔ'HÚñ 1ñ r   c                óŠ   <€ V ^8„  d   QhRS[ RS[ RS[S[S[ ,          S[S[,          S[S[,          S[S[,          3,          /# r  r
  )r   r&   s   "€r   r   rj  
  sG   ø€ ÷ 	&ñ 	&áð	&ñ ð	&ñ 
‰x™�}™h¡s�m©X±c­]¹HÁS½MÐIÕ	Jñ		&r   c                óT   € V P                  W4      pW0P                  9   d   VR R R 3# R# )Nr  )r  rw  )r*   r˜  r  r§  s   &&& r   Ú(_resolve_direct_checkpoint_tensor_sourceÚ3LazyTurtle._resolve_direct_checkpoint_tensor_source
  s5   € ð ×8Ñ8¸ÓOˆ	Ø×(Ñ(Ô(Ø˜d D¨$Ð.Ð.Ø%Ð%r   c                óŠ   <€ V ^8„  d   QhRS[ RS[ RS[S[S[ ,          S[S[,          S[S[,          S[S[,          3,          /# r  r
  )r   r&   s   "€r   r   rj    sG   ø€ ÷ &ñ &áð&ñ ð&ñ 
‰x™�}™h¡s�m©X±c­]¹HÁS½MÐIÕ	Jñ	&r   c                ó´  € V P                  V4       FÂ  w  r4rVV P                  VR R7       F¥  pV P                  V4       F�  pV P                  Wƒ4      p	V P                  V	4      p
\	        V
4       F4  pV P                  V4       F  pWÊ9  g   K  V
P                  V4       K  	  K6  	  V
 F  pW°P                  9   g   K  W´WV3u u u u # 	  K�  	  K§  	  KÄ  	  R# )Tr  r  )rø  r¹  rã  r  rë   r²  rû  rw  )r*   r˜  r  rL  r¬  rö  rÇ  r  r  rý  Úfused_candidatesrM  rR  s   &&&          r   Ú'_resolve_fused_checkpoint_tensor_sourceÚ2LazyTurtle._resolve_fused_checkpoint_tensor_source  sâ   € ð EI×DcÑDcÐdlÖDmÑ@ˆN¨+Ø"&×">Ñ">¸{ÐX\Ð">Ö"]�ð %)×$NÑ$NÈ~Ö$^�LØ%)×%;Ñ%;¸LÓ%Y�NØ'+×'QÑ'QÐR`Ó'aÐ$Ü+0Ð1AÖ+B˜Ø%)×%CÑ%CÀOÖ%T˜EØ$Ö<Ø 0× 7Ñ 7¸Ö >ó &Uñ ,Có ,<˜Ø*×.>Ñ.>Ö>Ø#2À+Ð#X×XÐXó ,<ó %_ó #^ñ Enð$ &Ð%r   Úexpected_shapeÚprefer_transposedc                óà   <€ V ^8„  d   QhRS[ P                  RS[S[,          RS[S[,          RS[S[,          RS[S[S[R3,          ,          RS[S[,          RS[S[ P                  ,          /# )	r   Útensorr¬  rö  rÇ  r|  .r}  r   )r„   r…   r   rK   rë   r   )r   r&   s   "€r   r   rj  1  s„   ø€ ÷ ~>ñ ~>Ù—‘ð~>ñ ™s•mð~>ñ ™c•]ð	~>ñ
 ™C•=ð~>ñ !¡¡s¨C x¥Õ1ð~>ñ $¡D�>ð~>ñ 
‘%—,‘,Õ	ñ~>r   c               óú  aaaa€ \        VRR4      p\        \        VRR4      4      oVe   \        V4      MRoR V3R llpVe   V^ 8X  d   V! W4      p V f   R# RpVeY   V P                  ^ ,          V8:  d   R# W,          P	                  4       p Ve   V^ 8”  d
   V^,          pSe   S^ 8”  d
   S^,          oVe   V! W4      p V f   R# SfT   SeN   Se    V P                  S,          ^,          ^ 8w  d   R# V P                  ^SR7      S,          P	                  4       p V # \        S4      oR VVV3R	 llpV P                  ^8X  dA   VR
J d;   V P                  ^ ^4      P	                  4       p	V! V	R
R7      p
V
e   V
# V! V RR7      # V! V RR7      p
V
f;   V P                  ^8w  g*   V P                  ^ ,          V P                  ^,          8X  d   V
# V P                  ^ ^4      P	                  4       p	V! V	R
R7      # )zSSlice fused checkpoint tensors into the tensor layout expected by the shell module.rÈ  NrÉ  Fc                óz   € V ^8„  d   QhR\         P                  R\        R\        \         P                  ,          /# )r   rb  rF  r   )r„   r…   rK   r   )r   s   "r   r   Ú=LazyTurtle._transform_checkpoint_tensor.<locals>.__annotate__@  s3   € ÷ 	jñ 	j¬¯©ð 	j¼3ð 	jÄ8ÌEÏLÉLÕCYñ 	jr   c                óè  <€ V^ 8  d   WP                   ,          pV^ 8  g1   WP                   8¼  g!   V P                  V,          ^,          '       d   R# \        V P                  4      pS'       d   ^W!,          ^,          .W!V^,           % MW!,          ^,          ^.W!V^,           % V P                  V4      P	                  W^,           4      P                  V P                  4      P                  4       # )zFApply HF's two-way Interleave operation without changing tensor shape.N)Úndimrì   r¯   ÚreshapeÚ	transposeÚ
contiguous)rb  rF  rì   rÉ  s   && €r   Úapply_interleaveÚALazyTurtle._transform_checkpoint_tensor.<locals>.apply_interleave@  s·   ø€ à�QŒwØ—~‘~Õ%�Ø�QŒw˜#§¡Ô/°9·?±?À3Õ3GÈ!×3KÔ3KÙä˜Ÿ™Ó)ˆEß!Ø()¨5­:¸­?Ð';�˜C !�GÑ$à(-­
°a­¸Ð';�˜C !�GÐ$Ø×$Ñ$ UÓ+×5Ñ5°cÀ½7ÓC×KÑKÈIÏOÉOÓ\×gÑgÓiÐir   ©rF  c                óz   € V ^8„  d   QhR\         P                  R\        R\        \         P                  ,          /# )r   rb  Úused_transposer   )r„   r…   r   r   )r   s   "r   r   r‚  q  s1   € ÷ *	ñ *	¤U§\¡\ð *	Ädð *	ÌxÔX]×XdÑXdÕOeñ *	r   c                óÎ  <a	€ Sf-   \        V P                  4      S8X  d   V P                  4       # R # . o	S
pV'       d1   V P                  ^8X  d    S
e   ^ S
u;8:  d   ^8  d   M M	^S
,
          pVe.   ^ Tu;8:  d   V P                  8  d   M MS	P	                  V4       S	P                  V	3R l\        V P                  4       4       4       S	 EF  p. pV\        S4      8  d
   SV,          MR pV'       dX   V P                  V,          V,          pV^8”  d7   V P                  V,          V,          ^ 8X  d   Wd9  d   VP	                  V4       ^V9  d   VP	                  ^4       V Fr  pSV8¼  g    V P                  V,          V,          ^ 8w  d   K+  V P                  WsR7      S,          P                  4       p\        VP                  4      S8X  g   Kn  Vu u # 	  EK  	  R # )Nc              3   ó8   <"  € T F  qS9  g   K  Vx € K  	  R # 5ir   r_   )rk   rF  Úpreferred_dimss   & €r   rm   ÚQLazyTurtle._transform_checkpoint_tensor.<locals>.try_candidate.<locals>.<genexpr>„  s   øé € Ð!dÑ1F¨#ÐUcÑJc§#¢#Ó1Fùs   ƒ�
rŠ  )	rë   rì   r‡  r„  rû  r  r   r§   Úchunk)rb  rŒ  Úmapped_split_dimrF  Úsplit_countsÚexpected_dimÚinferred_split_countÚsplit_countÚsplit_tensorr�  Úeffective_split_dimr|  rö  s   &$       @€€€r   Útry_candidateÚ>LazyTurtle._transform_checkpoint_tensor.<locals>.try_candidateq  sš  ù€ ØÒ"Ü˜Ÿ™Ó)¨^Ô;Ø$×/Ñ/Ó1Ð1Ùà(*ˆNØ2ÐçØ—N‘N aÔ'Ø'Ò3ØÐ,Ö0¨q×0ð $%Ð':Õ#:Ð ØÒ+°Ð5EÖ0VÈ	ÏÉ×0VØ×%Ñ%Ð&6Ô7Ø×!Ñ!Ô!d´°y·~±~Ô1FÓ!dÔdä%�Ø!�Ø69¼CÀÓ<OÔ6O˜~¨cÖ2ÐUY�ßØ+4¯?©?¸3Õ+?À<Õ+OÐ(à,¨qÔ0Ø%ŸO™O¨CÕ0°<Õ?À1ÔDØ0ÔDà$×+Ñ+Ð,@ÔAØ˜LÔ(Ø ×'Ñ'¨Ô*ã#/�KØ" kÔ1°Y·_±_ÀSÕ5IÈKÕ5WÐ[\Ô5\Ù Ø#,§?¡?°; ?Ó#HÈÕ#U×#`Ñ#`Ó#b�LÜ˜\×/Ñ/Ó0°NÖBØ+Ô+ô $0ñ &ñ* r   T)rŒ  )	r£   r   rK   rì   r‡  r‘  rë   r„  r†  )r  r¬  rö  rÇ  r|  r}  rÈ  rˆ  r™  Ú
transposedÚmatchedr˜  rÉ  s   &$d$d$     @@r   Ú_transform_checkpoint_tensorÚ'LazyTurtle._transform_checkpoint_tensor0  s  û€ ô ! Ð,<¸dÓCˆÜ!¤'¨)Ð5IÈ5Ó"QÓRÐØ09Ò0Eœc )œnÈ4Ð÷	jð 	jð" Ò#¨¸!Ô(;Ù% fÓ=ˆFØŠ~ÙØ!ˆNàÒ#Ø�|‰|˜A� ,Ô.Ùð Õ)×4Ñ4Ó6ˆFàÒ)¨n¸qÔ.@Ø !Õ#�Ø"Ò.Ð3FÈÔ3JØ# qÕ(Ð#àÒ%Ù% fÓ=ˆFØŠ~ÙàÒ!ØÒ&Ø&Ò.°&·,±,Ð?RÕ2SÐVWÕ2WÐ[\Ô2\ÙØŸ™ aÐ-@˜ÓAÀ+ÕN×YÑYÓ[�ØˆMä˜~Ó.ˆ÷*	ò *	ð^ �;‰;˜!ÔÐ 1°TÓ 9à×)Ñ)¨!¨QÓ/×:Ñ:Ó<ˆJÙ# J¸tÔDˆGØÒ"Ø�Ù  ¸Ô>Ð>ñ   °uÔ=ˆØÒ &§+¡+°Ô"2°f·l±lÀ1µoÈÏÉÐVWÍÔ6XØˆNð ×%Ñ% a¨Ó+×6Ñ6Ó8ˆ
Ù˜Z¸Ô=Ð=r   c                ó†   <€ V ^8„  d   QhRS[ P                  RS[RS[RS[S[S[ P                  3,          RS[S[,          /# )r   rf  r˜  r  rŸ  r   )r   re   r   r   r   r   )r   r&   s   "€r   r   rj  ²  sR   ø€ ÷ ñ á—i‘iðñ ðñ ð	ñ
 ™c¡2§9¡9˜nÕ-ðñ 
‘$�ñr   c                ó^  € VP                  R 4      w  rEpTpV'       d   \        P                  W4      p V'       g   T MVP                  V4      pVe7   \	        VR4      '       d%   \        VR4      p	\        V	\        4      '       d   V	# V'       g    R# VP                  R 4      ^ ,          pK{  )r{  NÚis_transposed)Ú
rpartitionrb  r  rD   r¤   r£   r]  r   )
rf  r˜  r  rŸ  Ú
rel_parentrt   Ú_leafÚcurrent_pathÚownerrÎ  s
   $$$$      r   Ú_resolve_prefer_transposed_hintÚ*LazyTurtle._resolve_prefer_transposed_hint±  sœ   € ð  (×2Ñ2°3Ó7Ñˆ
�uØ"ˆßÜ%×7Ñ7¸ÓPˆLð ß(4‘L¸/×:MÑ:MÈlÓ:[ˆEØÒ ¤W¨U°O×%DÒ%DÜ  Ó7�Ü˜e¤T×*Ò*Ø �LçØñ ð (×2Ñ2°3Ó7¸Õ:ŠLr   c                óŠ   <€ V ^8„  d   QhRS[ RS[ RS[S[S[ ,          S[S[,          S[S[,          S[S[,          3,          /# r  r
  )r   r&   s   "€r   r   rj  Í  sL   ø€ ÷ Oñ OáðOñ ðOñ 
‰x™�}™h¡s�m©X±c­]¹HÁS½MÐIÕ	Jñ	Or   c                ó8  € V P                  W4      pV^ ,          e   V# V P                  W4      pV^ ,          e   V# V P                  W4      pV^ ,          e   V# V P                  W4      pV^ ,          e   V# V P	                  W4      pV P                  RV4      # )zUResolve a target tensor name to its checkpoint source and optional fused split index.rž   )rY  r>  ru  rz  r  )r*   r˜  r  Úresolvedr.  s   &&&  r   Ú!_resolve_checkpoint_tensor_sourceÚ,LazyTurtle._resolve_checkpoint_tensor_sourceÍ  s¥   € ð ×8Ñ8¸ÓOˆØ�A�;Ò"ØˆOà×EÑEÀkÓ\ˆØ�A�;Ò"ØˆOà×@Ñ@ÀÓWˆØ�A�;Ò"ØˆOà×?Ñ?ÀÓVˆØ�A�;Ò"ØˆOð
 ×.Ñ.¨{ÓEˆØ×;Ñ;¸BÀÓNÐNr   r§  Úsource_shapeÚtarget_shaper¬  rö  rÇ  c                óê   <€ V ^8„  d   QhRS[ RS[ RS[ RS[ RS[ RS[S[ ,          RS[S[S[R3,          ,          R	S[S[S[R3,          ,          R
S[S[,          RS[S[,          RS[S[,          RS[ /# )r   Úphaserã   r˜  r  Úreasonr§  r®  .r¯  r¬  rö  rÇ  r   )r   r   rë   rK   )r   r&   s   "€r   r   rj  í  s­   ø€ ÷ "
ñ "
áð"
ñ ð"
ñ ð	"
ñ
 ð"
ñ ð"
ñ ™C•=ð"
ñ ™u¡S¨# X�Õ/ð"
ñ ™u¡S¨# X�Õ/ð"
ñ ™s•mð"
ñ ™c•]ð"
ñ ™C•=ð"
ñ 
ñ"
r   c                óž  € . pVe   VP                  RV 24       Ve   VP                  RV 24       Ve   VP                  RV 24       Ve   VP                  RV 24       V	e   VP                  RV	 24       V
e   VP                  RV
 24       V'       d   RRP                  V4       R	2MR
pRT  RT RT RT;'       g    R RV V 2# )zPBuild a consistent error message for checkpoint-backed materialization failures.zcheckpoint=zsource_shape=ztarget_shape=zexpert_index=zsplit_index=z
split_dim=rå  rš   rÒ   rž   zLazyTurtle: rx  z `z	` under `rä  z`: )rû  r­   )r±  rã   r˜  r  r²  r§  r®  r¯  r¬  rö  rÇ  Údetailsr5  s   $$$$$$$$$$$  r   Ú_materialization_issue_messageÚ)LazyTurtle._materialization_issue_messageì  só   € ð" ˆØÒ Ø�N‰N˜[¨¨Ð4Ô5ØÒ#Ø�N‰N˜]¨<¨.Ð9Ô:ØÒ#Ø�N‰N˜]¨<¨.Ð9Ô:ØÒ#Ø�N‰N˜]¨<¨.Ð9Ô:ØÒ"Ø�N‰N˜\¨+¨Ð7Ô8ØÒ Ø�N‰N˜Z¨	 {Ð3Ô4ç/6�2�d—i‘i Ó(Ð)¨Ñ+¸Bˆà˜5˜'  4 &¨¨8¨*°I¸k×>UÐ>UÈXÐ=VÐVYØˆh�v�hð ð	
r   c                óV   <€ V ^8„  d   QhRS[ RS[RS[S[ S[P                  3,          /# )r   r˜  rb   r   )r   r   r   r„   r…   )r   r&   s   "€r   r   rj  	  s9   ø€ ÷ ñ ñ ðñ ð	ñ
 
‰c‘5—<‘<ÐÕ	 ñr   c               óp  € V P                  V4      pV R2p/ pV P                  P                  4        Fi  w  rgVP                  V4      '       g   K  V\	        V4      R pV'       g   K6  V'       g
   RV9   d   KG  VP                  V. 4      P                  W†34       Kk  	  / p	VP                  4        Fl  w  rz\        P                  P                  V P                  V4      p\        VRRR7      ;_uu_ 4       pV
 F  w  r†VP                  V4      W˜&   K  	  RRR4       Kn  	  V	#   + '       g   i     Kƒ  ; i)z@Return raw checkpoint tensors keyed by submodule-relative names.r{  Nr  r  r  )r  rw  r¬   r>  r§   rˆ  rû  r‹  rŒ  r­   rh  r
   Ú
get_tensor)r*   r˜  rb   Úresolved_module_pathrÊ   Úgrouped_namesr§  Úshardr  ÚtensorsÚnamesÚ
shard_pathr  s   &$$          r   rÖ  Ú3LazyTurtle._load_checkpoint_tensors_for_module_path	  s  € ð  $×CÑCÀKÓPÐØ(Ð)¨Ð+ˆØ:<ˆØ $× 0Ñ 0× 6Ñ 6Ö 8ÑˆIØ×'Ñ'¨×/Ò/Ùà ¤ V£ Ð.ˆHßÙß˜s hœÙà×$Ñ$ U¨BÓ/×6Ñ6¸Ð7LÖMñ !9ð ,.ˆØ)×/Ñ/Ö1‰LˆEÜŸ™Ÿ™ d×&;Ñ&;¸UÓCˆJÜ˜:°¸e×DÕDÈÛ+0Ñ'�HØ(/×(:Ñ(:¸9Ó(E�GÓ%ñ ,1÷ EÑDñ 2ð
 ˆ÷ E×DÐDús   Ã7D$Ä$D5rŸ  c                óÆ   <€ V ^8„  d   QhRS[ P                  RS[ P                  RS[RS[P                  RS[RS[RS[S[S[S[ P                  3,          ,          RS[R	S[/	# )
r   rf  rœ  r˜  rŒ   rb   r—  rŸ  rš  r   )	r   re   r   r„   rŒ   r   r   r   rK   )r   r&   s   "€r   r   rj  0	  s�   ø€ ÷ Vñ Vñ —i‘iðVñ Ÿ)™)ð	Vñ
 ðVñ —‘ðVñ ðVñ ðVñ "¡$¡s©B¯I©I ~Õ"6Õ7ðVñ ðVñ 
ñVr   c               ó^  € \        VP                  VR7      4      p	\        VP                  VR7      4      p
Vf   \        VP                  4       4      p. p/ p. pV	 FÓ  pV P	                  W>4      pVe   Vw  ppVP                  RVVV34       K4  V P                  W>4      w  ppppVf   KP  V P                  P                  V4      pVf>   \        V P                  RRVVRV\        Wž,          P                  4      VVVR7
      4      hVP                  V. 4      P                  RVVVVV34       KÕ  	  \        V
P                  4       4       EF‚  w  ppV P	                  W>4      pVe   Vw  ppVP                  RVVV34       K8  V P                  W>4      w  ppppVf   V P!                  W>4      pRpRpRpV P                  P                  V4      pVfÔ   \#        W.4      w  ppV\%        VR\'        4       4      9   pV'       dV   \%        VR	R
4      '       g-   VP(                  P*                  R8X  g   VP(                  V8w  d   VP                  VV34       EK  \%        VR	R
4      '       g   VP(                  P*                  R8X  d    V\%        VR/ 4      9   d   VP,                  V EK[  VP                  V. 4      P                  RVVVVV34       EK…  	  \/        R VP1                  4        4       4      \3        V4      ,           pRp^ pV'       dŽ   V'       d†   \4        P7                  \9        V4      4      P;                  4       P'                  R
R7      pT;'       g    RpVP=                  RV R24       VP?                  V RV 24       VPA                  RR7        \B        PD                  ! 4       ;_uu_ 4        V EFŒ  w  ppppVe8   VVn#        VP?                  V RV^,            RV 24       VPA                  4        VR8X  d   V	P                  V4      MV
P                  V4      p V e   \        V P                  4      MRp!. p"V F¬  pV P                  P                  V4      pVf"   \        V P                  RVVVRVV!R7      4      h\H        PJ                  PM                  V PN                  V4      p#\Q        V#RRR7      ;_uu_ 4       p$V"P                  V$PS                  V4      4       RRR4       K®  	   \B        PT                  ! V"VR7      PW                  4       p%T!e_   \        T%P                  4      T!8w  dE   \        T P                  RTTTRRPM                  T4      \        T%P                  4      T!R7      4      hTR8X  Ed   T P[                  Y>T4      p'T	P                  T4      p(T(fD   \        T P                  RTTTR RPM                  T4      \        T%P                  4      R!7      4      h\]        T(T'4      p)T)T(Jd   \#        Y.4      w  pp\_        TTT)4       T)p(T%Pa                  4       p*T*Pb                  T(Pb                  8w  d   T*Pe                  T(Pb                  R"7      p*T(Pa                  4       Pg                  T*T;'       d    T*Pi                  4       R#7       EM}T
P                  T4      p\#        Y.4      w  ppT\%        TR\'        4       4      9  p+T%Pa                  4       p*Tf-   T*Pe                  TR$7      p,TPk                  TT,T+R%7       T,Y®&   EM\%        TR	R
4      '       g   TP(                  P*                  R8X  dw   \B        Pl                  ! TTR$7      p,T,Pg                  T*Pe                  T,Pb                  R"7      T;'       d    T*Pi                  4       R#7       TPk                  TT,T+R%7       T,Y®&   MbT*Pb                  TPb                  8w  d   T*Pe                  TPb                  R"7      p*TPg                  T*T;'       d    T*Pi                  4       R#7       T^,          pTf   EKu  TTn#        TPA                  4        EK�  	  VP                  4        EFz  w  pp-\H        PJ                  PM                  V PN                  V4      p#\Q        V#RRR7      ;_uu_ 4       p$V- EF#  w  ppppppVe8   VVn#        VP?                  V RV^,            RV 24       VPA                  4        VR8X  d   V	P                  V4      MV
P                  V4      p V e   \        V P                  4      MRp!V Po                  VVVVR&7      p.V$PS                  V4      p/V Pq                  V/VVVV!V.R'7      p%V%f9   \        V P                  RVVVR(V\        V/P                  4      V!VVVR)7      4      hVR8X  Edv   V P[                  W>V4      p'V	P                  V4      p(V(f8   \        V P                  RVVVR V\        V%P                  4      VVVR*7
      4      hV(P                  V%P                  8w  dL   \        V P                  RVVVR+V\        V%P                  4      \        V(P                  4      VVVR)7      4      h\]        V(V'4      p)V)V(Jd   \#        W.4      w  pp\_        VVV)4       T)p(V%Pa                  4       p*V*Pb                  V(Pb                  8w  d   V*Pe                  V(Pb                  R"7      p*V(Pa                  4       Pg                  T*T;'       d    V*Pi                  4       R#7       EM|V
P                  V4      p\#        W.4      w  ppV\%        VR\'        4       4      9  p+V%Pa                  4       p*Vf-   V*Pe                  VR$7      p,VPk                  VV,V+R%7       V,W®&   EM\        VP                  4      \        V*P                  4      8w  dL   \        V P                  RVVVR+V\        V*P                  4      \        VP                  4      VVVR)7      4      h\%        VR	R
4      '       g   VP(                  P*                  R8X  dw   \B        Pl                  ! VVR$7      p,T,Pg                  V*Pe                  V,Pb                  R"7      T;'       d    V*Pi                  4       R#7       VPk                  VV,V+R%7       V,W®&   MéVP(                  V8w  dw   \B        Pl                  ! VVR$7      p,T,Pg                  V*Pe                  V,Pb                  R"7      T;'       d    V*Pi                  4       R#7       VPk                  VV,V+R%7       V,W®&   MbV*Pb                  VPb                  8w  d   V*Pe                  VPb                  R"7      p*TPg                  T*T;'       d    V*Pi                  4       R#7       V^,          pVf   EK  VVn#        VPA                  4        EK&  	  RRR4       EK}  	  RRR4       Ve   VPs                  4        T Pu                  TTT
TTR,7       T#   + '       g   i     E	KÚ  ; i  \X         d:   p&\        T P                  RTTTRT& 2RPM                  T4      T!R7      4      T&hRp&?&ii ; i  + '       g   i     EK!  ; i  + '       g   i     L­; i  Te   TPs                  4        i i ; i)-z\Materialize checkpoint tensors into a shell submodule and rebuild missing init-only buffers.rv   Nrô   zsubmodule materializationú5checkpoint tensor mapping resolved to a missing shard©
r±  rã   r˜  r  r²  r§  r¯  r¬  rö  rÇ  rõ   Ú_non_persistent_buffers_setr‹   Fr�   Ú_buffersc              3   ó8   "  € T F  p\        V4      x € K  	  R # 5ir   r  )rk   Úentriess   & r   rm   ÚELazyTurtle._copy_checkpoint_tensors_into_submodule.<locals>.<genexpr>ƒ	  s   é € ÐOÑ8N¨WœC ŸL˜LÓ8Nùrm  rà  rä  zLoading checkpoint tensors (rÒ   z: 0/Trâ  rÓ   ræ  ©r±  rã   r˜  r  r²  r§  r¯  r  r  r  rŠ  ú.checkpoint tensors could not be concatenated: rš   úAconcatenated checkpoint tensor shape does not match target tensor©r±  rã   r˜  r  r²  r§  r®  r¯  z0target tensor disappeared before materialization)r±  rã   r˜  r  r²  r§  r®  ©r�   )r—  r½  ©Ú
persistent)rf  r˜  r  rŸ  ©r¬  rö  rÇ  r|  r}  ú>checkpoint tensor could not be reshaped into the target layout©r±  rã   r˜  r  r²  r§  r®  r¯  r¬  rö  rÇ  )
r±  rã   r˜  r  r²  r§  r®  r¬  rö  rÇ  úDtarget tensor shape does not match the transformed checkpoint tensor)rf  rœ  Út_bufsÚmissing_nonpersistent_buffersrŒ   );rt  r{   r|   r­  rh  rû  r¬  rw  rD   ÚRuntimeErrorrµ  rë   rì   rˆ  r¯   r¬   r  r¹  r£   r¢   rŒ   r¥   rÆ  rx   Úvaluesr§   rŽ  rì  r   rí  rî  rï  rð  r„   rñ  rò  r‹  rŒ  r­   rh  r
   r¹  Úcatr‡  r@  rn  rÃ  ÚsetattrÚdetachr�   rÂ  Úcopy_Ú	is_pinnedÚregister_bufferrÀ  r§  r�  rô  Ú&_restore_missing_nonpersistent_buffers)0r*   rf  rœ  r˜  rŒ   rb   r—  rŸ  rš  Út_paramsrÕ  rÖ  r»  Úconcat_entriesr  Úconcat_sourceÚ
full_namesrg  r§  r¬  rö  rÇ  r¼  Útarget_bufferÚt_parentr·  Únon_persistentÚtotal_entriesr÷  r¨  rú  rã   Útarget_tensorr|  rC  r¿  r  r  r�  Útensor_deviceÚtarget_paramÚtarget_param_newÚsourcerÐ  Ú
new_bufferrÈ  r}  Úcheckpoint_tensors0   &$$$$$$$$                                       r   r¤  Ú2LazyTurtle._copy_checkpoint_tensors_into_submodule0	  sH  € ô Ð(×9Ñ9À'Ð9ÓJÓKˆÜÐ&×4Ñ4¸WÐ4ÓEÓFˆØÒ"ô # <×#=Ñ#=Ó#?Ó@ˆOØ?AÐ%àlnˆØ@BˆÛ ˆHØ ×JÑJÈ;ÓaˆMØÒ(Ø)6Ñ&�
˜JØ×%Ñ% w°¸*ÀjÐ&QÔRÙà>B×>dÑ>dÐepÓ>{Ñ;ˆI�| [°)ØÒ ÙØ×$Ñ$×(Ñ(¨Ó3ˆEØŠ}Ü"Ø×7Ñ7Ø9Ø$Ø$/Ø!)ØVØ"+Ü%*¨8Õ+=×+CÑ+CÓ%DØ%1Ø$/Ø"+ð 8ó óð ð ×$Ñ$ U¨BÓ/×6Ñ6¸ÀÈ9ÐVbÐdoÐqzÐ7{Ö|ñ5 !ô8 (,¨F¯L©L«N×';Ñ#ˆH�mØ ×JÑJÈ;ÓaˆMØÒ(Ø)6Ñ&�
˜JØ×%Ñ% x°¸:ÀzÐ&RÔSÙà>B×>dÑ>dÐepÓ>{Ñ;ˆI�| [°)ØÒ Ø ×@Ñ@ÀÓW�	Ø#�Ø"�Ø �	Ø×$Ñ$×(Ñ(¨Ó3ˆEØŠ}Ü!=Ð>NÓ!Y‘�˜$Ø!%¬°Ð;XÔZ]ÓZ_Ó)`Ñ!`�ß!ä ¨y¸%×@Ò@Ø(×/Ñ/×4Ñ4¸Ô>Ø(×/Ñ/°6Ô9à5×<Ñ<¸hÈÐ=MÔNÚÜ˜=¨)°U×;Ò;¸}×?SÑ?S×?XÑ?XÐ\bÔ?bØœw x°¸RÓ@Ô@Ø$×-Ñ-¨dÐ3ÚØ×$Ñ$ U¨BÓ/×6Ñ6¸À(ÈIÐWcÐepÐr{Ð7|×}ñ; (<ô> ÑO¸×8LÑ8LÔ8NÓOÓOÔRUÐVdÓReÕeˆØˆØˆßŸ]Ü—v‘vœe MÓ2Ó3×:Ñ:Ó<×@Ñ@ÐQVÐ@ÓWˆHØ&×2Ð2¨(ˆLØ�N‰NÐ9¸-¸ÈÐJÔKØ×Ñ  ¨d°=°/ÐBÔCØ�M‰M ˆMÔ%ðp	!Ü×%Ò%×'Õ'Ü>LÑ:�D˜( J°
ØÒ+Ø5C˜Ô2Ø ×)Ñ)¨X¨J°b¸È!Õ9KÐ8LÈAÈmÈ_Ð*]Ô^Ø Ÿ™œà>BÀg¼o H§L¡L°Ô$:ÐSY×S]ÑS]Ð^fÓSg�MØCPÒC\¤U¨=×+>Ñ+>Ô%?Ðbf�NØ�EÛ%/˜	Ø $× 0Ñ 0× 4Ñ 4°YÓ ?˜Ø š=Ü".Ø $× CÑ CØ*EØ)-Ø0;Ø-5Ø+bØ.7Ø1?ð !Dó !"ó
#ð 
ô &(§W¡W§\¡\°$×2GÑ2GÈÓ%O˜
Ü& z¸TÈ%×PÕPÐT[Ø!ŸL™L¨×);Ñ);¸IÓ)FÔG÷ QÑPñ &0ð$#Ü!&§¢¨5°jÔ!A×!LÑ!LÓ!N˜ð &Ò1´e¸F¿L¹LÓ6IÈ^Ô6[Ü*Ø ×?Ñ?Ø&AØ%)Ø,7Ø)1Ø'jØ*.¯)©)°JÓ*?Ü-2°6·<±<Ó-@Ø-;ð @ó 	óð ð ˜w•Ø(,×(OÑ(OÐP[ÐgmÓ(n˜Ø'/§|¡|°HÓ'=˜Ø'Ò/Ü".Ø $× CÑ CØ*EØ)-Ø0;Ø-5Ø+]Ø.2¯i©i¸
Ó.CÜ16°v·|±|Ó1Dð !Dó !"ó
#ð 
ô ,MÈ\Ð[hÓ+iÐ(Ø+°<Ó?Ü-IÐJZÓ-e™N˜H dÜ# H¨dÐ4DÔEØ+;˜LØ!'§¡£˜Ø!Ÿ<™<¨<×+=Ñ+=Ô=Ø%+§Y¡Y°\×5GÑ5G YÓ%H˜FØ$×+Ñ+Ó-×3Ñ3°FÈ,×JmÐJmÐ[a×[kÑ[kÓ[mÐ3Öoà(.¯
©
°8Ó(<˜Ü)EÐFVÓ)a™˜ $Ø%)´¸ÐC`ÔbeÓbgÓ1hÑ%h˜
Ø!'§¡£˜Ø(Ò0Ø)/¯©¸&¨Ó)A˜JØ$×4Ñ4°T¸:ÐR\Ð4Ô]Ø/9˜FÓ,Ü$ ]°I¸u×EÒEÈ×I]ÑI]×IbÑIbÐflÔIlÜ).×)9Ò)9¸-ÐPVÔ)W˜JØ&×,Ñ,Ø &§	¡	°
×0@Ñ0@ 	Ó AØ.:×.QÐ.Q¸v×?OÑ?OÓ?Qð -ô ð %×4Ñ4°T¸:ÐR\Ð4Ô]Ø/9˜FÒ,à%Ÿ|™|¨}×/BÑ/BÔBØ)/¯©¸×9LÑ9L¨Ó)M Ø)×/Ñ/°Àl×FiÐFiÐW]×WgÑWgÓWiÐ/Ôkà" aÕ'�NØÕ+Ø5C˜Ô2Ø Ÿ™ŸñS ?MðV '4×&9Ñ&9×&;‘N�E˜7Ü!#§¡§¡¨d×.CÑ.CÀUÓ!K�JÜ" :¸Àe×LÕLÐPWÜ_fÑ[˜D (¨I°|À[ÐR[Ø'Ò3Ø=K Ô :Ø (× 1Ñ 1°X°J¸bÀÐRSÕASÐ@TÐTUÐVcÐUdÐ2eÔ fØ (§¡¤ØFJÈgÄo¨H¯L©L¸Ô,BÐ[a×[eÑ[eÐfnÓ[o˜MØKXÒKd¬U°=×3FÑ3FÔ-GÐjn˜NØ04×0TÑ0TØ-9Ø,7Ø)1Ø0?ð	 1Uó 1Ð-ð 18×0BÑ0BÀ9Ó0MÐ-Ø%)×%FÑ%FØ 1Ø-9Ø,7Ø*3Ø/=Ø2Cð &Gó &˜Fð  &š~Ü&2°4×3VÑ3VØ*EØ)-Ø0;Ø-5Ø+kØ.7Ü16Ð7H×7NÑ7NÓ1OØ1?Ø1=Ø0;Ø.7ð 4Wó 4"ó '#ð !#ð  $ w�Ø04×0WÑ0WÐXcÐouÓ0v Ø/7¯|©|¸HÓ/E Ø#/Ò#7Ü*6°t×7ZÑ7ZØ.IØ-1Ø4?Ø19Ø/aØ2;Ü5:¸6¿<¹<Ó5HØ5AØ4?Ø2;ð 8[ó 8&ó +'ð %'ð $0×#5Ñ#5¸¿¹Ô#EÜ*6°t×7ZÑ7ZØ.IØ-1Ø4?Ø19Ø/uØ2;Ü5:¸6¿<¹<Ó5HÜ5:¸<×;MÑ;MÓ5NØ5AØ4?Ø2;ð 8[ó 8&ó +'ð %'ô 4UÐUaÐcpÓ3qÐ 0Ø#3¸<Ó#GÜ5QÐRbÓ5m¡N H¨dÜ$+¨H°dÐ<LÔ$MØ3C LØ)/¯©« Ø#)§<¡<°<×3EÑ3EÔ#EØ-3¯Y©Y¸\×=OÑ=O¨YÓ-P FØ ,× 3Ñ 3Ó 5× ;Ñ ;¸FÐR^×RuÐRuÐci×csÑcsÓcuÐ ;Ö wà06·
±
¸8Ó0D Ü1MÐN^Ó1i¡ ¨$Ø-1¼ÀÐKhÔjmÓjoÓ9pÑ-p 
à)/¯©« Ø#0Ò#8Ø17·±À&°Ó1I JØ$,×$<Ñ$<¸TÀ:ÐZdÐ$<Ô$eØ7A FÓ$4ä',¨]×-@Ñ-@Ó'AÄUÈ6Ï<É<ÓEXÔ'XÜ.:¸4×;^Ñ;^Ø2MØ15Ø8CØ5=Ø3yØ6?Ü9>¸v¿|¹|Ó9LÜ9>¸}×?RÑ?RÓ9SØ9EØ8CØ6?ð <_ó <*ó /+ð )+ô (/¨}¸iÈ×'OÒ'OÐS`×SgÑSg×SlÑSlÐpvÔSvÜ5:×5EÒ5EÀmÐ\bÔ5c¨
Ø(2×(8Ñ(8Ø,2¯I©I¸J×<LÑ<L¨IÓ,MØ:F×:]Ð:]È6×K[ÑK[ÓK]ð )9ô )*ð )1×(@Ñ(@ÀÀzÐ^hÐ(@Ô(iØ;E¨Ò(8Ø)6×)=Ñ)=ÀÔ)GÜ5:×5EÒ5EÀmÐ\bÔ5c¨
Ø(2×(8Ñ(8Ø,2¯I©I¸J×<LÑ<L¨IÓ,MØ:F×:]Ð:]È6×K[ÑK[ÓK]ð )9ô )*ð )1×(@Ñ(@ÀÀzÐ^hÐ(@Ô(iØ;E¨Ò(8à+1¯<©<¸=×;NÑ;NÔ+NØ5;·Y±YÀ]×EXÑEX°YÓ5Y¨FØ(5×(;Ñ(;¸FÐR^×RuÐRuÐci×csÑcsÓcuÐ(;Ô(wà*¨aÕ/˜NØ'Õ3Ø=K Ô :Ø (§¡§ñ{ `g÷ MÒLñ '<÷Y (ð\ Ò#Ø—‘Ô à×3Ñ3Ø%Ø-ØØ*GØð 	4ô 	
ð Ð÷ Q×PÑPûô
 %ô #Ü*Ø ×?Ñ?Ø&AØ%)Ø,7Ø)1Ø)WÐX[ÐW\Ð']Ø*.¯)©)°JÓ*?Ø-;ð @ó ó
ð  #ð
#ûð#ú÷` M×LÑLú÷] (×'ûð\ Ò#Ø—‘Õ ð $ús·   Îz Î:DzÓ!xÓ-zÓ:&x&Ô E,zÚDzÞA:zà zà2A3zâ%I*y-ìE;y-òBy-ôA:y-ö y-ö4y-÷z÷z øx#ø
zø&y*	ø14y%	ù%y*	ù*zù-y?ù8
zúz	úz úz,c                óx   <€ V ^8„  d   QhRS[ P                  RS[ P                  RS[S[ P                  ,          /# )r   Úowner_modulerf  r   )r   re   r   )r   r&   s   "€r   r   rj  ˆ
  sA   ø€ ÷ Cñ Cñ —i‘iðCñ —i‘ið	Cñ
 
‘"—)‘)Õ	ñCr   c               ó´  € \        VRR4      pVf   \        VRR4      pVf   V P                  p\        V4      p \        P                  ! V4      p\        TP                  P                  4       4      pT'       g   R# . p/ pT EFö  p	T	P                  \        P                  P                  \        P                  P                  39   d   KI  T	P                  R8X  d    Tf    R# \        P                   ! T4      p
EM3T	P                  R8X  d   \"        P$                  ! R4      p
EM
\'        YP                  4      '       dÂ   \        YP                  4      p\)        T\"        P*                  4      '       dv   TP$                  P                  R8X  d[   RT	P                   2p\'        Y4      '       d   \        Y4      pM.T	P,                  \        P                  P.                  Jd   EKd   R# \        P                   ! T4      p
M.T	P,                  \        P                  P.                  Jd   EK©   R# T	P                  \        P                  P0                  J d   TP3                  T
4       EKè  Y¨T	P                  &   EKù  	   T! T/ TB #   \
        \        3 d     R# i ; i  \4         d-   p\6        P9                  RTP:                  T4        Rp?R# Rp?ii ; i)zUConstruct a CPU template module for init-only buffers missing from checkpoint shards.ri  NrŒ   r  r�   Úscalar_z1LazyTurtle: failed to build template for `%s`: %s)r£   ri  r¥   ÚinspectÚ	signaturerÄ  r®  r¯   ry   rØ  rã   r»  ÚVAR_POSITIONALÚVAR_KEYWORDr$   r¿  rs  r„   rŒ   r¤   r]  r…   ÚdefaultÚemptyÚPOSITIONAL_ONLYrû  r@  rŽ  r�  r4   )r*   rñ  rf  Úconfig_sourceÚmodule_typerõ  ÚparamsÚargsÚkwargsrô   rÎ  Ú	raw_valueÚscalar_attr_namer�  s   &$$           r   Ú$_build_nonpersistent_buffer_templateÚ/LazyTurtle._build_nonpersistent_buffer_templateˆ
  s6  € ô   ¨h¸Ó=ˆØÒ Ü# L°(¸DÓAˆMØÒ Ø ŸK™KˆMä˜<Ó(ˆð	Ü×)Ò)¨+Ó6ˆIô �i×*Ñ*×1Ñ1Ó3Ó4ˆßÙàˆØˆäˆEØ�z‰zœg×/Ñ/×>Ñ>Ä×@QÑ@Q×@]Ñ@]Ð^Ô^Ùà�z‰z˜XÔ%Ø Ò(ÚÜŸš mÓ4’Ø—‘˜xÔ'ÜŸš UÓ+’Ü˜§z¡z×2Ò2ä# L·*±*Ó=�	Ü˜i¬¯©×6Ò6¸9×;KÑ;K×;PÑ;PÐTZÔ;ZØ)0°·±°Ð'=Ð$Ü˜|×>Ò>Ü$+¨LÓ$K™	ØŸ™¬g×.?Ñ.?×.EÑ.EÓEÚ â#ÜŸš iÓ0‘Ø—‘¤g×&7Ñ&7×&=Ñ&=Ó=Úâà�z‰zœW×.Ñ.×>Ñ>Ó>Ø—‘˜E×"à%*�u—z‘zÔ"ñ= ð@	Ù Ð/¨Ñ/Ð/øôW œ:Ð&ô 	Úð	ûôX ô 	Ü�I‰IØCØ×$Ñ$Øôõ
 ûð	ús)   »J Ê J  ÊJÊJÊ KÊ+!KËKc                óÈ   <€ V ^8„  d   QhRS[ P                  RS[ P                  RS[S[S[P
                  3,          RS[S[S[S[3,          ,          RS[P                  RR/# )r   rf  rœ  rÕ  rÖ  rŒ   r   N)	r   re   r   r   r„   r…   r¯   rë   rŒ   )r   r&   s   "€r   r   rj  Í
  sp   ø€ ÷ *,ñ *,ñ —i‘ið*,ñ Ÿ)™)ð	*,ñ
 ‘S™%Ÿ,™,Ð&Õ'ð*,ñ (,©E±#±s°(­OÕ'<ð*,ñ —‘ð*,ð 
ñ*,r   c               óÆ  € / pV EFW  w  rxVP                  R4      w  p	 p
V	'       g   TM'\        VP                  4       4      P                  V	4      pVf   KS  VP                  V4      pVe@   \	        VRR4      '       g-   VP
                  P                  R8w  d   VP                  4       pMjW–9  d   V P                  VVR7      Wi&   Wi,          pVf   KÐ  \        VP                  RR7      4      P                  V4      pVf   EK  VP                  4       pVf   VP                  MVP                  pVP                  W_R7      pVP                  VVRR	7       VW7&   EKZ  	  R# )
zQRestore constructor-owned buffers that are intentionally absent from checkpoints.r{  Nr‹   Fr�   )rñ  rf  rv   )rŒ   r�   rÏ  )r¢  rt  r­  rD   r£   rŒ   r¥   rÛ  r  r|   r�   rÂ  rÞ  )r*   rf  rœ  rÕ  rÖ  rŒ   Úowner_templatesr  r·  Úparent_rel_pathrt   rñ  Úcurrent_bufferÚsource_bufferÚtemplateÚtarget_dtyperõ  s   &$$$$$           r   rß  Ú1LazyTurtle._restore_missing_nonpersistent_buffersÍ
  sb  € ð ;=ˆÜ;‰NˆHØ$,×$7Ñ$7¸Ó$<Ñ!ˆO˜Q ß3BÑ+ÌÐM]×MkÑMkÓMmÓHn×HrÑHrð  tCó  IDˆLØÒ#Ùà#ŸZ™Z¨Ó1ˆNàÒ*Ü °	¸5×AÒAØ"×)Ñ)×.Ñ.°&Ô8à .× 5Ñ 5Ó 7‘à"Ô9Ø7;×7`Ñ7`Ø%1Ø%1ð 8aó 8�OÑ4ð +Õ;�ØÒ#ÙÜ $ X×%;Ñ%;ÀEÐ%;Ó%JÓ K× OÑ OÐPTÓ U�Ø Ò(ÚØ -× 4Ñ 4Ó 6�à2@Ò2H˜=×.Ò.Èn×NbÑNbˆLØ(×+Ñ+°6Ð+ÓNˆLØ×(Ñ(¨¨|ÈÐ(ÔNØ+ˆFÔó= <r   c                óp  <€ V ^8„  d   QhRS[ P                  RS[RS[S[S[S[S[,          S[S[,          S[S[,          S[P                  S[	3,          S[ P                  3,          RS[S[S[S[S[,          S[S[,          S[S[,          S[P                  3,          S[P                  3,          RS[/# )r   rè  r˜  ré  rê  r   )r   re   r   r   rë   r   rK   r„   r�   r   r»  r…   )r   r&   s   "€r   r   rj  ù
  sµ   ø€ ÷ Yñ Yñ —9‘9ðYñ ð	Yñ
 ™%¡¡X©c¥]±H¹SµMÁ8ÉCÅ=ÑRW×R]ÑR]Ñ_cÐ cÕdÑfh×frÑfrÐrÕsðYñ ™5¡¡h©s¥m±X¹cµ]ÁHÉSÅMÑSX×S^ÑS^Ð!^Õ_Ñaf×amÑamÐmÕnðYñ 
ñYr   c               ó<  € ^ p\         P                  ! 4       ;_uu_ 4        \        VP                  RR7      4      P	                  4        EFÊ  w  rg\        V4      '       g   K  V P                  W&4      pVEe-   Vw  rš. pV	 F¿  pV P                  P                  V4      pVf5   \        V P                  RRVVRV\        VP                  4      R7      4      h\        P                  P                  V P                   V4      p\#        VRR	R
7      ;_uu_ 4       pVP%                  VP'                  V4      4       RRR4       KÁ  	   \         P(                  ! WºR7      P+                  4       pTP                  TP                  8w  dX   \        T P                  RRTTRRP                  T	4      \        TP                  4      \        TP                  4      R7      4      hRP                  T	4      RRY§P.                  TP0                  3pTP                  T4      pTfm   TP.                  TP.                  8w  d   TP3                  TP.                  R7      p\4        P6                  ! TP9                  4       TP0                  R7      pTTT&   TP;                  TT4       T^,          pEK[  V P=                  W&4      w  ppppVf   EKx  V P                  P                  V4      pVf8   \        V P                  RRVVRV\        VP                  4      VVVR7
      4      h\        P                  P                  V P                   V4      p\#        VRR	R
7      ;_uu_ 4       pVP'                  V4      pRRR4       V P?                  XVVV\        VP                  4      \A        VRR4      R7      pVfL   \        V P                  RRVVRV\        VP                  4      \        VP                  4      VVVR7      4      hVP                  VP                  8w  dL   \        V P                  RRVVRV\        VP                  4      \        VP                  4      VVVR7      4      hVVVVVP.                  VP0                  3pVP                  V4      pVfm   VP.                  VP.                  8w  d   VP3                  VP.                  R7      p\4        P6                  ! VP9                  4       VP0                  R7      pVVV&   VP;                  VV4       V^,          pEKÍ  	  \C        \        VPE                  RR7      4      P	                  4       4       EFª  w  pp\        V4      '       g   K  V P                  W&4      pVEe   Vw  rš. pV	 F¿  pV P                  P                  V4      pVf5   \        V P                  RRVVRV\        VP                  4      R7      4      h\        P                  P                  V P                   V4      p\#        VRR	R
7      ;_uu_ 4       pVP%                  VP'                  V4      4       RRR4       KÁ  	   \         P(                  ! WºR7      P+                  4       pTP                  TP                  8w  dX   \        T P                  RRTTRRP                  T	4      \        TP                  4      \        TP                  4      R7      4      hT\A        TR\G        4       4      9  pRP                  T	4      RRT
TP.                  3pTP                  T4      pTfM   TP.                  TP.                  8w  d   TP3                  TP.                  R7      pTP9                  4       pTTT&   TPI                  TTTR7       T^,          pEKL  V P=                  W&4      w  ppppVf   EKi  V P                  P                  V4      pVf8   \        V P                  RRVVRV\        VP                  4      VVVR7
      4      h\        P                  P                  V P                   V4      p\#        VRR	R
7      ;_uu_ 4       pVP'                  V4      pRRR4       V P?                  XVVV\        VP                  4      \A        VRR4      R7      pVfL   \        V P                  RRVVRV\        VP                  4      \        VP                  4      VVVR7      4      hVP                  VP                  8w  dL   \        V P                  RRVVRV\        VP                  4      \        VP                  4      VVVR7      4      hV\A        VR\G        4       4      9  pVVVVVP.                  3pVP                  V4      pVfM   VP.                  VP.                  8w  d   VP3                  VP.                  R7      pVP9                  4       pVVV&   VPI                  VVVR7       V^,          pEK­  	  RRR4       V#   + '       g   i     E	K•  ; i  \,         dM   p\        T P                  RRTTRT 2RP                  T	4      \        TP                  4      R7      4      ThRp?ii ; i  + '       g   i     EL; i  + '       g   i     EK  ; i  \,         dM   p\        T P                  RRTTRT 2RP                  T	4      \        TP                  4      R7      4      ThRp?ii ; i  + '       g   i     EL£; i  + '       g   i     T# ; i)rM   Frv   Nzdirect-meta syncrô   rÃ  rÊ  r  r  r  rŠ  rË  rš   rÌ  rÍ  r:  rÎ  r¾  rÄ  r¡  rÑ  rÒ  rÓ  rÔ  rõ   rÅ  rÏ  )%r„   rñ  rt  r{   r¬   Ú_is_meta_tensorrh  rw  rD   r×  rµ  rë   rì   r‹  rŒ  r­   rh  r
   rû  r¹  rÙ  r‡  r@  r�   r’  rÂ  r   r»  ÚcloneÚregister_parameterr¬  r�  r£   r¯   r|   r¢   rÞ  )r*   rè  r˜  ré  rê  rû  r$   Úshell_paramrâ  rã  rg  rC  r§  r¼  Úsource_pathr  Úsource_paramr�  Ú	cache_keyÚ	new_paramr¬  rö  rÇ  Úcheckpoint_paramÚshell_bufferr	  rÐ  rí  Úcheckpoint_buffers   &$$$$                        r   ró  Ú+LazyTurtle._materialize_direct_meta_tensorsù
  sÙ
  € ð ˆä×!Ò!×#Õ#Ü%)¨)×*DÑ*DÈUÐ*DÓ*SÓ%T×%ZÑ%Z×%\Ñ!�Ü& {×3Ò3Ùà $× NÑ NÈ{Ó a�Ø Ó,Ø-:Ñ*�JØ�EÛ%/˜	Ø $× 0Ñ 0× 4Ñ 4°YÓ ?˜Ø š=Ü".¨t×/RÑ/RØ&8Ø%,Ø,7Ø)-Ø'^Ø*3Ü-2°;×3DÑ3DÓ-Eð 0Só 0ó #ð ô ')§g¡g§l¡l°4×3HÑ3HÈ%Ó&P˜Ü& {¸dÈ5×QÕQÐU\Ø!ŸL™L¨×);Ñ);¸IÓ)FÔG÷ RÑQñ &0ð $Ü',§y¢y°Ô'G×'RÑ'RÓ'T˜ð #×(Ñ(¨L×,>Ñ,>Ô>Ü*¨4×+NÑ+NØ"4Ø!(Ø(3Ø%)Ø#fØ&*§i¡i°
Ó&;Ü).¨|×/AÑ/AÓ)BÜ).¨{×/@Ñ/@Ó)Að ,Oó 	,ó 	ð 	ð "%§¡¨*Ó!5°t¸TÀ:×O`ÑO`Ðbm×b{Ñb{Ð |�IØ +§¡°	Ó :�IØ Ò(Ø'×-Ñ-°×1BÑ1BÔBØ+7¯?©?À×ARÑAR¨?Ó+S˜LÜ$&§L¢LØ(×.Ñ.Ó0Ø*5×*CÑ*Cô%˜	ð 2;˜ IÑ.à×0Ñ0°°yÔAØ˜a•K�FÚàBF×BhÑBhÐitÓB{Ñ?�	˜<¨°iØÒ$ÚØ×(Ñ(×,Ñ,¨YÓ7�Ø’=Ü& t×'JÑ'JØ0Ø$Ø$/Ø!%ØVØ"+Ü%*¨;×+<Ñ+<Ó%=Ø%1Ø$/Ø"+ð (Kó (ó ð ô !Ÿg™gŸl™l¨4×+@Ñ+@À%ÓH�Ü˜{°dÀ5×IÕIÈWØ'.×'9Ñ'9¸)Ó'DÐ$÷ Jà#×@Ñ@Ø$Ø!-Ø +Ø'Ü#(¨×):Ñ):Ó#;Ü&-¨i¸È$Ó&Oð  Aó  �ð  Ò'Ü& t×'JÑ'JØ0Ø$Ø$/Ø!%Ø_Ø"+Ü%*Ð+;×+AÑ+AÓ%BÜ%*¨;×+<Ñ+<Ó%=Ø%1Ø$/Ø"+ð (Kó (ó ð ð ×$Ñ$¨×(:Ñ(:Ô:Ü& t×'JÑ'JØ0Ø$Ø$/Ø!%ØeØ"+Ü%*¨<×+=Ñ+=Ó%>Ü%*¨;×+<Ñ+<Ó%=Ø%1Ø$/Ø"+ð (Kó (ó ð ð '¨°kÀ9Èk×N_ÑN_Ðal×azÑazÐ{�	Ø'ŸO™O¨IÓ6�	ØÒ$Ø#×)Ñ)¨[×->Ñ->Ô>Ø'3§¡¸[×=NÑ=N Ó'O˜Ü "§¢Ø$×*Ñ*Ó,Ø&1×&?Ñ&?ô!�Ið .7�K 	Ñ*à×,Ñ,¨T°9Ô=Ø˜!•“ñO &]ôR '+¬4°	×0GÑ0GÐPUÐ0GÓ0VÓ+W×+]Ñ+]Ó+_×&`Ñ"��lÜ& |×4Ò4Ùà $× NÑ NÈ{Ó a�Ø Ó,Ø-:Ñ*�JØ�EÛ%/˜	Ø $× 0Ñ 0× 4Ñ 4°YÓ ?˜Ø š=Ü".¨t×/RÑ/RØ&8Ø%-Ø,7Ø)-Ø'^Ø*3Ü-2°<×3EÑ3EÓ-Fð 0Só 0ó #ð ô ')§g¡g§l¡l°4×3HÑ3HÈ%Ó&P˜Ü& {¸dÈ5×QÕQÐU\Ø!ŸL™L¨×);Ñ);¸IÓ)FÔG÷ RÑQñ &0ð $Ü(-¯	ª	°%Ô(H×(SÑ(SÓ(U˜ð $×)Ñ)¨]×-@Ñ-@Ô@Ü*¨4×+NÑ+NØ"4Ø!)Ø(3Ø%)Ø#fØ&*§i¡i°
Ó&;Ü).¨}×/BÑ/BÓ)CÜ).¨|×/AÑ/AÓ)Bð ,Oó 	,ó 	ð 	ð "&¬W°YÐ@]Ô_bÓ_dÓ-eÑ!e�JØ!$§¡¨*Ó!5°t¸TÀ:È|×OaÑOaÐ b�IØ!-×!1Ñ!1°)Ó!<�JØ!Ò)Ø(×.Ñ.°,×2DÑ2DÔDØ,9×,<Ñ,<À<×CUÑCUÐ,<Ó,V˜MØ%2×%8Ñ%8Ó%:˜
Ø2<˜ YÑ/à×-Ñ-¨d°JÈ:Ð-ÔVØ˜a•K�FÚàBF×BhÑBhÐitÓB{Ñ?�	˜<¨°iØÒ$ÚØ×(Ñ(×,Ñ,¨YÓ7�Ø’=Ü& t×'JÑ'JØ0Ø%Ø$/Ø!%ØVØ"+Ü%*¨<×+=Ñ+=Ó%>Ø%1Ø$/Ø"+ð (Kó (ó ð ô !Ÿg™gŸl™l¨4×+@Ñ+@À%ÓH�Ü˜{°dÀ5×IÕIÈWØ(/×(:Ñ(:¸9Ó(EÐ%÷ Jà $× AÑ AØ%Ø!-Ø +Ø'Ü#(¨×);Ñ);Ó#<Ü&-¨i¸È$Ó&Oð !Bó !�ð !Ò(Ü& t×'JÑ'JØ0Ø%Ø$/Ø!%Ø_Ø"+Ü%*Ð+<×+BÑ+BÓ%CÜ%*¨<×+=Ñ+=Ó%>Ø%1Ø$/Ø"+ð (Kó (ó ð ð  ×%Ñ%¨×)<Ñ)<Ô<Ü& t×'JÑ'JØ0Ø%Ø$/Ø!%ØeØ"+Ü%*¨=×+>Ñ+>Ó%?Ü%*¨<×+=Ñ+=Ó%>Ø%1Ø$/Ø"+ð (Kó (ó ð ð "¬°Ð<YÔ[^Ó[`Ó)aÑa�
Ø&¨°kÀ9Èl×N`ÑN`Ða�	Ø)×-Ñ-¨iÓ8�
ØÒ%Ø$×*Ñ*¨l×.@Ñ.@Ô@Ø(5×(8Ñ(8¸|×?QÑ?QÐ(8Ó(R˜Ø!.×!4Ñ!4Ó!6�JØ.8�L Ñ+à×)Ñ)¨$°
ÀzÐ)ÔRØ˜!•“ñG 'a÷U $ð^ ˆ÷s R×QÑQûô
 %ô 	$Ü*¨4×+NÑ+NØ"4Ø!(Ø(3Ø%)Ø%SÐTWÐSXÐ#YØ&*§i¡i°
Ó&;Ü).¨{×/@Ñ/@Ó)Að ,Oó ,ó ð !$ð$ûð	$ú÷r J×IÐIú÷V R×QÑQûô
 %ô 	$Ü*¨4×+NÑ+NØ"4Ø!)Ø(3Ø%)Ø%SÐTWÐSXÐ#YØ&*§i¡i°
Ó&;Ü).¨|×/AÑ/AÓ)Bð ,Oó ,ó ð !$ð$ûð	$ú÷n J×IÐIú÷w $Ö#ð^ ˆúsº    C7l
Ä!hÄ8l
Å%hÅ*G.l
Íi3Í*J/l
Ø!jØ:l
Ù%jÙ,Gl
á
k6áFl
èhè
l
èi0	è$Ai+	é+i0	é0l
é3jé>	l
êjê
l
êk3	ê'Ak.	ë.k3	ë3l
ë6lì	l
ì
l	)r}  r„  ru  rx  rz  r{  rn  r�  r  rw  ri  rh  )z.binz.ptz.pthz.ckptr_   )@r4   r5   r6   r7   r8   Úsupports_reloadÚis_lazy_checkpoint_sourcerº  r½  r+   rI  r‘  r•  r©  rÌ  rv  r×  rü  r  rÐ  rH  r  ræ  r$  r(  r~  r€  r>  rE  r|  rZ  rc  rn  ry  r¢  r²  r¹  r×  rÝ  rã  rø  r  r  r  r  r#  r>  rY  rh  rn  rm  ru  rz  r�  r§  r¬  rµ  rÖ  r¤  r  rß  ró  r9   r:   r;   s   @r   rb  rb    sp  ø‡ € ñð €OØ $ÐØ&FÐ#Ø#€Oð%'ð
 7;ð%'ð &*ð%'ð 59ð%'ð -1÷%'ò %'ðN ðð
 7;ðð &*ðð 59ðð -1÷ñ ó ð÷<ð ð1 ð #ð1 ð &*ð1 ð ð1 ð !ð1 ð #÷1 ò 1 ÷f@ð @÷D'ð 'ð&ð
 ÷ò ð 2ð %)ð	2ð
 #ð2ð ð2ð /1÷2ò 2ðh$ð
 *.÷$ò $÷08ð 8ð0 ÷+ó ð+ð ÷ó ðð ÷6ó ð6ð ÷Bó ðBð ÷ ó ð ð< ÷!ó ð!ð$ ÷ó ðð ÷$ó ð$ð2 ðlð -1ðlð %)÷	lñ ló ðlð< ÷ó ðð ÷ó ðð ÷$ó ð$ð ÷k3ó ðk3÷Zð ÷$-ð -ð^ ðÈ÷ ñ ó ð÷"Bð B÷Hð ÷ ð ð ÷7?ó ð7?÷rð ð8 ÷
&ó ð
&÷ð ÷.ð ÷ð ÷E&ð E&÷Nr&ð r&÷hFð F÷P
,ð 
,÷ð ÷	&ð 	&÷&ð &ð6 ð~>ð 59ð~>ð -1÷~>ñ ~>ó ð~>ð@ ÷ó ð÷6Oð Oð> ð"
ð $(ð"
ð 37ð"
ð 37ð"
ð '+ð"
ð &*ð"
ð $(÷"
ñ "
ó ð"
÷Hð ð>Vð ;?ðVð #÷Vò V÷p
Cð C÷J*,ð *,÷XYö Yr   rb  c                ó  € V ^8„  d   QhR\         P                  P                  RRR\         P                  P                  R\         P                  R\        R\
        \        ,          R\        R	\         P                  P                  /# )
r   rf  Úturtle_modelrb  rœ  rŒ   r—  r˜  r™  r   r�  )r   s   "r   r   r     sx   € ÷ ñ Ü—(‘(—/‘/ðàðô —h‘h—o‘oðô �L‰Lð	ô
 ðô œ#•ðô ðô ‡X�X‡_�_ñr   c           	      óÖ   € VR \         P                  ! R4      39  g   Q h\        VR4      '       g#   \        R\	        V4      P
                   R24      hVP                  V VVVVVR7      # )Nr�   r©  ú,Expected LazyTurtle-compatible source, got `ú`.)rf  rœ  rŒ   r—  r˜  r™  )r„   rŒ   r¤   rÄ  r¥   r4   r©  )rf  r  rœ  rŒ   r—  r˜  r™  s   &&&&&&&r   Úalias_from_turtle_for_submoduler"    s€   € ð ˜$¤§¢¨VÓ 4Ð5Ô5Ð5Ð5Ü�<Ð!8×9Ò9ÜØ:¼4ÀÓ;M×;VÑ;VÐ:WÐWYÐZó
ð 	
ð ×-Ñ-Ø!Ø)ØØ!ØØð .ó ð r   rŒ   c          	      óº   € V ^8„  d   QhR\         P                  P                  RRR\         P                  P                  R\        \         P                  ,          /# )r   rf  r  rb  rœ  rŒ   )r„   r   re   r   rŒ   )r   s   "r   r   r   0  sI   € ÷ ñ Ü—(‘(—/‘/ðàðô —h‘h—o‘oðô
 ”U—\‘\Õ"ñr   c               ó’   € \        VR4      '       g#   \        R\        V4      P                   R24      hVP	                  V VVR7      # )r   r  r   r!  )rf  rœ  rŒ   )r¤   rÄ  r¥   r4   r  )rf  r  rœ  rŒ   s   &&&$r   Ú+alias_direct_meta_from_turtle_for_submoduler%  0  s[   € ô �<Ð!B×CÒCÜØ:¼4ÀÓ;M×;VÑ;VÐ:WÐWYÐZó
ð 	
ð ×7Ñ7Ø!Ø)Øð 8ó ð r   c                óD   € V ^8„  d   QhR\         P                  R\        /# )r   rˆ   r   )r„   r…   r   )r   s   "r   r   r   D  s"   € ÷ dñ d”u—|‘|ð d¬ñ dr   c                 ó˜   € \        \        V R R4      4      ;'       g.    \        V R4      ;'       d    V P                  P                  R8H  # )r‹   FrŒ   r�   )r   r£   r¤   rŒ   r¥   )rˆ   s   &r   r  r  D  s;   € Ü”˜˜9 eÓ,Ó-×cÐc´'¸!¸XÓ2F×2bÐ2bÈ1Ï8É8Ï=É=Ð\bÑKbÐcr   rÙ  rÚ  rÛ  rÜ  c                ó¨   € V ^8„  d   QhR\         P                  R\        R,          R\        R\        R\        R\        \
        R3,          R	\        /# )
r   rÞ  r  rb  rÙ  rÚ  rÛ  rÜ  .r   )r   re   r   r   rë   r¥   rK   )r   s   "r   r   r   G  s`   € ÷ ñ Ü—‘ðä˜<Õ(ðô ð	ô
 ðô ðô œT 3˜YÕ'ðô 	ñr   c               óÆ   € Vf   ^ # \        VR4      '       g#   \        R\        V4      P                   R24      hVP                  ! R	RV RVRVRV/V'       d   RV/B # / B # )
z]
Materialize any remaining direct meta tensors in `shell_model` from the lazy turtle source.
rü  r   r!  rÞ  rÙ  rÚ  rÛ  rÜ  r_   )r¤   rÄ  r¥   r4   rü  )rÞ  r  rÙ  rÚ  rÛ  rÜ  s   &&$$$$r   Úalias_all_from_turtle_if_metar*  G  sž   € ð ÒÙä�< ×1Ò1ÜØ:¼4ÀÓ;M×;VÑ;VÐ:WÐWYÐZó
ð 	
ð ×%Ò%ñ Øðà/ðð $ðð ð	÷
 8IÐÐ!2Ð3ñð ð
 OQñð r   c                ób   € V ^8„  d   Qh/ ^ \         9   d   \        \        \        3,          ;R&   # )r   rC   )Ú__conditional_annotations__r   Úobjectr@   )r   s   "r   r   r      s-   € ÷ ñ ÷zò Œd”6œ5�=Õ!ñ ò{r   r“  r™  )FNTr_   )Pr,  r8   r¾  r¿  rÅ  rô  r
  r‹  r  rÀ  r»  r‚  Údataclassesr   Ú	importlibr   Útypingr   r   r   r   r   r	   r›  r„   Úsafetensorsr
   r   Úutils.loggerr   r   rÃ   rÕ   rÖ   r×   rŽ  r    r  r@   r  r  r  r  r  r  r  r  rK   r   rC   r¤   r�  r£   r"   r<   r=   rF   rV   ra   r}   r€   r¼   rÈ   rÜ   rø   r§  r¯  r¹  rÃ  rÅ  rÓ  rÕ  rá  rK  rb  r"  r%  r  r*  r   )r$   r,  s   0@r   Ú<module>r3     sN  øðöó, Û Û 	Û Û Û 	Û 	Û Û Û Ý !Ý #ß <× <ã Û Ý !Ý å 'ð 	€Ø€Ø
€Ø
€Ø€	áƒn€õ/ð 
‡M�M�1�e—k‘k 1Ø	‡N�N�AØ	‡M�M�1�e—j‘j !Ø	‡K�K��E—J‘J Ø	‡K�K��E—K‘K Ø	‡K�K��E—I‘I˜qØ	‡J�J�ð%€ó ðñ
ó
ñ
ˆDñ �5˜$×÷ 	ˆñ
ñ
ðñ -ÓEÑ,ˆt±¸¸t×0D‡d€dÑ,ÑEó€Kð 12€L‘˜ Ó,Ó-ñ÷ (ñ (ñ 	�7Ó€Ù�7Ó€Ø€ˆUÑ Ø€ˆUÑ õ$õ	õð°d÷ õ.ð*FÀ÷ *FðX*¨t÷ *õ
(õSð$nSð ðnSð  $ð	nSð
 #'ðnSð ðnSð ðnSð ðnSð ðnSð "ðnSð 0ðnSð ðnSð NðnSð "#÷nSõb	Qõõ
ô˜cô õñ �$Ô÷?ð ?ó ð?ð ÷Y8ð Y8ó ðY8ðx ÷ Jð  Jó ð J÷Fz#ñ z#÷xGð8ð
 &*÷õ(dðð !%ð	ð
 ðð ðð +-÷ñ ùòu_
ùò Fs   ÄJ Ä/J Ä<JÅJ