FaG@sOdZddlZddlZddlTejeksCtdeehZe e e hZ e ehZeehZdSZd&d'eDZd(d)Zddd*d+Zd,d-Zejd.Zd/e>d/Zd0d1d2Zeed3d4Zd5d6Zd7d8Zd9d:Z d;d<Z!d=d>Z"d?d@Z#ddAdBZ$dS)TzInternal support module for sreN)*zSRE module mismatchi1sEacs?i|]5}|D](tfdd|DqqS)c3s!|]}|kr|VqdS)N).0j)ir$!/usr/lib/python3.5/sre_compile.py =sz.)tuple)r%tr$)r'r( =s r,cCs|j}t}t}t}t}t}|t@rO|t@ rO|t@rOt } nd} x|D]x\} } | |kr[|t@rDt j | |} | r)| | kr)|t ||} |d| t kr|tx-| f| | D]}|t||qW|t||| || .fixupz*internal: unsupported template operator %rz(look-behind requires fixed-width patternz%internal: unsupported operand type %r)3appendlen_LITERAL_CODES_REPEATING_CODES_SUCCESS_CODES _ASSERT_CODESSRE_FLAG_IGNORECASESRE_FLAG_LOCALESRE_FLAG_UNICODE_ignorecase_fixesr-r. 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_UNICODEBRANCHJUMPCATEGORY CH_LOCALE CH_UNICODEGROUPREFGROUPREF_EXISTS)codepatternr0emit_len LITERAL_CODESREPEATING_CODES SUCCESS_CODES ASSERT_CODESfixesopavloskipkr1hitail tailappendskipyesskipnor$r$r(rP@s*                                                                                     rPcCs=|j}x#t|||D]\}}|||tkrAq|tkrZ||q|tksr|tkr||d||dq|tkr|j|q|tkr|j|q|t kr|t @r|t |q+|t @r |t |q+||qtd|fqW|tdS)Nrr2z%internal: unsupported set operator %r)r4_optimize_charsetr@rARANGE RANGE_IGNORECHARSETextend BIGCHARSETr`r;rar<rbrJrB)charsetr0rer1rmrgrnror$r$r(rEs,           rEc CsIg}g}td}x|D]\}}xyQ|tkr|r||}d||<|r||krx)||D]} d|| xs z_mk_bitmap..r) translate _BITS_TRANSrr5)bitsrrr$)rrrr(rvsrcCs\t|jd}|jtjks-tt||jt|ksRt|jS)NI) memoryviewcastitemsizer-CODESIZEAssertionErrorr5tolist)bar$r$r(r{s%rcCsH|dj\}}||ko-dknoG|dddtkS)Nr3r2r)rVrT)rorprsr$r$r(rKsrKcCsdgt|}xytdt|D]b}||d}xK||||kr||dkrkd|| sP          {     e