}DMg d Z ddlZ ej d j Z ej d j Z ej d Z ej d Z ej d Z[ G d d Z dS )
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 n e Zd ZdZd Zd Zd Zd ZdZd Z dd Z
dd
Zd Zd Z
d
Zd Zd Zd Zd ZdS )
ParserBaseziParser base class which provides some common support methods used
by the SGML/HTML and XHTML parsers.c @ | j t u rt d d S )Nz)_markupbase.ParserBase must be subclassed) __class__r RuntimeErrorselfs 2/opt/alt/python311/lib64/python3.11/_markupbase.py__init__zParserBase.__init__ s, >Z'';= =
= (' c " d| _ d| _ d S )N r linenooffsetr s r
resetzParserBase.reset s r c | j | j fS )z&Return current line number and offset.r r s r
getposzParserBase.getpos$ s {DK''r c ||k r|S | j }| d|| }|r4| j |z | _ | d|| }||dz z
| _ n| j |z |z
| _ |S )N
r )rawdatacountr rindexr )r ijr nlinesposs r
updateposzParserBase.updatepos, s 66H,tQ** ,+.DK..q!,,CSU)DKK+/!+DKr c | j }|dz }||| dk s
J d |||dz dk r|dz S |||dz dv rdS t | }|||dz dk r| | S || d k r| | S | || \ }}|d
k r|S |dk rd| _ ||k r|| }|dk rC||dz | }|dk r| | n| | |dz S |d
v r)t || }|sdS | }n|dv r| || \ } }nr|| j v r|dz }nc|d k rE|dk r|
|dz | }n=|dv rt d|z t d t d|| z |d
k r|S ||k dS )N