
    hgG                   z   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<dUdfZ=	 	 dVdWdlZ>dXdnZ?	 	 	 	 	 dYdZdwZ@	 d[d\dxZAdXdyZBdXdzZCdXd{ZD	 	 dVd]dZEd^dZFdXdZGdXdZHd_dZId`dZJdadZKdadZLdbdZMdcdZNdddZOdedZPdXdZQdfdZRdgdZS	 d[dhdZT	 	 	 	 didjdZUdkdZV	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dldmdZW	 	 dVdndZXdodZYdodZZdpdZ[	 	 dVdqdǄZ\drdɄZ]drdʄZ^dsd̄Z_dtd΄Z`	 	 	 	 	 	 	 	 dudvd܄ZadwdZbdxdZcdydZddzdZe	 d[d{dZf	 	 	 d|d}dZgdrdZh	 d[d~dZi	 	 	 	 	 dYddZjdXdZkdXdZldXdZmddZndXdZodrdZpddZqdd ZrdXdZs	 d[ddZtdXdZudr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d.          e G d/ d0                                  Z ed1          e G d2 d3                                  Z ed4          e G d5 d6                                  Z ed7          e G d8 d9                                  Z ed:          e G d; d<                                  Z ed=          e G d> d?                                  Z ed@          e G dA dB                                  Z edC          e G dD dE                                  Z edF          e G dG dH                                  Z edI          e G dJ dK                                  Z edL          e G dM dN                                  Z edO          e G dP dQ                                  Z edR          e G dS dT                                  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/v95/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?d> Z@eAd?             ZBd@S )A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-heightz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)Cr*   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_HEIGHT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_json2  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
  7  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_jsonQ  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_json[  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  C  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_jsonq  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_jsony  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!  g  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
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_statusc                l   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<   |S )NidloaderIdr7  domainAndRegistrysecurityOriginmimeTypesecureContextTypecrossOriginIsolatedContextTypec                6    g | ]}|                                 S r   rO   rP   s     r   rS   z!Frame.to_json.<locals>.<listcomp>  r.  r   gatedAPIFeaturesparentIdrA  urlFragmentunreachableUrladFrameStatus)rT   r4  r   r6  r7  r8  r9  r:  r;  r<  r=  r?  rA  rB  rC  rD  rU   s     r   r   zFrame.to_json  sD   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!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           S )NrF  rG  r7  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  rA  rP  rQ  rR  )r4  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  sz   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Jko
 
 
 	
r   )r*   r+   r,   r-   rX   r?  rA  rB  rC  rD  r   r.   r   r   r   r   r3  r3    s          LLL   HHH   NNN +*** GFFF 6555 +/I.... "&D%%%% *.L---- -1O0000 7;O::::  . 
 
 [
 
 
r   r3  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   r7  znetwork.ResourceTypetype_r:  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 )Nr7  typerJ  lastModifiedcontentSizer^  r_  )	rT   r7  rX  r   r:  rZ  r\  r^  r_  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 )	Nr7  ra  rJ  rb  rc  r^  r_  )r7  rX  r:  rZ  r\  r^  r_  )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   rZ  r\  r^  r_  r   r.   r   r   r   r   rW  rW    s           HHH   NNN >BMAAAA ,0L//// %)F(((( '+H****   	
 	
 [	
 	
 	
r   rW  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.
    r3  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 )Nri  c                6    g | ]}|                                 S r   rO   rP   s     r   rS   z-FrameResourceTree.to_json.<locals>.<listcomp>>  s     AAAQQYY[[AAAr   rj  c                6    g | ]}|                                 S r   rO   rP   s     r   rS   z-FrameResourceTree.to_json.<locals>.<listcomp>@       "J"J"J1199;;"J"J"Jr   childFrames)rT   ri  r   rj  rk  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 )Nri  c                B    g | ]}t                               |          S r   )rW  r   rP   s     r   rS   z/FrameResourceTree.from_json.<locals>.<listcomp>G  s&    MMMa}..q11MMMr   rj  rp  c                B    g | ]}t                               |          S r   rh  r   rP   s     r   rS   z/FrameResourceTree.from_json.<locals>.<listcomp>H  s'    VVVQ+55a88VVVr   )ri  rj  rk  r3  r   r   s     r   r   zFrameResourceTree.from_jsonC  sl    s//$w-00MM4;LMMMZgkoZoZoVV$}BUVVVVuy
 
 
 	
r   	r*   r+   r,   r-   rX   rk  r   r.   r   r   r   r   rh  rh  -  sx           LLL *))) EILHHHH   
 
 [
 
 
r   rh  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.
    r3  ri  Nz'typing.Optional[typing.List[FrameTree]]rk  c                    t                      }| j                                        |d<   | j        d | j        D             |d<   |S )Nri  c                6    g | ]}|                                 S r   rO   rP   s     r   rS   z%FrameTree.to_json.<locals>.<listcomp>[  ro  r   rp  )rT   ri  r   rk  rU   s     r   r   zFrameTree.to_jsonW  sK    vv
**,,W("J"J8I"J"J"JDr   c                     | t                               |d                   d|v rd |d         D             nd           S )Nri  rp  c                B    g | ]}t                               |          S r   rx  r   rP   s     r   rS   z'FrameTree.from_json.<locals>.<listcomp>b  s&    NNNQ)--a00NNNr   )ri  rk  ru  r   s     r   r   zFrameTree.from_json^  sV    s//$w-00R_cgRgRgNN$}:MNNNNmq
 
 
 	
r   rv  r   r   r   rx  rx  L  si           LLL =AL@@@@   
 
 [
 
 
r   rx  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_jsonj  r   r   r   c                     | |          S r   r   r   s     r   r   zScriptIdentifier.from_jsonm  r    r   c                j    d                     t                                                                S )NzScriptIdentifier({})r"   r&   s    r   r%   zScriptIdentifier.__repr__q  s'    %,,UWW-=-=-?-?@@@r   r(   )r   r   r   r  r)   r0   s   @r   r  r  f  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  u  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.
    intr4  r   r7  user_typed_urltitler  transition_typec                    t                      }| j        |d<   | j        |d<   | j        |d<   | j        |d<   | j                                        |d<   |S )NrF  r7  userTypedURLr  transitionType)rT   r4  r7  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  r7  r  r  r  )r4  r7  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.
    rf  
offset_toppage_scale_factordevice_widthdevice_heightscroll_offset_xscroll_offset_yNrY  	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  )rf  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_json+  s*    sd7m$$
 
 
 	
r   Nr  r   r   r   r  r    sU           JJJ  
 
 
 [
 
 
r   r  c                  X    e Zd ZU dZded<   ded<   ded<   ded<   d Zed             Zd	S )
LayoutViewportz2
    Layout viewport position and dimensions.
    r  page_xpage_yclient_widthclient_heightc                r    t                      }| j        |d<   | j        |d<   | j        |d<   | j        |d<   |S )NpageXpageYclientWidthclientHeight)rT   r  r  r  r  rU   s     r   r   zLayoutViewport.to_jsonC  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_jsonK  sY    stG}%%tG}%%T-011d>233	
 
 
 	
r   Nr  r   r   r   r  r  2  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.
    rf  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_jsonr  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  rf  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  U  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.
    rf  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   rA  r8   c                J    t                      }| j        |d<   | j        |d<   |S )NrA  r8   )rT   rA  r8   rU   s     r   r   z#InstallabilityErrorArgument.to_json1  s&    vvyV
Wr   c                h     | t          |d                   t          |d                             S )NrA  r8   )rA  r8   r  r   s     r   r   z%InstallabilityErrorArgument.from_json7  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>M  s     !L!L!L!!))++!L!L!Lr   errorArguments)rT   r,  r-  rU   s     r   r   zInstallabilityError.to_jsonJ  s7    vv-Y!L!Lt7K!L!L!Lr   c                b     | t          |d                   d |d         D                       S )Nr/  c                B    g | ]}t                               |          S r   )r'  r   rP   s     r   rS   z1InstallabilityError.from_json.<locals>.<listcomp>T  s'    fff!8BB1EEfffr   r1  )r,  r-  r  r   s     r   r   zInstallabilityError.from_jsonP  sA    si))fftTdOefff
 
 
 	
r   Nr  r   r   r   r+  r+  ?  sc           MMM >===   
 
 [
 
 
r   r+  c                  N    e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
 Zed             ZdS )ReferrerPolicyz7
    The referring-policy used for the navigation.
    
noReferrernoReferrerWhenDowngrader  originWhenCrossOrigin
sameOriginstrictOriginstrictOriginWhenCrossOrigin	unsafeUrlc                    | j         S r   r7   r   s    r   r   zReferrerPolicy.to_jsone  r9   r   c                     | |          S r   r   r   s     r   r   zReferrerPolicy.from_jsonh  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   r5  r5  X  su          K!:F6K"M&C#J     [  r   r5  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   r7  Nr]  eagerc                X    t                      }| j        |d<   | j        
| j        |d<   |S )Nr7  rI  )rT   r7  rI  rU   s     r   r   zCompilationCacheParams.to_jsony  s.    vvhU:! JDMr   c                t     | t          |d                   d|v rt          |d                   nd           S )Nr7  rI  )r7  rI  r   r   r   s     r   r   z CompilationCacheParams.from_json  sF    sDK  )0D$tG}%%%d
 
 
 	
r   )	r*   r+   r,   r-   rX   rI  r   r.   r   r   r   r   rH  rH  m  sh           HHH $(E''''   
 
 [
 
 
r   rH  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   rN  rN    sU          J!:     [  r   rN  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`ZbdaZcdbZddcZeddZfdeZgdfZhdgZidhZjdiZkdjZldkZmdlZndmZodnZpdoZqdpZrdqZsdrZtdsZudtZvduZwdvZxdwZydxZzdyZ{dzZ|d{Z}d| Z~ed}             Zd~S )!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UnloadHandlerExistsInMainFrame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OutstandingNetworkRequestFetchOutstandingNetworkRequestXHR	AppBannerPrintingWebDatabasePictureInPicturePortalSpeechRecognizerIdleManagerPaymentManagerSpeechSynthesisKeyboardLockWebOTPService%OutstandingNetworkRequestDirectSocketInjectedJavascriptInjectedStyleSheetDummyContentSecurityHandlerContentWebAuthenticationAPIContentFileChooserContentSerialContentFileSystemAccess!ContentMediaDevicesDispatcherHostContentWebBluetoothContentWebUSBContentMediaSessionContentMediaSessionServiceEmbedderPopupBlockerTabHelper)EmbedderSafeBrowsingTriggeredPopupBlocker!EmbedderSafeBrowsingThreatDetailsEmbedderAppBannerManager EmbedderDomDistillerViewerSource/EmbedderDomDistillerSelfDeletingRequestDelegate EmbedderOomInterventionTabHelperEmbedderOfflinePage8EmbedderChromePasswordManagerClientBindCredentialManager EmbedderPermissionRequestManagerEmbedderModalDialogEmbedderExtensionsEmbedderExtensionMessaging%EmbedderExtensionMessagingForOpenPort)EmbedderExtensionSentMessageToCachedFramec                    | 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)r*   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_MAIN_FRAME"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!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INJECTED_JAVASCRIPTINJECTED_STYLE_SHEETDUMMYCONTENT_SECURITY_HANDLERCONTENT_WEB_AUTHENTICATION_APICONTENT_FILE_CHOOSERCONTENT_SERIALCONTENT_FILE_SYSTEM_ACCESS%CONTENT_MEDIA_DEVICES_DISPATCHER_HOSTCONTENT_WEB_BLUETOOTHCONTENT_WEB_USBCONTENT_MEDIA_SESSIONCONTENT_MEDIA_SESSION_SERVICE!EMBEDDER_POPUP_BLOCKER_TAB_HELPER.EMBEDDER_SAFE_BROWSING_TRIGGERED_POPUP_BLOCKER%EMBEDDER_SAFE_BROWSING_THREAT_DETAILSEMBEDDER_APP_BANNER_MANAGER$EMBEDDER_DOM_DISTILLER_VIEWER_SOURCE5EMBEDDER_DOM_DISTILLER_SELF_DELETING_REQUEST_DELEGATE$EMBEDDER_OOM_INTERVENTION_TAB_HELPEREMBEDDER_OFFLINE_PAGE?EMBEDDER_CHROME_PASSWORD_MANAGER_CLIENT_BIND_CREDENTIAL_MANAGER#EMBEDDER_PERMISSION_REQUEST_MANAGEREMBEDDER_MODAL_DIALOGEMBEDDER_EXTENSIONSEMBEDDER_EXTENSION_MESSAGING*EMBEDDER_EXTENSION_MESSAGING_FOR_OPEN_PORT/EMBEDDER_EXTENSION_SENT_MESSAGE_TO_CACHED_FRAMEr   r.   r   r   r   r   rV  rV    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$*J')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(H%&D#JH L+F* L&O("M%O0W-./E7%B"/$N!:,O)1%O1$@!(G%5`2,O)"<+M(<m9+M(1 GAC*L'1.#? 1X.6a3     [  r   rV  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   rL  rL    sZ          'O-%N     [  r   rL  c                  @    e Zd ZU ded<   ded<   d Zed             ZdS )&BackForwardCacheNotRestoredExplanationrL  rX  rV  reasonc                    t                      }| j                                        |d<   | j                                        |d<   |S )Nra  rW  )rT   rX  r   rW  rU   s     r   r   z.BackForwardCacheNotRestoredExplanation.to_json6  s>    vvz))++V,,..Xr   c                     | t                               |d                   t                              |d                             S )Nra  rW  )rX  rW  )rL  r   rV  r   s     r   r   z0BackForwardCacheNotRestoredExplanation.from_json<  sE    s7AA$v,OO4>>tH~NN
 
 
 	
r   Nr   r   r   r   rV  rV  .  s\          1000 .---   
 
 [
 
 
r   rV  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   )rZ  r`  cmd_dictr   s       r   add_script_to_evaluate_on_loadrd  D  sQ       &&F*F>2 H >>D%%d<&8999r   source
world_namer@  include_command_line_apir]  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.
    re  N	worldNameincludeCommandLineAPIz%Page.addScriptToEvaluateOnNewDocumentr^  ra  rb  )re  rf  rg  r`  rc  r   s         r   &add_script_to_evaluate_on_new_documentrk  Y  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).
    r_  zPage.bringToFrontNr   rc  r   s     r   bring_to_frontro  t  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#   rq  rr  fromSurfacecaptureBeyondViewportzPage.captureScreenshotr^  data)rT   r   r   )rp  rq  rr  rt  ru  r`  rc  r   s           r   capture_screenshotr{  ~  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.captureSnapshotr^  rz  )rT   r   )rp  r`  rc  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**
    r_  zPage.clearDeviceMetricsOverrideNr   rn  s     r   clear_device_metrics_overrider    s$       	3H >>DDDr   c               #     K   ddi} | V }dS )zI
    Clears the overridden Device Orientation.

    **EXPERIMENTAL**
    r_  z#Page.clearDeviceOrientationOverrideNr   rn  s     r   !clear_device_orientation_overrider    s$       	7H >>DDDr   c               #     K   ddi} | V }dS )z?
    Clears the overridden Geolocation Position and Error.
    r_  zPage.clearGeolocationOverrideNr   rn  s     r   clear_geolocation_overrider    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   Nri  grantUniveralAccesszPage.createIsolatedWorldr^  executionContextId)rT   r   r   ExecutionContextIdr   )r   rf  r  r`  rc  r   s         r   create_isolated_worldr    s       &&F ((**F9({((=$%, H >>D%//5I0JKKKr   cookie_namer7  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.
    
cookieNamer7  zPage.deleteCookier^  NrT   )r  r7  r`  rc  r   s        r   delete_cookier    sE       &&F&F<F5M% H >>DDDr   c               #     K   ddi} | V }dS )z-
    Disables page domain notifications.
    r_  zPage.disableNr   rn  s     r   disabler    s#      
 	.H >>DDDr   c               #     K   ddi} | V }dS )z,
    Enables page domain notifications.
    r_  zPage.enableNr   rn  s     r   enabler    s#      
 	-H >>DDDr   typing.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[str, typing.List[AppManifestError], typing.Optional[str], typing.Optional[AppManifestParsedProperties]]]c               #     K   ddi} | V }t          |d                   d |d         D             d|v rt          |d                   ndd|v r t                              |d                   ndfS )	z


    :returns: A tuple with the following items:

        0. **url** - Manifest location.
        1. **errors** - 
        2. **data** - *(Optional)* Manifest content.
        3. **parsed** - *(Optional)* Parsed manifest properties
    r_  zPage.getAppManifestr7  c                B    g | ]}t                               |          S r   )r  r   rP   s     r   rS   z$get_app_manifest.<locals>.<listcomp>1  s'    ???1		#	#A	&	&???r   errorsrz  Nparsed)r   r  r   rn  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: 
    r_  zPage.getInstallabilityErrorsc                B    g | ]}t                               |          S r   )r+  r   rP   s     r   rS   z-get_installability_errors.<locals>.<listcomp>C  s'    SSS))!,,SSSr   installabilityErrorsr   rn  s     r   get_installability_errorsr  7  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  r_  zPage.getManifestIconsprimaryIconNr  rn  s     r   get_manifest_iconsr  F  sB       	)H >>D'4'<'<3tM"###$Fr   c               #  L   K   ddi} | V }d|v rt          |d                   ndS )z
    Returns the unique (PWA) app id.

    **EXPERIMENTAL**

    :returns: *(Optional)* Only returns a value if the feature flag 'WebAppEnableManifestId' is enabled
    r_  zPage.getAppIdappIdNr  rn  s     r   
get_app_idr  U  s>       	/H >>D!(D3tG}d:r   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.
    r_  zPage.getCookiesc                L    g | ]!}t           j                            |          "S r   )r   Cookier   rP   s     r   rS   zget_cookies.<locals>.<listcomp>q  s(    AAAAGN$$Q''AAAr   cookiesr   rn  s     r   get_cookiesr  d  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.
    r_  zPage.getFrameTree	frameTreer}  rn  s     r   get_frame_treer  t  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.
    r_  zPage.getLayoutMetricslayoutViewportvisualViewportrc  cssLayoutViewportcssVisualViewportcssContentSize)r  r   r  r	   Rectrn  s     r   get_layout_metricsr    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.
    r_  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  rn  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.
    r_  zPage.resetNavigationHistoryNr   rn  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   r7  zPage.getResourceContentr^  contentbase64Encoded)rT   r   r   r   )r   r7  r`  rc  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.
    r_  zPage.getResourceTreer  rt  rn  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.handleJavaScriptDialogr^  r  )r  r  r`  rc  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.
    r7  Nr  r  r   referrerPolicyzPage.navigater^  rG  	errorText)rT   r   r   r   r   rU  r   )r7  r  r  r   r  r`  rc  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.navigateToHistoryEntryr^  Nr  )r  r`  rc  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.printToPDFr^  rz  stream)rT   r   r   StreamHandler   )r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r`  rc  r   s                      r   print_to_pdfr  7  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.reloadr^  r  )r  r  r`  rc  r   s        r   r  r    sS       &&F ,}!-+E'( H >>DDDr   ra  c              #  f   K   t                      }|                                 |d<   d|d}|V }dS )z{
    Deprecated, please use removeScriptToEvaluateOnNewDocument instead.

    **EXPERIMENTAL**

    :param identifier:
    ra  z!Page.removeScriptToEvaluateOnLoadr^  NrT   r   ra  r`  rc  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:
    ra  z(Page.removeScriptToEvaluateOnNewDocumentr^  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.screencastFrameAckr^  Nr  )r	  r`  rc  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   r7  r  NcaseSensitiveisRegexzPage.searchInResourcer^  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   r7  r  r  r  r`  rc  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.setAdBlockingEnabledr^  Nr  r  r`  rc  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.setBypassCSPr^  Nr  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.getPermissionsPolicyStater^  c                B    g | ]}t                               |          S r   )r   r   rP   s     r   rS   z0get_permissions_policy_state.<locals>.<listcomp>5  s'    OOO1)33A66OOOr   statesr  r   r`  rc  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.getOriginTrialsr^  c                B    g | ]}t                               |          S r   )r*  r   rP   s     r   rS   z%get_origin_trials.<locals>.<listcomp>J  s&    CCCK!!!$$CCCr   originTrialsr  r"  s       r   get_origin_trialsr(  8  s]       &&F ((**F9( H >>DCCd>.BCCCCr   r  r  device_scale_factorrf  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screenOrientationr2  zPage.setDeviceMetricsOverrider^  r  )r  r  r)  r*  r  r+  r,  r-  r.  r/  r0  r2  r`  rc  r   s                  r   set_device_metrics_overrider;  M  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.setDeviceOrientationOverrider^  Nr  )r<  r=  r>  r`  rc  r   s         r   set_device_orientation_overrider@    sM       &&FF7OF6NF7O5 H >>DDDr   font_familiesc              #  f   K   t                      }|                                 |d<   d|d}|V }dS )z
    Set generic font families.

    **EXPERIMENTAL**

    :param font_families: Specifies font families to set. If a font family is not specified, it won't be changed.
    fontFamilieszPage.setFontFamiliesr^  Nr  )rA  r`  rc  r   s       r   set_font_familiesrD    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.setFontSizesr^  Nr  )rE  r`  rc  r   s       r   set_font_sizesrH    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   rI  zPage.setDocumentContentr^  Nr  )r   rI  r`  rc  r   s        r   set_document_contentrK    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'
    rL  NdownloadPathzPage.setDownloadBehaviorr^  r  )rL  rM  r`  rc  r   s        r   set_download_behaviorrP    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
    NrQ  rR  rS  zPage.setGeolocationOverrider^  r  )rQ  rR  rS  r`  rc  r   s         r   set_geolocation_overriderU    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.setLifecycleEventsEnabledr^  Nr  r  s       r   set_lifecycle_events_enabledrW  	  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  NrX  zPage.setTouchEmulationEnabledr^  r  )r  rX  r`  rc  r   s        r   set_touch_emulation_enabledrZ  #	  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#   rq  maxWidth	maxHeighteveryNthFramezPage.startScreencastr^  r  )rp  rq  r[  r\  r]  r`  rc  r   s           r   start_screencastrb  :	  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.
    r_  zPage.stopLoadingNr   rn  s     r   stop_loadingrd  ^	  s$      
 	$H >>DDDr   c               #     K   ddi} | V }dS )zW
    Crashes renderer on the IO thread, generates minidumps.

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

    **EXPERIMENTAL**
    r_  z
Page.closeNr   rn  s     r   closeri  t	  rg  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
    rj  zPage.setWebLifecycleStater^  Nr  )rj  r`  rc  r   s       r   set_web_lifecycle_staterl  	  s;       &&FF7O- H >>DDDr   c               #     K   ddi} | V }dS )zT
    Stops sending each frame in the ``screencastFrame``.

    **EXPERIMENTAL**
    r_  zPage.stopScreencastNr   rn  s     r   stop_screencastrn  	  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.setProduceCompilationCacher^  Nr  r  s       r   set_produce_compilation_cacherp  	  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   rq  zPage.produceCompilationCacher^  Nr  )rq  r`  rc  r   s       r   produce_compilation_cacheru  	  sJ      $ &&F66g666F90 H >>DDDr   rz  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
    r7  rz  zPage.addCompilationCacher^  Nr  )r7  rz  r`  rc  r   s        r   add_compilation_cacherw  	  sD       &&FF5MF6N, H >>DDDr   c               #     K   ddi} | V }dS )z@
    Clears seeded compilation cache.

    **EXPERIMENTAL**
    r_  zPage.clearCompilationCacheNr   rn  s     r   clear_compilation_cachery  	  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  Nrz  zPage.generateTestReportr^  r  )r  rz  r`  rc  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**
    r_  zPage.waitForDebuggerNr   rn  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.setInterceptFileChooserDialogr^  Nr  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_json0
  4    s+55d;6GHH
 
 
 	
r   N)r   r   r   r  r*   r+   r,   rX   r.   r   r   r   r   r  r  +
  B          %$$$
 
 
 [
 
 
r   r  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   backendNodeIdr  )r   r  r  )r   r   r	   BackendNodeIdr   r   s     r   r   zFileChooserOpened.from_jsonD
  sX    s&&tI77-77_8MNNT&\""
 
 
 	
r   N)r   r   r   r  r*   r+   r,   r-   rX   r.   r   r   r   r   r  r  7
  sa           &&&&III
 
 
 [
 
 
r   r  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   parentFrameIdr  )r   r  r  )r   r   r   
StackTracer   s     r   r   zFrameAttached.from_jsonZ
  sl    s&&tI77#--d?.CDDAHD'$..tG}===VZ
 
 
 	
r   N)r   r   r   r  r  r   r   r   r  r  M
  sd           ....
 
 
 [
 
 
r   r  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_jsonl
  0    s&&tI77
 
 
 	
r   N)r   r   r   r  r  r   r   r   r  r  c
  sL           
 
 
 [
 
 
r   r  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   rW  r   r   r   c                ~     | t                               |d                   t          |d                             S )Nr   rW  )r   rW  r   r   r   r   s     r   r   zFrameDetached.from_json}
  s?    s&&tI77tH~&&
 
 
 	
r   N)r   r   r   r  r  r   r   r   r  r  s
  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.
    r3  ri  rN  rX  r   r   r   c                     | t                               |d                   t                              |d                             S )Nri  ra  )ri  rX  )r3  r   rN  r   s     r   r   zFrameNavigated.from_json
  sC    s//$w-00 **4<88
 
 
 	
r   N)r   r   r   r  r  r   r   r   r  r  
  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.
    r3  ri  r   r   r   c                V     | t                               |d                             S )Nri  )ri  ru  r   s     r   r   zDocumentOpened.from_json
  s.    s//$w-00
 
 
 	
r   N)r   r   r   r  r  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	  rW  r   r7  r  dispositionr   r   r   c           	          | t                               |d                   t                              |d                   t          |d                   t                              |d                             S )Nr   rW  r7  r  )r   rW  r7  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  r  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   rf  delayr	  rW  r   r7  r   r   r   c           	          | t                               |d                   t          |d                   t                              |d                   t	          |d                             S )Nr   r  rW  r7  )r   r  rW  r7  )r   r   rf  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  r  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  r  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  r  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   guidr7  suggested_filenamer   r   r   c           	          | t                               |d                   t          |d                   t          |d                   t          |d                             S )Nr   r  r7  suggestedFilename)r   r  r7  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  r  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  rf  total_bytesreceived_bytesrj  r   r   r   c           	          | t          |d                   t          |d                   t          |d                   t          |d                             S )Nr  
totalBytesreceivedBytesrj  )r  r  r  rj  )r   rf  r   s     r   r   zDownloadProgress.from_jsonB  sY    sT&\""d<011 o!677d7m$$	
 
 
 	
r   N)r   r   r   r  r  r   r   r   r  r  0  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_jsonT  r  r   N)r   r   r   r  r  r   r   r   r  r  L  >         
 
 
 
 [
 
 
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_jsonc  r  r   N)r   r   r   r  r  r   r   r   r  r  [  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_jsonv  s:    sX''4,--
 
 
 	
r   N)r   r   r   r  r  r   r   r   r  r  j  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   r7  r  r  rX  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 )Nr7  r  ra  hasBrowserHandlerdefaultPrompt)r7  r  rX  r  r  )r   r  r   r   r   s     r   r   z!JavascriptDialogOpening.from_json  s    sDK  Y((&&tF|44 $T*=%> ? ?9HD9P9P3tO4555VZ
 
 
 	
r   N)r   r   r   r  r  r   r   r   r  r  ~  sx          
 HHHLLL ((((
 
 
 [
 
 
r   r  zPage.lifecycleEventc                  T    e Zd ZU dZded<   ded<   ded<   ded	<   edd            ZdS )LifecycleEventzY
    Fired for top level page lifecycle events such as navigation, load, paint, etc.
    r   r   r5  r6  r   rA  r  r  r   r   r   c           	         | t                               |d                   t          j                            |d                   t	          |d                   t          j                            |d                             S )Nr   rG  rA  r  )r   r6  rA  r  )r   r   r   rU  r   r  r   s     r   r   zLifecycleEvent.from_json  sq    s&&tI77&00j1ABBT&\""+55d;6GHH	
 
 
 	
r   N)r   r   r   r  r  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.
    r5  r6  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   )rV  r   rP   s     r   rS   z5BackForwardCacheNotUsed.from_json.<locals>.<listcomp>  s;      'E  'E  'E_`'M'W'WXY'Z'Z  'E  'E  'Er   notRestoredExplanations)r6  r   r  )r   rU  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  r  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 )	LoadEventFiredr  r  r   r   r   c                `     | t           j                            |d                             S r  r  r   s     r   r   zLoadEventFired.from_json  r  r   N)r   r   r   r  r  r   r   r   r  r    r  r   r  zPage.navigatedWithinDocumentc                  @    e Zd ZU dZded<   ded<   edd	            Zd
S )NavigatedWithinDocumentz
    **EXPERIMENTAL**

    Fired when same-document navigation happens, e.g. due to history API usage or anchor navigation.
    r   r   r   r7  r   r   r   c                ~     | t                               |d                   t          |d                             S )Nr   r7  )r   r7  r  r   s     r   r   z!NavigatedWithinDocument.from_json  s?    s&&tI77DK  
 
 
 	
r   N)r   r   r   r  r  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   rz  r  metadatar  r	  r   r   r   c                     | t          |d                   t                              |d                   t          |d                             S )Nrz  r  r  )rz  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  r  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  r  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   r7  window_nameztyping.List[str]window_featuresr   user_gesturer   r   r   c           	          | t          |d                   t          |d                   d |d         D             t          |d                             S )Nr7  
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)r7  r  r  r  rL  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  r  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   r7  rz  r   r   r   c                h     | t          |d                   t          |d                             S )Nr7  rz  )r7  rz  r  r   s     r   r   z"CompilationCacheProduced.from_jsonA  s9    sDK  T&\""
 
 
 	
r   N)r   r   r   r   r  r   r   r   r   r   4  sR           HHHIII
 
 
 [
 
 
r   r   )rZ  r   r   r[  )NN)re  r   rf  r@  rg  r]  r   r[  )r   rl  )NNNNN)rp  r@  rq  r  rr  rs  rt  r]  ru  r]  r   rv  r   )rp  r@  r   rv  )r   r   rf  r@  r  r]  r   r  )r  r   r7  r   r   rl  )r   r  )r   r  )r   r  )r   r  )r   r  )r   r  )r   r  )r   r   r7  r   r   r  )r   r  )r  r   r  r@  r   rl  )NNNN)r7  r   r  r@  r  r  r   r>  r  r  r   r  )r  r  r   rl  )NNNNNNNNNNNNNNNN)"r  r]  r  r]  r  r]  r  r[  r  r[  r  r[  r  r[  r  r[  r  r[  r  r[  r  r@  r  r]  r  r@  r  r@  r  r]  r  r@  r   r  )r  r]  r  r@  r   rl  )ra  r  r   rl  )r	  r  r   rl  )r   r   r7  r   r  r   r  r]  r  r]  r   r  )r  r   r   rl  )r   r   r   r  )r   r   r   r$  )NNNNNNNN)r  r  r  r  r)  rf  r*  r   r  r[  r+  r  r,  r  r-  r  r.  r  r/  r]  r0  r1  r2  rs  r   rl  )r<  rf  r=  rf  r>  rf  r   rl  )rA  r  r   rl  )rE  r  r   rl  )r   r   rI  r   r   rl  )rL  r   rM  r@  r   rl  )NNN)rQ  r[  rR  r[  rS  r[  r   rl  )r  r   rX  r@  r   rl  )rp  r@  rq  r  r[  r  r\  r  r]  r  r   rl  )rj  r   r   rl  )rq  rr  r   rl  )r7  r   rz  r   r   rl  )r  r   rz  r@  r   rl  )
__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*  r3  rW  rh  rx  r  r  r  r  r  r  r  r  r  r  r  r  r	  r  r'  r+  r5  rH  rN  rV  rL  rV  rd  rk  ro  r{  r}  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r#  r(  r;  r@  rD  rH  rK  rP  rU  rW  rZ  rb  rd  rf  ri  rl  rn  rp  ru  rw  ry  r|  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   r   <module>r	     sO   # " " " " " * * * * * * * * ! ! ! ! ! !                                      8 8 8 8 8c 8 8 8    $)    
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
.    	   "    TY        ty   G G G G Gty G G GT    49    
 
 
 
 
 
 
 
& 
 
 
 
 
 
 
 
0    TY   2    	   "	 	 	 	 	$) 	 	 	  
  
  
  
  
  
  
  
F 
 
 
 
 
 
 
 
4 
 
 
 
 
 
 
 
. Y
 Y
 Y
 Y
 Y
 Y
 Y
 Y
x 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   D D D D D	 D D D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   