Ë
    !täi)  ã                   óØ   — d Z ddl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 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y)zÖ
    pygments.lexers.esoteric
    ~~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for esoteric languages.

    :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    )Ú
RegexLexerÚincludeÚwordsÚbygroups)	ÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚPunctuationÚErrorÚ
Whitespace)ÚBrainfuckLexerÚBefungeLexerÚRedcodeLexerÚCAmkESLexerÚ
CapDLLexerÚ
AheuiLexerc                   óÒ   — e Zd ZdZdZdZddgZddgZdgZd	Z	d
e
j                  fde
j                  fde
j                  fdefgdedfdef ed«      gdedfdedf ed«      gdœZd„ Zy)r   z4
    Lexer for the esoteric BrainFuck language.
    Ú	Brainfuckz'http://www.muppetlabs.com/~breadbox/bf/Ú	brainfuckÚbfz*.bfz*.bzapplication/x-brainfuckÚ z[.,]+z[+-]+z[<>]+z[^.,+\-<>\[\]]+z\[Úloopz\]Úcommonz#pushz#pop)r   Úrootr   c                 óÄ   — d}d}t        dt        | «      «      }| d| D ]!  }|dk(  s|dk(  r|dz  }|dk(  s|dk(  sŒ|dz  }Œ# |d	|z  kD  ry
|d	|z  kD  ry
d}d| v r|dz  }|S )z]It's safe to assume that a program which mostly consists of + -
        and < > is brainfuck.r   é   NÚ+Ú-é   Ú<Ú>g      Ð?g      ð?z[-]g      à?)ÚmaxÚlen)ÚtextÚplus_minus_countÚgreater_less_countÚrange_to_checkÚcÚresults         úg/Volumes/fast/ai/experiments/MLX_z-image/.venv/lib/python3.12/site-packages/pygments/lexers/esoteric.pyÚanalyse_textzBrainfuckLexer.analyse_text3   s�   € ð ÐØÐä˜S¤# d£)Ó,ˆà�o�~Ó&ˆAØ�CŠx˜1 š8Ø  AÑ%Ð Ø�CŠx˜1 ›8Ø" aÑ'Ñ"ð	 'ð ˜t nÑ4Ò5ØØ ¨Ñ!6Ò7ØàˆØ�D‰=Ø�c‰MˆFàˆó    N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚaliasesÚ	filenamesÚ	mimetypesÚversion_addedr
   ÚTagÚBuiltinÚVariabler   r	   r   r   Útokensr.   © r/   r-   r   r      sµ   „ ñð €DØ
3€CØ˜DÐ!€GØ˜�€IØ*Ð+€IØ€Mð
 �t—x‘xÐ Ø�t—|‘|Ð$Ø�t—}‘}Ð%Ø Ð)ð
ð �G˜VÐ$Ø�EˆNÙ�HÓð
ð �G˜WÐ%Ø�G˜VÐ$Ù�HÓð
ñ€Fó(r/   r   c                   óâ   — e Zd ZdZdZdZdgZdgZdgZdZ	dd	e
fd
efdej                  fdej                  fdefdej                   fdej$                  fdej&                  fdefdefdefdefgiZy)r   z2
    Lexer for the esoteric Befunge language.
    ÚBefungez$http://en.wikipedia.org/wiki/BefungeÚbefungez	*.befungezapplication/x-befungez0.7r   z[0-9a-f]z	[+*/%!`-]z[<>^v?\[\]rxjk]z	[:\\$.,n]z[|_mw]z[{}]z".*?"z\'.z[#;]z[pg&~=@iotsy]z[()A-Z]ú\s+N)r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r   r   r
   r<   r;   r	   r:   r   ÚDoubleÚSingler   r   r=   r>   r/   r-   r   r   M   s³   „ ñð €DØ
0€CØˆk€GØ�€IØ(Ð)€IØ€Mð 	Ø˜&Ð!Ø˜8Ð$Ø §¡Ð/Ø˜4Ÿ<™<Ð(Ø˜Ð Ø�d—h‘hÐØ�v—}‘}Ð%Ø�V—]‘]Ð#Ø�gÐØ˜wÐ'Ø˜Ð!Ø�ZÐ ð
ð�Fr/   r   c                   óÜ  — e Zd ZdZdZdZddgZddgZdZd	d
 e	e
ej                  e
«      fde
fdefdefdefdef edd¬«      ef edd¬«      ej"                  fdej$                  f edd¬«      ej$                  fd e	ej                  e
ej                  «      fd e	ej                  e
ej                  «      fdej(                  fdefdej*                  fdefdej0                  fdefgiZy)r   zO
    Basic lexer for the input language for the CAmkES component platform.
    ÚCAmkESzhttps://sel4.systems/CAmkES/ÚcamkesÚidl4z*.camkesz*.idl4z2.1r   ú^(\s*)(#.*)(\n)rB   ú/\*(.|\n)*?\*/z//.*$z[\[(){},.;\]]z[~!%^&*+=|?:<>/-])"ÚassemblyÚ	attributeÚ	componentÚcompositionÚconfigurationÚ
connectionÚ	connectorÚconsumesÚcontrolÚdataportÚDataportÚ	DataportsÚemitsÚeventÚEventÚEventsÚexportÚfromÚgroupÚhardwareÚhasÚ	interfaceÚ	InterfaceÚmaybeÚ	procedureÚ	ProcedureÚ
ProceduresÚprovidesÚtemplateÚthreadÚthreadsÚtoÚusesÚwithú\b©Úsuffix)ÚboolÚbooleanÚBufÚcharÚ	characterÚdoubleÚfloatÚinÚinoutÚintÚint16_6Úint32_tÚint64_tÚint8_tÚintegerÚmutexÚoutÚrealÚrefinÚ	semaphoreÚsignedÚstringÚstructÚuint16_tÚuint32_tÚuint64_tÚuint8_tÚ	uintptr_tÚunsignedÚvoidz%[a-zA-Z_]\w*_(priority|domain|buffer))Údma_poolÚfrom_accessÚ	to_accessz#(import)(\s+)((?:<[^>]*>|"[^"]*");)z$(include)(\s+)((?:<[^>]*>|"[^"]*");)ú0[xX][\da-fA-F]+z-?[\d]+z-?[\d]+\.[\d]+z"[^"]*"z[Tt]rue|[Ff]alsez[a-zA-Z_]\w*N)r0   r1   r2   r3   r4   r5   r6   r7   r9   r   r   r   ÚPreprocr   r   r   r	   ÚTypeÚReservedr   ÚHexÚFloatr   r
   r;   r=   r>   r/   r-   r   r   j   sh  „ ñð €DØ
(€CØ˜Ð €GØ˜XÐ&€IØ€Mð 	à¡¨*°g·o±oØó"ð ð �ZÐ Ø Ð(Ø�wÐà˜{Ð+Ø! 8Ð,áð Kð  ô!ð #*ð+ñ ð (ð  ô!ð #*§,¡,ð0ð 6°w×7GÑ7GÐHÙÐ;ÀEÔJØ× Ñ ð"ð 4Ù˜Ÿ™¨*°g·o±oÓFðHð 5Ù˜Ÿ™¨*°g·o±oÓFðHð ! &§*¡*Ð-Ø˜Ð Ø §¡Ð-Ø˜Ð Ø  $§,¡,Ð/ð ˜dÐ#ðg4
ð6�Fr/   r   c                   ó4  — e Zd ZdZdZdZdgZdgZdZdd e	e
ej                  e
«      fd	e
fd
efdefdefdef edd¬«      ef edd¬«      ej                   f edd¬«      ej"                  fdej&                  fdef edd¬«      ef edd¬«      efdefgiZy)r   aË  
    Basic lexer for CapDL.

    The source of the primary tool that reads such specifications is available
    at https://github.com/seL4/capdl/tree/master/capDL-tool. Note that this
    lexer only supports a subset of the grammar. For example, identifiers can
    shadow type names, but these instances are currently incorrectly
    highlighted as types. Supporting this would need a stateful lexer that is
    considered unnecessarily complex for now.
    ÚCapDLzMhttps://ssrg.nicta.com.au/publications/nictaabstracts/Kuz_KLW_10.abstract.pmlÚcapdlz*.cdlz2.2r   rI   rB   rJ   z
(//|--).*$z[<>\[(){},:;=\]]z\.\.)ÚarchÚarm11ÚcapsÚchild_ofÚia32ÚirqÚmapsÚobjectsrm   rn   )ÚaepÚ	asid_poolÚcnodeÚepÚframeÚ	io_deviceÚio_portsÚio_ptÚnotificationÚpdÚptÚtcbÚutÚvcpu)ÚasidÚaddrÚbadgeÚcachedÚdomÚdomainIDÚelfÚfault_epÚGÚguardÚ
guard_sizeÚinitÚipÚprioÚspÚRÚRGÚRXÚRWÚRWGÚRWXÚWÚWGÚWXÚlevelÚmaskedÚmaster_replyÚpaddrÚportsÚreplyÚuncachedr‘   z\d+(\.\d+)?(k|M)?)Úbits)ÚcspaceÚvspaceÚ
reply_slotÚcaller_slotÚipc_buffer_slotz[a-zA-Z_][-@\.\w]*N)r0   r1   r2   r3   r4   r5   r6   r7   r9   r   r   r   r’   r   r   r	   r“   r”   r   r•   r
   r=   r>   r/   r-   r   r   ­   s  „ ñ	ð €DØ
Y€CØˆi€GØ�	€IØ€Mð 	àÙ˜ W§_¡_°jÓAðCð �ZÐ Ø Ð(Ø˜GÐ$à  +Ð.Ø�kÐ"áð Ø',ô.Ø/6ð8ñ ð "à*/ô1à29·,±,ð@ñ
 ð 2ð ;@ô	Að
 ×Ñðð ! &§*¡*Ð-Ø! 6Ð*Ù�9 UÔ+¨VÐ4Ùð 'Ø/4ô6Ø7=ð?ð # DÐ)ðI%
ð'�Fr/   r   c                   ó6  — e Zd ZdZdZdgZdgZdZdZdZ	dZ
d	d
efdej                  fdj                  dj                  e	«      «      ej"                  fdj                  dj                  e
«      «      ej$                  fdefdefdefdefdej,                  fg	iZy)r   zg
    A simple Redcode lexer based on ICWS'94.
    Contributed by Adam Blinkinsop <blinks@acm.org>.
    ÚRedcodeÚredcodez*.cwz&https://en.wikipedia.org/wiki/Core_Warz0.8)ÚDATÚMOVÚADDÚSUBÚMULÚDIVÚMODÚJMPÚJMZÚJMNÚDJNÚCMPÚSLTÚSPLÚORGÚEQUÚEND)ÚAÚBÚABÚBAÚFÚXÚIr   rB   z;.*$z\b({})\bÚ|z[A-Za-z_]\w+z[-+*/%]z[#$@<>]z[.,]z[-+]?\d+N)r0   r1   r2   r3   r4   r6   r7   r5   r9   ÚopcodesÚ	modifiersr   r   rD   ÚformatÚjoinr
   ÚFunctionÚ	Decoratorr   r   r   ÚIntegerr=   r>   r/   r-   r   r   è   sÇ   „ ñð €DØˆk€GØ�€IØ
2€CØ€Mð$€Gð 6€Ið 	à�ZÐ Ø�g—n‘nÐ%ð ×Ñ §¡¨Ó 1Ó2°D·M±MÐBØ×Ñ §¡¨Ó 3Ó4°d·n±nÐEØ˜dÐ#à˜Ð"Ø˜Ð"Ø�kÐ"à˜&Ÿ.™.Ð)ð
ð�Fr/   r   c                   ó<   — e Zd ZdZdZdZdgZdgZdZdde	fd	e
fgiZy
)r   z?
    Aheui is esoteric language based on Korean alphabets.
    ÚAheuizhttp://aheui.github.io/Úaheuiz*.aheuir   r   uá  [ë‚˜-ë‚³ëƒ�-ëƒ«ë„ˆ-ë„£ë…€-ë…›ë…¸-ë†“ë‡¨-ëˆŸë‰´-ë‹‡ë‹¤-ë‹¿ëŒœ-ëŒ·ë�”-ë�¯ëŽŒ-ëŽ§ë�„-ë�Ÿë�´-ë‘«ë“€-ë”“ë”°-ë•‹ë•¨-ë–ƒë– -ë–»ë—˜-ë—³ë˜�-ë˜«ëš€-ëš·ëœŒ-ë�Ÿë�¼-ëž—ëž´-ëŸ�ëŸ¬-ë ‡ë ¤-ë ¿ë¡œ-ë¡·ë£Œ-ë¤ƒë¥˜-ë¦«ë§ˆ-ë§£ë¨€-ë¨›ë¨¸-ë©“ë©°-ëª‹ëª¨-ë«ƒë¬˜-ë­�ë®¤-ë¯·ë°”-ë°¯ë±Œ-ë±§ë²„-ë²Ÿë²¼-ë³—ë³´-ë´�ëµ¤-ë¶›ë·°-ë¹ƒë¹ -ë¹»ëº˜-ëº³ë»�-ë»«ë¼ˆ-ë¼£ë½€-ë½›ë¾°-ë¿§ì€¼-ì‚�ì‚¬-ìƒ‡ìƒ¤-ìƒ¿ì„œ-ì„·ì…”-ì…¯ì†Œ-ì†§ì‡¼-ìˆ³ìŠˆ-ì‹›ì‹¸-ìŒ“ìŒ°-ì�‹ì�¨-ìŽƒìŽ -ìŽ»ì�˜-ì�³ì‘ˆ-ì‘¿ì“”-ì”§ìž�-ìž«ìŸˆ-ìŸ£ì €-ì ›ì ¸-ì¡“ì¡°-ì¢‹ì£ -ì¤—ì¥¬-ì¦¿ì°¨-ì±ƒì± -ì±»ì²˜-ì²³ì³�-ì³«ì´ˆ-ì´£ìµ¸-ì¶¯ì¸„-ì¹—ì¹´-ìº�ìº¬-ì»‡ì»¤-ì»¿ì¼œ-ì¼·ì½”-ì½¯ì¿„-ì¿»í��-í‚£íƒ€-íƒ›íƒ¸-í„“í„°-í…‹í…¨-í†ƒí† -í†»íˆ�-í‰‡íŠœ-í‹¯íŒŒ-íŒ§í�„-í�Ÿí�¼-íŽ—íŽ´-í��í�¬-í�‡í‘œ-í’“í“¨-í”»í•˜-í•³í–�-í–«í—ˆ-í—£í˜€-í˜›í˜¸-í™“íš¨-í›Ÿíœ´-íž‡]Ú.N)r0   r1   r2   r3   r4   r5   r6   r7   r9   r   r   r=   r>   r/   r-   r   r     sO   „ ñð €DØ
#€CØˆi€GØ�€IØ€Mð 	ðð  ð!ð" �'ˆNð%
ð�Fr/   r   N)r3   Úpygments.lexerr   r   r   r   Úpygments.tokenr   r   r	   r
   r   r   r   r   r   Ú__all__r   r   r   r   r   r   r>   r/   r-   Ú<module>rÿ      sw   ðñ÷ @Ó ?÷#÷ #õ #ò'€ô7�Zô 7ôt�:ô ô:@�*ô @ôF8�ô 8ôv!�:ô !ôH �õ  r/   