
    Eg                    "   d dl mZ ddlmZmZ d dlmZ d dlZd dlZddl	m
Z
 ddl	mZ ddl	mZ dd	l	mZ 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  G d. d/ej                  Z!e G d0 d1                      Z" G d2 d3ej                  Z#e G d4 d5                      Z$e G d6 d7                      Z%e G d8 d9                      Z& G d: d;ej                  Z'e G d< d=                      Z(e G d> d?                      Z)e G d@ dA                      Z* G dB dCej                  Z+e G dD dE                      Z, G dF dGej                  Z-e G dH dI                      Z. G dJ dKej                  Z/e G dL dM                      Z0 G dN dOej                  Z1e G dP dQ                      Z2 G dR dSej                  Z3e G dT dU                      Z4 G dV dWe5          Z6e G dX dY                      Z7	 	 dmdnddZ8dodfZ9dodgZ:	 dpdqdiZ; edj          e G dk dl                                  Z<dS )r    )annotations   )event_classT_JSON_DICT)	dataclassN)dom)network)page)runtimec                  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     c/var/www/sysmax/venv/lib/python3.11/site-packages/selenium/webdriver/common/devtools/v110/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_json8   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.
    page.FrameIdframe_idc                Z    t                      }| j                                        |d<   |S )NframeId)r   r3   r   r   s     r   r   zAffectedFrame.to_jsonN   s'    vv-//11Yr   c                `     | t           j                            |d                             S )Nr5   )r3   )r
   FrameIdr   r   s     r   r   zAffectedFrame.from_jsonS   s2    s\++DO<<
 
 
 	
r   Nr   r%   r   r   r1   r1   G   sX             
 
 
 [
 
 
r   r1   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 )CookieExclusionReason&ExcludeSameSiteUnspecifiedTreatedAsLaxExcludeSameSiteNoneInsecureExcludeSameSiteLaxExcludeSameSiteStrictExcludeInvalidSameParty!ExcludeSamePartyCrossPartyContextExcludeDomainNonASCII-ExcludeThirdPartyCookieBlockedInFirstPartySetc                    | j         S Nvaluer   s    r   r   zCookieExclusionReason.to_jsond   
    zr   c                     | |          S rC   r%   r   s     r   r   zCookieExclusionReason.from_jsong       s4yyr   N)r   r    r!   ,EXCLUDE_SAME_SITE_UNSPECIFIED_TREATED_AS_LAXEXCLUDE_SAME_SITE_NONE_INSECUREEXCLUDE_SAME_SITE_LAXEXCLUDE_SAME_SITE_STRICTEXCLUDE_INVALID_SAME_PARTY&EXCLUDE_SAME_PARTY_CROSS_PARTY_CONTEXTEXCLUDE_DOMAIN_NON_ASCII5EXCLUDE_THIRD_PARTY_COOKIE_BLOCKED_IN_FIRST_PARTY_SETr   r$   r   r%   r   r   r9   r9   Z   sn        3[0&C#06!:-P*6<k9     [  r   r9   c                  R    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ed             ZdS )CookieWarningReason'WarnSameSiteUnspecifiedCrossSiteContextWarnSameSiteNoneInsecure%WarnSameSiteUnspecifiedLaxAllowUnsafe$WarnSameSiteStrictLaxDowngradeStrict&WarnSameSiteStrictCrossDowngradeStrict#WarnSameSiteStrictCrossDowngradeLax#WarnSameSiteLaxCrossDowngradeStrict WarnSameSiteLaxCrossDowngradeLax WarnAttributeValueExceedsMaxSizeWarnDomainNonASCIIc                    | j         S rC   rD   rF   s    r   r   zCookieWarningReason.to_jsonx   rG   r   c                     | |          S rC   r%   r   s     r   r   zCookieWarningReason.from_json{   rI   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_LAX%WARN_ATTRIBUTE_VALUE_EXCEEDS_MAX_SIZEWARN_DOMAIN_NON_ASCIIr   r$   r   r%   r   r   rS   rS   l   sz        4]1#= 2Y/1W.3[00U-0U--O*,N)0     [  r   rS   c                  2    e Zd ZdZdZd Zed             ZdS )CookieOperation	SetCookie
ReadCookiec                    | j         S rC   rD   rF   s    r   r   zCookieOperation.to_json   rG   r   c                     | |          S rC   r%   r   s     r   r   zCookieOperation.from_json   rI   r   N)r   r    r!   
SET_COOKIEREAD_COOKIEr   r$   r   r%   r   r   rk   rk      sH        JK     [  r   rk   c                      e Zd ZU dZded<   ded<   ded<   dZd	ed
<   dZded<   dZded<   dZded<   dZ	ded<   d Z
ed             ZdS )CookieIssueDetailsz
    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.
    z typing.List[CookieWarningReason]cookie_warning_reasonsz"typing.List[CookieExclusionReason]cookie_exclusion_reasonsrk   	operationNztyping.Optional[AffectedCookie]cookier*   raw_cookie_linesite_for_cookies
cookie_url typing.Optional[AffectedRequest]requestc                   t                      }d | j        D             |d<   d | j        D             |d<   | j                                        |d<   | j        | j                                        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d	<   | j	        | j	                                        |d
<   |S )Nc                6    g | ]}|                                 S r%   r   .0is     r   
<listcomp>z.CookieIssueDetails.to_json.<locals>.<listcomp>   s     'Y'Y'Y		'Y'Y'Yr   cookieWarningReasonsc                6    g | ]}|                                 S r%   r   r   s     r   r   z.CookieIssueDetails.to_json.<locals>.<listcomp>   s     )])])]!!))++)])])]r   cookieExclusionReasonsrv   rw   rawCookieLinesiteForCookies	cookieUrlr|   )
r   rt   ru   rv   r   rw   rx   ry   rz   r|   r   s     r   r   zCookieIssueDetails.to_json   s    vv'Y'YT=X'Y'Y'Y#$)])]t?\)])])]%& N2244[;"![0022DN+$($8D! ,%)%:D!"?& $D<#"l2244DOr   c                    | 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 d	|v rt          |d	                   nd d
|v r t                              |d
                   nd           S )Nc                B    g | ]}t                               |          S r%   )rS   r   r   s     r   r   z0CookieIssueDetails.from_json.<locals>.<listcomp>   s'    #k#k#k$7$A$A!$D$D#k#k#kr   r   c                B    g | ]}t                               |          S r%   )r9   r   r   s     r   r   z0CookieIssueDetails.from_json.<locals>.<listcomp>   s'    %q%q%qQ&;&E&Ea&H&H%q%q%qr   r   rv   rw   r   r   r   r|   )rt   ru   rv   rw   rx   ry   rz   r|   )rk   r   r   r   r'   r   s     r   r   zCookieIssueDetails.from_json   s   s#k#kdSiNj#k#k#k%q%qRVWoRp%q%q%q%//[0ABB?G4?O?O>++DN;;;UY:IT:Q:QC_ 5666W[<LPT<T<TS&6!7888Z^1<1D1Ds4,---$BKtBSBSO--d9o>>>Y]	
 	
 	
 		
r   )r   r    r!   r"   r#   rw   rx   ry   rz   r|   r   r$   r   r%   r   r   rs   rs      s          
 =<<<@@@@  /3F2222,0O0000-11111'+J++++04G4444  " 

 

 [

 

 

r   rs   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 rC   rD   rF   s    r   r   z$MixedContentResolutionStatus.to_json   rG   r   c                     | |          S rC   r%   r   s     r   r   z&MixedContentResolutionStatus.from_json   rI   r   N)	r   r    r!   MIXED_CONTENT_BLOCKED$MIXED_CONTENT_AUTOMATICALLY_UPGRADEDMIXED_CONTENT_WARNINGr   r$   r   r%   r   r   r   r      sP        1+N(1     [  r   r   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ed             Z dS )MixedContentResourceTypeAttributionSrc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 rC   rD   rF   s    r   r   z MixedContentResourceType.to_json   rG   r   c                     | |          S rC   r%   r   s     r   r   z"MixedContentResourceType.from_json   rI   r   N)!r   r    r!   ATTRIBUTION_SRC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        &O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 )MixedContentIssueDetailsr   resolution_statusr   insecure_urlmain_resource_urlNz)typing.Optional[MixedContentResourceType]resource_typer{   r|   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resourceTyper|   r   )r   r   r   r   r   r   r|   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   r|   r   )r   r   r   r   r|   r   )r   r   r   r   r'   r1   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   r|   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 rC   rD   rF   s    r   r   zBlockedByResponseReason.to_json6  rG   r   c                     | |          S rC   r%   r   s     r   r   z!BlockedByResponseReason.from_json9  rI   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                  `    e Zd ZU dZded<   ded<   dZ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'   r|   r   reasonNr   parent_frameblocked_framec                   t                      }| j                                        |d<   | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   |S )Nr|   r   parentFrameblockedFrame)r   r|   r   r   r   r   r   s     r   r   z%BlockedByResponseIssueDetails.to_jsonM  s    vv,..00Y,,..X("&"3";";"="=D)#'#5#=#=#?#?D r   c           	     (    | t                               |d                   t                              |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   r1   r   s     r   r   z'BlockedByResponseIssueDetails.from_jsonW  s    s#--d9o>>*44T(^DDIVZ^I^I^00m1DEEEdhKY]aKaKa-11$~2FGGGgk	
 
 
 	
r   )
r   r    r!   r"   r#   r   r   r   r$   r   r%   r   r   r   r   >  s          
 ####37L777748M8888   
 
 [
 
 
r   r   c                  2    e Zd ZdZdZd Zed             ZdS )HeavyAdResolutionStatusHeavyAdBlockedHeavyAdWarningc                    | j         S rC   rD   rF   s    r   r   zHeavyAdResolutionStatus.to_jsone  rG   r   c                     | |          S rC   r%   r   s     r   r   z!HeavyAdResolutionStatus.from_jsonh  rI   r   N)r   r    r!   HEAVY_AD_BLOCKEDHEAVY_AD_WARNINGr   r$   r   r%   r   r   r   r   a  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 rC   rD   rF   s    r   r   zHeavyAdReason.to_jsonr  rG   r   c                     | |          S rC   r%   r   s     r   r   zHeavyAdReason.from_jsonu  rI   r   N)	r   r    r!   NETWORK_TOTAL_LIMITCPU_TOTAL_LIMITCPU_PEAK_LIMITr   r$   r   r%   r   r   r   r   m  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   r1   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_json  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   r1   r   s     r   r   zHeavyAdIssueDetails.from_json  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  z  sj          ('''     
 
 [
 
 
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 )
"ContentSecurityPolicyViolationTypekInlineViolationkEvalViolationkURLViolationkTrustedTypesSinkViolationkTrustedTypesPolicyViolationkWasmEvalViolationc                    | j         S rC   rD   rF   s    r   r   z*ContentSecurityPolicyViolationType.to_json  rG   r   c                     | |          S rC   r%   r   s     r   r   z,ContentSecurityPolicyViolationType.from_json  rI   r   N)r   r    r!   K_INLINE_VIOLATIONK_EVAL_VIOLATIONK_URL_VIOLATIONK_TRUSTED_TYPES_SINK_VIOLATION K_TRUSTED_TYPES_POLICY_VIOLATIONK_WASM_EVAL_VIOLATIONr   r$   r   r%   r   r   r  r    sa        +'%O%A"'E$0     [  r   r  c                  X    e Zd ZU ded<   ded<   ded<   dZded<   d	 Zed
             ZdS )SourceCodeLocationr   r+   intline_numbercolumn_numberNz!typing.Optional[runtime.ScriptId]	script_idc                    t                      }| j        |d<   | j        |d<   | j        |d<   | j        | j                                        |d<   |S )Nr+   
lineNumbercolumnNumberscriptId)r   r+   r   r!  r"  r   r   s     r   r   zSourceCodeLocation.to_json  sU    vvhU!-\#1^>%#~5577Dr   c           	          | t          |d                   t          |d                   t          |d                   d|v r%t          j                            |d                   nd           S )Nr+   r$  r%  r&  )r+   r   r!  r"  )r   r  r   ScriptIdr   r   s     r   r   zSourceCodeLocation.from_json  st    sDK  D.//d>233FPTXFXFXg&00j1ABBB^b	
 
 
 	
r   )r   r    r!   r#   r"  r   r$   r   r%   r   r   r  r    sr         HHH37I7777   
 
 [
 
 
r   r  c                      e Zd ZU ded<   ded<   ded<   dZded	<   dZd
ed<   dZded<   dZded<   d Ze	d             Z
dS )!ContentSecurityPolicyIssueDetailsr   violated_directiveboolis_report_onlyr  &content_security_policy_violation_typeNr*   blocked_urlr   frame_ancestor#typing.Optional[SourceCodeLocation]source_code_location"typing.Optional[dom.BackendNodeId]violating_node_idc                v   t                      }| j        |d<   | j        |d<   | j                                        |d<   | j        
| j        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   |S )NviolatedDirectiveisReportOnly"contentSecurityPolicyViolationType
blockedURLframeAncestorsourceCodeLocationviolatingNodeId)	r   r+  r-  r.  r   r/  r0  r2  r4  r   s     r   r   z)ContentSecurityPolicyIssueDetails.to_json  s    vv$($; !#2^595`5h5h5j5j12'!%!1D*$($7$?$?$A$AD!$0)-)B)J)J)L)LD%&!-&*&<&D&D&F&FD"#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 d|v r%t          j                            |d                   nd           S )	Nr6  r7  r8  r9  r:  r;  r<  )r+  r-  r.  r/  r0  r2  r4  )r   r,  r  r   r1   r  r   BackendNodeIdr   s     r   r   z+ContentSecurityPolicyIssueDetails.from_json  s    s"4(;#<==^ 4553U3_3_`d  fJ  aK  4L  4L3?43G3GD.///TM\`dMdMd=2243HIIIjn]quy]y]y!3!=!=dCW>X!Y!Y!Y  @DVgkoVoVoc/99$?P:QRRRuy
 
 
 	
r   )r   r    r!   r#   r/  r0  r2  r4  r   r$   r   r%   r   r   r*  r*    s          NNNN )-K,,,,59N9999@DDDDD<@@@@@   	
 	
 [	
 	
 	
r   r*  c                  2    e Zd ZdZdZd Zed             ZdS )SharedArrayBufferIssueTypeTransferIssueCreationIssuec                    | j         S rC   rD   rF   s    r   r   z"SharedArrayBufferIssueType.to_json  rG   r   c                     | |          S rC   r%   r   s     r   r   z$SharedArrayBufferIssueType.from_json  rI   r   N)r   r    r!   TRANSFER_ISSUECREATION_ISSUEr   r$   r   r%   r   r   r@  r@    sH        $N$N     [  r   r@  c                  N    e Zd ZU dZded<   ded<   ded<   d Zed	             Zd
S )SharedArrayBufferIssueDetailsz
    Details for a issue arising from an SAB being instantiated in, or
    transferred to a context that is not cross-origin isolated.
    r  r2  r,  
is_warningr@  type_c                    t                      }| j                                        |d<   | j        |d<   | j                                        |d<   |S )Nr;  	isWarningtype)r   r2  r   rI  rJ  r   s     r   r   z%SharedArrayBufferIssueDetails.to_json  sM    vv%)%>%F%F%H%H!" O[z))++Vr   c                     | t                               |d                   t          |d                   t                              |d                             S )Nr;  rL  rM  )r2  rI  rJ  )r  r   r,  r@  r   s     r   r   z'SharedArrayBufferIssueDetails.from_json  sW    s!3!=!=dCW>X!Y!YD-..,66tF|DD
 
 
 	
r   Nr   r%   r   r   rH  rH    sp           -,,,%%%%   
 
 [
 
 
r   rH  c                  6    e Zd ZdZdZdZd Zed             ZdS )"TwaQualityEnforcementViolationType
kHttpErrorkUnavailableOfflinekDigitalAssetLinksc                    | j         S rC   rD   rF   s    r   r   z*TwaQualityEnforcementViolationType.to_json  rG   r   c                     | |          S rC   r%   r   s     r   r   z,TwaQualityEnforcementViolationType.from_json   rI   r   N)	r   r    r!   K_HTTP_ERRORK_UNAVAILABLE_OFFLINEK_DIGITAL_ASSET_LINKSr   r$   r   r%   r   r   rP  rP    sO        L10     [  r   rP  c                  j    e Zd ZU 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 )TrustedWebActivityIssueDetailsr   r+   rP  violation_typeNztyping.Optional[int]http_status_coder*   package_name	signaturec                    t                      }| j        |d<   | j                                        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   |S )Nr+   violationTypehttpStatusCodepackageNamer^  )r   r+   r[  r   r\  r]  r^  r   s     r   r   z&TrustedWebActivityIssueDetails.to_json6  su    vvhU $ 3 ; ; = =_ ,%)%:D!"("&"3D>% $Dr   c           
         | 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`  ra  rb  r^  )r+   r[  r\  r]  r^  )r   rP  r   r  r   s     r   r   z(TrustedWebActivityIssueDetails.from_jsonB  s    sDK  =GG_H]^^<LPT<T<TS&6!7888Z^5Bd5J5JT-0111PT0;t0C0Cc${+,,,
 
 
 	
r   )
r   r    r!   r#   r\  r]  r^  r   r$   r   r%   r   r   rZ  rZ  %  s          HHH6666-11111 *.L---- '+I****
 
 
 
 
 [
 
 
r   rZ  c                  r    e Zd ZU ded<   ded<   ded<   ded<   ded<   ded	<   ded
<   d Zed             ZdS )LowTextContrastIssueDetailsdom.BackendNodeIdr4  r   violating_node_selectorfloatcontrast_ratiothreshold_aathreshold_aaa	font_sizefont_weightc                    t                      }| j                                        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   |S )Nr<  violatingNodeSelectorcontrastRatiothresholdAAthresholdAAAfontSize
fontWeight)	r   r4  r   rg  ri  rj  rk  rl  rm  r   s     r   r   z#LowTextContrastIssueDetails.to_json]  sx    vv"&"8"@"@"B"B(,(D$% $ 3_"/]#1^>Z!-\r   c                P    | t           j                            |d                   t          |d                   t	          |d                   t	          |d                   t	          |d                   t          |d                   t          |d                             S )	Nr<  ro  rp  rq  rr  rs  rt  )r4  rg  ri  rj  rk  rl  rm  )r   r>  r   r   rh  r   s     r   r   z%LowTextContrastIssueDetails.from_jsonh  s    s!/99$?P:QRR$'-D(E$F$F o!677tM233^ 455$z*++D.//
 
 
 	
r   Nr  r%   r   r   re  re  M  s         ((((    NNN	 	 	 	
 	
 [	
 	
 	
r   re  c                      e Zd ZU dZded<   ded<   ded<   dZd	ed
<   dZded<   dZded<   dZded<   d Z	e
d             ZdS )CorsIssueDetailszl
    Details for a CORS related issue, e.g. a warning or error related to
    CORS RFC1918 enforcement.
    znetwork.CorsErrorStatuscors_error_statusr,  rI  r'   r|   Nr1  locationr*   initiator_originz'typing.Optional[network.IPAddressSpace]resource_ip_address_spacez,typing.Optional[network.ClientSecurityState]client_security_statec                   t                      }| j                                        |d<   | j        |d<   | j                                        |d<   | j        | j                                        |d<   | j        
| j        |d<   | j        | j                                        |d<   | j        | j                                        |d<   |S )NcorsErrorStatusrL  r|   ry  initiatorOriginresourceIPAddressSpaceclientSecurityState)	r   rx  r   rI  r|   ry  rz  r{  r|  r   s     r   r   zCorsIssueDetails.to_json  s    vv"&"8"@"@"B"B O[,..00Y=$#}4466D ,&*&;D"#)5-1-K-S-S-U-UD)*%1*.*D*L*L*N*ND&'r   c                    | t           j                            |d                   t          |d                   t                              |d                   d|v r t
                              |d                   nd d|v rt          |d                   nd d|v r%t           j                            |d                   nd d|v r%t           j                            |d                   nd           S )	Nr~  rL  r|   ry  r  r  r  )rx  rI  r|   ry  rz  r{  r|  )	r	   CorsErrorStatusr   r,  r'   r  r   IPAddressSpaceClientSecurityStater   s     r   r   zCorsIssueDetails.from_json  s   s%5??EV@WXXD-..#--d9o>>GQUYGYGY'11$z2BCCC_c=NRV=V=VS&7!8999\` kC  GK  kK  kKg&<&F&FtLdGe&f&f&f  QUh}  BF  iF  iF'"="G"GMbHc"d"d"d  LP
 
 
 	
r   )r   r    r!   r"   r#   ry  rz  r{  r|  r   r$   r   r%   r   r   rw  rw  u  s           /...48H8888-11111IMMMMMJNNNNN   	
 	
 [	
 	
 	
r   rw  c                  V    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ed             ZdS )AttributionReportingIssueTypePermissionPolicyDisabledPermissionPolicyNotDelegatedUntrustworthyReportingOriginInsecureContextInvalidHeaderInvalidRegisterTriggerHeaderInvalidEligibleHeaderTooManyConcurrentRequestsSourceAndTriggerHeadersSourceIgnoredTriggerIgnoredc                    | j         S rC   rD   rF   s    r   r   z%AttributionReportingIssueType.to_json  rG   r   c                     | |          S rC   r%   r   s     r   r   z'AttributionReportingIssueType.from_json  rI   r   N)r   r    r!   PERMISSION_POLICY_DISABLEDPERMISSION_POLICY_NOT_DELEGATEDUNTRUSTWORTHY_REPORTING_ORIGININSECURE_CONTEXTINVALID_HEADERINVALID_REGISTER_TRIGGER_HEADERINVALID_ELIGIBLE_HEADERTOO_MANY_CONCURRENT_REQUESTSSOURCE_AND_TRIGGER_HEADERSSOURCE_IGNOREDTRIGGER_IGNOREDr   r$   r   r%   r   r   r  r    s}        !;&D#%C"($N&D#5#> !:$N&O     [  r   r  c                  d    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e	d             Z
dS ) AttributionReportingIssueDetailsz
    Details for issues around "Attribution Reporting API" usage.
    Explainer: https://github.com/WICG/attribution-reporting-api
    r  r[  Nr{   r|   r3  r4  r*   invalid_parameterc                   t                      }| j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j        
| j        |d<   |S )Nr`  r|   r<  invalidParameter)r   r[  r   r|   r4  r  r   s     r   r   z(AttributionReportingIssueDetails.to_json  s    vv $ 3 ; ; = =_<#"l2244DO!-&*&<&D&D&F&FD"#!-'+'=D#$r   c           	     (    | t                               |d                   d|v r t                              |d                   nd d|v r%t          j                            |d                   nd d|v rt          |d                   nd           S )Nr`  r|   r<  r  )r[  r|   r4  r  )r  r   r'   r   r>  r   r   s     r   r   z*AttributionReportingIssueDetails.from_json  s    s8BB4CXYYBKtBSBSO--d9o>>>Y]VgkoVoVoc/99$?P:QRRRuy?QUY?Y?Yc$'9":;;;_c	
 
 
 	
r   )r   r    r!   r"   r#   r|   r4  r  r   r$   r   r%   r   r   r  r    s           211104G4444<@@@@@.22222	 	 	 
 
 [
 
 
r   r  c                  b    e Zd ZU dZded<   ded<   ded<   ded	<   d
ed<   d Zed             ZdS )QuirksModeIssueDetailszs
    Details for issues about documents in Quirks Mode
    or Limited Quirks Mode that affects page layouting.
    r,  is_limited_quirks_moderf  document_node_idr   r+   r2   r3   znetwork.LoaderId	loader_idc                    t                      }| j        |d<   | j                                        |d<   | j        |d<   | j                                        |d<   | j                                        |d<   |S )NisLimitedQuirksModedocumentNodeIdr+   r5   loaderId)r   r  r  r   r+   r3   r  r   s     r   r   zQuirksModeIssueDetails.to_json  sr    vv&*&A"#!%!6!>!>!@!@hU-//11Y>1133Zr   c           
     @    | t          |d                   t          j                            |d                   t	          |d                   t
          j                            |d                   t          j                            |d                             S )Nr  r  r+   r5   r  )r  r  r+   r3   r  )	r,  r   r>  r   r   r
   r7   r	   LoaderIdr   s     r   r   z QuirksModeIssueDetails.from_json  s    s#'-B(C#D#D .88>N9OPPDK  \++DO<<&00j1ABB
 
 
 	
r   Nr   r%   r   r   r  r    s           !   ''''HHH   
 
 [
 
 
r   r  c                  D    e Zd ZU ded<   dZded<   d Zed             ZdS )NavigatorUserAgentIssueDetailsr   r+   Nr1  ry  c                |    t                      }| j        |d<   | j        | j                                        |d<   |S )Nr+   ry  )r   r+   ry  r   r   s     r   r   z&NavigatorUserAgentIssueDetails.to_json	  s;    vvhU=$#}4466Dr   c                     | t          |d                   d|v r t                              |d                   nd           S )Nr+   ry  )r+   ry  )r   r  r   r   s     r   r   z(NavigatorUserAgentIssueDetails.from_json  sR    sDK  GQUYGYGY'11$z2BCCC_c
 
 
 	
r   )r   r    r!   r#   ry  r   r$   r   r%   r   r   r  r    sZ         HHH48H8888   
 
 [
 
 
r   r  c                  2    e Zd ZdZdZd Zed             ZdS )GenericIssueErrorType!CrossOriginPortalPostMessageErrorFormLabelForNameErrorc                    | j         S rC   rD   rF   s    r   r   zGenericIssueErrorType.to_json  rG   r   c                     | |          S rC   r%   r   s     r   r   zGenericIssueErrorType.from_json  rI   r   N)r   r    r!   &CROSS_ORIGIN_PORTAL_POST_MESSAGE_ERRORFORM_LABEL_FOR_NAME_ERRORr   r$   r   r%   r   r   r  r    sJ        -P* 7     [  r   r  c                  V    e Zd ZU dZded<   dZded<   dZded<   d	 Zed
             Z	dS )GenericIssueDetailszL
    Depending on the concrete errorType, different properties are set.
    r  
error_typeNztyping.Optional[page.FrameId]r3   r3  r4  c                    t                      }| j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   |S )N	errorTyper5   r<  )r   r  r   r3   r4  r   s     r   r   zGenericIssueDetails.to_json0  sj    vv O3355[=$"m3355DO!-&*&<&D&D&F&FD"#r   c                     | t                               |d                   d|v r%t          j                            |d                   nd d|v r%t          j                            |d                   nd           S )Nr  r5   r<  )r  r3   r4  )r  r   r
   r7   r   r>  r   s     r   r   zGenericIssueDetails.from_json9  s    s,66tK7HII@IT@Q@QT\++DO<<<W[VgkoVoVoc/99$?P:QRRRuy
 
 
 	
r   )
r   r    r!   r"   r#   r3   r4  r   r$   r   r%   r   r   r  r  $  s{           &%%%.2H2222<@@@@@   
 
 [
 
 
r   r  c                      e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#Z%d$Z&d%Z'd&Z(d'Z)d(Z*d)Z+d*Z,d+Z-d,Z.d-Z/d.Z0d/Z1d0Z2d1Z3d2Z4d3Z5d4Z6d5Z7d6 Z8e9d7             Z:d8S )9DeprecationIssueTypeAuthorizationCoveredByWildcard"CanRequestURLHTTPContainingNewlineChromeLoadTimesConnectionInfo&ChromeLoadTimesFirstPaintAfterLoadTime,ChromeLoadTimesWasAlternateProtocolAvailableCookieWithTruncatingChar&CrossOriginAccessBasedOnDocumentDomainCrossOriginWindowAlertCrossOriginWindowConfirm1CSSSelectorInternalMediaControlsOverlayCastButtonDeprecationExample4DocumentDomainSettingWithoutOriginAgentClusterHeader	EventPathExpectCTHeaderGeolocationInsecureOrigin-GeolocationInsecureOriginDeprecatedNotRemovedGetUserMediaInsecureOriginHostCandidateAttributeGetterIdentityInCanMakePaymentEvent(InsecurePrivateNetworkSubresourceRequestLocalCSSFileExtensionRejectedMediaSourceAbortRemove%MediaSourceDurationTruncatingBufferedNoSysexWebMIDIWithoutPermissionNotificationInsecureOrigin%NotificationPermissionRequestedIframeObsoleteWebRtcCipherSuiteOpenWebDatabaseInsecureContext OverflowVisibleOnReplacedElementPaymentInstrumentsPaymentRequestCSPViolationPersistentQuotaTypePictureSourceSrcPrefixedCancelAnimationFramePrefixedRequestAnimationFramePrefixedStorageInfo!PrefixedVideoDisplayingFullscreenPrefixedVideoEnterFullScreenPrefixedVideoExitFullScreenPrefixedVideoSupportsFullscreenRangeExpand+RequestedSubresourceWithEmbeddedCredentials RTCConstraintEnableDtlsSrtpFalseRTCConstraintEnableDtlsSrtpTrue8RTCPeerConnectionComplexPlanBSdpUsingDefaultSdpSemantics"RTCPeerConnectionSdpSemanticsPlanBRtcpMuxPolicyNegotiate,SharedArrayBufferConstructedWithoutIsolation!TextToSpeech_DisallowedByAutoplay9V8SharedArrayBufferConstructedInExtensionWithoutIsolationXHRJSONEncodingDetection7XMLHttpRequestSynchronousInNonWorkerOutsideBeforeUnloadXRSupportsSessionc                    | j         S rC   rD   rF   s    r   r   zDeprecationIssueType.to_jsony  rG   r   c                     | |          S rC   r%   r   s     r   r   zDeprecationIssueType.from_json|  rI   r   N);r   r    r!   !AUTHORIZATION_COVERED_BY_WILDCARD&CAN_REQUEST_URLHTTP_CONTAINING_NEWLINE!CHROME_LOAD_TIMES_CONNECTION_INFO-CHROME_LOAD_TIMES_FIRST_PAINT_AFTER_LOAD_TIME2CHROME_LOAD_TIMES_WAS_ALTERNATE_PROTOCOL_AVAILABLECOOKIE_WITH_TRUNCATING_CHAR,CROSS_ORIGIN_ACCESS_BASED_ON_DOCUMENT_DOMAINCROSS_ORIGIN_WINDOW_ALERTCROSS_ORIGIN_WINDOW_CONFIRM8CSS_SELECTOR_INTERNAL_MEDIA_CONTROLS_OVERLAY_CAST_BUTTONDEPRECATION_EXAMPLE;DOCUMENT_DOMAIN_SETTING_WITHOUT_ORIGIN_AGENT_CLUSTER_HEADER
EVENT_PATHEXPECT_CT_HEADERGEOLOCATION_INSECURE_ORIGIN2GEOLOCATION_INSECURE_ORIGIN_DEPRECATED_NOT_REMOVEDGET_USER_MEDIA_INSECURE_ORIGINHOST_CANDIDATE_ATTRIBUTE_GETTER"IDENTITY_IN_CAN_MAKE_PAYMENT_EVENT,INSECURE_PRIVATE_NETWORK_SUBRESOURCE_REQUEST!LOCAL_CSS_FILE_EXTENSION_REJECTEDMEDIA_SOURCE_ABORT_REMOVE)MEDIA_SOURCE_DURATION_TRUNCATING_BUFFERED$NO_SYSEX_WEB_MIDI_WITHOUT_PERMISSIONNOTIFICATION_INSECURE_ORIGIN(NOTIFICATION_PERMISSION_REQUESTED_IFRAMEOBSOLETE_WEB_RTC_CIPHER_SUITE"OPEN_WEB_DATABASE_INSECURE_CONTEXT$OVERFLOW_VISIBLE_ON_REPLACED_ELEMENTPAYMENT_INSTRUMENTSPAYMENT_REQUEST_CSP_VIOLATIONPERSISTENT_QUOTA_TYPEPICTURE_SOURCE_SRCPREFIXED_CANCEL_ANIMATION_FRAME PREFIXED_REQUEST_ANIMATION_FRAMEPREFIXED_STORAGE_INFO$PREFIXED_VIDEO_DISPLAYING_FULLSCREEN PREFIXED_VIDEO_ENTER_FULL_SCREENPREFIXED_VIDEO_EXIT_FULL_SCREEN"PREFIXED_VIDEO_SUPPORTS_FULLSCREENRANGE_EXPAND/REQUESTED_SUBRESOURCE_WITH_EMBEDDED_CREDENTIALS%RTC_CONSTRAINT_ENABLE_DTLS_SRTP_FALSE$RTC_CONSTRAINT_ENABLE_DTLS_SRTP_TRUEBRTC_PEER_CONNECTION_COMPLEX_PLAN_B_SDP_USING_DEFAULT_SDP_SEMANTICS(RTC_PEER_CONNECTION_SDP_SEMANTICS_PLAN_BRTCP_MUX_POLICY_NEGOTIATE1SHARED_ARRAY_BUFFER_CONSTRUCTED_WITHOUT_ISOLATION%TEXT_TO_SPEECH_DISALLOWED_BY_AUTOPLAYAV8_SHARED_ARRAY_BUFFER_CONSTRUCTED_IN_EXTENSION_WITHOUT_ISOLATIONXHRJSON_ENCODING_DETECTION@XML_HTTP_REQUEST_SYNCHRONOUS_IN_NON_WORKER_OUTSIDE_BEFORE_UNLOADXR_SUPPORTS_SESSIONr   r$   r   r%   r   r   r  r  B  s       (H%-Q*(G%4\19g6"<3[0 8"<?r<.Bx?J'"=9h6%A"&D#)H&3]0(G% 80W-+L(#? /V,$?!)I&+M(.$@!1+&D#'F$1+N('E$&C#)J& L6c3,N)+L( JDF/S, 88f5,O) IDE!; HAD-     [  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 )DeprecationIssueDetailsz
    This issue tracks information needed to print a deprecation message.
    https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/frame/third_party/blink/renderer/core/frame/deprecation/README.md
    r  r2  r  rJ  Nr   affected_framec                    t                      }| j                                        |d<   | j                                        |d<   | j        | j                                        |d<   |S )Nr;  rM  affectedFrame)r   r2  r   rJ  r3  r   s     r   r   zDeprecationIssueDetails.to_json  sc    vv%)%>%F%F%H%H!"z))++V*$($7$?$?$A$AD!r   c                     | t                               |d                   t                              |d                   d|v r t                              |d                   nd           S )Nr;  rM  r5  )r2  rJ  r3  )r  r   r  r1   r   s     r   r   z!DeprecationIssueDetails.from_json  sn    s!3!=!=dCW>X!Y!Y&00f>>M\`dMdMd=2243HIIIjn
 
 
 	
r   )	r   r    r!   r"   r#   r3  r   r$   r   r%   r   r   r2  r2    su           -,,,59N9999   
 
 [
 
 
r   r2  c                  2    e Zd ZdZdZd Zed             ZdS )ClientHintIssueReasonMetaTagAllowListInvalidOriginMetaTagModifiedHTMLc                    | j         S rC   rD   rF   s    r   r   zClientHintIssueReason.to_json  rG   r   c                     | |          S rC   r%   r   s     r   r   zClientHintIssueReason.from_json  rI   r   N)r   r    r!   "META_TAG_ALLOW_LIST_INVALID_ORIGINMETA_TAG_MODIFIED_HTMLr   r$   r   r%   r   r   r8  r8    sJ        )H&2     [  r   r8  c                  6    e Zd ZU ded<   d Zed             ZdS ) FederatedAuthRequestIssueDetailsFederatedAuthRequestIssueReason#federated_auth_request_issue_reasonc                Z    t                      }| j                                        |d<   |S )NfederatedAuthRequestIssueReason)r   rB  r   r   s     r   r   z(FederatedAuthRequestIssueDetails.to_json  s*    vv262Z2b2b2d2d./r   c                V     | t                               |d                             S )NrD  )rB  )rA  r   r   s     r   r   z*FederatedAuthRequestIssueDetails.from_json  sA    s0O0Y0YZ^  `A  [B  1C  1C
 
 
 	
r   Nr  r%   r   r   r@  r@    sL         HHHH  
 
 
 [
 
 
r   r@  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ed             Z dS )rA  z
    Represents the failure reason when a federated authentication reason fails.
    Should be updated alongside RequestIdTokenStatus in
    third_party/blink/public/mojom/devtools/inspector_issue.mojom to include
    all cases except for success.
    ShouldEmbargoTooManyRequestsWellKnownHttpNotFoundWellKnownNoResponseWellKnownInvalidResponseConfigNotInWellKnownWellKnownTooBigConfigHttpNotFoundConfigNoResponseConfigInvalidResponseClientMetadataHttpNotFoundClientMetadataNoResponseClientMetadataInvalidResponseDisabledInSettingsErrorFetchingSigninInvalidSigninResponseAccountsHttpNotFoundAccountsNoResponseAccountsInvalidResponseIdTokenHttpNotFoundIdTokenNoResponseIdTokenInvalidResponseIdTokenInvalidRequestErrorIdTokenCanceledRpPageNotVisiblec                    | j         S rC   rD   rF   s    r   r   z'FederatedAuthRequestIssueReason.to_json  rG   r   c                     | |          S rC   r%   r   s     r   r   z)FederatedAuthRequestIssueReason.from_json  rI   r   N)!r   r    r!   r"   SHOULD_EMBARGOTOO_MANY_REQUESTSWELL_KNOWN_HTTP_NOT_FOUNDWELL_KNOWN_NO_RESPONSEWELL_KNOWN_INVALID_RESPONSECONFIG_NOT_IN_WELL_KNOWNWELL_KNOWN_TOO_BIGCONFIG_HTTP_NOT_FOUNDCONFIG_NO_RESPONSECONFIG_INVALID_RESPONSECLIENT_METADATA_HTTP_NOT_FOUNDCLIENT_METADATA_NO_RESPONSE CLIENT_METADATA_INVALID_RESPONSEDISABLED_IN_SETTINGSERROR_FETCHING_SIGNININVALID_SIGNIN_RESPONSEACCOUNTS_HTTP_NOT_FOUNDACCOUNTS_NO_RESPONSEACCOUNTS_INVALID_RESPONSEID_TOKEN_HTTP_NOT_FOUNDID_TOKEN_NO_RESPONSEID_TOKEN_INVALID_RESPONSEID_TOKEN_INVALID_REQUESTERROR_ID_TOKENCANCELEDRP_PAGE_NOT_VISIBLEr   r$   r   r%   r   r   rA  rA    s          %N) 72"<5*0+5%A""<'F$/154/ 93. 86#NH,     [  r   rA  c                  D    e Zd ZU dZded<   ded<   d Zed             ZdS )	ClientHintIssueDetailsz
    This issue tracks client hints related issues. It's used to deprecate old
    features, encourage the use of new ones, and provide general guidance.
    r  r2  r8  client_hint_issue_reasonc                    t                      }| j                                        |d<   | j                                        |d<   |S )Nr;  clientHintIssueReason)r   r2  r   r  r   s     r   r   zClientHintIssueDetails.to_json  sD    vv%)%>%F%F%H%H!"(,(E(M(M(O(O$%r   c                     | t                               |d                   t                              |d                             S )Nr;  r  )r2  r  )r  r   r8  r   s     r   r   z ClientHintIssueDetails.from_json  sI    s!3!=!=dCW>X!Y!Y%:%D%DTJaEb%c%c
 
 
 	
r   Nr   r%   r   r   r~  r~    sd           -,,,3333   
 
 [
 
 
r   r~  c                  n    e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
Zd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.
    CookieIssueMixedContentIssueBlockedByResponseIssueHeavyAdIssueContentSecurityPolicyIssueSharedArrayBufferIssueTrustedWebActivityIssueLowTextContrastIssue	CorsIssueAttributionReportingIssueQuirksModeIssueNavigatorUserAgentIssueGenericIssueDeprecationIssueClientHintIssueFederatedAuthRequestIssuec                    | j         S rC   rD   rF   s    r   r   zInspectorIssueCode.to_json  rG   r   c                     | |          S rC   r%   r   s     r   r   zInspectorIssueCode.from_json  rI   r   N)r   r    r!   r"   COOKIE_ISSUEMIXED_CONTENT_ISSUEBLOCKED_BY_RESPONSE_ISSUEHEAVY_AD_ISSUECONTENT_SECURITY_POLICY_ISSUESHARED_ARRAY_BUFFER_ISSUETRUSTED_WEB_ACTIVITY_ISSUELOW_TEXT_CONTRAST_ISSUE
CORS_ISSUEATTRIBUTION_REPORTING_ISSUEQUIRKS_MODE_ISSUENAVIGATOR_USER_AGENT_ISSUEGENERIC_ISSUEDEPRECATION_ISSUECLIENT_HINT_ISSUEFEDERATED_AUTH_REQUEST_ISSUEr   r$   r   r%   r   r   r  r    s         
 !L- 8#N$@! 8!:4J"=)!:"M*)#>      [  r   r  c                     e Zd ZU dZdZded<   dZded<   dZded<   dZd	ed
<   dZ	ded<   dZ
ded<   dZded<   dZded<   dZded<   dZded<   dZded<   dZded<   dZded<   dZded<   dZded <   dZd!ed"<   d# Z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[CookieIssueDetails]cookie_issue_detailsz)typing.Optional[MixedContentIssueDetails]mixed_content_issue_detailsz.typing.Optional[BlockedByResponseIssueDetails]!blocked_by_response_issue_detailsz$typing.Optional[HeavyAdIssueDetails]heavy_ad_issue_detailsz2typing.Optional[ContentSecurityPolicyIssueDetails]%content_security_policy_issue_detailsz.typing.Optional[SharedArrayBufferIssueDetails]!shared_array_buffer_issue_detailsz/typing.Optional[TrustedWebActivityIssueDetails]twa_quality_enforcement_detailsz,typing.Optional[LowTextContrastIssueDetails]low_text_contrast_issue_detailsz!typing.Optional[CorsIssueDetails]cors_issue_detailsz1typing.Optional[AttributionReportingIssueDetails]#attribution_reporting_issue_detailsz'typing.Optional[QuirksModeIssueDetails]quirks_mode_issue_detailsz/typing.Optional[NavigatorUserAgentIssueDetails]"navigator_user_agent_issue_detailsz$typing.Optional[GenericIssueDetails]generic_issue_detailsz(typing.Optional[DeprecationIssueDetails]deprecation_issue_detailsz'typing.Optional[ClientHintIssueDetails]client_hint_issue_detailsz1typing.Optional[FederatedAuthRequestIssueDetails]$federated_auth_request_issue_detailsc                   t                      }| j        | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j	        | j	                                        |d<   | j
        | j
                                        |d	<   | j        | j                                        |d
<   | j        | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   |S )NcookieIssueDetailsmixedContentIssueDetailsblockedByResponseIssueDetailsheavyAdIssueDetails!contentSecurityPolicyIssueDetailssharedArrayBufferIssueDetailstwaQualityEnforcementDetailslowTextContrastIssueDetailscorsIssueDetails attributionReportingIssueDetailsquirksModeIssueDetailsnavigatorUserAgentIssueDetailsgenericIssueDetailsdeprecationIssueDetailsclientHintIssueDetails federatedAuthRequestIssueDetails)r   r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   s     r   r   zInspectorIssueDetails.to_jsonB  s@   vv$0)-)B)J)J)L)LD%&+7/3/O/W/W/Y/YD+,1=484Z4b4b4d4dD01&2*.*E*M*M*O*OD&'5A8<8b8j8j8l8lD451=484Z4b4b4d4dD01/;373W3_3_3a3aD/0/;262V2^2^2`2`D./".'+'>'F'F'H'HD#$3?7;7_7g7g7i7iD34)5-1-K-S-S-U-UD)*2>595\5d5d5f5fD12%1*.*D*L*L*N*ND&')5.2.L.T.T.V.VD*+)5-1-K-S-S-U-UD)*4@7;7`7h7h7j7jD34r   c           	         | d!i dd|v r t                               |d                   nd dd|v r t                              |d                   nd dd|v r t                              |d                   nd dd|v r t                              |d                   nd d	d
|v r t
                              |d
                   nd dd|v r t                              |d                   nd dd|v r t                              |d                   nd dd|v r t                              |d                   nd dd|v r t                              |d                   nd dd|v r t                              |d                   nd dd|v r t                              |d                   nd dd|v r t                              |d                   nd dd|v r t                              |d                   nd dd|v r t                              |d                   nd dd|v r t                              |d                   nd dd |v r t                               |d                    nd S )"Nr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r%   )rs   r   r   r   r  r*  rH  rZ  re  rw  r  r  r  r  r2  r~  r@  r   s     r   r   zInspectorIssueDetails.from_jsonf  sN   s 
 
 
]quy]y]y!3!=!=dCW>X!Y!Y!Y  @D
 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
 bwz~a~a~#6#@#@F[A\#]#]#]  EI	

 Mp  tx  Mx  Mx2S2]2]^b  dG  _H  3I  3I  3I  ~B
 A`  dh  Ah  Ah.K.U.UVZ[zV{.|.|.|  nr
 ]  ae  e  e,J,T,TUYZxUy,z,z,z  ko
 {X  \`  {`  {`,G,Q,QRVWtRu,v,v,v  fj
 XjmqWqWq/99$?Q:RSSSw{
 Ik  os  Is  Is0P0Z0Z[_  aC  \D  1E  1E  1E  y}
 kC  GK  kK  kK&<&F&FtLdGe&f&f&f  QU
 Dd  hl  Dl  Dl/M/W/WX\]}X~///  rv
 avy}`}`}"5"?"?EZ@["\"\"\  DH
 mF  JN  mN  mN&=&G&GMfHg&h&h&h  TX
 kC  GK  kK  kK&<&F&FtLdGe&f&f&f  QU
  Jl  pt  Jt  Jt1Q1[1[\`  bD  ]E  2F  2F  2F  z~!
 	
r   )r   r    r!   r"   r  r#   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r$   r   r%   r   r   r  r    so         
 AEDDDDMQQQQQX\%\\\\CGGGGG`d)ddddX\%\\\\W[#[[[[TX#XXXX<@@@@@]a'aaaaIMMMMMZ^&^^^^BFFFFFJNNNNNIMMMMM^b(bbbb" " "H 
 
 [
 
 
r   r  c                  B     e Zd ZdZddZed	d            Z fdZ xZS )
IssueIdz
    A unique id for a DevTools inspector issue. Allows other entities (e.g.
    exceptions, CDP message, console messages, etc.) to reference an issue.
    returnr   c                    | S rC   r%   rF   s    r   r   zIssueId.to_json  s    r   r   c                     | |          S rC   r%   r   s     r   r   zIssueId.from_json  rI   r   c                j    d                     t                                                                S )NzIssueId({}))formatsuper__repr__)r   	__class__s    r   r  zIssueId.__repr__  s'    ##EGG$4$4$6$6777r   )r  r   )r   r   r  r  )	r   r    r!   r"   r   r$   r   r  __classcell__)r  s   @r   r  r  |  sv                [8 8 8 8 8 8 8 8 8r   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 )InspectorIssuez8
    An inspector issue reported from the back-end.
    r  coder  detailsNztyping.Optional[IssueId]issue_idc                    t                      }| j                                        |d<   | j                                        |d<   | j        | j                                        |d<   |S )Nr  r  issueId)r   r  r   r  r  r   s     r   r   zInspectorIssue.to_json  s]    vvy((**V,..00Y=$"m3355DOr   c                     | t                               |d                   t                              |d                   d|v r t                              |d                   nd           S )Nr  r  r  )r  r  r  )r  r   r  r  r   s     r   r   zInspectorIssue.from_json  sj    s#--d6l;;)33DODD;D;L;LW&&tI777RV
 
 
 	
r   )	r   r    r!   r"   r#   r  r   r$   r   r%   r   r   r  r    sw           """" *.H----   
 
 [
 
 
r   r  r)   r(   encodingr   qualitytyping.Optional[float]	size_onlytyping.Optional[bool]r  Xtyping.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   r  )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   
report_aaac              #  F   K   t                      }| | |d<   d|d}|V }dS )z
    Runs the contrast check for the target page. Found issues are reported
    using Audits.issueAdded event.

    :param report_aaa: *(Optional)* Whether to report WCAG AAA level issues. Default is false.
    N	reportAAAzAudits.checkContrastr  )r   )r  r  r  r   s       r   check_contrastr    sB       &&F({( 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  rC   )r  r  r  r  )=
__future__r   utilr   r   dataclassesr   enumtyping r   r	   r
   r   r   r'   r1   Enumr9   rS   rk   rs   r   r   r   r   r   r   r   r  r  r  r*  r@  rH  rP  rZ  re  rw  r  r  r  r  r  r  r  r2  r8  r@  rA  r~  r  r  r   r  r  r  r  r  r  r  r%   r   r   <module>r     s   # " " " " " * * * * * * * * ! ! ! ! ! !                           
 
 
 
 
 
 
 
6 
 
 
 
 
 
 
 
0 
 
 
 
 
 
 
 
$    DI   $    $)   (	 	 	 	 	di 	 	 	 8
 8
 8
 8
 8
 8
 8
 8
v
 
 
 
 
49 
 
 
" " " " "ty " " "J -
 -
 -
 -
 -
 -
 -
 -
`    di   & 
 
 
 
 
 
 
 
D	 	 	 	 	di 	 	 	
 
 
 
 
DI 
 
 
 
 
 
 
 
 
 
 
4         
 
 
 
 
 
 
 
8 *
 *
 *
 *
 *
 *
 *
 *
Z	 	 	 	 	 	 	 	 
 
 
 
 
 
 
 
6
 
 
 
 
 
 
 
 $
 $
 $
 $
 $
 $
 $
 $
N $
 $
 $
 $
 $
 $
 $
 $
N ,
 ,
 ,
 ,
 ,
 ,
 ,
 ,
^    DI   * 
 
 
 
 
 
 
 
D "
 "
 "
 "
 "
 "
 "
 "
J 
 
 
 
 
 
 
 
(	 	 	 	 	DI 	 	 	 
 
 
 
 
 
 
 
:< < < < <49 < < <~ 
 
 
 
 
 
 
 
8	 	 	 	 	DI 	 	 	 
 
 
 
 
 
 
 
' ' ' ' 'di ' ' 'T 
 
 
 
 
 
 
 
.       > ]
 ]
 ]
 ]
 ]
 ]
 ]
 ]
@8 8 8 8 8c 8 8 8  
 
 
 
 
 
 
 
@ +/+/	$ $ $ $ $N       -1    &  !!

 
 
 
 
 
 
  "!
 
 
r   