o
    c
                     @   s@   d Z dZdZdZdZdd Zdd Zd	d
 Zdd Zdd Z	dS )a  
    pygments.plugin
    ~~~~~~~~~~~~~~~

    Pygments plugin interface. By default, this tries to use
    ``importlib.metadata``, which is in the Python standard
    library since Python 3.8, or its ``importlib_metadata``
    backport for earlier versions of Python. It falls back on
    ``pkg_resources`` if not found. Finally, if ``pkg_resources``
    is not found either, no plugins are loaded at all.

    lexer plugins::

        [pygments.lexers]
        yourlexer = yourmodule:YourLexer

    formatter plugins::

        [pygments.formatters]
        yourformatter = yourformatter:YourFormatter
        /.ext = yourformatter:YourFormatter

    As you can see, you can define extensions for the formatter
    with a leading slash.

    syntax plugins::

        [pygments.styles]
        yourstyle = yourstyle:YourStyle

    filter plugin::

        [pygments.filter]
        yourfilter = yourfilter:YourFilter


    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
zpygments.lexerszpygments.formatterszpygments.styleszpygments.filtersc                 C   s   zddl m} W n; tyC   zddlm} W n) ty@   zddlm} W n ttfy7   g  Y  Y  Y S w ||  Y  Y S w Y nw | }t|drR|j| dS |	| g S )N    )entry_points)iter_entry_pointsselect)group)
importlib.metadatar   ImportErrorimportlib_metadatapip._vendor.pkg_resourcesr   OSErrorhasattrr   get)
group_namer   r   groups r   H/opt/certbot/lib/python3.10/site-packages/pip/_vendor/pygments/plugin.pyr   /   s&   

r   c                  c   s    t tD ]} |  V  qd S N)r   LEXER_ENTRY_POINTload
entrypointr   r   r   find_plugin_lexersG   s   r   c                  c   $    t tD ]
} | j|  fV  qd S r   )r   FORMATTER_ENTRY_POINTnamer   r   r   r   r   find_plugin_formattersL      r   c                  c   r   r   )r   STYLE_ENTRY_POINTr   r   r   r   r   r   find_plugin_stylesQ   r   r   c                  c   r   r   )r   FILTER_ENTRY_POINTr   r   r   r   r   r   find_plugin_filtersV   r   r   N)
__doc__r   r   r   r   r   r   r   r   r   r   r   r   r   <module>   s    (