3 \@s4dZddlmZmZGdddeZGdddeZeedZdd Zed Z e d-d =ed Z edZ e e eeeeeeeeiZeeeeiZeeeeiZ ee!ee"iZ#e$e$e%e%e&e&e'e'e(e)e*e+e,e,e-e-iZ.e$e/e%e0e&e1e'e2e(e3e*e4e,e5e-e6iZ7dZ8d Z9dZ:dZ;dZdZ?dZ@dZAd ZBdZCeDdkr0ddZEeFddZGeGjHdeGjHdeeEeGe deEeGe deEeGe deGjHd e8eGjHd!e9eGjHd"e:eGjHd#e;eGjHd$e<eGjHd%e=eGjHd&e>eGjHd'e?eGjHd(e@eGjHd)eAeGjHd*eBeGjHd+eCWd QRXeId,d S).iuS3) MAXREPEAT MAXGROUPScseZdZdfdd ZZS)errorNcs||_||_||_|dk r|dk rd||f}t|tr>d}nd}|j|d|d|_||j|d||_||krd||j|jf}n d|_|_t j |dS)Nz%s at position %d  rz%s (line %d, column %d)) msgpatternpos isinstancestrcountlinenorfindcolnosuper__init__)selfrr r newline) __class__%/usr/lib64/python3.6/sre_constants.pyr#s   zerror.__init__)NN)__name__ __module__ __qualname__r __classcell__rr)rrrs rcs(eZdZfddZddZeZZS)_NamedIntConstantcstt|j||}||_|S)N)rr__new__name)clsvaluerr)rrrr7sz_NamedIntConstant.__new__cCs|jS)N)r)rrrr__str__<sz_NamedIntConstant.__str__)rrrrr!__repr__rrr)rrr6s rrcCs8|jj}ddt|D}tjdd|D|S)NcSsg|]\}}t||qSr)r).0irrrr Esz_makecodes..cSsi|] }||jqSr)r)r#itemrrr Fsz_makecodes..)stripsplit enumerateglobalsupdate)namesitemsrrr _makecodesCs r/a FAILURE SUCCESS ANY ANY_ALL ASSERT ASSERT_NOT AT BRANCH CALL CATEGORY CHARSET BIGCHARSET GROUPREF GROUPREF_EXISTS GROUPREF_IGNORE IN IN_IGNORE INFO JUMP LITERAL LITERAL_IGNORE MARK MAX_UNTIL MIN_UNTIL NOT_LITERAL NOT_LITERAL_IGNORE NEGATE RANGE REPEAT REPEAT_ONE SUBPATTERN MIN_REPEAT_ONE RANGE_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__cCs.t|}x |D]}|jd|||fqWdS)Nz#define %s_%s %d )sortedwrite)fdprefixr.r&rrrdumps r>zsre_constants.hwao/* * 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 ZSRE_OPZSREz#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)JMAGIC_srerr Exceptionrintrr/OPCODESATCODESCHCODESGROUPREFZGROUPREF_IGNOREIN IN_IGNORELITERALZLITERAL_IGNORE NOT_LITERALZNOT_LITERAL_IGNORERANGE RANGE_IGNORE OP_IGNORE AT_BEGINNINGZAT_BEGINNING_LINEAT_ENDZ AT_END_LINE AT_MULTILINEZ AT_BOUNDARYZAT_LOC_BOUNDARYZAT_NON_BOUNDARYZAT_LOC_NON_BOUNDARY AT_LOCALEZAT_UNI_BOUNDARYZAT_UNI_NON_BOUNDARY AT_UNICODEZCATEGORY_DIGITZCATEGORY_NOT_DIGITZCATEGORY_SPACEZCATEGORY_NOT_SPACEZ CATEGORY_WORDZCATEGORY_LOC_WORDZCATEGORY_NOT_WORDZCATEGORY_LOC_NOT_WORDZCATEGORY_LINEBREAKZCATEGORY_NOT_LINEBREAK CH_LOCALEZCATEGORY_UNI_DIGITZCATEGORY_UNI_NOT_DIGITZCATEGORY_UNI_SPACEZCATEGORY_UNI_NOT_SPACEZCATEGORY_UNI_WORDZCATEGORY_UNI_NOT_WORDZCATEGORY_UNI_LINEBREAKZCATEGORY_UNI_NOT_LINEBREAK CH_UNICODESRE_FLAG_TEMPLATESRE_FLAG_IGNORECASESRE_FLAG_LOCALESRE_FLAG_MULTILINESRE_FLAG_DOTALLSRE_FLAG_UNICODESRE_FLAG_VERBOSESRE_FLAG_DEBUGSRE_FLAG_ASCIISRE_INFO_PREFIXSRE_INFO_LITERALSRE_INFO_CHARSETrr>openr;r:printrrrrs