
    [ThNU                    :   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rS SK	r	S SK
JrJr  S SKJr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Jr  SS	KJrJrJr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K0J1r1J2r2J3r3J4r4J5r5J6r6J7r7J8r8J9r9J:r:J;r;J<r<J=r=J>r>J?r?  SSK@JArAJBrB  SSKCJDrD  SSKEJFrFJGrG  SSKHJIrIJJrJJKrKJLrLJMrMJNrN  SSKOJPrPJQrQJRrRJSrSJTrTJUrU  SSKVJWrWJXrXJYrYJZrZJ[r[  SSK\J]r]J^r^  \(       a  S SK_J`r`  \R                  " \b5      rc\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r}\S\	R                  \	R                  /\B4   r\\\B   \\\B   S4   4   r\GR                  \GR                  \GR
                  \GR                  \GR                  \GR                  \GR                  \GR                  \GR                  \GR                  \GR                  \GR                  0r " S S\B5      r\ GR"                  S 5       rg)    N)defaultdictOrderedDict)KeysViewSequence)CallableTYPE_CHECKINGUnion)	sym_floatsym_int)is_traceable_wrapper_subclass   )config	polyfills	variables)AttributeMutationErrorObservedAttributeErrorraise_observed_exceptionunimplementedunimplemented_v2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cmp_name_to_op_mappingdict_methodsextract_fake_example_valueget_fake_valueguard_if_dynis_wrapper_or_member_descriptoristypenumpy_operator_wrapperproxy_args_kwargsstr_methodstensortype_to_dtype   )ValueMutationNewVariableTrackerConstantVariable)EventVariableStreamVariable)ConstDictVariableDefaultDictVariableDictViewVariableFrozensetVariableis_hashableSetVariable)BaseListVariableListIteratorVariableListVariableSizeVariableTupleIteratorVariableTupleVariable)FakeItemVariablesupported_comparison_opsSymNodeVariableTensorVariableUnspecializedPythonVariable)UserDefinedObjectVariableUserDefinedVariable)InstructionTranslatorrJ   .c            
       0  ^  \ rS 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	\\S
\4   \\\   \S
\4   4   4   4S j5       5       r\\R                  " S5      S 5       5       r\S 5       rS rS`U 4S jjrS	\4S jrS rU 4S jrSaS jrS rS r S r!S r"\S 5       r#S r$\S\\%   S\&4S j5       r'SbS jr(0 r)\\\S
4   \S\*\   \\\4   /\4   4   \+S '   SSS!\*S"   S#S$S	S"4S% jr,      ScU 4S& jjr-SbS' jr.\.r/\.r0SbS( jr1SbS) jr2SbS* jr3SbS+ jr4\2r5\2r6SdS- jr7SdS. jr8SdS/ jr9SbS0 jr:SbS1 jr;S2 r<SbS3 jr=SbS4 jr> Se SbS5 jjr?S6 r@SeS7 jrASbS8 jrB\ArC\ArDSbS9 jrES: rFSbS; jrG\SbS< j5       rH\  SbS= j5       rISbS> jrJSbS? jrKSbS@ jrLSbSA jrMSbSB jrNSbSC jrOSbSD jrPSbSE jrQSSS,\4SF jrRSbSG jrSSbSH jrTSbSI jrU SeSSSJ\SK\4SL jjrVSSSJ\SK\SM\4SN jrWSSSJ\SK\4SO jrXSSSJ\4SP jrYSSSJ\4SQ jrZSSSJ\S#\4SR jr[SbSS jr\SbST jr]SbSU jr^SbSV jr_SbSW jr`SbSX jraSbSY jrb\brcSbSZ jrd\dreSbS[ jrfSSS\\S]\4S^ jrgS_rhU =ri$ )fBuiltinVariable}   a  
A VariableTracker that represents a built-in value (functions and operators).
A lot of the code here assumes it will be a function object.

The BuiltinVariable class wraps Python built-in functions (like len, isinstance, etc.)
and operators (like +, -, *, etc.) to enable symbolic execution during tracing. This allows
Dynamo to properly handle these operations when converting Python code to FX graphs while
maintaining correct semantics and enabling optimizations.
fnc                 ^    [        UR                  [        R                  5      5        U " XS9$ )Nsource)r   
make_guardr   BUILTIN_MATCH)clsvaluerQ   s      W/var/www/auris/envauris/lib/python3.13/site-packages/torch/_dynamo/variables/builtin.pycreate_with_source"BuiltinVariable.create_with_source   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 $ )Nr0   )rD   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     rV   	<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sumr^   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tensorrD   updatevaluesr_   __dict__)fnsrD   s     rV   _constant_fold_functions(BuiltinVariable._constant_fold_functions   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
rY   c                 <    U R                   U R                  5       ;   $ r\   )rN   r   selfs    rV   can_constant_fold_through)BuiltinVariable.can_constant_fold_through   s    ww$77999rY   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 $ r\   )(rz   rf   r{   r|   r}   r   rt   r   r   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    rV   _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 
rY   return.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__)rz   r   r   r   r   r   r   r   r   r   r   r   r   rt   r   r   r   r   r   r   s    rV   _binopsBuiltinVariable._binops  s     LL>NLL>NLL>N?!! B""  LL>N5x}}ELL>NOO<   OO<  'U
> 
rY   c                    ^^^^^^^^ 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  p#/ X'   / X'   Uu  pEn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[(        [*        4U
4[*        [(        4S 4[,        [.        [*        [0        44S 4[.        [.        4S 4/nU [2        R4                     R7                  U5        SS jn[,        ["        4U4[(        [(        4U
4[(        [*        4U
4/nU [2        R8                     R7                  U5        SS jn[,        [*        4U4[(        [*        4U4[*        [,        4U4[*        [(        4U4/nU [2        R:                     R7                  U5        UUUUUUUU4S jn[<        R>                  " 5        H&  n[A        U5      (       d   eX;  d   eU" U5      X'   M(     U $ )Nr0   )BaseUserFunctionVariableUserFunctionVariableNNModuleVariable)supported_const_comparison_ops)BaseTorchVariable)UserDefinedClassVariablerH   rI   )forward_namereverse_namec                v   > [        UT5      (       a  UR                  XU/0 5      $ UR                  XU/0 5      $ r\   )r]   call_method)txabr   r   rI   s        rV   user_defined_handler=BuiltinVariable._binop_handlers.<locals>.user_defined_handlerV  s=    , a!455==A3CC==A3CCrY   )r   c                *    UR                  XU/0 5      $ r\   r   )r   r   r   r   s       rV   user_defined_inplace_handlerEBuiltinVariable._binop_handlers.<locals>.user_defined_inplace_handlerx  s     }}RsB??rY   rN   c          
      n    SSK Jn  U" U U R                  R                  " SU/[	        X/0 5      Q76 5      $ Nr0   wrap_fx_proxycall_function)builderr   outputcreate_proxyr-   )r   r   r   rN   r   s        rV   dynamic_handler8BuiltinVariable._binop_handlers.<locals>.dynamic_handler  s=    2$II**'.?.K rY   c                 R    [        / UR                  QUR                  U 5      Q5      $ r\   )rB   itemsunpack_var_sequencer   r   r   s      rV   tuple_add_handler:BuiltinVariable._binop_handlers.<locals>.tuple_add_handler  s'     !G177!GQ-B-B2-F!GHHrY   c                 R    [        / UR                  QUR                  U 5      Q5      $ r\   )r@   r   r   r   s      rV   size_add_handler9BuiltinVariable._binop_handlers.<locals>.size_add_handler  s'     F!'' FA,A,A",E FGGrY   c                 R    [        / UR                  U 5      QUR                  Q5      $ r\   )rB   r   r   r   s      rV   <lambda>1BuiltinVariable._binop_handlers.<locals>.<lambda>  s-    ..r2"rY   c                 `    [        / UR                  QUR                  U 5      Q[        5       S9$ Nmutation_type)r?   r   r   r1   r   s      rV   r   r     s+    :agg: 5 5b 9:"2"4"rY   c                 T    [        U5      " / UR                  QUR                  Q5      $ r\   )r^   r   r   s      rV   r   r     s*    a"rY   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$ r\   )is_immutablehas_unpack_var_sequencer   r   side_effectsmutationr   extend)r   r   r   seqs       rV   list_iadd_handler:BuiltinVariable._binop_handlers.<locals>.list_iadd_handler  s_    ~~q'@'@'D'D''+CII""++A.GGNN3HrY   c                     [        U[        5      (       a  X!p!UR                  UR                  UR	                  5       -  [        5       S9$ )N)r   r   )r]   r4   	__class__r   as_python_constantr1   )r   lstconsts      rV   expand_list_like9BuiltinVariable._binop_handlers.<locals>.expand_list_like  sF    #/00"U==ii%":":"<<.0 !  rY   c                 X  >^ ^
 SU 4S jjn[         [         4U4/nT [        ;   a~  [         [         4U4/n[        T 5      nUR                  [        [
        4UR                  4[
        [        4UR                  4/5        U 4S jnUR                  [
        [
        4U45        U$ [         [         4U4/nT TR                  5       ;   Gac  T R                  R                  S5      (       GaB  T " [        5       S 5      m
SU
4S jjnUnUn[        [        T[        TT[        T4nUR                  U[         4U4[         U4U4/5        [        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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        SU 4S jjn	UR                  [
        [
        4U	45        U$ )	Nc                 P   > [        T" UR                  UR                  5      5      $ r\   )r4   rU   r   r   r   ops      rV   compare_by_valueYBuiltinVariable._binop_handlers.<locals>.create_cmp_op_handlers.<locals>.compare_by_value  s    '177AGG(<==rY   c                 d   > U R                  [        R                  " U [        T   5      X/0 5      $ r\   )inline_user_function_returnr2   buildpolyfill_fn_mappingr  s      rV   handlerPBuiltinVariable._binop_handlers.<locals>.create_cmp_op_handlers.<locals>.handler6  s3    99'--b2Eb2IJQFTV rY   is_c                    > [        T5      $ r\   r3   )r   r   r   none_results      rV   neverNBuiltinVariable._binop_handlers.<locals>.create_cmp_op_handlers.<locals>.neverF  s    +K88rY   c                 P   > [        T" UR                  UR                  5      5      $ r\   )r4   rN   r  s      rV   r   QBuiltinVariable._binop_handlers.<locals>.create_cmp_op_handlers.<locals>.<lambda>k  s    -=bqttn-MrY   c                    > [        T" U R                  R                  UR                  5      U R                  R                  UR                  5      5      5      $ r\   )r4   r   get_submodule
module_keyr  s      rV   r   r$  r  s?    -= "$&II$;$;ALL$I$&II$;$;ALL$I!".rY   c                   > [        U5      [        U5      La#  [        R                  " TR                  S:g  5      $ XL a  [        R                  " T" X5      5      $ [	        U[
        R                  5      (       aV  [	        U[
        R                  5      (       a6  UR                  UR                  La  [        R                  " T" X5      5      $ g g g )Nr  )r^   r4   create__name__r+   r   ExceptionVariableexc_type)r   leftrightr  s      rV   	handle_isRBuiltinVariable._binop_handlers.<locals>.create_cmp_op_handlers.<locals>.handle_is  s     Dze4/66r{{e7KLL}/66r$GGtY%@%@AA"5)*E*EFF MM?/66r$GG @ G BrY   r   rJ   )r4   r  rL   r  rE   r2   _comparison_with_symnodeappendr   r*  
startswithobjectrF   r=   r7   r6   r5   _comparison_with_tensor)r  r  resultop_varr  r!  obj_op_nonenone_op_objtypes_that_are_never_noner/  r   r   r   r   r   rH   rI   r   r   s   `         @rV   create_cmp_op_handlers?BuiltinVariable._binop_handlers.<locals>.create_cmp_op_handlers  s   > $%568HIJ  (( -.>?AQRS(, -o>";;
 -o>";;	
 A7KL(*:;=MNOF3::<<AWAWB B !409 $# ##$$',%%	-)  78HI'
 ./HI'	 ), "6 G!5 G N !1 0 78QR,
 67OP, "0@P Q!/@P Q - ,_="::
 -n="::
 -o>";;
 -o>";;_35nH A9MNMrY   r1  )!	functionsr   r   	nn_moduler   r   r   torchr   user_definedr   rH   rI   rL   r   r   r3  r2   rE   r@   rB   r4   r?   r=   r>   rz   r   r  r   r   rD   r   rj   )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_handlersr<  r   r   r   r   rH   rI   r   r   s                     @@@@@@@@rV   _binop_handlersBuiltinVariable._binop_handlers.  sj    	N/:,	
 	
$  	 $$&,,.
- 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G,
 	$j 	HLL!(()DE	" /!
 .!
  01!
 	 & 	HMM"))*AB	 ,-/?@-.0@A-/?@.0@A	
 	% 	HLL!(()EFX	 X	t +113BB<<<(((4R8KO 4
 rY   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$ r\   )rL   rI  get
issubclassr3  )r  a_typeb_typehandlersmatchestype1type2r  s           rV   _find_binop_handler#BuiltinVariable._find_binop_handler  sb    "22488<'/#NUG&((Z-F-Fw' (0 rY   c                 <    U R                   U R                  5       ;   $ r\   )rN   r   r   s    rV   can_insert_in_graph#BuiltinVariable.can_insert_in_graph  s    ww$22444rY   c                 2   > [         TU ]  " S0 UD6  Xl        g )N )super__init__rN   )r   rN   kwargsr  s      rV   r\  BuiltinVariable.__init__  s    "6"rY   c                     U R                   c  SnOU R                   R                  nU R                  R                   SU S3$ )NNone())rN   r*  r  )r   names     rV   __repr__BuiltinVariable.__repr__  s=    77?D77##D..))*!D633rY   c                     U R                   $ r\   r   r   s    rV   r  "BuiltinVariable.as_python_constant  s    wwrY   c                    > [         [        R                   [        [        R                  [        [        R
                  0nU R                  U;   a  XR                     $ [        TU ]!  5       $ r\   )	ri   r@  ro   int64rm   float64rN   r[  as_proxy)r   DTYPEr  s     rV   rk  BuiltinVariable.as_proxy  sM    %**5==

 77e>!w!!rY   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95        g )Nbuiltinszshadowed globalT)r   )rN   r*  
__module__r   	f_globalsappend_outputcreate_load_global)r   codegenrc  s      rV   reconstructBuiltinVariable.reconstruct  sc    wwww!!Z///::///B1BB/g8848HIrY   c                     [        X5      $ r\   )r!   r   argsr]  s      rV   constant_argsBuiltinVariable.constant_args  s    "400rY   c                     SnU HG  n[        U[        R                  5      (       a    gU=(       d    [        U[        R                  5      nMI     U$ NF)r]   r   GetAttrVariablerF   )r   ry  
any_tensorargs       rV   tensor_argsBuiltinVariable.tensor_args  sF    
C#y8899#Pz#y7O7O'PJ  rY   c                     SnU HG  n[        U[        R                  5      (       a    gU=(       d    [        U[        R                  5      nMI     U$ r}  )rM  r   r~  rF   )r   	arg_typesr  arg_types       rV   tensor_args_type BuiltinVariable.tensor_args_type  sF    
!H(I$=$=>>#Uz(I<T<T'UJ " rY   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}  )rQ   r   )rb   ts     rV   rd   BBuiltinVariable.python_and_tensor_constant_only.<locals>.<genexpr>  s/      
  -.HH,@qxx(eK s   13)		itertoolschainr   r]   r   rF   r3  rg   rz  )r   ry  r]  r  non_tensor_argsis         rV   python_and_tensor_constant_only/BuiltinVariable.python_and_tensor_constant_only  s    }}7A!Y5566""1%&&q)	 8
  
 
 
 3   /2	3rY   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 r\   )r  r   )ry  r]  rc   kvs        rV   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      $ r\   )r   r#   rx  s      rV   has_constant_handler$BuiltinVariable.has_constant_handler  s#    --/ 
4Q5
 	
rY   r  
has_kwargsc                   ^ ^^^^	^
^^^^^ SSK Jm  [        T 5      m/ m[        U4S jT 5       5      (       a  U4S j$ [        R
                  " T 5      (       a*  [        T [        5      (       d	  T [        L a    SU 4S jjnU$ TR                  5       (       ay  T [        R                  L a"  [        TS   [        R                  5      (       aD  TR                  T5      (       a  TR                  $ T(       a  TR!                  TR                  5        [#        T5      S:X  ah  T(       da  [        R$                  " T /T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 T 5       5      (       a  T(       d	  SU 4S jjnOSU 4S jjnTR!                  U5        UU U4S j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$ )Nr0   )LazyVariableTrackerc              3   <   >#    U  H  n[        UT5      v   M     g 7fr\   )rM  )rb   r  r  s     rV   rd   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 r\   )r   realize)r   ry  r]  r  objs       rV   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r\   )r]   r   r4   rU   rw   ra   s     rV   rd   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)AssertionErrorrg   r   r   r+  )r   ry  r]  rN   s      rV   create_exception_class_objectDBuiltinVariable._make_handler.<locals>.create_exception_class_object!  sK     ' 4 "4 1 1
 ""BC 222tFvFFrY   r   r   c                    > T" U /UQ76 $ r\   rZ  )r   ry  _binop_handlers      rV   r   r  B  s    M"4Lt4LrY   c                 @   > T H  nU" U /UQ76 nU(       d  M  Us  $    g r\   rZ  )r   ry  r  rN   rvbinop_handlerss        rV   call_binop_handlers:BuiltinVariable._make_handler.<locals>.call_binop_handlersE  s$    ,]T]2#%I -rY   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   ry  r]  r7  er  excr  self_handlers	          rV   call_self_handler8BuiltinVariable._make_handler.<locals>.call_self_handlerP  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r\   )rM  r4   ra   s     rV   rd   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   ru   r2   r  )r   ry  r]  rc   resr  rN   s         rV   constant_fold_handler<BuiltinVariable._make_handler.<locals>.constant_fold_handlerv  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   ru   r2   r  )	r   ry  r]  rc   r  r  r  r  rN   s	           rV   r  r    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c                    > U  Vs/ s H  oR                  5       PM     nn[        SSTR                   ST ST 3STR                   SU ST S3STR                   SU S	TR                   S
3SS/S9  g s  snf )Nz Failed to trace builtin operatorzbuiltin r  z4Dynamo does not know how to trace builtin operator `z` with argument types z (has_kwargs rb  zAvoid calling builtin `z?. Consider using an equivalent alternative function/method to `z`.zIf you are attempting to call a logging function (e.g. `print`), you can try adding it to `torch._dynamo.config.reorderable_logging_functions`.z"Please report an issue to PyTorch.)gb_typecontextexplanationhints)python_type_namer   r*  )ry  r  real_arg_typesr  rN   r  s      rV   call_unimplemented_v2<BuiltinVariable._make_handler.<locals>.call_unimplemented_v2  s    @DE224NE:"2;;-q1ZLIRSUS^S^R_ `''5&6mJ<qR .bkk]:PQ_P` aTTVT_T_S``bde8 Fs   A6c                    > T" U5      $ r\   rZ  )r   ry  r]  r  s      rV   r   r    s    ,A$,GrY   c                 :   > T" XU5      nU(       a  U$ T" U5        g r\   rZ  )r   ry  r]  r  r  r  s       rV   builtin_dispatch7BuiltinVariable._make_handler.<locals>.builtin_dispatch  s    Rv.I%d+rY   c                 P   > T H  nU" XU5      nU(       d  M  Us  $    T" U5        g r\   rZ  )r   ry  r]  rN   r  r  rP  s        rV   r  r    s-    "BBf-Br!	 # &d+rY   r1  )lazyr  rL   rh   r  isclassrM  r  GeneratorExitrW  rz   r   r   rF   r  _handle_insert_op_in_graphr3  rp   rT  rn   r*  r   rg   )rN   r  r  r  r  r  r  r  r  r  r  r  r  rP  r  r  s   ```     @@@@@@@@rV   _make_handlerBuiltinVariable._make_handler  s   -b!+-E9EEE  ??2r9%% ]"
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	  x=AGG]a!JW, ,  , ,  rY   r   rJ   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 a8  [        US   [.        RT                  5      (       a  US   R[                  5       US'   U" UU5      $ ! [\         a    [_        SU  SU SU 35         g f = f)Nr0   )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r\   )r^   r   rF   rb   r  s     rV   rd   =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r\   r]   rC   r  s     rV   rd   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r\   r]   r   rG   need_unwrapra   s     rV   rd   r    s-      "C!!Y%J%JK "AMMC   #<<)	raw_valuer  c              3   B   #    U  H  n[        U[        5      v   M     g 7fr\   r]   rE   ra   s     rV   rd   r  +  s     BTZ?33Tr  zpartial tensor op: r  )0r   r   r  r  r   r  torch_functionr  r  r  r  exportr]   rF   rN   r)  r  bytecode_transformationr  r>  r  r*  IN_PLACE_DESUGARING_MAPr   r4   rz   r   rE   r@  selectr"   rh   r   r   r,   r-   NumpyNdarrayVariablerC   r$   r  r  r  rG   rg   r   r  NotImplementedErrorr   )r   r   ry  r]  r   r  r  r  r  r  r  functmpfn_varrN   r  r  proxy_args_kwargsr  r  s                         rV   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W	H33TDVD?C3Ibkk2D  ,,Q332 2 326a$q'8JDX%%%*T!Wo*N*N
 LLQ!2299!<Q  (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88:DG$R//" 	H/vQtfAfXFG	Hs4   <N ?DN AN A-N .N 7AN N,+N,call_function_handler_cachery  r2   r]  dict[str, VariableTracker]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r\   r^   ra   s     rV   rd   0BuiltinVariable.call_function.<locals>.<genexpr>N       4t!d1ggt   Tc              3   8   #    U  H  n[        U5      v   M     g 7fr\   r  ra   s     rV   rd   r  P  r  r  )r   r  rN   r   rL  r  r^   ri   )	r   r   ry  r]  r  r  keyr  rc   s	            rV   r   BuiltinVariable.call_functionE  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                 z	  > 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S:X  Gaa  U R                   [        L aL  [        U5      S:X  a=  [        U5      S:X  d   eUR                  R                  R                  XS   USS  5      $ U R                   [        L a  [        U5      S:X  a{  U(       dt  [        0 [        [        5       S9n[	        US   [        5      (       a  US   R                   [        L a  U$ UR                  R                  R                  U US   USS  5      $ U R                   [         L a  [        U5      S:X  a  US   R#                  U5      (       a  U(       d  US   R%                  U5      n	[&        R(                  " U	[        5       S9n
[	        US   [        5      (       a  US   R                   [         L a  U
$ UR                  R                  R                  U US   USS  5      nUR+                  U
5        U$ U R                   [,        L ao  [/        / [        5       S9n[	        US   [        5      (       a  US   R                   [,        L a  U$ UR                  R                  R                  U US   USS  5      $ U R                   [        L a  US:X  a  [&        R0                  " S 5      $ U R                   [        L a%  US	:X  a  [        R2                  " U[        /UQ70 UD6$ U R                   [        L a  [5        U R                   U5      nU[6        ;   a  [	        US   [&        R8                  5      (       a#  US   R:                  R=                  XUSS  U5      $ [	        US   [&        R                  5      (       a  US   R=                  XUSS  U5      $ U R                   [>        L a`  [        U5      S:  aQ  [5        U R                   U5      nU[@        ;   a1  [	        US   [0        5      (       a  US   R=                  XUSS  U5      $ [B        TU ]y  XX45      $ )
N__setattr__   r   __new__r0   r   r   r\  fromkeys)"rN   r5  rp   r  r]   rH   r   r  is_attribute_mutationis_python_constantmethod_setattr_standardtrack_new_user_defined_objectdictr7   r1   rL   tupler  r   r   rB   set_underlying_tuple_vtlistr?   r4   call_custom_dict_fromkeysrn   r&   UserDefinedDictVariable_dict_vtr   rw   r.   r[  )r   r   rc  ry  r]  r  name_varvaldict_vt	init_argstuple_vtr7  list_vtresolved_fnr  s                 rV   r   BuiltinVariable.call_methodY  s
    77f!6t9>!>v;!###!%C3++-C3 9::II**@@EE//11222EE9ww& SY!^6{a'''yy--KKq'48  ww$3t9>&+BDTDVWd1g77DGJJ$<N"N yy--KKGH  5 ING33B77 G77;	$22-=-? d1g77DGJJ%<O#O//MMGH
 ..x8ww$&r9I9KLd1g77DGJJ$<N"Nyy--KKGH  77f!3--d3377d?tz1"<<RWWPVWW77d?!$''40Kl*d1gy'H'HII7++77$qr(FSSQ)D)DEE7..rab6JJ77c>c$i1n!$''40Kk)d1g'7887..rab6JJw"2T::rY   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  )r]   rE   r   rF   r   rN   ro   r   r
   torch._dynamo.variables.builderr   r   r   rk  )r   r   r  r$  fn_r   s         rV   _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rY   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)rU   __str__rd  z5user defined object has no __str__ or __repr__ methodz has a C/C++ based str methodz)Failed to create UserFunctionVariable: %s)r]   r   r   r4   r)  rw   rN   rH   hasattrrU   r+  rd  r   r^   r5  AttributeErrorr*   __func__r  r  r  r  )r   r   r  
str_methodbound_methoduser_func_variabler  s          rV   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 )Nr0   r   r   )rp   has_force_unpack_var_sequenceforce_unpack_var_sequence_call_min_max_seq_call_min_max_binary)r   r   ry  r   s       rV   _call_min_maxBuiltinVariable._call_min_max  s    t9>d1gCCBGGG55b9E))"44Y!^,,Ra$q'BBY]))"33 rY   c                     [        U5      S:  d   e[        U5      S:X  a  US   $ [        R                  " [        R                  " U R                  U5      U5      $ Nr   r0   )rp   	functoolsreducepartialr8  )r   r   r   s      rV   r7  !BuiltinVariable._call_min_max_seq  sM    5zA~~u:?8O	 1 1$2K2KR PRWXXrY   c                 	   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      $ [        U[H        5      (       aO  [        U[H        5      (       a9  U R                  UR=                  5       UR=                  5       5      n[I        U5      $ g g )Nr0   r  r   r%  r   rr   rq   c              3   v   #    U  H/  n[        U[        R                  [        R                  45      v   M1     g 7fr\   )r]   r   rG   r4   )rb   r  s     rV   rd   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r\   r  )rb   r  s     rV   rd   rD  E  s     KFSz#'788Fr  c              3   |   #    U  H2  n[        U[        R                  5      (       d  M$  UR                  v   M4     g 7fr\   r  ra   s     rV   rd   rD  Q  s-      "#!!Y%J%JK "AMM#r  )%r  r]   r   rF   rC   TorchInGraphFunctionVariabler@  r   r   rE   r   r  r^   r   r   rN   r-   r  r  numpyNumpyVariableclipclamprq   maximumrr   minimumrg   rh   from_tensor_variabler  r  rG   sym_maxsym_minr)  r4   )r   r   r   r   r  nprN   r]  r7  np_fntorch_fnraw_braw_resr  py_fnr  rU   s                    rV   r8  $BuiltinVariable._call_min_max_binary  s   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!?!?@@& "**c2::>twwGE"007B #U]]CGPH"??IB))"!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%)WW^EMMEII**):A62)FE #))"T::+,,A?O1P1PGG$$&$$&E $E** 2Q,rY   r  c                     [        [        5      R                  X[        R                  " S5      /0 5      nUR                  U/ 0 5      $ )N__abs__rL   rn   r   r4   r)  )r   r   r  
abs_methods       rV   call_absBuiltinVariable.call_absl  D    $W-;;&--i892

 ''B33rY   c                     [        [        5      R                  X[        R                  " S5      /0 5      nUR                  U/ 0 5      $ )N__pos__rZ  )r   r   r  
pos_methods       rV   call_posBuiltinVariable.call_poss  r^  rY   c                     [        U[        R                  5      (       a  [        S5        [	        U5      n[
        R                  " U5      n[        R                  R                  U5      $ )Nzunsupported index(tensor))	r]   r   rF   r   r)   rz   r   r4   r)  )r   r   r  constant_values       rV   
call_indexBuiltinVariable.call_indexz  sM    c93344563!,))00@@rY   c                     [        [        5      R                  X[        R                  " S5      /0 5      nUR                  XU5      $ )N	__round__rZ  )r   r   r  ry  r]  round_methods         rV   
call_roundBuiltinVariable.call_round  sB    &w/==&--k:;R
 ))"F;;rY   c                     [        U0 5      (       a  [        R                  " U5      $ U R                  " U6 (       a(  [	        S U 5       5      n[        R                  " U5      $ g )Nc              3   r   #    U  H-  n[         R                  R                  [        U5      5      v   M/     g 7fr\   )r   r4   r)  r)   r  s     rV   rd   -BuiltinVariable.call_range.<locals>.<genexpr>  s-      PT	**11,s2CDDPTs   57)r#   r   RangeVariable_dynamic_argsr  r   r   ry  s      rV   
call_rangeBuiltinVariable.call_range  s[    (r22**400& PT D **400rY   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r\   r  ra   s     rV   rd   0BuiltinVariable._dynamic_args.<locals>.<genexpr>  s     @4a:a114r  c              3   B   #    U  H  n[        U[        5      v   M     g 7fr\   r  ra   s     rV   rd   rw    s      H
4CqJq/**Or  )rh   r   rx  s      rV   rq  BuiltinVariable._dynamic_args  s7    @4@@ 
C H
4:MMOH
 E
 	
rY   c                 .    [         R                  " U5      $ r\   )r   SliceVariablerr  s      rV   
call_sliceBuiltinVariable.call_slice  s    &&t,,rY   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   rN   r-   )r   r   ry  r]  r   s        rV   
_dyn_proxyBuiltinVariable._dyn_proxy  s=    *II""+<T+J
 	
rY   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   rQ   F)r]   r   IteratorVariablerq  r  r=   cls_forrN   r1   r  rQ   r   rA   r   rR   r   TUPLE_ITERATOR_LENrn   r7   r+   r<   r   guard_on_key_orderr   rc  SEQUENCE_LENGTHr  r   r   r   r  ry  r]  rT   s         rV   _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 ! -rY   c                     [         R                  R                  U R                  5      nU" [	        UR                  U5      5      [        5       S9$ r   )r   r=   r  rN   r  r6  r1   r  s         rV   _call_iter_tuple_generator*BuiltinVariable._call_iter_tuple_generator  sB    ((009..r23*,
 	
rY   c                 v   [        U[        R                  5      (       aP  [        R                  R	                  U R
                  5      nU" [        UR                  U5      5      [        5       S9$ [        U[        R                  5      (       a  U R                  " X/UQ70 UD6$ U R                  " X/UQ70 UD6$ r   )r]   r   r  r=   r  rN   r  r6  r1   LocalGeneratorObjectVariabler  r  r  s         rV   _call_tuple_list BuiltinVariable._call_tuple_list  s    c95566,,44TWW=CS22267.0  YCCDD222LTLVLL--bGGGGrY   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__)r]   r   r  r  r   )r   r   r  ry  r]  rets         rV   	call_iterBuiltinVariable.call_iter  sU    c95566C ,,RFtFvFC; ??2z4@@
rY   c           	         SSK JnJn  SSKJn  [        U[        R                  U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 )Nr0   )r   FunctoolsPartialVariabler   TF)r>  r   r  r?  r   r]   r   r   r4   r)  rI   rj   rU   rE   rF   r?   rB   r>   )r   r   r  r   r  r   s         rV   call_callableBuiltinVariable.call_callable  s    Q/22(( 	
 
 --44T::011--44Xcii5HII $

 

 --44U;;

rY   c                 N    [        U5      S:X  a  US   $ [        SU SU 35        g )Nr   r0   z$unsupported args to builtin cast(): r  )rp   r   )r   r  ry  r]  s       rV   	call_castBuiltinVariable.call_cast  s,    t9>7N<TF!F8LMrY   c                 @    [         R                  " U[        /UQ70 UD6$ r\   )rL   call_custom_dictr  r   r   ry  r]  s       rV   	call_dictBuiltinVariable.call_dict  s    //DJ4J6JJrY   c                     U R                  [        R                  " U [        R                  5      [        R                  " X5      /UQU5      $ r\   )r  r2   r  r   construct_dict)r   user_clsry  r]  s       rV   r   BuiltinVariable.call_custom_dict  sD    --!!"i&>&>?""20848
 	
rY   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 )
Nr0   rU   r   z,fromkeys expected at least 1 argument, got 0r   r   c              3   8   #    U  H  n[        U5      v   M     g 7fr\   )r;   )rb   r  s     rV   rd   <BuiltinVariable.call_custom_dict_fromkeys.<locals>.<genexpr>7  s     04a;q>>4r  z.fromkeys(): r  )r  r   r   rp   popr   r  r4   r)  r7   r8   r]   keysr  r1   r5  r6  rg   r   r*  )	r   r  ry  r]  r  rU   DictVariableTyper  r  s	            rV   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   r0   r   r  zset(): r  )r<   r1   rp   r]   r   cloner5  r6  rH   rU   r   var_getattrUserMethodVariabler  rL   setcall_setr   )r   r   ry  r]  r  r   iter_fnouts           rV   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4rY   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 )Nr0   r   zfrozenset(): r  )	r:   rp   r]   r   	set_itemsvtr  r   r   )r   r   ry  r]  r  rc   r   s          rV   call_frozensetBuiltinVariable.call_frozensetY  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 )Nr0   strictF)r  r   )rp   r  r  r   r   ZipVariabler1   )r   r   ry  r]  r  r  s         rV   call_zipBuiltinVariable.call_zipg  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__r0   r   r  s       rV   call_lenBuiltinVariable.call_lens  s#    Aw""2y$qr(FCCrY   c                 6    US   R                  USUSS  U5      $ )Nr   __getitem__r0   r   r  s       rV   call_getitemBuiltinVariable.call_getitemv  s#    Aw""2}d12hGGrY   c           	        ^  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      $ [	        U["        5      (       d  [%        ['        USS 5      5      (       a  U4nO[(        R*                  S:  a,  [	        U[        R,                  5      (       a  UR.                  nO?[	        U[0        5      (       a  [3        S	 U 5       5      (       a  UnO[5        [6        US
/S9   [9        WW5      n[
        R                  R                  U5      $ ! [         a    [        ST SU ST 35         GN=f = f! [6         a    WW;   n NUf = f)Nzisinstance(, 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/   rk  nodemetar   r@  nn	parameter	Parameterr]   rM  python_typedtype)tyexample_valdtypesr  s      rV   
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..rY   c              3   4   >#    U  H  nT" U5      v   M     g 7fr\   rZ  )rb   r  r  s     rV   rd   NBuiltinVariable.call_isinstance.<locals>._tensor_isinstance.<locals>.<genexpr>  s     D"z"~~s   )r^   r  rh   )
tensor_vartensor_typer  r  s     @rV   _tensor_isinstance;BuiltinVariable.call_isinstance.<locals>._tensor_isinstance  s3    /" $-DDDD%k22rY   z&isinstance called on UserDefinedClass r  __instancecheck__)r  
   c              3   |   #    U  H2  n[        U[        5      =(       d    [        [        US S5      5      v   M4     g7f)r  N)r]   r^   rj   rn   )rb   tps     rV   rd   2BuiltinVariable.call_isinstance.<locals>.<genexpr>  s5      8
% r4 THWR9Ld-S$TT%s   :<z?isinstance() arg 2 must be a type, a tuple of types, or a union)ry  )r  r  r   r  r]   r   rF   r  r4   r)  rH   rU   typesMemberDescriptorTyper  r   r  r^   rj   rn   sysversion_info	UnionType__args__r  rg   r   r  rM  )r   r   r  isinstance_typer  r  isinstance_type_tupler  s     `     rV   call_isinstanceBuiltinVariable.call_isinstancey  s8   	(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 
 ot,,O%8$?1
 1
 &5$6!(ZU__.
 .
 %4$<$<!//C 8
%8
 5
 5
 %4!$U
	4 X'<=C ))0055o # 	cU"_$55PQTPUV	j  	433C	4s#   H/ I /III&%I&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   r4   rM  )r   r   left_tyright_ty
left_ty_pyright_ty_pys         rV   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      $ r\   )r   SuperVariabler   r   r   r   s       rV   
call_superBuiltinVariable.call_super  s    &&q,,rY   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   r]   r   r=   r  r   )r   r   r  exs       rV   	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 r\   )	r  r  r]   r   rL   r4   r,  rN   call_obj_hasattr)r   r   r  attrrc  s        rV   call_hasattrBuiltinVariable.call_hasattr  sd    ""$$**,D#y8899 11'#&&$2GHH''11	 %rY   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   MapVariabler1   )r   r   rN   seqsr  s        rV   call_mapBuiltinVariable.call_map  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   FilterVariabler1   )r   r   rN   r  s       rV   call_filterBuiltinVariable.call_filter  s<    -0-H-H-L-Lc%%b)RU''?O?QRRrY   r  r  c                 
   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  ad  [#        UR$                  5       V	V
s/ s H.  u  p[&        R(                  " XU=(       a    [+        Xy5      5      PM0     nn	n
[        R,                  " XS9$ US	:X  a!  [&        R(                  " XR.                  U5      $ US
:X  a   [0        R2                  " UR4                  5      $ [        U[        R8                  5      (       a  UR;                  X5      $ [        U[        R<                  [        R>                  [        R0                  [        R@                  [        RB                  [        RD                  45      (       a   UR;                  X5      $ [        U[        RH                  5      (       a  [K        URL                  U5      n[        U[N        RP                  RR                  [N        RP                  RT                  45      (       aB  [N        RV                  RX                  R[                  U5      (       a  [        RH                  " XS9$ U[\        ;   a  [        RF                  " X%US9$ g [        U[^        5      (       a  UR`                  (       d  XRRL                  Rb                  ;  a  [K        URL                  U5      nOURL                  Rb                  U   n[d        Rf                  (       a&  URh                  Rk                  URL                  X\5        [&        R(                  " XU5      $ [m        U[        Rn                  5      (       a0  US;   a*  [0        R2                  " [K        URp                  U5      5      $  UR;                  X5      $ s  sn
n	f ! [6         a     GNf = f! [6         a    [        RF                  " X%US9s $ f = f! [6         a    [        RF                  " X%US9s $ f = f)Nz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  rP   r  r  )r*  rp  )9r  r  r   r   r  r  r]   r   UnspecializedNNModuleVariableis_state_mutatedhas_pending_mutationhas_pending_mutation_of_attr	load_attrr  rQ   r   r^   	enumerater  r2   r  r   rB   r  r4   r)  r  r  r   r  rF   NamedTupleVariableDistributedVariabler   rH   r~  rG  rn   rU   r@  _opsOpOverloadPacket
OpOverload_dynamotrace_rulesis_aten_op_or_tensor_methodr%   r   is_torchr   r   replay_record_enabledexec_recorderrecord_module_accessr+   r   rN   )r   r   r  r  defaultrc  hasattr_varrQ   rU   r  r   
tuple_argsmembers                rV   call_getattrBuiltinVariable.call_getattr  sV    **,**,,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

 

Kr00 YCCDDSYY-F44ejj6K6KL --++GGOO ==fTT// 006JJ 0[))||t99+=+== D1++D1++  55ciiN"((V<<C7788T F
 >
 $**73664+@AAKr00u& ' $ ' K 006JJK< ' K 006JJKsU   AT 5TT &T %T T(  U T 
T%$T%(U
	U
U/.U/r  c                 	   [        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[P        RR                  " URT                  S5      nXL a)  U[(        RV                  RX                  R@                  L a  U$ UR[                  U5        g g s  snf ! , (       d  f       GN= f! , (       d  f       GN= f! [L        [N        4 a    S n Nf = f)Nr  r0   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	                  U 4U45        U $ r<  )_versionr@  _C	_autograd_unsafe_set_version_counter)rc   versions     rV   _lower_version_count_by_1?BuiltinVariable.call_setattr.<locals>._lower_version_count_by_1  s>    "#**"Q;&-kG**FFtgZX rY   r  _gradgradz#setattr(UserDefinedObjectVariable) z?Can't inplace modify module params/buffers inside HigherOrderOp).r]   r   PlacementVariabler  rH   r+  r   r   r  r  r  r  rF   r   r   r   tracked_fakesrQ   removedynamo_disable_gradr@  no_gradr   Tensorset_r-   rk  r  r  
store_attrr^   rU   r  r   is_root_tracerr   r(   r  r-  r   r  getattr_staticmodule_typer  Moduleconvert_to_unspecialized)r   r   r  r  r  rc  r   tf	to_remover  r8  assigning_fake_valgetattr_varexisting_fake_attrmod_setattrs                  rV   call_setattrBuiltinVariable.call_setattrm  s    ++,,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**((,7 9c! 3B/00l '(>? '"&K'sC   
Q +Q ,QA	QQ=Q) 
Q	Q
Q&)Q>=Q>c                 N    U R                  XU[        R                  " 5       5      $ r\   )rO  r   DeletedVariable)r   r   r  r  s       rV   call_delattrBuiltinVariable.call_delattr  s"       (I4M4M4OPPrY   c                     UR                  5       nUR                  =(       a    [        UR                  5      nUc<  [        U[        R                  5      (       a  UR                  (       a  UR                  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_name rA  )r  r  r   r   INVALID_INPUTrw   rQ   r    r]   r   rH   
cls_sourcer@  rA  r   install_global_by_idr   r   r2   r  )r   r   r  py_typeerrorrQ   rc  s          rV   	call_typeBuiltinVariable.call_type  s    	oo'G 6
3:: 6N3	 C CDD^^Fell"9911"e<DT 2H=F$$R&99' # 	++E
/ 		s   C 
D
"#DD
c                     UR                  U5      (       a9  [        [        UR                  U5      5      5      n[        R
                  " U5      $ g r\   )r  r  reversedr   r   rB   )r   r   r  r   s       rV   call_reversedBuiltinVariable.call_reversed   sC    &&r**#"9"9""=>?E**511 +rY   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)r5  r]   r   rF   r?   r6  r1   r   )r   r   r  r]  list_vars        rV   call_sortedBuiltinVariable.call_sorted  su     ,,R00)):
 :
 !----b1.0H   VR8O:
0rY   c                     [        U[        5      (       a8  [        R                  " U[        R                  " UR                  5       5      S S9$ g )Nsym_num)r]   rE   r)  rz   r|   rk  r   r   r   s      rV   call_negBuiltinVariable.call_neg  s?    a))"))qzz|,  rY   c                 x    UR                  5       n[        U5      n[        R                  R	                  XSU5      $ r\   )r  rw   r   StringFormatVariabler)  )r   r   _format_stringry  r]  format_strings         rV   call_formatBuiltinVariable.call_format   s3    &99;M*--44]&QQrY   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                  [        R                  45      (       a  US   R                  (       a5  [        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      $ [)        US   [        R*                  5      (       a5  [        R                  R                  [        US   R,                  5      5      $ [)        US   [        R.                  5      (       a5  [        R                  R                  [        US   R"                  5      5      $ [)        US   [        R0                  5      (       a5  [        R                  R                  [        US   R2                  5      5      $ [5        SU 35        g )Nr   r0   zcall_id with args )rp   r]   r   r   r   r&  r'  r4   r)  idr   rH   rQ   r   rR   r   ID_MATCHrU   rF   call_idr+   r   rN   SkipFunctionVariabler  
fake_valuer   )r   r   ry  nn_mod_variabler   constant_resulttensor_variables          rV   rx  BuiltinVariable.call_id%  s   t9q=ZQ1K1KLL"1gO))))/*D*DEC--44RW==Y!^
G//1T1TU!
 !
 Aw~~d1gnn778M8MNO a/O--44_EEY!^
47N C C"1gO"**2..DGY;;<<--44RQ

^DDDGY;;<<--44RQ5FGGDGY??@@--44RQ8J8J5KLL.tf56rY   c                 2    [        S[        U5       35        g )Nzcopy.deepcopy )r   ru   )r   r   rc   s      rV   call_deepcopyBuiltinVariable.call_deepcopy>  s    tAwi01rY   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)Nr0   rB  %supported_tensor_comparison_op_valuesra  r  rb  r   )r   r  r   r  rN   rz   r  is_notr]   rF   rv  r'   rk  r  r4   r)  r   r*  sizer@  broadcast_shapesRuntimeErrorr   r   r^   )
r   r   r-  r.  r  r  r  	is_result
tensor_clsr  s
             rV   r6  'BuiltinVariable._comparison_with_tensorA  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                  5      (       a%  [        R                  " U" [        5       S 5      5      $ UR                  R                  SXRR                  5       UR                  5       40 5      n[        R                  " UUS S9$ )Nr0   r  ra  r  rb  r   rj  )r   r  rN   r   r*  r]   r   r   r4   r5  r   r   rk  rE   r)  )r   r   r-  r.  r  r  r  s          rV   r2  (BuiltinVariable._comparison_with_symnodej  s    AWW:R[[M4&5';< eY??@@--b4.@AA		&&R--/5>>3C!Db
 %%
 	
rY   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   rj  r  )r]   r4   rE   r)  r   r   rz   r   r-   r,  r<   r  r  r  s       rV   	call_and_BuiltinVariable.call_and_  s    a)**z!=M/N/Na/+;<==*!12C
 C
 #))		&&#X]]5Fvr5R   1k""wq+'>'>tAKK!++$=>?? (?"rY   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  )r]   r4   rE   r)  r   r   rz   r   r-   r,  r<   r  r  r  s       rV   call_or_BuiltinVariable.call_or_  s    a)**z!=M/N/Na/+;<==*!12C
 C
 #))		&&#X\\4Eqfb4Q   1k""wq+'>'>tAKK!++$=>??rY   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   rj  r   )r]   rE   r)  r   r   rz   r}   r-   r9   dv_dictr?   r7   r4   rp   r   rl  s      rV   	call_not_BuiltinVariable.call_not_  s    a))"))		&&#X]]5FsB5O   a)**		Aa,(9:;;#**3qww<1+<==rY   r   r   c                 ,    UR                  USU/0 5      $ )N__contains__r   r  s       rV   call_containsBuiltinVariable.call_contains  s     }}R!b99rY   r   )r   N)rt  ztorch._dynamo.codegen.PyCodegenr1  )ry  zlist[VariableTracker]r]  r  r   r2   )r   rJ   r  r2   r\   )jr*  rp  __qualname____firstlineno____doc__r5  	_SENTINELr2   _nonvar_fieldsclassmethodrW   staticmethodr=  	lru_cacher   r   r   r  r   r  r  rw   r   rI  rT  rW  r\  rd  r  rk  ru  rz  r  r  r  r  r  r^   ri   r  r  r   r   __annotations__r   r   r(  call_int
call_floatr2  r9  r7  r8  call_mincall_maxr\  rb  rf  rk  rs  rq  r|  r  r  r  r  r  
call_tuple	call_listr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r-  rO  rS  r^  rb  rg  rm  rs  rx  r  r6  r2  r  	call_iandr  call_iorr  r  __static_attributes____classcell__)r  s   @rV   rL   rL   }   s    I		'	'N
 ) ) ?  ?B: *  *X #TfuT#Yf0E%EFF #  #J B  BH 	 	54# 4"J13 
 



 h T$Z h T h  h THV 	  fck')S/)*
 	
	
" 
)#) ()) -	)
 
)(\; &	\;
 -\; 
\;|* H J%UN4Ya+F HH44A<	

-
 04!)!F

H "J I<:NK 
 
  J# J  JD54;

DHZ6xO-3 / 2QS jK#jK jK "	jKXq-#q- q- "	q-
 q-fQ#Q Q "	Q:3 :/ :02 7 2o 2
#  "	"R
722'
R
*@$ I& H$:):.=:BQ: :rY   rL   c              #      #    SSK J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)Nr0   )GradModeVariableF)rX  r  r)  enterexit)r   r  gmvs      rV   r?  r?    sC     "

!
!"e
,C		"s   AA AAA)
contextlibr=  r  r  loggingr_   rz   r  r  typingcollectionsr   r   collections.abcr   r   r   r   r	   r@  r
   r   torch.utils._python_dispatchr   rX  r   r   r   r  r   r   r   r   r   r   r   r   guardsr   r   replay_recordr   rQ   r   r   r   r   r    utilsr!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   baser1   r2   constantr4   ctx_managerr5   r6   dictsr7   r8   r9   r:   r;   r<   listsr=   r>   r?   r@   rA   rB   r   rC   rD   rE   rF   rG   rA  rH   rI   torch._dynamo.symbolic_convertrJ   	getLoggerr*  r  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rt   r   r   r   r   r   r   r  Any_HandlerCallbackr^   r  _TrackersTyper   cmp_eqr   cmp_ner   cmp_ltr   cmp_ler   cmp_gtr   cmp_ger  rL   contextmanagerr?  rZ  rY   rV   <module>r     sY          
   0 . 1 1  $ F + +	 	 	 1 '     " 4 & 6    I D! MM8<<MM8<<MM8<<))x''MM8<<h&&hoohooMM8<<MM8==LL(,,MM8<< " fjj&**5F  d?+U43H#3M-NNOKK!!KK!!KK!!KK!!KK!!KK!! @!:o @!:FB  rY   