+
    ig9  c                   s   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                   s   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                sD    V P                   \        J d   \        R 4      hR# )z)_markupbase.ParserBase must be subclassedN)Z	__class__r    ZRuntimeErrorself   &$/usr/lib64/python3.14/_markupbase.py__init__ZParserBase.__init__   s#    >>Z';= = (    c                s"    ^V n         ^ V n        R# )   Nlinenooffsetr   r   r   resetZParserBase.reset    s    r   c                s2    V P                   V P                  3# )z&Return current line number and offset.r   r   r   r   getposZParserBase.getpos$   s    {{DKK''r   c                s    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# )Z
)rawdataZcountr	   Zrindexr
   )r   ijr   ZnlinesZpos   &&&   r   	updateposZParserBase.updatepos,   sw    6H,,tQ*++.DK..q,CU)DK  ++/!+DKr    c                s   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# )i   <!z$unexpected call to parse_declaration>r   z--Z[Zdoctypez"'Z4abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZz&unsupported '[' char in %s declarationz"unexpected '[' char in declarationz!unexpected %r char in declaration)Z-r   >   ZlinkattlistelementZlinktype)r   lenparse_commentparse_marked_section
_scan_name_decl_othercharsZhandle_declunknown_decl_declstringlit_matchend_parse_doctype_subsetAssertionError)
r   r   r   r   nZdecltypecdatamnames
   &&        r   parse_declarationZ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                s   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      # )i   z<![z)unexpected call to parse_marked_section()z+unknown status keyword %r in marked section>   ZtempZcdataZignoreZrcdataZinclude>   ZifZelseZendifr   )	r   r   _markedsectionclosesearch_msmarkedsectioncloser!   startr   r   )r   r   reportr   ZsectNamer   matchs   &&&    r   r   Z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                s$   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      # )i   <!--z"unexpected call to parse_comment()r   )r   r!   _commentcloser)   r+   Zhandle_commentr   )r   r   r,   r   r-   r   r   r   r   ZParserBase.parse_comment   sw    ,,QqS>V# !EFF$$Wc2IAA!Q0yy|r   c                s   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# )Z<r   z*unexpected char in internal subset (in %r)r.   )r,   z)unknown declaration %r in internal subsetZ_parse_doctype_%Z;Z]r   z%unexpected char after internal subsetz%unexpected char %r in internal subsetr   >   Zentityr   r   Znotation)r   r   r   r!   r   r   Zgetattrisspace)
r   r   declstartposr   r"   r   r#   sr&   Zmeths
   &&&       r   r    Z 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                s    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   )r   r   find)r   r   r2   r&   r   r   r   r   _parse_doctype_elementZ!ParserBase._parse_doctype_element   sN    //!27I,,'"+<<Q'!++	r   c                s@   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   Z(Z)N'"Z#r   )r   r   r4   r1   r   r   )r   r   r2   r   r&   r   r#   r%      &&&     r   _parse_doctype_attlistZ!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                s6   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# )i    r   r6   r   )r   r   r   r   )r   r   r2   r&   r   r   r#   r%   r7   r   _parse_doctype_notationZ"ParserBase._parse_doctype_notation=  s    //!2q5H,,!A#A	Cx1uEz(4IEEG//!:q5Hr   c                s   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   r0   r6   r   r   )r   r1   r   r   r   )r   r   r2   r   r   r#   r&   r%   r7   r   _parse_doctype_entityZ 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                sp   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   r   _declname_matchZgroupZstripZlowerr   r   r!   )r   r   r2   r   r"   r%   r3   r&   r7   r   r   ZParserBase._scan_namex  s    ,,L6OG'	A779DCF
q ::<((NN<+ +g<PR?.SS r   c                s    R # )N )r   r$   s   &&r   r   ZParserBase.unknown_decl  s    r   )r   r	   r
   N)r   )Z__name__Z
__module__Z__qualname__Z__firstlineno____doc__r   r   r   r   r   r'   r   r   r    r5   r8   r9   r:   r   r   Z__static_attributes__Z__classdictcell__)Z__classdict__s   @r   r    r       sc     +=
( Mb0
CL6r. H& r   r    )
r=   ZreZcompiler-   r;   r   r/   r(   r*   r    r<   r   r   <module>r>      sw    
**:;AAzz"<=CC 

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

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