
    gc	              	           d dl Z d dlZd dlmZmZ dedefdZdedefdZdedefdZ	 ddeeee   f   d	e	d
e	defdZ
	 ddeeef   d	e	defdZy)    N)PatternUnionpatternreturnc                 >   d}| j                   dk7  rd}| j                   t        t        j                        z  dk7  r|dz  }| j                   t        t        j                        z  dk7  r|dz  }| j                   t        t        j
                        z  dk7  r|dz  }| j                   t        t        j
                        t        t        j                        z  t        t        j                        z  t        t        j                        z   z  dk(  sJ d       |S )N r   ismzPUnexpected re.Pattern flag, only MULTILINE, IGNORECASE and DOTALL are supported.)flagsintre
IGNORECASEDOTALL	MULTILINEUNICODE)r   r   s     P/var/www/openai/venv/lib/python3.12/site-packages/playwright/_impl/_str_utils.pyescape_regex_flagsr      s    E}}BMM**q0BII&1,BLL))a/BMM 22S^Cc"**oU
V	W	Z Z	Z	 L    textc                 0    t        j                  dd|       S )Nz[.*+?^>${}()|[\]\\]z\$&)r   subr   s    r   escape_for_regexr   &   s    66(&$77r   c                     dt        j                  dd| j                        j                  dd      z   dz   t	        |       z   S )N/z(^|[^\\])(\\\\)*(["\'`])z\1\2\\\3z>>z\>\>)r   r   r   replacer   r   s    r   escape_regex_for_selectorr   *   sO     	
&&,k4<<
H
P
P(
	
 		
 T
"	#r   exactcase_sensitivec                 t    t        | t              rt        |       S t        j                  |       |rdz   S dz   S )Nr
   r	   )
isinstancer   r   jsondumps)r   r   r    s      r   escape_for_text_selectorr%   6   s7     $ (..::des5555r   valuec                     t        | t              rt        |       S d| j                  dd      j                  dd      z   dz   |rdz   S dz   S )N"\z\\z\"r
   r	   )r"   r   r   r   )r&   r   s     r   escape_for_attribute_selectorr*   >   sf     %!(// 	
--f
%
-
-c5
9	:
	 3	" !	"r   )NN)N)r#   r   typingr   r   strr   r   r   boolr%   r*    r   r   <module>r/      s     	 ! C $83 83 8	G 	 	 PT6
WS\!
"6+/6HL66 /3g'+r   