
    <Цi                     @   S r SSKJrJr  SSKJrJr  SSKr " S S\5      r\R                  S\R                  S\R                  S	\R                  S
\R                  S\R                  S\R                  S\R                   S\R"                  S\R$                  S\R&                  S\R(                  S\R*                  S\R,                  S\R.                  S0rS\S\S\R4                  4S jrS\R8                  S\\\\   4   S\4S jrS\R>                  S\S\4S jr g)a  
This file contains canonical definitions for our symbol naming conventions,
across torch.fx.experimental.symbolic_shapes and torch._inductor.  The
intention is:

1. To make it easily greppable where all the sites we use a prefix are
2. Make it possible to easily tell if we can introduce a new prefix without
   introducing a conflict

You can occasionally test if prefixes have been hardcoded by renaming prefixes
in this file and seeing what breaks.
    )autoEnum)SequenceUnionNc                       \ rS rSr\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r	\" 5       r
\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r\" 5       rSrg)SymT    N)__name__
__module____qualname____firstlineno__r   SIZEFLOATUNBACKED_INTUNBACKED_FLOATTMPINDIRECTPRECOMPUTED_SIZEINDEXRINDEXTEMPLATE_INDEXXBLOCKYBLOCKZBLOCKVIEWHALIDE__static_attributes__r
       X/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/torch/utils/_sympy/symbol.pyr   r      sv    6DFE6LVN &CvH v FE VF
 VNVFVFVF6DVFr   r   suzfzuftmppsiridxxyzindirectviewhprefixreturnc                 F    [         R                  " [        U     U 340 UD6$ N)sympySymbol
prefix_str)r0   r)   kwargss      r    make_symbolr8   Q   s%    <<:f-.se4???r   symc                    [        U [        R                  5      (       d   eU R                  R	                  5       n[        U[
        5      (       a  UR                  [        U   5      $ UR                  [        S U 5       5      5      $ )Nc              3   4   #    U  H  n[         U   v   M     g 7fr3   )r6   ).0ps     r    	<genexpr>!symbol_is_type.<locals>.<genexpr>^   s     (G1As   )	
isinstancer4   r5   namelowerr   
startswithr6   tuple)r9   r0   name_strs      r    symbol_is_typerF   X   sh    c5<<((((xx~~H&$"":f#566""5(G(G#GHHr   ec                 B   ^ [        U4S jU R                   5       5      $ )Nc              3   <   >#    U  H  n[        UT5      v   M     g 7fr3   )rF   )r<   vr0   s     r    r>   &free_symbol_is_type.<locals>.<genexpr>b   s     A.Q~a((.s   )anyfree_symbols)rG   r0   s    `r    free_symbol_is_typerN   a   s    A!..AAAr   )!__doc__enumr   r   typingr   r   r4   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r6   intr5   r8   BasicboolrF   ExprrN   r
   r   r    <module>rV      s0    " !4 !N 	IIss 	JJHHe4JJKKKKKKKKMM:IIvKK%
,@ @3 @U\\ @I IU4$3G-H IT IB5:: Bt B Br   