
    IЦi:                       S SK r S SKrS SKrS SKrS SKrS SKrS SKrS SKrS SKJ	r	J
r
  S SKJr  S SKJrJrJr  S SKrS SKJrJr  S SKJr  SSKJrJr  SS	KJrJrJrJrJr  SS
KJ r J!r!  SSK"J#r#  SSK$J%r%J&r&J'r'J(r(J)r)  SSK*J+r+J,r,J-r-J.r.J/r/J0r0J1r1J2r2J3r3J4r4J5r5J6r6J7r7  SSK8J9r9J:r:  SSK;J<r<  SSK=J>r>J?r?  SSK@JArAJBrBJCrCJDrDJErEJFrF  SSKGJHrHJIrIJJrJJKrKJLrLJMrM  SSKNJOrOJPrPJQrQJRrRJSrS  SSKTJUrUJVrV  \(       a  S SKWJXrX  \R                  " \Z5      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                  0ru " S S\:5      rv\ R                  S 5       rxg)    N)defaultdictOrderedDict)KeysView)DictListTYPE_CHECKING)	sym_floatsym_int)is_traceable_wrapper_subclass   )config	variables)AttributeMutationErrorunimplementedUnsupported	UserErrorUserErrorType)GuardBuilderinstall_guard)DummyModule)
AttrSourceGetItemSourceGlobalSourceis_constant_source
TypeSource)check_constant_argscheck_numpy_ndarray_argscheck_unspec_or_constant_argscheck_unspec_python_args#does_not_override_dict_iter_methodsextract_fake_example_valueget_fake_valueguard_if_dynis_wrapper_or_member_descriptoristypenumpy_operator_wrapperproxy_args_kwargstensortype_to_dtype   )ValueMutationNewVariableTrackerConstantVariable)EventVariableStreamVariable)ConstDictVariableDefaultDictVariableDictViewFrozensetVariableis_hashableSetVariable)BaseListVariableListIteratorVariableListVariableSizeVariableTupleIteratorVariableTupleVariable)FakeItemVariablesupported_comparison_opsSymNodeVariableTensorVariableUnspecializedPythonVariable)UserDefinedObjectVariableUserDefinedVariable)InstructionTranslatorc                     ^  \ rS rSr\" 5       rS1\R                  kr\S 5       r	\
\R                  " S5      S 5       5       rS r\
\R                  " S5      S 5       5       r\
\R                  " S5      S 5       5       r\
\R                  " S5      S	 5       5       r\
S
 5       rS rSYU 4S jjrS\4S jrS rU 4S jrS rS rS rS rS r\
S 5       rS r\
S\ \!   S\"4S j5       r#SZS jr$0 r%        S[S jr&      S\U 4S  jjr'SZS! jr(\(r)\(r*SZS" jr+SZS# jr,SZS$ jr-SZS% jr.\,r/\,r0S]S' jr1S]S( jr2S]S) jr3SZS* jr4SZS+ jr5S, r6SZS- jr7SZS. jr8 S^ SZS/ jjr9S^S0 jr:SZS1 jr;\:r<\:r=SZS2 jr>S3 r?SZS4 jr@\
SZS5 j5       rA\
  SZS6 j5       rBSZS7 jrCSZS8 jrDSZS9 jrESZS: jrFSZS; jrGSZS< jrHSZS= jrISZS> jrJSSS&\4S? jrKSZS@ jrLSZSA jrMSZSB jrN S^SSSC\SD\4SE jjrOSSSC\SD\SF\4SG jrPSSSC\SD\4SH jrQSSSC\4SI jrRSSSC\4SJ jrSSSSC\S\4SK jrTSZSL jrUSZSM jrVSZSN jrWSZSO jrXSZSP jrYSZSQ jrZSZSR jr[\[r\SZSS jr]\]r^SZST jr_SSSU\SV\4SW jr`SXraU =rb$ )_BuiltinVariableh   fnc                 ^    [        UR                  [        R                  5      5        U " XS9$ )Nsource)r   
make_guardr   BUILTIN_MATCH)clsvaluerJ   s      ^/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/torch/_dynamo/variables/builtin.pycreate_with_source"BuiltinVariable.create_with_sourceo   s&    f''(B(BCD5((    Nc                  .   1 [         i[        i[        i[        i[        i[
        i[        i[        i[        i[        i[        i[        i[        i[        i[        i[        i[         i["        i["        R$                  i[&        i[(        i[*        R                   i[*        R,                  i[*        R.                  i[*        R0                  i[*        R2                  i[*        R4                  i[*        R                  i[*        R6                  i[*        R8                  i[*        R:                  i[*        R<                  i[*        R>                  i[*        R@                  i[*        RB                  i[*        RD                  i[*        RF                  i[*        RH                  i[*        RJ                  i[*        RL                  i[*        RN                  i[*        RP                  i[*        RR                  i[*        RT                  i[*        RV                  i[*        RX                  i[*        RZ                  i[*        R\                  i[*        R^                  i[*        R`                  i[*        Rb                  i[*        Rd                  i[*        Rf                  i[*        Rh                  i[*        Rj                  i[*        Rl                  in SSK7J8n  U Rs                  URt                  " 5       5        U Rs                  S [v        Rx                  Ru                  5        5       5        U $ )Nr)   )r=   c              3   z   #    U  H1  n[        U[        [        R                  5      5      (       d  M-  Uv   M3     g 7fN)
isinstancetypemathsqrt.0xs     rO   	<genexpr>;BuiltinVariable._constant_fold_functions.<locals>.<genexpr>   s%     W4
1d499o8V114s   ,;	;)=absallanyboolcallablechrdivmodfloatgetattrintlenmaxminordpowreprroundstrformatsumrW   operatorposnegnot_truthinvertmulmatmulfloordivtruedivmodaddsubgetitemlength_hintlshiftrshiftand_or_xoripowimulimatmul	ifloordivitruedivimodiaddisubilshiftirshiftiandixoriorindextensorr=   updatevaluesrX   __dict__)fnsr=   s     rO   _constant_fold_functions(BuiltinVariable._constant_fold_functionst   sI   9
9
9
 9
 	9

 9
 9
 9
 9
 9
 9
 9
 9
 9
 9
 9
  !9
" #9
$ %9
& JJ'9
( )9
* +9
, LL-9
. LL/9
0 LL19
2 MM39
4 NN59
6 OO79
8 LL99
: LL;9
< OO=9
> ?9
@ A9
B LLC9
D LLE9
F LLG9
H I9
J   K9
L OOM9
N OOO9
P MMQ9
R LLS9
T LLU9
V MMW9
X MMY9
Z [9
\ ]9
^ _9
` MMa9
b MMc9
d MMe9
f g9
h i9
j MMk9
l MMm9
n LLo9
p NNq9
t 	5

+2245

Wdmm224WW
rR   c                 <    U R                   U R                  5       ;   $ rU   )rG   r   selfs    rO   can_constant_fold_through)BuiltinVariable.can_constant_fold_through   s    ww$77999rR   c                     1 [         R                  i[         R                  i[         R                  i[         R                  i[         R
                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                  i[         R                   i[         R"                  i[         R$                  i[         R&                  i[         R(                  i[         R*                  i[         R,                  i[         R.                  i[         R0                  i[         R2                  i[         R4                  i[         R6                  i[         R8                  i[         R:                  i[         R<                  i[         R>                  i[         R@                  i[         RB                  i[         RD                  i[         RF                  i[         RH                  i[         RJ                  i[         RL                  i[         RN                  in U $ rU   )(rs   r_   rt   ru   rv   rx   rm   ry   rz   r{   r|   r}   r~   ltgtgeleneeqr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s    rO   _fx_graph_functions#BuiltinVariable._fx_graph_functions   sQ   (
LL(
LL(
 LL(
 MM	(

 OO(
 LL(
 LL(
 OO(
 (
 (
 LL(
 LL(
 KK(
 KK(
 KK(
  KK!(
" KK#(
$ KK%(
& LL'(
(   )(
* OO+(
, OO-(
. MM/(
0 LL1(
2 LL3(
4 MM5(
6 MM7(
8 9(
: ;(
< =(
> ?(
@ MMA(
B MMC(
D MME(
F G(
H I(
J MMK(
L MMM(
N LLO(
R 
rR   c                     [         R                  / SQ[         R                  4[         R                  / SQ[         R                  4[         R
                  / SQ[         R                  4[         R                  / SQ[         R                  4[         R                  / SQ[         R                  4[         R                  / SQ[         R                  4[        / SQ[         R                  4[         R                  / SQ[         R                  4[         R                  / SQ[         R                   4[         R"                  / S	Q[         R$                  40
n U $ )
N)__add____radd____iadd__)__sub____rsub____isub__)__mul____rmul____imul__)__truediv____rtruediv____itruediv__)__floordiv____rfloordiv____ifloordiv__)__mod____rmod____imod__)__pow____rpow____ipow__)
__lshift____rlshift____ilshift__)
__rshift____rrshift____irshift__)rs   r~   r   r   r   ry   r   r|   r   r{   r   r}   r   rm   r   r   r   r   r   r   s    rO   _binopsBuiltinVariable._binops   s    
 LL>NLL>NLL>N?!! B""  LL>N5x}}ELL>NOO<   OO<  '
> 
rR   c            
      $  ^^^^^^^^^^ SSK Jn Jn  SSKJmJm  SSKJm  SSKJ	m  SSK
Jm  SSKJmJmJm  0 n[         R#                  5       R%                  5        GH  u  nu  pE/ X#'   / X%'   Uu  pgnUUS.U4S	 jjn	X#   R'                  T[(        4U	45        X#   R'                  [(        T4U	45        US
. SS jjn
X%   R'                  T[(        4U
45        X%   R'                  [(        T4U
45        US.SS jjnX#   R'                  [*        [(        4U45        X#   R'                  [(        [*        4U45        X%   R'                  [*        [(        4U45        X%   R'                  [(        [*        4U45        GM     SS jnSS jn[,        [,        4U4[.        [.        4U4[.        [0        4U4[0        [.        4S 4[2        [4        [0        [6        44S 4[4        [4        4S 4/nU[8        R:                     R=                  U5        SS jn[2        [(        4U4[.        [.        4U4[.        [0        4U4/nU[8        R>                     R=                  U5        SS jn[2        [0        4U4[.        [0        4U4[0        [2        4U4[0        [.        4U4/nU[8        R@                     R=                  U5        [,        [.        4mX4mUUUUUUUUUU4
S jn[B        RD                  " 5        H&  n[G        U5      (       d   eX2;  d   eU" U5      X#'   M(     U$ )Nr)   )DictKeysr5   )BaseUserFunctionVariableUserFunctionVariableNNModuleVariable)supported_const_comparison_ops)BaseTorchVariable)UserDefinedClassVariablerA   rB   )forward_namereverse_namec                v   > [        UT5      (       a  UR                  XU/0 5      $ UR                  XU/0 5      $ rU   )rV   call_method)txabr   r   rB   s        rO   user_defined_handler=BuiltinVariable._binop_handlers.<locals>.user_defined_handler+  s=    , a!455==A3CC==A3CCrR   )r   c                *    UR                  XU/0 5      $ rU   r   )r   r   r   r   s       rO   user_defined_inplace_handlerEBuiltinVariable._binop_handlers.<locals>.user_defined_inplace_handlerM  s     }}RsB??rR   rG   c          
      n    SSK Jn  U" U U R                  R                  " SU/[	        X/0 5      Q76 5      $ Nr)   wrap_fx_proxycall_function)builderr   outputcreate_proxyr'   )r   r   r   rG   r   s        rO   dynamic_handler8BuiltinVariable._binop_handlers.<locals>.dynamic_handlerZ  s=    2$II**'.?.K rR   c                 R    [        / UR                  QUR                  U 5      Q5      $ rU   )r;   itemsunpack_var_sequencer   r   r   s      rO   tuple_add_handler:BuiltinVariable._binop_handlers.<locals>.tuple_add_handlerv  s'     !G177!GQ-B-B2-F!GHHrR   c                 R    [        / UR                  QUR                  U 5      Q5      $ rU   )r9   r   r   r   s      rO   size_add_handler9BuiltinVariable._binop_handlers.<locals>.size_add_handlery  s'     F!'' FA,A,A",E FGGrR   c                 R    [        / UR                  U 5      QUR                  Q5      $ rU   )r;   r   r   r   s      rO   <lambda>1BuiltinVariable._binop_handlers.<locals>.<lambda>  s%    :a++B/:!'':"rR   c                 `    [        / UR                  QUR                  U 5      Q[        5       S9$ Nmutation_type)r8   r   r   r*   r   s      rO   r   r     s+    :agg: 5 5b 9:"2"4"rR   c                 T    [        U5      " / UR                  QUR                  Q5      $ rU   )rW   r   r   s      rO   r   r     s     a)=177)=QWW)=!>rR   c                     UR                  5       (       d  UR                  U 5      (       d  g UR                  U 5      nU R                  R                  R                  U5        UR                  R                  U5        U$ rU   )is_immutablehas_unpack_var_sequencer   r   side_effectsmutationr   extend)r   r   r   seqs       rO   list_iadd_handler:BuiltinVariable._binop_handlers.<locals>.list_iadd_handler  s_    ~~q'@'@'D'D''+CII""++A.GGNN3HrR   c                     [        U[        5      (       a  X!p!UR                  UR                  UR	                  5       -  [        5       S9$ )N)r   r   )rV   r-   	__class__r   as_python_constantr*   )r   lstconsts      rO   expand_list_like9BuiltinVariable._binop_handlers.<locals>.expand_list_like  sF    #/00"U==ii%":":"<<.0 !  rR   c                   >
^ ^ SU 4S jjn[         [         4U4/nT TR                  5       ;   a  T " [        5       S 5      mT R                  R	                  S5      (       a  SU4S jjnUnUnO SSS[         4U4S jjnSSS[         4U4S	 jjn[
        [        T[        TT[        T4nUR                  U[         4U4[         U4U4/5        SU 4S
 jjnSU 4S jjnSU 4S jjn	SU 4S jjn
T R                  R	                  S5      (       a  UnOU
n[        T 5      nUR                  T[        4T[        44U 4S j4TT4U 4S j4TT4U4[        R                  [        R                  4U4TT4U	4TT4U4TT4U4[        [        [         4[        [        [         44U4[
        [        4UR                  4[        [
        4UR                  4[        [        4UR                   4[        [        4UR                   4/5        T R                  R	                  S5      (       a%  SU 4S jjnUR#                  [        [        4U45        U$ )Nr   rC   c                 P   > [        T" UR                  UR                  5      5      $ rU   )r-   rN   r   r   r   ops      rO   compare_by_valueYBuiltinVariable._binop_handlers.<locals>.create_cmp_op_handlers.<locals>.compare_by_value  s    '177AGG(<==rR   is_c                    > [        T5      $ rU   r,   r   r   r   none_results      rO   neverNBuiltinVariable._binop_handlers.<locals>.create_cmp_op_handlers.<locals>.never  s    /<<rR   r   c                 r   > UR                   b  UR                   SL d  UR                   SL a  [        T5      $ g NTFrN   r-   r  s      rO   obj_op_noneTBuiltinVariable._binop_handlers.<locals>.create_cmp_op_handlers.<locals>.obj_op_none  5     77?aggoEAQ#3K#@@ BRrR   r   c                 r   > UR                   b  UR                   SL d  UR                   SL a  [        T5      $ g r  r  r  s      rO   none_op_objTBuiltinVariable._binop_handlers.<locals>.create_cmp_op_handlers.<locals>.none_op_obj  r  rR   c                 4   > [         R                  " U TX5      $ rU   )r6   list_comparer   leftrightr  s      rO   list_compare_nocheck]BuiltinVariable._binop_handlers.<locals>.create_cmp_op_handlers.<locals>.list_compare_nocheck  s    '44RTIIrR   c                    > [        U5      [        U5      La  [        TR                   SU SU S35        [        R                  " U TX5      $ )N(, ))rW   r   __name__r6   r!  r"  s      rO   list_compare_check[BuiltinVariable._binop_handlers.<locals>.create_cmp_op_handlers.<locals>.list_compare_check	  sO    :T&  "R[[M4&5'"CD'44RTIIrR   c                 P   > [        T" UR                  UR                  5      5      $ rU   )r-   	set_itemsr"  s      rO   compare_set_itemsZBuiltinVariable._binop_handlers.<locals>.create_cmp_op_handlers.<locals>.compare_set_items  s    '4>>5??(KLLrR   c                 J   > UR                  U STR                   S3U/0 5      $ )N__)r   r+  r"  s      rO   compare_via_method[BuiltinVariable._binop_handlers.<locals>.create_cmp_op_handlers.<locals>.compare_via_method  s)    ''bR,@5'2NNrR   c                 P   > [        T" UR                  UR                  5      5      $ rU   )r-   rG   r  s      rO   r   QBuiltinVariable._binop_handlers.<locals>.create_cmp_op_handlers.<locals>.<lambda>#  s    )9"QTT144.)IrR   c                    > [        T" U R                  R                  UR                  5      U R                  R                  UR                  5      5      5      $ rU   )r-   r   get_submodule
module_keyr  s      rO   r   r7  *  s?    )9 "		 7 7 E "		 7 7 E*rR   c                 z   > [        U5      [        U5      La#  [        R                  " TR                  S:g  5      $ g )Nr  )rW   r-   creater+  r"  s      rO   	handle_isRBuiltinVariable._binop_handlers.<locals>.create_cmp_op_handlers.<locals>.handle_is[  s4     Dze4/66r{{e7KLL 5rR   r   rC   )r-   r   objectr+  
startswithr?   r>   r6   r0   r   rE   r   r/   r.   r+   _comparison_with_tensor_comparison_with_symnodeappend)r  r  resultr  r  r  types_that_are_never_noner%  r,  r0  r4  compare_user_definedop_varr=  r  r   r   r   r   rA   rB   r   has_set_itemssize_or_tupler   s   `             @rO   create_cmp_op_handlers?BuiltinVariable._binop_handlers.<locals>.create_cmp_op_handlers  s   > )*:;=MNOF3::<< 40;;))%00= #(K"'KA3A;KAA3A8HA ##$$',%%	-)  78HI'
 ./HI'	JJMO {{%%e,,'7$'9$$R(FMM 2?C1?C J -, $]35IJ"33Y5O5OP* $]35FG24MN,
 23KL, ,]<LM+]<LM ) (966
 ).966
 )/:77
 )/:77k9;z {{%%e,,M A9MNMrR   r?  )$dictsr   r5   	functionsr   r   	nn_moduler   r   r   torchr   user_definedr   rA   rB   rE   r   r   rD  r+   r>   r9   r;   r-   r8   r6   r7   rs   r~   r   r   ry   r=   r   rc   )r   r5   op_handlersr  magic_method_namesin_place_opr   r   inplace_namer   r   r   r   r   list_like_addition_handlersr  list_like_iadd_handlersr	  list_like_expansion_handlersrK  r   r   r   r   rA   rB   r   rI  rJ  r   s                       @@@@@@@@@@rO   _binop_handlersBuiltinVariable._binop_handlers  st    	1M/:,	
 	
  $$&,,.
- KO')K$7I4L *)D D6 O""%79MN O""!#679MN
 DP@+@
 $++%79UV $++!#679UV
 JL  O""!?3_E O""!?3_E
 $++!?3_E $++!?3_EW /d	I	H |, 
 .!
  01!
 "=1 !%'79MN	 "#34>A$'
#J 	HLL!(()DE	 /!
 .!
  01!#
 	HMM"))*AB	 ,-/?@-.0@A-/?@.0@A	(
$ 	HLL!(()EF%}5$/R	 R	h +113BB<<<(((4R8KO 4
 rR   c                     [         R                  5       R                  U 5      nUc  g / nU H=  u  u  pVn[        X5      (       d  M  [        X&5      (       d  M,  UR	                  U5        M?     U$ rU   )rE   rY  get
issubclassrD  )r  a_typeb_typehandlersmatchestype1type2handlers           rO   _find_binop_handler#BuiltinVariable._find_binop_handlerl  sb    "22488<'/#NUG&((Z-F-Fw' (0 rR   c                 <    U R                   U R                  5       ;   $ rU   )rG   r   r   s    rO   can_insert_in_graph#BuiltinVariable.can_insert_in_graphx  s    ww$22444rR   returnc                 2   > [         TU ]  " S0 UD6  Xl        g )N )super__init__rG   )r   rG   kwargsr  s      rO   rn  BuiltinVariable.__init__{  s    "6"rR   c                     U R                   c  SnOU R                   R                  nU R                  R                   SU S3$ )NNoner(  r*  )rG   r+  r  )r   names     rO   __repr__BuiltinVariable.__repr__  s=    77?D77##D..))*!D633rR   c                     U R                   $ rU   r   r   s    rO   r  "BuiltinVariable.as_python_constant  s    wwrR   c                    > [         [        R                   [        [        R                  [        [        R
                  0nU R                  U;   a  XR                     $ [        TU ]!  5       $ rU   )	rb   rP  rh   int64rf   float64rG   rm  as_proxy)r   DTYPEr  s     rO   r{  BuiltinVariable.as_proxy  sM    %**5==

 77e>!w!!rR   c                     U R                   R                  nU R                   R                  S:X  d   eX!R                  R                  ;  d   S5       eUR                  UR                  USSS95        g )Nbuiltinszshadowed globalFT)r~   )rG   r+  
__module__r   	f_globalsappend_outputcreate_load_global)r   codegenrs  s      rO   reconstructBuiltinVariable.reconstruct  se    wwww!!Z///::///B1BB/g88u$8OPrR   c                     [        X5      $ rU   )r   r   argsro  s      rO   constant_argsBuiltinVariable.constant_args  s    "400rR   c                     SnU HG  n[        U[        R                  5      (       a    gU=(       d    [        U[        R                  5      nMI     U$ NF)rV   r   GetAttrVariabler?   )r   r  
any_tensorargs       rO   tensor_argsBuiltinVariable.tensor_args  sF    
C#y8899#Pz#y7O7O'PJ  rR   c                     SnU HG  n[        U[        R                  5      (       a    gU=(       d    [        U[        R                  5      nMI     U$ r  )r]  r   r  r?   )r   	arg_typesr  arg_types       rO   tensor_args_type BuiltinVariable.tensor_args_type  sF    
!H(I$=$=>>#Uz(I<T<T'UJ " rR   c                 6   / n/ n[         R                  " XR                  5       5       HF  n[        U[        R
                  5      (       a  UR                  U5        M5  UR                  U5        MH     [        S U 5       5      =(       a    U R                  " U6 $ )Nc              3   j   #    U  H)  nUR                   b  [        UR                   5      OSv   M+     g 7fr  )rJ   r   )r[   ts     rO   r]   BBuiltinVariable.python_and_tensor_constant_only.<locals>.<genexpr>  s/      
  -.HH,@qxx(eK s   13)		itertoolschainr   rV   r   r?   rD  r`   r  )r   r  ro  r  non_tensor_argsis         rO   python_and_tensor_constant_only/BuiltinVariable.python_and_tensor_constant_only  s    }}7A!Y5566""1%&&q)	 8
  
 
 
 3   /2	3rR   c                     U  Vs/ s H  o"R                  5       PM     snUR                  5        VVs0 s H  u  p4X4R                  5       _M     snn4$ s  snf s  snnf rU   )r  r   )r  ro  r\   kvs        rO   unwrap_unspec_args_kwargs)BuiltinVariable.unwrap_unspec_args_kwargs  sX    0451$$&528,,.8
2@$!A##%%.8
 
 	
5 8
s
   AAc                 F    U R                  5       =(       a    [        X5      $ rU   )r   r   r  s      rO   has_constant_handler$BuiltinVariable.has_constant_handler  s#    --/ 
4Q5
 	
rR   r  
has_kwargsc                   ^ ^^	^
^^^^^ SSK Jm  [        T 5      m/ m[        U4S jU 5       5      (       a  U4S j$ [        R
                  " T 5      (       a!  [        T [        5      (       a    SU 4S jjnU$ TR                  5       (       ay  T [        R                  L a"  [        US   [        R                  5      (       aD  TR                  U5      (       a  TR                  $ U(       a  TR                  TR                  5        [!        U5      S:X  ah  U(       da  [        R"                  " T /UQ76 m
T
(       d  OB[!        T
5      S:X  a  T
u  m	TR                  U	4S j5        OSU
4S	 jjnTR                  U5        [%        TS
T R&                   3S 5      mT(       a  SUU4S jjnTR                  U5        TR)                  5       (       a@  [+        S U 5       5      (       a  U(       d	  SU 4S jjnOSU 4S jjnTR                  U5        ST R&                   SU SU 3m[!        T5      S:X  a  U4S j$ [!        T5      S:X  a  Tu  mSUU4S jjnU$ SUU4S jjnU$ )Nr)   )LazyVariableTrackerc              3   <   >#    U  H  n[        UT5      v   M     g 7frU   )r]  )r[   r  r  s     rO   r]   0BuiltinVariable._make_handler.<locals>.<genexpr>  s     E9az!0119s   c                 n   > TR                  X Vs/ s H  o3R                  5       PM     snU5      $ s  snf rU   )r   realize)r   r  ro  r  objs       rO   r   /BuiltinVariable._make_handler.<locals>.<lambda>  s-    C,=,=$/$QYY[$/-/s   2
c                    > T[         L a"  [        S U 5       5      (       d  [        S5        [        R                  " TU40 UD6$ )Nc              3      #    U  H@  n[        U[        R                  5      =(       a    [        UR                  [        5      v   MB     g 7frU   )rV   r   r-   rN   rp   rZ   s     rO   r]   WBuiltinVariable._make_handler.<locals>.create_exception_class_object.<locals>.<genexpr>  s>      4 " q)"<"<= 1"177C01!s   AA
zassert with non-string message)AssertionErrorr`   r   r   ExceptionVariable)r   r  ro  rG   s      rO   create_exception_class_objectDBuiltinVariable._make_handler.<locals>.create_exception_class_object  sK     ' 4 "4 1 1
 ""BC 222tFvFFrR   r   r   c                    > T" U /UQ76 $ rU   rl  )r   r  _binop_handlers      rO   r   r    s    M"4Lt4LrR   c                 @   > T H  nU" U /UQ76 nU(       d  M  Us  $    g rU   rl  )r   r  r  rG   rvbinop_handlerss        rO   call_binop_handlers:BuiltinVariable._make_handler.<locals>.call_binop_handlers  s$    ,]T]2#%I -rR   call_c           
        >  T" U /UQ70 UD6nUb  U$ g ! [          a     [        R                  " T5      R                  " U /UQ70 UD6  e ! [          aT  nTR	                  X5      nU(       d1  [
        R                  STU5        [        ST SU SU 35         S nA g  S nA g S nAff = f[         a3  nTR	                  X5      nU(       d  e UR                  5          S nAg S nAff = f)Nz1incorrect arg count %s %s and no constant handlerzinvalid handler args  )
	TypeErrorinspect	signaturebindr  logwarningr   r   remove_from_stats)	r   r  ro  rE  er  excr  self_handlers	          rO   call_self_handler8BuiltinVariable._make_handler.<locals>.call_self_handler  s    ,)">t>v>F)% *  )),7<<RQ$Q&Q  % 
/2/G/G/U,3KK S , !
 *"7~QtfAfX V   4
 # ,+.+C+CD+Q(/))++,sE    
C(*A
C(
B)AB$C(C($B))C(5)C##C(c              3   B   #    U  H  n[        U[        5      v   M     g 7frU   )r]  r-   rZ   s     rO   r]   r  $  s     GYJq"233Y   c                    >  T" U Vs/ s H  o3R                  5       PM     sn6 n[        R
                  " U W5      $ s  snf ! [         a!  n[        S[        U5       35         S nANBS nAff = fNzconstant fold exception: )r  	Exceptionr   rn   r+   build)r   r  ro  r\   resr  rG   s         rO   constant_fold_handler<BuiltinVariable._make_handler.<locals>.constant_fold_handler(  sp    O >BCd224dC
 +00S99	 D$ O%(A$s)&MNNOs%   A =A A 
A-A((A-c                 v  > [        X5      (       ao   T" U Vs/ s H  o3R                  5       PM     sn0 UR                  5        VVs0 s H  u  pEXER                  5       _M     snnD6n[        R                  " U W5      $ g s  snf s  snnf ! [         a!  n[	        S[        U5       35         S nANIS nAff = fr  )r   r  r   r  r   rn   r+   r  )	r   r  ro  r\   r  r  r  r  rG   s	           rO   r  r  4  s    4TBBS"$BF!G$Q"6"6"8$!G# KQ,,.#"JX$!A';';'=$=.#"#C  /44R== C "H#"  ) S),Ed3i[*QRRSs3   B BB B$B B 
B8B33B8z	builtin: r  c                     > [        T5      $ rU   r   )r  	error_msgs    rO   r   r  F  s
    y!9rR   c                 @   > T" XU5      nU(       a  U$ [        T5        g rU   r  )r   r  ro  r  r  rd  s       rO   builtin_dispatch7BuiltinVariable._make_handler.<locals>.builtin_dispatchJ  s    Rv.Ii(rR   c                 V   > T H  nU" XU5      nU(       d  M  Us  $    [        T5        g rU   r  )r   r  ro  rG   r  r  r`  s        rO   r  r  R  s-    "BBf-Br!	 # i(rR   r?  )lazyr  rE   ra   r  isclassr]  r  rh  rs   r   r   r?   r  _handle_insert_op_in_graphrD  ri   re  rg   r+  r   r`   )rG   r  r  r  r  r  r  r  r  r  r  r  rd  r`  r  r  s   `       @@@@@@@@rO   _make_handlerBuiltinVariable._make_handler  s   -b!E9EEE  ??2:b)#<#<
G+
G 10""$$("""y|Y-E-EFF##I..555 > >? y>Qz,@@PiPN!^$)#1  LM&  34seBKK=$94@, ,< OO-.((**GYGGG": :> OO12}Ai[*F	x=A99]a!JW) )  ) )  rR   r   rC   c           	      `   SSK JnJn  U(       a(  U R                  " / UQUR	                  5       Q76 (       d  g SSK Jn  SSKJnJnJ	n	J
n
  U	" XU5      (       a  UR                  (       df  [        US   [        5      (       d?  U R                  U;   a  XR                     nOXpR                     nUS   nUS   US'   XS'   OXpR                     nOU R                  nUR                  X5      nU
" XX#5      $ U R                  n U R                   " U0 UD6(       a&  SSKJn  SSKJn  U" XU" UR*                  5      X#5      $ U[,        ;   a4  [        US   [.        R0                  5      (       a  [,        U   US   US   /p.U[2        R4                  L aO  [        US   [6        5      (       a7  [8        R:                  US   [.        R0                  R                  S5      US   /p.[=        X#5      (       a_  [?        S	 U 5       5      (       dH  UR@                  RB                  " S
[E        U5      /[G        X#5      Q76 nU" [.        RH                  UU5      $ UR@                  RB                  " S
U/[G        X#5      Q76 n[?        S U 5       5      (       a  U" [J        UU5      $ [M        X#5      (       a^  U RO                  X#5      u  nnU" U0 UD6n[?        S [P        RR                  " X#R	                  5       5       5       5      nU" [T        UUUUS9$ [W        S U 5       5      (       a  [6        R                  " UUS 5      $ U[2        RX                  L a9  [        US   [.        RT                  5      (       a  US   R[                  U5      US'   U" UU5      $ ! [\         a    [_        SU  SU SU 35         g f = f)Nr)   )r   wrap_fx_proxy_cls)SourcelessBuilder)BUILTIN_TO_TENSOR_FN_MAPBUILTIN_TO_TENSOR_RFN_MAPcan_dispatch_torch_functiondispatch_torch_functionr   r   )	unique_id)invoke_and_store_as_constantc              3   Z   #    U  H!  n[        U5      [        R                  :H  v   M#     g 7frU   )rW   r   r?   r[   r  s     rO   r]   =BuiltinVariable._handle_insert_op_in_graph.<locals>.<genexpr>  s#      BAE#S	Y555s   )+r   c              3   B   #    U  H  n[        U[        5      v   M     g 7frU   rV   r<   r  s     rO   r]   r    s     E:c#344r  c              3   |   #    U  H2  n[        U[        R                  5      (       d  M$  UR                  v   M4     g 7frU   rV   r   r@   need_unwraprZ   s     rO   r]   r    s-      "C!!Y%J%JK "AMMC   #<<)	raw_valuer  c              3   B   #    U  H  n[        U[        5      v   M     g 7frU   rV   r>   rZ   s     rO   r]   r    s     BTZ?33Tr  zpartial tensor op: r  )0r   r   r  r  r   r  torch_functionr  r  r  r  exportrV   r?   rG   r<  r  bytecode_transformationr  rN  r  r+  IN_PLACE_DESUGARING_MAPr   r-   rs   r   r>   rP  selectr   ra   r   r   r&   r'   NumpyNdarrayVariabler<   r   r  r  r  r@   r`   r|   convert_to_constantNotImplementedErrorr   )r   r   r  ro  r   r  r  r  r  r  r  functmpfn_varrG   r  r  proxy_args_kwargsr  r  s                         rO   r  *BuiltinVariable._handle_insert_op_in_graph[  s   =$**CDC6==?CC 	/	
 	
 'r88 99!$q'>::ww";;8A7@q'C"1gDG!G3GG<Dww&--b7F*2tDDWWT	H33TDVD?C3Ibkk2D  ,,Q332 2 326a$q'8JDX%%%*T!Wo*N*N !<<G..55a8G*D (55c BAEB ? ? 		..#*2. 't4 ))G)GUSSII** #40E
 EEEE($ 
 *$77!%!?!?!Mw11	! "&__T==?C"  )/' +  BTBBB&--b%>> )))jGYBB/ / #1g99"=DG$R//" 	H/vQtfAfXFG	Hs4   <N ?DN AN A-N .N 7AN N-,N-ro  c           	         U(       aL  UR                  5        VVs0 s H  u  pEXER                  5       _M     nnnU R                  /S U 5       QSP7nOU R                  /S U 5       Q7nU R                  R	                  U5      nU(       dO  U R                  U R                  U Vs/ s H  n[        U5      PM     sn[        U5      5      =U R                  U'   nU" XU5      $ s  snnf s  snf )Nc              3   8   #    U  H  n[        U5      v   M     g 7frU   rW   rZ   s     rO   r]   0BuiltinVariable.call_function.<locals>.<genexpr>       4t!d1ggt   Tc              3   8   #    U  H  n[        U5      v   M     g 7frU   r  rZ   s     rO   r]   r    r  r  )r   r  rG   call_function_handler_cacher\  r  rW   rb   )	r   r   r  ro  r  r  keyrd  r\   s	            rO   r   BuiltinVariable.call_function  s     17@anF@77;4t4;d;C7754t45C2266s;>B>P>P404a$q'40$v,? D,,S1G r(( A 1s   C%'C+
c                   > U R                   [        L a  US:X  a  [        U5      S:X  d   e[        U5      S:X  d   eUu  pVnUR                  5       n[	        U[
        5      (       aQ  UR                  R                  R                  U5      (       a'  UR                  5       (       a  UR                  XU5      $ U R                   [        L aP  US:X  aJ  [        U5      S:X  d   e[        U5      S:X  d   eUR                  R                  R                  US   5      $ U R                   [        L a%  US:X  a  [        R                  " U[        /UQ70 UD6$ [        TU ]A  XX45      $ )N__setattr__   r   __new__r)   fromkeys)rG   r@  ri   r  rV   rA   r   r   is_attribute_mutationis_python_constantmethod_setattr_standard(track_object_new_from_user_defined_classdictrE   call_custom_dict_fromkeysrm  r   )	r   r   rs  r  ro  r  name_varvalr  s	           rO   r   BuiltinVariable.call_method  s7    77f!6t9>!>v;!###!%C3++-C3 9::II**@@EE//11222EE77f!2t9>!>v;!###99))RRQ  77d?tz1"<<RWWPVWWw"2T::rR   c           	      h   [        U[        [        R                  45      (       a  [        U[        R                  5      (       a  UR	                  US/ 0 5      nOUnU R
                  [        L a  [        O[        nSSK	J
n  U" UUR                  R                  SUUR                  5       40 5      S9$ g )Nitemr   r   r   r   r  )rV   r>   r   r?   r   rG   rh   r
   r	   torch._dynamo.variables.builderr   r   r   r{  )r   r   r  r$  fn_r   s         rO   _call_int_floatBuiltinVariable._call_int_float
  s     cOY-E-EFGG#y7788r62r:!WW^'CE ii,,#]]_&	  HrR   c                    [        U[        R                  5      (       a0  [        R                  R	                  [        UR                  5      S9$ [        U[        R                  5      (       Ga*  [        UR                  S5      (       a  UR                  R                  nO=[        UR                  S5      (       a  UR                  R                  nO[        S5        [        UR                  5      R                  [        R                  L a#   [        R                  R	                  W" 5       S9$ [!        W5      (       a"  [        [        UR                  5       S35        g UR"                  n [        R                  " U5      nUR+                  XR/0 5      $ g ! [         a     g f = f! [$         a   n[&        R)                  SU5         S nAg S nAff = f)N)rN   __str__rt  z5user defined object has no __str__ or __repr__ methodz has a C/C++ based str methodz)Failed to create UserFunctionVariable: %s)rV   r   r   r-   r<  rp   rG   rA   hasattrrN   r+  rt  r   rW   r@  AttributeErrorr$   __func__r  r  r  inline_user_function_return)r   r   r  
str_methodbound_methoduser_func_variabler  s          rO   call_strBuiltinVariable.call_str"  sn   cI::<<--443svv;4GGiAACCsyy),, YY..
J// YY//
UVCII&&&..8$55<<:<<PP 1<<cii 11NOP  *22)2)G)G)U& 556H%QSTTC D &  & KK KQOs*   !F 1F+ 
F('F(+
G5GGc                 ,   [        U5      S:X  a>  US   R                  U5      (       a%  US   R                  U5      nU R                  X5      $ [        U5      S:X  a  U R	                  XS   US   5      $ [        U5      S:  a  U R                  X5      $ g )Nr)   r   r   )ri   has_force_unpack_var_sequenceforce_unpack_var_sequence_call_min_max_seq_call_min_max_binary)r   r   r  r   s       rO   _call_min_maxBuiltinVariable._call_min_maxI  s    t9>d1gCCBGGG55b9E))"44Y!^,,Ra$q'BBY]))"33 rR   c                     [        U5      S:  d   e[        U5      S:X  a  US   $ [        R                  " [        R                  " U R                  U5      U5      $ Nr   r)   )ri   	functoolsreducepartialr9  )r   r   r   s      rO   r8  !BuiltinVariable._call_min_max_seqR  sM    5zA~~u:?8O	 1 1$2K2KR PRWXXrR   c                 N   Ub  Uc  g U R                  X#5      (       Gaj  [        U[        R                  5      (       d  X2p2[        U[        R                  5      (       d   e[        U[        5      (       a5  [        R
                  " [        R                  5      R                  X/0 5      n[        U[        5      (       d  [        U[        5      (       aH  SSK
Jn  U" [        U5      UUR                  R                  " SU R                  /[!        X#/0 5      Q76 S9$ UR#                  5       (       a  [        U[        R$                  5      (       a%  SS Kn[        R(                  " UR*                  5      nO$[        R
                  " [        R,                  5      nU R                  [.        L a  SU0OSU0nUR                  X/U5      nO[        U[        R$                  5      (       aJ  SS Kn[.        UR0                  [2        UR4                  0U R                     n[        R(                  " U5      nOM[.        [        R0                  [2        [        R4                  0U R                     n[        R
                  " U5      nUR                  XU/0 5      n[7        S X#4 5       5      (       a  [9        S	 X#4 5       5      (       a  [        R                  R;                  U5      $ UR#                  5       (       a  UR=                  5       n	OUR>                  n	U R                  [.        L a  [/        UR>                  U	5      n
O[3        UR>                  U	5      n
[9        S
 X#4 5       5      n[        R@                  R;                  XU5      $ U$ [        U[        5      (       d  [        U[        5      (       as  U R                  [.        L a  [        RB                  O[        RD                  nUR                  R                  " SU/[!        X#/0 5      Q76 n[        RF                  " XS 5      $ g )Nr)   r  r   r%  r   rk   rj   c              3   v   #    U  H/  n[        U[        R                  [        R                  45      v   M1     g 7frU   )rV   r   r@   r-   )r[   r  s     rO   r]   7BuiltinVariable._call_min_max_binary.<locals>.<genexpr>  s?      	  A !==!22   s   79c              3   B   #    U  H  n[        U[        5      v   M     g 7frU   r  )r[   r!  s     rO   r]   rE    s     KFSz#'788Fr  c              3   |   #    U  H2  n[        U[        R                  5      (       d  M$  UR                  v   M4     g 7frU   r  rZ   s     rO   r]   rE    s-      "#!!Y%J%JK "AMM#r  )$r  rV   r   r?   r<   TorchInGraphFunctionVariablerP  r   r   r>   r   r  rW   r   r   rG   r'   r  r  numpyNumpyVariableclipclamprj   maximumrk   minimumr`   ra   from_tensor_variabler  r  r@   sym_maxsym_minr<  )r   r   r   r   r  nprG   ro  rE  raw_braw_resr  r  s                rO   r9  $BuiltinVariable._call_min_max_binaryY  sF   9	 A!!a!9!9::1a!9!9:::: !-..::5<<HVVR
 !_--A1O1O6(G))00' +A626  ##%%a!?!?@@&"009B"??LB(,3%eQZ))"c6:a!?!?@@&rzz3

;DGGDB"004Bu}}c5==A$''JB"??CB))"!fb9  	 	 	 	 KQFKKK$55JJ6RR''))002EKKE77c>!!++u5G!!++u5G! "V" 
 !<<QQ[ 
 ?++z!_/M/M"&''S.emmBII**&7&CE #))"T:: 0NrR   r  c                     [        [        5      R                  X[        R                  " S5      /0 5      nUR                  U/ 0 5      $ )N__abs__rE   rg   r   r-   r<  )r   r   r  
abs_methods       rO   call_absBuiltinVariable.call_abs  D    $W-;;&--i892

 ''B33rR   c                     [        [        5      R                  X[        R                  " S5      /0 5      nUR                  U/ 0 5      $ )N__pos__rX  )r   r   r  
pos_methods       rO   call_posBuiltinVariable.call_pos  r\  rR   c                     [        U[        R                  5      (       a  [        S5        [	        U5      n[
        R                  " U5      n[        R                  R                  U5      $ )Nzunsupported index(tensor))	rV   r   r?   r   r#   rs   r   r-   r<  )r   r   r  constant_values       rO   
call_indexBuiltinVariable.call_index  sM    c93344563!,))00@@rR   c                     [        [        5      R                  X[        R                  " S5      /0 5      nUR                  XU5      $ )N	__round__rX  )r   r   r  r  ro  round_methods         rO   
call_roundBuiltinVariable.call_round  sB    &w/==&--k:;R
 ))"F;;rR   c                     [        U0 5      (       a  [        R                  " U5      $ U R                  " U6 (       aN  U Vs/ s H+  n[        R                  R                  [        U5      5      PM-     nn[        R                  " U5      $ g s  snf rU   )r   r   RangeVariable_dynamic_argsr-   r<  r#   )r   r   r  r  s       rO   
call_rangeBuiltinVariable.call_range  s|    (r22**400&PTPT	**11,s2CDPT   **400s    2Bc                 t    [        S U 5       5      =(       d     [        S UR                  5        5       5      $ )Nc              3   B   #    U  H  n[        U[        5      v   M     g 7frU   r  rZ   s     rO   r]   0BuiltinVariable._dynamic_args.<locals>.<genexpr>  s     @4a:a114r  c              3   B   #    U  H  n[        U[        5      v   M     g 7frU   r  rZ   s     rO   r]   rr    s      H
4CqJq/**Or  )ra   r   r  s      rO   rm  BuiltinVariable._dynamic_args  s7    @4@@ 
C H
4:MMOH
 E
 	
rR   c                 .    [         R                  " U5      $ rU   )r   SliceVariable)r   r   r  s      rO   
call_sliceBuiltinVariable.call_slice  s    &&t,,rR   c           
      ~    SSK Jn  U" UUR                  R                  " SU R                  /[        X#5      Q76 5      $ r   )r   r   r   r   rG   r'   )r   r   r  ro  r   s        rO   
_dyn_proxyBuiltinVariable._dyn_proxy  s=    *II""+<T+J
 	
rR   c                    [        U[        R                  5      (       a   eU R                  " U0 UD6(       a  U R                  " U/UQ70 UD6$ [        R
                  R                  U R                  5      nUc  U" / [        5       S9$ UR                  U5      (       GaF  UR                  (       Ga  [        UR                  5      (       d  [        U[        5      (       a3  [        UR                  R                  [        R                   5      5        O[#        USS5      (       ag  [        U[$        5      (       aR  ['        U[(        5      (       d=  UR*                  R,                  R/                  UR                  R1                  5       5        [        UR                  R                  [        R2                  5      5        U" [5        UR7                  U5      5      [        5       S9$ g )Nr   rJ   F)rV   r   IteratorVariablerm  rz  r6   cls_forrG   r*   r   rJ   r   r:   r   rK   r   TUPLE_ITERATOR_LENrg   r0   r%   r5   r   guard_on_key_orderr~   rs  SEQUENCE_LENGTHlistr   r   r   r  r  ro  rM   s         rO   _call_iter_tuple_list%BuiltinVariable._call_iter_tuple_list  sn    c9#=#=>>>>t.v.??27777((009;.0  ((,,zzz"4SZZ"@"@c#899!

--l.M.MN
  Xu55&s,=>> &sK 8 8		44889JK!#**"7"78T8T"UVS,,R01.0 ! -rR   c                    [        U[        R                  5      (       aP  [        R                  R	                  U R
                  5      nU" [        UR                  U5      5      [        5       S9$ U R                  " X/UQ70 UD6$ r   )
rV   r   r}  r6   r~  rG   r  r7  r*   r  r  s         rO   _call_tuple_list BuiltinVariable._call_tuple_list  sr    c95566,,44TWW=CS22267.0 
 --bGGGGrR   c                     [        U[        R                  5      (       a  UnOU R                  " X/UQ70 UD6nUc  UR	                  USX45      $ U$ )N__iter__)rV   r   r}  r  r   )r   r   r  r  ro  rets         rO   	call_iterBuiltinVariable.call_iter   sU    c95566C ,,RFtFvFC; ??2z4@@
rR   c           	         SSK Jn  SSKJn  [	        U[
        R                  UU45      (       a  [
        R                  R                  S5      $ [	        U[        5      (       a2  [
        R                  R                  [        UR                  5      5      $ [	        U[        [        [        [        [        [         45      (       a  [
        R                  R                  S5      $ g )Nr)   )r   r   TF)rN  r   rO  r   rV   r   r   r-   r<  rB   rc   rN   r>   r?   r8   r;   r7   )r   r   r  r   r   s        rO   call_callableBuiltinVariable.call_callable1  s    7/22( 
 
 --44T::011--44Xcii5HII $

 

 --44U;;

rR   c                 N    [        U5      S:X  a  US   $ [        SU SU 35        g )Nr   r)   z$unsupported args to builtin cast(): r  )ri   r   )r   r  r  ro  s       rO   	call_castBuiltinVariable.call_castM  s,    t9>7N<TF!F8LMrR   c                 @    [         R                  " U[        /UQ70 UD6$ rU   )rE   call_custom_dictr  r   r   r  ro  s       rO   	call_dictBuiltinVariable.call_dictS  s    //DJ4J6JJrR   c                   ^  U(       Gd<  U(       d  0 4n[        U5      S:X  d   eUS   n[        U[        5      (       a  [        XA[	        5       S9$ [        U[
        R                  5      (       a  UR                  US [	        5       S9$ [        U[        [        [        [
        R                  45      (       a6  [        U 4S jUR                  T 5       5       5      n[        XQ[	        5       S9$ [        U[
        R                  5      (       Ga7  [        [        UR                  5      5      (       a  T R                   R"                  R%                  U5      (       a  ['        UR(                   SU SU S35        [        UR                  R+                  5       5      n[,        R.                  " T U5      $ UR1                  T S	5      n[        U[
        R2                  5      (       d  ['        UR(                   SU SU 35        T R5                  XrU5      n[        U[        5      (       a  U$ [7        U5      R9                  T X5      $ OdU(       d]  U(       aV  UR+                  5        V	V
s0 s H  u  p[:        R<                  " U	5      U
_M     nn	n
[
        R                  " XQ[	        5       S
9$ ['        UR(                   SU SU 35        g s  sn
n	f )Nr)   r   r   )user_clsrJ   r   c              3   F   >#    U  H  nUR                  T5      v   M     g 7frU   )r7  )r[   r\   r   s     rO   r]   3BuiltinVariable.call_custom_dict.<locals>.<genexpr>n  s&      > //33>s   !z
.items(): r  z - object is mutatedr   )r  r   z(): )ri   rV   r  r0   r*   r   cloner8   r;   r7   r}  r7  MutableMappingVariabler    rW   rN   r   r   has_pending_mutationr   r+  r   r+   r  var_getattrr   r/  rE   r  r-   r<  )r   r  r  ro  r  r   new_dictfunc_varoutr  r  s   `          rO   r   BuiltinVariable.call_custom_dictV  s|   ut9>!>q'C#t$$(1A1C  C!<!<==yy%dBRBT !    !(..	    ::2>  )3C3E  C!A!ABB 7tCIIGG yy--BB3GG%'001D66(J^_  $CIIOO$56H*00X>>"r7;H%h	0N0NOO%):):(;:dV1VH&UV88PC!#'899"
*84EEb(XX+ C, &?E||~N~tq%,,Q/2~EN..8H8J  	**+4vQvh?@	 Os   '#Kc                    U[         [        [        1;   d   eU(       aG  U[        L d   e[        U5      S:X  a  [        U5      S:X  a  SU;   d   e/ UQUR	                  S5      P7n[        U5      S:X  a  [        [        S5      e[        U5      S:X  a  / UQ[        R                  " S 5      P7n[        U5      S:X  d   eUu  pEU[        La  [        O[        n[        U[         5      (       aW  UR                  5        Vs/ s H  n[        R                  " U5      PM     nnU" [         R                  XE5      U[        5       S9$ UR                  U 5      (       aK  UR!                  U 5      n[#        S U 5       5      (       a#  U" [         R                  X5      U[        5       S9$ [%        UR&                   SU S	U 35        g s  snf )
Nr)   rN   r   z,fromkeys expected at least 1 argument, got 0r   r   c              3   8   #    U  H  n[        U5      v   M     g 7frU   )r4   )r[   r  s     rO   r]   <BuiltinVariable.call_custom_dict_fromkeys.<locals>.<genexpr>  s     04a;q>>4r  z.fromkeys(): r  )r  r   r   ri   popr   r  r-   r<  r0   r1   rV   keysr  r*   r6  r7  r`   r   r+  )	r   r  r  ro  r  rN   DictVariableTyper  r  s	            rO   r  )BuiltinVariable.call_custom_dict_fromkeys  s    D+{;;;;{***t9>c&kQ&67f;LLL/T/6::g./Dt9>I'UVVt9>9T9+22489D4yA~~
!)!<BU 	 c4  7:xxzBz!#**1-zCB#c)8CSCU  ..r22004D04000'MM$."2"4 
 	**+=axHI Cs     Gc                    U(       a   eU(       d  [        / [        5       S9$ [        U5      S:X  d   eUS   n[        U[        R                   5      (       a  UR                  [        5       S9$ UR                  U5      (       a#  UR                  U5      n[        U[        5       S9$ [        U[        R                  5      (       a  [        UR                  [        5      (       a  UR                  US5      n[        U[        R                  5      (       aG  UR                  XbU5      n[        U[         5      (       a  U$ [        [        5      R!                  X5      $ [#        SU SU 35        g [#        SU SU 35        g )Nr   r)   r   r  zset(): r  )r5   r*   ri   rV   r   r  r6  r7  rA   rN   r   r  UserMethodVariabler/  rE   setcall_setr   )r   r   r  ro  r  r   iter_fnr  s           rO   r  BuiltinVariable.call_set  sD   zr1A1CDD4yA~~1gc9001199+;+=9>>..r2211"5Eu4D4FGGY@@AAjIIxG
 G
 oob*5G'9#?#?@@44WFKc;//J&s+44R==vQvh78GD66(34rR   c                    U(       a   eU(       d  [        / 5      $ [        U5      S:X  d   eUS   n[        U[        R                   5      (       a/  [        UR                   Vs/ s H  oUR
                  PM     sn5      $ UR                  U5      (       a  UR                  U5      n[        U5      $ [        SU SU 35        g s  snf )Nr)   r   zfrozenset(): r  )	r3   ri   rV   r   r/  vtr   r   r   )r   r   r  ro  r  r\   r   s          rO   call_frozensetBuiltinVariable.call_frozenset  s    z$R((4yA~~1gc96677$CMM%BMqddM%BCC((,,++B/E$U++M$q9: &Cs   $Cc                    U(       a  [        U5      S:X  a  SU;   d   eUR                  SS5      nU Vs/ s H,  nUR                  U5      (       a  UR                  U5      OUPM.     nn[        R
                  " X$[        5       S9$ s  snf )Nr)   strictF)r  r   )ri   r  r   r   r   ZipVariabler*   )r   r   r  ro  r  r  s         rO   call_zipBuiltinVariable.call_zip  s    v;!#F(:::He, 
 ,/+F+Fr+J+JC##B'PSS 	 
 $$/?/A
 	
	
s   3Bc                 6    US   R                  USUSS  U5      $ )Nr   __len__r)   r   r  s       rO   call_lenBuiltinVariable.call_len  s#    Aw""2y$qr(FCCrR   c                 6    US   R                  USUSS  U5      $ )Nr   __getitem__r)   r   r  s       rO   call_getitemBuiltinVariable.call_getitem  s#    Aw""2}d12hGGrR   c           	      j  ^  TR                  5       nUR                  5       n[	        T[
        R                  5      (       a9  TR                  b,  U4S jn[
        R                  R                  U" TU5      5      $ [	        T[
        R                  5      (       a:  [	        TR                  [        R                  5      (       a  [        ST SU 35        [	        T[
        R                  5      (       a]  SUR                  R                  ;   aC  [
        R                  R                  UR                  R!                  UTR                  5      5      $  [#        WU5      n[
        R                  R                  U5      $ ! [         a    [        ST SU ST 35         GNf = f! [$         a    WUL n NTf = f)Nzisinstance(r)  z): can't determine type of c                 p   >^ U4S jm[        U5      [        L a  [        U4S jU 5       5      $ T" U5      $ )Nc                 N  > U [         ;  a  TR                  5       R                  R                  S   n[	        U5      (       a2  U [
        R                  R                  R                  L a  [        X5      $ [        TR                  5       U 5      $ [         U    nTR                  U;   $ )Nexample_value)r(   r{  nodemetar   rP  nn	parameter	ParameterrV   r]  python_typedtype)tyexample_valdtypesr  s      rO   
check_typeOBuiltinVariable.call_isinstance.<locals>._tensor_isinstance.<locals>.check_type  s    !44&)lln&9&9&>&>&O9+FF "ehh&8&8&B&B B
 $.k#>>#-coo.?#DD04F99..rR   c              3   4   >#    U  H  nT" U5      v   M     g 7frU   rl  )r[   r  r  s     rO   r]   NBuiltinVariable.call_isinstance.<locals>._tensor_isinstance.<locals>.<genexpr>  s     D"z"~~s   )rW   tuplera   )
tensor_vartensor_typer  r  s     @rO   _tensor_isinstance;BuiltinVariable.call_isinstance.<locals>._tensor_isinstance  s3    /" $-DDDD%k22rR   z&isinstance called on UserDefinedClass r  __instancecheck__)r  r  r   r  rV   r   r?   r  r-   r<  rA   rN   typesMemberDescriptorTyper  r   r  r]  r  )r   r   r  isinstance_typer  r  r!  s     `    rO   call_isinstanceBuiltinVariable.call_isinstance  s   	(H *<<>c933449N3. --44"38 
 c9>>??JIIu11E
 E
 8Q>OP
 sI??@@#'@'@'I'II--44));;OSYYW 	.X7C ))0055q # 	cU"_$55PQTPUV	l  	.o-C	.s#   E< F! <FF!F21F2c                      UR                  5       nUR                  5       n[        R                  " [        WW5      5      $ ! [         a    [        SU SU 35         N=f = f)z,Checks if first arg is subclass of right argz+call_issubclass args not constant left_ty: z, right_ty: )r  r  r   r   r-   r]  )r   r   left_tyright_ty
left_ty_pyright_ty_pys         rO   call_issubclassBuiltinVariable.call_issubclass,  sh    	 335J"557K ))*Z*MNN # 	=gYlS[R\]	s    A A A c                 .    [         R                  " X#5      $ rU   )r   SuperVariabler   r   r   r   s       rO   
call_superBuiltinVariable.call_super8  s    &&q,,rR   c                      UR                  U5      $ ! [         aI  n[        U[        R                  5      (       a$  UR                  5         UR                  S   s S nA$ e S nAff = f)Nr   )next_variabler   rV   r   r6   r  r   )r   r   r  exs       rO   	call_nextBuiltinVariable.call_next;  sX    	$$R(( 	#y99::$$&yy|#		s     
A&=A!A& A!!A&c                    UR                  5       (       aj  UR                  5       n[        U[        R                  5      (       a*  [        R
                  " [        UR                  U5      5      $ UR                  X5      $ g rU   )	r  r  rV   r   rE   r-   r,  rG   call_hasattr)r   r   r  attrrs  s        rO   r  BuiltinVariable.call_hasattrD  sd    ""$$**,D#y8899 11'#&&$2GHH##B--	 %rR   c                     U Vs/ s H,  nUR                  U5      (       a  UR                  U5      OUPM.     nn[        R                  " X#[	        5       S9$ s  snf r   )r   r   r   MapVariabler*   )r   r   rG   seqsr  s        rO   call_mapBuiltinVariable.call_mapK  sc     
 ,/+F+Fr+J+JC##B'PSS 	 
 $$R=M=OPP	
s   3Ac                     UR                  U5      (       a  UR                  U5      OUn[        R                  " X#[	        5       S9$ r   )r   r   r   FilterVariabler*   )r   r   rG   r  s       rO   call_filterBuiltinVariable.call_filterR  s<    -0-H-H-L-Lc%%b)RU''?O?QRRrR   r  r   c                 
   SSK Jn  SSK JnJnJnJn	  UR                  5       n
UR                  5       (       d  [        S5        UR                  R                  R                  U5      (       ap  [        U[        R                  5      (       aQ  U
S;   aK  UR                  (       a:  UR                  R                  R!                  U5      (       a  [        SU
< S35        UR                  R                  R#                  X*5      (       a%  UR                  R                  R%                  X*5      $ Ub?  U R'                  XU5      nUR                  5       S	;   d   eUR                  5       (       d  U$ UR(                  =(       a    [+        UR(                  U
5      nU
S
;   a   UR                  5       n[        U[,        5      (       a  U
S:X  ae  [/        UR0                  5       VVs/ s H.  u  p[2        R4                  " XU=(       a    [7        X5      5      PM0     nnn[        R8                  " UUS9$ U
S:X  a!  [2        R4                  " XR:                  U5      $ U
S:X  a  UR<                  " UR>                  5      $ [        U[        RB                  5      (       a  URE                  X5      $ [        U[        RF                  [        RH                  [        R                  [        RJ                  [        RL                  [        RN                  45      (       a   URE                  X5      $ [        X(5      (       ax  [Q        URR                  U
5      n[        U[T        RV                  RX                  [T        RV                  RZ                  45      (       a  UR]                  U5      (       a  U" UUS9$ g g [        U[^        5      (       a  UR`                  (       d  XRR                  Rb                  ;  a  [Q        URR                  U
5      nOURR                  Rb                  U
   n[d        Rf                  (       a'  URh                  Rk                  URR                  U
U5        [2        R4                  " UUU5      $ [m        X)5      (       a,  U
S;   a&  UR<                  " [Q        URn                  U
5      5      $  URE                  X5      $ s  snnf ! [@         a     GNYf = f! [@         a
    U" X*US9s $ f = f! [@         a
    U" X*US9s $ f = f)Nr   )trace_rulesr)   )r-   r  rH  r   znon-const getattr() name)named_parameters
parametersnamed_buffersbuffersnamed_modulesmodulesz4pending mutation on nn module, so graph breaking at z call)TF>   __base__	__bases__	__flags__r  rI   r  r  )r+  r  )8 r  r-   r  rH  r   r  r  r   r   r   r  rV   r   UnspecializedNNModuleVariableis_state_mutatedr  has_pending_mutation_of_attr	load_attrr  rJ   r   rW   	enumerater  r+   r  r   r;   r  r<  r  r  r   r  r?   NamedTupleVariableDistributedVariabler   rA   rg   rN   rP  _opsOpOverloadPacket
OpOverloadis_aten_op_or_tensor_methodr   is_torchr   r   replay_record_enabledexec_recorderrecord_module_accessr%   rG   )r   r   r  r   defaultr  r-   r  rH  r   rs  hasattr_varrJ   rN   r  r   
tuple_argsmembers                     rO   call_getattrBuiltinVariable.call_getattrV  s&    	#	
 	
 **,**,,4599!!77<<#yFFGG ,,		..CCCHH!NthV[\ 99!!>>sII99))33C>>++BX>K113}DDD1133<
3::t <99..0eT**{*
 )2%//(B	& )C ,11 "v'J-2J )C	 # &  )66z&QQz).44RPP{*/66uGG c95566??2,,((,,**--2233

 

Ar00 ::SYY-F44ejj6K6KL 99&AA3F6JJ B [))||t99+=+== D1++D1++  55ciivN"((VV<<C..4;U3U#**73664+@AAAr00k& ' $ ' A&s@@A2 ' A&s@@AsU   AS !5R=S .&S !S S ,S+ =S 
SSS('S(+S?>S?r!  c                 V
   [        U[        R                  [        R                  [        R                  [        R
                  45      (       a  UR                  USX4/0 5      $ UR                  R                  R                  U5      (       Ga  UR                  5       (       Ga  UR                  5       n[        U[        R                  5      (       Gaf  SSKJn  US:X  a  [        S5        US:X  GaH  UR                  R                    Vs/ s H   owR"                  UR"                  :X  d  M  UPM"     nnU H(  nUR                  R                   R%                  U5        M*     ['        U5         [(        R*                  " 5          U" UUR                  R,                  " S[(        R.                  R0                  /[3        X$/0 5      Q76 5      n	S S S 5        S S S 5        S n
UR                  R-                  SU
W	R5                  5       40 5        U
" UR5                  5       R6                  R8                  S	   5        U	$ UR                  R                  R;                  X%U5        US
:X  a'  UR                  R                  R;                  USU5        U$ [        U[        R
                  5      (       a,  [        S[=        UR>                  5      R@                   35        g [        U[        RB                  5      (       GaE  UR                  RE                  5       (       d  [G        S5      eUR                  5       (       a  [        U[        R                  5      (       a  [I        UR5                  5       R6                  U5      n URK                  XR                  5       5      n[        U[        R                  5      (       ar  [I        UR5                  5       R6                  U5      n[N        RP                  " URR                  S5      nXL a)  U[(        RT                  RV                  R@                  L a  U$ URY                  U5        g [        U[        RZ                  R\                  5      (       a  UR^                  (       at  UR                  5       (       a^  [        U[        R`                  5      (       a>  [c        URd                  UR                  5       UR                  5       5        [a        S 5      $ g g g g s  snf ! , (       d  f       GN0= f! , (       d  f       GN:= f! [L         a    S n GNf = f)Nr  r)   r   requires_gradzmutating requires_grad can introduce a new leaf from non-leaf or vice versa in the middle of the graph, which aot_autograd does not currently know how to handle. datar   c                     U R                   nUS:  a  US-
  n[        R                  R                  R	                  X5        U $ r=  )_versionrP  _C	_autograd_unsafe_set_version_counter)r\   versions     rO   _lower_version_count_by_1?BuiltinVariable.call_setattr.<locals>._lower_version_count_by_1   s8    "#**"Q;&-kG**FFqR rR   r  _gradgradz#setattr(UserDefinedObjectVariable) z?Can't inplace modify module params/buffers inside HigherOrderOp)3rV   r   CustomizedDictVariablePlacementVariabler  rA   r   r   r   r  r  r  r?   r   r   r   tracked_fakesrJ   removedynamo_disable_gradrP  no_gradr   Tensorset_r'   r{  r  r  
store_attrrW   rN   r  r   is_root_tracerr   r"   r  r-  r  getattr_staticmodule_typer  Moduleconvert_to_unspecializedrM  HFPretrainedConfigVariabler  r-   setattrr  )r   r   r  r   r!  rs  r   tf	to_remover  r(  assigning_fake_valgetattr_varexisting_fake_attrmod_setattrs                  rO   call_setattrBuiltinVariable.call_setattr  s    00++,,33	
 
 ??2}xorJJII""88==++--..0D#y77882?*!n 6> &(YY%<%<!%<r		SZZ@W%<  ! (		//66r: ( -R0%--/+II22 / % 1 1 "3C:r!B 3B0! II**'1)	 .clln.A.A.F.F.WX JII""--c=w		&&11#vsCJY@@AA5d399o6Q6Q5RS Y778899++--,U  **,,Y--2 2 &4CLLN4G4G%L"'"%//"6Q6Q6S"TK k9+C+CDD)78L8L8N8S8SUW)X& #*"8"8-"XK*@'588??+F+FF**((, Y__GGHHRYY**,,Y//2 2 GGX88:C<R<R<T (--2, NWHe! 3B/00l & '"&K'sC   
S/+S/,TA	S4T=T 4
T	>T
TT('T(c                 N    U R                  XU[        R                  " 5       5      $ rU   )rB  r   DeletedVariable)r   r   r  r   s       rO   call_delattrBuiltinVariable.call_delattrE  s"       (I4M4M4OPPrR   c                     UR                  5       nUR                  =(       a    [        UR                  5      nU[        R                  L a5  UR                  R                  S[        5      n[        [        U5      S5      n[        R                  " XU5      $ ! [         a(  n[        [        R                  [        U5      SS9S eS nAff = f)Nunknown_python_type)	case_namer	  r2  )r  r  r   r   INVALID_INPUTrp   rJ   r   rP  r2  r   install_global_by_idr   r   r+   r  )r   r   r  py_typeerrorrJ   rs  s          rO   	call_typeBuiltinVariable.call_typeM  s    	oo'G 6
3:: 6ell"9911"e<DT 2H=F$$R&99 # 	++E
/ 		s   B 
C##CCc                     UR                  U5      (       a9  [        [        UR                  U5      5      5      n[        R
                  " U5      $ g rU   )r   r  reversedr   r   r;   )r   r   r  r   s       rO   call_reversedBuiltinVariable.call_reversed_  sC    &&r**#"9"9""=>?E**511 +rR   c                     UR                  U5      (       ab  [        U[        R                  5      (       dB  [        R                  " UR                  U5      [        5       S9nUR                  US/ U5        U$ g g )Nr   sort)r6  rV   r   r?   r8   r7  r*   r   )r   r   r  ro  list_vars        rO   call_sortedBuiltinVariable.call_sortedd  su     ,,R00)):
 :
 !----b1.0H   VR8O:
0rR   c                     [        U[        5      (       a8  [        R                  " U[        R                  " UR                  5       5      S S9$ g )Nsym_num)rV   r>   r<  rs   ru   r{  r   r   r   s      rO   call_negBuiltinVariable.call_negu  s?    a))"))qzz|,  rR   c                 b    UR                  5       n[        R                  R                  XSU5      $ rU   )r  r   StringFormatVariabler<  )r   r   _format_stringr  ro  format_strings         rO   call_formatBuiltinVariable.call_format  s)    &99;--44]&QQrR   c                    [        U5      S:  at  [        US   [        R                  5      (       aR  US   nUR                  R                  UR                  5      n[        R                  R                  [        U5      5      $ [        U5      S:X  a  [        US   [        R                  5      (       al  [        US   R                  R                  [        R                  5      5        [        US   R                   5      n[        R                  R                  U5      $ [        U5      S:X  a.  [        US   ["        5      (       a  US   nUR%                  U5      $ ['        SU 35        g )Nr   r)   zcall_id with args )ri   rV   r   r   r   r9  r:  r-   r<  idrA   r   rJ   rK   r   ID_MATCHrN   r?   call_idr   )r   r   r  nn_mod_variabler}   constant_resulttensor_variables          rO   ri  BuiltinVariable.call_id  s   t9q=ZQ1K1KLL"1gO))))/*D*DEC--44RW==Y!^
GY88!
 !
 $q'..33L4I4IJK a/O--44_EEY!^
47N C C"1gO"**2...tf56rR   c                 2    [        S[        U5       35        g )Nzcopy.deepcopy )r   rn   )r   r   r\   s      rO   call_deepcopyBuiltinVariable.call_deepcopy  s    tAwi01rR   c           	         SSK Jn  SSKJn  U R                  nU[
        R                  [
        R                  4;   a  [        U[        5      =(       ap    [        U[        5      =(       aY    [        [        UR                  5       R                  5      5      [        [        UR                  5       R                  5      5      :H  nU[
        R                  L a  [        R                  " U5      $ [        R                  " U(       + 5      $ Xe;  a  [!        UR"                   SU SU S35        [        U[        5      (       a{  [        U[        5      (       af  UR$                  =(       a    UR$                  bF  UR$                  UR$                  :w  a,   [&        R(                  " UR$                  UR$                  5        [        U[        5      (       a  UOUnUR,                  R/                  SXbR                  5       UR                  5       40 5      n	U" [1        U5      UU	5      $ ! [*         a!    [!        UR"                   SU SU S35         Nf = f)Nr)   rC  %supported_tensor_comparison_op_valuesr(  r)  r*  r   )r   r  r   rs  rG   rs   r  is_notrV   r?   rg  r!   r{  r  r-   r<  r   r+  sizerP  broadcast_shapesRuntimeErrorr   r   rW   )
r   r   r#  r$  r  rs  r  	is_result
tensor_clsr  s
             rO   rB  'BuiltinVariable._comparison_with_tensor  s   .AWW(,,0040 Iun5I1$--/2F2FGH01A1F1FGHI  X\\!'..y99'..9}==:R[[M4&5';<t^,,5.11)uzz6		UZZ'A&&tyy%**= (n==T5
		&&R--/5>>3C!Db
 !
 	
   AQtfBugQ?@As   +H" "(IIc                    SSK Jn  U R                  nXT;  a  [        UR                   SU SU S35        UR
                  R                  SXRR                  5       UR                  5       40 5      n[        R                  " UUS S9$ )Nr)   rr  r(  r)  r*  r   r[  )
r   rs  rG   r   r+  r   r   r{  r>   r<  )r   r   r#  r$  rs  r  r  s          rO   rC  (BuiltinVariable._comparison_with_symnode  s~    AWW:R[[M4&5';<		&&R--/5>>3C!Db
 %%
 	
rR   c           
         [        U[        5      (       a  [        U[        5      (       a  g [        U[        [        45      (       af  [        U[        [        45      (       aK  [        R                  " UUR                  R
                  " S[        R                  /[        X#/0 5      Q76 S S9$ [        US5      (       a=  [        US5      (       a+  [        [        UR                  UR                  -  5      5      $ g g Nr   r[  r/  )rV   r-   r>   r<  r   r   rs   r   r'   r,  r5   r  r/  r  s       rO   	call_and_BuiltinVariable.call_and_  s    a)**z!=M/N/Na/+;<==*!12C
 C
 #))		&&#X]]5Fvr5R   1k""wq+'>'>tAKK!++$=>?? (?"rR   c           
         [        U[        5      (       a  [        U[        5      (       a  g [        U[        [        45      (       af  [        U[        [        45      (       aK  [        R                  " UUR                  R
                  " S[        R                  /[        X#/0 5      Q76 S S9$ [        US5      (       a<  [        US5      (       a+  [        [        UR                  UR                  -  5      5      $ g r~  )rV   r-   r>   r<  r   r   rs   r   r'   r,  r5   r  r/  r  s       rO   call_or_BuiltinVariable.call_or_  s    a)**z!=M/N/Na/+;<==*!12C
 C
 #))		&&#X\\4Eqfb4Q   1k""wq+'>'>tAKK!++$=>??rR   c           
         [        U[        5      (       aK  [        R                  " UUR                  R                  " S[
        R                  /[        U/0 5      Q76 S S9$ [        U[        5      (       a  UR                  n[        U[        [        45      (       a,  [        R                  " [        UR                  5      S:H  5      $ g )Nr   r[  r   )rV   r>   r<  r   r   rs   rv   r'   r2   dv_dictr8   r0   r-   ri   r   r]  s      rO   	call_not_BuiltinVariable.call_not_  s    a))"))		&&#X]]5FsB5O   a""		Aa,(9:;;#**3qww<1+<==rR   r   r   c                 ,    UR                  USU/0 5      $ )N__contains__r   r  s       rO   call_containsBuiltinVariable.call_contains  s     }}R!b99rR   r   )rj  Nr?  )r   rC   r  List[VariableTracker]ro  Dict[str, VariableTracker]rj  r+   )r  r  ro  r  rj  r+   )r   rC   r  r+   rU   )cr+  r  __qualname____firstlineno__r@  	_SENTINELr+   _nonvar_fieldsclassmethodrP   staticmethodr>  	lru_cacher   r   r   r   rY  re  rh  rn  rp   rt  r  r{  r  r  r  r  r  r  r  r   rW   rb   r  r  r  r   r   r(  call_int
call_floatr3  r:  r8  r9  call_mincall_maxrZ  r`  rd  ri  rn  rm  rw  rz  r  r  r  
call_tuple	call_listr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rB  rF  rO  rS  rX  r^  rd  ri  ro  rB  rC  r  	call_iandr  call_iorr  r  __static_attributes____classcell__)r  s   @rO   rE   rE   h   s   I		'	'N
 ) ) ?  ?B: *  *X !  !F [  [z
 	 	54# 4"Q13 
 



 S T$Z S T S  S j|H| #%)#) &) -	)
 
)&; &	;
 -; 
;8* H J%UN4YZ;x HH44A<	

-
 04!)!FH "J I<8NK 9A 9Av  J# J  JD54;

DH;6z
O-3 / .QS mA#mA mA "	mA^~.#~. ~. "	~.
 ~.@Q#Q Q "	Q:3 :/ :$2 7 2o 2
#  "	"R7"2'
R
"@$ I& H$:):.=:BQ: :rR   rE   c              #      #    SSK Jn  [        R                  " 5       nUR	                  U S5      n UR                  U 5        S v   UR                  U 5        g ! UR                  U 5        f = f7f)Nr)   )GradModeVariableF)r	  r  rP  is_grad_enabledr<  enterexit)r   r  	org_valuegmvs       rO   r0  r0    sQ     "%%'I

!
!"e
,C		"s   .A.A A.A++A.)y
contextlibr>  r  r  loggingrX   rs   r  collectionsr   r   collections.abcr   typingr   r   r   rP  r	   r
   torch.utils._python_dispatchr   r	  r   r   r  r   r   r   r   r   guardsr   r   replay_recordr   rJ   r   r   r   r   r   utilsr   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   baser*   r+   constantr-   ctx_managerr.   r/   rM  r0   r1   r2   r3   r4   r5   listsr6   r7   r8   r9   r:   r;   r   r<   r=   r>   r?   r@   rQ  rA   rB   torch._dynamo.symbolic_convertrC   	getLoggerr+  r  r   r~   r   r   r   ry   r   r{   r   r|   r   r}   r   r   r   r   r   r   rm   r   r   r   r   r   r   r  rE   contextmanagerr0  rl  rR   rO   <module>r     s           0 $ , ,  $ F    1 '     4 & 6    I D ! MM8<<MM8<<MM8<<))x''MM8<<h&&hoohooMM8<<MM8==LL(,,MM8<< "g:o g:T= 	 	rR   