HEX
Server: Apache
System: Linux p3plzcpnl506847.prod.phx3.secureserver.net 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User: slfopp7cb1df (5698090)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: //opt/python38/lib/python3.8/site-packages/pip/_vendor/rich/__pycache__/markup.cpython-38.pyc
U

�{�e �@s�ddlZddlmZddlmZddlmZmZmZm	Z	m
Z
mZmZm
Z
ddlmZddlmZddlmZdd	lmZdd
lmZmZe�dej�Ze�d�ZGd
d�de
�Ze	eZeegefZeeegefZ e�d�j!fee ed�dd�Z"eeee#eeeefd�dd�Z$d'ee
eefe%eeed�dd�Z&e'dk�r�ddddd gZ(dd!l)m*Z*dd"l+m,Z,e,d#d$d%d&�Z-e(D]Z.e-�/ee.�e.��q�e*e-�dS)(�N)�literal_eval)�
attrgetter)�Callable�Iterable�List�Match�
NamedTuple�Optional�Tuple�Union�)�_emoji_replace)�EmojiVariant)�MarkupError)�Style)�Span�Textz((\\*)\[([a-z#/@][^[]*?)])z^([\w.]*?)(\(.*?\))?$c@sFeZdZUdZeed<eeed<ed�dd�Zeed�dd��Z	d	S)
�TagzA tag in console markup.�name�
parameters)�returncCs"|jdkr|jS|j�d|j��S)N� �rr��self�r�;/tmp/pip-unpacked-wheel-_0scjqea/pip/_vendor/rich/markup.py�__str__s �zTag.__str__cCs.|jdkrd|j�d�Sd|j�d|j�d�S)z*Get the string representation of this tag.N�[�]�=rrrrr�markup!s��z
Tag.markupN)
�__name__�
__module__�__qualname__�__doc__�str�__annotations__r	r�propertyr!rrrrrs
rz(\\*)(\[[a-z#/@][^[]*?]))r!�_escapercCs"tttd�dd�}|||�}|S)z�Escapes text so that it won't be interpreted as markup.

    Args:
        markup (str): Content to be inserted in to markup.

    Returns:
        str: Markup with square brackets escaped.
    )�matchrcSs|��\}}|�|�d|��S)z!Called by re.sub replace matches.�\)�groups)r*�backslashes�textrrr�escape_backslashes=sz"escape.<locals>.escape_backslashes)rr&)r!r)r/rrr�escape0s

r0)r!rccs�d}t}t}t�|�D]�}|��\}}}|��\}}	||krP||||�dfV|r�|t|�d�\}
}|
r�|d|
dfV||
d7}|r�||t|�d�dfV|	}q|�d�\}}
}|d|||
r�|nd�fV|	}q|t|�kr�|||d�dfVdS)z�Parse markup in to an iterable of tuples of (position, text, tag).

    Args:
        markup (str): A string containing console markup

    rN�r+r )�divmodr�RE_TAGS�finditerr,�span�len�	partition)r!�positionZ_divmod�_Tagr*Z	full_textZescapesZtag_text�start�endr-�escapedr.�equalsrrrr�_parseFs,r>�T)r!�style�emoji�
emoji_variantrcs,t}d|kr(t|r|||d�n||d�St|d�}|j}tj}g��j�g}|j}	t}
t}tt	t
tfd���fdd�}t|�D�]L\}
}}|dk	r�|�dd�}||r�||�n|�q�|dk	r�|j
�d	��r�|j
d
d���}|�r0||�}z||�\}}Wn0tk
�r,td|j�d|
�d
��d�YnXn8z��\}}Wn(tk
�rftd|
�d��d�YnX|j
�d��r�|j�rjd}|j��}t�|�}|dk	�r�|��\}}|dk�r�dn|}zt|�}Wn|tk
�r}z"td|�d|j�d|j����W5d}~XYn<tk
�rF}ztd|j�d|���d�W5d}~XYnX|�rn|t|t��r`|n|ff}nd}|	|
|t|�t|j
|id���n|	|
|t|�t|���q�|||j
�|j�}��t|�|f�q�t|�}��r���\}}t|�}|�r�|	|
|||���q�t|ddd�t d�d�|_!|S)a9Render console markup in to a Text instance.

    Args:
        markup (str): A string containing console markup.
        emoji (bool, optional): Also render emoji code. Defaults to True.

    Raises:
        MarkupError: If there is a syntax error in the markup.

    Returns:
        Text: A test instance.
    r)Zdefault_variant)r@)�
style_namercs@tt��d�D]$\}\}}|j|kr�|�Sqt|��dS)z"Pop tag matching given style name.rN)�	enumerate�reversedr�KeyError)rC�index�_�tag��popZstyle_stackrr�	pop_style�s
zrender.<locals>.pop_styleNz\[�/rz
closing tag 'z' at position z doesn't match any open tagzclosing tag '[/]' at position z has nothing to close�@r?z()zerror parsing z in z; r)�meta���r:)�key)"r
r�appendr�	normalizerKrrr&r
�intr>�replacer�
startswith�striprFrr!�
IndexErrorr�
RE_HANDLERr*r,r�SyntaxError�msg�	Exception�
isinstance�tupler6�sortedr�spans)r!r@rArBZ
emoji_replacer.rRrSr`Zappend_spanZ_Spanr9rLr8Z
plain_textrIrCr:Zopen_tagZhandler_namerZ
handler_matchZmatch_parametersZmeta_params�errorZnormalized_tagZtext_lengthrrJr�rendergs��
��

��


��������rb�__main__z[red]Hello World[/red]zagenta]Hello [b]World[/b]z9[bold]Bold[italic] bold and italic [/bold]italic[/italic]zDClick [link=https://www.willmcgugan.com]here[/link] to visit my Blogz+:warning-emoji: [bold red blink] DANGER![/])�print)�TableZMarkupZResult)rr)�padding)r?TN)0�re�astr�operatorr�typingrrrrrr	r
rr
rAr�errorsrr@rr.rr�compile�VERBOSEr3rYrr&Z_ReStringMatchZ_ReSubCallableZ_EscapeSubMethod�subr0rTr>�boolrbr"ZMARKUPZpip._vendor.richrdZpip._vendor.rich.tablereZgridr!Zadd_rowrrrr�<module>s^(�

��&#�
�}
�