HEX
Server: Apache
System: Linux pdx1-shared-a1-29 6.18.39-grsec-noble+ #4 SMP Thu Jul 23 07:53:29 UTC 2026 x86_64
User: dh_bj99yp (22285841)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/docutils/transforms/__pycache__/peps.cpython-312.pyc
�

�ddg+����dZdZddlZddlZddlZddlmZmZmZddlm	Z	ddl
mZddl
mZm
Z
mZGd�d	e�ZGd
�de�ZGd�d
e�ZGd�de�ZGd�dej&�ZdZdd�Zy)z�
Transforms for PEP processing.

- `Headers`: Used to transform a PEP's initial RFC-2822 header.  It remains a
  field list, but some entries get processed.
- `Contents`: Auto-inserts a table of contents.
- `PEPZero`: Special processing for PEP 0.
�reStructuredText�N)�nodes�utils�	languages)�	DataError)�	Transform)�parts�
references�miscc��eZdZdZdZdZdZejdej�dfejd�dffZ
d�Zy	)
�Headersz<
    Process fields in a PEP's initial RFC-2822 header.
    ihzpep-%04dz3http://hg.python.org/peps/file/default/pep-%04d.txtz\$RCSfile: (.+),v \$$z\1z\$[a-zA-Z]+: (.+) \$$c�`�t|j�std��|jd}t|tj
�rd|dvrtd��d}|D]V}|dj
�j�dk(s�(|dj
�}	t|�}|j|z}n|�td
��|dk(rPt	j"t$�}
|jj'd|
�|jj)|
�t|�dks'|ddj
�j�dk7rtd��|D�]^}|dj
�j�}|d}t|�dkDrtd|j+d��z��t|�dk(r;t|dtj �s�td|j+d��z��|dk(r�	t-j.dt-j0t3j4|jd�d��}
r3|t	j ddt	j8d|
|���z
}n��&|d}|dk(r>|D]7}t|tj8�s�|j;t=|���9��n|dk(r?|D]8}t|tj8�s�|j;t=||���:���|dvr�g}t	j>d�}tAjBd|j
��D]s}t|�}|jEt	j8|||jjFjH|jJ|zz���|jE|��u|dd|dd��q|dk(rRtMjN||jP�s���|j
�}
t	j8d|
|��g|dd���|d k(r^|j
�}|jjFjH|jJd!zz}t	j8d||��g|dd��+|d"k(s��2t|�s��?tMjN||jP���ay#t$r�|}d}|jjjd|z|�	�}|jj|�}t	j||xsd
|��}|jj|�}	|j|	�t|d�r
|g|ddddn"|dxxt	j dd|�z
cc<Y���wxYw#t6$rd}
Y��^wxYw)#NzDocument tree is empty.r�rfc2822�classeszADocument does not begin with an RFC-2822 header; it is not a PEP.�pep�z?"PEP" header must contain an integer; "%s" is an invalid value.)�	base_nodez(none))�refid�z3Document does not contain an RFC-2822 "PEP" header.��titlez	No title!z4PEP header field body contains multiple elements:
%s)�levelz=PEP header field body may only contain a single paragraph:
%sz
last-modifiedz%d-%b-%Y�source��unknown��refuri�authorzdiscussions-to)�replaceszreplaced-by�requires� z,?\s+���zcontent-type��version))�len�documentr�
isinstancer�
field_list�astext�lower�int�pep_cvs_url�
ValueError�reporter�warning�set_id�problematic�add_backref�	paragraph�pending�PEPZero�insert�note_pending�pformat�time�strftime�	localtime�os�stat�OSError�	reference�replace_self�
mask_email�Text�re�split�append�settings�pep_base_url�pep_urlr�clean_rcs_keywords�rcs_keyword_substitutions)�self�headerr�field�value�cvs_url�msg�msgid�prb�prbidr4�name�body�date�para�node�newbody�space�refpep�pepno�pep_type�uris                      �:/usr/lib/python3/dist-packages/docutils/transforms/peps.py�applyz
Headers.apply(s4���4�=�=�!��5�6�6����q�!���6�5�#3�#3�4���y� 1�1��7�8�
8����	�E��Q�x��� �&�&�(�E�1��a����)��A��e�*�C�"�.�.��4�G� �+	�,�;��&�'�
'��!�8��m�m�G�,�G��M�M� � ��G�,��M�M�&�&�w�/��v�;��?�f�Q�i��l�1�1�3�9�9�;�w�F��K�(�(��6	O�E���8�?�?�$�*�*�,�D���8�D��4�y�1�}��!0�27�-�-�a�-�2H�!I�J�J��T��a��!�$�q�'�5�?�?�;�#�%>�&+�m�m�!�m�&<�%=�>�>���(�%��=�=�"����r�w�w�t�}�}�X�/F�'G��'J�K�M�D�
��E�O�O��B�����D�� I�K�K�D����7�D��x�� �<�D�!�$����8��)�)�*�T�*:�;�<��)�)� �A�D�!�$����8��)�)�*�T�3�*?�@�A��@�@����
�
�3��� �h�h�x�����?�*�F���K�E��N�N�5�?�?��� $�
�
� 6� 6� C� C�"&�,�,��"6�!7�$9�:��N�N�5�)�
*�"�#�2�,��Q����(��(�(��t�/M�/M�N���;�;�=�D�$���r�4��H�I�D��G���'��;�;�=���m�m�,�,�9�9�D�L�L�2�<M�M�� �?�?�2�x��D�E��Q����"�s�4�y��(�(��t�/M�/M�N�m6	O��5"�A��C�"�G��-�-�0�0�8�8�)�+.�/�:?�9�A�C�!�M�M�0�0��5�E��+�+�E�5�3D�H�27�9�C� �M�M�0�0��5�E��O�O�E�*��5��8�}�*-���a����A���a��E�O�O�B��C�$@�@���A��T�%�$�D�%�s&�S�AV�CV�V�V-�,V-N)�__name__�
__module__�__qualname__�__doc__�default_priorityrHr,rC�compile�
IGNORECASErJr`��r_r
r
sZ������G�5�K��2�:�:�2�B�M�M�B�E�
J��2�:�:�.�/��
7�!:��`Orir
c��eZdZdZdZd�Zy)�Contentsz~
    Insert an empty table of contents topic and a transform placeholder into
    the document after the RFC 2822 header.
    i|c��tj|jjj|jj
�}|jd}tjd|�}tjd|dg��}tj|�}|jj|�s|dj|�|jj|�tjtj �}||z
}|jj#d|�|jj%|�y)N�contentsr)r�namesr)r�get_languager&rF�
language_coder.�labelsrr�topic�fully_normalize_name�has_namerE�note_implicit_targetr4r	rkr6r7)rK�languagerTrrrr4s      r_r`zContents.apply�s����)�)�$�-�-�*@�*@�*N�*N�*.�-�-�*@�*@�B�����z�*�����B��%�����B��
�|�<���)�)�$�/���}�}�%�%�d�+��'�N�!�!�$�'��
�
�*�*�5�1��-�-����/��
�����
�
���Q��&��
�
�"�"�7�+riN�rarbrcrdrer`rhrir_rkrk�s���
��
,rirkc� �eZdZdZdZd�Zd�Zy)�TargetNotesz�
    Locate the "References" section, insert a placeholder for an external
    target footnote insertion transform at the end, and schedule the
    transform to run immediately.
    ic��|j}t|�dz
}dx}}|dk\r�t||tj�rj||dj�j
�j�}d|vr||}n.d|vr|}|dz}|dk\rt||tj�r�j|sdtj�}|tjdd�z
}|j|�|r|j||�n|j|�tjtj�}|j|�|jj|d�tjt j"d|j$i��}|j|�|jj|d�y)	Nrrr
�	copyrightr�
References�callback)�details)r&r%r'r�sectionr)r*rDrr0r6rEr4r
ryr7r�CallBack�cleanup_callback)rK�doc�i�refsectr{�title_wordsr4s       r_r`zTargetNotes.apply�sm���m�m����H�q�L��"�"��)��1�f��C��F�E�M�M�:��a�&��)�*�*�,�2�2�4�:�:�<�K��{�*��a�&�����+��	�
��F�A��1�f��C��F�E�M�M�:���m�m�o�G��u�{�{�2�|�4�4�G��J�J�w����
�
�9�g�.��
�
�7�#��-�-�
� 6� 6�7�����w���
�
�"�"�7�A�.��-�-��
�
�)3�T�5J�5J�(K�M�����w���
�
�"�"�7�A�.ric��t|j�dk(r0|jjj|j�yy)z�
        Remove an empty "References" section.

        Called after the `references.TargetNotes` transform is complete.
        rN)r%�parent�remove)rKr4s  r_r�zTargetNotes.cleanup_callback�s6���w�~�~��!�#��N�N�!�!�(�(����8�$riN)rarbrcrdrer`r�rhrir_ryry�s�����/�<9riryc��eZdZdZdZd�Zy)r5z'
    Special processing for PEP 0.
    i�c���t|j�}|jj|�|jjj|j�y�N)�PEPZeroSpecialr&�walk�	startnoder�r�)rK�visitors  r_r`z
PEPZero.apply�s>�� ����/���
�
���7�#������$�$�T�^�^�4riNrwrhrir_r5r5�s�����5rir5c�R�eZdZdZej
Zd�Zd�Zd�Zd�Z	d�Z
d�Zd�Zy	)
r�z�
    Perform the special processing needed by PEP 0:

    - Mask email addresses.

    - Link PEP numbers in the second column of 4-column tables to the PEPs
      themselves.
    c��yr�rh�rKrXs  r_�
unknown_visitzPEPZeroSpecial.unknown_visit�s��ric�8�|jt|��yr�)r@rAr�s  r_�visit_referencezPEPZeroSpecial.visit_reference�s�����*�T�*�+ric�2�d|dvrtj�y)Nrr)r�SkipNoder�s  r_�visit_field_listzPEPZeroSpecial.visit_field_list�s����Y��'��.�.� �(ric�,�|ddk(|_d|_y)N�cols�r)�	pep_table�entryr�s  r_�visit_tgroupzPEPZeroSpecial.visit_tgroup�s���f���*�����
ric��|xjdz
c_|jr%|jdk(r|djd�yyy)Nrrr�num)r�r�rEr�s  r_�
visit_colspeczPEPZeroSpecial.visit_colspec�s9���
�
�a��
��>�>�d�j�j�A�o���O�"�"�5�)�.�>ric��d|_y)Nr)r�r�s  r_�	visit_rowzPEPZeroSpecial.visit_rows	����
ric��|xjdz
c_|jr�|jdk(r�t|�dk(r�|djd�|d}t	|t
j�rwt|�dk(rh|j�}	t|�}|jjj|j|zz}tj|||��|d<yyyyyy#t$rYywxYw)Nrrrr�rr)r�r�r%rEr'rr3r)r+r&rFrGrHr?r-)rKrX�p�textr�refs      r_�visit_entryzPEPZeroSpecial.visit_entrys����
�
�a��
��>�>�d�j�j�A�o�#�d�)�q�.���O�"�"�5�)��Q��A��!�U�_�_�-�#�a�&�A�+��x�x�z����d�)�C��=�=�1�1�>�>�!�\�\�C�/�0�C� �?�?�4��c�B�A�a�D�
3>�-�3A�o�>��"����s�AC-�-	C9�8C9N)
rarbrcrdr
rHr�r�r�r�r�r�r�rhrir_r�r��s5����o�o�G�
�,�!��*�
�
rir�)zpeps@python.orgzpython-list@python.orgzpython-dev@python.orgc� �|jd�r||djd�rh|dddtvr|d}n8|j�j	dd�}tjd|d	�
�}|�|S|dxxd|zz
cc<|g|dd|S|S)a�
    Mask the email address in `ref` and return a replacement node.

    `ref` is returned unchanged if it contains no email address.

    For email addresses such as "user@host", mask the address as "user at
    host" (text) to thwart simple email address harvesters (except for those
    listed in `non_masked_addresses`).  If a PEP number (`pepno`) is given,
    return a reference including a default email subject.
    rzmailto:rNr�@z&#32;&#97;t&#32;r�html)�formatz?subject=PEP%%20%s)�hasattr�
startswith�non_masked_addressesr)�replacer�raw)r�r\�replacement�replacement_texts    r_rArAs����{�{�8���X��!9�!9�)�!D��x�=���� 4�4��a�&�K�"�z�z�|�3�3�C�9K�L���)�)�B�(8��H�K��=�����M�1�E�9�9�M�!�]�C��F��J��
rir�)rd�
__docformat__r<rCr9�docutilsrrrr�docutils.transformsrr	r
rr
rkryr5�SparseNodeVisitorr�r�rArhrir_�<module>r�s���
�#�
�	�	��,�,��)�7�7�oO�i�oO�d,�y�,�2/9�)�/9�d5�i�5�0�U�,�,�0�f1��
ri