§
    ‹Ÿj§<  ã                   ó&  — d Z ddlZddlmZmZ ddlmZmZmZm	Z	 ddl
mZmZmZmZmZmZmZmZmZmZ ddlmZ g d¢Z G d„ d	e¦  «        Z G d
„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        ZdS )zØ
    pygments.lexers.textfmts
    ~~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for various text formats.

    :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    N)Úguess_lexerÚget_lexer_by_name)Ú
RegexLexerÚbygroupsÚdefaultÚinclude)
ÚTextÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚGenericÚLiteralÚPunctuation)ÚClassNotFound)ÚIrcLogsLexerÚTodotxtLexerÚ	HttpLexerÚGettextLexerÚNotmuchLexerÚKernelLogLexerc                   óf  — e Zd ZdZdZdgZdgZdgZdZdZ	e
j        e
j        z  ZdZd	efd
ez   dz    eej        ej        ¦  «        fd
ez   dz    eej        ej        ¦  «        dfd
ez   dz    eej        eej        ¦  «        fd
ez   dz    eej        eee¦  «        fdefgdej        fdedfgdœZdS )r   zD
    Lexer for IRC logs in *irssi*, *xchat* or *weechat* style.
    zIRC logsÚircz*.weechatlogztext/x-irclogz1https://en.wikipedia.org/wiki/Internet_Relay_ChatÚ af  
        (
          # irssi / xchat and others
          (?: \[|\()?                  # Opening bracket or paren for the timestamp
            (?:                        # Timestamp
                (?: (?:\d{1,4} [-/])*  # Date as - or /-separated groups of digits
                    (?:\d{1,4})
                 [T ])?                # Date/time separator: T or space
                (?: \d?\d [:.])*       # Time as :/.-separated groups of 1 or 2 digits
                    (?: \d?\d)
            )
          (?: \]|\))?\s+               # Closing bracket or paren for the timestamp
        |
          # weechat
          \d{4}\s\w{3}\s\d{2}\s        # Date
          \d{2}:\d{2}:\d{2}\s+         # Time + Whitespace
        |
          # xchat
          \w{3}\s\d{2}\s               # Date
          \d{2}:\d{2}:\d{2}\s+         # Time + Whitespace
        )?
    z^\*\*\*\*(.*)\*\*\*\*$ú^z(\s*<[^>]*>\s*)$z/
                (\s*<.*?>\s*)          # Nick Úmsgzo
                (\s*[*]\s+)            # Star
                (\S+\s+.*?\n)          # Nick + rest of message zÅ
                (\s*(?:\*{3}|<?-[!@=P]?->?)\s*)  # Star(s) or symbols
                (\S+\s+)                     # Nick + Space
                (.*?\n)                         # Rest of message z^.*?\nz
\S+:(?!//)z.*\nú#pop)Úrootr   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚaliasesÚ	filenamesÚ	mimetypesÚurlÚversion_addedÚreÚVERBOSEÚ	MULTILINEÚflagsÚ	timestampr
   r   ÚPreprocr   ÚTagr   r   ÚInsertedr   r	   Ú	AttributeÚtokens© ó    úe/var/www/finuniver-perm.ru/html/student/venv/lib/python3.11/site-packages/pygments/lexers/textfmts.pyr   r      sG  € € € € € ðð ð €DØˆg€GØÐ €IØ Ð!€IØ
=€CØ€MàŒJ˜œÑ%€Eð€Ið2 '¨Ð0à�9‰_Ð2Ñ2°H°H¸W¼_ÈdÌhÑ4WÔ4WÐXà�9‰_ð  2ñ 2àˆX�g”o t¤xÑ0Ô0°%ð9ð �9‰_ð  Dñ Dð ˆX�g”o w°Ô0@ÑAÔAðCð
 �9‰_ð  Fñ Fð ˆX�g”o w°¸Ñ@Ô@ð	Bð
 ˜Ðð)
ð. ˜DœNÐ+Ø�d˜FÐ#ð
ð/ð €F€F€Fr6   r   c                   óþ   — e Zd ZdZdZddgZddgZg d¢ZdZd	Z	d
de
j        fde
j        fdej        fd eeej        e¦  «        fdefd eej        ee¦  «        fd eej        ej        ej        ee¦  «        fgiZdS )r   z*
    Lexer for Gettext catalog files.
    zGettext CatalogÚpotÚpoz*.potz*.po)zapplication/x-gettextztext/x-gettextztext/gettextz$https://www.gnu.org/software/gettextz0.9r    z	^#,\s.*?$z	^#:\s.*?$z^(#|#\.\s|#\|\s|#~\s|#\s).*$z^(")([A-Za-z-]+:)(.*")$z^".*"$z0^(msgid|msgid_plural|msgstr|msgctxt)(\s+)(".*")$z^(msgstr\[)(\d)(\])(\s+)(".*")$N)r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r   ÚTypeÚDeclarationr
   ÚSingler   r   r   ÚPropertyÚVariabler	   r   ÚIntegerr4   r5   r6   r7   r   r   X   sÙ   € € € € € ðð ð €DØ�dˆm€GØ˜&Ð!€IØKÐKÐK€IØ
0€CØ€Mð 	Ø˜7œ<Ð(Ø˜7Ô.Ð/à,¨g¬nÐ=Ø'ØˆX�f˜dœm¨VÑ4Ô4ð6à˜ÐØ@ØˆX�d”m T¨6Ñ2Ô2ð4à/ØˆX�d”m V¤^°T´]ÀDÈ&ÑQÔQðSð
ð€F€F€Fr6   r   c                   óú   — e Zd ZdZdZdgZdZdZej	        Z
dd„Zd„ Zd	„ Zd
„ Zd eej        eej        eej        eee¦  «        dfd eej        eeeeeej        e¦  «        dfgdefdefdedfgdefgdœZd„ ZdS )r   z"
    Lexer for HTTP sessions.
    ÚHTTPÚhttpzhttps://httpwg.org/specsz1.5©r    c                 ó<   — d| _         t          j        | ||¦  «        S )zReset the content-type state.N)Úcontent_typer   Úget_tokens_unprocessed)ÚselfÚtextÚstacks      r7   rG   z HttpLexer.get_tokens_unprocessed€   s   € à ˆÔÝÔ0°°t¸UÑCÔCÐCr6   c              #   ó„  K  — |                      d¦  «                             ¦   «         dk    ra|                      d¦  «                             ¦   «         }d|v r/|d |                     d¦  «        …                              ¦   «         }|| _        |                     d¦  «        t          j        |                      d¦  «        fV — |                     d¦  «        t          |                      d¦  «        fV — |                     d¦  «        t          |                      d¦  «        fV — |                     d¦  «        t          |                      d¦  «        fV — |                     d¦  «        t          |                      d¦  «        fV — |                     d¦  «        t          |                      d¦  «        fV — d S )	Né   zcontent-typeé   ú;é   é   é   é   )ÚgroupÚlowerÚstripÚfindrF   Ústartr   r3   r	   r   r   )rH   ÚmatchrF   s      r7   Úheader_callbackzHttpLexer.header_callback…   sq  è è € Ø�;Š;�q‰>Œ>×ÒÑ!Ô! ^Ò3Ð3Ø Ÿ;š; q™>œ>×/Ò/Ñ1Ô1ˆLØ�lÐ"Ð"Ø+Ð,C¨\×->Ò->¸sÑ-CÔ-CÐ,CÔD×JÒJÑLÔL�Ø ,ˆDÔØ�kŠk˜!‰nŒn�dœn¨e¯kªk¸!©n¬nÐ<Ð<Ð<Ð<Ø�kŠk˜!‰nŒn�d E§K¢K°¡N¤NÐ2Ð2Ð2Ð2Ø�kŠk˜!‰nŒn�h¨¯ª°A©¬Ð6Ð6Ð6Ð6Ø�kŠk˜!‰nŒn�d E§K¢K°¡N¤NÐ2Ð2Ð2Ð2Ø�kŠk˜!‰nŒn�g u§{¢{°1¡~¤~Ð5Ð5Ð5Ð5Ø�kŠk˜!‰nŒn�d E§K¢K°¡N¤NÐ2Ð2Ð2Ð2Ð2Ð2r6   c              #   ó6  K  — |                      d¦  «        t          |                     d¦  «        fV — |                      d¦  «        t          |                     d¦  «        fV — |                      d¦  «        t          |                     d¦  «        fV — d S )NrL   rO   rP   )rW   r	   rS   r   )rH   rX   s     r7   Úcontinuous_header_callbackz$HttpLexer.continuous_header_callback’   s�   è è € Ø�kŠk˜!‰nŒn�d E§K¢K°¡N¤NÐ2Ð2Ð2Ð2Ø�kŠk˜!‰nŒn�g u§{¢{°1¡~¤~Ð5Ð5Ð5Ð5Ø�kŠk˜!‰nŒn�d E§K¢K°¡N¤NÐ2Ð2Ð2Ð2Ð2Ð2r6   c              #   óš  K  — t          | dd ¦  «        }|                     ¦   «         }|                     ¦   «         }|r�ddlm} |g}d|v r+t          j        dd|¦  «        }|                     |¦  «         |D ]F}	  ||¦  «        }	|	                     |¦  «        D ]\  }
}}||
z   ||fV — Œ d S # t          $ r Y ŒCw xY w|t          |fV — d S )NrF   r   )Úget_lexer_for_mimetypeú+z^(.*)/.*\+(.*)$z\1/\2)ÚgetattrrS   rW   Úpygments.lexersr]   r+   ÚsubÚappendrG   r   r	   )rH   rX   rF   ÚcontentÚoffsetr]   Úpossible_lexer_mimetypesÚgeneral_typeÚiÚlexerÚidxÚtokenÚvalues                r7   Úcontent_callbackzHttpLexer.content_callback—   s5  è è € Ý˜t ^°TÑ:Ô:ˆØ—+’+‘-”-ˆØ—’‘”ˆØð 	Ø>Ð>Ð>Ð>Ð>Ð>Ø(4 ~Ð$Ø�lÐ"Ð"õ  "œvÐ&8¸(Ø&2ñ 4ô  4�à(×/Ò/°Ñ=Ô=Ð=à-ð ð �ðØ2Ð2°1Ñ5Ô5�Eð .3×-IÒ-IÈ'Ñ-RÔ-Rð 9ð 9Ñ)˜˜U EØ$ s™l¨E°5Ð8Ð8Ð8Ð8Ð8Ø�F�Føõ %ð ð ð Ø�Dðøøøð •d˜GÐ#Ð#Ð#Ð#Ð#Ð#s   Á;B/Â/
B<Â;B<zL([a-zA-Z][-_a-zA-Z]+)( +)([^ ]+)( +)(HTTP)(/)(1\.[01]|2(?:\.0)?|3)(\r?\n|\Z)ÚheaderszF(HTTP)(/)(1\.[01]|2(?:\.0)?|3)( +)(\d{3})(?:( +)([^\r\n]*))?(\r?\n|\Z)z(([^\s:]+)( *)(:)( *)([^\r\n]*)(\r?\n|\Z)z([\t ]+)([^\r\n]+)(\r?\n|\Z)z\r?\nrc   z.+)r    rm   rc   c                 ó:   ‡ — t          ˆ fd„dD ¦   «         ¦  «        S )Nc              3   óF   •K  — | ]}t          j        |‰¦  «        d uV — Œd S )N)r+   Úsearch)Ú.0ÚpatternrI   s     €r7   ú	<genexpr>z)HttpLexer.analyse_text.<locals>.<genexpr>Ç   sH   øè è € ð 
ð 
àõ ŒI�g˜tÑ$Ô$¨DÐ0ð
ð 
ð 
ð 
ð 
ð 
r6   )zM^([a-zA-Z][-_a-zA-Z]+)( +)([^ ]+)( +)(HTTP)(/)(1\.[01]|2(?:\.0)?|3)(\r?\n|\Z)zG^(HTTP)(/)(1\.[01]|2(?:\.0)?|3)( +)(\d{3})(?:( +)([^\r\n]*))?(\r?\n|\Z))Úany©rI   s   `r7   Úanalyse_textzHttpLexer.analyse_textÆ   s=   ø€ Ýð 
ð 
ð 
ð 
ðð
ñ 
ô 
ñ 
ô 
ð 	
r6   N)rD   )r!   r"   r#   r$   r%   r&   r)   r*   r+   ÚDOTALLr.   rG   rY   r[   rl   r   r   ÚFunctionr	   Ú	Namespacer   ÚReservedr   r   Ú	Exceptionr4   rv   r5   r6   r7   r   r   t   s=  € € € € € ðð ð €DØˆh€GØ
$€CØ€MàŒI€EðDð Dð Dð Dð
3ð 3ð 3ð3ð 3ð 3ð
$ð $ð $ð69àˆX�d”m T¨4¬>¸4ØÔ&¨°&¸$ñ@ô @àð	ð
 WØˆX�gÔ&¨°&¸$ÀÈØ”n dñ,ô ,àðð

ð 9¸/ÐJØ,Ð.HÐIØ�t˜YÐ'ð
ð Ð$Ð%ð
ð#ð €Fð,
ð 
ð 
ð 
ð 
r6   r   c            
       óˆ  — e Zd ZdZdZdZdgZdZddgZdgZ	e
ZeZej        Zej        Zej        ZeZd	Zd
ZdZdZdez   dz   Zedz   ez   dz   Zdez   dz   ez   dz   Ze eeeee¦  «        dfe eee¦  «        dfe eeee¦  «        dfeedfeedfeedfeedfdedfgdedfeefeefdefdefgdedfeefeefdefdefgdœZdS )r   z.
    Lexer for Todo.txt todo list format.
    ÚTodotxtzhttp://todotxt.com/Útodotxtz2.0ztodo.txtz	*.todotxtztext/x-todoz\d{4,}-\d{2}-\d{2}z	\([A-Z]\)z\+\S+z@\S+z(x )(ú)z( )(ú(z)( )(ÚcompleteÚ
incompletez\S+z\s*\nr   z\s+)r    r�   r‚   N) r!   r"   r#   r$   r%   r)   r&   r*   r'   r(   r   ÚCompleteTaskTextr	   ÚIncompleteTaskTextr   ÚHeadingÚPriorityÚ
SubheadingÚDateÚErrorÚProjectr   ÚContextÚ
date_regexÚpriority_regexÚproject_regexÚcontext_regexÚcomplete_one_date_regexÚcomplete_two_date_regexÚpriority_date_regexr   r4   r5   r6   r7   r   r   Ð   sÝ  € € € € € ðð ð €DØ
€CØˆk€GØ€Mð ˜[Ð)€IØ�€Ið  ÐØÐð Œ€HàÔ€Dð Œm€GØ€Gð '€JØ!€NØ€MØ€Mð '¨Ñ3°dÑ:ÐØ6¸Ñ@Ø)ñ *Ø,0ñ 1Ðà Ñ/°(Ñ:¸ZÑGÈ$ÑNÐð % h hÐ/?ÀØ/?Àñ'Gô 'Gàðð % h hÐ/?ÀÑ&FÔ&FØðð
 ! ( (¨8Ð5GÈÑ"NÔ"NØðð ˜X |Ð4à˜˜|Ð,à˜G \Ð2à˜G \Ð2àÐ'¨Ð6ð/
ð: Ð'¨Ð0à˜GÐ$Ø˜GÐ$àÐ%Ð&àÐ%Ð&ð

ð Ð)¨6Ð2à˜GÐ$Ø˜GÐ$àÐ'Ð(àÐ'Ð(ð

ðU5ð 5€F€F€Fr6   r   c                   ó  — e Zd ZdZdZdZdgZdZd„ Zde	dfgd	 e
ej        e¦  «        fd
 e
ej        ej        ¦  «        fd e
ej        e¦  «        f ed¦  «        gde	dfde	dfde	dfgde	dfd e
ej        e¦  «        fd e
ej        eej        ¦  «        fgde	dfde	dfde	dfgd e
ej        ej        ¦  «        fd e
eej        e¦  «        fd e
eej        e¦  «        f ed¦  «        gde	dfde	dfd efd!efgd"œZd#„ Zd$„ Zd%S )&r   zü
    For Notmuch email text format.

    Additional options accepted:

    `body_lexer`
        If given, highlight the contents of the message body with the specified
        lexer, else guess it according to the body content (default: ``None``).
    ÚNotmuchzhttps://notmuchmail.org/Únotmuchz2.5c              #   ó&  K  — |                      d¦  «        }	 | j        rt          | j        ¦  «        }n!t          |                     ¦   «         ¦  «        }n# t
          $ r t          d¦  «        }Y nw xY w|                     |¦  «        E d {V —† d S )NrL   rI   )rS   Ú
body_lexerr   r   rU   r   rG   )rH   rX   Úcoderh   s       r7   Ú_highlight_codezNotmuchLexer._highlight_codeD  s¥   è è € Ø�{Š{˜1‰~Œ~ˆð	.ØŒð 2Ý)¨$¬/Ñ:Ô:��å# D§J¢J¡L¤LÑ1Ô1�øøÝð 	.ð 	.ð 	.Ý% fÑ-Ô-ˆEˆEˆEð	.øøøð ×/Ò/°Ñ5Ô5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Ð5s   ™=A ÁA3Á2A3z\fmessage\{\s*)Úmessageúmessage-attrz(\s*id:\s*)(\S+)z&(\s*(?:depth|match|excluded):\s*)(\d+)z(\s*filename:\s*)(.+\n)r   z\fmessage\}\nz\fheader\{\nÚheaderz
\fbody\{\nÚbodyz\fheader\}\nz'((?:Subject|From|To|Cc|Date):\s*)(.*\n)z(.*)(\s*\(.*\))(\s*\(.*\)\n)z
\fpart\{\nÚpartz\f(part|attachment)\{\s*)rž   ú	part-attrz
\fbody\}\nz(ID:\s*)(\d+)z*(,\s*)((?:Filename|Content-id):\s*)([^,]+)z(,\s*)(Content-type:\s*)(.+\n)z\f(?:part|attachment)\}\nz\f(?:part|attachment)\{\s*)z#pushrŸ   z^Non-text part: .*\nz&(?s)(.*?(?=\f(?:part|attachment)\}\n)))r    r›   rš   rœ   r�   rŸ   rž   c                 ó4   — |                       d¦  «        rdndS )Nz	message{g      ð?g        )Ú
startswithru   s    r7   rv   zNotmuchLexer.analyse_text~  s   € Ø—o’o lÑ3Ô3Ð<ˆsˆs¸Ð<r6   c                 ó`   — |                      dd ¦  «        | _        t          j        | fi |¤Ž d S )Nr—   )Úgetr—   r   Ú__init__)rH   Úoptionss     r7   r¤   zNotmuchLexer.__init__�  s6   € Ø!Ÿ+š+ l°DÑ9Ô9ˆŒÝÔ˜DÐ,Ð, GÐ,Ð,Ð,Ð,Ð,r6   N)r!   r"   r#   r$   r%   r)   r&   r*   r™   r   r   r   r3   r   r   r@   r   r   ÚStrongr   r1   r   r
   r4   rv   r¤   r5   r6   r7   r   r   4  sý  € € € € € ðð ð €DØ
$€CØˆk€GØ€Mð6ð 6ð 6ð  Ð)DÐEð
ð ! ( (¨4¬>¸6Ñ"BÔ"BÐCØ6ØˆX�d”n f¤nÑ5Ô5ð7à'ØˆX�d”n fÑ-Ô-ð/àˆG�F‰OŒOð
ð ˜w¨Ð/Ø˜g xÐ0Ø˜G VÐ,ð
ð ˜g vÐ.Ø7ØˆX�d”n fÑ-Ô-ð/à,ØˆX�g”n g¨t¬xÑ8Ô8ð:ð	
ð ˜G VÐ,Ø(¨'Ð3HÐIØ˜G VÐ,ð
ð ˜x˜x¨¬¸¼ÑGÔGÐHØ:ØˆX�k 4¤>°6Ñ:Ô:ð<à.ØˆX�k 4¤>°6Ñ:Ô:ð<àˆG�F‰OŒOð
ð *¨7°FÐ;Ø*¨GÐ5KÐLØ$ gÐ.Ø6¸ÐHð	
ðK+ð +€FðZ=ð =ð =ð-ð -ð -ð -ð -r6   r   c            
       ó6  — e Zd ZdZdZddgZddgZdZdZd	e	d
fde	dfde	dfde	dfde	dfde	dfde	dfgde	dfde	df e
d¦  «        gdefdefde	dfg ed¦  «        dedfg ed¦  «        de	dfg ed¦  «        dej        dfg ed¦  «        dej        dfgdœZdS )r   z0
    For Linux Kernel log ("dmesg") output.
    z
Kernel logÚkmsgÚdmesgz*.kmsgz*.dmesgz#https://fr.wikipedia.org/wiki/Dmesgz2.6z^[^:]+:debug : (?=\[)Údebugz^[^:]+:info  : (?=\[)Úinfoz^[^:]+:warn  : (?=\[)Úwarnz^[^:]+:notice: (?=\[)z^[^:]+:err   : (?=\[)Úerrorz^[^:]+:crit  : (?=\[)z^(?=\[)Úunknownz(^(?=.+(warning|notice|audit|deprecated))z ^(?=.+(error|critical|fail|Bug))z\[[0-9. ]+\] z(?<=\] ).+?:z\nr   Úbasez.+\n)r    r®   r¯   rª   r«   r¬   r­   N)r!   r"   r#   r$   r%   r&   r'   r)   r*   r	   r   r   r   r   r
   r   r¦   r‰   r4   r5   r6   r7   r   r   †  sR  € € € € € ðð ð €DØ�wÐ€GØ˜9Ð%€IØ
/€CØ€Mð & t¨WÐ5Ø% t¨VÐ4Ø% t¨VÐ4Ø% t¨VÐ4Ø% t¨WÐ5Ø% t¨WÐ5Ø˜˜yÐ)ð
ð 9¸$ÀÐGØ0°$¸Ð@ØˆG�F‰OŒOð
ð ˜vÐ&Ø˜gÐ&Ø�D˜&Ð!ð
ð ˆG�F‰OŒOØ�g˜vÐ&ð
ð
 ˆG�F‰OŒOØ�d˜FÐ#ð
ð
 ˆG�F‰OŒOØ�g”n fÐ-ð
ð
 ˆG�F‰OŒOØ�g”m VÐ,ð
ðA$ð $€F€F€Fr6   r   )r$   r+   r`   r   r   Úpygments.lexerr   r   r   r   Úpygments.tokenr	   r
   r   r   r   r   r   r   r   r   Úpygments.utilr   Ú__all__r   r   r   r   r   r   r5   r6   r7   ú<module>r´      s  ððð ð 
€	€	€	à :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ø AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AÐ Að*ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *à 'Ð 'Ð 'Ð 'Ð 'Ð 'ð-ð -ð -€ð>ð >ð >ð >ð >�:ñ >ô >ð >ðBð ð ð ð �:ñ ô ð ð8Y
ð Y
ð Y
ð Y
ð Y
�
ñ Y
ô Y
ð Y
ðxað að að að a�:ñ aô að aðHO-ð O-ð O-ð O-ð O-�:ñ O-ô O-ð O-ðd.ð .ð .ð .ð .�Zñ .ô .ð .ð .ð .r6   