§
    ž²Åj�D  ã                   óè  — d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl	m
Z
 d dlmZmZmZmZmZ d dlZd dlmZmZmZmZmZmZmZmZmZ d dlmZ d dlmZ  ej         e!¦  «        Z" e
d¦  «        Z#e# $                    ¦   «         Z% G d„ d	e&¦  «        Z'	 d'd
ede(deee(ef                  fd„Z)d„ Z*ddddddddddddœd
ee         deej+        j,                 deee                  deee(e(f                  fd„Z-ddddœd„Z.ddddœdeee(e(f                  fd„Z/d„ Z0d„ Z1d„ Z2d„ Z3	 d(deej+        j,                 fd „Z4d!„ Z5ddd"dddd#dd$œdeee(e(f                  d%ee6e(f         fd&„Z7dS ))é    N)Úimport_module)ÚAnyÚDictÚOptionalÚTupleÚUnion)	Ú_cuda_system_info_commentÚBuckTargetWriterÚextra_importsÚgenerate_config_stringÚhelper_for_dump_minifyÚInputReaderÚminifier_dirÚNNModuleToStringÚNopInputReader)ÚExportedProgram)Útqdmztorch._inductor.configc                   ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚAOTIMinifierErrorc                 ó„   •— d}|› dt          |¦  «        › �}t          ¦   «                              |¦  «         || _        d S )NzRThis error is caused by a bug in the AOTI minifier, please report a bug to PyTorchz: )ÚstrÚsuperÚ__init__Úoriginal_exception)Úselfr   Úadditional_messageÚfull_messageÚ	__class__s       €úIC:\Projects\Historical\venv\Lib\site-packages\torch/_dynamo/repro/aoti.pyr   zAOTIMinifierError.__init__&   sK   ø€ ØqÐØ,ÐIÐIµÐ4FÑ0GÔ0GÐIÐIˆÝ‰Œ×Ò˜Ñ&Ô&Ð&Ø"4ˆÔÐÐó    )Ú__name__Ú
__module__Ú__qualname__r   Ú__classcell__)r   s   @r   r   r   %   s8   ø€ € € € € ð5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5r    r   Úexported_programÚcompiler_nameÚoptionsc                 óV  — t          j        ¦   «         }t          j                             t          ¦   «         d¦  «        }t          j                             |¦  «        st          j        |d¬¦  «         t          ||| |d|¬¦  «         t          | 
                    ¦   «         ¦  «        S )NÚcheckpointsT©Úexist_okÚminify)r%   Úsave_dirÚcommandÚconfig_patches)ÚioÚStringIOÚosÚpathÚjoinr   ÚexistsÚmakedirsÚsave_graph_repro_epr   Úgetvalue)r%   r&   r'   ÚoutÚsubdirs        r   Údump_to_minifyr;   -   s”   € õ
 Œ+‰-Œ-€CÝŒW�\Š\�,™.œ.¨-Ñ8Ô8€FÝŒ7�>Š>˜&Ñ!Ô!ð +Ý
Œ�F TÐ*Ñ*Ô*Ð*ÝØØØ)ØØØðñ ô ð õ " #§,¢,¡.¤.Ñ1Ô1Ð1r    c                 óF   — d„ }t          j        | ¦  «        } ||¦  «        S )Nc                 ó^  — |                       d¦  «        }t          |¦  «        dk    rd| z   S |                     d¦  «        }t          t          |¦  «        ¦  «        D ]0}||         }|                     ¦   «         dk    r	d|z   ||<   Œ+d||<   Œ1d                     |¦  «        }|dz   |z   }|S )Nú
é   z# r   Ú )ÚsplitÚlenÚpopÚrangeÚstripr4   )Ús_ÚsÚfirstÚiÚlines        r   Ú_convert_to_commentz.get_module_string.<locals>._convert_to_commentB   s¬   € Ø�HŠH�T‰NŒNˆÝˆq‰6Œ6�QŠ;ˆ;Ø˜"‘9ÐØ—’�a‘”ˆÝ•s˜1‘v”v‘”ð 	ð 	ˆAØ�Q”4ˆDØ�zŠz‰|Œ|˜rÒ!Ð!Ø˜d‘{��!‘�à��!‘�Ø�IŠI�a‰LŒLˆØ�D‰L˜1ÑˆØˆr    )r   Úconvert)ÚgmrK   Úmodule_strings      r   Úget_module_stringrO   A   s4   € ðð ð õ %Ô,¨RÑ0Ô0€MØÐ˜}Ñ-Ô-Ð-r    FÚrun)r%   rM   Úargsr/   Ústable_outputr-   r.   ÚaccuracyÚ	check_strÚmodule_in_commentÚstrictrM   rQ   r/   c                ó6  — |€|€t          d¦  «        ‚|�|�t          d¦  «        ‚|�|€t          d¦  «        ‚|€+|€J ‚|€J ‚t          j                             |||¬¦  «        }n|€|                     ¦   «         }t	          |¦  «        }|                      |¦  «         |                      t          ||||¬¦  «        ¦  «         |	€d|v }	|                      d¦  «         |                      d¦  «         |                      d	|	›d
|›d|›d|
›d�	¦  «         d S )Nz.One of exported_program and gm must be definedz2Only one of exported_program and gm can be definedz-If gm is defined, args should also be defined©rV   ©r'   rR   r-   Ú	_accuracyzif __name__ == '__main__':
z3    from torch._dynamo.repro.aoti import run_repro
zf    with torch.no_grad():
        run_repro(exported_program, config_patches=config_patches, accuracy=z
, command=z, save_dir=z, check_str=z)
)r   ÚtorchÚexportÚmodulerO   ÚwriteÚ(generate_compiler_repro_exported_program)Úfdr&   r%   rM   rQ   r/   rR   r-   r.   rS   rT   rU   rV   rN   s                 r   r7   r7   U   sŒ  € ð( Ð B JÝÐ PÑQÔQÐQØÐ#¨¨ÝÐ TÑUÔUÐUØ	€~˜$˜,ÝÐ OÑPÔPÐPàÐØˆ~ˆ~ˆ~ØÐÐÐÝ œ<×.Ò.¨r°4ÀÐ.ÑGÔGÐÐØ	ˆØ×$Ò$Ñ&Ô&ˆõ & bÑ)Ô)€MØ‡H‚Hˆ]ÑÔÐð ‡H‚HÝ0ØØ"Ø'Øð		
ñ 	
ô 	
ñô ð ð ÐØ -Ð/ˆØ‡H‚HÐ+Ñ,Ô,Ð,Ø‡H‚HÐCÑDÔDÐDØ‡H‚Hð	=ØW_ð	=ð 	=Ømtð	=ð 	=àð	=ð 	=à,5ð	=ð 	=ð 	=ñô ð ð ð r    )r/   rS   rV   c                ó°  — t           j                             t          ¦   «         d¦  «        }t           j                             |¦  «        st          j        |d¬¦  «         t           j                             |t          | j        j        ¦  «        › d�¦  «        }t           
                    dt          | j        j        ¦  «        |¦  «         t          |d¦  «        5 }t          ||| t          |¦  «        |||d|¬¦	  «	         d d d ¦  «         n# 1 swxY w Y   t          j        ¦   «         }	t           j                             |	d¦  «        }
	 t          j        ||
¦  «         t           
                    d	|
¦  «         t"          r#t%          |¦  «                             ¦   «          d S d S # t(          $ r t           
                    d
|
¦  «         Y d S w xY w)Nr)   Tr*   z.pyz&Writing checkpoint with %s nodes to %sÚw)rM   rQ   r/   r-   rS   rU   rV   zrepro.pyz(Copying repro file for convenience to %szNo write permissions for %s)r2   r3   r4   r   r5   r6   rB   ÚgraphÚnodesÚlogÚwarningÚopenr7   ÚtupleÚgetcwdÚshutilÚcopyfileÚuse_buckr
   r^   ÚOSError)rM   rQ   r&   r/   rS   rV   r:   Ú	file_namer`   ÚcurdirÚ
repro_paths              r   Údump_compiler_graph_staterq   �   sð  € õ ŒW�\Š\�,™.œ.¨-Ñ8Ô8€FÝŒ7�>Š>˜&Ñ!Ô!ð +Ý
Œ�F TÐ*Ñ*Ô*Ð*Ý”—’˜V­¨B¬H¬NÑ(;Ô(;Ð%@Ð%@Ð%@ÑAÔA€IÝ‡K‚KØ0µ#°b´h´nÑ2EÔ2EÀyñô ð õ 
ˆi˜Ñ	Ô	ð 
 ÝØØØÝ�t‘”Ø)ØØØ"Øð
	
ñ 
	
ô 
	
ð 
	
ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
õ ŒY‰[Œ[€FÝ”—’˜f jÑ1Ô1€Jð?ÝŒ˜	 :Ñ.Ô.Ð.Ý�ŠÐ>À
ÑKÔKÐKÝð 	0Ý˜YÑ'Ô'×-Ò-Ñ/Ô/Ð/Ð/Ð/ð	0ð 	0øåð ?ð ?ð ?Ý�ŠÐ1°:Ñ>Ô>Ð>Ð>Ð>Ð>ð?øøøs%   Ã&DÄDÄDÅAF, Æ,%GÇGrY   c                ó.  — t          j        dt          |¬¦  «        › dt          › d�¦  «        }|s�|dt          j        j        › d�z  }t          t          j        d¦  «        r|dt          j        j        › d�z  }t          t          j        d	¦  «        r|d
t          j        j	        › d�z  }|t          ¦   «         z  }t          j                             |d¦  «        }t          j                             | |¦  «         |d|› d�z  }|dz  }|d|› d�z  }|S )Nz5
import torch
import torch._inductor.inductor_prims

)rR   z!

isolate_fails_code_str = None

z


        z# torch version: r>   Úcudaz# torch cuda version: Úgit_versionz# torch git version: z


zexported_program.pt2z&exported_program = torch.export.load('z')
z # print(exported_program.graph)
zconfig_patches=)ÚtextwrapÚdedentr   r   r[   ÚversionÚ__version__Úhasattrrs   rt   r	   r2   r3   r4   r\   Úsave)r%   r'   rR   r-   Ú	model_strÚep_paths         r   r_   r_   »   sJ  € õ ”ð
	õ  mÐ4Ñ4Ô4ð	
	ð 
	õ ð
	ð 
	ð 
	ñô €Ið ð 1ØÐF­¬Ô)BÐFÐFÐFÑFˆ	Ý•5”= &Ñ)Ô)ð 	IØÐHµ%´-Ô2DÐHÐHÐHÑHˆIÝ•5”= -Ñ0Ô0ð 	SØÐRµ´Ô1JÐRÐRÐRÑRˆIØÕ.Ñ0Ô0Ñ0ˆ	åŒg�lŠl˜8Ð%;Ñ<Ô<€GÝ	„L×ÒÐ&¨Ñ0Ô0Ð0àÐG¸'ÐGÐGÐGÑG€IØÐ4Ñ4€IØÐ. 7Ð.Ð.Ð.Ñ.€IØÐr    c                 ó   — t          | d¦  «        st                               d¦  «         n+| j        dk    r t                               d| j        ¦  «         t	          ¦   «         } | |¦  «         t          d|j        ¬¦  «        5 }t          ||¬¦  «        } | |¦  «         |j        }d d d ¦  «         n# 1 swxY w Y   t          |¦  «        S )NÚ_versionzzload_args does not have a _version attribute, please file a bug to PyTorch and describe how you generate this repro scriptr   z¾load_args is version %s, but this version of PyTorch only supports version 0.  We will try to run it anyway but there may be an incompatibility; if so, try upgrading your version of PyTorch.zLoading inputs)ÚdescÚtotal)r-   Úpbar)
ry   re   rf   r~   r   r   r€   r   rQ   rh   )Ú	load_argsr-   Ú
nop_readerr�   Úinput_readerrQ   s         r   Úrepro_load_argsr…   à   s&  € Ý�9˜jÑ)Ô)ð Ý�Šð>ñ	
ô 	
ð 	
ð 	
ð
 Ô Ò!Ð!Ý�KŠKð@ð Ô"ñ	ô ð õ  Ñ!Ô!€JØ€IˆjÑÔÐå	Ð#¨:Ô+;Ð	<Ñ	<Ô	<ð !ÀÝ"¨H¸4Ð@Ñ@Ô@ˆØˆ	�,ÑÔÐØÔ ˆð!ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !õ
 �‰;Œ;Ðs   Â$B6Â6B:Â=B:c                 ót   — dt           j        j        _        |                     ¦   «         }|j        \  }}|||fS )NT)r[   Ú	_inductorÚconfigÚgenerate_intermediate_hooksr]   Úexample_inputs)r'   r%   ÚmodrQ   Úkwargss        r   Úrepro_commonr�   ú   s9   € Ø9=…E„OÔÔ6Ø
×
!Ò
!Ñ
#Ô
#€CØ#Ô2�L€Dˆ&Ø��fÐÐr    c                 ó4   — t          | |¦  «        \  }}}|||fS ©N)r�   )r'   r%   r/   r‹   rQ   rŒ   s         r   Úrepro_get_argsr�     s&   € Ý$ WÐ.>Ñ?Ô?Ñ€CˆˆvØ��fÐÐr    c                 ó2  — ddl m}m} t          | |¦  «        \  }}}ddlm}  ||||d|¬¦  «        }	 ||	¦  «        }
t          |
t          ¦  «        rJ ‚d}|D ]'}t          |t          j	        ¦  «        r|j
        rd} nŒ( |
|i |¤Ž |r |¦   «          d S d S )Nr   )Ú_aoti_compile_and_package_innerÚaoti_load_package©ÚsynchronizeF©Úload_and_runÚinductor_configsT)Útorch._inductorr’   r“   r�   Ú
torch.cudar•   Ú
isinstancer   r[   ÚTensorÚis_cuda)r'   r%   r/   r’   r“   rM   rQ   rŒ   r•   Úpackage_pathÚcompiledÚ	need_syncÚargs                r   Ú	repro_runr¢     s  € ØRÐRÐRÐRÐRÐRÐRÐRå# GÐ-=Ñ>Ô>Ñ€Bˆˆfà&Ð&Ð&Ð&Ð&Ð&à2Ð2Ø
ØØØØ'ðñ ô €Lð !Ð  Ñ.Ô.€HÝ˜(¥CÑ(Ô(Ð(Ð(Ð(à€Iàð ð ˆÝ�c�5œ<Ñ(Ô(ð 	¨S¬[ð 	ØˆIØˆEøà€HˆdÐ�fÐÐÐàð Øˆ‰Œˆˆˆðð r    TÚreturnc                 ó¢  — ddl m}m} 	 t          j                             | ||¬¦  «        }|                     ¦   «         } | S # t          $ r‚}|rY d }~d S t          ||¦  «        r|j        |j	        k    rY d }~d S t          |t          ¦  «        r*d}t          j        |t          |¦  «        ¦  «        �Y d }~d S t          |¦  «        |‚d }~ww xY w)Nr   )Ú	UserErrorÚUserErrorTyperX   z/Found .* in output, which is not a known type\.)Útorch._dynamo.excr¥   r¦   r[   r\   r]   Ú	Exceptionr›   Ú
error_typeÚINVALID_OUTPUTÚRuntimeErrorÚreÚsearchr   r   )	rM   Útuple_inputsrV   Úskip_export_errorr¥   r¦   ÚepÚeÚpatterns	            r   Úexport_for_aoti_minifierr³   $  sý   € ð ;Ð:Ð:Ð:Ð:Ð:Ð:Ð:ð*ÝŒ\× Ò   \¸&Ð ÑAÔAˆØ�YŠY‰[Œ[ˆØˆ	øÝð *ð *ð *Øð 	Ø�4�4�4�4�4Ý�a˜Ñ#Ô#ð 	¨¬¸Ô8TÒ(TÐ(Tà�4�4�4�4�4Ý�a�Ñ&Ô&ð 	àHˆGÝŒy˜¥# a¡&¤&Ñ)Ô)Ð5Ø�t�t�t�t�tÝ Ñ"Ô"¨Ð)øøøøð*øøøs)   Š7A Á
CÁC	Á C	Á:9C	Â9C	Ã	Cc                 óü  ‡‡‡‡‡‡— ddl m} ddlmŠ ddlm} t          | |¦  «        \  }}} |||||¬¦  «        \  }Šd}	| j        dv sJ ‚| j        dk    Š| j        Šdd	l	m
Š d
Š|D ]'}
t          |
t          j        ¦  «        r|
j        rdŠ nŒ(dˆˆˆˆˆˆfd„	} |||t          j        || j        ¬¦  «        t          j        t$          |	|‰¬¦  «        | j        | j        | j        | j        | j        ¬¦	  «	         d S )Nr   )Úminifier)r’   )Ú_aoti_flatten_inputs)r'   Úaot_inductor)ÚdynamoÚpythonr¸   r”   FTc                 ó0  •— t          |¦  «        }t          | |‰	‰¬¦  «        } | €dS t          | t          j        j        ¦  «        sJ ‚	  ‰| |d‰¬¦  «         ‰r
 ‰
¦   «          dS # t          $ r$}|�|t          |¦  «        vrY d }~dS Y d }~dS d }~ww xY w)N)rV   r¯   FTr–   )rh   r³   r›   r[   ÚfxÚGraphModuler¨   Úrepr)rM   Úflat_example_inputsrT   r®   r±   r’   r˜   r    r¯   rV   r•   s        €€€€€€r   Úmodule_failsz"repro_minify.<locals>.module_failsa  sê   ø€ åÐ0Ñ1Ô1ˆÝ%Ø� VÐ?Pð
ñ 
ô 
ˆð ˆ:Ø�5å˜"�eœhÔ2Ñ3Ô3Ð3Ð3Ð3ð	Ø+Ð+ØØØ!Ø!1ð	ñ ô ð ð ð Ø�‘”�Ø�5øÝð 	ð 	ð 	ØÐ$¨½$¸q¹'¼'Ð)AÐ)AØ�u�u�u�u�uØ�4�4�4�4�4øøøøð	øøøs   Á
A' Á'
BÁ1BÂB)rT   )r&   r/   rV   )r¿   Ú
dump_stater-   Úoffload_to_diskÚskip_offloadÚskip_sanityÚmax_granularityr�   )Úfunctorch.compilerµ   r™   r’   Útorch._inductor.compile_fxr¶   r�   Úminifier_export_moder¯   rš   r•   r›   r[   rœ   r�   Ú	functoolsÚpartialrT   rq   r-   rÁ   Úskip_saving_eager_intermediatesrÃ   rÄ   )r'   r%   r/   rµ   r¶   r‹   rQ   rŒ   r¾   r&   r¡   r¿   r’   r˜   r    r¯   rV   r•   s               @@@@@@r   Úrepro_minifyrË   H  s¸  øøøøøø€ Ø*Ð*Ð*Ð*Ð*Ð*Ø?Ð?Ð?Ð?Ð?Ð?Ø?Ð?Ð?Ð?Ð?Ð?å$ WÐ.>Ñ?Ô?Ñ€Cˆˆvð -AÐ,@ØˆT�6 >ð-ñ -ô -Ñ)ÐÐ)ð #€MØÔ'Ð+?Ð?Ð?Ð?Ð?ØÔ)¨XÒ5€FØÔ1Ðà&Ð&Ð&Ð&Ð&Ð&à€Iàð ð ˆÝ�c�5œ<Ñ(Ô(ð 	¨S¬[ð 	ØˆIØˆEøðð ð ð ð ð ð ð ð ð ð ð: €HØØÝÔ& |¸wÔ?PÐQÑQÔQÝÔ$Ý%Ø'Ø)Øð	
ñ 
ô 
ð Ô!ØÔ/ØÔ<ØÔ'ØÔ/ðñ ô ð ð ð r    r@   r¹   )r/   r.   rS   r-   Útracing_moderT   rÇ   r¯   rS   c                óÔ  ‡— |	D ]}
t                                d|
¦  «         Œ|du rd}t          d¦  «        ‚|du rd}t          j        d|› d|› d	|›d
|›d‰›d|›d�t          j        ¬¦  «        }ˆfd„}|                     ddd¬¦  «        }|                     dd¬¦  «        } ||¦  «         |                     dd¬¦  «        } ||¦  «         |                     dd¬¦  «        } ||¦  «         |                     ddd¬¦  «         |                     ddd¬¦  «         |                     d dd!¬¦  «         |                     d"t          d d#¬$¦  «         |                     d%t          |d&¬$¦  «         |                     d't          |d(¬$¦  «         |                     d)t          |d*¬$¦  «         |                     d+¦  «        } ||¦  «         |                     d%t          |d&¬$¦  «         d }t          t          j        ¦  «        d,k    r|gt          j        d,d …         ¢}|                     |¦  «        }t           t"          t$          d-œ} ||j                 || |¬.¦  «        S )/NzPUnrecognized kwarg %s; perhaps this repro was made on a newer version of PyTorchTrS   z'check for accuracy is not supported yetFr@   z†An AOTI repro script, typically triggering a bug in PyTorch AOTInductor.
When run with no arguments, this script defaults to running 'z8'.
Extra flags may be available; to find out more, try 'zr --help'.
There are also alternate subcommands available, see below.

default settings on this script:
  accuracy=z
  tracing_mode=z
  save_dir=z
  check_str=r>   )ÚdescriptionÚformatter_classc                 óz   •— |                       dt          ‰dd¬¦  «         |                       dddd d¬	¦  «         d S )
Nz
--save-dirÚDIRz!directory where saved inputs live)ÚtypeÚdefaultÚmetavarÚhelpz--no-save-dirr-   Ústore_constz(don't use any directory for saved inputs)ÚdestÚactionÚconstrÕ   )Úadd_argumentr   )Úparserr-   s    €r   Úcommon_flagszrun_repro.<locals>.common_flags¹  sg   ø€ Ø×ÒØÝØØØ4ð 	ñ 	
ô 	
ð 	
ð 	×ÒØØØ ØØ;ð 	ñ 	
ô 	
ð 	
ð 	
ð 	
r    r.   z{run,minify,analyze})r×   rÔ   ÚrequiredrP   zjust run the repro)rÕ   r,   zrun the minifier on the reproÚget_argszget the argsz!--skip-saving-eager-intermediatesÚ
store_truez+skip saving eager intermediates on --minify)rØ   rÕ   z--offload-to-diskzYduring minification, offload delta debugging intermediates to disk.  Use if you're OOMingz--skip-sanityz@skip sanity check at beginning of minification on original graphz--max-granularityz;start at this granularity and work down; must be power of 2)rÒ   rÓ   rÕ   z--check-strzBrequire minified program to fail with error containing this stringz--minifier-export-modezˆThe export mode used in minifier, either dynamo or python.`dynamo` corresponds to strict=True, and `python` corresponds to strict=False.z--skip-export-errorz1Skip intermediate graphs that cannot be exported.zminifier-queryr?   )r,   rP   rÞ   )r/   )re   rf   ÚNotImplementedErrorÚargparseÚArgumentParserÚRawTextHelpFormatterÚadd_subparsersÚ
add_parserrÚ   Úintr   ÚboolrB   ÚsysÚargvÚ
parse_argsrË   r¢   r�   r.   )r%   r/   r.   rS   r-   rÌ   rT   rÇ   r¯   Úmore_kwargsÚkrÛ   rÜ   Ú
subparsersÚ
parser_runÚparser_minifyÚparser_get_argsÚparser_minifier_queryrQ   r'   ÚCOMMAND_FNSs       `                r   Ú	run_reproró   �  s±  ø€ ð ð 
ð 
ˆÝ�ŠØ^Øñ	
ô 	
ð 	
ð 	
ð
 �4ÐÐØˆÝ!Ð"KÑLÔLÐLØ	�UÐ	Ð	ØˆåÔ$ðà>Eðð ð 7>ðð ð ðð ð ðð ð ðð ð ðð ð õ !Ô5ðñ ô €Fð 
ð 
ð 
ð 
ð 
ð  ×&Ò&ØÐ 6Àð 'ñ ô €Jð ×&Ò&ØØ!ð 'ñ ô €Jð €L�ÑÔÐà×)Ò)ØÐ6ð *ñ ô €Mð €L�ÑÔÐØ ×+Ò+¨J¸^Ð+ÑLÔL€OØ€L�Ñ!Ô!Ð!Ø×ÒØ+ØØ:ð ñ ô ð ð
 ×ÒØØØhð ñ ô ð ð
 ×ÒØØØOð ñ ô ð ð
 ×ÒØÝØØJð	 ñ ô ð ð ×ÒØÝØØQð	 ñ ô ð ð ×ÒØ ÝØ$ð]ð ñ ô ð ð ×ÒØÝØ!Ø@ð	 ñ ô ð ð '×1Ò1Øñô Ðð €LÐ&Ñ'Ô'Ð'Ø×&Ò&ØÝØØQð	 'ñ ô ð ð €DÝ
�3Œ8�}„}˜ÒÐØÐ'�#œ( 1 2 2œ,Ð'ˆà×Ò Ñ%Ô%€GåÝÝ"ðð €Kð
 (ˆ;�w”Ô'ØÐ!°.ðñ ô ð r    r�   )FT)8rá   rÈ   r0   Úloggingr2   r¬   rj   rè   ru   Ú	importlibr   Útypingr   r   r   r   r   r[   Útorch._dynamo.debug_utilsr	   r
   r   r   r   r   r   r   r   Útorch.exportr   Ú	torch.hubr   Ú	getLoggerr!   re   Úinductor_configÚ	is_fbcoderl   r¨   r   r   r;   rO   ÚnnÚModuler7   rq   r_   r…   r�   r�   r¢   r³   rË   rç   ró   © r    r   ú<module>r      sÐ  ðà €€€Ø Ð Ð Ð Ø 	€	€	€	Ø €€€Ø 	€	€	€	Ø 	€	€	€	Ø €€€Ø 
€
€
€
Ø €€€Ø #Ð #Ð #Ð #Ð #Ð #Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4à €€€ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð )Ð (Ð (Ð (Ð (Ð (Ø Ð Ð Ð Ð Ð ð €gÔ˜Ñ!Ô!€ð  �-Ð 8Ñ9Ô9€Ø×$Ò$Ñ&Ô&€ð5ð 5ð 5ð 5ð 5˜	ñ 5ô 5ð 5ð )-ð2ð 2Ø%ð2àð2ð �d˜3 ˜8”nÔ%ð2ð 2ð 2ð 2ð(.ð .ð .ð0 37Ø$(Ø!%Ø/3ØØØØØØØð7ð 7ð 7ð ˜Ô/ð	7ð
 	�””Ô!ð7ð �5˜”:Ô
ð7ð ˜T # s (œ^Ô,ð7ð 7ð 7ð 7ð~ ØØð$?ð $?ð $?ð $?ð $?ð^ )-ØØð"ð "ð "ð �d˜3 ˜8”nÔ%ð"ð "ð "ð "ðJð ð ð4ð ð ðð ð ð
ð ð ð> 7;ð!ð !àˆeŒhŒoÔð!ð !ð !ð !ðHEð Eð EðV 04ØØ!#ØØØØ!ØðLð Lð Lð ˜T # s (œ^Ô,ðLð
 �D˜#�IÔðLð Lð Lð Lð Lð Lr    