Hacked By AnonymousFox

Current Path : /opt/imunify360/venv/lib/python3.11/site-packages/docutils/utils/__pycache__/
Upload File :
Current File : //opt/imunify360/venv/lib/python3.11/site-packages/docutils/utils/__pycache__/roman.cpython-311.pyc

�

j��f�
����dZdZdZdZdZddlZGd�de��ZGd	�d
e��ZGd�de��Z	Gd
�de��Z
dZd�Zej
dej��Zd�ZdS)z"Convert to and from Roman numeralsz&Mark Pilgrim (f8dy@diveintopython.org)z1.4z
8 August 2001agCopyright (c) 2001 Mark Pilgrim

This program is part of "Dive Into Python", a free Python tutorial for
experienced programmers.  Visit http://diveintopython.org/ for the
latest version.

This program is free software; you can redistribute it and/or modify
it under the terms of the Python 2.1.1 license, available at
http://www.python.org/2.1.1/license.html
�Nc��eZdZdS)�
RomanErrorN��__name__�
__module__�__qualname__���t/builddir/build/BUILD/imunify360-venv-2.3.5/opt/imunify360/venv/lib/python3.11/site-packages/docutils/utils/roman.pyrr��������r
rc��eZdZdS)�OutOfRangeErrorNrr	r
rrrrr
rc��eZdZdS)�NotIntegerErrorNrr	r
rrrrr
rc��eZdZdS)�InvalidRomanNumeralErrorNrr	r
rrrrr
r)
)�Mi�)�CMi�)�Di�)�CDi�)�C�d)�XC�Z)�L�2)�XL�()�X�
)�IX�	)�V�)�IV�)�I�c���d|cxkrdksntd���t|��|krtd���d}tD]\}}||kr||z
}||z}||k��|S)z convert integer to Roman numeralri�z%number out of range (must be 1..4999)zdecimals can not be converted�)r�intr�romanNumeralMap)�n�result�numeral�integers    r�toRomanr1+s���
��L�L�L�L�D�L�L�L�L��E�F�F�F�
�1�v�v��{�{��=�>�>�>�
�F�+�������7�l�l��g��F�
��L�A��7�l�l���Mr
a8
    ^                   # beginning of string
    M{0,4}              # thousands - 0 to 4 M's
    (CM|CD|D?C{0,3})    # hundreds - 900 (CM), 400 (CD), 0-300 (0 to 3 C's),
                        #            or 500-800 (D, followed by 0 to 3 C's)
    (XC|XL|L?X{0,3})    # tens - 90 (XC), 40 (XL), 0-30 (0 to 3 X's),
                        #        or 50-80 (L, followed by 0 to 3 X's)
    (IX|IV|V?I{0,3})    # ones - 9 (IX), 4 (IV), 0-3 (0 to 3 I's),
                        #        or 5-8 (V, followed by 0 to 3 I's)
    $                   # end of string
    c�H�|std���t�|��std|z���d}d}tD]X\}}|||t	|��z�|kr5||z
}|t	|��z
}|||t	|��z�|k�5�Y|S)z convert Roman numeral to integerzInput can not be blankzInvalid Roman numeral: %sr)r�romanNumeralPattern�searchr,�len)�sr.�indexr/r0s     r�	fromRomanr8Hs����A�&�'?�@�@�@��%�%�a�(�(�H�&�'B�Q�'F�G�G�G�
�F�
�E�+�"�"������e�C��L�L�(�(�)�W�4�4��g��F��S��\�\�!�E���e�C��L�L�(�(�)�W�4�4���Mr
)�__doc__�
__author__�__version__�__date__�
__copyright__�re�	Exceptionrrrrr,r1�compile�VERBOSEr3r8r	r
r�<module>rBs���(�(�
5�
�����	�
�
�	�	�	�"�!�!�!�!��!�!�!�'�'�'�'�'�j�'�'�'�'�'�'�'�'�j�'�'�'�0�0�0�0�0�z�0�0�0������ !�b�j�
"�
��
�
������r

Hacked By AnonymousFox1.0, Coded By AnonymousFox