Ë
    ÃÓ^j]J  ã                   ó.  — U d dl Z d dlZd dlmZ d dlmZ d dlmZ d dlZd dlm	Z	 d dl
mZ d dlmZ d dlmZ d d	lmZ d d
lmZmZ d dlmZ d dlmZ d dlmZ d dlmZmZ d dlmZ d dl m!Z!m"Z" d dl#m$Z$m%Z% d dl&m'Z( dgZ)eZ*eZ+edef   Z,eej                  jZ                  ge"dz  f   Z.ej^                  ej`                  ejb                  ejd                  ejf                  ejh                  ejj                  hZ6e7e   e8d<    G d„ de9«      Z: G d„ de!«      Z;y)é    N)ÚCallable)Únullcontext)ÚAny)Úfx)Úenable_python_dispatcher)ÚNodeMetadata)Ú
ProxyValue)Ú_unstack_pytree)Ú
FakeTensorÚUnsupportedFakeTensorException)ÚFakeTensorMode)Ú	traceback)ÚPythonKeyTracer)Úcompute_unbacked_bindingsÚPropagateUnbackedSymInts)ÚCodeGen)ÚPassBaseÚ
PassResult)Ú_extract_tensor_metadataÚTensorMetadata)Ú_pytreeÚ!_ExportPassBaseDeprecatedDoNotUse.Ú_TORCH_SYM_OPSc                   ó   — e Zd Zy)ÚExportPassBaseErrorN)Ú__name__Ú
__module__Ú__qualname__© ó    úb/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/torch/_export/pass_base.pyr   r   0   s   „ Ør    r   c                   óÚ  — e Zd ZdZed„ «       Z G d„ de«      Z G d„ dej                  «      Z
d*d	„Zd
edej                  j                  j                  deedf   deeef   dedefd„Zdej                  j,                  dee   fd„Zdeddfd„Zdedededefd„Zdeedf   deeef   dedefd„Zdedeedf   dedefd„Zdedej                  j,                  dej                  j,                  dee   dedefd„Zdej                  j,                  d ee   d!ee   dedef
d"„Zd#ed$e dedefd%„Z!d&ee   dedefd'„Z"dej,                  deedf   de#fd(„Z$dej,                  de#fd)„Z%y)+r   zl
    Interpreter-based pass class to help users maintain the IR spec while writing
    transformations.
    c                  ób   — t        ddj                  t        j                  d¬«      «      i«      S )NÚstack_traceÚ é   )Úlimit)r   Újoinr   Úformat_stackr   r    r!   Ú_create_dummy_node_metadataz=_ExportPassBaseDeprecatedDoNotUse._create_dummy_node_metadata:   s'   € ä˜]¨B¯G©G´I×4JÑ4JÐQRÔ4SÓ,TÐUÓVÐVr    c                   ó¬   ‡ — e Zd Zdddeddfˆ fd„Zdd„Zdedej                  j                  fˆ fd	„Z
d
ej                  j                  deddfd„Zˆ xZS )ú._ExportPassBaseDeprecatedDoNotUse.ExportTracerÚcallbackr   ÚcodegenÚreturnNc                 ó  •— t         ‰| �  «        || _        t        j                  j                  «       | _        t        j                  j                  «       | _	        | j                  j                  |«       i | _        d | _        i | _        y ©N)ÚsuperÚ__init__r-   ÚtorchÚnnÚModuleÚrootr   ÚGraphÚgraphÚset_codegenÚtensor_attrsÚfake_tensor_modeÚ
submodules)Úselfr-   r.   Ú	__class__s      €r!   r3   z7_ExportPassBaseDeprecatedDoNotUse.ExportTracer.__init__?   sd   ø€ ô ‰GÑÔØ$ˆDŒMÜŸ™Ÿ™Ó)ˆDŒIÜŸ™Ÿ™Ó)ˆDŒJØ�J‰J×"Ñ" 7Ô+Ø9;ˆDÔØ;?ˆDÔ!Ø:<ˆD�Or    c                 ó   — t        d«      ‚)Nz%ExportTracer doesn't support trace().©r   ©r>   s    r!   Útracez4_ExportPassBaseDeprecatedDoNotUse.ExportTracer.traceK   s   € Ü%Ð&MÓNÐNr    Úac                 ó   •— t        |t        j                  j                  «      rR|| j                  vr‡dt        | j                  «      › �}| j                  j                  ||«       || j                  |<   nCt        |t        «      r3t        |d«      r|j                  €t        d|› d�«      ‚|j                  }t        ‰| �5  |«      }t        |t        j                  «      rjt        |t        j                  j                   «      rF|j"                  dk(  r7| j%                  ||«       | j&                  j)                  t+        ||«      «       |S )NÚ
submodule_ÚconstantzCannot add z
 to graph.Úget_attr)Ú
isinstancer4   r5   r6   r=   Úlenr7   Ú
add_moduler   ÚhasattrrG   r   r2   Ú
create_argÚTensorr   ÚNodeÚopÚset_metadatar-   Úon_attrr	   )r>   rD   Úname_submoduleÚnoder?   s       €r!   rM   z9_ExportPassBaseDeprecatedDoNotUse.ExportTracer.create_argN   sü   ø€ Ü˜!œUŸX™XŸ_™_Ô-Ø˜DŸO™OÑ+Ø'1´#°d·o±oÓ2FÐ1GÐ%H�NØ—I‘I×(Ñ(¨¸Ô;Ø)7�D—O‘O AÒ&Ü˜AœzÔ*Ü˜q *Ô-°·±Ð1CÜ-°¸A¸3¸jÐ.IÓJÐJØ—J‘J�Ü‘7Ñ% aÓ(ˆDä˜1œeŸl™lÔ+Ü˜t¤U§X¡X§]¡]Ô3Ø—G‘G˜zÒ)à×!Ñ! $¨Ô*Ø—‘×%Ñ%¤j°°DÓ&9Ô:ØˆKr    rT   Úvaluec                 ó„  ‡ — dt         dt        t        j                  z  t        j                  z  t        j
                  z  t        z  t        z  t        z  t        z  d z  fˆ fd„}t        j                  ||«      |j                  d<   dt         dt        d z  fˆ fd„}t        j                  ||«      |j                  d<   y )NÚxr/   c           
      ój  •— t        | t        «      r| S t        | t        j                  «      rš| j                  rt        j
                  | «      } 	 ‰j                  €t        d«      ‚t        | t        j                  j                  «      r‰j                  j                  | d¬«      }|S ‰j                  j                  | «      }	 |S t        | t        j                  t        j                  t        j                  t         t"        t$        t&        f«      r| S y # t        $ r t        d«       d }Y |S w xY w)Nú!fake_tensor_mode must not be NoneT)Ústatic_shapeszvFakeifying a Tensor subclass is not supported                             right now. Instead a TensorMetadata is used.)rI   r   r4   rN   Úis_quantizedÚ
dequantizer<   ÚAssertionErrorr5   Ú	ParameterÚfrom_tensorr   ÚprintÚSymIntÚSymFloatÚSymBoolÚintÚfloatÚboolÚstr)rW   Úfake_tensorr>   s     €r!   Úmake_valzM_ExportPassBaseDeprecatedDoNotUse.ExportTracer.set_metadata.<locals>.make_valh   s  ø€ ô ˜a¤Ô,Ø�HÜ ¤5§<¡<Ô0Ø—~’~ä!×,Ñ,¨QÓ/˜ð+Ø×0Ñ0Ð8Ü"0Ð1TÓ"UÐUô & a¬¯©×);Ñ);Ô<Ø*.×*?Ñ*?×*KÑ*KØ !°ð +Ló +˜Kð 'Ð&ð +/×*?Ñ*?×*KÑ*KÈAÓ*N™Kð 'Ð&ÜØäŸ™ÜŸ™ÜŸ™ÜÜÜÜðôð �Hàøô/ :ò +ô ðJôð '+™Ø&Ð&ð+ús   ÁAD Â*D ÄD2Ä1D2Úvalc                 ó@  •— t        | t        «      srt        | t        j                  «      rX| j                  rt        j
                  | «      } 	 ‰j                  €t        d«      ‚‰j                  j                  | «      }d }|S y # t        $ r t        | «      }Y |S w xY w)NrY   )rI   r   r4   rN   r[   r\   r<   r]   r_   r   r   )rW   Ú_Útensor_metar>   s      €r!   Úmake_tensor_metazU_ExportPassBaseDeprecatedDoNotUse.ExportTracer.set_metadata.<locals>.make_tensor_meta£   sš   ø€ Ü! !¤ZÔ0´ZÀÄ5Ç<Á<Ô5PØ—~’~ä!×,Ñ,¨QÓ/˜ðBØ×0Ñ0Ð8Ü"0Ð1TÓ"UÐUØ ×1Ñ1×=Ñ=¸aÓ@˜Ø&*˜ð
 'Ð&àøô :ò Bô '?¸qÓ&A™Ø&Ð&ð	Bús   Á4B ÂBÂBrm   )ÚArgumentr   r4   ra   rb   rc   rd   re   rf   rg   ÚpytreeÚtree_mapÚmetar   )r>   rT   rU   ri   rn   s   `    r!   rQ   z;_ExportPassBaseDeprecatedDoNotUse.ExportTracer.set_metadatab   sÂ   ø€ ð6 Üð6 ô Ü—,‘,ñä—.‘.ñ!ô —-‘-ñ ô ñ	ô
 ñô ñô ñð ñõ6 ôp  &Ÿ™¨x¸Ó?ˆD�I‰I�eÑð ¤Hð  ´À$Ñ1Fõ  ô& (.§¡Ð7GÈÓ'OˆD�I‰I�mÒ$r    ©r/   N)r   r   r   r   r3   rC   ro   r4   r   rO   rM   rQ   Ú__classcell__©r?   s   @r!   ÚExportTracerr,   >   sr   ø„ ð
	=Ø?ð
	=ØJQð
	=àõ
	=ó	Oð	 ð 	¨U¯X©X¯]©]õ 	ð(T	Pà—(‘(—-‘-ðT	Pð ðT	Pð ÷	T	Pr    rv   c                   ó@  ‡ — e Zd Zdddej                  ddfˆ fd„Zdedeed	f   d
e	eef   de
fˆ fd„Zdej                  j                  j                  deed	f   d
e	eef   de
fd„Zdej                  j                  j                  deed	f   d
e	eef   de
fd„Zdedeed	f   d
e	eef   defˆ fd„Zdej                  j                  j                  deed	f   d
e	eef   ddfd„Zdedeed	f   d
e	eef   ddfd„Zdej                  j(                  defˆ fd„Zˆ xZS )ú3_ExportPassBaseDeprecatedDoNotUse.ExportInterpreterr-   r   Úgmr/   Nc                 óŒ   •— t         ‰| �  |«       || _        t        t	        |j
                  j                  «      «      | _        y r1   )r2   r3   r-   ÚnextÚiterr9   ÚnodesrT   )r>   r-   ry   r?   s      €r!   r3   z<_ExportPassBaseDeprecatedDoNotUse.ExportInterpreter.__init__¹   s2   ø€ ô ‰GÑ˜RÔ Ø$ˆDŒMÜ'+¬D°·±·±Ó,@Ó'AˆD�Ir    ÚtargetÚargs.Úkwargsc                 óš   •— t         ‰| �  |||«      }| j                  j                  ||t        | j                  j
                  «      «      S r1   )r2   Úplaceholderr-   r   rT   rr   )r>   r~   r   r€   Úargr?   s        €r!   r‚   z?_ExportPassBaseDeprecatedDoNotUse.ExportInterpreter.placeholderÁ   s>   ø€ ô ‘'Ñ% f¨d°FÓ;ˆCØ—=‘=×,Ñ,¨V°S¼,ÀtÇyÁyÇ~Á~Ó:VÓWÐWr    c                 óŽ   — | j                   j                  |d   t        | j                  j                  «      «      j
                  S )Nr   )r-   Úoutputr   rT   rr   Údata©r>   r~   r   r€   s       r!   r…   z:_ExportPassBaseDeprecatedDoNotUse.ExportInterpreter.outputÊ   s2   € ð —=‘=×'Ñ'¨¨Q©´¸d¿i¹i¿n¹nÓ1MÓN×SÑSÐSr    c                 ó4  — t        | j                  j                  «      }|t        j                  u r"|\  }}| j
                  j                  |||«      S t        |dd «      dv r6t        |«      st        d|› �«      ‚| j
                  j                  |||«      S |t        v r6t        |«      st        d|› �«      ‚| j
                  j                  |||«      S t        |t        j                  j                  t        j                  j                   f«      r| j
                  j#                  ||||«      S |t        j$                  j&                  j(                  u r&|\  }}}	}
| j
                  j+                  |||	|
|«      S |t        j$                  j&                  j,                  u r$|\  }}}| j
                  j/                  ||||«      S t        |t        j                  j0                  «      r| j
                  j3                  d||||«      S t5        d|› �«      ‚)Nr   >   ÚmathÚbuiltinsÚ	_operatorzexpected callable target, got Úcall_functionzUnsupported target type: )r   rT   rr   ÚoperatorÚgetitemr-   Úcall_getitemÚgetattrÚcallabler]   Úcall_symr   rI   r4   Ú_opsÚ
OpOverloadÚOpOverloadPacketÚcall_operatorÚopsÚhigher_orderÚcondÚ	call_condÚmap_implÚcall_mapÚHigherOrderOperatorÚ_fxr   )r>   r~   r   r€   rr   rU   ÚkeyÚpredÚtrue_fnÚfalse_fnÚinputsÚfÚmapped_argsÚoperandss                 r!   rŒ   zA_ExportPassBaseDeprecatedDoNotUse.ExportInterpreter.call_functionÒ   sí  € ô   §	¡	§¡Ó/ˆDàœ×)Ñ)Ñ)Ø!‘
��sØ—}‘}×1Ñ1°%¸¸dÓCÐCÜ˜ ¨tÓ4ð 9ñ ô
   Ô'Ü(Ð+IÈ&ÈÐ)RÓSÐSØ—}‘}×-Ñ-¨f°d¸DÓAÐAØœ>Ñ)Ü Ô'Ü(Ð+IÈ&ÈÐ)RÓSÐSØ—}‘}×-Ñ-¨f°d¸DÓAÐAÜØœŸ™×.Ñ.´·
±
×0KÑ0KÐLôð —}‘}×2Ñ2ØØØØó	ð ð œ5Ÿ9™9×1Ñ1×6Ñ6Ñ6Ø26Ñ/��g˜x¨Ø—}‘}×.Ñ.¨t°W¸hÈÐPTÓUÐUØœ5Ÿ9™9×1Ñ1×:Ñ:Ñ:Ø+/Ñ(��; Ø—}‘}×-Ñ-¨a°¸hÈÓMÐMä˜F¤E§J¡J×$BÑ$BÔCØ—}‘}×(Ñ(Ø#ØØØØóð ô *Ð,EÀfÀXÐ*NÓOÐOr    c                 ó&   •— t         ‰| �  |||«      S r1   )r2   rH   )r>   r~   r   r€   r?   s       €r!   rH   z<_ExportPassBaseDeprecatedDoNotUse.ExportInterpreter.get_attr  s   ø€ ô ‘7Ñ# F¨D°&Ó9Ð9r    c                 ó   — t        d«      ‚)Nzcall_module is not supported.rA   r‡   s       r!   Úcall_modulez?_ExportPassBaseDeprecatedDoNotUse.ExportInterpreter.call_module  ó   € ô &Ð&EÓFÐFr    c                 ó   — t        d«      ‚)Nzcall_method is not supported.rA   r‡   s       r!   Úcall_methodz?_ExportPassBaseDeprecatedDoNotUse.ExportInterpreter.call_method  rª   r    Únc                 ón   •— || _         |j                  «       | j                  _        t        ‰| �  |«      S r1   )rT   Úformat_noder-   Únode_debug_strr2   Úrun_node)r>   r­   r?   s     €r!   r±   z<_ExportPassBaseDeprecatedDoNotUse.ExportInterpreter.run_node  s,   ø€ ØˆDŒIØ+,¯=©=«?ˆD�M‰MÔ(Ü‘7Ñ# AÓ&Ð&r    )r   r   r   r   ÚGraphModuler3   rg   Útuplero   Údictr	   r‚   r4   rT   ÚTargetr…   rŒ   rH   r©   r¬   rO   r±   rt   ru   s   @r!   ÚExportInterpreterrx   ¸   sú  ø„ ð	BØ?ð	BØEGÇ^Á^ð	Bàõ	Bð	Xàð	Xð ˜ #˜Ñ&ð	Xð ˜˜h˜Ñ'ð		Xð
 õ	Xð	Tà—H‘H—M‘M×(Ñ(ð	Tð ˜ #˜Ñ&ð	Tð ˜˜h˜Ñ'ð		Tð
 ó	Tð0	Pà—H‘H—M‘M×(Ñ(ð0	Pð ˜ #˜Ñ&ð0	Pð ˜˜h˜Ñ'ð	0	Pð
 ó0	Pðd	:àð	:ð ˜ #˜Ñ&ð	:ð ˜˜h˜Ñ'ð		:ð
 õ	:ð	Gà—H‘H—M‘M×(Ñ(ð	Gð ˜ #˜Ñ&ð	Gð ˜˜h˜Ñ'ð		Gð
 ó	Gð	Gàð	Gð ˜ #˜Ñ&ð	Gð ˜˜h˜Ñ'ð		Gð
 ó	Gð	'˜eŸh™hŸm™mð 	'°÷ 	'ñ 	'r    r¶   r/   Nc                 ó8  — t        t        j                  j                  t        j                  j                  «       t        j                  j                  «       «      «      | _        | j                  | t        «       «      | _
        d | _        d| _        d | _        y )NT)r   r4   r   r²   r5   r6   r8   Úinterpreterrv   r   Útracerr<   Ú_initializedr°   rB   s    r!   r3   z*_ExportPassBaseDeprecatedDoNotUse.__init__!  si   € Ü3Ü�H‰H× Ñ ¤§¡§¡Ó!2´E·H±H·N±NÓ4DÓEó
ˆÔð ×'Ñ'¨¬g«iÓ8ˆŒØ7;ˆÔØ ˆÔØ*.ˆÕr    Úkindr~   r   .r€   rr   c                 ó  — t        j                  t        d„ ||f«      \  }} t        | j                  |«      |||«      }t        j                  t        d„ ||f«      \  }	}
d }t        |t        j                  j                  «      r9| j                  j                  j                  |j                  j                  «      }| j                  j                  |||	|
|¬«      }|j                  j                   j#                  |j$                  «       | j&                  r?| j&                  j(                  x}r't+        ||«      x}r||j                  j                   d<   | j                  j-                  |j                  |«       t        ||«      S )Nc                 ó   — | j                   S r1   ©r†   ©rW   s    r!   ú<lambda>z7_ExportPassBaseDeprecatedDoNotUse._fx.<locals>.<lambda>3  s
   €  !§&¡&€ r    c                 ó   — | j                   S r1   )Úproxyr¿   s    r!   rÀ   z7_ExportPassBaseDeprecatedDoNotUse._fx.<locals>.<lambda>7  s
   €  !§'¡'€ r    )ÚnameÚunbacked_bindings)rp   Útree_map_onlyr	   r�   r¸   rI   r4   r“   r”   r¹   r9   Ú_target_to_strÚoverloadpacketr   Úcreate_proxyrT   rr   Úupdater†   r<   Ú	shape_envr   rQ   )r>   r»   r~   r   r€   rr   Ú	args_dataÚkwargs_dataÚres_dataÚ
args_proxyÚkwargs_proxyrÃ   Ú	res_proxyrÊ   Úsymbol_to_paths                  r!   rž   z%_ExportPassBaseDeprecatedDoNotUse._fx*  sS  € ô "(×!5Ñ!5ÜÑ(¨4°¨.ó"
Ñˆ	�;ð 3”7˜4×+Ñ+¨TÓ2°6¸9ÀkÓRˆÜ#)×#7Ñ#7ÜÑ)¨D°&¨>ó$
Ñ ˆ
�Lð ˆÜ�fœeŸj™j×3Ñ3Ô4Ø—;‘;×$Ñ$×3Ñ3°F×4IÑ4I×4RÑ4RÓSˆDà—K‘K×,Ñ,Ø�&˜* l¸ð -ó 
ˆ	ð 	�‰×Ñ×"Ñ" 4§9¡9Ô-Ø× Ò °4×3HÑ3H×3RÑ3RÐ&R iÐ&RÜ!:¸9ÀhÓ!OÐOˆ~ÐOØ;I�	—‘×#Ñ#Ð$7Ñ8Ø�‰× Ñ  §¡°Ô:Ü˜( IÓ.Ð.r    Úgraph_modulec                 ó(  ‡ ‡— ‰j                   j                  dd «      x}�t        |«      S dt        j                  j
                  dt        d z  fˆˆ fd„}‰j                  j                  D �cg c]  }|j                  dk(  r ||«      ‘Œ c}S c c}w )Nr   rT   r/   c           
      ó  •— d| j                   v r5| j                   d   }t        |d«      r|j                  �|j                  S |S | j                   j                  d«      x}r�‰j                  €t        d«      ‚t        ‰j                  t        j                  |j                  |j                  d|j                  |j                  ¬«      t        j                  d«      «      S t        | j                  «      dk(  ry t!        d	‰› d
�«      ‚)Nrj   rG   rm   rY   rr   )ÚdtypeÚdeviceÚrequires_gradÚmemory_formatÚcpur   z,Cannot construct an input for graph module: ú.)rr   rL   rG   Úgetr<   r]   r   r4   ÚemptyÚshaperÕ   r×   rØ   rÖ   rJ   Úusersr   )rT   Úfakerm   rÒ   r>   s      €€r!   Úextract_inputz?_ExportPassBaseDeprecatedDoNotUse.inputs.<locals>.extract_inputN  sô   ø€ Ø˜Ÿ	™	Ñ!Ø—y‘y Ñ'�Ü˜4 Ô,°·±Ð1JØŸ=™=Ð(Ø�Ø $§	¡	§¡¨mÓ <Ð<�Ð<Ø×(Ñ(Ð0Ü(Ð)LÓMÐMÜ!Ø×)Ñ)Ü—K‘KØ#×)Ñ)Ø)×/Ñ/Ø%Ø&1×&?Ñ&?Ø&1×&?Ñ&?ôô —L‘L Ó'ó
ð 
ô �T—Z‘Z“ AÒ%ØÜ%Ø>¸|¸nÈAÐNóð r    r‚   )
rr   rÛ   Úlistr4   r   rO   r   r9   r}   rP   )r>   rÒ   r   rà   rT   s   ``   r!   r£   z(_ExportPassBaseDeprecatedDoNotUse.inputsH  sŒ   ù€ ð !×%Ñ%×)Ñ)¨&°$Ó7Ð7ˆDÐDÜ˜“:Ðð	¤§¡§¡ð 	´*¸tÑ2Cö 	ð8 %×*Ñ*×0Ñ0ö
àØ�w‰w˜-Ò'ñ ˜$Õò
ð 	
ùò 
s   Á.BÚattrc                  ó   — y r1   r   )r>   râ   s     r!   rR   z)_ExportPassBaseDeprecatedDoNotUse.on_attrn  s   € Ør    rÃ   rƒ   c                 óØ   — | j                   j                  d|di «      }|j                  |j                  _        | j                   j                  |j                  |«       t        ||«      S )Nr‚   r   )r¹   rÈ   r†   rT   rr   rQ   r	   )r>   rÃ   rƒ   rr   Ú	arg_proxys        r!   r‚   z-_ExportPassBaseDeprecatedDoNotUse.placeholderq  sQ   € Ø—K‘K×,Ñ,¨]¸DÀ"ÀbÓIˆ	Ø"Ÿi™iˆ	�‰ÔØ�‰× Ñ  §¡°Ô5Ü˜#˜yÓ)Ð)r    c                 ó,   — | j                  d||||«      S ©NrŒ   ©rž   )r>   rP   r   r€   rr   s        r!   r–   z/_ExportPassBaseDeprecatedDoNotUse.call_operatorw  s   € ð �x‰x˜¨¨T°6¸4Ó@Ð@r    c                 ó,   — | j                  d||i |«      S rç   rè   )r>   r~   r   rr   s       r!   r’   z*_ExportPassBaseDeprecatedDoNotUse.call_sym€  s   € ð �x‰x˜¨°°r¸4Ó@Ð@r    r    r¡   r¢   r£   c           
      óR  — | j                  |t        |«      «      }| j                  |t        |«      «      }|€t        d«      ‚|€t        d«      ‚| j                  dt        j
                  j                  j                  ||j                  |j                  t        |«      fi |«      S )Nztrue_branch must not be Nonezfalse_branch must not be NonerŒ   )
Úcall_submoduler³   r]   rž   r4   r—   r˜   r™   rÒ   rá   )r>   r    r¡   r¢   r£   rr   Útrue_branchÚfalse_branchs           r!   rš   z+_ExportPassBaseDeprecatedDoNotUse.call_condˆ  s�   € ð ×)Ñ)¨'´5¸³=ÓAˆØ×*Ñ*¨8´U¸6³]ÓCˆØÐÜ Ð!?Ó@Ð@ØÐÜ Ð!@ÓAÐAØ�x‰xØÜ�I‰I×"Ñ"×'Ñ'Ø�;×+Ñ+¨\×-FÑ-FÌÈVËÐUØØó
ð 	
r    r¤   r¥   r¦   c           
      óp  — t        |D �cg c]  }|j                  ‘Œ c}«      d   }| j                  |t        ||D �cg c]  }|j                  ‘Œ c}z   «      «      }|€t	        d«      ‚| j                  dt        j                  j                  j                  |j                  ||fi |«      S c c}w c c}w )Nr   zf_branch must not be NonerŒ   )r
   r†   rë   r³   r]   rž   r4   r—   r˜   r›   rÒ   )r>   r¤   r¥   r¦   rr   rƒ   ÚxsÚf_branchs           r!   rœ   z*_ExportPassBaseDeprecatedDoNotUse.call_mapž  s¤   € ô °+Ö>¨3˜cŸh›hÒ>Ó?ÀÑBˆØ×&Ñ& q¬%°È(Ö5SÀ3°c·h³hÒ5SÑ0SÓ*TÓUˆØÐÜ Ð!<Ó=Ð=Ø�x‰xØÜ�I‰I×"Ñ"×+Ñ+Ø×"Ñ" K°Ð:ØØó
ð 	
ùò	 ?ùÚ5Ss
   ŠB.½B3rU   rŸ   c                 óL   — | j                  dt        j                  ||fi |«      S rç   )rž   r�   rŽ   )r>   rU   rŸ   rr   s       r!   r�   z._ExportPassBaseDeprecatedDoNotUse.call_getitem±  s%   € ð �x‰x˜¬×)9Ñ)9¸EÀ3¸<ÈÈTÓRÐRr    Úresultsc                 ó.   — | j                  dd|fi |«      S )Nr…   rè   )r>   rò   rr   s      r!   r…   z(_ExportPassBaseDeprecatedDoNotUse.output¶  s   € Ø�x‰x˜ (¨W¨J¸¸DÓAÐAr    c                 óF  — | j                   | j                  | |j                  j                  «      c}| _         |j                  | j                   _        | j                  | |«      }| j                  t        j                  j                  t        j                  j                  t        j                  j                  «       t        j                  j                  «       «      «      c}| _        t        j                  t         d„ |«      }t#        j$                  «       5   |j&                  |Ž  d d d «       t        j                  j                  | j                   j(                  | j                   j                  «      }|| _         || _        t+        |d«      S # 1 sw Y   ŒkxY w)Nc                 ó   — | j                   S r1   r¾   r¿   s    r!   rÀ   zB_ExportPassBaseDeprecatedDoNotUse.call_submodule.<locals>.<lambda>É  s
   € ÀÇÁ€ r    T)r¹   rv   r9   Ú_codegenr<   r¶   r¸   r4   r   ÚInterpreterr²   r5   r6   r8   rp   rÅ   r	   Úfx_tracebackÚpreserve_node_metaÚrunr7   r   )r>   rÒ   r£   Úprev_tracerr¸   Úprev_interpreterÚinputs_dataÚnew_graph_modules           r!   rë   z0_ExportPassBaseDeprecatedDoNotUse.call_submodule¹  sA  € ð �K‰KØ×Ñ˜d L×$6Ñ$6×$?Ñ$?Ó@ð 	!ˆ�T”[ð (3×'CÑ'Cˆ�‰Ô$Ø×,Ñ,¨T°<Ó@ˆð ×ÑÜ�H‰H× Ñ Ü—‘×$Ñ$¤U§X¡X§_¡_Ó%6¼¿¹¿¹Ó8HÓIóð 	+Ð˜$Ô*ô ×*Ñ*¬:Ñ7GÈÓPˆÜ×,Ñ,Ó.ñ 	*ØˆK�O‰O˜[Ñ)÷	*ô !Ÿ8™8×/Ñ/°·±×0@Ñ0@À$Ç+Á+×BSÑBSÓTÐà!ˆŒØ+ˆÔÜØØó
ð 	
÷	*ð 	*ús   ÄFÆF c                 óL  — t        | dd«      st        d«      ‚| j                  |«      }d }|D ]:  }t        |t        «      sŒ|�||j
                  urt        d«      ‚|j
                  }Œ< |€0t        d¬«      | j                  _	        t        «       }t        «       }n"d|_        || j                  _	        t        «       }| j                  j                  | _	        |5  |5  | j                  |t        |«      «      }d d d «       d d d «       S # 1 sw Y   ŒxY w# 1 sw Y   S xY w)Nrº   Fz.ExportPass is not initialized with __init__().z#Multiple fake tensor mode detected.T)Úallow_non_fake_inputs)r�   r   r£   rI   r   Ú	fake_moder]   r   r¹   r<   r   r   r   rë   r³   )r>   rÒ   r£   r<   ÚiÚdispatcher_modeÚresults          r!   Úcallz&_ExportPassBaseDeprecatedDoNotUse.callÖ  s"  € Ü�t˜^¨UÔ3Ü%Ø@óð ð —‘˜\Ó*ˆàÐØò 	/ˆAÜ˜!œZÕ(Ø#Ð/Ð4DÈAÏKÉKÑ4WÜ(Ð)NÓOÐOØ#$§;¡;Ñ ð		/ð
 Ð#Ü+9ÐPTÔ+UˆD�K‰KÔ(Ü*›}ÐÜ)›m‰Oà59ÐÔ2Ø+;ˆD�K‰KÔ(Ü6Ó8ˆOØ $§¡× <Ñ <ˆÔàñ 	F˜ñ 	FØ×(Ñ(¨´u¸V³}ÓEˆF÷	F÷ 	Fð ˆ÷	Fð 	Fú÷ 	Fð ˆús$   ÃDÃDÃ;DÄD	ÄDÄD#rs   )&r   r   r   Ú__doc__Ústaticmethodr*   r   rv   r   r÷   r¶   r3   rg   r4   rT   rµ   r³   ro   r´   r   r	   rž   r²   rá   r£   rR   r‚   r–   ÚFnr’   rš   rœ   rd   r�   r…   r   rë   r  r   r    r!   r   r   4   s¥  „ ñð
 ñWó ðWôxP�ô xPôtg'˜BŸN™Nô g'óR/ð/àð/ð —‘—‘×$Ñ$ð/ð �H˜c�MÑ"ð	/ð
 �S˜(�]Ñ#ð/ð ð/ð 
ó/ð<$
 5§8¡8×#7Ñ#7ð $
¸DÀ¹Nó $
ðL˜Jð ¨4ó ð* ð *¨(ð *¸,ð *È:ó *ðAð �H˜c�MÑ"ðAð �S˜(�]Ñ#ð	Að
 ðAð 
óAðAàðAð �H˜c�MÑ"ðAð ð	Að
 
óAð
àð
ð —‘×%Ñ%ð
ð —(‘(×&Ñ&ð	
ð
 �X‘ð
ð ð
ð 
ó
ð,
à�8‰8×Ñð
ð ˜*Ñ%ð
ð �zÑ"ð	
ð
 ð
ð 
ó
ð&SØðSØ&)ðSØ1=ðSà	óSð
B˜d 8™nð B°Lð BÀZó Bð
ØŸN™Nð
Ø49¸(ÀC¸-Ñ4Hð
à	ó
ð: §¡ð °Jô r    )<r�   r   Úcollections.abcr   Ú
contextlibr   Útypingr   r4   r   Útorch._dispatch.pythonr   Ú&torch._export.pass_infra.node_metadatar   Ú$torch._export.pass_infra.proxy_valuer	   Útorch._higher_order_ops.mapr
   Útorch._subclassesr   r   Útorch._subclasses.fake_tensorr   Útorch.fxrø   Ú"torch.fx.experimental.proxy_tensorr   Ú%torch.fx.experimental.symbolic_shapesr   r   Útorch.fx.graphr   Útorch.fx.passes.infra.pass_baser   r   Útorch.fx.passes.shape_propr   r   Útorch.utilsr   rp   Ú__all__ro   ÚValuer  r²   ÚPassTypeÚsym_intÚ	sym_floatÚsym_iteÚsym_maxÚsym_minÚsym_notÚsym_sqrtr   ÚsetÚ__annotations__ÚRuntimeErrorr   r   r   r    r!   ú<module>r&     sé   ðä Û Ý $Ý "Ý ã Ý Ý ;Ý ?Ý ;Ý 7ß HÝ 8Ý .Ý >÷õ #ß @ß OÝ )ð /Ð
/€ð €Ø€Øˆc�3ˆhÑ€Ø�U—X‘X×)Ñ)Ð*¨J¸Ñ,=Ð=Ñ>€ð 
‡M�MØ	‡O�OØ	‡M�MØ	‡M�MØ	‡M�MØ	‡M�MØ	‡N�Nð!€��H‘ó ô	˜,ô 	ô}¨õ }r    