§
    XŠtjs3  ã                   óâ   — d Z ddl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mZmZmZmZmZmZmZmZmZ ddl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.php
    ~~~~~~~~~~~~~~~~~~~

    Lexers for PHP and related languages.

    :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    N)
ÚLexerÚ
RegexLexerÚincludeÚbygroupsÚdefaultÚusingÚthisÚwordsÚdo_insertionsÚline_re)
ÚTextÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚPunctuationÚOtherÚGeneric)Úget_bool_optÚget_list_optÚshebang_matches)ÚZephirLexerÚPsyshConsoleLexerÚPhpLexerc                   ó²  — e Zd ZdZdZdZdgZdgZdZg d¢Z	g d¢Z
ej        ej        z  Zd	efd
ej        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d ej        fgd!œZ%d"S )#r   z‹
    For Zephir language source code.

    Zephir is a compiled high level language aimed
    to the creation of C-extensions for PHP.
    ÚZephirzhttp://zephir-lang.com/Úzephirz*.zepz2.0)ÚfetchÚechoÚissetÚempty)ÚbitÚbitsÚstringú\s+ú//.*?\nú	/\*.*?\*/Úcommentsandwhitespacez3/(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/([gim]+\b|\B)ú#popú/z\nz	^(?=\s|/)ÚslashstartsregexzC\+\+|--|~|&&|\?|:|\|\||\\(?=\n)|(<<|>>>?|==?|!=?|->|[-<>+*%&|^/])=?z[{(\[;,]z[})\].]zá(for|in|while|do|break|return|continue|switch|case|default|if|else|loop|require|inline|throw|try|catch|finally|new|delete|typeof|instanceof|void|namespace|use|extends|this|fetch|isset|unset|echo|fetch|likely|unlikely|empty)\bz(var|let|with|function)\bzù(abstract|boolean|bool|char|class|const|double|enum|export|extends|final|native|goto|implements|import|int|string|interface|long|ulong|char|uchar|float|unsigned|private|protected|public|short|static|self|throws|reverse|transient|volatile|readonly)\bz(true|false|null|undefined)\bzm(Array|Boolean|Date|_REQUEST|_COOKIE|_SESSION|_GET|_POST|_SERVER|this|stdClass|range|count|iterator|window)\bz[$a-zA-Z_][\w\\]*z%[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?z0x[0-9a-fA-F]+z[0-9]+z"(\\\\|\\[^\\]|[^"\\])*"z'(\\\\|\\[^\\]|[^'\\])*')r*   r-   ÚbadregexÚrootN)&Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚaliasesÚ	filenamesÚversion_addedÚzephir_keywordsÚzephir_typeÚreÚDOTALLÚ	MULTILINEÚflagsr   r   ÚSingleÚ	Multiliner   r   ÚRegexr   r   r   r   ÚDeclarationÚReservedÚConstantr   ÚBuiltinr   r   ÚFloatÚHexÚIntegerÚDoubleÚtokens© ó    úQ/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/pygments/lexers/php.pyr   r      s©  € € € € € ðð ð €DØ
#€CØˆj€GØ�	€IØ€Mà9Ð9Ð9€OØ+Ð+Ð+€KàŒI˜œÑ$€Eð �TˆNØ˜œÐ(Ø˜7Ô,Ð-ð"
ð ˆGÐ+Ñ,Ô,ðØ%œ|¨Vð5à�8˜VÐ$ØˆG�F‰OŒOð
ð �D˜&Ð!ð
ð ˜4Ð!3Ð4ØˆGÐ+Ñ,Ô,ð4Ø5=Ð?QðSà˜+Ð'9Ð:Ø˜Ð%ðð "Ð#5ð7ð *¨7Ô+>Ð@RÐSð/ð 18Ô0@ðBð .¨wÔ/?Ð@ðàœ<ð)ð " 4¤:Ð.Ø5°v´|ÐDØ ¤
Ð+Ø˜œÐ'Ø(¨&¬-Ð8Ø(¨&¬-Ð8ð3
ð!+ð +€F€F€FrL   r   c                   ó0   — e Zd ZdZdZdZdgZdZd„ Zd„ Z	dS )	r   u  
    For PsySH console output, such as:

    .. sourcecode:: psysh

        >>> $greeting = function($name): string {
        ...     return "Hello, {$name}";
        ... };
        => Closure($name): string {#2371 â€¦3}
        >>> $greeting('World')
        => "Hello, World"
    zPsySH console session for PHPzhttps://psysh.org/Úpsyshz2.7c                 ó4   — d|d<   t          j        | fi |¤Ž d S )NTÚstartinline)r   Ú__init__)ÚselfÚoptionss     rM   rR   zPsyshConsoleLexer.__init__i   s*   € Ø!%ˆ�ÑÝŒ�tÐ'Ð'˜wÐ'Ð'Ð'Ð'Ð'rL   c           	   #   ó   K  — t          di | j        ¤Ž}d}g }t          j        |¦  «        D �]3}|                     ¦   «         }|                     d¦  «        s|                     d¦  «        rH|                     t          |¦  «        dt          j	        |d d…         fgf¦  «         ||dd …         z  }Œ‰| 
                    ¦   «         dk    r@|                     t          |¦  «        dt          j	        dfgf¦  «         ||dd …         z  }Œá|r-t          ||                     |¦  «        ¦  «        E d {V —† d}g }|                     ¦   «         t          j        |fV — �Œ5|r+t          ||                     |¦  «        ¦  «        E d {V —† d S d S )	NÚ z>>> z... r   é   z...é   rK   )r   rT   r   ÚfinditerÚgroupÚ
startswithÚappendÚlenr   ÚPromptÚrstripr   Úget_tokens_unprocessedÚstartÚOutput)rS   ÚtextÚphplexerÚcurcodeÚ
insertionsÚmatchÚlines          rM   r`   z(PsyshConsoleLexer.get_tokens_unprocessedm   s  è è € ÝÐ+Ð+˜dœlÐ+Ð+ˆØˆØˆ
ÝÔ% dÑ+Ô+ð 	:ñ 	:ˆEØ—;’;‘=”=ˆDØ�Š˜vÑ&Ô&ð :¨$¯/ª/¸&Ñ*AÔ*Að :Ø×!Ò!¥3 w¡<¤<Ø%&­¬¸¸R¸a¸R¼Ð$AÐ#Bð#Dñ Eô Eð Eà˜4   œ8Ñ#��Ø—’‘” %Ò'Ð'Ø×!Ò!¥3 w¡<¤<Ø%&­¬¸Ð$>Ð#?ð#Añ Bô Bð Bà˜4   œ8Ñ#��àð $Ý,Ø" H×$CÒ$CÀGÑ$LÔ$Lñ Nô  Nð Nð Nð Nð Nð Nð Nð Nà �GØ!#�JØ—k’k‘m”m¥W¤^°TÐ9Ð9Ð9Ð9Ñ9Øð 	OÝ$ ZØ%-×%DÒ%DÀWÑ%MÔ%MñOô Oð Oð Oð Oð Oð Oð Oð Oð Oð Oð	Oð 	OrL   N)
r0   r1   r2   r3   r4   r5   r6   r8   rR   r`   rK   rL   rM   r   r   W   sY   € € € € € ðð ð +€DØ
€CØˆi€GØ€Mð(ð (ð (ðOð Oð Oð Oð OrL   r   c                   óÎ  — e Zd ZdZdZdZg d¢Zg d¢ZdgZdZ	dZ
d	Zej        ej        z  ej        z  Zd
ej        dfdefdefgg dej        df‘dez   dz    eeeej        eej        ee¦  «        f‘def‘dedf‘dej        f‘dej        f‘dej        f‘dej        f‘dej        f‘dez   dz    eeeej        ¦  «        f‘def‘def‘def‘d eeee¦  «        f‘d  eee¦  «        d!f‘d" eee¦  «        f‘d# eeeee¦  «        d$f‘d%e
z   dz    eeeej         ¦  «        f‘d&ef‘d'ej         f‘ e!d(¦  «        ‘d)ej"        d*f‘d+e
z   ej"        f‘e
ej        f‘d,e#j$        f‘d-e#j$        f‘d.e#j%        f‘d/e#j&        f‘d0e#j'        f‘d1e#j(        f‘d2ej        f‘d3ej)        f‘d4ej*        d5f‘d6ej"        df e!d¦  «        g e+d7d8¬9¦  «        ej,        j-        fg e+d:d8¬9¦  «        ej         fge
ej.        dfg e!d;¦  «        e
ej,        df e/d¦  «        gd4ej*        dfd<ej*        fd=ej0        fd>ez   d?z   ez   d@z   ej1        fdA eej1         e2e3dB¬C¦  «        ej1        ¦  «        fdD eej1         e2e3dB¬C¦  «        ej1        ¦  «        fdE eej1        ej"        ej1        ¦  «        fdFej*        fgdGedfdHedIfe
ej4        f e!d¦  «        gdJedf e!d¦  «        gdKœ
Z5dL„ Z6dM„ Z7dN„ Z8dOS )Pr   a;  
    For PHP source code.
    For PHP embedded in HTML, use the `HtmlPhpLexer`.

    Additional options accepted:

    `startinline`
        If given and ``True`` the lexer starts highlighting with
        php code (i.e.: no starting ``<?php`` required).  The default
        is ``False``.
    `funcnamehighlighting`
        If given and ``True``, highlight builtin function names
        (default: ``True``).
    `disabledmodules`
        If given, must be a list of module names whose function names
        should not be highlighted. By default all modules are highlighted
        except the special ``'unknown'`` module that includes functions
        that are known to php but are undocumented.

        To get a list of allowed modules have a look into the
        `_php_builtins` module:

        .. sourcecode:: pycon

            >>> from pygments.lexers._php_builtins import MODULES
            >>> MODULES.keys()
            ['PHP Options/Info', 'Zip', 'dba', ...]

        In fact the names of those modules match the module names from
        the php documentation.
    ÚPHPzhttps://www.php.net/)ÚphpÚphp3Úphp4Úphp5)z*.phpz
*.php[345]z*.incz
text/x-phprV   z1(?:[\\_a-z]|[^\x00-\x7f])(?:[\\\w]|[^\x00-\x7f])*z+(?:[_a-z]|[^\x00-\x7f])(?:\w|[^\x00-\x7f])*z	<\?(php)?rk   z[^<]+ú<z\?>r+   z(<<<)([\'"]?)(z)(\2\n.*?\n\s*)(\3)(;?)(\n)r'   z#\[Ú	attributez#.*?\nr(   z/\*\*/z/\*\*.*?\*/r)   z(->|::)(\s*)(ú)z[~!%^&*+=|:.<>/@-]+z\?z[\[\]{}();,]+z(new)(\s+)(class)\bz(class)(\s+)Ú	classnamez(function)(\s*)(?=\()z(function)(\s+)(&?)(\s*)Úfunctionnamez(const)(\s+)(a&  (and|E_PARSE|old_function|E_ERROR|or|as|E_WARNING|parent|eval|PHP_OS|break|exit|case|extends|PHP_VERSION|cfunction|FALSE|print|for|require|continue|foreach|require_once|declare|return|default|static|do|switch|die|stdClass|echo|else|TRUE|elseif|var|empty|if|xor|enddeclare|include|virtual|endfor|include_once|while|endforeach|global|endif|list|endswitch|new|endwhile|not|array|E_ALL|NULL|final|php_user_filter|interface|implements|public|private|protected|abstract|clone|try|catch|throw|this|use|namespace|trait|yield( from)?|finally|match|readonly)\bz(true|false|null)\bÚmagicconstantsz\$\{Úvariablevariablez\$+z"(\d+\.\d*|\d*\.\d+)(e[+-]?[0-9]+)?z\d+e[+-]?[0-9]+z0[0-7]+z0x[a-f0-9]+z\d+z0b[01]+z'([^'\\]*(?:\\.[^'\\]*)*)'z`([^`\\]*(?:\\.[^`\\]*)*)`ú"r&   z\})Ú__constructÚ
__destructÚ__callÚ__callStaticÚ__getÚ__setÚ__issetÚ__unsetÚ__sleepÚ__wakeupÚ
__toStringÚ__invokeÚ__set_stateÚ__cloneÚ__debugInfoz\b)Úsuffix)	Ú__LINE__Ú__FILE__Ú__DIR__Ú__FUNCTION__Ú	__CLASS__Ú	__TRAIT__Ú
__METHOD__Ú__NAMESPACE__Ú__PROPERTY__Ú
magicfuncsz	[^{$"\\]+z'\\([nrt"$\\]|[0-7]{1,3}|x[0-9a-f]{1,2})z\$z(\[\S+?\]|->z)?z(\{\$\{)(.*?)(\}\})T)Ú_startinlinez(\{)(\$.*?)(\})z(\$\{)(\S+)(\})z[${\\]z\]z\(Úattributeparamsz\))
r/   rk   ru   r�   rt   rr   rs   r&   rp   r’   c                 ó¦  — t          |dd¦  «        | _        t          |ddg¦  «        | _        t          |dd¦  «        | _        d|v r|                     d¦  «        | _        t          ¦   «         | _        | j        rCdd	lm	} | 
                    ¦   «         D ](\  }}|| j        vr| j                             |¦  «         Œ)t          j        | fi |¤Ž d S )
NÚfuncnamehighlightingTÚdisabledmodulesÚunknownrQ   Fr‘   r   )ÚMODULES)r   r”   r   r•   rQ   ÚpopÚsetÚ
_functionsÚpygments.lexers._php_builtinsr—   ÚitemsÚupdater   rR   )rS   rT   r—   ÚkeyÚvalues        rM   rR   zPhpLexer.__init__)  sö   € Ý$0ØÐ+¨Tñ%3ô %3ˆÔ!å+ØÐ&¨¨ñ 5ô  5ˆÔå'¨°ÀÑFÔFˆÔð ˜WÐ$Ð$Ø&Ÿ{š{¨>Ñ:Ô:ˆDÔõ ™%œ%ˆŒØÔ$ð 	2Ø=Ð=Ð=Ð=Ð=Ð=Ø%Ÿmšm™oœoð 2ð 2‘
��UØ˜dÔ2Ð2Ð2Ø”O×*Ò*¨5Ñ1Ô1Ð1øÝÔ˜DÐ,Ð, GÐ,Ð,Ð,Ð,Ð,rL   c              #   óâ   K  — dg}| j         r|                     d¦  «         t          j        | ||¦  «        D ]6\  }}}|t          j        u r|| j        v r|t          j        |fV — Œ/|||fV — Œ7d S )Nr/   rk   )rQ   r\   r   r`   r   r   rš   rE   )rS   rc   ÚstackÚindexÚtokenrŸ   s         rM   r`   zPhpLexer.get_tokens_unprocessed=  s¡   è è € Ø�ˆØÔð 	 Ø�LŠL˜ÑÔÐåÔ1°$¸¸eÑDÔDð	&ð 	&ÑˆE�5˜%à�œ
Ð"Ð"Ø˜DœOÐ+Ð+Ø¥¤¨uÐ4Ð4Ð4Ð4ØØ˜ Ð%Ð%Ð%Ð%Ð%ð	&ð 	&rL   c                 ób   — t          | d¦  «        rdS d}t          j        d| ¦  «        r|dz  }|S )Nrk   Tg        z
<\?(?!xml)g333333Ó?)r   r;   Úsearch)rc   Úrvs     rM   Úanalyse_textzPhpLexer.analyse_textI  s@   € Ý˜4 Ñ(Ô(ð 	Ø�4ØˆÝŒ9�] DÑ)Ô)ð 	Ø�#‰IˆBØˆ	rL   N)9r0   r1   r2   r3   r4   r5   r6   r7   Ú	mimetypesr8   Ú_ident_innerÚ_ident_nonsr;   Ú
IGNORECASEr<   r=   r>   r   ÚPreprocr   r   r   Ú	Delimiterr   r   r?   r@   ÚDocr   r   Ú	Attributer   rD   r   ÚVariabler   rF   ÚOctrG   rH   ÚBinÚBacktickrI   r
   ÚFunctionÚMagicÚClassr   ÚEscapeÚInterpolr   r	   Ú	DecoratorrJ   rR   r`   r§   rK   rL   rM   r   r   ‡   s¯  € € € € € ðð ð@ €DØ
 €CØ-Ð-Ð-€GØ0Ð0Ð0€IØ�€IØ€Mð H€Là@€KàŒM˜BœIÑ%¨¬Ñ4€Eð ˜7œ?¨EÐ2Ø�uÐØ�5ˆMð
ð
4
Ø�W”_ fÐ-ð4
à Ñ,Ð/MÑMØˆX�f˜f fÔ&6¸ÀÔ@PØ! 4ñ)ô )ð*ð4
ð
 �TˆNð4
ð �[ +Ð.ð4
ð ˜œÐ'ð4
ð ˜œÐ(ð4
ð ˜Ô)Ð*ð4
ð ˜VœZÐ(ð4
ð ˜7Ô,Ð-ð4
ð  Ñ+¨cÑ1ØˆX�h  d¤nÑ5Ô5ð7ð4
ð  $ XÐ.ð!4
ð" �HÐð#4
ð$ ˜{Ð+ð%4
ð& $ X X¨g°t¸WÑ%EÔ%EÐFð'4
ð( ˜h˜h w°Ñ5Ô5°{ÐCð)4
ð* & x x°¸Ñ'>Ô'>Ð?ð+4
ð, )ØˆX�g˜t X¨tÑ4Ô4°nðFð-4
ð0  Ñ,¨sÑ2ØˆX�g˜t T¤]Ñ3Ô3ð5ð14
ð6
*ð ,3ð
4ð74
ðL $ WÔ%5Ð6ðM4
ðN ˆGÐ$Ñ%Ô%ðO4
ðP �d”mÐ%7Ð8ðQ4
ðR �lÑ" D¤MÐ2ðS4
ðT ˜4œ:Ð&ðU4
ðV 3°F´LÐAðW4
ðX   ¤Ð.ðY4
ðZ ˜œÐ$ð[4
ð\ ˜VœZÐ(ð]4
ð^ �V”^Ð$ð_4
ð` ˜œÐ$ða4
ðb +¨F¬MÐ:ðc4
ðd +¨F¬OÐ<ðe4
ðf �6”= (Ð+ðg4
ðl �D”M 6Ð*ØˆG�E‰NŒNð
ð ˆUð :ð CHðIñ Iô Ið Œ]Ô ð	"ð
ð ˆUð Mð ðñ ô ð Œ]ð	ð
ð ˜4œ: vÐ.ð
ð ˆG�LÑ!Ô!Ø˜4œ=¨&Ð1ØˆG�F‰OŒOð
ð �6”= &Ð)Ø˜6œ=Ð)Ø7¸¼ÐGØ�[Ñ  ?Ñ2°[Ñ@À4ÑGØŒ_ðà#ØˆX�f”o u u¨TÀÐ'EÑ'EÔ'EØ”oñ'ô 'ð(ð  ØˆX�f”o u u¨TÀÐ'EÑ'EÔ'EØ”oñ'ô 'ð(ð  ØˆX�f”o t¤}°f´oÑFÔFðHà˜œÐ&ð
ð" �K Ð(Ø�KÐ!2Ð3Ø˜4œ>Ð*ØˆG�E‰NŒNð	
ð �K Ð(ØˆG�E‰NŒNð
ð[qð q€Fðf-ð -ð -ð(
&ð 
&ð 
&ðð ð ð ð rL   r   ) r3   r;   Úpygments.lexerr   r   r   r   r   r   r	   r
   r   r   Úpygments.tokenr   r   r   r   r   r   r   r   r   r   Úpygments.utilr   r   r   Ú__all__r   r   r   rK   rL   rM   ú<module>r¾      sÏ  ððð ð 
€	€	€	ð/ð /ð /ð /ð /ð /ð /ð /ð /ð /ð /ð /ð /ð /ð /ð /ð /ð /ð /ð /ð /ð /ð /ð /ð(ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (ð (à EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ Eà
:Ð
:Ð
:€ð>ð >ð >ð >ð >�*ñ >ô >ð >ðB-Oð -Oð -Oð -Oð -O˜ñ -Oô -Oð -Oð`Hð Hð Hð Hð Hˆzñ Hô Hð Hð Hð HrL   