§
    £E±cÕ'  ã                   óŒ   — d Z ddlmZ ddl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gZ G d„ de¦  «        ZdS )zÏ
    pygments.lexers.fantom
    ~~~~~~~~~~~~~~~~~~~~~~

    Lexer for the Fantom language.

    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    )ÚTemplate)Ú
RegexLexerÚincludeÚbygroupsÚusingÚthisÚdefaultÚwords)
ÚTextÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚPunctuationÚLiteralÚ
WhitespaceÚFantomLexerc            !       óÜ	  — e Zd ZdZdZdgZdgZdgZd„ Zi dde	j
        fd	e	j        fd
e	j        fde	j        fg“ddefdefdej        fdej        fdej        fdej        fdedfdedfdej        fd eej        eej        eee¦  «        fd eej        eej        eej        ¦  «        fdef ed¦  «         e eed¬¦  «        e¦  «        fdef ed¦  «         e eed¬¦  «        e¦  «        fg“dd ej        fd!ej        fd"ej        fd#ej        fd$ej        fded%fd&efg“dd ej        fd!ej        fd"ej        fd#ej        fd$ej        fded%fd&ej         fg“d'd(efg“d)d*efg“d+d,efg“d-d.efg“d/ e!d0d1d1¬2¦  «        efd3ej"        j#        fg“d4d5e$fg“dd6ef ed7¦  «        ej        f e%d%¦  «        g“d8 e&d¦  «         e&d'¦  «         e&d)¦  «         e&d+¦  «         e&d-¦  «         e&d¦  «         e&d/¦  «         e&d4¦  «        d9ej        d:fd;ej'        d<fd= eee(ej        ¦  «        d>f ed?¦  «         e eed¬¦  «        e(ej)        e(e$¦  «        f ed@¦  «         eej)        e(e$¦  «        f edA¦  «         ee$ej        e(e¦  «        dBf edC¦  «         ee$ej        ¦  «        fdD eee(ej        e(e¦  «        dEf edF¦  «         e eed¬¦  «        e(ej        e(e¦  «        dEf edG¦  «         e eed¬¦  «        e(ej)        e(e¦  «        f edH¦  «         e eed¬¦  «        e(ej)        e(ee( eed¬¦  «        e¦  «        f edI¦  «         e eed¬¦  «        e(ej)        e(e¦  «        f edJ¦  «         e eed¬¦  «        e(ej)        ¦  «        fdKedBfdLedMfdNe(fd&e*fg“dBdOed%f e&d8¦  «        g“dEdOed%f edP¦  «         e eed¬¦  «        e(ej)        e(e¦  «        d%f e&d8¦  «        g“dMdQed%f e&d8¦  «        g“d>dNe(fdRefdS eej        eej        ¦  «        fdLed%fg“d:dTe(fdU eee	j        e¦  «        fdV eeej        e¦  «        fdWedXf e%d%¦  «        g“dTe(fdY eej+        e(ej        ¦  «        dZfd[ej        f e%dZ¦  «        gdNe(fdLed\f e%d%¦  «        g e&d¦  «         e&d¦  «         e&d4¦  «        dNe(fd] ee(ee(e$¦  «        fdQed%fdNe(fd&e*fgd^œ¥Z,d_S )`r   z<
    For Fantom source code.

    .. versionadded:: 1.5
    ÚFantomÚfanz*.fanzapplication/x-fantomc                 óh   — t          | ¦  «                             t          dddd¬¦  «        ¦  «        S )Nz	[\"\w\.]+z\n|;z[a-zA-Z_]\w*z#(?:\[|[a-zA-Z_]|\|)[:\w\[\]|\->?]*?)ÚpodÚeosÚidÚtype)r   Ú
substituteÚdict)Ústrs    ú8/usr/lib/python3/dist-packages/pygments/lexers/fantom.pyÚszFantomLexer.s!   s@   € Ý˜‰}Œ}×'Ò'ÝØ ØØ"ð <ðñ ô ñ	
ô 	
ð 		
ó    Úcommentsz(?s)/\*.*?\*/z//.*?$z\*\*.*?$z#.*$Úliteralsz \b-?[\d_]+(ns|ms|sec|min|hr|day)z(\b-?[\d_]*\.[\d_]+(ns|ms|sec|min|hr|day)z\b-?(\d+)?\.\d+(f|F|d|D)?z\b-?0x[0-9a-fA-F_]+z
\b-?[\d_]+z'\\.'|'[^\\]'|'\\u[0-9a-f]{4}'ú"Ú	insideStrú`Ú	insideUriz\b(true|false|null)\bz"(?:(\w+)(::))?(\w+)(<\|)(.*?)(\|>)z(?:(\w+)(::))?(\w+)?(#)(\w+)?z\[,\]z($type)(\[,\])ÚinType)Ústatez\[:\]z($type)(\[:\])z\\\\z\\"z\\`z\$\w+z	\$\{.*?\}z#popú.ÚprotectionKeywordsz'\b(public|protected|private|internal)\bÚtypeKeywordsz,\b(abstract|final|const|native|facet|enum)\bÚmethodKeywordsz8\b(abstract|native|once|override|static|virtual|final)\bÚfieldKeywordszB\b(abstract|const|final|native|override|static|virtual|readonly)\bÚotherKeywords)ÚtryÚcatchÚthrowÚfinallyÚforÚifÚelseÚwhileÚasÚisÚisnotÚswitchÚcaser	   ÚcontinueÚbreakÚdoÚreturnÚgetÚsetz\b)ÚprefixÚsuffixz\b(it|this|super)\bÚ	operatorsz4\+\+|\-\-|\+|\-|\*|/|\|\||&&|<=>|<=|<|>=|>|=|!|\[|\]z[\[\]|\->:?]z$idÚrootzusing\br   z@\w+Úfacetz(class|mixin)(\s+)(\w+)Úinheritancez($type)([ \t]+)($id)(\s*)(:=)z($id)(\s*)(:=)z(\.|(?:\->))($id)(\s*)(\()ÚinsideParenz(\.|(?:\->))($id)z(new)(\s+)(make\w*)(\s*)(\()ÚinsideMethodDeclArgsz($type)([ \t]+)($id)(\s*)(\()z($type)(\s+)($id)(\s*)(,)z+($type)(\s+)($id)(\s*)(\->)(\s*)($type)(\|)z($type)(\s+)($id)(\s*)(\|)z($type)([ \t]+)($id)z\(z\{ÚinsideBracez\s+z\)z($type)(\s+)($id)(\s*)(\))z\}z:|,z(?:(\w+)(::))?(\w+)z[ \t]+z(\[)(\w+)(\])z(\")?([\w.]+)(\")?z::Ú
usingClassz(as)(\s+)(\w+)z#pop:2z[\w$]+ÚfacetFieldsz(\s*)(\w+)(\s*)(=))rN   rI   rO   N)-Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚaliasesÚ	filenamesÚ	mimetypesr"   r   Ú	MultilineÚSingleÚSpecialr   ÚFloatÚHexÚIntegerr   ÚCharr   r   ÚConstantr   r   Ú	NamespaceÚClassÚFunctionr   r   r   ÚEscapeÚInterpolÚBacktickr
   ÚBuiltinÚPseudor   r	   r   Ú	Decoratorr   ÚVariabler   ÚDeclarationÚtokens© r#   r!   r   r      sÎ  € € € € € ðð ð
 €DØˆg€GØ�	€IØ'Ð(€Ið

ð 

ð 

ðNØØ˜wÔ0Ð1Ø˜œÐ'à˜'œ/Ð*Ø�g”nÐ%ð
ðNð 	Ø0°&Ð9Ø8¸&ÐAØ)¨6¬<Ð8Ø# V¤ZÐ0Ø˜FœNÐ+Ø.°´Ð<Ø�; Ð,Ø�; Ð,Ø% wÔ'7Ð8Ø2ØˆX�d”n k°4´:Ø! 6¨;ñ8ô 8ð9ð .ØˆX�d”n k°4´:Ø! 4¤=ñ2ô 2ð3ð �wÐØˆQÐ Ñ!Ô!ØˆX�e�e˜D¨Ð1Ñ1Ô1°7Ñ;Ô;ð=à�wÐØˆQÐ Ñ!Ô!ØˆX�e�e˜D¨Ð1Ñ1Ô1°7Ñ;Ô;ð=ð)
ðNð> 	Ø�f”mÐ$Ø�V”]Ð#Ø�V”]Ð#Ø�v”Ð'Ø˜6œ?Ð+Ø�; Ð'Ø�6ˆNð
ð?NðP 	Ø�f”mÐ$Ø�V”]Ð#Ø�V”]Ð#Ø�v”Ð'Ø˜6œ?Ð+Ø�; Ð'Ø�6”?Ð#ð
ðQNðb 	Ø7¸ÐAð
ðcNðh 	Ø<¸gÐFð
ðiNðn 	ØHØðð
ðoNðv 	ðØ$ð&ð
ðwNð~ 	ØˆUð 7ð @EÈUðTñ Tô Tð ð	ð
 $ T¤\Ô%8Ð9ð
ðNðN 	ØDÀhÐOð
ðONðT 	Ø˜kÐ*ØˆQˆv‰YŒY˜œ
Ð#ØˆG�F‰OŒOð
ðUNð` 	ØˆG�JÑÔØˆGÐ(Ñ)Ô)ØˆG�NÑ#Ô#ØˆGÐ$Ñ%Ô%ØˆG�OÑ$Ô$ØˆG�JÑÔØˆG�OÑ$Ô$ØˆG�KÑ Ô Ø˜Ô*¨GÐ4Ø�d”n gÐ.Ø'¨¨°'¸:ÀtÄzÑ)RÔ)RØðð ˆQÐ/Ñ0Ô0ØˆX�e�e˜D¨Ð1Ñ1Ô1°:Ø”m Z°ñ;ô ;ð<ð
 ˆQÐ Ñ!Ô!ØˆX�d”m Z°Ñ:Ô:ð<ð ˆQÐ,Ñ-Ô-ØˆX�h ¤¨z¸;ÑGÔGØðð
 ˆQÐ#Ñ$Ô$ØˆX�h ¤Ñ.Ô.ð0ð -ØˆX�g˜z¨4¬=¸*ÀkÑRÔRØ#ð%ð
 ˆQð !ñ "ô "àˆX�e�e˜D¨Ð1Ñ1Ô1°:Ø”m Z°ñ>ô >à#ð	%ð ˆQÐ+Ñ,Ô,ØˆX�e�e˜D¨Ð1Ñ1Ô1°:¸t¼}Ø  +ñ/ô /ð0ð ˆQÐ=Ñ>Ô>ØˆX�e�e˜D¨Ð1Ñ1Ô1°:¸t¼}Ø  +¨z¸5¸5ÀÈXÐ;VÑ;VÔ;VØ!ñ#ô #ð$ð ˆQÐ,Ñ-Ô-ØˆX�e�e˜D¨Ð1Ñ1Ô1°:¸t¼}Ø  +ñ/ô /ð0ð
 ˆQÐ&Ñ'Ô'ØˆX�e�e˜D¨Ð1Ñ1Ô1°:Ø”mñ%ô %ð&ð �K Ð/Ø�K Ð/Ø�ZÐ Ø�4ˆLðOH
ðaNðr 	Ø�K Ð(ØˆG�F‰OŒOð
ðsNðz 	Ø�K Ð(ØˆQÐ,Ñ-Ô-ØˆX�e�e˜D¨Ð1Ñ1Ô1°:¸t¼}Ø  +ñ/ô /Ø06ð8ð ˆG�F‰OŒOð!
ð{NðH 	Ø�K Ð(ØˆG�F‰OŒOð
ðINðP 	Ø�ZÐ Ø�[Ð!Ø#ØˆX�d”n k°4´:Ñ>Ô>ð@à�K Ð(ð
ðQNð^ 	Ø˜
Ð#ØØˆX�k 7¤?°KÑ@Ô@ðBà"ØˆX�k 4¤>°;Ñ?Ô?ðAà�K Ð.ØˆG�F‰OŒOð
ð_Nðr ˜
Ð#ØØˆX�gÔ)¨:°t´zÑBÔBÀHðNà˜œ
Ð#ØˆG�HÑÔð
ð �ZÐ Ø�K Ð/ØˆG�F‰OŒOð
ð ˆG�JÑÔØˆG�JÑÔØˆG�KÑ Ô Ø�ZÐ Ø" H H¨Z¸¸zÈ8Ñ$TÔ$TÐUØ�K Ð(Ø�ZÐ Ø�4ˆLð	
ðINð Nð N€F€F€Fr#   N)rS   Ústringr   Úpygments.lexerr   r   r   r   r   r	   r
   Úpygments.tokenr   r   r   r   r   r   r   r   r   r   Ú__all__r   rl   r#   r!   ú<module>rq      s<  ððð ð Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð-ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð ˆ/€ðfð fð fð fð f�*ñ fô fð fð fð fr#   