� !A?h=9���� ddlZejd��jZejd��jZejd��Zejd��Zejd��Z[Gd�d��ZdS) �Nz[a-zA-Z][-_.a-zA-Z0-9]*\s*z(\'[^\']*\'|"[^"]*")\s*z--\s*>z ]\s*]\s*>z]\s*>c�l�eZdZ d�Zd�Zd�Zd�ZdZd�Zdd�Z dd �Z d �Z d �Z d �Z d �Zd�Zd�Zd�ZdS)� ParserBasec�@�|jturtd���dS)Nz)_markupbase.ParserBase must be subclassed)� __class__r� RuntimeError��selfs �8/opt/alt/python-internal/lib64/python3.11/_markupbase.py�__init__zParserBase.__init__s,�� �>�Z� '� '��;�=�=� =� (� '�c�"�d|_d|_dS)N�r��lineno�offsetrs r �resetzParserBase.reset s���� ��� � � r c� � |j|jfS�Nrrs r �getposzParserBase.getpos$s��4��{�D�K�'�'r c���||kr|S|j}|�d||��}|r4|j|z|_|�d||��}||dzz |_n|j|z|z |_|S)N� r)�rawdata�countr�rindexr)r �i�jr�nlines�poss r � updateposzParserBase.updatepos,s�� ��6�6��H��,�����t�Q��*�*�� � ,��+��.�D�K��.�.��q�!�,�,�C��S��U�)�D�K�K��+��/�!�+�D�K��r �c��|j}|dz}|||dz�dkr|dzS|||dz�dvrdSt|��}|||dz�dkr|�|��S||dkr|�|��S|�||��\}}|dkr|S|d krd |_||k�r||}|dkrC||dz|�}|d kr|�|��n|�|��|dzS|d vr)t||��}|sdS|� ��}n�|d vr|�||��\} }nr||jvr|dz}nc|dkrE|d kr|� |dz|��}n=|d vrtd|z���td���td||z���|dkr|S||k��dS)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 rrr�n�decltype�c�data�m�names r �parse_declarationzParserBase.parse_declaration<s`���,�� ��E�� �1�Q�q�S�5�>�S� � ��q�5�L� �1�Q�q�S�5�>�Y� &� &��2� ��L�L�� �1�Q�q�S�5�>�T� !� !��%�%�a�(�(� (� �Q�Z�3� � � �,�,�Q�/�/� /��/�/�!�Q�/�/�K�H�a� �q�5�5��H� �y� � �$&�D� !��!�e�e��� �A��C�x�x��q��s�1�u�~���y�(�(��$�$�T�*�*�*�*� �%�%�d�+�+�+��1�u� ��E�z�z�(��!�4�4�����2��E�E�G�G����L�L�L��/�/�!�Q�/�/���a�a��d�+�+�+���E����c����y�(�(��2�2�1�q�5�!�<�<�A�A��!K�K�K� )�)Q�T\�)\�]�]�]�(�)M�N�N�N�$�%H�7�ST�:�%U�V�V�V��1�u�u���M�!�e�e�N�rr rc��|j}|�|dz|��\}}|dkr|S|dvrt�||dz��}n@|dvrt�||dz��}nt d||dz|�z���|sdS|r5|�d��}|�||dz|���|�d��S)N�r>�temp�cdata�ignore�rcdata�include>�if�else�endifz+unknown status keyword %r in marked sectionr%) rr0�_markedsectionclose�search�_msmarkedsectioncloser7�startr3r5)r r�reportr�sectNamer�matchs r r/zParserBase.parse_marked_section�s�������o�o�q��s�A�/�/� ��!� �q�5�5��H� �G� G� G�&�-�-�g�q��s�;�;�E�E� �0� 0� 0�(�/�/���1��=�=�E�E� �=���!��A���N��� �� ��2� � /�� � �A���A� � � �g�a��c�1�f�o� .� .� .��y�y��|�|�r c�,�|j}|||dz�dkrtd���t�||dz��}|sdS|r5|�d��}|�||dz|���|�d��S)N��