Ë
    |í¼eÕ'  ã                   ó„   — 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y)zÏ
    pygments.lexers.fantom
    ~~~~~~~~~~~~~~~~~~~~~~

    Lexer for the Fantom language.

    :copyright: Copyright 2006-2023 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            !       óJ
  — 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j0                  eej2                  eee«      fd eej0                  eej2                  eej4                  «      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jD                  jF                  fg“d4d5e$fg“dd6ef ed7«      ej2                  f e%d%«      g“d8 e&d«       e&d'«       e&d)«       e&d+«       e&d-«       e&d«       e&d/«       e&d4«      d9ej0                  d:fd;ejN                  d<fd= eee(ej2                  «      d>f ed?«       e eed¬«      e(ejR                  e(e$«      f ed@«       eejR                  e(e$«      f edA«       ee$ej4                  e(e«      dBf edC«       ee$ej4                  «      fdD eee(ej4                  e(e«      dEf edF«       e eed¬«      e(ej4                  e(e«      dEf edG«       e eed¬«      e(ejR                  e(e«      f edH«       e eed¬«      e(ejR                  e(ee( eed¬«      e«      f edI«       e eed¬«      e(ejR                  e(e«      f edJ«       e eed¬«      e(ejR                  «      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jR                  e(e«      d%f e&d8«      g“dMdQed%f e&d8«      g“d>dNe(fdRefdS eej0                  eej2                  «      fdLed%fg“d:dTe(fdU eee	j                  e«      fdV eeej0                  e«      fdWedXf e%d%«      g“dTe(fdY eejV                  e(ej2                  «      dZfd[ej2                  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,y_)`r   z<
    For Fantom source code.

    .. versionadded:: 1.5
    ÚFantomÚfanz*.fanzapplication/x-fantomc                 óP   — t        | «      j                  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Ñ0Ð1Ø˜Ÿ™Ð'à˜'Ÿ/™/Ð*Ø�g—n‘nÐ%ð
ðNð 	Ø0°&Ð9Ø8¸&ÐAØ)¨6¯<©<Ð8Ø# V§Z¡ZÐ0Ø˜FŸN™NÐ+Ø.°·±Ð<Ø�; Ð,Ø�; Ð,Ø% w×'7Ñ'7Ð8Ø2Ù�d—n‘n k°4·:±:Ø! 6¨;ó8ð9ð .Ù�d—n‘n k°4·:±:Ø! 4§=¡=ó2ð3ð �wÐÙÐ Ó!Ù‘e˜D¨Ô1°7Ó;ð=à�wÐÙÐ Ó!Ù‘e˜D¨Ô1°7Ó;ð=ð)
ðNð> 	Ø�f—m‘mÐ$Ø�V—]‘]Ð#Ø�V—]‘]Ð#Ø�v—‘Ð'Ø˜6Ÿ?™?Ð+Ø�; Ð'Ø�6ˆNð
ð?NðP 	Ø�f—m‘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ð~ 	Ùð 7ð @EÈUôTð ð	ð
 $ T§\¡\×%8Ñ%8Ð9ð
ðNðN 	ØDÀhÐOð
ðONðT 	Ø˜kÐ*Ùˆv‹Y˜Ÿ
™
Ð#Ù�F‹Oð
ðUNð` 	Ù�JÓÙÐ(Ó)Ù�NÓ#ÙÐ$Ó%Ù�OÓ$Ù�JÓÙ�OÓ$Ù�KÓ Ø˜×*Ñ*¨GÐ4Ø�d—n‘n gÐ.Ø'©°'¸:ÀtÇzÁzÓ)RØðñ Ð/Ó0Ù‘e˜D¨Ô1°:Ø—m‘m Z°ó;ð<ñ
 Ð Ó!Ù�d—m‘m Z°Ó:ð<ñ Ð,Ó-Ù�h §¡¨z¸;ÓGØðñ
 Ð#Ó$Ù�h §¡Ó.ð0ð -Ù�g˜z¨4¯=©=¸*ÀkÓRØ#ð%ñ
 ð !ó "á‘e˜D¨Ô1°:Ø—m‘m Z°ó>à#ð	%ñ Ð+Ó,Ù‘e˜D¨Ô1°:¸t¿}¹}Ø  +ó/ð0ñ Ð=Ó>Ù‘e˜D¨Ô1°:¸t¿}¹}Ø  +¨z¹5ÀÈXÔ;VØ!ó#ð$ñ Ð,Ó-Ù‘e˜D¨Ô1°:¸t¿}¹}Ø  +ó/ð0ñ
 Ð&Ó'Ù‘e˜D¨Ô1°:Ø—m‘mó%ð&ð �K Ð/Ø�K Ð/Ø�ZÐ Ø�4ˆLðOH
ðaNðr 	Ø�K Ð(Ù�F‹Oð
ðsNðz 	Ø�K Ð(ÙÐ,Ó-Ù‘e˜D¨Ô1°:¸t¿}¹}Ø  +ó/Ø06ð8ñ �F‹Oð!
ð{NðH 	Ø�K Ð(Ù�F‹Oð
ðINðP 	Ø�ZÐ Ø�[Ð!Ø#Ù�d—n‘n k°4·:±:Ó>ð@à�K Ð(ð
ðQNð^ 	Ø˜
Ð#ØÙ�k 7§?¡?°KÓ@ðBà"Ù�k 4§>¡>°;Ó?ðAà�K Ð.Ù�F‹Oð
ð_Nðr ˜
Ð#ØÙ�g×)Ñ)¨:°t·z±zÓBÀHðNà˜Ÿ
™
Ð#Ù�HÓð
ð �ZÐ Ø�K Ð/Ù�F‹Oð
ñ �JÓÙ�JÓÙ�KÓ Ø�ZÐ Ø"¡H¨Z¸¸zÈ8Ó$TÐUØ�K Ð(Ø�ZÐ Ø�4ˆLð	
òIN�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      sD   ðñõ ÷÷ ñ ÷-÷ -÷ -ð ˆ/€ôf�*õ fr#   