
     f(                       d dl mZ ddlmZmZ d dlmZ d dlZd dlZddl	m
Z
 ddl	mZ ddl	mZ e G d	 d
                      Ze G d d                      Ze G d d                      Ze G d d                      Ze G d d                      Ze G d d                      Z G d dej                  Ze G d d                      Z G d dej                  Ze G d d                      Ze G d d                      Ze G d d                       Ze G d! d"                      Ze G d# d$                      Ze G d% d&                      Ze G d' d(                      Ze G d) d*                      Ze G d+ d,                      Ze G d- d.                      Z  G d/ d0ej                  Z!dd3Z"dd4Z#	 	 	 	 ddd>Z$ddAZ%ddBZ&ddCZ'	 	 dddIZ(	 	 	 	 dddRZ)	 	 dddWZ*	 	 ddd]Z+	 	 	 ddd_Z,	 dddbZ-ddeZ.	 dddgZ/ddhZ0ddiZ1ddlZ2ddoZ3ddrZ4dduZ5ddwZ6ddxZ7ddyZ8ddzZ9dd{Z:dd|Z;	 dddZ<ddZ=	 dddZ> ed          e G d d                                  Z? ed          e G d d                                  Z@ ed          e G d d                                  ZA ed          e G d d                                  ZBdS )    )annotations   )event_classT_JSON_DICT)	dataclassN)dom)page)runtimec                  D    e Zd ZU dZded<   ded<   d Zed             ZdS )SourceOrderConfigzR
    Configuration data for drawing the source order of an elements children.
    zdom.RGBAparent_outline_colorchild_outline_colorc                    t                      }| j                                        |d<   | j                                        |d<   |S )NparentOutlineColorchildOutlineColor)dictr   to_jsonr   selfjsons     r/var/www/api.educacionweb.es/myenv/lib/python3.11/site-packages/selenium/webdriver/common/devtools/v126/overlay.pyr   zSourceOrderConfig.to_json   sD    vv%)%>%F%F%H%H!"$($<$D$D$F$F !    c                     | t           j                            |d                   t           j                            |d                             S )Nr   r   )r   r   r   RGBA	from_jsonclsr   s     r   r   zSourceOrderConfig.from_json"   sM    s!$!3!3D9M4N!O!O # 2 248K3L M M
 
 
 	
r   N__name__
__module____qualname____doc____annotations__r   classmethodr    r   r   r   r      sf           #""" "!!!   
 
 [
 
 
r   r   c                  H   e Zd ZU dZdZded<   dZded<   dZded<   dZded<   dZ	ded<   dZ
ded	<   dZd
ed<   dZd
ed<   dZd
ed<   dZd
ed<   dZded<   dZded<   dZded<   dZded<   dZd
ed<   dZd
ed<   dZd
ed<   dZd
ed<   dZd
ed<   dZd
ed<   d Zed             ZdS )GridHighlightConfigzC
    Configuration data for the highlighting of Grid elements.
    Ntyping.Optional[bool]show_grid_extension_linesshow_positive_line_numbersshow_negative_line_numbersshow_area_namesshow_line_namesshow_track_sizestyping.Optional[dom.RGBA]grid_border_colorcell_border_colorrow_line_colorcolumn_line_colorgrid_border_dashcell_border_dashrow_line_dashcolumn_line_dashrow_gap_colorrow_hatch_colorcolumn_gap_colorcolumn_hatch_colorarea_border_colorgrid_background_colorc                2   t                      }| j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        | j                                        |d<   | j	        | j	                                        |d<   | j
        | j
                                        |d	<   | j        | j                                        |d
<   | j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   |S )NshowGridExtensionLinesshowPositiveLineNumbersshowNegativeLineNumbersshowAreaNamesshowLineNamesshowTrackSizesgridBorderColorcellBorderColorrowLineColorcolumnLineColorgridBorderDashcellBorderDashrowLineDashcolumnLineDashrowGapColorrowHatchColorcolumnGapColorcolumnHatchColorareaBorderColorgridBackgroundColor)r   r*   r+   r,   r-   r.   r/   r1   r   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r   s     r   r   zGridHighlightConfig.to_jsonk   sN   vv)5-1-KD)**6.2.MD*+*6.2.MD*++$($8D!+$($8D! ,%)%:D!"!-&*&<&D&D&F&FD"#!-&*&<&D&D&F&FD"#*#'#6#>#>#@#@D !-&*&<&D&D&F&FD"# ,%)%:D!" ,%)%:D!")"&"4D ,%)%:D!")"&"4"<"<">">D+$($8$@$@$B$BD! ,%)%:%B%B%D%DD!"".'+'>'F'F'H'HD#$!-&*&<&D&D&F&FD"#%1*.*D*L*L*N*ND&'r   c           	         | d)i dd|v rt          |d                   nd dd|v rt          |d                   nd dd|v rt          |d                   nd dd|v rt          |d                   nd d	d
|v rt          |d
                   nd dd|v rt          |d                   nd dd|v r%t          j                            |d                   nd dd|v r%t          j                            |d                   nd dd|v r%t          j                            |d                   nd dd|v r%t          j                            |d                   nd dd|v rt          |d                   nd dd|v rt          |d                   nd dd|v rt          |d                   nd dd|v rt          |d                   nd dd|v r%t          j                            |d                   nd dd |v r%t          j                            |d                    nd d!d"|v r%t          j                            |d"                   nd d#d$|v r%t          j                            |d$                   nd d%d&|v r%t          j                            |d&                   nd d'd(|v r%t          j                            |d(                   nd S )*Nr*   r@   r+   rA   r,   rB   r-   rC   r.   rD   r/   rE   r1   rF   r2   rG   r3   rH   r4   rI   r5   rJ   r6   rK   r7   rL   r8   rM   r9   rN   r:   rO   r;   rP   r<   rQ   r=   rR   r>   rS   r&   )boolr   r   r   r   s     r   r   zGridHighlightConfig.from_json   s   s 
 
 
NfjnNnNnd40H+I&J&J&Jtx
PimqPqPqtD1J,K'L'L'Lw{
 QjmqPqPqtD1J,K'L'L'Lw{
 <Kd;R;RDo!6777X\	

 <Kd;R;RDo!6777X\
 >NQU=U=UT$'7"8999[_
 N_bfMfMfch006G1HIIIlp
 N_bfMfMfch006G1HIIIlp
 HVY]G]G]38--d>.BCCCcg
 N_bfMfMfch006G1HIIIlp
 >NQU=U=UT$'7"8999[_
 >NQU=U=UT$'7"8999[_
 8E7L7L$tM2333RV
 >NQU=U=UT$'7"8999[_
 FSVZEZEZ#(,,T--@AAA`d
  JY\`I`I`CH..tO/DEEEfj!
" L\_cKcKcSX//5E0FGGGim#
$ PbeiOiOisx11$7I2JKKKos%
& N_bfMfMfch006G1HIIIlp'
( VknrUrUr#("4"4T:O5P"Q"Q"Qx|)
 	
r   )r    r!   r"   r#   r*   r$   r+   r,   r-   r.   r/   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r   r%   r   r&   r   r   r(   r(   *   s          8<;;;; 9=<<<< 9=<<<< .2O1111 .2O1111 /32222 487777 487777 15N4444 487777 /32222 /32222 ,0M//// /32222 04M3333 26O5555 376666 598888 487777 8<;;;;* * *X 
 
 [
 
 
r   r(   c                      e Zd ZU dZdZded<   dZded<   dZded<   dZded<   dZ	ded	<   dZ
ded
<   dZded<   dZded<   d Zed             ZdS )FlexContainerHighlightConfigzM
    Configuration data for the highlighting of Flex container elements.
    Ntyping.Optional[LineStyle]container_borderline_separatoritem_separatortyping.Optional[BoxStyle]main_distributed_spacecross_distributed_spacerow_gap_spacecolumn_gap_spacecross_alignmentc                R   t                      }| j        | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j	        | j	                                        |d<   |S )	NcontainerBorderlineSeparatoritemSeparatormainDistributedSpacecrossDistributedSpacerowGapSpacecolumnGapSpacecrossAlignment)
r   rY   r   rZ   r[   r]   r^   r_   r`   ra   r   s     r   r   z$FlexContainerHighlightConfig.to_json   s%   vv ,&*&;&C&C&E&ED"#*$($7$?$?$A$AD!*$($7$?$?$A$AD!&2+/+F+N+N+P+PD'('3,0,H,P,P,R,RD())"&"4"<"<">">D ,%)%:%B%B%D%DD!"+%)%9%A%A%C%CD!"r   c                h    | d|v r t                               |d                   nd d|v r t                               |d                   nd d|v r t                               |d                   nd d|v r t                              |d                   nd d|v r t                              |d                   nd d|v r t                              |d                   nd d|v r t                              |d                   nd d|v r t                               |d                   nd 	          S )
Nrc   rd   re   rf   rg   rh   ri   rj   )rY   rZ   r[   r]   r^   r_   r`   ra   )	LineStyler   BoxStyler   s     r   r   z&FlexContainerHighlightConfig.from_json   s\   sM^bfMfMfY006G1HIIIlpIX\`I`I`9..tO/DEEEfjIX\`I`I`9..tO/DEEEfjWmquWuWu8#5#5d;Q6R#S#S#S{YptxYxYxH$6$6t<S7T$U$U$U  CERVZEZEZ(,,T--@AAA`dK[_cKcKcX//5E0FGGGimK[_cKcKcI//5E0FGGGim	
 	
 	
 		
r   )r    r!   r"   r#   rY   r$   rZ   r[   r]   r^   r_   r`   ra   r   r%   r   r&   r   r   rW   rW      s           487777 26N5555 26N5555 9=<<<< :>==== 04M3333 376666 37O6666  ( 

 

 [

 

 

r   rW   c                  Z    e Zd ZU dZdZded<   dZded<   dZded<   d Ze	d	             Z
dS )
FlexItemHighlightConfigzH
    Configuration data for the highlighting of Flex item elements.
    Nr\   base_size_boxrX   base_size_borderflexibility_arrowc                    t                      }| j        | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   |S )NbaseSizeBoxbaseSizeBorderflexibilityArrow)r   rp   r   rq   rr   r   s     r   r   zFlexItemHighlightConfig.to_json   sx    vv)"&"4"<"<">">D ,%)%:%B%B%D%DD!"!-'+'='E'E'G'GD#$r   c                     | d|v r t                               |d                   nd d|v r t                              |d                   nd d|v r t                              |d                   nd           S )Nrt   ru   rv   )rp   rq   rr   )rm   r   rl   r   s     r   r   z!FlexItemHighlightConfig.from_json  s    sERVZEZEZ(,,T--@AAA`dL\`dLdLdY006F1GHHHjnOaeiOiOii11$7I2JKKKos
 
 
 	
r   )r    r!   r"   r#   rp   r$   rq   rr   r   r%   r   r&   r   r   ro   ro      s           04M3333 487777 598888   
 
 [
 
 
r   ro   c                  L    e Zd ZU dZdZded<   dZded<   d Zed             Z	dS )	rl   z/
    Style information for drawing a line.
    Nr0   colortyping.Optional[str]patternc                    t                      }| j        | j                                        |d<   | j        
| j        |d<   |S )Nry   r{   )r   ry   r   r{   r   s     r   r   zLineStyle.to_json  sB    vv:! J..00DM<#"lDOr   c                     | d|v r%t           j                            |d                   nd d|v rt          |d                   nd           S )Nry   r{   )ry   r{   )r   r   r   strr   s     r   r   zLineStyle.from_json$  s]    s7>$#($$T']333D,5,=,=CY(((4
 
 
 	
r   )
r    r!   r"   r#   ry   r$   r{   r   r%   r   r&   r   r   rl   rl     sp           (,E++++ %)G((((   
 
 [
 
 
r   rl   c                  L    e Zd ZU dZdZded<   dZded<   d Zed             Z	dS )rm   z.
    Style information for drawing a box.
    Nr0   
fill_colorhatch_colorc                    t                      }| j        | j                                        |d<   | j        | j                                        |d<   |S )N	fillColor
hatchColor)r   r   r   r   r   s     r   r   zBoxStyle.to_json7  sR    vv?& $ 7 7 9 9D'!%!1!9!9!;!;Dr   c                     | d|v r%t           j                            |d                   nd d|v r%t           j                            |d                   nd           S )Nr   r   )r   r   r   r   s     r   r   zBoxStyle.from_json?  sl    s@Kt@S@Ssx))${*;<<<Y]BNRVBVBV**4+=>>>\`
 
 
 	
r   )
r    r!   r"   r#   r   r$   r   r   r%   r   r&   r   r   rm   rm   ,  sp           -1J0000 .2K1111   
 
 [
 
 
r   rm   c                  6    e Zd ZdZdZdZd Zed             ZdS )ContrastAlgorithmaaaaaapcac                    | j         S Nvaluer   s    r   r   zContrastAlgorithm.to_jsonL  
    zr   c                     | |          S r   r&   r   s     r   r   zContrastAlgorithm.from_jsonO      s4yyr   N)	r    r!   r"   AAAAAAPCAr   r%   r   r&   r   r   r   r   G  sM        	B
CD     [  r   r   c                  :   e Zd ZU dZdZded<   dZded<   dZded<   dZded<   dZ	ded<   dZ
d	ed
<   dZd	ed<   dZd	ed<   dZd	ed<   dZd	ed<   dZd	ed<   dZd	ed<   dZd	ed<   dZded<   dZded<   dZded<   dZded<   dZded<   dZded<   d Zed             ZdS ) HighlightConfigzC
    Configuration data for the highlighting of page elements.
    Nr)   	show_infoshow_stylesshow_rulersshow_accessibility_infoshow_extension_linesr0   content_colorpadding_colorborder_colormargin_colorevent_target_colorshape_colorshape_margin_colorcss_grid_colortyping.Optional[ColorFormat]color_formatz$typing.Optional[GridHighlightConfig]grid_highlight_configz-typing.Optional[FlexContainerHighlightConfig]flex_container_highlight_configz(typing.Optional[FlexItemHighlightConfig]flex_item_highlight_configz"typing.Optional[ContrastAlgorithm]contrast_algorithmz7typing.Optional[ContainerQueryContainerHighlightConfig]*container_query_container_highlight_configc                   t                      }| j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j	        | j	                                        |d<   | j
        | j
                                        |d	<   | j        | j                                        |d
<   | j        | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   |S )NshowInfo
showStyles
showRulersshowAccessibilityInfoshowExtensionLinescontentColorpaddingColorborderColormarginColoreventTargetColor
shapeColorshapeMarginColorcssGridColorcolorFormatgridHighlightConfigflexContainerHighlightConfigflexItemHighlightConfigcontrastAlgorithm&containerQueryContainerHighlightConfig)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s     r   r   zHighlightConfig.to_json  sa   vv>%#~D'!%!1D'!%!1D'3,0,HD()$0)-)BD%&)#'#5#=#=#?#?D )#'#5#=#=#?#?D ("&"3";";"="=D("&"3";";"="=D".'+'>'F'F'H'HD#$'!%!1!9!9!;!;D".'+'>'F'F'H'HD#$*#'#6#>#>#@#@D ("&"3";";"="=D%1*.*D*L*L*N*ND&'/;373W3_3_3a3aD/0*6.2.M.U.U.W.WD*+".(,(?(G(G(I(ID$%:F=A=l=t=t=v=vD9:r   c           	         | d'i dd|v rt          |d                   nd dd|v rt          |d                   nd dd|v rt          |d                   nd dd|v rt          |d                   nd d	d
|v rt          |d
                   nd dd|v r%t          j                            |d                   nd dd|v r%t          j                            |d                   nd dd|v r%t          j                            |d                   nd dd|v r%t          j                            |d                   nd dd|v r%t          j                            |d                   nd dd|v r%t          j                            |d                   nd dd|v r%t          j                            |d                   nd dd|v r%t          j                            |d                   nd dd|v r t                              |d                   nd dd|v r t
                              |d                   nd dd |v r t                              |d                    nd d!d"|v r t                              |d"                   nd d#d$|v r t                              |d$                   nd d%d&|v r t                              |d&                   nd S )(Nr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r&   )
rU   r   r   r   ColorFormatr(   rW   ro   r   &ContainerQueryContainerHighlightConfigr   s     r   r   zHighlightConfig.from_json  s   s 
 
 
0:d0B0Bd4
+,,,
4@D4H4HT,/000d
 5AD4H4HT,/000d
 LcfjKjKjD.E)F$G$G$Gpt	

 FZ]aEaEad+?&@!A!A!Agk
 GUX\F\F\#(,,T.-ABBBbf
 GUX\F\F\#(,,T.-ABBBbf
 ERUYDYDY++D,?@@@_c
 ERUYDYDY++D,?@@@_c
 PbeiOiOisx11$7I2JKKKos
 CORVBVBV**4+=>>>\`
 PbeiOiOisx11$7I2JKKKos
 HVY]G]G]38--d>.BCCCcg
 HUX\G\G\..tM/BCCCbf
 avy}`}`}"5"?"?EZ@["\"\"\  DH
  }[  _c  }c  }c,H,R,RSWXvSw,x,x,x  im!
" nG  KO  nO  nO'>'H'HNgIh'i'i'i  UY#
$ ZmptYtYt0::4@S;TUUUz~%
& \D  HL  \L  \L7]7g7ghl  nV  iW  8X  8X  8X  RV'
 	
r   )r    r!   r"   r#   r   r$   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r%   r   r&   r   r   r   r   T  s          (,I++++ *.K---- *.K---- 6:9999 376666 04M3333 04M3333 /3L2222 /3L2222 598888 .2K1111 598888 15N4444 26L5555 CGFFFF VZ#YYYY LPOOOO >BAAAA ko.nnnn( ( (T 
 
 [
 
 
r   r   c                  :    e Zd ZdZdZdZdZd Zed             Z	dS )r   rgbhslhwbhexc                    | j         S r   r   r   s    r   r   zColorFormat.to_json  r   r   c                     | |          S r   r&   r   s     r   r   zColorFormat.from_json  r   r   N)
r    r!   r"   RGBHSLHWBHEX_r   r%   r   r&   r   r   r   r     sR        
C
C
CD     [  r   r   c                  D    e Zd ZU dZded<   ded<   d Zed             ZdS )	GridNodeHighlightConfigz6
    Configurations for Persistent Grid Highlight
    r(   r   
dom.NodeIdnode_idc                    t                      }| j                                        |d<   | j                                        |d<   |S )Nr   nodeId)r   r   r   r   r   s     r   r   zGridNodeHighlightConfig.to_json  sA    vv&*&@&H&H&J&J"#--//Xr   c                     | t                               |d                   t          j                            |d                             S )Nr   r   )r   r   )r(   r   r   NodeIdr   s     r   r   z!GridNodeHighlightConfig.from_json  sI    s"5"?"?EZ@["\"\J((h88
 
 
 	
r   Nr   r&   r   r   r   r     sf           /...    
 
 [
 
 
r   r   c                  @    e Zd ZU ded<   ded<   d Zed             ZdS )FlexNodeHighlightConfigrW   r   r   r   c                    t                      }| j                                        |d<   | j                                        |d<   |S )Nr   r   )r   r   r   r   r   s     r   r   zFlexNodeHighlightConfig.to_json  A    vv/3/S/[/[/]/]+,--//Xr   c                     | t                               |d                   t          j                            |d                             S )Nr   r   )r   r   )rW   r   r   r   r   s     r   r   z!FlexNodeHighlightConfig.from_json
  J    s,H,R,RSWXvSw,x,xJ((h88
 
 
 	
r   Nr    r!   r"   r$   r   r%   r   r&   r   r   r   r     ]          BAAA    
 
 [
 
 
r   r   c                  d    e Zd ZU dZded<   dZded<   dZded<   dZded<   d Ze	d	             Z
dS )
"ScrollSnapContainerHighlightConfigNrX   snapport_bordersnap_area_borderr0   scroll_margin_colorscroll_padding_colorc                :   t                      }| j        | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   |S )NsnapportBordersnapAreaBorderscrollMarginColorscrollPaddingColor)r   r   r   r   r   r   r   s     r   r   z*ScrollSnapContainerHighlightConfig.to_json   s    vv+%)%9%A%A%C%CD!" ,%)%:%B%B%D%DD!"#/(,(@(H(H(J(JD$%$0)-)B)J)J)L)LD%&r   c           	     T    | d|v r t                               |d                   nd d|v r t                               |d                   nd d|v r%t          j                            |d                   nd d|v r%t          j                            |d                   nd           S )Nr   r   r   r   )r   r   r   r   )rl   r   r   r   r   s     r   r   z,ScrollSnapContainerHighlightConfig.from_json,  s    sK[_cKcKcI//5E0FGGGimL\`dLdLdY006F1GHHHjnQdhlQlQl 2 248K3L M M MrvSgkoSoSo!3!3D9M4N!O!O!Ouy	
 
 
 	
r   )r    r!   r"   r   r$   r   r   r   r   r%   r   r&   r   r   r   r     s          37O6666 487777 6:9999 7;::::
 
 
 
 
 [
 
 
r   r   c                  @    e Zd ZU ded<   ded<   d Zed             ZdS )ScrollSnapHighlightConfigr   &scroll_snap_container_highlight_configr   r   c                    t                      }| j                                        |d<   | j                                        |d<   |S )N"scrollSnapContainerHighlightConfigr   )r   r   r   r   r   s     r   r   z!ScrollSnapHighlightConfig.to_json>  sA    vv595`5h5h5j5j12--//Xr   c                     | t                               |d                   t          j                            |d                             S )Nr   r   )r   r   )r   r   r   r   r   s     r   r   z#ScrollSnapHighlightConfig.from_jsonD  sX    s3U3_3_`d  fJ  aK  4L  4LJ((h88
 
 
 	
r   Nr   r&   r   r   r   r   6  s]          ONNN    
 
 [
 
 
r   r   c                  V    e Zd ZU dZded<   dZded<   dZded<   d Zed	             Z	dS )
HingeConfigz-
    Configuration for dual screen hinge
    zdom.RectrectNr0   r   outline_colorc                    t                      }| j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   |S )Nr   r   outlineColor)r   r   r   r   r   r   s     r   r   zHingeConfig.to_jsonZ  sk    vvy((**V)#'#5#=#=#?#?D )#'#5#=#=#?#?D r   c                    | t           j                            |d                   d|v r%t           j                            |d                   nd d|v r%t           j                            |d                   nd           S )Nr   r   r   )r   r   r   )r   Rectr   r   r   s     r   r   zHingeConfig.from_jsonc  s    s##DL11FTX\F\F\#(,,T.-ABBBbfFTX\F\F\#(,,T.-ABBBbf
 
 
 	
r   )
r    r!   r"   r#   r$   r   r   r   r%   r   r&   r   r   r   r   L  s{           NNN 04M3333 04M3333   
 
 [
 
 
r   r   c                  N    e Zd ZU dZded<   ded<   ded<   d Zed             Zd	S )
WindowControlsOverlayConfigz3
    Configuration for Window Controls Overlay
    rU   show_cssr~   selected_platformtheme_colorc                ^    t                      }| j        |d<   | j        |d<   | j        |d<   |S )NshowCSSselectedPlatform
themeColor)r   r   r   r   r   s     r   r   z#WindowControlsOverlayConfig.to_jsonz  s6    vv-Y#'#9 !-\r   c                     | t          |d                   t          |d                   t          |d                             S )Nr   r   r   )r   r   r   )rU   r~   r   s     r   r   z%WindowControlsOverlayConfig.from_json  sK    s$y/**!$'9":;;D.//
 
 
 	
r   Nr   r&   r   r   r   r   l  sq           NNN     
 
 [
 
 
r   r   c                  @    e Zd ZU ded<   ded<   d Zed             ZdS )ContainerQueryHighlightConfigr   r   r   r   c                    t                      }| j                                        |d<   | j                                        |d<   |S )Nr   r   )r   r   r   r   r   s     r   r   z%ContainerQueryHighlightConfig.to_json  sA    vv9=9h9p9p9r9r56--//Xr   c                     | t                               |d                   t          j                            |d                             S )Nr   r   )r   r   )r   r   r   r   r   s     r   r   z'ContainerQueryHighlightConfig.from_json  sX    s7]7g7ghl  nV  iW  8X  8XJ((h88
 
 
 	
r   Nr   r&   r   r   r  r    s]          WVVV    
 
 [
 
 
r   r  c                  H    e Zd ZU dZded<   dZded<   d Zed             ZdS )r   NrX   rY   descendant_borderc                    t                      }| j        | j                                        |d<   | j        | j                                        |d<   |S )Nrc   descendantBorder)r   rY   r   r  r   s     r   r   z.ContainerQueryContainerHighlightConfig.to_json  sV    vv ,&*&;&C&C&E&ED"#!-'+'='E'E'G'GD#$r   c                     | d|v r t                               |d                   nd d|v r t                               |d                   nd           S )Nrc   r	  )rY   r  )rl   r   r   s     r   r   z0ContainerQueryContainerHighlightConfig.from_json  sk    sM^bfMfMfY006G1HIIIlpOaeiOiOii11$7I2JKKKos
 
 
 	
r   )	r    r!   r"   rY   r$   r  r   r%   r   r&   r   r   r   r     sh          487777 598888   
 
 [
 
 
r   r   c                  @    e Zd ZU ded<   ded<   d Zed             ZdS )IsolatedElementHighlightConfigIsolationModeHighlightConfigisolation_mode_highlight_configr   r   c                    t                      }| j                                        |d<   | j                                        |d<   |S )NisolationModeHighlightConfigr   )r   r  r   r   r   s     r   r   z&IsolatedElementHighlightConfig.to_json  r   r   c                     | t                               |d                   t          j                            |d                             S )Nr  r   )r  r   )r  r   r   r   r   s     r   r   z(IsolatedElementHighlightConfig.from_json  r   r   Nr   r&   r   r   r  r    r   r   r  c                  V    e Zd ZU dZded<   dZded<   dZded<   d Zed             Z	dS )r  Nr0   resizer_colorresizer_handle_color
mask_colorc                    t                      }| j        | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   |S )NresizerColorresizerHandleColor	maskColor)r   r  r   r  r  r   s     r   r   z$IsolationModeHighlightConfig.to_json  su    vv)#'#5#=#=#?#?D $0)-)B)J)J)L)LD%&?& $ 7 7 9 9Dr   c                    | d|v r%t           j                            |d                   nd d|v r%t           j                            |d                   nd d|v r%t           j                            |d                   nd           S )Nr  r  r  )r  r  r  r   r   s     r   r   z&IsolationModeHighlightConfig.from_json  s    sFTX\F\F\#(,,T.-ABBBbfSgkoSoSo!3!3D9M4N!O!O!Ouy@Kt@S@Ssx))${*;<<<Y]
 
 
 	
r   )
r    r!   r"   r  r$   r  r  r   r%   r   r&   r   r   r  r    sz          04M3333 7;:::: -1J0000   
 
 [
 
 
r   r  c                  >    e Zd ZdZdZdZdZdZd Ze	d             Z
dS )	InspectModesearchForNodesearchForUAShadowDOMcaptureAreaScreenshotshowDistancesnonec                    | j         S r   r   r   s    r   r   zInspectMode.to_json  r   r   c                     | |          S r   r&   r   s     r   r   zInspectMode.from_json  r   r   N)r    r!   r"   SEARCH_FOR_NODESEARCH_FOR_UA_SHADOW_DOMCAPTURE_AREA_SCREENSHOTSHOW_DISTANCESNONEr   r%   r   r&   r   r   r  r    sY        %O55$ND     [  r   r  return0typing.Generator[T_JSON_DICT, T_JSON_DICT, None]c               #     K   ddi} | V }dS )z(
    Disables domain notifications.
    methodzOverlay.disableNr&   cmd_dictr   s     r   disabler/    s$      
 	#H >>DDDr   c               #     K   ddi} | V }dS )z'
    Enables domain notifications.
    r,  zOverlay.enableNr&   r-  s     r   enabler1    s$      
 	"H >>DDDr   r   r   include_distancer)   include_styler   r   r   0typing.Generator[T_JSON_DICT, T_JSON_DICT, dict]c              #     K   t                      }|                                 |d<   |||d<   |||d<   ||                                |d<   |||d<   d|d}|V }t          |d	                   S )
a  
    For testing.

    :param node_id: Id of the node to get highlight object for.
    :param include_distance: *(Optional)* Whether to include distance info.
    :param include_style: *(Optional)* Whether to include style info.
    :param color_format: *(Optional)* The color format to get config with (default: hex).
    :param show_accessibility_info: *(Optional)* Whether to show accessibility info (default: true).
    :returns: Highlight data for the node.
    r   NincludeDistanceincludeStyler   r   z!Overlay.getHighlightObjectForTestr,  params	highlightr   r   )r   r2  r3  r   r   r9  r.  r   s           r   get_highlight_object_for_testr<    s      " &&F((F8#$4 ! !.~ , 4 4 6 6}**A&'5 H >>D[!"""r   node_idstyping.List[dom.NodeId]c              #  |   K   t                      }d | D             |d<   d|d}|V }t          |d                   S )z
    For Persistent Grid testing.

    :param node_ids: Ids of the node to get highlight object for.
    :returns: Grid Highlight data for the node ids provided.
    c                6    g | ]}|                                 S r&   r   .0is     r   
<listcomp>z7get_grid_highlight_objects_for_test.<locals>.<listcomp><  s     777777r   nodeIdsz&Overlay.getGridHighlightObjectsForTestr8  
highlightsr   )r=  r9  r.  r   s       r   #get_grid_highlight_objects_for_testrI  2  sY       &&F77h777F9: H >>D\"###r   c              #     K   t                      }|                                 |d<   d|d}|V }t          |d                   S )z
    For Source Order Viewer testing.

    :param node_id: Id of the node to highlight.
    :returns: Source order highlight data for the node id provided.
    r   z,Overlay.getSourceOrderHighlightObjectForTestr8  r:  r;  )r   r9  r.  r   s       r   *get_source_order_highlight_object_for_testrK  E  sU       &&F((F8@ H >>D[!"""r   c               #     K   ddi} | V }dS )z
    Hides any highlight.
    r,  zOverlay.hideHighlightNr&   r-  s     r   hide_highlightrM  X  s$      
 	)H >>DDDr   frame_idpage.FrameIdr   r0   content_outline_colorc              #     K   t                      }|                                 |d<   ||                                |d<   ||                                |d<   d|d}|V }dS )a  
    Highlights owner element of the frame with given id.
    Deprecated: Doesn't work reliably and cannot be fixed due to process
    separation (the owner node might be in a different process). Determine
    the owner node in the client and use highlightNode.

    :param frame_id: Identifier of the frame to highlight.
    :param content_color: *(Optional)* The content box highlight fill color (default: transparent).
    :param content_outline_color: *(Optional)* The content box highlight outline color (default: transparent).
    frameIdNr   contentOutlineColorzOverlay.highlightFramer8  r;  )rN  r   rP  r9  r.  r   s         r   highlight_framerT  b  s       &&F ((**F9 !.!6!6!8!8~((=(E(E(G(G$%* H >>DDDr   highlight_configtyping.Optional[dom.NodeId]backend_node_id"typing.Optional[dom.BackendNodeId]	object_id'typing.Optional[runtime.RemoteObjectId]selectorrz   c              #  
  K   t                      }|                                 |d<   ||                                |d<   ||                                |d<   ||                                |d<   |||d<   d|d}|V }dS )	a  
    Highlights DOM node with given id or with the given JavaScript object wrapper. Either nodeId or
    objectId must be specified.

    :param highlight_config: A descriptor for the highlight appearance.
    :param node_id: *(Optional)* Identifier of the node to highlight.
    :param backend_node_id: *(Optional)* Identifier of the backend node to highlight.
    :param object_id: *(Optional)* JavaScript object id of the node to be highlighted.
    :param selector: *(Optional)* Selectors to highlight relevant nodes.
    highlightConfigNr   backendNodeIdobjectIdr[  zOverlay.highlightNoder8  r;  )rU  r   rW  rY  r[  r9  r.  r   s           r   highlight_noder`  ~  s      " &&F 0 8 8 : :F"??,,x""1"9"9";";&..00z%z) H >>DDDr   quaddom.Quadry   r   c              #     K   t                      }|                                 |d<   ||                                |d<   ||                                |d<   d|d}|V }dS )a1  
    Highlights given quad. Coordinates are absolute with respect to the main frame viewport.

    :param quad: Quad to highlight
    :param color: *(Optional)* The highlight fill color (default: transparent).
    :param outline_color: *(Optional)* The highlight outline color (default: transparent).
    ra  Nry   r   zOverlay.highlightQuadr8  r;  )ra  ry   r   r9  r.  r   s         r   highlight_quadrd    sv       &&F\\^^F6N--//w !.!6!6!8!8~) H >>DDDr   xintywidthheightc              #     K   t                      }| |d<   ||d<   ||d<   ||d<   ||                                |d<   ||                                |d<   d|d	}|V }dS )
a  
    Highlights given rectangle. Coordinates are absolute with respect to the main frame viewport.

    :param x: X coordinate
    :param y: Y coordinate
    :param width: Rectangle width
    :param height: Rectangle height
    :param color: *(Optional)* The highlight fill color (default: transparent).
    :param outline_color: *(Optional)* The highlight outline color (default: transparent).
    re  rg  rh  ri  Nry   r   zOverlay.highlightRectr8  r;  )	re  rg  rh  ri  ry   r   r9  r.  r   s	            r   highlight_rectrk    s      $ &&FF3KF3KF7OF8--//w !.!6!6!8!8~) H >>DDDr   source_order_configc              #     K   t                      }|                                 |d<   ||                                |d<   ||                                |d<   ||                                |d<   d|d}|V }dS )a  
    Highlights the source order of the children of the DOM node with given id or with the given
    JavaScript object wrapper. Either nodeId or objectId must be specified.

    :param source_order_config: A descriptor for the appearance of the overlay drawing.
    :param node_id: *(Optional)* Identifier of the node to highlight.
    :param backend_node_id: *(Optional)* Identifier of the backend node to highlight.
    :param object_id: *(Optional)* JavaScript object id of the node to be highlighted.
    sourceOrderConfigNr   r^  r_  zOverlay.highlightSourceOrderr8  r;  )rl  r   rW  rY  r9  r.  r   s          r   highlight_source_orderro    s       &&F"5"="="?"?F"??,,x""1"9"9";";&..00z0 H >>DDDr   mode typing.Optional[HighlightConfig]c              #     K   t                      }|                                 |d<   ||                                |d<   d|d}|V }dS )av  
    Enters the 'inspect' mode. In this mode, elements that user is hovering over are highlighted.
    Backend then generates 'inspectNodeRequested' event upon element selection.

    :param mode: Set an inspection mode.
    :param highlight_config: *(Optional)* A descriptor for the highlight appearance of hovered-over nodes. May be omitted if ```enabled == false```.
    rp  Nr]  zOverlay.setInspectModer8  r;  )rp  rU  r9  r.  r   s        r   set_inspect_moders    s`       &&F\\^^F6N#$4$<$<$>$> !* H >>DDDr   showrU   c              #  B   K   t                      }| |d<   d|d}|V }dS )zu
    Highlights owner element of all frames detected to be ads.

    :param show: True for showing ad highlights
    rt  zOverlay.setShowAdHighlightsr8  NrH  rt  r9  r.  r   s       r   set_show_ad_highlightsrw    ;       &&FF6N/ H >>DDDr   messagec              #  F   K   t                      }| | |d<   d|d}|V }dS )zk
    :param message: *(Optional)* The message to display, also triggers resume and step over controls.
    Nry  z"Overlay.setPausedInDebuggerMessager8  rH  )ry  r9  r.  r   s       r   set_paused_in_debugger_messager{     sB       &&F#y6 H >>DDDr   c              #  B   K   t                      }| |d<   d|d}|V }dS )zn
    Requests that backend shows debug borders on layers

    :param show: True for showing debug borders
    rt  zOverlay.setShowDebugBordersr8  NrH  rv  s       r   set_show_debug_bordersr}  0  rx  r   c              #  B   K   t                      }| |d<   d|d}|V }dS )zh
    Requests that backend shows the FPS counter

    :param show: True for showing the FPS counter
    rt  zOverlay.setShowFPSCounterr8  NrH  rv  s       r   set_show_fps_counterr  A  s;       &&FF6N- H >>DDDr   grid_node_highlight_configs$typing.List[GridNodeHighlightConfig]c              #  V   K   t                      }d | D             |d<   d|d}|V }dS )z
    Highlight multiple elements with the CSS Grid overlay.

    :param grid_node_highlight_configs: An array of node identifiers and descriptors for the highlight appearance.
    c                6    g | ]}|                                 S r&   rA  rB  s     r   rE  z*set_show_grid_overlays.<locals>.<listcomp>[       )[)[)[!!))++)[)[)[r   gridNodeHighlightConfigszOverlay.setShowGridOverlaysr8  NrH  )r  r9  r.  r   s       r   set_show_grid_overlaysr  R  sL       &&F)[)[?Z)[)[)[F%&/ H >>DDDr   flex_node_highlight_configs$typing.List[FlexNodeHighlightConfig]c              #  V   K   t                      }d | D             |d<   d|d}|V }dS )zx
    :param flex_node_highlight_configs: An array of node identifiers and descriptors for the highlight appearance.
    c                6    g | ]}|                                 S r&   rA  rB  s     r   rE  z*set_show_flex_overlays.<locals>.<listcomp>j  r  r   flexNodeHighlightConfigszOverlay.setShowFlexOverlaysr8  NrH  )r  r9  r.  r   s       r   set_show_flex_overlaysr  c  sL       &&F)[)[?Z)[)[)[F%&/ H >>DDDr   scroll_snap_highlight_configs&typing.List[ScrollSnapHighlightConfig]c              #  V   K   t                      }d | D             |d<   d|d}|V }dS )zz
    :param scroll_snap_highlight_configs: An array of node identifiers and descriptors for the highlight appearance.
    c                6    g | ]}|                                 S r&   rA  rB  s     r   rE  z1set_show_scroll_snap_overlays.<locals>.<listcomp>y  s     +_+_+_AAIIKK+_+_+_r   scrollSnapHighlightConfigsz!Overlay.setShowScrollSnapOverlaysr8  NrH  )r  r9  r.  r   s       r   set_show_scroll_snap_overlaysr  r  sL       &&F+_+_A^+_+_+_F'(5 H >>DDDr   !container_query_highlight_configs*typing.List[ContainerQueryHighlightConfig]c              #  V   K   t                      }d | D             |d<   d|d}|V }dS )z~
    :param container_query_highlight_configs: An array of node identifiers and descriptors for the highlight appearance.
    c                6    g | ]}|                                 S r&   rA  rB  s     r   rE  z5set_show_container_query_overlays.<locals>.<listcomp>  s     /g/g/g		/g/g/gr   containerQueryHighlightConfigsz%Overlay.setShowContainerQueryOverlaysr8  NrH  )r  r9  r.  r   s       r   !set_show_container_query_overlaysr    sL       &&F/g/gEf/g/g/gF+,9 H >>DDDr   resultc              #  B   K   t                      }| |d<   d|d}|V }dS )zl
    Requests that backend shows paint rectangles

    :param result: True for showing paint rectangles
    r  zOverlay.setShowPaintRectsr8  NrH  r  r9  r.  r   s       r   set_show_paint_rectsr    s<       &&FF8- H >>DDDr   c              #  B   K   t                      }| |d<   d|d}|V }dS )zt
    Requests that backend shows layout shift regions

    :param result: True for showing layout shift regions
    r  z!Overlay.setShowLayoutShiftRegionsr8  NrH  r  s       r   set_show_layout_shift_regionsr    s<       &&FF85 H >>DDDr   c              #  B   K   t                      }| |d<   d|d}|V }dS )zx
    Requests that backend shows scroll bottleneck rects

    :param show: True for showing scroll bottleneck rects
    rt  z$Overlay.setShowScrollBottleneckRectsr8  NrH  rv  s       r    set_show_scroll_bottleneck_rectsr    s;       &&FF6N8 H >>DDDr   c              #  B   K   t                      }| |d<   d|d}|V }dS )zc
    Deprecated, no longer has any effect.

    :param show: True for showing hit-test borders
    rt  zOverlay.setShowHitTestBordersr8  NrH  rv  s       r   set_show_hit_test_bordersr    s;       &&FF6N1 H >>DDDr   c              #  B   K   t                      }| |d<   d|d}|V }dS )zY
    Request that backend shows an overlay with web vital metrics.

    :param show:
    rt  zOverlay.setShowWebVitalsr8  NrH  rv  s       r   set_show_web_vitalsr    s;       &&FF6N, H >>DDDr   c              #  B   K   t                      }| |d<   d|d}|V }dS )zf
    Paints viewport size upon main frame resize.

    :param show: Whether to paint size or not.
    rt  z#Overlay.setShowViewportSizeOnResizer8  NrH  rv  s       r    set_show_viewport_size_on_resizer    s;       &&FF6N7 H >>DDDr   hinge_configtyping.Optional[HingeConfig]c              #  j   K   t                      }| |                                 |d<   d|d}|V }dS )zp
    Add a dual screen device hinge

    :param hinge_config: *(Optional)* hinge data, null means hideHinge
    NhingeConfigzOverlay.setShowHinger8  r;  )r  r9  r.  r   s       r   set_show_hinger    sN       &&F , 4 4 6 6}( H >>DDDr   "isolated_element_highlight_configs+typing.List[IsolatedElementHighlightConfig]c              #  V   K   t                      }d | D             |d<   d|d}|V }dS )z
    Show elements in isolation mode with overlays.

    :param isolated_element_highlight_configs: An array of node identifiers and descriptors for the highlight appearance.
    c                6    g | ]}|                                 S r&   rA  rB  s     r   rE  z.set_show_isolated_elements.<locals>.<listcomp>  s     0i0i0i0i0i0ir   isolatedElementHighlightConfigszOverlay.setShowIsolatedElementsr8  NrH  )r  r9  r.  r   s       r   set_show_isolated_elementsr    sL       &&F0i0iFh0i0i0iF,-3 H >>DDDr   window_controls_overlay_config,typing.Optional[WindowControlsOverlayConfig]c              #  j   K   t                      }| |                                 |d<   d|d}|V }dS )z
    Show Window Controls Overlay for PWA

    :param window_controls_overlay_config: *(Optional)* Window Controls Overlay data, null means hide Window Controls Overlay
    NwindowControlsOverlayConfigz$Overlay.setShowWindowControlsOverlayr8  r;  )r  r9  r.  r   s       r    set_show_window_controls_overlayr    sO       &&F%10N0V0V0X0X,-8 H >>DDDr   zOverlay.inspectNodeRequestedc                  6    e Zd ZU dZded<   ed	d            ZdS )
InspectNodeRequestedz
    Fired when the node should be inspected. This happens after call to ``setInspectMode`` or when
    user manually inspects an element.
    zdom.BackendNodeIdrW  r   r   r)  c                `     | t           j                            |d                             S )Nr^  )rW  )r   BackendNodeIdr   r   s     r   r   zInspectNodeRequested.from_json5  s4    s-77_8MNN
 
 
 	
r   N)r   r   r)  r  r    r!   r"   r#   r$   r%   r   r&   r   r   r  r  +  sL          
 '&&&
 
 
 [
 
 
r   r  zOverlay.nodeHighlightRequestedc                  6    e Zd ZU dZded<   ed	d            ZdS )
NodeHighlightRequestedzc
    Fired when the node should be highlighted. This happens after call to ``setInspectMode``.
    r   r   r   r   r)  c                `     | t           j                            |d                             S )Nr   )r   )r   r   r   r   s     r   r   z NodeHighlightRequested.from_jsonD  s2    sJ((h88
 
 
 	
r   N)r   r   r)  r  r  r&   r   r   r  r  <  sL           
 
 
 [
 
 
r   r  zOverlay.screenshotRequestedc                  6    e Zd ZU dZded<   ed	d            ZdS )
ScreenshotRequestedzN
    Fired when user asks to capture screenshot of some area on the page.
    zpage.Viewportviewportr   r   r)  c                `     | t           j                            |d                             S )Nr  )r  )r	   Viewportr   r   s     r   r   zScreenshotRequested.from_jsonT  s3    s],,T*-=>>
 
 
 	
r   N)r   r   r)  r  r  r&   r   r   r  r  K  sL           
 
 
 [
 
 
r   r  zOverlay.inspectModeCanceledc                  *    e Zd ZdZedd            ZdS )InspectModeCanceledz3
    Fired when user cancels the inspect mode.
    r   r   r)  c                     |             S r   r&   r   s     r   r   zInspectModeCanceled.from_jsonc  s    s 
 
 	
r   N)r   r   r)  r  )r    r!   r"   r#   r%   r   r&   r   r   r  r  [  s>         
 
 
 
 [
 
 
r   r  )r)  r*  )NNNN)r   r   r2  r)   r3  r)   r   r   r   r)   r)  r4  )r=  r>  r)  r4  )r   r   r)  r4  )NN)rN  rO  r   r0   rP  r0   r)  r*  )rU  r   r   rV  rW  rX  rY  rZ  r[  rz   r)  r*  )ra  rb  ry   r0   r   r0   r)  r*  )re  rf  rg  rf  rh  rf  ri  rf  ry   r0   r   r0   r)  r*  )NNN)
rl  r   r   rV  rW  rX  rY  rZ  r)  r*  r   )rp  r  rU  rq  r)  r*  )rt  rU   r)  r*  )ry  rz   r)  r*  )r  r  r)  r*  )r  r  r)  r*  )r  r  r)  r*  )r  r  r)  r*  )r  rU   r)  r*  )r  r  r)  r*  )r  r  r)  r*  )r  r  r)  r*  )C
__future__r   utilr   r   dataclassesr   enumtyping r   r	   r
   r   r(   rW   ro   rl   rm   Enumr   r   r   r   r   r   r   r   r   r  r   r  r  r  r/  r1  r<  rI  rK  rM  rT  r`  rd  rk  ro  rs  rw  r{  r}  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r&   r   r   <module>r     s   # " " " " " * * * * * * * * ! ! ! ! ! !                     
 
 
 
 
 
 
 
0 C
 C
 C
 C
 C
 C
 C
 C
L ;
 ;
 ;
 ;
 ;
 ;
 ;
 ;
| 
 
 
 
 
 
 
 
@ 
 
 
 
 
 
 
 
4 
 
 
 
 
 
 
 
4
 
 
 
 
	 
 
 
 }
 }
 }
 }
 }
 }
 }
 }
@    $)    
 
 
 
 
 
 
 
0 
 
 
 
 
 
 
 
*  
  
  
  
  
  
  
  
F 
 
 
 
 
 
 
 
* 
 
 
 
 
 
 
 
> 
 
 
 
 
 
 
 
: 
 
 
 
 
 
 
 
* 
 
 
 
 
 
 
 
. 
 
 
 
 
 
 
 
* 
 
 
 
 
 
 
 
:    $)          37/3599= #  #  #  #  #F$ $ $ $&# # # #&    48;?    < 04>B=A)-    H ,037    < ,037    H 04>B=A	    @ >B    ,   $ )-        "   "   "            "   "   "   "   "   $ 6:    $   $ X\    $ +,,

 
 
 
 
 
 
  -,
 -..


 

 

 

 

 

 

  /.

 *++

 
 
 
 
 
 
  ,+
 *++


 

 

 

 

 

 

  ,+

 

 

r   