| Server IP : 54.37.205.81 / Your IP : 216.73.216.76 Web Server : nginx/1.22.1 System : Linux vps-249481fa 6.1.0-50-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.176-1 (2026-07-02) x86_64 User : debian ( 1000) PHP Version : 8.2.32 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /lib/python3/dist-packages/markdown/__pycache__/ |
Upload File : |
�
Ӽ�bl- � �� � d Z ddlZddlZddlZddlmZ ddlmZmZ ddl m
Z
g d�ZdZdZ
ed z Zed
z e
z Z ej edz � � Zedz e
z Zed
z e
z Z ej edz � � Zedz e
z Z dZ ed�� � d� � � Zd%d�Zd&d�Zd� Zd%d�Zd� Z G d� de� � Z G d� d� � Z G d� d� � Z ed d!d"g� � Z! G d#� d$� � Z"dS )'a�
Python Markdown
A Python implementation of John Gruber's Markdown.
Documentation: https://python-markdown.github.io/
GitHub: https://github.com/Python-Markdown/markdown/
PyPI: https://pypi.org/project/Markdown/
Started by Manfred Stienstra (http://www.dwerg.net/).
Maintained for a few years by Yuri Takhteyev (http://www.freewisdom.org).
Currently maintained by Waylan Limberg (https://github.com/waylan),
Dmitry Shachnev (https://github.com/mitya57) and Isaac Muse (https://github.com/facelessuser).
Copyright 2007-2018 The Python Markdown Project (v. 1.7 and later)
Copyright 2004, 2005, 2006 Yuri Takhteyev (v. 0.2-1.6b)
Copyright 2004 Manfred Stienstra (the original version)
License: BSD (see LICENSE.md for details).
� N)�
namedtuple)�wraps� lru_cache)�count)8�address�article�aside�
blockquote�details�div�dl�fieldset�
figcaption�figure�footer�form�h1�h2�h3�h4�h5�h6�header�hgroup�hr�main�menu�nav�ol�p�pre�section�table�ul�canvas�colgroup�dd�body�dt�group�iframe�li�legend�math�map�noscript�output�object�option�progress�script�style�tbody�td�textarea�tfoot�th�thead�tr�video��zklzzwxh:z%sz([0-9]+)�ampz
wzxhzdk:%sz
hzzhzkh:%s))u u ߿)u ⴰu ⵿)�maxsizec �d � t j dk rddlm} ndd l} | � d�� � S )N)� �
r ��metadatazmarkdown.extensions)r* )�sys�version_info� importlibrG �importlib_metadata�entry_pointsrF s �//usr/lib/python3/dist-packages/markdown/util.py�get_installed_extensionsrN Q sI � �
��7�"�"�&�&�&�&�&�&�&�-�-�-�-�� � �'<� �=�=�=� � c � � �� � �fd�}|S )z�
Raise a DeprecationWarning when wrapped function/method is called.
Usage:
@deprecated("This method will be removed in version X; use Y instead.")
def some_method()"
pass
c �B �� � t � � � � ��fd�� � }|S )Nc �b �� t j d�j � d�� �t ��� � �| i |��S )N�'z' is deprecated. )�category�
stacklevel)�warnings�warn�__name__�DeprecationWarning)�args�kwargs�func�messagerV s ���rM �deprecated_funcz4deprecated.<locals>.wrapper.<locals>.deprecated_funce sN �� ��M�=�D�M�=�=�G�=�=�+�%�
�
�
�
�
�4��(��(�(�(rO )r )r] r_ r^ rV s ` ��rM �wrapperzdeprecated.<locals>.wrapperd s? ��� � �t��� )� )� )� )� )� )�
�� )� �rO � )r^ rV r` s `` rM �
deprecatedrb [ s) ��� � � � � � � � �NrO TFc � � t | t � � s|r| �| S t | � � S |r| � � � dk rdS | � � � dv rdS | � � � dv rdS |rt d| z � � �dS )a Parses a string representing bool value. If parsing was successful,
returns True or False. If preserve_none=True, returns True, False,
or None. If parsing was not successful, raises ValueError, or, if
fail_on_errors=False, returns None.N�none)�true�yes�y�on�1T)�false�no�n�off�0rd FzCannot parse bool value: %r)�
isinstance�str�bool�lower�
ValueError)�value�fail_on_errors�
preserve_nones rM �parseBoolValuerw q s� � �
�e�S�!�!� @�� �U�]��L��E�{�{�� � @�5�;�;�=�=�F�2�2��t� �����9� 9� 9��t� �����B� B� B��u� � @��6��>�?�?�?�@� @rO c � � d| v r| � dd� � } d| v r| � dd� � } d| v r| � dd� � } | S )zEscape code.�&z&�<z<�>z>)�replace)�texts rM �code_escaper~ � s[ � �
�d�{�{��|�|�C��)�)��
�d�{�{��|�|�C��(�(��
�d�{�{��|�|�C��(�(���KrO c �l � t j | � � }t | � � D ]} |j }|s| c S �dS )z+Get current stack depth, performantly.
N)rH � _getframer �f_back)�size�frames rM �_get_stack_depthr� � sO � �
�M�$���E��d��� � ������ ��K�K�K� �� rO c �N � t j � � t � � z
dk S )zBReturn true if current stack depth is within 100 of maximum limit.�d )rH �getrecursionlimitr� ra rO rM �nearing_recursion_limitr� � s"