Ë
    !täiXm  ã                   ó
  — d Z ddlZddlmZmZmZmZmZ ddlm	Z	m
Z
mZmZmZmZmZmZmZmZ d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y)zæ
    pygments.lexers.basic
    ~~~~~~~~~~~~~~~~~~~~~

    Lexers for BASIC like languages (other than VB.net).

    :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    N)Ú
RegexLexerÚbygroupsÚdefaultÚwordsÚinclude)
ÚCommentÚErrorÚKeywordÚNameÚNumberÚPunctuationÚOperatorÚStringÚTextÚ
Whitespace)Ú_vbscript_builtins)ÚBlitzBasicLexerÚBlitzMaxLexerÚMonkeyLexerÚCbmBasicV2LexerÚQBasicLexerÚVBScriptLexerÚBBCBasicLexerc                    óâ  — e Zd ZdZdZdZddgZdgZdgZdZ	d	Z
d
ZdZdZde› de› de› de› d�	Zedz   Zej"                  ej$                  z  Zdefd eee«      fdej0                  fdej2                  fdej6                  dfdej:                  fdej:                  fdej<                  fdej>                  fdej@                  fde
› d�e!fd e"fd!e#jH                  fd"ejJ                  fd#e› d$� ee&jN                  ee"e#jP                  «      fd%e› d&e› d$� ee&jN                  ee&jR                  «      fe ee#jT                  ee&jV                  e!ee"ee&jV                  e#jP                  ee&jV                  ee"«      fe ee#jX                  ee&jV                  e!ee"ee&jV                  e#jP                  ee&jV                  «      fd'e› d$� ee&jN                  ee#jP                  «      fd(e&jV                  fd)e&jZ                  fd*e&j\                  f e/d+d,d,¬-«      e#j`                  f e/d.d,d,¬-«      e&jN                  fde› d$�e#jX                  fgd/ej6                  fd0ej6                  d1fd2ej6                  fgd3œZ1y4)5r   z#
    For BlitzMax source code.
    ÚBlitzMaxúhttp://blitzbasic.comÚblitzmaxÚbmaxz*.bmxz
text/x-bmxz1.4z\b(Shl|Shr|Sar|Mod)\bz@{1,2}|[!#$%]z&\b(Int|Byte|Short|Float|Double|Long)\bú	[a-z_]\w*Ú(z)(?:(?:([ \t]*)(z?)|([ \t]*:[ \t]*\b(?:Shl|Shr|Sar|Mod)\b)|([ \t]*)(:)([ \t]*)(?:z|(z)))(?:([ \t]*)(Ptr))?)z?((?:[ \t]|\.\.\n)*)([(])ú\s+z
(\.\.)(\n)z'.*?\nz*([ \t]*)\bRem\n(\n|.)*?\s*\bEnd([ \t]*)RemÚ"Ústringú[0-9]+\.[0-9]*(?!\.)z\.[0-9]*(?!\.)ú[0-9]+ú\$[0-9a-f]+ú\%[10]+z(?:(?:(:)?([ \t]*)(:?z"|([+\-*/&|~]))|Or|And|Not|[=<>^]))z[(),.:\[\]]z(?:#[\w \t]*)z(?:\?[\w \t]*)z\b(New)\b([ \t]?)([(]?)(Ú)z$\b(Import|Framework|Module)([ \t]+)(ú\.z\b(Type|Extends)([ \t]+)(z	\b(Ptr)\bz#\b(Pi|True|False|Null|Self|Super)\bz\b(Local|Global|Const|Field)\b)ÚTNullMethodExceptionÚTNullFunctionExceptionÚTNullObjectExceptionÚTArrayBoundsExceptionÚTRuntimeExceptionú\b©ÚprefixÚsuffix)EÚStrictÚSuperStrictÚModuleÚ
ModuleInfoÚEndÚReturnÚContinueÚExitÚPublicÚPrivateÚVarÚVarPtrÚChrÚLenÚAscÚSizeOfÚSgnÚAbsÚMinÚMaxÚNewÚReleaseÚDeleteÚIncbinÚ	IncbinPtrÚ	IncbinLenÚ	FrameworkÚIncludeÚImportÚExternÚ	EndExternÚFunctionÚEndFunctionÚTypeÚEndTypeÚExtendsÚMethodÚ	EndMethodÚAbstractÚFinalÚIfÚThenÚElseÚElseIfÚEndIfÚForÚToÚNextÚStepÚEachInÚWhileÚWendÚEndWhileÚRepeatÚUntilÚForeverÚSelectÚCaseÚDefaultÚ	EndSelectÚTryÚCatchÚEndTryÚThrowÚAssertÚGotoÚDefDataÚReadDataÚRestoreDataú""ú"C?ú#popz[^"]+©Úrootr#   N)2Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚaliasesÚ	filenamesÚ	mimetypesÚversion_addedÚbmax_vopwordsÚbmax_sktypesÚbmax_lktypesÚ	bmax_nameÚbmax_varÚ	bmax_funcÚreÚ	MULTILINEÚ
IGNORECASEÚflagsr   r   r   r   ÚSingleÚ	Multiliner   ÚDoubler   ÚFloatÚIntegerÚHexÚBinr   r   r   ÚLabelÚPreprocr
   ÚReservedÚClassÚ	NamespacerR   rT   ÚVariableÚConstantÚDeclarationr   Ú	ExceptionÚtokens© ó    úd/Volumes/fast/ai/experiments/MLX_z-image/.venv/lib/python3.12/site-packages/pygments/lexers/basic.pyr   r      s	  „ ñð €DØ
!€CØ˜6Ð"€GØ�	€IØ�€IØ€Mà,€MØ#€LØ<€LØ€IØ�Y�KÐ/°¨~ð >+Ø+7¨.¸¸9¸+ÐE[ð]€HàÐ7Ñ7€Ià�L‰L˜2Ÿ=™=Ñ(€Eð �ZÐ Ø™H T¨:Ó6Ð7à˜Ÿ™Ð'Ø:¸G×<MÑ<MÐNà�&—-‘- Ð*à$ f§l¡lÐ3Ø §¡Ð-Ø˜Ÿ™Ð'Ø˜VŸZ™ZÐ(Ø˜Ÿ™Ð$à% m _Ð4VÐWÐYaÐbØ˜[Ð)Ø˜tŸz™zÐ*Ø §¡Ð0à(¨¨°1Ð5Ù�g×&Ñ&¨
°KÀÇÁÓLðNà4°Y°K¸rÀ)ÀÈAÐNÙ�g×&Ñ&¨
°G×4EÑ4EÓFðHà™ §¡°
¸G¿L¹LØ!)¨:°{ÀJØ!(§¡¨t¯z©z¸:Ø!(§¡¨z¸;óHð Ið ‘x §¡¨z¸7¿<¹<ÈØ *¨K¸ÀWÇ\Á\Ø $§
¡
¨J¸¿¹óFð Gð *¨)¨°AÐ6Ù�g×&Ñ&¨
°D·J±JÓ?ðAð ˜7Ÿ<™<Ð(Ø3°W×5EÑ5EÐFØ.°×0CÑ0CÐDÙð %ð .3¸5ôBð DHÇ>Á>ðSñ ð ð (-°Uô<ð ×Ñðð �)�˜AÐ §¡Ð.ðq9
ðv �F—M‘MÐ"Ø�V—]‘] FÐ+Ø�v—}‘}Ð%ð
ñw@�Fr£   r   c                   ó‚  — e Zd ZdZdZdZg d¢ZddgZdgZdZ	d	Z
d
Zde› de
› de› d�Zej                  ej                  z  Zdefdej&                  fdej*                  dfdej.                  fdej.                  fdej0                  fdej2                  fdej4                  f eddd¬«      efdefdefde› d�ej>                  fde› d� e e!jD                  eejF                  «      fd e› d� e e!jD                  eej>                  «      fd!e› d"� e eeeeejF                  «      fde› d#� e ejH                  ee!jJ                  eeeejF                  ee«	      fd$e› � e e!jD                  eejH                  ee!jJ                  eeeejF                  «	      fd%e› d� e e!jD                  eejF                  «      fd&e!jL                  fd'e!jN                  f ed(dd¬«      e!jD                  fe e ejP                  ee!jJ                  eeeejF                  «      fgd)ej*                  fd*ej*                  d+fd,ej*                  fgd-œZ)y.)/r   z%
    For BlitzBasic source code.
    Ú
BlitzBasicr   )Ú
blitzbasicÚb3dÚbplusz*.bbz*.declsz	text/x-bbú2.0z@{1,2}|[#$%]z[a-z]\w*r    z)(?:([ \t]*)(z)|([ \t]*)([.])([ \t]*)(?:(z)))?r!   z;.*?\nr"   r#   r$   ú\.[0-9]+(?!\.)r%   r&   r'   )ÚShlÚShrÚSarÚModÚOrÚAndÚNotrD   rC   ÚHandleÚIntr”   ÚStrÚFirstÚLastÚBeforeÚAfterr/   r0   z([+\-*/~=<>^])z[(),:\[\]\\]z\.([ \t]*)(r(   z\b(New)\b([ \t]+)(z\b(Gosub|Goto)\b([ \t]+)(z"\b(Object)\b([ \t]*)([.])([ \t]*)(z)\bz\b([ \t]*)(\()z\b(Function)\b([ \t]+)z\b(Type)([ \t]+)(z\b(Pi|True|False|Null)\bz"\b(Local|Global|Const|Field|Dim)\b)#r7   r8   r:   r?   r@   rA   rG   rI   ÚInsertrN   rR   rT   r[   r\   r]   r^   r_   r`   ra   rb   rc   ÚEachre   rf   rh   ri   rj   rk   rl   rm   rt   ÚGosubÚDataÚReadÚRestorerx   ry   rz   ú[^"\n]+r{   N)*r}   r~   r   r€   r�   r‚   rƒ   r„   r…   r†   Ú
bb_sktypesÚbb_nameÚbb_varr�   rŽ   r�   r�   r   r   r‘   r   r“   r   r”   r•   r–   r—   r   r   r   r   r˜   r   r
   rš   r›   rR   rT   rž   rŸ   r�   r¡   r¢   r£   r¤   r   r   o   sÖ  „ ñð €DØ
!€CÚ,€GØ˜Ð#€IØ�€IØ€Mà €JØ€GØ�7�)˜=¨¨Ð4OÐPWÈyÐX\Ð]€Fà�L‰L˜2Ÿ=™=Ñ(€Eð �ZÐ à˜Ÿ™Ð'à�&—-‘- Ð*à$ f§l¡lÐ3Ø §¡Ð-Ø˜Ÿ™Ð'Ø˜VŸZ™ZÐ(Ø˜Ÿ™Ð$áð 8ð  ¨ô/ð ð	ð
  Ð)Ø˜kÐ*Ø˜G˜9 AÐ&¨¯
©
Ð3à" 7 )¨1Ð-Ù�g×&Ñ&¨
°D·J±JÓ?ðAà)¨'¨°!Ð4Ù�g×&Ñ&¨
°D·J±JÓ?ðAà2°7°)¸3Ð?Ù�h 
¨K¸ÀTÇZÁZÓPðRà�6�(˜.Ð)Ù�d—m‘m Z°·±¸zÈ;Ø  $§*¡*¨j¸+óGðHð ' v hÐ/Ù�g×&Ñ&¨
°D·M±MÀ:ÈwÏ|É|Ø  +¨z¸4¿:¹:óGðHð " ' ¨!Ð,Ù�g×&Ñ&¨
°D·J±JÓ?ðAð )¨'×*:Ñ*:Ð;Ø2°G×4GÑ4GÐHÙð <ð
 EJÐRWôYð ×Ñðð ‘X˜dŸm™m¨Z¸¿¹Ø(¨+°zÀ4Ç:Á:óOð Pðc3
ðj �F—M‘MÐ"Ø�V—]‘] FÐ+Ø˜Ÿ™Ð'ð
ñk:�Fr£   r   c                   óR  — e Zd ZdZdZdgZdgZdgZdZdZ	dZ
d	Zd
Zd	ZdZdZdZej$                  Zg def‘def‘dej,                  df‘dej.                  f‘dej.                  df‘dej2                  df‘dej6                  f‘dej6                  f‘dej8                  f‘dej:                  f‘dej<                  f‘de› d�ej@                  f‘dejB                  f‘de"jF                  f‘de"jH                  f‘d e"jH                  jJ                  f‘d!e"jL                  f‘d" e'ejP                  ee"jP                  e«      f‘d#ejB                  f‘d$ e'ejR                  e«      df‘d% e'ejB                  e«      d&f‘d' e'ejB                  e«      d(f‘d)ejB                  f‘d*ejB                  f‘d+ejB                  f‘d,e*f‘d-e+f‘d.e+jX                  f‘d/e*f‘e› d�e"jL                  f‘e› d�e"jZ                  f‘e
› d�e"j\                  f‘d0e› d�e"jZ                  fd1e*d&fdefd2e*dfd3e*d4fge› d5�e"jP                  fe› d�ej@                  fe› d�e"j^                  fd6 e'e*eej8                  ee*«      fd7ed4fd8e*d9fd:e*d4fd;ed4f e0d4«      g	e› d�e"jL                  fe
› d�e"j\                  fe› ej@                  fdefd1e*d&fd<e*d9f e0d4«      gd=ej2                  fd>ejb                  fdej2                  d4fgd?ej,                  d9fd@ej,                  d4fd;ej,                  fdAej,                  fgdBœZ2yC)Dr   z!
    For Monkey source code.
    ÚMonkeyÚmonkeyz*.monkeyztext/x-monkeyz%https://blitzresearch.itch.io/monkeyxú1.6r   z[A-Z]\w*z[A-Z_][A-Z0-9_]*z
[a-z0-9_]*z+(?:Int|Float|String|Bool|Object|Array|Void)z[?%#$]r!   z'.*z(?i)^#rem\bÚcommentz6(?i)^(?:#If|#ElseIf|#Else|#EndIf|#End|#Print|#Error)\bz^#Ú	variablesr"   r#   r$   r«   r%   z\$[0-9a-fA-Z]+r'   r/   z(?i)\b(?:Try|Catch|Throw)\bÚ	Throwablez(?i)\b(?:Null|True|False)\bz(?i)\b(?:Self|Super)\bz\b(?:HOST|LANG|TARGET|CONFIG)\bz(?i)^(Import)(\s+)(.*)(\n)z(?i)^Strict\b.*\nz#(?i)(Const|Local|Global|Field)(\s+)z1(?i)(New|Class|Interface|Extends|Implements)(\s+)Ú	classnamez(?i)(Function|Method)(\s+)ÚfuncnamezB(?i)(?:End|Return|Public|Private|Extern|Property|Final|Abstract)\bz‡(?i)(?:If|Then|Else|ElseIf|EndIf|Select|Case|Default|While|Wend|Repeat|Until|Forever|For|To|Until|Step|EachIn|Next|Exit|Continue)(?=\s)z(?i)\b(?:Module|Inline)\bz[\[\]]z.<=|>=|<>|\*=|/=|\+=|-=|&=|~=|\|=|[-&*/^+=<>|~]z(?i)(?:Not|Mod|Shl|Shr|And|Or)z[(){}!#,.:]z(?i)Ú:z\(z\)rz   r)   z(\[)(\s*)(\d*)(\s*)(\])z\s+(?!<)Ú<z#pushÚ>ú\nÚ,z[^"~]+z~q|~n|~r|~t|~z|~~z(?i)^#rem.*?z(?i)^#end.*?z.+)r|   rÌ   rË   rÉ   r#   rÈ   N)3r}   r~   r   r€   r�   rƒ   r„   r…   r‚   r†   Úname_variableÚname_functionÚname_constantÚ
name_classÚname_moduleÚkeyword_typeÚkeyword_type_specialr�   rŽ   r�   r   r   r’   r™   r   r“   r   r”   r•   r–   r—   r
   rT   rš   r   r    ÚBuiltinÚPseudorž   r   rœ   rŸ   r   r   ÚWordrR   r�   r›   r   ÚEscaper¡   r¢   r£   r¤   r   r   ½   sí  „ ñð €DØˆj€GØ�€IØ Ð!€IØ
1€CØ€Mà €MØ€MØ'€MØ€JØ€KàA€Là$Ðà�L‰L€Eð:
à�ZÐ ð:
ð �WÐð	:
ð
 ˜W×.Ñ.°	Ð:ð:
ð GÈÏÉÐXð:
ð �G—O‘O [Ð1ð:
ð �&—-‘- Ð*ð:
ð % f§l¡lÐ3ð:
ð  §¡Ð-ð:
ð ˜Ÿ™Ð'ð:
ð   §
¡
Ð+ð!:
ð" ˜Ÿ™Ð$ð#:
ð& �<�. Ð# W§\¡\Ð2ð':
ð* ,¨W×-=Ñ-=Ð>ð+:
ð, ˜4Ÿ>™>Ð*ð-:
ð0 ,¨T¯\©\Ð:ð1:
ð2 '¨¯©×(;Ñ(;Ð<ð3:
ð4 0°·±Ð?ð5:
ð8 +Ù�g×'Ñ'¨°T·^±^ÀZÓPðRð9:
ð< " 7×#3Ñ#3Ð4ð=:
ð> 4Ù�g×)Ñ)¨:Ó6¸ðEð?:
ðB BÙ�g×&Ñ&¨
Ó3°[ðBðC:
ðF +Ù�g×&Ñ&¨
Ó3°ZðAðG:
ðJ"Ø#*×#3Ñ#3ð5ðK:
ðP%ð
 '.×&6Ñ&6ð8ðQ:
ð^ *¨7×+;Ñ+;Ð<ð_:
ðb ˜Ð$ðc:
ðf ?ÀÐIðg:
ðh /°·±Ð>ði:
ðj ˜[Ð)ðk:
ðn �˜rÐ" D§M¡MÐ2ðo:
ðp �˜rÐ" D§M¡MÐ2ðq:
ðr �˜rÐ" D§M¡MÐ2ðs:
ðx �]�O 2Ð&¨¯©Ð6Ø�; Ð,Ø�ZÐ Ø�K Ð-Ø�K Ð(ð
ð �˜RÐ  $§.¡.Ð1Ø�˜bÐ! 7§<¡<Ð0Ø�˜BÐ §¡Ð,à'Ù�k :¨v¯~©~¸zÈ;ÓWðYð ˜* fÐ-Ø�; Ð(Ø�; Ð'Ø�J Ð'Ù�F‹Oð
ð �˜rÐ" D§M¡MÐ2Ø�˜rÐ" D§M¡MÐ2Ø%Ð&¨¯©Ð6Ø�ZÐ Ø�; Ð,Ø�; Ð(Ù�F‹Oð
ð ˜Ÿ™Ð&Ø! 6§=¡=Ð1Ø�6—=‘= &Ð)ð
ð ˜g×/Ñ/°Ð9Ø˜g×/Ñ/°Ð8Ø�G×%Ñ%Ð&Ø�G×%Ñ%Ð&ð	
ñe�Fr£   r   c                   ó  — e Zd ZdZdZdgZdgZdZdZe	j                  Zddej                  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fdej0                  fdefdefgiZd„ Zy)r   z#
    For CBM BASIC V2 sources.
    zCBM BASIC V2Úcbmbasú*.basz-https://en.wikipedia.org/wiki/Commodore_BASICrÇ   r|   zrem.*\nr!   z–new|run|end|for|to|next|step|go(to|sub)?|on|return|stop|cont|if|then|input#?|read|wait|load|save|verify|poke|sys|print#?|list|clr|cmd|open|close|get#?zdata|restore|dim|let|def|fnzktab|spc|sgn|int|abs|usr|fre|pos|sqr|rnd|log|exp|cos|sin|tan|atn|peek|len|val|asc|(str|chr|left|right|mid)\$z
[-+*/^<>=]z
not|and|orz	"[^"\n]*.z\d+|[-+]?\d*\.\d*(e[-+]?\d+)?z[(),:;]z\w+[$%]?c                 ó2   — t        j                  d| «      ryy )Nz^\d+gš™™™™™É?)r�   Úmatch©Útexts    r¤   Úanalyse_textzCbmBasicV2Lexer.analyse_text\  s   € ô �8‰8�G˜TÔ"Øð #r£   N)r}   r~   r   r€   r�   rƒ   r„   r‚   r†   r�   r�   r�   r   r‘   r   r
   rš   rŸ   r   rÙ   r   rÛ   r   r   r”   r   r¡   rä   r¢   r£   r¤   r   r   =  sÇ   „ ñð €DØˆj€GØ�	€IØ
9€CØ€Mà�M‰M€Eð 	Ø˜Ÿ™Ð(Ø�ZÐ ð/à07×0@Ñ0@ðBð ,¨W×-@Ñ-@ÐAð=Ø>B¿l¹lðLà˜HÐ%Ø˜HŸM™MÐ*Ø˜6Ð"Ø-¨v¯|©|Ð<Ø˜Ð%Ø˜$Ðð
ð€Fó&r£   r   c                   óL  — e Zd ZdZdZddgZddgZdgZdZd	Z	d
Z
dZdZdZdZdZdefdej"                  fd eej"                  ej(                  ej"                  ej,                  «      fd eej"                  ej(                  ej"                  «      fdej.                  j0                  fdej,                  fdej4                  fd eej8                  ej"                  ej8                  «      fd eej:                  ej"                  ej.                  ej"                  e«      fd eej:                  ej"                  ej.                  ej"                  ej.                  j0                  «      fd eej:                  ej"                  ej.                  j0                  «      fd eej"                  ej.                  j0                  ej"                  e«      fd eej8                  ej"                  ej(                  «      fd eej8                  ej"                  ej(                  «      f ed«       ed«       ed «       ed!«       ed"«       ed#«      d$ej.                  j0                  fd%ej(                  fd&e jB                  fd'e jB                  fd(e jD                  jF                  fd(e jD                  fd)efd*e$fd+ej.                  j0                  fgd,jK                  d-jM                   e'e(jR                  e
«      «      «      ej:                  fgd,jK                  d-jM                   e'e(jR                  e«      «      «      ej8                  fgd,jK                  d-jM                   e'e(jR                  e«      «      «      ejT                  fgd,jK                  d-jM                   e'e(jR                  e«      «      «      ejV                  fgd.jK                  d-jM                   e'e(jR                  e«      «      «      ej8                  fgd.jK                  d-jM                  e«      «      efgd/œZ,d0„ Z-y1)2r   z!
    For QBasic source code.
    ÚQBasicÚqbasicÚbasicz*.BASrß   z
text/basicz$https://en.wikipedia.org/wiki/QBasicrª   )ÚDATAÚLET)UÚABSÚASCÚATNÚCDBLúCHR$ÚCINTÚCLNGzCOMMAND$ÚCOSÚCSNGÚCSRLINÚCVDÚCVDMBFÚCVIÚCVLÚCVSÚCVSMBFúDATE$zENVIRON$ÚEOFÚERDEVzERDEV$ÚERLÚERRÚEXPÚFILEATTRÚFIXÚFREÚFREEFILEzHEX$úINKEY$ÚINPzINPUT$ÚINSTRÚINTzIOCTL$ÚLBOUNDzLCASE$úLEFT$ÚLENÚLOCÚLOFÚLOGÚLPOSzLTRIM$úMID$zMKD$zMKDMBF$zMKI$zMKL$zMKS$zMKSMBF$zOCT$ÚPEEKÚPENÚPLAYÚPMAPÚPOINTÚPOSúRIGHT$ÚRNDzRTRIM$ÚSADDÚSCREENÚSEEKÚSETMEMÚSGNÚSINzSPACE$ÚSPCÚSQRÚSTICKúSTR$ÚSTRIGúSTRING$ÚTABÚTANúTIME$ÚTIMERÚUBOUNDzUCASE$ÚVALÚVARPTRzVARPTR$ÚVARSEG)ú$DYNAMICz$INCLUDEú$STATIC)ÚANDÚEQVÚIMPÚNOTÚORÚXOR)�ÚBEEPÚBLOADÚBSAVEÚCALLzCALL ABSOLUTEzCALL INTERRUPTÚCALLSÚCHAINÚCHDIRÚCIRCLEÚCLEARÚCLOSEÚCLSÚCOLORÚCOMÚCOMMONÚCONSTré   rû   ÚDECLAREzDEF FNzDEF SEGÚDEFDBLÚDEFINTÚDEFLNGÚDEFSNGÚDEFSTRÚDEFÚDIMÚDOÚLOOPÚDRAWÚENDÚENVIRONÚERASEÚERRORÚEXITÚFIELDÚFILESÚFORÚNEXTÚFUNCTIONÚGETÚGOSUBÚGOTOÚIFÚTHENÚINPUTzINPUT #ÚIOCTLÚKEYr`  ÚKILLrê   ÚLINEz
LINE INPUTzLINE INPUT #ÚLOCATEÚLOCKÚUNLOCKÚLPRINTÚLSETr  ÚMKDIRÚNAMEzON COMzON ERRORzON KEYzON PENzON PLAYzON STRIGzON TIMERz	ON UEVENTÚONÚOPENzOPEN COMzOPTION BASEÚOUTÚPAINTÚPALETTEÚPCOPYr  r  ÚPOKEÚPRESETÚPRINTzPRINT #zPRINT USINGÚPSETÚPUTrt  Ú	RANDOMIZEÚREADÚREDIMÚREMÚRESETÚRESTOREÚRESUMEÚRETURNÚRMDIRÚRSETÚRUNr  r  zSELECT CASEÚSHAREDÚSHELLÚSLEEPÚSOUNDÚSTATICÚSTOPr#  ÚSUBÚSWAPÚSYSTEMr'  r(  ÚTROFFÚTRONÚTYPEÚUEVENTre  ÚVIEWÚWAITÚWHILEÚWENDÚWIDTHÚWINDOWÚWRITE)#ÚACCESSÚALIASÚANYÚAPPENDÚASÚBASEÚBINARYÚBYVALÚCASEÚCDECLÚDOUBLEÚELSEÚELSEIFÚENDIFÚINTEGERÚISÚLISTÚLOCALÚLONGrM  ÚMODrW  ÚOFFrj  ÚOUTPUTÚRANDOMÚSIGNALÚSINGLEÚSTEPÚSTRINGr]  ÚTOÚUNTILÚUSINGr�  z\n+r!   z^(\s*)(\d*)(\s*)(REM .*)$z^(\s*)(\d+)(\s*)z(?=[\s]*)(\w+)(?=[\s]*=)z(?=[^"]*)\'.*$z	"[^\n"]*"z"(END)(\s+)(FUNCTION|IF|SELECT|SUB)z (DECLARE)(\s+)([A-Z]+)(\s+)(\S+)z (DIM)(\s+)(SHARED)(\s+)([^\s(]+)z(DIM)(\s+)([^\s(]+)z^(\s*)([a-zA-Z_]+)(\s*)(\=)z(GOTO|GOSUB)(\s+)(\w+\:?)z(SUB)(\s+)(\w+\:?)ÚdeclarationsÚ	functionsÚmetacommandsÚ	operatorsÚ
statementsÚkeywordsz[a-zA-Z_]\w*[$@#&!]z[a-zA-Z_]\w*\:z\-?\d*\.\d+[@|#]?z\-?\d+[@|#]z\-?\d+#?z'!=|==|:=|\.=|<<|>>|[-~+/\\*%=<>&^|?:!.]z[\[\]{}(),;]z[\w]+z\b({})(?=\(|\b)Ú|z\b({})\b)r|   r²  r³  r´  rµ  r¶  r·  c                 ó   — d| v sd| v ryy )Nr-  r.  çÍÌÌÌÌÌì?r¢   râ   s    r¤   rä   zQBasicLexer.analyse_textë  s   € Ø˜Ñ ¨dÑ!2Øð "3r£   N).r}   r~   r   r€   r�   rƒ   r„   r…   r‚   r†   r²  r³  r´  rµ  r¶  r·  r   r   r   r   r˜   r   r‘   r�   ÚGlobalr   r“   r
   rš   rŸ   r   r   r   r”   r•   ÚLongr   ÚformatÚjoinÚmapr�   Úescaperž   rÛ   r¡   rä   r¢   r£   r¤   r   r   c  sú  „ ñð €DØ˜Ð!€GØ˜'Ð"€IØ�€IØ
0€CØ€Mà"€Lð€Ið  7€Là9€Ið€Jð.€Hð �TˆNØ�T—_‘_Ð%Ø)Ù�d—o‘o t§z¡z°4·?±?Ø—n‘nó&ð'ð !Ù�d—o‘o t§z¡z°4·?±?ÓCðEà(¨$¯-©-×*>Ñ*>Ð?Ø §¡Ð/Ø˜6Ÿ=™=Ð)Ø2Ù�g×&Ñ&¨¯©¸×9IÑ9IÓJðLà0Ù�g×)Ñ)¨4¯?©?¸D¿M¹MØ—o‘o tó-ð.ð 1Ù�g×)Ñ)¨4¯?©?¸D¿M¹MØ—o‘o t§}¡}×';Ñ';ó=ð>ð $Ù�g×)Ñ)¨4¯?©?¸D¿M¹M×<PÑ<PÓQðSà+Ù�d—o‘o t§}¡}×';Ñ';¸T¿_¹_Øó ð!ð *Ù�g×&Ñ&¨¯©¸¿¹ÓDðFà"Ù�g×&Ñ&¨¯©¸¿¹ÓDðFá�NÓ#Ù�KÓ Ù�NÓ#Ù�KÓ Ù�LÓ!Ù�JÓØ# T§]¡]×%9Ñ%9Ð:Ø §
¡
Ð+Ø! 6§<¡<Ð0Ø˜VŸ\™\Ð*Ø˜&Ÿ.™.×-Ñ-Ð.Ø˜&Ÿ.™.Ð)Ø7¸ÐBØ˜kÐ*Ø�t—}‘}×+Ñ+Ð,ðU+
ð^  ×&Ñ& s§x¡x±°B·I±I¸|Ó0LÓ'MÓNØ× Ñ ð"ð
ð
  ×&Ñ& s§x¡x±°B·I±I¸yÓ0IÓ'JÓKØ×Ñðð
ð
  ×&Ñ& s§x¡x±°B·I±I¸|Ó0LÓ'MÓNØ×Ñðð
ð
  ×&Ñ& s§x¡x±°B·I±I¸yÓ0IÓ'JÓKÈXÏ]É]Ð[ð
ð ×Ñ §¡©¨R¯Y©Y¸
Ó)CÓ DÓEØ×Ñðð
ð
 ×Ñ §¡¨Ó 2Ó3°WÐ=ð
ñEE€FóNr£   r   c                   óö  — e Zd ZdZdZdgZddgZdZdZe	j                  Zdej                  fd	efd
ej                   d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ej.                  eej2                  «      dfd eej.                  eej4                  «      fd eej.                  eej6                  «      fd eej.                  eej8                  «      fd eeee«      fd eeeeeeeej(                  «      fd eeeeeeee«      fd eeee«      fd eej.                  eej.                  eej:                  «      fdej                  f eej@                  d¬«      ef eejB                  «      e"f eejF                  d¬«      e"jH                  f eejJ                  d¬«      ej8                  f eejL                  d¬«      ejN                  f eejP                  d¬«      ejN                  fdefd e"f ed!«      e)fd"e*fgd# eee)eej2                  «      f e+d$«      gd%ej                   fd&ej                   fd
ej                   d$fd'e*d$fgd(œZ,y))*r   zI
    VBScript is scripting language that is modeled on Visual Basic.
    ÚVBScriptÚvbscriptz*.vbsz*.VBSzEhttps://learn.microsoft.com/en-us/previous-versions/t0aew7h6(v=vs.85)ú2.4z'[^\n]*r!   r"   r#   z&h[0-9a-f]+z[0-9]+\.[0-9]*(e[+-]?[0-9]+)?z\.[0-9]+(e[+-]?[0-9]+)?z[0-9]+e[+-]?[0-9]+r%   z#.+#z(dim)(\s+)([a-z_][a-z0-9_]*)Údim_morez%(function|sub)(\s+)([a-z_][a-z0-9_]*)z(class)(\s+)([a-z_][a-z0-9_]*)z(const)(\s+)([a-z_][a-z0-9_]*)z/(end)(\s+)(class|function|if|property|sub|with)z#(on)(\s+)(error)(\s+)(goto)(\s+)(0)z((on)(\s+)(error)(\s+)(resume)(\s+)(next)z(option)(\s+)(explicit)z3(property)(\s+)(get|let|set)(\s+)([a-z_][a-z0-9_]*)zrem\s.*[^\n]*r/   )r2   z[a-z_][a-z0-9_]*z\b_\nz(),.:z.+(\n)?z(\s*)(,)(\s*)([a-z_][a-z0-9]*)rz   rÀ   z\"\"rÐ   )r|   rÅ  r#   N)-r}   r~   r   r€   r�   rƒ   r„   r‚   r†   r�   r�   r�   r   r‘   r   r   r“   r   r–   r”   r•   r   r
   rŸ   r   r�   rR   r›   rž   ÚPropertyr   r   ÚKEYWORDSÚ	OPERATORSr   ÚOPERATOR_WORDSrÛ   ÚBUILTIN_CONSTANTSÚBUILTIN_FUNCTIONSrÙ   ÚBUILTIN_VARIABLESr   r	   r   r¡   r¢   r£   r¤   r   r   ð  sÜ  „ ñð €DØˆl€GØ˜'Ð"€IØ
Q€CØ€Mà�M‰M€Eð ˜Ÿ™Ð(Ø�ZÐ Ø�&—-‘- Ð*Ø˜FŸJ™JÐ'à-¨v¯|©|Ð<Ø'¨¯©Ð6Ø" F§L¡LÐ1Ø˜Ÿ™Ð'Ø�VÐØ,Ù�g×)Ñ)¨:°t·}±}ÓEÀzðSà5Ù�g×)Ñ)¨:°t·}±}ÓEðGà.Ù�g×)Ñ)¨:°t·z±zÓBðDà.Ù�g×)Ñ)¨:°t·}±}ÓEðGà?Ù�g˜z¨7Ó3ð5à3Ù�g˜z¨7°JÀÈÐU[×UcÑUcÓdðfà8Ù�g˜z¨7°JÀÈÐU\Ó]ð_à'©°'¸:ÀwÓ)OÐPØCÙ�g×)Ñ)¨:°w×7JÑ7JÈJÐX\×XeÑXeÓfðhà˜wŸ~™~Ð.ÙÐ%×.Ñ.°uÔ=¸wÐGÙÐ%×/Ñ/Ó0°(Ð;ÙÐ%×4Ñ4¸UÔCÀXÇ]Á]ÐSÙÐ%×7Ñ7ÀÔFÈÏÉÐVÙÐ%×7Ñ7ÀÔFÈÏÉÐUÙÐ%×7Ñ7ÀÔFÈÏÉÐUØ  $Ð'Ø�xÐ Ù�8‹_˜kÐ*Ø˜ÐðM'
ðR /Ù�j +¨z¸4¿=¹=ÓIðKá�F‹Oð
ð ˜Ÿ™Ð'Ø�f—m‘mÐ$Ø�6—=‘= &Ð)Ø�E˜6Ð"ð	
ñ]4�Fr£   r   c                   ó&  — e Zd ZdZg d¢Zg d¢ZdZdgZdgZdZ	dZ
d	ej                  fd
 eej                  ej"                  «      f ed«      gd eej&                  ej(                  «      fdedfdefdej,                  fd eej&                  eej&                  ej.                  «      fd eeej.                  «      fd eeeej                  «      fdej0                  fdej                  f ee«      ef ee«      efdej6                  d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jB                  fde"fgd ej6                  fdej6                  d!fde#dfgd"œZ$d#„ Z%y$)%r   zy
    BBC Basic was supplied on the BBC Micro, and later Acorn RISC OS.
    It is also used by BBC Basic For Windows.
    )wÚ	OTHERWISEr/  ÚDIVÚEORr§  r3  rR  rb  r¨  r­  r  r%  rŸ  r]  ÚOPENINÚPTRÚPAGEÚTIMEÚLOMEMÚHIMEMrë   ÚACSÚADVALrì   ÚASNrí   ÚBGETrò   ÚCOUNTÚDEGrþ   rÿ   ÚEVALr   ÚEXTÚFALSEÚFNrY  ÚINKEYr  r  r  ÚLNr  r2  ÚOPENUPÚOPENOUTÚPIr  r  ÚRADr  r  r  r   r&  r¯  ÚTRUEÚUSRr*  ÚVPOSrï   zGET$r  r
  r  r  r"  r$  rü   rÒ  rÓ  rÔ  rÕ  rÖ  rƒ  ÚBPUTr8  r:  r=  r>  ÚCLGr?  ré   rJ  rK  rN  rO  ÚENDPROCÚENVELOPErV  rZ  r[  ÚGCOLr\  r^  rê   r¥  ÚMODEÚMOVErW  rj  ÚVDUÚPLOTrr  ÚPROCrv  rx  ÚREPEATÚREPORTrz  r|  r  r…  ÚCOLOURÚTRACEr°  r‘  ÚOSCLI)/ÚWHENÚOFÚENDCASEr¡  ÚENDWHILErœ  r<  ÚFILLÚORIGINr  Ú	RECTANGLEr‡  r�  rŽ  ÚMOUSEÚQUITÚSYSÚINSTALLÚLIBRARYÚTINTÚELLIPSEÚBEATSÚTEMPOÚVOICESÚVOICEÚSTEREOÚOVERLAYr—  ÚAUTOÚCRUNCHÚDELETEÚEDITÚHELPr¤  ÚLOADÚLVARÚNEWÚOLDÚRENUMBERÚSAVEÚTEXTLOADÚTEXTSAVEÚTWINÚTWINOr  ÚSUMÚBEATz	BBC BasicÚbbcbasicz*.bbcz(https://www.bbcbasic.co.uk/bbcbasic.htmlrÄ  r%   z(\*)([^\n]*)Úcodez(REM)([^\n]*)rÐ   r|   r!   rÍ   z%(DEF)(\s*)(FN|PROC)([A-Za-z_@][\w@]*)z(FN|PROC)([A-Za-z_@][\w@]*)z#(GOTO|GOSUB|THEN|RESTORE)(\s*)(\d+)z(TRUE|FALSE)z>(PAGE|LOMEM|HIMEM|TIME|WIDTH|ERL|ERR|REPORT\$|POS|VPOS|VOICES)r"   r#   z%[01]{1,32}z&[0-9a-f]{1,8}z"[+-]?[0-9]+\.[0-9]*(E[+-]?[0-9]+)?z[+-]?\.[0-9]+(E[+-]?[0-9]+)?z[+-]?[0-9]+E[+-]?[0-9]+z[+-]?\d+z([A-Za-z_@][\w@]*[%$]?)z1([+\-]=|[$!|?+\-*/%^=><();]|>=|<=|<>|<<|>>|>>>|,)rÀ   rz   )r|   r  r#   c                 óJ   — | j                  d«      s| j                  d«      ryy )Nz10REM >zREM >rº  )Ú
startswithrâ   s    r¤   rä   zBBCBasicLexer.analyse_textŽ  s"   € Ø�?‰?˜9Ô%¨¯©¸Ô)AØð *Br£   N)&r}   r~   r   r€   Úbase_keywordsÚbasic5_keywordsr�   rƒ   r„   r‚   r†   r   r˜   r   r
   rÚ   r   ÚSpecialr   rŸ   r‘   r   r™   rR   rž   r   r   r“   r   r—   r–   r”   r•   r�   r   r	   r¡   rä   r¢   r£   r¤   r   r   3  sç  „ ñò9€Mò$B€Oð €DØˆl€GØ�	€IØ
4€CØ€Mð ˜Ÿ
™
Ð#ØÙ�g—n‘n g§o¡oÓ6ð8á�F‹Oð	
ð Ù�g×)Ñ)¨7¯>©>Ó:ð<à�J Ð'Ø�ZÐ Ø�7—?‘?Ð#ð 6Ù�g×)Ñ)¨:Ø×)Ñ)¨4¯=©=ó:ð;ð ,Ù�g˜tŸ}™}Ó-ð/ð 4Ù�g˜z¨4¯:©:Ó6ð8ð ˜g×.Ñ.Ð/ØNØ�^‰^ðñ �=Ó! 7Ð+Ù�?Ó# WÐ-à�&—-‘- Ð*à˜FŸJ™JÐ'Ø˜vŸz™zÐ*à2°F·L±LÐAØ,¨f¯l©lÐ;Ø'¨¯©Ð6Ø˜&Ÿ.™.Ð)à'¨¯©Ð7ØAÀ8ÐLðG$
ðL ˜Ÿ™Ð'Ø�6—=‘= &Ð)Ø�E˜6Ð"ð
ñ[2€Fóhr£   r   )r€   r�   Úpygments.lexerr   r   r   r   r   Úpygments.tokenr   r	   r
   r   r   r   r   r   r   r   Úpygments.lexersr   Ú__all__r   r   r   r   r   r   r   r¢   r£   r¤   Ú<module>r)     s”   ðñó 
ç HÕ H÷4÷ 4÷ 4å .ò<€ôU�Jô UôpK�jô Kô\}�*ô }ô@#�jô #ôLJ�*ô JôZ@�Jô @ôF]�Jõ ]r£   