ó
    Eñiµ;  ã                   ó,  • % S SK r S SKJr  S SKJrJr  S SKrS SKJs  J	r
  S SKJr  S SKJr  \R                  R                   rSrSrSr/ q\\R,                  R.                  R0                     \S	'   S
\R,                  R.                  R0                  SS4S jrSS jr  SS\R,                  R8                  S\R,                  R:                  S\\R<                     S\\   SS4
S jjr S\R,                  R:                  S\\\      S\!4S jr" " S S\R,                  RF                  5      r$ SS\R,                  R8                  S\\\R,                  R:                  /\!4      SS4S jjr%   S S\R,                  R8                  S\!S\\\      S\\\R,                  R:                  /\!4      SS4
S jjr&   S S\R,                  R8                  S\!S\\\      S\\\R,                  R:                  /\!4      S\R,                  R8                  4
S jjr'g)!é    N)ÚCallable)ÚAnyÚOptional)Úmaybe_set_is_frozen_param)Ú
OrderedSetÚMODULE_TYPEÚ_MAIN_MODULEÚ_CONST_MODULEÚ_dont_constant_foldÚopÚreturnc                 ó.   • [         R                  U 5        g ©N)r   Úappend©r   s    Ú]/home/mande/repo/quber/.venv/lib/python3.13/site-packages/torch/_inductor/constant_folding.pyÚadd_dont_constant_foldr      s   € ä×Ñ˜rÕ"ó    c                  ó,   • [         R                  5         g r   )r   Úclear© r   r   Úclear_dont_constant_foldr      s   € ä×ÑÕr   ÚgmÚnodeÚconstantÚnamec                 ó~  • U R                   nU(       a  UnOL[        U S5      (       d  SU l        U R                  n SU 3n[        X5      (       d  OUS-  nM  US-   U l        UR                  U5         Ub  UR	                  SUS0 5      nOUR	                  SUS0 5      nUR                  U5        UR                  R                  UR                  5        UR                  U5        UR                  Ul	        S S S 5        Ub)  U R                  XR5        [        XU5        [        U5        g g ! , (       d  f       N;= f)NÚ_frozen_param_countr   Ú_frozen_paramé   Úget_attrr   Úplaceholder)ÚgraphÚhasattrr   Úinserting_beforeÚcreate_nodeÚreplace_all_uses_withÚmetaÚupdateÚ
erase_noder   Úregister_bufferÚsetattrr   )r   r   r   r   ÚgÚqualnameÚiÚnew_input_nodes           r   Úreplace_node_with_constantr1   !   s&  € ð 	�‰€AæØ‰ä�rÐ0×1Ñ1Ø%&ˆBÔ"Ø×"Ñ"ˆàØ& q cÐ*ˆHÜ˜2×(Ñ(ØØ�‰FˆAñ	 ð "# Q¡ˆÔà	
×	Ñ	˜DÕ	!ØÑØŸ]™]¨:°xÀÀRÓH‰Nð Ÿ]™]¨=¸(ÀBÈÓKˆNØ×"Ñ" >Ô2Ø×Ñ×"Ñ" 4§9¡9Ô-Ø	�‰�TÔØ"Ÿi™iˆÔ÷ 
"ð Ñà
×Ñ˜8Ô.Ü�˜hÔ'ä! (Õ+ð ÷ 
"Õ	!ús   Á4BD.Ä.
D<Úlifted_constant_namesc                 ó^   • U R                   S:H  =(       d    U R                  U=(       d    S;   $ )Nr!   r   )r   r   )r   r2   s     r   Úis_const_sourcer4   K   s'   € ð �7‰7�jÑ ×N D§I¡IÐ2G×2MÈ2Ñ$NÐNr   c                   óÒ  ^ • \ rS rSr   SS\R
                  R                  S\S\\	\
      S\\\R
                  R                  /\4      SS4
U 4S jjjrS\4S	 jrS
\R
                  R                  S\4U 4S jjrS
\R
                  R"                  R                  S\4S jrS\\R
                  R                  \	\R
                  R                     4   4S jrS
\R
                  R                  S\4U 4S jjrS\R,                  S\4S jrS
\R
                  R                  S\R,                  SS4S jrS\4U 4S jjrS\\R
                  R                  \4   SS4S jrSrU =r$ )ÚConstantFolderéQ   Nr   Úskip_constructorsr2   Úskip_folding_node_fnr   c                 óð   >• [         TU ]  U5        0 U l        [        R                  " 5       U l        [        5       U l        X l        U R                  5       U l
        X0l        [        5       U l        X@l        g r   )ÚsuperÚ__init__Únode_replacementsÚcollectionsÚCounterÚreplaced_usesÚobjectÚunknown_valuer8   Únode_to_last_non_output_useÚuser_to_last_usesr2   Údeferred_valuer9   )Úselfr   r8   r2   r9   Ú	__class__s        €r   r<   ÚConstantFolder.__init__R   sd   ø€ ô 	‰Ñ˜ÔØ;=ˆÔÜ7B×7JÒ7JÓ7LˆÔÜ#›XˆÔØ'8Ôð "&×!AÑ!AÓ!CˆÔØ%:Ô"Ü$›hˆÔØ$8Õ!r   c                 ó   • g)NFr   )rF   s    r   Ú_support_dynamic_shapeÚ%ConstantFolder._support_dynamic_shapef   s   € àr   r   c                 ó  >• U R                   c  [        TU ]	  U5      $ U R                  b"  U R                  U5      (       a  U R                  $ [
        R                  " UR                  0 UR                  D6nU H~  n[        U[        R                  R                  5      (       d  M.  UR                  U R                   =(       d    S;  d  MS  U R                  U   U R                  :w  d  Mr  U R                  s  $    U R                  $ )Nr   )r2   r;   Úrun_noder9   rB   ÚpytreeÚarg_tree_leavesÚargsÚkwargsÚ
isinstanceÚtorchÚfxÚNoder   ÚenvrE   )rF   r   Úflattened_node_inpsÚinprG   s       €r   Ú_deduce_valueÚConstantFolder._deduce_valuej   sÍ   ø€ Ø×%Ñ%Ñ-Ü‘7Ñ# DÓ)Ð)ð ×$Ñ$Ñ0°T×5NÑ5NÈt×5TÑ5TØ×%Ñ%Ð%Ü$×4Ò4°d·i±iÐOÀ4Ç;Á;ÑOÐÛ&ˆCä˜3¤§¡§¡×.Ó.Ø—H‘H T×%?Ñ%?×%EÀ2ÕFØ—H‘H˜S‘M T×%8Ñ%8Õ8à×)Ñ)Ò)ñ 'ð ×"Ñ"Ð"r   c                 óØ  • S[         R                  R                  R                  S[        4S jnU" U5      (       d}  UR
                  [         R                  R                  R                  R                  L ak  [        UR                  5      S:X  aR  U" [        [        UR                  5      5      5      (       a)  [        UR                  S   U R                   5      (       a  g[#        [         R                  R$                  SS 5      S LnU(       aÅ  UR
                  [         R                  R$                  R&                  R                  [         R                  R$                  R(                  R                  [         R                  R$                  R(                  R*                  [         R                  R$                  R,                  R.                  4;   a  gUR
                  [0        ;   a  gg)	Nr   r   c                 óö  • U R                   [        R                  R                  R                  R
                  L =(       a¹    [        U R                  S   [        R                  R                  5      =(       a�    SU R                  S   R                  ;   =(       a^    U R                  S   R                  S   R                  [        R                  :H  =(       a     U R                  S   [        R                  :H  $ )Nr   Úvalr    )ÚtargetrS   ÚopsÚprimsÚconvert_element_typeÚdefaultrR   rP   rT   rU   r(   ÚdtypeÚint8Úbfloat16)r   s    r   Úis_woq_int8_patternÚ5ConstantFolder.is_impure.<locals>.is_woq_int8_pattern|   s¨   € à—‘œuŸy™yŸ™×CÑC×KÑKÐK÷ 3Ü˜tŸy™y¨™|¬U¯X©X¯]©]Ó;÷3à˜TŸY™Y q™\×.Ñ.Ñ.÷3ð —I‘I˜a‘L×%Ñ% eÑ,×2Ñ2´e·j±jÑ@÷3ð —I‘I˜a‘L¤E§N¡NÑ2ðr   r    r   TÚdequantize_per_channelF)rS   rT   r   rU   Úboolr^   r_   ÚatenÚpermuterb   ÚlenÚusersÚnextÚiterr4   rP   r2   ÚgetattrÚquantized_decomposedrh   Údequantize_per_tensorÚtensorra   Úno_fuser   )rF   r   rf   Úquant_registereds       r   Ú	is_impureÚConstantFolder.is_impure{   sV  € ð	¤e§h¡h§m¡m×&8Ñ&8ð 	¼Tô 	ñ   ×%Ñ%à—‘œuŸy™yŸ~™~×5Ñ5×=Ñ=Ò=Ü˜Ÿ
™
“O qÓ(Ù'¬¬T°$·*±*Ó-=Ó(>×?Ñ?äØ�I‰I�a‰LØ×&Ñ&÷
ñ 
ð ô ”E—I‘I×2Ñ2Ð4LÈdÓSØðð 	ö  §¡Ü�I‰I×*Ñ*×AÑA×IÑIÜ�I‰I×*Ñ*×@Ñ@×HÑHÜ�I‰I×*Ñ*×@Ñ@×GÑGÜ�I‰I×*Ñ*×?Ñ?×GÑGð	0
ó !
ð à�;‰;Ô-Ó-ØØr   c                 óà  ^^^• [         R                  " [        5      m[        [        R
                  R                     " 5       m[        [        [        U R                  R                  R                  5      5      5      n[        U R                  R                  R                  5       HÂ  mTR                  S:X  a  M  S[        R
                  R                  SS 4UUU4S jjn[        R                  " [        R
                  R                  UTR                   TR"                  45        [%        TR&                  5      S:X  d  Mœ  UTR&                  ;   d  M®  TT   R)                  T5        MÄ     T$ )NÚoutputrX   r   c                 ó^   >• U T;   a  g TR                  U 5        TT   R                  U 5        g r   )Úaddr   )rX   Úlast_non_output_user   Ú	seen_usess    €€€r   Úadd_useÚ;ConstantFolder.node_to_last_non_output_use.<locals>.add_use°   s-   ø€ Ø˜)Ó#Øà—‘˜cÔ"Ø# DÑ)×0Ñ0°Õ5r   r    )r>   ÚdefaultdictÚlistr   rS   rT   rU   rn   ro   ÚreversedÚmoduler#   Únodesr^   rN   Útree_map_only_rP   rQ   rl   rm   r   )rF   Úoutput_noder~   r|   r   r}   s      @@@r   rC   Ú*ConstantFolder.node_to_last_non_output_use§   sü   ú€ Ü)×5Ò5´dÓ;ÐÜœuŸx™xŸ}™}Ò-Ó/ˆ	Üœ4¤¨¯©×):Ñ):×)@Ñ)@Ó AÓBÓCˆä˜TŸ[™[×.Ñ.×4Ñ4Ö5ˆDØ�{‰{˜hÓ&Ùð6œUŸX™XŸ]™]ð 6¨t÷ 6ñ 6ô ×!Ò!¤%§(¡(§-¡-°¸4¿9¹9ÀdÇkÁkÐ:RÔSô �4—:‘:‹ !Õ#¨°t·z±zÕ(AØ# DÑ)×0Ñ0°Ö6ñ! 6ð$ #Ð"r   c                 óŠ  >^ • UR                   S:X  al  S[        R                  R                  SS 4U 4S jjn[        R
                  " [        R                  R                  X!R                  5        [        T
T ]!  U5      $ T R                  U5      u  p4[        R                  " U0 UD6n[        U 4S jU 5       5      (       a  T R                  $ UR                  S:X  a3  UR                   [        R                  R                   L a  T R                  $ UR                  S:X  a  UR"                  S:X  a  T R                  $ T R$                  (       a>  ['        UT R(                  5      (       d#  [        S U 5       5      (       d  T R                  $ [+        UR                   [        R,                  R.                  5      (       a>  [        R0                  R2                  UR                   R4                  ;   a  T R                  $ UR                  S:X  a?  [+        UR                   [        R,                  R6                  5      (       a  T R                  $ T R9                  U5      n[+        U[        R:                  R<                  5      (       a  U$ UT R                  :X  a  T R                  $ ['        UT R(                  5      (       Gdƒ  [+        U[        R>                  5      (       d  UT R@                  :X  GaS  UT R@                  :w  a  URB                  RD                  S	:X  a  U$ T RG                  U5      (       d  U$ T RI                  U5      (       a  T R                  $ T RK                  X5        [        R                  " UR                  0 URL                  D6nU HE  n[+        U[        R                  R                  5      (       d  M.  T RN                  U==   S
-  ss'   MG     T RP                  RS                  U/ 5       HG  n	T RN                  U	   [U        U	RV                  5      :X  d  M+  T RX                  R[                  U	S 5        MI     U$ )Nry   Úargr   c                 ó8   >• TR                   TR                  U '   g r   )rB   rV   )r‰   rF   s    €r   Úset_envÚ(ConstantFolder.run_node.<locals>.set_envÄ   s   ø€ Ø $× 2Ñ 2�—‘˜’r   c              3   ó�   >#   • U  H;  n[        TR                  5      [        U5      L =(       a    TR                  U:H  v •  M=     g 7fr   )ÚtyperB   )Ú.0Úinput_rF   s     €r   Ú	<genexpr>Ú*ConstantFolder.run_node.<locals>.<genexpr>Ñ   s?   øé € ð 
â*�ô �×#Ñ#Ó$¬¨V«Ð4×U¸×9KÑ9KÈvÑ9UÔUÚ*ùs   ƒAAÚcall_functionÚ&triton_kernel_wrapper_functional_proxyc              3   óV   #   • U  H  n[        U[        R                  5      v •  M!     g 7fr   )rR   rS   ÚTensor)r�   Úes     r   r‘   r’   ë   s    é € ÐNÒ=M¸œ
 1¤e§l¡l×3Ð3Ò=Mùs   ‚')r(   r    ).r^   rS   rT   rU   rN   r…   rP   r;   rM   Úfetch_args_kwargs_from_envrO   ÚanyrB   r   rj   Ú_efficientzerotensorrb   r   r8   r4   r2   rR   Ú_opsÚ
OpOverloadÚTagÚnondeterministic_seededÚtagsÚHigherOrderOperatorrY   Ú_CÚScriptObjectr–   rE   ÚdevicerŽ   Úinsertable_tensor_checkrv   Úadd_node_replacementrQ   r@   rD   Úgetrl   rm   r=   Úpop)rF   r   r‹   rP   rQ   Úflattened_inputsÚoutrW   ÚnÚ	to_deleterG   s   `         €r   rM   ÚConstantFolder.run_nodeÀ   sD  ù€ Ø�;‰;˜(Ó"ð3œUŸX™XŸ]™]ð 3¨t÷ 3ô ×!Ò!¤%§(¡(§-¡-°¿)¹)ÔDÜ‘7Ñ# DÓ)Ð)à×6Ñ6°tÓ<‰ˆÜ!×1Ò1°4ÐB¸6ÑBÐô
 ô 
á*ó
÷ 
ñ 
ð ×%Ñ%Ð%ð �G‰G�Ó&Ø—‘œt×8Ñ8×@Ñ@Ò@à×%Ñ%Ð%ð �G‰G�Ó&Ø—	‘	ÐEÓEà×%Ñ%Ð%ð ×"×"Ü# D¨$×*DÑ*D×EÑEÜÑNÑ=MÓN×NÑNà×%Ñ%Ð%ô �t—{‘{¤E§J¡J×$9Ñ$9×:Ñ:Ü—	‘	×1Ñ1°T·[±[×5EÑ5EÓEà×%Ñ%Ð%à�7‰7�oÓ%¬*Ø�K‰KœŸ™×7Ñ7÷+
ñ +
ð ×%Ñ%Ð%à× Ñ  Ó&ˆä�cœ5Ÿ8™8×0Ñ0×1Ñ1ØˆJà�$×$Ñ$Ó$Ø×%Ñ%Ð%ä˜t T×%?Ñ%?×@Ò@Ü�sœEŸL™L×)Ñ)¨S°D×4GÑ4GÔ-Gà�d×)Ñ)Ó)¨c¯j©j¯o©oÀÓ.GØ�
à×/Ñ/°×4Ñ4Ø�
à�~‰~˜d×#Ñ#Ø×)Ñ)Ð)à×%Ñ% dÔ0ä"(×"8Ò"8¸$¿)¹)Ð"SÀtÇ{Á{Ñ"SÐã(�Ü! !¤U§X¡X§]¡]×3Ñ3Ùà×"Ñ" 1Ó%¨Ñ*Õ%ñ	 )ð "×3Ñ3×7Ñ7¸¸bÖA�	Ø×%Ñ% iÑ0´C¸	¿¹Ó4HÕHØ×*Ñ*×.Ñ.¨y¸$Ö?ñ Bð ˆ
r   rs   c                 ó   • g)NTr   )rF   rs   s     r   r¤   Ú&ConstantFolder.insertable_tensor_check  s   € Ør   c                 ó    • X R                   U'   g r   )r=   )rF   r   rs   s      r   r¥   Ú#ConstantFolder.add_node_replacement"  s   € Ø'-×Ñ˜tÒ$r   c                 óD   >• 0 nU R                  U5        [        TU ]	  US9$ )N)Úinitial_env)Úinsert_placerholder_valuesr;   Úrun)rF   rV   rG   s     €r   r´   ÚConstantFolder.run%  s'   ø€ Ø(*ˆØ×'Ñ'¨Ô,Ü‰w‰{ sˆ{Ð+Ð+r   rV   c                 óD  • U R                   R                  R                  SS9 H  nU R                  X'   M     U R                  c  g U R                   R                  R
                   H6  nUR                  U R                  =(       d    S;   d  M(  U R                  X'   M8     g )Nr"   r   r   )rƒ   r#   Ú
find_nodesrB   r2   r„   r   rE   )rF   rV   rª   s      r   r³   Ú)ConstantFolder.insert_placerholder_values*  s   € Ø—‘×"Ñ"×-Ñ-°Ð-Ó?ˆAØ×'Ñ'ˆC‹Fñ @à×%Ñ%Ñ-ØØ—‘×"Ñ"×(Ô(ˆAØ�v‰v˜$×4Ñ4×:¸Õ;Ø×,Ñ,�“ò )r   )rE   r2   r=   r@   r8   r9   rB   rD   )FNN)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__rS   rT   ÚGraphModuleri   r   r�   Ústrr   rU   r<   rJ   r   rY   r   rv   ÚdictrC   rM   r–   r¤   r¥   r´   r³   Ú__static_attributes__Ú__classcell__)rG   s   @r   r6   r6   Q   s{  ø† ð #(Ø59ØJNñ9à�H‰H× Ñ ð9ð  ð9ð  (¨¨S©	Ñ2ð	9ð
 ' x°·±·±°ÀÐ0EÑ'FÑGð9ð 
÷9ð 9ð(¨ô ð# %§(¡(§-¡-ð #°C÷ #ð"*˜eŸh™hŸm™m×0Ñ0ð *°Tô *ðX#¨T°%·(±(·-±-ÀÀeÇhÁhÇmÁmÑATÐ2TÑ-Uô #ð2]˜UŸX™XŸ]™]ð ]¨s÷ ]ð~¨e¯l©lð ¸tô ð.¨¯©¯©ð .ÀÇÁð .ÐQUô .ð,�S÷ ,ð
-¨d°5·8±8·=±=À#Ð3EÑ.Fð -È4÷ -ò -r   r6   Úconstraint_fnc                 ó  • [         R                  R                  R                  5          [	        U SS9nUR                  5         UR                  R                  5        H#  u  p4Ub  U" U5      (       d  M  [        XU5        M%     / nU R                  R                  SS9 H^  n[        UR                  5      S:X  d  M  [        XR                  5      (       a  [        XR                  5        UR!                  U5        M`     U H  nU R                  R#                  U5        M      U R                  R%                  5         U R                  R'                  5         U R)                  5         S S S 5        g ! , (       d  f       g = f)NT)r8   r!   r   r   )rS   ÚutilsÚ_python_dispatchÚ_disable_current_modesr6   r´   r=   Úitemsr1   r#   r·   rl   rm   r$   r^   Údelattrr   r*   Úeliminate_dead_codeÚlintÚ	recompile)r   rÂ   Úcfr   r   Úerased_paramss         r   Úconstant_foldrÎ   4  s  € ô 
�‰×	%Ñ	%×	<Ñ	<Õ	>Ü˜B°$Ñ7ˆØ
�‰Œà ×2Ñ2×8Ñ8Ö:‰NˆDØÑ(±¸t×1DÑ1DÙÜ& r°Ö:ñ ;ð
 ˆØ—H‘H×'Ñ'¨:Ð'Ó6ˆDÜ�4—:‘:‹ !Õ#Ü˜2Ÿ{™{×+Ñ+Ü˜B§¡Ô,Ø×$Ñ$ TÖ*ñ	 7ó "ˆDØ�H‰H×Ñ Ö%ñ "ð 	�‰×$Ñ$Ô&Ø
�‰�‰ŒØ
�‰Œ÷+ 
?×	>Ö	>ús   ©BE3Â>B,E3Å3
Fr8   r9   c                 ó  • [         R                  R                  R                  5          [	        U UUUS9nUR                  5         U R                  R                   HŠ  nUb&  U" U5      (       a  [        UR                  [        '   M,  [        XR5      (       d  XTR                  ;   d  XTR                  ;   a  [        UR                  [        '   Ms  [        UR                  [        '   MŒ     S S S 5        g ! , (       d  f       g = f)N)r8   r2   r9   )rS   rÄ   rÅ   rÆ   r6   r´   r#   r„   Ú
MODULE_TAGr(   ÚMETA_TAGr4   r=   r@   ÚCONST_MODULE_TAG)r   r8   r2   r9   rÌ   r   s         r   Úconstant_graph_tagrÓ   P  sº   € ô 
�‰×	%Ñ	%×	<Ñ	<Õ	>ÜØØ/Ø"7Ø!5ñ	
ˆð 	�‰Œà—H‘H—N”NˆDØ#Ñ/Ñ4HÈ×4NÑ4NÜ&0�—	‘	œ(Ñ#Ùä ×<Ñ<Ø×/Ñ/Ó/Ø×+Ñ+Ó+ä&6�—	‘	œ(Ó#ä&0�—	‘	œ(Ó#ñ #÷ 
?×	>Ö	>ús   ©CC3Ã3
Dc                 ó  ^• [        XX#5        S[        R                  R                  S[        4S jnU R
                  R                   H6  nUR                  S:X  d  UR                  U=(       d    S;   d  M.  U" U5        M8     [        R                  R                  5       n0 m/ nU R
                  R                   H}  nUR                  [           [        :X  a  M   UR                  UU4S j5      nUTU'   UR                   H2  n	U	R                  [           [        :X  d  M   UR                  U5          M{     M     UR!                  [#        U5      5        UR%                  5         [        R                  R'                  X5      n
U
$ )zf
Construct a GraphModule which corresponds to the part which could be
constant folded in provided gm.
r   r   c                 óª   • SnU R                    H"  nUR                  [           [        :X  d  M   Sn  O   U(       d  [        U R                  [        '   U$ )NFT)rm   r(   rÑ   rÒ   rÐ   )r   Úused_to_foldÚus      r   ÚuntagÚ)run_and_get_constant_graph.<locals>.untag|  sH   € ØˆØ—”ˆAØ�v‰v”hÑÔ#3Õ3Ø#�Ùñ ö Ü",ˆD�I‰I”hÑØÐr   r!   r   c                 ó   >• TU    $ r   r   )ÚxÚnode_remappings    €r   Ú<lambda>Ú,run_and_get_constant_graph.<locals>.<lambda>”  s
   ø€ °~ÀaÒ7Hr   )rÓ   rS   rT   rU   ri   r#   r„   r   r   ÚGraphr(   rÑ   rÐ   Ú	node_copyrm   r   ry   ÚtuplerÊ   r½   )r   r8   r2   r9   rØ   r   Ú	new_graphÚoutput_nodesÚnew_nodeÚuserÚnew_gmrÜ   s              @r   Úrun_and_get_constant_graphrç   m  s-  ø€ ô Ø
Ð4ôð”E—H‘H—M‘Mð ¤dô ð —‘—”ˆØ�7‰7�jÓ  T§Y¡YÐ3H×3NÈBÕ%OÙ�$ŽKñ ô —‘—‘Ó €Ià9;€NØ€LØ—‘—”ˆØ�9‰9”XÑ¤*Ó,Ùà×&Ñ& tÔ-HÓIˆØ'ˆ�tÑà—J”JˆDØ�y‰yœÑ"¤jÕ0Ø×#Ñ# HÔ-Úó ñ ð ×Ñ”U˜<Ó(Ô)Ø‡N�NÔÜ�X‰X×!Ñ! "Ó0€Fà€Mr   )r   N)NNr   )TNN)(r>   Úcollections.abcr   Útypingr   r   rS   Útorch.utils._pytreerÄ   Ú_pytreerN   Útorch._inductor.freezing_utilsr   Útorch.utils._ordered_setr   r_   rj   rÑ   rÐ   rÒ   r   r�   rT   r   ÚTargetÚ__annotations__r   r   r½   rU   r–   r¾   r1   ri   r4   ÚInterpreterr6   rÎ   rÓ   rç   r   r   r   Ú<module>rñ      sO  ðÜ Ý $ß  ã ß $Ð $Ý DÝ /ð ‡y�y‡~�~€ð
 €Ø€
Ø"Ð à24Ð �T˜%Ÿ(™(Ÿ-™-×.Ñ.Ñ/Ó 4ð#˜uŸx™xŸ}™}×3Ñ3ð #¸ô #ô
 ð (,Øñ	',Ø�‰×Ñð',à
�(‰(�-‰-ð',ð �u—|‘|Ñ$ð',ð �3‰-ð	',ð
 
õ',ðTOØ
�(‰(�-‰-ðOØ08¸¸c¹Ñ0CðOà	ôOô`-�U—X‘X×)Ñ)ô `-ðJ @DñØ�‰×Ñðà˜H e§h¡h§m¡m _°dÐ%:Ñ;Ñ<ðð 
õð< #Ø15ØFJñ	1Ø�‰×Ñð1àð1ð $ D¨¡IÑ.ð1ð # 8¨U¯X©X¯]©]¨O¸TÐ,AÑ#BÑCð	1ð
 
õ1ð> #Ø15ØFJñ	3Ø�‰×Ñð3àð3ð $ D¨¡IÑ.ð3ð # 8¨U¯X©X¯]©]¨O¸TÐ,AÑ#BÑCð	3ð
 ‡X�X×Ñö3r   