o
    M,h                    @  s  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 dZeG dd dZeG dd dZG dd dejZG dd dejZG dd dejZG dd dejZeG dd dZeG dd dZG dd dejZG dd dejZeG d d! d!ZG d"d# d#ejZeG d$d% d%ZG d&d' d'ejZG d(d) d)ejZeG d*d+ d+ZG d,d- d-ejZ eG d.d/ d/Z!eG d0d1 d1Z"G d2d3 d3ejZ#eG d4d5 d5Z$eG d6d7 d7Z%eG d8d9 d9Z&G d:d; d;ejZ'G d<d= d=ejZ(G d>d? d?ejZ)G d@dA dAejZ*eG dBdC dCZ+eG dDdE dEZ,eG dFdG dGZ-eG dHdI dIZ.eG dJdK dKZ/eG dLdM dMZ0G dNdO dOejZ1eG dPdQ dQZ2eG dRdS dSZ3eG dTdU dUZ4eG dVdW dWZ5G dXdY dYejZ6eG dZd[ d[Z7G d\d] d]ejZ8eG d^d_ d_Z9G d`da daejZ:eG dbdc dcZ;eG ddde deZ<G dfdg dgejZ=eG dhdi diZ>G djdk dkejZ?eG dldm dmZ@G dndo doejZAeG dpdq dqZBG drds dsejZCeG dtdu duZDG dvdw dwejZEeG dxdy dyZFG dzd{ d{ejZGeG d|d} d}ZHG d~d deIZJeG dd dZK		ddddZLdddZMdddZN	ddddZOdddZPedeG dd dZQdS )    )annotations   )event_classT_JSON_DICT)	dataclassN)dom)network)page)runtimec                   @  s>   e Zd ZU dZded< ded< ded< dd Zedd	 Zd
S )AffectedCookiezL
    Information about a cookie that is affected by an inspector issue.
    strnamepathdomainc                 C  s(   t  }| j|d< | j|d< | j|d< |S )Nr   r   r   )dictr   r   r   selfjson r   z/var/www/www-root/data/www/bot.pdev.uz/venv/lib/python3.10/site-packages/selenium/webdriver/common/devtools/v141/audits.pyto_json   s
   


zAffectedCookie.to_jsonc                 C  s&   | t |d t |d t |d dS )Nr   r   r   )r   r   r   r   clsr   r   r   r   	from_json%   s
   


zAffectedCookie.from_jsonN__name__
__module____qualname____doc____annotations__r   classmethodr   r   r   r   r   r         
 r   c                   @  :   e Zd ZU dZded< dZded< dd Zed	d
 ZdS )AffectedRequestzM
    Information about a request that is affected by an inspector issue.
    r   urlN"typing.Optional[network.RequestId]
request_idc                 C  ,   t  }| j|d< | jd ur| j |d< |S )Nr%   	requestId)r   r%   r'   r   r   r   r   r   r   8   
   

zAffectedRequest.to_jsonc                 C  s0   | t |d d|v rtj|d dS d dS )Nr%   r)   )r%   r'   r   r   	RequestIdr   r   r   r   r   r   ?   s   
zAffectedRequest.from_json)	r   r   r   r   r    r'   r   r!   r   r   r   r   r   r$   .      
 r$   c                   @  .   e Zd ZU dZded< dd Zedd ZdS )	AffectedFramezE
    Information about the frame affected by an inspector issue.
    page.FrameIdframe_idc                 C     t  }| j |d< |S )NframeId)r   r1   r   r   r   r   r   r   N      zAffectedFrame.to_jsonc                 C  s   | t j|d dS )Nr3   )r1   )r	   FrameIdr   r   r   r   r   r   S   s   zAffectedFrame.from_jsonNr   r   r   r   r   r/   G   s   
 r/   c                   @  L   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d Zedd ZdS )CookieExclusionReason&ExcludeSameSiteUnspecifiedTreatedAsLaxExcludeSameSiteNoneInsecureExcludeSameSiteLaxExcludeSameSiteStrictExcludeInvalidSameParty!ExcludeSamePartyCrossPartyContextExcludeDomainNonASCII-ExcludeThirdPartyCookieBlockedInFirstPartySetExcludeThirdPartyPhaseoutExcludePortMismatchExcludeSchemeMismatchc                 C     | j S Nvaluer   r   r   r   r   g      zCookieExclusionReason.to_jsonc                 C     | |S rD   r   r   r   r   r   r   j      zCookieExclusionReason.from_jsonN)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_PHASEOUTEXCLUDE_PORT_MISMATCHEXCLUDE_SCHEME_MISMATCHr   r!   r   r   r   r   r   r7   Z       r7   c                   @  sX   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d Zedd ZdS )CookieWarningReason'WarnSameSiteUnspecifiedCrossSiteContextWarnSameSiteNoneInsecure%WarnSameSiteUnspecifiedLaxAllowUnsafe$WarnSameSiteStrictLaxDowngradeStrict&WarnSameSiteStrictCrossDowngradeStrict#WarnSameSiteStrictCrossDowngradeLax#WarnSameSiteLaxCrossDowngradeStrict WarnSameSiteLaxCrossDowngradeLax WarnAttributeValueExceedsMaxSizeWarnDomainNonASCIIWarnThirdPartyPhaseout.WarnCrossSiteRedirectDowngradeChangesInclusionWarnDeprecationTrialMetadataWarnThirdPartyCookieHeuristicc                 C  rC   rD   rE   rG   r   r   r   r      rH   zCookieWarningReason.to_jsonc                 C  rI   rD   r   r   r   r   r   r      rJ   zCookieWarningReason.from_jsonN)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_INCLUSIONWARN_DEPRECATION_TRIAL_METADATA!WARN_THIRD_PARTY_COOKIE_HEURISTICr   r!   r   r   r   r   r   rW   o   s$    rW   c                   @  (   e Zd ZdZdZdd Zedd ZdS )CookieOperation	SetCookie
ReadCookiec                 C  rC   rD   rE   rG   r   r   r   r      rH   zCookieOperation.to_jsonc                 C  rI   rD   r   r   r   r   r   r      rJ   zCookieOperation.from_jsonN)r   r   r   
SET_COOKIEREAD_COOKIEr   r!   r   r   r   r   r   ru          ru   c                   @  0   e Zd ZdZdZdZdZdd Zedd Z	d	S )
InsightTypezM
    Represents the category of insight that a cookie issue falls under.
    GitHubResourceGracePeriod
Heuristicsc                 C  rC   rD   rE   rG   r   r   r   r      rH   zInsightType.to_jsonc                 C  rI   rD   r   r   r   r   r   r      rJ   zInsightType.from_jsonN)
r   r   r   r   GIT_HUB_RESOURCEGRACE_PERIOD
HEURISTICSr   r!   r   r   r   r   r   r|      s    r|   c                   @  r#   )CookieIssueInsightzE
    Information about the suggested solution to a cookie issue.
    r|   type_Ntyping.Optional[str]table_entry_urlc                 C  s,   t  }| j |d< | jd ur| j|d< |S )NtypetableEntryUrl)r   r   r   r   r   r   r   r   r      s
   

zCookieIssueInsight.to_jsonc                 C  s.   | t |d d|v rt|d dS d dS )Nr   r   )r   r   )r|   r   r   r   r   r   r   r      s   zCookieIssueInsight.from_json)	r   r   r   r   r    r   r   r!   r   r   r   r   r   r      r-   r   c                   @  s   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
ded< dd Zed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_reasonsru   	operationNztyping.Optional[AffectedCookie]cookier   raw_cookie_linesite_for_cookies
cookie_url typing.Optional[AffectedRequest]requestz#typing.Optional[CookieIssueInsight]insightc                 C  s   t  }dd | jD |d< dd | jD |d< | j |d< | jd ur*| j |d< | jd ur4| j|d< | jd ur>| j|d	< | jd urH| j|d
< | j	d urT| j	 |d< | j
d ur`| j
 |d< |S )Nc                 S     g | ]}|  qS r   r   .0ir   r   r   
<listcomp>       z.CookieIssueDetails.to_json.<locals>.<listcomp>cookieWarningReasonsc                 S  r   r   r   r   r   r   r   r      r   cookieExclusionReasonsr   r   rawCookieLinesiteForCookies	cookieUrlr   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r      s"   








zCookieIssueDetails.to_jsonc                 C  s   | dd |d D dd |d D t |d d|v r"t|d nd d|v r-t|d nd d	|v r8t|d	 nd d
|v rCt|d
 nd d|v rOt|d nd d|v r]t|d d	S d d	S )Nc                 S     g | ]}t |qS r   )rW   r   r   r   r   r   r          z0CookieIssueDetails.from_json.<locals>.<listcomp>r   c                 S  r   r   )r7   r   r   r   r   r   r      r   r   r   r   r   r   r   r   r   )	r   r   r   r   r   r   r   r   r   )ru   r   r   r   r$   r   r   r   r   r   r      s   	zCookieIssueDetails.from_json)r   r   r   r   r    r   r   r   r   r   r   r   r!   r   r   r   r   r   r      s   
 r   c                   @  ,   e Zd ZdZdZdZdd Zedd ZdS )	MixedContentResolutionStatusMixedContentBlocked!MixedContentAutomaticallyUpgradedMixedContentWarningc                 C  rC   rD   rE   rG   r   r   r   r     rH   z$MixedContentResolutionStatus.to_jsonc                 C  rI   rD   r   r   r   r   r   r     rJ   z&MixedContentResolutionStatus.from_jsonN)	r   r   r   MIXED_CONTENT_BLOCKED$MIXED_CONTENT_AUTOMATICALLY_UPGRADEDMIXED_CONTENT_WARNINGr   r!   r   r   r   r   r   r          r   c                   @  s   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d Z e!d d! Z"d"S )#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                 C  rC   rD   rE   rG   r   r   r   r   *  rH   z MixedContentResourceType.to_jsonc                 C  rI   rD   r   r   r   r   r   r   -  rJ   z"MixedContentResourceType.from_jsonN)#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     sB    r   c                   @  s^   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d Zedd Z	dS )MixedContentIssueDetailsr   resolution_statusr   insecure_urlmain_resource_urlNz)typing.Optional[MixedContentResourceType]resource_typer   r   typing.Optional[AffectedFrame]framec                 C  st   t  }| j |d< | j|d< | j|d< | jd ur | j |d< | jd ur,| j |d< | jd ur8| j |d< |S )NresolutionStatusinsecureURLmainResourceURLresourceTyper   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   J  s   




z MixedContentIssueDetails.to_jsonc              
   C  st   | t |d t|d t|d d|v rt|d nd d|v r(t|d nd d|v r6t|d dS d 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   W  s   

z"MixedContentIssueDetails.from_json)
r   r   r   r    r   r   r   r   r!   r   r   r   r   r   r   2  s   
 r   c                   @  sD   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
d Zed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CorpNotSameOrigin1CorpNotSameOriginAfterDefaultedToSameOriginByCoep0CorpNotSameOriginAfterDefaultedToSameOriginByDip7CorpNotSameOriginAfterDefaultedToSameOriginByCoepAndDipCorpNotSameSiteSRIMessageSignatureMismatchc                 C  rC   rD   rE   rG   r   r   r   r   q  rH   zBlockedByResponseReason.to_jsonc                 C  rI   rD   r   r   r   r   r   r   t  rJ   z!BlockedByResponseReason.from_jsonN)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_ORIGIN_AFTER_DEFAULTED_TO_SAME_ORIGIN_BY_DIPCCORP_NOT_SAME_ORIGIN_AFTER_DEFAULTED_TO_SAME_ORIGIN_BY_COEP_AND_DIPCORP_NOT_SAME_SITESRI_MESSAGE_SIGNATURE_MISMATCHr   r!   r   r   r   r   r   r   c  s    r   c                   @  sN   e Zd ZU dZded< ded< dZded< dZded	< d
d Zed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                 C  sV   t  }| j |d< | j |d< | jd ur| j |d< | jd ur)| j |d< |S )Nr   r  parentFrameblockedFrame)r   r   r   r  r  r  r   r   r   r   r     s   

z%BlockedByResponseIssueDetails.to_jsonc                 C  sT   | t |d t|d d|v rt|d nd d|v r&t|d dS d dS )Nr   r  r  r  )r   r  r  r  )r$   r   r   r/   r   r   r   r   r     s   z'BlockedByResponseIssueDetails.from_json)
r   r   r   r   r    r  r  r   r!   r   r   r   r   r   r   y  s   
 
r   c                   @  rt   )HeavyAdResolutionStatusHeavyAdBlockedHeavyAdWarningc                 C  rC   rD   rE   rG   r   r   r   r     rH   zHeavyAdResolutionStatus.to_jsonc                 C  rI   rD   r   r   r   r   r   r     rJ   z!HeavyAdResolutionStatus.from_jsonN)r   r   r   HEAVY_AD_BLOCKEDHEAVY_AD_WARNINGr   r!   r   r   r   r   r   r    rz   r  c                   @  r   )	HeavyAdReasonNetworkTotalLimitCpuTotalLimitCpuPeakLimitc                 C  rC   rD   rE   rG   r   r   r   r     rH   zHeavyAdReason.to_jsonc                 C  rI   rD   r   r   r   r   r   r     rJ   zHeavyAdReason.from_jsonN)	r   r   r   NETWORK_TOTAL_LIMITCPU_TOTAL_LIMITCPU_PEAK_LIMITr   r!   r   r   r   r   r   r    r   r  c                   @  s:   e Zd ZU ded< ded< ded< dd Zed	d
 ZdS )HeavyAdIssueDetailsr  
resolutionr  r  r/   r   c                 C  s4   t  }| j |d< | j |d< | j |d< |S )Nr  r  r   )r   r  r   r  r   r   r   r   r   r     s
   zHeavyAdIssueDetails.to_jsonc                 C  s,   | t |d t|d t|d dS )Nr  r  r   )r  r  r   )r  r   r  r/   r   r   r   r   r     s
   zHeavyAdIssueDetails.from_jsonNr   r   r   r    r   r!   r   r   r   r   r   r    s   
 r  c                   @  s<   e Zd ZdZdZdZdZdZdZdZ	dd	 Z
ed
d ZdS )"ContentSecurityPolicyViolationTypekInlineViolationkEvalViolationkURLViolationkSRIViolationkTrustedTypesSinkViolationkTrustedTypesPolicyViolationkWasmEvalViolationc                 C  rC   rD   rE   rG   r   r   r   r     rH   z*ContentSecurityPolicyViolationType.to_jsonc                 C  rI   rD   r   r   r   r   r   r     rJ   z,ContentSecurityPolicyViolationType.from_jsonN)r   r   r   K_INLINE_VIOLATIONK_EVAL_VIOLATIONK_URL_VIOLATIONK_SRI_VIOLATIONK_TRUSTED_TYPES_SINK_VIOLATION K_TRUSTED_TYPES_POLICY_VIOLATIONK_WASM_EVAL_VIOLATIONr   r!   r   r   r   r   r   r    s    r  c                   @  sF   e Zd ZU ded< ded< ded< dZded< d	d
 Zedd ZdS )SourceCodeLocationr   r%   intline_numbercolumn_numberNz!typing.Optional[runtime.ScriptId]	script_idc                 C  s@   t  }| j|d< | j|d< | j|d< | jd ur| j |d< |S )Nr%   
lineNumbercolumnNumberscriptId)r   r%   r&  r'  r(  r   r   r   r   r   r     s   



zSourceCodeLocation.to_jsonc                 C  sD   | t |d t|d t|d d|v rtj|d dS d dS )Nr%   r)  r*  r+  )r%   r&  r'  r(  )r   r%  r
   ScriptIdr   r   r   r   r   r     s   


zSourceCodeLocation.from_json)r   r   r   r    r(  r   r!   r   r   r   r   r   r$    s   
 	r$  c                   @  sj   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d Ze	d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                 C  s   t  }| j|d< | j|d< | j |d< | jd ur| j|d< | jd ur*| j |d< | jd ur6| j |d< | jd urB| j |d< |S )NviolatedDirectiveisReportOnly"contentSecurityPolicyViolationType
blockedURLframeAncestorsourceCodeLocationviolatingNodeId)	r   r.  r0  r1  r   r2  r3  r5  r7  r   r   r   r   r     s   






z)ContentSecurityPolicyIssueDetails.to_jsonc                 C  s   | t |d t|d t|d d|v rt |d nd d|v r't|d nd d|v r3t|d nd d|v rBtj|d dS d dS )	Nr8  r9  r:  r;  r<  r=  r>  )r.  r0  r1  r2  r3  r5  r7  )r   r/  r  r   r/   r$  r   BackendNodeIdr   r   r   r   r     s   

z+ContentSecurityPolicyIssueDetails.from_json)r   r   r   r    r2  r3  r5  r7  r   r!   r   r   r   r   r   r-    s   
 r-  c                   @  rt   )SharedArrayBufferIssueTypeTransferIssueCreationIssuec                 C  rC   rD   rE   rG   r   r   r   r   0  rH   z"SharedArrayBufferIssueType.to_jsonc                 C  rI   rD   r   r   r   r   r   r   3  rJ   z$SharedArrayBufferIssueType.from_jsonN)r   r   r   TRANSFER_ISSUECREATION_ISSUEr   r!   r   r   r   r   r   r@  ,  rz   r@  c                   @  >   e Zd ZU dZded< ded< ded< dd	 Zed
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$  r5  r/  
is_warningr@  r   c                 C  s0   t  }| j |d< | j|d< | j |d< |S )Nr=  	isWarningr   )r   r5  r   rG  r   r   r   r   r   r   D  s
   
z%SharedArrayBufferIssueDetails.to_jsonc                 C  s*   | t |d t|d t|d dS )Nr=  rH  r   )r5  rG  r   )r$  r   r/  r@  r   r   r   r   r   K  s
   
z'SharedArrayBufferIssueDetails.from_jsonNr   r   r   r   r   rF  8  r"   rF  c                   @  sZ   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d Zedd ZdS )LowTextContrastIssueDetailsdom.BackendNodeIdr7  r   violating_node_selectorfloatcontrast_ratiothreshold_aathreshold_aaa	font_sizefont_weightc                 C  sT   t  }| j |d< | j|d< | j|d< | j|d< | j|d< | j|d< | j|d< |S )Nr>  violatingNodeSelectorcontrastRatiothresholdAAthresholdAAAfontSize
fontWeight)	r   r7  r   rK  rM  rN  rO  rP  rQ  r   r   r   r   r   d  s   





z#LowTextContrastIssueDetails.to_jsonc              
   C  sR   | t j|d t|d t|d t|d t|d t|d t|d dS )	Nr>  rR  rS  rT  rU  rV  rW  )r7  rK  rM  rN  rO  rP  rQ  )r   r?  r   r   rL  r   r   r   r   r   o  s   





z%LowTextContrastIssueDetails.from_jsonNr  r   r   r   r   rI  T  s   
 rI  c                   @  sn   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d Z	e
d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/  rG  r$   r   Nr4  locationr   initiator_originz'typing.Optional[network.IPAddressSpace]resource_ip_address_spacez,typing.Optional[network.ClientSecurityState]client_security_statec                 C  s   t  }| j |d< | j|d< | j |d< | jd ur"| j |d< | jd ur,| j|d< | jd ur8| j |d< | jd urD| j |d< |S )NcorsErrorStatusrH  r   rZ  initiatorOriginresourceIPAddressSpaceclientSecurityState)	r   rY  r   rG  r   rZ  r[  r\  r]  r   r   r   r   r     s   





zCorsIssueDetails.to_jsonc                 C  s   | t j|d t|d t|d d|v rt|d nd d|v r)t|d nd d|v r6t j|d nd d|v rEt j|d dS d dS )	Nr^  rH  r   rZ  r_  r`  ra  )rY  rG  r   rZ  r[  r\  r]  )	r   CorsErrorStatusr   r/  r$   r$  r   IPAddressSpaceClientSecurityStater   r   r   r   r     s   
zCorsIssueDetails.from_json)r   r   r   r   r    rZ  r[  r\  r]  r   r!   r   r   r   r   r   rX  |  s   
 rX  c                   @  t   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d Zedd ZdS )AttributionReportingIssueTypePermissionPolicyDisabledUntrustworthyReportingOriginInsecureContextInvalidHeaderInvalidRegisterTriggerHeaderSourceAndTriggerHeadersSourceIgnoredTriggerIgnoredOsSourceIgnoredOsTriggerIgnoredInvalidRegisterOsSourceHeaderInvalidRegisterOsTriggerHeaderWebAndOsHeadersNoWebOrOsSupport4NavigationRegistrationWithoutTransientUserActivationInvalidInfoHeaderNoRegisterSourceHeaderNoRegisterTriggerHeaderNoRegisterOsSourceHeaderNoRegisterOsTriggerHeader+NavigationRegistrationUniqueScopeAlreadySetc                 C  rC   rD   rE   rG   r   r   r   r     rH   z%AttributionReportingIssueType.to_jsonc                 C  rI   rD   r   r   r   r   r   r     rJ   z'AttributionReportingIssueType.from_jsonN)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_ACTIVATIONINVALID_INFO_HEADERNO_REGISTER_SOURCE_HEADERNO_REGISTER_TRIGGER_HEADERNO_REGISTER_OS_SOURCE_HEADERNO_REGISTER_OS_TRIGGER_HEADER0NAVIGATION_REGISTRATION_UNIQUE_SCOPE_ALREADY_SETr   r!   r   r   r   r   r   rf    2    rf  c                   @  s|   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d Zedd ZdS )SharedDictionaryError UseErrorCrossOriginNoCorsRequestUseErrorDictionaryLoadFailure!UseErrorMatchingDictionaryNotUsed)UseErrorUnexpectedContentDictionaryHeader!WriteErrorCossOriginNoCorsRequestWriteErrorDisallowedBySettingsWriteErrorExpiredResponseWriteErrorFeatureDisabledWriteErrorInsufficientResourcesWriteErrorInvalidMatchField!WriteErrorInvalidStructuredHeaderWriteErrorNavigationRequestWriteErrorNoMatchFieldWriteErrorNonListMatchDestFieldWriteErrorNonSecureContextWriteErrorNonStringIdField"WriteErrorNonStringInMatchDestListWriteErrorNonStringMatchFieldWriteErrorNonTokenTypeFieldWriteErrorRequestAbortedWriteErrorShuttingDownWriteErrorTooLongIdFieldWriteErrorUnsupportedTypec                 C  rC   rD   rE   rG   r   r   r   r     rH   zSharedDictionaryError.to_jsonc                 C  rI   rD   r   r   r   r   r   r     rJ   zSharedDictionaryError.from_jsonN)r   r   r   &USE_ERROR_CROSS_ORIGIN_NO_CORS_REQUEST!USE_ERROR_DICTIONARY_LOAD_FAILURE&USE_ERROR_MATCHING_DICTIONARY_NOT_USED.USE_ERROR_UNEXPECTED_CONTENT_DICTIONARY_HEADER'WRITE_ERROR_COSS_ORIGIN_NO_CORS_REQUEST"WRITE_ERROR_DISALLOWED_BY_SETTINGSWRITE_ERROR_EXPIRED_RESPONSEWRITE_ERROR_FEATURE_DISABLED"WRITE_ERROR_INSUFFICIENT_RESOURCESWRITE_ERROR_INVALID_MATCH_FIELD%WRITE_ERROR_INVALID_STRUCTURED_HEADERWRITE_ERROR_NAVIGATION_REQUESTWRITE_ERROR_NO_MATCH_FIELD%WRITE_ERROR_NON_LIST_MATCH_DEST_FIELDWRITE_ERROR_NON_SECURE_CONTEXTWRITE_ERROR_NON_STRING_ID_FIELD)WRITE_ERROR_NON_STRING_IN_MATCH_DEST_LIST"WRITE_ERROR_NON_STRING_MATCH_FIELD WRITE_ERROR_NON_TOKEN_TYPE_FIELDWRITE_ERROR_REQUEST_ABORTEDWRITE_ERROR_SHUTTING_DOWNWRITE_ERROR_TOO_LONG_ID_FIELDWRITE_ERROR_UNSUPPORTED_TYPEr   r!   r   r   r   r   r   r    s6    r  c                   @  re  )SRIMessageSignatureErrorMissingSignatureHeaderMissingSignatureInputHeaderInvalidSignatureHeaderInvalidSignatureInputHeader%SignatureHeaderValueIsNotByteSequence#SignatureHeaderValueIsParameterized%SignatureHeaderValueIsIncorrectLength SignatureInputHeaderMissingLabel%SignatureInputHeaderValueNotInnerList*SignatureInputHeaderValueMissingComponents(SignatureInputHeaderInvalidComponentType(SignatureInputHeaderInvalidComponentName3SignatureInputHeaderInvalidHeaderComponentParameter4SignatureInputHeaderInvalidDerivedComponentParameterSignatureInputHeaderKeyIdLength$SignatureInputHeaderInvalidParameter-SignatureInputHeaderMissingRequiredParameters ValidationFailedSignatureExpiredValidationFailedInvalidLength!ValidationFailedSignatureMismatch!ValidationFailedIntegrityMismatchc                 C  rC   rD   rE   rG   r   r   r   r     rH   z SRIMessageSignatureError.to_jsonc                 C  rI   rD   r   r   r   r   r   r     rJ   z"SRIMessageSignatureError.from_jsonN)r   r   r   MISSING_SIGNATURE_HEADERMISSING_SIGNATURE_INPUT_HEADERINVALID_SIGNATURE_HEADERINVALID_SIGNATURE_INPUT_HEADER+SIGNATURE_HEADER_VALUE_IS_NOT_BYTE_SEQUENCE'SIGNATURE_HEADER_VALUE_IS_PARAMETERIZED*SIGNATURE_HEADER_VALUE_IS_INCORRECT_LENGTH$SIGNATURE_INPUT_HEADER_MISSING_LABEL+SIGNATURE_INPUT_HEADER_VALUE_NOT_INNER_LIST/SIGNATURE_INPUT_HEADER_VALUE_MISSING_COMPONENTS-SIGNATURE_INPUT_HEADER_INVALID_COMPONENT_TYPE-SIGNATURE_INPUT_HEADER_INVALID_COMPONENT_NAME9SIGNATURE_INPUT_HEADER_INVALID_HEADER_COMPONENT_PARAMETER:SIGNATURE_INPUT_HEADER_INVALID_DERIVED_COMPONENT_PARAMETER$SIGNATURE_INPUT_HEADER_KEY_ID_LENGTH(SIGNATURE_INPUT_HEADER_INVALID_PARAMETER2SIGNATURE_INPUT_HEADER_MISSING_REQUIRED_PARAMETERS#VALIDATION_FAILED_SIGNATURE_EXPIRED VALIDATION_FAILED_INVALID_LENGTH$VALIDATION_FAILED_SIGNATURE_MISMATCH$VALIDATION_FAILED_INTEGRITY_MISMATCHr   r!   r   r   r   r   r   r    r  r  c                   @  r{   )
UnencodedDigestErrorMalformedDictionaryUnknownAlgorithmIncorrectDigestTypeIncorrectDigestLengthc                 C  rC   rD   rE   rG   r   r   r   r     rH   zUnencodedDigestError.to_jsonc                 C  rI   rD   r   r   r   r   r   r     rJ   zUnencodedDigestError.from_jsonN)
r   r   r   MALFORMED_DICTIONARYUNKNOWN_ALGORITHMINCORRECT_DIGEST_TYPEINCORRECT_DIGEST_LENGTHr   r!   r   r   r   r   r   r        r  c                   @  sR   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d Ze	dd Z
dS ) AttributionReportingIssueDetailsz
    Details for issues around "Attribution Reporting API" usage.
    Explainer: https://github.com/WICG/attribution-reporting-api
    rf  violation_typeNr   r   r6  r7  r   invalid_parameterc                 C  s\   t  }| j |d< | jd ur| j |d< | jd ur"| j |d< | jd ur,| j|d< |S )NviolationTyper   r>  invalidParameter)r   r  r   r   r7  r  r   r   r   r   r   '  s   



z(AttributionReportingIssueDetails.to_jsonc                 C  s`   | t |d d|v rt|d nd d|v rtj|d nd d|v r,t|d dS d dS )Nr  r   r>  r  )r  r   r7  r  )rf  r   r$   r   r?  r   r   r   r   r   r   2  s   z*AttributionReportingIssueDetails.from_json)r   r   r   r   r    r   r7  r  r   r!   r   r   r   r   r   r    s   
 r  c                   @  sN   e Zd ZU dZded< ded< ded< ded	< d
ed< dd Zed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_moderJ  document_node_idr   r%   r0   r1   znetwork.LoaderId	loader_idc                 C  sH   t  }| j|d< | j |d< | j|d< | j |d< | j |d< |S )NisLimitedQuirksModedocumentNodeIdr%   r3   loaderId)r   r  r  r   r%   r1   r  r   r   r   r   r   N  s   

zQuirksModeIssueDetails.to_jsonc              	   C  sF   | t |d tj|d t|d tj|d tj|d dS )Nr  r   r%   r3   r  )r  r  r%   r1   r  )	r/  r   r?  r   r   r	   r5   r   LoaderIdr   r   r   r   r   W  s   

z QuirksModeIssueDetails.from_jsonNr   r   r   r   r   r  <  s   
 	r  c                   @  s6   e Zd ZU ded< dZded< dd Zedd	 ZdS )
NavigatorUserAgentIssueDetailsr   r%   Nr4  rZ  c                 C  r(   )Nr%   rZ  )r   r%   rZ  r   r   r   r   r   r   h  r*   z&NavigatorUserAgentIssueDetails.to_jsonc                 C  s.   | t |d d|v rt|d dS d dS )Nr%   rZ  )r%   rZ  )r   r$  r   r   r   r   r   r   o  s   
z(NavigatorUserAgentIssueDetails.from_json)r   r   r   r    rZ  r   r!   r   r   r   r   r   r  b  s   
 r  c                   @  2   e Zd ZU ded< ded< dd Zedd Zd	S )
SharedDictionaryIssueDetailsr  shared_dictionary_errorr$   r   c                 C  &   t  }| j |d< | j |d< |S )NsharedDictionaryErrorr   )r   r  r   r   r   r   r   r   r   }     z$SharedDictionaryIssueDetails.to_jsonc                 C      | t |d t|d dS )Nr  r   )r  r   )r  r   r$   r   r   r   r   r        z&SharedDictionaryIssueDetails.from_jsonNr  r   r   r   r   r  w     
 r  c                   @  sB   e Zd ZU ded< ded< ded< ded< d	d
 Zedd ZdS )SRIMessageSignatureIssueDetailsr  errorr   signature_basetyping.List[str]integrity_assertionsr$   r   c                 C  sD   t  }| j |d< | j|d< dd | jD |d< | j |d< |S )Nr  signatureBasec                 S     g | ]}|qS r   r   r   r   r   r   r         z;SRIMessageSignatureIssueDetails.to_json.<locals>.<listcomp>integrityAssertionsr   )r   r  r   r  r  r   r   r   r   r   r     s   
z'SRIMessageSignatureIssueDetails.to_jsonc                 C  s:   | t |d t|d dd |d D t|d dS )Nr  r  c                 S     g | ]}t |qS r   r   r   r   r   r   r     r   z=SRIMessageSignatureIssueDetails.from_json.<locals>.<listcomp>r  r   )r  r  r  r   )r  r   r   r$   r   r   r   r   r     s   
z)SRIMessageSignatureIssueDetails.from_jsonNr  r   r   r   r   r    s   
 r  c                   @  r  )
UnencodedDigestIssueDetailsr  r  r$   r   c                 C  r  )Nr  r   )r   r  r   r   r   r   r   r   r     r	  z#UnencodedDigestIssueDetails.to_jsonc                 C  r
  )Nr  r   )r  r   )r  r   r$   r   r   r   r   r     r  z%UnencodedDigestIssueDetails.from_jsonNr  r   r   r   r   r    r  r  c                   @  r6   )GenericIssueErrorTypeFormLabelForNameErrorFormDuplicateIdForInputErrorFormInputWithNoLabelError#FormAutocompleteAttributeEmptyError)FormEmptyIdAndNameAttributesForInputError!FormAriaLabelledByToNonExistingId:FormInputAssignedAutocompleteValueToIdOrNameAttributeError$FormLabelHasNeitherForNorNestedInput%FormLabelForMatchesNonExistingIdError6FormInputHasWrongButWellIntendedAutocompleteValueErrorResponseWasBlockedByORBc                 C  rC   rD   rE   rG   r   r   r   r     rH   zGenericIssueErrorType.to_jsonc                 C  rI   rD   r   r   r   r   r   r     rJ   zGenericIssueErrorType.from_jsonN)r   r   r   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    rV   r  c                   @  s^   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d Z	e
dd ZdS )GenericIssueDetailszL
    Depending on the concrete errorType, different properties are set.
    r  
error_typeNztyping.Optional[page.FrameId]r1   r6  r7  r   violating_node_attributer   r   c                 C  st   t  }| j |d< | jd ur| j |d< | jd ur"| j |d< | jd ur,| j|d< | jd ur8| j |d< |S )N	errorTyper3   r>  violatingNodeAttributer   )r   r0  r   r1   r7  r1  r   r   r   r   r   r     s   




zGenericIssueDetails.to_jsonc              	   C  sz   | t |d d|v rtj|d nd d|v r tj|d nd d|v r+t|d nd d|v r9t|d dS d dS )Nr2  r3   r>  r3  r   )r0  r1   r7  r1  r   )r  r   r	   r5   r   r?  r   r$   r   r   r   r   r     s   zGenericIssueDetails.from_json)r   r   r   r   r    r1   r7  r1  r   r   r!   r   r   r   r   r   r/    s   
 r/  c                   @  B   e Zd ZU dZded< ded< dZded< d	d
 Zed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$  r5  r   r   Nr   affected_framec                 C  s:   t  }| j |d< | j|d< | jd ur| j |d< |S )Nr=  r   affectedFrame)r   r5  r   r   r6  r   r   r   r   r     s   

zDeprecationIssueDetails.to_jsonc                 C  s:   | t |d t|d d|v rt|d dS d dS )Nr=  r   r7  )r5  r   r6  )r$  r   r   r/   r   r   r   r   r     s   
z!DeprecationIssueDetails.from_json)	r   r   r   r   r    r6  r   r!   r   r   r   r   r   r5    s   
 r5  c                   @  r.   )	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``.
    r  tracking_sitesc                 C  s   t  }dd | jD |d< |S )Nc                 S  r  r   r   r   r   r   r   r   #  r  z6BounceTrackingIssueDetails.to_json.<locals>.<listcomp>trackingSites)r   r9  r   r   r   r   r   !  s   z"BounceTrackingIssueDetails.to_jsonc                 C  s   | dd |d D dS )Nc                 S  r  r   r   r   r   r   r   r   )  r   z8BounceTrackingIssueDetails.from_json.<locals>.<listcomp>r:  )r9  r   r   r   r   r   r   &  s   z$BounceTrackingIssueDetails.from_jsonNr   r   r   r   r   r8    s   
 r8  c                   @  sF   e Zd ZU dZded< ded< ded< ded	< d
d Zedd ZdS )%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_sitesrL  opt_out_percentager/  is_opt_out_top_levelru   r   c                 C  s@   t  }dd | jD |d< | j|d< | j|d< | j |d< |S )Nc                 S  r  r   r   r   r   r   r   r   @  r  zACookieDeprecationMetadataIssueDetails.to_json.<locals>.<listcomp>allowedSitesoptOutPercentageisOptOutTopLevelr   )r   r<  r=  r>  r   r   r   r   r   r   r   >  s   

z-CookieDeprecationMetadataIssueDetails.to_jsonc                 C  s8   | dd |d D t |d t|d t|d dS )Nc                 S  r  r   r   r   r   r   r   r   I  r   zCCookieDeprecationMetadataIssueDetails.from_json.<locals>.<listcomp>r?  r@  rA  r   )r<  r=  r>  r   )rL  r/  ru   r   r   r   r   r   r   F  s   

z/CookieDeprecationMetadataIssueDetails.from_jsonNr   r   r   r   r   r;  -  s   
 r;  c                   @  rt   )ClientHintIssueReasonMetaTagAllowListInvalidOriginMetaTagModifiedHTMLc                 C  rC   rD   rE   rG   r   r   r   r   T  rH   zClientHintIssueReason.to_jsonc                 C  rI   rD   r   r   r   r   r   r   W  rJ   zClientHintIssueReason.from_jsonN)r   r   r   "META_TAG_ALLOW_LIST_INVALID_ORIGINMETA_TAG_MODIFIED_HTMLr   r!   r   r   r   r   r   rB  P  rz   rB  c                   @  *   e Zd ZU ded< dd Zedd ZdS ) FederatedAuthRequestIssueDetailsFederatedAuthRequestIssueReason#federated_auth_request_issue_reasonc                 C  r2   )NfederatedAuthRequestIssueReason)r   rJ  r   r   r   r   r   r   `  r4   z(FederatedAuthRequestIssueDetails.to_jsonc                 C     | t |d dS )NrK  )rJ  )rI  r   r   r   r   r   r   e     z*FederatedAuthRequestIssueDetails.from_jsonNr  r   r   r   r   rH  \  
   
 rH  c                   @  s   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/Z1d0Z2d1Z3d2d3 Z4e5d4d5 Z6d6S )7rI  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IdpNotPotentiallyTrustworthyDisabledInSettingsDisabledInFlagsErrorFetchingSigninInvalidSigninResponseAccountsHttpNotFoundAccountsNoResponseAccountsInvalidResponseAccountsListEmptyAccountsInvalidContentTypeIdTokenHttpNotFoundIdTokenNoResponseIdTokenInvalidResponseIdTokenIdpErrorResponse IdTokenCrossSiteIdpErrorResponseIdTokenInvalidRequestIdTokenInvalidContentTypeErrorIdTokenCanceledRpPageNotVisibleSilentMediationFailureThirdPartyCookiesBlockedNotSignedInWithIdpMissingTransientUserActivationReplacedByActiveModeInvalidFieldsSpecifiedRelyingPartyOriginIsOpaqueTypeNotMatchingUiDismissedNoEmbargo	CorsError SuppressedBySegmentationPlatformc                 C  rC   rD   rE   rG   r   r   r   r     rH   z'FederatedAuthRequestIssueReason.to_jsonc                 C  rI   rD   r   r   r   r   r   r     rJ   z)FederatedAuthRequestIssueReason.from_jsonN)7r   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IDP_NOT_POTENTIALLY_TRUSTWORTHYDISABLED_IN_SETTINGSDISABLED_IN_FLAGS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_IDP!MISSING_TRANSIENT_USER_ACTIVATIONREPLACED_BY_ACTIVE_MODEINVALID_FIELDS_SPECIFIEDRELYING_PARTY_ORIGIN_IS_OPAQUETYPE_NOT_MATCHINGUI_DISMISSED_NO_EMBARGO
CORS_ERROR#SUPPRESSED_BY_SEGMENTATION_PLATFORMr   r!   r   r   r   r   r   rI  l  sj    rI  c                   @  rG  )(FederatedAuthUserInfoRequestIssueDetails'FederatedAuthUserInfoRequestIssueReason-federated_auth_user_info_request_issue_reasonc                 C  r2   )N'federatedAuthUserInfoRequestIssueReason)r   r  r   r   r   r   r   r     r4   z0FederatedAuthUserInfoRequestIssueDetails.to_jsonc                 C  rL  )Nr  )r  )r  r   r   r   r   r   r     rM  z2FederatedAuthUserInfoRequestIssueDetails.from_jsonNr  r   r   r   r   r    rN  r  c                   @  sH   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d Zedd ZdS )r  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NoApiPermissionrv  NoAccountSharingPermissionInvalidConfigOrWellKnownInvalidAccountsResponse"NoReturningUserFromFetchedAccountsc                 C  rC   rD   rE   rG   r   r   r   r     rH   z/FederatedAuthUserInfoRequestIssueReason.to_jsonc                 C  rI   rD   r   r   r   r   r   r     rJ   z1FederatedAuthUserInfoRequestIssueReason.from_jsonN)r   r   r   r   NOT_SAME_ORIGIN
NOT_IFRAMENOT_POTENTIALLY_TRUSTWORTHYNO_API_PERMISSIONr  NO_ACCOUNT_SHARING_PERMISSIONINVALID_CONFIG_OR_WELL_KNOWNINVALID_ACCOUNTS_RESPONSE'NO_RETURNING_USER_FROM_FETCHED_ACCOUNTSr   r!   r   r   r   r   r   r    s    r  c                   @  s6   e Zd ZU dZded< ded< dd Zed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$  r5  rB  client_hint_issue_reasonc                 C  r  )Nr=  clientHintIssueReason)r   r5  r   r  r   r   r   r   r     r	  zClientHintIssueDetails.to_jsonc                 C  r
  )Nr=  r  )r5  r  )r$  r   rB  r   r   r   r   r     r  z ClientHintIssueDetails.from_jsonNr   r   r   r   r   r    s   
 r  c                   @  s>   e Zd ZU ded< ded< dZded< dd Zed	d
 ZdS )FailedRequestInfor   r%   failure_messageNr&   r'   c                 C  s6   t  }| j|d< | j|d< | jd ur| j |d< |S )Nr%   failureMessager)   )r   r%   r  r'   r   r   r   r   r   r     s   


zFailedRequestInfo.to_jsonc                 C  s:   | t |d t |d d|v rtj|d dS d dS )Nr%   r  r)   )r%   r  r'   r+   r   r   r   r   r     s   

zFailedRequestInfo.from_json)r   r   r   r    r'   r   r!   r   r   r   r   r   r    s   
 r  c                   @  rt   )PartitioningBlobURLInfoBlockedCrossPartitionFetchingEnforceNoopenerForNavigationc                 C  rC   rD   rE   rG   r   r   r   r     rH   zPartitioningBlobURLInfo.to_jsonc                 C  rI   rD   r   r   r   r   r   r     rJ   z!PartitioningBlobURLInfo.from_jsonN)r   r   r    BLOCKED_CROSS_PARTITION_FETCHINGENFORCE_NOOPENER_FOR_NAVIGATIONr   r!   r   r   r   r   r   r    rz   r  c                   @  r  )
PartitioningBlobURLIssueDetailsr   r%   r  partitioning_blob_url_infoc                 C  s"   t  }| j|d< | j |d< |S )Nr%   partitioningBlobURLInfo)r   r%   r  r   r   r   r   r   r     s   
z'PartitioningBlobURLIssueDetails.to_jsonc                 C  s   | t |d t|d dS )Nr%   r  )r%   r  )r   r  r   r   r   r   r   r   !  s   
z)PartitioningBlobURLIssueDetails.from_jsonNr  r   r   r   r   r    s   
 r  c                   @  s8   e Zd ZdZdZdZdZdZdZdd Z	e
d	d
 ZdS )ElementAccessibilityIssueReasonDisallowedSelectChildDisallowedOptGroupChildNonPhrasingContentOptionChildInteractiveContentOptionChildInteractiveContentLegendChild#InteractiveContentSummaryDescendantc                 C  rC   rD   rE   rG   r   r   r   r   1  rH   z'ElementAccessibilityIssueReason.to_jsonc                 C  rI   rD   r   r   r   r   r   r   4  rJ   z)ElementAccessibilityIssueReason.from_jsonN)r   r   r   DISALLOWED_SELECT_CHILDDISALLOWED_OPT_GROUP_CHILD!NON_PHRASING_CONTENT_OPTION_CHILD INTERACTIVE_CONTENT_OPTION_CHILD INTERACTIVE_CONTENT_LEGEND_CHILD&INTERACTIVE_CONTENT_SUMMARY_DESCENDANTr   r!   r   r   r   r   r   r  )  s    r  c                   @  rE  ) ElementAccessibilityIssueDetailszW
    This issue warns about errors in the select or summary element content model.
    rJ  node_idr  "element_accessibility_issue_reasonr/  has_disallowed_attributesc                 C  s0   t  }| j |d< | j |d< | j|d< |S )NnodeIdelementAccessibilityIssueReasonhasDisallowedAttributes)r   r  r   r  r  r   r   r   r   r   D  s
   
z(ElementAccessibilityIssueDetails.to_jsonc                 C  s,   | t j|d t|d t|d dS )Nr  r  r  )r  r  r  )r   r?  r   r  r/  r   r   r   r   r   K  s
   
z*ElementAccessibilityIssueDetails.from_jsonNr   r   r   r   r   r  9  s   
 r  c                   @  rt   )StyleSheetLoadingIssueReasonLateImportRuleRequestFailedc                 C  rC   rD   rE   rG   r   r   r   r   X  rH   z$StyleSheetLoadingIssueReason.to_jsonc                 C  rI   rD   r   r   r   r   r   r   [  rJ   z&StyleSheetLoadingIssueReason.from_jsonN)r   r   r   LATE_IMPORT_RULEREQUEST_FAILEDr   r!   r   r   r   r   r   r  T  rz   r  c                   @  r4  )StylesheetLoadingIssueDetailszK
    This issue warns when a referenced stylesheet couldn't be loaded.
    r$  r5  r   style_sheet_loading_issue_reasonNz"typing.Optional[FailedRequestInfo]failed_request_infoc                 C  >   t  }| j |d< | j |d< | jd ur| j |d< |S )Nr=  styleSheetLoadingIssueReasonfailedRequestInfo)r   r5  r   r  r  r   r   r   r   r   n     
z%StylesheetLoadingIssueDetails.to_jsonc                 C  <   | t |d t|d d|v rt|d dS d dS )Nr=  r  r  )r5  r  r  )r$  r   r  r  r   r   r   r   r   v     z'StylesheetLoadingIssueDetails.from_json)	r   r   r   r   r    r  r   r!   r   r   r   r   r   r  `  s   
 r  c                   @  r{   )
PropertyRuleIssueReasonInvalidSyntaxInvalidInitialValueInvalidInheritsInvalidNamec                 C  rC   rD   rE   rG   r   r   r   r     rH   zPropertyRuleIssueReason.to_jsonc                 C  rI   rD   r   r   r   r   r   r     rJ   z!PropertyRuleIssueReason.from_jsonN)
r   r   r   INVALID_SYNTAXINVALID_INITIAL_VALUEINVALID_INHERITSINVALID_NAMEr   r!   r   r   r   r   r   r    r  r  c                   @  r4  )PropertyRuleIssueDetailszp
    This issue warns about errors in property rules that lead to property
    registrations being ignored.
    r$  r5  r  property_rule_issue_reasonNr   property_valuec                 C  s:   t  }| j |d< | j |d< | jd ur| j|d< |S )Nr=  propertyRuleIssueReasonpropertyValue)r   r5  r   r  r  r   r   r   r   r     s   

z PropertyRuleIssueDetails.to_jsonc                 C  s:   | t |d t|d d|v rt|d dS d dS )Nr=  r  r   )r5  r  r  )r$  r   r  r   r   r   r   r   r     s   z"PropertyRuleIssueDetails.from_json)	r   r   r   r   r    r  r   r!   r   r   r   r   r   r    s   
 r  c                   @  r   )	UserReidentificationIssueTypeBlockedFrameNavigationBlockedSubresourceNoisedCanvasReadbackc                 C  rC   rD   rE   rG   r   r   r   r     rH   z%UserReidentificationIssueType.to_jsonc                 C  rI   rD   r   r   r   r   r   r     rJ   z'UserReidentificationIssueType.from_jsonN)	r   r   r   BLOCKED_FRAME_NAVIGATIONBLOCKED_SUBRESOURCENOISED_CANVAS_READBACKr   r!   r   r   r   r   r   r    r   r  c                   @  sF   e Zd ZU dZded< dZded< dZded< d	d
 Zedd Z	dS ) UserReidentificationIssueDetailsze
    This issue warns about uses of APIs that may be considered misuse to
    re-identify users.
    r  r   Nr   r   r4  r5  c                 C  sH   t  }| j |d< | jd ur| j |d< | jd ur"| j |d< |S )Nr   r   r=  )r   r   r   r   r5  r   r   r   r   r     s   

z(UserReidentificationIssueDetails.to_jsonc                 C  sH   | t |d d|v rt|d nd d|v r t|d dS d dS )Nr   r   r=  )r   r   r5  )r  r   r$   r$  r   r   r   r   r     s   z*UserReidentificationIssueDetails.from_json)
r   r   r   r   r    r   r5  r   r!   r   r   r   r   r   r    s   
 	r  c                   @  s   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d Zed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LowTextContrastIssue	CorsIssueAttributionReportingIssueQuirksModeIssuePartitioningBlobURLIssueNavigatorUserAgentIssueGenericIssueDeprecationIssueClientHintIssueFederatedAuthRequestIssueBounceTrackingIssueCookieDeprecationMetadataIssueStylesheetLoadingIssue!FederatedAuthUserInfoRequestIssuePropertyRuleIssueSharedDictionaryIssueElementAccessibilityIssueSRIMessageSignatureIssueUnencodedDigestIssueUserReidentificationIssuec                 C  rC   rD   rE   rG   r   r   r   r     rH   zInspectorIssueCode.to_jsonc                 C  rI   rD   r   r   r   r   r   r     rJ   zInspectorIssueCode.from_jsonN)!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PARTITIONING_BLOB_URL_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_ISSUESHARED_DICTIONARY_ISSUEELEMENT_ACCESSIBILITY_ISSUESRI_MESSAGE_SIGNATURE_ISSUEUNENCODED_DIGEST_ISSUEUSER_REIDENTIFICATION_ISSUEr   r!   r   r   r   r   r   r	    s>    r	  c                   @  s^  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d+ed,< dZd-ed.< dZd/ed0< dZd1ed2< dZd3ed4< dZd5ed6< d7d8 Ze d9d: 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[LowTextContrastIssueDetails]low_text_contrast_issue_detailsz!typing.Optional[CorsIssueDetails]cors_issue_detailsz1typing.Optional[AttributionReportingIssueDetails]#attribution_reporting_issue_detailsz'typing.Optional[QuirksModeIssueDetails]quirks_mode_issue_detailsz0typing.Optional[PartitioningBlobURLIssueDetails]#partitioning_blob_url_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_detailsz-typing.Optional[SharedDictionaryIssueDetails]shared_dictionary_issue_detailsz1typing.Optional[ElementAccessibilityIssueDetails]#element_accessibility_issue_detailsz0typing.Optional[SRIMessageSignatureIssueDetails]#sri_message_signature_issue_detailsz,typing.Optional[UnencodedDigestIssueDetails]unencoded_digest_issue_detailsz1typing.Optional[UserReidentificationIssueDetails]#user_reidentification_issue_detailsc                 C  s  t  }| jd ur| j |d< | jd ur| j |d< | jd ur'| j |d< | jd ur3| j |d< | jd ur?| j |d< | jd urK| j |d< | jd urW| j |d< | j	d urc| j	 |d< | j
d uro| j
 |d	< | jd ur{| j |d
< | jd ur| j |d< | jd ur| j |d< | jd ur| j |d< | jd ur| j |d< | jd ur| j |d< | jd ur| j |d< | jd ur| j |d< | jd ur| j |d< | jd ur| j |d< | jd ur| j |d< | jd ur| j |d< | jd ur| j |d< | jd ur| j |d< | jd ur&| j |d< | jd ur3| j |d< | jd ur@| j |d< |S )NcookieIssueDetailsmixedContentIssueDetailsblockedByResponseIssueDetailsheavyAdIssueDetails!contentSecurityPolicyIssueDetailssharedArrayBufferIssueDetailslowTextContrastIssueDetailscorsIssueDetails attributionReportingIssueDetailsquirksModeIssueDetailspartitioningBlobURLIssueDetailsnavigatorUserAgentIssueDetailsgenericIssueDetailsdeprecationIssueDetailsclientHintIssueDetails federatedAuthRequestIssueDetailsbounceTrackingIssueDetails%cookieDeprecationMetadataIssueDetailsstylesheetLoadingIssueDetailspropertyRuleIssueDetails(federatedAuthUserInfoRequestIssueDetailssharedDictionaryIssueDetails elementAccessibilityIssueDetailssriMessageSignatureIssueDetailsunencodedDigestIssueDetails userReidentificationIssueDetails)r   r?  r   r@  rA  rB  rC  rD  rE  rF  rG  rH  rI  rJ  rK  rL  rM  rN  rO  rP  rQ  rR  rS  rT  rU  rV  rW  rX  r   r   r   r   r   >  sl   




















zInspectorIssueDetails.to_jsonc                 C  s  | d5i 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 r9t|d nd d	d
|v rGt|d
 nd dd|v rUt|d nd dd|v rct|d nd dd|v rqt|d nd dd|v rt	|d nd dd|v rt
|d nd dd|v rt|d nd dd|v rt|d nd dd|v rt|d nd dd|v rt|d nd dd|v rt|d nd dd |v rt|d  nd d!d"|v rt|d" nd d#d$|v rt|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 r9t|d, nd d-d.|v rHt|d. nd d/d0|v rWt|d0 nd d1d2|v rft|d2 nd d3d4|v rwt|d4 S d S )6Nr?  rY  r@  rZ  rA  r[  rB  r\  rC  r]  rD  r^  rE  r_  rF  r`  rG  ra  rH  rb  rI  rc  rJ  rd  rK  re  rL  rf  rM  rg  rN  rh  rO  ri  rP  rj  rQ  rk  rR  rl  rS  rm  rT  rn  rU  ro  rV  rp  rW  rq  rX  rr  r   )r   r   r   r   r  r-  rF  rI  rX  r  r  r  r  r/  r5  r  rH  r8  r;  r  r  r  r  r  r  r  r  r   r   r   r   r   v  s   	
zInspectorIssueDetails.from_json)"r   r   r   r   r?  r    r@  rA  rB  rC  rD  rE  rF  rG  rH  rI  rJ  rK  rL  rM  rN  rO  rP  rQ  rR  rS  rT  rU  rV  rW  rX  r   r!   r   r   r   r   r   r>    s>   
 8r>  c                      s8   e Zd ZdZdddZedddZ fd	d
Z  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                 C  s   | S rD   r   rG   r   r   r   r     s   zIssueId.to_jsonr   c                 C  rI   rD   r   r   r   r   r   r     rJ   zIssueId.from_jsonc                   s   d t  S )NzIssueId({}))formatsuper__repr__rG   	__class__r   r   rw    s   zIssueId.__repr__)rt  r   )r   r   rt  rs  )	r   r   r   r   r   r!   r   rw  __classcell__r   r   rx  r   rs    s    
rs  c                   @  r4  )InspectorIssuez8
    An inspector issue reported from the back-end.
    r	  coder>  detailsNztyping.Optional[IssueId]issue_idc                 C  r  )Nr|  r}  issueId)r   r|  r   r}  r~  r   r   r   r   r     r  zInspectorIssue.to_jsonc                 C  r  )Nr|  r}  r  )r|  r}  r~  )r	  r   r>  rs  r   r   r   r   r     r  zInspectorIssue.from_json)	r   r   r   r   r    r~  r   r!   r   r   r   r   r   r{    s   
 r{  r'   network.RequestIdencodingr   qualitytyping.Optional[float]	size_onlytyping.Optional[bool]rt  Xtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[typing.Optional[str], int, int]]c                 c  sz    t  }|  |d< ||d< |dur||d< |dur||d< d|d}|V }d|v r0t|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   r   r   r   get_encoded_response  s    

r  0typing.Generator[T_JSON_DICT, T_JSON_DICT, None]c                  c      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   r   r   r   disable  s   
r  c                  c  r  )zz
    Enables issues domain, sends the issues collected so far to the client by means of the
    ``issueAdded`` event.
    r  zAudits.enableNr   r  r   r   r   enable  s   
r  
report_aaac                 c  s,    t  }| dur| |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   r   r   r   check_contrast   s   	
r  Ltyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[GenericIssueDetails]]c                  c  s"    ddi} | V }dd |d D S )z
    Runs the form issues check for the target page. Found issues are reported
    using Audits.issueAdded event.

    :returns: 
    r  zAudits.checkFormsIssuesc                 S  r   r   )r/  r   r   r   r   r   r     r   z&check_forms_issues.<locals>.<listcomp>
formIssuesr   r  r   r   r   check_forms_issues  s
   r  zAudits.issueAddedc                   @  s$   e Zd ZU ded< ed	ddZdS )

IssueAddedr{  issuer   r   rt  c                 C  rL  )Nr  )r  )r{  r   r   r   r   r   r   &  rM  zIssueAdded.from_jsonN)r   r   rt  r  )r   r   r   r    r!   r   r   r   r   r   r  !  s   
 r  )NN)
r'   r  r  r   r  r  r  r  rt  r  )rt  r  rD   )r  r  rt  r  )rt  r  )R
__future__r   utilr   r   dataclassesr   enumtyping r   r   r	   r
   r   r$   r/   Enumr7   rW   ru   r|   r   r   r   r   r   r   r   r  r  r  r  r$  r-  r@  rF  rI  rX  rf  r  r  r  r  r  r  r  r  r  r  r/  r5  r8  r;  rB  rH  rI  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r	  r>  r   rs  r{  r  r  r  r  r  r  r   r   r   r   <module>   s   A'0"-'/!"%'"@)  
'


