o
    Th                     @   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mZmZmZ ddlmZmZmZmZmZmZmZmZmZmZmZ ddlmZ ddlmZ g dZ de!dd	d
ddd d Z"de!dd	d
ddddddd
 d Z#e"d e# 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	Z0dS )/z
    pygments.lexers.javascript
    ~~~~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for JavaScript and related languages.

    :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N)bygroupscombineddefaultdo_insertionsincludeinheritLexer
RegexLexerthisusingwordsline_re)TextCommentOperatorKeywordNameStringNumberPunctuationOtherGeneric
Whitespace)get_bool_opt)JavascriptLexerKalLexerLiveScriptLexer	DartLexerTypeScriptLexer
LassoLexerObjectiveJLexerCoffeeScriptLexer	MaskLexerEarlGreyLexerJuttleLexerNodeConsoleLexerz(?:[$_LuLlLtLmLoNlz]|\\u[a-fA-F0-9]{4})z(?:[$MnMcNdPcu   ‌‍]|\\u[a-fA-F0-9]{4})z(?:z)*c                   @   s  e Zd ZdZdZdZddgZg dZg dZdZ	e
je
jB Zd	efd
efdejfdejfgeddejdfdedfedgdedfgdejfdedfed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dfdedfdefdej dfd e!j"fd!e!dfd"e!j#dfd#e!j"fd$e!j$fd%e%j&fd&e%j'fd'e(e!edfd(e%j)dfe*e%j)fd)ej+fd*ejfd+ej,d,fd-e%fgd+ej,dfd.ej,fd/ej-d0fd1ej,fd2ej,fgd3ej-dfed4gd5Z.d6S )7r   z%
    For JavaScript source code.
    
JavaScriptzQhttps://www.ecma-international.org/publications-and-standards/standards/ecma-262/
javascriptjs)z*.jsz*.jsmz*.mjsz*.cjs)zapplication/javascriptzapplication/x-javascriptztext/x-javascriptztext/javascript \s+<!--z//.*?$	/\*.*?\*/commentsandwhitespace7/(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/([gimuysd]+\b|\B)#pop(?=/)r9   badregex\nz\A#! ?/.*?$^(?=\s|/|<!--)slashstartsregexz0[bB][01]+n?z0[oO]?[0-7]+n?z0[xX][0-9a-fA-F]+n?z[0-9]+nz2(\.[0-9]+|[0-9]+\.[0-9]*|[0-9]+)([eE][-+]?[0-9]+)?z	\.\.\.|=>zP\+\+|--|~|\?\?=?|\?|:|\\(?=\n)|(<<|>>>?|==?|!=?|(?:\*\*|\|\||&&|[-<>+*%&|^/]))=?[{(\[;,][})\].]z((typeof|instanceof|in|void|delete|new)\bz\b(constructor|from|as)\bz(for|in|while|do|break|return|continue|switch|case|default|if|else|throw|try|catch|finally|yield|await|async|this|of|static|export|import|debugger|extends|super)\bz%(var|let|const|with|function|class)\bz(abstract|boolean|byte|char|double|enum|final|float|goto|implements|int|interface|long|native|package|private|protected|public|short|synchronized|throws|transient|volatile)\b*(true|false|null|NaN|Infinity|undefined)\ba  (Array|Boolean|Date|BigInt|Function|Math|ArrayBuffer|Number|Object|RegExp|String|Promise|Proxy|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|DataView|document|window|globalThis|global|Symbol|Intl|WeakSet|WeakMap|Set|Map|Reflect|JSON|Atomics|Int(?:8|16|32)Array|BigInt64Array|Float32Array|Float64Array|Uint8ClampedArray|Uint(?:8|16|32)Array|BigUint64Array)\bz;((?:Eval|Internal|Range|Reference|Syntax|Type|URI)?Error)\bz (super)(\s*)(\([\w,?.$\s]+\s*\))z!([a-zA-Z_?.$][\w?.$]*)(?=\(\) \{)"(\\\\|\\[^\\]|[^"\\])*"'(\\\\|\\[^\\]|[^'\\])*'`interp#[a-zA-Z_]\w*\\.z\$\{interp-insidez\$z[^`\\$]+\}root)r7   r?   r<   rK   rF   rI   N)/__name__
__module____qualname____doc__nameurlaliases	filenames	mimetypesversion_addedreDOTALL	MULTILINEflagsr   r   Single	Multiliner   r   Regexr   r   Hashbangr   BinOctHexIntegerFloatr   r   Wordr   ReservedDeclarationConstantr   Builtin	Exceptionr   r   JS_IDENTDoubleBacktickInterpoltokens rn   rn   [/home/air/segue/gemini/back/venv/lib/python3.10/site-packages/pygments/lexers/javascript.pyr   !   s    

	



=

	
r   c                   @   s   e Zd ZdZdZdZddgZdgZddgZd	Z	d
Z
ddedfdejdfdejfdejfdeejeejedfdeejeeeejfde ejfedefg	iZdS )r   z%
    For TypeScript source code.
    
TypeScriptzhttps://www.typescriptlang.org/
typescripttsz*.tszapplication/x-typescriptztext/x-typescript1.6g      ?rK   z9(abstract|implements|private|protected|public|readonly)\br?   z(enum|interface|override)\bz\b(declare|type)\bz\b(string|boolean|number)\bz\b(module)(\s*)([\w?.$]+)(\s*)z!([\w?.$]+)(\s*)(:)(\s*)([\w?.$]+)@rG   N)rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   priorityr   re   rd   Typer   r   r   r   r   ri   r   rm   rn   rn   rn   ro   r      s6    
r   c                $   @   s  e Zd ZdZdZdZdgZdgZddgZdZ	e
jZd	efd
ejfdeejefgdeejedfedgdeeeefdejdfdejfedgdedfdefedgdedfdefedgeddejfdefdejfdeejeefdefdedfdefdejd fd!ejd"fd#eeeeeed$fd%ejjfd&eeeeeefd'eeeefd(eeeefd)eeeefd*eeeefd'eeeefed+d,d-d.efed/d,d-d.ej fed0d-d1ej!fd2eejeefd3e"j#fd4e"j$fd5e"j%fd6ed7fd8ed9fd:ed;fd<ed=fgd>efgd?ej&dfedgd:edfd@efdAej&dBfedCgd<edfdDefedCgd6edfdEefdAej&dBfedCgd8edfdFefedCgdGZ'dHS )Ir   z
    For Kal source code.
    Kalzhttp://rzimmerman.github.io/kalkalz*.kalztext/kalzapplication/kal2.0r4   ###[^#].*?###(#(?!##[^#]).*?)(\n)z([$a-zA-Z_][\w$]*)(\s*)r9   r7   z\b(inherits)(\s+)(from)\bz([$a-zA-Z_][\w$]*)(?=\s*\n)z[$a-zA-Z_][\w$]*\b\]z\b(property|value)\brK   r=   z\bfrom\b</(?! )(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/([gimuysd]+\b|\B)z%\?|:|_(?=\n)|==?|!=|-(?!>)|[<>+*/-]=?zE\b(and|or|isnt|is|not|but|bitwise|mod|\^|xor|exists|doesnt\s+exist)\bz(\([^()]+\))?(\s*)(>)z[{(]\[listcomprehensionz[})\].,]z\b(function|method|task)\bfunctiondefz	\bclass\bclassdefz,\b(safe(?=\s))?(\s*)(wait(?=\s))(\s+)(for)\bwaitforz#\b(me|this)(\.[$a-zA-Z_][\w.$]*)?\bz((?<![.$])(run)(\s+)(in)(\s+)(parallel)\bz'(?<![.$])(for)(\s+)(parallel|series)?\bz(?<![.$])(except)(\s+)(when)?\bz(?<![.$])(fail)(\s+)(with)?\bz!(?<![.$])(inherits)(\s+)(from)?\b)inofwhileuntilbreakreturncontinuewhenifunlesselse	otherwisethrowraisetrycatchfinallynewdeletetypeof
instanceofsuperz	(?<![.$])z\bprefixsuffix)truefalseyesnoonoffnullnothingnoneNaNInfinity	undefined)ArrayBooleanDateErrorFunctionMathr   ObjectRegExpr   	decodeURIdecodeURIComponent	encodeURIencodeURIComponentevalisFiniteisNaNisSafeInteger
parseFloatparseIntdocumentwindow
globalThisSymbolprint)r   z)([$a-zA-Z_][\w.$]*)(\s*)(:|[+\-*/]?\=)?\b%[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?0x[0-9a-fA-F]+[0-9]+"""tdqs'''tsqs"dqs'sqs
[^#\\\'"]+rJ   \\.|\'#\{interpoling_stringstrings#|\\.|"\\.|\'|"
#|\\.|\'|")r7   r   r   r   r   rK   r   r   r   r   r   r   N)(rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rY   r   r   r[   r   rZ   r   r   r   r   Classr   r   r\   r   rc   re   VariableInstancer   rf   rg   r   rb   r`   ra   rl   rm   rn   rn   rn   ro   r      s    










;



r   c                   @   s  e Zd ZdZdZdZddgZdgZdgZdZ	e
jZd	efd
ejfdeejefgeddejdfdejfdejfgeddejdfdejdfdedfedgdedfeddejfdedfdedfdefdedfdejfdejfdeejeeedfdeejjeeedfdej dfd ej dfd!e!j"fd"e!j#fd#ed$fd%ed&fd'ed(fd)ed*fd+efd,efgd-efgd.ej$dfed/gd'edfd0efd1ej$d2fd3efed4gd)edfd5efed4gd#edfd6efd1ej$d2fd3efed4gd%edfd7efed4gd8
Z%d9S ):r   z%
    For LiveScript source code.
    
LiveScriptzhttps://livescript.net/
livescriptzlive-scriptz*.lsztext/livescriptrs   r4   r6   z
(#.*?)(\n)r7   z//([gimuysd]+\b|\B)r9   /[^/#]+z//r9   multilineregexr}   
\A(?=\s|/)r?   z?(?:\([^()]+\))?[ ]*[~-]{1,2}>|(?:\(?[^()\n]+\)?)?[ ]*<[~-]{1,2}z\+\+|&&|(?<![.$])\b(?:and|x?or|is|isnt|not)\b|\?|:|=|\|\||\\(?=\n)|(<<|>>>?|==?|!=?|~(?!\~?>)|-(?!\-?>)|<(?!\[)|(?<!\])>|[+*`%&|^/])=?r@   rA   z(?<![.$])(for|own|in|of|while|until|loop|break|return|continue|switch|when|then|if|unless|else|throw|try|catch|finally|new|delete|typeof|instanceof|super|extends|this|class|by|const|var|to|til)\bzF(?<![.$])(true|false|yes|no|on|off|null|NaN|Infinity|undefined|void)\bz(Array|Boolean|Date|Error|Function|Math|Number|Object|RegExp|String|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|document|window|globalThis|Symbol|Symbol|BigInt)\bz&([$a-zA-Z_][\w.\-:$]*)(\s*)([:=])(\s+)z'(@[$a-zA-Z_][\w.\-:$]*)(\s*)([:=])(\s+)rt   z@?[$a-zA-Z_][\w-]*z/[0-9]+\.[0-9]+([eE][0-9]+)?[fd]?(?:[a-zA-Z_]+)?z"[0-9]+(~[0-9a-z]+)?(?:[a-zA-Z_]+)?r   r   r   r   r   r   r   r   z\\\S+z	<\[.*?\]>r   rJ   rK   r   r   r   #r   r   r   r   
r7   r   r?   rK   r   r   r   r   r   r   N)&rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rY   r   r   r[   r   rZ   r   r   r\   r   r   r   r   r   r   r   rf   rg   r   r   r   r   rb   ra   rl   rm   rn   rn   rn   ro   r   8  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edd	ejfd
edfdefdefdeejefdejfdeejed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jfdefdefdejfdefdefdefgdej dfgedd efd!efdefd"efd#edfgd$e!j"fd%e!jfd&e!j"fd'e!jfd(e!j"d)fd*e!jd+fd,e!j"d-fd.e!jd/fgd0e!j#fd1ee!j$efd2ee!j$e%e&e!j$fgd,e!j"dfd3e!j"fed4d5e!j"fgd(e!j"dfd6e!j"fed4d7e!j"fgd.e!jdfd8e!jfed4d5e!jfgd*e!jdfd9e!jfed4d:e!jfgd;	Z'd<S )=r   z
    For Dart source code.
    Dartzhttp://dart.dev/dartz*.dartztext/x-dartz1.5string_literalz#!(.*?)$z\b(import|export)\bimport_declz!\b(library|source|part of|part)\b[^\S\n]+(//.*?)(\n)r6   z \b(class|extension|mixin)\b(\s+)classz\b(as|assert|break|case|catch|const|continue|default|do|else|finally|for|if|in|is|new|rethrow|return|super|switch|this|throw|try|while)\bz\b(abstract|async|await|const|covariant|extends|external|factory|final|get|implements|late|native|on|operator|required|set|static|sync|typedef|var|with|yield)\bzH\b(bool|double|dynamic|int|num|Function|Never|Null|Object|String|void)\bz\b(false|null|true)\bz[~!%^&*+=|?:<>/-]|as\bz@[a-zA-Z_$]\w*z[a-zA-Z_$]\w*:z[a-zA-Z_$]\w*z[(){}\[\],.;]z0[xX][0-9a-fA-F]+z\d+(\.\d*)?([eE][+-]?\d+)?z\.\d+([eE][+-]?\d+)?r=   r9   r4   z\b(as|deferred|show|hide)\bz\,z\;zr"""([\w\W]*?)"""zr'''([\w\W]*?)'''zr"(.*?)"zr'(.*?)'r   string_double_multiliner   string_single_multiliner   string_doubler   string_singlezA\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|u\{[0-9A-Fa-f]*\}|[a-z'\"$\\])z(\$)([a-zA-Z_]\w*)z(\$\{)(.*?)(\})z
[^"$\\\n]+string_commonz\$+z[^"$\\]+z(\$|\")+z
[^'$\\\n]+z	[^\'$\\]+z(\$|\')+)	rK   r   r   r   r   r   r   r   r   N)(rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rX   rW   rY   r   r   Preprocr   r   r   rZ   r[   re   rv   rf   r   r   	DecoratorLabelr   r   r`   r   r   rj   Escaperl   r   r
   rm   rn   rn   rn   ro   r     s    
 









r   c                   @   s  e Zd ZdZdZddgZddgZdZg dZd	gZ	d
Z
ejejB ejB Zi ddejdfdedfdefedgddejdfdejdfdejdfdejdfdefdefgddejdfdefdejdfdefdefgddejdfdefdefgddejdfedgddejdfedgd d!ejdfedgd"defd#eejefd$ejfd%ejfgdg ed"d&ejfd'ejfd(ejfd)efd*ejd+fd,ejd-fd.ej fd/e!j"fd0e!j"j#fd1ee!j$j%ee!j"j&fd2ee!j$j%ee'ee!j"j&fd3ee!j$j%ee!jj(fd4ee'ee!jj(fd5e!j$j%fd6e!j)fd7ee*ee!j+fd8e!j,fd9ee-j.ee!j&ee'ee-fd:ee-j.ee!j&ee'ee!j/d;fd<ee-j.ee!j/d;fd=ee-ee!j/d;fd>ee-ee!j/fd?e-j0fd@e-j.fdAe-j1fdBee!ee-fdCee-ee!fdDe-dEfdFee*e-j2fdGee*e-fdHe*dIfdJe'j3fdKee!ee*ee!j+e'fdLee*e!jfdMee'e'j3fdNe'fdOe*fd+d*ejdfdPejfedQdRejfgd-d,ejdfdSejfedQdRejfgdQdTej4fgd;dUe'dfdVe*dfdWe*dXfedgdXdVe*dfdYe!j)dfdZe!j$j%fedgdEd[e!d\fd]e!fd^e!dfd7ee*ee!j+fdHe*fed"gd\d_e*dfdVe*d`fdYe!j)fd7ee*ee!j+fdZe!j$j%fdWe*fed"gdIdae!j/d;fed"edgZ5dbdc Z6ddde Z7dfdg Z8dhS )ir   a  
    For Lasso source code, covering both Lasso 9
    syntax and LassoScript for Lasso 8.6 and earlier. For Lasso embedded in
    HTML, use the `LassoHtmlLexer`.

    Additional options accepted:

    `builtinshighlighting`
        If given and ``True``, highlight builtin types, traits, methods, and
        members (default: ``True``).
    `requiredelimiters`
        If given and ``True``, only highlight code between delimiters as Lasso
        (default: ``False``).
    Lassolassolassoscriptz*.lassoz*.lasso[89]rs   )z*.inclz*.incz*.lasztext/x-lassozhttps://www.lassosoft.comrK   z^#![ \S]+lasso9\bz(?=\[|<)
delimitersr4   )r   	lassofilez\[no_square_brackets\]nosquarebracketsz\[noprocess\]	noprocessr~   squarebracketsz<\?(lasso(script)?|=)anglebracketsz<(!--.*?-->)?z[^[<]+z\[/noprocess\]r9   z[^[]r|   z\?>r   z\]|\?>whitespacecommentsz(//.*?)(\s*)$z/\*\*!.*?\*/r6   z\d*\.\d+(e[+-]?\d+)?z
0x[\da-f]+\d+z(infinity|NaN)\br   singlestringr   doublestringz`[^`]*`z\$[a-z_][\w.]*z#([a-z_][\w.]*|\d+\b)z(\.)(\s*)('[a-z_][\w.]*')z$(self)(\s*)(->)(\s*)('[a-z_][\w.]*')z#(\.\.?)(\s*)([a-z_][\w.]*(=(?!=))?)z%(->\\?|&)(\s*)([a-z_][\w.]*(=(?!=))?)z3(?<!->)(self|inherited|currentcapture|givenblock)\bz-(?!infinity)[a-z_][\w.]*z(::)(\s*)([a-z_][\w.]*)a  (error_(code|msg)_\w+|Error_AddError|Error_ColumnRestriction|Error_DatabaseConnectionUnavailable|Error_DatabaseTimeout|Error_DeleteError|Error_FieldRestriction|Error_FileNotFound|Error_InvalidDatabase|Error_InvalidPassword|Error_InvalidUsername|Error_ModuleNotFound|Error_NoError|Error_NoPermission|Error_OutOfMemory|Error_ReqColumnMissing|Error_ReqFieldMissing|Error_RequiredColumnMissing|Error_RequiredFieldMissing|Error_UpdateError)\bz>(define)(\s+)([a-z_][\w.]*)(\s*)(=>)(\s*)(type|trait|thread)\bzA(define)(\s+)([a-z_][\w.]*)(\s*)(->)(\s*)([a-z_][\w.]*=?|[-+*/%])	signaturez(define)(\s+)([a-z_][\w.]*)zJ(public|protected|private|provide)(\s+)(([a-z_][\w.]*=?|[-+*/%])(?=\s*\())z5(public|protected|private|provide)(\s+)([a-z_][\w.]*)z)(true|false|none|minimal|full|all|void)\bz((local|var|variable|global|data(?=\s))\bz(array|date|decimal|duration|integer|map|pair|string|tag|xml|null|boolean|bytes|keyword|list|locale|queue|set|stack|staticarray)\bz([a-z_][\w.]*)(\s+)(in)\bz(let|into)(\s+)([a-z_][\w.]*)z	require\brequiresectionz(/?)(Namespace_Using)\ba  (/?)(Cache|Database_Names|Database_SchemaNames|Database_TableNames|Define_Tag|Define_Type|Email_Batch|Encode_Set|HTML_Comment|Handle|Handle_Error|Header|If|Inline|Iterate|LJAX_Target|Link|Link_CurrentAction|Link_CurrentGroup|Link_CurrentRecord|Link_Detail|Link_FirstGroup|Link_FirstRecord|Link_LastGroup|Link_LastRecord|Link_NextGroup|Link_NextRecord|Link_PrevGroup|Link_PrevRecord|Log|Loop|Output_None|Portal|Private|Protect|Records|Referer|Referrer|Repeating|ResultSet|Rows|Search_Args|Search_Arguments|Select|Sort_Args|Sort_Arguments|Thread_Atomic|Value_List|While|Abort|Case|Else|Fail_If|Fail_IfNot|Fail|If_Empty|If_False|If_Null|If_True|Loop_Abort|Loop_Continue|Loop_Count|Params|Params_Up|Return|Return_Value|Run_Children|SOAP_DefineTag|SOAP_LastRequest|SOAP_LastResponse|Tag_Name|ascending|average|by|define|descending|do|equals|frozen|group|handle_failure|import|in|into|join|let|match|max|min|on|order|parent|protected|provide|public|require|returnhome|skip|split_thread|sum|take|thread|to|trait|type|where|with|yield|yieldhome)\b,commamemberz(and|or|not)\bz6([a-z_][\w.]*)(\s*)(::)(\s*)([a-z_][\w.]*)?(\s*=(?!=))z(/?)([\w.]+)z,(=)(n?bw|n?ew|n?cn|lte?|gte?|n?eq|n?rx|ft)\bz:=|[-+*/%=<>&|!?\\]+z[{}():;,@^]z[^'\\]+escape\\z[^"\\]+zS\\(U[\da-f]{8}|u[\da-f]{4}|x[\da-f]{1,2}|[0-7]{1,3}|:[^:\n\r]+:|[abefnrtv?"\'\\]|$)z=>\)z[(,]	parameterz-?[a-z_][\w.]*z\.\.\.z#(([a-z_][\w.]*=?|[-+*/%])(?=\s*\())requiresignaturez3(([a-z_][\w.]*=?|[-+*/%])(?=(\s*::\s*[\w.]+)?\s*,))z[a-z_][\w.]*=?|[-+*/%]z(\)(?=(\s*::\s*[\w.]+)?\s*,))#pop:2zR(([a-z_][\w.]*=?|[-+*/%])(?=\s*(\(([^()]*\([^()]*\))*[^)]*\)\s*)?(::[\w.\s]+)?=>))c                 K   s   t |dd| _t |dd| _t | _t | _| jr?ddlm}m} |	 D ]
\}}| j
| q%|	 D ]
\}}| j
| q4tj| fi | d S )NbuiltinshighlightingTrequiredelimitersFr   )BUILTINSMEMBERS)r   r  r  set	_builtins_memberspygments.lexers._lasso_builtinsr  r  itemsupdater	   __init__)selfoptionsr  r  keyvaluern   rn   ro   r    s   zLassoLexer.__init__c                 c   s    dg}| j r|d t| ||D ]/\}}}|tju r$| | jv s4|tjju r<| 	d| j
v r<|tj|fV  q|||fV  qd S )NrK   r   =)r  appendr	   get_tokens_unprocessedr   r   lowerr
  Memberrstripr  rg   )r  textstackindextokenr  rn   rn   ro   r     s   
z!LassoLexer.get_tokens_unprocessedc                 C   sH   d}d| v r
|d7 }t d| t jr|d7 }t d| t jr"|d7 }|S )Ng        z
bin/lasso9g?z<\?lassog?zlocal\()rV   searchI)r  rvrn   rn   ro   analyse_text  s   zLassoLexer.analyse_textN)9rL   rM   rN   rO   rP   rR   rS   rU   alias_filenamesrT   rQ   rV   
IGNORECASErW   rX   rY   r   r   r   r   r   r   r   rZ   r   Docr[   r   rb   r`   ra   rj   rk   r   r   r   rg   Pseudor   r   r  	Attributer   r   rh   r   re   r   rf   rv   	Namespacerc   r   rm   r  r  r!  rn   rn   rn   ro   r     s   









#
'-
	


),
0259:;>?@ABWXY\]
_` 
  
       &

  ,  5
  ?  Hr   c                   @   sv  e Zd ZdZdZg dZdgZdgZdZdZ	dZ
ejejB Zed	d
e
 d e
 d e
 d eeeeeddeefdeeedfdeeedfdeeeefeddefdefgdeejeejfdeejeejfdeejeejfdeejeejfdejdfdejdfd efd!eejefd"ejfd#ejfd$efged	d%ejd&fd'ed(fed&gd)ed&fgd*ed+fd,ej fd-ejfd.ejfd/e!j"fd0e!j"fd1e!j#fd2e!j$fd3e!j%fd4ed5fd6e&d5fd7ed5fd8efd9ed5fd:ej'd5fd;efd<ej(fd=e)j*fd>ej+fd?ej+fd@ej+fdAe)j*fdBe
 dC ee)j,eefdDe)fgdEe
 dF e
 dG ee)j-eee)j-d&fdEe
 dH ee)j-eee)j.ed&fdIe)j-d&fgdJee)j-eeedKfdLee)j-eed&fged	dMe
 dN e
 dO e
 dP e
 dQ eeeej(eee)j,dRfdMe
 dN e
 dO e
 dS eeeej(eee)j,d&fdTe
 dQ ee)j,dRfdUee)j,d&fed&ged	dMe
 dV e
 dO e
 dS eeeej(eeefdTe
 dQ e)j,fdWe)j,fdXe
 dY eefdUefgdZee)j,efd[ed&fgd\ed&fd]ejfd^efd!eejefd_efgd`ejfdaejfdbeejed&fdcejfddefd)ed&fgdeejdKfdfejd&fdgeeefgdhZ/didj Z0dkS )lr    zC
    For Objective-J source code with preprocessor directives.
    zObjective-J)zobjective-j
objectivejzobj-jobjjz*.jztext/x-objective-jz1https://www.cappuccino.dev/learn/objective-j.html1.3z,(?:\s|//[^\n]*\n|/[*](?:[^*]|[*][^/])*[*]/)*
whitespacez^(z[+-]z)([(a-zA-Z_].*?[^(])(z\{)function_signature)statez!(@interface|@implementation)(\s+)	classnamez(@class|@protocol)(\s*)forward_classnamez(\s*)(@end)(\s*)
statementsz[{()}];z$(@import)(\s+)("(?:\\\\|\\"|[^"])*")z$(@import)(\s+)(<(?:\\\\|\\>|[^>])*>)z0(#(?:include|import))(\s+)("(?:\\\\|\\"|[^"])*")z0(#(?:include|import))(\s+)(<(?:\\\\|\\>|[^>])*>)z#if\s+0if0r   macror4   (\\)(\n)z//(\n|(.|\n)*?[^\\]\n)z/(\\\n)?[*](.|\n)*?[*](\\\n)?/r5   z3/(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/([gim]+\b|\B)r9   r:   r;   r=   z(L|@)?"stringz8(L|@)?'(\\.|\\[0-7]{1,3}|\\x[a-fA-F0-9]{1,2}|[^\\\'\n])'rC   rD   z%(\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+[lL]?z(\d+\.\d*|\.\d+|\d+[fF])[fF]?z0x[0-9a-fA-F]+[Ll]?z0[0-7]+[Ll]?z\d+[Ll]?r>   r?   z@\+\+|--|~|&&|\?|:|\|\||\\(?=\n)|(<<|>>>?|==?|!=?|[-<>+*%&|^/])=?r@   rA   z(for|in|while|do|break|return|continue|switch|case|default|if|else|throw|try|catch|finally|new|delete|typeof|instanceof|void|prototype|__proto__)\bz(var|with|function)\bz(@selector|@private|@protected|@public|@encode|@synchronized|@try|@throw|@catch|@finally|@end|@property|@synthesize|@dynamic|@for|@accessors|new)\bzt(int|long|float|short|double|char|unsigned|signed|void|id|BOOL|bool|boolean|IBOutlet|IBAction|SEL|@outlet|@action)\bz(self|super)\bz"(TRUE|YES|FALSE|NO|Nil|nil|NULL)\brB   z(ABS|ASIN|ACOS|ATAN|ATAN2|SIN|COS|TAN|EXP|POW|CEIL|FLOOR|ROUND|MIN|MAX|RAND|SQRT|E|LN2|LN10|LOG2E|LOG10E|PI|PI2|PI_2|SQRT1_2|SQRT2)\bz(Array|Boolean|Date|Error|Function|Math|Number|Object|RegExp|String|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|Error|eval|isFinite|isNaN|parseFloat|parseInt|document|this|window|globalThis|Symbol)\bz([$a-zA-Z_]\w*)(z)(?=\()z[$a-zA-Z_]\w*z([a-zA-Z_]\w*)(:z)([a-zA-Z_]\w*)?z\()([a-zA-Z_]\w*)(\))z([a-zA-Z_]\w*)z([a-zA-Z_]\w*)(\s*)(,)(\s*)z#pushz([a-zA-Z_]\w*)(\s*)(;?)z(\(z)([a-zA-Z_]\w+)(r  z)([$a-zA-Z_]\w+z:)function_parametersz)([$a-zA-Z_]\w+)z([$a-zA-Z_]\w+z([$a-zA-Z_]\w+)z	)([^)]+)(z(:)z(,z\.\.\.)z([$a-zA-Z_]\w*)(\()z(\))r   z/\\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|[0-7]{1,3})z	[^\\"\n]+r   z[^/\n]+z/[*](.|\n)*?[*]/r   r   z	(?<=\\)\nz^\s*#if.*?(?<!\\)\nz^\s*#endif.*?(?<!\\)\nz	(.*?)(\n))rK   r+  r?   r<   r0  r.  r/  r,  r7  
expressionr5  r3  r2  c                 C   s   t d| t jr
dS dS )Nz^\s*@import\s+[<"]TF)rV   r  rX   )r  rn   rn   ro   r!    s   zObjectiveJLexer.analyse_textN)1rL   rM   rN   rO   rP   rR   rS   rT   rQ   rU   _wsrV   rW   rX   rY   r   r   r   r
   r   r   r   r   r   r   rj   r   rZ   r[   r\   r   r   Charr   rb   r`   r_   ra   r   re   rv   r   rg   rf   r   r   r   rm   r!  rn   rn   rn   ro   r      s   






7









	
  Hr    c                   @   s  e Zd ZdZdZdZg dZdgZdgZdZ	dZ
ejZd	efd
ejfdeejefgdejfdejdfdejdfdejfgeddejdfdejdfdedfedgeddedfe
edfdejdfdedfdefdedfdejfdejfdeej eeedfd eej j!eeedfd!ej"dfd"ej"fd#e#j$fd$e#j%fd%e#j&fd&ed'fd(ed)fd*ed+fd,ed-fgd.efgd/ejdfed0gd*edfd1efdejdfd2efed3gd,edfd4efed3gd&edfd5efdejdfd2efed3gd(edfd6efed3gd7
Z'd8S )9r!   z'
    For CoffeeScript source code.
    CoffeeScriptzhttp://coffeescript.org)coffeescriptzcoffee-scriptcoffeez*.coffeeztext/coffeescriptr*  zx\+\+|~|&&|\band\b|\bor\b|\bis\b|\bisnt\b|\bnot\b|\?|:|\|\||\\(?=\n)|(<<|>>>?|==?(?!>)|!=?|=(?!>)|-(?!>)|[<>+*`%&|\^/])=?r4   rz   r{   r   z///([gimuysd]+\b|\B)r9   r   r   z[/#]r7   z///r   r}   r   r   r?   z(?:\([^()]*\))?\s*[=-]>r@   rA   z(?<![.$])(for|own|in|of|while|until|loop|break|return|continue|switch|when|then|if|unless|else|throw|try|catch|finally|new|delete|typeof|instanceof|super|extends|this|class|by)\bzA(?<![.$])(true|false|yes|no|on|off|null|NaN|Infinity|undefined)\bz(Array|Boolean|Date|Error|Function|Math|Number|Object|RegExp|String|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|document|window|globalThis|Symbol)\bz$([$a-zA-Z_][\w.:$]*)(\s*)([:=])(\s+)z%(@[$a-zA-Z_][\w.:$]*)(\s*)([:=])(\s+)rt   z@?[$a-zA-Z_][\w$]*r   r   r   r   r   r   r   r   r   r   r   r   rJ   rK   r   r   r   r   r   r   r   N)(rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   _operator_rerV   rW   rY   r   r   r[   r   rZ   r   r\   rl   r   r   r   r   r   r   r   r   rf   rg   r   r   r   r   rb   r`   ra   rm   rn   rn   rn   ro   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 e
jB Zi dd	efd
eejefdejfdefdedfdedfdedfdedfdejdfdejdfdejdfdejjdfgddejfdejdfdejfgddejdfedgddejdfedgddejdfedgddejdfedgdd ejdfd!eeejd"fd#eeejefd$ejfgd"d$ee dfgdd	efd%ejjd&fd'ejd(fd)eej!ee"d*fd+eej!ee"d,fd-ej!fd.edfgd&d/ejjfdejdfe#dgd(d/ejfdejdfe#dgd,d	efd0ejdfded1fded2fe#dgd*d	efdejd3fdejd4fed,gd5d	efd6efd7ej$fgd3ed5dejd8fd9ej%fgd4ed5dejd8fd:ej%fgd1dejd8fedgd2dejd8fedgiZ&d;S )<r"   z
    For Mask markup.
    Maskz https://github.com/atmajs/MaskJSmaskz*.maskztext/x-maskry   rK   r4   r   r6   z[{};>]r   zstring-trpl-singler   zstring-trpl-doubler   zstring-singler   zstring-doublez([\w-]+)nodez([^.#;{>\s]+)z	(#[\w-]+)z
(\.[\w-]+)zstring-baserH   z~\[interpolation.r9   r|   z(\s*)(:)r8  z(\s*)(\w+)(:)z[^\]]+z\.z
node-classz\#znode-idz(style)([ \t]*)(=)znode-attr-style-valuez([\w:-]+)([ \t]*)(=)znode-attr-valuez[\w:-]+z[>{;]z[\w-]+z\w+zstring-single-pop2zstring-double-pop2zcss-single-endzcss-double-endzcss-baser1  z[\w\-]+\s*:r  z[^;']+z[^;"]+N)'rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rX   r#  rW   rY   r   r   r   rZ   r[   r   r   r   Tagr   r   r   r   rl   r   r   r   r   r&  r   r   rg   Entityrm   rn   rn   rn   ro   r"   h  s
   






 
$
*-
:

?
D
K

QV
[
`
d

r"   c                    @   s  e Zd ZdZdZg dZdgZdgZdZdZ	i dd	e
fed
defdeee
fdefdeeje
fdefededdddejfdejfdejfdejfdefdejfedededdeeejeejjdfdejd fd!ejd"fd#ejfed$d%eed&d'fd(eed&d)fd*eed&d+fed,ed-ed.ed/gdd0eeejjfd1eeej jefd2e
fd3ejd4fgd-d5eej
efgdd6eeej!fgded7d8d9dej"fd:ej"fgd
d;ej#fd<eej#e
fd=ee
ej#efd>ee
ej#efgd$d?eeejfd@eeej$fdAeeejfgdedBd8d9dej%fedCd8dDdej&fedEd8dDdej'fgdedFdGdHdej(fedId8d9dej&fgd.dJej!j)fdKeejejfgd,dLej*fgdMdNej+d4fedgd&dOejfgdPdQefdRefd	efgd'dSed4fdTejfedPgd)dUed4fdVejfdWej+dMfedPgd+d*ed4fedPgdXejd4fdYejfdZejfd[ejfgd\ejd4fd	ejfdZejfd]ejfgd^e,j-fd_e,j-fd`e,j.fdae,j/fdbe,j0fdce,j1fdde,j2fgdeZ3dfS )gr#   z>
    For Earl-Grey source code.

    .. versionadded: 2.1
    z	Earl Grey)z	earl-greyearlgreyegz*.egztext/x-earl-greyz%https://github.com/breuleux/earl-greyr3   rK   r=   controlr   z
(;;.*)(\n)z[\[\]{}:(),;]r4  r   errors)
withwherer   andnotorr   asr   isz
(?<=\s|\[)z(?![\w$\-])r   z[*@]?->z[+\-*/~^<>%&|?!@#.]*=z\.{2,3}z+([+*/~^<>&|?!]+)|([#\-](?=\s))|@@+(?=\s)|=+z(?<![\w$\-])(var|let)(?:[^\w$])keywordsbuiltins
assignmentz(?x)
                (?:()([a-zA-Z$_](?:[\w$\-]*[\w$])?)|
                   (?<=[\s{\[(])(\.)([a-zA-Z$_](?:[\w$\-]*[\w$])?))
                (?=.*%)dbsz[rR]?`btz[rR]?```tbtz=(?<=[\s\[{(,;])\.([a-zA-Z$_](?:[\w$\-]*[\w$])?)(?=[\s\]}),;])nestedz(?:[rR]|[rR]\.[gmi]{1,3})?"stringescaper   z(?:[rR]|[rR]\.[gmi]{1,3})?\'r   r   r   tupleimport_pathsrP   numbersz-(\.)([a-zA-Z$_](?:[\w$\-]*[\w$])?)(?=[.\[\s])z+(\[)([\^#][a-zA-Z$_](?:[\w$\-]*[\w$])?)(\])r4   %r9   z>(?<=[\s:;,])(\.{1,3}(?:[\w\-]*/)*)(\w(?:[\w\-]*\w)*)(?=[\s;,])zB(\.)?([a-zA-Z$_](?:[\w$\-]*[\w$])?)(?=\s+[+\-*/~^<>%&|?!@#.]*\=\s))r   	TypeErrorReferenceErrorz(?<![\w\-$.])z(?![\w\-$.])z(?x)
                (?<![\w$])
                E\.[\w$](?:[\w$\-]*[\w$])?
                (?:\.[\w$](?:[\w$\-]*[\w$])?)*
                (?=[({\[?!\s])z(?x)
                ([a-zA-Z$_](?:[\w$-]*[\w$])?)
                (?!\n)\s+
                (?!and|as|each\*|each|in|is|mod|of|or|when|where|with)
                (?=(?:[+\-*/~^<>%&|?!@#.])?[a-zA-Z$_](?:[\w$-]*[\w$])?)z7([a-zA-Z$_](?:[\w$-]*[\w$])?)(?!\n)(\s+)(?=[\'"\d{\[(])z(?x)
                (?:
                    (?<=[%=])|
                    (?<=[=\-]>)|
                    (?<=with|each|with)|
                    (?<=each\*|where)
                )(\s+)
                ([a-zA-Z$_](?:[\w$-]*[\w$])?)(:)zc(?x)
                (?<![+\-*/~^<>%&|?!@#.])(\s+)
                ([a-zA-Z$_](?:[\w$-]*[\w$])?)(:)zz(?x)
                (?<=[\w$\]})])(\.)
                ([a-zA-Z$_](?:[\w$-]*[\w$])?)
                (?=\s+with(?:\s|\n))zo(?x)
                (?<!\s)(\.)
                ([a-zA-Z$_](?:[\w$-]*[\w$])?)
                (?=[}\]).,;:\s])zq(?x)
                (?<=[\w$\]})])(\.)
                ([a-zA-Z$_](?:[\w$-]*[\w$])?)
                (?=[\[{(:]))eachzeach*modawaitr   chainr   elifz
expr-valuer   matchr   yieldpassr   requirevarletasyncmethodgen)r
   r  rt   z(?![\w\-$]))	r   r   r   r   r   r   ErrorFactoryENodePromise)sendobjectkeysr  	enumeratezipproduct
neighbours	predicateequalnequalcontainsreprclonerange
getCheckerzget-checkergetPropertyzget-propertygetProjectorzget-projectorconsumetake	promisifyspawnconstructorz(?<![\w\-#.])z(?![\w\-.]))r   r   r   r   z@([a-zA-Z$_](?:[\w$-]*[\w$])?)z)([a-zA-Z$_](?:[\w$-]*[\w$])?)(\+\+|\-\-)?z#[a-zA-Z_][\w\-]*(?=[\s{(,;])r   rJ   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})r   z[^\\\'"]z[\'"\\]r   z\\\\|\\"|\\\nr   z\\\\|\\'|\\\nz\{rE   z(?<!`)\nz\^=?z.+z```z[^`]+z \d+\.(?!\.)\d*([eE][+-]?[0-9]+)?z\d+[eE][+-]?[0-9]+z8r[0-7]+z2r[01]+z16r[a-fA-F0-9]+z5([3-79]|[12][0-9]|3[0-6])r[a-zA-Z\d]+(\.[a-zA-Z\d]+)?r   )rU  rV  r[  N)4rL   rM   rN   rO   rP   rR   rS   rT   rQ   rU   r   r   r   r   r   r   r   r   r   r   rc   r   r   r   re   rD  r   Startrk   r   r   DBSrE  r   rh   ControlFieldr%  rf   rv   rg   r   r'  rl   r   rb   r_   r^   r`   Radixra   rm   rn   rn   rn   ro   r#     s   

)
1
5
:E
	\


m~	 
    
      #  (
  .  
3
 r#   c                   @   s"  e Zd ZdZdZdZdgZdgZg dZdZ	e
je
jB Zdefd	eejefd
ejfgeddejdfdedfedgdedfgdedfeddejfdejfdejfdejfdedfdedfdefdedfdejdfdejfdejfdej fe!ej"fde#j$fd e#j%fd!ej&fd"ejfgd#Z'd$S )%r$   z!
    For Juttle source code.
    Juttlezhttp://juttle.github.io/juttlez*.juttle)zapplication/juttlezapplication/x-juttleztext/x-juttleztext/juttlez2.2r4   r   r6   r7   r8   r9   r:   r;   r=   z	^(?=\s|/)r?   z:\d{2}:\d{2}:\d{2}(\.\d*)?:zY:(now|beginning|end|forever|yesterday|today|tomorrow|(\d+(\.\d*)?|\.\d+)(ms|[smhdwMy])?):zN:\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d*)?)?(Z|[+-]\d{2}:\d{2}|[+-]\d{4})?:z:((\d+(\.\d*)?|\.\d+)[ ]+)?(millisecond|second|minute|hour|day|week|month|year)[s]?(([ ]+and[ ]+(\d+[ ]+)?(millisecond|second|minute|hour|day|week|month|year)[s]?)|[ ]+(ago|from[ ]+now))*:z8\+\+|--|~|&&|\?|:|\|\||\\(?=\n)|(==?|!=?|[-<>+*%&|^/])=?r@   rA   z"(import|return|continue|if|else)\bz((var|const|function|reducer|sub|input)\bz{(batch|emit|filter|head|join|keep|pace|pass|put|read|reduce|remove|sequence|skip|sort|split|tail|unbatch|uniq|view|write)\bz(true|false|null|Infinity)\bz6(Array|Date|Juttle|Math|Number|Object|RegExp|String)\br   r   rC   rD   )r7   r?   r<   rK   N)(rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   r   r   r   rZ   r[   r   r   r\   r   r   Momentr   r   r   re   rd   rf   r   rg   ri   r   r   rb   ra   rj   rm   rn   rn   rn   ro   r$     sr    
r$   c                   @   s0   e Zd ZdZdZdgZdgZdZdZdd Z	d	S )
r%   a  
    For parsing within an interactive Node.js REPL, such as:

    .. sourcecode:: nodejsrepl

        > let a = 3
        undefined
        > a
        3
        > let b = '4'
        undefined
        > b
        '4'
        > b == a
        false

    .. versionadded: 2.10
    zNode.js REPL console session
nodejsreplztext/x-nodejsreplzhttps://nodejs.orgr3   c           	   
   c   s.   t di | j}d}g }t|D ]s}| }|dr@|t|dtj	|d d fdt
|dd fgf ||dd  7 }q|dri|d}t|t| }|t|dtj	|d | fgf ||7 }q|rzt|||E d H  d}g }tg ||E d H  q|rt|||E d H  d S d S )	Nr3   z> r         z...rC  rn   )r   r  r   finditergroup
startswithr  lenr   Promptr   lstripr   r  )	r  r  jslexercurcode
insertionsrd  linecodeleadrn   rn   ro   r    sD   






z'NodeConsoleLexer.get_tokens_unprocessedN)
rL   rM   rN   rO   rP   rR   rT   rQ   rU   r  rn   rn   rn   ro   r%     s    r%   )1rO   rV   pygments.lexerr   r   r   r   r   r   r   r	   r
   r   r   r   pygments.tokenr   r   r   r   r   r   r   r   r   r   r   pygments.utilr   pygments.unistring	unistringuni__all__combineJS_IDENT_STARTJS_IDENT_PARTri   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   rn   rn   rn   ro   <module>   sB    
84k' pg   `qw YC