§
    XŠtjS  ã                   óÒ   — d Z ddlZddlmZ ddlmZmZmZmZmZm	Z	 ddl
mZ ddlmZmZmZmZmZmZmZmZmZ g d¢Z G d„ d	e¦  «        Z G d
„ de¦  «        Z G d„ de¦  «        ZdS )zè
    pygments.lexers.textedit
    ~~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for languages related to text processing.

    :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    N)Úbisect)Ú
RegexLexerÚbygroupsÚdefaultÚincludeÚthisÚusing)ÚPythonLexer)	ÚCommentÚKeywordÚNameÚNumberÚOperatorÚPunctuationÚStringÚTextÚ
Whitespace)ÚAwkLexerÚSedLexerÚVimLexerc                   ól  — e Zd ZdZdZg d¢ZdgZdgZdZdZ	de
fd	ej        fg ed
¦  «        dej        dfde
df ed¦  «        gde
dfgde
df ed
¦  «        dedfdedfdefdedfdej        dfdej        fdej        fdej        fdej        fdej        fdej        fdej        fdej        fgdœZd S )!r   z
    For Awk scripts.
    ÚAwk)ÚawkÚgawkÚmawkÚnawkz*.awkzapplication/x-awkz!https://en.wikipedia.org/wiki/AWKz1.5ú\s+ú#.*$Úcommentsandwhitespacez(/(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/\Bú#popz(?=/))r    Úbadregexz\nz	^(?=\s|/)Úslashstartsregexz8\+\+|--|\|\||&&|in\b|\$|!?~|\?|:|(\*\*|[-<>+*%\^/!=|])=?z[{(\[;,]z[})\].]z3(break|continue|do|while|exit|for|if|else|return)\bz
function\bzÄ(atan2|cos|exp|int|log|rand|sin|sqrt|srand|gensub|gsub|index|length|match|split|sprintf|sub|substr|tolower|toupper|close|fflush|getline|next|nextfile|print|printf|strftime|systime|delete|system)\bz‹(ARGC|ARGIND|ARGV|BEGIN|CONVFMT|ENVIRON|END|ERRNO|FIELDWIDTHS|FILENAME|FNR|FS|IGNORECASE|NF|NR|OFMT|OFS|ORFS|RLENGTH|RS|RSTART|RT|SUBSEP)\bz[$a-zA-Z_]\w*z%[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?z0x[0-9a-fA-F]+ú[0-9]+z"(\\\\|\\[^\\]|[^"\\])*"z'(\\\\|\\[^\\]|[^'\\])*')r   r"   r!   ÚrootN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚaliasesÚ	filenamesÚ	mimetypesÚurlÚversion_addedr   r   ÚSingler   r   ÚRegexr   r   r   r   ÚDeclarationÚReservedr   ÚBuiltinÚOtherr   ÚFloatÚHexÚIntegerÚDoubleÚtokens© ó    úV/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/pygments/lexers/textedit.pyr   r      su  € € € € € ðð ð €DØ-Ð-Ð-€GØ�	€IØ$Ð%€IØ
-€CØ€Mð �TˆNØ�g”nÐ%ð"
ð
 ˆGÐ+Ñ,Ô,ðØ”L &ð*à�tÐ1Ð2ØˆG�F‰OŒOð
ð �D˜&Ð!ð
ð ˜4Ð!3Ð4ØˆGÐ+Ñ,Ô,ð(Ø)1Ð3EðGà˜+Ð'9Ð:Ø˜Ð%ðØ"Ð$6ð8à˜GÔ/Ð1CÐDð!ð #*Ô"2ð4ð$à%)¤\ð3ð ˜tœzÐ*Ø5°v´|ÐDØ ¤
Ð+Ø˜œÐ'Ø(¨&¬-Ð8Ø(¨&¬-Ð8ð-
ð'ð '€F€F€Fr;   r   c                   óö  — e Zd ZdZdZg d¢ZddgZdgZdZdZ	e
j        Zd	Zd
defdej        fdej        fdefdefdefd eeej        ¦  «        fd eeej        ¦  «        fd eeej        ¦  «        fdez   dz    eeej        e¦  «        fdez   dz    eedej        e¦  «        fdez   dz   ez   dz    eeeej        eej        e¦  «        fdez   dz   ez   dz    eeeej        eej        ee¦  «        fgiZdS )r   z%
    Lexer for Sed script files.
    ÚSed)ÚsedÚgsedÚssedz*.sedz	*.[gs]sedz
text/x-sedz!https://en.wikipedia.org/wiki/SedÚ z.((?:(?:\\[^\n]|[^\\])*?\\\n)*?(?:\\.|[^\\])*?)r$   r   r   r#   z\$z[{};,!]z[dDFgGhHlnNpPqQxz=]z([berRtTvwW:])([^;\n]*)z"([aci])((?:.*?\\\n)*(?:.*?[^\\]$))z([qQ])([0-9]*)z(/)z(\\(.))z(\2)Nz(y)(.)z(s)(.)z(\2)((?:[gpeIiMm]|[0-9])*))r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   ÚreÚ	MULTILINEÚflagsÚ_inside_delimsr   r   r/   r   r7   r   r   r   r   r   r8   r0   r9   r:   r;   r<   r   r   L   sŸ  € € € € € ðð ð €DØ%Ð%Ð%€GØ˜+Ð&€IØ�€IØ
-€CØ€MØŒL€Eð G€Nð 	Ø�ZÐ Ø�g”nÐ%Ø˜œÐ'Ø�HÐØ˜Ð%Ø# WÐ-Ø'¨¨°'¸6¼=Ñ)IÔ)IÐJØ2°H°H¸WÀfÄmÑ4TÔ4TÐUØ  ¨°&´.Ñ AÔ AÐBØ�nÑ$ vÑ-¨x¨x¸ÀVÄ\ÐS^Ñ/_Ô/_Ð`Ø˜.Ñ(¨7Ñ2ØˆX�k 4¨¬°{ÑCÔCðEà˜Ñ'¨'Ñ1°NÑBÀWÑLØˆX�g˜{¨F¬M¸;ÈÌÐWbÑcÔcðeà˜Ñ'¨'Ñ1°NÑBÐEbÑbØˆX�g˜{¨F¬L¸+ÀvÄ}ÐVaØñô ð ð
ð€F€F€Fr;   r   c                   ó’  — e Zd ZdZdZdgZg d¢ZdgZdZdZ	e
j        ZdZd	d
ez   dz    e ee¦  «        eeeee ee¦  «        e¦  «        fd
ez   dz    e ee¦  «        ee ee¦  «        ¦  «        fdefdefdej        fdej        fdej        fdefdefdej        fdefdefdefdej        fdej        fdefgiZ d„ Z!d„ Z"d„ Z#dS )r   z&
    Lexer for VimL script files.
    ÚVimLÚvim)	z*.vimz.vimrcz.exrcz.gvimrcÚ_vimrcÚ_exrcÚ_gvimrcÚvimrcÚgvimrcz
text/x-vimzhttps://www.vim.orgz0.8zpy(?:t(?:h(?:o(?:n)?)?)?)?r$   z^([ \t:]*)(z()([ \t]*)(<<)([ \t]*)(.*)((?:\n|.)*)(\6)z)([ \t])(.*)z^\s*".*z[ \t]+z!/[^/\\\n]*(?:\\[\s\S][^/\\\n]*)*/z!"[^"\\\n]*(?:\\[\s\S][^"\\\n]*)*"z'[^\n']*(?:''[^\n']*)*'z(?<=\s)"[^\-:.%#=*].*z-?\d+z#[0-9a-f]{6}z^:z[()<>+=!|,~-]z7\b(let|if|else|endif|elseif|fun|function|endfunction)\bz+\b(NONE|bold|italic|underline|dark|light)\bz\b\w+\bú.c                 óh   — ddl m}m}m} || _        || _        || _        t          j        | fi |¤Ž d S )Nr   )ÚautoÚcommandÚoption)	Úpygments.lexers._vim_builtinsrQ   rR   rS   Ú_cmdÚ_optÚ_autr   Ú__init__)ÚselfÚoptionsrQ   rR   rS   s        r<   rX   zVimLexer.__init__Ÿ   sT   € ØGÐGÐGÐGÐGÐGÐGÐGÐGÐGØˆŒ	ØˆŒ	ØˆŒ	åÔ˜DÐ,Ð, GÐ,Ð,Ð,Ð,Ð,r;   c                 óØ  — t          ||f¦  «        }|dk    re||dz
           d         |dt          ||dz
           d         ¦  «        …         k    r,||dz
           d         dt          |¦  «        …         |k    rdS |t          |¦  «        k     rZ||         d         |dt          ||         d         ¦  «        …         k    o&||         d         dt          |¦  «        …         |k    S dS )a  
        It's kind of difficult to decide if something might be a keyword
        in VimL because it allows you to abbreviate them.  In fact,
        'ab[breviate]' is a good example.  :ab, :abbre, or :abbreviate are
        valid ways to call it so rather than making really awful regexps
        like::

            \bab(?:b(?:r(?:e(?:v(?:i(?:a(?:t(?:e)?)?)?)?)?)?)?)?\b

        we match `\b\w+\b` and then call is_in() on those tokens.  See
        `scripts/get_vimkw.py` for how the lists are extracted.
        r   é   NTF)r   Úlen)rY   ÚwÚmappingÚps       r<   Úis_inzVimLexer.is_in§   sé   € õ �7˜Q˜DÑ!Ô!ˆØˆqŠ5ˆ5Ø�q˜‘sŒ|˜AŒ !Ð$9¥S¨°°1±¬°a¬Ñ%9Ô%9Ð$9Ô":Ò:Ð:Ø�q˜‘sŒ|˜AŒ˜w¥ A¡¤˜wÔ'¨1Ò,Ð,Ø�tØ�s�7‰|Œ|ÒÐØ˜1”:˜a”= AÐ&9¥s¨7°1¬:°a¬=Ñ'9Ô'9Ð&9Ô$:Ò:ð ,Ø˜”
˜1”˜g�s 1™vœv˜gÔ&¨!Ò+ð,àˆur;   c              #   óf  K  — t          j        | |¦  «        D ]˜\  }}}|t          j        u r}|                      || j        ¦  «        r|t          |fV — Œ<|                      || j        ¦  «        s|                      || j        ¦  «        r|t          j	        |fV — Œ„|t          |fV — Œ‘|||fV — Œ™d S )N)r   Úget_tokens_unprocessedr   r4   ra   rU   r   rV   rW   r3   r   )rY   ÚtextÚindexÚtokenÚvalues        r<   rc   zVimLexer.get_tokens_unprocessed¾   sä   è è € õ
 Ô1°$¸Ñ=Ô=ð	*ð 	*ÑˆE�5˜%à�œ
Ð"Ð"Ø—:’:˜e T¤YÑ/Ô/ð -Ø¥¨%Ð/Ð/Ð/Ð/Ð/Ø—Z’Z  t¤yÑ1Ô1ð -ØŸ
š
 5¨$¬)Ñ4Ô4ð-à¥¤¨uÐ4Ð4Ð4Ð4Ð4à¥ uÐ,Ð,Ð,Ð,Ð,à˜U EÐ)Ð)Ð)Ð)Ð)ð	*ð 	*r;   N)$r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   rC   rD   rE   Ú_pythonr   r	   r   r   r   r   r
   r   r   r0   r8   r/   r   r6   r   r   r3   r4   r9   rX   ra   rc   r:   r;   r<   r   r   q   sœ  € € € € € ðð ð €DØˆg€GðBð Bð B€Ià�€IØ
€CØ€MàŒL€Eà+€Gð 	Ø˜gÑ%Ð(SÑSØˆX�e�e˜D‘k”k 7¨D°(¸DÀ$Ø�e˜KÑ(Ô(¨$ñ0ô 0ð1ð ˜gÑ%¨Ñ7ØˆX�e�e˜D‘k”k 7¨D°%°%¸Ñ2DÔ2DÑEÔEðGð ˜Ð!à˜Ðà1°6´<Ð@Ø1°6´=ÐAØ'¨¬Ð7ð & wÐ/Ø�vÐØ˜fœjÐ)Ø�KÐ Ø˜{Ð+ØGØðà;¸T¼\ÐJØ˜œÐ$Ø�4ˆLð3
ð€Fð<-ð -ð -ðð ð ð.*ð *ð *ð *ð *r;   r   )r(   rC   r   Úpygments.lexerr   r   r   r   r   r	   Úpygments.lexers.pythonr
   Úpygments.tokenr   r   r   r   r   r   r   r   r   Ú__all__r   r   r   r:   r;   r<   ú<module>rm      s}  ððð ð 
€	€	€	Ø Ð Ð Ð Ð Ð à NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NÐ NØ .Ð .Ð .Ð .Ð .Ð .ð*ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð /Ð
.Ð
.€ð3ð 3ð 3ð 3ð 3ˆzñ 3ô 3ð 3ðl#ð #ð #ð #ð #ˆzñ #ô #ð #ðJ\*ð \*ð \*ð \*ð \*ˆzñ \*ô \*ð \*ð \*ð \*r;   