
     fB                       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 e G d d	                      Ze G d
 d                      Ze G d d                      Z G d dej                  Z G d dej                  Z G d dej                  Ze G d d                      Z 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 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	 	 d=d>d6Zd?d8Z d?d9Z! ed:          e G d; d<                                  Z"dS )@    )annotations   )event_classT_JSON_DICT)	dataclassN)network)pagec                  N    e Zd ZU dZded<   ded<   ded<   d Zed             ZdS )	AffectedCookiezL
    Information about a cookie that is affected by an inspector issue.
    strnamepathdomainc                ^    t                      }| j        |d<   | j        |d<   | j        |d<   |S )Nr   r   r   )dictr   r   r   selfjsons     p/var/www/api.educacionweb.es/myenv/lib/python3.11/site-packages/selenium/webdriver/common/devtools/v85/audits.pyto_jsonzAffectedCookie.to_json   s1    vvyVyVX    c                     | t          |d                   t          |d                   t          |d                             S )Nr   r   r   )r   r   r   )r   clsr   s     r   	from_jsonzAffectedCookie.from_json#   sH    sT&\""T&\""tH~&&
 
 
 	
r   N__name__
__module____qualname____doc____annotations__r   classmethodr    r   r   r   r      sg           IIIIIIKKK   
 
 [
 
 
r   r   c                  H    e Zd ZU dZded<   dZded<   d Zed             ZdS )	AffectedRequestzM
    Information about a request that is affected by an inspector issue.
    network.RequestId
request_idNtyping.Optional[str]urlc                |    t                      }| j                                        |d<   | j        
| j        |d<   |S )N	requestIdr)   )r   r'   r   r)   r   s     r   r   zAffectedRequest.to_json6   s;    vv O3355[8(DKr   c                     | t           j                            |d                   d|v rt          |d                   nd           S )Nr+   r)   )r'   r)   )r   	RequestIdr   r   r   s     r   r   zAffectedRequest.from_json=   sP    s(2243DEE$)TMMDK   t
 
 
 	
r   )	r   r   r   r    r!   r)   r   r"   r   r#   r   r   r%   r%   ,   si           "!!! $C$$$$   
 
 [
 
 
r   r%   c                  :    e Zd ZU dZded<   d Zed             ZdS )AffectedFramezE
    Information about the frame affected by an inspector issue.
    zpage.FrameIdframe_idc                Z    t                      }| j                                        |d<   |S )NframeId)r   r0   r   r   s     r   r   zAffectedFrame.to_jsonL   s'    vv-//11Yr   c                `     | t           j                            |d                             S )Nr2   )r0   )r	   FrameIdr   r   s     r   r   zAffectedFrame.from_jsonQ   s2    s\++DO<<
 
 
 	
r   Nr   r#   r   r   r/   r/   E   sX             
 
 
 [
 
 
r   r/   c                  2    e Zd ZdZdZd Zed             ZdS )SameSiteCookieExclusionReason&ExcludeSameSiteUnspecifiedTreatedAsLaxExcludeSameSiteNoneInsecurec                    | j         S Nvaluer   s    r   r   z%SameSiteCookieExclusionReason.to_json\   
    zr   c                     | |          S r:   r#   r   s     r   r   z'SameSiteCookieExclusionReason.from_json_       s4yyr   N)r   r   r   ,EXCLUDE_SAME_SITE_UNSPECIFIED_TREATED_AS_LAXEXCLUDE_SAME_SITE_NONE_INSECUREr   r"   r   r#   r   r   r6   r6   X   sJ        3[0&C#     [  r   r6   c                  J    e Zd ZdZdZdZdZdZdZdZ	dZ
d	 Zed
             ZdS )SameSiteCookieWarningReason'WarnSameSiteUnspecifiedCrossSiteContextWarnSameSiteNoneInsecure%WarnSameSiteUnspecifiedLaxAllowUnsafe$WarnSameSiteStrictLaxDowngradeStrict&WarnSameSiteStrictCrossDowngradeStrict#WarnSameSiteStrictCrossDowngradeLax#WarnSameSiteLaxCrossDowngradeStrict WarnSameSiteLaxCrossDowngradeLaxc                    | j         S r:   r;   r=   s    r   r   z#SameSiteCookieWarningReason.to_jsonn   r>   r   c                     | |          S r:   r#   r   s     r   r   z%SameSiteCookieWarningReason.from_jsonq   r@   r   N)r   r   r   -WARN_SAME_SITE_UNSPECIFIED_CROSS_SITE_CONTEXTWARN_SAME_SITE_NONE_INSECURE+WARN_SAME_SITE_UNSPECIFIED_LAX_ALLOW_UNSAFE*WARN_SAME_SITE_STRICT_LAX_DOWNGRADE_STRICT,WARN_SAME_SITE_STRICT_CROSS_DOWNGRADE_STRICT)WARN_SAME_SITE_STRICT_CROSS_DOWNGRADE_LAX)WARN_SAME_SITE_LAX_CROSS_DOWNGRADE_STRICT&WARN_SAME_SITE_LAX_CROSS_DOWNGRADE_LAXr   r"   r   r#   r   r   rD   rD   d   sn        4]1#= 2Y/1W.3[00U-0U--O*     [  r   rD   c                  2    e Zd ZdZdZd Zed             ZdS )SameSiteCookieOperation	SetCookie
ReadCookiec                    | j         S r:   r;   r=   s    r   r   zSameSiteCookieOperation.to_jsonz   r>   r   c                     | |          S r:   r#   r   s     r   r   z!SameSiteCookieOperation.from_json}   r@   r   N)r   r   r   
SET_COOKIEREAD_COOKIEr   r"   r   r#   r   r   rX   rX   v   sH        JK     [  r   rX   c                      e Zd ZU dZ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e	d             Z
d
S )SameSiteCookieIssueDetailsz
    This information is currently necessary, as the front-end has a difficult
    time finding a specific cookie. With this, we can convey specific error
    information without the cookie.
    r   cookiez(typing.List[SameSiteCookieWarningReason]cookie_warning_reasonsz*typing.List[SameSiteCookieExclusionReason]cookie_exclusion_reasonsrX   	operationNr(   site_for_cookies
cookie_url typing.Optional[AffectedRequest]requestc                l   t                      }| j                                        |d<   d | j        D             |d<   d | j        D             |d<   | j                                        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        | j                                        |d	<   |S )
Nra   c                6    g | ]}|                                 S r#   r   .0is     r   
<listcomp>z6SameSiteCookieIssueDetails.to_json.<locals>.<listcomp>   s     'Y'Y'Y		'Y'Y'Yr   cookieWarningReasonsc                6    g | ]}|                                 S r#   rk   rl   s     r   ro   z6SameSiteCookieIssueDetails.to_json.<locals>.<listcomp>   s     )])])]!!))++)])])]r   cookieExclusionReasonsrd   siteForCookies	cookieUrlrh   )	r   ra   r   rb   rc   rd   re   rf   rh   r   s     r   r   z"SameSiteCookieIssueDetails.to_json   s    vv,,..X'Y'YT=X'Y'Y'Y#$)])]t?\)])])]%& N2244[ ,%)%:D!"?& $D<#"l2244DOr   c                    | t                               |d                   d |d         D             d |d         D             t                              |d                   d|v rt          |d                   nd d|v rt          |d                   nd d	|v r t                              |d	                   nd 
          S )Nra   c                B    g | ]}t                               |          S r#   )rD   r   rl   s     r   ro   z8SameSiteCookieIssueDetails.from_json.<locals>.<listcomp>   s(    #s#s#sQR$?$I$I!$L$L#s#s#sr   rp   c                B    g | ]}t                               |          S r#   )r6   r   rl   s     r   ro   z8SameSiteCookieIssueDetails.from_json.<locals>.<listcomp>   s(    %y%y%yUV&C&M&Ma&P&P%y%y%yr   rr   rd   rs   rt   rh   )ra   rb   rc   rd   re   rf   rh   )r   r   rX   r   r%   r   s     r   r   z$SameSiteCookieIssueDetails.from_json   s    s!++DN;;#s#sVZ[qVr#s#s#s%y%yZ^_wZx%y%y%y-77[8IJJ<LPT<T<TS&6!7888Z^1<1D1Ds4,---$BKtBSBSO--d9o>>>Y]
 
 
 	
r   )r   r   r   r    r!   re   rf   rh   r   r"   r   r#   r   r   r`   r`      s          
 DDDDHHHH '&&&-11111'+J++++04G4444   	
 	
 [	
 	
 	
r   r`   c                  6    e Zd ZdZdZdZd Zed             ZdS )MixedContentResolutionStatusMixedContentBlocked!MixedContentAutomaticallyUpgradedMixedContentWarningc                    | j         S r:   r;   r=   s    r   r   z$MixedContentResolutionStatus.to_json   r>   r   c                     | |          S r:   r#   r   s     r   r   z&MixedContentResolutionStatus.from_json   r@   r   N)	r   r   r   MIXED_CONTENT_BLOCKED$MIXED_CONTENT_AUTOMATICALLY_UPGRADEDMIXED_CONTENT_WARNINGr   r"   r   r#   r   r   ry   ry      sP        1+N(1     [  r   ry   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ed             ZdS )MixedContentResourceTypeAudioBeacon	CSPReportDownloadEventSourceFaviconFontFormFrameImageImportManifestPing
PluginDataPluginResourcePrefetchResourceScriptServiceWorkerSharedWorker
StylesheetTrackVideoWorkerXMLHttpRequestXSLTc                    | j         S r:   r;   r=   s    r   r   z MixedContentResourceType.to_json   r>   r   c                     | |          S r:   r#   r   s     r   r   z"MixedContentResourceType.from_json   r@   r   N) r   r   r   AUDIOBEACON
CSP_REPORTDOWNLOADEVENT_SOURCEFAVICONFONTFORMFRAMEIMAGEIMPORTMANIFESTPINGPLUGIN_DATAPLUGIN_RESOURCEPREFETCHRESOURCESCRIPTSERVICE_WORKERSHARED_WORKER
STYLESHEETTRACKVIDEOWORKERXML_HTTP_REQUESTr   r   r"   r   r#   r   r   r   r      s        EFJH LGDDEEFHDK&OHHF$N"MJEEF'D     [  r   r   c                  t    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ed             Z	dS )MixedContentIssueDetailsry   resolution_statusr   insecure_urlmain_resource_urlNz)typing.Optional[MixedContentResourceType]resource_typerg   rh   typing.Optional[AffectedFrame]framec                T   t                      }| j                                        |d<   | j        |d<   | j        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   |S )NresolutionStatusinsecureURLmainResourceURLresourceTyperh   r   )r   r   r   r   r   r   rh   r   r   s     r   r   z MixedContentIssueDetails.to_json   s    vv#'#9#A#A#C#C "/]"&"8)#'#5#=#=#?#?D <#"l2244DO:! J..00DMr   c                    | t                               |d                   t          |d                   t          |d                   d|v r t                              |d                   nd d|v r t                              |d                   nd d|v r t
                              |d                   nd           S )Nr   r   r   r   rh   r   )r   r   r   r   rh   r   )ry   r   r   r   r%   r/   r   s     r   r   z"MixedContentIssueDetails.from_json
  s    s:DDTJ\E]^^T-011!$'8"9::VdhlVlVl2<<T.=QRRRrvBKtBSBSO--d9o>>>Y]<CtOO-))$w-888QU
 
 
 	
r   )
r   r   r   r!   r   rh   r   r   r"   r   r#   r   r   r   r      s          4333   @DMCCCC 15G4444 -1E0000   
 
 [
 
 
r   r   c                  B    e Zd ZdZdZdZdZdZdZd Z	e
d             Zd	S )
BlockedByResponseReasonz
    Enum indicating the reason a response has been blocked. These reasons are
    refinements of the net error BLOCKED_BY_RESPONSE.
     CoepFrameResourceNeedsCoepHeader+CoopSandboxedIFrameCannotNavigateToCoopPageCorpNotSameOrigin1CorpNotSameOriginAfterDefaultedToSameOriginByCoepCorpNotSameSitec                    | j         S r:   r;   r=   s    r   r   zBlockedByResponseReason.to_json!  r>   r   c                     | |          S r:   r#   r   s     r   r   z!BlockedByResponseReason.from_json$  r@   r   N)r   r   r   r    %COEP_FRAME_RESOURCE_NEEDS_COEP_HEADER3COOP_SANDBOXED_I_FRAME_CANNOT_NAVIGATE_TO_COOP_PAGECORP_NOT_SAME_ORIGIN;CORP_NOT_SAME_ORIGIN_AFTER_DEFAULTED_TO_SAME_ORIGIN_BY_COEPCORP_NOT_SAME_SITEr   r"   r   r#   r   r   r   r     si          -O):g7.Bu?*     [  r   r   c                  R    e Zd ZU dZded<   ded<   dZded<   d	 Zed
             ZdS )BlockedByResponseIssueDetailsz
    Details for a request that has been blocked with the BLOCKED_BY_RESPONSE
    code. Currently only used for COEP/COOP, but may be extended to include
    some CSP errors in the future.
    r%   rh   r   reasonNr   r   c                    t                      }| j                                        |d<   | j                                        |d<   | j        | j                                        |d<   |S )Nrh   r   r   )r   rh   r   r   r   r   s     r   r   z%BlockedByResponseIssueDetails.to_json6  s]    vv,..00Y,,..X:! J..00DMr   c                     | t                               |d                   t                              |d                   d|v r t                              |d                   nd           S )Nrh   r   r   )rh   r   r   )r%   r   r   r/   r   s     r   r   z'BlockedByResponseIssueDetails.from_json>  sh    s#--d9o>>*44T(^DD<CtOO-))$w-888QU
 
 
 	
r   )	r   r   r   r    r!   r   r   r"   r   r#   r   r   r   r   )  su          
 ####,0E0000   
 
 [
 
 
r   r   c                  2    e Zd ZdZdZd Zed             ZdS )HeavyAdResolutionStatusHeavyAdBlockedHeavyAdWarningc                    | j         S r:   r;   r=   s    r   r   zHeavyAdResolutionStatus.to_jsonK  r>   r   c                     | |          S r:   r#   r   s     r   r   z!HeavyAdResolutionStatus.from_jsonN  r@   r   N)r   r   r   HEAVY_AD_BLOCKEDHEAVY_AD_WARNINGr   r"   r   r#   r   r   r   r   G  sJ        ''     [  r   r   c                  6    e Zd ZdZdZdZd Zed             ZdS )HeavyAdReasonNetworkTotalLimitCpuTotalLimitCpuPeakLimitc                    | j         S r:   r;   r=   s    r   r   zHeavyAdReason.to_jsonX  r>   r   c                     | |          S r:   r#   r   s     r   r   zHeavyAdReason.from_json[  r@   r   N)	r   r   r   NETWORK_TOTAL_LIMITCPU_TOTAL_LIMITCPU_PEAK_LIMITr   r"   r   r#   r   r   r   r   S  sN        -%O#N     [  r   r   c                  J    e Zd ZU ded<   ded<   ded<   d Zed             Zd	S )
HeavyAdIssueDetailsr   
resolutionr   r   r/   r   c                    t                      }| j                                        |d<   | j                                        |d<   | j                                        |d<   |S )Nr   r   r   )r   r   r   r   r   r   s     r   r   zHeavyAdIssueDetails.to_jsonk  sV    vv!_4466\,,..X
**,,Wr   c                     | t                               |d                   t                              |d                   t                              |d                             S )Nr   r   r   )r   r   r   )r   r   r   r/   r   s     r   r   zHeavyAdIssueDetails.from_jsonr  s[    s.88l9KLL **4>::))$w-88
 
 
 	
r   N)r   r   r   r!   r   r"   r   r#   r   r   r   r   `  sj          ('''     
 
 [
 
 
r   r   c                  >    e Zd ZdZdZdZdZdZd Ze	d             Z
dS )	InspectorIssueCodez
    A unique identifier for the type of issue. Each type may use one of the
    optional fields in InspectorIssueDetails to convey more specific
    information about the kind of issue.
    SameSiteCookieIssueMixedContentIssueBlockedByResponseIssueHeavyAdIssuec                    | j         S r:   r;   r=   s    r   r   zInspectorIssueCode.to_json  r>   r   c                     | |          S r:   r#   r   s     r   r   zInspectorIssueCode.from_json  r@   r   N)r   r   r   r    SAME_SITE_COOKIE_ISSUEMIXED_CONTENT_ISSUEBLOCKED_BY_RESPONSE_ISSUEHEAVY_AD_ISSUEr   r"   r   r#   r   r   r   r   {  sa         
 3- 8#N     [  r   r   c                  h    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	e
d             ZdS )InspectorIssueDetailsz
    This struct holds a list of optional fields with additional information
    specific to the kind of issue. When adding a new issue code, please also
    add a new optional field to this type.
    Nz+typing.Optional[SameSiteCookieIssueDetails]same_site_cookie_issue_detailsz)typing.Optional[MixedContentIssueDetails]mixed_content_issue_detailsz.typing.Optional[BlockedByResponseIssueDetails]!blocked_by_response_issue_detailsz$typing.Optional[HeavyAdIssueDetails]heavy_ad_issue_detailsc                :   t                      }| j        | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   |S )NsameSiteCookieIssueDetailsmixedContentIssueDetailsblockedByResponseIssueDetailsheavyAdIssueDetails)r   r   r   r   r  r  r   s     r   r   zInspectorIssueDetails.to_json  s    vv.:151T1\1\1^1^D-.+7/3/O/W/W/Y/YD+,1=484Z4b4b4d4dD01&2*.*E*M*M*O*OD&'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           S )Nr  r  r  r  )r   r   r  r  )r`   r   r   r   r   r   s     r   r   zInspectorIssueDetails.from_json  s   s xT  X\  x\  x\+E+O+OPTUqPr+s+s+s  bf qK  OS  qS  qS(@(J(J4PjKk(l(l(l  Y] A`  dh  Ah  Ah.K.U.UVZ[zV{.|.|.|  nravz~a~a~#6#@#@F[A\#]#]#]  EI	
 
 
 	
r   )r   r   r   r    r   r!   r   r  r  r   r"   r   r#   r   r   r   r     s          
 SW"VVVVMQQQQQX\%\\\\CGGGGG
 
 
 
 
 [
 
 
r   r   c                  D    e Zd ZU dZded<   ded<   d Zed             ZdS )	InspectorIssuez8
    An inspector issue reported from the back-end.
    r   coder   detailsc                    t                      }| j                                        |d<   | j                                        |d<   |S )Nr  r  )r   r  r   r  r   s     r   r   zInspectorIssue.to_json  s>    vvy((**V,..00Yr   c                     | t                               |d                   t                              |d                             S )Nr  r  )r  r  )r   r   r   r   s     r   r   zInspectorIssue.from_json  sE    s#--d6l;;)33DODD
 
 
 	
r   Nr   r#   r   r   r
  r
    sd           """"   
 
 [
 
 
r   r
  r'   r&   encodingr   qualitytyping.Optional[float]	size_onlytyping.Optional[bool]returnXtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[typing.Optional[str], int, int]]c              #    K   t                      }|                                 |d<   ||d<   |||d<   |||d<   d|d}|V }d|v rt          |d                   ndt          |d	                   t          |d
                   fS )a  
    Returns the response body and size if it were re-encoded with the specified settings. Only
    applies to images.

    :param request_id: Identifier of the network request to get content for.
    :param encoding: The encoding to use.
    :param quality: *(Optional)* The quality of the encoding (0-1). (defaults to 1)
    :param size_only: *(Optional)* Whether to only return the size information (defaults to false).
    :returns: A tuple with the following items:

        0. **body** - *(Optional)* The encoded body as a base64 string. Omitted if sizeOnly is true.
        1. **originalSize** - Size before re-encoding.
        2. **encodedSize** - Size after re-encoding.
    r+   r  Nr  sizeOnlyzAudits.getEncodedResponse)methodparamsbodyoriginalSizeencodedSize)r   r   r   int)r'   r  r  r  r  cmd_dictr   s          r   get_encoded_responser    s      ( &&F$,,..F;!F:#y&z- H >>D#t^^DLD !!D   r   0typing.Generator[T_JSON_DICT, T_JSON_DICT, None]c               #     K   ddi} | V }dS )z\
    Disables issues domain, prevents further issues from being reported to the client.
    r  zAudits.disableNr#   r  r   s     r   disabler#    s$      
 	"H >>DDDr   c               #     K   ddi} | V }dS )zz
    Enables issues domain, sends the issues collected so far to the client by means of the
    ``issueAdded`` event.
    r  zAudits.enableNr#   r"  s     r   enabler%    s#       	/H >>DDDr   zAudits.issueAddedc                  2    e Zd ZU ded<   edd            ZdS )	
IssueAddedr
  issuer   r   r  c                V     | t                               |d                             S )Nr(  )r(  )r
  r   r   s     r   r   zIssueAdded.from_json  s0    s **4=99
 
 
 	
r   N)r   r   r  r'  )r   r   r   r!   r"   r   r#   r   r   r'  r'    sB          
 
 
 [
 
 
r   r'  )NN)
r'   r&   r  r   r  r  r  r  r  r  )r  r   )#
__future__r   utilr   r   dataclassesr   enumtyping r   r	   r   r%   r/   Enumr6   rD   rX   r`   ry   r   r   r   r   r   r   r   r   r   r
  r  r#  r%  r'  r#   r   r   <module>r1     s{   # " " " " " * * * * * * * * ! ! ! ! ! !               
 
 
 
 
 
 
 
6 
 
 
 
 
 
 
 
0 
 
 
 
 
 
 
 
$	 	 	 	 	DI 	 	 	    $)   $	 	 	 	 	di 	 	 	 .
 .
 .
 .
 .
 .
 .
 .
b
 
 
 
 
49 
 
 
! ! ! ! !ty ! ! !H -
 -
 -
 -
 -
 -
 -
 -
`    di   & 
 
 
 
 
 
 
 
:	 	 	 	 	di 	 	 	
 
 
 
 
DI 
 
 
 
 
 
 
 
 
 
 
4       & !
 !
 !
 !
 !
 !
 !
 !
H 
 
 
 
 
 
 
 
2 +/+/	$ $ $ $ $N        !!

 
 
 
 
 
 
  "!
 
 
r   