
    +g                      S SK Jr  SSKJrJr  S SKJr  S SKrS SKrSSK	J
r
  SSK	Jr   " S S	\5      r " S
 S\R                  5      r\ " S S5      5       r\ " S S5      5       r\ " S S5      5       r\ " S S5      5       r\ " S S5      5       r\ " S S5      5       r\ " S S5      5       r\ " S S5      5       r\ " S S5      5       r " S S\R                  5      r\ " S  S!5      5       r\ " S" S#5      5       r\ " S$ S%5      5       r\ " S& S'5      5       r\ " S( S)5      5       r\ " S* S+5      5       r\ " S, S-5      5       r \ " S. S/5      5       r!\ " S0 S15      5       r"\ " S2 S35      5       r#\ " S4 S55      5       r$\ " S6 S75      5       r%\ " S8 S95      5       r&\ " S: S;5      5       r'\ " S< S=5      5       r(\ " S> S?5      5       r)\ " S@ SA5      5       r*\ " SB SC5      5       r+\ " SD SE5      5       r,\ " SF SG5      5       r-\ " SH SI5      5       r.\ " SJ SK5      5       r/\ " SL SM5      5       r0\ " SN SO5      5       r1\ " SP SQ5      5       r2 S         SSR jjr3    SSS jr4    SST jr5SSU jr6SSV jr7      SSW jr8    SSX jr9    SSY jr:    SSZ jr;    SS[ jr<SS\ jr=    SS] jr>    SS^ jr?    SS_ jr@      SS` jrA    SSa jrBSSb jrC        SSc jrD        SSd jrE        SSe jrF        SSf jrG        SSg jrH        SSh jrI        SSi jrJ        SSj jrK      SSk jrL S     SSl jjrMSSm jrNSSn jrOSSo jrP    SSp jrQ\" Sq5      \ " Sr Ss5      5       5       rR\" St5      \ " Su Sv5      5       5       rS\" Sw5      \ " Sx Sy5      5       5       rT\" Sz5      \ " S{ S|5      5       5       rU\" S}5      \ " S~ S5      5       5       rVg)    )annotations   )event_classT_JSON_DICT)	dataclassN)dom)pagec                  F   ^  \ rS rSrSS jr\SS j5       rU 4S jrSrU =r	$ )StyleSheetId   c                    U $ N selfs    s/Users/Alptekin/Desktop/izin_takip/venv/lib/python3.13/site-packages/selenium/webdriver/common/devtools/v131/css.pyto_jsonStyleSheetId.to_json   s        c                    U " U5      $ r   r   clsjsons     r   	from_jsonStyleSheetId.from_json       4yr   c                >   > SR                  [        TU ]	  5       5      $ )NzStyleSheetId({}))formatsuper__repr__)r   	__class__s    r   r    StyleSheetId.__repr__   s    !(()9);<<r   r   )returnstr)r   r$   r#   r   )
__name__
__module____qualname____firstlineno__r   classmethodr   r    __static_attributes____classcell__)r!   s   @r   r   r      s&      = =r   r   c                  >    \ rS rSrSrSrSrSrSrS r	\
S 5       rS	rg
)StyleSheetOrigin   z
Stylesheet type: "injected" for stylesheets injected via extension, "user-agent" for user-agent
stylesheets, "inspector" for stylesheets created by the inspector (i.e. those holding the "via
inspector" rules), "regular" for regular stylesheets.
injectedz
user-agent	inspectorregularc                    U R                   $ r   valuer   s    r   r   StyleSheetOrigin.to_json'       zzr   c                    U " U5      $ r   r   r   s     r   r   StyleSheetOrigin.from_json*   r   r   r   N)r%   r&   r'   r(   __doc__INJECTED
USER_AGENT	INSPECTORREGULARr   r)   r   r*   r   r   r   r-   r-      s6    
 HJIG  r   r-   c                  R    \ rS rSr% SrS\S'   S\S'   SrS\S	'   S
 r\S 5       r	Sr
g)PseudoElementMatches/   z0
CSS rule collection for a single pseudo style.
zdom.PseudoTypepseudo_typetyping.List[RuleMatch]matchesNtyping.Optional[str]pseudo_identifierc                    [        5       nU R                  R                  5       US'   U R                   Vs/ s H  o"R                  5       PM     snUS'   U R                  b  U R                  US'   U$ s  snf )N
pseudoTyperC   pseudoIdentifier)dictrA   r   rC   rE   r   r   is      r   r   PseudoElementMatches.to_json=   si    v!--557\04=199;=Y!!-'+'='=D#$ >s   A3c           	         U " [         R                  R                  US   5      US    Vs/ s H  n[        R                  U5      PM     snSU;   a  [	        US   5      S9$ S S9$ s  snf )NrG   rC   rH   )rA   rC   rE   )r   
PseudoTyper   	RuleMatchr$   r   r   rK   s      r   r   PseudoElementMatches.from_jsonE   sq    00l1CD59)_E_Y((+_E?QUY?Yc$'9":;
 	
 `d
 	
Es   A&
r   )r%   r&   r'   r(   r9   __annotations__rE   r   r)   r   r*   r   r   r   r?   r?   /   s>       $# /3+2 
 
r   r?   c                  H    \ rS rSr% SrS\S'   SrS\S'   S r\S	 5       r	S
r
g)InheritedStyleEntryN   z3
Inherited CSS rule collection from ancestor node.
rB   matched_css_rulesNztyping.Optional[CSSStyle]inline_stylec                    [        5       nU R                   Vs/ s H  o"R                  5       PM     snUS'   U R                  b  U R                  R                  5       US'   U$ s  snf )NmatchedCSSRulesinlineStyle)rI   rV   r   rW   rJ   s      r   r   InheritedStyleEntry.to_jsonY   s_    v8<8N8N"O8N199;8N"O("&"3"3";";"=D #Ps   A$c                    U " US    Vs/ s H  n[         R                  U5      PM     snSU;   a  [        R                  US   5      S9$ S S9$ s  snf )NrY   rZ   )rV   rW   )rO   r   CSSStylerP   s      r   r   InheritedStyleEntry.from_json`   s_    ?CDU?VW?V!y2215?VWDQUYDY++D,?@
 	
_c
 	
Ws   Ar   )r%   r&   r'   r(   r9   rR   rW   r   r)   r   r*   r   r   r   rT   rT   N   s5     .- /3L+2 
 
r   rT   c                  :    \ rS rSr% SrS\S'   S r\S 5       rSr	g)	InheritedPseudoElementMatchesh   zD
Inherited pseudo element matches from pseudos of an ancestor node.
z!typing.List[PseudoElementMatches]pseudo_elementsc                ~    [        5       nU R                   Vs/ s H  o"R                  5       PM     snUS'   U$ s  snf )NpseudoElements)rI   rb   r   rJ   s      r   r   %InheritedPseudoElementMatches.to_jsonp   s:    v7;7K7K!L7K!))+7K!L "Ms   :c                f    U " US    Vs/ s H  n[         R                  U5      PM     snS9$ s  snf )Nrd   )rb   )r?   r   rP   s      r   r   'InheritedPseudoElementMatches.from_jsonu   s8    HLM]H^_H^11;;A>H^_
 	
_s   .r   N
r%   r&   r'   r(   r9   rR   r   r)   r   r*   r   r   r   r`   r`   h   s(     76
 
 
r   r`   c                  D    \ rS rSr% SrS\S'   S\S'   S r\S 5       rS	r	g
)rO   |   z
Match data for a CSS rule.
CSSRuleruleztyping.List[int]matching_selectorsc                    [        5       nU R                  R                  5       US'   U R                   Vs/ s H  o"PM     snUS'   U$ s  snf )Nrl   matchingSelectors)rI   rl   r   rm   rJ   s      r   r   RuleMatch.to_json   sL    vyy((*V040G0G$H0G1Q0G$H ! %Is   A	c           	         U " [         R                  US   5      US    Vs/ s H  n[        U5      PM     snS9$ s  snf )Nrl   ro   )rl   rm   )rk   r   intrP   s      r   r   RuleMatch.from_json   sB    ""4<0045H0IJ0I1A0IJ
 	
Js   ;
r   Nrh   r   r   r   rO   rO   |   s/     M )( 
 
r   rO   c                  V    \ rS rSr% SrS\S'   SrS\S'   SrS\S	'   S
 r\	S 5       r
Srg)Value   zP
Data for a simple selector (these are delimited by commas in a selector list).
r$   textNtyping.Optional[SourceRange]range_ztyping.Optional[Specificity]specificityc                    [        5       nU R                  US'   U R                  b  U R                  R                  5       US'   U R                  b  U R                  R                  5       US'   U$ )Nrw   rangerz   )rI   rw   ry   r   rz   r   r   s     r   r   Value.to_json   s`    vyyV;;" KK//1DM'"&"2"2":":"<Dr   c                    U " [        US   5      SU;   a  [        R                  US   5      OS SU;   a  [        R                  US   5      S9$ S S9$ )Nrw   r|   rz   )rw   ry   rz   )r$   SourceRanger   Specificityr   s     r   r   Value.from_json   sb    T&\";Bd?;((g7PTFSW[F[--d=.AB
 	
 bf
 	
r   r   )r%   r&   r'   r(   r9   rR   ry   rz   r   r)   r   r*   r   r   r   ru   ru      sA     I ,0F(/ 15K-4 
 
r   ru   c                  N    \ rS rSr% SrS\S'   S\S'   S\S'   S r\S 5       rS	r	g
)r      zD
Specificity:
https://drafts.csswg.org/selectors/#specificity-rules
rr   abcc                t    [        5       nU R                  US'   U R                  US'   U R                  US'   U$ )Nr   r   r   )rI   r   r   r   r}   s     r   r   Specificity.to_json   s5    vFFS	FFS	FFS	r   c                Z    U " [        US   5      [        US   5      [        US   5      S9$ )Nr   r   r   )r   r   r   rr   r   s     r   r   Specificity.from_json   s0    $s)n$s)n$s)n
 	
r   r   Nrh   r   r   r   r   r      s5    
 F F F 
 
r   r   c                  D    \ rS rSr% SrS\S'   S\S'   S r\S 5       rS	r	g
)SelectorList   z
Selector list data.
ztyping.List[Value]	selectorsr$   rw   c                    [        5       nU R                   Vs/ s H  o"R                  5       PM     snUS'   U R                  US'   U$ s  snf )Nr   rw   )rI   r   r   rw   rJ   s      r   r   SelectorList.to_json   sB    v26..A.QYY[.A[yyV B   A	c                    U " US    Vs/ s H  n[         R                  U5      PM     sn[        US   5      S9$ s  snf )Nr   rw   )r   rw   )ru   r   r$   rP   s      r   r   SelectorList.from_json   s@    373DE3Dauq)3DET&\"
 	
E   ;r   Nrh   r   r   r   r   r      s/     "! I 
 
r   r   c                      \ rS rSr% SrS\S'   S\S'   S\S'   S	\S
'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   SrS\S'   SrS\S'   SrS\S'   Sr	S\S'   S r
\S  5       rS!rg)"CSSStyleSheetHeader   z!
CSS stylesheet metainformation.
r   style_sheet_idpage.FrameIdframe_idr$   
source_urlr-   origintitlebooldisabled	is_inline
is_mutableis_constructedfloat
start_linestart_columnlengthend_line
end_columnNrD   source_map_urlz"typing.Optional[dom.BackendNodeId]
owner_nodetyping.Optional[bool]has_source_urlloading_failedc                   [        5       nU R                  R                  5       US'   U R                  R                  5       US'   U R                  US'   U R
                  R                  5       US'   U R                  US'   U R                  US'   U R                  US'   U R                  US'   U R                  US	'   U R                  US
'   U R                  US'   U R                  US'   U R                  US'   U R                  US'   U R                   b  U R                   US'   U R"                  b  U R"                  R                  5       US'   U R$                  b  U R$                  US'   U R&                  b  U R&                  US'   U$ )NstyleSheetIdframeId	sourceURLr   r   r   isInline	isMutableisConstructed	startLinestartColumnr   endLine	endColumnsourceMapURL	ownerNodehasSourceURLloadingFailed)rI   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r}   s     r   r   CSSStyleSheetHeader.to_json0  sc   v#22::<^--//1Y OO[,,.X

W==Z>>Z OO[ $ 3 3_ OO["//]X--Y OO[*#'#6#6D ??& $ 7 7 9D*#'#6#6D *$($7$7D!r   c           	        U " S!0 S[         R                  US   5      _S[        R                  R                  US   5      _S[	        US   5      _S[
        R                  US   5      _S[	        US   5      _S	[        US	   5      _S
[        US   5      _S[        US   5      _S[        US   5      _S[        US   5      _S[        US   5      _S[        US   5      _S[        US   5      _S[        US   5      _SSU;   a  [	        US   5      OS _SSU;   a"  [        R                  R                  US   5      OS _SSU;   a  [        US   5      OS _SS U;   a  [        US    5      _6$ S _6$ )"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	   FrameIdr$   r-   r   r   r   BackendNodeIdr   s     r   r   CSSStyleSheetHeader.from_jsonJ  s    
'11$~2FG
\\++DO<
 4,-
 $--d8n=	

 d7m$
 $z*+
 4
+,
 D-.
  _ 56
 T+./
 tM23
 h(
 4	?+
 T+./
 9G$8N3tN34TX
  JUX\I\s((2243DEbf!
" :H49O4^ 45UY#
$ ;JT:Q4_ 56%
 	
$ X\%
 	
r   r   )r%   r&   r'   r(   r9   rR   r   r   r   r   r   r)   r   r*   r   r   r   r   r      s     !  
 O  J N O     M O  ,0N(/ 6:J29 -1N)0 -1N)04 
 
r   r   c                      \ rS rSr% SrS\S'   S\S'   S\S'   S	rS
\S'   S	rS\S'   S	rS\S'   S	r	S\S'   S	r
S\S'   S	rS\S'   S	rS\S'   S	rS\S'   S r\S 5       rSrg	)rk   ib  z
CSS rule representation.
r   selector_listr-   r   r]   styleNtyping.Optional[StyleSheetId]r   z!typing.Optional[typing.List[str]]nesting_selectorsz&typing.Optional[typing.List[CSSMedia]]mediaz/typing.Optional[typing.List[CSSContainerQuery]]container_queriesz)typing.Optional[typing.List[CSSSupports]]supportsz&typing.Optional[typing.List[CSSLayer]]layersz&typing.Optional[typing.List[CSSScope]]scopesz)typing.Optional[typing.List[CSSRuleType]]
rule_typesc                r   [        5       nU R                  R                  5       US'   U R                  R                  5       US'   U R                  R                  5       US'   U R
                  b  U R
                  R                  5       US'   U R                  b  U R                   Vs/ s H  o"PM     snUS'   U R                  b-  U R                   Vs/ s H  o"R                  5       PM     snUS'   U R                  b-  U R                   Vs/ s H  o"R                  5       PM     snUS'   U R                  b-  U R                   Vs/ s H  o"R                  5       PM     snUS'   U R                  b-  U R                   Vs/ s H  o"R                  5       PM     snUS	'   U R                  b-  U R                   Vs/ s H  o"R                  5       PM     snUS
'   U R                  b-  U R                   Vs/ s H  o"R                  5       PM     snUS'   U$ s  snf s  snf s  snf s  snf s  snf s  snf s  snf )NselectorListr   r   r   nestingSelectorsr   containerQueriesr   r   r   	ruleTypes)rI   r   r   r   r   r   r   r   r   r   r   r   r   rJ   s      r   r   CSSRule.to_json  s   v#1199;^,,.X

**,W*#'#6#6#>#>#@D !!-373I3I'J3Ia3I'JD#$::!26**=*QYY[*=DM!!-=A=S=S'T=S		=S'TD#$==$59]]C]		]CD;;"37;;?;aiik;?DN;;"37;;?;aiik;?DN??&6:oo Foo FD (K='TC?? Fs*   'HHH H%H*;H/5H4c                   U " [         R                  US   5      [        R                  US   5      [        R                  US   5      SU;   a  [        R                  US   5      OS SU;   a  US    Vs/ s H  n[        U5      PM     snOS SU;   a)  US    Vs/ s H  n[        R                  U5      PM     snOS SU;   a)  US    Vs/ s H  n[        R                  U5      PM     snOS SU;   a)  US    Vs/ s H  n[        R                  U5      PM     snOS S	U;   a)  US	    Vs/ s H  n[        R                  U5      PM     snOS S
U;   a)  US
    Vs/ s H  n[        R                  U5      PM     snOS SU;   a+  US    Vs/ s H  n[        R                  U5      PM     snS9$ S S9$ s  snf s  snf s  snf s  snf s  snf s  snf s  snf )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$   CSSMediaCSSContainerQueryCSSSupportsCSSLayerCSSScopeCSSRuleTyperP   s      r   r   CSSRule.from_json  s   &00n1EF#--d8n=$$T']3KY]aKa<11$~2FGgkL^bfLft4F/GH/G!s1v/GHlpDKtO$w-@-Q8%%a(-@Y]dvz~d~tL^G_`G_!0::1=G_`  EIMW[_M_Z8HI8H1k++A.8HIeiFNRVFV4>B>aH&&q)>B\`FNRVFV4>B>aH&&q)>B\`P[_cPc${:KL:KQ--a0:KL
 	
 jn
 	

 I@`IBBLs*   4F2F7
F<:G*GG
Gr   )r%   r&   r'   r(   r9   rR   r   r   r   r   r   r   r   r   r   r)   r   r*   r   r   r   rk   rk   b  s        O 59N18 <@8? 59E18 JNFM ;?H7> 6:F29 6:F29 =AJ9@. 
 
r   rk   c                  F    \ rS rSrSrSrSrSrSrSr	Sr
S	 r\S
 5       rSrg)r   i  z
Enum indicating the type of a CSS rule, used to represent the order of a style rule's ancestors.
This list only contains rule types that are collected during the ancestor rule collection.
	MediaRuleSupportsRuleContainerRule	LayerRule	ScopeRule	StyleRulec                    U R                   $ r   r3   r   s    r   r   CSSRuleType.to_json  r6   r   c                    U " U5      $ r   r   r   s     r   r   CSSRuleType.from_json  r   r   r   N)r%   r&   r'   r(   r9   
MEDIA_RULESUPPORTS_RULECONTAINER_RULE
LAYER_RULE
SCOPE_RULE
STYLE_RULEr   r)   r   r*   r   r   r   r   r     s@     J"M$NJJJ  r   r   c                  X    \ rS rSr% SrS\S'   S\S'   S\S'   S\S	'   S
 r\S 5       rSr	g)	RuleUsagei  z
CSS coverage information.
r   r   r   start_offset
end_offsetr   usedc                    [        5       nU R                  R                  5       US'   U R                  US'   U R                  US'   U R
                  US'   U$ )Nr   startOffset	endOffsetr   )rI   r   r   r   r   r   r}   s     r   r   RuleUsage.to_json  sR    v#22::<^"//] OO[yyVr   c           	         U " [         R                  US   5      [        US   5      [        US   5      [        US   5      S9$ )Nr   r   r   r   )r   r   r   r   )r   r   r   r   r   s     r   r   RuleUsage.from_json  sH    '11$~2FGtM23T+./d6l#	
 	
r   r   Nrh   r   r   r   r   r     s?    
 !    J 
 
r   r   c                  X    \ rS rSr% SrS\S'   S\S'   S\S'   S\S'   S r\S	 5       rS
r	g)r   i  z;
Text range within a resource. All numbers are zero-based.
rr   r   r   r   r   c                    [        5       nU R                  US'   U R                  US'   U R                  US'   U R                  US'   U$ )Nr   r   r   r   )rI   r   r   r   r   r}   s     r   r   SourceRange.to_json  sG    v OO["//]--Y OO[r   c           	     t    U " [        US   5      [        US   5      [        US   5      [        US   5      S9$ )Nr   r   r   r   )r   r   r   r   r   r   s     r   r   SourceRange.from_json  sB    4,-T-01i)4,-	
 	
r   r   Nrh   r   r   r   r   r     s=     O  M O 
 
r   r   c                  N    \ rS rSr% S\S'   S\S'   SrS\S'   S r\S	 5       rS
r	g)ShorthandEntryi  r$   namer4   Nr   	importantc                    [        5       nU R                  US'   U R                  US'   U R                  b  U R                  US'   U$ )Nr   r4   r  )rI   r   r4   r  r}   s     r   r   ShorthandEntry.to_json  s@    vyyV

W>>% $Dr   c                n    U " [        US   5      [        US   5      SU;   a  [        US   5      S9$ S S9$ )Nr   r4   r  )r   r4   r  )r$   r   r   s     r   r   ShorthandEntry.from_json$  sL    T&\"d7m$1<1Dd4,-
 	
 KO
 	
r   r   )
r%   r&   r'   r(   rR   r  r   r)   r   r*   r   r   r   r   r     s6     I J (,I$+ 
 
r   r   c                  @    \ rS rSr% S\S'   S\S'   S r\S 5       rSrg)	CSSComputedStylePropertyi-  r$   r   r4   c                V    [        5       nU R                  US'   U R                  US'   U$ )Nr   r4   )rI   r   r4   r}   s     r   r    CSSComputedStyleProperty.to_json5  s(    vyyV

Wr   c                @    U " [        US   5      [        US   5      S9$ )Nr   r4   )r   r4   )r$   r   s     r   r   "CSSComputedStyleProperty.from_json;  s'    T&\"d7m$
 	
r   r   N)	r%   r&   r'   r(   rR   r   r)   r   r*   r   r   r   r  r  -  s)     I J 
 
r   r  c                  n    \ rS rSr% SrS\S'   S\S'   SrS\S	'   SrS
\S'   SrS\S'   S r	\
S 5       rSrg)r]   iC  z
CSS style representation.
ztyping.List[CSSProperty]css_propertiesztyping.List[ShorthandEntry]shorthand_entriesNr   r   rD   css_textrx   ry   c                   [        5       nU R                   Vs/ s H  o"R                  5       PM     snUS'   U R                   Vs/ s H  o"R                  5       PM     snUS'   U R                  b  U R                  R                  5       US'   U R
                  b  U R
                  US'   U R                  b  U R                  R                  5       US'   U$ s  snf s  snf )NcssPropertiesshorthandEntriesr   cssTextr|   )rI   r  r   r  r   r  ry   rJ   s      r   r   CSSStyle.to_jsonX  s    v6:6I6I J6I6I J_9=9O9O#P9OAIIK9O#P *#'#6#6#>#>#@D ==$"mmDO;;" KK//1DM !K#Ps   CCc           
     j   U " US    Vs/ s H  n[         R                  U5      PM     snUS    Vs/ s H  n[        R                  U5      PM     snSU;   a  [        R                  US   5      OS SU;   a  [	        US   5      OS SU;   a  [
        R                  US   5      S9$ S S9$ s  snf s  snf )Nr  r  r   r  r|   )r  r  r   r  ry   )CSSPropertyr   r   r   r$   r   rP   s      r   r   CSSStyle.from_jsond  s    >B?>ST>SK11!4>STDHI[D\]D\q~77:D\]KY]aKa<11$~2FGgk-6$->Si)D;Bd?;((g7
 	

 QU
 	
T]s
   B+B0
r   )r%   r&   r'   r(   r9   rR   r   r  ry   r   r)   r   r*   r   r   r   r]   r]   C  sW     -, 32 59N18 &*H") ,0F(/
 
 
r   r]   c                      \ rS rSr% SrS\S'   S\S'   SrS\S'   SrS\S	'   SrS
\S'   Sr	S\S'   Sr
S\S'   SrS\S'   SrS\S'   S r\S 5       rSrg)r  io  z 
CSS property declaration data.
r$   r   r4   Nr   r  implicitrD   rw   	parsed_okr   rx   ry   z)typing.Optional[typing.List[CSSProperty]]longhand_propertiesc                @   [        5       nU R                  US'   U R                  US'   U R                  b  U R                  US'   U R                  b  U R                  US'   U R
                  b  U R
                  US'   U R                  b  U R                  US'   U R                  b  U R                  US'   U R                  b  U R                  R                  5       US'   U R                  b-  U R                   Vs/ s H  o"R                  5       PM     snUS	'   U$ s  snf )
Nr   r4   r  r  rw   parsedOkr   r|   longhandProperties)rI   r   r4   r  r  rw   r  r   ry   r   r  rJ   s      r   r   CSSProperty.to_json  s    vyyV

W>>% $D==$#}}D99 99DL>>%#~~D==$#}}D;;" KK//1DM##/?C?W?W)X?W!))+?W)XD%& *Ys   :Dc                   U " [        US   5      [        US   5      SU;   a  [        US   5      OS SU;   a  [        US   5      OS SU;   a  [        US   5      OS SU;   a  [        US   5      OS SU;   a  [        US   5      OS SU;   a  [        R                  US   5      OS S	U;   a+  US	    Vs/ s H  n[        R                  U5      PM     snS
9	$ S S
9	$ s  snf )Nr   r4   r  r  rw   r  r   r|   r  )	r   r4   r  r  rw   r  r   ry   r  )r$   r   r   r   r  rP   s      r   r   CSSProperty.from_json  s    T&\"d7m$1<1Dd4,-$/9T/AT$z*+t&,nT&\"$0:d0Bd4
+,/9T/AT$z*+t;Bd?;((g7PTbvz~b~4H\C] ^C]a!6!6q!9C] ^

 
	
 EI

 
	
 !_s   2Cr   )r%   r&   r'   r(   r9   rR   r  r  rw   r  r   ry   r  r   r)   r   r*   r   r   r   r  r  o  s     I J (,I$+ '+H#* "&D
% (,I$+ '+H#* ,0F(/ FJBI( 
 
r   r  c                  |    \ rS rSr% SrS\S'   S\S'   SrS\S'   SrS	\S
'   SrS\S'   Sr	S\S'   S r
\S 5       rSrg)r   i  z
CSS media rule descriptor.
r$   rw   sourceNrD   r   rx   ry   r   r   z(typing.Optional[typing.List[MediaQuery]]
media_listc                   [        5       nU R                  US'   U R                  US'   U R                  b  U R                  US'   U R                  b  U R                  R                  5       US'   U R                  b  U R                  R                  5       US'   U R                  b-  U R                   Vs/ s H  o"R                  5       PM     snUS'   U$ s  snf )Nrw   r#  r   r|   r   	mediaList)rI   rw   r#  r   ry   r   r   r$  rJ   s      r   r   CSSMedia.to_json  s    vyyVX??& $D;;" KK//1DM*#'#6#6#>#>#@D ??&6:oo Foo FD !Gs   4Cc                T   U " [        US   5      [        US   5      SU;   a  [        US   5      OS SU;   a  [        R                  US   5      OS SU;   a  [        R                  US   5      OS SU;   a+  US    Vs/ s H  n[        R                  U5      PM     snS9$ S S9$ s  snf )Nrw   r#  r   r|   r   r&  )rw   r#  r   ry   r   r$  )r$   r   r   r   
MediaQueryrP   s      r   r   CSSMedia.from_json  s    T&\"tH~&1<1Ds4,-$;Bd?;((g7PTKY]aKa<11$~2FGgkOZ^bObk9JK9JA
,,Q/9JK
 	
 im
 	
 Ls   =B%r   )r%   r&   r'   r(   r9   rR   r   ry   r   r$  r   r)   r   r*   r   r   r   r   r     sc     I K (,J$+ ,0F(/ 59N18 <@J8? 
 
r   r   c                  D    \ rS rSr% SrS\S'   S\S'   S r\S 5       rS	r	g
)r)  i  z
Media query descriptor.
z!typing.List[MediaQueryExpression]expressionsr   activec                    [        5       nU R                   Vs/ s H  o"R                  5       PM     snUS'   U R                  US'   U$ s  snf )Nr,  r-  )rI   r,  r   r-  rJ   s      r   r   MediaQuery.to_json  sF    v484D4DE4Dqyy{4DE]X Fr   c                    U " US    Vs/ s H  n[         R                  U5      PM     sn[        US   5      S9$ s  snf )Nr,  r-  )r,  r-  )MediaQueryExpressionr   r   rP   s      r   r   MediaQuery.from_json  sC    DHDWXDWq-77:DWXX'
 	
Xr   r   Nrh   r   r   r   r)  r)    s/     32 L 
 
r   r)  c                  j    \ rS rSr% SrS\S'   S\S'   S\S'   SrS	\S
'   SrS\S'   S r\	S 5       r
Srg)r1  i  z$
Media query expression descriptor.
r   r4   r$   unitfeatureNrx   value_rangeztyping.Optional[float]computed_lengthc                    [        5       nU R                  US'   U R                  US'   U R                  US'   U R                  b  U R                  R                  5       US'   U R                  b  U R                  US'   U$ )Nr4   r4  r5  
valueRangecomputedLength)rI   r4   r4  r5  r6  r   r7  r}   s     r   r   MediaQueryExpression.to_json  sw    v

WyyV,,Y'!%!1!1!9!9!;D+%)%9%9D!"r   c           
         U " [        US   5      [        US   5      [        US   5      SU;   a  [        R                  US   5      OS SU;   a  [        US   5      S9$ S S9$ )Nr4   r4  r5  r9  r:  )r4   r4  r5  r6  r7  )r   r$   r   r   r   s     r   r   MediaQueryExpression.from_json   sx    W&T&\"Y(EQUYEY--d<.@A_c=MQU=UE$'7"89
 	

 \`
 	
r   r   )r%   r&   r'   r(   r9   rR   r6  r7  r   r)   r   r*   r   r   r   r1  r1    sO     L I L 15K-4 /3O+2	 
 
r   r1  c                      \ rS rSr% SrS\S'   SrS\S'   SrS\S	'   SrS
\S'   Sr	S\S'   Sr
S\S'   S r\S 5       rSrg)r   i+  z&
CSS container query rule descriptor.
r$   rw   Nrx   ry   r   r   rD   r   z!typing.Optional[dom.PhysicalAxes]physical_axesz typing.Optional[dom.LogicalAxes]logical_axesc                   [        5       nU R                  US'   U R                  b  U R                  R                  5       US'   U R                  b  U R                  R                  5       US'   U R
                  b  U R
                  US'   U R                  b  U R                  R                  5       US'   U R                  b  U R                  R                  5       US'   U$ )Nrw   r|   r   r   physicalAxeslogicalAxes)rI   rw   ry   r   r   r   r?  r@  r}   s     r   r   CSSContainerQuery.to_jsonC  s    vyyV;;" KK//1DM*#'#6#6#>#>#@D 99 99DL)#'#5#5#=#=#?D ("&"3"3";";"=Dr   c                t   U " [        US   5      SU;   a  [        R                  US   5      OS SU;   a  [        R                  US   5      OS SU;   a  [        US   5      OS SU;   a"  [        R
                  R                  US   5      OS SU;   a$  [        R                  R                  US   5      S9$ S S9$ )Nrw   r|   r   r   rB  rC  )rw   ry   r   r   r?  r@  )r$   r   r   r   r   PhysicalAxesLogicalAxesr   s     r   r   CSSContainerQuery.from_jsonR  s    T&\";Bd?;((g7PTKY]aKa<11$~2FGgk&,nT&\"$N\`dNd#**44T.5IJjnKX\`K`2243FG
 	
 gk
 	
r   r   )r%   r&   r'   r(   r9   rR   ry   r   r   r?  r@  r   r)   r   r*   r   r   r   r   r   +  sh     I ,0F(/ 59N18 "&D
% 8<M4; 6:L29 
 
r   r   c                  `    \ rS rSr% SrS\S'   S\S'   SrS\S	'   SrS
\S'   S r\	S 5       r
Srg)r   i^  z"
CSS Supports at-rule descriptor.
r$   rw   r   r-  Nrx   ry   r   r   c                    [        5       nU R                  US'   U R                  US'   U R                  b  U R                  R	                  5       US'   U R
                  b  U R
                  R	                  5       US'   U$ )Nrw   r-  r|   r   )rI   rw   r-  ry   r   r   r}   s     r   r   CSSSupports.to_jsonp  sm    vyyVX;;" KK//1DM*#'#6#6#>#>#@D r   c           	         U " [        US   5      [        US   5      SU;   a  [        R                  US   5      OS SU;   a  [        R                  US   5      S9$ S S9$ )Nrw   r-  r|   r   )rw   r-  ry   r   )r$   r   r   r   r   r   s     r   r   CSSSupports.from_jsonz  sn    T&\"X';Bd?;((g7PTKY]aKa<11$~2FG	
 	
 hl	
 	
r   r   r%   r&   r'   r(   r9   rR   ry   r   r   r)   r   r*   r   r   r   r   r   ^  sH     I L ,0F(/ 59N18 
 
r   r   c                  V    \ rS rSr% SrS\S'   SrS\S'   SrS\S	'   S
 r\	S 5       r
Srg)r   i  z
CSS Scope at-rule descriptor.
r$   rw   Nrx   ry   r   r   c                    [        5       nU R                  US'   U R                  b  U R                  R                  5       US'   U R                  b  U R                  R                  5       US'   U$ Nrw   r|   r   rI   rw   ry   r   r   r}   s     r   r   CSSScope.to_json  `    vyyV;;" KK//1DM*#'#6#6#>#>#@D r   c                    U " [        US   5      SU;   a  [        R                  US   5      OS SU;   a  [        R                  US   5      S9$ S S9$ Nrw   r|   r   )rw   ry   r   r$   r   r   r   r   s     r   r   CSSScope.from_json  b    T&\";Bd?;((g7PTKY]aKa<11$~2FG
 	
 hl
 	
r   r   rN  r   r   r   r   r     A     I ,0F(/ 59N18 
 
r   r   c                  V    \ rS rSr% SrS\S'   SrS\S'   SrS\S	'   S
 r\	S 5       r
Srg)r   i  z
CSS Layer at-rule descriptor.
r$   rw   Nrx   ry   r   r   c                    [        5       nU R                  US'   U R                  b  U R                  R                  5       US'   U R                  b  U R                  R                  5       US'   U$ rQ  rR  r}   s     r   r   CSSLayer.to_json  rT  r   c                    U " [        US   5      SU;   a  [        R                  US   5      OS SU;   a  [        R                  US   5      S9$ S S9$ rV  rW  r   s     r   r   CSSLayer.from_json  rY  r   r   rN  r   r   r   r   r     rZ  r   r   c                  R    \ rS rSr% SrS\S'   S\S'   SrS\S	'   S
 r\S 5       r	Sr
g)CSSLayerDatai  z
CSS Layer data.
r$   r   r   orderNz*typing.Optional[typing.List[CSSLayerData]]
sub_layersc                    [        5       nU R                  US'   U R                  US'   U R                  b-  U R                   Vs/ s H  o"R	                  5       PM     snUS'   U$ s  snf )Nr   rb  	subLayers)rI   r   rb  rc  r   rJ   s      r   r   CSSLayerData.to_json  sY    vyyV

W??&6:oo Foo FD !Gs   A%c           
         U " [        US   5      [        US   5      SU;   a+  US    Vs/ s H  n[        R                  U5      PM     snS9$ S S9$ s  snf )Nr   rb  re  )r   rb  rc  )r$   r   ra  r   rP   s      r   r   CSSLayerData.from_json  sj    T&\"W&Q\`dQd4;LM;La..q1;LM
 	
 ko
 	
 Ns   Ar   )r%   r&   r'   r(   r9   rR   rc  r   r)   r   r*   r   r   r   ra  ra    s<     I L >BJ:A 
 
r   ra  c                  X    \ rS rSr% SrS\S'   S\S'   S\S'   S\S	'   S
 r\S 5       rSr	g)PlatformFontUsagei  zH
Information about amount of glyphs that were rendered with given font.
r$   family_namepost_script_namer   is_custom_fontr   glyph_countc                    [        5       nU R                  US'   U R                  US'   U R                  US'   U R                  US'   U$ )N
familyNamepostScriptNameisCustomFont
glyphCount)rI   rk  rl  rm  rn  r}   s     r   r   PlatformFontUsage.to_json  sO    v!--\!%!6!6#22^!--\r   c           	     t    U " [        US   5      [        US   5      [        US   5      [        US   5      S9$ )Nrp  rq  rr  rs  )rk  rl  rm  rn  )r$   r   r   r   s     r   r   PlatformFontUsage.from_json  sD    D./ &6!78^ 45d<01	
 	
r   r   Nrh   r   r   r   rj  rj    s@         
 
r   rj  c                  b    \ rS rSr% SrS\S'   S\S'   S\S'   S\S'   S\S	'   S
 r\S 5       rSr	g)FontVariationAxisi	  z:
Information about font variation axes for variable fonts
r$   tagr   r   	min_value	max_valuedefault_valuec                    [        5       nU R                  US'   U R                  US'   U R                  US'   U R                  US'   U R
                  US'   U$ )Nry  r   minValuemaxValuedefaultValue)rI   ry  r   rz  r{  r|  r}   s     r   r   FontVariationAxis.to_json  sT    vhhUyyV>>Z>>Z#11^r   c           
         U " [        US   5      [        US   5      [        US   5      [        US   5      [        US   5      S9$ )Nry  r   r~  r  r  )ry  r   rz  r{  r|  )r$   r   r   s     r   r   FontVariationAxis.from_json&  sN    DK T&\"D,-D,-^ 45
 	
r   r   Nrh   r   r   r   rx  rx  	  sF     
H I    
 
r   rx  c                      \ rS rSr% SrS\S'   S\S'   S\S'   S\S'   S\S'   S\S	'   S\S
'   S\S'   S\S'   SrS\S'   S r\S 5       r	Sr
g)FontFacei1  z
Properties of a web font: https://www.w3.org/TR/2008/REC-CSS2-20080411/fonts.html#font-descriptions
and additional information such as platformFontFamily and fontVariationAxes.
r$   font_family
font_stylefont_variantfont_weightfont_stretchfont_displayunicode_rangesrcplatform_font_familyNz/typing.Optional[typing.List[FontVariationAxis]]font_variation_axesc                   [        5       nU R                  US'   U R                  US'   U R                  US'   U R                  US'   U R
                  US'   U R                  US'   U R                  US'   U R                  US'   U R                  US	'   U R                  b-  U R                   Vs/ s H  o"R                  5       PM     snUS
'   U$ s  snf )N
fontFamily	fontStylefontVariant
fontWeightfontStretchfontDisplayunicodeRanger  platformFontFamilyfontVariationAxes)rI   r  r  r  r  r  r  r  r  r  r  r   rJ   s      r   r   FontFace.to_jsonU  s    v!--\ OO["//]!--\"//]"//]#11^hhU%)%>%>!"##/>B>V>V(W>V>V(WD$% )Xs   -Cc                d   U " [        US   5      [        US   5      [        US   5      [        US   5      [        US   5      [        US   5      [        US   5      [        US   5      [        US	   5      S
U;   a+  US
    Vs/ s H  n[        R                  U5      PM     snS9
$ S S9
$ s  snf )Nr  r  r  r  r  r  r  r  r  r  )
r  r  r  r  r  r  r  r  r  r  )r$   rx  r   rP   s      r   r   FontFace.from_jsond  s    D./4,-T-01D./T-01T-01d>23DK !$T*>%?!@gz  C  hCNaIb cIbA!2!<!<Q!?Ib c
 	
 IM
 	
 !ds   B-r   )r%   r&   r'   r(   r9   rR   r  r   r)   r   r*   r   r   r   r  r  1  sv    
  O      
H  LPHO 
 
r   r  c                  R    \ rS rSr% SrS\S'   S\S'   SrS\S	'   S
 r\S 5       r	Sr
g)
CSSTryRuleit  z
CSS try rule representation.
r-   r   r]   r   Nr   r   c                    [        5       nU R                  R                  5       US'   U R                  R                  5       US'   U R                  b  U R                  R                  5       US'   U$ )Nr   r   r   )rI   r   r   r   r   r}   s     r   r   CSSTryRule.to_json  s_    v,,.X

**,W*#'#6#6#>#>#@D r   c                    U " [         R                  US   5      [        R                  US   5      SU;   a  [        R                  US   5      S9$ S S9$ )Nr   r   r   )r   r   r   )r-   r   r]   r   r   s     r   r   CSSTryRule.from_json  s_    #--d8n=$$T']3KY]aKa<11$~2FG
 	
 hl
 	
r   r   r%   r&   r'   r(   r9   rR   r   r   r)   r   r*   r   r   r   r  r  t  s<      O 59N18 
 
r   r  c                  f    \ rS rSr% SrS\S'   S\S'   S\S'   S	\S
'   SrS\S'   S r\S 5       r	Sr
g)CSSPositionTryRulei  z(
CSS @position-try rule representation.
ru   r   r-   r   r]   r   r   r-  Nr   r   c                :   [        5       nU R                  R                  5       US'   U R                  R                  5       US'   U R                  R                  5       US'   U R
                  US'   U R                  b  U R                  R                  5       US'   U$ )Nr   r   r   r-  r   )rI   r   r   r   r   r-  r   r}   s     r   r   CSSPositionTryRule.to_json  s    vyy((*V,,.X

**,WX*#'#6#6#>#>#@D r   c           
         U " [         R                  US   5      [        R                  US   5      [        R                  US   5      [	        US   5      SU;   a  [
        R                  US   5      S9$ S S9$ )Nr   r   r   r-  r   )r   r   r   r-  r   )ru   r   r-   r]   r   r   r   s     r   r   CSSPositionTryRule.from_json  s{    f.#--d8n=$$T']3X'KY]aKa<11$~2FG
 	

 hl
 	
r   r   r  r   r   r   r  r    sH     K  OL 59N18 
 
r   r  c                  D    \ rS rSr% SrS\S'   S\S'   S r\S 5       rS	r	g
)CSSKeyframesRulei  z$
CSS keyframes rule representation.
ru   animation_nameztyping.List[CSSKeyframeRule]	keyframesc                    [        5       nU R                  R                  5       US'   U R                   Vs/ s H  o"R                  5       PM     snUS'   U$ s  snf )NanimationNamer  )rI   r  r   r  rJ   s      r   r   CSSKeyframesRule.to_json  sN    v $ 3 3 ; ; =_26..A.QYY[.A[ Bs   Ac           	         U " [         R                  US   5      US    Vs/ s H  n[        R                  U5      PM     snS9$ s  snf )Nr  r  )r  r  )ru   r   CSSKeyframeRulerP   s      r   r   CSSKeyframesRule.from_json  sG     ??4+@A=A+=NO=N003=NO
 	
Os   A
r   Nrh   r   r   r   r  r    s0      ,+ 
 
r   r  c                  \    \ rS rSr% SrS\S'   S\S'   S\S'   SrS	\S
'   S r\S 5       r	Sr
g)CSSPropertyRegistrationi  zO
Representation of a custom property registration through CSS.registerProperty
r$   property_namer   inheritssyntaxNztyping.Optional[Value]initial_valuec                    [        5       nU R                  US'   U R                  US'   U R                  US'   U R                  b  U R                  R                  5       US'   U$ )NpropertyNamer  r  initialValue)rI   r  r  r  r  r   r}   s     r   r   CSSPropertyRegistration.to_json  s^    v#11^==ZX)#'#5#5#=#=#?D r   c           	         U " [        US   5      [        US   5      [        US   5      SU;   a  [        R                  US   5      S9$ S S9$ )Nr  r  r  r  )r  r  r  r  )r$   r   ru   r   r   s     r   r   !CSSPropertyRegistration.from_json  s_    d>23$z*+tH~&CQUYCY%//$~*>?	
 	
 `d	
 	
r   r   )r%   r&   r'   r(   r9   rR   r  r   r)   r   r*   r   r   r   r  r    s=     NK,0M)0 
 
r   r  c                  \    \ rS rSr% SrS\S'   S\S'   S\S'   S	rS
\S'   S r\S 5       r	Sr
g	)CSSFontPaletteValuesRulei  z.
CSS font-palette-values rule representation.
r-   r   ru   font_palette_namer]   r   Nr   r   c                   [        5       nU R                  R                  5       US'   U R                  R                  5       US'   U R                  R                  5       US'   U R
                  b  U R
                  R                  5       US'   U$ )Nr   fontPaletteNamer   r   )rI   r   r   r  r   r   r}   s     r   r    CSSFontPaletteValuesRule.to_json  sy    v,,.X"&"8"8"@"@"B

**,W*#'#6#6#>#>#@D r   c           	         U " [         R                  US   5      [        R                  US   5      [        R                  US   5      SU;   a  [        R                  US   5      S9$ S S9$ )Nr   r  r   r   )r   r  r   r   r-   r   ru   r]   r   r   s     r   r   "CSSFontPaletteValuesRule.from_json  sq    #--d8n=#ood3D.EF$$T']3KY]aKa<11$~2FG	
 	
 hl	
 	
r   r   r  r   r   r   r  r    sD       O 59N18 
 
r   r  c                  \    \ rS rSr% SrS\S'   S\S'   S\S'   S	rS
\S'   S r\S 5       r	Sr
g	)CSSPropertyRulei  z&
CSS property at-rule representation.
r-   r   ru   r  r]   r   Nr   r   c                   [        5       nU R                  R                  5       US'   U R                  R                  5       US'   U R                  R                  5       US'   U R
                  b  U R
                  R                  5       US'   U$ )Nr   r  r   r   )rI   r   r   r  r   r   r}   s     r   r   CSSPropertyRule.to_json-  sx    v,,.X#1199;^

**,W*#'#6#6#>#>#@D r   c           	         U " [         R                  US   5      [        R                  US   5      [        R                  US   5      SU;   a  [        R                  US   5      S9$ S S9$ )Nr   r  r   r   )r   r  r   r   r  r   s     r   r   CSSPropertyRule.from_json6  sp    #--d8n=//$~*>?$$T']3KY]aKa<11$~2FG	
 	
 hl	
 	
r   r   r  r   r   r   r  r    sD       O 59N18 
 
r   r  c                  \    \ rS rSr% SrS\S'   S\S'   S\S'   S	rS
\S'   S r\S 5       r	Sr
g	)r  i@  z#
CSS keyframe rule representation.
r-   r   ru   key_textr]   r   Nr   r   c                   [        5       nU R                  R                  5       US'   U R                  R                  5       US'   U R                  R                  5       US'   U R
                  b  U R
                  R                  5       US'   U$ )Nr   keyTextr   r   )rI   r   r   r  r   r   r}   s     r   r   CSSKeyframeRule.to_jsonR  su    v,,.X--//1Y

**,W*#'#6#6#>#>#@D r   c           	         U " [         R                  US   5      [        R                  US   5      [        R                  US   5      SU;   a  [        R                  US   5      S9$ S S9$ )Nr   r  r   r   )r   r  r   r   r  r   s     r   r   CSSKeyframeRule.from_json[  so    #--d8n=__T)_5$$T']3KY]aKa<11$~2FG	
 	
 hl	
 	
r   r   r  r   r   r   r  r  @  sC      O O 59N18 
 
r   r  c                  N    \ rS rSr% SrS\S'   S\S'   S\S'   S	 r\S
 5       rSr	g)StyleDeclarationEditie  z=
A descriptor of operation to mutate style declaration text.
r   r   r   ry   r$   rw   c                    [        5       nU R                  R                  5       US'   U R                  R                  5       US'   U R                  US'   U$ )Nr   r|   rw   )rI   r   r   ry   rw   r}   s     r   r   StyleDeclarationEdit.to_jsons  sJ    v#22::<^++-WyyVr   c                    U " [         R                  US   5      [        R                  US   5      [        US   5      S9$ )Nr   r|   rw   )r   ry   rw   )r   r   r   r$   r   s     r   r   StyleDeclarationEdit.from_jsonz  s@    '11$~2FG((g7T&\"
 	
r   r   Nrh   r   r   r   r  r  e  s7     !   I 
 
r   r  c              #     #    [        5       nU R                  5       US'   XS'   UR                  5       US'   Ub  UR                  5       US'   SUS.nUv n[        R                  US   5      $ 7f)a  
Inserts a new rule with the given ``ruleText`` in a stylesheet with given ``styleSheetId``, at the
position specified by ``location``.

:param style_sheet_id: The css style sheet identifier where a new rule should be inserted.
:param rule_text: The text of a new rule.
:param location: Text position of a new rule in the target style sheet.
:param node_for_property_syntax_validation: **(EXPERIMENTAL)** *(Optional)* NodeId for the DOM node in whose context custom property declarations for registered properties should be validated. If omitted, declarations in the new rule text can only be validated statically, which may produce incorrect results if the declaration contains a var() for example.
:returns: The newly created rule.
r   ruleTextlocationnodeForPropertySyntaxValidationzCSS.addRulemethodparamsrl   )rI   r   rk   r   )r   	rule_textr  #node_for_property_syntax_validationr  cmd_dictr   s          r   add_ruler    s       &F+335F>":!))+F:*64W4_4_4a01H >DT&\**s   A,A.c              #     #    [        5       nU R                  5       US'   SUS.nUv nUS    Vs/ s H  n[        U5      PM     sn$ s  snf 7f)zg
Returns all class names from specified stylesheet.

:param style_sheet_id:
:returns: Class name list.
r   zCSS.collectClassNamesr  
classNamesrI   r   r$   )r   r  r  r   rK   s        r   collect_class_namesr    sZ      &F+335F>)H >D ./.qCF.///s   .AAAc              #     #    [        5       nU R                  5       US'   SUS.nUv n[        R                  US   5      $ 7f)z
Creates a new special "via-inspector" stylesheet in the frame with given ``frameId``.

:param frame_id: Identifier of the frame where "via-inspector" stylesheet should be created.
:returns: Identifier of the created "via-inspector" stylesheet.
r   zCSS.createStyleSheetr  r   )rI   r   r   r   )r   r  r  r   s       r   create_style_sheetr    sM      &F ((*F9(H >D!!$~"677   ?Ac               #     #    SS0n U v ng7f)z,
Disables the CSS agent for the given page.
r  zCSS.disableNr   r  r   s     r   disabler    s     
 	-H >D   
c               #     #    SS0n U v ng7f)z
Enables the CSS agent for the given page. Clients should not assume that the CSS agent has been
enabled until the result of this command is received.
r  z
CSS.enableNr   r  s     r   enabler    s      	,H >Dr  c              #     #    [        5       nU R                  5       US'   U Vs/ s H  o3PM     snUS'   SUS.nUv ngs  snf 7f)a  
Ensures that the given node will have specified pseudo-classes whenever its style is computed by
the browser.

:param node_id: The element id for which to force the pseudo state.
:param forced_pseudo_classes: Element pseudo classes to force when computing the element's style.
nodeIdforcedPseudoClasseszCSS.forcePseudoStater  NrI   r   )node_idforced_pseudo_classesr  rK   r  r   s         r   force_pseudo_stater    sW      &F(F80E$F0E1Q0E$FF !(H >D %Gs   "A?Ac              #    #    [        5       nU R                  5       US'   SUS.nUv nSU;   a  US    Vs/ s H  n[        U5      PM     snOSSU;   a  [        US   5      OSSU;   a  [        US   5      4$ S4$ s  snf 7f)aA  
:param node_id: Id of the node to get background colors for.
:returns: A tuple with the following items:

    0. **backgroundColors** - *(Optional)* The range of background colors behind this element, if it contains any visible text. If no visible text is present, this will be undefined. In the case of a flat background color, this will consist of simply that color. In the case of a gradient, this will consist of each of the color stops. For anything more complicated, this will be an empty array. Images will be ignored (as if the image had failed to load).
    1. **computedFontSize** - *(Optional)* The computed font size for this node, as a CSS computed value string (e.g. '12px').
    2. **computedFontWeight** - *(Optional)* The computed font weight for this node, as a CSS computed value string (e.g. 'normal' or '100').
r  zCSS.getBackgroundColorsr  backgroundColorsNcomputedFontSizecomputedFontWeightr  r  r  r  r   rK   s        r   get_background_colorsr     s      &F(F8+H >D6HD6P0121AQ12VZ);t)CD#$%+?4+GD%&'  NR 2s   4BA<6Bc              #     #    [        5       nU R                  5       US'   SUS.nUv nUS    Vs/ s H  n[        R                  U5      PM     sn$ s  snf 7f)z
Returns the computed style for a DOM node identified by ``nodeId``.

:param node_id:
:returns: Computed style for the specified DOM node.
r  zCSS.getComputedStyleForNoder  computedStyle)rI   r   r  r   r  s        r   get_computed_style_for_noder  
  s`      &F(F8/H >D;?;PQ;Pa$..q1;PQQQ   .AAAc              #     #    [        5       nU R                  5       US'   SUS.nUv nSU;   a  [        R                  US   5      OSSU;   a  [        R                  US   5      4$ S4$ 7f)a  
Returns the styles defined inline (explicitly in the "style" attribute and implicitly, using DOM
attributes) for a DOM node identified by ``nodeId``.

:param node_id:
:returns: A tuple with the following items:

    0. **inlineStyle** - *(Optional)* Inline style for the specified DOM node.
    1. **attributesStyle** - *(Optional)* Attribute-defined element style (e.g. resulting from "width=20 height=100%").
r  zCSS.getInlineStylesForNoder  rZ   NattributesStylerI   r   r]   r   r  r  r  r   s       r   get_inline_styles_for_noder	    s      &F(F8.H >D3@D3H4./d7HD7P4 123 VZ s   A(A*c              #    #    [        5       nU R                  5       US'   SUS.nUv nSU;   a  [        R                  US   5      OSSU;   a  [        R                  US   5      OSSU;   a)  US    Vs/ s H  n[        R                  U5      PM     snOSSU;   a)  US    Vs/ s H  n[
        R                  U5      PM     snOSS	U;   a)  US	    Vs/ s H  n[        R                  U5      PM     snOSS
U;   a)  US
    Vs/ s H  n[        R                  U5      PM     snOSSU;   a)  US    Vs/ s H  n[        R                  U5      PM     snOSSU;   a)  US    Vs/ s H  n[        R                  U5      PM     snOSSU;   a  [        US   5      OSSU;   a)  US    Vs/ s H  n[        R                  U5      PM     snOSSU;   a)  US    Vs/ s H  n[        R                  U5      PM     snOSSU;   a  [        R                  US   5      OSSU;   a#  [        R                  R                  US   5      4$ S4$ s  snf s  snf s  snf s  snf s  snf s  snf s  snf s  snf 7f)ae  
Returns requested styles for a DOM node identified by ``nodeId``.

:param node_id:
:returns: A tuple with the following items:

    0. **inlineStyle** - *(Optional)* Inline style for the specified DOM node.
    1. **attributesStyle** - *(Optional)* Attribute-defined element style (e.g. resulting from "width=20 height=100%").
    2. **matchedCSSRules** - *(Optional)* CSS rules matching this node, from all applicable stylesheets.
    3. **pseudoElements** - *(Optional)* Pseudo style matches for this node.
    4. **inherited** - *(Optional)* A chain of inherited styles (from the immediate node parent up to the DOM tree root).
    5. **inheritedPseudoElements** - *(Optional)* A chain of inherited pseudo element styles (from the immediate node parent up to the DOM tree root).
    6. **cssKeyframesRules** - *(Optional)* A list of CSS keyframed animations matching this node.
    7. **cssPositionTryRules** - *(Optional)* A list of CSS @position-try rules matching this node, based on the position-try-fallbacks property.
    8. **activePositionFallbackIndex** - *(Optional)* Index of the active fallback in the applied position-try-fallback property, will not be set if there is no active position-try fallback.
    9. **cssPropertyRules** - *(Optional)* A list of CSS at-property rules matching this node.
    10. **cssPropertyRegistrations** - *(Optional)* A list of CSS property registrations matching this node.
    11. **cssFontPaletteValuesRule** - *(Optional)* A font-palette-values rule matching this node.
    12. **parentLayoutNodeId** - *(Optional)* Id of the first parent element that does not have display: contents.
r  zCSS.getMatchedStylesForNoder  rZ   Nr  rY   rd   	inheritedinheritedPseudoElementscssKeyframesRulescssPositionTryRulesactivePositionFallbackIndexcssPropertyRulescssPropertyRegistrationscssFontPaletteValuesRuleparentLayoutNodeId)rI   r   r]   r   rO   r?   rT   r`   r  r  rr   r  r  r  r   NodeIdr  s        r   get_matched_styles_for_noder  7  s    . &F(F8/H >D3@D3H4./d7HD7P4 123VZEVZ^E^.?)@A)@A		Q	)@AdhO_cgOgD9I4JK4Jq		'	'	*4JKmqITX\I\43DE3Da		&	&q	)3DEbfaz  C  bCTB[=\]=\	&	0	0	3=\]  IMNaeiNi5H0IJ0I1		#	#A	&0IJosRgkoRo$7L2MN2MQ		%	%a	(2MNuy4QUY4YD./0_cL^bfLft4F/GH/G!	"	"1	%/GHlp\vz~\~t<V7WX7W!	 	*	*1	-7WX  EIPjnrPr **40J+KLx|<PTX<X

T"678  _c  	BKE]JNHXsg   A2I/4II/$I
I/I3I/I#I/4II/$I &I/)I%I/I*8A7I/c               #  v   #    SS0n U v nUS    Vs/ s H  n[         R                  U5      PM     sn$ s  snf 7f)zG
Returns all media queries parsed by the rendering engine.

:returns: 
r  zCSS.getMediaQueriesmedias)r   r   r  r   rK   s      r   get_media_queriesr  f  sD      	'H >D+/>:>aHq!>:::   949c              #     #    [        5       nU R                  5       US'   SUS.nUv nUS    Vs/ s H  n[        R                  U5      PM     sn$ s  snf 7f)z
Requests information about platform fonts which we used to render child TextNodes in the given
node.

:param node_id:
:returns: Usage statistics for every employed platform font.
r  zCSS.getPlatformFontsForNoder  fonts)rI   r   rj  r   r  s        r   get_platform_fonts_for_noder  s  s]      &F(F8/H >D48MBMq''*MBBBr  c              #  r   #    [        5       nU R                  5       US'   SUS.nUv n[        US   5      $ 7f)zn
Returns the current textual content for a stylesheet.

:param style_sheet_id:
:returns: The stylesheet text.
r   zCSS.getStyleSheetTextr  rw   r  )r   r  r  r   s       r   get_style_sheet_textr    sF      &F+335F>)H >DtF|s   57c              #     #    [        5       nU R                  5       US'   SUS.nUv n[        R                  US   5      $ 7f)aV  
Returns all layers parsed by the rendering engine for the tree scope of a node.
Given a DOM element identified by nodeId, getLayersForNode returns the root
layer for the nearest ancestor document or shadow root. The layer root contains
the full layer tree for the tree scope and their ordering.

**EXPERIMENTAL**

:param node_id:
:returns: 
r  zCSS.getLayersForNoder  	rootLayer)rI   r   ra  r   r  s       r   get_layers_for_noder"    sK      &F(F8(H >D!!${"344r  c              #     #    [        5       nU R                  5       US'   XS'   SUS.nUv nUS    Vs/ s H  n[        R                  U5      PM     sn$ s  snf 7f)z
Given a CSS selector text and a style sheet ID, getLocationForSelector
returns an array of locations of the CSS selector in the style sheet.

**EXPERIMENTAL**

:param style_sheet_id:
:param selector_text:
:returns: 
r   selectorTextzCSS.getLocationForSelectorr  ranges)rI   r   r   r   )r   selector_textr  r  r   rK   s         r   get_location_for_selectorr'    sf      &F+335F>*>.H >D.28n=nK!!!$n===s   2AAAc              #     #    [        5       nU  Vs/ s H  o"R                  5       PM     snUS'   SUS.nUv ngs  snf 7f)a$  
Starts tracking the given computed styles for updates. The specified array of properties
replaces the one previously specified. Pass empty array to disable tracking.
Use takeComputedStyleUpdates to retrieve the list of nodes that had properties modified.
The changes to computed style properties are only tracked for nodes pushed to the front-end
by the DOM agent. If no changes to the tracked properties occur after the node has been pushed
to the front-end, no updates will be issued for the node.

**EXPERIMENTAL**

:param properties_to_track:
propertiesToTrackzCSS.trackComputedStyleUpdatesr  Nr  )properties_to_trackr  rK   r  r   s        r   track_computed_style_updatesr+    sJ      &F8K"L8K199;8K"LF1H >D #Ms   ?:?c               #     #    SS0n U v nUS    Vs/ s H"  n[         R                  R                  U5      PM$     sn$ s  snf 7f)z
Polls the next batch of computed style updates.

**EXPERIMENTAL**

:returns: The list of node Ids that have their tracked computed styles updated.
r  zCSS.takeComputedStyleUpdatesnodeIds)r   r  r   r  s      r   take_computed_style_updatesr.    sH      	0H >D-1)_=_CJJ  #_===s   A)>Ac              #  h   #    [        5       nU R                  5       US'   XS'   X#S'   SUS.nUv ng7f)z
Find a rule with the given active property for the given node and set the new value for this
property

:param node_id: The element id for which to set property.
:param property_name:
:param value:
r  r  r4   z$CSS.setEffectivePropertyValueForNoder  Nr  )r  r  r4   r  r  r   s         r   %set_effective_property_value_for_noder0    sD      &F(F8*>7O8H >Ds   02c              #     #    [        5       nU R                  5       US'   UR                  5       US'   X#S'   SUS.nUv n[        R                  US   5      $ 7f)z
Modifies the property rule property name.

:param style_sheet_id:
:param range_:
:param property_name:
:returns: The resulting key text after modification.
r   r|   r  zCSS.setPropertyRulePropertyNamer  rI   r   ru   r   )r   ry   r  r  r  r   s         r   set_property_rule_property_namer3  
  sc      &F+335F>nn&F7O*>3H >D??4/00   AAc              #     #    [        5       nU R                  5       US'   UR                  5       US'   X#S'   SUS.nUv n[        R                  US   5      $ 7f)z
Modifies the keyframe rule key text.

:param style_sheet_id:
:param range_:
:param key_text:
:returns: The resulting key text after modification.
r   r|   r  zCSS.setKeyframeKeyr  r2  )r   ry   r  r  r  r   s         r   set_keyframe_keyr6  #  sb      &F+335F>nn&F7O 9&H >D??4	?++r4  c              #     #    [        5       nU R                  5       US'   UR                  5       US'   X#S'   SUS.nUv n[        R                  US   5      $ 7f)z
Modifies the rule selector.

:param style_sheet_id:
:param range_:
:param text:
:returns: The resulting CSS media rule after modification.
r   r|   rw   zCSS.setMediaTextr  r   )rI   r   r   r   r   ry   rw   r  r  r   s         r   set_media_textr9  <  sc      &F+335F>nn&F7O6N$H >Dd7m,,r4  c              #     #    [        5       nU R                  5       US'   UR                  5       US'   X#S'   SUS.nUv n[        R                  US   5      $ 7f)z
Modifies the expression of a container query.

**EXPERIMENTAL**

:param style_sheet_id:
:param range_:
:param text:
:returns: The resulting CSS container query rule after modification.
r   r|   rw   zCSS.setContainerQueryTextr  containerQuery)rI   r   r   r   r8  s         r   set_container_query_textr<  U  se      &F+335F>nn&F7O6N-H >D&&t,<'=>>r4  c              #     #    [        5       nU R                  5       US'   UR                  5       US'   X#S'   SUS.nUv n[        R                  US   5      $ 7f)z
Modifies the expression of a supports at-rule.

**EXPERIMENTAL**

:param style_sheet_id:
:param range_:
:param text:
:returns: The resulting CSS Supports rule after modification.
r   r|   rw   zCSS.setSupportsTextr  r   )rI   r   r   r   r8  s         r   set_supports_textr>  p  sd      &F+335F>nn&F7O6N'H >D  j!122r4  c              #     #    [        5       nU R                  5       US'   UR                  5       US'   X#S'   SUS.nUv n[        R                  US   5      $ 7f)z
Modifies the expression of a scope at-rule.

**EXPERIMENTAL**

:param style_sheet_id:
:param range_:
:param text:
:returns: The resulting CSS Scope rule after modification.
r   r|   rw   zCSS.setScopeTextr  scope)rI   r   r   r   r8  s         r   set_scope_textrA    sc      &F+335F>nn&F7O6N$H >Dd7m,,r4  c              #     #    [        5       nU R                  5       US'   UR                  5       US'   X#S'   SUS.nUv n[        R                  US   5      $ 7f)z
Modifies the rule selector.

:param style_sheet_id:
:param range_:
:param selector:
:returns: The resulting selector list after modification.
r   r|   selectorzCSS.setRuleSelectorr  r   )rI   r   r   r   )r   ry   rC  r  r  r   s         r   set_rule_selectorrD    se      &F+335F>nn&F7O!:'H >D!!$~"677r4  c              #     #    [        5       nU R                  5       US'   XS'   SUS.nUv nSU;   a  [        US   5      $ S$ 7f)z
Sets the new stylesheet text.

:param style_sheet_id:
:param text:
:returns: *(Optional)* URL of source map associated with script (if any).
r   rw   zCSS.setStyleSheetTextr  r   Nr  )r   rw   r  r  r   s        r   set_style_sheet_textrF    sZ      &F+335F>6N)H >D(6$(>3tN#$HDHs   AAc              #    #    [        5       nU  Vs/ s H  o3R                  5       PM     snUS'   Ub  UR                  5       US'   SUS.nUv nUS    Vs/ s H  n[        R                  U5      PM     sn$ s  snf s  snf 7f)a  
Applies specified style edits one after another in the given order.

:param edits:
:param node_for_property_syntax_validation: **(EXPERIMENTAL)** *(Optional)* NodeId for the DOM node in whose context custom property declarations for registered properties should be validated. If omitted, declarations in the new rule text can only be validated statically, which may produce incorrect results if the declaration contains a var() for example.
:returns: The resulting styles after modification.
editsr  zCSS.setStyleTextsr  stylesr  )rH  r  r  rK   r  r   s         r   set_style_textsrJ    s      &F,12Eqyy{E2F7O*64W4_4_4a01%H >D+/>:>aHq!>:: 3 ;s   BA8,BA=5Bc               #     #    SS0n U v ng7f)z!
Enables the selector recording.
r  zCSS.startRuleUsageTrackingNr   r  s     r   start_rule_usage_trackingrL    s     
 	.H >Dr  c               #  v   #    SS0n U v nUS    Vs/ s H  n[         R                  U5      PM     sn$ s  snf 7f)z
Stop tracking rule usage and return the list of rules that were used since last call to
``takeCoverageDelta`` (or since start of coverage instrumentation).

:returns: 
r  zCSS.stopRuleUsageTracking	ruleUsage)r   r   r  s      r   stop_rule_usage_trackingrO    sG      	-H >D,0,=>,=qI",=>>>r  c               #     #    SS0n U v nUS    Vs/ s H  n[         R                  U5      PM     sn[        US   5      4$ s  snf 7f)z
Obtain list of rules that became used since last call to this method (or since start of coverage
instrumentation).

:returns: A tuple with the following items:

    0. **coverage** - 
    1. **timestamp** - Monotonically increasing time, in seconds.
r  zCSS.takeCoverageDeltacoverage	timestamp)r   r   r   r  s      r   take_coverage_deltarS    s[      	)H >D)-j)9:)9A		Q	)9:d;  :s   AAAc              #  :   #    [        5       nXS'   SUS.nUv ng7f)z
Enables/disables rendering of local CSS fonts (enabled by default).

**EXPERIMENTAL**

:param enabled: Whether rendering of local fonts is enabled.
enabledzCSS.setLocalFontsEnabledr  N)rI   )rU  r  r  r   s       r   set_local_fonts_enabledrV    s,      &F9,H >Ds   zCSS.fontsUpdatedc                  8    \ rS rSr% SrS\S'   \SS j5       rSrg)	FontsUpdatedi+  zm
Fires whenever a web font is updated.  A non-empty font parameter indicates a successfully loaded
web font.
ztyping.Optional[FontFace]fontc                N    U " SU;   a  [         R                  US   5      S9$ S S9$ )NrY  )rY  )r  r   r   s     r   r   FontsUpdated.from_json5  s4    5;t^##DL1
 	
IM
 	
r   r   N)r   r   r#   rX  	r%   r&   r'   r(   r9   rR   r)   r   r*   r   r   r   rX  rX  +  s!    
 $#
 
r   rX  zCSS.mediaQueryResultChangedc                  ,    \ rS rSrSr\SS j5       rSrg)MediaQueryResultChangedi<  z
Fires whenever a MediaQuery result changes (for example, after a browser window has been
resized.) The current implementation considers only viewport-dependent media features.
c                    U " 5       $ r   r   r   s     r   r   !MediaQueryResultChanged.from_jsonE  s     
 	
r   r   N)r   r   r#   r^  )r%   r&   r'   r(   r9   r)   r   r*   r   r   r   r^  r^  <  s     
 
r   r^  zCSS.styleSheetAddedc                  8    \ rS rSr% SrS\S'   \SS j5       rSrg)	StyleSheetAddediL  z8
Fired whenever an active document stylesheet is added.
r   headerc                :    U " [         R                  US   5      S9$ )Nrc  )rc  )r   r   r   s     r   r   StyleSheetAdded.from_jsonU  s!    &00h@
 	
r   r   N)r   r   r#   rb  r\  r   r   r   rb  rb  L  s!      
 
r   rb  zCSS.styleSheetChangedc                  8    \ rS rSr% SrS\S'   \SS j5       rSrg)	StyleSheetChangedi\  zM
Fired whenever a stylesheet is changed as a result of the client operation.
r   r   c                :    U " [         R                  US   5      S9$ Nr   )r   r   r   r   s     r   r   StyleSheetChanged.from_jsond  "    '11$~2FG
 	
r   r   N)r   r   r#   rg  r\  r   r   r   rg  rg  \  s!     ! 
 
r   rg  zCSS.styleSheetRemovedc                  8    \ rS rSr% SrS\S'   \SS j5       rSrg)	StyleSheetRemovedik  z:
Fired whenever an active document stylesheet is removed.
r   r   c                :    U " [         R                  US   5      S9$ ri  rj  r   s     r   r   StyleSheetRemoved.from_jsont  rl  r   r   N)r   r   r#   rn  r\  r   r   r   rn  rn  k  s!     ! 
 
r   rn  r   )
r   r   r  r$   r  r   r  typing.Optional[dom.NodeId]r#   z3typing.Generator[T_JSON_DICT, T_JSON_DICT, CSSRule])r   r   r#   z<typing.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[str]])r   r   r#   z8typing.Generator[T_JSON_DICT, T_JSON_DICT, StyleSheetId])r#   0typing.Generator[T_JSON_DICT, T_JSON_DICT, None])r  
dom.NodeIdr  ztyping.List[str]r#   rr  )r  rs  r#   ztyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[typing.Optional[typing.List[str]], typing.Optional[str], typing.Optional[str]]])r  rs  r#   zQtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[CSSComputedStyleProperty]])r  rs  r#   zntyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[typing.Optional[CSSStyle], typing.Optional[CSSStyle]]])r  rs  r#   aa  typing.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[typing.Optional[CSSStyle], typing.Optional[CSSStyle], typing.Optional[typing.List[RuleMatch]], typing.Optional[typing.List[PseudoElementMatches]], typing.Optional[typing.List[InheritedStyleEntry]], typing.Optional[typing.List[InheritedPseudoElementMatches]], typing.Optional[typing.List[CSSKeyframesRule]], typing.Optional[typing.List[CSSPositionTryRule]], typing.Optional[int], typing.Optional[typing.List[CSSPropertyRule]], typing.Optional[typing.List[CSSPropertyRegistration]], typing.Optional[CSSFontPaletteValuesRule], typing.Optional[dom.NodeId]]])r#   zAtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[CSSMedia]])r  rs  r#   zJtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[PlatformFontUsage]])r   r   r#   z/typing.Generator[T_JSON_DICT, T_JSON_DICT, str])r  rs  r#   z8typing.Generator[T_JSON_DICT, T_JSON_DICT, CSSLayerData])r   r   r&  r$   r#   zDtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[SourceRange]])r*  z%typing.List[CSSComputedStyleProperty]r#   rr  )r#   zCtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[dom.NodeId]])r  rs  r  r$   r4   r$   r#   rr  )r   r   ry   r   r  r$   r#   1typing.Generator[T_JSON_DICT, T_JSON_DICT, Value])r   r   ry   r   r  r$   r#   rt  )r   r   ry   r   rw   r$   r#   z4typing.Generator[T_JSON_DICT, T_JSON_DICT, CSSMedia])r   r   ry   r   rw   r$   r#   z=typing.Generator[T_JSON_DICT, T_JSON_DICT, CSSContainerQuery])r   r   ry   r   rw   r$   r#   z7typing.Generator[T_JSON_DICT, T_JSON_DICT, CSSSupports])r   r   ry   r   rw   r$   r#   z4typing.Generator[T_JSON_DICT, T_JSON_DICT, CSSScope])r   r   ry   r   rC  r$   r#   z8typing.Generator[T_JSON_DICT, T_JSON_DICT, SelectorList])r   r   rw   r$   r#   z@typing.Generator[T_JSON_DICT, T_JSON_DICT, typing.Optional[str]])rH  z!typing.List[StyleDeclarationEdit]r  rq  r#   zAtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[CSSStyle]])r#   zBtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[RuleUsage]])r#   zWtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[typing.List[RuleUsage], float]])rU  r   r#   rr  )W
__future__r   utilr   r   dataclassesr   enumtyping r   r	   r$   r   Enumr-   r?   rT   r`   rO   ru   r   r   r   rk   r   r   r   r   r  r]   r  r   r)  r1  r   r   r   r   ra  rj  rx  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.  r0  r3  r6  r9  r<  r>  rA  rD  rF  rJ  rL  rO  rS  rV  rX  r^  rb  rg  rn  r   r   r   <module>r|     s   # * !    	=3 	=tyy & 
 
 
< 
 
 
2 
 
 
& 
 
 
0 
 
 
> 
 
 
> 
 
 
0 p
 p
 p
f P
 P
 P
f$)) (  
  
  
F 
 
 
D 
 
 
6 
 
 
* (
 (
 (
V @
 @
 @
F 1
 1
 1
h 
 
 
0 &
 &
 &
R /
 /
 /
d "
 "
 "
J 
 
 
@ 
 
 
@ 
 
 
> 
 
 
D $
 $
 $
N ?
 ?
 ?
D 
 
 
> %
 %
 %
P 
 
 
0 
 
 
> !
 !
 !
H !
 !
 !
H !
 !
 !
H 
 
 
B LP	+$++ + .I	+
 
;+<0$0	C0&88	?8&/ 
8* 
O2RR	XR&	u4,, 
i	,^
;CC	QC($	6&55	?50>$>> 
L>2B	70>  
8	01$11 1 
9	12,$,, , 
9	,2-$-- - 
<	-2?$?? ? 
E	?63$33 3 
?	36-$-- - 
<	-68$88 8 
@	82I$II 
HI0 LP;0;-H; 
I;.?(	7&  

 
  !
 *+

 
  ,
 "#

 
  $
 $%


 

  &

 $%

 
  &
r   