+
     Big9                        R t ^ RIt]P                  ! R4      P                  t]P                  ! R4      P                  t]P                  ! R4      t]P                  ! R4      t]P                  ! R4      tA ! R R4      t	R# )	zShared support for scanning document type declarations in HTML and XHTML.

This module is used as a foundation for the html.parser module.  It has no
documented public API and should not be used directly.

Nz[a-zA-Z][-_.a-zA-Z0-9]*\s*z(\'[^\']*\'|"[^"]*")\s*z--\s*>z	]\s*]\s*>z]\s*>c                      a  ] tR t^t o RtR tR tR tR tRt	R t
RR ltRR	 ltR
 tR tR tR tR tR tR tRtV tR# )
ParserBasezeParser base class which provides some common support methods used
by the SGML/HTML and XHTML parsers.c                D    V P                   \        J d   \        R 4      hR# )z)_markupbase.ParserBase must be subclassedN)	__class__r   RuntimeErrorselfs   &"/usr/lib/python3.14/_markupbase.py__init__ParserBase.__init__   s#    >>Z';= = (    c                "    ^V n         ^ V n        R# )   Nlinenooffsetr   s   &r	   resetParserBase.reset    s    r   c                2    V P                   V P                  3# )z&Return current line number and offset.r   r   s   &r	   getposParserBase.getpos$   s    {{DKK''r   c                    W8  d   V# V P                   pVP                  R W4      pV'       dA   V P                  V,           V n        VP                  R W4      pW%^,           ,
          V n        V# V P                  V,           V,
          V n        V# )
)rawdatacountr   rindexr   )r   ijr   nlinesposs   &&&   r	   	updateposParserBase.updatepos,   sw    6H,,tQ*++.DK..q,CU)DK  ++/!+DKr    c                   V P                   pV^,           pW!V R8X  g   Q R4       hW#V^,            R8X  d
   V^,           # W#V^,            R9   d   R# \        V4      pW#V^,            R8X  d   V P                  V4      # W#,          R8X  d   V P                  V4      # V P	                  W14      w  rSV^ 8  d   V# VR8X  d   RV n        W48  Ed(   W#,          pVR8X  dG   W!^,           V pVR8X  d   V P                  V4       V^,           # V P                  V4       V^,           # VR9   d'   \        W#4      pV'       g   R# VP                  4       pMVR	9   d   V P	                  W14      w  rM~W`P
                  9   d   V^,           pMdVR8X  dF   VR8X  d   V P                  V^,           V4      pM<VR9   d   \        R
V,          4      h\        R4      h\        RW#,          ,          4      hV^ 8  g   EK,  V# R# )   <!z$unexpected call to parse_declaration>r"   z--[doctypez"'4abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZz&unsupported '[' char in %s declarationz"unexpected '[' char in declarationz!unexpected %r char in declaration)-r"   >   linkattlistelementlinktype)r   lenparse_commentparse_marked_section
_scan_name_decl_othercharshandle_declunknown_decl_declstringlit_matchend_parse_doctype_subsetAssertionError)
r   r   r   r   ndecltypecdatamnames
   &&        r	   parse_declarationParserBase.parse_declaration<   s    ,,E|t#K%KK#QqS>S q5LQqS>Y& ILQqS>T!%%a((Z3
 ,,Q////!/KHq5Hy $&D!e
ACxs1~y($$T* 1u %%d+1uEz(4IEEGLL//!/a+++Ecy(221q5!<A!KK
 ))QT\)\]]()MNN$%H7:%UVV1u	r   c                   V P                   pW1V^,            R8X  g   Q R4       hV P                  V^,           V4      w  rEV^ 8  d   V# VR9   d   \        P                  W1^,           4      pM?VR9   d   \        P                  W1^,           4      pM\        RW1^,           V ,          4      hV'       g   R# V'       d,   VP                  ^ 4      pV P                  W1^,           V 4       VP                  ^ 4      # )   z<![z)unexpected call to parse_marked_section()z+unknown status keyword %r in marked section>   tempcdataignorercdatainclude>   ifelseendifr+   )	r   r3   _markedsectionclosesearch_msmarkedsectioncloser:   startr6   r8   )r   r   reportr   sectNamer   matchs   &&&    r	   r2   ParserBase.parse_marked_section   s    1~&S(SS&ooqsA/q5HGG&--gs;E00(//1=E =!AN  IAAgc1o.yy|r   c                $   V P                   pW1V^,            R8w  d   \        R4      h\        P                  W1^,           4      pV'       g   R# V'       d,   VP	                  ^ 4      pV P                  W1^,           V 4       VP                  ^ 4      # )   <!--z"unexpected call to parse_comment()r+   )r   r:   _commentcloserN   rP   handle_commentr8   )r   r   rQ   r   rS   r   s   &&&   r	   r1   ParserBase.parse_comment   sw    ,,QqS>V# !EFF$$Wc2IAA!Q0yy|r   c                   V P                   p\        V4      pTpWT8  Ed,   W5,          pVR 8X  Ed   W5V^,            pVR 8X  d   R# VR8w  d+   V P                  W%^,           4       \        RV,          4      hV^,           V8X  d   R# V^,           V8  d   R# W5V^,            R8X  d   V P	                  V^ R7      pV^ 8  d   V# K  V P                  V^,           V4      w  rVR8X  d   R# VR9  d+   V P                  W%^,           4       \        RV,          4      h\        V RV,           4      p	V	! WR4      pV^ 8  d   V# EK&  VR8X  dQ   V^,           V8X  d   R# V P                  V^,           V4      w  ruV^ 8  d   V# W5,          R8X  d   V^,           pEKz  EK}  VR	8X  dj   V^,           pWT8  d(   W5,          P                  4       '       d   V^,           pK-  WT8  d,   W5,          R
8X  d   V# V P                  W%4       \        R4      hR# VP                  4       '       d   V^,           pEK  V P                  W%4       \        RV,          4      hR# )<r%   z*unexpected char in internal subset (in %r)rW   )rQ   z)unknown declaration %r in internal subset_parse_doctype_%;]r&   z%unexpected char after internal subsetz%unexpected char %r in internal subsetr+   >   entityr-   r.   notation)r   r0   r    r:   r1   r3   getattrisspace)
r   r   declstartposr   r;   r   r=   sr@   meths
   &&&       r	   r9    ParserBase._parse_doctype_subset   s,   ,,Le
ACxacN8I9NN<Q7(DqH  Ea<IEQ;IQqS>V+**1Q*7A1u //!a%>7IKKNN<Q7(CdJ  t%6%=>)q5H cEa<Iq1ul;q5H:$AA %cEe
 2 2 4 4AA5zS( NN<3()PQQIE|/$%Lq%PQQ	r   c                    V P                  W4      w  r4VR8X  d   R# V P                  pRWTR 9   d   VP                  RV4      ^,           # R# )r   r&   Nr+   )r3   r   find)r   r   re   r@   r   r   s   &&&   r	   _parse_doctype_element!ParserBase._parse_doctype_element   sN    //!27I,,'"+<<Q'!++	r   c                @   V P                   pV P                  W4      w  rEW5V^,            pVR8X  d   R# VR8X  d
   V^,           #  V P                  WR4      w  rEV^ 8  d   V# W5V^,            pVR8X  d   R# VR8X  d]   RW5R 9   d   VP                  RV4      ^,           pMR# W5V^,            P                  4       '       d   V^,           pK*  W5R '       g   R# MV P                  WR4      w  rEW5V^,            pV'       g   R# VR9   d<   \	        W54      pV'       d   VP                  4       pMR# W5V^,            pV'       g   R# VR8X  dE   W5R R8X  d   R# V P                  V^,           V4      w  rEV^ 8  d   V# W5V^,            pV'       g   R# VR8X  g   EKS  V^,           # )	r   r"   r&   ()N'"#r+   )r   r3   rj   rd   r7   r8   )r   r   re   r   r@   r   r=   r?   s   &&&     r	   _parse_doctype_attlist!ParserBase._parse_doctype_attlist  s   ,,//!2acN7I8q5L ooa6GD1u!A#ABw	Cx'"+%S!,q0AI!n,,..AAr{I # //!:!A#A	Ez(4AIacNICx2;#%I//!a%>q5HacNICx1ur   c                6   V P                  W4      w  r4V^ 8  d   V# V P                  p WTV^,            pV'       g   R# VR8X  d
   V^,           # VR9   d(   \        WT4      pV'       g   R# VP                  4       pKT  V P                  WB4      w  r4V^ 8  g   Kp  V# )    r&   rp   r+   )r3   r   r7   r8   )r   r   re   r@   r   r   r=   r?   s   &&&     r	   _parse_doctype_notation"ParserBase._parse_doctype_notation=  s    //!2q5H,,!A#A	Cx1uEz(4IEEG//!:q5Hr   c                   V P                   pW1V^,            R8X  dB   V^,           p W4V^,            pV'       g   R# VP                  4       '       d   V^,           pK7  MTpV P                  WB4      w  rdV^ 8  d   V#  V P                   WD^,            pV'       g   R# VR9   d(   \        W44      pV'       d   VP	                  4       pKL  R# VR8X  d
   V^,           # V P                  WB4      w  rdV^ 8  g   Kz  V# )r   r^   rp   r&   r+   )r   rd   r3   r7   r8   )r   r   re   r   r   r=   r@   r?   s   &&&     r	   _parse_doctype_entity ParserBase._parse_doctype_entityT  s    ,,QqS>S AAacNI99;;AAA//!2q5HQs#A	Ez(4AIc1u//!:q5Hr   c                p   V P                   p\        V4      pW8X  d   R# \        W14      pV'       dZ   VP                  4       pVP	                  4       pV\        V4      ,           V8X  d   R# VP                  4       VP                  4       3# V P                  W!4       \        RW2V^,            ,          4      h)Nzexpected name token at %r)Nr+   )	r   r0   _declname_matchgroupstriplowerr8   r    r:   )r   r   re   r   r;   r?   rf   r@   s   &&&     r	   r3   ParserBase._scan_namex  s    ,,L6OG'	A779DCF
q ::<((NN<+ +g<PR?.SS r   c                    R # )N )r   r>   s   &&r	   r6   ParserBase.unknown_decl  s    r   )r4   r   r   N)r   )__name__
__module____qualname____firstlineno____doc__r
   r   r   r    r4   rA   r2   r1   r9   rk   rr   rv   ry   r3   r6   __static_attributes____classdictcell__)__classdict__s   @r	   r   r      sc     +=
( Mb0
CL6r. H& r   r   )
r   recompilerS   r|   r7   rX   rM   rO   r   r   r   r	   <module>r      sw    
**:;AAzz"<=CC 

9%jj. 
 

8, u ur   