§
    Ì²Åjw  ã                   óš  — d Z ddlmZmZ ddlmZmZ ddlZ G d„ de¦  «        Zej	        dej
        dej        d	ej        d
ej        dej        dej        dej        dej        dej        dej        dej        dej        dej        dej        diZdededej        fd„Zdej        deeee         f         defd„Zdej        dedefd„Z dS )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                   ó:  — e Zd Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z	 e¦   «         Z
 e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         ZdS )ÚSymTN)Ú__name__Ú
__module__Ú__qualname__r   ÚSIZEÚFLOATÚUNBACKED_INTÚUNBACKED_FLOATÚTMPÚINDIRECTÚPRECOMPUTED_SIZEÚINDEXÚRINDEXÚTEMPLATE_INDEXÚXBLOCKÚYBLOCKÚZBLOCKÚVIEWÚHALIDE© ó    úJC:\Projects\Historical\venv\Lib\site-packages\torch/utils/_sympy/symbol.pyr   r      s¾   € € € € € Øˆ4‰6Œ6€DØˆD‰FŒF€EØ�4‘6”6€LØ�T‘V”V€Nð ˆ$‰&Œ&€Càˆt‰vŒv€Hð �t‘v”vÐð ˆD‰FŒF€Eð ˆT‰VŒV€Fð
 �T‘V”V€NàˆT‰VŒV€FØˆT‰VŒV€FØˆT‰VŒV€Fàˆ4‰6Œ6€DàˆT‰VŒV€F€F€Fr   r   ÚsÚuÚzfÚzufÚtmpÚpsÚiÚrÚidxÚxÚyÚzÚindirectÚviewÚhÚprefixÚreturnc                 óD   — t          j        t          |          › |› �fi |¤ŽS ©N)ÚsympyÚSymbolÚ
prefix_str)r-   r&   Úkwargss      r   Úmake_symbolr5   Q   s*   € åŒ<�: fÔ-Ð4¨sÐ4Ð4Ð?Ð?¸Ð?Ð?Ð?r   Úsymc                 ó.  — t          | t          j        ¦  «        sJ ‚| j                             ¦   «         }t          |t
          ¦  «        r |                     t          |         ¦  «        S |                     t          d„ |D ¦   «         ¦  «        ¦  «        S )Nc              3   ó0   K  — | ]}t           |         V — Œd S r0   )r3   )Ú.0Úps     r   ú	<genexpr>z!symbol_is_type.<locals>.<genexpr>^   s&   è è € Ð(GÐ(G¸1­°A¬Ð(GÐ(GÐ(GÐ(GÐ(GÐ(Gr   )	Ú
isinstancer1   r2   ÚnameÚlowerr   Ú
startswithr3   Útuple)r6   r-   Úname_strs      r   Úsymbol_is_typerB   X   s‚   € Ý�c�5œ<Ñ(Ô(Ð(Ð(Ð(ØŒx�~Š~ÑÔ€HÝ�&�$ÑÔð IØ×"Ò"¥:¨fÔ#5Ñ6Ô6Ð6à×"Ò"¥5Ð(GÐ(GÀÐ(GÑ(GÔ(GÑ#GÔ#GÑHÔHÐHr   Úec                 óD   ‡— t          ˆfd„| j        D ¦   «         ¦  «        S )Nc              3   ó8   •K  — | ]}t          |‰¦  «        V — Œd S r0   )rB   )r9   Úvr-   s     €r   r;   z&free_symbol_is_type.<locals>.<genexpr>b   s-   øè è € ÐAÐA¨Q�~˜a Ñ(Ô(ÐAÐAÐAÐAÐAÐAr   )ÚanyÚfree_symbols)rC   r-   s    `r   Úfree_symbol_is_typerI   a   s(   ø€ ÝÐAÐAÐAÐA°!´.ÐAÑAÔAÑAÔAÐAr   )!Ú__doc__Úenumr   r   Útypingr   r   r1   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r3   Úintr2   r5   ÚBasicÚboolrB   ÚExprrI   r   r   r   ú<module>rQ      s�  ððð ð Ð Ð Ð Ð Ð Ð Ð Ø "Ð "Ð "Ð "Ð "Ð "Ð "Ð "à €€€ð!ð !ð !ð !ð !ˆ4ñ !ô !ð !ðN 	„IˆsØÔ�sð 	„J�ØÔ˜Ø„HˆeØÔ˜4Ø„J�Ø„K�ØÔ˜Ø„K�Ø„K�Ø„K�Ø„M�:Ø„IˆvØ„K�ð%€
ð,@˜ð @ 3ð @°U´\ð @ð @ð @ð @ðI˜œð I¨U°4¸À$¼Ð3GÔ-Hð IÈTð Ið Ið Ið IðB˜5œ:ð B¨tð B¸ð Bð Bð Bð Bð Bð Br   