+eM@sdZddlZddlZddlTddlmZejeksStdejdkrkdZndZe e e gZ e e eegZe eegZe eegZdXZd*d+eDZd,d-Zddd.d/Zd0d1Zd2d3Zejd4Zd5d6d7Zeed8d9Z d:d;Z!d<d=Z"d>d?Z#d@dAZ$dBdCZ%dDdEZ&ddFdGZ'dS)YzInternal support module for sreN)*) MAXREPEATzSRE module mismatchili1sEacs?i|]5}|D](tfdd|DqqS)c3s!|]}|kr|VqdS)N).0j)ir&0/opt/alt/python34/lib64/python3.4/sre_compile.py Csz.)tuple)r'tr&)r)r* Cs r.cCsj|j}t}t}t}t}t}|t@rO|t@ rO|t@rOt } nd} x|D]\} } | |krv|t@r[t j | |} | r<| | kr<|t t ||} |d| tkr|t tnx1| f| | D]}|t t||qW|t t||| || .fixupz'internal: unsupported template operatorrz(look-behind requires fixed-width patternzunsupported operand type)7appendlen_LITERAL_CODES_REPEATING_CODES_SUCCESS_CODES _ASSERT_CODESSRE_FLAG_IGNORECASESRE_FLAG_LOCALESRE_FLAG_UNICODE_ignorecase_fixesr/r0OPCODES IN_IGNORE NOT_LITERALNEGATELITERALFAILURE OP_IGNOREIN_compile_charsetANYSRE_FLAG_DOTALLANY_ALLSRE_FLAG_TEMPLATEerror_simpleREPEAT MAX_REPEAT REPEAT_ONEMIN_REPEAT_ONE_compileSUCCESS MAX_UNTIL MIN_UNTIL SUBPATTERNMARKgetwidthCALLATSRE_FLAG_MULTILINE AT_MULTILINEget AT_LOCALE AT_UNICODEATCODESBRANCHJUMPCATEGORY CH_LOCALE CH_UNICODECHCODESGROUPREFGROUPREF_EXISTS ValueError)codepatternr2emit_len LITERAL_CODESREPEATING_CODES SUCCESS_CODES ASSERT_CODESfixesopavloskipkr3hitail tailappendskipyesskipnor&r&r*rRFs*                                                       rRcCsE|j}x't||||t@D] \}}|t||tkrLq#|tkre||q#|tkr||d||dq#|tkr|j|q#|t kr|j|q#|t kr#|t @r|t t |q/|t@r|t t|q/|t |q#tdq#W|ttdS)Nrr4z"internal: unsupported set operator)r5_optimize_charsetr=r?rBrCRANGECHARSETextend BIGCHARSETrcr<rfrdrerLrD)charsetr2rjr3rrrlrsrtr&r&r*rGs.          rGc Csg}g}td}xk|D]c\}}xTyZ|tkr|r||} d|| <|r| |krx|| D]} d|| } d|| <| |krx|| D]} d|| s z_mk_bitmap..r) translate _BITS_TRANSrr6)bitsrrr&)rrrr*rsrcCs\t|jd}|jtjks-tt||jt|ksRt|jS)NI) memoryviewcastitemsizer/CODESIZEAssertionErrorr6tolist)bar&r&r*rs%rcCsH|dj\}}||ko-dknoG|dddtkS)Nrr4r)rXrV)rtrurxr&r&r*rMsrMcCsdgt|}x|tdt|D]e}||d}xN||||kr|dkrnd||rRrGr}rrrintrrrMrrrrrr&r&r&r* sX             e