U e5d&�ã @sÔdZddlTdZdZedƒZedƒZedƒZedƒZed ƒZ ee e hƒZ ee eeeeehƒZeed ƒfeed ƒfeed ƒfeed ƒfeedƒfeedƒfeedƒfeedƒfdœZeefeefeefeeefgfeeefgfeeefgfeeefgfeeefgfeeefgfee fdœ Z!e"e#e$e%e&e'e(e)dœZ*e'e#Be)BZ+e,e(BZ-Gdd„de.ƒZ/Gdd„dƒZ0Gdd„dƒZ1Gdd„dƒZ2dd„Z3dd „Z4d!d"„Z5d#d$„Z6d3d&d'„Z7d(d)„Z8d*d+„Z9d4d-d.„Z:d/d0„Z;d1d2„Z|dk�r˜ddl }|j d|  ¡dt|d d �t | |ƒf}|dt k�sÀ|dt k�rèd| |f}| |t| ƒdt|ƒ¡‚|d}|d}||k�r*d| |f}| |t| ƒdt|ƒ¡‚|t||ffƒn"|dtk�rV|dd}||ƒ�q t|ƒ}| |ƒdk�r´|ddt k�r´|�r¦|t|ddfƒn ||dƒn"|�rÊ| dtdf¡|t|fƒq"| tk�r.|  ¡} | dk�rd\}}�nB| dk�rdt}}�n*| dk�r0dt}}�n| dk�r4|jdk�rX|t | | ƒfƒq"dt}}d }}|jtk�r„||ƒ7}�qj|d!ƒ�rª|jtk�r®||ƒ7}�qŽn|}|dƒ�sÔ|t | | ƒfƒ| | ¡q"|�rôt|ƒ}|tk�rôtd"ƒ‚|�rBt|ƒ}|tk�rtd"ƒ‚||k�rB| d#|  ¡| ¡‚ntd$|fƒ‚|�rV|d%d…}nd}|�rr|ddtk�rŽ| d&|  ¡| t| ƒ¡‚|ddtk�r¼| d'|  ¡| t| ƒ¡‚|ddt k�rü|dd\}}}}|dk�rü|�sü|�sü|}|dƒ�rt!|||ff|d%<nt"|||ff|d%<q"| d(k�rF|t#dfƒq"| d)k� rê|  ¡d} d*}d}!d}d}|dƒ� r|ƒ}|dk�r�| d+¡‚|d,k�r¸|d-ƒ�rØ| $d.d/¡}!|! %¡�s´d0|!}| |t|!ƒd¡‚nÜ|d1ƒ�r‚| $d2d/¡}!|! %¡�sd0|!}| |t|!ƒd¡‚|j& |!¡}"|"dk�rFd3|!}| |t|!ƒd¡‚| '|"¡�sf| d4t|!ƒd¡‚| (|"|¡|t)|"fƒq"n2|ƒ}|dk�rœ| d+¡‚| d5|t|ƒd¡‚�nd|d6k�rÊd}�nR|dk�r |jdk�rô| d7|  ¡| ¡‚|ƒd2k�rÔq"�qÔq"�n|d8k�rød}#|d-k�r||ƒ}|dk�r>| d+¡‚|d9k�r`| d:|t|ƒd¡‚d%}#|j*}$|$dk�r||j+|_*t,||||dƒ}|#dk�r¨|$dk�r¨d|_*|d2ƒ�sÆ| d;|  ¡| ¡‚|d1k�râ|t-|#|ffƒq"|t.|#|ffƒq"�n$|d)k� rj| $d2d/¡}%|% %¡� rL|j& |%¡}&|&dk� rÜd3|%}| |t|%ƒd¡‚n�zt|%ƒ}&|&dk� rdt/‚Wn4t/k � ršd0|%}| |t|%ƒd¡d‚YnX|&� s¶| d¡� r0t1||||dƒ}(|jd>k� r4| d?¡‚nd}(| d2¡� sT| d;|  ¡| ¡‚|t2|&|'|(ffƒq"n²|t3k� s~|dk� rt4|||ƒ})|)dk� rö|� r |� râddl }|j d@|j5ddA…t|j5ƒdAk� rÎdBnd ft6|d d �|j7t8@r"|s"t9‚q"|)\}}d}n| dC|t|ƒd¡‚|dk � rrz| :|!¡}Wn<tk � rp}*z| |*j;t|!ƒd¡d‚W5d}*~*XYnX|� s‚|t8@� oŠ|t8@ }+t,|||+|dƒ}| d2¡� s¾| d;|  ¡| ¡‚|dk � rÔ| <||¡|t ||||ffƒq"| d k� r|tt=fƒq"| dDk� r|tt>fƒq"tdE|fƒ‚q"t?t|ƒƒddd%…D]N},||,\}-}.|-t k� r@|.\}}}}|dk� r@|� s@|� s@|||,|,d…<� q@|S)FNz|)ú#rrr ú[r<z"Possible nested set at position %dr�)Ú stacklevelú^zunterminated character setú]z-&~|zPossible set %s at position %dú-Ú differenceú&Ú intersectionú~zsymmetric differenceÚunionz&Possible set difference at position %dr`zbad character range %s-%sú?)rr<rú+r”r–r:ú,z"the repetition number is too largez"min repeat greater than max repeatzunsupported quantifier %rr_znothing to repeatzmultiple repeatÚ.ú(Tzunexpected end of patternÚPú<ú>ú group nameúbad character in group name %rú=ú)úunknown group name %rr2zunknown extension ?Pú:zmissing ), unterminated commentz=!|t@rtdƒ‚|t@s,|tO}qf|t@rftdƒ‚n(|t@rNtdƒ‚|t@rf|t@rftdƒ‚|S)Nz)cannot use LOCALE flag with a str patternz(ASCII and UNICODE flags are incompatiblez,cannot use UNICODE flag with a bytes patternz'ASCII and LOCALE flags are incompatible)rIrCÚSRE_FLAG_LOCALEr©ÚSRE_FLAG_ASCIIÚSRE_FLAG_UNICODE)ÚsrcrrrrÚ fix_flags™s   rNcCsÄt|ƒ}|dkrtƒ}||_||_zt|||t@dƒ}WnBtk rztƒ}|tB|_||_| d¡t||ddƒ}YnXt||j jƒ|j _|j dk r°|j dks¦t ‚|  d¡‚|t @rÀ| ¡|S)NrTrÚzunbalanced parenthesis)rorrrCrÃrórr‰rr7rtrèr(ÚSRE_FLAG_DEBUGrG)rCrr7r3r/rrrÚparse©s(    rc sðt|ƒ‰ˆj}g‰g‰g‰ˆj}‡‡‡‡‡fdd„}ˆj}|ƒ}|dkrL�q¸|ddk�r®|d}|dk�rJd}ˆ d¡s„ˆ d ¡‚ˆ d d ¡}| ¡rÈz ||} Wn tk rÄt d |ƒ‚YnXnlzt |ƒ} | dkrÞt ‚Wn0t k �rˆ d |t |ƒd¡d‚YnX| t k�r4ˆ d| t |ƒd¡‚|| t |ƒdƒ�q¶|dk�r¢ˆjtk�r€||ƒ7}ˆjtk�r€||ƒ7}|tt |dd…dƒd@ƒƒ�q¶|tk�rZd} ˆjtk�r4||ƒ7}|tk�r4|dtk�r4ˆjtk�r4||ƒ7}d} t |dd…dƒ}|dk�r(ˆ d|t |ƒ¡‚|t|ƒƒ| �s¬|t |dd…ƒt |ƒdƒnRztt|dƒ}Wn4tk �r¢|tk�ržˆ d|t |ƒ¡‚YnX||ƒq:||ƒq:ˆ�rΈ d ˆ¡¡t|tƒ�sèdd„ˆDƒ‰ˆˆfS)NcsX|ˆjkrˆ d||¡‚ˆr8ˆ d ˆ¡¡ˆdd…=ˆ tˆƒ|f¡ˆ d¡dS)Nr¯r:)r%r(r&Újoinr$)rWr‡©r%ÚliteralÚliteralsrr7rrÚaddgroupÒs  z parse_template..addgrouprr r<Úgr:rÕz missing sz"parse_template..)ror)r&Ú groupindexrzr(r…rír¦rvr¡r©r$r'rtr§r¢r¨r�rªrrIrC) r3r7ÚsgetÚlappendrrr{r‚r*rWÚisoctalrrrÚparse_templateÉs–       ÿÿ   ÿ     "   ÿ  ÿÿ      rcCsv|j}|jdd…}|\}}|dd…}z"|D]\}}||ƒp@|||<q.Wn tk rjtd|ƒ‚YnX| |¡S)Nrr¯)r°rrrvr(r)ÚtemplaterzrÚemptyr%rrWr°rrrÚexpand_templates  r")F)rN)=Ú__doc__Ú sre_constantsràræÚ frozensetr¨r§rŸrªrßrêrërfrìrärDr råÚCATEGORYrgr¤r�réZAT_BEGINNING_STRINGZ AT_BOUNDARYZAT_NON_BOUNDARYZCATEGORY_DIGITZCATEGORY_NOT_DIGITZCATEGORY_SPACEZCATEGORY_NOT_SPACEZ CATEGORY_WORDZCATEGORY_NOT_WORDZ AT_END_STRINGržÚSRE_FLAG_IGNORECASEr ÚSRE_FLAG_MULTILINEÚSRE_FLAG_DOTALLrór ÚSRE_FLAG_TEMPLATEr rðrrr Ú Exceptionrrr6ror­r±rµrÃr·rñrrrr"rrrrÚ sr         ø       öö #rH<M: r< U