
    de                     J   d Z ddlZddlmZ ddlT ddlmZ ej        ek    s
J d            ee	hZ
eehZeehZe
eehz  ZeeeefeeeefeeeefiZej        fdZd	 Z d
 Z!ddZ"ej#        dz  Z$de$z  dz
  Z%dZ&e$e'fdZ(d Z)d Z*d Z+d Z,d Z-d Z.d Z/d Z0d Z1d Z2d Z3ddZ4dS )zInternal support module for sre    N   )_parser)*)_EXTRA_CASESzSRE module mismatchc                 *    ||z  r| | z  } | |z  | z  S N )flags	add_flags	del_flags
TYPE_FLAGSs         /croot/python-split_1694437901252/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/python3.11/re/_compiler.py_combine_flagsr      s-    : *I)++    c           
      `   | j         }t          }t          }t          }t          }t
          }d }	d }
d }|t          z  rL|t          z  sB|t          z  r t          j
        }	t          j        }
t          }nt          j        }	t          j        }
|D ]#\  }}||v rP|t          z  s ||            ||           ,|t          z  r" |t          |                     ||           X |	|          s ||            ||           z |
|          }|s" |t           |                     ||           ||vr" |t"          |                     ||            |t$                      ||           } |d           |t&          u r |t(                     |f||         z   D ]} |t*                      ||            |t,                      ||           |z
  | |<   [|t.          u rt1          ||	|
|          \  }}|t          z  r|t          z  r |t2                     n6|s |t.                     n#|s |t4                     n |t$                      ||           } |d           t7          |||             ||           |z
  | |<   |t8          u r.|t:          z  r |t<                     3 |t8                     E||v rJ|t>          z  rtA          d|          tC          |d                   r |||         d                     ||           } |d            ||d                     ||d                    tE          | |d         |            |tF                      ||           |z
  | |<    |||         d                     ||           } |d            ||d                     ||d                    tE          | |d         |            ||           |z
  | |<    |||         d                    |tH          u rr|\  }}}}|r! |tJ                      ||dz
  dz             tE          | |tM          |||                     |r$ |tJ                      ||dz
  dz  dz              |tN          u rZ |tN                      ||           } |d           tE          | ||            |tF                      ||           |z
  | |<   r||v r ||           ||v r ||            ||           } |d           |d         dk    r |d           n=|d         (                                \  }}||k    rtA          d           ||           tE          | |d         |            |tF                      ||           |z
  | |<   7|tR          u r ||           |tT          z  rtV          ,                    ||          }|t          z  rtZ          ,                    ||          }n%|t          z  rt\          ,                    ||          } ||           |t^          u r ||           g }|j         }|d         D ]i} ||           } |d           tE          | ||            |t`                      | ||                       |d            ||           |z
  | |<   j |t,                     |D ]} ||           |z
  | |<   |tb          u rG ||           |t          z  rtd          |         }n|t          z  rtf          |         } ||           |th          u rd|t          z  s ||           n>|t          z  r |tj                     n#|s |tl                     n |tn                      ||dz
             <|tp          u r ||            ||d         dz
              ||           } |d           tE          | |d         |           |d         rd |t`                      ||           } |d            ||           |z
  dz   | |<   tE          | |d         |            ||           |z
  | |<    ||           |z
  dz   | |<   tA          d|          d S )Nr   z(internal: unsupported template operator    r   z(look-behind requires fixed-width patternz#internal: unsupported operand type )9appendlen_LITERAL_CODES_REPEATING_CODES_SUCCESS_CODES_ASSERT_CODESSRE_FLAG_IGNORECASESRE_FLAG_LOCALESRE_FLAG_UNICODE_sreunicode_iscasedunicode_tolowerr   ascii_iscasedascii_tolowerOP_LOCALE_IGNORE	OP_IGNOREOP_UNICODE_IGNOREIN_UNI_IGNORENOT_LITERALNEGATELITERALFAILUREIN_optimize_charsetIN_LOC_IGNORE	IN_IGNORE_compile_charsetANYSRE_FLAG_DOTALLANY_ALLSRE_FLAG_TEMPLATEerror_simple_compileSUCCESS
SUBPATTERNMARKr   ATOMIC_GROUPgetwidthATSRE_FLAG_MULTILINEAT_MULTILINEget	AT_LOCALE
AT_UNICODEBRANCHJUMPCATEGORY	CH_LOCALE
CH_UNICODEGROUPREFGROUPREF_LOC_IGNOREGROUPREF_IGNOREGROUPREF_UNI_IGNOREGROUPREF_EXISTS)codepatternr
   emit_lenLITERAL_CODESREPEATING_CODESSUCCESS_CODESASSERT_CODESiscasedtolowerfixesopavloskipkcharsethascasedgroupr   r   phitail
tailappendskipyesskipnos                               r   r4   r4   %   s	   ;DD"M&O"M LGGE"" )5?+B )## 	)*G*G EE(G(G \I \IB.. 3RR( 3%b)***RWR[[ 3RRWR[[ 3D2'''DHHHHu__D*2.///DHHHHD'''4::DttAwww[((V UU2Y.    WQDMMM!%dd!2DJJ2XX 1"gw N NGX** $u/F $]#### $R $Y]###4::DttAwwwWeT222dd*DJJ3YY& WS				?""(( ReBBPQQQr!u~~ -_R(+,,,tDzz44777RURUr!ue,,,W!T$ZZ$.T

_R(+,,,tDzz44777RURUr!ue,,,!T$ZZ$.T
_R(+,,,,:-/*E9i "T


eAgq[!!!T1nUIyIIJJJ $T


eAgq[]###< D4::DttAwwwT2u%%%DMMMdd*DJJ=  DHHHH<DHHH4::DttAwww!uzzQA))B88 JKKKRT2a5%(((DMMMdd*DJJ2XXDHHH)) .!%%b"--& ,]]2r**)) ,^^B++DHHHH6\\DHHHDJe / /tDzz44777r5)))T



44::&&&Q!T$ZZ$.T

DMMM / /!T$ZZ$.T

/8^^DHHH& $r])) $^DHHHH8^^.. *R( *()))) *_%%%%()))DAJJJJ?""DHHHDAqMMMd4jjG$$q'''T2a5%(((!u 9T


dTT!WWW $T

W 4q 8Wr!ue,,,#tDzzF2V $T

W 4q 8W%22GHHHy\I \Ir   c                 P   |j         }| D ]
\  }} ||           |t          u r|t          u r ||           0|t          u s	|t          u r# ||d                     ||d                    e|t
          u r|                    |           |t          u r|                    |           |t          u rN|t          z  r |t          |                    |t          z  r |t          |                     ||           t          d|           |t                     d S )Nr   r   z#internal: unsupported set operator )r   r&   r'   RANGERANGE_UNI_IGNORECHARSETextend
BIGCHARSETrB   r   rC   r   rD   r2   r(   )rZ   r
   rJ   rL   rU   rV   s         r   r-   r-      sD   ;D I IBR<<7]]DHHHH5[[B"222DAKKKDAKKKK7]]KKOOOO:KKOOOO8^^& Yr]####)) Z^$$$$R%22GHHHDMMMMMr   c                 l   g }g }t          d          }d}| D ]}\  }}		 	 |t          u r>|r6 ||	          }
d||
<   |r|
|v r||
         D ]}d||<   |s ||	          rd}nd||	<   n|t          u rt          |	d         |	d         dz             }|rg|r-t	          ||          D ]}d||<   ||v r||         D ]}d||<   nt	          ||          D ]}d||<   |st          t	          ||                    }nC|D ]}d||<   n8|t          u r|                    ||	f           n|                    ||	f           nY# t          $ rL t          |          dk    r|ddz  z  }Y F|rd}|t          u rt          }|                    ||	f           Y nw xY wg }d}	 |                    d|          }|dk     rnot          |          dk    rd }nY|                    d|          }|dk     r%|                    |t          |          f           n|                    ||f           |~|D ]L\  }}||z
  dk    r|                    t          |f           +|                    t          ||dz
  ff           M||z  }|s t          |          t          |           k     r||fS | |fS t          |          dk    r4t          |          }|                    t          |f           ||z  }||fS t          |          }i }t          d          }d}t                      }t          dd	d          D ]9}|||dz            }||v r||         ||dz  <   "|x||dz  <   ||<   |dz  }||z  }:t          |          }|gt          |          z   |dd<   |                    t           |f           ||z  }||fS )
N   FTr   r       i   r   i   )	bytearrayr'   rd   rangemapanyr&   r   
IndexErrorr   re   find
_mk_bitmaprf   bytes_bytes_to_codesrh   )rZ   rR   fixuprT   outr_   charmapr[   rU   rV   rW   rY   rirunsqr]   datacompsmappingblockchunks                         r   r*   r*      s   
CDnnGH 9 9B8	6&== 	("U2YY&'  /R5[[%*2Y / /-.

' ,GGBKK ,'+H&'5[[beRU1W--A +  /%(]] 7 7-.
#$::-21X %7 %756

	7 &)]] / /-.

' <'*3w??';';H!" + +A)*GAJJ+6\\JJBx((((KKR))) & & &w<<3&&uv~-GH  .#H U{{-RH%%%%%+&,  D	ALLAq55t99>>DLLAq55KKCLL)***QF  	0 	0DAq1uzz

GQ<((((

EAq1u:.////t 	!s3xx#g,,..=    7||s'""

GT?###tH}, GnnGEnnGE;;D1eS!!  1s7
#E>> %eGAH/44GAHeQJEEMDDdD/'222D1IJJ
D!"""4KC=s   DD<<%F$+FF   s   0111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111c                     |                      t                    d d d         fdt          t                    d           D             S )Nc                 >    g | ]} |z
  |         d           S )r   r	   ).0ry   	_CODEBITS_intss     r   
<listcomp>z_mk_bitmap.<locals>.<listcomp>  sC     3 3 3 D1y=!#$a(( 3 3 3r   r   )	translate_BITS_TRANSrm   r   )bitsr   r   r   s    ``@r   rr   rr     sj    {##DDbD)A3 3 3 3 3 33q661yj113 3 3 3r   c                     t          |                               d          }|j        t          j        k    sJ t          |          |j        z  t          |           k    sJ |                                S )NI)
memoryviewcastitemsizer   CODESIZEr   tolist)bas     r   rt   rt     sb    13A:&&&&q66AJ#a&&((((88::r   c                     t          |           dk    rdS | d         \  }}|t          u r|d         d u ot          |d                   S |t          v S )Nr   Fr   r   )r   r6   r3   _UNIT_CODES)r]   rU   rV   s      r   r3   r3     sV    
1vv{{uqTFB	Z!u}0B0r   c                    dgt          |           z  }t          dt          |                     D ]P}||dz
           }| |         | |         k    r)|dk    rd||<   n%||dz
           }| |         | |         k    )|dz   ||<   Q|S )aj  
    Generate an overlap table for the following prefix.
    An overlap table is a table of the same size as the prefix which
    informs about the potential self-overlap for each index in the prefix:
    - if overlap[i] == 0, prefix[i:] can't overlap prefix[0:...]
    - if overlap[i] == k with 0 < k <= i, prefix[i-k+1:i+1] overlaps with
      prefix[0:k]
    r   r   )r   rm   )prefixtablery   idxs       r   _generate_overlap_tabler     s     C#f++E1c&kk""  AElQi6#;&&axxaa.C	 Qi6#;&& QwE!HLr   c                 ^    | t           z  sd S | t          z  rt          j        S t          j        S r   )r   r   r   r   r   )r
   s    r   _get_iscasedr     s5    && "t	!	! "##!!r   c                    g }|j         }d }t          |          }| j        D ]\  }}|t          u r|r ||          r n ||           )|t          u r|\  }}	}
}t          ||	|
          }|t          z  r|t          z  r n]t          ||          \  }}}|&|t          |          }n|t          |          |z   }|
                    |           |s n n||dfS ||dfS )NTF)r   r   r|   r'   r6   r   r   r   _get_literal_prefixr   rg   )rK   r
   r   prefixappendprefix_skiprR   rU   rV   r\   r   r   r]   flags1prefix1prefix_skip1got_alls                   r   r   r     s@   F=LK5!!G, ) )B== 772;; L:-/*E9i#E9i@@F++ 0H -@F-K-K*G\7"$"%f++KK!-"%f++"<KMM'"""  E{D((;%%r   c                    	 | j         sd S | j         d         \  }}|t          urn/|\  }}}} t          |||          }|t          z  r|t          z  rd S Rt          |          }|t          u r|r ||          rd S ||fgS |t          u rLg }|j        }	|d         D ]8}
|
s d S |
d         \  }}|t          u r|r ||          s |	||f           6 d S |S |t          u r{|}|ru|D ]r\  }}|t          u r ||          r d S |t          u rL|d         dk    r d S t          t          |t          |d         |d         dz                                 r d S s|S d S )NTr   r   i  )r|   r6   r   r   r   r   r'   r@   r   r)   rd   ro   rn   rm   )rK   r
   rU   rV   r\   r   r   rR   rZ   charsetappendr]   s              r   _get_charset_prefixr     s   	| 	4aBZ/1,y)Wui;;&& 	5?+B 	4	 5!!G	W}} 	wwr{{ 	4Rz	vA 	 	A ttqTFBW}}g}''"++}r2h''''tt	r 		$! $ $B==wr{{ $#tt$5[[!uv~~#tt3wbeRU1W(=(=>>?? $#tt4r   c                    |                                 \  }}|t          k    rt          }|dk    r!|                     t          dd||g           d S g }d}g }|t          z  r
|t
          z  s&t          ||          \  }}}|st          ||          }| j        }	 |	t                     t          |           }
 |	d           d}|rt          }||r
|t          z  }n|r
|t          z  } |	|           |t          k     r |	|           n |	t                     |d t                   } |	t          |t                               |rl |	t          |                     |t          |          } |	|           |                     |           |                     t          |                     n)|r't          |          \  }}|rJ t!          |||            t          |           |
z
  | |
<   d S )Nr      )r9   MAXCODErg   INFOr   r   r   r   r   r   SRE_INFO_PREFIXSRE_INFO_LITERALSRE_INFO_CHARSETminr   r*   r-   )rJ   rK   r
   rW   r^   r   r   rZ   r   rL   rX   maskr[   s                r   _compile_infor     s*    FB	G||	QwwT1aR()))FKG'' :EO,C :':7E'J'J$W 	:)'599G ;DDJJJt99Ddd1gggD '7**D	 '&&DJJJ	G||RW!DR		 /S[[v;;K[F+F334444	 /-g66%...TT!DJJJr   c                 :    t          | t          t          f          S r   )
isinstancestrrs   )objs    r   isstringr   8  s    cC<(((r   c                     | j         j        |z  }g }t          || |           t          || j        |           |                    t                     |S r   )stater
   r   r4   r|   r   r5   )r]   r
   rJ   s      r   _coder   ;  sV    GME!ED $5!!! T165!!!KKKr   c                 F    dd                     d | D                       z  S )N[%s], c              3   D   K   | ]}d t           j        dz  dz   |fz  V  dS )z%#0*xr   N)r   r   r   xs     r   	<genexpr>z_hex_code.<locals>.<genexpr>K  s7      MM1gq):A(>>MMMMMMr   )join)rJ   s    r   	_hex_coder   J  s(    DIIMMMMMMMMMr   c                      dd l t                      dt          t          t                     dz
                       fd dt                                d S )Nr   r   c                     d d fd
}fd}dz   }||k     rb| |         }|dz  }t           |         }|t          t          t          t          t
          t          t          fv r ||           n|t          t          t          t          t          t          t          t          fv r-|         }|dz  } ||d|t!          |          fz             n|t"          u rM|         }|dz  }t%          t&          |                   }|d d         dk    sJ  |||dd                     nM|t(          u rM|         }|dz  }t%          t*          |                   }|d d         d	k    sJ  |||dd                     n|t,          t.          t0          t2          fv r2|         } |||||z               |dz   ||z              ||z  }n|t4          t6          fv rD||d
z            \  }}	|d
z  } ||d||	t!          |          t!          |	          fz             nU|t8          u r; ||t;          ||dt<          z  z                                 |dt<          z  z  }n|t>          u rȉ|         }|dz  }tA          d!                    fd||dtD          j#        z  z            D                                 }
 ||||
           |dtD          j#        z  z  }dz  tI          |          D ]:} |t;          ||dt<          z  z                                 |dt<          z  z  };dz  n@|tJ          tL          tN          tP          tR          fv r|         }|dz  } |||           n|tT          u r |         } |||||z              |dz  }n|tV          u ri|         } |||||z              |rG |dz   ||z              ||z  }| |         }|r |d|||z              n |t                     |G|dz  }nh|tX          tZ          t\          t^          t`          fv rJ||dz            \  }}}|tb          k    rd} |||||||z               |dz   ||z              ||z  }n|td          u r)||d
z            \  }} ||||||z              |d
z  }n|tf          th          fv r;||d
z            \  }} ||||||z               |d
z   ||z              ||z  }n|tj          u r2|         } |||||z               |dz   ||z              ||z  }nD|tl          u r+||dz            \  }}}}|tb          k    rd} |||to          |          ||||z              |dz    |tp          z  r|dz   |dz            \  }} |d|           |dz      |z            } |ddd!                    d |D                       z  dd!                    ts          t           |                    z              |z    |d  |z                        |z   |tt          z  r$dz   |d             ||z              dz  ||z  }ntw          |          ||k     bdz  d S )N)toc                     |                      |            |d| fz  fz  }t          dv rdndfz  ddz
  z             t          |  d S )Nz(to %d)z%*d%s :.z  r   end)addprint)r   argslabelsleveloffset_widthstarts     r   print_z!dis.<locals>.dis_.<locals>.print_U  st    ~

2bU*,,(lE%6//33sSSE!Gn& & & &4LLLLr   c                  L    t          ddz  z   z             t          |   d S )N r   r   )r   )r   r   r   s    r   print_2z"dis.<locals>.dis_.<locals>.print_2]  s/    c<!E'1233334LLLLr   r   z
%#02x (%r)   AT_	   	CATEGORY_r   z%#02x %#02x (%r-%r)rj   r   c              3   b   K   | ])}|                     t          j        j                  V  *d S r   )to_bytesr   r   	byteorder)r   r   syss     r   r   z$dis.<locals>.dis_.<locals>.<genexpr>  sQ       (R (R,- )*

4=#-(P(P (R (R (R (R (R (Rr   branch	MAXREPEATr      z  prefix_skipz  prefixr   r   c              3       K   | ]	}d |z  V  
dS )z%#02xNr	   r   s     r   r   z$dis.<locals>.dis_.<locals>.<genexpr>  s&      .K.Kqw{.K.K.K.K.K.Kr   z(%r) z	  overlapin)<OPCODESr5   r(   r.   r0   	MAX_UNTIL	MIN_UNTILr&   r'   r%   LITERAL_IGNORENOT_LITERAL_IGNORELITERAL_UNI_IGNORENOT_LITERAL_UNI_IGNORELITERAL_LOC_IGNORENOT_LITERAL_LOC_IGNOREchrr:   r   ATCODESrB   CHCODESr)   r,   r$   r+   rd   re   rf   r   r   rh   listr   r   r   rm   r7   rE   rG   rH   rF   rA   r@   REPEAT
REPEAT_ONEMIN_REPEAT_ONEPOSSESSIVE_REPEATPOSSESSIVE_REPEAT_ONEr   rI   ASSERT
ASSERT_NOTr8   r   binr   rn   r   
ValueError)r   r   r   r   ry   rU   argrX   rW   r^   r~   jr   maxr
   
prefix_lenr   r   rJ   dis_r   r   r   r   s   `                 r   r   zdis.<locals>.dis_T  sm   ! 	 	 	 	 	 	 	 	 	 		 	 	 	 	 	
 	
#ggEaBFABgwWF4 4 4r



&(:*,B*,BD D D 1gQr<3C/9::::r1gQ'#,''2A2w%''''r3qrr7####x1gQ'#,''2A2w+----r3qrr7####I}mDDDAwr4AdF++++QqS!D&!!!T	/000a1fBQr0BCGGSWW3MMNNNNwr9T!Qi-?*?%@AABBBS)^#z!!1gQsxx (R (R (R (R15aS$-=O9O6O1P(R (R (R  R  R S Sr3(((S$-''
s ( (AGId1a#y..@+@&ABBCCCi'AA
h9L+- - -1gQr3tAwr4AdF++++QvAwr4AdF++++ (D1af%%%IAE7D (x!D&99999w  ( Q
N)+@B B B!%a1fc3)##%Cr4caf5555QqS!D&!!!T	&& AaCL	Tr340000Q
+++ AaCL	cr440000QqS!D&!!!T	|##Awr4AdF++++QqS!D&!!!T	t(,Q!V%eS#)##%Cr4US#!D&AAAA!?* 
(.21Q3!8n+JGO[999EE!%z)9"9:FGJ"TYY.K.KF.K.K.K%K%KK"RWWSf-=-=%>%>>@ @ @ Z'EGKeU:5E.E)FGGGZ'E++ QJEGDMMMD$'''QJET	 nn$o #ggr 	
r   )r   setr   r   )rJ   r   r   r   r   r   s   `@@@@@r   disr  M  s    JJJUUFEs3t99q=))**LI I I I I I I I I IV 	DCIIr   c           
         t          |           r| }t          j        | |          } nd }t          | |          }|t          z  rt                       t          |           | j        j        }d g| j        j	        z  }|
                                D ]
\  }}|||<   t          j        ||| j        j        z  || j        j	        dz
  |t          |                    S )Nr   )r   r   parser   SRE_FLAG_DEBUGr   r  r   	groupdictgroupsitemsr   compiler
   tuple)r]   r
   rK   rJ   
groupindex
indexgrouprY   ry   s           r   r	  r	    s     {{ M!U##E??D~ D			 "J!'.(J  ""  1
1<&	qE*%%
 
 
r   )NNN)r   )5__doc__r   r   r   
_constants_casefixr   MAGICr'   r%   r   r5   r(   r   r   r   r   r.   r)   r   
MIN_REPEATr   r   r   
MAX_REPEATr   r   r   r   r   r   r   r4   r-   r*   r   r   r   r   intrr   rt   r3   r   r   r   r   r   r   r   r   r  r	  r	   r   r   <module>r     s   & %            " " " " " "zU1;'7#$Ry( N3J/)74IJ  &0, , , ,oI oI oIb  6J J J JX MA		>Q
(s 3 3 3 3
      *" " "& & &>* * *X9" 9" 9"v) ) )  N N NR R Rj
 
 
 
 
 
r   