o
     JAf	  ã                   @   s\  	 d Z ddlmZmZ G dd„ deƒZG dd„ deƒZeedƒZdd	„ Zed
ƒZ	e	dd…= edƒZ
edƒZeeeeiZeeeeiZeeeeiZeeeeiZeeeeiZ ee!ee"iZ#e$e$e%e%e&e&e'e'e(e)e*e+e,e,e-e-iZ.e$e/e%e0e&e1e'e2e(e3e*e4e,e5e-e6iZ7dZ8dZ9dZ:dZ;dZ<dZ=dZ>dZ?dZ@dZAdZBdZCeDdkr,dd„ ZEeFddƒzZGeG Hd¡ eG Hde  ¡ eEeGe	dƒ eEeGe
d ƒ eEeGed ƒ eG Hd!e8 ¡ eG Hd"e9 ¡ eG Hd#e: ¡ eG Hd$e; ¡ eG Hd%e< ¡ eG Hd&e= ¡ eG Hd'e> ¡ eG Hd(e? ¡ eG Hd)e@ ¡ eG Hd*eA ¡ eG Hd+eB ¡ eG Hd,eC ¡ W d  ƒ n	1 s!w   Y  eId-ƒ dS dS ).iýÈ3é    )Ú	MAXREPEATÚ	MAXGROUPSc                       s$   e Zd Z	 dZd‡ fdd„	Z‡  ZS )ÚerrorÚreNc                    s¢   || _ || _|| _|d urC|d urCd||f }t|tƒrd}nd}| |d|¡d | _|| |d|¡ | _||v rBd|| j| jf }nd  | _| _t	ƒ  
|¡ d S )Nz%s at position %dÚ
ó   
r   é   z%s (line %d, column %d))ÚmsgÚpatternÚposÚ
isinstanceÚstrÚcountÚlinenoÚrfindÚcolnoÚsuperÚ__init__)Úselfr	   r
   r   Únewline©Ú	__class__© ú$/usr/lib/python3.10/sre_constants.pyr   %   s   
€zerror.__init__)NN)Ú__name__Ú
__module__Ú__qualname__r   Ú__classcell__r   r   r   r   r      s    r   c                       s(   e Zd Z‡ fdd„Zdd„ ZdZ‡  ZS )Ú_NamedIntConstantc                    s   t t| ƒ | |¡}||_|S ©N)r   r   Ú__new__Úname)ÚclsÚvaluer!   r   r   r   r   r    9   s   z_NamedIntConstant.__new__c                 C   s   | j S r   ©r!   )r   r   r   r   Ú__repr__>   s   z_NamedIntConstant.__repr__N)r   r   r   r    r%   Ú
__reduce__r   r   r   r   r   r   8   s    r   r   c                 C   s8   |   ¡  ¡ } dd„ t| ƒD ƒ}tƒ  dd„ |D ƒ¡ |S )Nc                 S   s   g | ]	\}}t ||ƒ‘qS r   )r   )Ú.0Úir!   r   r   r   Ú
<listcomp>G   s    z_makecodes.<locals>.<listcomp>c                 S   s   i | ]}|j |“qS r   r$   )r'   Úitemr   r   r   Ú
<dictcomp>H   s    z_makecodes.<locals>.<dictcomp>)ÚstripÚsplitÚ	enumerateÚglobalsÚupdate)ÚnamesÚitemsr   r   r   Ú
_makecodesE   s   r3   az  
    FAILURE SUCCESS

    ANY ANY_ALL
    ASSERT ASSERT_NOT
    AT
    BRANCH
    CALL
    CATEGORY
    CHARSET BIGCHARSET
    GROUPREF GROUPREF_EXISTS
    IN
    INFO
    JUMP
    LITERAL
    MARK
    MAX_UNTIL
    MIN_UNTIL
    NOT_LITERAL
    NEGATE
    RANGE
    REPEAT
    REPEAT_ONE
    SUBPATTERN
    MIN_REPEAT_ONE

    GROUPREF_IGNORE
    IN_IGNORE
    LITERAL_IGNORE
    NOT_LITERAL_IGNORE

    GROUPREF_LOC_IGNORE
    IN_LOC_IGNORE
    LITERAL_LOC_IGNORE
    NOT_LITERAL_LOC_IGNORE

    GROUPREF_UNI_IGNORE
    IN_UNI_IGNORE
    LITERAL_UNI_IGNORE
    NOT_LITERAL_UNI_IGNORE
    RANGE_UNI_IGNORE

    MIN_REPEAT MAX_REPEAT
éþÿÿÿNzÏ
    AT_BEGINNING AT_BEGINNING_LINE AT_BEGINNING_STRING
    AT_BOUNDARY AT_NON_BOUNDARY
    AT_END AT_END_LINE AT_END_STRING

    AT_LOC_BOUNDARY AT_LOC_NON_BOUNDARY

    AT_UNI_BOUNDARY AT_UNI_NON_BOUNDARY
a‹  
    CATEGORY_DIGIT CATEGORY_NOT_DIGIT
    CATEGORY_SPACE CATEGORY_NOT_SPACE
    CATEGORY_WORD CATEGORY_NOT_WORD
    CATEGORY_LINEBREAK CATEGORY_NOT_LINEBREAK

    CATEGORY_LOC_WORD CATEGORY_LOC_NOT_WORD

    CATEGORY_UNI_DIGIT CATEGORY_UNI_NOT_DIGIT
    CATEGORY_UNI_SPACE CATEGORY_UNI_NOT_SPACE
    CATEGORY_UNI_WORD CATEGORY_UNI_NOT_WORD
    CATEGORY_UNI_LINEBREAK CATEGORY_UNI_NOT_LINEBREAK
r   é   é   é   é   é    é@   é€   é   Ú__main__c                 C   s*   t |ƒ}|D ]}|  d|||f ¡ qd S )Nz#define %s_%s %d
)ÚsortedÚwrite)ÚfÚdÚprefixr2   r*   r   r   r   ÚdumpÜ   s   ÿrC   zsre_constants.hÚwao  /*
 * Secret Labs' Regular Expression Engine
 *
 * regular expression matching engine
 *
 * NOTE: This file is generated by sre_constants.py.  If you need
 * to change anything in here, edit sre_constants.py and run it.
 *
 * Copyright (c) 1997-2001 by Secret Labs AB.  All rights reserved.
 *
 * See the _sre.c file for information on usage and redistribution.
 */

z#define SRE_MAGIC %d
ZSRE_OPZSREz#define SRE_FLAG_TEMPLATE %d
z#define SRE_FLAG_IGNORECASE %d
z#define SRE_FLAG_LOCALE %d
z#define SRE_FLAG_MULTILINE %d
z#define SRE_FLAG_DOTALL %d
z#define SRE_FLAG_UNICODE %d
z#define SRE_FLAG_VERBOSE %d
z#define SRE_FLAG_DEBUG %d
z#define SRE_FLAG_ASCII %d
z#define SRE_INFO_PREFIX %d
z#define SRE_INFO_LITERAL %d
z#define SRE_INFO_CHARSET %d
Údone)JÚMAGICÚ_srer   r   Ú	Exceptionr   Úintr   r3   ÚOPCODESÚATCODESÚCHCODESÚLITERALÚLITERAL_IGNOREÚNOT_LITERALÚNOT_LITERAL_IGNOREÚ	OP_IGNOREÚLITERAL_LOC_IGNOREÚNOT_LITERAL_LOC_IGNOREÚOP_LOCALE_IGNOREÚLITERAL_UNI_IGNOREÚNOT_LITERAL_UNI_IGNOREÚOP_UNICODE_IGNOREÚAT_BEGINNINGZAT_BEGINNING_LINEÚAT_ENDZAT_END_LINEÚAT_MULTILINEZAT_BOUNDARYZAT_LOC_BOUNDARYZAT_NON_BOUNDARYZAT_LOC_NON_BOUNDARYÚ	AT_LOCALEZAT_UNI_BOUNDARYZAT_UNI_NON_BOUNDARYÚ
AT_UNICODEZCATEGORY_DIGITZCATEGORY_NOT_DIGITZCATEGORY_SPACEZCATEGORY_NOT_SPACEZCATEGORY_WORDZCATEGORY_LOC_WORDZCATEGORY_NOT_WORDZCATEGORY_LOC_NOT_WORDZCATEGORY_LINEBREAKZCATEGORY_NOT_LINEBREAKÚ	CH_LOCALEZCATEGORY_UNI_DIGITZCATEGORY_UNI_NOT_DIGITZCATEGORY_UNI_SPACEZCATEGORY_UNI_NOT_SPACEZCATEGORY_UNI_WORDZCATEGORY_UNI_NOT_WORDZCATEGORY_UNI_LINEBREAKZCATEGORY_UNI_NOT_LINEBREAKÚ
CH_UNICODEÚSRE_FLAG_TEMPLATEÚSRE_FLAG_IGNORECASEÚSRE_FLAG_LOCALEÚSRE_FLAG_MULTILINEÚSRE_FLAG_DOTALLÚSRE_FLAG_UNICODEÚSRE_FLAG_VERBOSEÚSRE_FLAG_DEBUGÚSRE_FLAG_ASCIIÚSRE_INFO_PREFIXÚSRE_INFO_LITERALÚSRE_INFO_CHARSETr   rC   Úopenr@   r?   Úprintr   r   r   r   Ú<module>   s¤   !

,þþþþþþøø

Ý%Ö