
    |e                       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 ddlmZmZmZmZmZmZmZmZmZ ddl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! 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' 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,y)*z
    pygments.lexers.jvm
    ~~~~~~~~~~~~~~~~~~~

    Pygments lexers for JVM languages.

    :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N)	Lexer
RegexLexerincludebygroupsusingthiscombineddefaultwords)	TextCommentOperatorKeywordNameStringNumberPunctuation
Whitespaceshebang_matches)	unistring)	JavaLexer
ScalaLexer	GosuLexerGosuTemplateLexerGroovyLexer	IokeLexerClojureLexerClojureScriptLexerKotlinLexer
XtendLexerAspectJLexerCeylonLexerPigLexer	GoloLexerJasminLexer	SarlLexerc                      e Zd ZdZdZdZdgZdgZdgZe	j                  e	j                  z  Zd ee ee      ej$                        dfd	efd
 eej(                  e      fdej*                  fdefd e ee      ej.                  ee      fdej2                  fdej$                  fdej4                  fd eej6                  e      dfdej8                  fdej$                  dfd eej$                  e      dfd eej6                  e      dfdedfdedfdej<                  fd eeej>                        fd eeee      fd eeej@                  e      fd efd!e!jD                  fd"e!jF                  fd#e!jH                  fd$e!jJ                  fd%e!jL                  fd&e'fd'efd(efgd)e(fd ejR                  d*fgd ed*fgd+ej6                  d*fgd,ed*fdef e*d      gd-efd.efd/efd0efded*fgd1Z+y2)3r   z
    For Java source code.
    Javaz(https://www.oracle.com/technetwork/java/javaz*.javaztext/x-javazJ(^\s*)((?:(?:public|private|protected|static|strictfp)(?:\s+))*)(record)\bclass[^\S\n]+(//.*?)(\n)	/\*.*?\*/zz(assert|break|case|catch|continue|default|do|else|finally|for|if|goto|instanceof|new|return|switch|this|throw|try|while)\bzE((?:(?:[^\W\d]|\$)[\w.\[\]$<>]*\s+)+?)((?:[^\W\d]|\$)[\w$]*)(\s*)(\()@[^\W\d][\w.]*z(abstract|const|enum|extends|final|implements|native|private|protected|public|sealed|static|strictfp|super|synchronized|throws|transient|volatile|yield)\b6(boolean|byte|char|double|float|int|long|short|void)\b(package)(\s+)import(true|false|null)\bz(class|interface)\bz
(var)(\s+)varz(import(?:\s+static)?)(\s+)z"""\nmultiline_string"string!'\\.'|'[^\\]'|'\\u[0-9a-fA-F]{4}'(\.)((?:[^\W\d]|\$)[\w$]*)z^(\s*)(default)(:)z^(\s*)((?:[^\W\d]|\$)[\w$]*)(:)z([^\W\d]|\$)[\w$]*a  ([0-9][0-9_]*\.([0-9][0-9_]*)?|\.[0-9][0-9_]*)([eE][+\-]?[0-9][0-9_]*)?[fFdD]?|[0-9][eE][+\-]?[0-9][0-9_]*[fFdD]?|[0-9]([eE][+\-]?[0-9][0-9_]*)?[fFdD]|0[xX]([0-9a-fA-F][0-9a-fA-F_]*\.?|([0-9a-fA-F][0-9a-fA-F_]*)?\.[0-9a-fA-F][0-9a-fA-F_]*)[pP][+\-]?[0-9][0-9_]*[fFdD]?z"0[xX][0-9a-fA-F][0-9a-fA-F_]*[lL]?z0[bB][01][01_]*[lL]?z0[0-7_]+[lL]?z0|[1-9][0-9_]*[lL]?[~^*!%&\[\]<>|+=/?-]
[{}();:.,]\n\s+#pop	[\w.]+\*?"""z[^\\"]+\\\\\\"\\)rootr+   r4   r2   r5   r7   N),__name__
__module____qualname____doc__nameurlaliases	filenames	mimetypesre	MULTILINEDOTALLflagsr   r   r   r   r   Declarationr   Single	Multiliner   Functionr   	DecoratorType	NamespaceConstantr   Char	AttributeLabelr   FloatHexBinOctIntegerr   r   Classr   tokens     5/usr/lib/python3/dist-packages/pygments/lexers/jvm.pyr   r      s    D
4ChG
IILL299$E [j%+w/B/BCWN*%XgnnjAB7,,-M eDk4==*kJL /,-4-@-@B G\\):):J GR#W%5%56#W%8%8'BHW%8%8*EuM+Xg6G6G-Tv1268$16;;?*H[59^^-E F"HZ+$NO/*djj:E2G H"D). 06||= 3FJJ?$fjj1vzz*#V^^4$h/K(Jg4
l TN"DJJ7

 #D&1
 4>>62
 VV$6NH
  fVFO66"
KLFre   r   c                   H    e Zd ZdZdZdZdgZdgZdgZh dZ	h dZ
h d	Zd
 Zy)r"   z=
    For AspectJ source code.

    .. versionadded:: 1.6
    AspectJzhttp://www.eclipse.org/aspectj/aspectjz*.ajztext/x-aspectj>+   getsetargscalllocksoftaftercflowerroraroundaspectbeforetargetunlockwithindeclarehandlerparentsperthisproceedwarningpercflowpointcutthrowing	execution	pertarget	returning
annotation
cflowbelow
precedence
privileged
withincodeissingletonpercflowbelowpertypewithinthisJoinPointinitializationadviceexecutionpreinitializationthisAspectInstancestaticinitializationthisJoinPointStaticPart thisEnclosingJoinPointStaticPart>   soft:error:parents:warning:precedence:>   @type@field@method@constructorc              #   n  K   t         j                  | |      D ]  \  }}}|t        u r|| j                  v r|t        |f )|t        j
                  u r+|| j                  v r|t        |d d f |t        |d   f f|t        j                  u r|| j                  v r|t        |f |||f  y w)N)
r   get_tokens_unprocessedr   aj_keywordsr   r\   aj_inter_typer   rV   aj_inter_type_annotation)selftextindextokenvalues        rf   r   z#AspectJLexer.get_tokens_unprocessed   s     #,#C#CD$#O 		*E5%}$*:*:!:We++$**$$2D2D)DWeCRj00XuRy00$..(Ud6S6S-SWe++UE))		*s   B3B5N)rE   rF   rG   rH   rI   rJ   rK   rL   rM   r   r   r   r   rd   re   rf   r"   r"   v   sC     D
+CkGI!"I
K OMM
*re   r"   c                   T   e Zd ZdZdZdZdgZdgZdgZe	j                  e	j                  z  Zd ej                  dd	      z   d
z   Zd ej                  ddddd      z   d
z   Zd ej                  dd      z   d
z   Zdez  Zdej'                  dd      z  Zdez  ZeedZeededZeededZdededZdZdededZdZdZd Zd!Zd"Z i d# e!d$       e!d%       e!d&       e!d'       e!d(       e!d)       e!d*       e!d+       e!d,       e!d-       e!d.       e!d/       e!d0       e!d1       e!d2       e!d3       e!d4       e!d5       e!d6       e!d7       e!d8       e!d9      gd$d:e"fgd%d;e#jH                  fd<e#jJ                  d=fgd&d>e#jL                  fgd'd? e'e(e"      d@fgd(dA e'e(e"e(e"      dBfdC e'e(e"      dBfgd) e)e dDdDE      e(fdFe(fgd*dGez  e*jV                  fgd+dH e'e,e"e(e"      fgd,dIedJedK e'e(e"e*jZ                        fdLedJedK e'e(e"e*j\                        fdMedJedK e'e(e"e(e"e*j\                        fdNedJedK e'e(e"e*j\                        fdOe(j^                  fdPedJedK e'e(e"e(e"e*j`                        fdQ e'e(e"      dRfdSez   e'e(e"e*j\                        fdTez   e'e(e"e*      fg	d-dUededVedW e'e(e"e*j\                        fgd.dX e'e(e"      fgd/dY e'e(e"e(      fdZede e'e(e"e*j\                        fdZededKe e'e(e"e*j`                        fgd8d[e,fd\e,fgd6 e)edDdDE      e(fgd7d]ez   e'e1e"      fd^e1f e)e      e1fd_ed`ede1fgd0dae*jd                  jf                  fdbe(jh                  fdce5jl                  fdde5jn                  fdee5jn                  fdfe5jn                  fdge5jp                  jr                  fdhe5jp                  fdie:fdje:fdk e'e:jv                  e:jx                  e:jv                        fdle:jv                  fgi d1dme:dnfdoe:dpfdqe:fgd2drez  e:jz                  fgd3ds e'e,e(      fgd4dtededue(fdve(fgd5dwe,fdxe,fgd9ee*j\                  fee*fgd=dye#jJ                  fd<e#jJ                  dzfd{e#jJ                  d|fd}e#jJ                  fgd@d~e>d|f e!d%      de(f e!d      de,dfgd e!d$       e!d%      de(fde1fde,d|fde,fde,f e!d      gdBd~e>d|f e!d%       e!d      de,dfgd e!d$       e!d%      de1fde,d|fde,f e!d      gdRde>d|fde,d|f e!d%       e!d      gdnde:d|fde:f e!d      gdpde:d|f e!d      gdde:j~                  d|fde,df e!d#      gdde,dzfde,d|f e!d#      gdee*j\                  fdez   e'e*j`                  e,      fde,fee*fde"fgdde:fde:jx                  fdez   e'e:j~                  e*      fde:j~                  dfde:fgiZ@y)r   z 
    For Scala source code.
    Scalazhttp://www.scala-lang.orgscalaz*.scalaztext/x-scalaz[!#%&*\-\/:?@^SmSo]z[_\$LlLuLoNlLt[z(?:%s|[0-9])z\$ z%s+*z
*(?:(?<=_)z+)?z(?:|z+)z`[^`]+`)z
(?!//|/\*)z(?=\s*(//|$)))newreturnthrowclassOfisInstanceOfasInstanceOfelseifthendowhileforyieldmatchcasecatchfinallytry)z<%z=:=z<:<z<%<z>:z<:===z!=<=>=z<><>z<-u   ←->u   →=>u   ⇒?@r   -+r   %~\)private	protectedsynchronizedz	@volatileabstractfinallazysealedimplicitoverridez
@transientz@nativerD   
whitespacecommentszscript-headerimportsexportszstorage-modifiersannotationsr   declarationsinheritance	extensionend	constantsstringssymbolszsingleton-typeinlinequotedkeywords	operatorspunctuationnamesr=   //.*?\n/\*commentz^#!([^\n]*)$z\b(import)(\s+)zimport-pathz\b(export)(\s+)(given)(\s+)zexport-pathz\b(export)(\s+)\b)prefixsuffixzj\b(transparent|opaque|infix|open|inline)\b(?=[a-z\s]*\b(def|val|var|given|type|class|trait|object|enum)\b)z@%sz(\()(\s*)(using)(\s)z\b(def)\b(\s*)(z)?z\b(trait)\b(\s*)z,\b(?:(case)(\s+))?(class|object|enum)\b(\s*)z(?<!\.)\b(type)\b(\s*)z\b(val|var)\bz\b(package)(\s+)(object)\b(\s*)z\b(package)(\s+)packagez\b(given)\b(\s*)(%s)z\b(given)\b(\s*)(%s)?z \b(extends|with|derives)\b(\s*)(z|(?=\([^\)]+=>)|(?=z	)|(?="))?z\b(extension)(\s+)(?=[\[\(])z8\b(end)(\s+)(if|while|for|match|new|extension|val|var)\bz\b(end)(\s+)(z[{}()\[\];,.]z(?<!:):(?!:)z(%s{2,})(\s+)z	/(?![/*])z(?<!z)(!|&&|\|\|)(?!z\b(this|super)\br3   z0[xX][0-9a-fA-F_]*zJ([0-9][0-9_]*\.[0-9][0-9_]*|\.[0-9][0-9_]*)([eE][+-]?[0-9][0-9_]*)?[fFdD]?z[0-9]+([eE][+-]?[0-9]+)?[fFdD]z[0-9]+([eE][+-]?[0-9]+)[fFdD]?z
[0-9]+[lL][0-9]+z""".*?"""(?!")z"(\\\\|\\"|[^"])*"z(')(\\.)(')z'[^\\]'|'\\u[0-9a-fA-F]{4}'z[fs]"""zinterpolated-string-triplez[fs]"zinterpolated-stringzraw"(\\\\|\\"|[^"])*"z
('%s)(?!')z(\.)(type)\bz\b(inline)(?=\s+(z)\s*:)z=\b(inline)\b(?=(?:.(?!\b(?:val|def|given)\b))*\b(if|match)\b)z['$]\{(?!')z'\[(?!')z[^/*]+#push\*/r>   [*/]z(?<=[\n;:])z\b(given)\bzqualified-name\{zimport-path-curly-bracer   \},z[\[\]]zexport-path-curly-bracez
(?<=[\n;]):z"""(?!")r6   zinterpolated-string-commonzinterpolated-string-bracez interpolated-string-nested-bracez(%s)(\.)z\.r,   z[^"$\\]+z\$\$z(\$)(%s)\$\{z\\.N)ArE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   unicombineopcharletterupperLetterletterOrDigitreplaceletterOrDigitNoDollarSignalphaIdsimpleInterpolatedVariableidrestidUpperplainidbackQuotedIdanyIdnotStartOfCommentendOfLineMaybeWithCommentr   r   storage_modifiersr   r   r   rS   rT   Hashbangr   r   r   r   rV   r   rU   rb   rR   rX   r   BuiltinPseudorY   r   r^   r]   ra   Longr   rZ   EscapeSymbolr   Interpolrc   rd   re   rf   r   r      s
    D
%CiGI ILL299$E+#++dD"99C?F{s{{4tT4@@3FFD$//#5K"V+M .r1J JfnG-35N"O&,mVDF'2M6JG$f-GL#\2E% 0HIoL!JO$II'(M"GN#M"K ENK II$%HHJK M"G-
o6 	Z 
7o< 	(W&&	2
=oD 	g../
EoJ 	':!>N
KoP 	+*gzBMS':!>N
QoZ 	$U5A7K
DELN
[ol 	f_dnn-
mor 	 %h{JQ[&\]
so| 	):EBgz4==9;+<eD*djj9; #E+*gz4::NP 2CEJ*djj9;w223"E+*gz4>>RT !(7J"?K$w.*djj9;%-*d35#
}od 	 ,1 *djj9;
eop 	,hw
.KL
qov 	H*g68&-/HI*djj9; w(AC*dnn=?	
woJ 	{+k*
KoR 	8E%8'B
SoX 	&:(FG8$9x(,2F;XF	
Yod 	 $,,"5"56#W%5%56"FJJ/017?.=.=FNN//0''"F+Xfkk6==&++NO+V[[9
eoB 	!=>v45%v.
CoL 	W$fmm4
MoR 	h{G<=
SoX 	 18FM
Yoh 	[)+&	
iot 	djj!DM
uo@ 	))*W&&0W&&/g''(	
AoL 	T6*JW%$%K!:;
MoZ 	"L!JW%HK(;$$%	$
[on 	T6*J$%K!:;	
ooz 	"L!JHK(;$%$
{oJ 	D&);'J$%	
KoV 	%&&)6N01'
Wo` 	66"01 
aoh 	$FOOV,K!CDFO&
ior 	+K)K(FO-
so@ 	djj!5 (4>>;"GHK DM*%
AoN 	%&!fmm$55$/1foo'BCV'
OoFre   r   c                      e Zd ZdZdZdgZg dZdgZej                  ej                  z  Zd e ee      ej                   ee      fdefdej(                  fd	ej*                  fd
ej,                  fdefdej0                  fd eej0                  eej0                        fdej2                  fd eej4                  e      fdej6                  fd eej0                  eej8                        fd eej4                  eej4                        fdedfd eeej<                        fd eeej<                        fdefdefdej@                  fdejB                  fdefgdefd eeej,                        dfdej*                  fd edfd!ed"fd#efgded$f e"d%      gdedfd&ed$f e"d'      gdedfd(ed"fd)ed$f e"d'      gd*Z#y+),r   z:
    For Gosu source code.

    .. versionadded:: 1.5
    Gosugosu)z*.gsz*.gsxz*.gspz*.varkztext/x-gosu9^(\s*(?:[a-zA-Z_][\w.\[\]]*\s+)+?)([a-zA-Z_]\w*)(\s*)(\()r,   r   r.   @[a-zA-Z_][\w.]*z(in|as|typeof|statictypeof|typeis|typeas|if|else|foreach|for|index|while|do|continue|break|return|try|catch|finally|this|throw|new|switch|case|default|eval|super|outer|classpath|using)\bz(var|delegate|construct|function|private|internal|protected|public|abstract|override|final|static|extends|transient|implements|represents|readonly)\bz(property)(\s+)(get|set)?z<(boolean|byte|char|double|float|int|long|short|void|block)\br1   z (true|false|null|NaN|Infinity)\bz5(class|interface|enhancement|enum)(\s+)([a-zA-Z_]\w*)z(uses)(\s+)([\w.]+\*?)r6   r7   z(\??[.#])([a-zA-Z_]\w*)z(:)([a-zA-Z_]\w*)[a-zA-Z_$]\w*z)and|or|not|[\\~^*!%&\[\](){}<>|+=:;,./?-]%[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?r   r<   z(\\<)|(\\\$)z(<%@\s+)(extends|params)stringTemplatez<%!--.*?--%>z
(<%)|(<%=)r  stringTemplateShorthand.r>   templateTextz%>rD   r  r  )rD   r)  r7   r&  r'  N)$rE   rF   rG   rH   rI   rK   rL   rM   rN   rO   rP   rQ   r   r   r   r   rU   r   r   r   rS   rT   rV   r   rR   rW   rX   rY   rb   r   r[   r   r]   ra   r   rc   rd   re   rf   r   r     sj    DhG4IILL299$E
 eDk4==*hGI *%(7,,- $..1 "#23:3F3FH *8G4G4GU\UhUh+ijL\\):):J GH0'2B2BCEg)):tzzBD&g''T^^DF68$'h/1!h/1t$98D5v||D'JG$
L f%(h/1ACg//0H&67h 9:6N
 66"N#

 68$Hf%FO
 68$H78Hf%FO	$
q>Fre   r   c                   ,    e Zd ZdZdZdgZdgZdgZd Zy)r   z8
    For Gosu templates.

    .. versionadded:: 1.5
    zGosu Templategstz*.gstztext/x-gosu-templatec              #   ^   K   t               }dg}|j                  ||      E d {    y 7 w)Nr)  )r   r   )r   r   lexerstacks       rf   r   z(GosuTemplateLexer.get_tokens_unprocessed  s+      //e<<<s   #-+-N)	rE   rF   rG   rH   rI   rK   rL   rM   r   rd   re   rf   r   r     s)     DgG	I'(I=re   r   c                   n   e Zd ZdZdZdZdgZddgZdgZe	j                  e	j                  z  Zdej                  d	f ed	      gd
efd eej$                  e      fdej&                  fdefd e ee      ej0                  ee      fdej4                  fdej6                  fdej8                  fd eej:                  e      fdej<                  fd eej6                  e      dfd eej:                  e      dfdej@                  fdej$                  fdej@                  fdej$                  fdefdefdejB                  fd eeejD                        fd ejF                  fd!efd"efd#e$jJ                  fd$e$jL                  fd%e$jN                  fd&efgd'ejP                  d(fgd)ej:                  d(fgd*Z)d+ Z*y,)-r   z<
    For Groovy source code.

    .. versionadded:: 1.5
    Groovyzhttps://groovy-lang.org/groovyz*.groovyz*.gradleztext/x-groovyz#!(.*?)$baser,   r-   r.   z(assert|break|case|catch|continue|default|do|else|finally|for|if|goto|instanceof|new|return|switch|this|throw|try|while|in|as)\bzo^(\s*(?:[a-zA-Z_][\w.\[\]]*\s+)+?)([a-zA-Z_]\w*|"(?:\\\\|\\[^\\]|[^"\\])*"|'(?:\\\\|\\[^\\]|[^'\\])*')(\s*)(\()r#  z(abstract|const|enum|extends|final|implements|native|private|protected|public|static|strictfp|super|synchronized|throws|transient|volatile)\bz:(def|boolean|byte|char|double|float|int|long|short|void)\br1   r3   (class|interface)(\s+)r+   (import)(\s+)r2   z	""".*?"""z	'''.*?'''"(\\\\|\\[^\\]|[^"\\])*"'(\\\\|\\[^\\]|[^'\\])*'z\$/((?!/\$).)*/\$z/(\\\\|\\[^\\]|[^/\\])*/r8   (\.)([a-zA-Z_]\w*)[a-zA-Z_]\w*:r$  [~^*!%&\[\](){}<>|+=:;,./?-]r%  0x[0-9a-fA-F]+[0-9]+L?r<   [a-zA-Z_]\w*r>   r?   )rD   r2  r+   r2   c                     t        | d      S )Nr1  r   )r   s    rf   analyse_textzGroovyLexer.analyse_texti  s    tY//re   N)+rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   r   Preprocr
   r   r   rS   rT   r   r   r   r   rU   r   rV   rR   rW   rX   rY   r   DoublerZ   r[   r\   r   r]   r^   ra   rb   rc   r>  rd   re   rf   r   r     s#    D
$CjGJ'I !ILL299$E
 '//62FO
 *%XgnnjAB7,,-S eDk4==*hGI !$..1&'.':':< K\\):):J GH#W%5%56&1D1Dj(Qx(9(9:FQ6==)6==)(&--8(&--8!6*(&116;;?"HXt~~$FGtzz*t$,h75v||D

+&..)JW,
\ djj&1
 4>>62
m9Fv0re   r   c                      e Zd ZdZdZdZdgZddgZdgZde	j                  fd	ed
fgde	df ed      de	fgde	j                  df ed      de	j                  fgdedf ed      gde	j                  df ed      de	j                  fde	j                  fgde	j                  df ed      de	j                  fde	j                  fgde	df ed      de	fgg defdefdefdefde	j                  dfde	j                  dfd e	j"                  fd!e	j$                  fd"e	j"                  fd#e	j                  d$fd%e	d&fd'e	d(fd)ej(                  fd*ej*                  fd+ej.                  fd,efd-efd.efd/ej.                  fd0ej.                  fd1efd2ej.                  fd3efd4ej.                  fd5efd6ej.                  fd7ej.                  fd8ej0                  fd9ej2                  fd:ej4                  fd;ej8                  fd<ej:                  fd=ej<                  fd>efd?efd@efdAefdBej@                  fdCefdDZ!yE)Fr   z{
    For Ioke (a strongly typed, dynamic,
    prototype based programming language) source.

    .. versionadded:: 1.4
    Iokezhttps://ioke.org/z*.ikiokeikztext/x-iokesrczS(\\b|\\e|\\t|\\n|\\f|\\r|\\"|\\\\|\\#|\\\Z|\\u[0-9a-fA-F]{1,4}|\\[0-3]?[0-7]?[0-7])z#\{textInterpolationRootz(?<!\\)"r>   interpolatableTextz[^"]r  rD   z(?<!\\)/[im-psux]*z\\/z[^/]z(?<!\\)][im-psux]*z\\]z[^\]]z(?<!\\)]r<   r=   z;(.*?)\nz\A#!(.*?)\nz#/slashRegexpz#r\[squareRegexpz	:[\w!:?]+z[\w!:?]+:(?![\w!?])z:"(\\\\|\\[^\\]|[^"\\])*"z((?<=fn\()|(?<=fnx\()|(?<=method\()|(?<=macro\()|(?<=lecro\()|(?<=syntax\()|(?<=dmacro\()|(?<=dlecro\()|(?<=dlecrox\()|(?<=dsyntax\())(\s*)"documentationr6   r   z#\[
squareTextz\w[\w!:?]+(?=\s*=.*mimic\s)z.[a-zA-Z_][\w!:?]*(?=[\s]*[+*/-]?=[^=].*($|\.))z(break|cond|continue|do|ensure|for|for:dict|for:set|if|let|loop|p:for|p:for:dict|p:for:set|return|unless|until|while|with)(?![\w!:?])z%(eval|mimic|print|println)(?![\w!:?])z|(cell\?|cellNames|cellOwner\?|cellOwner|cells|cell|documentation|hash|identity|mimic|removeCell\!|undefineCell\!)(?![\w!:?])z(stackTraceAsText)(?![\w!:?])z"(dict|list|message|set)(?![\w!:?])z`(case|case:and|case:else|case:nand|case:nor|case:not|case:or|case:otherwise|case:xor)(?![\w!:?])z(asText|become\!|derive|freeze\!|frozen\?|in\?|is\?|kind\?|mimic\!|mimics|mimics\?|prependMimic\!|removeAllMimics\!|removeMimic\!|same\?|send|thaw\!|uniqueHexId)(?![\w!:?])z (after|around|before)(?![\w!:?])zG(kind|cellDescriptionDict|cellSummary|genSym|inspect|notice)(?![\w!:?])z(use|destructuring)zn(cell\?|cellOwner\?|cellOwner|cellNames|cells|cell|documentation|identity|removeCell!|undefineCell)(?![\w!:?])z(internal:compositeRegexp|internal:concatenateText|internal:createDecimal|internal:createNumber|internal:createRegexp|internal:createText)(?![\w!:?])zk(availableRestarts|bind|error\!|findRestart|handle|invokeRestart|rescue|restart|signal\!|warn\!)(?![\w!:?])z(nil|false|true)(?![\w!:?])a
  (Arity|Base|Call|Condition|DateTime|Aspects|Pointcut|Assignment|BaseBehavior|Boolean|Case|AndCombiner|Else|NAndCombiner|NOrCombiner|NotCombiner|OrCombiner|XOrCombiner|Conditions|Definitions|FlowControl|Internal|Literals|Reflection|DefaultMacro|DefaultMethod|DefaultSyntax|Dict|FileSystem|Ground|Handler|Hook|IO|IokeGround|Struct|LexicalBlock|LexicalMacro|List|Message|Method|Mixins|NativeMethod|Number|Origin|Pair|Range|Reflector|Regexp Match|Regexp|Rescue|Restart|Runtime|Sequence|Set|Symbol|System|Text|Tuple)(?![\w!:?])uw   (generateMatchMethod|aliasMethod|λ|ʎ|fnx|fn|method|dmacro|dlecro|syntax|macro|dlecrox|lecrox|lecro|syntax)(?![\w!:?])z-?0[xX][0-9a-fA-F]+z(-?(\d+\.?\d*|\d*\.\d+)([eE][+-]?[0-9]+)?-?\d+z#\(a  (&&>>|\|\|>>|\*\*>>|:::|::|\.\.\.|===|\*\*>|\*\*=|&&>|&&=|\|\|>|\|\|=|\->>|\+>>|!>>|<>>>|<>>|&>>|%>>|#>>|@>>|/>>|\*>>|\?>>|\|>>|\^>>|~>>|\$>>|=>>|<<=|>>=|<=>|<\->|=~|!~|=>|\+\+|\-\-|<=|>=|==|!=|&&|\.\.|\+=|\-=|\*=|\/=|%=|&=|\^=|\|=|<\-|\+>|!>|<>|&>|%>|#>|\@>|\/>|\*>|\?>|\|>|\^>|~>|\$>|<\->|\->|<<|>>|\*\*|\?\||\?&|\|\||>|<|\*|\/|%|\+|\-|&|\^|\||=|\$|!|~|\?|#|\u2260|\u2218|\u2208|\u2209)z-(and|nand|or|xor|nor|return|import)(?![\w!?])z.(\`\`|\`|\'\'|\'|\.|\,|@@|@|\[|\]|\(|\)|\{|\})z[A-Z][\w!:?]*z[a-z_][\w!:?]*)rF  r   rI  rE  rG  rH  rJ  rD   N)"rE   rF   rG   rH   rI   rJ   rL   rK   rM   r   r  r   r   DocRegexr   r   r  Otherr   EntityVariabler   ReservedrY   r  rU   r   r^   r]   ra   r   rb   rc   rd   re   rf   r   r   m  s    D
CItnG!"I&'-}}6["9:
 &&)()f
 &**f-()fjj!
 K(FO"
 #FLL&9()V\\"fll#	
 #FLL&9()V\\"v||$	
 &&)()v
D
JD
Z D

 '"D
 W%D
 FLL-0D
 fllN3D
 6==)D
 $V\\2D
 *6==9D
$'(.

OE%D
. 66"/D
0 V\*1D
6 ,T[[97D
< ?]]=D
D!")"2"24ED
N 6w?OD
T$&UD
^ .w7_D
d 3G4D4DEeD
j45<5E5EGkD
r %&sD
~ 1'2B2BCD
D$&ED
H $W%5%56ID
N$&OD
X %--/YD
d$--/eD
n ,T]];oD
t	. 04||	=uD
L!]],MD
V $VZZ0WD
X 9&,,GYD
Z v~~&[D
^ [!_D
d2 4<=eD
r >sD
z ?L{D
@ tzz*AD
F %GD
YqFre   r   c                      e Zd ZdZdZdZddgZddgZdd	gZd
Z	dZ
dZdZddej                  fdefdefdej$                  fdefdej&                  fdej(                  fdefdez   ej,                  fdej.                  fdez   ej,                  fdef ee	d      ef ee
d      ej6                  f eed      ej:                  fdez   ej<                  feej>                  fde fde fd e fgiZ!y!)"r   zD
    Lexer for Clojure source code.

    .. versionadded:: 0.11
    Clojurezhttp://clojure.org/clojurecljz*.cljz*.cljcztext/x-clojurezapplication/x-clojure)
r(  defr   fnr   letr   quoter4   loop)zdef-defnzdefn-defmacrodefmulti	defmethod	defstructdefoncery   	definlinedefinterfacedefprotocol	defrecorddeftype
defprojectns(-  r   r   r   r   /r   r   r   r   r   r   z..accessoragentzagent-errorsagetalengthzall-nsalterandzappend-childapplyz	array-mapasetzaset-booleanz	aset-bytez	aset-charzaset-doublez
aset-floatzaset-intz	aset-longz
aset-shortassertassocawaitz	await-forbeanbindingzbit-andzbit-notzbit-orzbit-shift-leftzbit-shift-rightzbit-xorbooleanzbranch?butlastbytecastcharchildrenr+   zclear-agent-errorsr   commutecomp
comparator
complementconcatconjcons
constantlycondzif-notzconstruct-proxyz	contains?countz	create-nszcreate-structcycledecderef
differencedisjdissocdistinctdoalldocdorundoseqdosyncdotimesdotodoubledowndropz
drop-whileeditzend?ensureevalzevery?zfalse?ffirstzfile-seqfilterfindzfind-doczfind-nszfind-varfirstfloatflushr   fnseqfrestgensymzget-proxy-classrj   zhash-mapzhash-setz
identical?identityzif-letr2   zin-nsincr   zinsert-childzinsert-leftzinsert-rightzinspect-tablezinspect-treez	instance?int
interleaveintersectionintoz
into-arrayiteratejoinkeykeyskeywordzkeyword?lastzlazy-catz	lazy-consleftleftszline-seqzlist*listloadz	load-filelockinglongrZ  macroexpandzmacroexpand-1z
make-arrayz	make-nodemapz
map-invertzmap?mapcatmaxzmax-keymemfnmergez
merge-withmetaminzmin-keyrI   	namespacezneg?r   newlinenextznil?nodenotznot-any?z
not-every?znot=z
ns-importsz
ns-internszns-mapzns-namez
ns-publicsz	ns-refersz
ns-resolvezns-unmapnthnthrestorparsepartialpathpeekpopzpos?przpr-strprintz	print-strprintlnzprintln-strprnzprn-strprojectproxyzproxy-mappingsquotrandzrand-intrangezre-findz	re-groupsz
re-matcherz
re-matchesz
re-patternzre-seqreadz	read-linereducerefzref-setreferremremovezremove-methodz	remove-nsrenamezrename-keysrepeatr  	replicateresolverestzresultset-seqreverserfirstrightrightsrD   rrestrseqsecondselectzselect-keyssendzsend-offseqzseq-zipzseq?rk   shortslurpsomesortzsort-byz
sorted-mapzsorted-map-byz
sorted-setzspecial-symbol?zsplit-atz
split-withstrzstring?structz
struct-mapsubssubvecsymbolzsymbol?synctakeztake-nthz
take-whiletesttimezto-arrayzto-array-2dztree-seqztrue?unionupzupdate-proxyvalvalszvar-getzvar-setzvar?vectorz
vector-zipzvector?whenz
when-firstzwhen-letzwhen-notzwith-local-varsz	with-metaz	with-openzwith-out-strzxml-seqzxml-zipzzero?zipmapzipperz(?!#)[\w!$%*+<=>?/.#|-]+rD   z;.*$z,+r=   z
-?\d+\.\d+z	-?\d+/\d+rK  z0x-?[abcdef\d]+r5  'z\\(.|[a-z]+)z::?#?z~@|[`\'#^~&@] r   z(?<=\()z(\[|\])z(\{|\})z(\(|\))N)"rE   rF   rG   rH   rI   rJ   rK   rL   rM   special_formsr   builtins
valid_namer   rS   r   r   r   r]   ra   r^   r   r  rZ   r   r   r   rR   r   r  rU   rP  r   rc   rd   re   rf   r   r   -  sn   
 D
C% G(#I!#:;IML1;Hr -J 	 gnn% DMZ  FLL)6"v~~&, )&1J.fkk* 
"FMM2 x( =-w7 <,g.A.AB 8C($,,7 *$dmm4 ' % % %i5
7Fre   r   c                   .    e Zd ZdZdZdZddgZdgZddgZy	)
r   zI
    Lexer for ClojureScript source code.

    .. versionadded:: 2.0
    ClojureScriptz http://clojure.org/clojurescriptclojurescriptcljsz*.cljsztext/x-clojurescriptzapplication/x-clojurescriptN)	rE   rF   rG   rH   rI   rJ   rK   rL   rM   rd   re   rf   r   r     s/    
 D
,C'G
I')FGIre   r   c                      e Zd ZdZej
                  ej                  z  Zd e e	e
      ej                  ee      fdefd eej                   e      fdej"                  fdej$                  fdefdej(                  fd	ej*                  fd
 eej(                  e      dfd eej,                  e      dfdej0                  fdej                   fd eeej2                        fdej4                  fdefdefdej8                  fdej:                  fdej<                  fdefgdej>                  dfgdej,                  dfgdZ y)TeaLangLexerzb
    For Tea source code. Only used within a
    TeaTemplateLexer.

    .. versionadded:: 1.5
    z:^(\s*(?:[a-zA-Z_][\w\.\[\]]*\s+)+?)([a-zA-Z_]\w*)(\s*)(\()r,   r-   r.   z@[a-zA-Z_][\w\.]*z/(and|break|else|foreach|if|in|not|or|reverse)\bz(as|call|define)\br3   z(template)(\s+)templater4  r2   r5  r6  r7  r8  z[a-zA-Z_\$]\w*z3(isa|[.]{3}|[.]{2}|[=#!<>+-/%&;,.\*\\\(\)\[\]\{\}])r%  r:  r;  r<   r<  r>   r?   )rD   r	  r2   N)!rE   rF   rG   rH   rN   rO   rP   rQ   r   r   r   r   rU   r   r   r   rS   rT   rV   r   rR   rY   rX   r   r@  r[   r\   r   r]   r^   ra   rb   rc   rd   re   rf   r  r    ss    LL299$E
 eDk4==*hGI *%XgnnjAB7,,-!4>>2?"G$7$78#W%5%56'*=*=z!JJWx(9(9:FQ(&--8(&--8"HXt~~$FGtzz*%CXN5v||D

+&..)J3
8 djj&1
 4>>62
?"Fre   r  c                      e Zd ZdZdZdZdgZdgZdgZe	j                  e	j                  z  ZdZd e ee      ej$                  ee      fd	efd
 eej,                  e      fdej.                  dfdej0                  fdefdej4                  fdej6                  fd eej8                  e      fdej:                  fd eej4                  e      dfd eej8                  e      dfdefdej>                  fd eeej@                        fdejB                  fdefdefde"jF                  fde"jF                  fde"jF                  fd e"jF                  fd!e"jH                  fd"e"jH                  fd#e"jJ                  fd$e"jJ                  fd%e"jL                  fd&e"jL                  fd'efgd(ejN                  d)fgd*ej8                  d)fgd+ej.                  fdej.                  d,fd-ej.                  d)fd.ej.                  fgd/Z(y0)1r#   z<
    For Ceylon source code.

    .. versionadded:: 1.6
    Ceylonzhttp://ceylon-lang.org/ceylonz*.ceylonztext/x-ceylonz(?:\s|//.*?\n|/[*].*?[*]/)+r"  r,   r-   r   r   z(shared|abstract|formal|default|actual|variable|deprecated|small|late|literal|doc|by|see|throws|optional|license|tagged|final|native|annotation|sealed)\bz(break|case|catch|continue|else|finally|for|in|if|return|switch|this|throw|try|while|is|exists|dynamic|nonempty|then|outer|assert|let)\bz9(abstracts|extends|satisfies|super|given|of|out|assign)\bz(function|value|void|new)\bz(assembly|module|package)(\s+)r3   z#(class|interface|object|alias)(\s+)r+   r4  r2   r5  z%'\\.'|'[^\\]'|'\\\{#[0-9a-fA-F]{4}\}'z(\.)([a-z_]\w*)r8  r<  r9  z/\d{1,3}(_\d{3})+\.\d{1,3}(_\d{3})+[kMGTPmunpf]?z7\d{1,3}(_\d{3})+\.[0-9]+([eE][+-]?[0-9]+)?[kMGTPmunpf]?z*[0-9][0-9]*\.\d{1,3}(_\d{3})+[kMGTPmunpf]?z2[0-9][0-9]*\.[0-9]+([eE][+-]?[0-9]+)?[kMGTPmunpf]?z##([0-9a-fA-F]{4})(_[0-9a-fA-F]{4})+z#[0-9a-fA-F]+z\$([01]{4})(_[01]{4})+z\$[01]+z\d{1,3}(_\d{3})+[kMGTP]?z[0-9]+[kMGTP]?r<   z[A-Za-z_]\w*r>   z[a-z][\w.]*z[^*/]r   r   r   )rD   r+   r2   r   N))rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   _wsr   r   r   r   rU   r   r   r   rS   rT   rV   r   rR   rW   rX   rY   r   rZ   r[   r\   r   r]   r^   r_   ra   rb   rc   rd   re   rf   r#   r#     ss    D
#CjGI !ILL299$E )C
 eDk4==*hGI *%XgnnjABW&&	2%&*nn623:<-.5.A.AC+\\.9J9JJ0WX#W%5%563g)):6Ax(9(9:FQ(&15v{{Ch/1tzz*d#,h7?NG\\:FLLIB\\3VZZ@vzz*&

3$(&..9/JW,
\ djj&1
 ^^V%

 w(()W&&0W&&/g''(	
k;Fre   r#   c                   n   e Zd ZdZdZdZdgZddgZdgZe	j                  e	j                  z  Zd ej                  d	d
ddd      z   dz   dz    ej                  d	d
dddddddd
      z   dz   Zd ej                  d	d
ddd      z   dz   dz    ej                  d	d
ddddddddd      z   dz   Zdez   dz   ez   dz   ZdZg defdefdej*                  fdefd  eej0                  e      fd! eej0                  e      fd"ej2                  fd#efd$efd%ej8                  f ed&      ej<                  f ed'd()      ej<                  fd*ej>                  fd+ eeeej@                        fd, ee!ejD                        fd- ee#ejD                        fd.ejH                  fd/ejH                  fd0 eeee#e      d1fd2ez   d3z    e e%e&d45      ejN                  e      d1fd6 eejN                  ee#      d7fd2ez   d8z    e e%e&d45      ejN                  e      d9fd2ez   d:z    e e%e&d45      ejN                  e      d;fd<e!fd=e!fd>e#fd?ed@fdAedBfdCejP                  fdDe)fdEez   dFz   efeejT                  dGfgeejV                  dGfgdHe#fdefeejV                  fdIez   dJz    ee#ee      fdKe!dLfdMe#dGfgdKe!dLfdEez   dNz   ez    eee#ejX                        dGfeejX                  dGfgdO ee!e      dGfdPe#fdQefdHe#fdefeefgdRejN                  fdef e-dG      gdAedGf e.dS      gd?edGfdAef e.dS      gdTefdUefdVefdWej^                  dXfdY eej^                  e      fdZefgdAefdWej^                  dXfd[e#d\fd]ej^                  dGf e.d^      gd[e#d\fd]e#dGf e.d^      gd_Z0y`)ar    z<
    For Kotlin source code.

    .. versionadded:: 1.5
    Kotlinzhttp://kotlinlang.org/kotlinz*.ktz*.ktsztext/x-kotlinz@?[_r   r   r   Lmr   r   r   NdPcCfMnMcz]*Zsz\'~!%^&*()+=|\[\]:;,.<>/\?-]*r   z|`z`)zactual|abstract|annotation|companion|const|crossinline|data|enum|expect|external|final|infix|inline|inner|internal|lateinit|noinline|open|operator|override|private|protected|public|sealed|suspend|tailrec|valuer,   r=   \\$r<   r-   z^(#!/.+?)(\n)z/[*].*?[*]/zas\?z(as|break|by|catch|constructor|continue|do|dynamic|else|finally|get|for|if|init|[!]*in|[!]*is|out|reified|return|set|super|this|throw|try|typealias|typeof|vararg|when|where|while)\bzit\b)zBoolean?zByte?zChar?zDouble?zFloat?zInt?zLong?zShort?zString?zAny?zUnit?)BooleanByterZ   r@  r]   Intr  Shortr   AnyUnitr   r  r3   z(package|import)(\s+)(\S+)z(\?\.)((?:[^\W\d]|\$)[\w$]*)r9   r/   z[^\W\d][\w.]+@z(object)(\s+)(:)(\s+)r+   z((?:(?:z(|fun)\s+)*)(class|interface|object)(\s+)	modifiers)statez(var|val)(\s+)(\()destructuring_assignmentz)\s+)*)(var|val)(\s+)variablez)\s+)*)(fun)(\s+)functionz::|!!|\?[:.]r:   r;   r@   r5   r6   r7   z'\\.'|'[^\\]'z?[0-9](\.[0-9]*)?([eE][+-][0-9]+)?[flFL]?|0[xX][0-9a-fA-F]+[Ll]?r   z((\?[^.])?)r>   r  z	(:)(\s+)(r   r   generic\)z(\.)z(>)(\s*)r  z(reified|out|in)\bz\w+string_commonrA   rB   rC   r  interpolationz	(\$)(\w+)z[^\\"$]+r  scoper  rD   )rD   r+   r"  r!  r#  r$  r  r7   r5   r&  r'  r(  N)1rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   r  r  kt_namekt_space_namekt_idr  r   r   r  r   r   rS   rT   r   r   r  r   rW   rY   rX   r   r[   r   rV   r   r   rR   rZ   r   rb   rP  rU   r
   r   r  rc   rd   re   rf   r    r    F  sG    D
"CjG!I !ILL299$ED$dDAACG S[[tT4tT4!%t--/34G kckk$dD$GG#M S[[tT4tT4!%tT33 33M
 'MD =047EAI;
*%;
 Z ;
 V]]#	;

 J;
 XgnnjAB;
 x
CD;
 W../;
 g;
FGNP;
 dll#;
"  D EFMllT#;
&  >FKMNUll\';
, $W%5%56-;
0 +HWj$..,YZ1;
4 -hx.PQ5;
6 +H[$..,QR7;
: /;;
> /?;
B &x[R\']_fgC;
F )#&QQeD4g6I6I:VX_aG;
L #HW-@-@*k$Z')M;
P )#&>>eD4g6I6I:VXbdQ;
V )#&::eD4g6I6I:VXbdW;
\ h'];
^ %h/_;
b K(c;
f V/0g;
h 68$i;
j v{{+k;
n'(.0o;
t 5[>)40u;
z DJJ'
 DMM6*
 ;Z DMM"E!C'+z4)PQ8Y'K(%
 8Y'5[7"U*HT;,VX^_DMM6*
 (8Z8&A;"G,;Z DM
 W(()Z FO
 66"O$

 VV$6NO$
 fVFOfoo78FOOT:;&!
 6Nfoo7K)FOOV,FO
 K)K(FO
kzFre   r    c                      e Zd ZdZdZdZdgZdgZdgZe	j                  e	j                  z  Zd e ee      ej"                  ee      fdefd	 eej*                  e      fd
ej,                  fdej.                  fdefdej2                  fdej4                  fd eej6                  e      fdej8                  fd eej2                  e      dfd eej6                  e      dfdedfdedfdej<                  fdej*                  fdej>                  fdefdefde jB                  fde jD                  fde jF                  fd efgd!ejH                  d"fgd#ej6                  d"fgd$ed"fd%ed"fd&efgd'Z%y())r!   z;
    For Xtend source code.

    .. versionadded:: 1.6
    Xtendzhttps://www.eclipse.org/xtend/xtendz*.xtendztext/x-xtend=^(\s*(?:[a-zA-Z_][\w.\[\]]*\s+)+?)([a-zA-Z_$][\w$]*)(\s*)(\()r,   r-   r.   r#  z(assert|break|case|catch|continue|default|do|else|finally|for|if|goto|instanceof|new|return|switch|this|throw|try|while|IF|ELSE|ELSEIF|ENDIF|FOR|ENDFOR|SEPARATOR|BEFORE|AFTER)\bz(def|abstract|const|enum|extends|final|implements|native|private|protected|public|static|strictfp|super|synchronized|throws|transient|volatile)\br0   r1   r3   r3  r+   r4  r2   z(''')r	  z(\u00BB)r5  r6  r8  r$  [~^*!%&\[\](){}<>\|+=:;,./?-]r%  r:  r;  r<   r<  r>   r?   z'''z\u00ABr(  )rD   r+   r2   r	  N&rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   r   r   r   r   rU   r   r   r   rS   rT   rV   r   rR   rW   rX   rY   r   r@  r\   r   r]   r^   ra   rb   rc   rd   re   rf   r!   r!     s    D
*CiGI ILL299$E
 eDk4==*hGI *%XgnnjAB7,,- $..1G &'.':':< G\\):):J GH#W%5%56&1D1Dj(Qx(9(9:FQvz*&*-(&--8(&--8tzz*t$-x85v||D

+&..)JE#
J djj&1
 4>>62
 VV$'6N
W0Fre   r!   c                      e Zd ZdZdZdZdgZdgZdgZe	j                  e	j                  z  Zdefdefd	ej                  fd
ej"                  fdefdef ed       ed       ed       ed       ed      dej*                  fdej,                  fdej.                  fdefd eej4                  ee      fdefdefdefgdefgdej:                  fgdej<                  fgdefgdefdefd efgd!Z y")#r$   z?
    For Pig Latin source code.

    .. versionadded:: 2.0
    Pigzhttps://pig.apache.org/pigz*.pigz
text/x-pigr=   z--.*z/\*[\w\W]*?\*/r  rC   z1\'(?:\\[ntbrf\\\']|\\u[0-9a-f]{4}|[^\'\\\n\r])*\'r   typesr  punctr   z[0-9]*\.[0-9]+(e[0-9]+)?[fd]?z0x[0-9a-f]+r;  r<   z([a-z_]\w*)(\s*)(\()z[()#:]z[^(:#\'")\s]+z\S+\s+a  (assert|and|any|all|arrange|as|asc|bag|by|cache|CASE|cat|cd|cp|%declare|%default|define|dense|desc|describe|distinct|du|dump|eval|exex|explain|filter|flatten|foreach|full|generate|group|help|if|illustrate|import|inner|input|into|is|join|kill|left|limit|load|ls|map|matches|mkdir|mv|not|null|onschema|or|order|outer|output|parallel|pig|pwd|quit|register|returns|right|rm|rmf|rollup|run|sample|set|ship|split|stderr|stdin|stdout|store|stream|through|union|using|void)\bz(AVG|BinStorage|cogroup|CONCAT|copyFromLocal|copyToLocal|COUNT|cross|DIFF|MAX|MIN|PigDump|PigStorage|SIZE|SUM|TextLoader|TOKENIZE)\bzR(bytearray|BIGINTEGER|BIGDECIMAL|chararray|datetime|double|float|int|long|tuple)\bz[;(){}\[\]][#=,./%+\-?] (eq|gt|lt|gte|lte|neq|matches)\b(==|<=|<|>=|>|!=))rD   r   r  r5  r6  r   N)!rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   
IGNORECASErQ   r   r   rT   r   r  r   r   r   r]   r^   ra   r   r   rU   r   r   r  rW   r   rc   rd   re   rf   r$   r$   $  st    D
#CgG	IILL2==(E Z g 1 12V]]#DMA6JJGJGK -v||<VZZ(&..)J$dmmZ=?t$)
.3 5<=	
!\\+
"#*<<1

 [)
 h'0(;!8,
[2Fre   r$   c                       e Zd ZdZdZdZdgZdgZdefde	fde
fd	e
fd
e
j                  fdefd eej                  e      dfd eej                  e      fdej                  fd eej"                  e      dfd eej"                  e      dfd eej"                  e      dfdej$                  fdefd eej&                  e      fdej&                  fd eej(                  e      fdej,                  fdej.                  fdej0                  fdej2                  j4                  fdej2                  fd efd!ej6                  fd"e ed#d$      fd%e ed#d&      fd'e ed#d(      fd)ej<                  fgd ej(                  d*fgd+ej                  d*fgd,ej>                  d*fgd ej@                  d*fgd-efd.efgd/ejB                  fgd"ed*f e"d0      d1efgd%ejF                  d*f e"d0      gd'ed*f e"d0      gd2e
fd3e
fd4e
fgd5Z$y6)7r%   z:
    For Golo source code.

    .. versionadded:: 2.0
    Golozhttp://golo-lang.org/z*.gologolor,   z#.*$z5(\^|\.\.\.|:|\?:|->|==|!=|=|\+|\*|%|/|<=|<|>=|>|=|\.)z(?<=[^-])(-)(?=[^-])z2(?<=[^`])(is|isnt|and|or|not|oftype|in|orIfNull)\bz
[]{}|(),[]z(module|import)(\s+)modnamez\b([a-zA-Z_][\w$.]*)(::)z+\b([a-zA-Z_][\w$]*(?:\.[a-zA-Z_][\w$]*)+)\bz(let|var)(\s+)varnamez(struct)(\s+)
structnamez(function)(\s+)funcnamez(null|true|false)\bz(augment|pimp|if|else|case|match|return|case|when|then|otherwise|while|for|foreach|try|catch|finally|throw|local|continue|break)\bz%(map|array|list|set|vector|tuple)(\[)z6(print|println|readln|raise|fun|asInterfaceInstance)\bz(`?[a-zA-Z_][\w$]*)(\()z&-?[\d_]*\.[\d_]*([eE][+-]?\d[\d_]*)?F?z	0[0-7]+j?z0[xX][a-fA-F0-9]+z-?\d[\d_]*Lz
-?\d[\d_]*z`?[a-zA-Z_][\w$]*z@[a-zA-Z_][\w$.]*r@   stringescapetriplestringr6   doublestringr  singlestringz----((.|\n)*?)----r>   z[a-zA-Z_][\w$.]*\*?z`?[\w.]+\*?z[^\\\'"\n]+z[\'"\\]zY\\([\\abfnrtv"\']|\n|N\{.*?\}|u[a-fA-F0-9]{4}|U[a-fA-F0-9]{8}|x[a-fA-F0-9]{2}|[0-7]{1,3})r7   r<   r7  r8  r9  )rD   rA  r>  r@  r?  r7   rB  rC  rD  rE  r   N)%rE   rF   rG   rH   rI   rJ   rL   rK   r   r   r   Wordr   r   r   rX   r   rR   rY   r  rU   r   r]   r`   r^   ra   r  rV   r   r	   rL  rb   rP  r  r   r@  rc   rd   re   rf   r%   r%   h  s    D
!C
IhG *%gE$h/BHMMRK($**J7 )8DNNK+PQ;T^^L,,j9 ,,j9  ,,j9 $W%5%56# %,- 6{35()-7'46 7E6::&!6::.V^^001FNN+!4(!4>>2VXnnEF68NNCD68NNCD"FJJ/q:
z "4==&9
 $T^^V<
 TZZ0
 "4==&9
 V$ 

<=C]]L

 VV$HFO
 6==&)H

 66"H

 h'0(;!8,
}cFre   r%   c                      e Zd ZdZdZdZddgZdgZdZdez  Z	d	ez  Z
d
e
z  Zde
z  Zde
z  Zi dg dedfdej                   dfdej"                  dfdefdedfe	efdej                   fdez  ej*                  fdez  ej,                  fdez  ej.                  fdez  ej2                  fdez  ej6                  dfdez  ej6                  fdez  ej6                  d fd!ez  ej6                  d"fd#ez  ej6                  d$fd%ez  ej6                  d&fd'ez  ej6                  d(fd)ez  ej6                  d*fd+ez  ej6                  d,fd-ez  ej6                  dfd.ez  ej6                  d/fd0ez  ej6                  d1fd2ez  ej6                  d3f ed4e5      ej6                  fd6ez  ej6                  d7fd8ez  ej6                  d9fd:ez  ej6                  d;fd<ez  ej6                  d=f ed>e5      ej6                  dfd?ez  ej6                  d@fdAez  ej6                  dBfdCdej                   dfdDej:                  fdEej                   fgddej"                  dfdFej:                  fdGej"                  fgdHdIefdej                   dCf ed      dJez   eej@                  ee      feejB                  fgddedKfdLez  ej6                  dMf ed      gdNdIefdOez  ej6                  df ed      eejB                  dPfgdQdIefdOez  ej6                  df ed       e"dP      gdRdej                   dCf ed      eejB                  fgd dSez  edf ed,      gd" ed      dTedUedV eejF                  ejH                  ejJ                  e      dfdWedUedX eejH                  ejJ                        dfgd7 ed      dYedZfdTed[edV eejF                  ejH                  ejJ                  e      dfdWed[edX eejH                  ejJ                        dfgd@ ed      dYefdTedUed\ eejF                  ejH                  ejJ                  e      dfd]e
z  ejF                  df e"d      gd^ ed      dYefdTed[edV eejF                  ejH                  ejJ                  e      dfd]e
z  ejF                  df e"d      gd_d`edf e"d@      gd3e	efdae
z  e&dbf e"dc      gd, ed      dWedUedX eejH                  ejN                        dfgdddeez  ej6                  dff ed      dWedge
dhediedX	 eejH                  ejJ                  ej2                  jP                        dfg ed      dWedge
djediedk	 eejH                  ejJ                  ejR                  e      dlfg ed      eej@                  dfg ed      dmez   eejR                  e      dlfgdnez  ej6                  df ed      g ed      dWedge
dhediedX	 eejH                  ejJ                  ej2                  jJ                        dfgdIefdLez  ej6                  df ed      eej@                  fg ed      eej2                  dfg ed      doez  edfdpez  edqfdrez  edsfgdtZ*du Z+yv)wr&   z>
    For Jasmin assembly code.

    .. versionadded:: 2.0
    Jasminzhttp://jasmin.sourceforge.net/jasminjasminxtz*.jz \n\t\rz	(?:[%s]+)z%s:=z
(?=[%s]|$)z[^%s]+z(?:[^%s.;\[/]+)r
   r<   r>   r  )r>   rY  r6   r7   r   r  labelz;.*z(\$[-+])?0x-?[\da-fA-F]+%sz(\$[-+]|\+)?-?\d+%szG-?(\d+\.\d*|\.\d+)([eE][-+]?\d+)?[fFdD]?[\x00-\x08\x0b\x0c\x0e-\x1f]*%sz\$%sz\.annotation%sr   a!  (\.attribute|\.bytecode|\.debug|\.deprecated|\.enclosing|\.interface|\.line|\.signature|\.source|\.stack|\.var|abstract|annotation|bridge|class|default|enum|field|final|fpstrict|interface|native|private|protected|public|signature|static|synchronized|synthetic|transient|varargs|volatile)%sz	\.catch%szcaught-exceptionzb(\.class|\.implements|\.inner|\.super|inner|invisible|invisibleparam|outer|visible|visibleparam)%sclass/convert-dotsz	\.field%s)descriptor/convert-dotsfieldz(\.end|\.limit|use)%sno-verificationz
\.method%smethodz\.set%sr4   z
\.throws%s	exceptionz(from|offset|to|using)%szis%s)rM  r4   z(locals|stack)%sverificationzmethod%szenclosing-method)aaloadaastoreaconst_nullaloadaload_0aload_1aload_2aload_3aload_wareturnarraylengthastoreastore_0astore_1astore_2astore_3astore_wathrowbaloadbastorebipush
breakpointcaloadcastored2fd2id2ldadddaloaddastoredcmpgdcmpldconst_0dconst_1ddivdloaddload_0dload_1dload_2dload_3dload_wdmuldnegdremdreturndstoredstore_0dstore_1dstore_2dstore_3dstore_wdsubdupdup2dup2_x1dup2_x2dup_x1dup_x2f2df2if2lfaddfaloadfastorefcmpgfcmplfconst_0fconst_1fconst_2fdivfloadfload_0fload_1fload_2fload_3fload_wfmulfnegfremfreturnfstorefstore_0fstore_1fstore_2fstore_3fstore_wfsubi2bi2ci2di2fi2li2siaddialoadiandiastoreiconst_0iconst_1iconst_2iconst_3iconst_4iconst_5	iconst_m1idiviinciinc_wiloadiload_0iload_1iload_2iload_3iload_wimulinegint2byteint2char	int2shortioriremireturnishlishristoreistore_0istore_1istore_2istore_3istore_wisubiushrixorl2dl2fl2iladdlaloadlandlastorelcmplconst_0lconst_1ldc2_wldivlloadlload_0lload_1lload_2lload_3lload_wlmullneglookupswitchlorlremlreturnlshllshrlstorelstore_0lstore_1lstore_2lstore_3lstore_wlsublushrlxormonitorentermonitorexitnopr  pop2retret_wr   saloadsastoresipushswapr  z0(anewarray|checkcast|instanceof|ldc|ldc_w|new)%sclass/no-dotsz=invoke(dynamic|interface|nonvirtual|special|static|virtual)%s
invocationz(getfield|putfield)%s)descriptor/no-dotsrN  z(getstatic|putstatic)%s)r  static)gotogoto_w	if_acmpeq	if_acmpne	if_icmpeq	if_icmpge	if_icmpgt	if_icmple	if_icmplt	if_icmpneifeqifgeifgtifleifltifne	ifnonnullifnulljsrjsr_wz(multianewarray|newarray)%srM  ztableswitch%stablerY  z\\u[\da-fA-F]{4}z[^'\\]+z0\\([nrtfb"\'\\]|u[\da-fA-F]{4}|[0-3]?[0-7]{1,2})z[^"\\]+rD   z\n+z(%s)([ \t\r]*)(:))r>   annotation-bodyz	default%s)r>   annotation-defaultr  z\.end%s)annotation-itemsr  r  r  zall%sz(L)((?:z[/.])*)(z)(;)z((?:r   z\[+)r>   r  z/)*)(z?)(;)z
[^%s\[)L]+r  descriptors/convert-dotsr%  z(?=[^%s]*\())r>   r  )r>   rL  rN  zstatic%s)r>   r  z	[/.](?=[^z]*[/.]))*)(z[/.])?(z(]*[/.]))*)(z)(\())r>   rM  r   rM  z(%s)(\()z(locals|method|stack)%sz8(Double|Float|Integer|Long|Null|Top|UninitializedThis)%szObject%s)r>   r  zUninitialized%s)r>   rK  )r  rK  rP  rO  r  r  r4   rR  c                    d}t        j                  d| t         j                        r/|dz  }t        j                  d| t         j                        r|dz  }t        j                  d| t         j                        r|dz  }t        |d      S )	Nr   z^\s*\.class\sg      ?z^\s*[a-z]+_[a-z]+\bg333333?za^\s*\.(attribute|bytecode|debug|deprecated|enclosing|inner|interface|limit|set|signature|stack)\bg333333?g      ?)rN   searchrO   r  )r   scores     rf   r>  zJasminLexer.analyse_text  sv    99%tR\\:SLEyy/r||D99 EFJ\\# SLE5#re   N),rE   rF   rG   rH   rI   rJ   rK   rL   _whitespacer  
_separator_break_name_unqualified_namer   r   rS   r@  r   r   r   r^   ra   r]   r   rP  r   rQ  r   r  r   r   r\   rN  r
   rW   rX   rb   r   	ExceptionInstancerU   rc   r>  rd   re   rf   r&   r&     sV
    D
*C$GIK

$C;&JZ'F
"E*Z7g Q
J'Q
6=="34Q
 6==(+Q
 ;	Q

 ;(Q
 *Q
 W^^$Q
 +V3VZZ@Q
 $f,fnn=Q
0289:@,,HQ
 u_dmm,Q
 ')9)9<HQ
 E HN	N
 !Q
, F"G$4$46HI-Q
.=?EF35/Q
4 F"G$4$4135Q
8 &.0@0@ 9Q
< V#W%5%5x@=Q
> & '"2"2E:?Q
@ V#W%5%5{CAQ
B )6173C3CWMCQ
D vw///1EQ
H !6)7+;+;^LIQ
J 6!7#3#35GHKQ
P  -, 6<-=, ?F>N>N-PQQ
~ A6I0Q
B"$*+,3,<,<CQ
H &.0@0@,.IQ
L (&0'2B2B-/MQ
P  * 39	:
 w(QQ
\ ,f4g6F6F&(]Q
` &(8(8'BaQ
gf 	6==&) &--0'
ggp 	6==&)@]]'	
qg| 	Z 6=='*I!E)djj*k:<FLL!
}gL 	J ;<F"G$4$4+-I	
MgX 	Z & '"2"2F;IFLL"LM	
Ygd 	Z & '"2"2F;I>?	
egp 	6=='*IFLL!
qgz 	0K 
{gB 	I+<eDgllDNNDJJL &7>dnndjj16;
CgR 	I["@A(95AgllDNNDJJL #4U;dnndjj16;
Sgd 	"I[!,=uEgllDNNDJJL Z'v>FO$
egv 	I[!(95AgllDNNDJJL Z'v>FO
wgH 	#K(-.%
IgP 	*z)41GH23
QgZ 	I%6>dnndnn5v?
[gd 	6!7#3#35GHI->Gdnndjj$--2H2HI
egv I->Gdnndjj$--M)*
 IDJJ'

 I5 (4==+"F)*
 (&0'2B2BFKI

 I->Gdnndjj$--2E2EFP
 Z F"G$4$4f=IDJJ	
 IDMM6*

 IHf&6!7,EF&('3DE
AgFR
re   r&   c                      e Zd ZdZdZdZdgZdgZdgZe	j                  e	j                  z  Zd e ee      ej"                  ee      fdefd	 eej*                  e      fd
ej,                  fdej.                  fdefdej2                  fdej4                  fd eej6                  e      fdej8                  fd eej2                  e      dfd eej6                  e      dfdej<                  fdej*                  fdej>                  fdefdefde jB                  fde jD                  fde jF                  fdefgdejH                  dfgd ej6                  dfgd!Z%y")#r'   z:
    For SARL source code.

    .. versionadded:: 2.4
    SARLzhttp://www.sarl.iosarlz*.sarlztext/x-sarlr/  r,   r-   r.   r#  z(as|break|case|catch|default|do|else|extends|extension|finally|fires|for|if|implements|instanceof|new|on|requires|return|super|switch|throw|throws|try|typeof|uses|while|with)\bz(abstract|def|dispatch|final|native|override|private|protected|public|static|strictfp|synchronized|transient|val|var|volatile)\br0   r1   z+(false|it|null|occurrence|this|true|void)\bzY(agent|annotation|artifact|behavior|capacity|class|enum|event|interface|skill|space)(\s+)r+   r4  r2   r5  r6  r8  r$  r0  r%  r:  r;  r<   r<  r>   r?   )rD   r+   r2   Nr1  rd   re   rf   r'   r'     s    D
ChG
IILL299$E
 eDk4==*hGI *%XgnnjAB7,,- $..1B R  " G\\):):J GH;W=M=MN,-5g6I6I:-V x(9(9:FQ(&--8(&--8tzz*t$-x85v||D

+&..)JC"
H djj&1
 4>>62
O*Fre   r'   )-rH   rN   pygments.lexerr   r   r   r   r   r   r	   r
   r   pygments.tokenr   r   r   r   r   r   r   r   r   pygments.utilr   pygmentsr   r  __all__r   r"   r   r   r   r   r   r   r   r  r#   r    r!   r$   r%   r&   r'   rd   re   rf   <module>r3     s-   
# # #$ $ $ ) %@Y
 Yx%*9 %*P] ]@	L
 L^= =$K0* K0\}
 }@J: JZ
H 
H,: ,^M* M`Y* Yx? ?DAz AHo
 odF* FR9
 9re   