
    Ojm                        d dl Z d dlZd dlmZ d dlmZ d dlmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZ d dlmZmZmZmZmZ d dlmZ d dlmZ d dlmZ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*m+Z+ d dl,m-Z-m.Z. d dl/m0Z0 d dl1m2Z2 d dl3m4Z4 d dl5m6Z6 d dl7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZE d dlFmGZGmHZHmIZImJZJmKZKmLZL d dlMmNZNmOZOmPZP d dlQmRZR d dlSmTZT d dlUmVZV d dlWmXZX erd dlYmZZZ  G d de      Z[y)    N)Path)SimpleNamespace)TYPE_CHECKINGAnyCallableDictListLiteralOptionalPatternSequenceSetUnioncast)CookieGeolocationSetCookieParamStorageStateWebErrorLocation)
CDPSession)Clock)ChannelOwnerfrom_channelfrom_nullable_channel)ConsoleMessage)Credentials)Debugger)Dialog)
DisposableDisposableStub)ErrorTargetClosedError)EventContextManagerImpl)APIRequestContext)Frame)	HarRouter)HarContentPolicyHarModeRouteFromHarNotFoundPolicyRouteHandlerRouteHandlerCallbackTimeoutSettingsURLMatchWebSocketRouteHandlerCallbackasync_readfileasync_writefile create_task_and_ignore_exceptionlocals_to_paramsparse_errorto_impl)RequestResponseRouteWebSocketRouteWebSocketRouteHandlerserialize_headers)BindingCallPageWorker)escape_regex_flags)Tracing)Waiter)WebError)Browserc                       e Zd Z edi ddddddddd	d
dddddddddddddddddddddd d!d"d#d$Zd%ed&ed'ed(ed)d*f
 fd+Zd)efd,Z	de
d)d*fd-Zd.ed)d*fd/Zd0ed)d*fd1Zd2ed)d*fd3Zd4ed)d*fd5Zd4ee   d)d*fd6Zd4ed)d*fd7Zd4ee   d)d*fd8Zed)ee
   fd9       Zed)ed:   fd;       Zd<eeeef      d=ee   d>ee   d?eee e   ef      d@ee!   d)d*fdAZ"d)e
fdBZ#ddCeee$e   f   d)ee%   fdDZ&dEe$e'   d)d*fdFZ(	 	 	 ddGeee e   f   dHeee e   f   dIeee e   f   d)d*fdJZ)	 ddKe$e   dLed)d*fdMZ*ddNZ+ddOe,d)d*fdPZ-dQeeef   d)d*fdRZ.dSed)d*fdTZ/	 ddUedIeeef   d)e0fdVZ1dGedWe2d)e0fdXZ3dGedWe2d)e0fdYZ4	 ddZe5d[e6d\e7d)e8fd]Z9	 ddZe5d[ee6   d)d*fd^Z:	 dd_ee;   d`ee;   dae<db   d)d*fdcZ=dZe5d[e>d)d*fddZ?ddeZ@	 ddae<db   d)d*fdfZA	 	 	 	 	 ddgeeef   dZee e   ef   dheBdiedje<dk   dle!d)d*fdmZCddnZDddoZE	 	 ddpedqe2d4ed)eFfdrZGddsZHd)efdtZIddued)d*fdvZJ	 	 	 	 ddIeeef   dwedxedyed)eKf
dzZLd{eeKeef   d)d*fd|ZMd)ee   fd}ZN	 ddpedqe2d4ed)eOfd~ZP	 	 ddqe2eQgef   d4ed)eFeQ   fdZR	 	 ddqe2e
gef   d4ed)eFe
   fdZSdeTd)d*fdZUdeVdedee   dee
   d)d*f
dZWdeVd eeX   dedee
   d)d*f
dZYdped)d*fdZZde[d)d*fdZ\de[d)d*fdZ]de^dee
   de_d)d*fdZ`deVdee
   d)d*fdZad eXdee
   d)d*fdZbed)ee
   fd       Zced)eeT   fd       Zddee
eef   d)effdZged)ehfd       Zied)ejfd       Zkedd       Zled)emfd       Zned)eofd       Zp xZqS )BrowserContextBackgroundPagebackgroundpageClosecloseConsoleconsoler   dialogDialogCloseddialogclosedDownloaddownloadFrameAttachedframeattachedFrameDetachedframedetachedFrameNavigatedframenavigatedr<   page	PageClose	pageclosePageLoadpageloadrA   weberrorServiceWorkerserviceworkerr5   requestr6   responseRequestFailedrequestfailedRequestFinishedrequestfinishedparenttypeguidinitializerreturnNc                 f    t            ||||       d  _        |j                  j                  dk(  rt        d|       _        g  _        g  _        g  _        i  _	        t        d        _        d  _        |d    _        t                _         j                  j!                  d       _         j                  j!                  d       _        t        t&        t)        |d                _        t        t,        t)        |d                _        t)        |d          _         j                   j0                  _        t3                _        t7                _         j:                  j=                  d fd	        j:                  j=                  d
 fd        j:                  j=                  d fd        j:                  j=                  d fd        j:                  j=                  d fd        j:                  j=                  d fd        j:                  j=                  d fd        j:                  j=                  d fd        j:                  j=                  d fd        j:                  j=                  d fd        j:                  j=                  d fd        j:                  j=                  d fd        j:                  j=                  d  fd!        j:                  j=                  d" fd#       t?        j@                          _!         jE                   jF                  jH                   fd$       d  _%        g  _&         jO                  tP        jF                  jR                  dtP        jF                  jT                  dtP        jF                  jV                  dtP        jF                  jX                  dtP        jF                  jZ                  dtP        jF                  j\                  d"tP        jF                  j^                  d i       d% _0        y )&NrB   optionsbaseURLrecordVideotracingdebuggerrequestContextbindingCallc                 >    j                  t        | d               S )Nbinding)_on_bindingr   paramsselfs    x/var/www/origus_pro_usr/data/www/origus.pro/core/.venv/lib/python3.12/site-packages/playwright/_impl/_browser_context.py<lambda>z)BrowserContext.__init__.<locals>.<lambda>   s    4++L	9J,KL     rH   c                 $    j                         S N)	_on_close)_rv   s    rw   rx   z)BrowserContext.__init__.<locals>.<lambda>   s    DNN,< ry   rV   c                 >    j                  t        | d               S )NrV   )_on_pager   rt   s    rw   rx   z)BrowserContext.__init__.<locals>.<lambda>   s    4==fVn1M#N ry   routec           	          j                   j                  j                  t        | j	                  d                        S )Nr   )_loopcreate_task	_on_router   getrt   s    rw   rx   z)BrowserContext.__init__.<locals>.<lambda>   s3    4::11 G!45 ry   webSocketRoutec                 p    j                   j                  j                  t        | d                     S )Nr   )r   r   _on_web_socket_router   rt   s    rw   rx   z)BrowserContext.__init__.<locals>.<lambda>   s2    4::11)) (8!9: ry   serviceWorkerc                 >    j                  t        | d               S )Nworker)_on_service_workerr   rt   s    rw   rx   z)BrowserContext.__init__.<locals>.<lambda>   s    422<x@P3QR ry   rJ   c                 &    j                  |       S r{   )_on_console_message)eventrv   s    rw   rx   z)BrowserContext.__init__.<locals>.<lambda>   s    $2259 ry   rK   c                 >    j                  t        | d               S NrK   )
_on_dialogr   rt   s    rw   rx   z)BrowserContext.__init__.<locals>.<lambda>   s    T__\&BR5S%T ry   dialogClosedc                 >    j                  t        | d               S r   )_on_dialog_closedr   rt   s    rw   rx   z)BrowserContext.__init__.<locals>.<lambda>   s    411,vh?O2PQ ry   	pageErrorc                     j                  t        | d   d         t        | d         t        t        | j                  d      xs dddd            S )NerrorrV   location r   )urllinecolumn)_on_page_errorr3   r   r   r   r   rt   s    rw   rx   z)BrowserContext.__init__.<locals>.<lambda>   sR    4..F7OG45%fVn5$JJz*Qb!q.Q ry   r^   c                 p    j                  t        | d         t        | j                  d                  S )Nr^   rV   )_on_requestr   r   r   rt   s    rw   rx   z)BrowserContext.__init__.<locals>.<lambda>   s0    4++VI./%fjj&89 ry   r_   c                 p    j                  t        | d         t        | j                  d                  S )Nr_   rV   )_on_responser   r   r   rt   s    rw   rx   z)BrowserContext.__init__.<locals>.<lambda>   s0    4,,VJ/0%fjj&89 ry   requestFailedc           
          j                  t        | d         | d   | j                  d      t        | j                  d                  S )Nr^   responseEndTimingfailureTextrV   )_on_request_failedr   r   r   rt   s    rw   rx   z)BrowserContext.__init__.<locals>.<lambda>   sE    422VI./*+

=)%fjj&89	 ry   requestFinishedc           
          j                  t        | d         t        | j                  d            | d   t        | j                  d                  S )Nr^   r_   r   rV   )_on_request_finishedr   r   r   rt   s    rw   rx   z)BrowserContext.__init__.<locals>.<lambda>   sJ    444VI./%fjj&<=*+%fjj&89	 ry   c                 :    j                   j                  d      S NT)_closed_future
set_result)contextrv   s    rw   rx   z)BrowserContext.__init__.<locals>.<lambda>   s    t/B/B/M/Md/S ry   F)1super__init___browser	__class____name__r   _pages_routes_web_socket_routes	_bindingsr,   _timeout_settings_owner_page_optionsset_service_workersr   	_base_url_videos_dirr?   r   _tracingr   	_debugger_requestr   _clockr   _credentials_channelonasyncioFuturer   onceEventsrG   _close_reason_har_routers"_set_event_to_subscription_mappingrD   rI   r   rL   r5   r6   rb   r`   _closing_or_closed)rv   rd   re   rf   rg   r   s   `    rw   r   zBrowserContext.__init__s   sk    	t[9 .2$$	1 F3DM"$+-?A)+!0!6+/(3I(>-0U(,(9(9)(D*.--*;*;M*JWl;y3I&JK#',{:?V2W#X+7DT8U+V*.*@*@'Dk'-L	
 	"<=N	
 		
 		
 	R	
 	9	

 	T	
 	Q	
 	
	
 		
 		
 		
 		
 /6nn.>		KKS	
 -1-///%%--y%%,,h%%22N%%--y%%..
%%557H%%33_
	
 #(ry   c                 "    d| j                    dS )Nz<BrowserContext browser=>)browserrv   s    rw   __repr__zBrowserContext.__repr__   s    )$,,q99ry   c                 F   | j                   j                  |       | j                  t        j                  j
                  |       |j                  rP|j                  j                         s5|j                  j                  t
        j                  j                  |       y y y r{   )	r   appendemitrD   r   r<   _opener	is_closedPopup)rv   rV   s     rw   r   zBrowserContext._on_page   si    4 		.'',,d3<< 6 6 8LLdkk//6 !9<ry   r   c           
      R   K    |_         |j                  j                         } j                  j	                         }|D ]  }|r|j
                  s j                  r y |j                  |j                  j                        sE| j                  vrT|j                  r j                  j                  |       	 |j                  |       d {   }t         j                        dk(  r4t         j                   j                  j!                   fdd             	 |s y  	 |j#                  d       d {    y 7 q# t         j                        dk(  r4t         j                   j                  j!                   fdd             w w xY w7 X# t$        $ r Y y w xY ww)Nr   c                  $     j                         S r{   )_update_interception_patternsr   s   rw   rx   z*BrowserContext._on_route.<locals>.<lambda>  s    D$F$F$H ry   T)_contextr^   
_safe_pager   copy_close_was_calledr   matchesr   will_expireremovehandlelenr1   r   _connectionwrap_api_call_inner_continue	Exception)rv   r   rV   route_handlersroute_handlerhandleds   `     rw   r   zBrowserContext._on_route   sk    }}'')**,+ 	M//D4K4K (():):;DLL0((##M2	 - 4 4U ;;t||$)4

((66H$ +	,	 ''--- <t||$)4

((66H$ * . 		sn   B9F'=EEEAF'%F')F =F>F F'EAFF'F 	F$!F'#F$$F'web_socket_routec                    K   t        fd| j                  D        d       }|r|j                         d {    y j                          y 7 w)Nc              3   X   K   | ]!  }|j                  j                        r| # y wr{   )r   r   ).0r   r   s     rw   	<genexpr>z6BrowserContext._on_web_socket_route.<locals>.<genexpr>  s.      ! (()9)=)=> s   '*)nextr   r   connect_to_server)rv   r   r   s    ` rw   r   z#BrowserContext._on_web_socket_route  sT     %)%<%<
 
 &&'7888..0 9s   6AAAbinding_callc                     | j                   j                  |j                  d         }|y t        j                  |j                  |             y )Nname)r   r   _initializerr   r   call)rv   r   funcs      rw   rs   zBrowserContext._on_binding+  sB    ~~!!,";";F"CD<L--d34ry   timeoutc                 $    | j                  |      S r{   )$_set_default_navigation_timeout_implrv   r   s     rw   set_default_navigation_timeoutz-BrowserContext.set_default_navigation_timeout1  s    88AAry   c                 :    | j                   j                  |       y r{   )r   r   r   s     rw   r   z3BrowserContext._set_default_navigation_timeout_impl4  s    ==gFry   c                 $    | j                  |      S r{   )_set_default_timeout_implr   s     rw   set_default_timeoutz"BrowserContext.set_default_timeout7  s    --g66ry   c                 :    | j                   j                  |       y r{   )r   r  r   s     rw   r  z(BrowserContext._set_default_timeout_impl:  s    227;ry   c                 6    | j                   j                         S r{   )r   r   r   s    rw   pageszBrowserContext.pages=  s    {{!!ry   rB   c                     | j                   S r{   )r   r   s    rw   r   zBrowserContext.browserA      }}ry   record_har_pathrecord_har_contentrecord_har_omit_contentrecord_har_url_filterrecord_har_modec                    K   |sy t        |      }|j                  d      rdnd}|xs |du rdn|}| j                  j                  |d |||xs d       d {    y 7 w)Nz.zipattachembedTomitfullharrV   r   update_contentupdate_mode)strendswithr   _record_into_har)rv   r  r	  r
  r  r  default_policycontent_policys           rw   _initialize_har_from_optionsz+BrowserContext._initialize_har_from_optionsE  s      o.'008Hg 	 ,> ,
-5F> 	 mm,,%)(2F - 
 	
 	
s   AA!AA!c                    K   | j                   rt        d      t        | j                  j	                  dd        d {         S 7 w)Nz Please use browser.new_context()newPage)r   r!   r   r   sendr   s    rw   new_pagezBrowserContext.new_page^  s=     :;;$--"4"4Y"EEFFEs   <A	A	A	urlsc                    K   |g }t        |t              r|g}| j                  j                  dd t	        |             d {   S 7 w)Ncookies)r   )
isinstancer  r   r  dict)rv   r   s     rw   r"  zBrowserContext.cookiesc  sD     <DdC 6D]]''	44IIIIs   AAA	Ar"  c                 n   K   | j                   j                  dd t        |             d {    y 7 w)N
addCookies)r"  r   r  r$  )rv   r"  s     rw   add_cookieszBrowserContext.add_cookiesj  '     mm  tT'5JKKK   +535r   domainpathc                 $  K   | j                   j                  dd t        |t              r|nd t        |t              r|j
                  nd t        |t              rt        |      nd t        |t              r|nd t        |t              r|j
                  nd t        |t              rt        |      nd t        |t              r|nd t        |t              r|j
                  nd t        |t              rt        |      nd d	       d {    y 7 w)NclearCookies)	r   nameRegexSourcenameRegexFlagsr+  domainRegexSourcedomainRegexFlagsr,  pathRegexSourcepathRegexFlags)r   r  r#  r  r   patternr>   )rv   r   r+  r,  s       rw   clear_cookieszBrowserContext.clear_cookiesm  s      mm   *4 543=dG3L4<<RV0:40I&t,t$.vs$;&&0&AFNNt 3=VW2M&v.SW *4 543=dG3L4<<RV0:40I&t,t!
 	
 	
s   DDD	Dpermissionsoriginc                 |   K   | j                   j                  dd t        t                            d {    y 7 w)NgrantPermissionsr   r  r2   locals)rv   r7  r8  s      rw   grant_permissionsz BrowserContext.grant_permissions  s-      mm  !3T;KFH;UVVV   2<:<c                 X   K   | j                   j                  dd        d {    y 7 w)NclearPermissions)r   r  r   s    rw   clear_permissionsz BrowserContext.clear_permissions  s!     mm  !3T:::s    *(*geolocationc                 |   K   | j                   j                  dd t        t                            d {    y 7 w)NsetGeolocationr;  )rv   rB  s     rw   set_geolocationzBrowserContext.set_geolocation  s+     mm  !149I&(9STTTr>  headersc           	         K   | j                   j                  dd t        t        |                   d {    y 7 w)NsetExtraHTTPHeaders)rF  )r   r  r$  r:   )rv   rF  s     rw   set_extra_http_headersz%BrowserContext.set_extra_http_headers  s4     mm  !46G6P)Q
 	
 	
s   4><>offlinec                 n   K   | j                   j                  dd t        |             d {    y 7 w)N
setOffline)rJ  r'  )rv   rJ  s     rw   set_offlinezBrowserContext.set_offline  r)  r*  scriptc           	         K   |r!t        |       d {   j                         }t        |t              st	        d      t        | j                  j                  dd t        |             d {         S 7 e7 
w)Nz1Either path or script parameter must be specifiedaddInitScript)source)	r/   decoder#  r  r!   r   r   r  r$  )rv   rN  r,  s      rw   add_init_scriptzBrowserContext.add_init_script  sn      *40088:F&#&KLL--$$_dD<OPP
 	
 1 Qs"   A=A9AA=0A;1	A=;A=callbackc           	      2  K   | j                   D ]  }||j                  v st        d| d       || j                  v rt        d| d      || j                  |<   t        | j                  j                  dd t        |             d {         S 7 w)Nz
Function "z1" has been already registered in one of the pagesz" has been already registeredexposeBinding)r   )r   r   r!   r   r   r  r$  )rv   r   rT  rV   s       rw   expose_bindingzBrowserContext.expose_binding  s     KK 	Dt~~% &WX 	
 4>>!*TF*GHII't--$$_dDdOLL
 	
Ls   BA+BB	Bc                 J   K   | j                  |fd       d {   S 7 w)Nc                      | S r{    )rQ  argsrT  s     rw   rx   z0BrowserContext.expose_function.<locals>.<lambda>  s    Xt_ ry   )rW  )rv   r   rT  s     `rw   expose_functionzBrowserContext.expose_function  s!     ((/TUUUUs   #!#r   handlertimesc           
          K    j                   j                  dt         j                   j                  rdnd|              j                          d {    t         fd       S 7 w)Nr   TFc                  (    j                         S r{   )unroute)r]  rv   r   s   rw   rx   z&BrowserContext.route.<locals>.<lambda>  s    dll3&@ ry   )r   insertr*   r   _dispatcher_fiberr   r    )rv   r   r]  r^  s   ``` rw   r   zBrowserContext.route  sj      	..E		
 00222@$GG 	3s   AA2A0A2c                    K   g }g }| j                   D ]E  }|j                  |k7  s|r!|j                  |k7  r|j                  |       5|j                  |       G | j	                  ||d       d {    y 7 w)Ndefault)r   r   r]  r   _unroute_internal)rv   r   r]  removed	remainingr   s         rw   ra  zBrowserContext.unroute  sr      	\\ 	&EyyCG0H  'u%		&
 $$WiCCCs   A/A91A72A9rg  rh  behavior)re  ignoreErrorswaitc                    K   || _         ,dk7  r't        j                  t        fd|        d {    | j	                          d {    y 7 7 w)Nre  c                 &    | j                        S r{   )stop)routerri  s    rw   rx   z2BrowserContext._unroute_internal.<locals>.<lambda>  s    V[[5J ry   )r   r   gathermapr   )rv   rg  rh  ri  s      `rw   rf  z BrowserContext._unroute_internal  sS      !H	$9..#&JG"TUUU00222 V2s!   1AAAAAAc                    K   | j                   j                  dt        | j                  ||             | j	                          d {    y 7 w)Nr   )r   rb  r9   r   (_update_web_socket_interception_patterns)rv   r   r]  s      rw   route_web_socketzBrowserContext.route_web_socket  sC      	&&!$..#w?	
 ;;===s   AAAAc                 T    | j                   D ]  }|j                           g | _         y r{   )r   dispose)rv   ro  s     rw   _dispose_har_routersz#BrowserContext._dispose_har_routers  s)    '' 	FNN	ry   c                 z   K   | j                  | j                  g |       d {    | j                          y 7 wr{   )rf  r   rw  )rv   ri  s     rw   unroute_allzBrowserContext.unroute_all  s6      $$T\\2x@@@!!# 	As   !;9;r  notFoundupdateupdateContent)r  r  
updateModec                 Z  K   |r)| j                   j                  |d |||       d {    y t        j                  | j                  j
                  t        |      |xs d|       d {   }| j                  j                  |       |j                  |        d {    y 7 |7 ;7 	w)Nr  abort)local_utilsfilenot_found_actionurl_matcher)
r   r  r&   creater   r  r  r   r   add_context_route)rv   r  r   rz  r{  r|  r}  ro  s           rw   route_from_harzBrowserContext.route_from_har  s      --00,& 1     ''((44S%0	
 
 	  (&&t,,,
 	-s4   &B+B%AB++B',3B+B) B+'B+)B+c                    K   t        j                  | j                        }| j                  j	                  dd d|i       d {    y 7 w)NsetNetworkInterceptionPatternspatterns)r*   prepare_interception_patternsr   r   r  rv   r  s     rw   r   z,BrowserContext._update_interception_patterns  sB     ==dllKmm  ,dZ4J
 	
 	
   AAA
Ac                    K   t        j                  | j                        }| j                  j	                  dd d|i       d {    y 7 w)N setWebSocketInterceptionPatternsr  )r9   r  r   r   r  r  s     rw   rs  z7BrowserContext._update_web_socket_interception_patterns  sI     (FF##
 mm  .z86L
 	
 	
r  r   	predicatec                 v   || j                   j                         }t        | d| d      }|j                  |d| d| d       |t        j
                  j                  k7  r,|j                  | t        j
                  j                  d        |j                  | ||       t        |j                               S )Nzbrowser_context.expect_event()zTimeout z%ms exceeded while waiting for event ""c                      t               S r{   )r"   rZ  ry   rw   rx   z-BrowserContext.expect_event.<locals>.<lambda>+  s
    ;L;N ry   )r   r   r@   reject_on_timeoutrD   r   rG   reject_on_eventwait_for_eventr#   result)rv   r   r  r   waiters        rw   expect_eventzBrowserContext.expect_event  s     ?,,446G =eWAFG  xy(MeWTUV	
 N))///""n++113N 	dE95&v}}77ry   c                    d| _         | j                  r| | j                  j                  v r%| j                  j                  j                  |        | j                  j                  J | | j                  j                  j
                  j                  j                  v rC| j                  j                  j
                  j                  j                  j                  |        | j                          | j                  j                          | j                  j                  j                          | j                  t        j                  j                  |        y r   )r   r   	_contextsr   _browser_type_playwright	selectors_contexts_for_selectorsrw  r   _reset_stack_counterr   r   rD   r   rG   r   s    rw   r|   zBrowserContext._on_close0  s    "&==t}}...''..t4==..:::==..::DD\\] ++77AAYY`` 	!!#**,335		.''--t4ry   c                     | j                   S r{   )r   r   s    rw   r   zBrowserContext.is_closedC  s    &&&ry   reasonc                 z   K    j                   ry | _        d _          j                  j                  |       d {    d fd} j                  j
                  j                  |d       d {     j                  j                  dd d|i       d {     j                   d {    y 7 t7 B7 7 w)NT)r  c                  V   K    j                   j                          d {    y 7 wr{   )r   _export_all_harsr   s   rw   _inner_closez*BrowserContext.close.<locals>._inner_closeN  s     --00222s   )')rH   r  rh   N)	r   r   r^   rv  r   r   r   r  r   )rv   r  r  s   `  rw   rH   zBrowserContext.closeF  s     ""#"&ll""&"111	3 mm''55lDIIImm  $60BCCC!!!! 	2
 	JC!sE   ;B;B33B;2B53&B;B7B;-B9.B;5B;7B;9B;	indexedDBopfscredentialsc                    K   | j                   j                  dd |||d       d {   }|r't        |t        j                  |             d {    |S 7 /7 w)NstorageState)r  r  r  )r   send_return_as_dictr0   jsondumps)rv   r,  r  r  r  r  s         rw   storage_statezBrowserContext.storage_stateU  s_      }}88#T+N
 

 !$

6(:;;;
 <s!   %AA(AAAAr  c                    K   t        |t        t        f      r't        j                  t        |       d {         }n|}| j                  j                  dd d|i       d {    y 7 37 w)NsetStorageStater  )r#  r  r   r  loadsr/   r   r  )rv   r  states      rw   set_storage_statez BrowserContext.set_storage_statee  s`      lS$K0JJ^L%AABE Emm  !2D>5:QRRR  B 	Ss!   4A.A*-A.$A,%A.,A.c                 x    | j                   r| j                   S | j                  r| j                  j                   S y r{   )r   r   r   s    rw   _effective_close_reasonz&BrowserContext._effective_close_reasonn  s1    %%%====...ry   c                    K   | j                  |||      4 d {   }	 d d d       d {     d {   S 7 7 # 1 d {  7  sw Y    xY w7 wr{   )r  )rv   r   r  r   
event_infos        rw   r  zBrowserContext.wait_for_eventu  s[      $$UIw? 	 	:	 		 	 	 	 	sF   A:A>A<	AAAAAAAAc                 X    | j                  t        j                  j                  ||      S r{   )r  r<   r   rI   rv   r  r   s      rw   expect_console_messagez%BrowserContext.expect_console_message|  s#    
   !4!4iIIry   c                 X    | j                  t        j                  j                  ||      S r{   )r  rD   r   r<   r  s      rw   expect_pagezBrowserContext.expect_page  s%    
   !6!6!;!;YPPry   r   c                     | |_         | j                  j                  |       | j                  t        j
                  j                  |       y r{   )r   r   addr   rD   r   r\   )rv   r   s     rw   r   z!BrowserContext._on_service_worker  s7    !!&)		.''55v>ry   response_end_timingfailure_textc                     ||_         |j                  |       | j                  t        j                  j
                  |       |r+|j                  t        j                  j
                  |       y y r{   )_failure_text_set_response_end_timingr   rD   r   r`   r<   )rv   r^   r  r  rV   s        rw   r   z!BrowserContext._on_request_failed  sU     !-(()<=		.''55w?IIdkk//9 ry   c                    |j                  |       | j                  t        j                  j                  |       |r*|j                  t
        j                  j                  |       |r|j                  j                  d       y y r   )r  r   rD   r   rb   r<   _finished_futurer   )rv   r^   r_   r  rV   s        rw   r   z#BrowserContext._on_request_finished  sd     	(()<=		.''77AIIdkk117;%%006 ry   c                 z   t        || j                  | j                        }|j                  }|r*|j	                  t
        j                  j                  |       |j                  }|r*|j	                  t        j                  j                  |       | j	                  t        j                  j                  |       y r{   )r   r   rc  r   r   r=   r   rI   rV   r<   rD   )rv   r   messager   rV   s        rw   r   z"BrowserContext._on_console_message  s|     

D4J4JKKK--w7||IIdkk))73		.''//9ry   c                    | j                  t        j                  j                  |      }|j                  }|r.|j                  t
        j                  j                  |      xs |}|sY|j                  dk(  r%t        | j                  |j                                y t        | j                  |j                                y y )Nbeforeunload)r   rD   r   r   rV   r<   re   r1   r   acceptdismiss)rv   rK   has_listenersrV   s       rw   r   zBrowserContext._on_dialog  s    		."7"7">">G{{ IIdkk&8&8&AR]M
 {{n,0V]]_M0V^^=MN ry   c                     | j                  t        j                  j                  |       |j                  }|r+|j                  t
        j                  j                  |       y y r{   )r   rD   r   rL   rV   r<   )rv   rK   rV   s      rw   r   z BrowserContext._on_dialog_closed  sE    		.''44f={{IIdkk..7 ry   r   r   c           
          | j                  t        j                  j                  t        | j                  | j
                  |||             |r+|j                  t        j                  j                  |       y y r{   )r   rD   r   rA   r   rc  r<   	PageError)rv   r   rV   r   s       rw   r   zBrowserContext._on_page_error  s[     			!!**TZZ!7!7uhO	
 IIdkk++U3 ry   c                     | j                  t        j                  j                  |       |r+|j                  t        j                  j                  |       y y r{   )r   rD   r   r5   r<   )rv   r^   rV   s      rw   r   zBrowserContext._on_request  s<    		.''//9IIdkk))73 ry   c                     | j                  t        j                  j                  |       |r+|j                  t        j                  j                  |       y y r{   )r   rD   r   r6   r<   )rv   r_   rV   s      rw   r   zBrowserContext._on_response  s<    		.''00(;IIdkk**H5 ry   c                     g S r{   rZ  r   s    rw   background_pageszBrowserContext.background_pages  s    	ry   c                 ,    t        | j                        S r{   )listr   r   s    rw   service_workerszBrowserContext.service_workers  s    D))**ry   c                   K   t        |      }i }t        |t              r|j                  |d<   n+t        |t              r|j                  |d<   nt        d      t        | j                  j                  dd |       d {         S 7 w)NrV   framezpage: expected Page or FramenewCDPSession)r4   r#  r<   r   r%   r!   r   r  )rv   rV   ru   s      rw   new_cdp_sessionzBrowserContext.new_cdp_session  sr     t}dD!!]]F6Ne$"mmF7O677$--"4"4_dF"SSTTSs   A>B B		Bc                     | j                   S r{   )r   r   s    rw   rm   zBrowserContext.tracing  r  ry   c                     | j                   S r{   )r   r   s    rw   rn   zBrowserContext.debugger  s    ~~ry   c                     | j                   S r{   )r   r   s    rw   r^   zBrowserContext.request  r  ry   c                     | j                   S r{   )r   r   s    rw   clockzBrowserContext.clock  s    {{ry   c                     | j                   S r{   )r   r   s    rw   r  zBrowserContext.credentials   s       ry   rZ  r{   )NNNr  )NN)NNNNN)NNNN)rh   r$   )rr   
__module____qualname__r   r   r   r  r   r   r   r<   r   r7   r   r8   r   r;   rs   floatr   r   r   r  r  propertyr	   r  r   r   r   r'   boolr   r(   r  r  r   r   r"  r   r(  r6  r=  rA  r   rE  rI  rM  r   rS  r   rW  r\  r-   r+   intr    r   ra  r*   r
   rf  r.   rt  rw  ry  r)   r  r   rs  r#   r  r|   r   rH   r   r  r  r  r   r  r   r  r  r=   r   r5   r   r6   r   r   r   r   r   r!   r   r   r   r   r  r  r%   r   r  r?   rm   r   rn   r^   r   r  r   r  __classcell__)r   s   @rw   rD   rD   \   s    '  	
  $  & & (     &  !" #$ &%& *'F,~("~(*-~(58~(GK~(	~(@:# :7T 7d 7U t B1> 1d 15 5 5Be B BGHUO GPT G75 7T 7<% <T < "tDz " " ),  
!%c	"23
 %%56
 "*$	

  (gclC.?(@A
 "'*
 

2G G
J%Xc](:"; JtF| JL.)A Ld L
 *.+/)-	
C%&
 c73<'(
 C%&	

 

> 9=W#C=W25W	W
;U U U
DcN 
t 

L L$ L <@	
	
(-c4i(8	
		

 
 
Z 
V# V Vj V JNHH&:HCFH	H" HL
D
D&./C&D
D	
D  @D		3l#	3 %	3 ;<		3
 
	3>>&C>	> FJ$ AB$	$ )-/348"-49- 73<$%- -	-
 - 01- - 
-6

 #	88 8 	8
 
!8&5&'4 '"# " "" "& CI  	
  
 S!,T"9:S	S#  HL  %- ?D 	  7;J^,d23J J 
!	0	J -1QTFDL)Q Q 
!	&	Q? ?D ?
:: #: sm	:
 tn: 
:77 8$7 #	7
 tn7 
7: :$ :O OD O8 84 844"*4.4<L4	447 4(4. 4T 4
6X 6Xd^ 6 6
 $t*   +f + +	U%e*< 	U 	U    (     u   ![ ! !ry   rD   )\r   r  pathlibr   typesr   typingr   r   r   r   r	   r
   r   r   r   r   r   r    playwright._impl._api_structuresr   r   r   r   r   playwright._impl._cdp_sessionr   playwright._impl._clockr   playwright._impl._connectionr   r   r   !playwright._impl._console_messager   playwright._impl._credentialsr   playwright._impl._debuggerr   playwright._impl._dialogr   playwright._impl._disposabler   r    playwright._impl._errorsr!   r"   'playwright._impl._event_context_managerr#   playwright._impl._fetchr$   playwright._impl._framer%   playwright._impl._har_routerr&   playwright._impl._helperr'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   playwright._impl._networkr5   r6   r7   r8   r9   r:   playwright._impl._pager;   r<   r=   playwright._impl._str_utilsr>   playwright._impl._tracingr?   playwright._impl._waiterr@   playwright._impl._web_errorrA   playwright._impl._browserrB   rD   rZ  ry   rw   <module>r     s       !     5 ) 
 = 5 / + C = K 5 ) 2      = < : - + 01f
!\ f
!ry   