
     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 dd	l	mZ dd
l	mZ ddl	mZ  G d de          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          Z G d dej                  Ze G d d                      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" G d. d/ej                  Z# G d0 d1ej                  Z$e G d2 d3                      Z%e G d4 d5                      Z& G d6 d7ej                  Z'dd<Z(	 ddd@Z)ddBZ*	 	 	 	 dd dKZ+	 dd!dLZ,ddMZ-ddNZ.ddOZ/	 	 d"d#dSZ0d$dVZ1ddWZ2ddXZ3d%dZZ4d&d\Z5d'd^Z6d(d`Z7d)dbZ8d*ddZ9d+dfZ:ddgZ;d,diZ<d-dkZ=	 dd.doZ>	 	 	 	 dd/dwZ?d0dzZ@	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d1d2dZA	 	 d"d3dZBd4dZCd4dZDd5dZE	 	 d"d6dZFd7dZGd7dZH	 	 	 	 	 	 	 	 d8d9dZId:dZJd;dZKd<dZLd=dZM	 dd>dZN	 	 	 d?d@dZOd7dZP	 ddAdZQ	 	 	 	 	 dBdCdÄZRddĄZSddńZTddƄZUdDdȄZVddɄZWd7dʄZXdEd̄ZYdd̈́ZZ	 ddFdЄZ[ddфZ\d7d҄Z] edӦ          e G dԄ dզ                                  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                                  Zb ed          e G d d                                  Zc ed          e G d d                                  Zd ed          e G d d                                  Ze ed          e G d d                                  Zf ed          e G d d                                  Zg ed          e G d d                                  Zh ed          e G d d                                  Zi ed          e G d d                                  Zj ed          e G d d                                  Zk ed          e G d d                                  Zl ed           e G d d                                  Zm ed          e G d d                                  Zn ed          e G d d                                  Zo ed	          e G d
 d                                  Zp ed          e G d d                                  Zq ed          e G d d                                  Zr ed          e G d d                                  Zs ed          e G d d                                  Zt ed          e G d d                                  ZudS (G      )annotations   )event_classT_JSON_DICT)	dataclassN)debugger)dom)	emulation)io)network)runtimec                  B     e Zd ZdZddZed	d            Z fdZ xZS )
FrameIdz"
    Unique frame identifier.
    returnstrc                    | S N selfs    n/var/www/api.educacionweb.es/myenv/lib/python3.11/site-packages/selenium/webdriver/common/devtools/v85/page.pyto_jsonzFrameId.to_json           jsonc                     | |          S r   r   clsr   s     r   	from_jsonzFrameId.from_json       s4yyr   c                j    d                     t                                                                S )NzFrameId({})formatsuper__repr__r   	__class__s    r   r%   zFrameId.__repr__   s'    ##EGG$4$4$6$6777r   r   r   )r   r   r   r   	__name__
__module____qualname____doc__r   classmethodr   r%   __classcell__r'   s   @r   r   r      sv                [8 8 8 8 8 8 8 8 8r   r   c                      e Zd ZU dZded<   ded<   ded<   ded<   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 )Framez2
    Information about the Frame on the page.
    r   id_network.LoaderId	loader_idr   urlsecurity_origin	mime_typeNtyping.Optional[str]	parent_idnameurl_fragmentunreachable_urlc                V   t                      }| j                                        |d<   | j                                        |d<   | j        |d<   | j        |d<   | j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j	        
| j	        |d<   | j
        
| j
        |d	<   |S )
NidloaderIdr6   securityOriginmimeTypeparentIdr;   urlFragmentunreachableUrl)dictr3   r   r5   r6   r7   r8   r:   r;   r<   r=   r   r   s     r   r   zFrame.to_jsonC   s    vvX%%''T
>1133ZhU!%!5>Z>%#~D9 9DL("&"3D+%)%9D!"r   c                    | t                               |d                   t          j                            |d                   t	          |d                   t	          |d                   t	          |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 )Nr?   r@   r6   rA   rB   rC   r;   rD   rE   )	r3   r5   r6   r7   r8   r:   r;   r<   r=   )r   r   r   LoaderIdr   r   s     r   r   zFrame.from_jsonT   s    s!!$t*--&00j1ABBDK  %5 677$z*++/9T/A/Ac$z*+++t&,nnT&\"""$5Bd5J5JT-0111PT;Kt;S;SC%5 6777Y]

 

 

 
	
r   )r*   r+   r,   r-   __annotations__r:   r;   r<   r=   r   r.   r   r   r   r   r2   r2   #   s           LLL   HHH  NNN '+I**** "&D%%%% *.L---- -1O0000  " 
 
 [
 
 
r   r2   c                      e Zd ZU dZded<   ded<   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 )FrameResourcez5
    Information about the Resource on the page.
    r   r6   znetwork.ResourceTypetype_r8   N'typing.Optional[network.TimeSinceEpoch]last_modifiedtyping.Optional[float]content_sizetyping.Optional[bool]failedcanceledc                .   t                      }| j        |d<   | j                                        |d<   | j        |d<   | j        | j                                        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   |S )Nr6   typerB   lastModifiedcontentSizerS   rT   )	rF   r6   rM   r   r8   rO   rQ   rS   rT   rG   s     r   r   zFrameResource.to_json}   s    vvhUz))++V>Z)#'#5#=#=#?#?D ("&"3D;"![DN=$#}Dr   c                    | t          |d                   t          j                            |d                   t          |d                   d|v r%t          j                            |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 )	Nr6   rV   rB   rW   rX   rS   rT   )r6   rM   r8   rO   rQ   rS   rT   )r   r   ResourceTyper   TimeSinceEpochfloatboolr   s     r   r   zFrameResource.from_json   s    sDK  &00f>>$z*++TbfjTjTj'0::4;OPPPpt7D7L7LtM2333RV+3t+;+;4X'''/9T/A/AT$z*+++t
 
 
 	
r   )r*   r+   r,   r-   rJ   rO   rQ   rS   rT   r   r.   r   r   r   r   rL   rL   c   s           HHH   NNN >BMAAAA ,0L//// %)F(((( '+H****   	
 	
 [	
 	
 	
r   rL   c                  R    e Zd ZU dZded<   ded<   dZded<   d	 Zed
             ZdS )FrameResourceTreezR
    Information about the Frame hierarchy along with their cached resources.
    r2   frameztyping.List[FrameResource]	resourcesNz/typing.Optional[typing.List[FrameResourceTree]]child_framesc                    t                      }| j                                        |d<   d | j        D             |d<   | j        d | j        D             |d<   |S )Nr`   c                6    g | ]}|                                 S r   r   .0is     r   
<listcomp>z-FrameResourceTree.to_json.<locals>.<listcomp>   s     AAAQQYY[[AAAr   ra   c                6    g | ]}|                                 S r   re   rf   s     r   ri   z-FrameResourceTree.to_json.<locals>.<listcomp>        "J"J"J1199;;"J"J"Jr   childFrames)rF   r`   r   ra   rb   rG   s     r   r   zFrameResourceTree.to_json   se    vv
**,,WAA$.AAA[("J"J8I"J"J"JDr   c                     | t                               |d                   d |d         D             d|v rd |d         D             nd           S )Nr`   c                B    g | ]}t                               |          S r   )rL   r   rf   s     r   ri   z/FrameResourceTree.from_json.<locals>.<listcomp>   s&    MMMa}..q11MMMr   ra   rl   c                B    g | ]}t                               |          S r   r_   r   rf   s     r   ri   z/FrameResourceTree.from_json.<locals>.<listcomp>   s'    VVVQ+55a88VVVr   )r`   ra   rb   r2   r   r   s     r   r   zFrameResourceTree.from_json   sl    s//$w-00MM4;LMMMZgkoZoZoVV$}BUVVVVuy
 
 
 	
r   	r*   r+   r,   r-   rJ   rb   r   r.   r   r   r   r   r_   r_      sx           LLL *))) EILHHHH   
 
 [
 
 
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 )		FrameTreez0
    Information about the Frame hierarchy.
    r2   r`   Nz'typing.Optional[typing.List[FrameTree]]rb   c                    t                      }| j                                        |d<   | j        d | j        D             |d<   |S )Nr`   c                6    g | ]}|                                 S r   re   rf   s     r   ri   z%FrameTree.to_json.<locals>.<listcomp>   rk   r   rl   )rF   r`   r   rb   rG   s     r   r   zFrameTree.to_json   sK    vv
**,,W("J"J8I"J"J"JDr   c                     | t                               |d                   d|v rd |d         D             nd           S )Nr`   rl   c                B    g | ]}t                               |          S r   rt   r   rf   s     r   ri   z'FrameTree.from_json.<locals>.<listcomp>   s&    NNNQ)--a00NNNr   )r`   rb   rq   r   s     r   r   zFrameTree.from_json   sV    s//$w-00R_cgRgRgNN$}:MNNNNmq
 
 
 	
r   rr   r   r   r   rt   rt      si           LLL =AL@@@@   
 
 [
 
 
r   rt   c                  B     e Zd ZdZddZed	d            Z fdZ xZS )
ScriptIdentifierz#
    Unique script identifier.
    r   r   c                    | S r   r   r   s    r   r   zScriptIdentifier.to_json   r   r   r   c                     | |          S r   r   r   s     r   r   zScriptIdentifier.from_json   r    r   c                j    d                     t                                                                S )NzScriptIdentifier({})r"   r&   s    r   r%   zScriptIdentifier.__repr__   s'    %,,UWW-=-=-?-?@@@r   r(   )r   r   r   r{   r)   r0   s   @r   r{   r{      s                [A A A A A A A A Ar   r{   c                  b    e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZd Zed             ZdS )TransitionTypez
    Transition type.
    linktypedaddress_barauto_bookmarkauto_subframemanual_subframe	generatedauto_toplevelform_submitreloadkeywordkeyword_generatedotherc                    | j         S r   valuer   s    r   r   zTransitionType.to_json   
    zr   c                     | |          S r   r   r   s     r   r   zTransitionType.from_json   r    r   N)r*   r+   r,   r-   LINKTYPEDADDRESS_BARAUTO_BOOKMARKAUTO_SUBFRAMEMANUAL_SUBFRAME	GENERATEDAUTO_TOPLEVELFORM_SUBMITRELOADKEYWORDKEYWORD_GENERATEDOTHERr   r.   r   r   r   r   r   r      s          DEK#M#M'OI#MKFG+E     [  r   r   c                  b    e Zd ZU dZded<   ded<   ded<   ded<   ded	<   d
 Zed             ZdS )NavigationEntryz#
    Navigation history entry.
    intr3   r   r6   user_typed_urltitler   transition_typec                    t                      }| j        |d<   | j        |d<   | j        |d<   | j        |d<   | j                                        |d<   |S )Nr?   r6   userTypedURLr   transitionType)rF   r3   r6   r   r   r   r   rG   s     r   r   zNavigationEntry.to_json  sX    vvXT
hU#2^
W!%!5!=!=!?!?r   c           
          | t          |d                   t          |d                   t          |d                   t          |d                   t                              |d                             S )Nr?   r6   r   r   r   )r3   r6   r   r   r   )r   r   r   r   r   s     r   r   zNavigationEntry.from_json  sm    sDJDK  tN344d7m$$*44T:J5KLL
 
 
 	
r   Nr*   r+   r,   r-   rJ   r   r.   r   r   r   r   r   r      s           HHH HHH  JJJ $###   
 
 [
 
 
r   r   c                  z    e Zd ZU dZded<   ded<   ded<   ded<   ded<   ded<   d	Zd
ed<   d Zed             Zd	S )ScreencastFrameMetadataz$
    Screencast frame metadata.
    r\   
offset_toppage_scale_factordevice_widthdevice_heightscroll_offset_xscroll_offset_yNrN   	timestampc                    t                      }| j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        | j                                        |d<   |S )N	offsetToppageScaleFactordeviceWidthdeviceHeightscrollOffsetXscrollOffsetYr   )	rF   r   r   r   r   r   r   r   r   rG   s     r   r   zScreencastFrameMetadata.to_json=  s~    vv O["&"8"/]#1^ $ 4_ $ 4_>% $ 6 6 8 8Dr   c                \    | t          |d                   t          |d                   t          |d                   t          |d                   t          |d                   t          |d                   d|v r%t          j                            |d                   nd           S )	Nr   r   r   r   r   r   r   )r   r   r   r   r   r   r   )r\   r   r[   r   r   s     r   r   z!ScreencastFrameMetadata.from_jsonI  s    sT+.//#D):$;<<tM233^ 455!$"788!$"788MX\`M`M`g,66tK7HIIIfj
 
 
 	
r   )	r*   r+   r,   r-   rJ   r   r   r.   r   r   r   r   r   r   #  s                 :>I====
 
 
 	
 	
 [	
 	
 	
r   r   c                  >    e Zd ZdZdZdZdZdZd Ze	d             Z
dS )	
DialogTypez!
    Javascript dialog type.
    alertconfirmpromptbeforeunloadc                    | j         S r   r   r   s    r   r   zDialogType.to_json_  r   r   c                     | |          S r   r   r   s     r   r   zDialogType.from_jsonb  r    r   N)r*   r+   r,   r-   ALERTCONFIRMPROMPTBEFOREUNLOADr   r.   r   r   r   r   r   r   V  s^          EGF!L     [  r   r   c                  X    e Zd ZU dZded<   ded<   ded<   ded<   d Zed	             Zd
S )AppManifestErrorz*
    Error while paring app manifest.
    r   messager   criticallinecolumnc                r    t                      }| j        |d<   | j        |d<   | j        |d<   | j        |d<   |S )Nr   r   r   r   )rF   r   r   r   r   rG   s     r   r   zAppManifestError.to_jsonx  s=    vv,Y=ZyVXr   c           	          | t          |d                   t          |d                   t          |d                   t          |d                             S )Nr   r   r   r   )r   r   r   r   )r   r   r   s     r   r   zAppManifestError.from_json  sX    sY((j)**T&\""tH~&&	
 
 
 	
r   Nr   r   r   r   r   r   g  sv           LLL MMM III KKK   
 
 [
 
 
r   r   c                  :    e Zd ZU dZded<   d Zed             ZdS )AppManifestParsedPropertiesz)
    Parsed app manifest properties.
    r   scopec                6    t                      }| j        |d<   |S )Nr   )rF   r   rG   s     r   r   z#AppManifestParsedProperties.to_json  s    vv
Wr   c                @     | t          |d                             S )Nr   )r   r   r   s     r   r   z%AppManifestParsedProperties.from_json  s*    sd7m$$
 
 
 	
r   Nr   r   r   r   r   r     sU           JJJ  
 
 
 [
 
 
r   r   c                  X    e Zd ZU dZded<   ded<   ded<   ded<   d Zed             Zd	S )
LayoutViewportz2
    Layout viewport position and dimensions.
    r   page_xpage_yclient_widthclient_heightc                r    t                      }| j        |d<   | j        |d<   | j        |d<   | j        |d<   |S )NpageXpageYclientWidthclientHeight)rF   r   r   r   r   rG   s     r   r   zLayoutViewport.to_json  s@    vvWW"/]#1^r   c           	          | t          |d                   t          |d                   t          |d                   t          |d                             S )Nr   r   r   r   )r   r   r   r   r   r   s     r   r   zLayoutViewport.from_json  sY    stG}%%tG}%%T-011d>233	
 
 
 	
r   Nr   r   r   r   r   r     s|           KKK KKK     
 
 [
 
 
r   r   c                      e Zd ZU dZded<   ded<   ded<   ded<   ded<   ded<   ded	<   d
Zded<   d Zed             Zd
S )VisualViewportz:
    Visual viewport position, dimensions, and scale.
    r\   offset_xoffset_yr   r   r   r   scaleNrP   zoomc                    t                      }| j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        
| j        |d<   |S )	NoffsetXoffsetYr   r   r   r   r   r   )	rF   r   r   r   r   r   r   r   r   rG   s     r   r   zVisualViewport.to_json  st    vv-Y-YWW"/]#1^
W9 9DLr   c                d    | t          |d                   t          |d                   t          |d                   t          |d                   t          |d                   t          |d                   t          |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   s     r   r   zVisualViewport.from_json  s    s4	?++4	?++g''g''tM233^ 455W&&(.$tF|$$$D	
 	
 	
 		
r   )	r*   r+   r,   r-   rJ   r   r   r.   r   r   r   r   r   r     s           OOO OOO MMM MMM   LLL $(D''''   

 

 [

 

 

r   r   c                  b    e Zd ZU dZded<   ded<   ded<   ded<   ded<   d Zed	             Zd
S )Viewportz,
    Viewport for capturing screenshot.
    r\   xywidthheightr   c                    t                      }| j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   |S )Nr   r   r   r   r   )rF   r   r   r   r   r   rG   s     r   r   zViewport.to_json  sG    vvFS	FS	
WX
Wr   c           
          | t          |d                   t          |d                   t          |d                   t          |d                   t          |d                             S )Nr   r   r   r   r   )r   r   r   r   r   r   r   s     r   r   zViewport.from_json  sf    sDIDIW&&h((W&&
 
 
 	
r   Nr   r   r   r   r   r     s           HHH HHH LLL MMM LLL   
 
 [
 
 
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ed             ZdS )FontFamiliesz+
    Generic font families collection.
    Nr9   standardfixedserif
sans_serifcursivefantasy
pictographc                   t                      }| j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   |S )Nr   r   r   	sansSerifr   r   r   )rF   r   r   r   r   r   r   r   rG   s     r   r   zFontFamilies.to_json;  s    vv=$#}D:! JDM:! JDM?& $D<#"lDO<#"lDO?&!%Dr   c                    | 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 )	Nr   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   s     r   r   zFontFamilies.from_jsonM  s    s.8D.@.@Sj)***d(/4#d7m$$$T(/4#d7m$$$T1<1D1Ds4,---$,5,=,=CY(((4,5,=,=CY(((42>$2F2Fs4-...D
 
 
 	
r   )r*   r+   r,   r-   r   rJ   r   r   r   r   r   r   r   r.   r   r   r   r   r   r   !  s           &*H)))) #'E&&&& #'E&&&& (,J++++ %)G(((( %)G(((( (,J++++  $ 	
 	
 [	
 	
 	
r   r   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 )	FontSizesz
    Default font sizes.
    Ntyping.Optional[int]r   r   c                f    t                      }| j        
| j        |d<   | j        
| j        |d<   |S )Nr   r   )rF   r   r   rG   s     r   r   zFontSizes.to_jsone  s7    vv=$#}D:! JDMr   c                     | d|v rt          |d                   nd d|v rt          |d                   nd           S )Nr   r   )r   r   r   r   s     r   r   zFontSizes.from_jsonm  sV    s.8D.@.@Sj)***d(/4#d7m$$$T
 
 
 	
r   )
r*   r+   r,   r-   r   rJ   r   r   r.   r   r   r   r   r  r  Z  sp           &*H)))) #'E&&&&   
 
 [
 
 
r   r  c                  J    e Zd ZdZdZdZdZdZdZdZ	dZ
d	 Zed
             ZdS )ClientNavigationReasonformSubmissionGetformSubmissionPosthttpHeaderRefreshscriptInitiatedmetaTagRefreshpageBlockInterstitialr   anchorClickc                    | j         S r   r   r   s    r   r   zClientNavigationReason.to_json  r   r   c                     | |          S r   r   r   s     r   r   z ClientNavigationReason.from_json  r    r   N)r*   r+   r,   FORM_SUBMISSION_GETFORM_SUBMISSION_POSTHTTP_HEADER_REFRESHSCRIPT_INITIATEDMETA_TAG_REFRESHPAGE_BLOCK_INTERSTITIALr   ANCHOR_CLICKr   r.   r   r   r   r   r  r  u  sl        -/-('5F L     [  r   r  c                  :    e Zd ZdZdZdZdZd Zed             Z	dS )ClientNavigationDisposition
currentTabnewTab	newWindowdownloadc                    | j         S r   r   r   s    r   r   z#ClientNavigationDisposition.to_json  r   r   c                     | |          S r   r   r   s     r   r   z%ClientNavigationDisposition.from_json  r    r   N)
r*   r+   r,   CURRENT_TABNEW_TAB
NEW_WINDOWDOWNLOADr   r.   r   r   r   r   r  r    sR        KGJH     [  r   r  c                  @    e Zd ZU ded<   ded<   d Zed             ZdS )InstallabilityErrorArgumentr   r;   r   c                J    t                      }| j        |d<   | j        |d<   |S )Nr;   r   )rF   r;   r   rG   s     r   r   z#InstallabilityErrorArgument.to_json  s&    vvyV
Wr   c                h     | t          |d                   t          |d                             S )Nr;   r   )r;   r   r   r   s     r   r   z%InstallabilityErrorArgument.from_json  s9    sT&\""d7m$$
 
 
 	
r   N)r*   r+   r,   rJ   r   r.   r   r   r   r   r&  r&    sV          III JJJ   
 
 [
 
 
r   r&  c                  D    e Zd ZU dZded<   ded<   d Zed             ZdS )	InstallabilityErrorz"
    The installability error
    r   error_idz(typing.List[InstallabilityErrorArgument]error_argumentsc                ^    t                      }| j        |d<   d | j        D             |d<   |S )NerrorIdc                6    g | ]}|                                 S r   re   rf   s     r   ri   z/InstallabilityError.to_json.<locals>.<listcomp>  s     !L!L!L!!))++!L!L!Lr   errorArguments)rF   r+  r,  rG   s     r   r   zInstallabilityError.to_json  s7    vv-Y!L!Lt7K!L!L!Lr   c                b     | t          |d                   d |d         D                       S )Nr.  c                B    g | ]}t                               |          S r   )r&  r   rf   s     r   ri   z1InstallabilityError.from_json.<locals>.<listcomp>  s'    fff!8BB1EEfffr   r0  )r+  r,  r   r   s     r   r   zInstallabilityError.from_json  sA    si))fftTdOefff
 
 
 	
r   Nr   r   r   r   r*  r*    sc           MMM >===   
 
 [
 
 
r   r*  c                  N    e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
 Zed             ZdS )ReferrerPolicyz7
    The referring-policy used for the navigation.
    
noReferrernoReferrerWhenDowngradeoriginoriginWhenCrossOrigin
sameOriginstrictOriginstrictOriginWhenCrossOrigin	unsafeUrlc                    | j         S r   r   r   s    r   r   zReferrerPolicy.to_json  r   r   c                     | |          S r   r   r   s     r   r   zReferrerPolicy.from_json  r    r   N)r*   r+   r,   r-   NO_REFERRERNO_REFERRER_WHEN_DOWNGRADEORIGINORIGIN_WHEN_CROSS_ORIGINSAME_ORIGINSTRICT_ORIGINSTRICT_ORIGIN_WHEN_CROSS_ORIGIN
UNSAFE_URLr   r.   r   r   r   r   r4  r4    su          K!:F6K"M&C#J     [  r   r4  script_sourcer   r   <typing.Generator[T_JSON_DICT, T_JSON_DICT, ScriptIdentifier]c              #  ~   K   t                      }| |d<   d|d}|V }t                              |d                   S )z
    Deprecated, please use addScriptToEvaluateOnNewDocument instead.

    **EXPERIMENTAL**

    :param script_source:
    :returns: Identifier of the added script.
    scriptSourcezPage.addScriptToEvaluateOnLoadmethodparams
identifierrF   r{   r   )rG  rM  cmd_dictr   s       r   add_script_to_evaluate_on_loadrQ    sQ       &&F*F>2 H >>D%%d<&8999r   source
world_namer9   c              #     K   t                      }| |d<   |||d<   d|d}|V }t                              |d                   S )a  
    Evaluates given script in every frame upon creation (before loading frame's scripts).

    :param source:
    :param world_name: **(EXPERIMENTAL)** *(Optional)* If specified, creates an isolated world with the given name and evaluates given script in it. This world name will be used as the ExecutionContextDescription::name when the corresponding event is emitted.
    :returns: Identifier of the added script.
    rR  N	worldNamez%Page.addScriptToEvaluateOnNewDocumentrK  rN  rO  )rR  rS  rM  rP  r   s        r   &add_script_to_evaluate_on_new_documentrV    sa       &&FF8({9 H >>D%%d<&8999r   0typing.Generator[T_JSON_DICT, T_JSON_DICT, None]c               #     K   ddi} | V }dS )z/
    Brings page to front (activates tab).
    rL  zPage.bringToFrontNr   rP  r   s     r   bring_to_frontrZ    s$      
 	%H >>DDDr   format_qualityr  cliptyping.Optional[Viewport]from_surfacerR   /typing.Generator[T_JSON_DICT, T_JSON_DICT, str]c              #     K   t                      }| | |d<   |||d<   ||                                |d<   |||d<   d|d}|V }t          |d                   S )	a  
    Capture page screenshot.

    :param format_: *(Optional)* Image compression format (defaults to png).
    :param quality: *(Optional)* Compression quality from range [0..100] (jpeg only).
    :param clip: *(Optional)* Capture the screenshot of a given region only.
    :param from_surface: **(EXPERIMENTAL)** *(Optional)* Capture the screenshot from the surface, rather than the view. Defaults to true.
    :returns: Base64-encoded image data.
    Nr#   r\  r]  fromSurfacezPage.captureScreenshotrK  data)rF   r   r   )r[  r\  r]  r_  rM  rP  r   s          r   capture_screenshotrd    s       &&F"x#yv ,}* H >>DtF|r   c              #  l   K   t                      }| | |d<   d|d}|V }t          |d                   S )a"  
    Returns a snapshot of the page as a string. For MHTML format, the serialization includes
    iframes, shadow DOM, external resources, and element-inline styles.

    **EXPERIMENTAL**

    :param format_: *(Optional)* Format (defaults to mhtml).
    :returns: Serialized page data.
    Nr#   zPage.captureSnapshotrK  rc  )rF   r   )r[  rM  rP  r   s       r   capture_snapshotrf  /  sP       &&F"x( H >>DtF|r   c               #     K   ddi} | V }dS )zE
    Clears the overridden device metrics.

    **EXPERIMENTAL**
    rL  zPage.clearDeviceMetricsOverrideNr   rY  s     r   clear_device_metrics_overriderh  F  s$       	3H >>DDDr   c               #     K   ddi} | V }dS )zI
    Clears the overridden Device Orientation.

    **EXPERIMENTAL**
    rL  z#Page.clearDeviceOrientationOverrideNr   rY  s     r   !clear_device_orientation_overriderj  R  s$       	7H >>DDDr   c               #     K   ddi} | V }dS )z?
    Clears the overridden Geolocation Position and Error.
    rL  zPage.clearGeolocationOverrideNr   rY  s     r   clear_geolocation_overriderl  ^  s$      
 	1H >>DDDr   frame_idgrant_univeral_accessFtyping.Generator[T_JSON_DICT, T_JSON_DICT, runtime.ExecutionContextId]c              #     K   t                      }|                                 |d<   |||d<   |||d<   d|d}|V }t          j                            |d                   S )a  
    Creates an isolated world for the given frame.

    :param frame_id: Id of the frame in which the isolated world should be created.
    :param world_name: *(Optional)* An optional name which is reported in the Execution Context.
    :param grant_univeral_access: *(Optional)* Whether or not universal access should be granted to the isolated world. This is a powerful option, use with caution.
    :returns: Execution context of the isolated world.
    frameIdNrU  grantUniveralAccesszPage.createIsolatedWorldrK  executionContextId)rF   r   r   ExecutionContextIdr   )rm  rS  rn  rM  rP  r   s         r   create_isolated_worldru  h  s       &&F ((**F9({((=$%, H >>D%//5I0JKKKr   cookie_namer6   c              #  L   K   t                      }| |d<   ||d<   d|d}|V }dS )z
    Deletes browser cookie with given name, domain and path.

    **EXPERIMENTAL**

    :param cookie_name: Name of the cookie to remove.
    :param url: URL to match cooke domain and path.
    
cookieNamer6   zPage.deleteCookierK  NrF   )rv  r6   rM  rP  r   s        r   delete_cookierz    sE       &&F&F<F5M% H >>DDDr   c               #     K   ddi} | V }dS )z-
    Disables page domain notifications.
    rL  zPage.disableNr   rY  s     r   disabler|    s#      
 	.H >>DDDr   c               #     K   ddi} | V }dS )z,
    Enables page domain notifications.
    rL  zPage.enableNr   rY  s     r   enabler~    s#      
 	-H >>DDDr   typing.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[str, typing.List[AppManifestError], typing.Optional[str], typing.Optional[AppManifestParsedProperties]]]c               #     K   ddi} | V }t          |d                   d |d         D             d|v rt          |d                   ndd|v r t                              |d                   ndfS )	z


    :returns: A tuple with the following items:

        0. **url** - Manifest location.
        1. **errors** - 
        2. **data** - *(Optional)* Manifest content.
        3. **parsed** - *(Optional)* Parsed manifest properties
    rL  zPage.getAppManifestr6   c                B    g | ]}t                               |          S r   )r   r   rf   s     r   ri   z$get_app_manifest.<locals>.<listcomp>  s'    ???1		#	#A	&	&???r   errorsrc  Nparsed)r   r   r   rY  s     r   get_app_manifestr    s       	'H >>DDK??X???#t^^DLAITAQAQ#--d8n===W[	 r   Ltyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[InstallabilityError]]c               #  :   K   ddi} | V }d |d         D             S ),


    **EXPERIMENTAL**

    :returns: 
    rL  zPage.getInstallabilityErrorsc                B    g | ]}t                               |          S r   )r*  r   rf   s     r   ri   z-get_installability_errors.<locals>.<listcomp>  s'    SSS))!,,SSSr   installabilityErrorsr   rY  s     r   get_installability_errorsr    s:       	0H >>DSSd;Q6RSSSSr   @typing.Generator[T_JSON_DICT, T_JSON_DICT, typing.Optional[str]]c               #  L   K   ddi} | V }d|v rt          |d                   ndS )r  rL  zPage.getManifestIconsprimaryIconNr   rY  s     r   get_manifest_iconsr    sB       	)H >>D'4'<'<3tM"###$Fr   Gtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[network.Cookie]]c               #  :   K   ddi} | V }d |d         D             S )z
    Returns all browser cookies. Depending on the backend support, will return detailed cookie
    information in the ``cookies`` field.

    **EXPERIMENTAL**

    :returns: Array of cookie objects.
    rL  zPage.getCookiesc                L    g | ]!}t           j                            |          "S r   )r   Cookier   rf   s     r   ri   zget_cookies.<locals>.<listcomp>  s(    AAAAGN$$Q''AAAr   cookiesr   rY  s     r   get_cookiesr    s8       	#H >>DAAiAAAAr   5typing.Generator[T_JSON_DICT, T_JSON_DICT, FrameTree]c               #  V   K   ddi} | V }t                               |d                   S )z\
    Returns present frame tree structure.

    :returns: Present frame tree structure.
    rL  zPage.getFrameTree	frameTreery   rY  s     r   get_frame_treer    s9       	%H >>DtK0111r   btyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[LayoutViewport, VisualViewport, dom.Rect]]c               #     K   ddi} | V }t                               |d                   t                              |d                   t          j                            |d                   fS )aY  
    Returns metrics relating to the layouting of the page, such as viewport bounds/scale.

    :returns: A tuple with the following items:

        0. **layoutViewport** - Metrics relating to the layout viewport.
        1. **visualViewport** - Metrics relating to the visual viewport.
        2. **contentSize** - Size of scrollable area.
    rL  zPage.getLayoutMetricslayoutViewportvisualViewportrX   )r   r   r   r	   RectrY  s     r   get_layout_metricsr    sp       	)H >>D  &6!788  &6!7884.// r   [typing.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[int, typing.List[NavigationEntry]]]c               #  d   K   ddi} | V }t          |d                   d |d         D             fS )z
    Returns navigation history for the current page.

    :returns: A tuple with the following items:

        0. **currentIndex** - Index of the current navigation history entry.
        1. **entries** - Array of navigation history entries.
    rL  zPage.getNavigationHistorycurrentIndexc                B    g | ]}t                               |          S r   )r   r   rf   s     r   ri   z*get_navigation_history.<locals>.<listcomp>#  s&    ???!	"	"1	%	%???r   entriesr   rY  s     r   get_navigation_historyr    sO       	-H >>DD !!??tI??? r   c               #     K   ddi} | V }dS )z9
    Resets navigation history for the current page.
    rL  zPage.resetNavigationHistoryNr   rY  s     r   reset_navigation_historyr  '  s$      
 	/H >>DDDr   Ctyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[str, bool]]c              #     K   t                      }|                                 |d<   ||d<   d|d}|V }t          |d                   t          |d                   fS )aT  
    Returns content of the given resource.

    **EXPERIMENTAL**

    :param frame_id: Frame id to get resource for.
    :param url: URL of the resource to get content for.
    :returns: A tuple with the following items:

        0. **content** - Resource content.
        1. **base64Encoded** - True, if content was served as base64.
    rq  r6   zPage.getResourceContentrK  contentbase64Encoded)rF   r   r   r]   )rm  r6   rM  rP  r   s        r   get_resource_contentr  1  sv        &&F ((**F9F5M+ H >>DDOT/"## r   =typing.Generator[T_JSON_DICT, T_JSON_DICT, FrameResourceTree]c               #  V   K   ddi} | V }t                               |d                   S )z
    Returns present frame / resource tree structure.

    **EXPERIMENTAL**

    :returns: Present frame / resource tree structure.
    rL  zPage.getResourceTreer  rp   rY  s     r   get_resource_treer  O  s9       	(H >>D&&tK'8999r   acceptr]   prompt_textc              #  P   K   t                      }| |d<   |||d<   d|d}|V }dS )a,  
    Accepts or dismisses a JavaScript initiated dialog (alert, confirm, prompt, or onbeforeunload).

    :param accept: Whether to accept or dismiss the dialog.
    :param prompt_text: *(Optional)* The text to enter into the dialog prompt before accepting. Used only if this is a prompt dialog.
    r  N
promptTextzPage.handleJavaScriptDialogrK  ry  )r  r  rM  rP  r   s        r   handle_java_script_dialogr  ^  sL       &&FF8*|/ H >>DDDr   referrerr   typing.Optional[TransitionType]typing.Optional[FrameId]referrer_policytyping.Optional[ReferrerPolicy]ztyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[FrameId, typing.Optional[network.LoaderId], typing.Optional[str]]]c              #    K   t                      }| |d<   |||d<   ||                                |d<   ||                                |d<   ||                                |d<   d|d}|V }t                              |d                   d	|v r%t          j                            |d	                   ndd
|v rt          |d
                   ndfS )a  
    Navigates current page to the given URL.

    :param url: URL to navigate the page to.
    :param referrer: *(Optional)* Referrer URL.
    :param transition_type: *(Optional)* Intended transition type.
    :param frame_id: *(Optional)* Frame id to navigate, if not specified navigates the top frame.
    :param referrer_policy: **(EXPERIMENTAL)** *(Optional)* Referrer-policy used for the navigation.
    :returns: A tuple with the following items:

        0. **frameId** - Frame id that has navigated (or failed to navigate)
        1. **loaderId** - *(Optional)* Loader identifier.
        2. **errorText** - *(Optional)* User friendly error message, present if and only if navigation has failed.
    r6   Nr  r   rq  referrerPolicyzPage.navigaterK  r@   	errorText)rF   r   r   r   r   rI   r   )r6   r  r   rm  r  rM  rP  r   s           r   navigater  s  s     * &&FF5M%z"#2#:#:#<#< $,,..y"#2#:#:#<#< ! H >>D$y/**8Bd8J8J""4
#3444PT"-"5"5D4 r   entry_idr   c              #  B   K   t                      }| |d<   d|d}|V }dS )zy
    Navigates current page to the given history entry.

    :param entry_id: Unique id of the entry to navigate to.
    entryIdzPage.navigateToHistoryEntryrK  Nry  )r  rM  rP  r   s       r   navigate_to_history_entryr    s<       &&F F9/ H >>DDDr   	landscapedisplay_header_footerprint_backgroundr   rP   paper_widthpaper_height
margin_topmargin_bottommargin_leftmargin_rightpage_rangesignore_invalid_page_rangesheader_templatefooter_templateprefer_css_page_sizetransfer_mode_typing.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[str, typing.Optional[io.StreamHandle]]]c              #    K   t                      }| | |d<   |||d<   |||d<   |||d<   |||d<   |||d<   |||d<   |||d	<   |||d
<   |	|	|d<   |
|
|d<   |||d<   |||d<   |||d<   |||d<   |||d<   d|d}|V }t          |d                   d|v r%t          j                            |d                   ndfS )a  
    Print page as PDF.

    :param landscape: *(Optional)* Paper orientation. Defaults to false.
    :param display_header_footer: *(Optional)* Display header and footer. Defaults to false.
    :param print_background: *(Optional)* Print background graphics. Defaults to false.
    :param scale: *(Optional)* Scale of the webpage rendering. Defaults to 1.
    :param paper_width: *(Optional)* Paper width in inches. Defaults to 8.5 inches.
    :param paper_height: *(Optional)* Paper height in inches. Defaults to 11 inches.
    :param margin_top: *(Optional)* Top margin in inches. Defaults to 1cm (~0.4 inches).
    :param margin_bottom: *(Optional)* Bottom margin in inches. Defaults to 1cm (~0.4 inches).
    :param margin_left: *(Optional)* Left margin in inches. Defaults to 1cm (~0.4 inches).
    :param margin_right: *(Optional)* Right margin in inches. Defaults to 1cm (~0.4 inches).
    :param page_ranges: *(Optional)* Paper ranges to print, e.g., '1-5, 8, 11-13'. Defaults to the empty string, which means print all pages.
    :param ignore_invalid_page_ranges: *(Optional)* Whether to silently ignore invalid but successfully parsed page ranges, such as '3-2'. Defaults to false.
    :param header_template: *(Optional)* HTML template for the print header. Should be valid HTML markup with following classes used to inject printing values into them: - ```date````: formatted print date - ````title````: document title - ````url````: document location - ````pageNumber````: current page number - ````totalPages````: total pages in the document  For example, ````<span class=title></span>```` would generate span containing the title.
    :param footer_template: *(Optional)* HTML template for the print footer. Should use the same format as the ````headerTemplate````.
    :param prefer_css_page_size: *(Optional)* Whether or not to prefer page size as defined by css. Defaults to false, in which case the content will be scaled to fit the paper size.
    :param transfer_mode: **(EXPERIMENTAL)** *(Optional)* return as stream
    :returns: A tuple with the following items:

        0. **data** - Base64-encoded pdf data. Empty if `` returnAsStream` is specified.
        1. **stream** - *(Optional)* A handle of the stream that holds resulting PDF data.
    Nr  displayHeaderFooterprintBackgroundr   
paperWidthpaperHeight	marginTopmarginBottom
marginLeftmarginRight
pageRangesignoreInvalidPageRangesheaderTemplatefooterTemplatepreferCSSPageSizetransferModezPage.printToPDFrK  rc  stream)rF   r   r   StreamHandler   )r  r  r  r   r  r  r  r  r  r  r  r  r  r  r  r  rM  rP  r   s                      r   print_to_pdfr    ss     T &&F'{((=$%#$4 !w*| ,}({ !.~*| ,}*|!-,F()"#2 "#2 '&:"# !.~# H >>DDL5=5E5E!!$x.1114 r   ignore_cachescript_to_evaluate_on_loadc              #  T   K   t                      }| | |d<   |||d<   d|d}|V }dS )an  
    Reloads given page optionally ignoring the cache.

    :param ignore_cache: *(Optional)* If true, browser cache is ignored (as if the user pressed Shift+refresh).
    :param script_to_evaluate_on_load: *(Optional)* If set, the script will be injected into all frames of the inspected page after reload. Argument will be ignored if reloading dataURL origin.
    NignoreCachescriptToEvaluateOnLoadzPage.reloadrK  ry  )r  r  rM  rP  r   s        r   r   r     sS       &&F ,}!-+E'( H >>DDDr   rN  c              #  f   K   t                      }|                                 |d<   d|d}|V }dS )z{
    Deprecated, please use removeScriptToEvaluateOnNewDocument instead.

    **EXPERIMENTAL**

    :param identifier:
    rN  z!Page.removeScriptToEvaluateOnLoadrK  NrF   r   rN  rM  rP  r   s       r   !remove_script_to_evaluate_on_loadr    sH       &&F%--//F<5 H >>DDDr   c              #  f   K   t                      }|                                 |d<   d|d}|V }dS )zE
    Removes given script from the list.

    :param identifier:
    rN  z(Page.removeScriptToEvaluateOnNewDocumentrK  Nr  r  s       r   )remove_script_to_evaluate_on_new_documentr  .  sH       &&F%--//F<< H >>DDDr   
session_idc              #  B   K   t                      }| |d<   d|d}|V }dS )z
    Acknowledges that a screencast frame has been received by the frontend.

    **EXPERIMENTAL**

    :param session_id: Frame number.
    	sessionIdzPage.screencastFrameAckrK  Nry  )r  rM  rP  r   s       r   screencast_frame_ackr  ?  s<       &&F$F;+ H >>DDDr   querycase_sensitiveis_regexMtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[debugger.SearchMatch]]c              #     K   t                      }|                                 |d<   ||d<   ||d<   |||d<   |||d<   d|d}|V }d	 |d
         D             S )a  
    Searches for given string in resource content.

    **EXPERIMENTAL**

    :param frame_id: Frame id for resource to search in.
    :param url: URL of the resource to search in.
    :param query: String to search for.
    :param case_sensitive: *(Optional)* If true, search is case sensitive.
    :param is_regex: *(Optional)* If true, treats string parameter as regex.
    :returns: List of search matches.
    rq  r6   r  NcaseSensitiveisRegexzPage.searchInResourcerK  c                L    g | ]!}t           j                            |          "S r   )r   SearchMatchr   rf   s     r   ri   z&search_in_resource.<locals>.<listcomp>r  s)    FFF!H **1--FFFr   resultr  )rm  r6   r  r  r  rM  rP  r   s           r   search_in_resourcer  R  s      & &&F ((**F9F5MF7O!"0$y) H >>DFFtH~FFFFr   enabledc              #  B   K   t                      }| |d<   d|d}|V }dS )z
    Enable Chrome's experimental ad filter on all sites.

    **EXPERIMENTAL**

    :param enabled: Whether to block ads.
    r  zPage.setAdBlockingEnabledrK  Nry  r  rM  rP  r   s       r   set_ad_blocking_enabledr  u  s<       &&FF9- H >>DDDr   c              #  B   K   t                      }| |d<   d|d}|V }dS )z
    Enable page Content Security Policy by-passing.

    **EXPERIMENTAL**

    :param enabled: Whether to bypass page CSP.
    r  zPage.setBypassCSPrK  Nry  r   s       r   set_bypass_cspr    s<       &&FF9% H >>DDDr   r   r   device_scale_factorr\   mobilescreen_widthscreen_height
position_x
position_ydont_set_visible_sizescreen_orientation,typing.Optional[emulation.ScreenOrientation]viewportc              #    K   t                      }| |d<   ||d<   ||d<   ||d<   |||d<   |||d<   |||d<   |||d	<   |||d
<   |	|	|d<   |
|
                                |d<   ||                                |d<   d|d}|V }dS )a  
    Overrides the values of device screen dimensions (window.screen.width, window.screen.height,
    window.innerWidth, window.innerHeight, and "device-width"/"device-height"-related CSS media
    query results).

    **EXPERIMENTAL**

    :param width: Overriding width value in pixels (minimum 0, maximum 10000000). 0 disables the override.
    :param height: Overriding height value in pixels (minimum 0, maximum 10000000). 0 disables the override.
    :param device_scale_factor: Overriding device scale factor value. 0 disables the override.
    :param mobile: Whether to emulate mobile device. This includes viewport meta tag, overlay scrollbars, text autosizing and more.
    :param scale: *(Optional)* Scale to apply to resulting view image.
    :param screen_width: *(Optional)* Overriding screen width value in pixels (minimum 0, maximum 10000000).
    :param screen_height: *(Optional)* Overriding screen height value in pixels (minimum 0, maximum 10000000).
    :param position_x: *(Optional)* Overriding view X position on screen in pixels (minimum 0, maximum 10000000).
    :param position_y: *(Optional)* Overriding view Y position on screen in pixels (minimum 0, maximum 10000000).
    :param dont_set_visible_size: *(Optional)* Do not set visible view size, rely upon explicit setVisibleSize call.
    :param screen_orientation: *(Optional)* Screen orientation override.
    :param viewport: *(Optional)* The viewport dimensions and scale. If not set, the override is cleared.
    r   r   deviceScaleFactorr  Nr   screenWidthscreenHeight	positionX	positionYdontSetVisibleSizescreenOrientationr  zPage.setDeviceMetricsOverriderK  r  )r   r   r  r  r   r  r  r  r	  r
  r  r  rM  rP  r   s                  r   set_device_metrics_overrider    s      D &&FF7OF8"5FF8w ,} !.~({({('<#$%&8&@&@&B&B"#%--//z1 H >>DDDr   alphabetagammac              #  V   K   t                      }| |d<   ||d<   ||d<   d|d}|V }dS )z
    Overrides the Device Orientation.

    **EXPERIMENTAL**

    :param alpha: Mock alpha
    :param beta: Mock beta
    :param gamma: Mock gamma
    r  r  r  z!Page.setDeviceOrientationOverriderK  Nry  )r  r  r  rM  rP  r   s         r   set_device_orientation_overrider    sM       &&FF7OF6NF7O5 H >>DDDr   font_familiesc              #  f   K   t                      }|                                 |d<   d|d}|V }dS )z
    Set generic font families.

    **EXPERIMENTAL**

    :param font_families: Specifies font families to set. If a font family is not specified, it won't be changed.
    fontFamilieszPage.setFontFamiliesrK  Nr  )r  rM  rP  r   s       r   set_font_familiesr    sH       &&F*2244F>( H >>DDDr   
font_sizesc              #  f   K   t                      }|                                 |d<   d|d}|V }dS )z
    Set default font sizes.

    **EXPERIMENTAL**

    :param font_sizes: Specifies font sizes to set. If a font size is not specified, it won't be changed.
    	fontSizeszPage.setFontSizesrK  Nr  )r   rM  rP  r   s       r   set_font_sizesr#    sH       &&F$,,..F;% H >>DDDr   htmlc              #  p   K   t                      }|                                 |d<   ||d<   d|d}|V }dS )z
    Sets given markup as the document's HTML.

    :param frame_id: Frame id to set HTML for.
    :param html: HTML content to set.
    rq  r$  zPage.setDocumentContentrK  Nr  )rm  r$  rM  rP  r   s        r   set_document_contentr&    sQ       &&F ((**F9F6N+ H >>DDDr   behaviordownload_pathc              #  P   K   t                      }| |d<   |||d<   d|d}|V }dS )aT  
    Set the behavior when downloading a file.

    **EXPERIMENTAL**

    :param behavior: Whether to allow all or deny all download requests, or use default Chrome behavior if available (otherwise deny).
    :param download_path: *(Optional)* The default path to save downloaded files to. This is requred if behavior is set to 'allow'
    r'  NdownloadPathzPage.setDownloadBehaviorrK  ry  )r'  r(  rM  rP  r   s        r   set_download_behaviorr+  ,  sL       &&F!F: !.~, H >>DDDr   latitude	longitudeaccuracyc              #  b   K   t                      }| | |d<   |||d<   |||d<   d|d}|V }dS )a  
    Overrides the Geolocation Position or Error. Omitting any of the parameters emulates position
    unavailable.

    :param latitude: *(Optional)* Mock latitude
    :param longitude: *(Optional)* Mock longitude
    :param accuracy: *(Optional)* Mock accuracy
    Nr,  r-  r.  zPage.setGeolocationOverriderK  ry  )r,  r-  r.  rM  rP  r   s         r   set_geolocation_overrider0  C  sb       &&F%z'{%z/ H >>DDDr   c              #  B   K   t                      }| |d<   d|d}|V }dS )z
    Controls whether page will emit lifecycle events.

    **EXPERIMENTAL**

    :param enabled: If true, starts emitting lifecycle events.
    r  zPage.setLifecycleEventsEnabledrK  Nry  r   s       r   set_lifecycle_events_enabledr2  ^  s<       &&FF92 H >>DDDr   configurationc              #  P   K   t                      }| |d<   |||d<   d|d}|V }dS )a   
    Toggles mouse event-based touch event emulation.

    **EXPERIMENTAL**

    :param enabled: Whether the touch event emulation should be enabled.
    :param configuration: *(Optional)* Touch/gesture events configuration. Default: current platform.
    r  Nr3  zPage.setTouchEmulationEnabledrK  ry  )r  r3  rM  rP  r   s        r   set_touch_emulation_enabledr5  q  sL       &&FF9 "/1 H >>DDDr   	max_width
max_heightevery_nth_framec              #  ~   K   t                      }| | |d<   |||d<   |||d<   |||d<   |||d<   d|d}|V }dS )	a  
    Starts sending each frame using the ``screencastFrame`` event.

    **EXPERIMENTAL**

    :param format_: *(Optional)* Image compression format.
    :param quality: *(Optional)* Compression quality from range [0..100].
    :param max_width: *(Optional)* Maximum screenshot width.
    :param max_height: *(Optional)* Maximum screenshot height.
    :param every_nth_frame: *(Optional)* Send every n-th frame.
    Nr#   r\  maxWidth	maxHeighteveryNthFramezPage.startScreencastrK  ry  )r[  r\  r6  r7  r8  rM  rP  r   s           r   start_screencastr=    s      $ &&F"x#y&z({""1( H >>DDDr   c               #     K   ddi} | V }dS )zK
    Force the page stop all navigations and pending resource fetches.
    rL  zPage.stopLoadingNr   rY  s     r   stop_loadingr?    s$      
 	$H >>DDDr   c               #     K   ddi} | V }dS )zW
    Crashes renderer on the IO thread, generates minidumps.

    **EXPERIMENTAL**
    rL  z
Page.crashNr   rY  s     r   crashrA    #       	,H >>DDDr   c               #     K   ddi} | V }dS )z\
    Tries to close page, running its beforeunload hooks, if any.

    **EXPERIMENTAL**
    rL  z
Page.closeNr   rY  s     r   closerD    rB  r   statec              #  B   K   t                      }| |d<   d|d}|V }dS )z
    Tries to update the web lifecycle state of the page.
    It will transition the page to the given state according to:
    https://github.com/WICG/web-lifecycle/

    **EXPERIMENTAL**

    :param state: Target lifecycle state
    rE  zPage.setWebLifecycleStaterK  Nry  )rE  rM  rP  r   s       r   set_web_lifecycle_staterG    s;       &&FF7O- H >>DDDr   c               #     K   ddi} | V }dS )zT
    Stops sending each frame in the ``screencastFrame``.

    **EXPERIMENTAL**
    rL  zPage.stopScreencastNr   rY  s     r   stop_screencastrI    s$       	'H >>DDDr   c              #  B   K   t                      }| |d<   d|d}|V }dS )z{
    Forces compilation cache to be generated for every subresource script.

    **EXPERIMENTAL**

    :param enabled:
    r  zPage.setProduceCompilationCacherK  Nry  r   s       r   set_produce_compilation_cacherK    s<       &&FF93 H >>DDDr   rc  c              #  L   K   t                      }| |d<   ||d<   d|d}|V }dS )z
    Seeds compilation cache for given url. Compilation cache does not survive
    cross-process navigation.

    **EXPERIMENTAL**

    :param url:
    :param data: Base64-encoded data
    r6   rc  zPage.addCompilationCacherK  Nry  )r6   rc  rM  rP  r   s        r   add_compilation_cacherM    sD       &&FF5MF6N, H >>DDDr   c               #     K   ddi} | V }dS )z@
    Clears seeded compilation cache.

    **EXPERIMENTAL**
    rL  zPage.clearCompilationCacheNr   rY  s     r   clear_compilation_cacherO    s$       	.H >>DDDr   r   groupc              #  P   K   t                      }| |d<   |||d<   d|d}|V }dS )z
    Generates a report for testing.

    **EXPERIMENTAL**

    :param message: Message to be displayed in the report.
    :param group: *(Optional)* Specifies the endpoint group to deliver the report to.
    r   NrP  zPage.generateTestReportrK  ry  )r   rP  rM  rP  r   s        r   generate_test_reportrR  %  sK       &&FF9w+ H >>DDDr   c               #     K   ddi} | V }dS )zt
    Pauses page execution. Can be resumed using generic Runtime.runIfWaitingForDebugger.

    **EXPERIMENTAL**
    rL  zPage.waitForDebuggerNr   rY  s     r   wait_for_debuggerrT  <  s$       	(H >>DDDr   c              #  B   K   t                      }| |d<   d|d}|V }dS )a  
    Intercept file chooser requests and transfer control to protocol clients.
    When file chooser interception is enabled, native file chooser dialog is not shown.
    Instead, a protocol event ``Page.fileChooserOpened`` is emitted.

    **EXPERIMENTAL**

    :param enabled:
    r  z"Page.setInterceptFileChooserDialogrK  Nry  r   s       r   !set_intercept_file_chooser_dialogrV  H  s<       &&FF96 H >>DDDr   zPage.domContentEventFiredc                  2    e Zd ZU ded<   edd            ZdS )	DomContentEventFirednetwork.MonotonicTimer   r   r   r   c                `     | t           j                            |d                             S Nr   )r   r   MonotonicTimer   r   s     r   r   zDomContentEventFired.from_jsonb  4    s+55d;6GHH
 
 
 	
r   N)r   r   r   rX  r*   r+   r,   rJ   r.   r   r   r   r   rX  rX  ]  B          %$$$
 
 
 [
 
 
r   rX  zPage.fileChooserOpenedc                  J    e Zd ZU dZded<   ded<   ded<   edd            ZdS )FileChooserOpenedzE
    Emitted only when ``page.interceptFileChooser`` is enabled.
    r   rm  zdom.BackendNodeIdbackend_node_idr   moder   r   r   c                     | t                               |d                   t          j                            |d                   t	          |d                             S )Nrq  backendNodeIdrd  )rm  rc  rd  )r   r   r	   BackendNodeIdr   r   s     r   r   zFileChooserOpened.from_jsonv  sX    s&&tI77-77_8MNNT&\""
 
 
 	
r   N)r   r   r   rb  r*   r+   r,   r-   rJ   r.   r   r   r   r   rb  rb  i  sa           &&&&III
 
 
 [
 
 
r   rb  zPage.frameAttachedc                  J    e Zd ZU dZded<   ded<   ded<   edd
            ZdS )FrameAttachedz;
    Fired when frame has been attached to its parent.
    r   rm  parent_frame_idz#typing.Optional[runtime.StackTrace]stackr   r   r   c                     | t                               |d                   t                               |d                   d|v r%t          j                            |d                   nd           S )Nrq  parentFrameIdrl  )rm  rk  rl  )r   r   r   
StackTracer   s     r   r   zFrameAttached.from_json  sl    s&&tI77#--d?.CDDAHD'$..tG}===VZ
 
 
 	
r   N)r   r   r   rj  rh  r   r   r   rj  rj    sd           ....
 
 
 [
 
 
r   rj  z$Page.frameClearedScheduledNavigationc                  6    e Zd ZU dZded<   ed	d            ZdS )
FrameClearedScheduledNavigationz@
    Fired when frame no longer has a scheduled navigation.
    r   rm  r   r   r   c                V     | t                               |d                             S Nrq  )rm  r   r   r   s     r   r   z)FrameClearedScheduledNavigation.from_json  0    s&&tI77
 
 
 	
r   N)r   r   r   rq  rh  r   r   r   rq  rq    L           
 
 
 [
 
 
r   rq  zPage.frameDetachedc                  6    e Zd ZU dZded<   ed	d            ZdS )
FrameDetachedz=
    Fired when frame has been detached from its parent.
    r   rm  r   r   r   c                V     | t                               |d                             S rs  rt  r   s     r   r   zFrameDetached.from_json  ru  r   N)r   r   r   rx  rh  r   r   r   rx  rx    rv  r   rx  zPage.frameNavigatedc                  6    e Zd ZU dZded<   ed	d            ZdS )
FrameNavigatedzh
    Fired once navigation of the frame has completed. Frame is now associated with the new loader.
    r2   r`   r   r   r   c                V     | t                               |d                             S )Nr`   )r`   rq   r   s     r   r   zFrameNavigated.from_json  s.    s//$w-00
 
 
 	
r   N)r   r   r   r{  rh  r   r   r   r{  r{    sI           LLL
 
 
 [
 
 
r   r{  zPage.frameResizedc                  *    e Zd ZdZedd            ZdS )FrameResizedz
    **EXPERIMENTAL**


    r   r   r   c                     |             S r   r   r   s     r   r   zFrameResized.from_json      s 
 
 	
r   N)r   r   r   r~  r*   r+   r,   r-   r.   r   r   r   r   r~  r~    s>          
 
 
 [
 
 
r   r~  zPage.frameRequestedNavigationc                  T    e Zd ZU dZded<   ded<   ded<   ded	<   edd            ZdS )FrameRequestedNavigationz
    **EXPERIMENTAL**

    Fired when a renderer-initiated navigation is requested.
    Navigation may still be cancelled after the event is issued.
    r   rm  r  reasonr   r6   r  dispositionr   r   r   c           	          | t                               |d                   t                              |d                   t          |d                   t                              |d                             S )Nrq  r  r6   r  )rm  r  r6   r  )r   r   r  r   r  r   s     r   r   z"FrameRequestedNavigation.from_json  sj    s&&tI77)33DNCCDK  3==d=>QRR	
 
 
 	
r   N)r   r   r   r  rh  r   r   r   r  r    sm           """"HHH,,,,
 
 
 [
 
 
r   r  zPage.frameScheduledNavigationc                  T    e Zd ZU dZded<   ded<   ded<   ded	<   edd            ZdS )FrameScheduledNavigationz<
    Fired when frame schedules a potential navigation.
    r   rm  r\   delayr  r  r   r6   r   r   r   c           	          | t                               |d                   t          |d                   t                              |d                   t	          |d                             S )Nrq  r  r  r6   )rm  r  r  r6   )r   r   r\   r  r   r   s     r   r   z"FrameScheduledNavigation.from_json  sc    s&&tI77W&&)33DNCCDK  	
 
 
 	
r   N)r   r   r   r  rh  r   r   r   r  r    sl            LLL""""HHH
 
 
 [
 
 
r   r  zPage.frameStartedLoadingc                  6    e Zd ZU dZded<   ed	d            ZdS )
FrameStartedLoadingzE
    **EXPERIMENTAL**

    Fired when frame has started loading.
    r   rm  r   r   r   c                V     | t                               |d                             S rs  rt  r   s     r   r   zFrameStartedLoading.from_json  ru  r   N)r   r   r   r  rh  r   r   r   r  r    L           
 
 
 [
 
 
r   r  zPage.frameStoppedLoadingc                  6    e Zd ZU dZded<   ed	d            ZdS )
FrameStoppedLoadingzE
    **EXPERIMENTAL**

    Fired when frame has stopped loading.
    r   rm  r   r   r   c                V     | t                               |d                             S rs  rt  r   s     r   r   zFrameStoppedLoading.from_json)  ru  r   N)r   r   r   r  rh  r   r   r   r  r    r  r   r  zPage.downloadWillBeginc                  T    e Zd ZU dZded<   ded<   ded<   ded<   edd            ZdS )DownloadWillBeginzM
    **EXPERIMENTAL**

    Fired when page is about to start a download.
    r   rm  r   guidr6   suggested_filenamer   r   r   c           	          | t                               |d                   t          |d                   t          |d                   t          |d                             S )Nrq  r  r6   suggestedFilename)rm  r  r6   r  r   r   r   r   s     r   r   zDownloadWillBegin.from_jsonA  s_    s&&tI77T&\""DK  "4(;#<==	
 
 
 	
r   N)r   r   r   r  rh  r   r   r   r  r  0  sj           IIIHHH
 
 
 [
 
 
r   r  zPage.downloadProgressc                  T    e Zd ZU dZded<   ded<   ded<   ded<   edd            ZdS )DownloadProgresszc
    **EXPERIMENTAL**

    Fired when download makes progress. Last call has ``done`` == true.
    r   r  r\   total_bytesreceived_bytesrE  r   r   r   c           	          | t          |d                   t          |d                   t          |d                   t          |d                             S )Nr  
totalBytesreceivedBytesrE  )r  r  r  rE  )r   r\   r   s     r   r   zDownloadProgress.from_json\  sY    sT&\""d<011 o!677d7m$$	
 
 
 	
r   N)r   r   r   r  rh  r   r   r   r  r  K  sj           IIIJJJ
 
 
 [
 
 
r   r  zPage.interstitialHiddenc                  *    e Zd ZdZedd            ZdS )InterstitialHiddenz1
    Fired when interstitial page was hidden
    r   r   r   c                     |             S r   r   r   s     r   r   zInterstitialHidden.from_jsonn  r  r   N)r   r   r   r  r  r   r   r   r  r  f  >         
 
 
 
 [
 
 
r   r  zPage.interstitialShownc                  *    e Zd ZdZedd            ZdS )InterstitialShownz0
    Fired when interstitial page was shown
    r   r   r   c                     |             S r   r   r   s     r   r   zInterstitialShown.from_json}  r  r   N)r   r   r   r  r  r   r   r   r  r  u  r  r   r  zPage.javascriptDialogClosedc                  @    e Zd ZU dZded<   ded<   edd	            Zd
S )JavascriptDialogClosedzs
    Fired when a JavaScript initiated dialog (alert, confirm, prompt, or onbeforeunload) has been
    closed.
    r]   r  r   
user_inputr   r   r   c                h     | t          |d                   t          |d                             S )Nr  	userInput)r  r  )r]   r   r   s     r   r   z JavascriptDialogClosed.from_json  s:    sX''4,--
 
 
 	
r   N)r   r   r   r  rh  r   r   r   r  r    sR          
 LLLOOO
 
 
 [
 
 
r   r  zPage.javascriptDialogOpeningc                  ^    e Zd ZU dZded<   ded<   ded<   ded<   d	ed
<   edd            ZdS )JavascriptDialogOpeningzt
    Fired when a JavaScript initiated dialog (alert, confirm, prompt, or onbeforeunload) is about to
    open.
    r   r6   r   r   rM   r]   has_browser_handlerr9   default_promptr   r   r   c           
         | t          |d                   t          |d                   t                              |d                   t          |d                   d|v rt          |d                   nd           S )Nr6   r   rV   hasBrowserHandlerdefaultPrompt)r6   r   rM   r  r  )r   r   r   r]   r   s     r   r   z!JavascriptDialogOpening.from_json  s    sDK  Y((&&tF|44 $T*=%> ? ?9HD9P9P3tO4555VZ
 
 
 	
r   N)r   r   r   r  rh  r   r   r   r  r    sx          
 HHHLLL ((((
 
 
 [
 
 
r   r  zPage.lifecycleEventc                  T    e Zd ZU dZded<   ded<   ded<   ded	<   edd            ZdS )LifecycleEventzY
    Fired for top level page lifecycle events such as navigation, load, paint, etc.
    r   rm  r4   r5   r   r;   rY  r   r   r   r   c           	         | t                               |d                   t          j                            |d                   t	          |d                   t          j                            |d                             S )Nrq  r@   r;   r   )rm  r5   r;   r   )r   r   r   rI   r   r]  r   s     r   r   zLifecycleEvent.from_json  sq    s&&tI77&00j1ABBT&\""+55d;6GHH	
 
 
 	
r   N)r   r   r   r  rh  r   r   r   r  r    sm           III$$$$
 
 
 [
 
 
r   r  zPage.loadEventFiredc                  2    e Zd ZU ded<   edd            ZdS )	LoadEventFiredrY  r   r   r   r   c                `     | t           j                            |d                             S r[  r\  r   s     r   r   zLoadEventFired.from_json  r^  r   N)r   r   r   r  r_  r   r   r   r  r    r`  r   r  zPage.navigatedWithinDocumentc                  @    e Zd ZU dZded<   ded<   edd	            Zd
S )NavigatedWithinDocumentz
    **EXPERIMENTAL**

    Fired when same-document navigation happens, e.g. due to history API usage or anchor navigation.
    r   rm  r   r6   r   r   r   c                ~     | t                               |d                   t          |d                             S )Nrq  r6   )rm  r6   r  r   s     r   r   z!NavigatedWithinDocument.from_json  s?    s&&tI77DK  
 
 
 	
r   N)r   r   r   r  rh  r   r   r   r  r    sU           HHH
 
 
 [
 
 
r   r  zPage.screencastFramec                  J    e Zd ZU dZded<   ded<   ded<   edd            ZdS )ScreencastFramez[
    **EXPERIMENTAL**

    Compressed image data requested by the ``startScreencast``.
    r   rc  r   metadatar   r  r   r   r   c                     | t          |d                   t                              |d                   t          |d                             S )Nrc  r  r  )rc  r  r  )r   r   r   r   r   s     r   r   zScreencastFrame.from_json  sP    sT&\"",66tJ7GHH4,--
 
 
 	
r   N)r   r   r   r  rh  r   r   r   r  r    s^           III%%%%OOO
 
 
 [
 
 
r   r  z Page.screencastVisibilityChangedc                  6    e Zd ZU dZded<   ed	d            ZdS )
ScreencastVisibilityChangedzk
    **EXPERIMENTAL**

    Fired when the page with currently enabled screencast was shown or hidden .
    r]   visibler   r   r   c                @     | t          |d                             S )Nr  )r  )r]   r   s     r   r   z%ScreencastVisibilityChanged.from_json	  s*    si))
 
 
 	
r   N)r   r   r   r  rh  r   r   r   r  r  	  sI           MMM
 
 
 [
 
 
r   r  zPage.windowOpenc                  T    e Zd ZU dZded<   ded<   ded<   ded<   edd            ZdS )
WindowOpenzq
    Fired when a new window is going to be opened, via window.open(), link click, form submission,
    etc.
    r   r6   window_nameztyping.List[str]window_featuresr]   user_gesturer   r   r   c           	          | t          |d                   t          |d                   d |d         D             t          |d                             S )Nr6   
windowNamec                ,    g | ]}t          |          S r   r   rf   s     r   ri   z(WindowOpen.from_json.<locals>.<listcomp>.	  s    DDDSVVDDDr   windowFeaturesuserGesture)r6   r  r  r  )r   r]   r   s     r   r   zWindowOpen.from_json)	  sa    sDK  D.//DDT2B-CDDDd=122	
 
 
 	
r   N)r   r   r   r  rh  r   r   r   r  r  	  sm          
 HHH%%%%
 
 
 [
 
 
r   r  zPage.compilationCacheProducedc                  @    e Zd ZU dZded<   ded<   ed
d            Zd	S )CompilationCacheProducedz
    **EXPERIMENTAL**

    Issued for every compilation cache generated. Is only available
    if Page.setGenerateCompilationCache is enabled.
    r   r6   rc  r   r   r   c                h     | t          |d                   t          |d                             S )Nr6   rc  )r6   rc  r   r   s     r   r   z"CompilationCacheProduced.from_json@	  s9    sDK  T&\""
 
 
 	
r   N)r   r   r   r  rh  r   r   r   r  r  3	  sR           HHHIII
 
 
 [
 
 
r   r  )rG  r   r   rH  r   )rR  r   rS  r9   r   rH  )r   rW  )NNNN)
r[  r9   r\  r  r]  r^  r_  rR   r   r`  )r[  r9   r   r`  )NN)rm  r   rS  r9   rn  rR   r   ro  )rv  r   r6   r   r   rW  )r   r  )r   r  )r   r  )r   r  )r   r  )r   r  )r   r  )rm  r   r6   r   r   r  )r   r  )r  r]   r  r9   r   rW  )r6   r   r  r9   r   r  rm  r  r  r  r   r  )r  r   r   rW  )NNNNNNNNNNNNNNNN)"r  rR   r  rR   r  rR   r   rP   r  rP   r  rP   r  rP   r  rP   r  rP   r  rP   r  r9   r  rR   r  r9   r  r9   r  rR   r  r9   r   r  )r  rR   r  r9   r   rW  )rN  r{   r   rW  )r  r   r   rW  )rm  r   r6   r   r  r   r  rR   r  rR   r   r  )r  r]   r   rW  )NNNNNNNN)r   r   r   r   r  r\   r  r]   r   rP   r  r  r  r  r  r  r	  r  r
  rR   r  r  r  r^  r   rW  )r  r\   r  r\   r  r\   r   rW  )r  r   r   rW  )r   r  r   rW  )rm  r   r$  r   r   rW  )r'  r   r(  r9   r   rW  )NNN)r,  rP   r-  rP   r.  rP   r   rW  )r  r]   r3  r9   r   rW  )NNNNN)r[  r9   r\  r  r6  r  r7  r  r8  r  r   rW  )rE  r   r   rW  )r6   r   rc  r   r   rW  )r   r   rP  r9   r   rW  )v
__future__r   utilr   r   dataclassesr   enumtyping r   r	   r
   r   r   r   r   r   r2   rL   r_   rt   r{   Enumr   r   r   r   r   r   r   r   r   r   r  r  r  r&  r*  r4  rQ  rV  rZ  rd  rf  rh  rj  rl  ru  rz  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+  r0  r2  r5  r=  r?  rA  rD  rG  rI  rK  rM  rO  rR  rT  rV  rX  rb  rj  rq  rx  r{  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   <module>r     sf   # " " " " " * * * * * * * * ! ! ! ! ! !                                      8 8 8 8 8c 8 8 8 <
 <
 <
 <
 <
 <
 <
 <
~ 2
 2
 2
 2
 2
 2
 2
 2
j 
 
 
 
 
 
 
 
< 
 
 
 
 
 
 
 
2A A A A As A A A    TY   4 $
 $
 $
 $
 $
 $
 $
 $
N /
 /
 /
 /
 /
 /
 /
 /
d       " 
 
 
 
 
 
 
 
D 
 
 
 
 
 
 
 
& 
 
 
 
 
 
 
 
D 4
 4
 4
 4
 4
 4
 4
 4
n $
 $
 $
 $
 $
 $
 $
 $
N 5
 5
 5
 5
 5
 5
 5
 5
p 
 
 
 
 
 
 
 
4    TY   $    $)    
 
 
 
 
 
 
 
* 
 
 
 
 
 
 
 
0    TY   *: : : :. ,0: : : : :.    )-(,*..2	    B )-    .	 	 	 		 	 	 	    ,07;L L L L L6   ,         .T T T TG G G GB B B B 
2 
2 
2 
2   *   &      <: : : :" -1    . *.;?-1;?( ( ( ( (V   $ ,07;26(,.2/3-104.2/3,0<@04046:.2!S S S S Sn /3;?    ,   &   "   . 15*. G  G  G  G  GF   &   0 )--1.2+/+/7;KO.2; ; ; ; ;|   2   &   &   , /3    0 ,0,0+/    6   * /3    0 )-(,*.+/04! ! ! ! !H   	 	 	 		 	 	 	   *	 	 	 	   &   .	 	 	 	 '+    .	 	 	 	   * ())

 
 
 
 
 
 
  *)
 %&&

 
 
 
 
 
 
  '&
( !""

 
 
 
 
 
 
  #"
( 344

 
 
 
 
 
 
  54
 !""

 
 
 
 
 
 
  #"
 "##

 
 
 
 
 
 
  $#
  !!

 
 
 
 
 
 
  "!
 ,--

 
 
 
 
 
 
  .-
4 ,--

 
 
 
 
 
 
  .-
0 '((

 
 
 
 
 
 
  )(
  '((

 
 
 
 
 
 
  )(
  %&&

 
 
 
 
 
 
  '&
2 $%%

 
 
 
 
 
 
  &%
2 &''


 

 

 

 

 

 

  ('

 %&&


 

 

 

 

 

 

  '&

 *++

 
 
 
 
 
 
  ,+
$ +,,

 
 
 
 
 
 
  -,
: "##

 
 
 
 
 
 
  $#
* "##

 
 
 
 
 
 
  $#
 +,,

 
 
 
 
 
 
  -,
& #$$

 
 
 
 
 
 
  %$
, /00

 
 
 
 
 
 
  10
  

 
 
 
 
 
 
   
0 ,--

 
 
 
 
 
 
  .-
 
 
r   