§
    XŠtj}  ã                   óž   — d Z ddlmZ ddlmZ ddlmZ ddlmZ g d¢Z	 G d„ de¦  «        Z
 G d	„ d
e¦  «        ZdZdZ G d„ de¦  «        ZdS )zí
    pygments.formatters.other
    ~~~~~~~~~~~~~~~~~~~~~~~~~

    Other formatters: NullFormatter, RawTokenFormatter.

    :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    )Ú	Formatter)Úget_choice_opt)ÚToken)Úcolorize)ÚNullFormatterÚRawTokenFormatterÚTestcaseFormatterc                   ó*   — e Zd ZdZdZddgZdgZd„ ZdS )r   z;
    Output the text unchanged without any formatting.
    z	Text onlyÚtextÚnullz*.txtc                 ó¤   — | j         }|D ]E\  }}|r)|                     |                     |¦  «        ¦  «         Œ0|                     |¦  «         ŒFd S ©N)ÚencodingÚwriteÚencode)ÚselfÚtokensourceÚoutfileÚencÚttypeÚvalues         úW/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/pygments/formatters/other.pyÚformatzNullFormatter.format   sd   € ØŒmˆØ'ð 	%ð 	%‰LˆE�5Øð %Ø—’˜eŸlšl¨3Ñ/Ô/Ñ0Ô0Ð0Ð0à—’˜eÑ$Ô$Ð$Ð$ð		%ð 	%ó    N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚaliasesÚ	filenamesr   © r   r   r   r      sE   € € € € € ðð ð €DØ�vÐ€GØ�	€Ið%ð %ð %ð %ð %r   r   c                   ó4   — e Zd ZdZdZddgZdgZdZd„ Zd„ Z	d	S )
r   a}  
    Format tokens as a raw representation for storing token streams.

    The format is ``tokentype<TAB>repr(tokenstring)\n``. The output can later
    be converted to a token stream with the `RawTokenLexer`, described in the
    :doc:`lexer list <lexers>`.

    Only two options are accepted:

    `compress`
        If set to ``'gz'`` or ``'bz2'``, compress the output with the given
        compression algorithm after encoding (default: ``''``).
    `error_color`
        If set to a color name, highlight error tokens using that color.  If
        set but with no value, defaults to ``'red'``.

        .. versionadded:: 0.11

    z
Raw tokensÚrawÚtokensz*.rawFc                 óJ  — t          j        | fi |¤Ž d| _        t          |dg d¢d¦  «        | _        |                     dd ¦  «        | _        | j        du rd| _        | j        �>	 t          | j        d¦  «         d S # t          $ r t          d| j        ›d	�¦  «        ‚w xY wd S )
NÚasciiÚcompress)Ú ÚnoneÚgzÚbz2r)   Úerror_colorTÚredzInvalid color z
 specified)
r   Ú__init__r   r   r(   Úgetr-   r   ÚKeyErrorÚ
ValueError©r   Úoptionss     r   r/   zRawTokenFormatter.__init__>   sÞ   € ÝÔ˜4Ð+Ð+ 7Ð+Ð+Ð+ð  ˆŒÝ& w°
Ø'@Ð'@Ð'@À"ñFô FˆŒà"Ÿ;š; }°dÑ;Ô;ˆÔØÔ˜tÐ#Ð#Ø$ˆDÔØÔÐ'ðRÝ˜Ô)¨2Ñ.Ô.Ð.Ð.Ð.øÝð Rð Rð RÝ Ð!P°$Ô2BÐ!PÐ!PÐ!PÑQÔQÐQðRøøøð (Ð's   Á&A= Á=#B c                 ó>  ‡‡
— 	 ‰                      d¦  «         n# t          $ r t          d¦  «        ‚w xY w| j        dk    r+dd l}|                     ddd‰¦  «        Š‰j         }‰j        }n?| j        dk    r&dd l}|                     d¦  «        Š
ˆ
ˆfd	„}ˆ
ˆfd
„}n‰j         }‰j        }| j	        rH|D ]D\  }}d||fz  }	|t          j        u r |t          | j	        |	¦  «        ¦  «         Œ9 ||	¦  «         ŒEn|D ]\  }} |d||fz  ¦  «         Œ |¦   «          d S )Nr   z3The raw tokens formatter needs a binary output filer+   r   r)   Úwbé	   r,   c                 óX   •— ‰                      ‰                     | ¦  «        ¦  «         d S r   )r   r(   )r   Ú
compressorr   s    €€r   r   z'RawTokenFormatter.format.<locals>.write_   s)   ø€ Ø—’˜j×1Ò1°$Ñ7Ô7Ñ8Ô8Ð8Ð8Ð8r   c                  ó~   •— ‰                      ‰                      ¦   «         ¦  «         ‰                     ¦   «          d S r   )r   Úflush)r9   r   s   €€r   r;   z'RawTokenFormatter.format.<locals>.flushb   s2   ø€ Ø—’˜j×.Ò.Ñ0Ô0Ñ1Ô1Ð1Ø—’‘”���r   s   %r	%r
)r   Ú	TypeErrorr(   ÚgzipÚGzipFileÚcloser,   ÚBZ2Compressorr;   r-   r   ÚErrorr   )r   r   r   r=   r   r;   r,   r   r   Úliner9   s     `       @r   r   zRawTokenFormatter.formatO   s¶  øø€ ð	+Ø�MŠM˜#ÑÔÐÐøÝð 	+ð 	+ð 	+Ýð *ñ +ô +ð +ð	+øøøð Œ=˜DÒ Ð ØˆKˆKˆKØ—m’m B¨¨a°Ñ9Ô9ˆGà”MˆEØ”MˆEˆEØŒ]˜eÒ#Ð#ØˆJˆJˆJØ×*Ò*¨1Ñ-Ô-ˆJð9ð 9ð 9ð 9ð 9ð 9ð ð  ð  ð  ð  ð  ð  ð ”MˆEØ”MˆEàÔð 		4Ø +ð  ð  ‘��uØ" e¨U ^Ñ3�Ø�EœKÐ'Ð'Ø�E�( 4Ô#3°TÑ:Ô:Ñ;Ô;Ð;Ð;à�E˜$‘K”K�K�Kð ð !,ð 4ð 4‘��uØ��k U¨E NÑ2Ñ3Ô3Ð3Ð3Øˆ‰Œˆˆˆs   „ š4N)
r   r   r   r   r   r    r!   Úunicodeoutputr/   r   r"   r   r   r   r   $   s\   € € € € € ðð ð& €DØ�hÐ€GØ�	€Ià€MðRð Rð Rð"$ð $ð $ð $ð $r   r   zG    def testNeedsName(lexer):
        fragment = %r
        tokens = [
zD        ]
        assert list(lexer.get_tokens(fragment)) == tokens
c                   ó(   — e Zd ZdZdZdgZd„ Zd„ ZdS )r	   zU
    Format tokens as appropriate for a new testcase.

    .. versionadded:: 2.0
    ÚTestcaseÚtestcasec                 óp   — t          j        | fi |¤Ž | j        �| j        dk    rt          d¦  «        ‚d S d S )Núutf-8z*Only None and utf-8 are allowed encodings.)r   r/   r   r2   r3   s     r   r/   zTestcaseFormatter.__init__Š   sL   € ÝÔ˜4Ð+Ð+ 7Ð+Ð+Ð+ØŒ=Ð$¨¬¸'Ò)AÐ)AÝÐIÑJÔJÐJð %Ð$Ð)AÐ)Ar   c           	      óZ  — d}g }g }|D ]8\  }}|                      |¦  «         |                      |› d|› d|›d�¦  «         Œ9t          d                     |¦  «        fz  }d                     |¦  «        }	t          }
| j        €|                     ||	z   |
z   ¦  «         nx|                     |                     d¦  «        ¦  «         |                     |	                     d¦  «        ¦  «         |                     |
                     d¦  «        ¦  «         |                     ¦   «          d S )Nz            ú(z, z),
r)   rH   )ÚappendÚTESTCASE_BEFOREÚjoinÚTESTCASE_AFTERr   r   r   r;   )r   r   r   ÚindentationÚrawbufÚoutbufr   r   ÚbeforeÚduringÚafters              r   r   zTestcaseFormatter.format�   s"  € ØˆØˆØˆØ'ð 	Cð 	C‰LˆE�5Ø�MŠM˜%Ñ Ô Ð Ø�MŠM˜[ÐAÐA¨5ÐAÐA°EÐAÐAÐAÑBÔBÐBÐBå  B§G¢G¨F¡O¤OÐ#5Ñ5ˆØ—’˜‘”ˆÝˆØŒ=Ð Ø�MŠM˜& 6™/¨EÑ1Ñ2Ô2Ð2Ð2à�MŠM˜&Ÿ-š-¨Ñ0Ô0Ñ1Ô1Ð1Ø�MŠM˜&Ÿ-š-¨Ñ0Ô0Ñ1Ô1Ð1Ø�MŠM˜%Ÿ,š, wÑ/Ô/Ñ0Ô0Ð0Ø�Š‰Œˆˆˆr   N)r   r   r   r   r   r    r/   r   r"   r   r   r	   r	   �   sM   € € € € € ðð ð
 €DØˆl€GðKð Kð Kð
ð ð ð ð r   r	   N)r   Úpygments.formatterr   Úpygments.utilr   Úpygments.tokenr   Úpygments.consoler   Ú__all__r   r   rL   rN   r	   r"   r   r   ú<module>rZ      s  ððð ð )Ð (Ð (Ð (Ð (Ð (Ø (Ð (Ð (Ð (Ð (Ð (Ø  Ð  Ð  Ð  Ð  Ð  Ø %Ð %Ð %Ð %Ð %Ð %à
EÐ
EÐ
E€ð%ð %ð %ð %ð %�Iñ %ô %ð %ð"Oð Oð Oð Oð O˜	ñ Oô Oð Oðd€ð
€ðð ð ð ð ˜	ñ ô ð ð ð r   