Ë
    bQbjc  ã                  ó¼  — d dl mZ ddlmZmZ d dlmZ d dlZd dlZddl	m
Z
 ddl	mZ  G d„ d	e«      Z G d
„ de«      Z G d„ dej                   «      Ze G d„ d«      «       Z G d„ dej                   «      Z G d„ dej                   «      Ze G d„ d«      «       Z G d„ dej                   «      Ze G d„ d«      «       Ze G d„ d«      «       Z G d„ dej                   «      Z	 	 	 d8	 	 	 	 	 	 	 	 	 	 	 d9d„Z	 	 d:	 	 	 	 	 	 	 d;d„Z	 d<	 	 	 d=d „Z	 	 	 d8	 	 	 	 	 	 	 	 	 d>d!„Z	 d<	 	 	 	 	 d?d"„Zd@d#„Zd@d$„Z d@d%„Z!dAd&„Z"dBd'„Z#	 	 d:	 	 	 	 	 dCd(„Z$	 d<	 	 	 	 	 dDd)„Z%	 	 	 	 dEd*„Z&	 d<	 	 	 dFd+„Z'	 	 	 	 	 	 dGd,„Z(	 	 d:	 	 	 	 	 	 	 dHd-„Z)	 	 d:	 	 	 	 	 dId.„Z*	 	 	 	 dJd/„Z+	 	 	 	 dKd0„Z,	 d<	 	 	 	 	 	 	 	 	 dLd1„Z- ed2«      e G d3„ d4«      «       «       Z. ed5«      e G d6„ d7«      «       «       Z/y)Mé    )Úannotationsé   )Úevent_classÚT_JSON_DICT)Ú	dataclassN)Úpage)Útargetc                  ó8   ‡ — e Zd Zdd„Zedd„«       Zˆ fd„Zˆ xZS )ÚBrowserContextIDc                ó   — | S ©N© ©Úselfs    úb/var/www/html/venv/lib/python3.12/site-packages/selenium/webdriver/common/devtools/v150/browser.pyÚto_jsonzBrowserContextID.to_json   ó   € Øˆó    c                ó   —  | |«      S r   r   ©ÚclsÚjsons     r   Ú	from_jsonzBrowserContextID.from_json   ó   € á�4‹yÐr   c                ó>   •— dj                  t        ‰| �	  «       «      S )NzBrowserContextID({})©ÚformatÚsuperÚ__repr__©r   Ú	__class__s    €r   r   zBrowserContextID.__repr__   s   ø€ Ø%×,Ñ,¬U©WÑ-=Ó-?Ó@Ð@r   )ÚreturnÚstr)r   r#   r"   r   ©Ú__name__Ú
__module__Ú__qualname__r   Úclassmethodr   r   Ú__classcell__©r!   s   @r   r   r      s(   ø„ óð òó ð÷Að Ar   r   c                  ó8   ‡ — e Zd Zdd„Zedd„«       Zˆ fd„Zˆ xZS )ÚWindowIDc                ó   — | S r   r   r   s    r   r   zWindowID.to_json   r   r   c                ó   —  | |«      S r   r   r   s     r   r   zWindowID.from_json    r   r   c                ó>   •— dj                  t        ‰| �	  «       «      S )NzWindowID({})r   r    s    €r   r   zWindowID.__repr__$   s   ø€ Ø×$Ñ$¤U¡WÑ%5Ó%7Ó8Ð8r   )r"   Úint)r   r0   r"   r,   r$   r*   s   @r   r,   r,      s&   ø„ óð òó ð÷9ð 9r   r,   c                  ó6   — e Zd ZdZdZdZdZdZd„ Ze	d„ «       Z
y)	ÚWindowStatez*
    The state of the browser window.
    ÚnormalÚ	minimizedÚ	maximizedÚ
fullscreenc                ó   — | j                   S r   ©Úvaluer   s    r   r   zWindowState.to_json1   ó   € Ø�z‰zÐr   c                ó   —  | |«      S r   r   r   s     r   r   zWindowState.from_json4   r   r   N)r%   r&   r'   Ú__doc__ÚNORMALÚ	MINIMIZEDÚ	MAXIMIZEDÚ
FULLSCREENr   r(   r   r   r   r   r2   r2   (   s6   „ ñð €FØ€IØ€IØ€Jòð ñó ñr   r2   c                  ón   — 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
ed„ «       Zy)ÚBoundsz+
    Browser window bounds information
    Nútyping.Optional[int]ÚleftÚtopÚwidthÚheightztyping.Optional[WindowState]Úwindow_statec                óD  — t        «       }| j                  �| j                  |d<   | j                  �| j                  |d<   | j                  �| j                  |d<   | j                  �| j                  |d<   | j
                  �| j
                  j                  «       |d<   |S )NrD   rE   rF   rG   ÚwindowState)ÚdictrD   rE   rF   rG   rH   r   ©r   r   s     r   r   zBounds.to_jsonM   s�   € Ü‹vˆØ�9‰9Ð ØŸ9™9ˆD�‰LØ�8‰8ÐØŸ(™(ˆD�‰KØ�:‰:Ð!Ø ŸJ™JˆD�‰MØ�;‰;Ð"Ø!Ÿ[™[ˆD�‰NØ×ÑÐ(Ø"&×"3Ñ"3×";Ñ";Ó"=ˆD�ÑØˆr   c           
     óî   —  | d|v rt        |d   «      nd d|v rt        |d   «      nd d|v rt        |d   «      nd d|v rt        |d   «      nd d|v rt        j                  |d   «      ¬«      S d ¬«      S )NrD   rE   rF   rG   rJ   )rD   rE   rF   rG   rH   )r0   r2   r   r   s     r   r   zBounds.from_json[   sŒ   € áØ&,°¡n”�T˜&‘\Ô"¸$Ø$)¨T¡M”�D˜‘KÔ °tØ(/°4©”#�d˜7‘mÔ$¸TØ*2°dÑ*:”3�t˜H‘~Ô&ÀØGTÐX\ÑG\œ×.Ñ.¨t°MÑ/BÓCô
ð 	
ð
 cgô
ð 	
r   )r%   r&   r'   r<   rD   Ú__annotations__rE   rF   rG   rH   r   r(   r   r   r   r   rB   rB   9   sa   … ñð "&€DÐ
Ó%ð !%€CÐ	Ó$ð #'€EÐÓ&ð $(€FÐ Ó'ð 26€LÐ.Ó5òð ñ
ó ñ
r   rB   c                  ó¾   — e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#Z%d$Z&d%Z'd&Z(d'Z)d(„ Z*e+d)„ «       Z,y*)+ÚPermissionTypeÚarÚaudioCaptureÚautomaticFullscreenÚbackgroundFetchÚbackgroundSyncÚcameraPanTiltZoomÚcapturedSurfaceControlÚclipboardReadWriteÚclipboardSanitizedWriteÚdisplayCaptureÚdurableStorageÚgeolocationÚhandTrackingÚidleDetectionÚkeyboardLockÚ
localFontsÚlocalNetworkÚlocalNetworkAccessÚloopbackNetworkÚmidiÚ	midiSysexÚnfcÚnotificationsÚpaymentHandlerÚperiodicBackgroundSyncÚpointerLockÚprotectedMediaIdentifierÚsensorsÚ	smartCardÚspeakerSelectionÚstorageAccessÚtopLevelStorageAccessÚvideoCaptureÚvrÚwakeLockScreenÚwakeLockSystemÚwebAppInstallationÚwebPrintingÚwindowManagementc                ó   — | j                   S r   r8   r   s    r   r   zPermissionType.to_json�   r:   r   c                ó   —  | |«      S r   r   r   s     r   r   zPermissionType.from_json’   r   r   N)-r%   r&   r'   ÚARÚAUDIO_CAPTUREÚAUTOMATIC_FULLSCREENÚBACKGROUND_FETCHÚBACKGROUND_SYNCÚCAMERA_PAN_TILT_ZOOMÚCAPTURED_SURFACE_CONTROLÚCLIPBOARD_READ_WRITEÚCLIPBOARD_SANITIZED_WRITEÚDISPLAY_CAPTUREÚDURABLE_STORAGEÚGEOLOCATIONÚHAND_TRACKINGÚIDLE_DETECTIONÚKEYBOARD_LOCKÚLOCAL_FONTSÚLOCAL_NETWORKÚLOCAL_NETWORK_ACCESSÚLOOPBACK_NETWORKÚMIDIÚ
MIDI_SYSEXÚNFCÚNOTIFICATIONSÚPAYMENT_HANDLERÚPERIODIC_BACKGROUND_SYNCÚPOINTER_LOCKÚPROTECTED_MEDIA_IDENTIFIERÚSENSORSÚ
SMART_CARDÚSPEAKER_SELECTIONÚSTORAGE_ACCESSÚTOP_LEVEL_STORAGE_ACCESSÚVIDEO_CAPTUREÚVRÚWAKE_LOCK_SCREENÚWAKE_LOCK_SYSTEMÚWEB_APP_INSTALLATIONÚWEB_PRINTINGÚWINDOW_MANAGEMENTr   r(   r   r   r   r   rP   rP   f   sî   „ Ø	€BØ"€MØ0ÐØ(ÐØ&€OØ.ÐØ7ÐØ/ÐØ 9ÐØ&€OØ&€OØ€KØ"€MØ$€NØ"€MØ€KØ"€MØ/ÐØ(ÐØ€DØ€JØ
€CØ#€MØ&€OØ7ÐØ €LØ!;ÐØ€GØ€JØ*ÐØ$€NØ6ÐØ"€MØ	€BØ'ÐØ'ÐØ/ÐØ €LØ*Ðòð ñó ñr   rP   c                  ó.   — e Zd ZdZdZdZd„ Zed„ «       Zy)ÚPermissionSettingÚgrantedÚdeniedÚpromptc                ó   — | j                   S r   r8   r   s    r   r   zPermissionSetting.to_jsonœ   r:   r   c                ó   —  | |«      S r   r   r   s     r   r   zPermissionSetting.from_jsonŸ   r   r   N)	r%   r&   r'   ÚGRANTEDÚDENIEDÚPROMPTr   r(   r   r   r   r   r¢   r¢   —   s*   „ Ø€GØ€FØ€Fòð ñó ñr   r¢   c                  óx   — 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
ed„ «       Zy)ÚPermissionDescriptorz�
    Definition of PermissionDescriptor defined in the Permissions API:
    https://w3c.github.io/permissions/#dom-permissiondescriptor.
    r#   ÚnameNútyping.Optional[bool]ÚsysexÚuser_visible_onlyÚallow_without_sanitizationÚallow_without_gestureÚpan_tilt_zoomc                óF  — t        «       }| j                  |d<   | j                  �| j                  |d<   | j                  �| j                  |d<   | j                  �| j                  |d<   | j
                  �| j
                  |d<   | j                  �| j                  |d<   |S )Nr­   r¯   ÚuserVisibleOnlyÚallowWithoutSanitizationÚallowWithoutGestureÚpanTiltZoom)rK   r­   r¯   r°   r±   r²   r³   rL   s     r   r   zPermissionDescriptor.to_json¾   s¥   € Ü‹vˆØ—y‘yˆˆV‰Ø�:‰:Ð!Ø ŸJ™JˆD�‰MØ×!Ñ!Ð-Ø&*×&<Ñ&<ˆDÐ"Ñ#Ø×*Ñ*Ð6Ø/3×/NÑ/NˆDÐ+Ñ,Ø×%Ñ%Ð1Ø*.×*DÑ*DˆDÐ&Ñ'Ø×ÑÐ)Ø"&×"4Ñ"4ˆD�ÑØˆr   c                óô   —  | t        |d   «      d|v rt        |d   «      nd d|v rt        |d   «      nd d|v rt        |d   «      nd d|v rt        |d   «      nd d|v rt        |d   «      ¬«      S d ¬«      S )Nr­   r¯   rµ   r¶   r·   r¸   )r­   r¯   r°   r±   r²   r³   )r#   Úboolr   s     r   r   zPermissionDescriptor.from_jsonÍ   sŸ   € áÜ�T˜&‘\Ó"Ø)0°D©”$�t˜G‘}Ô%¸dØ?PÐTXÑ?Xœd 4Ð(9Ñ#:Ô;Ð^bØQkÐosÑQs¤t¨DÐ1KÑ,LÔ'MÐy}ØG\Ð`dÑGd¤$ tÐ,AÑ'BÔ"CÐjnØ7DÈÑ7Lœ$˜t MÑ2Ó3ô
ð 	
ð SWô
ð 	
r   )r%   r&   r'   r<   rN   r¯   r°   r±   r²   r³   r   r(   r   r   r   r   r¬   r¬   ¤   sk   … ñð ƒIð $(€EÐ Ó'ð 04ÐÐ,Ó3ð 9=ÐÐ 5Ó<ð 48ÐÐ0Ó7ð ,0€MÐ(Ó/òð ñ
ó ñ
r   r¬   c                  ó2   — e Zd ZdZdZdZdZd„ Zed„ «       Z	y)ÚBrowserCommandIdz<
    Browser command ids used by executeBrowserCommand.
    ÚopenTabSearchÚcloseTabSearchÚopenGlicc                ó   — | j                   S r   r8   r   s    r   r   zBrowserCommandId.to_jsoná   r:   r   c                ó   —  | |«      S r   r   r   s     r   r   zBrowserCommandId.from_jsonä   r   r   N)
r%   r&   r'   r<   ÚOPEN_TAB_SEARCHÚCLOSE_TAB_SEARCHÚ	OPEN_GLICr   r(   r   r   r   r   r¼   r¼   Ù   s2   „ ñð &€OØ'ÐØ€Iòð ñó ñr   r¼   c                  óF   — e Zd ZU dZded<   ded<   ded<   d„ Zed„ «       Zy)	ÚBucketz"
    Chrome histogram bucket.
    r0   ÚlowÚhighÚcountc                ót   — t        «       }| j                  |d<   | j                  |d<   | j                  |d<   |S )NrÇ   rÈ   rÉ   )rK   rÇ   rÈ   rÉ   rL   s     r   r   zBucket.to_json÷   s5   € Ü‹vˆØ—h‘hˆˆU‰Ø—y‘yˆˆV‰ØŸ
™
ˆˆW‰Øˆr   c                ó`   —  | t        |d   «      t        |d   «      t        |d   «      ¬«      S )NrÇ   rÈ   rÉ   )rÇ   rÈ   rÉ   )r0   r   s     r   r   zBucket.from_jsonþ   s3   € áÜ�D˜‘KÓ Ü�T˜&‘\Ó"Ü�d˜7‘mÓ$ô
ð 	
r   N©r%   r&   r'   r<   rN   r   r(   r   r   r   r   rÆ   rÆ   é   s5   … ñð 
ƒHð ƒIð ƒJòð ñ
ó ñ
r   rÆ   c                  óP   — e Zd ZU dZded<   ded<   ded<   ded<   d	„ Zed
„ «       Zy)Ú	Histogramz
    Chrome histogram.
    r#   r­   r0   Úsum_rÉ   ztyping.List[Bucket]Úbucketsc                óÔ   — t        «       }| j                  |d<   | j                  |d<   | j                  |d<   | j                  D �cg c]  }|j                  «       ‘Œ c}|d<   |S c c}w )Nr­   ÚsumrÉ   rÐ   )rK   r­   rÏ   rÉ   rÐ   r   )r   r   Úis      r   r   zHistogram.to_json  sX   € Ü‹vˆØ—y‘yˆˆV‰Ø—i‘iˆˆU‰ØŸ
™
ˆˆW‰Ø04·±Ö=¨1˜1Ÿ9™9�;Ò=ˆˆY‰Øˆùò >s   ÁA%c                ó´   —  | t        |d   «      t        |d   «      t        |d   «      |d   D �cg c]  }t        j                  |«      ‘Œ c}¬«      S c c}w )Nr­   rÒ   rÉ   rÐ   )r­   rÏ   rÉ   rÐ   )r#   r0   rÆ   r   )r   r   rÓ   s      r   r   zHistogram.from_json   sV   € áÜ�T˜&‘\Ó"Ü�T˜%‘[Ó!Ü�d˜7‘mÓ$Ø26°y±/ÖB¨Q”V×%Ñ% aÕ(ÒBô	
ð 	
ùò Cs   ±ANrÌ   r   r   r   rÎ   rÎ     s=   … ñð ƒIð ƒIð ƒJð !Ó òð ñ
ó ñ
r   rÎ   c                  ó*   — e Zd ZdZdZd„ Zed„ «       Zy)ÚPrivacySandboxAPIÚBiddingAndAuctionServicesÚTrustedKeyValuec                ó   — | j                   S r   r8   r   s    r   r   zPrivacySandboxAPI.to_json.  r:   r   c                ó   —  | |«      S r   r   r   s     r   r   zPrivacySandboxAPI.from_json1  r   r   N)r%   r&   r'   ÚBIDDING_AND_AUCTION_SERVICESÚTRUSTED_KEY_VALUEr   r(   r   r   r   r   rÖ   rÖ   *  s'   „ Ø#>Ð Ø)Ðòð ñó ñr   rÖ   c              #  óÄ   K  — t        «       }| j                  «       |d<   |j                  «       |d<   |�||d<   |�||d<   |�|j                  «       |d<   d|dœ}|–—}y­w)	a´  
    Set permission settings for given embedding and embedded origins.

    **EXPERIMENTAL**

    :param permission: Descriptor of permission to override.
    :param setting: Setting of the permission.
    :param origin: *(Optional)* Embedding origin the permission applies to, all origins if not specified.
    :param embedded_origin: *(Optional)* Embedded origin the permission applies to. It is ignored unless the embedding origin is present and valid. If the embedding origin is provided but the embedded origin isn't, the embedding origin is used as the embedded origin.
    :param browser_context_id: *(Optional)* Context to override. When omitted, default browser context is used.
    Ú
permissionÚsettingNÚoriginÚembeddedOriginÚbrowserContextIdzBrowser.setPermission©ÚmethodÚparams©rK   r   )rÞ   rß   rà   Úembedded_originÚbrowser_context_idrå   Úcmd_dictr   s           r   Úset_permissionrê   6  s„   è ø€ ô$ ›&€FØ%×-Ñ-Ó/€Fˆ<ÑØŸ™Ó)€Fˆ9ÑØÐØ!ˆˆxÑØÐ"Ø#2ˆÐÑ ØÐ%Ø%7×%?Ñ%?Ó%AˆÐ!Ñ"à)Øñ€Hð ‰>�Dùs   ‚AA c              #  ó¶   K  — t        «       }| D �cg c]  }|j                  «       ‘Œ c}|d<   |�||d<   |�|j                  «       |d<   d|dœ}|–—}yc c}w ­w)aŒ  
    Grant specific permissions to the given origin and reject all others. Deprecated. Use
    setPermission instead.

    **EXPERIMENTAL**

    :param permissions:
    :param origin: *(Optional)* Origin the permission applies to, all origins if not specified.
    :param browser_context_id: *(Optional)* BrowserContext to override permissions. When omitted, default browser context is used.
    ÚpermissionsNrà   râ   zBrowser.grantPermissionsrã   ræ   )rì   rà   rè   rå   rÓ   ré   r   s          r   Úgrant_permissionsrí   X  so   è ø€ ô ›&€FØ2=Ö>¨Q˜QŸY™Y�[Ò>€Fˆ=ÑØÐØ!ˆˆxÑØÐ%Ø%7×%?Ñ%?Ó%AˆÐ!Ñ"à,Øñ€Hð ‰>�Dùò ?ùs   ‚A‘A¨1Ac              #  ó\   K  — t        «       }| �| j                  «       |d<   d|dœ}|–—}y­w)z»
    Reset all permission management for all origins.

    :param browser_context_id: *(Optional)* BrowserContext to reset permissions. When omitted, default browser context is used.
    Nrâ   zBrowser.resetPermissionsrã   ræ   )rè   rå   ré   r   s       r   Úreset_permissionsrï   t  s?   è ø€ ô ›&€FØÐ%Ø%7×%?Ñ%?Ó%AˆÐ!Ñ"à,Øñ€Hð ‰>�Dùs   ‚*,c              #  ó‚   K  — t        «       }| |d<   |�|j                  «       |d<   |�||d<   |�||d<   d|dœ}|–—}y­w)a�  
    Set the behavior when downloading a file.

    **EXPERIMENTAL**

    :param behavior: Whether to allow all or deny all download requests, or use default Chrome behavior if available (otherwise deny). ``allowAndName`` allows download and names files according to their download guids.
    :param browser_context_id: *(Optional)* BrowserContext to set download behavior. When omitted, default browser context is used.
    :param download_path: *(Optional)* The default path to save downloaded files to. This is required if behavior is set to 'allow' or 'allowAndName'.
    :param events_enabled: *(Optional)* Whether to emit download events (defaults to false).
    ÚbehaviorNrâ   ÚdownloadPathÚeventsEnabledzBrowser.setDownloadBehaviorrã   ræ   )rñ   rè   Údownload_pathÚevents_enabledrå   ré   r   s          r   Úset_download_behaviorrö   †  si   è ø€ ô  ›&€FØ!€Fˆ:ÑØÐ%Ø%7×%?Ñ%?Ó%AˆÐ!Ñ"ØÐ Ø!.ˆˆ~ÑØÐ!Ø"0ˆˆÑà/Øñ€Hð ‰>�Dùs   ‚=?c              #  óf   K  — t        «       }| |d<   |�|j                  «       |d<   d|dœ}|–—}y­w)a   
    Cancel a download if in progress

    **EXPERIMENTAL**

    :param guid: Global unique identifier of the download.
    :param browser_context_id: *(Optional)* BrowserContext to perform the action in. When omitted, default browser context is used.
    ÚguidNrâ   zBrowser.cancelDownloadrã   ræ   )rø   rè   rå   ré   r   s        r   Úcancel_downloadrù   ¥  sH   è ø€ ô ›&€FØ€Fˆ6�NØÐ%Ø%7×%?Ñ%?Ó%AˆÐ!Ñ"à*Øñ€Hð ‰>�Dùs   ‚/1c               #  ó   K  — ddi} | –—}y­w)z#
    Close browser gracefully.
    rä   zBrowser.closeNr   ©ré   r   s     r   Úcloserü   ¼  s   è ø€ ð
 	�/ð€Hð ‰>�Dùó   ‚
c               #  ó   K  — ddi} | –—}y­w)zC
    Crashes browser on the main thread.

    **EXPERIMENTAL**
    rä   zBrowser.crashNr   rû   s     r   Úcrashrÿ   Æ  s   è ø€ ð 	�/ð€Hð ‰>�Dùrý   c               #  ó   K  — ddi} | –—}y­w)z4
    Crashes GPU process.

    **EXPERIMENTAL**
    rä   zBrowser.crashGpuProcessNr   rû   s     r   Úcrash_gpu_processr  Ò  s   è ø€ ð 	Ð+ð€Hð ‰>�Dùrý   c               #  ó    K  — ddi} | –—}t        |d   «      t        |d   «      t        |d   «      t        |d   «      t        |d   «      fS ­w)a,  
    Returns version information.

    :returns: A tuple with the following items:

        0. **protocolVersion** - Protocol version.
        1. **product** - Product name.
        2. **revision** - Product revision.
        3. **userAgent** - User-Agent.
        4. **jsVersion** - V8 version.
    rä   zBrowser.getVersionÚprotocolVersionÚproductÚrevisionÚ	userAgentÚ	jsVersion©r#   rû   s     r   Úget_versionr	  Þ  si   è ø€ ð 	Ð&ð€Hð ‰>€DäˆDÐ"Ñ#Ó$ÜˆD�‰OÓÜˆD�ÑÓÜˆD�ÑÓÜˆD�ÑÓðð ùs   ‚AAc               #  ó\   K  — ddi} | –—}|d   D �cg c]  }t        |«      ‘Œ c}S c c}w ­w)z¾
    Returns the command line switches for the browser process if, and only if
    --enable-automation is on the commandline.

    **EXPERIMENTAL**

    :returns: Commandline parameters
    rä   zBrowser.getBrowserCommandLineÚ	argumentsr  )ré   r   rÓ   s      r   Úget_browser_command_liner  ÷  s;   è ø€ ð 	Ð1ð€Hð ‰>€DØ  Ñ-Ö.�qŒC��FÒ.Ð.ùÒ.ùs   ‚,’'¤,c              #  ó¢   K  — t        «       }| �| |d<   |�||d<   d|dœ}|–—}|d   D �cg c]  }t        j                  |«      ‘Œ c}S c c}w ­w)aY  
    Get Chrome histograms.

    **EXPERIMENTAL**

    :param query: *(Optional)* Requested substring in name. Only histograms which have query as a substring in their name are extracted. An empty or absent query returns all histograms.
    :param delta: *(Optional)* If true, retrieve delta since last delta call.
    :returns: Histograms.
    ÚqueryÚdeltazBrowser.getHistogramsrã   Ú
histograms©rK   rÎ   r   )r  r  rå   ré   r   rÓ   s         r   Úget_histogramsr    sg   è ø€ ô ›&€FØÐØˆˆw‰ØÐØˆˆw‰à)Øñ€Hð ‰>€DØ,0°Ñ,>Ö? qŒI×Ñ Õ"Ò?Ð?ùÒ?ùs   ‚)A«A
ÁAc              #  óx   K  — t        «       }| |d<   |�||d<   d|dœ}|–—}t        j                  |d   «      S ­w)zÒ
    Get a Chrome histogram by name.

    **EXPERIMENTAL**

    :param name: Requested histogram name.
    :param delta: *(Optional)* If true, retrieve delta since last delta call.
    :returns: Histogram.
    r­   r  zBrowser.getHistogramrã   Ú	histogramr  )r­   r  rå   ré   r   s        r   Úget_histogramr  !  sS   è ø€ ô ›&€FØ€Fˆ6�NØÐØˆˆw‰à(Øñ€Hð ‰>€DÜ×Ñ˜t KÑ0Ó1Ð1ùs   ‚8:c              #  ó†   K  — t        «       }| j                  «       |d<   d|dœ}|–—}t        j                  |d   «      S ­w)zü
    Get position and size of the browser window.

    **EXPERIMENTAL**

    :param window_id: Browser window id.
    :returns: Bounds information of the window. When window state is 'minimized', the restored window position and size are returned.
    ÚwindowIdzBrowser.getWindowBoundsrã   Úbounds)rK   r   rB   r   )Ú	window_idrå   ré   r   s       r   Úget_window_boundsr  :  sM   è ø€ ô ›&€FØ"×*Ñ*Ó,€Fˆ:Ñà+Øñ€Hð ‰>€DÜ×Ñ˜D ™NÓ+Ð+ùs   ‚?Ac              #  óº   K  — t        «       }| �| j                  «       |d<   d|dœ}|–—}t        j                  |d   «      t        j                  |d   «      fS ­w)aÄ  
    Get the browser window that contains the devtools target.

    **EXPERIMENTAL**

    :param target_id: *(Optional)* Devtools agent host id. If called as a part of the session, associated targetId is used.
    :returns: A tuple with the following items:

        0. **windowId** - Browser window id.
        1. **bounds** - Bounds information of the window. When window state is 'minimized', the restored window position and size are returned.
    ÚtargetIdzBrowser.getWindowForTargetrã   r  r  )rK   r   r,   r   rB   )Ú	target_idrå   ré   r   s       r   Úget_window_for_targetr  O  sm   è ø€ ô ›&€FØÐØ&×.Ñ.Ó0ˆˆzÑà.Øñ€Hð ‰>€Dä×Ñ˜4 
Ñ+Ó,Ü×Ñ˜˜h™Ó(ðð ùs   ‚AAc              #  ó~   K  — t        «       }| j                  «       |d<   |j                  «       |d<   d|dœ}|–—}y­w)a5  
    Set position and/or size of the browser window.

    **EXPERIMENTAL**

    :param window_id: Browser window id.
    :param bounds: New window bounds. The 'minimized', 'maximized' and 'fullscreen' states cannot be combined with 'left', 'top', 'width' or 'height'. Leaves unspecified fields unchanged.
    r  r  zBrowser.setWindowBoundsrã   Nræ   )r  r  rå   ré   r   s        r   Úset_window_boundsr   k  sI   è ø€ ô ›&€FØ"×*Ñ*Ó,€Fˆ:ÑØ—~‘~Ó'€Fˆ8Ñà+Øñ€Hð ‰>�Dùs   ‚;=c              #  ót   K  — t        «       }| j                  «       |d<   |�||d<   |�||d<   d|dœ}|–—}y­w)a¬  
    Set size of the browser contents resizing browser window as necessary.

    **EXPERIMENTAL**

    :param window_id: Browser window id.
    :param width: *(Optional)* The window contents width in DIP. Assumes current width if omitted. Must be specified if 'height' is omitted.
    :param height: *(Optional)* The window contents height in DIP. Assumes current height if omitted. Must be specified if 'width' is omitted.
    r  NrF   rG   zBrowser.setContentsSizerã   ræ   )r  rF   rG   rå   ré   r   s         r   Úset_contents_sizer"  �  sW   è ø€ ô ›&€FØ"×*Ñ*Ó,€Fˆ:ÑØÐØˆˆw‰ØÐØ!ˆˆxÑà+Øñ€Hð ‰>�Dùs   ‚68c              #  óN   K  — t        «       }| �| |d<   |�||d<   d|dœ}|–—}y­w)z¡
    Set dock tile details, platform-specific.

    **EXPERIMENTAL**

    :param badge_label: *(Optional)*
    :param image: *(Optional)* Png encoded image.
    NÚ
badgeLabelÚimagezBrowser.setDockTilerã   ©rK   )Úbadge_labelr%  rå   ré   r   s        r   Úset_dock_tiler(  œ  sD   è ø€ ô ›&€FØÐØ*ˆˆ|ÑØÐØˆˆw‰à'Øñ€Hð ‰>�Dùs   ‚#%c              #  óX   K  — t        «       }| j                  «       |d<   d|dœ}|–—}y­w)zi
    Invoke custom browser commands used by telemetry.

    **EXPERIMENTAL**

    :param command_id:
    Ú	commandIdzBrowser.executeBrowserCommandrã   Nræ   )Ú
command_idrå   ré   r   s       r   Úexecute_browser_commandr,  ´  s8   è ø€ ô ›&€FØ$×,Ñ,Ó.€Fˆ;Ñà1Øñ€Hð ‰>�Dùs   ‚(*c              #  ó<   K  — t        «       }| |d<   d|dœ}|–—}y­w)z®
    Allows a site to use privacy sandbox features that require enrollment
    without the site actually being enrolled. Only supported on page targets.

    :param url:
    Úurlz+Browser.addPrivacySandboxEnrollmentOverriderã   Nr&  )r.  rå   ré   r   s       r   Ú'add_privacy_sandbox_enrollment_overrider/  Ç  s.   è ø€ ô ›&€FØ€Fˆ5�Mà?Øñ€Hð ‰>�Dùs   ‚c              #  ó–   K  — t        «       }| j                  «       |d<   ||d<   ||d<   |�|j                  «       |d<   d|dœ}|–—}y­w)aß  
    Configures encryption keys used with a given privacy sandbox API to talk
    to a trusted coordinator.  Since this is intended for test automation only,
    coordinatorOrigin must be a .test domain. No existing coordinator
    configuration for the origin may exist.

    :param api:
    :param coordinator_origin:
    :param key_config:
    :param browser_context_id: *(Optional)* BrowserContext to perform the action in. When omitted, default browser context is used.
    ÚapiÚcoordinatorOriginÚ	keyConfigNrâ   z-Browser.addPrivacySandboxCoordinatorKeyConfigrã   ræ   )r1  Úcoordinator_originÚ
key_configrè   rå   ré   r   s          r   Ú*add_privacy_sandbox_coordinator_key_configr6  Ù  sc   è ø€ ô" ›&€FØ—K‘K“M€Fˆ5�MØ"4€FÐÑØ$€Fˆ;ÑØÐ%Ø%7×%?Ñ%?Ó%AˆÐ!Ñ"àAØñ€Hð ‰>�Dùs   ‚AA	zBrowser.downloadWillBeginc                  óL   — e Zd ZU dZded<   ded<   ded<   ded<   ed
d„«       Zy	)ÚDownloadWillBeginzM
    **EXPERIMENTAL**

    Fired when page is about to start a download.
    zpage.FrameIdÚframe_idr#   rø   r.  Úsuggested_filenamec           	     ó¢   —  | t         j                  j                  |d   «      t        |d   «      t        |d   «      t        |d   «      ¬«      S )NÚframeIdrø   r.  ÚsuggestedFilename)r9  rø   r.  r:  )r   ÚFrameIdr   r#   r   s     r   r   zDownloadWillBegin.from_json  sK   € áÜ—\‘\×+Ñ+¨D°©OÓ<Ü�T˜&‘\Ó"Ü�D˜‘KÓ Ü" 4Ð(;Ñ#<Ó=ô	
ð 	
r   N)r   r   r"   r8  ©r%   r&   r'   r<   rN   r(   r   r   r   r   r8  r8  ÷  s1   … ñð Óà
ƒIà	ƒHàÓàò
ó ñ
r   r8  zBrowser.downloadProgressc                  óV   — e Zd ZU dZded<   ded<   ded<   ded<   ded	<   edd
„«       Zy)ÚDownloadProgresszc
    **EXPERIMENTAL**

    Fired when download makes progress. Last call has ``done`` == true.
    r#   rø   ÚfloatÚtotal_bytesÚreceived_bytesÚstateútyping.Optional[str]Ú	file_pathc           
     óª   —  | t        |d   «      t        |d   «      t        |d   «      t        |d   «      d|v rt        |d   «      ¬«      S d ¬«      S )Nrø   Ú
totalBytesÚreceivedBytesrE  ÚfilePath)rø   rC  rD  rE  rG  )r#   rB  r   s     r   r   zDownloadProgress.from_json'  sf   € áÜ�T˜&‘\Ó"Ü˜d <Ñ0Ó1Ü   oÑ!6Ó7Ü�d˜7‘mÓ$Ø/9¸TÑ/A”c˜$˜zÑ*Ó+ô
ð 	
ð
 HLô
ð 	
r   N)r   r   r"   rA  r?  r   r   r   rA  rA    s9   … ñð ƒIàÓàÓàƒJð $Ó#àò
ó ñ
r   rA  )NNN)rÞ   r¬   rß   r¢   rà   rF  rç   rF  rè   ú!typing.Optional[BrowserContextID]r"   ú0typing.Generator[T_JSON_DICT, T_JSON_DICT, None])NN)rì   ztyping.List[PermissionType]rà   rF  rè   rL  r"   rM  r   )rè   rL  r"   rM  )
rñ   r#   rè   rL  rô   rF  rõ   r®   r"   rM  )rø   r#   rè   rL  r"   rM  )r"   rM  )r"   zQtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[str, str, str, str, str]])r"   z<typing.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[str]])r  rF  r  r®   r"   zBtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[Histogram]])r­   r#   r  r®   r"   z5typing.Generator[T_JSON_DICT, T_JSON_DICT, Histogram])r  r,   r"   z2typing.Generator[T_JSON_DICT, T_JSON_DICT, Bounds])r  z typing.Optional[target.TargetID]r"   zJtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[WindowID, Bounds]])r  r,   r  rB   r"   rM  )r  r,   rF   rC   rG   rC   r"   rM  )r'  rF  r%  rF  r"   rM  )r+  r¼   r"   rM  )r.  r#   r"   rM  )
r1  rÖ   r4  r#   r5  r#   rè   rL  r"   rM  )0Ú
__future__r   Úutilr   r   Údataclassesr   ÚenumÚtypingÚ r   r	   r#   r   r0   r,   ÚEnumr2   rB   rP   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/  r6  r8  rA  r   r   r   ú<module>rU     s¬  ðõ #ß *Ý !Û Û Ý Ý ô	A�sô 	Aô	9ˆsô 	9ô�$—)‘)ô ð" ÷)
ð )
ó ð)
ôX.�T—Y‘Yô .ôb
˜Ÿ	™	ô 
ð ÷1
ð 1
ó ð1
ôh�t—y‘yô ð  ÷
ð 
ó ð
ð: ÷
ð 
ó ð
ôD	˜Ÿ	™	ô 	ð (,Ø04Ø@DðØ(ðà"ðð %ðð .ð	ð
 >ðð 
8óðH (,Ø@DðØ0ðà$ðð >ðð 
8ó	ð: AEðØ=ðà	7óð( AEØ.2Ø04ð	Øðà=ðð ,ðð .ð	ð
 
8óðB AEðØðà=ðð 
8óó.ó	ó	óó2/ð" '+Ø'+ð@Ø#ð@à$ð@ð 
Jó@ð8 (,ð2Øð2à$ð2ð 
=ó2ð2,Øð,à	9ó,ð, 7;ðØ3ðà	Qóð8Øðàðð 
8óð0 '+Ø'+ðØðà#ðð %ðð 
8ó	ð8 -1Ø&*ðØ)ðà#ðð 
8óð0Ø$ðà	7óð&Øðà	7óð, AEð	Øðàðð ðð >ð	ð
 
8óñ< Ð(Ó)Ø
÷
ð 
ó ó *ð
ñ2 Ð'Ó(Ø
÷
ð 
ó ó )ñ
r   