o
    Ñ­jè ã                   @   s˜  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	„ d	eƒZG d
d„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZ G dd„ deƒZ!G dd„ deƒZ"G dd„ deƒZ#G dd„ de#ƒZ$G dd„ deƒZ%G dd„ deƒZ&G dd„ deƒZ'G d d!„ d!eƒZ(G d"d#„ d#eƒZ)G d$d%„ d%eƒZ*G d&d'„ d'eƒZ+G d(d)„ d)eƒZ,dS )*zÐ
    pygments.lexers.jvm
    ~~~~~~~~~~~~~~~~~~~

    Pygments lexers for JVM languages.

    :copyright: Copyright 2006-present 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                   @   sê  e Zd ZdZdZdZdgZdgZdgZdZ	e
je
jB 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jfdejfdejfdeejeƒdfdejfdejd	fdejdfdeejeƒdfdeej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"j#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fgd,e)fd#ej*d-fgd,e)fd#ej*d-fgd#ed-fgd.ejd-fgd/ed-fdefe+dƒgd0efd1efd2efd3efded-fgd4œZ,d5S )6r   z
    For Java source code.
    ÚJavaz(https://www.oracle.com/technetwork/java/Újavaz*.javaztext/x-javaÚ zJ(^\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)\bzF((?:(?:[^\W\d]|\$)[\w.\[\]$<>?]*\s+)+?)((?:[^\W\d]|\$)[\w$]*)(\s*)(\()ú@[^\W\d][\w.]*zê(abstract|const|enum|exports|extends|final|implements|native|non-sealed|open|opens|permits|private|protected|provides|public|requires|sealed|static|strictfp|super|synchronized|throws|to|transient|transitive|uses|volatile|with|yield)\bú6(boolean|byte|char|double|float|int|long|short|void)\bú(package)(\s+)Úimportú(true|false|null)\bz(class|interface)\bz
(module)\bÚmodulez
(var)(\s+)Úvarz&(import(?:\s+(?:static|module))?)(\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*   r3   r4   r1   r5   r7   N)-Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚaliasesÚ	filenamesÚ	mimetypesÚversion_addedÚ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© re   re   úP/var/www/html/CropPilot/venv/lib/python3.10/site-packages/pygments/lexers/jvm.pyr      sž    ÿþýþÿ

ÿÿ
ÿùÌ7
þ
þÿ
ÿýû
¶r   c                   @   sN   e Zd ZdZdZdZdgZdgZdgZdZ	h d£Z
h d	£Zh d
£Zdd„ ZdS )r!   z"
    For AspectJ source code.
    ÚAspectJzhttp://www.eclipse.org/aspectj/Úaspectjz*.ajztext/x-aspectjú1.6>+   Ú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                 c   s¦   � t  | |¡D ]I\}}}|tu r|| jv r|t|fV  q|tju r9|| jv r9|t|d d… fV  |t|d fV  q|tju rJ|| j	v rJ|t|fV  q|||fV  qd S )Néÿÿÿÿ)
r   Úget_tokens_unprocessedr   Úaj_keywordsr   r]   Úaj_inter_typer   rW   Úaj_inter_type_annotation)ÚselfÚtextÚindexÚtokenÚvaluere   re   rf   rŸ   –   s   €÷z#AspectJLexer.get_tokens_unprocessedN)rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   r    r¡   r¢   rŸ   re   re   re   rf   r!   |   s    r!   c                   @   s  e Zd ZdZdZdZdgZdgZdgZdZ	e
je
jB Zde d	d
¡ d Zde ddddd¡ d Zde dd¡ d Zde› d�Zd e dd¡¡Ze› d�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#d0ƒe#d1ƒe#d2ƒe#d3ƒe#d4ƒe#d5ƒe#d6ƒe#d7ƒe#d8ƒe#d9ƒe#d:ƒg“d%d;e$fg“d&d<e%j&fd=e%j'd>fg“d'd?e%j(fg“d(d@e)e*e$ƒdAfg“d)dBe)e*e$e*e$ƒdCfdDe)e*e$ƒdCfg“d*e+e"dEdEdF�e*fdGe*fg“d+dHe› �e,j-fg“d,dIe)e.e$e*e$ƒfg“d-dJe› dKe› dL�e)e*e$e,j/ƒfdMe› dKe› dL�e)e*e$e,j0ƒfdNe› dKe› dL�e)e*e$e*e$e,j0ƒfdOe› dKe› dL�e)e*e$e,j0ƒfdPe*j1fdQe› dKe› dL�e)e*e$e*e$e,j2ƒfdRe)e*e$ƒdSfdTe› d�e)e*e$e,j0ƒfdTe› dL�e)e*e$e,ƒfg	“d.dUe› de› dVe› dW�e)e*e$e,j0ƒfg“d/dXe)e*e$ƒfg“d0dYe)e*e$e*ƒfdZe› de› �e)e*e$e,j0ƒfdZe› de› dLe› �e)e*e$e,j2ƒfg“d9d[e.fd\e.fg“d7e+e dEdEdF�e*fg“d8dKe› d]�e)e3e$ƒfd^e3fe+e!ƒe3fd_e› d`e› d�e3fg“d1dae,j4j5fdbe*j6fdce7j8fdde7j9fdee7j9fdfe7j9fdge7j:j;fdhe7j:fdie<fdje<fdke)e<j=e<j>e<j=ƒfdle<j=fg“i d2dme<dnfdoe<dpfdqe<fg“d3dre› ds�e<j?fg“d4dte)e.e*ƒfg“d5due› de› dv�e*fdwe*fg“d6dxe.fdye.fg“d:ee,j0fee,fg“d>dze%j'fd=e%j'd{fd|e%j'd}fd~e%j'fg“dAde@d}fe#d&ƒd€e*fe#d�ƒd‚e.dƒfg“dƒe#d%ƒe#d&ƒd€e*fd„e3fd…e.d}fd†e.fd‡e.fe#d�ƒg“dCde@d}fe#d&ƒe#d�ƒd‚e.dˆfg“dˆe#d%ƒe#d&ƒd„e3fd…e.d}fd†e.fe#d�ƒg“dSd‰e@d}fdŠe.d}fe#d&ƒe#d�ƒg“dnd‹e<d}fdŒe<fe#d�ƒg“dpdŒe<d}fe#d�ƒg“dŽd…e<jAd}fd‚e.d�fe#d$ƒg“d�d‚e.d{fd…e.d}fe#d$ƒg“d�ee,j0fdKe› d��e)e,j2e.ƒfd‘e.fee,fd’e$fg“¥d�d“e<fd”e<j>fd•e› d�e)e<jAe,ƒfd–e<jAdŽfd—e<fgi¥ZBd˜S )™r   z 
    For Scala source code.
    ÚScalazhttp://www.scala-lang.orgÚscalaz*.scalaztext/x-scalar)   z[!#%&*\-\/:?@^ÚSmÚSoú]z[_\$ÚLlÚLuÚLoÚNlÚLtú[z(?:z|[0-9])z(?:{}|[0-9])ú\$ú+Ú*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´   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)rÓ   z(\()(\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*)(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
{2,})(\s+)z	/(?![/*])z(?<!z)(!|&&|\|\|)(?!z\b(this|super)\br2   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('z)(?!')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)(\.)z\.r+   z[^"$\\]+z\$\$z(\$)(ú\$\{z\\.N)CrE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   ÚuniÚcombineÚopcharÚletterÚupperLetterÚletterOrDigitÚformatÚreplaceÚletterOrDigitNoDollarSignÚalphaIdÚsimpleInterpolatedVariableÚidrestÚidUpperÚplainidÚbackQuotedIdÚanyIdÚnotStartOfCommentÚendOfLineMaybeWithCommentrï   rð   Ústorage_modifiersr   r   r   rT   rU   ÚHashbangr   r   r
   r   rW   r   rV   rc   rS   rY   r   ÚBuiltinÚPseudorZ   r   r_   r^   rb   ÚLongr   r[   ÚEscapeÚSymbolr   ÚInterpolrd   re   re   re   rf   r   £   sž   
êÿÿå
þâ"ÿÞ%ÿÛ(ÿýØ-ÿúÓ6ÿÊ9ýÇ>ÿÿÿÿÿ
ÿ

ÿñÂPÿÿÿþÿ°Uÿ«X
ÿÿÿú¨aþŸeÿ›h
ü˜n
ÿ
ó’}ýƒ ÿ �ý ÿ �ú 	ÿÿû �÷ ü �ï þ �é 

ü �ã #û �Ý *ø �Ö 4ü �Ì :ú �Æ Bü �¾ Hý �¸ Mþ �³ Q
ý �¯ Vý �ª ]û �£ d

ÿ
ú �
œr   c                   @   sž  e Zd ZdZdZdgZg d¢ZdgZdZdZ	e
je
jB 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jfdeejeejƒfdejfdeejeƒfdejfdeejeejƒfdeejeejƒ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!j#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%d-S ).r   z
    For Gosu source code.
    ÚGosuÚgosu)z*.gsz*.gsxz*.gspz*.varkztext/x-gosuúhttps://gosu-lang.github.ioú1.5ú9^(\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)\br0   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   rJ   rN   rO   rP   rQ   rR   r   r   r   r   rV   r   r   r   rT   rU   rW   r   rS   rX   rY   rZ   rc   r   r\   r   r^   rb   r   rd   re   re   re   rf   r   À  sŠ    ýýþÿÿÿ
ÿ
ÿÝ&ÿù
þýü
Èr   c                   @   s6   e Zd ZdZdZdgZdgZdgZdZdZ	dd	„ Z
d
S )r   z
    For Gosu templates.
    zGosu TemplateÚgstz*.gstztext/x-gosu-templater   r!  c                 c   s$   � t ƒ }dg}| ||¡E d H  d S )Nr)  )r   rŸ   )r£   r¤   ÚlexerÚstackre   re   rf   rŸ     s   €z(GosuTemplateLexer.get_tokens_unprocessedN)rE   rF   rG   rH   rI   rK   rL   rM   rJ   rN   rŸ   re   re   re   rf   r     s    r   c                   @   sp  e Zd ZdZdZdZdgZddgZdgZdZ	e
je
jB 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jeeƒfdejfdejfdej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 j!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eej#ƒfd!ej$fd"efd#efd$e%j&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*d,d-„ Z+d.S )/r   z!
    For Groovy source code.
    ÚGroovyzhttps://groovy-lang.org/Úgroovyz*.groovyz*.gradleztext/x-groovyr!  z#!(.*?)$Ú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)\br0   r2   ú(class|interface)(\s+)r*   ú(import)(\s+)r1   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   r/  r*   r1   c                 C   s
   t | dƒS )Nr.  r   )r¤   re   re   rf   Úanalyse_textj  s   
zGroovyLexer.analyse_textN),rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   r   ÚPreprocr	   r   r   rT   rU   r   r   r   r   rV   r   rW   rS   rX   rY   rZ   r   ÚDoubler[   r\   r]   r   r^   r_   rb   rc   rd   r:  re   re   re   rf   r   !  sp    
ýþùþÿÿÕ
.ÿ
ÿÊ;r   c                   @   sR  e Zd ZdZdZdZdgZddgZdgZd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‘d0ejf‘d1ejf‘d2ef‘d3ejf‘d4ef‘d5ejf‘d6ef‘d7ejf‘d8ejf‘d9ejf‘d:ejf‘d;ejf‘d<ejf‘d=ejf‘d>ejf‘d?ef‘d@e f‘dAe f‘dBef‘dCej!f‘dDef‘dEœZ"dFS )Gr   z`
    For Ioke (a strongly typed, dynamic,
    prototype based programming language) source.
    ÚIokezhttps://ioke.org/z*.ikÚiokeÚikztext/x-iokesrcz1.4zS(\\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!:?]*)rA  r¤   rD  r@  rB  rC  rE  rD   N)#rE   rF   rG   rH   rI   rJ   rL   rK   rM   rN   r   r  r   r   ÚDocÚRegexr   r   r  ÚOtherr   ÚEntityÚVariabler   ÚReservedrZ   r  rV   r   r_   r^   rb   r   rc   rd   re   re   re   rf   r   n  s,   ÿýý
ýþ
ü
üýÿþûú
	÷

öóòñþîéèåÿâ"þÞ'Ù*þÖ/Ñ2Î5ÿË9ýÇ?ÁBÿ¾D¼Gþ¹Lý´Rþ®W©Z	÷¦fþšk•l”m“o‘rúŽyÿ‡}ƒ  �ÿ  �ü
Ôr   c                   @   sþ   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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 ejfdejfde ejfdefee
dd�efeedd�ejfeedd�ejfde ejfeej fde!fd e!fd!e!fgiZ"d"S )#r   z(
    Lexer for Clojure source code.
    ÚClojurezhttp://clojure.org/ÚclojureÚcljz*.cljz*.cljcztext/x-clojurezapplication/x-clojurez0.11)
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-letr1   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ÚlongrT  Ú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+rF  z0x-?[abcdef\d]+r2  ú'z\\(.|[a-z]+)z::?#?z~@|[`\'#^~&@]ú ©rø   z(?<=\()z(\[|\])z(\{|\})z(\(|\))N)#rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   Úspecial_formsræ   ÚbuiltinsÚ
valid_namer   rT   r   r   r   r^   rb   r_   r   r  r[   r   r
   r   rS   r   r  rV   rK  r   rd   re   re   re   rf   r   -  sF    9Ìÿr   c                   @   s2   e Zd ZdZdZdZddgZdgZddgZd	Z	d
S )r   z.
    Lexer for ClojureScript source code.
    ÚClojureScriptz http://clojure.org/clojurescriptÚclojurescriptÚcljsz*.cljsztext/x-clojurescriptzapplication/x-clojurescriptú2.0N)
rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   re   re   re   rf   r   ¹  s    r   c                   @   sü   e Zd ZdZejejB 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jfdejfdeeejƒfdejfdefdefdej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 dS )Ú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)\br2   z(template)(\s+)Útemplater1  r1   r2  r3  r4  r5  z[a-zA-Z_\$]\w*z3(isa|[.]{3}|[.]{2}|[=#!<>+-/%&;,.\*\\\(\)\[\]\{\}])r%  r7  r8  r<   r9  r>   r?   )rD   r  r1   N)!rE   rF   rG   rH   rO   rP   rQ   rR   r   r   r   r   rV   r   r   r   rT   rU   rW   r   rS   rZ   rY   r   r<  r\   r]   r   r^   r_   rb   rc   rd   re   re   re   rf   r  Å  sB    ýÿç
ÿ
ÿ
ár  c                   @   s’  e Zd ZdZdZdZdgZdgZdgZdZ	e
je
jB 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jfdefdejfdej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fdej fdeeej!ƒfdej"fdefde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d'e#j'fd(efgd)ej(d*fgd+ejd*fgd,ejfdejd-fd.ejd*fd/ejfgd0œZ)d1S )2r"   z!
    For Ceylon source code.
    ÚCeylonzhttp://ceylon-lang.org/Úceylonz*.ceylonztext/x-ceylonri   z(?:\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+)r2   z#(class|interface|object|alias)(\s+)r*   r1  r1   r2  z%'\\.'|'[^\\]'|'\\\{#[0-9a-fA-F]{4}\}'z(\.)([a-z_]\w*)r5  r9  r6  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*   r1   rõ   N)*rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   Ú_wsr   r   r   r   rV   r   r   r   rT   rU   rW   r   rS   rX   rY   rZ   r   r[   r\   r]   r   r^   r_   r`   rb   rc   rd   re   re   re   rf   r"   ô  sŒ    ý
þþÿÿÿ
ÿÿÿÕ
.ÿÿÿ

ü
Ër"   c                   @   sö  e Zd ZdZdZdZdgZddgZdgZdZ	e
je
jB Zd	e d
dddd¡ d d e d
ddddddddd¡
 d Zd	e d
dddd¡ d d e d
dddddddddd¡ d Zde d e d ZdZg def‘def‘dejf‘d ef‘d!eejeƒf‘d"eejeƒf‘d#ejf‘d$ef‘d%ef‘d&ejf‘ed'ƒejf‘ed(d)d*�ejf‘d+ej f‘d,eeeej!ƒf‘d-ee"ej#ƒf‘d.ee$ej#ƒf‘d/ej%f‘d0ej%f‘d1eeee$eƒd2f‘d3e d4 ee&e'd5d6�ej(eƒd2f‘d7eej(ee$ƒd8f‘d3e d9 ee&e'd5d6�ej(eƒd:f‘d3e d; ee&e'd5d6�ej(eƒd<f‘d=e"f‘d>e"f‘d?e$f‘d@edAf‘dBedCf‘dDej)f‘dEe*f‘dFe dG ef‘eej+dHfgeej,dHfgdIe$fdefeej,fdJe dK ee$eeƒfdLe"dMfdNe$dHfgdLe"dMfdFe dO e eee$ej-ƒdHfeej-dHfgdPee"eƒdHfdQe$fdRefdIe$fdefeefgdSej(fdefe.dHƒgdBedHfe/dTƒgd@edHfdBefe/dTƒgdUefdVefdWefdXej0dYfdZeej0eƒfd[efgdBefdXej0dYfd\e$d]fd^ej0dHfe/d_ƒgd\e$d]fd^e$dHfe/d_ƒgd`œZ1daS )br   z!
    For Kotlin source code.
    ÚKotlinzhttp://kotlinlang.org/Úkotlinz*.ktz*.ktsztext/x-kotlinr!  z@?[_r®   r­   r±   ÚLmr°   r¬   r²   ÚNdÚPcÚCfÚMnÚMcz]*ÚZsz\'~!%^&*()+=|\[\]:;,.<>/\?-]*rù   z|`z`)zÑactual|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ÚByter[   r<  r^   ÚIntr  ÚShortr   ÚAnyÚUnitrö   rù  r2   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)2rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   r  r  Úkt_nameÚkt_space_nameÚkt_idr  r   r   r  r   r   rT   rU   r   r   r  r
   rX   rZ   rY   r   r\   r   rW   r   r   rS   r[   r   rc   rK  rV   r	   r   r  rd   re   re   re   rf   r   C  sB   ÿÿÿþÿÿÿýþýüûùø	÷õþôñÿïÿÿíêèæåãá!ß
#ÿÝ&ÿÚ
(ÿØ
+ÿÕ.Ò/Ñ1Ï3Í4Ì5Ë7ÿÉ:Æ
=ÿ
ÿú	
ýú	ýþý
ú	

ûý
‹r   c                   @   sJ  e Zd ZdZdZdZdgZdgZdgZdZ	e
je
jB 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ƒfdejfdeejeƒdfdeej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!j"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%ed#fd&ed#fd'efgd(œZ&d)S )*r    z 
    For Xtend source code.
    ÚXtendzhttps://www.eclipse.org/xtend/Úxtendz*.xtendztext/x-xtendri   ú=^(\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|val|var)\br/   r0   r2   r0  r*   r1  r1   z(''')r  z(\u00BB)r2  r3  r5  r$  ú[~^*!%&\[\](){}<>\|+=:;,./?-]r%  r7  r8  r<   r9  r>   r?   z'''z\u00ABr(  )rD   r*   r1   r  N©'rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   r   r   r   r   rV   r   r   r   rT   rU   rW   r   rS   rX   rY   rZ   r   r<  r]   r   r^   r_   rb   rc   rd   re   re   re   rf   r    Þ  sh    ýýþÿÿÞ
%ÿ
ÿý
Õr    c                   @   s   e Zd ZdZdZdZdgZdgZdgZdZ	e
je
jB 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j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!d#S )$r#   z$
    For Pig Latin source code.
    ÚPigzhttps://pig.apache.org/Úpigz*.pigz
text/x-pigr   r=   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]+r8  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û  r*  r+  rð   N)"rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   Ú
IGNORECASErR   r   r   rU   r   r  r   r   r   r^   r_   rb   r   r   rV   r   r   r  rX   r   rd   re   re   re   rf   r#     sd    ÿìùÿþÿÿÿÿý
Ór#   c                   @   sÜ  e Zd ZdZdZdZdgZdgZd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jfdejjfd ejfd!efd"ej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d0ej"fgd#ed+fe#d1ƒd2efgd&ej$d+fe#d1ƒgd(ed+fe#d1ƒgd3efd4efd5efgd6œZ%d7S )8r$   z
    For Golo source code.
    ÚGolozhttp://golo-lang.org/z*.goloÚgolor   r+   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<   r,  r-  r.  )rD   r5  r2  r4  r3  r7   r6  r7  r8  r9  rð   N)&rE   rF   rG   rH   rI   rJ   rL   rK   rN   r   r   r   ÚWordr   r   r   rY   r   rS   rZ   r  rV   r   r^   ra   r_   rb   r  rW   r   r   rG  rc   rK  r  r   r<  rd   re   re   re   rf   r$   b  s°    ÿ
þ
þ
þ
þú
ÿÿ
ÿ
È
=ÿ
ÿ
ÿ
ÿþÿÿý
þþý
¢r$   c                   @   sÐ  e Zd ZdZdZdZddgZdgZdZdZ	d	e	› d
�Z
e	› d�Zde› d�Zde› d�Zde› d�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› �ejf‘de› �ejf‘de› �ejf‘d e› �ejf‘d!e› �ejd"f‘d#e› �ejf‘d$e› �ejd%f‘d&e› �ejd'f‘d(e› �ejd)f‘d*e› �ejd+f‘d,e› �ejd-f‘d.e› �ejd/f‘d0e› �ejd1f‘d2e› �ejdf‘d3e› �ejd4f‘d5e› �ejd6f‘d-e› �ejd7f‘ed8ed9�ejf‘d:e› �ejd;f‘d<e› �ejd=f‘d>e› �ejd?f‘d@e› �ejdAf‘edBed9�ejdf‘dCe› �ejdDf‘dEe› �ejdFf‘“dGdejdfdHejfdIejfg“ddejdfdJejfdKejfg“dLdMefdejdGfedƒdNe› dO�e ej!eeƒfeej"fg“d"dedPfde› �ejdQfedƒg“dRdMefdSe› �ejdfedƒeej"dTfg“dUdMefdSe› �ejdfedƒe#dTƒg“dVdejdGfedƒeej"fg“d%dWe› �edfed1ƒg“d'edƒdXe› dYe› dZ�e ej$ej%ej&eƒdfd[e› dYe› d\�e ej%ej&ƒdfg“d;edƒd]ed^fdXe› d_e› dZ�e ej$ej%ej&eƒdfd[e› d_e› d\�e ej%ej&ƒdfg“dDedƒd]efdXe› dYe› d`�e ej$ej%ej&eƒdfde› da�ej$dfe#dƒg“dbedƒd]efdXe› d_e› dZ�e ej$ej%ej&eƒdfde› da�ej$dfe#dƒg“dcddedfe#dDƒg“d7e
efdee› df�e'dgfe#dhƒg“d1edƒd[e› dYe› d\�e ej%ej(ƒdfg“didje› �ejdkfedƒd[e› dle› dme› dne› d\�	e ej%ej&ejj)ƒdfg“edƒd[e› dle› doe› dne› dp�	e ej%ej&ej*eƒdqfgedƒeej!dfgedƒdNe› dp�e ej*eƒdqfgdre› �ejdfedƒgedƒd[e› dle› dme› dne› d\�	e ej%ej&ejj&ƒdfgdMefde› �ejdfedƒeej!fgedƒeejdfgedƒdse› �edfdte› �edufdve› �edwfgdxœ¥Z+dydz„ Z,d{S )|r%   z#
    For Jasmin assembly code.
    ÚJasminzhttp://jasmin.sourceforge.net/ÚjasminÚjasminxtz*.jr   z \n\t\rz(?:[z]+)z:=z(?=[z]|$)z[^z]+z(?:[^z.;\[/]+)r	   r<   r>   r÷  )r>   rS  r6   r7   rÊ   r  Úlabelz;.*z(\$[-+])?0x-?[\da-fA-F]+z(\$[-+]|\+)?-?\d+zE-?(\d+\.\d*|\.\d+)([eE][-+]?\d+)?[fFdD]?[\x00-\x08\x0b\x0c\x0e-\x1f]*r³   z\.annotationr…   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)z\.catchzcaught-exceptionz`(\.class|\.implements|\.inner|\.super|inner|invisible|invisibleparam|outer|visible|visibleparam)úclass/convert-dotsz\.field)údescriptor/convert-dotsÚfieldz(\.end|\.limit|use)úno-verificationz\.methodÚmethodz\.setr4   z\.throwsÚ	exceptionz(from|offset|to|using)Úis)r@  r4   z(locals|stack)Úverificationz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ù  z.(anewarray|checkcast|instanceof|ldc|ldc_w|new)úclass/no-dotsz;invoke(dynamic|interface|nonvirtual|special|static|virtual)Ú
invocationz(getfield|putfield))údescriptor/no-dotsrA  z(getstatic|putstatic))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)r@  ÚtableswitchÚtablerS  z\\u[\da-fA-F]{4}z[^'\\]+z0\\([nrtfb"\'\\]|u[\da-fA-F]{4}|[0-3]?[0-7]{1,2})z[^"\\]+rD   z\n+rù   z)([ \t\r]*)(:))r>   úannotation-body)r>   úannotation-defaultr  z\.end)úannotation-itemsrú  r  r  Úallz(L)((?:z[/.])*)(z)(;)z((?:r·   z\[+)r>   rú  z/)*)(z?)(;)z\[)L]+rú  údescriptors/convert-dotsr  z(?=[^z]*\())r>   rù  )r>   r?  rA  rû  )r>   rû  z	[/.](?=[^z]*[/.]))*)(z[/.])?(z(]*[/.]))*)(z)(\())r>   r@  r  r@  z(locals|method|stack)z6(Double|Float|Integer|Long|Null|Top|UninitializedThis)ÚObject)r>   rø  ÚUninitialized)r>   r>  )rù  r>  rC  rB  rû  r  r4   rF  c                 C   sV   d}t  d| t j¡r|d7 }t  d| t j¡r|d7 }t  d| t j¡r&|d7 }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      ð?)rO   ÚsearchrP   r¶  )r¤   Úscorere   re   rf   r:  Ê  s   þ
zJasminLexer.analyse_textN)-rE   rF   rG   rH   rI   rJ   rK   rL   rN   Ú_whitespacer  Ú
_separatorÚ_breakÚ_nameÚ_unqualified_namer   r   rT   r<  r   r   r   r_   rb   r^   r   rK  r   rL  r
   r  r   r   r]   rI  r	   rX   rY   rc   r   Ú	ExceptionÚInstancerV   rd   r:  re   re   re   rf   r%   Ó  s`   
ÿ
þ
ýüûúùø	÷
ÿÿöôñüûðêÿþéÿæÿäâá à!ß"ÿÞ$Ü%Û(êêØ?ÿÁAÿþ¿Dÿ¼FÿºHüû¸Nÿ²P°ÿS
ý­X
ÿü¨^

ÿú¢fÿüšl
ü”rüŽx
ýˆ}þƒ þÿû �þ 
þÿú �ö þù �í þù �ä %þ �Û )ý �× .ÿþ �Ò 3þý �Í ;þþ
þÿþþÿþü
þü �¢ fr%   c                   @   s"  e Zd ZdZdZdZdgZdgZdgZdZ	e
je
jB 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ƒfdejfdeejeƒdfdeejeƒd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!j#fde!j$fdefgdej%d fgd!ejd fgd"œZ&d#S )$r&   z
    For SARL source code.
    ÚSARLzhttp://www.sarl.ioÚsarlz*.sarlztext/x-sarlz2.4r%  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)\br/   r0   z+(false|it|null|occurrence|this|true|void)\bzY(agent|annotation|artifact|behavior|capacity|class|enum|event|interface|skill|space)(\s+)r*   r1  r1   r2  r3  r5  r$  r&  r%  r7  r8  r<   r9  r>   r?   )rD   r*   r1   Nr'  re   re   re   rf   r&   ×  s^    ýýþÿ
þß
$ÿ
ÿ
Ùr&   )-rH   rO   Ú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&   re   re   re   rf   Ú<module>   s>    
,,b'  OM @ /O ACq  