
    hgz                   n   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 G d dej                  Z G d dej                  Ze G d d                      Z G d dej                  Z G d dej                  Z G d dej                  Z G d dej                  Z G d dej                  Ze G d d                      Ze G d  d!                      Z G d" d#ej                  Z G d$ d%ej                  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 d0 d1                      Z$e G d2 d3                      Z%e G d4 d5                      Z& G d6 d7e          Z' G d8 d9ej                  Z(e G d: d;                      Z)e G d< d=                      Z* G d> d?ej                  Z+e G d@ dA                      Z,e G dB dC                      Z-e G dD dE                      Z.e G dF dG                      Z/e G dH dI                      Z0e G dJ dK                      Z1e G dL dM                      Z2 G dN dOej                  Z3 G dP dQej                  Z4e G dR dS                      Z5e G dT dU                      Z6 G dV dWej                  Z7e G dX dY                      Z8 G dZ d[ej                  Z9 G d\ d]ej                  Z: G d^ d_ej                  Z;e G d` da                      Z<dTdfZ=	 	 dUdVdlZ>dWdnZ?	 	 	 	 	 dXdYdwZ@	 dZd[dxZAdWdyZBdWdzZCdWd{ZD	 	 dUd\dZEd]dZFdWdZGdWdZHd^dZId_dZJd`dZKdadZLdbdZMdcdZNdddZOdWdZPdedZQdfdZR	 dZdgdZS	 	 	 	 dhdidZTdjdZU	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dkdldZV	 	 dUdmdZWdndZXdndZYdodZZ	 	 dUdpdƄZ[dqdȄZ\dqdɄZ]drd˄Z^dsd̈́Z_	 	 	 	 	 	 	 	 dtdudۄZ`dvd߄ZadwdZbdxdZcdydZd	 dZdzdZe	 	 	 d{d|dZfdqdZg	 dZd}dZh	 	 	 	 	 dXd~dZidWdZjdWdZkdWdZlddZmdWdZndqdZoddZpddZqdWd Zr	 dZddZsdWdZtdqdZu ed          e G d d                                  Zv ed	          e G d
 d                                  Zw ed          e G d d                                  Zx ed          e G d d                                  Zy ed          e G d d                                  Zz 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                                   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,                                  Z ed-          e G d. d/                                  Z ed0          e G d1 d2                                  Z ed3          e G d4 d5                                  Z ed6          e G d7 d8                                  Z ed9          e G d: d;                                  Z ed<          e G d= d>                                  Z ed?          e G d@ dA                                  Z edB          e G dC dD                                  Z edE          e G dF dG                                  Z edH          e G dI dJ                                  Z edK          e G dL dM                                  Z edN          e G dO dP                                  Z edQ          e G dR dS                                  ZdS (      )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    d/var/www/fb-scrape/myenv/lib/python3.11/site-packages/selenium/webdriver/common/devtools/v94/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dZdZdZdZd Zed             Z	dS )AdFrameTypezA
    Indicates whether a frame has been identified as an ad.
    nonechildrootc                    | j         S r   valuer   s    r   r   zAdFrameType.to_json+   
    zr   c                     | |          S r   r   r   s     r   r   zAdFrameType.from_json.   r    r   N)
r*   r+   r,   r-   NONECHILDROOTr   r.   r   r   r   r   r2   r2   #   sY          DED     [  r   r2   c                  6    e Zd ZdZdZdZd Zed             ZdS )AdFrameExplanation
ParentIsAdCreatedByAdScriptMatchedBlockingRulec                    | j         S r   r7   r   s    r   r   zAdFrameExplanation.to_json8   r9   r   c                     | |          S r   r   r   s     r   r   zAdFrameExplanation.from_json;   r    r   N)	r*   r+   r,   PARENT_IS_ADCREATED_BY_AD_SCRIPTMATCHED_BLOCKING_RULEr   r.   r   r   r   r   r?   r?   3   sO        L.1     [  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 )	AdFrameStatuszI
    Indicates whether a frame has been identified as an ad and why.
    r2   ad_frame_typeNz0typing.Optional[typing.List[AdFrameExplanation]]explanationsc                    t                      }| j                                        |d<   | j        d | j        D             |d<   |S )NadFrameTypec                6    g | ]}|                                 S r   r   .0is     r   
<listcomp>z)AdFrameStatus.to_json.<locals>.<listcomp>M   s     #K#K#KAAIIKK#K#K#Kr   rK   )dictrJ   r   rK   r   r   s     r   r   zAdFrameStatus.to_jsonI   sM    vv"088::](#K#K9J#K#K#KD r   c                     | t                               |d                   d|v rd |d         D             nd           S )NrM   rK   c                B    g | ]}t                               |          S r   )r?   r   rP   s     r   rS   z+AdFrameStatus.from_json.<locals>.<listcomp>T   s'    XXXa,66q99XXXr   )rJ   rK   )r2   r   r   s     r   r   zAdFrameStatus.from_jsonP   sY    s%//]0CDD\jnr\r\rXX4CWXXXXx|
 
 
 	
r   )	r*   r+   r,   r-   __annotations__rK   r   r.   r   r   r   r   rI   rI   @   si           EILIIII   
 
 [
 
 
r   rI   c                  >    e Zd ZdZdZdZdZdZd Ze	d             Z
dS )	SecureContextTypezQ
    Indicates whether the frame is a secure context and why it is the case.
    SecureSecureLocalhostInsecureSchemeInsecureAncestorc                    | j         S r   r7   r   s    r   r   zSecureContextType.to_jsona   r9   r   c                     | |          S r   r   r   s     r   r   zSecureContextType.from_jsond   r    r   N)r*   r+   r,   r-   SECURESECURE_LOCALHOSTINSECURE_SCHEMEINSECURE_ANCESTORr   r.   r   r   r   r   rZ   rZ   X   s`          F(&O*     [  r   rZ   c                  :    e Zd ZdZdZdZdZd Zed             Z	dS )CrossOriginIsolatedContextTypezV
    Indicates whether the frame is cross-origin isolated and why it is the case.
    IsolatedNotIsolatedNotIsolatedFeatureDisabledc                    | j         S r   r7   r   s    r   r   z&CrossOriginIsolatedContextType.to_jsonq   r9   r   c                     | |          S r   r   r   s     r   r   z(CrossOriginIsolatedContextType.from_jsont   r    r   N)
r*   r+   r,   r-   ISOLATEDNOT_ISOLATEDNOT_ISOLATED_FEATURE_DISABLEDr   r.   r   r   r   r   rf   rf   i   sZ          H L$@!     [  r   rf   c                  :    e Zd ZdZdZdZdZd Zed             Z	dS )GatedAPIFeaturesSharedArrayBuffers!SharedArrayBuffersTransferAllowedPerformanceMeasureMemoryPerformanceProfilec                    | j         S r   r7   r   s    r   r   zGatedAPIFeatures.to_json   r9   r   c                     | |          S r   r   r   s     r   r   zGatedAPIFeatures.from_json   r    r   N)
r*   r+   r,   SHARED_ARRAY_BUFFERS%SHARED_ARRAY_BUFFERS_TRANSFER_ALLOWEDPERFORMANCE_MEASURE_MEMORYPERFORMANCE_PROFILEr   r.   r   r   r   r   rp   rp   y   sV        /,O)!;.     [  r   rp   c                     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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!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.Z0d/Z1d0Z2d1Z3d2Z4d3Z5d4Z6d5Z7d6Z8d7Z9d8Z:d9Z;d:Z<d;Z=d<Z>d= Z?e@d>             ZAd?S )@PermissionsPolicyFeaturez
    All Permissions Policy features. This enum should match the one defined
    in third_party/blink/renderer/core/permissions_policy/permissions_policy_features.json5.
    accelerometerzambient-light-sensorzattribution-reportingautoplaycamerazch-dprzch-device-memoryzch-downlinkzch-ectzch-langzch-prefers-color-schemezch-rttzch-uaz
ch-ua-archzch-ua-bitnesszch-ua-platformzch-ua-modelzch-ua-mobilezch-ua-full-versionzch-ua-platform-versionzch-ua-reducedzch-viewport-widthzch-widthzclipboard-readzclipboard-writezcross-origin-isolatedzdirect-socketszdisplay-capturezdocument-domainzencrypted-mediazexecution-while-out-of-viewportzexecution-while-not-renderedzfocus-without-user-activation
fullscreen	frobulategamepadgeolocation	gyroscopehidzidle-detectionzinterest-cohortmagnetometer
microphonemidizotp-credentialspaymentzpicture-in-picturezpublickey-credentials-getzscreen-wake-lockserialzshared-autofillzstorage-access-apizsync-xhrztrust-token-redemptionusbzvertical-scrollz	web-sharezwindow-placementzxr-spatial-trackingc                    | j         S r   r7   r   s    r   r   z PermissionsPolicyFeature.to_json   r9   r   c                     | |          S r   r   r   s     r   r   z"PermissionsPolicyFeature.from_json   r    r   N)Br*   r+   r,   r-   ACCELEROMETERAMBIENT_LIGHT_SENSORATTRIBUTION_REPORTINGAUTOPLAYCAMERACH_DPRCH_DEVICE_MEMORYCH_DOWNLINKCH_ECTCH_LANGCH_PREFERS_COLOR_SCHEMECH_RTTCH_UA
CH_UA_ARCHCH_UA_BITNESSCH_UA_PLATFORMCH_UA_MODELCH_UA_MOBILECH_UA_FULL_VERSIONCH_UA_PLATFORM_VERSIONCH_UA_REDUCEDCH_VIEWPORT_WIDTHCH_WIDTHCLIPBOARD_READCLIPBOARD_WRITECROSS_ORIGIN_ISOLATEDDIRECT_SOCKETSDISPLAY_CAPTUREDOCUMENT_DOMAINENCRYPTED_MEDIAEXECUTION_WHILE_OUT_OF_VIEWPORTEXECUTION_WHILE_NOT_RENDEREDFOCUS_WITHOUT_USER_ACTIVATION
FULLSCREEN	FROBULATEGAMEPADGEOLOCATION	GYROSCOPEHIDIDLE_DETECTIONINTEREST_COHORTMAGNETOMETER
MICROPHONEMIDIOTP_CREDENTIALSPAYMENTPICTURE_IN_PICTUREPUBLICKEY_CREDENTIALS_GETSCREEN_WAKE_LOCKSERIALSHARED_AUTOFILLSTORAGE_ACCESS_APISYNC_XHRTRUST_TOKEN_REDEMPTIONUSBVERTICAL_SCROLL	WEB_SHAREWINDOW_PLACEMENTXR_SPATIAL_TRACKINGr   r.   r   r   r   r   r|   r|      s         $M13HFF)KFG7FEJ#M%NK!L-5#M+H%N'O3%N'O'O'O&G##A $C!JIGKI
C%N'O!LJD'OG- ;)F'O-H5
C'OI)/     [  r   r|   c                  6    e Zd ZdZdZdZd Zed             ZdS )PermissionsPolicyBlockReasonzA
    Reason for a permissions policy feature to be disabled.
    HeaderIframeAttributec                    | j         S r   r7   r   s    r   r   z$PermissionsPolicyBlockReason.to_json   r9   r   c                     | |          S r   r   r   s     r   r   z&PermissionsPolicyBlockReason.from_json   r    r   N)	r*   r+   r,   r-   HEADERIFRAME_ATTRIBUTEr   r.   r   r   r   r   r   r      sU          F(     [  r   r   c                  @    e Zd ZU ded<   ded<   d Zed             ZdS )PermissionsPolicyBlockLocatorr   frame_idr   block_reasonc                    t                      }| j                                        |d<   | j                                        |d<   |S )NframeIdblockReason)rT   r   r   r   rU   s     r   r   z%PermissionsPolicyBlockLocator.to_json   s@    vv-//11Y"/7799]r   c                     | t                               |d                   t                              |d                             S )Nr   r   )r   r   )r   r   r   r   s     r   r   z'PermissionsPolicyBlockLocator.from_json   sF    s&&tI775??]@STT
 
 
 	
r   Nr*   r+   r,   rX   r   r.   r   r   r   r   r   r      sX         ....   
 
 [
 
 
r   r   c                  N    e Zd ZU ded<   ded<   dZded<   d Zed	             ZdS )
PermissionsPolicyFeatureStater|   featureboolallowedNz.typing.Optional[PermissionsPolicyBlockLocator]locatorc                    t                      }| j                                        |d<   | j        |d<   | j        | j                                        |d<   |S )Nr   r   r   )rT   r   r   r   r   rU   s     r   r   z%PermissionsPolicyFeatureState.to_json   sQ    vv,..00Y,Y<#"l2244DOr   c                     | t                               |d                   t          |d                   d|v r t                              |d                   nd           S )Nr   r   r   )r   r   r   )r|   r   r   r   r   s     r   r   z'PermissionsPolicyFeatureState.from_json  sf    s,66tIGGi))PY]aPaPa1;;DOLLLgk
 
 
 	
r   )r*   r+   r,   rX   r   r   r.   r   r   r   r   r   r      sf         %%%%MMM>BGBBBB   
 
 [
 
 
r   r   c                  Z    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ed             ZdS )OriginTrialTokenStatuszs
    Origin Trial(https://www.chromium.org/blink/origin-trials) support.
    Status for an Origin Trial token.
    SuccessNotSupportedInsecureExpiredWrongOriginInvalidSignature	MalformedWrongVersionFeatureDisabledTokenDisabledFeatureDisabledForUserc                    | j         S r   r7   r   s    r   r   zOriginTrialTokenStatus.to_json  r9   r   c                     | |          S r   r   r   s     r   r   z OriginTrialTokenStatus.from_json   r    r   N)r*   r+   r,   r-   SUCCESSNOT_SUPPORTEDINSECUREEXPIREDWRONG_ORIGININVALID_SIGNATURE	MALFORMEDWRONG_VERSIONFEATURE_DISABLEDTOKEN_DISABLEDFEATURE_DISABLED_FOR_USERr   r.   r   r   r   r   r   r     s          G"MHG L*I"M($N 8     [  r   r   c                  >    e Zd ZdZdZdZdZdZd Ze	d             Z
dS )	OriginTrialStatusz%
    Status for an Origin Trial.
    EnabledValidTokenNotProvidedOSNotSupportedTrialNotAllowedc                    | j         S r   r7   r   s    r   r   zOriginTrialStatus.to_json.  r9   r   c                     | |          S r   r   r   s     r   r   zOriginTrialStatus.from_json1  r    r   N)r*   r+   r,   r-   ENABLEDVALID_TOKEN_NOT_PROVIDEDOS_NOT_SUPPORTEDTRIAL_NOT_ALLOWEDr   r.   r   r   r   r   r   r   %  sa          G6')     [  r   r   c                  2    e Zd ZdZdZd Zed             ZdS )OriginTrialUsageRestrictionNoneSubsetc                    | j         S r   r7   r   s    r   r   z#OriginTrialUsageRestriction.to_json:  r9   r   c                     | |          S r   r   r   s     r   r   z%OriginTrialUsageRestriction.from_json=  r    r   N)r*   r+   r,   r;   SUBSETr   r.   r   r   r   r   r	  r	  6  sH        DF     [  r   r	  c                  h    e Zd ZU ded<   ded<   ded<   ded<   ded<   d	ed
<   d Zed             ZdS )OriginTrialTokenr   originr   match_sub_domains
trial_nameznetwork.TimeSinceEpochexpiry_timeis_third_partyr	  usage_restrictionc                    t                      }| j        |d<   | j        |d<   | j        |d<   | j                                        |d<   | j        |d<   | j                                        |d<   |S )Nr  matchSubDomains	trialName
expiryTimeisThirdPartyusageRestriction)rT   r  r  r  r  r   r  r  rU   s     r   r   zOriginTrialToken.to_jsonP  su    vvX"&"8 O[!-5577\#2^#'#9#A#A#C#C r   c                >    | t          |d                   t          |d                   t          |d                   t          j                            |d                   t          |d                   t
                              |d                             S )Nr  r  r  r  r  r  )r  r  r  r  r  r  )r   r   r   TimeSinceEpochr   r	  r   s     r   r   zOriginTrialToken.from_jsonZ  s    stH~&&"4(9#:;;4,--.88l9KLL^ 4559CCDI[D\]]
 
 
 	
r   Nr   r   r   r   r  r  B  s         KKKOOO''''2222   
 
 [
 
 
r   r  c                  N    e Zd ZU ded<   ded<   dZded<   d Zed	             ZdS )
OriginTrialTokenWithStatusr   raw_token_textr   statusNz!typing.Optional[OriginTrialToken]parsed_tokenc                    t                      }| j        |d<   | j                                        |d<   | j        | j                                        |d<   |S )NrawTokenTextr"  parsedToken)rT   r!  r"  r   r#  rU   s     r   r   z"OriginTrialTokenWithStatus.to_jsonp  sV    vv#2^,,..X("&"3";";"="=Dr   c                     | t          |d                   t                              |d                   d|v r t                              |d                   nd           S )Nr%  r"  r&  )r!  r"  r#  )r   r   r   r  r   s     r   r   z$OriginTrialTokenWithStatus.from_jsonx  sh    stN344)33DNCCLY]aLaLa)33D4GHHHgk
 
 
 	
r   )r*   r+   r,   rX   r#  r   r.   r   r   r   r   r   r   f  sk         """" 7;L::::   
 
 [
 
 
r   r   c                  J    e Zd ZU ded<   ded<   ded<   d Zed             Zd	S )
OriginTrialr   r  r   r"  z'typing.List[OriginTrialTokenWithStatus]tokens_with_statusc                    t                      }| j        |d<   | j                                        |d<   d | j        D             |d<   |S )Nr  r"  c                6    g | ]}|                                 S r   rO   rP   s     r   rS   z'OriginTrial.to_json.<locals>.<listcomp>       #Q#Q#QAAIIKK#Q#Q#Qr   tokensWithStatus)rT   r  r"  r   r*  rU   s     r   r   zOriginTrial.to_json  sO    vv O[,,..X#Q#Q9P#Q#Q#Q r   c                     | t          |d                   t                              |d                   d |d         D                       S )Nr  r"  c                B    g | ]}t                               |          S r   )r   r   rP   s     r   rS   z)OriginTrial.from_json.<locals>.<listcomp>  s'    jjjA : D DQ G Gjjjr   r.  )r  r"  r*  )r   r   r   r   s     r   r   zOriginTrial.from_json  sX    s4,--$..tH~>>jjQUVhQijjj
 
 
 	
r   Nr   r   r   r   r)  r)    sa         OOO????   
 
 [
 
 
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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	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domain_and_registrysecurity_origin	mime_typerZ   secure_context_typerf   "cross_origin_isolated_context_typeztyping.List[GatedAPIFeatures]gated_api_featuresNtyping.Optional[FrameId]	parent_idtyping.Optional[str]nameurl_fragmentunreachable_urlztyping.Optional[AdFrameStatus]ad_frame_statusz)typing.Optional[typing.List[OriginTrial]]origin_trialsc                   t                      }| j                                        |d<   | j                                        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   | j                                        |d<   | j	                                        |d<   d	 | j
        D             |d
<   | j        | j                                        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        | j                                        |d<   | j        d | j        D             |d<   |S )NidloaderIdr6  domainAndRegistrysecurityOriginmimeTypesecureContextTypecrossOriginIsolatedContextTypec                6    g | ]}|                                 S r   rO   rP   s     r   rS   z!Frame.to_json.<locals>.<listcomp>  r-  r   gatedAPIFeaturesparentIdr@  urlFragmentunreachableUrladFrameStatusc                6    g | ]}|                                 S r   rO   rP   s     r   rS   z!Frame.to_json.<locals>.<listcomp>  s     #L#L#LAAIIKK#L#L#Lr   originTrials)rT   r3  r   r5  r6  r7  r8  r9  r:  r;  r<  r>  r@  rA  rB  rC  rD  rU   s     r   r   zFrame.to_json  sh   vvX%%''T
>1133ZhU$($< !!%!5>Z$($<$D$D$F$F !151X1`1`1b1b-.#Q#Q9P#Q#Q#Q >%#~5577D9 9DL("&"3D+%)%9D!"+$($8$@$@$B$BD!)#L#L9K#L#L#LD r   c                :    | t                               |d                   t          j                            |d                   t	          |d                   t	          |d                   t	          |d                   t	          |d                   t
                              |d                   t                              |d                   d	 |d
         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d |d         D             nd           S )NrF  rG  r6  rH  rI  rJ  rK  rL  c                B    g | ]}t                               |          S r   )rp   r   rP   s     r   rS   z#Frame.from_json.<locals>.<listcomp>  s'    ```! 0 : :1 = =```r   rN  rO  r@  rP  rQ  rR  rT  c                B    g | ]}t                               |          S r   r)  r   rP   s     r   rS   z#Frame.from_json.<locals>.<listcomp>  s&    RRR;0033RRRr   )r3  r5  r6  r7  r8  r9  r:  r;  r<  r>  r@  rA  rB  rC  rD  )r   r   r   LoaderIdr   rZ   rf   rI   r   s     r   r   zFrame.from_json  s   s!!$t*--&00j1ABBDK   #D)<$= > >%5 677$z*++ 1 ; ;DAT<U V V/M/W/WX\]}X~//``tL^G_```=G4=O=Og''Z(8999UY&,nnT&\"""$5Bd5J5JT-0111PT;Kt;S;SC%5 6777Y]N]aeNeNeM33D4IJJJkoVdhlVlVlRRT.=QRRRRrv
 
 
 	
r   )r*   r+   r,   r-   rX   r>  r@  rA  rB  rC  rD  r   r.   r   r   r   r   r2  r2    s4          LLL   HHH   NNN +*** GFFF 6555 +/I.... "&D%%%% *.L---- -1O0000 7;O:::: @DMCCCC  2 
 
 [
 
 
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_r9  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  typerJ  lastModifiedcontentSizerb  rc  )	rT   r6  r\  r   r9  r^  r`  rb  rc  rU   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  re  rJ  rf  rg  rb  rc  )r6  r\  r9  r^  r`  rb  rc  )r   r   ResourceTyper   r  floatr   r   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-   rX   r^  r`  rb  rc  r   r.   r   r   r   r   r[  r[    s           HHH   NNN >BMAAAA ,0L//// %)F(((( '+H****   	
 	
 [	
 	
 	
r   r[  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 )Nrm  c                6    g | ]}|                                 S r   rO   rP   s     r   rS   z-FrameResourceTree.to_json.<locals>.<listcomp>C  s     AAAQQYY[[AAAr   rn  c                6    g | ]}|                                 S r   rO   rP   s     r   rS   z-FrameResourceTree.to_json.<locals>.<listcomp>E       "J"J"J1199;;"J"J"Jr   childFrames)rT   rm  r   rn  ro  rU   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 )Nrm  c                B    g | ]}t                               |          S r   )r[  r   rP   s     r   rS   z/FrameResourceTree.from_json.<locals>.<listcomp>L  s&    MMMa}..q11MMMr   rn  rt  c                B    g | ]}t                               |          S r   rl  r   rP   s     r   rS   z/FrameResourceTree.from_json.<locals>.<listcomp>M  s'    VVVQ+55a88VVVr   )rm  rn  ro  r2  r   r   s     r   r   zFrameResourceTree.from_jsonH  sl    s//$w-00MM4;LMMMZgkoZoZoVV$}BUVVVVuy
 
 
 	
r   	r*   r+   r,   r-   rX   ro  r   r.   r   r   r   r   rl  rl  2  sx           LLL *))) EILHHHH   
 
 [
 
 
r   rl  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  rm  Nz'typing.Optional[typing.List[FrameTree]]ro  c                    t                      }| j                                        |d<   | j        d | j        D             |d<   |S )Nrm  c                6    g | ]}|                                 S r   rO   rP   s     r   rS   z%FrameTree.to_json.<locals>.<listcomp>`  rs  r   rt  )rT   rm  r   ro  rU   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 )Nrm  rt  c                B    g | ]}t                               |          S r   r|  r   rP   s     r   rS   z'FrameTree.from_json.<locals>.<listcomp>g  s&    NNNQ)--a00NNNr   )rm  ro  ry  r   s     r   r   zFrameTree.from_jsonc  sV    s//$w-00R_cgRgRgNN$}:MNNNNmq
 
 
 	
r   rz  r   r   r   r|  r|  Q  si           LLL =AL@@@@   
 
 [
 
 
r   r|  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_jsono  r   r   r   c                     | |          S r   r   r   s     r   r   zScriptIdentifier.from_jsonr  r    r   c                j    d                     t                                                                S )NzScriptIdentifier({})r"   r&   s    r   r%   zScriptIdentifier.__repr__v  s'    %,,UWW-=-=-?-?@@@r   r(   )r   r   r   r  r)   r0   s   @r   r  r  k  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   r7   r   s    r   r   zTransitionType.to_json  r9   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  z  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 )NrF  r6  userTypedURLr  transitionType)rT   r3  r6  r  r  r  r   rU   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 )NrF  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-   rX   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.
    rj  
offset_toppage_scale_factordevice_widthdevice_heightscroll_offset_xscroll_offset_yNr]  	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  )	rT   r  r  r  r  r  r  r  r   rU   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  )rj  r   r  r   r   s     r   r   z!ScreencastFrameMetadata.from_json  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-   rX   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   r7   r   s    r   r   zDialogType.to_json  r9   r   c                     | |          S r   r   r   s     r   r   zDialogType.from_json  r    r   N)r*   r+   r,   r-   ALERTCONFIRMPROMPTBEFOREUNLOADr   r.   r   r   r   r   r  r    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  )rT   r  r  r  r  rU   s     r   r   zAppManifestError.to_json  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     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  )rT   r  rU   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_json0  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)rT   r  r  r  r  rU   s     r   r   zLayoutViewport.to_jsonH  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_jsonP  sY    stG}%%tG}%%T-011d>233	
 
 
 	
r   Nr  r   r   r   r  r  7  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.
    rj  offset_xoffset_yr  r  r  r  scaleNr_  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  )	rT   r  r  r  r  r  r  r  r  rU   s     r   r   zVisualViewport.to_jsonw  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  rj  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-   rX   r  r   r.   r   r   r   r   r  r  Z  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.
    rj  xywidthheightr  c                    t                      }| j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   |S )Nr  r  r  r  r  )rT   r  r  r  r  r  rU   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.
    Nr?  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  )rT   r  r  r  r   r  r  r  rU   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_json  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  rX   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  )rT   r  r  rU   s     r   r   zFontSizes.to_json  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_json  sV    s.8D.@.@Sj)***d(/4#d7m$$$T
 
 
 	
r   )
r*   r+   r,   r-   r  rX   r  r   r.   r   r   r   r   r  r    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   r7   r   s    r   r   zClientNavigationReason.to_json  r9   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    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   r7   r   s    r   r   z#ClientNavigationDisposition.to_json&  r9   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@  r8   c                J    t                      }| j        |d<   | j        |d<   |S )Nr@  r8   )rT   r@  r8   rU   s     r   r   z#InstallabilityErrorArgument.to_json6  s&    vvyV
Wr   c                h     | t          |d                   t          |d                             S )Nr@  r8   )r@  r8   r  r   s     r   r   z%InstallabilityErrorArgument.from_json<  s9    sT&\""d7m$$
 
 
 	
r   Nr   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   rO   rP   s     r   rS   z/InstallabilityError.to_json.<locals>.<listcomp>R  s     !L!L!L!!))++!L!L!Lr   errorArguments)rT   r0  r1  rU   s     r   r   zInstallabilityError.to_jsonO  s7    vv-Y!L!Lt7K!L!L!Lr   c                b     | t          |d                   d |d         D                       S )Nr3  c                B    g | ]}t                               |          S r   )r+  r   rP   s     r   rS   z1InstallabilityError.from_json.<locals>.<listcomp>Y  s'    fff!8BB1EEfffr   r5  )r0  r1  r  r   s     r   r   zInstallabilityError.from_jsonU  sA    si))fftTdOefff
 
 
 	
r   Nr  r   r   r   r/  r/  D  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noReferrerWhenDowngrader  originWhenCrossOrigin
sameOriginstrictOriginstrictOriginWhenCrossOrigin	unsafeUrlc                    | j         S r   r7   r   s    r   r   zReferrerPolicy.to_jsonj  r9   r   c                     | |          S r   r   r   s     r   r   zReferrerPolicy.from_jsonm  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   r9  r9  ]  su          K!:F6K"M&C#J     [  r   r9  c                  H    e Zd ZU dZded<   dZded<   d Zed             ZdS )	CompilationCacheParamszV
    Per-script compilation cache parameters for ``Page.produceCompilationCache``
    r   r6  Nra  eagerc                X    t                      }| j        |d<   | j        
| j        |d<   |S )Nr6  rM  )rT   r6  rM  rU   s     r   r   zCompilationCacheParams.to_json~  s.    vvhU:! JDMr   c                t     | t          |d                   d|v rt          |d                   nd           S )Nr6  rM  )r6  rM  r   r   r   s     r   r   z CompilationCacheParams.from_json  sF    sDK  )0D$tG}%%%d
 
 
 	
r   )	r*   r+   r,   r-   rX   rM  r   r.   r   r   r   r   rL  rL  r  sh           HHH $(E''''   
 
 [
 
 
r   rL  c                  6    e Zd ZdZdZdZd Zed             ZdS )NavigationTypez-
    The type of a frameNavigated event.
    
NavigationBackForwardCacheRestorec                    | j         S r   r7   r   s    r   r   zNavigationType.to_json  r9   r   c                     | |          S r   r   r   s     r   r   zNavigationType.from_json  r    r   N)	r*   r+   r,   r-   
NAVIGATIONBACK_FORWARD_CACHE_RESTOREr   r.   r   r   r   r   rR  rR    sU          J!:     [  r   rR  c                     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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!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.Z0d/Z1d0Z2d1Z3d2Z4d3Z5d4Z6d5Z7d6Z8d7Z9d8Z:d9Z;d:Z<d;Z=d<Z>d=Z?d>Z@d?ZAd@ZBdAZCdBZDdCZEdDZFdEZGdFZHdGZIdHZJdIZKdJZLdKZMdLZNdMZOdNZPdOZQdPZRdQZSdRZTdSZUdTZVdUZWdVZXdWZYdXZZdYZ[dZZ\d[Z]d\Z^d]Z_d^Z`d_Zad`ZbdaZcdbZddcZeddZfdeZgdfZhdgZidhZjdiZkdjZldkZmdl Zneodm             ZpdnS )o!BackForwardCacheNotRestoredReasonz>
    List of not restored reasons for back-forward cache.
    NotMainFrameBackForwardCacheDisabledRelatedActiveContentsExistHTTPStatusNotOKSchemeNotHTTPOrHTTPSLoadingWasGrantedMediaAccessDisableForRenderFrameHostCalledDomainNotAllowedHTTPMethodNotGETSubframeIsNavigatingTimeout
CacheLimitJavaScriptExecutionRendererProcessKilledRendererProcessCrashedGrantedMediaStreamAccessSchedulerTrackedFeatureUsedConflictingBrowsingInstanceCacheFlushedServiceWorkerVersionActivationSessionRestoredServiceWorkerPostMessage3EnteredBackForwardCacheBeforeServiceWorkerHostAddedRenderFrameHostReused_SameSiteRenderFrameHostReused_CrossSiteServiceWorkerClaimIgnoreEventAndEvictHaveInnerContentsTimeoutPuttingInCache#BackForwardCacheDisabledByLowMemory%BackForwardCacheDisabledByCommandLine,NetworkRequestDatapipeDrainedAsBytesConsumerNetworkRequestRedirectedNetworkRequestTimeoutNetworkExceedsBufferLimit!NavigationCancelledWhileRestoringNotMostRecentNavigationEntry$BackForwardCacheDisabledForPrerenderUserAgentOverrideDiffersForegroundCacheLimitBrowsingInstanceNotSwapped#BackForwardCacheDisabledForDelegateOptInUnloadHeaderNotPresentUnloadHandlerExistsInSubFrameServiceWorkerUnregistrationCacheControlNoStore!CacheControlNoStoreCookieModified)CacheControlNoStoreHTTPOnlyCookieModifiedNoResponseHeadUnknown,ActivationNavigationsDisallowedForBug1234857	WebSocketWebTransportWebRTC"MainResourceHasCacheControlNoStore"MainResourceHasCacheControlNoCache!SubresourceHasCacheControlNoStore!SubresourceHasCacheControlNoCacheContainsPluginsDocumentLoadedDedicatedWorkerOrWorkletOutstandingNetworkRequestOthersOutstandingIndexedDBTransaction RequestedNotificationsPermissionRequestedMIDIPermissionRequestedAudioCapturePermissionRequestedVideoCapturePermission'RequestedBackForwardCacheBlockedSensors!RequestedBackgroundWorkPermissionBroadcastChannelIndexedDBConnectionWebXRSharedWorkerWebLocksWebHIDWebShareRequestedStorageAccessGrantWebNfcWebFileSystemOutstandingNetworkRequestFetchOutstandingNetworkRequestXHR	AppBannerPrintingWebDatabasePictureInPicturePortalSpeechRecognizerIdleManagerPaymentManagerSpeechSynthesisKeyboardLockWebOTPService%OutstandingNetworkRequestDirectSocketIsolatedWorldScriptInjectedStyleSheet MediaSessionImplOnServiceCreatedSecurityHandlerWebAuthenticationAPIFileChooserSerialFileSystemAccessMediaDevicesDispatcherHostWebBluetoothWebUSBMediaSessionc                    | j         S r   r7   r   s    r   r   z)BackForwardCacheNotRestoredReason.to_json  r9   r   c                     | |          S r   r   r   s     r   r   z+BackForwardCacheNotRestoredReason.from_json  r    r   N)qr*   r+   r,   r-   NOT_MAIN_FRAMEBACK_FORWARD_CACHE_DISABLEDRELATED_ACTIVE_CONTENTS_EXISTHTTP_STATUS_NOT_OKSCHEME_NOT_HTTP_OR_HTTPSLOADINGWAS_GRANTED_MEDIA_ACCESS$DISABLE_FOR_RENDER_FRAME_HOST_CALLEDDOMAIN_NOT_ALLOWEDHTTP_METHOD_NOT_GETSUBFRAME_IS_NAVIGATINGTIMEOUTCACHE_LIMITJAVA_SCRIPT_EXECUTIONRENDERER_PROCESS_KILLEDRENDERER_PROCESS_CRASHEDGRANTED_MEDIA_STREAM_ACCESSSCHEDULER_TRACKED_FEATURE_USEDCONFLICTING_BROWSING_INSTANCECACHE_FLUSHED!SERVICE_WORKER_VERSION_ACTIVATIONSESSION_RESTOREDSERVICE_WORKER_POST_MESSAGE;ENTERED_BACK_FORWARD_CACHE_BEFORE_SERVICE_WORKER_HOST_ADDED"RENDER_FRAME_HOST_REUSED_SAME_SITE#RENDER_FRAME_HOST_REUSED_CROSS_SITESERVICE_WORKER_CLAIMIGNORE_EVENT_AND_EVICTHAVE_INNER_CONTENTSTIMEOUT_PUTTING_IN_CACHE)BACK_FORWARD_CACHE_DISABLED_BY_LOW_MEMORY+BACK_FORWARD_CACHE_DISABLED_BY_COMMAND_LINE2NETWORK_REQUEST_DATAPIPE_DRAINED_AS_BYTES_CONSUMERNETWORK_REQUEST_REDIRECTEDNETWORK_REQUEST_TIMEOUTNETWORK_EXCEEDS_BUFFER_LIMIT$NAVIGATION_CANCELLED_WHILE_RESTORING NOT_MOST_RECENT_NAVIGATION_ENTRY)BACK_FORWARD_CACHE_DISABLED_FOR_PRERENDERUSER_AGENT_OVERRIDE_DIFFERSFOREGROUND_CACHE_LIMITBROWSING_INSTANCE_NOT_SWAPPED(BACK_FORWARD_CACHE_DISABLED_FOR_DELEGATE OPT_IN_UNLOAD_HEADER_NOT_PRESENT"UNLOAD_HANDLER_EXISTS_IN_SUB_FRAMESERVICE_WORKER_UNREGISTRATIONCACHE_CONTROL_NO_STORE&CACHE_CONTROL_NO_STORE_COOKIE_MODIFIED0CACHE_CONTROL_NO_STORE_HTTP_ONLY_COOKIE_MODIFIEDNO_RESPONSE_HEADUNKNOWN0ACTIVATION_NAVIGATIONS_DISALLOWED_FOR_BUG1234857
WEB_SOCKETWEB_TRANSPORTWEB_RTC(MAIN_RESOURCE_HAS_CACHE_CONTROL_NO_STORE(MAIN_RESOURCE_HAS_CACHE_CONTROL_NO_CACHE&SUBRESOURCE_HAS_CACHE_CONTROL_NO_STORE&SUBRESOURCE_HAS_CACHE_CONTROL_NO_CACHECONTAINS_PLUGINSDOCUMENT_LOADEDDEDICATED_WORKER_OR_WORKLET"OUTSTANDING_NETWORK_REQUEST_OTHERS"OUTSTANDING_INDEXED_DB_TRANSACTION"REQUESTED_NOTIFICATIONS_PERMISSIONREQUESTED_MIDI_PERMISSION"REQUESTED_AUDIO_CAPTURE_PERMISSION"REQUESTED_VIDEO_CAPTURE_PERMISSION,REQUESTED_BACK_FORWARD_CACHE_BLOCKED_SENSORS$REQUESTED_BACKGROUND_WORK_PERMISSIONBROADCAST_CHANNELINDEXED_DB_CONNECTIONWEB_XRSHARED_WORKER	WEB_LOCKSWEB_HIDr   REQUESTED_STORAGE_ACCESS_GRANTWEB_NFCWEB_FILE_SYSTEM!OUTSTANDING_NETWORK_REQUEST_FETCHOUTSTANDING_NETWORK_REQUEST_XHR
APP_BANNERPRINTINGWEB_DATABASEr   PORTALSPEECH_RECOGNIZERIDLE_MANAGERPAYMENT_MANAGERSPEECH_SYNTHESISKEYBOARD_LOCKWEB_OTP_SERVICE)OUTSTANDING_NETWORK_REQUEST_DIRECT_SOCKETISOLATED_WORLD_SCRIPTINJECTED_STYLE_SHEET%MEDIA_SESSION_IMPL_ON_SERVICE_CREATEDSECURITY_HANDLERWEB_AUTHENTICATION_APIFILE_CHOOSERr   FILE_SYSTEM_ACCESSMEDIA_DEVICES_DISPATCHER_HOSTWEB_BLUETOOTHWEB_USBMEDIA_SESSIONr   r.   r   r   r   r   rZ  rZ    s         $N"<$@!*5G6+L(+,3GK157"<%B"$A!"M(H%("<Bw?)I&*K'/2-60U-2Y/9g6!;5#> +N('E$0V-"<3$@!/T,'D$)H&$A!2-P*7b4'G7e4J"MG/S,/S,-P*-P*(&O"<)J&)J&)K& 9)J&)J&3\0+N(*1F"MIGI%B"G%O(H%&D#JH L+F* L&O("M%O0W-1/,N)(3 LF+$@!"MG"M     [  r   rZ  c                  :    e Zd ZdZdZdZdZd Zed             Z	dS )%BackForwardCacheNotRestoredReasonTypez?
    Types of not restored reasons for back-forward cache.
    SupportPendingPageSupportNeededCircumstantialc                    | j         S r   r7   r   s    r   r   z-BackForwardCacheNotRestoredReasonType.to_json  r9   r   c                     | |          S r   r   r   s     r   r   z/BackForwardCacheNotRestoredReasonType.from_json  r    r   N)
r*   r+   r,   r-   SUPPORT_PENDINGPAGE_SUPPORT_NEEDEDCIRCUMSTANTIALr   r.   r   r   r   r   r/  r/    sZ          'O-%N     [  r   r/  c                  @    e Zd ZU ded<   ded<   d Zed             ZdS )&BackForwardCacheNotRestoredExplanationr/  r\  rZ  reasonc                    t                      }| j                                        |d<   | j                                        |d<   |S )Nre  r:  )rT   r\  r   r:  rU   s     r   r   z.BackForwardCacheNotRestoredExplanation.to_json+  s>    vvz))++V,,..Xr   c                     | t                               |d                   t                              |d                             S )Nre  r:  )r\  r:  )r/  r   rZ  r   s     r   r   z0BackForwardCacheNotRestoredExplanation.from_json1  sE    s7AA$v,OO4>>tH~NN
 
 
 	
r   Nr   r   r   r   r9  r9  #  s\          1000 .---   
 
 [
 
 
r   r9  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rT   r  r   )r=  rC  cmd_dictr   s       r   add_script_to_evaluate_on_loadrG  9  sQ       &&F*F>2 H >>D%%d<&8999r   source
world_namer?  include_command_line_apira  c              #     K   t                      }| |d<   |||d<   |||d<   d|d}|V }t                              |d                   S )aC  
    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.
    :param include_command_line_api: **(EXPERIMENTAL)** *(Optional)* Specifies whether command line API should be available to the script, defaults to false.
    :returns: Identifier of the added script.
    rH  N	worldNameincludeCommandLineAPIz%Page.addScriptToEvaluateOnNewDocumentrA  rD  rE  )rH  rI  rJ  rC  rF  r   s         r   &add_script_to_evaluate_on_new_documentrN  N  sr       &&FF8({+*B&'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).
    rB  zPage.bringToFrontNr   rF  r   s     r   bring_to_frontrR  i  s$      
 	%H >>DDDr   format_qualityr	  cliptyping.Optional[Viewport]from_surfacecapture_beyond_viewport/typing.Generator[T_JSON_DICT, T_JSON_DICT, str]c              #     K   t                      }| | |d<   |||d<   ||                                |d<   |||d<   |||d<   d|d}|V }t          |d	                   S )
aI  
    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.
    :param capture_beyond_viewport: **(EXPERIMENTAL)** *(Optional)* Capture the screenshot beyond the viewport. Defaults to false.
    :returns: Base64-encoded image data.
    Nr#   rT  rU  fromSurfacecaptureBeyondViewportzPage.captureScreenshotrA  data)rT   r   r   )rS  rT  rU  rW  rX  rC  rF  r   s           r   capture_screenshotr^  s  s      " &&F"x#yv ,}**A&'* 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.captureSnapshotrA  r]  )rT   r   )rS  rC  rF  r   s       r   capture_snapshotr`    sP       &&F"x( H >>DtF|r   c               #     K   ddi} | V }dS )zE
    Clears the overridden device metrics.

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

    **EXPERIMENTAL**
    rB  z#Page.clearDeviceOrientationOverrideNr   rQ  s     r   !clear_device_orientation_overriderd    s$       	7H >>DDDr   c               #     K   ddi} | V }dS )z?
    Clears the overridden Geolocation Position and Error.
    rB  zPage.clearGeolocationOverrideNr   rQ  s     r   clear_geolocation_overriderf    s$      
 	1H >>DDDr   r   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.
    r   NrL  grantUniveralAccesszPage.createIsolatedWorldrA  executionContextId)rT   r   r   ExecutionContextIdr   )r   rI  rg  rC  rF  r   s         r   create_isolated_worldrm    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.deleteCookierA  NrT   )rn  r6  rC  rF  r   s        r   delete_cookierr    sE       &&F&F<F5M% H >>DDDr   c               #     K   ddi} | V }dS )z-
    Disables page domain notifications.
    rB  zPage.disableNr   rQ  s     r   disablert    s#      
 	.H >>DDDr   c               #     K   ddi} | V }dS )z,
    Enables page domain notifications.
    rB  zPage.enableNr   rQ  s     r   enablerv    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
    rB  zPage.getAppManifestr6  c                B    g | ]}t                               |          S r   )r  r   rP   s     r   rS   z$get_app_manifest.<locals>.<listcomp>&  s'    ???1		#	#A	&	&???r   errorsr]  Nparsed)r   r  r   rQ  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: 
    rB  zPage.getInstallabilityErrorsc                B    g | ]}t                               |          S r   )r/  r   rP   s     r   rS   z-get_installability_errors.<locals>.<listcomp>8  s'    SSS))!,,SSSr   installabilityErrorsr   rQ  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  rB  zPage.getManifestIconsprimaryIconNr  rQ  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.
    rB  zPage.getCookiesc                L    g | ]!}t           j                            |          "S r   )r   Cookier   rP   s     r   rS   zget_cookies.<locals>.<listcomp>W  s(    AAAAGN$$Q''AAAr   cookiesr   rQ  s     r   get_cookiesr  J  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.
    rB  zPage.getFrameTree	frameTreer  rQ  s     r   get_frame_treer  Z  s9       	%H >>DtK0111r   typing.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[LayoutViewport, VisualViewport, dom.Rect, LayoutViewport, VisualViewport, dom.Rect]]c            	   #    K   ddi} | V }t                               |d                   t                              |d                   t          j                            |d                   t                               |d                   t                              |d                   t          j                            |d                   fS )	a  
    Returns metrics relating to the layouting of the page, such as viewport bounds/scale.

    :returns: A tuple with the following items:

        0. **layoutViewport** - Deprecated metrics relating to the layout viewport. Can be in DP or in CSS pixels depending on the ``enable-use-zoom-for-dsf`` flag. Use ``cssLayoutViewport`` instead.
        1. **visualViewport** - Deprecated metrics relating to the visual viewport. Can be in DP or in CSS pixels depending on the ``enable-use-zoom-for-dsf`` flag. Use ``cssVisualViewport`` instead.
        2. **contentSize** - Deprecated size of scrollable area. Can be in DP or in CSS pixels depending on the ``enable-use-zoom-for-dsf`` flag. Use ``cssContentSize`` instead.
        3. **cssLayoutViewport** - Metrics relating to the layout viewport in CSS pixels.
        4. **cssVisualViewport** - Metrics relating to the visual viewport in CSS pixels.
        5. **cssContentSize** - Size of scrollable area in CSS pixels.
    rB  zPage.getLayoutMetricslayoutViewportvisualViewportrg  cssLayoutViewportcssVisualViewportcssContentSize)r  r   r  r	   RectrQ  s     r   get_layout_metricsr  g  s       	)H >>D  &6!788  &6!7884.//  &9!:;;  &9!:;;4 0122 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.
    rB  zPage.getNavigationHistorycurrentIndexc                B    g | ]}t                               |          S r   )r  r   rP   s     r   rS   z*get_navigation_history.<locals>.<listcomp>  s&    ???!	"	"1	%	%???r   entriesr  rQ  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.
    rB  zPage.resetNavigationHistoryNr   rQ  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.
    r   r6  zPage.getResourceContentrA  contentbase64Encoded)rT   r   r   r   )r   r6  rC  rF  r   s        r   get_resource_contentr    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.
    rB  zPage.getResourceTreer  rx  rQ  s     r   get_resource_treer    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.handleJavaScriptDialogrA  rq  )r  r  rC  rF  r   s        r   handle_java_script_dialogr    sL       &&FF8*|/ H >>DDDr   referrerr  typing.Optional[TransitionType]r=  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  r   referrerPolicyzPage.navigaterA  rG  	errorText)rT   r   r   r   r   rY  r   )r6  r  r  r   r  rC  rF  r   s           r   navigater    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.navigateToHistoryEntryrA  Nrq  )r  rC  rF  r   s       r   navigate_to_history_entryr    s<       &&F F9/ H >>DDDr   	landscapedisplay_header_footerprint_backgroundr  r_  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.printToPDFrA  r]  stream)rT   r   r   StreamHandler   )r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rC  rF  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.reloadrA  rq  )r  r  rC  rF  r   s        r   r  r  s  sS       &&F ,}!-+E'( H >>DDDr   rD  c              #  f   K   t                      }|                                 |d<   d|d}|V }dS )z{
    Deprecated, please use removeScriptToEvaluateOnNewDocument instead.

    **EXPERIMENTAL**

    :param identifier:
    rD  z!Page.removeScriptToEvaluateOnLoadrA  NrT   r   rD  rC  rF  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:
    rD  z(Page.removeScriptToEvaluateOnNewDocumentrA  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.screencastFrameAckrA  Nrq  )r  rC  rF  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.
    r   r6  r  NcaseSensitiveisRegexzPage.searchInResourcerA  c                L    g | ]!}t           j                            |          "S r   )r   SearchMatchr   rP   s     r   rS   z&search_in_resource.<locals>.<listcomp>  s)    FFF!H **1--FFFr   resultr  )r   r6  r  r  r  rC  rF  r   s           r   search_in_resourcer    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.setAdBlockingEnabledrA  Nrq  r  rC  rF  r   s       r   set_ad_blocking_enabledr    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.setBypassCSPrA  Nrq  r  s       r   set_bypass_cspr    s<       &&FF9% H >>DDDr   Vtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[PermissionsPolicyFeatureState]]c              #     K   t                      }|                                 |d<   d|d}|V }d |d         D             S )zq
    Get Permissions Policy state on given frame.

    **EXPERIMENTAL**

    :param frame_id:
    :returns: 
    r   zPage.getPermissionsPolicyStaterA  c                B    g | ]}t                               |          S r   )r   r   rP   s     r   rS   z0get_permissions_policy_state.<locals>.<listcomp>  s'    OOO1)33A66OOOr   statesr  r   rC  rF  r   s       r   get_permissions_policy_stater  	  s\       &&F ((**F92 H >>DOOXOOOOr   Dtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[OriginTrial]]c              #     K   t                      }|                                 |d<   d|d}|V }d |d         D             S )zf
    Get Origin Trials on given frame.

    **EXPERIMENTAL**

    :param frame_id:
    :returns: 
    r   zPage.getOriginTrialsrA  c                B    g | ]}t                               |          S r   rX  rP   s     r   rS   z%get_origin_trials.<locals>.<listcomp>0  s&    CCCK!!!$$CCCr   rT  r  r  s       r   get_origin_trialsr    s]       &&F ((**F9( H >>DCCd>.BCCCCr   r  r  device_scale_factorrj  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.setDeviceMetricsOverriderA  r  )r  r  r  r	  r  r
  r  r  r  r  r  r  rC  rF  r   s                  r   set_device_metrics_overrider  3  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.setDeviceOrientationOverriderA  Nrq  )r  r  r  rC  rF  r   s         r   set_device_orientation_overrider  q  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.setFontFamiliesrA  Nr  )r   rC  rF  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.setFontSizesrA  Nr  )r$  rC  rF  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.
    r   r(  zPage.setDocumentContentrA  Nr  )r   r(  rC  rF  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 )aU  
    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 required if behavior is set to 'allow'
    r+  NdownloadPathzPage.setDownloadBehaviorrA  rq  )r+  r,  rC  rF  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
    Nr0  r1  r2  zPage.setGeolocationOverriderA  rq  )r0  r1  r2  rC  rF  r   s         r   set_geolocation_overrider4    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.setLifecycleEventsEnabledrA  Nrq  r  s       r   set_lifecycle_events_enabledr6    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  Nr7  zPage.setTouchEmulationEnabledrA  rq  )r  r7  rC  rF  r   s        r   set_touch_emulation_enabledr9  		  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#   rT  maxWidth	maxHeighteveryNthFramezPage.startScreencastrA  rq  )rS  rT  r:  r;  r<  rC  rF  r   s           r   start_screencastrA   	  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.
    rB  zPage.stopLoadingNr   rQ  s     r   stop_loadingrC  D	  s$      
 	$H >>DDDr   c               #     K   ddi} | V }dS )zW
    Crashes renderer on the IO thread, generates minidumps.

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

    **EXPERIMENTAL**
    rB  z
Page.closeNr   rQ  s     r   closerH  Z	  rF  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
    rI  zPage.setWebLifecycleStaterA  Nrq  )rI  rC  rF  r   s       r   set_web_lifecycle_staterK  f	  s;       &&FF7O- H >>DDDr   c               #     K   ddi} | V }dS )zT
    Stops sending each frame in the ``screencastFrame``.

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

    **EXPERIMENTAL**

    :param enabled:
    r  zPage.setProduceCompilationCacherA  Nrq  r  s       r   set_produce_compilation_cacherO  	  s<       &&FF93 H >>DDDr   scripts#typing.List[CompilationCacheParams]c              #  V   K   t                      }d | D             |d<   d|d}|V }dS )a  
    Requests backend to produce compilation cache for the specified scripts.
    Unlike setProduceCompilationCache, this allows client to only produce cache
    for specific scripts. ``scripts`` are appeneded to the list of scripts
    for which the cache for would produced. Disabling compilation cache with
    ``setProduceCompilationCache`` would reset all pending cache requests.
    The list may also be reset during page navigation.
    When script with a matching URL is encountered, the cache is optionally
    produced upon backend discretion, based on internal heuristics.
    See also: ``Page.compilationCacheProduced``.

    **EXPERIMENTAL**

    :param scripts:
    c                6    g | ]}|                                 S r   rO   rP   s     r   rS   z-produce_compilation_cache.<locals>.<listcomp>	  s     666666r   rP  zPage.produceCompilationCacherA  Nrq  )rP  rC  rF  r   s       r   produce_compilation_cacherT  	  sJ      $ &&F66g666F90 H >>DDDr   r]  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  r]  zPage.addCompilationCacherA  Nrq  )r6  r]  rC  rF  r   s        r   add_compilation_cacherV  	  sD       &&FF5MF6N, H >>DDDr   c               #     K   ddi} | V }dS )z@
    Clears seeded compilation cache.

    **EXPERIMENTAL**
    rB  zPage.clearCompilationCacheNr   rQ  s     r   clear_compilation_cacherX  	  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  NrY  zPage.generateTestReportrA  rq  )r  rY  rC  rF  r   s        r   generate_test_reportr[  	  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**
    rB  zPage.waitForDebuggerNr   rQ  s     r   wait_for_debuggerr]  	  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.setInterceptFileChooserDialogrA  Nrq  r  s       r   !set_intercept_file_chooser_dialogr_  	  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_json
  4    s+55d;6GHH
 
 
 	
r   N)r   r   r   ra  r*   r+   r,   rX   r.   r   r   r   r   ra  ra  
  B          %$$$
 
 
 [
 
 
r   ra  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   r   zdom.BackendNodeIdbackend_node_idr   moder   r   r   c                     | t                               |d                   t          j                            |d                   t	          |d                             S )Nr   backendNodeIdrm  )r   rl  rm  )r   r   r	   BackendNodeIdr   r   s     r   r   zFileChooserOpened.from_json*
  sX    s&&tI77-77_8MNNT&\""
 
 
 	
r   N)r   r   r   rk  r*   r+   r,   r-   rX   r.   r   r   r   r   rk  rk  
  sa           &&&&III
 
 
 [
 
 
r   rk  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   r   parent_frame_idz#typing.Optional[runtime.StackTrace]stackr   r   r   c                     | t                               |d                   t                               |d                   d|v r%t          j                            |d                   nd           S )Nr   parentFrameIdru  )r   rt  ru  )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   rs  rq  r   r   r   rs  rs  3
  sd           ....
 
 
 [
 
 
r   rs  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   r   r   r   r   c                V     | t                               |d                             S Nr   )r   r   r   r   s     r   r   z)FrameClearedScheduledNavigation.from_jsonR
  0    s&&tI77
 
 
 	
r   N)r   r   r   rz  rq  r   r   r   rz  rz  I
  sL           
 
 
 [
 
 
r   rz  zPage.frameDetachedc                  @    e Zd ZU dZded<   ded<   edd	            Zd
S )FrameDetachedz=
    Fired when frame has been detached from its parent.
    r   r   r   r:  r   r   r   c                ~     | t                               |d                   t          |d                             S )Nr   r:  )r   r:  r   r   r   r   s     r   r   zFrameDetached.from_jsonc
  s?    s&&tI77tH~&&
 
 
 	
r   N)r   r   r   r  rq  r   r   r   r  r  Y
  sU           KKK
 
 
 [
 
 
r   r  zPage.frameNavigatedc                  @    e Zd ZU dZded<   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  rm  rR  r\  r   r   r   c                     | t                               |d                   t                              |d                             S )Nrm  re  )rm  r\  )r2  r   rR  r   s     r   r   zFrameNavigated.from_jsonu
  sC    s//$w-00 **4<88
 
 
 	
r   N)r   r   r   r  rq  r   r   r   r  r  k
  sU           LLL
 
 
 [
 
 
r   r  zPage.documentOpenedc                  6    e Zd ZU dZded<   ed	d            ZdS )
DocumentOpenedzH
    **EXPERIMENTAL**

    Fired when opening document to write to.
    r2  rm  r   r   r   c                V     | t                               |d                             S )Nrm  )rm  ry  r   s     r   r   zDocumentOpened.from_json
  s.    s//$w-00
 
 
 	
r   N)r   r   r   r  rq  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   r   r  r:  r   r6  r  dispositionr   r   r   c           	          | t                               |d                   t                              |d                   t          |d                   t                              |d                             S )Nr   r:  r6  r  )r   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  rq  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   r   rj  delayr  r:  r   r6  r   r   r   c           	          | t                               |d                   t          |d                   t                              |d                   t	          |d                             S )Nr   r  r:  r6  )r   r  r:  r6  )r   r   rj  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  rq  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   r   r   r   r   c                V     | t                               |d                             S r|  r}  r   s     r   r   zFrameStartedLoading.from_json
  r~  r   N)r   r   r   r  rq  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   r   r   r   r   c                V     | t                               |d                             S r|  r}  r   s     r   r   zFrameStoppedLoading.from_json
  r~  r   N)r   r   r   r  rq  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 )DownloadWillBeginz
    **EXPERIMENTAL**

    Fired when page is about to start a download.
    Deprecated. Use Browser.downloadWillBegin instead.
    r   r   r   guidr6  suggested_filenamer   r   r   c           	          | t                               |d                   t          |d                   t          |d                   t          |d                             S )Nr   r  r6  suggestedFilename)r   r  r6  r  r  r   s     r   r   zDownloadWillBegin.from_json  s_    s&&tI77T&\""DK  "4(;#<==	
 
 
 	
r   N)r   r   r   r  rq  r   r   r   r  r  
  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 )DownloadProgressz
    **EXPERIMENTAL**

    Fired when download makes progress. Last call has ``done`` == true.
    Deprecated. Use Browser.downloadProgress instead.
    r   r  rj  total_bytesreceived_bytesrI  r   r   r   c           	          | t          |d                   t          |d                   t          |d                   t          |d                             S )Nr  
totalBytesreceivedBytesrI  )r  r  r  rI  )r   rj  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  rq  r   r   r   r  r    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_json:  r  r   N)r   r   r   r  r  r   r   r   r  r  2  >         
 
 
 
 [
 
 
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_jsonI  r  r   N)r   r   r   r  r  r   r   r   r  r  A  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  rq  r   r   r   r  r  P  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  r\  r   has_browser_handlerr?  default_promptr   r   r   c           
         | t          |d                   t          |d                   t                              |d                   t          |d                   d|v rt          |d                   nd           S )Nr6  r  re  hasBrowserHandlerdefaultPrompt)r6  r  r\  r  r  )r   r  r   r   r   s     r   r   z!JavascriptDialogOpening.from_jsonx  s    sDK  Y((&&tF|44 $T*=%> ? ?9HD9P9P3tO4555VZ
 
 
 	
r   N)r   r   r   r  rq  r   r   r   r  r  d  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   r   r4  r5  r   r@  rb  r  r   r   r   c           	         | t                               |d                   t          j                            |d                   t	          |d                   t          j                            |d                             S )Nr   rG  r@  r  )r   r5  r@  r  )r   r   r   rY  r   rf  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  rq  r   r   r   r  r    sm           III$$$$
 
 
 [
 
 
r   r  zPage.backForwardCacheNotUsedc                  J    e Zd ZU dZded<   ded<   ded<   edd            ZdS )BackForwardCacheNotUsedaU  
    **EXPERIMENTAL**

    Fired for failed bfcache history navigations if BackForwardCache feature is enabled. Do
    not assume any ordering with the Page.frameNavigated event. This event is fired only for
    main-frame history navigation where the document changes (non-same-document navigations),
    when bfcache navigation fails.
    r4  r5  r   r   z3typing.List[BackForwardCacheNotRestoredExplanation]not_restored_explanationsr   r   r   c                     | t           j                            |d                   t                              |d                   d |d         D                       S )NrG  r   c                B    g | ]}t                               |          S r   )r9  r   rP   s     r   rS   z5BackForwardCacheNotUsed.from_json.<locals>.<listcomp>  s;      'E  'E  'E_`'M'W'WXY'Z'Z  'E  'E  'Er   notRestoredExplanations)r5  r   r  )r   rY  r   r   r   s     r   r   z!BackForwardCacheNotUsed.from_json  sx    s&00j1ABB&&tI77 'E  'Edh  jC  eD  'E  'E  'E
 
 
 	
r   N)r   r   r   r  rq  r   r   r   r  r    sd            RRRR
 
 
 [
 
 
r   r  zPage.loadEventFiredc                  2    e Zd ZU ded<   edd            ZdS )	LoadEventFiredrb  r  r   r   r   c                `     | t           j                            |d                             S rd  re  r   s     r   r   zLoadEventFired.from_json  rg  r   N)r   r   r   r  rh  r   r   r   r  r    ri  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   r   r   r6  r   r   r   c                ~     | t                               |d                   t          |d                             S )Nr   r6  )r   r6  r  r   s     r   r   z!NavigatedWithinDocument.from_json  s?    s&&tI77DK  
 
 
 	
r   N)r   r   r   r  rq  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   r]  r  metadatar  r  r   r   r   c                     | t          |d                   t                              |d                   t          |d                             S )Nr]  r  r  )r]  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  rq  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  rq  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  rP   s     r   rS   z(WindowOpen.from_json.<locals>.<listcomp>  s    DDDSVVDDDr   windowFeaturesuserGesture)r6  r  r  r  rP  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  rq  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  r]  r   r   r   c                h     | t          |d                   t          |d                             S )Nr6  r]  )r6  r]  r  r   s     r   r   z"CompilationCacheProduced.from_json'  s9    sDK  T&\""
 
 
 	
r   N)r   r   r   r  rq  r   r   r   r  r    sR           HHHIII
 
 
 [
 
 
r   r  )r=  r   r   r>  )NN)rH  r   rI  r?  rJ  ra  r   r>  )r   rO  )NNNNN)rS  r?  rT  r	  rU  rV  rW  ra  rX  ra  r   rY  r   )rS  r?  r   rY  )r   r   rI  r?  rg  ra  r   rh  )rn  r   r6  r   r   rO  )r   rw  )r   r}  )r   r  )r   r  )r   r  )r   r  )r   r  )r   r   r6  r   r   r  )r   r  )r  r   r  r?  r   rO  )NNNN)r6  r   r  r?  r  r  r   r=  r  r  r   r  )r  r  r   rO  )NNNNNNNNNNNNNNNN)"r  ra  r  ra  r  ra  r  r_  r  r_  r  r_  r  r_  r  r_  r  r_  r  r_  r  r?  r  ra  r  r?  r  r?  r  ra  r  r?  r   r  )r  ra  r  r?  r   rO  )rD  r  r   rO  )r  r  r   rO  )r   r   r6  r   r  r   r  ra  r  ra  r   r  )r  r   r   rO  )r   r   r   r  )r   r   r   r  )NNNNNNNN)r  r  r  r  r  rj  r	  r   r  r_  r
  r	  r  r	  r  r	  r  r	  r  ra  r  r  r  rV  r   rO  )r  rj  r  rj  r  rj  r   rO  )r   r  r   rO  )r$  r  r   rO  )r   r   r(  r   r   rO  )r+  r   r,  r?  r   rO  )NNN)r0  r_  r1  r_  r2  r_  r   rO  )r  r   r7  r?  r   rO  )rS  r?  rT  r	  r:  r	  r;  r	  r<  r	  r   rO  )rI  r   r   rO  )rP  rQ  r   rO  )r6  r   r]  r   r   rO  )r  r   rY  r?  r   rO  )
__future__r   utilr   r   dataclassesr   enumtyping r   r	   r
   r   r   r   r   r   Enumr2   r?   rI   rZ   rf   rp   r|   r   r   r   r   r   r	  r  r   r)  r2  r[  rl  r|  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r+  r/  r9  rL  rR  rZ  r/  r9  rG  rN  rR  r^  r`  rb  rd  rf  rm  rr  rt  rv  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/  r4  r6  r9  rA  rC  rE  rH  rK  rM  rO  rT  rV  rX  r[  r]  r_  ra  rk  rs  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   <module>r     s;   # " " " " " * * * * * * * * ! ! ! ! ! !                                      8 8 8 8 8c 8 8 8    $)    
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
.    	   "    TY        ty   F F F F Fty F F FR    49    
 
 
 
 
 
 
 
& 
 
 
 
 
 
 
 
0    TY   2    	   "	 	 	 	 	$) 	 	 	  
  
  
  
  
  
  
  
F 
 
 
 
 
 
 
 
4 
 
 
 
 
 
 
 
. _
 _
 _
 _
 _
 _
 _
 _
D 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   * 
 
 
 
 
 
 
 
4    TY   t t t t t	 t t tn    DI     
 
 
 
 
 
 
 
*: : : :. ,0:>: : : : :6    )-(,*..29=! ! ! ! !J )-    .	 	 	 		 	 	 	    ,07;L L L L L6   ,         .T T T TG G G GB B B B 
2 
2 
2 
2   6   &      <: : : :" -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   &   &P P P P*D D D D4 )--1.2+/+/7;KO.2; ; ; ; ;|   2   &   &   , /3    0 ,0,0+/    6   * /3    0 )-(,*.+/04! ! ! ! !H   	 	 	 		 	 	 	   *	 	 	 	   (   6   .	 	 	 	 '+    .	 	 	 	   * ())

 
 
 
 
 
 
  *)
 %&&

 
 
 
 
 
 
  '&
( !""

 
 
 
 
 
 
  #"
( 344

 
 
 
 
 
 
  54
 !""

 
 
 
 
 
 
  #"
  "##

 
 
 
 
 
 
  $#
  "##

 
 
 
 
 
 
  $#
   !!

 
 
 
 
 
 
  "!
 ,--

 
 
 
 
 
 
  .-
4 ,--

 
 
 
 
 
 
  .-
0 '((

 
 
 
 
 
 
  )(
  '((

 
 
 
 
 
 
  )(
  %&&

 
 
 
 
 
 
  '&
4 $%%

 
 
 
 
 
 
  &%
4 &''


 

 

 

 

 

 

  ('

 %&&


 

 

 

 

 

 

  '&

 *++

 
 
 
 
 
 
  ,+
$ +,,

 
 
 
 
 
 
  -,
: "##

 
 
 
 
 
 
  $#
* +,,

 
 
 
 
 
 
  -,
2 "##

 
 
 
 
 
 
  $#
 +,,

 
 
 
 
 
 
  -,
& #$$

 
 
 
 
 
 
  %$
, /00

 
 
 
 
 
 
  10
  

 
 
 
 
 
 
   
0 ,--

 
 
 
 
 
 
  .-
 
 
r   