A=a4ddlZddlmZddlmZGddeZGddZeZ Gdd e Z d Z Gd d e Z d Z e e dZdZGdde ZGddeZdZdZdddgZdZGdde ZGddeZGdde ZGd d!eZGd"d#eZd$ZGd%d&eZGd'd(eZd)ZGd*d+Z eZ!d,Z"dS)-N) chooserects) iterpermuteceZdZdS) InfiniteErrorN)__name__ __module__ __qualname__/srv/buildsys-work-dir/castor/build_node/builder-2/WGSG1/unpkd_srcs/cloudlinux-venv-1.0.6/venv/lib/python3.11/site-packages/guppy/etc/RE.pyrrsDr rc eZdZdZdZdZdS) WordsMemoc>||_||_i|_d|_dSNr)rechxsN)selfrrs r __init__zWordsMemo.__init__ s"r ct||jvr#|j|||j|<|j|SN)rrget_words_of_length_memoizedrrs r get_words_of_lengthzWordsMemo.get_words_of_lengths8 DG  ==aFFDGAJwqzr cg}t|dzD]0}||}|r|||f1|SN)rangerappend)rrxsuirs r get_words_of_length_uptoz"WordsMemo.get_words_of_length_uptosY qs $ $A))!,,B $ Ar7### r N)rrr rrr#r r r rr sA      r rceZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdZddZdZdZdS)REz.^$*+?{}\[]|()ct|trt||St|t |Sr) isinstancer%concat ConcatenationSingleabs r __add__z RE.__add__As8 a   /!Q<<  F1II.. .r c|s?|dkrt|S|dkrt|S|dkrt|Std)N)*)+)?z8Argument to regular expression must be '*' or '+' or '?') KleeneClosurePositiveClosure EpsilonOrOne ValueError)r,argskwdss r __call__z RE.__call__Gse 'v~~$Q'''&q)))#A& FHH Hr cHt|jt|fSr)hash_nametuplers r __hash__z RE.__hash__RsTZt-...r cb|j|jkot|t|kSrr<r=r+s r __eq__z RE.__eq__Us,17"%aE!HH$ &r c|j|jkr t|t|kS|j|jkSrrAr+s r __lt__z RE.__lt__Ys7 7ag  88eAhh& &7QW$ $r c"t||Sr)Unionr+s r __or__z RE.__or___sQ{{r cBd}|D]}||z }|Srget_num_closuresrnsrs r rJzRE.get_num_closuresbs3  ( (B "%%'' 'BB r cBd}|D]}||z }|Sr get_num_symsrKs r rOzRE.get_num_symshs1  $ $B "//## #BB r cBd}|D]}||z }|Srget_sum_sym_lengthsrKs r rRzRE.get_sum_sym_lengthsns3  + +B "((** *BB r c:d|D}t||S)Nc6g|]}|Sr )get_words_memo.0xs r z%RE.get_words_memo..us$ / / /Qa  / / /r r)rrs r rUzRE.get_words_memots% / /$ / / /r"""r cT|}||Sr)rUr)rrrs r rzRE.get_words_of_lengthxs'  " "%%a(((r c0|jfd|DS)Nc&g|] }|Sr r rWrXfs r rYz"RE.mapchildren..}s!333!333r ) __class__rr_s `r mapchildrenzRE.mapchildren|s't~3333d33344r c6|tSr) mappedrepr regexpnamer>s r regexpformz RE.regexpformsz***r c.|dS)Nc*|SrreversedrXs r zRE.reversed..s!**,,r )rbr>s r rjz RE.reverseds 6 6777r c$fd|S)Nct|tr9|tur.t|dtr|dd}t|S|S|SNrr)r'SeqEpsilonr=rb)rXwsr_s r r_zRE.rempretup..fs`!S!! G## 1Q4(?(?#122B8OH==## #r r ras @r rempretupz RE.rempretups+ $ $ $ $ $qwwr c>g}||j|Sr) apseqatomsr )rsas r seqatomsz RE.seqatomss   """ r cVigfd}||tS)NcH|vrd|<|dSdSrr )rXduss r apzRE.sequni..aps/zz! ! zr )apseqrF)rr}r{r|s @@r sequniz RE.sequnisG         2bzr  c|t}|dkr(||d}|S)Nr)rdrejoinsplit)rconcrs r shformz RE.shforms< OOJ ' ' 3;; !''#,,''Ar c|Srr rr,ks r simplifiedz RE.simplified r c2d}||S)Nc0|dkrdSt|S)N())strrks r r_zRE.simulform..fsBwwtq66Mr )rdras r simulformz RE.simulforms%   q!!!r N)r)rrr _re_specialr.r9r?rBrDrGrJrOrRrUrrbrfrjrsrwrrrrr r r r%r%(sO.$K/// H H H///&&&%%%    ###)))555+++888       """""r r%c|dkrdStj}g}t|D] }||dzvrd}||!d|S)Nrrz', )r%rrr r)sspecialrencs r reresfBwwtnG C VV   A 1 773<<r cdeZdZdZdZdZdZdZdZdZ dZ dZ d Z d Z d Zd Zd ZdZdS)rprcJ|stSt||Sr)rqREBASE__new__)classymbolss r rz Seq.__new__s# N~~dG,,,r c`|jjddd|DdS)N(z, cg|]}|Sr r rVs r rYz Seq.__repr__..s>Y>Y>Yqqq>Y>Y>Yr ))r`rrr>s r __repr__z Seq.__repr__s:>222DII>Y>YTX>Y>Y>Y4Z4Z4Z4Z[[r c||dSrr rr}s r r~z Seq.apseq 4r c@|D]}|t|dSr)r*rr}rXs r ruzSeq.apseqatomss0  A BvayyMMMM  r cdSrr r>s r rJzSeq.get_num_closuressqr c t|Srlenr>s r rOzSeq.get_num_symss4yyr cRd}|D]!}|tt|z }"|Sr)rr)rrrXs r rRzSeq.get_sum_sym_lengthss3   A SVV AAr c"t|dS)Nr rZr>s r rUzSeq.get_words_memosr"""r c2|t|kr|gSgSrrrrmemos r rz Seq.get_words_of_length_memoizeds D >>6MIr c|Srr rs r limitedz Seq.limitedrr c`|s dSdfd|DS)Nrrc(g|]}|Sr r r^s r rYz"Seq.mappedrepr..s#666A1666r )rras `r rdzSeq.mappedreprs? 1R55Lxx6666666777r c\t|}||j|Sr)listreverser`rrs r rjz Seq.reverseds) JJ t~q!!r c|gSrr r>s r unionsplittedzSeq.unionsplitted v r N)rrr _priorityr<rrr~rurJrOrRrUrrrdrjrr r r rprpsI E--- \\\ ### 888 """ r rpcDtt|fSr)rrrp)symbols r r*r*s >>#y ) ))r r cd|D}t|dkr|stS|dStt|S)Nc$g|] }|tu |Sr )rqrVs r rYzconcat..s" 0 0 0!q//A///r r)rrqrrr))r7s r r(r(sN 0 0t 0 0 0D 4yy1}} NAw >>- . ..r cReZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd S)r)rConcatct|dkr|stS|dSt||S)Nrr)rrqrrrr7s r rzConcatenation.__new__ s; t99q== 7N~~dD)))r cg}|D]0}|}|j|jkrd|d}||1d|S)Nrrz + rr rrrsrrs r rzConcatenation.__repr__s[   BA|dn,,,aaM IIaLLLLzz"~~r cd|D}dgt|z} g}t|D]4\}}|||D] }|tur||!5|t |d}t|D]2\}} | dz } | t||krd} | ||<| dkrn3dS)Nc6g|]}|Sr )rrVs r rYz'Concatenation.apseq..s (((aqxxzz(((r rr)r enumeraterqr rp) rr}unsixsrr"r|rXjixs r r~zConcatenation.apseqs((4(((c#c((l B$S>> % %BCF%%A'' ! % BsBxLLLA"3  2aSV$$BA77E! r c:|D]}||dSrrurs r ruzConcatenation.apseqatoms10  A LL      r cg|jD]*}|+gifdgddS)Nc|t krC|kr9t|D]1}t|}| vr |d |<0dSdS |D]%\}}||zkr||gz|dz||z&dSr)rrsimple_Concatenationr ) xxr"ntoconcrmrXradschxsseenrs r rz7Concatenation.get_words_of_length_memoized..ads<sCII~~66"-r"2++3F;;t++IIdOOO)*DJ 6++ !G44DAq1uzzB!Ha!eQU33344r r)rr r#)rrrrrrrrs ` @@@@r rz*Concatenation.get_words_of_length_memoized5s' 8 8B KK33A66 7 7 7 7  4 4 4 4 4 4 4 4 4 B1  r c.tfd|DS)Nc:g|]}|Sr rrWrXrs r rYz)Concatenation.limited..Ms#:::qyy||:::r )r)rs `r rzConcatenation.limitedLs#::::T:::;;r cg}|D]B}||}|j|jkrd|d}||Cd|S)Nrrrrdrr rrr_rrrs r rdzConcatenation.mappedreprOse   B a  A|dn,,,aaM IIaLLLLxx||r cVd|D}||j|S)Nc6g|]}|Sr rirVs r rYz*Concatenation.reversed..Ys ( ( (aQZZ\\ ( ( (r )rr`rs r rjzConcatenation.reversedXs1 ( (4 ( ( ( t~q!!r cfd|D}g}|D].}|D]|/t|S)Nc*g|]}|jiSr r)rWrXr,rs r rYz,Concatenation.simplified..^s*444!  a%1%%444r )rwr r)rr,rrrvrs `` r rzConcatenation.simplified]so44444t444   AZZ\\   !  #B'''r cg}g}t|D]C\}}|}t|dkr|||fD|s|gSdgt|z}t |} g}d} t|D]M\} \}}||| ||| } ||| |dz} N||| d|t |d} t|D]8\} } | dz } | t|| dkrd} | || <| dkrn9|SNrr)rrrr rextendr() rrunsrr"rXr|rrri0rrs r rzConcatenation.unionsplittedesoo $ $FQ""B2ww{{ Ar7### 6Mc#c((l $ZZ BB'nn   7Ar "RT(###V "R&!!!U IIbg    KK $ $ $A"3  2aSVAY''BA77E ) r N)rrr rr<rrr~rurrrdrjrrr r r r)r)sI E****.<<<""" (((r r)ceZdZdZdS)SimplifiedConcatenationc|Srr rs r rz"SimplifiedConcatenation.simplifiedrr Nrrr rr r r rr#r rci}g}d}|D]k}|e|jdkr|d|krt|}n>|jdkr|d|krt|}n||||}l||||S)Nr0r)r<r4r )rrnconcw0ws r conclosurers D E B    >3aDBJJ#B''(c//Q%1**#A&&>LL$$$  ~ R Lr ct|dkr|}t|}g}d}d}|t|kr||}t|ts|dz }||L|}|t|kr4t||tsn|dz }|t|k4||dzkr||n[g}t ||D],}||}|t|-|t||}|t|kt|dkr t|S|r|dStSr) rrr'rpr rrrr)rq)rconc0rr"resymsrs r rrs| 4yy1}}$ E A A c$ii-- G!S!!  FA LLOOO  #d))mmd1gs++  FA#d))mm A:: LLOOOOD1a[[ % %G DGG$$$$ LLd $ $ $ ' c$ii--( 5zzA~~e$$ Qxr c*|SrrNrks r rlrlsQ^^  r c*|SrrIrks r rlrlsQ   ! !r c*|SrrQrks r rlrlsQ " " $ $r c*t|t}d} t|dkr\|djdkst|djdkr-g}|djD]}|r||d}ng}|D]}|}|}t|}|tur|j dkr|g|z}n||gz}|r||nd}t|dtrJt|t}t|dkrd|D} t| }n|rt|d}nd}|r|t|}nt}|S)Nrrc,g|]}t|Sr )r)rWlines r rYzsimpleunion..s!999d#D))999r )rgaugesrwidthlinesr get_common_part get_uncommons simpleunionrqdirr'rSimplifiedUnionrsimple_EpsilonOrOne) rchoosen have_epsilonr|rrrolinesunuss r r r s%((GL* w<<1  '!*"2a"7"73wqz?O;P;PTU;U;UB ( % %%IIdOOOO#$LL   / /A$$&&D__&&FF##A5B;;3t8DD1#:D ! $ !"R&#.. . .. .b&))3*6 2ww{{99b999 S !  A ' '  =#A&&AAA Hr cNeZdZdZdZdZdZdZdZdZ dZ dZ d d Z d Z d S) rFc8t||Srrrrs r rz Union.__new__s~~dD)))r cg}|D]/}|}|j|jkrd|z}||0d|SN(%s) | rrs r rzUnion.__repr__sV   BA|dn,,QJ IIaLLLLzz"~~r c:|D]}||dSr)r~)rr}rs r r~z Union.apseq s,  A GGBKKKK  r c:|D]}||dSrrrs r ruzUnion.apseqatomsrr cg}i}|jD]8}||D] }||vrd||<||!9|Sr)rrr )rrrrrrrXs r rz"Union.get_words_of_length_memoizedsh ' ! !B++A.. ! !D==DGIIaLLL ! r czfd|D}t|D]\}}|||ur |j|cS|S)Nc:g|]}|Sr rrs r rYz!Union.limited.. s#***qyy||***r )rr`)rrunir"rXs ` r rz Union.limitedsc****T***cNN , ,DAqQ%t~s++++  r cg}|D]B}||}|j|jkrd|z}||Cd|Srrrs r rdzUnion.mappedrepr&sc   B a(((A|dn,,QJ IIaLLLLzz"~~r Ncx|d|D}d|D}t|S)Nc6g|]}|Sr rrVs r rYz$Union.simplified..1s AAAqALLNNAAAr c6g|]}|Sr )rw)rWr,s r rYz$Union.simplified..7s ) ) )qajjll ) ) )r )rr )rr7r,rrs r rzUnion.simplified/sG <AAD,>,>,@,@AAAD * )D ) ) )2r c|g}|D]6}|t|7|Sr)rrr)rr|rXs r rzUnion.unionsplitted:sB  / /A IId1??,,-- . . . . r r)rrr rr<rrr~rurrrdrrr r r rFrFsI E***    r rFceZdZdZdS)r c|Srr rs r rzSimplifiedUnion.simplifiedBrr Nrr r r r r Arr r c6eZdZdZdZdZdZdZdZdZ dS) Calledrc:t||fSrr)rargs r rzCalled.__new__Is~~dSF+++r c\|d}|}|j|jkrd|z}|d|jdS)Nrrrr)rr<)rrrs r rzCalled.__repr__Ls? !WB <$. ( ( A11djjj))r c||dSrr rs r ruzCalled.apseqatomsSrr c<d|dzSrrIr>s r rJzCalled.get_num_closuresVs47++----r c|d}||}|j|jks(t|trt |dkrd|z}||jS)Nrrr)rdrr'rprr<)rr_rrs r rdzCalled.mappedreprYsf !W MM!   L4> ) )b#&& *+.r77Q;; ADJJ''r cN||dj|i|Sr)r`rrs r rzCalled.simplifiedas+~~0d1g0!9q99:::r N) rrr rrrrurJrdrr r r r(r(FssI,,,***...(((;;;;;r r(ceZdZdZdZdS)Closurec|dkrtgS|dkr |jddSg}i}td|D]h}||}|||z }|D]6}|D]1} t || f} | |vr|| d|| <27i|jd|D] } | |vr|| d|| <!|Sro)rqrrrrr ) rrrrrr"r,r-aibiaibirXs r rz$Closure.get_words_of_length_memoizedfs* 669  6671:11!44 4 q! ' 'A((++A((1--A ' '''B/R99D4'' $%&T ' ' //22  A}} ! Q r c|gSrr r>s r rzClosure.unionsplitted|rr N)rrr rrr r r r1r1es2,r r1c$eZdZdZdZdZdZdS)r3r0c td)Nz@apseq: Regular expression is infinite: contains a Kleene Closurerrs r r~zKleeneClosure.apseqs NPP Pr c|dkrtS|d|}g}t|dzD]$}|g|z}|t |%t |Sro)rqrrr r)rF)rrclrr"rs r rzKleeneClosure.limitedsr 66N !W__Q  qs / /AT!VF JJ}f- . . . .c{r cBt|dj|i|Sr)simple_KleeneClosurerrs r rzKleeneClosure.simplifieds'#$6DG$6$?Q$?$?@@@r N)rrr r<r~rrr r r r3r3sN EPPPAAAAAr r3c`|jdkrt|dSt|S)Nr1r)r<r=r3rks r r=r=s-w#~~#AaD)))   r c*eZdZdZdZdZdZdZdS)r4r1c td)NzBapseq: Regular expression is infinite: contains a Positive Closurer9rs r r~zPositiveClosure.apseqs PRR Rr c|d|t|d|dSr)rur=rs r ruzPositiveClosure.apseqatomss@ Q2T!W%%0044444r c|dkr |jd|St|||Sr)rrr1rrs r rz,PositiveClosure.get_words_of_length_memoizeds= 6671:11!44 433D!TBBBr c|d|}t|d|}t||Sr)rr3r))rrr,r-s r rzPositiveClosure.limitedsF GOOA   $q' " " * *1 - -Q"""r N)rrr r<r~rurrr r r r4r4s[ ERRR555CCC #####r r4c0eZdZdZdZdZdZdZdZdS)r5r2c\|t|d|dSr)rqr~rs r r~zEpsilonOrOne.apseqs+ 7  Q br c^|dkrtgS|jd|Sr)rqrrrs r rz)EpsilonOrOne.get_words_of_length_memoizeds- 669 wqz--a000r cz|d|}||dur||}|Sr)rr`)rrrXs r rzEpsilonOrOne.limiteds< GOOA   DG  >>!$$D r cBt|dj|i|Sr)r rrs r rzEpsilonOrOne.simplifieds'"#547#5q#>A#>#>???r cbtgt|dzSr)rqrrr>s r rzEpsilonOrOne.unionsplitteds'y4Q 5 5 7 78888r N) rrr r<r~rrrrr r r r5r5sg E111  @@@99999r r5cn|jdkrt|S|jdkr|St|S)Nr1r0)r<r=r5rks r r r s; w#~~#A&&& w#~~ ??r c2eZdZdZdZdZdZdZdZdS) RegularSystemc>||_||_d|_||_dS)N 358f0eca5c34bacdfbf6a8ac0ccf84bc)tableStartFinal final_states)rrOrPrRs r rzRegularSystem.__init__s%  7 (r c fd}d}j}jgjz}|j|D]}||vrt ||ddd||}g}|D]8}||vr2||||d||9|r#t d|t dS)Ncd j|}n#t$rt|}YnwxYw|Sr)namesKeyErrorr)statenamers r statenamez#RegularSystem.pp..statenamesE "z%( " " "5zz "Ks --cP|}|jdkrd|d}|S)Nrrr)rr)transrXs r transnamez#RegularSystem.pp..transnames2??$$D"""!%'Kr z>3z = r)endr) setup_namesXrPorderr rQprintr) rrYr\r_rXkTkesXjs ` r ppzRegularSystem.pps?          Fj\$* $ $*  B{{ iimmmmm-3 7 7 7 72BB L L88II2b6):):):):IIbMMMJKKK ejjnn%%%%  r cB|j}|j}|j}|iix|_}t |D]\}}ix||<}t |D];\}} || gt||}g}|dz }|D]0}||vr||D] }||vr|||||<!1|>|Srorz)r_startr"Snewsoldnewsrts r distsz(RegularSystem.setup_order..distssA A7D %Q %%Azz qT%%A:: KKNNN#$AaD% %Hr c|Srr )rX start_distss r start_distancez1RegularSystem.setup_order..start_distance(s q> !r cifd}|S)Nc`|vr|Sd}|D]}||z }||<|S)Ngr )rXryr_r_rs r gz2RegularSystem.setup_order..sumt..g.sN997N1A1IAAQr r )r_r~rr_s` @r sumtz'RegularSystem.setup_order..sumt+s4D       Hr cj||urdSt|t|z }|r|Sd}|dkri |}n9#t$r,|dz }|YnwxYw||||z }|r|S|dz }|dki||k||kz S)Nr r)r IndexErrorr )rXr}rr"r_r_sumdistsrs r cmp3z'RegularSystem.setup_order..cmp38sAvvqAaD C!II%A Ab&&'  AA!'''Xac]++AOOA&&&&&'AaDD11Q44KHQb&&Ea!e$ $sA 3A?>A?c$g|] }|u|u | Sr r )rWrXrQrPs r rYz-RegularSystem.setup_order..Xs&MMMq1E>>aunnnnnr )key)r_rPrQrj functools cmp_to_keyr`) rrwrzrr`rQrPr_ryrrs @@@@@@r setup_orderzRegularSystem.setup_orders   " " " " " "      % % % % % % %6## F  eAuoo MMMMMKMMM y+D11 222 r c |jn$#t$r|YnwxYwi|_d|j|j<t |jD]\}}d|dzz|j|<d|j|j<dS)NX0zX%drrQ)r`AttributeErrorrrUrPrrQ)rr"rs r r^zRegularSystem.setup_names\s  JJJ             !% 4:dj)) * *DAq!QqSMDJqMM!( 4:s  ++c|||j}|j}|j}t |j}|r|}||}||vrG||}||=|d}t |D]\} } || z} | || <||=t |D]m\} } | |}|| |=t |D]+\}}||z}| |}|||z}|| |<,n||||S)Nr0) rorr_rPrQrr`poprhget)rr_rPrQtodorbrcAkkAkkStarrkAkiBkireTjBjkXjiTk_XjiCjiBjis r solvezRegularSystem.solvehs   F  DJ' "B2BRxxfrF#c((#BHHJJ//!!GB!C-C BrFF "qwwyy// " "BffRjj;rF#' #3#3""KCrs))))))------     I   4 G"G"G"G"G"G"G"G"T   66666"666r*** ..b ! !///|||||B|||~m 2   H!!$$ + + + \AAAAABAAAHe ;;;;;R;;;>f6AAAAAGAAA*#####g###,9999969992   IIIIIIIIX %''r