
    ?OOf                       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"e G d2 d3             Z#e G d4 d5             Z$ G d6 d7ej"                        Z%e G d8 d9             Z&e G d: d;             Z'e G d< d=             Z( G d> d?ej"                        Z)e G d@ dA             Z*e G dB dC             Z+e G dD dE             Z,e G dF dG             Z- G dH dIej"                        Z.e G dJ dK             Z/ G dL dMej"                        Z0e G dN dO             Z1 G dP dQej"                        Z2e G dR dS             Z3e G dT dU             Z4 G dV dWej"                        Z5e G dX dY             Z6 G dZ d[ej"                        Z7e G d\ d]             Z8 G d^ d_ej"                        Z9e G d` da             Z: G db dce;      Z<e G dd de             Z=	 	 dn	 	 	 	 	 	 	 	 	 dodfZ>dpdgZ?dpdhZ@	 dq	 	 	 drdiZAdsdjZB edk      e G dl dm                    ZCy)t    )annotations   )event_classT_JSON_DICT)	dataclassN)dom)network)page)runtimec                  F    e Zd ZU dZded<   ded<   ded<   d Zed        Zy)	AffectedCookiezL
    Information about a cookie that is affected by an inspector issue.
    strnamepathdomainc                t    t               }| j                  |d<   | j                  |d<   | j                  |d<   |S )Nr   r   r   )dictr   r   r   selfjsons     o/var/www/premiumrankchecker/venv/lib/python3.12/site-packages/selenium/webdriver/common/devtools/v123/audits.pyto_jsonzAffectedCookie.to_json   s5    vyyVyy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%   s3    T&\"T&\"tH~&
 	
r   N__name__
__module____qualname____doc____annotations__r   classmethodr    r   r   r   r      s1     I
IK 
 
r   r   c                  @    e Zd ZU dZded<   dZded<   d Zed        Zy)	AffectedRequestzM
    Information about a request that is affected by an inspector issue.
    network.RequestId
request_idNtyping.Optional[str]urlc                    t               }| j                  j                         |d<   | j                  | j                  |d<   |S )N	requestIdr,   )r   r*   r   r,   r   s     r   r   zAffectedRequest.to_json8   s<    v OO335[88((DKr   c                     | t         j                  j                  |d         d|v rt        |d               S d       S )Nr.   r,   )r*   r,   )r	   	RequestIdr   r   r   s     r   r   zAffectedRequest.from_json?   sG    ((2243DE$)TMDK 
 	
7;
 	
r   )	r    r!   r"   r#   r$   r,   r   r%   r   r&   r   r   r(   r(   .   s3     "! $C	$ 
 
r   r(   c                  2    e Zd ZU dZded<   d Zed        Zy)AffectedFramezE
    Information about the frame affected by an inspector issue.
    page.FrameIdframe_idc                T    t               }| j                  j                         |d<   |S )NframeId)r   r4   r   r   s     r   r   zAffectedFrame.to_jsonN   s$    v--//1Yr   c                T     | t         j                  j                  |d               S )Nr6   )r4   )r
   FrameIdr   r   s     r   r   zAffectedFrame.from_jsonS   s%    \\++DO<
 	
r   Nr   r&   r   r   r2   r2   G   s(     
 
 
r   r2   c                  F    e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
 Zed        Zy)CookieExclusionReason&ExcludeSameSiteUnspecifiedTreatedAsLaxExcludeSameSiteNoneInsecureExcludeSameSiteLaxExcludeSameSiteStrictExcludeInvalidSameParty!ExcludeSamePartyCrossPartyContextExcludeDomainNonASCII-ExcludeThirdPartyCookieBlockedInFirstPartySetExcludeThirdPartyPhaseoutc                    | j                   S Nvaluer   s    r   r   zCookieExclusionReason.to_jsone       zzr   c                     | |      S rE   r&   r   s     r   r   zCookieExclusionReason.from_jsonh       4y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_SETEXCLUDE_THIRD_PARTY_PHASEOUTr   r%   r   r&   r   r   r:   r:   Z   sQ    3[0&C#06!:-P*6<k9#>   r   r:   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dZd Zed        Zy)CookieWarningReason'WarnSameSiteUnspecifiedCrossSiteContextWarnSameSiteNoneInsecure%WarnSameSiteUnspecifiedLaxAllowUnsafe$WarnSameSiteStrictLaxDowngradeStrict&WarnSameSiteStrictCrossDowngradeStrict#WarnSameSiteStrictCrossDowngradeLax#WarnSameSiteLaxCrossDowngradeStrict WarnSameSiteLaxCrossDowngradeLax WarnAttributeValueExceedsMaxSizeWarnDomainNonASCIIWarnThirdPartyPhaseout.WarnCrossSiteRedirectDowngradeChangesInclusionc                    | j                   S rE   rF   rH   s    r   r   zCookieWarningReason.to_json{   rI   r   c                     | |      S rE   r&   r   s     r   r   zCookieWarningReason.from_json~   rK   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_ASCIIWARN_THIRD_PARTY_PHASEOUT4WARN_CROSS_SITE_REDIRECT_DOWNGRADE_CHANGES_INCLUSIONr   r%   r   r&   r   r   rV   rV   m   sc    4]1#= 2Y/1W.3[00U-0U--O*,N)0 8;k8  r   rV   c                  *    e Zd ZdZdZd Zed        Zy)CookieOperation	SetCookie
ReadCookiec                    | j                   S rE   rF   rH   s    r   r   zCookieOperation.to_json   rI   r   c                     | |      S rE   r&   r   s     r   r   zCookieOperation.from_json   rK   r   N)r    r!   r"   
SET_COOKIEREAD_COOKIEr   r%   r   r&   r   r   rr   rr      s%    JK  r   rr   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y)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_reasonsrr   	operationNztyping.Optional[AffectedCookie]cookier+   raw_cookie_linesite_for_cookies
cookie_url typing.Optional[AffectedRequest]requestc                Z   t               }| j                  D cg c]  }|j                          c}|d<   | j                  D cg c]  }|j                          c}|d<   | j                  j                         |d<   | j
                  | j
                  j                         |d<   | j                  | j                  |d<   | j                  | j                  |d<   | j                  | j                  |d<   | j                  | j                  j                         |d<   |S c c}w c c}w )	NcookieWarningReasonscookieExclusionReasonsr}   r~   rawCookieLinesiteForCookies	cookieUrlr   )
r   r{   r   r|   r}   r~   r   r   r   r   r   r   is      r   r   zCookieIssueDetails.to_json   s   v=A=X=X'Y		'Y#$?C?\?\)]!!))+)]%& NN224[;;"![[002DN+$($8$8D!  ,%)%:%:D!"??& $D<<#"ll224DO (Z)]s   D#D(c                    | |d   D cg c]  }t         j                  |       c}|d   D cg c]  }t        j                  |       c}t        j                  |d         d|v rt        j                  |d         nd d|v rt        |d         nd d|v rt        |d         nd d|v rt        |d         nd d|v rt        j                  |d         	      S d 	      S c c}w c c}w )
Nr   r   r}   r~   r   r   r   r   )r{   r|   r}   r~   r   r   r   r   )rV   r   r:   rr   r   r   r(   r   r   r   s      r   r   zCookieIssueDetails.from_json   s    NRSiNj#k$7$A$A!$D#kRVWoRp%qQ&;&E&Ea&H%q%//[0AB?G4?O>++DN;UY:IT:QC_ 56W[<LPT<TS&6!78Z^1<1Ds4,-$BKtBSO--d9o>	
 		
 Z^	
 		
#k%qs
   C"C'
)r    r!   r"   r#   r$   r~   r   r   r   r   r   r%   r   r&   r   r   rz   rz      sp    
 =<@@  /3F+2,0O)0-1*1'+J$+04G-4" 

 

r   rz   c                  .    e Zd ZdZdZdZd Zed        Zy)MixedContentResolutionStatusMixedContentBlocked!MixedContentAutomaticallyUpgradedMixedContentWarningc                    | j                   S rE   rF   rH   s    r   r   z$MixedContentResolutionStatus.to_json   rI   r   c                     | |      S rE   r&   r   s     r   r   z&MixedContentResolutionStatus.from_json   rK   r   N)	r    r!   r"   MIXED_CONTENT_BLOCKED$MIXED_CONTENT_AUTOMATICALLY_UPGRADEDMIXED_CONTENT_WARNINGr   r%   r   r&   r   r   r   r      s-    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dZd Z e!d        Z"y )!MixedContentResourceTypeAttributionSrcAudioBeacon	CSPReportDownloadEventSourceFaviconFontFormFrameImageImportJSONManifestPing
PluginDataPluginResourcePrefetchResourceScriptServiceWorkerSharedWorkerSpeculationRules
StylesheetTrackVideoWorkerXMLHttpRequestXSLTc                    | j                   S rE   rF   rH   s    r   r   z MixedContentResourceType.to_json   rI   r   c                     | |      S rE   r&   r   s     r   r   z"MixedContentResourceType.from_json   rK   r   N)#r    r!   r"   ATTRIBUTION_SRCAUDIOBEACON
CSP_REPORTDOWNLOADEVENT_SOURCEFAVICONFONTFORMFRAMEIMAGEIMPORTr   MANIFESTPINGPLUGIN_DATAPLUGIN_RESOURCEPREFETCHRESOURCESCRIPTSERVICE_WORKERSHARED_WORKERSPECULATION_RULES
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DHDK&OHHF$N"M*JEEF'D  r   r   c                  l    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	y)MixedContentIssueDetailsr   resolution_statusr   insecure_urlmain_resource_urlNz)typing.Optional[MixedContentResourceType]resource_typer   r   typing.Optional[AffectedFrame]framec                   t               }| j                  j                         |d<   | j                  |d<   | j                  |d<   | j
                  | j
                  j                         |d<   | j                  | j                  j                         |d<   | j                  | 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    v#'#9#9#A#A#C "//]"&"8"8)#'#5#5#=#=#?D <<#"ll224DO::! JJ..0DMr   c                ,    | t         j                  |d         t        |d         t        |d         d|v rt        j                  |d         nd d|v rt        j                  |d         nd d|v rt
        j                  |d               S d       S )Nr   r   r   r   r   r   )r   r   r   r   r   r   )r   r   r   r   r(   r2   r   s     r   r   z"MixedContentIssueDetails.from_json$  s    :DDTJ\E]^T-01!$'8"9:VdhlVl2<<T.=QRrvBKtBSO--d9o>Y]<CtO-))$w-8
 	
 RV
 	
r   )
r    r!   r"   r$   r   r   r   r   r%   r   r&   r   r   r   r      s\     43   @DM<C 15G-4 -1E)0 
 
r   r   c                  :    e Zd ZdZdZdZdZdZdZd Z	e
d        Zy	)
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 rE   rF   rH   s    r   r   zBlockedByResponseReason.to_json;  rI   r   c                     | |      S rE   r&   r   s     r   r   z!BlockedByResponseReason.from_json>  rK   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   0  sA     -O):g7.Bu?*  r   r   c                  X    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	y)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                2   t               }| j                  j                         |d<   | j                  j                         |d<   | j                  | j                  j                         |d<   | j
                  | j
                  j                         |d<   |S )Nr   r   parentFrameblockedFrame)r   r   r   r   r   r   r   s     r   r   z%BlockedByResponseIssueDetails.to_jsonR  s    v,,..0Y,,.X("&"3"3";";"=D)#'#5#5#=#=#?D r   c           	          | t         j                  |d         t        j                  |d         d|v rt        j                  |d         nd d|v rt        j                  |d               S d       S )Nr   r   r   r   )r   r   r   r   )r(   r   r   r2   r   s     r   r   z'BlockedByResponseIssueDetails.from_json\  s}    #--d9o>*44T(^DIVZ^I^00m1DEdhKY]aKa-11$~2FG	
 	
 hl	
 	
r   )
r    r!   r"   r#   r$   r   r   r   r%   r   r&   r   r   r   r   C  sD    
 ##37L0748M18 
 
r   r   c                  *    e Zd ZdZdZd Zed        Zy)HeavyAdResolutionStatusHeavyAdBlockedHeavyAdWarningc                    | j                   S rE   rF   rH   s    r   r   zHeavyAdResolutionStatus.to_jsonj  rI   r   c                     | |      S rE   r&   r   s     r   r   z!HeavyAdResolutionStatus.from_jsonm  rK   r   N)r    r!   r"   HEAVY_AD_BLOCKEDHEAVY_AD_WARNINGr   r%   r   r&   r   r   r   r   f  s'    ''  r   r   c                  .    e Zd ZdZdZdZd Zed        Zy)HeavyAdReasonNetworkTotalLimitCpuTotalLimitCpuPeakLimitc                    | j                   S rE   rF   rH   s    r   r   zHeavyAdReason.to_jsonw  rI   r   c                     | |      S rE   r&   r   s     r   r   zHeavyAdReason.from_jsonz  rK   r   N)	r    r!   r"   NETWORK_TOTAL_LIMITCPU_TOTAL_LIMITCPU_PEAK_LIMITr   r%   r   r&   r   r   r  r  r  s+    -%O#N  r   r  c                  B    e Zd ZU ded<   ded<   ded<   d Zed        Zy	)
HeavyAdIssueDetailsr   
resolutionr  r   r2   r   c                    t               }| j                  j                         |d<   | j                  j                         |d<   | j                  j                         |d<   |S )Nr  r   r   )r   r  r   r   r   r   s     r   r   zHeavyAdIssueDetails.to_json  sQ    v!__446\,,.X

**,Wr   c                     | t         j                  |d         t        j                  |d         t        j                  |d               S )Nr  r   r   )r  r   r   )r   r   r  r2   r   s     r   r   zHeavyAdIssueDetails.from_json  sF    .88l9KL **4>:))$w-8
 	
r   Nr    r!   r"   r$   r   r%   r   r&   r   r   r  r    s3     ('   
 
r   r  c                  :    e Zd ZdZdZdZdZdZdZd Z	e
d        Zy	)
"ContentSecurityPolicyViolationTypekInlineViolationkEvalViolationkURLViolationkTrustedTypesSinkViolationkTrustedTypesPolicyViolationkWasmEvalViolationc                    | j                   S rE   rF   rH   s    r   r   z*ContentSecurityPolicyViolationType.to_json  rI   r   c                     | |      S rE   r&   r   s     r   r   z,ContentSecurityPolicyViolationType.from_json  rK   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    s>    +'%O%A"'E$0  r   r  c                  P    e Zd ZU ded<   ded<   ded<   dZded<   d	 Zed
        Zy)SourceCodeLocationr   r,   intline_numbercolumn_numberNz!typing.Optional[runtime.ScriptId]	script_idc                    t               }| j                  |d<   | j                  |d<   | j                  |d<   | j                  | j                  j                         |d<   |S )Nr,   
lineNumbercolumnNumberscriptId)r   r,   r$  r%  r&  r   r   s     r   r   zSourceCodeLocation.to_json  s\    vhhU!--\#11^>>%#~~557Dr   c           	          | t        |d         t        |d         t        |d         d|v r't        j                  j	                  |d               S d       S )Nr,   r(  r)  r*  )r,   r$  r%  r&  )r   r#  r   ScriptIdr   r   s     r   r   zSourceCodeLocation.from_json  sg    DK D./d>23FPTXFXg&&00j1AB	
 	
 _c	
 	
r   )r    r!   r"   r$   r&  r   r%   r   r&   r   r   r"  r"    s7    	H37I07 
 
r   r"  c                  z    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
y)!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                   t               }| j                  |d<   | j                  |d<   | j                  j	                         |d<   | j
                  | j
                  |d<   | j                  | j                  j	                         |d<   | j                  | j                  j	                         |d<   | j                  | j                  j	                         |d<   |S )NviolatedDirectiveisReportOnly"contentSecurityPolicyViolationType
blockedURLframeAncestorsourceCodeLocationviolatingNodeId)	r   r/  r1  r2  r   r3  r4  r6  r8  r   s     r   r   z)ContentSecurityPolicyIssueDetails.to_json  s    v$($;$; !#22^595`5`5h5h5j12'!%!1!1D*$($7$7$?$?$AD!$$0)-)B)B)J)J)LD%&!!-&*&<&<&D&D&FD"#r   c                f    | t        |d         t        |d         t        j                  |d         d|v rt        |d         nd d|v rt        j                  |d         nd d|v rt
        j                  |d         nd d|v r't        j                  j                  |d               S d       S )	Nr:  r;  r<  r=  r>  r?  r@  )r/  r1  r2  r3  r4  r6  r8  )r   r0  r  r   r2   r"  r   BackendNodeIdr   s     r   r   z+ContentSecurityPolicyIssueDetails.from_json  s    "4(;#<=^ 453U3_3_`d  fJ  aK  4L3?43GD./TM\`dMd=2243HIjn]quy]y!3!=!=dCW>X!Y  @DVgkoVoc//99$?P:QR
 	
 vz
 	
r   )r    r!   r"   r$   r3  r4  r6  r8  r   r%   r   r&   r   r   r.  r.    s_     ,NN )-K%,59N29@D=D<@9@ 	
 	
r   r.  c                  *    e Zd ZdZdZd Zed        Zy)SharedArrayBufferIssueTypeTransferIssueCreationIssuec                    | j                   S rE   rF   rH   s    r   r   z"SharedArrayBufferIssueType.to_json  rI   r   c                     | |      S rE   r&   r   s     r   r   z$SharedArrayBufferIssueType.from_json  rK   r   N)r    r!   r"   TRANSFER_ISSUECREATION_ISSUEr   r%   r   r&   r   r   rD  rD    s%    $N$N  r   rD  c                  F    e Zd ZU dZded<   ded<   ded<   d Zed	        Zy
)SharedArrayBufferIssueDetailsz
    Details for a issue arising from an SAB being instantiated in, or
    transferred to a context that is not cross-origin isolated.
    r"  r6  r0  
is_warningrD  type_c                    t               }| j                  j                         |d<   | j                  |d<   | j                  j                         |d<   |S )Nr?  	isWarningtype)r   r6  r   rM  rN  r   s     r   r   z%SharedArrayBufferIssueDetails.to_json  sL    v%)%>%>%F%F%H!" OO[zz))+Vr   c                     | t         j                  |d         t        |d         t        j                  |d               S )Nr?  rP  rQ  )r6  rM  rN  )r"  r   r0  rD  r   s     r   r   z'SharedArrayBufferIssueDetails.from_json  sB    !3!=!=dCW>X!YD-.,66tF|D
 	
r   Nr   r&   r   r   rL  rL    s4     -,%% 
 
r   rL  c                  j    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y)LowTextContrastIssueDetailsdom.BackendNodeIdr8  r   violating_node_selectorfloatcontrast_ratiothreshold_aathreshold_aaa	font_sizefont_weightc                   t               }| j                  j                         |d<   | j                  |d<   | j                  |d<   | j
                  |d<   | j                  |d<   | j                  |d<   | j                  |d<   |S )Nr@  violatingNodeSelectorcontrastRatiothresholdAAthresholdAAAfontSize
fontWeight)	r   r8  r   rV  rX  rY  rZ  r[  r\  r   s     r   r   z#LowTextContrastIssueDetails.to_json-  s    v"&"8"8"@"@"B(,(D(D$% $ 3 3_"//]#11^>>Z!--\r   c                     | t         j                  j                  |d         t        |d         t	        |d         t	        |d         t	        |d         t        |d         t        |d               S )	Nr@  r^  r_  r`  ra  rb  rc  )r8  rV  rX  rY  rZ  r[  r\  )r   rB  r   r   rW  r   s     r   r   z%LowTextContrastIssueDetails.from_json8  sx    !//99$?P:QR$'-D(E$F o!67tM23^ 45$z*+D./
 	
r   Nr  r&   r   r   rT  rT    sD    ((  N	 	
 	
r   rT  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y)CorsIssueDetailszl
    Details for a CORS related issue, e.g. a warning or error related to
    CORS RFC1918 enforcement.
    znetwork.CorsErrorStatuscors_error_statusr0  rM  r(   r   Nr5  locationr+   initiator_originz'typing.Optional[network.IPAddressSpace]resource_ip_address_spacez,typing.Optional[network.ClientSecurityState]client_security_statec                   t               }| j                  j                         |d<   | j                  |d<   | j                  j                         |d<   | j
                  | j
                  j                         |d<   | j                  | j                  |d<   | j                  | j                  j                         |d<   | j                  | j                  j                         |d<   |S )NcorsErrorStatusrP  r   rh  initiatorOriginresourceIPAddressSpaceclientSecurityState)	r   rg  r   rM  r   rh  ri  rj  rk  r   s     r   r   zCorsIssueDetails.to_jsonY  s    v"&"8"8"@"@"B OO[,,..0Y==$#}}446D  ,&*&;&;D"#))5-1-K-K-S-S-UD)*%%1*.*D*D*L*L*ND&'r   c                    | t         j                  j                  |d         t        |d         t        j                  |d         d|v rt
        j                  |d         nd d|v rt        |d         nd d|v r"t         j                  j                  |d         nd d|v r't         j                  j                  |d               S d       S )	Nrm  rP  r   rh  rn  ro  rp  )rg  rM  r   rh  ri  rj  rk  )	r	   CorsErrorStatusr   r0  r(   r"  r   IPAddressSpaceClientSecurityStater   s     r   r   zCorsIssueDetails.from_jsonh  s    %55??EV@WXD-.#--d9o>GQUYGY'11$z2BC_c=NRV=VS&7!89\` kC  GK  kKg&<&<&F&FtLdGe&f  QUh}  BF  iF'"="="G"GMbHc"d
 	
 LP
 	
r   )r    r!   r"   r#   r$   rh  ri  rj  rk  r   r%   r   r&   r   r   rf  rf  E  sc     /.48H18-1*1IMFMJNGN 	
 	
r   rf  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ed        Zy)AttributionReportingIssueTypePermissionPolicyDisabledUntrustworthyReportingOriginInsecureContextInvalidHeaderInvalidRegisterTriggerHeaderSourceAndTriggerHeadersSourceIgnoredTriggerIgnoredOsSourceIgnoredOsTriggerIgnoredInvalidRegisterOsSourceHeaderInvalidRegisterOsTriggerHeaderWebAndOsHeadersNoWebOrOsSupport4NavigationRegistrationWithoutTransientUserActivationc                    | j                   S rE   rF   rH   s    r   r   z%AttributionReportingIssueType.to_json  rI   r   c                     | |      S rE   r&   r   s     r   r   z'AttributionReportingIssueType.from_json  rK   r   N)r    r!   r"   PERMISSION_POLICY_DISABLEDUNTRUSTWORTHY_REPORTING_ORIGININSECURE_CONTEXTINVALID_HEADERINVALID_REGISTER_TRIGGER_HEADERSOURCE_AND_TRIGGER_HEADERSSOURCE_IGNOREDTRIGGER_IGNOREDOS_SOURCE_IGNOREDOS_TRIGGER_IGNORED!INVALID_REGISTER_OS_SOURCE_HEADER"INVALID_REGISTER_OS_TRIGGER_HEADERWEB_AND_OS_HEADERSNO_WEB_OR_OS_SUPPORT9NAVIGATION_REGISTRATION_WITHOUT_TRANSIENT_USER_ACTIVATIONr   r%   r   r&   r   r   rv  rv  u  sr    !;%C"($N&D#!:$N&O)+(G%)I&*-@v=  r   rv  c                  \    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
y) AttributionReportingIssueDetailsz
    Details for issues around "Attribution Reporting API" usage.
    Explainer: https://github.com/WICG/attribution-reporting-api
    rv  violation_typeNr   r   r7  r8  r+   invalid_parameterc                .   t               }| j                  j                         |d<   | j                  | j                  j                         |d<   | j                  | j                  j                         |d<   | j
                  | j
                  |d<   |S )NviolationTyper   r@  invalidParameter)r   r  r   r   r8  r  r   s     r   r   z(AttributionReportingIssueDetails.to_json  s    v $ 3 3 ; ; =_<<#"ll224DO!!-&*&<&<&D&D&FD"#!!-'+'='=D#$r   c           	          | t         j                  |d         d|v rt        j                  |d         nd d|v r"t        j                  j                  |d         nd d|v rt        |d               S d       S )Nr  r   r@  r  )r  r   r8  r  )rv  r   r(   r   rB  r   r   s     r   r   z*AttributionReportingIssueDetails.from_json  s    8BB4CXYBKtBSO--d9o>Y]VgkoVoc//99$?P:QRuy?QUY?Yc$'9":;	
 	
 `d	
 	
r   )r    r!   r"   r#   r$   r   r8  r  r   r%   r   r&   r   r   r  r    sK     2104G-4<@9@.2+2	 
 
r   r  c                  Z    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y)QuirksModeIssueDetailszs
    Details for issues about documents in Quirks Mode
    or Limited Quirks Mode that affects page layouting.
    r0  is_limited_quirks_moderU  document_node_idr   r,   r3   r4   znetwork.LoaderId	loader_idc                   t               }| j                  |d<   | j                  j                         |d<   | j                  |d<   | j
                  j                         |d<   | j                  j                         |d<   |S )NisLimitedQuirksModedocumentNodeIdr,   r6   loaderId)r   r  r  r   r,   r4   r  r   s     r   r   zQuirksModeIssueDetails.to_json  ss    v&*&A&A"#!%!6!6!>!>!@hhU--//1Y>>113Zr   c           
         | t        |d         t        j                  j                  |d         t	        |d         t
        j                  j                  |d         t        j                  j                  |d               S )Nr  r  r,   r6   r  )r  r  r,   r4   r  )	r0  r   rB  r   r   r
   r8   r	   LoaderIdr   s     r   r   z QuirksModeIssueDetails.from_json  sr    #'-B(C#D ..88>N9OPDK \\++DO<&&00j1AB
 	
r   Nr   r&   r   r   r  r    s?     ! ''	H 
 
r   r  c                  <    e Zd ZU ded<   dZded<   d Zed        Zy)NavigatorUserAgentIssueDetailsr   r,   Nr5  rh  c                    t               }| j                  |d<   | j                  | j                  j                         |d<   |S )Nr,   rh  )r   r,   rh  r   r   s     r   r   z&NavigatorUserAgentIssueDetails.to_json  s<    vhhU==$#}}446Dr   c                p     | t        |d         d|v rt        j                  |d               S d       S )Nr,   rh  )r,   rh  )r   r"  r   r   s     r   r   z(NavigatorUserAgentIssueDetails.from_json  sD    DK GQUYGY'11$z2BC
 	
_c
 	
r   )r    r!   r"   r$   rh  r   r%   r   r&   r   r   r  r    s+    	H48H18 
 
r   r  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dZd Zed        Zy)GenericIssueErrorType!CrossOriginPortalPostMessageErrorFormLabelForNameErrorFormDuplicateIdForInputErrorFormInputWithNoLabelError#FormAutocompleteAttributeEmptyError)FormEmptyIdAndNameAttributesForInputError!FormAriaLabelledByToNonExistingId:FormInputAssignedAutocompleteValueToIdOrNameAttributeError$FormLabelHasNeitherForNorNestedInput%FormLabelForMatchesNonExistingIdError6FormInputHasWrongButWellIntendedAutocompleteValueErrorResponseWasBlockedByORBc                    | j                   S rE   rF   rH   s    r   r   zGenericIssueErrorType.to_json  rI   r   c                     | |      S rE   r&   r   s     r   r   zGenericIssueErrorType.from_json  rK   r   N)r    r!   r"   &CROSS_ORIGIN_PORTAL_POST_MESSAGE_ERRORFORM_LABEL_FOR_NAME_ERROR!FORM_DUPLICATE_ID_FOR_INPUT_ERRORFORM_INPUT_WITH_NO_LABEL_ERROR'FORM_AUTOCOMPLETE_ATTRIBUTE_EMPTY_ERROR1FORM_EMPTY_ID_AND_NAME_ATTRIBUTES_FOR_INPUT_ERROR(FORM_ARIA_LABELLED_BY_TO_NON_EXISTING_IDDFORM_INPUT_ASSIGNED_AUTOCOMPLETE_VALUE_TO_ID_OR_NAME_ATTRIBUTE_ERROR+FORM_LABEL_HAS_NEITHER_FOR_NOR_NESTED_INPUT,FORM_LABEL_FOR_MATCHES_NON_EXISTING_ID_ERROR?FORM_INPUT_HAS_WRONG_BUT_WELL_INTENDED_AUTOCOMPLETE_VALUE_ERRORRESPONSE_WAS_BLOCKED_BY_ORBr   r%   r   r&   r   r   r  r    sg    -P* 7(F%%@".S+8c5/R, LHH2X/3Z0F~C";  r   r  c                  j    e Zd ZU dZded<   dZded<   dZded<   dZd	ed
<   dZded<   d Z	e
d        Zy)GenericIssueDetailszL
    Depending on the concrete errorType, different properties are set.
    r  
error_typeNztyping.Optional[page.FrameId]r4   r7  r8  r+   violating_node_attributer   r   c                   t               }| j                  j                         |d<   | j                  | j                  j                         |d<   | j                  | j                  j                         |d<   | j
                  | j
                  |d<   | j                  | j                  j                         |d<   |S )N	errorTyper6   r@  violatingNodeAttributer   )r   r  r   r4   r8  r  r   r   s     r   r   zGenericIssueDetails.to_json  s    v OO335[==$"mm335DO!!-&*&<&<&D&D&FD"#((4-1-J-JD)*<<#"ll224DOr   c           
     F    | t         j                  |d         d|v r"t        j                  j                  |d         nd d|v r"t        j
                  j                  |d         nd d|v rt        |d         nd d|v rt        j                  |d               S d       S )Nr  r6   r@  r  r   )r  r4   r8  r  r   )r  r   r
   r8   r   rB  r   r(   r   s     r   r   zGenericIssueDetails.from_json  s    ,66tK7HI@IT@QT\\++DO<W[VgkoVoc//99$?P:QRuyLdhlLlS.F)G%HrvBKtBSO--d9o>
 	

 Z^
 	
r   )r    r!   r"   r#   r$   r4   r8  r  r   r   r%   r   r&   r   r   r  r    sV     &%.2H+2<@9@592904G-4 
 
r   r  c                  J    e Zd ZU dZded<   ded<   dZded<   d	 Zed
        Zy)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"  r6  r   rN  Nr   affected_framec                    t               }| j                  j                         |d<   | j                  |d<   | j                  | j                  j                         |d<   |S )Nr?  rQ  affectedFrame)r   r6  r   rN  r  r   s     r   r   zDeprecationIssueDetails.to_json7  sZ    v%)%>%>%F%F%H!"zzV*$($7$7$?$?$AD!r   c                     | t         j                  |d         t        |d         d|v rt        j                  |d               S d       S )Nr?  rQ  r  )r6  rN  r  )r"  r   r   r2   r   s     r   r   z!DeprecationIssueDetails.from_json?  s[    !3!=!=dCW>X!Yd6l#M\`dMd=2243HI
 	
 ko
 	
r   )	r    r!   r"   r#   r$   r  r   r%   r   r&   r   r   r  r  *  s:     -, J59N29 
 
r   r  c                  2    e Zd ZU dZded<   d Zed        Zy)BounceTrackingIssueDetailsa~  
    This issue warns about sites in the redirect chain of a finished navigation
    that may be flagged as trackers and have their state cleared if they don't
    receive a user interaction. Note that in this context 'site' means eTLD+1.
    For example, if the URL ``https://example.test:80/bounce`` was in the
    redirect chain, the site reported would be ``example.test``.
    typing.List[str]tracking_sitesc                ^    t               }| j                  D cg c]  }| c}|d<   |S c c}w )NtrackingSites)r   r  r   s      r   r   z"BounceTrackingIssueDetails.to_jsonS  s/    v,0,?,? @q @_ !A   	*c                R     | |d   D cg c]  }t        |       c}      S c c}w )Nr  )r  r   r   s      r   r   z$BounceTrackingIssueDetails.from_jsonX  s)    ,0,ABqCFB
 	
B   $Nr   r&   r   r   r  r  H  s(     %$
 
 
r   r  c                  2    e Zd ZU dZded<   d Zed        Zy)%CookieDeprecationMetadataIssueDetailsaa  
    This issue warns about third-party sites that are accessing cookies on the
    current page, and have been permitted due to having a global metadata grant.
    Note that in this context 'site' means eTLD+1. For example, if the URL
    ``https://example.test:80/web_page`` was accessing cookies, the site reported
    would be ``example.test``.
    r  allowed_sitesc                ^    t               }| j                  D cg c]  }| c}|d<   |S c c}w )NallowedSites)r   r  r   s      r   r   z-CookieDeprecationMetadataIssueDetails.to_jsonj  s.    v+/+=+=>a>^  ?r  c                R     | |d   D cg c]  }t        |       c}      S c c}w )Nr  )r  r   r   s      r   r   z/CookieDeprecationMetadataIssueDetails.from_jsono  s)    +/+?@a3q6@
 	
@r  Nr   r&   r   r   r  r  _  s(     $#
 
 
r   r  c                  *    e Zd ZdZdZd Zed        Zy)ClientHintIssueReasonMetaTagAllowListInvalidOriginMetaTagModifiedHTMLc                    | j                   S rE   rF   rH   s    r   r   zClientHintIssueReason.to_jsonz  rI   r   c                     | |      S rE   r&   r   s     r   r   zClientHintIssueReason.from_json}  rK   r   N)r    r!   r"   "META_TAG_ALLOW_LIST_INVALID_ORIGINMETA_TAG_MODIFIED_HTMLr   r%   r   r&   r   r   r  r  v  s'    )H&2  r   r  c                  .    e Zd ZU ded<   d Zed        Zy) FederatedAuthRequestIssueDetailsFederatedAuthRequestIssueReason#federated_auth_request_issue_reasonc                T    t               }| j                  j                         |d<   |S )NfederatedAuthRequestIssueReason)r   r  r   r   s     r   r   z(FederatedAuthRequestIssueDetails.to_json  s(    v262Z2Z2b2b2d./r   c                @     | t         j                  |d               S )Nr  )r  )r  r   r   s     r   r   z*FederatedAuthRequestIssueDetails.from_json  s/    0O0Y0YZ^  `A  [B  1C
 	
r   Nr  r&   r   r   r  r    s!    )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dZdZ dZ!d Z"d!Z#d"Z$d#Z%d$Z&d%Z'd&Z(d'Z)d( Z*e+d)        Z,y*)+r  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WellKnownListEmptyWellKnownInvalidContentTypeConfigNotInWellKnownWellKnownTooBigConfigHttpNotFoundConfigNoResponseConfigInvalidResponseConfigInvalidContentTypeClientMetadataHttpNotFoundClientMetadataNoResponseClientMetadataInvalidResponse ClientMetadataInvalidContentTypeDisabledInSettingsErrorFetchingSigninInvalidSigninResponseAccountsHttpNotFoundAccountsNoResponseAccountsInvalidResponseAccountsListEmptyAccountsInvalidContentTypeIdTokenHttpNotFoundIdTokenNoResponseIdTokenInvalidResponseIdTokenIdpErrorResponse IdTokenCrossSiteIdpErrorResponseIdTokenInvalidRequestIdTokenInvalidContentTypeErrorIdTokenCanceledRpPageNotVisibleSilentMediationFailureThirdPartyCookiesBlockedNotSignedInWithIdpc                    | j                   S rE   rF   rH   s    r   r   z'FederatedAuthRequestIssueReason.to_json  rI   r   c                     | |      S rE   r&   r   s     r   r   z)FederatedAuthRequestIssueReason.from_json  rK   r   N)-r    r!   r"   r#   SHOULD_EMBARGOTOO_MANY_REQUESTSWELL_KNOWN_HTTP_NOT_FOUNDWELL_KNOWN_NO_RESPONSEWELL_KNOWN_INVALID_RESPONSEWELL_KNOWN_LIST_EMPTYWELL_KNOWN_INVALID_CONTENT_TYPECONFIG_NOT_IN_WELL_KNOWNWELL_KNOWN_TOO_BIGCONFIG_HTTP_NOT_FOUNDCONFIG_NO_RESPONSECONFIG_INVALID_RESPONSECONFIG_INVALID_CONTENT_TYPECLIENT_METADATA_HTTP_NOT_FOUNDCLIENT_METADATA_NO_RESPONSE CLIENT_METADATA_INVALID_RESPONSE$CLIENT_METADATA_INVALID_CONTENT_TYPEDISABLED_IN_SETTINGSERROR_FETCHING_SIGNININVALID_SIGNIN_RESPONSEACCOUNTS_HTTP_NOT_FOUNDACCOUNTS_NO_RESPONSEACCOUNTS_INVALID_RESPONSEACCOUNTS_LIST_EMPTYACCOUNTS_INVALID_CONTENT_TYPEID_TOKEN_HTTP_NOT_FOUNDID_TOKEN_NO_RESPONSEID_TOKEN_INVALID_RESPONSEID_TOKEN_IDP_ERROR_RESPONSE&ID_TOKEN_CROSS_SITE_IDP_ERROR_RESPONSEID_TOKEN_INVALID_REQUESTID_TOKEN_INVALID_CONTENT_TYPEERROR_ID_TOKENCANCELEDRP_PAGE_NOT_VISIBLESILENT_MEDIATION_FAILURETHIRD_PARTY_COOKIES_BLOCKEDNOT_SIGNED_IN_WITH_IDPr   r%   r   r&   r   r   r  r    s    %N) 72"<0&C#5*0+5"<%A""<'F$+M(/154/ 9-$@!3. 8";-O*6$?!#NH,7"<1  r   r  c                  .    e Zd ZU ded<   d Zed        Zy)(FederatedAuthUserInfoRequestIssueDetails'FederatedAuthUserInfoRequestIssueReason-federated_auth_user_info_request_issue_reasonc                T    t               }| j                  j                         |d<   |S )N'federatedAuthUserInfoRequestIssueReason)r   rH  r   r   s     r   r   z0FederatedAuthUserInfoRequestIssueDetails.to_json  s(    v:>:l:l:t:t:v67r   c                @     | t         j                  |d               S )NrJ  )rH  )rG  r   r   s     r   r   z2FederatedAuthUserInfoRequestIssueDetails.from_json  s/    :a:k:klp  r[  m\  ;]
 	
r   Nr  r&   r   r   rF  rF    s!    3ZZ
 
 
r   rF  c                  J    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y)rG  z
    Represents the failure reason when a getUserInfo() call fails.
    Should be updated alongside FederatedAuthUserInfoRequestResult in
    third_party/blink/public/mojom/devtools/inspector_issue.mojom.
    NotSameOrigin	NotIframeNotPotentiallyTrustworthyNoApiPermissionr  NoAccountSharingPermissionInvalidConfigOrWellKnownInvalidAccountsResponse"NoReturningUserFromFetchedAccountsc                    | j                   S rE   rF   rH   s    r   r   z/FederatedAuthUserInfoRequestIssueReason.to_json  rI   r   c                     | |      S rE   r&   r   s     r   r   z1FederatedAuthUserInfoRequestIssueReason.from_json  rK   r   N)r    r!   r"   r#   NOT_SAME_ORIGIN
NOT_IFRAMENOT_POTENTIALLY_TRUSTWORTHYNO_API_PERMISSIONrD  NO_ACCOUNT_SHARING_PERMISSIONINVALID_CONFIG_OR_WELL_KNOWNINVALID_ACCOUNTS_RESPONSE'NO_RETURNING_USER_FROM_FETCHED_ACCOUNTSr   r%   r   r&   r   r   rG  rG    sV    
 &OJ"=)1$@!#=  9.R+  r   rG  c                  <    e Zd ZU dZded<   ded<   d Zed        Zy)	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"  r6  r  client_hint_issue_reasonc                    t               }| j                  j                         |d<   | j                  j                         |d<   |S )Nr?  clientHintIssueReason)r   r6  r   ra  r   s     r   r   zClientHintIssueDetails.to_json  sB    v%)%>%>%F%F%H!"(,(E(E(M(M(O$%r   c                n     | t         j                  |d         t        j                  |d               S )Nr?  rc  )r6  ra  )r"  r   r  r   s     r   r   z ClientHintIssueDetails.from_json   s7    !3!=!=dCW>X!Y%:%D%DTJaEb%c
 	
r   Nr   r&   r   r   r`  r`    s.     -,33 
 
r   r`  c                  F    e Zd ZU ded<   ded<   dZded<   d Zed        Zy)	FailedRequestInfor   r,   failure_messageNz"typing.Optional[network.RequestId]r*   c                    t               }| j                  |d<   | j                  |d<   | j                  | j                  j	                         |d<   |S )Nr,   failureMessager.   )r   r,   rg  r*   r   r   s     r   r   zFailedRequestInfo.to_json  sM    vhhU!%!5!5??& $ 7 7 9Dr   c                     | t        |d         t        |d         d|v r't        j                  j                  |d               S d       S )Nr,   ri  r.   )r,   rg  r*   )r   r	   r0   r   r   s     r   r   zFailedRequestInfo.from_json  s[    DK %5 67ITX\I\w((2243DE
 	
 cg
 	
r   )r    r!   r"   r$   r*   r   r%   r   r&   r   r   rf  rf    s5     
H 59J29 
 
r   rf  c                  *    e Zd ZdZdZd Zed        Zy)StyleSheetLoadingIssueReasonLateImportRuleRequestFailedc                    | j                   S rE   rF   rH   s    r   r   z$StyleSheetLoadingIssueReason.to_json'  rI   r   c                     | |      S rE   r&   r   s     r   r   z&StyleSheetLoadingIssueReason.from_json*  rK   r   N)r    r!   r"   LATE_IMPORT_RULEREQUEST_FAILEDr   r%   r   r&   r   r   rl  rl  #  s&    '$N  r   rl  c                  J    e Zd ZU dZded<   ded<   dZded<   d	 Zed
        Zy)StylesheetLoadingIssueDetailszK
    This issue warns when a referenced stylesheet couldn't be loaded.
    r"  r6  rl   style_sheet_loading_issue_reasonNz"typing.Optional[FailedRequestInfo]failed_request_infoc                    t               }| j                  j                         |d<   | j                  j                         |d<   | j                  | j                  j                         |d<   |S )Nr?  styleSheetLoadingIssueReasonfailedRequestInfo)r   r6  r   ru  rv  r   s     r   r   z%StylesheetLoadingIssueDetails.to_json=  sh    v%)%>%>%F%F%H!"/3/T/T/\/\/^+,##/(,(@(@(H(H(JD$%r   c                     | t         j                  |d         t        j                  |d         d|v rt        j                  |d               S d       S )Nr?  rx  ry  )r6  ru  rv  )r"  r   rl  rf  r   s     r   r   z'StylesheetLoadingIssueDetails.from_jsonE  sf    !3!=!=dCW>X!Y-I-S-STXYwTx-yZmquZu 1 ; ;DAT<U V
 	
 |@
 	
r   )	r    r!   r"   r#   r$   rv  r   r%   r   r&   r   r   rt  rt  /  s@     -, 'CB ?C;B 
 
r   rt  c                  2    e Zd ZdZdZdZdZd Zed        Z	y)PropertyRuleIssueReasonInvalidSyntaxInvalidInitialValueInvalidInheritsInvalidNamec                    | j                   S rE   rF   rH   s    r   r   zPropertyRuleIssueReason.to_jsonT  rI   r   c                     | |      S rE   r&   r   s     r   r   z!PropertyRuleIssueReason.from_jsonW  rK   r   N)
r    r!   r"   INVALID_SYNTAXINVALID_INITIAL_VALUEINVALID_INHERITSINVALID_NAMEr   r%   r   r&   r   r   r|  r|  N  s1    $N1( L  r   r|  c                  J    e Zd ZU dZded<   ded<   dZded<   d	 Zed
        Zy)PropertyRuleIssueDetailszp
    This issue warns about errors in property rules that lead to property
    registrations being ignored.
    r"  r6  r|  property_rule_issue_reasonNr+   property_valuec                    t               }| j                  j                         |d<   | j                  j                         |d<   | j                  | j                  |d<   |S )Nr?  propertyRuleIssueReasonpropertyValue)r   r6  r   r  r  r   s     r   r   z PropertyRuleIssueDetails.to_jsonk  s^    v%)%>%>%F%F%H!"*.*I*I*Q*Q*S&'*$($7$7D!r   c                     | t         j                  |d         t        j                  |d         d|v rt        |d               S d       S )Nr?  r  r  )r6  r  r  )r"  r   r|  r   r   s     r   r   z"PropertyRuleIssueDetails.from_jsons  s\    !3!=!=dCW>X!Y'>'H'HNgIh'i9HD9P3tO45
 	
 W[
 	
r   )	r    r!   r"   r#   r$   r  r   r%   r   r&   r   r   r  r  \  s=    
 -, !87 ,0N(/ 
 
r   r  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dZdZdZdZdZdZdZdZdZd Zed        Zy)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LowTextContrastIssue	CorsIssueAttributionReportingIssueQuirksModeIssueNavigatorUserAgentIssueGenericIssueDeprecationIssueClientHintIssueFederatedAuthRequestIssueBounceTrackingIssueCookieDeprecationMetadataIssueStylesheetLoadingIssue!FederatedAuthUserInfoRequestIssuePropertyRuleIssuec                    | j                   S rE   rF   rH   s    r   r   zInspectorIssueCode.to_json  rI   r   c                     | |      S rE   r&   r   s     r   r   zInspectorIssueCode.from_json  rK   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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_ISSUEBOUNCE_TRACKING_ISSUE!COOKIE_DEPRECATION_METADATA_ISSUESTYLESHEET_LOADING_ISSUE&FEDERATED_AUTH_USER_INFO_REQUEST_ISSUEPROPERTY_RULE_ISSUEr   r%   r   r&   r   r   r  r  |  s    
 !L- 8#N$@! 84J"=)!:"M*)#> 1(H%7-P*-  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d#ed$<   dZd%ed&<   dZd'ed(<   dZd)ed*<   d+ Zed,        Zy)-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[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_detailsz+typing.Optional[BounceTrackingIssueDetails]bounce_tracking_issue_detailsz6typing.Optional[CookieDeprecationMetadataIssueDetails])cookie_deprecation_metadata_issue_detailsz.typing.Optional[StylesheetLoadingIssueDetails] stylesheet_loading_issue_detailsz)typing.Optional[PropertyRuleIssueDetails]property_rule_issue_detailsz9typing.Optional[FederatedAuthUserInfoRequestIssueDetails].federated_auth_user_info_request_issue_detailsc                   t               }| j                  | j                  j                         |d<   | j                  | j                  j                         |d<   | j                  | j                  j                         |d<   | j
                  | j
                  j                         |d<   | j                  | j                  j                         |d<   | j                  | j                  j                         |d<   | j                  | j                  j                         |d<   | j                  | j                  j                         |d<   | j                  | j                  j                         |d	<   | j                  | j                  j                         |d
<   | j                  | j                  j                         |d<   | j                  | j                  j                         |d<   | j                  | j                  j                         |d<   | j                  | j                  j                         |d<   | j                   | j                   j                         |d<   | j"                  | j"                  j                         |d<   | j$                  | j$                  j                         |d<   | j&                  | j&                  j                         |d<   | j(                  | j(                  j                         |d<   | j*                  | j*                  j                         |d<   |S )NcookieIssueDetailsmixedContentIssueDetailsblockedByResponseIssueDetailsheavyAdIssueDetails!contentSecurityPolicyIssueDetailssharedArrayBufferIssueDetailslowTextContrastIssueDetailscorsIssueDetails attributionReportingIssueDetailsquirksModeIssueDetailsnavigatorUserAgentIssueDetailsgenericIssueDetailsdeprecationIssueDetailsclientHintIssueDetails federatedAuthRequestIssueDetailsbounceTrackingIssueDetails%cookieDeprecationMetadataIssueDetailsstylesheetLoadingIssueDetailspropertyRuleIssueDetails(federatedAuthUserInfoRequestIssueDetails)r   r  r   r  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_json  s   v$$0)-)B)B)J)J)LD%&++7/3/O/O/W/W/YD+,11=484Z4Z4b4b4dD01&&2*.*E*E*M*M*OD&'55A8<8b8b8j8j8lD4511=484Z4Z4b4b4dD01//;262V2V2^2^2`D./"".'+'>'>'F'F'HD#$33?7;7_7_7g7g7iD34))5-1-K-K-S-S-UD)*22>595\5\5d5d5fD12%%1*.*D*D*L*L*ND&'))5.2.L.L.T.T.VD*+))5-1-K-K-S-S-UD)*44@7;7`7`7h7h7jD34--9151S1S1[1[1]D-.99E<@<j<j<r<r<tD8900<484Y4Y4a4a4cD01++7/3/O/O/W/W/YD+,>>J?C?r?r?z?z?|D;<r   c           	         | d)i dd|v rt         j                  |d         nd dd|v rt        j                  |d         nd dd|v rt        j                  |d         nd dd|v rt        j                  |d         nd d	d
|v rt
        j                  |d
         nd dd|v rt        j                  |d         nd dd|v rt        j                  |d         nd dd|v rt        j                  |d         nd dd|v rt        j                  |d         nd dd|v rt        j                  |d         nd dd|v rt        j                  |d         nd dd|v rt        j                  |d         nd dd|v rt        j                  |d         nd dd|v rt        j                  |d         nd dd|v rt        j                  |d         nd dd |v rt         j                  |d          nd d!d"|v rt"        j                  |d"         nd d#d$|v rt$        j                  |d$         nd d%d&|v rt&        j                  |d&         nd d'd(|v rt(        j                  |d(         S 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  r  r  r  r  r  r  r  r&   )rz   r   r   r   r  r.  rL  rT  rf  r  r  r  r  r  r`  r  r  r  rt  r  rF  r   s     r   r   zInspectorIssueDetails.from_json  si    
]quy]y!3!=!=dCW>X!Y  @D
 qK  OS  qS(@(J(J4PjKk(l  Y]
 A`  dh  Ah.K.U.UVZ[zV{.|  nr
 bwz~a~#6#@#@F[A\#]  EI	

 Mp  tx  Mx2S2]2]^b  dG  _H  3I  ~B
 A`  dh  Ah.K.U.UVZ[zV{.|  nr
 {X  \`  {`,G,Q,QRVWtRu,v  fj
 XjmqWq/99$?Q:RSw{
 Ik  os  Is0P0Z0Z[_  aC  \D  1E  y}
 kC  GK  kK&<&F&FtLdGe&f  QU
 Dd  hl  Dl/M/W/WX\]}X~/  rv
 avy}`}"5"?"?EZ@["\  DH
 mF  JN  mN&=&G&GMfHg&h  TX
 kC  GK  kK&<&F&FtLdGe&f  QU
 Jl  pt  Jt1Q1[1[\`  bD  ]E  2F  z~
  wS  W[  w[*D*N*NtTpOq*r  ae!
" Y@  DH  YH6[6e6efj  lS  gT  7U  NR#
$ @_  cg  @g-J-T-TUYZyUz-{  mq%
& qK  OS  qS(@(J(J4PjKk(l  Y]'
( dN  RV  dV;c;m;mnr  t^  o_  <`)
 	
( \`)
 	
r   )r    r!   r"   r#   r  r$   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r%   r   r&   r   r   r  r    s   
 AE=DMQ!JQX\%'U\CG@G`d)+]dX\%'U\TX#%QX<@9@]a')ZaIMFMZ^&(W^BF?FJNGNIMFM^b(*[bQU!#NUhl-/elW[$&T[MQ!JQpt24mt*X 
 
r   r  c                  <     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.
    c                    | S rE   r&   rH   s    r   r   zIssueId.to_json  s    r   c                     | |      S rE   r&   r   s     r   r   zIssueId.from_json  rK   r   c                >    dj                  t        | 	               S )NzIssueId({}))formatsuper__repr__)r   	__class__s    r   r  zIssueId.__repr__   s    ##EG$4$677r   )returnr   )r   r   r  r  )	r    r!   r"   r#   r   r%   r   r  __classcell__)r  s   @r   r  r    s+      8 8r   r  c                  J    e Zd ZU dZded<   ded<   dZded<   d	 Zed
        Zy)InspectorIssuez8
    An inspector issue reported from the back-end.
    r  coder  detailsNztyping.Optional[IssueId]issue_idc                    t               }| j                  j                         |d<   | j                  j                         |d<   | j                  | j                  j                         |d<   |S )Nr  r  issueId)r   r  r   r  r  r   s     r   r   zInspectorIssue.to_json1  sZ    vyy((*V,,..0Y==$"mm335DOr   c                     | t         j                  |d         t        j                  |d         d|v rt        j                  |d               S d       S )Nr  r  r  )r  r  r  )r  r   r  r  r   s     r   r   zInspectorIssue.from_json9  s]    #--d6l;)33DOD;D;LW&&tI7
 	
 SW
 	
r   )	r    r!   r"   r#   r$   r  r   r%   r   r&   r   r   r  r  $  s;     "" *.H&- 
 
r   r  c              #     K   t               }| j                         |d<   ||d<   |||d<   |||d<   d|d}|}d|v rt        |d         ndt        |d	         t        |d
         fS w)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.   encodingNqualitysizeOnlyzAudits.getEncodedResponsemethodparamsbodyoriginalSizeencodedSize)r   r   r   r#  )r*   r  r  	size_onlyr   cmd_dictr   s          r   get_encoded_responser  B  s     ( &F$,,.F;!F:#y&z-H >D#t^DLD !D  s   A)A+c               #     K   ddi} | }yw)z\
    Disables issues domain, prevents further issues from being reported to the client.
    r  zAudits.disableNr&   r  r   s     r   disabler	  i  s     
 	"H >D   
c               #     K   ddi} | }yw)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  s      	/H >Dr
  c              #  @   K   t               }| | |d<   d|d}|}yw)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   )
report_aaar   r  r   s       r   check_contrastr  ~  s5      &F({(H >Ds   c               #  p   K   ddi} | }|d   D cg c]  }t         j                  |       c}S c c}w w)z
    Runs the form issues check for the target page. Found issues are reported
    using Audits.issueAdded event.

    :returns: 
    r  zAudits.checkFormsIssues
formIssues)r  r   )r  r   r   s      r   check_forms_issuesr    sC      	+H >D6:<6HI))!,IIIs   616zAudits.issueAddedc                  *    e Zd ZU ded<   edd       Zy)
IssueAddedr  issuec                @     | t         j                  |d               S )Nr  )r  )r  r   r   s     r   r   zIssueAdded.from_json  s!     **4=9
 	
r   N)r   r   r  r  )r    r!   r"   r$   r%   r   r&   r   r   r  r    s     
 
r   r  )NN)
r*   r)   r  r   r  ztyping.Optional[float]r  typing.Optional[bool]r  zXtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[typing.Optional[str], int, int]])r  0typing.Generator[T_JSON_DICT, T_JSON_DICT, None]rE   )r  r  r  r  )r  zLtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[GenericIssueDetails]])D
__future__r   utilr   r   dataclassesr   enumtyping r   r	   r
   r   r   r(   r2   Enumr:   rV   rr   rz   r   r   r   r   r   r   r  r  r  r"  r.  rD  rL  rT  rf  rv  r  r  r  r  r  r  r  r  r  r  r  rF  rG  r`  rf  rl  rt  r|  r  r  r  r   r  r  r  r	  r  r  r  r  r&   r   r   <module>r!     s   # * !       
 
 
6 
 
 
0 
 
 
$DII &$)) ,	dii 	 8
 8
 8
v
499 
$tyy $N -
 -
 -
`dii & 
 
 
D	dii 	
DII 
 
 
 
4   
 
 
8 *
 *
 *
Z	 	 
 
 
6 $
 $
 $
N ,
 ,
 ,
^DII 2 
 
 
D "
 "
 "
J 
 
 
(DII , $
 $
 $
N 
 
 
: 
 
 
, 
 
 
,	DII 	 
 
 
3dii 3l 
 
 
dii 0 
 
 
. 
 
 
4	499 	 
 
 
<dii  
 
 
>   F q
 q
 q
h8c 8  
 
 
@ +/+/	$%$$ ($ )	$
 
`$N -1)	7&J  !

 
  "
r   