
    ,hh=9                         S SK r \ R                  " S5      R                  r\ R                  " S5      R                  r\ R                  " S5      r\ R                  " S5      r\ R                  " S5      rC  " S S5      rg)	    Nz[a-zA-Z][-_.a-zA-Z0-9]*\s*z(\'[^\']*\'|"[^"]*")\s*z--\s*>z	]\s*]\s*>z]\s*>c                   t    \ rS rSrS rS rS rS rSrS r	SS jr
SS	 jrS
 rS rS rS rS rS rS rSrg)
ParserBase   c                 @    U R                   [        L a  [        S5      eg )Nz)_markupbase.ParserBase must be subclassed)	__class__r   RuntimeErrorselfs    4/opt/python-3.13.8/usr/lib/python3.13/_markupbase.py__init__ParserBase.__init__   s#    >>Z';= = (    c                      SU l         SU l        g )N   r   linenooffsetr	   s    r   resetParserBase.reset    s    r   c                 2    U R                   U R                  4$ Nr   r	   s    r   getposParserBase.getpos$   s    {{DKK''r   c                     X:  a  U$ U R                   nUR                  SX5      nU(       a4  U R                  U-   U l        UR                  SX5      nX%S-   -
  U l        U$ U R                  U-   U-
  U l        U$ )N
r   )rawdatacountr   rindexr   )r
   ijr   nlinesposs         r   	updateposParserBase.updatepos,   sw    6H,,tQ*++.DK..q,CU)DK  ++/!+DKr    c                 0   U R                   nUS-   nX#US-    S:X  a  US-   $ X#US-    S;   a  g[        U5      nX#US-    S:X  a  U R                  U5      $ X#   S:X  a  U R                  U5      $ U R	                  X15      u  pSUS:  a  U$ US	:X  a  S
U l        X4:  a  X#   nUS:X  a9  X!S-   U nUS	:X  a  U R                  U5        US-   $ U R                  U5        US-   $ US;   a$  [        X#5      nU(       d  gUR                  5       nOUS;   a  U R	                  X15      u  pOfX`R
                  ;   a  US-   nOQUS:X  a;  US	:X  a  U R                  US-   U5      nO/US;   a  [        SU-  5      e[        S5      e[        SX#   -  5      eUS:  a  U$ X4:  a  M  g)N   r   >)-r%   z--[r   doctyper%   z"'4abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ>   linkattlistelementlinktypez&unsupported '[' char in %s declarationz"unexpected '[' char in declarationz!unexpected %r char in declaration)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QqS>S q5LQqS>Y& LQqS>T!%%a((Z3
 ,,Q////!/KHq5Hy $&D!e
ACxs1~y($$T* 1u %%d+1uEz(4EEGLL//!/a+++Ecy(221q5!<A!KK
 ))QT\)\]]()MNN$%H7:%UVV1uM eN r   c                    U R                   nU R                  US-   U5      u  pEUS:  a  U$ US;   a  [        R                  X1S-   5      nO2US;   a  [        R                  X1S-   5      nO[        SX1S-   U -  5      eU(       d  gU(       a'  UR                  S5      nU R                  X1S-   U 5        UR                  S5      $ )N   r   >   tempcdataignorercdatainclude>   ifelseendifz+unknown status keyword %r in marked sectionr*   )	r   r5   _markedsectionclosesearch_msmarkedsectioncloser<   startr8   r:   )r
   r   reportr   sectNamer    matchs          r   r4   ParserBase.parse_marked_section   s    ooqsA/q5HGG&--gs;E00(//1=E =!AN  AAgc1o.yy|r   c                    U R                   nX1US-    S:w  a  [        S5      e[        R                  X1S-   5      nU(       d  gU(       a'  UR	                  S5      nU R                  X1S-   U 5        UR                  S5      $ )N   <!--z"unexpected call to parse_comment()r*   r   )r   r<   _commentcloserP   rR   handle_commentr:   )r
   r   rS   r   rU   r    s         r   r3   ParserBase.parse_comment   su    ,,QqS>V# !EFF$$Wc2AA!Q0yy|r   c                    U R                   n[        U5      nUnXT:  Ga  X5   nUS:X  a  X5US-    nUS:X  a  gUS:w  a"  U R                  X%S-   5        [        SU-  5      eUS-   U:X  a  gUS-   U:  a  gX5US-    S:X  a  U R	                  US	S
9nUS	:  a  U$ M  U R                  US-   U5      u  pUS:X  a  gUS;  a"  U R                  X%S-   5        [        SU-  5      e[        U SU-   5      n	U	" XR5      nUS	:  a  U$ OUS:X  a7  US-   U:X  a  gU R                  US-   U5      u  puUS	:  a  U$ X5   S:X  a  US-   nOUS:X  ap  US-   nXT:  a:  X5   R                  5       (       a#  US-   nXT:  a  X5   R                  5       (       a  M#  XT:  a&  X5   S:X  a  U$ U R                  X%5        [        S5      egUR                  5       (       a  US-   nOU R                  X%5        [        SU-  5      eXT:  a  GM  g)N<r'   r*   z<!r   z*unexpected char in internal subset (in %r)rX   rY   r   )rS   >   entityr/   r0   notationz)unknown declaration %r in internal subset_parse_doctype_%;]r(   z%unexpected char after internal subsetz%unexpected char %r in internal subset)r   r2   r#   r<   r3   r5   getattrisspace)
r
   r   declstartposr   r=   r    r?   srB   meths
             r   r;    ParserBase._parse_doctype_subset   s<   ,,Le
ACxacN89NN<Q7(DqH  Ea<EQ;QqS>V+**1Q*7A1u //!a%>7KKNN<Q7(CdJ  t%6%=>)q5H cEa<q1ul;q5H:$AAcEe
 2 2 4 4AA e
 2 2 4 45zS( NN<3()PQQE|/$%Lq%PQQ{ e~ r   c                     U R                  X5      u  p4US:X  a  gU R                  nSXTS  ;   a  UR                  SU5      S-   $ g)Nr*   r(   r   )r5   r   find)r
   r   rg   rB   r    r   s         r   _parse_doctype_element!ParserBase._parse_doctype_element   sJ    //!27,,'"+<<Q'!++r   c                    U R                   nU R                  X5      u  pEX5US-    nUS:X  a  gUS:X  a  US-   $  U R                  XR5      u  pEUS:  a  U$ X5US-    nUS:X  a  gUS:X  ae  SX5S  ;   a  UR                  SU5      S-   nOgX5US-    R                  5       (       a!  US-   nX5US-    R                  5       (       a  M!  X5S  (       d  gOU R                  XR5      u  pEX5US-    nU(       d  gUS;   a3  [	        X55      nU(       a  UR                  5       nOgX5US-    nU(       d  gUS	:X  a7  X5S  S	:X  a  gU R                  US-   U5      u  pEUS:  a  U$ X5US-    nU(       d  gUS:X  a  US-   $ GM:  )
Nr   r%   r*   r(   r   ()'"#)r   r5   rl   rf   r9   r:   )r
   r   rg   r   rB   r    r?   rA   s           r   _parse_doctype_attlist!ParserBase._parse_doctype_attlist  s   ,,//!2acN78q5L ooa6GD1u!A#ABwCx'"+%S!,q0A!n,,..AA !n,,..r{ # //!:!A#AEz(4AacNCx2;#%//!a%>q5HacNCx1u] r   c                    U R                  X5      u  p4US:  a  U$ U R                  n XTUS-    nU(       d  gUS:X  a  US-   $ US;   a$  [        XT5      nU(       d  gUR                  5       nOU R                  XB5      u  p4US:  a  U$ Ma  )Nr   r   r*   r(   rr   )r5   r   r9   r:   )r
   r   rg   rB   r    r   r?   rA   s           r   _parse_doctype_notation"ParserBase._parse_doctype_notation=  s    //!2q5H,,!A#ACx1uEz(4EEG//!:q5H r   c                    U R                   nX1US-    S:X  a3  US-   n X4US-    nU(       d  gUR                  5       (       a  US-   nOOM-  UnU R                  XB5      u  pdUS:  a  U$  U R                   XDS-    nU(       d  gUS;   a$  [        X45      nU(       a  UR	                  5       nO'gUS:X  a  US-   $ U R                  XB5      u  pdUS:  a  U$ Mk  )Nr   rb   r*   r   rr   r(   )r   rf   r5   r9   r:   )r
   r   rg   r   r    r?   rB   rA   s           r   _parse_doctype_entity ParserBase._parse_doctype_entityT  s    ,,QqS>S AAacN99;;AA  A//!2q5HQs#AEz(4Ac1u//!:q5H r   c                 N   U R                   n[        U5      nX:X  a  g[        X15      nU(       aS  UR                  5       nUR	                  5       nU[        U5      -   U:X  a  gUR                  5       UR                  5       4$ U R                  X!5        [        SX2US-    -  5      e)N)Nr*   zexpected name token at %r   )	r   r2   _declname_matchgroupstriplowerr:   r#   r<   )r
   r   rg   r   r=   rA   rh   rB   s           r   r5   ParserBase._scan_namex  s    ,,L6G'	A779DCF
q ::<((NN<+ +g<PR?.SS r   c                     g r    )r
   r@   s     r   r8   ParserBase.unknown_decl  s    r   )r6   r   r   N)r   )__name__
__module____qualname____firstlineno__r   r   r   r#   r6   rC   r4   r3   r;   rm   rt   rw   rz   r5   r8   __static_attributes__r   r   r   r   r      sV    =
( Mb0
CL6r. H&r   r   )	recompilerU   r~   r9   rZ   rO   rQ   r   r   r   r   <module>r      sr    
**:;AAzz"<=CC 

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

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