
    5 f                        d dl mZ d dlmZmZmZ d dlmZ d dlm	Z	m
Z
 d dlmZmZ d dlmZ dd	Zd
ZddZdddZddZdS )    )annotations)contextinference_tipnodes)register_module_extender)_extract_single_nodeparse)	PY39_PLUS
PY311_PLUS)AstroidManagerreturnnodes.Modulec                 @    t           rd} nd} t          d|  d          S )Nz import re._compiler as _compilerzimport sre_compile as _compilerz
    a  
    NOFLAG = 0
    ASCII = _compiler.SRE_FLAG_ASCII
    IGNORECASE = _compiler.SRE_FLAG_IGNORECASE
    LOCALE = _compiler.SRE_FLAG_LOCALE
    UNICODE = _compiler.SRE_FLAG_UNICODE
    MULTILINE = _compiler.SRE_FLAG_MULTILINE
    DOTALL = _compiler.SRE_FLAG_DOTALL
    VERBOSE = _compiler.SRE_FLAG_VERBOSE
    TEMPLATE = _compiler.SRE_FLAG_TEMPLATE
    DEBUG = _compiler.SRE_FLAG_DEBUG
    A = ASCII
    I = IGNORECASE
    L = LOCALE
    U = UNICODE
    M = MULTILINE
    S = DOTALL
    X = VERBOSE
    T = TEMPLATE
    )r   r	   )import_compilers    L/var/www/equiseq/venv/lib/python3.11/site-packages/astroid/brain/brain_re.py_re_transformr      sA      <<;		 	 	      z?
@classmethod
def __class_getitem__(cls, item):
    return cls
node
nodes.Callboolc                   |                                  j        dk    ot          | j        t          j                  o| j        j        dk    o~t          | j        t          j                  o_t          | j        j	                  dk    oBt          | j        j	        d         t          j
                  o| j        j	        d         j        dv S )zCheck for re.Pattern or re.Match call in stdlib.

    Match these patterns from stdlib/re.py
    ```py
    Pattern = type(...)
    Match = type(...)
    ```
    retype   r   >   MatchPattern)rootname
isinstancefuncr   NameparentAssignlentargets
AssignName)r   s    r   _looks_like_pattern_or_matchr'   6   s     			D  	@ty%*--	@INf$	@ t{EL11	@ #$$)		@
 t{*1-u/?@@	@ K"'+??r   Nctxcontext.InferenceContext | Nonec                    t          j        | j        j        d         j        | j        | j        | j        | j        | j                  }t          rt          t                    }|g|j        d<   t          |g          S )zVInfer re.Pattern and re.Match as classes.

    For PY39+ add `__class_getitem__`.
    r   )r   lineno
col_offsetr"   
end_linenoend_col_offset__class_getitem__)r   ClassDefr"   r%   r   r+   r,   r-   r.   r
   r   CLASS_GETITEM_TEMPLATElocalsiter)r   r(   	class_deffunc_to_adds       r   infer_pattern_matchr6   J   s|    
 [ #({?{?*  I  >*+ABB1<	,-r   managerr   Nonec                    t          | dt                     |                     t          j        t          t                    t                     d S )Nr   )r   r   register_transformr   Callr   r6   r'   )r7   s    r   registerr<   ]   sI    WdM:::
M"5668T    r   )r   r   )r   r   r   r   )N)r   r   r(   r)   )r7   r   r   r8   )
__future__r   astroidr   r   r   astroid.brain.helpersr   astroid.builderr   r	   astroid.constr
   r   astroid.managerr   r   r1   r'   r6   r<    r   r   <module>rD      s   
 # " " " " " 1 1 1 1 1 1 1 1 1 1 : : : : : : 7 7 7 7 7 7 7 7 / / / / / / / / * * * * * *   B    (    &     r   