a
    $ñ»j§ó ã                   @  s€  d dl mZ d dlZd dlZd dlmZ ddlmZ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„ deƒZG dd„ dejƒZG dd„ dejƒZeG dd„ dƒƒZG dd„ dejƒZG dd„ dejƒZG dd„ dejƒZG dd„ dejƒZG dd„ dejƒZeG dd„ dƒƒZeG dd „ d ƒƒZG d!d"„ d"ejƒZG d#d$„ d$ejƒZG d%d&„ d&ejƒZeG d'd(„ d(ƒƒZeG d)d*„ d*ƒƒZ eG d+d,„ d,ƒƒZ!eG d-d.„ d.ƒƒZ"eG d/d0„ d0ƒƒZ#eG d1d2„ d2ƒƒZ$eG d3d4„ d4ƒƒZ%G d5d6„ d6eƒZ&G d7d8„ d8ejƒZ'eG d9d:„ d:ƒƒZ(eG d;d<„ d<ƒƒZ)G d=d>„ d>ejƒZ*eG d?d@„ d@ƒƒZ+eG dAdB„ dBƒƒZ,eG dCdD„ dDƒƒZ-eG dEdF„ dFƒƒZ.eG dGdH„ dHƒƒZ/eG dIdJ„ dJƒƒZ0eG dKdL„ dLƒƒZ1eG dMdN„ dNƒƒZ2G dOdP„ dPejƒZ3G dQdR„ dRejƒZ4eG dSdT„ dTƒƒZ5eG dUdV„ dVƒƒZ6G dWdX„ dXejƒZ7eG dYdZ„ dZƒƒZ8eG d[d\„ d\ƒƒZ9eG d]d^„ d^ƒƒZ:eG d_d`„ d`ƒƒZ;eG dadb„ dbƒƒZ<eG dcdd„ ddƒƒZ=eG dedf„ dfƒƒZ>eG dgdh„ dhƒƒZ?eG didj„ djƒƒZ@eG dkdl„ dlƒƒZAeG dmdn„ dnƒƒZBeG dodp„ dpƒƒZCG dqdr„ drejƒZDG dsdt„ dtejƒZEG dudv„ dvejƒZFG dwdx„ dxejƒZGeG dydz„ dzƒƒZHeG d{d|„ d|ƒƒZIeG d}d~„ d~ƒƒZJ�dfdd€d�d�d‚dƒœd„d…„ZKd†d‡œdˆd‰„ZL�dgd€dŠd‹d�d�d�dŒd�œdŽd�„ZM�dhd€dŒd�œd‘d’„ZN�didd€d�d“d”œd•d–„ZOd†d‡œd—d˜„ZP�djd�d†d™œdšd›„ZQ�dkd€dœd�œdždŸ„ZRd d‡œd¡d¢„ZSd£d‡œd¤d¥„ZTdd¦d§œd¨d©„ZUdªd‡œd«d¬„ZVd­d‡œd®d¯„ZWd°d‡œd±d²„ZXd†d‡œd³d´„ZYdddµd¶œd·d¸„ZZd¹d‡œdºd»„Z[�dld¼d€d†d½œd¾d¿„Z\�dmdd€dÀdÁdÂdÃdÄœdÅdÆ„Z]dÇd†dÈœdÉdÊ„Z^�dnd�d�d�dËdËdËdËdËdËdËd€d€d€d�d€d�d�dÌdÍœdÎdÏ„Z_�dod�d€dÐd†dÑœdÒdÓ„Z`d6d†dÔœdÕdÖ„ZadÇd†d×œdØdÙ„Zb�dpdddd�d�dÚdÛœdÜdÝ„Zcd¼d†dÞœdßdà„Zdd¼d†dÞœdádâ„Zeddãd§œdädå„Zfddæd§œdçdè„Zg�dqdJdéd†dêœdëdì„ZhdNd†díœdîdï„Ziddd†dðœdñdò„Zjd¼d†dÞœdódô„Zk�drd€dŠdŠdŠdŠd†dõœdöd÷„Zld†d‡œdødù„Zmd†d‡œdúdû„Znd†d‡œdüdý„Zodd†dþœdÿ�d „Zpd†d‡œ�d�d„Zq�dd†�dœ�d�d„Zrddd†�dœ�d�d	„Zsd†d‡œ�d
�d„Ztdrd†�dœ�d�d„Zudrd†�dœ�d�d„Zv�dsdd€d†�dœ�d�d„Zwd†d‡œ�d�d„Zxd¼d†dÞœ�d�d„Zyd¼d†�dœ�d�d„Zz�dtd�dŒ�dœ�d�d„Z{e�dƒeG �d�d „ �d ƒƒƒZ|e�d!ƒeG �d"�d#„ �d#ƒƒƒZ}e�d$ƒeG �d%�d&„ �d&ƒƒƒZ~e�d'ƒeG �d(�d)„ �d)ƒƒƒZe�d*ƒeG �d+�d,„ �d,ƒƒƒZ€e�d-ƒeG �d.�d/„ �d/ƒƒƒZ�e�d0ƒeG �d1�d2„ �d2ƒƒƒZ‚e�d3ƒeG �d4�d5„ �d5ƒƒƒZƒe�d6ƒeG �d7�d8„ �d8ƒƒƒZ„e�d9ƒeG �d:�d;„ �d;ƒƒƒZ…e�d<ƒeG �d=�d>„ �d>ƒƒƒZ†e�d?ƒeG �d@�dA„ �dAƒƒƒZ‡e�dBƒeG �dC�dD„ �dDƒƒƒZˆe�dEƒeG �dF�dG„ �dGƒƒƒZ‰e�dHƒeG �dI�dJ„ �dJƒƒƒZŠe�dKƒeG �dL�dM„ �dMƒƒƒZ‹e�dNƒeG �dO�dP„ �dPƒƒƒZŒe�dQƒeG �dR�dS„ �dSƒƒƒZ�e�dTƒeG �dU�dV„ �dVƒƒƒZŽe�dWƒeG �dX�dY„ �dYƒƒƒZ�e�dZƒeG �d[�d\„ �d\ƒƒƒZ�e�d]ƒeG �d^�d_„ �d_ƒƒƒZ‘e�d`ƒeG �da�db„ �dbƒƒƒZ’e�dcƒeG �dd�de„ �deƒƒƒZ“dS (u  é    )ÚannotationsN)Ú	dataclassé   )Úevent_classÚT_JSON_DICT)Údebugger)Údom)Úio)Únetwork)Úruntimec                      sB   e Zd ZdZddœdd„Zedd dœdd„ƒZ‡ fd	d
„Z‡  ZS )ÚFrameIdzUnique frame identifier.Ústr©Úreturnc                 C  s   | S ©N© ©Úselfr   r   ú0E:\soccer\ml_env\Lib\site-packages\mycdp/page.pyÚto_json   s    zFrameId.to_json©Újsonr   c                 C  s   | |ƒS r   r   ©Úclsr   r   r   r   Ú	from_json   s    zFrameId.from_jsonc                   s   d  tƒ  ¡ ¡S )NzFrameId({})©ÚformatÚsuperÚ__repr__r   ©Ú	__class__r   r   r      s    zFrameId.__repr__©	Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Úclassmethodr   r   Ú__classcell__r   r   r   r   r      s
   r   c                   @  s>   e Zd ZdZdZdZdZddœdd„Zedd d	œd
d„ƒZ	dS )ÚAdFrameTypez7Indicates whether a frame has been identified as an ad.ÚnoneÚchildÚrootr   r   c                 C  s   | j S r   ©Úvaluer   r   r   r   r   (   s    zAdFrameType.to_jsonr   c                 C  s   | |ƒS r   r   r   r   r   r   r   +   s    zAdFrameType.from_jsonN)
r"   r#   r$   r%   ÚNONEZCHILDÚROOTr   r&   r   r   r   r   r   r(   "   s   r(   c                   @  s:   e Zd ZdZdZdZddœdd„Zedd dœd	d
„ƒZdS )ÚAdFrameExplanationZ
ParentIsAdZCreatedByAdScriptZMatchedBlockingRuler   r   c                 C  s   | j S r   r,   r   r   r   r   r   5   s    zAdFrameExplanation.to_jsonr   c                 C  s   | |ƒS r   r   r   r   r   r   r   8   s    zAdFrameExplanation.from_jsonN)	r"   r#   r$   ZPARENT_IS_ADZCREATED_BY_AD_SCRIPTZMATCHED_BLOCKING_RULEr   r&   r   r   r   r   r   r0   0   s   r0   c                   @  sH   e Zd ZU dZded< dZded< ddœd	d
„Zedd dœdd„ƒZdS )ÚAdFrameStatusz?Indicates whether a frame has been identified as an ad and why.r(   Úad_frame_typeNz0typing.Optional[typing.List[AdFrameExplanation]]Úexplanationsr   r   c                 C  s6   t ƒ }| j ¡ |d< | jd ur2dd„ | jD ƒ|d< |S )NÚadFrameTypec                 S  s   g | ]}|  ¡ ‘qS r   ©r   ©Ú.0Úir   r   r   Ú
<listcomp>G   ó    z)AdFrameStatus.to_json.<locals>.<listcomp>r3   )Údictr2   r   r3   ©r   r   r   r   r   r   C   s
    
zAdFrameStatus.to_jsonr   c                 C  s:   | t  | d¡¡| dd ¡d ur2dd„ |d D ƒnd d�S )Nr4   r3   c                 S  s   g | ]}t  |¡‘qS r   )r0   r   r6   r   r   r   r9   O   r:   z+AdFrameStatus.from_json.<locals>.<listcomp>)r2   r3   )r(   r   Úgetr   r   r   r   r   J   s    ÿûzAdFrameStatus.from_json)	r"   r#   r$   r%   Ú__annotations__r3   r   r&   r   r   r   r   r   r1   =   s   
r1   c                   @  sB   e Zd ZdZdZdZdZdZddœdd	„Ze	dd d
œdd„ƒZ
dS )ÚSecureContextTypezQ
    Indicates whether the frame is a secure context and why it is the case.
    ÚSecureZSecureLocalhostZInsecureSchemeZInsecureAncestorr   r   c                 C  s   | j S r   r,   r   r   r   r   r   _   s    zSecureContextType.to_jsonr   c                 C  s   | |ƒS r   r   r   r   r   r   r   b   s    zSecureContextType.from_jsonN)r"   r#   r$   r%   ZSECUREZSECURE_LOCALHOSTZINSECURE_SCHEMEZINSECURE_ANCESTORr   r&   r   r   r   r   r   r?   V   s   r?   c                   @  s>   e Zd ZdZdZdZdZddœdd„Zedd d	œd
d„ƒZ	dS )ÚCrossOriginIsolatedContextTypezZ
    Indicates whether the frame is cross-origin isolated
    and why it is the case.
    ZIsolatedZNotIsolatedZNotIsolatedFeatureDisabledr   r   c                 C  s   | j S r   r,   r   r   r   r   r   p   s    z&CrossOriginIsolatedContextType.to_jsonr   c                 C  s   | |ƒS r   r   r   r   r   r   r   s   s    z(CrossOriginIsolatedContextType.from_jsonN)
r"   r#   r$   r%   ZISOLATEDZNOT_ISOLATEDZNOT_ISOLATED_FEATURE_DISABLEDr   r&   r   r   r   r   r   rA   g   s   rA   c                   @  s>   e Zd ZdZdZdZdZddœdd„Zedd d	œd
d„ƒZ	dS )ÚGatedAPIFeaturesZSharedArrayBuffersZ!SharedArrayBuffersTransferAllowedZPerformanceMeasureMemoryZPerformanceProfiler   r   c                 C  s   | j S r   r,   r   r   r   r   r   ~   s    zGatedAPIFeatures.to_jsonr   c                 C  s   | |ƒS r   r   r   r   r   r   r   �   s    zGatedAPIFeatures.from_jsonN)
r"   r#   r$   ZSHARED_ARRAY_BUFFERSZ%SHARED_ARRAY_BUFFERS_TRANSFER_ALLOWEDZPERFORMANCE_MEASURE_MEMORYZPERFORMANCE_PROFILEr   r&   r   r   r   r   r   rB   x   s   rB   c                   @  sæ  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`ZbdaZcdbZddcZeddZfdeZgdfZhdgZidhZjdiZkdjZldkZmdlZndmZodnZpdodpœdqdr„Zqerdod dsœdtdu„ƒZsdvS )wÚPermissionsPolicyFeaturez³
    All Permissions Policy features. This enum should match the one defined in
    third_party/blink/renderer/core/permissions_policy/
    permissions_policy_features.json5.
    Zaccelerometerzall-screens-capturezambient-light-sensorzaria-notifyzattribution-reportingZautofillZautoplayZ	bluetoothzbrowsing-topicsÚcamerazcaptured-surface-controlzch-dprzch-device-memoryzch-downlinkzch-ectzch-prefers-color-schemezch-prefers-reduced-motionzch-prefers-reduced-transparencyzch-rttzch-save-datazch-uaz
ch-ua-archzch-ua-bitnesszch-ua-high-entropy-valueszch-ua-platformzch-ua-modelzch-ua-mobilezch-ua-form-factorszch-ua-full-versionzch-ua-full-version-listzch-ua-platform-versionzch-ua-wow64zch-viewport-heightzch-viewport-widthzch-widthzclipboard-readzclipboard-writezcompute-pressurezcontrolled-framezcross-origin-isolatedzdeferred-fetchzdeferred-fetch-minimalzdevice-attributeszdigital-credentials-createzdigital-credentials-getzdirect-socketszdirect-sockets-multicastzdirect-sockets-privatezdisplay-capturezdocument-domainzencrypted-mediazexecution-while-out-of-viewportzexecution-while-not-renderedzfocus-without-user-activationZ
fullscreenZ	frobulateZgamepadZgeolocationZ	gyroscopeZhidzidentity-credentials-getzidle-detectionzinterest-cohortzjoin-ad-interest-groupzkeyboard-mapzlanguage-detectorzlanguage-modelzlocal-fontszlocal-networkzlocal-network-accesszloopback-networkZmagnetometerzmanual-textz media-playback-while-not-visibleÚ
microphoneZmidizon-device-speech-recognitionzotp-credentialsÚpaymentzpicture-in-picturezprivate-aggregationzprivate-state-token-issuancezprivate-state-token-redemptionzpublickey-credentials-createzpublickey-credentials-getzrecord-ad-auction-eventsZrewriterzrun-ad-auctionzscreen-wake-lockÚserialzshared-storagezshared-storage-select-urlz
smart-cardzspeaker-selectionzstorage-accesszsub-appsZ
summarizerzsync-xhrZ
translatorZunloadZusbzusb-unrestrictedzvertical-scrollzweb-app-installationzweb-printingz	web-sharezwindow-managementÚwriterzxr-spatial-trackingr   r   c                 C  s   | j S r   r,   r   r   r   r   r   ú   s    z PermissionsPolicyFeature.to_jsonr   c                 C  s   | |ƒS r   r   r   r   r   r   r   ý   s    z"PermissionsPolicyFeature.from_jsonN)tr"   r#   r$   r%   ZACCELEROMETERZALL_SCREENS_CAPTUREZAMBIENT_LIGHT_SENSORZARIA_NOTIFYZATTRIBUTION_REPORTINGZAUTOFILLZAUTOPLAYZ	BLUETOOTHZBROWSING_TOPICSZCAMERAZCAPTURED_SURFACE_CONTROLZCH_DPRZCH_DEVICE_MEMORYZCH_DOWNLINKZCH_ECTZCH_PREFERS_COLOR_SCHEMEZCH_PREFERS_REDUCED_MOTIONZCH_PREFERS_REDUCED_TRANSPARENCYZCH_RTTZCH_SAVE_DATAZCH_UAZ
CH_UA_ARCHZCH_UA_BITNESSZCH_UA_HIGH_ENTROPY_VALUESZCH_UA_PLATFORMZCH_UA_MODELZCH_UA_MOBILEZCH_UA_FORM_FACTORSZCH_UA_FULL_VERSIONZCH_UA_FULL_VERSION_LISTZCH_UA_PLATFORM_VERSIONZCH_UA_WOW64ZCH_VIEWPORT_HEIGHTZCH_VIEWPORT_WIDTHZCH_WIDTHZCLIPBOARD_READZCLIPBOARD_WRITEZCOMPUTE_PRESSUREZCONTROLLED_FRAMEZCROSS_ORIGIN_ISOLATEDZDEFERRED_FETCHZDEFERRED_FETCH_MINIMALZDEVICE_ATTRIBUTESZDIGITAL_CREDENTIALS_CREATEZDIGITAL_CREDENTIALS_GETZDIRECT_SOCKETSZDIRECT_SOCKETS_MULTICASTZDIRECT_SOCKETS_PRIVATEZDISPLAY_CAPTUREZDOCUMENT_DOMAINZENCRYPTED_MEDIAZEXECUTION_WHILE_OUT_OF_VIEWPORTZEXECUTION_WHILE_NOT_RENDEREDZFOCUS_WITHOUT_USER_ACTIVATIONZ
FULLSCREENZ	FROBULATEZGAMEPADZGEOLOCATIONZ	GYROSCOPEZHIDZIDENTITY_CREDENTIALS_GETZIDLE_DETECTIONZINTEREST_COHORTZJOIN_AD_INTEREST_GROUPZKEYBOARD_MAPZLANGUAGE_DETECTORZLANGUAGE_MODELZLOCAL_FONTSZLOCAL_NETWORKZLOCAL_NETWORK_ACCESSZLOOPBACK_NETWORKZMAGNETOMETERZMANUAL_TEXTZ MEDIA_PLAYBACK_WHILE_NOT_VISIBLEZ
MICROPHONEZMIDIZON_DEVICE_SPEECH_RECOGNITIONZOTP_CREDENTIALSÚPAYMENTÚPICTURE_IN_PICTUREZPRIVATE_AGGREGATIONZPRIVATE_STATE_TOKEN_ISSUANCEZPRIVATE_STATE_TOKEN_REDEMPTIONZPUBLICKEY_CREDENTIALS_CREATEZPUBLICKEY_CREDENTIALS_GETZRECORD_AD_AUCTION_EVENTSZREWRITERZRUN_AD_AUCTIONZSCREEN_WAKE_LOCKZSERIALZSHARED_STORAGEZSHARED_STORAGE_SELECT_URLÚ
SMART_CARDZSPEAKER_SELECTIONZSTORAGE_ACCESSZSUB_APPSZ
SUMMARIZERZSYNC_XHRZ
TRANSLATORZUNLOADZUSBZUSB_UNRESTRICTEDZVERTICAL_SCROLLZWEB_APP_INSTALLATIONZWEB_PRINTINGÚ	WEB_SHAREZWINDOW_MANAGEMENTZWRITERZXR_SPATIAL_TRACKINGr   r&   r   r   r   r   r   rC   †   sâ   rC   c                   @  sB   e Zd ZdZdZdZdZdZddœdd	„Ze	dd d
œdd„ƒZ
dS )ÚPermissionsPolicyBlockReasonz7Reason for a permissions policy feature to be disabled.ÚHeaderZIframeAttributeZInFencedFrameTreeZInIsolatedAppr   r   c                 C  s   | j S r   r,   r   r   r   r   r   	  s    z$PermissionsPolicyBlockReason.to_jsonr   c                 C  s   | |ƒS r   r   r   r   r   r   r     s    z&PermissionsPolicyBlockReason.from_jsonN)r"   r#   r$   r%   ÚHEADERZIFRAME_ATTRIBUTEZIN_FENCED_FRAME_TREEZIN_ISOLATED_APPr   r&   r   r   r   r   r   rM     s   rM   c                   @  s@   e Zd ZU ded< ded< ddœdd„Zedd d	œd
d„ƒZdS )ÚPermissionsPolicyBlockLocatorr   Úframe_idrM   Úblock_reasonr   r   c                 C  s&   t ƒ }| j ¡ |d< | j ¡ |d< |S )NÚframeIdÚblockReason)r;   rQ   r   rR   r<   r   r   r   r     s    z%PermissionsPolicyBlockLocator.to_jsonr   c                 C  s$   | t  | d¡¡t | d¡¡d�S )NrS   rT   )rQ   rR   )r   r   r=   rM   r   r   r   r   r     s    ÿþz'PermissionsPolicyBlockLocator.from_jsonN©r"   r#   r$   r>   r   r&   r   r   r   r   r   rP     s
   
rP   c                   @  sL   e Zd ZU ded< ded< dZded< dd	œd
d„Zedd dœdd„ƒZdS )ÚPermissionsPolicyFeatureStaterC   ÚfeatureÚboolÚallowedNz.typing.Optional[PermissionsPolicyBlockLocator]Úlocatorr   r   c                 C  s:   t ƒ }| j ¡ |d< | j|d< | jd ur6| j ¡ |d< |S )NrW   rY   rZ   )r;   rW   r   rY   rZ   r<   r   r   r   r   ,  s    

z%PermissionsPolicyFeatureState.to_jsonr   c                 C  sD   | t  | d¡¡t| d¡ƒ| dd ¡d ur<t | d¡¡nd d�S )NrW   rY   rZ   )rW   rY   rZ   )rC   r   r=   rX   rP   r   r   r   r   r   4  s    ÿúz'PermissionsPolicyFeatureState.from_json)r"   r#   r$   r>   rZ   r   r&   r   r   r   r   r   rV   &  s   
rV   c                   @  sb   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dœdd„Zedd dœdd„ƒZdS )ÚOriginTrialTokenStatuszs
    Origin Trial(https://www.chromium.org/blink/origin-trials) support.
    Status for an Origin Trial token.
    ZSuccessZNotSupportedZInsecureZExpiredZWrongOriginZInvalidSignatureZ	MalformedZWrongVersionZFeatureDisabledZTokenDisabledZFeatureDisabledForUserZUnknownTrialr   r   c                 C  s   | j S r   r,   r   r   r   r   r   S  s    zOriginTrialTokenStatus.to_jsonr   c                 C  s   | |ƒS r   r   r   r   r   r   r   V  s    z OriginTrialTokenStatus.from_jsonN)r"   r#   r$   r%   ÚSUCCESSZNOT_SUPPORTEDZINSECUREZEXPIREDZWRONG_ORIGINZINVALID_SIGNATUREZ	MALFORMEDZWRONG_VERSIONZFEATURE_DISABLEDZTOKEN_DISABLEDZFEATURE_DISABLED_FOR_USERZUNKNOWN_TRIALr   r&   r   r   r   r   r   r[   A  s    r[   c                   @  sB   e Zd ZdZdZdZdZdZddœdd	„Ze	dd d
œdd„ƒZ
dS )ÚOriginTrialStatuszStatus for an Origin Trial.ZEnabledZValidTokenNotProvidedZOSNotSupportedZTrialNotAllowedr   r   c                 C  s   | j S r   r,   r   r   r   r   r   b  s    zOriginTrialStatus.to_jsonr   c                 C  s   | |ƒS r   r   r   r   r   r   r   e  s    zOriginTrialStatus.from_jsonN)r"   r#   r$   r%   ZENABLEDZVALID_TOKEN_NOT_PROVIDEDZOS_NOT_SUPPORTEDZTRIAL_NOT_ALLOWEDr   r&   r   r   r   r   r   r]   [  s   r]   c                   @  s6   e Zd ZdZdZddœdd„Zedd dœdd	„ƒZd
S )ÚOriginTrialUsageRestrictionÚNoneZSubsetr   r   c                 C  s   | j S r   r,   r   r   r   r   r   n  s    z#OriginTrialUsageRestriction.to_jsonr   c                 C  s   | |ƒS r   r   r   r   r   r   r   q  s    z%OriginTrialUsageRestriction.from_jsonN)r"   r#   r$   r.   ZSUBSETr   r&   r   r   r   r   r   r^   j  s
   r^   c                   @  s`   e Zd ZU ded< ded< ded< ded< ded< d	ed
< ddœdd„Zedd dœdd„ƒZdS )ÚOriginTrialTokenr   ÚoriginrX   Úmatch_sub_domainsÚ
trial_nameznetwork.TimeSinceEpochÚexpiry_timeÚis_third_partyr^   Úusage_restrictionr   r   c                 C  sN   t ƒ }| j|d< | j|d< | j|d< | j ¡ |d< | j|d< | j ¡ |d< |S )Nra   ÚmatchSubDomainsÚ	trialNameÚ
expiryTimeÚisThirdPartyÚusageRestriction)r;   ra   rb   rc   rd   r   re   rf   r<   r   r   r   r     s    



zOriginTrialToken.to_jsonr   c                 C  sV   | t | d¡ƒt| d¡ƒt | d¡ƒtj | d¡¡t| d¡ƒt | d¡¡d�S )Nra   rg   rh   ri   rj   rk   )ra   rb   rc   rd   re   rf   )r   r=   rX   r
   ÚTimeSinceEpochr   r^   r   r   r   r   r   ‰  s    ÿÿøzOriginTrialToken.from_jsonNrU   r   r   r   r   r`   v  s   

r`   c                   @  sL   e Zd ZU ded< ded< dZded< dd	œd
d„Zedd dœdd„ƒZdS )ÚOriginTrialTokenWithStatusr   Úraw_token_textr[   ÚstatusNz!typing.Optional[OriginTrialToken]Úparsed_tokenr   r   c                 C  s:   t ƒ }| j|d< | j ¡ |d< | jd ur6| j ¡ |d< |S )NÚrawTokenTextro   ÚparsedToken)r;   rn   ro   r   rp   r<   r   r   r   r   ¢  s    

z"OriginTrialTokenWithStatus.to_jsonr   c                 C  sD   | t | d¡ƒt | d¡¡| dd ¡d ur<t | d¡¡nd d�S )Nrq   ro   rr   )rn   ro   rp   )r   r=   r[   r   r`   r   r   r   r   r   ª  s    ÿúz$OriginTrialTokenWithStatus.from_json)r"   r#   r$   r>   rp   r   r&   r   r   r   r   r   rm   ™  s   
rm   c                   @  sH   e Zd ZU ded< ded< ded< ddœd	d
„Zedd dœdd„ƒZdS )ÚOriginTrialr   rc   r]   ro   z'typing.List[OriginTrialTokenWithStatus]Útokens_with_statusr   r   c                 C  s6   t ƒ }| j|d< | j ¡ |d< dd„ | jD ƒ|d< |S )Nrh   ro   c                 S  s   g | ]}|  ¡ ‘qS r   r5   r6   r   r   r   r9   Á  s   z'OriginTrial.to_json.<locals>.<listcomp>ÚtokensWithStatus)r;   rc   ro   r   rt   r<   r   r   r   r   ½  s    
ÿ
zOriginTrial.to_jsonr   c                 C  s2   | t | d¡ƒt | d¡¡dd„ |d D ƒd�S )Nrh   ro   c                 S  s   g | ]}t  |¡‘qS r   )rm   r   r6   r   r   r   r9   Ë  s   ÿz)OriginTrial.from_json.<locals>.<listcomp>ru   )rc   ro   rt   )r   r=   r]   r   r   r   r   r   r   Æ  s    þýzOriginTrial.from_jsonNrU   r   r   r   r   rs   ·  s   
	rs   c                   @  s¸   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dœdd„Z
edd dœdd „ƒZdS )!ÚFramez(Information about the Frame on the page.r   Úid_únetwork.LoaderIdÚ	loader_idr   ÚurlÚdomain_and_registryÚsecurity_originÚ	mime_typer?   Úsecure_context_typerA   Ú"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_statusr   r   c                 C  sê   t ƒ }| j ¡ |d< | j ¡ |d< | j|d< | j|d< | j|d< | j|d< | j ¡ |d< | j	 ¡ |d< d	d
„ | j
D ƒ|d< | jd ur’| j ¡ |d< | jd ur¦| j|d< | jd urº| j|d< | jd urÎ| j|d< | jd uræ| j ¡ |d< |S )NÚidÚloaderIdrz   ÚdomainAndRegistryÚsecurityOriginÚmimeTypeÚsecureContextTypeÚcrossOriginIsolatedContextTypec                 S  s   g | ]}|  ¡ ‘qS r   r5   r6   r   r   r   r9     s   z!Frame.to_json.<locals>.<listcomp>ÚgatedAPIFeaturesÚparentIdr„   ÚurlFragmentÚunreachableUrlÚadFrameStatus)r;   rw   r   ry   rz   r{   r|   r}   r~   r   r€   r‚   r„   r…   r†   r‡   r<   r   r   r   r   ù  s0    



ÿÿ








zFrame.to_jsonr   c                 C  s(  | t  | d¡¡tj | d¡¡t| d¡ƒt| d¡ƒt| d¡ƒt| d¡ƒt | d¡¡t | d¡¡d	d
„ |d D ƒ| dd ¡d urœt  | d¡¡nd | dd ¡d ur¼t| d¡ƒnd | dd ¡d urÜt| d¡ƒnd | dd ¡d urüt| d¡ƒnd | dd ¡d u�r t | d¡¡nd d�S )Nrˆ   r‰   rz   rŠ   r‹   rŒ   r�   rŽ   c                 S  s   g | ]}t  |¡‘qS r   )rB   r   r6   r   r   r   r9   #  s   z#Frame.from_json.<locals>.<listcomp>r�   r�   r„   r‘   r’   r“   )rw   ry   rz   r{   r|   r}   r~   r   r€   r‚   r„   r…   r†   r‡   )	r   r   r=   r
   ÚLoaderIdr   r?   rA   r1   r   r   r   r   r     s@    ÿÿÿÿÿÿÿÿÙzFrame.from_json)r"   r#   r$   r%   r>   r‚   r„   r…   r†   r‡   r   r&   r   r   r   r   r   rv   Ò  s$   
rv   c                   @  s|   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dœdd„Z	e
dd dœdd„ƒZdS )ÚFrameResourcez+Information about the Resource on the page.r   rz   znetwork.ResourceTypeÚtype_r}   Nú'typing.Optional[network.TimeSinceEpoch]Úlast_modifiedútyping.Optional[float]Úcontent_sizeútyping.Optional[bool]ÚfailedÚcanceledr   r   c                 C  s€   t ƒ }| j|d< | j ¡ |d< | j|d< | jd ur@| j ¡ |d< | jd urT| j|d< | jd urh| j|d< | jd ur|| j|d< |S )Nrz   ÚtyperŒ   ÚlastModifiedÚcontentSizerœ   r�   )	r;   rz   r–   r   r}   r˜   rš   rœ   r�   r<   r   r   r   r   T  s    








zFrameResource.to_jsonr   c                 C  s´   | t | d¡ƒtj | d¡¡t | d¡ƒ| dd ¡d urLtj | d¡¡nd | dd ¡d urlt| d¡ƒnd | dd ¡d urŒt| d¡ƒnd | dd ¡d ur¬t| d¡ƒnd d�S )	Nrz   rž   rŒ   rŸ   r    rœ   r�   )rz   r–   r}   r˜   rš   rœ   r�   )r   r=   r
   ZResourceTyper   rl   ÚfloatrX   r   r   r   r   r   c  s"    ÿÿÿÿêzFrameResource.from_json)r"   r#   r$   r%   r>   r˜   rš   rœ   r�   r   r&   r   r   r   r   r   r•   B  s   
r•   c                   @  sP   e Zd ZU dZded< ded< dZded< d	d
œdd„Zed	d dœdd„ƒZdS )ÚFrameResourceTreezR
    Information about the Frame hierarchy along with their cached resources.
    rv   Úframeztyping.List[FrameResource]Ú	resourcesNz/typing.Optional[typing.List[FrameResourceTree]]Úchild_framesr   r   c                 C  sJ   t ƒ }| j ¡ |d< dd„ | jD ƒ|d< | jd urFdd„ | jD ƒ|d< |S )Nr£   c                 S  s   g | ]}|  ¡ ‘qS r   r5   r6   r   r   r   r9   �  r:   z-FrameResourceTree.to_json.<locals>.<listcomp>r¤   c                 S  s   g | ]}|  ¡ ‘qS r   r5   r6   r   r   r   r9   ‘  r:   ÚchildFrames)r;   r£   r   r¤   r¥   r<   r   r   r   r   Œ  s    
zFrameResourceTree.to_jsonr   c                 C  sJ   | t  | d¡¡dd„ |d D ƒ| dd ¡d urBdd„ |d D ƒnd d�S )Nr£   c                 S  s   g | ]}t  |¡‘qS r   )r•   r   r6   r   r   r   r9   ˜  r:   z/FrameResourceTree.from_json.<locals>.<listcomp>r¤   r¦   c                 S  s   g | ]}t  |¡‘qS r   )r¢   r   r6   r   r   r   r9   š  r:   )r£   r¤   r¥   ©rv   r   r=   r   r   r   r   r   ”  s    ÿúzFrameResourceTree.from_json©	r"   r#   r$   r%   r>   r¥   r   r&   r   r   r   r   r   r¢   €  s   
r¢   c                   @  sH   e Zd ZU dZded< dZded< ddœd	d
„Zedd dœdd„ƒZdS )Ú	FrameTreez&Information about the Frame hierarchy.rv   r£   Nz'typing.Optional[typing.List[FrameTree]]r¥   r   r   c                 C  s6   t ƒ }| j ¡ |d< | jd ur2dd„ | jD ƒ|d< |S )Nr£   c                 S  s   g | ]}|  ¡ ‘qS r   r5   r6   r   r   r   r9   ­  r:   z%FrameTree.to_json.<locals>.<listcomp>r¦   )r;   r£   r   r¥   r<   r   r   r   r   ©  s
    
zFrameTree.to_jsonr   c                 C  s:   | t  | d¡¡| dd ¡d ur2dd„ |d D ƒnd d�S )Nr£   r¦   c                 S  s   g | ]}t  |¡‘qS r   )r©   r   r6   r   r   r   r9   µ  r:   z'FrameTree.from_json.<locals>.<listcomp>)r£   r¥   r§   r   r   r   r   r   °  s    ÿûzFrameTree.from_jsonr¨   r   r   r   r   r©   ¡  s   
r©   c                      sB   e Zd ZdZddœdd„Zedd dœdd„ƒZ‡ fd	d
„Z‡  ZS )ÚScriptIdentifierzUnique script identifier.r   r   c                 C  s   | S r   r   r   r   r   r   r   ¿  s    zScriptIdentifier.to_jsonr   c                 C  s   | |ƒS r   r   r   r   r   r   r   Â  s    zScriptIdentifier.from_jsonc                   s   d  tƒ  ¡ ¡S )NzScriptIdentifier({})r   r   r   r   r   r   Æ  s    zScriptIdentifier.__repr__r!   r   r   r   r   rª   ¼  s
   rª   c                   @  sf   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dœdd„Zedd dœdd„ƒZdS )ÚTransitionTypezTransition type.ÚlinkÚtypedZaddress_barZauto_bookmarkZauto_subframeZmanual_subframeÚ	generatedZauto_toplevelZform_submitÚreloadÚkeywordZkeyword_generatedÚotherr   r   c                 C  s   | j S r   r,   r   r   r   r   r   Ú  s    zTransitionType.to_jsonr   c                 C  s   | |ƒS r   r   r   r   r   r   r   Ý  s    zTransitionType.from_jsonN)r"   r#   r$   r%   ZLINKZTYPEDZADDRESS_BARZAUTO_BOOKMARKZAUTO_SUBFRAMEZMANUAL_SUBFRAMEZ	GENERATEDZAUTO_TOPLEVELZFORM_SUBMITÚRELOADZKEYWORDZKEYWORD_GENERATEDÚOTHERr   r&   r   r   r   r   r   r«   Ê  s"   r«   c                   @  s\   e Zd ZU dZded< ded< ded< ded< ded	< d
dœdd„Zed
d dœdd„ƒZdS )ÚNavigationEntryzNavigation history entry.Úintrw   r   rz   Úuser_typed_urlÚtitler«   Útransition_typer   r   c                 C  s@   t ƒ }| j|d< | j|d< | j|d< | j|d< | j ¡ |d< |S )Nrˆ   rz   ÚuserTypedURLr·   ÚtransitionType)r;   rw   rz   r¶   r·   r¸   r   r<   r   r   r   r   ð  s    



zNavigationEntry.to_jsonr   c              
   C  sF   | t | d¡ƒt| d¡ƒt| d¡ƒt| d¡ƒt | d¡¡d�S )Nrˆ   rz   r¹   r·   rº   )rw   rz   r¶   r·   r¸   )rµ   r=   r   r«   r   r   r   r   r   r   ù  s    ÿûzNavigationEntry.from_jsonN©r"   r#   r$   r%   r>   r   r&   r   r   r   r   r   r´   â  s   
	r´   c                   @  sp   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dœdd„Zedd dœdd„ƒZd	S )ÚScreencastFrameMetadatazScreencast frame metadata.r¡   Ú
offset_topÚpage_scale_factorÚdevice_widthÚdevice_heightÚscroll_offset_xÚscroll_offset_yNr—   Ú	timestampr   r   c                 C  s^   t ƒ }| j|d< | j|d< | j|d< | j|d< | j|d< | j|d< | jd urZ| j ¡ |d< |S )NÚ	offsetTopÚpageScaleFactorÚdeviceWidthÚdeviceHeightÚscrollOffsetXÚscrollOffsetYrÃ   )	r;   r½   r¾   r¿   rÀ   rÁ   rÂ   rÃ   r   r<   r   r   r   r     s    






zScreencastFrameMetadata.to_jsonr   c                 C  st   | t | d¡ƒt | d¡ƒt | d¡ƒt | d¡ƒt | d¡ƒt | d¡ƒ| dd ¡d urltj | d¡¡nd d�S )	NrÄ   rÅ   rÆ   rÇ   rÈ   rÉ   rÃ   )r½   r¾   r¿   rÀ   rÁ   rÂ   rÃ   )r¡   r=   r
   rl   r   r   r   r   r   r   $  s    ÿöz!ScreencastFrameMetadata.from_json)	r"   r#   r$   r%   r>   rÃ   r   r&   r   r   r   r   r   r¼     s   
r¼   c                   @  sB   e Zd ZdZdZdZdZdZddœdd	„Ze	dd d
œdd„ƒZ
dS )Ú
DialogTypezJavascript dialog type.ÚalertZconfirmÚpromptZbeforeunloadr   r   c                 C  s   | j S r   r,   r   r   r   r   r   <  s    zDialogType.to_jsonr   c                 C  s   | |ƒS r   r   r   r   r   r   r   ?  s    zDialogType.from_jsonN)r"   r#   r$   r%   ÚALERTZCONFIRMZPROMPTZBEFOREUNLOADr   r&   r   r   r   r   r   rÊ   5  s   rÊ   c                   @  sT   e Zd ZU dZded< ded< ded< ded< dd	œd
d„Zedd dœdd„ƒZdS )ÚAppManifestErrorz Error while paring app manifest.r   Úmessagerµ   ÚcriticalÚlineÚcolumnr   r   c                 C  s2   t ƒ }| j|d< | j|d< | j|d< | j|d< |S )NrÏ   rÐ   rÑ   rÒ   )r;   rÏ   rÐ   rÑ   rÒ   r<   r   r   r   r   P  s    



zAppManifestError.to_jsonr   c                 C  s8   | t | d¡ƒt| d¡ƒt| d¡ƒt| d¡ƒd�S )NrÏ   rÐ   rÑ   rÒ   )rÏ   rÐ   rÑ   rÒ   )r   r=   rµ   r   r   r   r   r   X  s    üzAppManifestError.from_jsonNr»   r   r   r   r   rÎ   D  s   
rÎ   c                   @  s<   e Zd ZU dZded< ddœdd„Zedd dœd	d
„ƒZdS )ÚAppManifestParsedPropertieszParsed app manifest properties.r   Úscoper   r   c                 C  s   t ƒ }| j|d< |S )NrÔ   )r;   rÔ   r<   r   r   r   r   h  s    
z#AppManifestParsedProperties.to_jsonr   c                 C  s   | t | d¡ƒd�S )NrÔ   )rÔ   ©r   r=   r   r   r   r   r   m  s    ÿz%AppManifestParsedProperties.from_jsonNr»   r   r   r   r   rÓ   b  s
   
rÓ   c                   @  sT   e Zd ZU dZded< ded< ded< ded< ddœd	d
„Zedd dœdd„ƒZdS )ÚLayoutViewportz(Layout viewport position and dimensions.rµ   Úpage_xÚpage_yÚclient_widthÚclient_heightr   r   c                 C  s2   t ƒ }| j|d< | j|d< | j|d< | j|d< |S )NÚpageXÚpageYÚclientWidthÚclientHeight)r;   r×   rØ   rÙ   rÚ   r<   r   r   r   r   €  s    



zLayoutViewport.to_jsonr   c                 C  s8   | t | d¡ƒt | d¡ƒt | d¡ƒt | d¡ƒd�S )NrÛ   rÜ   rÝ   rÞ   )r×   rØ   rÙ   rÚ   ©rµ   r=   r   r   r   r   r   ˆ  s    üzLayoutViewport.from_jsonNr»   r   r   r   r   rÖ   t  s   
rÖ   c                   @  sx   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dœdd„Zedd dœdd„ƒZd
S )ÚVisualViewportz0Visual viewport position, dimensions, and scale.r¡   Úoffset_xÚoffset_yr×   rØ   rÙ   rÚ   ÚscaleNr™   Úzoomr   r   c                 C  sd   t ƒ }| j|d< | j|d< | j|d< | j|d< | j|d< | j|d< | j|d< | jd ur`| j|d< |S )	NÚoffsetXÚoffsetYrÛ   rÜ   rÝ   rÞ   rã   rä   )	r;   rá   râ   r×   rØ   rÙ   rÚ   rã   rä   r<   r   r   r   r   ¦  s    








zVisualViewport.to_jsonr   c                 C  s|   | t | d¡ƒt | d¡ƒt | d¡ƒt | d¡ƒt | d¡ƒt | d¡ƒt | d¡ƒ| dd ¡d urtt | d¡ƒnd d	�S )
Nrå   ræ   rÛ   rÜ   rÝ   rÞ   rã   rä   )rá   râ   r×   rØ   rÙ   rÚ   rã   rä   ©r¡   r=   r   r   r   r   r   ³  s    ÿõzVisualViewport.from_json)	r"   r#   r$   r%   r>   rä   r   r&   r   r   r   r   r   rà   ’  s   
rà   c                   @  s\   e Zd ZU dZded< ded< ded< ded< ded< dd	œd
d„Zedd dœdd„ƒZdS )ÚViewportz"Viewport for capturing screenshot.r¡   ÚxÚyÚwidthÚheightrã   r   r   c                 C  s<   t ƒ }| j|d< | j|d< | j|d< | j|d< | j|d< |S )Nré   rê   rë   rì   rã   )r;   ré   rê   rë   rì   rã   r<   r   r   r   r   Ó  s    




zViewport.to_jsonr   c              	   C  sD   | t | d¡ƒt | d¡ƒt | d¡ƒt | d¡ƒt | d¡ƒd�S )Nré   rê   rë   rì   rã   )ré   rê   rë   rì   rã   rç   r   r   r   r   r   Ü  s    ûzViewport.from_jsonNr»   r   r   r   r   rè   Å  s   
	rè   c                   @  sˆ   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dœdd„Zedd dœdd„ƒZdS )ÚFontFamiliesz!Generic font families collection.Nrƒ   ÚstandardÚfixedÚserifÚ
sans_serifÚcursiveÚfantasyÚmathr   r   c                 C  s–   t ƒ }| jd ur| j|d< | jd ur.| j|d< | jd urB| j|d< | jd urV| j|d< | jd urj| j|d< | jd ur~| j|d< | jd ur’| j|d< |S )Nrî   rï   rð   Ú	sansSerifrò   ró   rô   )r;   rî   rï   rð   rñ   rò   ró   rô   r<   r   r   r   r   ù  s     













zFontFamilies.to_jsonr   c                 C  sè   | |  dd ¡d ur t|  d¡ƒnd |  dd ¡d ur@t|  d¡ƒnd |  dd ¡d ur`t|  d¡ƒnd |  dd ¡d ur€t|  d¡ƒnd |  dd ¡d ur t|  d¡ƒnd |  dd ¡d urÀt|  d¡ƒnd |  dd ¡d uràt|  d¡ƒnd d�S )	Nrî   rï   rð   rõ   rò   ró   rô   )rî   rï   rð   rñ   rò   ró   rô   ©r=   r   r   r   r   r   r     s.    ÿÿÿÿÿÿÿÞzFontFamilies.from_json)r"   r#   r$   r%   rî   r>   rï   rð   rñ   rò   ró   rô   r   r&   r   r   r   r   r   rí   ç  s   
rí   c                   @  sD   e Zd ZU dZded< ded< ddœdd	„Zedd d
œdd„ƒZdS )ÚScriptFontFamiliesz&Font families collection for a script.r   Úscriptrí   Úfont_familiesr   r   c                 C  s"   t ƒ }| j|d< | j ¡ |d< |S )Nrø   ÚfontFamilies)r;   rø   rù   r   r<   r   r   r   r   <  s    
zScriptFontFamilies.to_jsonr   c                 C  s"   | t | d¡ƒt | d¡¡d�S )Nrø   rú   )rø   rù   )r   r=   rí   r   r   r   r   r   r   B  s    þzScriptFontFamilies.from_jsonNr»   r   r   r   r   r÷   4  s   
r÷   c                   @  sL   e Zd ZU dZdZded< dZded< ddœdd	„Zedd d
œdd„ƒZ	dS )Ú	FontSizeszDefault font sizes.Nútyping.Optional[int]rî   rï   r   r   c                 C  s2   t ƒ }| jd ur| j|d< | jd ur.| j|d< |S )Nrî   rï   )r;   rî   rï   r<   r   r   r   r   R  s    



zFontSizes.to_jsonr   c                 C  sH   | |  dd ¡d ur t|  d¡ƒnd |  dd ¡d ur@t|  d¡ƒnd d�S )Nrî   rï   )rî   rï   )r=   rµ   r   r   r   r   r   Z  s    ÿÿ÷zFontSizes.from_json)
r"   r#   r$   r%   rî   r>   rï   r   r&   r   r   r   r   r   rû   J  s   
rû   c                   @  sN   e Zd ZdZdZdZdZdZdZdZ	dZ
d	d
œdd„Zed	d dœdd„ƒZdS )ÚClientNavigationReasonZformSubmissionGetZformSubmissionPostZhttpHeaderRefreshZscriptInitiatedZmetaTagRefreshZpageBlockInterstitialr¯   ZanchorClickr   r   c                 C  s   | j S r   r,   r   r   r   r   r   t  s    zClientNavigationReason.to_jsonr   c                 C  s   | |ƒS r   r   r   r   r   r   r   w  s    z ClientNavigationReason.from_jsonN)r"   r#   r$   ZFORM_SUBMISSION_GETZFORM_SUBMISSION_POSTZHTTP_HEADER_REFRESHZSCRIPT_INITIATEDZMETA_TAG_REFRESHZPAGE_BLOCK_INTERSTITIALr²   ZANCHOR_CLICKr   r&   r   r   r   r   r   rý   j  s   rý   c                   @  s>   e Zd ZdZdZdZdZddœdd„Zedd d	œd
d„ƒZ	dS )ÚClientNavigationDispositionZ
currentTabZnewTabZ	newWindowÚdownloadr   r   c                 C  s   | j S r   r,   r   r   r   r   r   ‚  s    z#ClientNavigationDisposition.to_jsonr   c                 C  s   | |ƒS r   r   r   r   r   r   r   …  s    z%ClientNavigationDisposition.from_jsonN)
r"   r#   r$   ZCURRENT_TABZNEW_TABZ
NEW_WINDOWZDOWNLOADr   r&   r   r   r   r   r   rþ   |  s   rþ   c                   @  s@   e Zd ZU ded< ded< ddœdd„Zedd dœd	d
„ƒZdS )ÚInstallabilityErrorArgumentr   r„   r-   r   r   c                 C  s   t ƒ }| j|d< | j|d< |S )Nr„   r-   )r;   r„   r-   r<   r   r   r   r   ‘  s    

z#InstallabilityErrorArgument.to_jsonr   c                 C  s    | t | d¡ƒt | d¡ƒd�S )Nr„   r-   )r„   r-   rÕ   r   r   r   r   r   —  s    þz%InstallabilityErrorArgument.from_jsonNrU   r   r   r   r   r   Š  s
   
r   c                   @  sD   e Zd ZU dZded< ded< ddœdd	„Zedd d
œdd„ƒZdS )ÚInstallabilityErrorzThe installability error.r   Úerror_idz(typing.List[InstallabilityErrorArgument]Úerror_argumentsr   r   c                 C  s(   t ƒ }| j|d< dd„ | jD ƒ|d< |S )NÚerrorIdc                 S  s   g | ]}|  ¡ ‘qS r   r5   r6   r   r   r   r9   «  r:   z/InstallabilityError.to_json.<locals>.<listcomp>ÚerrorArguments)r;   r  r  r<   r   r   r   r   ¨  s    
zInstallabilityError.to_jsonr   c                 C  s$   | t | d¡ƒdd„ |d D ƒd�S )Nr  c                 S  s   g | ]}t  |¡‘qS r   )r   r   r6   r   r   r   r9   ²  s   ÿz1InstallabilityError.from_json.<locals>.<listcomp>r  )r  r  rÕ   r   r   r   r   r   ®  s    þþzInstallabilityError.from_jsonNr»   r   r   r   r   r  Ÿ  s   
r  c                   @  sR   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
dœdd„Zed
d dœdd„ƒZdS )ÚReferrerPolicyz-The referring-policy used for the navigation.Z
noReferrerZnoReferrerWhenDowngradera   ZoriginWhenCrossOriginZ
sameOriginZstrictOriginZstrictOriginWhenCrossOriginZ	unsafeUrlr   r   c                 C  s   | j S r   r,   r   r   r   r   r   Ä  s    zReferrerPolicy.to_jsonr   c                 C  s   | |ƒS r   r   r   r   r   r   r   Ç  s    zReferrerPolicy.from_jsonN)r"   r#   r$   r%   ZNO_REFERRERZNO_REFERRER_WHEN_DOWNGRADEZORIGINZORIGIN_WHEN_CROSS_ORIGINZSAME_ORIGINZSTRICT_ORIGINZSTRICT_ORIGIN_WHEN_CROSS_ORIGINZ
UNSAFE_URLr   r&   r   r   r   r   r   r  ¹  s   r  c                   @  sH   e Zd ZU dZded< dZded< ddœd	d
„Zedd dœdd„ƒZdS )ÚCompilationCacheParamszU
    Per-script compilation cache parameters for `Page.produceCompilationCache`.
    r   rz   Nr›   Úeagerr   r   c                 C  s(   t ƒ }| j|d< | jd ur$| j|d< |S )Nrz   r  )r;   rz   r  r<   r   r   r   r   ×  s
    


zCompilationCacheParams.to_jsonr   c                 C  s4   | t | d¡ƒ| dd ¡d ur,t| d¡ƒnd d�S )Nrz   r  )rz   r  ©r   r=   rX   r   r   r   r   r   Þ  s    ÿûz CompilationCacheParams.from_json)	r"   r#   r$   r%   r>   r  r   r&   r   r   r   r   r   r  Ì  s   
r  c                   @  sH   e Zd ZU dZded< dZded< ddœdd	„Zedd d
œdd„ƒZdS )Ú
FileFilterNrƒ   r„   ú!typing.Optional[typing.List[str]]Úacceptsr   r   c                 C  s<   t ƒ }| jd ur| j|d< | jd ur8dd„ | jD ƒ|d< |S )Nr„   c                 S  s   g | ]}|‘qS r   r   r6   r   r   r   r9   ô  r:   z&FileFilter.to_json.<locals>.<listcomp>r  )r;   r„   r  r<   r   r   r   r   ï  s    


zFileFilter.to_jsonr   c                 C  sL   | |  dd ¡d ur t|  d¡ƒnd |  dd ¡d urDdd„ |d D ƒnd d�S )Nr„   r  c                 S  s   g | ]}t |ƒ‘qS r   ©r   r6   r   r   r   r9      r:   z(FileFilter.from_json.<locals>.<listcomp>)r„   r  rö   r   r   r   r   r   ÷  s    ÿÿ÷zFileFilter.from_json)	r"   r#   r$   r„   r>   r  r   r&   r   r   r   r   r   r
  ê  s
   
r
  c                   @  s`   e Zd ZU ded< ded< ded< dZded< dZded	< d
dœdd„Zed
d dœdd„ƒZdS )ÚFileHandlerr   Úactionr„   Úlaunch_typeNú+typing.Optional[typing.List[ImageResource]]Úiconsú(typing.Optional[typing.List[FileFilter]]r  r   r   c                 C  sd   t ƒ }| j|d< | j|d< | j|d< | jd urBdd„ | jD ƒ|d< | jd ur`dd„ | jD ƒ|d< |S )	Nr  r„   Ú
launchTypec                 S  s   g | ]}|  ¡ ‘qS r   r5   r6   r   r   r   r9     r:   z'FileHandler.to_json.<locals>.<listcomp>r  c                 S  s   g | ]}|  ¡ ‘qS r   r5   r6   r   r   r   r9     r:   r  )r;   r  r„   r  r  r  r<   r   r   r   r     s    




zFileHandler.to_jsonr   c              	   C  st   | t | d¡ƒt | d¡ƒt | d¡ƒ| dd ¡d urHdd„ |d D ƒnd | dd ¡d urldd„ |d D ƒnd d	�S )
Nr  r„   r  r  c                 S  s   g | ]}t  |¡‘qS r   ©ÚImageResourcer   r6   r   r   r   r9   $  r:   z)FileHandler.from_json.<locals>.<listcomp>r  c                 S  s   g | ]}t  |¡‘qS r   ©r
  r   r6   r   r   r   r9   )  r:   )r  r„   r  r  r  rÕ   r   r   r   r   r     s    ÿÿôzFileHandler.from_json)	r"   r#   r$   r>   r  r  r   r&   r   r   r   r   r   r    s   
r  c                   @  sT   e Zd ZU dZded< dZded< dZded< dd	œd
d„Zedd dœdd„ƒZ	dS )r  z6The image definition used in both icon and screenshot.r   rz   Nrƒ   Úsizesr–   r   r   c                 C  s<   t ƒ }| j|d< | jd ur$| j|d< | jd ur8| j|d< |S )Nrz   r  rž   )r;   rz   r  r–   r<   r   r   r   r   9  s    




zImageResource.to_jsonr   c                 C  sT   | t | d¡ƒ| dd ¡d ur,t | d¡ƒnd | dd ¡d urLt | d¡ƒnd d�S )Nrz   r  rž   )rz   r  r–   rÕ   r   r   r   r   r   B  s    ÿÿözImageResource.from_json)
r"   r#   r$   r%   r>   r  r–   r   r&   r   r   r   r   r   r  0  s   
	r  c                   @  s8   e Zd ZU ded< ddœdd„Zedd dœdd	„ƒZd
S )ÚLaunchHandlerr   Úclient_moder   r   c                 C  s   t ƒ }| j|d< |S )NÚ
clientMode)r;   r  r<   r   r   r   r   W  s    
zLaunchHandler.to_jsonr   c                 C  s   | t | d¡ƒd�S )Nr  )r  rÕ   r   r   r   r   r   \  s    ÿzLaunchHandler.from_jsonNrU   r   r   r   r   r  S  s   
r  c                   @  s@   e Zd ZU ded< ded< ddœdd„Zedd dœd	d
„ƒZdS )ÚProtocolHandlerr   Úprotocolrz   r   r   c                 C  s   t ƒ }| j|d< | j|d< |S )Nr  rz   )r;   r  rz   r<   r   r   r   r   h  s    

zProtocolHandler.to_jsonr   c                 C  s    | t | d¡ƒt | d¡ƒd�S )Nr  rz   )r  rz   rÕ   r   r   r   r   r   n  s    þzProtocolHandler.from_jsonNrU   r   r   r   r   r  c  s
   
r  c                   @  sD   e Zd ZU ded< dZded< ddœdd	„Zedd d
œdd„ƒZdS )ÚRelatedApplicationr   rz   Nrƒ   rw   r   r   c                 C  s(   t ƒ }| j|d< | jd ur$| j|d< |S )Nrz   rˆ   )r;   rz   rw   r<   r   r   r   r   {  s
    


zRelatedApplication.to_jsonr   c                 C  s2   | t | d¡ƒ| dd ¡d ur*t |d ƒnd d�S )Nrz   rˆ   )rz   rw   rÕ   r   r   r   r   r   ‚  s    þzRelatedApplication.from_json)r"   r#   r$   r>   rw   r   r&   r   r   r   r   r   r  v  s
   
r  c                   @  s@   e Zd ZU ded< ded< ddœdd„Zedd d	œd
d„ƒZdS )ÚScopeExtensionr   ra   rX   Úhas_origin_wildcardr   r   c                 C  s   t ƒ }| j|d< | j|d< |S )Nra   ÚhasOriginWildcard)r;   ra   r   r<   r   r   r   r   ‘  s    

zScopeExtension.to_jsonr   c                 C  s    | t | d¡ƒt| d¡ƒd�S )Nra   r!  )ra   r   r	  r   r   r   r   r   —  s    þzScopeExtension.from_jsonNrU   r   r   r   r   r  Š  s
   
r  c                   @  sL   e Zd ZU ded< ded< dZded< dd	œd
d„Zedd dœdd„ƒZdS )Ú
Screenshotr  Úimager   Úform_factorNrƒ   Úlabelr   r   c                 C  s6   t ƒ }| j ¡ |d< | j|d< | jd ur2| j|d< |S )Nr#  Ú
formFactorr%  )r;   r#  r   r$  r%  r<   r   r   r   r   ¥  s    


zScreenshot.to_jsonr   c                 C  sB   | t  | d¡¡t| d¡ƒ| dd ¡d ur:t| d¡ƒnd d�S )Nr#  r&  r%  )r#  r$  r%  )r  r   r=   r   r   r   r   r   r   ­  s    ÿúzScreenshot.from_json)r"   r#   r$   r>   r%  r   r&   r   r   r   r   r   r"  Ÿ  s   
r"  c                   @  sx   e Zd ZU 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dœdd„Ze	dd dœdd„ƒZ
dS )ÚShareTargetr   r  ÚmethodÚenctypeNrƒ   r·   Útextrz   r  Úfilesr   r   c                 C  s‚   t ƒ }| j|d< | j|d< | j|d< | jd ur8| j|d< | jd urL| j|d< | jd ur`| j|d< | jd ur~dd„ | jD ƒ|d	< |S )
Nr  r(  r)  r·   r*  rz   c                 S  s   g | ]}|  ¡ ‘qS r   r5   r6   r   r   r   r9   Ñ  r:   z'ShareTarget.to_json.<locals>.<listcomp>r+  )r;   r  r(  r)  r·   r*  rz   r+  r<   r   r   r   r   Å  s    









zShareTarget.to_jsonr   c                 C  s®   | t | d¡ƒt | d¡ƒt | d¡ƒ| dd ¡d urDt | d¡ƒnd | dd ¡d urdt | d¡ƒnd | dd ¡d ur‚t |d ƒnd | dd ¡d ur¦dd	„ |d D ƒnd d
�S )Nr  r(  r)  r·   r*  rz   r+  c                 S  s   g | ]}t  |¡‘qS r   r  r6   r   r   r   r9   è  r:   z)ShareTarget.from_json.<locals>.<listcomp>)r  r(  r)  r·   r*  rz   r+  rÕ   r   r   r   r   r   Ô  s    ÿÿÿìzShareTarget.from_json)r"   r#   r$   r>   r·   r*  rz   r+  r   r&   r   r   r   r   r   r'  º  s   
r'  c                   @  s@   e Zd ZU ded< ded< ddœdd„Zedd dœd	d
„ƒZdS )ÚShortcutr   r„   rz   r   r   c                 C  s   t ƒ }| j|d< | j|d< |S )Nr„   rz   )r;   r„   rz   r<   r   r   r   r   ô  s    

zShortcut.to_jsonr   c                 C  s    | t | d¡ƒt | d¡ƒd�S )Nr„   rz   )r„   rz   rÕ   r   r   r   r   r   ú  s    þzShortcut.from_jsonNrU   r   r   r   r   r,  ï  s
   
r,  c                   @  sD  e Zd ZU dZded< dZded< dZded< dZded< dZded< dZ	d	ed
< dZ
ded< dZded< dZded< dZded< dZded< dZded< dZded< dZded< dZded< dZded< dZded< dZded< dZded< dZded < dZd!ed"< dZded#< dZded$< d%d&œd'd(„Zed%d d)œd*d+„ƒZdS ),ÚWebAppManifestNrƒ   Úbackground_colorÚdescriptionÚdir_Údisplayr  Údisplay_overridesz)typing.Optional[typing.List[FileHandler]]Úfile_handlersr  r  rw   Úlangztyping.Optional[LaunchHandler]Úlaunch_handlerr„   Úorientationr›   Úprefer_related_applicationsz-typing.Optional[typing.List[ProtocolHandler]]Úprotocol_handlersz0typing.Optional[typing.List[RelatedApplication]]Úrelated_applicationsrÔ   z,typing.Optional[typing.List[ScopeExtension]]Úscope_extensionsz(typing.Optional[typing.List[Screenshot]]Úscreenshotsztyping.Optional[ShareTarget]Úshare_targetÚ
short_namez&typing.Optional[typing.List[Shortcut]]Ú	shortcutsÚ	start_urlÚtheme_colorr   r   c                 C  sH  t ƒ }| jd ur| j|d< | jd ur.| j|d< | jd urB| j|d< | jd urV| j|d< | jd urtdd„ | jD ƒ|d< | jd ur’dd„ | jD ƒ|d	< | jd ur°d
d„ | jD ƒ|d< | jd urÄ| j|d< | j	d urØ| j	|d< | j
d urð| j
 ¡ |d< | jd u�r| j|d< | jd u�r| j|d< | jd u�r2| j|d< | jd u�rRdd„ | jD ƒ|d< | jd u�rrdd„ | jD ƒ|d< | jd u�rˆ| j|d< | jd u�r¨dd„ | jD ƒ|d< | jd u�rÈdd„ | jD ƒ|d< | jd u�râ| j ¡ |d< | jd u�rø| j|d< | jd u�rdd„ | jD ƒ|d< | jd u�r.| j|d< | jd u�rD| j|d < |S )!NÚbackgroundColorr/  Údirr1  c                 S  s   g | ]}|‘qS r   r   r6   r   r   r   r9   .  r:   z*WebAppManifest.to_json.<locals>.<listcomp>ÚdisplayOverridesc                 S  s   g | ]}|  ¡ ‘qS r   r5   r6   r   r   r   r9   0  r:   ÚfileHandlersc                 S  s   g | ]}|  ¡ ‘qS r   r5   r6   r   r   r   r9   2  r:   r  rˆ   r4  ÚlaunchHandlerr„   r6  ÚpreferRelatedApplicationsc                 S  s   g | ]}|  ¡ ‘qS r   r5   r6   r   r   r   r9   B  s   ÚprotocolHandlersc                 S  s   g | ]}|  ¡ ‘qS r   r5   r6   r   r   r   r9   F  s   ÚrelatedApplicationsrÔ   c                 S  s   g | ]}|  ¡ ‘qS r   r5   r6   r   r   r   r9   L  s   ÚscopeExtensionsc                 S  s   g | ]}|  ¡ ‘qS r   r5   r6   r   r   r   r9   P  r:   r;  ÚshareTargetÚ	shortNamec                 S  s   g | ]}|  ¡ ‘qS r   r5   r6   r   r   r   r9   V  r:   r>  ÚstartUrlÚ
themeColor)r;   r.  r/  r0  r1  r2  r3  r  rw   r4  r5  r   r„   r6  r7  r8  r9  rÔ   r:  r;  r<  r=  r>  r?  r@  r<   r   r   r   r   #  sn    

















ÿÿ
ÿ

ÿ



zWebAppManifest.to_jsonr   c                 C  s*  | |  dd ¡d ur t|  d¡ƒnd |  dd ¡d ur@t|  d¡ƒnd |  dd ¡d ur`t|  d¡ƒnd |  dd ¡d ur€t|  d¡ƒnd |  dd ¡d ur¤dd„ |d D ƒnd |  dd ¡d urÈd	d„ |d D ƒnd |  d
d ¡d urìdd„ |d
 D ƒnd |  dd ¡d u�rt|d ƒnd |  dd ¡d u�r.t|  d¡ƒnd |  dd ¡d u�rRt |  d¡¡nd |  dd ¡d u�rtt|  d¡ƒnd |  dd ¡d u�r–t|  d¡ƒnd |  dd ¡d u�r¸t|  d¡ƒnd |  dd ¡d u�rÞdd„ |d D ƒnd |  dd ¡d u�rdd„ |d D ƒnd |  dd ¡d u�r&t|  d¡ƒnd |  dd ¡d u�rLdd„ |d D ƒnd |  dd ¡d u�rrdd„ |d D ƒnd |  dd ¡d u�r–t |  d¡¡nd |  dd ¡d u�r¸t|  d¡ƒnd |  dd ¡d u�rÞdd„ |d D ƒnd |  dd ¡d u�r t|  d¡ƒnd |  d d ¡d u�r"t|  d ¡ƒnd d!�S )"NrA  r/  rB  r1  rC  c                 S  s   g | ]}t |ƒ‘qS r   r  r6   r   r   r   r9   u  r:   z,WebAppManifest.from_json.<locals>.<listcomp>rD  c                 S  s   g | ]}t  |¡‘qS r   )r  r   r6   r   r   r   r9   z  r:   r  c                 S  s   g | ]}t  |¡‘qS r   r  r6   r   r   r   r9     r:   rˆ   r4  rE  r„   r6  rF  rG  c                 S  s   g | ]}t  |¡‘qS r   )r  r   r6   r   r   r   r9   ž  s   ÿrH  c                 S  s   g | ]}t  |¡‘qS r   )r  r   r6   r   r   r   r9   ¦  s   ÿrÔ   rI  c                 S  s   g | ]}t  |¡‘qS r   )r  r   r6   r   r   r   r9   ³  r:   r;  c                 S  s   g | ]}t  |¡‘qS r   )r"  r   r6   r   r   r   r9   ¸  r:   rJ  rK  r>  c                 S  s   g | ]}t  |¡‘qS r   )r,  r   r6   r   r   r   r9   Ç  r:   rL  rM  )r.  r/  r0  r1  r2  r3  r  rw   r4  r5  r„   r6  r7  r8  r9  rÔ   r:  r;  r<  r=  r>  r?  r@  )r=   r   r  r   rX   r'  r   r   r   r   r   ]  s’    ÿÿÿÿÿÿÿ ÿÿÿÿÿü
þü
þÿÿÿÿÿÿÿÿŒzWebAppManifest.from_json)r"   r#   r$   r.  r>   r/  r0  r1  r2  r3  r  rw   r4  r5  r„   r6  r7  r8  r9  rÔ   r:  r;  r<  r=  r>  r?  r@  r   r&   r   r   r   r   r   r-    s6   
ÿ
:r-  c                   @  sB   e Zd ZdZdZdZdZdZddœdd	„Ze	dd d
œdd„ƒZ
dS )ÚAutoResponseModez?Enum of possible auto-response for permission / prompt dialogs.r)   Z
autoAcceptZ
autoRejectZ
autoOptOutr   r   c                 C  s   | j S r   r,   r   r   r   r   r   à  s    zAutoResponseMode.to_jsonr   c                 C  s   | |ƒS r   r   r   r   r   r   r   ã  s    zAutoResponseMode.from_jsonN)r"   r#   r$   r%   r.   ZAUTO_ACCEPTZAUTO_REJECTZAUTO_OPT_OUTr   r&   r   r   r   r   r   rN  Ø  s   rN  c                   @  s:   e Zd ZdZdZdZddœdd„Zedd dœd	d
„ƒZdS )ÚNavigationTypez#The type of a frameNavigated event.Z
NavigationZBackForwardCacheRestorer   r   c                 C  s   | j S r   r,   r   r   r   r   r   í  s    zNavigationType.to_jsonr   c                 C  s   | |ƒS r   r   r   r   r   r   r   ð  s    zNavigationType.from_jsonN)	r"   r#   r$   r%   Z
NAVIGATIONZBACK_FORWARD_CACHE_RESTOREr   r&   r   r   r   r   r   rO  è  s   rO  c                   @  sn  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~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‘d’œd“d”„Z“e”d‘d d•œd–d—„ƒZ•d˜S )™Ú!BackForwardCacheNotRestoredReasonz4List of not restored reasons for back-forward cache.ZNotPrimaryMainFrameZBackForwardCacheDisabledZRelatedActiveContentsExistZHTTPStatusNotOKZSchemeNotHTTPOrHTTPSZLoadingZWasGrantedMediaAccessZDisableForRenderFrameHostCalledZDomainNotAllowedZHTTPMethodNotGETZSubframeIsNavigatingÚTimeoutZ
CacheLimitZJavaScriptExecutionZRendererProcessKilledZRendererProcessCrashedZSchedulerTrackedFeatureUsedZConflictingBrowsingInstanceZCacheFlushedZServiceWorkerVersionActivationZSessionRestoredZServiceWorkerPostMessageZ3EnteredBackForwardCacheBeforeServiceWorkerHostAddedZRenderFrameHostReused_SameSiteZRenderFrameHostReused_CrossSiteZServiceWorkerClaimZIgnoreEventAndEvictZHaveInnerContentsZTimeoutPuttingInCacheZ#BackForwardCacheDisabledByLowMemoryZ%BackForwardCacheDisabledByCommandLineZ,NetworkRequestDatapipeDrainedAsBytesConsumerZNetworkRequestRedirectedZNetworkRequestTimeoutZNetworkExceedsBufferLimitZ!NavigationCancelledWhileRestoringZNotMostRecentNavigationEntryZ$BackForwardCacheDisabledForPrerenderZUserAgentOverrideDiffersZForegroundCacheLimitZForwardCacheDisabledZBrowsingInstanceNotSwappedZ#BackForwardCacheDisabledForDelegateZUnloadHandlerExistsInMainFrameZUnloadHandlerExistsInSubFrameZServiceWorkerUnregistrationZCacheControlNoStoreZ!CacheControlNoStoreCookieModifiedZ)CacheControlNoStoreHTTPOnlyCookieModifiedZNoResponseHeadÚUnknownZ,ActivationNavigationsDisallowedForBug1234857ZErrorDocumentZFencedFramesEmbedderZCookieDisabledZHTTPAuthRequiredZCookieFlushedZBroadcastChannelOnMessageZWebViewSettingsChangedZWebViewJavaScriptObjectChangedZWebViewMessageListenerInjectedZ#WebViewSafeBrowsingAllowlistChangedZ%WebViewDocumentStartJavascriptChangedZ	WebSocketZWebTransportZWebRTCZ"MainResourceHasCacheControlNoStoreZ"MainResourceHasCacheControlNoCacheZ!SubresourceHasCacheControlNoStoreZ!SubresourceHasCacheControlNoCacheZContainsPluginsZDocumentLoadedZOutstandingNetworkRequestOthersZRequestedMIDIPermissionZRequestedAudioCapturePermissionZRequestedVideoCapturePermissionZ'RequestedBackForwardCacheBlockedSensorsZ!RequestedBackgroundWorkPermissionZBroadcastChannelZWebXRZSharedWorkerZSharedWorkerMessageZSharedWorkerWithNoActiveClientZWebBluetoothZWebLocksZWebLocksContentionZWebHIDZWebShareZRequestedStorageAccessGrantZWebNfcZOutstandingNetworkRequestFetchZOutstandingNetworkRequestXHRZ	AppBannerZPrintingZWebDatabaseZPictureInPictureZPortalZSpeechRecognizerZIdleManagerZPaymentManagerZSpeechSynthesisZKeyboardLockZWebOTPServiceZ%OutstandingNetworkRequestDirectSocketZInjectedJavascriptZInjectedStyleSheetZKeepaliveRequestZIndexedDBEventZDummyZ3JsNetworkRequestReceivedCacheControlNoStoreResourceZWebRTCUsedWithCCNSZWebTransportUsedWithCCNSZWebSocketUsedWithCCNSZ	SmartCardZLiveMediaStreamTrackZUnloadHandlerZParserAbortedZContentSecurityHandlerZContentWebAuthenticationAPIZContentFileChooserZContentSerialZContentFileSystemAccessZ!ContentMediaDevicesDispatcherHostZContentWebBluetoothZContentWebUSBZContentMediaSessionServiceZContentScreenReaderZEmbedderPopupBlockerTabHelperZ)EmbedderSafeBrowsingTriggeredPopupBlockerZ!EmbedderSafeBrowsingThreatDetailsZEmbedderAppBannerManagerZ EmbedderDomDistillerViewerSourceZ/EmbedderDomDistillerSelfDeletingRequestDelegateZ EmbedderOomInterventionTabHelperZEmbedderOfflinePageZ8EmbedderChromePasswordManagerClientBindCredentialManagerZ EmbedderPermissionRequestManagerZEmbedderModalDialogZEmbedderExtensionsZEmbedderExtensionMessagingZ%EmbedderExtensionMessagingForOpenPortZ)EmbedderExtensionSentMessageToCachedFrameZRequestedByWebViewClientr   r   c                 C  s   | j S r   r,   r   r   r   r   r   µ  s    z)BackForwardCacheNotRestoredReason.to_jsonr   c                 C  s   | |ƒS r   r   r   r   r   r   r   ¸  s    z+BackForwardCacheNotRestoredReason.from_jsonN)–r"   r#   r$   r%   ZNOT_PRIMARY_MAIN_FRAMEZBACK_FORWARD_CACHE_DISABLEDZRELATED_ACTIVE_CONTENTS_EXISTZHTTP_STATUS_NOT_OKZSCHEME_NOT_HTTP_OR_HTTPSZLOADINGZWAS_GRANTED_MEDIA_ACCESSZ$DISABLE_FOR_RENDER_FRAME_HOST_CALLEDZDOMAIN_NOT_ALLOWEDZHTTP_METHOD_NOT_GETZSUBFRAME_IS_NAVIGATINGÚTIMEOUTZCACHE_LIMITZJAVA_SCRIPT_EXECUTIONZRENDERER_PROCESS_KILLEDZRENDERER_PROCESS_CRASHEDZSCHEDULER_TRACKED_FEATURE_USEDZCONFLICTING_BROWSING_INSTANCEZCACHE_FLUSHEDZ!SERVICE_WORKER_VERSION_ACTIVATIONZSESSION_RESTOREDZSERVICE_WORKER_POST_MESSAGEZ;ENTERED_BACK_FORWARD_CACHE_BEFORE_SERVICE_WORKER_HOST_ADDEDZ"RENDER_FRAME_HOST_REUSED_SAME_SITEZ#RENDER_FRAME_HOST_REUSED_CROSS_SITEZSERVICE_WORKER_CLAIMZIGNORE_EVENT_AND_EVICTZHAVE_INNER_CONTENTSZTIMEOUT_PUTTING_IN_CACHEZ)BACK_FORWARD_CACHE_DISABLED_BY_LOW_MEMORYZ+BACK_FORWARD_CACHE_DISABLED_BY_COMMAND_LINEZ2NETWORK_REQUEST_DATAPIPE_DRAINED_AS_BYTES_CONSUMERZNETWORK_REQUEST_REDIRECTEDZNETWORK_REQUEST_TIMEOUTZNETWORK_EXCEEDS_BUFFER_LIMITZ$NAVIGATION_CANCELLED_WHILE_RESTORINGZ NOT_MOST_RECENT_NAVIGATION_ENTRYZ)BACK_FORWARD_CACHE_DISABLED_FOR_PRERENDERZUSER_AGENT_OVERRIDE_DIFFERSZFOREGROUND_CACHE_LIMITZFORWARD_CACHE_DISABLEDZBROWSING_INSTANCE_NOT_SWAPPEDZ(BACK_FORWARD_CACHE_DISABLED_FOR_DELEGATEZ#UNLOAD_HANDLER_EXISTS_IN_MAIN_FRAMEZ"UNLOAD_HANDLER_EXISTS_IN_SUB_FRAMEZSERVICE_WORKER_UNREGISTRATIONZCACHE_CONTROL_NO_STOREZ&CACHE_CONTROL_NO_STORE_COOKIE_MODIFIEDZ0CACHE_CONTROL_NO_STORE_HTTP_ONLY_COOKIE_MODIFIEDZNO_RESPONSE_HEADÚUNKNOWNZ0ACTIVATION_NAVIGATIONS_DISALLOWED_FOR_BUG1234857ZERROR_DOCUMENTZFENCED_FRAMES_EMBEDDERZCOOKIE_DISABLEDZHTTP_AUTH_REQUIREDZCOOKIE_FLUSHEDZBROADCAST_CHANNEL_ON_MESSAGEZWEB_VIEW_SETTINGS_CHANGEDZ#WEB_VIEW_JAVA_SCRIPT_OBJECT_CHANGEDZ"WEB_VIEW_MESSAGE_LISTENER_INJECTEDZ(WEB_VIEW_SAFE_BROWSING_ALLOWLIST_CHANGEDZ*WEB_VIEW_DOCUMENT_START_JAVASCRIPT_CHANGEDZ
WEB_SOCKETZWEB_TRANSPORTZWEB_RTCZ(MAIN_RESOURCE_HAS_CACHE_CONTROL_NO_STOREZ(MAIN_RESOURCE_HAS_CACHE_CONTROL_NO_CACHEZ&SUBRESOURCE_HAS_CACHE_CONTROL_NO_STOREZ&SUBRESOURCE_HAS_CACHE_CONTROL_NO_CACHEZCONTAINS_PLUGINSZDOCUMENT_LOADEDZ"OUTSTANDING_NETWORK_REQUEST_OTHERSZREQUESTED_MIDI_PERMISSIONZ"REQUESTED_AUDIO_CAPTURE_PERMISSIONZ"REQUESTED_VIDEO_CAPTURE_PERMISSIONZ,REQUESTED_BACK_FORWARD_CACHE_BLOCKED_SENSORSZ$REQUESTED_BACKGROUND_WORK_PERMISSIONZBROADCAST_CHANNELZWEB_XRZSHARED_WORKERZSHARED_WORKER_MESSAGEZ#SHARED_WORKER_WITH_NO_ACTIVE_CLIENTZWEB_BLUETOOTHZ	WEB_LOCKSZWEB_LOCKS_CONTENTIONZWEB_HIDrL   ZREQUESTED_STORAGE_ACCESS_GRANTZWEB_NFCZ!OUTSTANDING_NETWORK_REQUEST_FETCHZOUTSTANDING_NETWORK_REQUEST_XHRZ
APP_BANNERZPRINTINGZWEB_DATABASErJ   ZPORTALZSPEECH_RECOGNIZERZIDLE_MANAGERZPAYMENT_MANAGERZSPEECH_SYNTHESISZKEYBOARD_LOCKZWEB_OTP_SERVICEZ)OUTSTANDING_NETWORK_REQUEST_DIRECT_SOCKETZINJECTED_JAVASCRIPTZINJECTED_STYLE_SHEETZKEEPALIVE_REQUESTZINDEXED_DB_EVENTZDUMMYZ;JS_NETWORK_REQUEST_RECEIVED_CACHE_CONTROL_NO_STORE_RESOURCEZWEB_RTC_USED_WITH_CCNSZWEB_TRANSPORT_USED_WITH_CCNSZWEB_SOCKET_USED_WITH_CCNSrK   ZLIVE_MEDIA_STREAM_TRACKZUNLOAD_HANDLERZPARSER_ABORTEDZCONTENT_SECURITY_HANDLERZCONTENT_WEB_AUTHENTICATION_APIZCONTENT_FILE_CHOOSERZCONTENT_SERIALZCONTENT_FILE_SYSTEM_ACCESSZ%CONTENT_MEDIA_DEVICES_DISPATCHER_HOSTZCONTENT_WEB_BLUETOOTHZCONTENT_WEB_USBZCONTENT_MEDIA_SESSION_SERVICEZCONTENT_SCREEN_READERZ!EMBEDDER_POPUP_BLOCKER_TAB_HELPERZ.EMBEDDER_SAFE_BROWSING_TRIGGERED_POPUP_BLOCKERZ%EMBEDDER_SAFE_BROWSING_THREAT_DETAILSZEMBEDDER_APP_BANNER_MANAGERZ$EMBEDDER_DOM_DISTILLER_VIEWER_SOURCEZ5EMBEDDER_DOM_DISTILLER_SELF_DELETING_REQUEST_DELEGATEZ$EMBEDDER_OOM_INTERVENTION_TAB_HELPERZEMBEDDER_OFFLINE_PAGEZ?EMBEDDER_CHROME_PASSWORD_MANAGER_CLIENT_BIND_CREDENTIAL_MANAGERZ#EMBEDDER_PERMISSION_REQUEST_MANAGERZEMBEDDER_MODAL_DIALOGZEMBEDDER_EXTENSIONSZEMBEDDER_EXTENSION_MESSAGINGZ*EMBEDDER_EXTENSION_MESSAGING_FOR_OPEN_PORTZ/EMBEDDER_EXTENSION_SENT_MESSAGE_TO_CACHED_FRAMEZREQUESTED_BY_WEB_VIEW_CLIENTr   r&   r   r   r   r   r   rP  õ  sT  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿrP  c                   @  s>   e Zd ZdZdZdZdZddœdd„Zedd d	œd
d„ƒZ	dS )Ú%BackForwardCacheNotRestoredReasonTypez5Types of not restored reasons for back-forward cache.ZSupportPendingZPageSupportNeededZCircumstantialr   r   c                 C  s   | j S r   r,   r   r   r   r   r   Ã  s    z-BackForwardCacheNotRestoredReasonType.to_jsonr   c                 C  s   | |ƒS r   r   r   r   r   r   r   Æ  s    z/BackForwardCacheNotRestoredReasonType.from_jsonN)
r"   r#   r$   r%   ZSUPPORT_PENDINGZPAGE_SUPPORT_NEEDEDZCIRCUMSTANTIALr   r&   r   r   r   r   r   rU  ½  s   rU  c                   @  sX   e Zd ZU ded< ded< dZded< dZded< dd	œd
d„Zedd dœdd„ƒZdS )ÚBackForwardCacheBlockingDetailsrµ   Úline_numberÚcolumn_numberNrƒ   rz   Úfunctionr   r   c                 C  sF   t ƒ }| j|d< | j|d< | jd ur.| j|d< | jd urB| j|d< |S )NÚ
lineNumberÚcolumnNumberrz   rY  )r;   rW  rX  rz   rY  r<   r   r   r   r   ×  s    





z'BackForwardCacheBlockingDetails.to_jsonr   c                 C  s^   | t | d¡ƒt | d¡ƒ| dd ¡d ur6t|d ƒnd | dd ¡d urVt| d¡ƒnd d�S )NrZ  r[  rz   rY  )rW  rX  rz   rY  )rµ   r=   r   r   r   r   r   r   á  s    ÿ÷z)BackForwardCacheBlockingDetails.from_json)	r"   r#   r$   r>   rz   rY  r   r&   r   r   r   r   r   rV  Ë  s   

rV  c                   @  sX   e Zd ZU ded< ded< dZded< dZded	< d
dœdd„Zed
d dœdd„ƒZdS )Ú&BackForwardCacheNotRestoredExplanationrU  r–   rP  ÚreasonNrƒ   Úcontextz=typing.Optional[typing.List[BackForwardCacheBlockingDetails]]Údetailsr   r   c                 C  sX   t ƒ }| j ¡ |d< | j ¡ |d< | jd ur6| j|d< | jd urTdd„ | jD ƒ|d< |S )Nrž   r]  r^  c                 S  s   g | ]}|  ¡ ‘qS r   r5   r6   r   r   r   r9     r:   zBBackForwardCacheNotRestoredExplanation.to_json.<locals>.<listcomp>r_  )r;   r–   r   r]  r^  r_  r<   r   r   r   r   ÿ  s    


z.BackForwardCacheNotRestoredExplanation.to_jsonr   c                 C  sh   | t  | d¡¡t | d¡¡| dd ¡d ur<t| d¡ƒnd | dd ¡d ur`dd„ |d D ƒnd d�S )Nrž   r]  r^  r_  c                 S  s   g | ]}t  |¡‘qS r   )rV  r   r6   r   r   r   r9     s   ÿzDBackForwardCacheNotRestoredExplanation.from_json.<locals>.<listcomp>)r–   r]  r^  r_  )rU  r   r=   rP  r   r   r   r   r   r   	  s     ÿÿÿüþîz0BackForwardCacheNotRestoredExplanation.from_json)	r"   r#   r$   r>   r^  r_  r   r&   r   r   r   r   r   r\  ñ  s   
ÿ

r\  c                   @  sH   e Zd ZU ded< ded< ded< ddœd	d
„Zedd dœdd„ƒZdS )Ú*BackForwardCacheNotRestoredExplanationTreer   rz   ú3typing.List[BackForwardCacheNotRestoredExplanation]r3   z7typing.List[BackForwardCacheNotRestoredExplanationTree]Úchildrenr   r   c                 C  s<   t ƒ }| j|d< dd„ | jD ƒ|d< dd„ | jD ƒ|d< |S )Nrz   c                 S  s   g | ]}|  ¡ ‘qS r   r5   r6   r   r   r   r9   0  r:   zFBackForwardCacheNotRestoredExplanationTree.to_json.<locals>.<listcomp>r3   c                 S  s   g | ]}|  ¡ ‘qS r   r5   r6   r   r   r   r9   1  r:   rb  )r;   rz   r3   rb  r<   r   r   r   r   -  s
    
z2BackForwardCacheNotRestoredExplanationTree.to_jsonr   c                 C  s4   | t | d¡ƒdd„ |d D ƒdd„ |d D ƒd�S )Nrz   c                 S  s   g | ]}t  |¡‘qS r   ©r\  r   r6   r   r   r   r9   :  s   ÿzHBackForwardCacheNotRestoredExplanationTree.from_json.<locals>.<listcomp>r3   c                 S  s   g | ]}t  |¡‘qS r   )r`  r   r6   r   r   r   r9   >  s   ÿrb  )rz   r3   rb  rÕ   r   r   r   r   r   4  s    þþúz4BackForwardCacheNotRestoredExplanationTree.from_jsonNrU   r   r   r   r   r`  $  s   
r`  r   rƒ   r›   z<typing.Generator[T_JSON_DICT, T_JSON_DICT, ScriptIdentifier])ÚsourceÚ
world_nameÚinclude_command_line_apiÚrun_immediatelyr   c                 c  s^   t ƒ }| |d< |dur||d< |dur.||d< |dur>||d< d|dœ}|V }t | d¡¡S )	a	  
    Evaluates given script in every frame upon creation
    (before loading frame's scripts).
    :param source:
    :param world_name: **(EXPERIMENTAL)** *(Optional)*
     If specified, creates an isolated world with the given name
     and evaluates given script in it.
     This world name will be used as the ExecutionContextDescription::name
     when the corresponding event is emitted.
    :param include_command_line_api: **(EXPERIMENTAL)** *(Optional)*
     Specifies whether command line API should be available to the script,
     defaults to false.
    :param run_immediately: **(EXPERIMENTAL)** *(Optional)*
     If true, runs the script immediately on existing execution contexts
     or worlds. Default: false.
    :returns: Identifier of the added script.
    rd  NÚ	worldNameZincludeCommandLineAPIZrunImmediatelyz%Page.addScriptToEvaluateOnNewDocument©r(  ÚparamsÚ
identifier)r;   rª   r   r=   )rd  re  rf  rg  rj  Úcmd_dictr   r   r   r   Ú&add_script_to_evaluate_on_new_documentE  s    þrm  z0typing.Generator[T_JSON_DICT, T_JSON_DICT, None]r   c                  c  s   ddi} | V }dS )z%Brings page to front (activates tab).r(  zPage.bringToFrontNr   ©rl  r   r   r   r   Úbring_to_frontl  s    ÿro  rü   ztyping.Optional[Viewport]z/typing.Generator[T_JSON_DICT, T_JSON_DICT, str])Úformat_ÚqualityÚclipÚfrom_surfaceÚcapture_beyond_viewportÚoptimize_for_speedr   c           	      c  sˆ   t ƒ }| dur| |d< |dur&||d< |dur:| ¡ |d< |durJ||d< |durZ||d< |durj||d< d|d	œ}|V }t| d
¡ƒS )a5  
    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.
    :param optimize_for_speed: **(EXPERIMENTAL)** *(Optional)*
     Optimize image encoding for speed, not for resulting size
     (defaults to false)
    :returns: Base64-encoded image data.
     (Encoded as a base64 string when passed over JSON)
    Nr   rq  rr  ZfromSurfaceZcaptureBeyondViewportZoptimizeForSpeedzPage.captureScreenshotri  Údata)r;   r   r   r=   )	rp  rq  rr  rs  rt  ru  rj  rl  r   r   r   r   Úcapture_screenshott  s$    þrw  )rp  r   c                 c  s4   t ƒ }| dur| |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.captureSnapshotri  rv  ©r;   r   r=   )rp  rj  rl  r   r   r   r   Úcapture_snapshot¤  s    þry  zFtyping.Generator[T_JSON_DICT, T_JSON_DICT, runtime.ExecutionContextId])rQ   re  Úgrant_univeral_accessr   c                 c  sT   t ƒ }|  ¡ |d< |dur"||d< |dur2||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.
    rS   Nrh  ZgrantUniveralAccesszPage.createIsolatedWorldri  ZexecutionContextId)r;   r   r   ZExecutionContextIdr   r=   )rQ   re  rz  rj  rl  r   r   r   r   Úcreate_isolated_worldº  s    þr{  c                  c  s   ddi} | V }dS )z#Disables page domain notifications.r(  zPage.disableNr   rn  r   r   r   ÚdisableØ  s    ÿr|  )Ú enable_file_chooser_opened_eventr   c                 c  s*   t ƒ }| dur| |d< d|dœ}|V }dS )a  
    Enables page domain notifications.
    :param enable_file_chooser_opened_event: **(EXPERIMENTAL)** *(Optional)*
     If true, the `Page.fileChooserOpened` event will be emitted regardless of
     the state set by `Page.setInterceptFileChooserDialog` (default: false).
    NZenableFileChooserOpenedEventzPage.enableri  ©r;   )r}  rj  rl  r   r   r   r   Úenableà  s    	ÿþr  z°typing.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[str, typing.List[AppManifestError], typing.Optional[str], typing.Optional[AppManifestParsedProperties], WebAppManifest]])Úmanifest_idr   c              	   c  s–   t ƒ }| dur| |d< d|dœ}|V }t| d¡ƒdd„ |d D ƒ| d	d¡dur`t| d	¡ƒnd| d
d¡dur‚t | d
¡¡ndt | d¡¡fS )a‹  
    Gets the processed manifest for this current document.
      This API always waits for the manifest to be loaded.
      If manifestId is provided, and it does not match the manifest of the
        current document, this API errors out.
      If there is not a loaded page, this API errors out immediately.
    :param manifest_id: *(Optional)*
    :returns: A tuple with the following items:
        0. **url** - Manifest location.
        1. **errors** -
        2. **data** - *(Optional)* Manifest content.
        3. **parsed** - *(Optional)*
         Parsed manifest properties. Deprecated, use manifest instead.
        4. **manifest** -
    NZ
manifestIdzPage.getAppManifestri  rz   c                 S  s   g | ]}t  |¡‘qS r   )rÎ   r   r6   r   r   r   r9   	  r:   z$get_app_manifest.<locals>.<listcomp>Úerrorsrv  ÚparsedÚmanifest)r;   r   r=   rÓ   r   r-  )r€  rj  rl  r   r   r   r   Úget_app_manifestõ  s    þ ÿ÷r„  zLtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[InstallabilityError]]c                  c  s    ddi} | V }dd„ |d D ƒS )Nr(  zPage.getInstallabilityErrorsc                 S  s   g | ]}t  |¡‘qS r   )r  r   r6   r   r   r   r9   /	  s   z-get_installability_errors.<locals>.<listcomp>ZinstallabilityErrorsr   rn  r   r   r   Úget_installability_errors&	  s    ÿÿr…  zdtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[typing.Optional[str], typing.Optional[str]]]c                  c  sP   ddi} | V }|  dd¡dur*t|d ƒnd|  dd¡durJt|  d¡ƒndfS )aÈ  
    Returns the unique (PWA) app id.
    Only returns values if the feature flag 'WebAppEnableManifestId' is enabled
    **EXPERIMENTAL**
    :returns: A tuple with the following items:
        0. **appId** - *(Optional)*
         App id, either from manifest's id attribute or computed from start_url
        1. **recommendedId** - *(Optional)*
         Recommendation for manifest's id attribute to match current ID
         computed from start_url
    r(  zPage.getAppIdZappIdNZrecommendedIdrö   rn  r   r   r   Ú
get_app_id4	  s    ÿÿûr†  zOtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.Optional[network.AdAncestry]])rQ   r   c                 c  sH   t ƒ }|  ¡ |d< d|dœ}|V }| dd¡durDtj | d¡¡S dS )aª  
    :param frame_id:
    :returns: *(Optional)* The ancestry chain of ad script identifiers leading
    to this frame's creation, along with the root script's filterlist rule.
    The ancestry chain is ordered from the most immediate script
    (in the frame creation stack) to more distant ancestors
    (that created the immediately preceding script).
    Only sent if frame is labelled as an ad and ids are available.
    rS   zPage.getAdScriptAncestryri  ZadScriptAncestryN)r;   r   r=   r
   Z
AdAncestryr   ©rQ   rj  rl  r   r   r   r   Úget_ad_script_ancestryR	  s    þÿýrˆ  z5typing.Generator[T_JSON_DICT, T_JSON_DICT, FrameTree]c                  c  s   ddi} | V }t  | d¡¡S )z[
    Returns present frame tree structure.
    :returns: Present frame tree structure.
    r(  zPage.getFrameTreeÚ	frameTree)r©   r   r=   rn  r   r   r   Úget_frame_treen	  s    ÿrŠ  zŒtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[LayoutViewport, VisualViewport, dom.Rect, LayoutViewport, VisualViewport, dom.Rect]]c               
   c  sj   ddi} | V }t  | d¡¡t | d¡¡tj | d¡¡t  | d¡¡t | d¡¡tj | d¡¡fS )	aS  
    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.
         Is in device pixels. Use `cssLayoutViewport` instead.
        1. **visualViewport** -
         Deprecated metrics relating to the visual viewport.
         Is in device pixels. Use `cssVisualViewport` instead.
        2. **contentSize** -
         Deprecated size of scrollable area.
         Is in DP. 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.getLayoutMetricsZlayoutViewportZvisualViewportr    ZcssLayoutViewportZcssVisualViewportZcssContentSize)rÖ   r   r=   rà   r   ZRectrn  r   r   r   Úget_layout_metricsz	  s     ÿúr‹  z[typing.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[int, typing.List[NavigationEntry]]]c                  c  s.   ddi} | V }t | d¡ƒ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.getNavigationHistoryZcurrentIndexc                 S  s   g | ]}t  |¡‘qS r   )r´   r   r6   r   r   r   r9   ¸	  r:   z*get_navigation_history.<locals>.<listcomp>Úentriesrß   rn  r   r   r   Úget_navigation_history§	  s    ÿþr�  c                  c  s   ddi} | V }dS )z/Resets navigation history for the current page.r(  zPage.resetNavigationHistoryNr   rn  r   r   r   Úreset_navigation_history¼	  s    ÿrŽ  zCtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[str, bool]])rQ   rz   r   c                 c  sF   t ƒ }|  ¡ |d< ||d< d|dœ}|V }t| d¡ƒt| d¡ƒfS )aQ  
    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.
    rS   rz   zPage.getResourceContentri  ÚcontentZbase64Encoded)r;   r   r   r=   rX   )rQ   rz   rj  rl  r   r   r   r   Úget_resource_contentÆ	  s    þr�  z=typing.Generator[T_JSON_DICT, T_JSON_DICT, FrameResourceTree]c                  c  s   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‰  )r¢   r   r=   rn  r   r   r   Úget_resource_treeÝ	  s    	ÿr‘  rX   )ÚacceptÚprompt_textr   c                 c  s2   t ƒ }| |d< |dur||d< d|dœ}|V }dS )a9  
    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’  NZ
promptTextzPage.handleJavaScriptDialogri  r~  )r’  r“  rj  rl  r   r   r   r   Úhandle_java_script_dialogì	  s    þr”  ztyping.Optional[TransitionType]r�   ztyping.Optional[ReferrerPolicy]z‘typing.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[FrameId, typing.Optional[network.LoaderId], typing.Optional[str], typing.Optional[bool]]])rz   Úreferrerr¸   rQ   Úreferrer_policyr   c                 c  sÜ   t ƒ }| |d< |dur||d< |dur2| ¡ |d< |durF| ¡ |d< |durZ| ¡ |d< d|dœ}|V }t | d¡¡| d	d¡durštj | d	¡¡nd| d
d¡dur¸t|d
 ƒnd| dd¡du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.
            This is omitted in case of same-document navigation,
            as the previously committed loaderId would not change.
        2. **errorText** - *(Optional)* User friendly error message,
            present if and only if navigation has failed.
        3. **isDownload** - *(Optional)*
            Whether the navigation resulted in a download.
    rz   Nr•  rº   rS   ZreferrerPolicyzPage.navigateri  r‰   Z	errorTextZ
isDownload)	r;   r   r   r   r=   r
   r”   r   rX   )rz   r•  r¸   rQ   r–  rj  rl  r   r   r   r   Únavigate
  s2    #þÿÿÿör—  rµ   )Úentry_idr   c                 c  s"   t ƒ }| |d< d|dœ}|V }dS )zx
    Navigates current page to the given history entry.
    :param entry_id: Unique id of the entry to navigate to.
    ZentryIdzPage.navigateToHistoryEntryri  Nr~  )r˜  rj  rl  r   r   r   r   Únavigate_to_history_entryB
  s    þr™  r™   z_typing.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[str, typing.Optional[io.StreamHandle]]])Ú	landscapeÚdisplay_header_footerÚprint_backgroundrã   Úpaper_widthÚpaper_heightÚ
margin_topÚmargin_bottomÚmargin_leftÚmargin_rightÚpage_rangesÚheader_templateÚfooter_templateÚprefer_css_page_sizeÚtransfer_modeÚgenerate_tagged_pdfÚgenerate_document_outliner   c                 c  s`  t ƒ }| dur| |d< |dur&||d< |dur6||d< |durF||d< |durV||d< |durf||d< |durv||d< |dur†||d	< |dur–||d
< |	dur¦|	|d< |
dur¶|
|d< |durÆ||d< |durÖ||d< |duræ||d< |durö||d< |du�r||d< |du�r||d< d|dœ}|V }t| d¡ƒ| dd¡du�rZt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, one based, e.g., '1-5, 8, 11-13'.
     Pages are printed in the document order, not in the order specified,
     and no more than once. Defaults to empty string,
     which implies the entire document is printed.
     The page numbers are quietly capped to actual page count of the document,
     and ranges beyond the end of the document are ignored.
     If this results in no pages to print, an error is reported.
     It is an error to specify a range with start greater than end.
    :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
    :param generate_tagged_pdf: **(EXPERIMENTAL)** *(Optional)*
     Whether or not to generate tagged (accessible) PDF.
     Defaults to embedder choice.
    :param generate_document_outline: **(EXPERIMENTAL)** *(Optional)*
     Whether or not to embed the document outline into the PDF.
    :returns: A tuple with the following items:
        0. **data** - Base64-encoded pdf data.
        Empty if `returnAsStream` is specified.
        (Encoded as a base64 string when passed over JSON)
        1. **stream** - *(Optional)*
        A handle of the stream that holds resulting PDF data.
    Nrš  ZdisplayHeaderFooterZprintBackgroundrã   Z
paperWidthZpaperHeightZ	marginTopZmarginBottomZ
marginLeftZmarginRightZ
pageRangesZheaderTemplateZfooterTemplateZpreferCSSPageSizeZtransferModeZgenerateTaggedPDFZgenerateDocumentOutlinezPage.printToPDFri  rv  Ústream)r;   r   r=   r	   ZStreamHandler   )rš  r›  rœ  rã   r�  rž  rŸ  r   r¡  r¢  r£  r¤  r¥  r¦  r§  r¨  r©  rj  rl  r   r   r   r   Úprint_to_pdfR
  sX    Q

þÿûr«  z!typing.Optional[network.LoaderId])Úignore_cacheÚscript_to_evaluate_on_loadry   r   c                 c  sN   t ƒ }| dur| |d< |dur&||d< |dur:| ¡ |d< d|dœ}|V }dS )a–  
    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.
    :param loader_id: **(EXPERIMENTAL)** *(Optional)*
     If set, an error will be thrown if the target page's main frame's loader
     ID does not match the provided id.
     This prevents accidentally reloading an unintended target in case there's
     a racing navigation.
    NZignoreCacheZscriptToEvaluateOnLoadr‰   zPage.reloadri  ©r;   r   )r¬  r­  ry   rj  rl  r   r   r   r   r¯   Õ
  s    þr¯   )rk  r   c                 c  s&   t ƒ }|  ¡ |d< d|dœ}|V }dS )zD
    Removes given script from the list.
    :param identifier:
    rk  z(Page.removeScriptToEvaluateOnNewDocumentri  Nr®  )rk  rj  rl  r   r   r   r   Ú)remove_script_to_evaluate_on_new_documentö
  s    þr¯  )Ú
session_idr   c                 c  s"   t ƒ }| |d< d|dœ}|V }dS )zv
    Acknowledges that a screencast frame has been received by the frontend.
    :param session_id: Frame number.
    Ú	sessionIdzPage.screencastFrameAckri  Nr~  )r°  rj  rl  r   r   r   r   Úscreencast_frame_ack  s    þr²  zMtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[debugger.SearchMatch]])rQ   rz   ÚqueryÚcase_sensitiveÚis_regexr   c                 c  sd   t ƒ }|  ¡ |d< ||d< ||d< |dur2||d< |durB||d< d|dœ}|V }d	d
„ |d D ƒS )a‰  
    Searches for given string in resource content.
    :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.
    rS   rz   r³  NZcaseSensitiveZisRegexzPage.searchInResourceri  c                 S  s   g | ]}t j |¡‘qS r   )r   ZSearchMatchr   r6   r   r   r   r9   5  r:   z&search_in_resource.<locals>.<listcomp>Úresultr®  )rQ   rz   r³  r´  rµ  rj  rl  r   r   r   r   Úsearch_in_resource  s    þr·  )Úenabledr   c                 c  s"   t ƒ }| |d< d|dœ}|V }dS )zh
    Enable Chrome's experimental ad filter on all sites.
    :param enabled: Whether to block ads.
    r¸  zPage.setAdBlockingEnabledri  Nr~  ©r¸  rj  rl  r   r   r   r   Úset_ad_blocking_enabled8  s    þrº  c                 c  s"   t ƒ }| |d< d|dœ}|V }dS )zi
    Enable page Content Security Policy by-passing.
    :param enabled: Whether to bypass page CSP.
    r¸  zPage.setBypassCSPri  Nr~  r¹  r   r   r   Úset_bypass_cspH  s    þr»  zVtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[PermissionsPolicyFeatureState]]c                 c  s4   t ƒ }|  ¡ |d< d|dœ}|V }dd„ |d D ƒS )zK
    Get Permissions Policy state on given frame.
    :param frame_id:
    rS   zPage.getPermissionsPolicyStateri  c                 S  s   g | ]}t  |¡‘qS r   )rV   r   r6   r   r   r   r9   h  r:   z0get_permissions_policy_state.<locals>.<listcomp>Zstatesr®  r‡  r   r   r   Úget_permissions_policy_stateX  s    	þr¼  zDtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[OriginTrial]]c                 c  s4   t ƒ }|  ¡ |d< d|dœ}|V }dd„ |d D ƒS )z@
    Get Origin Trials on given frame.
    :param frame_id:
    rS   zPage.getOriginTrialsri  c                 S  s   g | ]}t  |¡‘qS r   )rs   r   r6   r   r   r   r9   y  r:   z%get_origin_trials.<locals>.<listcomp>ZoriginTrialsr®  r‡  r   r   r   Úget_origin_trialsk  s    þr½  z0typing.Optional[typing.List[ScriptFontFamilies]])rù   Úfor_scriptsr   c                 c  s@   t ƒ }|  ¡ |d< |dur,dd„ |D ƒ|d< d|dœ}|V }dS )zü
    Set generic font families.
    :param font_families: Specifies font families to set.
     If a font family is not specified, it won't be changed.
    :param for_scripts: *(Optional)*
     Specifies font families to set for individual scripts.
    rú   Nc                 S  s   g | ]}|  ¡ ‘qS r   r5   r6   r   r   r   r9   Š  r:   z%set_font_families.<locals>.<listcomp>Z
forScriptszPage.setFontFamiliesri  r®  )rù   r¾  rj  rl  r   r   r   r   Úset_font_families|  s    þr¿  )Ú
font_sizesr   c                 c  s&   t ƒ }|  ¡ |d< d|dœ}|V }dS )z�
    Set default font sizes.
    :param font_sizes: Specifies font sizes to set.
    If a font size is not specified, it won't be changed.
    Z	fontSizeszPage.setFontSizesri  Nr®  )rÀ  rj  rl  r   r   r   r   Úset_font_sizes’  s    þrÁ  )rQ   Úhtmlr   c                 c  s.   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.
    rS   rÂ  zPage.setDocumentContentri  Nr®  )rQ   rÂ  rj  rl  r   r   r   r   Úset_document_content£  s    þrÃ  c                 c  s"   t ƒ }| |d< d|dœ}|V }dS )zz
    Controls whether page will emit lifecycle events.
    :param enabled: If true, starts emitting lifecycle events.
    r¸  zPage.setLifecycleEventsEnabledri  Nr~  r¹  r   r   r   Úset_lifecycle_events_enabledµ  s    þrÄ  )rp  rq  Ú	max_widthÚ
max_heightÚevery_nth_framer   c                 c  sj   t ƒ }| dur| |d< |dur&||d< |dur6||d< |durF||d< |durV||d< d|dœ}|V }dS )	a‡  
    Starts sending each frame using the `screencastFrame` event.
    :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  ZmaxWidthZ	maxHeightZeveryNthFramezPage.startScreencastri  r~  )rp  rq  rÅ  rÆ  rÇ  rj  rl  r   r   r   r   Ústart_screencastÅ  s    þrÈ  c                  c  s   ddi} | V }dS )zAForce the page stop all navigations and pending resource fetches.r(  zPage.stopLoadingNr   rn  r   r   r   Ústop_loadingæ  s    ÿrÉ  c                  c  s   ddi} | V }dS )zA
    Crashes renderer on the IO thread, generates minidumps.
    r(  z
Page.crashNr   rn  r   r   r   Úcrashî  s    ÿrÊ  c                  c  s   ddi} | V }dS )z<Tries to close page, running its beforeunload hooks, if any.r(  z
Page.closeNr   rn  r   r   r   Úcloseø  s    ÿrË  )Ústater   c                 c  s"   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/
    :param state: Target lifecycle state
    rÌ  zPage.setWebLifecycleStateri  Nr~  )rÌ  rj  rl  r   r   r   r   Úset_web_lifecycle_state   s    	þrÍ  c                  c  s   ddi} | V }dS )z<
    Stops sending each frame in the `screencastFrame`.
    r(  zPage.stopScreencastNr   rn  r   r   r   Ústop_screencast  s    ÿrÎ  z#typing.List[CompilationCacheParams])Úscriptsr   c                 c  s,   t ƒ }dd„ | D ƒ|d< d|dœ}|V }dS )aÅ  
    Requests backend to produce compilation cache for the specified scripts.
    `scripts` are appended to the list of scripts for which the cache
    would be produced. The list may 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                 S  s   g | ]}|  ¡ ‘qS r   r5   r6   r   r   r   r9   *  r:   z-produce_compilation_cache.<locals>.<listcomp>rÏ  zPage.produceCompilationCacheri  Nr~  )rÏ  rj  rl  r   r   r   r   Úproduce_compilation_cache  s    þrÐ  )rz   rv  r   c                 c  s*   t ƒ }| |d< ||d< d|dœ}|V }dS )zÞ
    Seeds compilation cache for given url.
    Compilation cache does not survive cross-process navigation.
    :param url:
    :param data: Base64-encoded data
     (Encoded as a base64 string when passed over JSON)
    rz   rv  zPage.addCompilationCacheri  Nr~  )rz   rv  rj  rl  r   r   r   r   Úadd_compilation_cache2  s    
þrÑ  c                  c  s   ddi} | V }dS )z Clears seeded compilation cache.r(  zPage.clearCompilationCacheNr   rn  r   r   r   Úclear_compilation_cacheF  s    ÿrÒ  )Úmoder   c                 c  s&   t ƒ }|  ¡ |d< d|dœ}|V }dS )z¶
    Sets the Secure Payment Confirmation transaction mode.
    https://w3c.github.io/secure-payment-confirmation
    /#sctn-automation-set-spc-transaction-mode
    :param mode:
    rÓ  zPage.setSPCTransactionModeri  Nr®  ©rÓ  rj  rl  r   r   r   r   Úset_spc_transaction_modeP  s    	þrÕ  c                 c  s&   t ƒ }|  ¡ |d< d|dœ}|V }dS )zŠ
    Extensions for Custom Handlers API:
    https://html.spec.whatwg.org/multipage/system-state.html#rph-automation
    :param mode:
    rÓ  zPage.setRPHRegistrationModeri  Nr®  rÔ  r   r   r   Úset_rph_registration_modeb  s    þrÖ  )rÏ   Úgroupr   c                 c  s2   t ƒ }| |d< |dur||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Ï   Nr×  zPage.generateTestReportri  r~  )rÏ   r×  rj  rl  r   r   r   r   Úgenerate_test_reports  s    
þrØ  c                  c  s   ddi} | V }dS )zb
    Pauses page execution.
    Can be resumed using generic Runtime.runIfWaitingForDebugger.
    r(  zPage.waitForDebuggerNr   rn  r   r   r   Úwait_for_debuggerˆ  s    ÿrÙ  c                 c  s"   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.
    :param enabled:
    r¸  z"Page.setInterceptFileChooserDialogri  Nr~  r¹  r   r   r   Ú!set_intercept_file_chooser_dialog“  s    
þrÚ  )Ú
is_allowedr   c                 c  s"   t ƒ }| |d< d|dœ}|V }dS )zF
    Enable/disable prerendering manually.
    :param is_allowed:
    Z	isAllowedzPage.setPrerenderingAllowedri  Nr~  )rÛ  rj  rl  r   r   r   r   Úset_prerendering_allowed¦  s    þrÜ  )Úinclude_actionable_informationr   c                 c  s4   t ƒ }| dur| |d< d|dœ}|V }t| d¡ƒS )a<  
    Get the annotated page content for the main frame.
    This is an experimental command that is subject to change.
    :param include_actionable_information: *(Optional)*
     Whether to include actionable information. Defaults to true.
    :returns: The annotated page content as a base64 encoded protobuf.
    NZincludeActionableInformationzPage.getAnnotatedPageContentri  r�  rx  )rÝ  rj  rl  r   r   r   r   Úget_annotated_page_content¶  s    
þrÞ  zPage.domContentEventFiredc                   @  s*   e Zd ZU ded< edd dœdd„ƒZdS )ÚDomContentEventFiredúnetwork.MonotonicTimerÃ   r   r   c                 C  s   | t j | d¡¡d�S ©NrÃ   )rÃ   ©r
   ÚMonotonicTimer   r=   r   r   r   r   r   Ð  s    ÿzDomContentEventFired.from_jsonN©r"   r#   r$   r>   r&   r   r   r   r   r   rß  Ë  s   
rß  zPage.fileChooserOpenedc                   @  s>   e Zd ZU dZded< ded< ded< edd d	œd
d„ƒZdS )ÚFileChooserOpenedz9Emitted only when `page.interceptFileChooser` is enabled.r   rQ   r   rÓ  z"typing.Optional[dom.BackendNodeId]Úbackend_node_idr   r   c                 C  sF   | t  | d¡¡t| d¡ƒ| dd ¡d ur>tj | d¡¡nd d�S )NrS   rÓ  ZbackendNodeId)rQ   rÓ  ræ  )r   r   r=   r   r   ZBackendNodeIdr   r   r   r   r   ä  s    ÿúzFileChooserOpened.from_jsonN©r"   r#   r$   r%   r>   r&   r   r   r   r   r   rå  ×  s   
rå  zPage.frameAttachedc                   @  s>   e Zd ZU dZded< ded< ded< edd dœd	d
„ƒZdS )ÚFrameAttachedz1Fired when frame has been attached to its parent.r   rQ   Úparent_frame_idz#typing.Optional[runtime.StackTrace]Ústackr   r   c                 C  sH   | t  | d¡¡t  | d¡¡| dd ¡d ur@tj | d¡¡nd d�S )NrS   ZparentFrameIdrê  )rQ   ré  rê  )r   r   r=   r   Z
StackTracer   r   r   r   r   ý  s    ÿúzFrameAttached.from_jsonNrç  r   r   r   r   rè  ñ  s   
rè  z$Page.frameClearedScheduledNavigationc                   @  s.   e Zd ZU dZded< edd dœdd„ƒZdS )	ÚFrameClearedScheduledNavigationz6Fired when frame no longer has a scheduled navigation.r   rQ   r   r   c                 C  s   | t  | d¡¡d�S ©NrS   )rQ   ©r   r   r=   r   r   r   r   r     s    z)FrameClearedScheduledNavigation.from_jsonNrç  r   r   r   r   rë  
  s   
rë  zPage.frameDetachedc                   @  s6   e Zd ZU dZded< ded< edd dœdd	„ƒZd
S )ÚFrameDetachedz3Fired when frame has been detached from its parent.r   rQ   r   r]  r   r   c                 C  s"   | t  | d¡¡t| d¡ƒd�S )NrS   r]  )rQ   r]  ©r   r   r=   r   r   r   r   r   r     s    þzFrameDetached.from_jsonNrç  r   r   r   r   rî    s
   
rî  zPage.frameNavigatedc                   @  s6   e Zd ZU dZded< ded< edd dœdd	„ƒZd
S )ÚFrameNavigatedzl
    Fired once navigation of the frame has completed.
    Frame is now associated with the new loader.
    rv   r£   rO  r–   r   r   c                 C  s$   | t  | d¡¡t | d¡¡d�S )Nr£   rž   )r£   r–   )rv   r   r=   rO  r   r   r   r   r   2  s    þzFrameNavigated.from_jsonNrç  r   r   r   r   rð  '  s
   
rð  zPage.documentOpenedc                   @  s.   e Zd ZU dZded< edd dœdd„ƒZdS )	ÚDocumentOpenedz(Fired when opening document to write to.rv   r£   r   r   c                 C  s   | t  | d¡¡d�S )Nr£   )r£   r§   r   r   r   r   r   A  s    zDocumentOpened.from_jsonNrç  r   r   r   r   rñ  :  s   
rñ  zPage.frameResizedc                   @  s$   e Zd ZdZedd dœdd„ƒZdS )ÚFrameResizedz**EXPERIMENTAL**r   r   c                 C  s   | ƒ S r   r   r   r   r   r   r   J  s    zFrameResized.from_jsonN©r"   r#   r$   r%   r&   r   r   r   r   r   rò  F  s   rò  zPage.frameRequestedNavigationc                   @  sF   e Zd ZU dZded< ded< ded< ded	< ed
d dœdd„ƒZdS )ÚFrameRequestedNavigationzƒ
    Fired when a renderer-initiated navigation is requested.
    Navigation may still be cancelled after the event is issued.
    r   rQ   rý   r]  r   rz   rþ   Údispositionr   r   c              	   C  s>   | t  | d¡¡t | d¡¡t| d¡ƒt | d¡¡d�S )NrS   r]  rz   rõ  )rQ   r]  rz   rõ  )r   r   r=   rý   r   rþ   r   r   r   r   r   _  s    ÿüz"FrameRequestedNavigation.from_jsonNrç  r   r   r   r   rô  O  s   
rô  zPage.frameScheduledNavigationc                   @  sF   e Zd ZU dZded< ded< ded< ded	< ed
d dœdd„ƒZdS )ÚFrameScheduledNavigationz2Fired when frame schedules a potential navigation.r   rQ   r¡   Údelayrý   r]  r   rz   r   r   c                 C  s<   | t  | d¡¡t| d¡ƒt | d¡¡t| d¡ƒd�S )NrS   r÷  r]  rz   )rQ   r÷  r]  rz   )r   r   r=   r¡   rý   r   r   r   r   r   r   y  s    üz"FrameScheduledNavigation.from_jsonNrç  r   r   r   r   rö  k  s   
rö  zPage.frameStartedLoadingc                   @  s.   e Zd ZU dZded< edd dœdd„ƒZdS )	ÚFrameStartedLoadingz%Fired when frame has started loading.r   rQ   r   r   c                 C  s   | t  | d¡¡d�S rì  rí  r   r   r   r   r   Š  s    zFrameStartedLoading.from_jsonNrç  r   r   r   r   rø  ƒ  s   
rø  zPage.frameStoppedLoadingc                   @  s.   e Zd ZU dZded< edd dœdd„ƒZdS )	ÚFrameStoppedLoadingz%Fired when frame has stopped loading.r   rQ   r   r   c                 C  s   | t  | d¡¡d�S rì  rí  r   r   r   r   r   –  s    zFrameStoppedLoading.from_jsonNrç  r   r   r   r   rù  �  s   
rù  zPage.interstitialHiddenc                   @  s$   e Zd ZdZedd dœdd„ƒZdS )ÚInterstitialHiddenz(Fired when interstitial page was hidden.r   r   c                 C  s   | ƒ S r   r   r   r   r   r   r      s    zInterstitialHidden.from_jsonNró  r   r   r   r   rú  ›  s   rú  zPage.interstitialShownc                   @  s$   e Zd ZdZedd dœdd„ƒZdS )ÚInterstitialShownz'Fired when interstitial page was shown.r   r   c                 C  s   | ƒ S r   r   r   r   r   r   r   ª  s    zInterstitialShown.from_jsonNró  r   r   r   r   rû  ¥  s   rû  zPage.javascriptDialogClosedc                   @  s6   e Zd ZU dZded< ded< edd dœdd	„ƒZd
S )ÚJavascriptDialogClosedzw
    Fired when a JavaScript initiated dialog
    (alert, confirm, prompt, or onbeforeunload)
    has been closed.
    rX   r¶  r   Ú
user_inputr   r   c                 C  s    | t | d¡ƒt| d¡ƒd�S )Nr¶  Z	userInput)r¶  rý  )rX   r=   r   r   r   r   r   r   ¼  s    þz JavascriptDialogClosed.from_jsonNrç  r   r   r   r   rü  ¯  s
   
rü  zPage.javascriptDialogOpeningc                   @  sN   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 dœdd„ƒZdS )ÚJavascriptDialogOpeningzx
    Fired when a JavaScript initiated dialog
    (alert, confirm, prompt, or onbeforeunload)
    is about to open.
    r   rz   rÏ   rÊ   r–   rX   Úhas_browser_handlerrƒ   Údefault_promptr   r   c              	   C  sZ   | t | d¡ƒt | d¡ƒt | d¡¡t| d¡ƒ| dd ¡d urRt | d¡ƒnd d�S )Nrz   rÏ   rž   ZhasBrowserHandlerZdefaultPrompt)rz   rÏ   r–   rÿ  r   )r   r=   rÊ   r   rX   r   r   r   r   r   Ú  s    ÿøz!JavascriptDialogOpening.from_jsonNrç  r   r   r   r   rþ  Ä  s   
rþ  zPage.lifecycleEventc                   @  sF   e Zd ZU dZded< ded< ded< ded	< ed
d dœdd„ƒZdS )ÚLifecycleEventz]
    Fired for top level page lifecycle events such as navigation,
    load, paint, etc.
    r   rQ   rx   ry   r   r„   rà  rÃ   r   r   c              	   C  sB   | t  | d¡¡tj | d¡¡t| d¡ƒtj | d¡¡d�S )NrS   r‰   r„   rÃ   )rQ   ry   r„   rÃ   )r   r   r=   r
   r”   r   rã  r   r   r   r   r   ÷  s    üzLifecycleEvent.from_jsonNrç  r   r   r   r   r  é  s   
r  zPage.backForwardCacheNotUsedc                   @  sF   e Zd ZU dZded< ded< ded< ded	< ed
d dœdd„ƒZdS )ÚBackForwardCacheNotUsedaC  
    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.
    rx   ry   r   rQ   ra  Únot_restored_explanationsz;typing.Optional[BackForwardCacheNotRestoredExplanationTree]Únot_restored_explanations_treer   r   c              	   C  sX   | t j | d¡¡t | d¡¡dd„ |d D ƒ| dd ¡d urPt | d¡¡nd d�S )Nr‰   rS   c                 S  s   g | ]}t  |¡‘qS r   rc  r6   r   r   r   r9     s   ÿz5BackForwardCacheNotUsed.from_json.<locals>.<listcomp>ZnotRestoredExplanationsZnotRestoredExplanationsTree)ry   rQ   r  r  )r
   r”   r   r=   r   r`  r   r   r   r   r     s    þýÿôz!BackForwardCacheNotUsed.from_jsonNrç  r   r   r   r   r    s   
r  zPage.loadEventFiredc                   @  s*   e Zd ZU ded< edd dœdd„ƒZdS )ÚLoadEventFiredrà  rÃ   r   r   c                 C  s   | t j | d¡¡d�S rá  râ  r   r   r   r   r   2  s    ÿzLoadEventFired.from_jsonNrä  r   r   r   r   r  -  s   
r  zPage.navigatedWithinDocumentc                   @  s6   e Zd ZU dZded< ded< edd dœdd	„ƒZd
S )ÚNavigatedWithinDocumentzn
    Fired when same-document navigation happens,
    e.g. due to history API usage or anchor navigation.
    r   rQ   r   rz   r   r   c                 C  s"   | t  | d¡¡t| d¡ƒd�S )NrS   rz   )rQ   rz   rï  r   r   r   r   r   E  s    þz!NavigatedWithinDocument.from_jsonNrç  r   r   r   r   r  9  s
   
r  zPage.screencastFramec                   @  s>   e Zd ZU dZded< ded< ded< edd d	œd
d„ƒZdS )ÚScreencastFramez9Compressed image data requested by the `startScreencast`.r   rv  r¼   Úmetadatarµ   r°  r   r   c                 C  s.   | t | d¡ƒt | d¡¡t| d¡ƒd�S )Nrv  r  r±  )rv  r  r°  )r   r=   r¼   r   rµ   r   r   r   r   r   Y  s
    ýzScreencastFrame.from_jsonNrç  r   r   r   r   r  M  s   
r  z Page.screencastVisibilityChangedc                   @  s.   e Zd ZU dZded< edd dœdd„ƒZdS )	ÚScreencastVisibilityChangedzT
    Fired when the page with currently enabled screencast was shown or hidden.
    rX   Úvisibler   r   c                 C  s   | t | d¡ƒd�S )Nr
  )r
  )rX   r=   r   r   r   r   r   k  s    z%ScreencastVisibilityChanged.from_jsonNrç  r   r   r   r   r	  b  s   
r	  zPage.windowOpenc                   @  sF   e Zd ZU dZded< ded< ded< ded< ed	d d
œ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   rz   Úwindow_nameztyping.List[str]Úwindow_featuresrX   Úuser_gesturer   r   c                 C  s<   | t | d¡ƒt | d¡ƒdd„ |d D ƒt| d¡ƒd�S )Nrz   Z
windowNamec                 S  s   g | ]}t |ƒ‘qS r   r  r6   r   r   r   r9   …  r:   z(WindowOpen.from_json.<locals>.<listcomp>ZwindowFeaturesZuserGesture)rz   r  r  r  r	  r   r   r   r   r   €  s    üzWindowOpen.from_jsonNrç  r   r   r   r   r  p  s   
r  zPage.compilationCacheProducedc                   @  s6   e Zd ZU dZded< ded< edd dœdd„ƒZd	S )
ÚCompilationCacheProducedz-Issued for every compilation cache generated.r   rz   rv  r   r   c                 C  s    | t | d¡ƒt | d¡ƒd�S )Nrz   rv  )rz   rv  rÕ   r   r   r   r   r   ’  s    z"CompilationCacheProduced.from_jsonNrç  r   r   r   r   r  Š  s
   
r  )NNN)NNNNNN)N)NN)N)N)N)NNNN)NNNNNNNNNNNNNNNNN)NNN)NN)N)NNNNN)N)N)”Ú
__future__r   ÚenumÚtypingÚdataclassesr   Úutilr   r   Ú r   r   r	   r
   r   r   r   ÚEnumr(   r0   r1   r?   rA   rB   rC   rM   rP   rV   r[   r]   r^   r`   rm   rs   rv   r•   r¢   r©   rª   r«   r´   r¼   rÊ   rÎ   rÓ   rÖ   rà   rè   rí   r÷   rû   rý   rþ   r   r  r  r  r
  r  r  r  r  r  r  r"  r'  r,  r-  rN  rO  rP  rU  rV  r\  r`  rm  ro  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Ê  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   r   r   Ú<module>   s*  |"o= #.2!L("4 V I%2"  ü'	     ú1ÿ ý	ÿÿ1-
ÿ   û@                ï2   ý! û"þ    û!


ÿÿ




#*
