Ë
    !täi+‚  ã                   ón  — 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
 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  G d„ de«      Z! G d„ de«      Z" G d„ de«      Z# G d„ de«      Z$y)zß
    pygments.lexers.haskell
    ~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for Haskell and related languages.

    :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    N)ÚLexerÚ
RegexLexerÚbygroupsÚdo_insertionsÚdefaultÚincludeÚinheritÚline_re)
ÚTextÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚPunctuationÚGenericÚ
Whitespace)Ú	unistring)
ÚHaskellLexerÚ
HspecLexerÚ
IdrisLexerÚ	AgdaLexerÚCryptolLexerÚLiterateHaskellLexerÚLiterateIdrisLexerÚLiterateAgdaLexerÚLiterateCryptolLexerÚ	KokaLexerc                   óä  — 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g def‘dej                  f‘dej                  df‘dej"                  df‘dej"                  df‘dej&                  f‘dj)                  dj+                  e
«      «      ej"                  f‘dej.                  f‘dej.                  f‘dej2                  z   dz   ej4                  f‘dej2                  z   dz   ef‘dej6                  z   dz   ej8                  f‘dej6                  z   dz   ej8                  f‘dej8                  f‘dej8                  f‘d ej8                  f‘d!ej4                  f‘d"ej<                  f‘d#ej8                  f‘d$ef‘d%ej@                  f‘d&ej@                  f‘d'ej@                  f‘d(ej@                  f‘d)ejB                  f‘d*ejD                  f‘d+ejF                  f‘d,ejH                  f‘d-ej.                  d.f‘d/ed0f‘d1ej8                  f‘d2ejJ                  f‘d3e&f‘defd/ed0fd4e&d5fd6efd7ej6                  z   d8z   ej6                  z   d9z    e'ejP                  eeee«      d5fd7ej6                  z   d:z    e'ejP                  eeee&«      d;fd7ej6                  z   d<z    e'ejP                  ee&«      d;fd=ejP                  d5fgdefd7ej6                  z   d<z    e'ejP                  ee&«      d;fd>ej6                  z   d?z   ejP                  d5fgdefd>ej6                  z   d@z   ej8                  fdAej2                  z   dBz   ej4                  fdej                  fdej                  dfdCe&fd$efdDe&dEfd4e&dFfg	dGej                  fdej                  dHfdIej                  d5fdJej                  fgdKej.                  d5fdLejR                  dMfd-ej.                  d5fgdNefdLejR                  dMfd/ed5fgdOejR                  d5fdPej6                  z   dQz   ejR                  d5fdj+                  e«      ejR                  d5fdRejR                  d5fdSejR                  d5fdTejR                  d5fdU e'eejR                  «      d5fgdVœZ*yW)Xr   zP
    A Haskell lexer based on the lexemes defined in the Haskell 98 Report.
    ÚHaskellzhttps://www.haskell.org/ÚhaskellÚhsz*.hsztext/x-haskellz0.8)ÚcaseÚclassÚdatar   ÚderivingÚdoÚelseÚfamilyÚifÚinú
infix[lr]?ÚinstanceÚletÚnewtypeÚofÚthenÚtypeÚwhereÚ_©ÚNULÚSOHz[SE]TXÚEOTÚENQÚACKÚBELÚBSÚHTÚLFÚVTÚFFÚCRzS[OI]ÚDLEzDC[1-4]ÚNAKÚSYNÚETBÚCANÚEMÚSUBÚESCz[FGRU]SÚSPÚDELú\s+ú!--(?![!#$%&*+./<=>?@^|_~:\\]).*?$ú\{-Úcommentú
\bimport\bÚimportú
\bmodule\bÚmoduleú	\berror\bú\b({})(?!\')\bÚ|z'[^\\]'z'\\.'z^[_z][\w\']*z'?[_z][\w']*z('')?[z(')[z(')\[[^\]]*\]z(')\([^)]*\)z(')[:!#$%&*+.\\/<=>?@^|~-]+ú\\(?![:!#$%&*+.\\/<=>?@^|~-]+)ú+(<-|::|->|=>|=)(?![:!#$%&*+.\\/<=>?@^|~-]+)ú:[:!#$%&*+.\\/<=>?@^|~-]*ú[:!#$%&*+.\\/<=>?@^|~-]+z40[xX]_*[\da-fA-F](_*[\da-fA-F])*_*[pP][+-]?\d(_*\d)*zR0[xX]_*[\da-fA-F](_*[\da-fA-F])*\.[\da-fA-F](_*[\da-fA-F])*(_*[pP][+-]?\d(_*\d)*)?z\d(_*\d)*_*[eE][+-]?\d(_*\d)*z+\d(_*\d)*\.\d(_*\d)*(_*[eE][+-]?\d(_*\d)*)?z0[bB]_*[01](_*[01])*z0[oO]_*[0-7](_*[0-7])*z 0[xX]_*[\da-fA-F](_*[\da-fA-F])*z	\d(_*\d)*Ú'Ú	characterÚ"Ústringú\[\]ú\(\)ú[][(),;`{}]ú\)ú#popúqualified\bz([z][\w.]*)(\s+)(as)(\s+)([z][\w.]*)z][\w.]*)(\s+)(hiding)(\s+)(\()Úfunclistz][\w.]*)(\s+)(\()ú[\w.]+Ú[z][\w.]*z]\w*z(_[\w\']+|[z	][\w\']*)Ú,ú\(©rf   rf   ú#pop:2ú[^-{}]+ú#pushú-\}ú[-{}]ú[^\\']'ú\\Úescapeú[^\\"]+ú[abfnrtv"\'&\\]z\^[][z@^_]úo[0-7]+úx[\da-fA-F]+ú\d+ú	(\s+)(\\)©ÚrootrR   rT   rf   rP   r]   r_   rs   N)+Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚaliasesÚ	filenamesÚ	mimetypesÚversion_addedÚreservedÚasciir   r   ÚSingleÚ	Multiliner   ÚReservedr   Ú	ExceptionÚformatÚjoinr   ÚCharÚuniÚLlÚFunctionÚLuÚTyper   ÚWordr   ÚFloatÚBinÚOctÚHexÚIntegerÚBuiltinr   r   Ú	NamespaceÚEscapeÚtokens© ó    úf/Volumes/fast/ai/experiments/MLX_z-image/.venv/lib/python3.12/site-packages/pygments/lexers/haskell.pyr   r      sç  „ ñð €DØ
$€CØ˜$Ð€GØ�€IØ!Ð"€IØ€MðF€Hð9€Eð+
à�ZÐ ð+
ð 2°7·>±>ÐBð	+
ð
 �W×&Ñ&¨	Ð2ð+
ð ˜G×,Ñ,¨hÐ7ð+
ð ˜G×,Ñ,¨hÐ7ð+
ð ˜4Ÿ>™>Ð*ð+
ð ×%Ñ% c§h¡h¨xÓ&8Ó9¸7×;KÑ;KÐLð+
ð ˜Ÿ™Ð%ð+
ð �v—{‘{Ð#ð+
ð �c—f‘f‰_˜{Ñ*¨D¯M©MÐ:ð+
ð �s—v‘vÑ 
Ñ*¨DÐ1ð+
ð  ˜Ÿ™Ñ +Ñ-¨w¯|©|Ð<ð!+
ð" �s—v‘vÑ Ñ+¨W¯\©\Ð:ð#+
ð$ ˜wŸ|™|Ð,ð%+
ð& ˜gŸl™lÐ+ð'+
ð( ,¨W¯\©\Ð:ð)+
ð, /°·±Ð>ð-+
ð. <¸X¿]¹]ÐKð/+
ð0 *¨7¯<©<Ð8ð1+
ð2 )¨(Ð3ð3+
ð6 EÀfÇlÁlÐSð7+
ð8(Ø)/¯©ð7ð9+
ð< .¨v¯|©|Ð<ð=+
ð> <¸V¿\¹\ÐJð?+
ð@ % f§j¡jÐ1ðA+
ðB '¨¯
©
Ð3ðC+
ðD 1°&·*±*Ð=ðE+
ðF ˜6Ÿ>™>Ð*ðG+
ðJ �6—;‘; Ð,ðK+
ðL �6˜8Ð$ðM+
ðP �g—l‘lÐ#ðQ+
ðR �d—l‘lÐ#ðS+
ðT ˜[Ð)ðU+
ð\ �ZÐ Ø�6˜8Ð$à�K Ð(Ø˜WÐ%à�S—V‘V‰^Ð9Ñ9¸C¿F¹FÑBÀ[ÑPÙ�d—n‘n j°'¸:ÀtÓLÈfðVð �S—V‘V‰^Ð?Ñ?Ù�d—n‘n j°'¸:À{ÓSÐU_ðað �S—V‘V‰^Ð2Ñ2Ù�d—n‘n j°+Ó>À
ðLð ˜Ÿ™¨Ð/ð#
ð( �ZÐ Ø�S—V‘V‰^Ð2Ñ2Ù�d—n‘n j°+Ó>À
ðLà�C—F‘F‰]˜ZÑ'¨¯©¸Ð@ð	
ð �ZÐ Ø�C—F‘F‰]˜WÑ$ g§l¡lÐ3Ø˜cŸf™fÑ$ |Ñ3°T·]±]ÐCØ1°7·>±>ÐBØ�W×&Ñ&¨	Ð2Ø�;ÐØ(¨(Ð3à�KÐ!9Ð:Ø�K Ð*ð
ð  ˜×*Ñ*Ð+Ø�W×&Ñ&¨Ð0Ø�W×&Ñ&¨Ð/Ø�w×(Ñ(Ð)ð
ð ˜Ÿ™ fÐ-Ø�F—M‘M 8Ð,Ø�&—+‘+˜vÐ&ð	
ð ˜Ð Ø�F—M‘M 8Ð,Ø�&˜&Ð!ð
ð   §¡°Ð7Ø˜Ÿ™Ñ Ñ(¨&¯-©-¸Ð@Ø�X‰X�e‹_˜fŸm™m¨VÐ4Ø˜Ÿ™¨Ð/Ø˜fŸm™m¨VÐ4Ø�V—]‘] FÐ+Ø™8 J°·±Ó>ÀÐGð
ñMo�FrŸ   r   c            	       ó°   — e Zd ZdZdZdgZdgZg ZdZdd e	e
eej                  «      fd e	e
eej                  «      fd	 e	e
eej                  «      fegiZy
)r   z<
    A Haskell lexer with support for Hspec constructs.
    ÚHspecÚhspecz*Spec.hsz2.4r{   z(it)(\s*)("[^"]*")z(describe)(\s*)("[^"]*")z(context)(\s*)("[^"]*")N)r|   r}   r~   r   r€   r‚   rƒ   r„   r…   r   r   r   r   ÚDocr	   r�   rž   rŸ   r    r   r   �   sy   „ ñð €DØˆi€GØ�€IØ€IØ€Mð 	Ø"¡H¨T°:¸v¿z¹zÓ$JÐKØ(©(°4¸ÀVÇZÁZÓ*PÐQØ'©°$¸
ÀFÇJÁJÓ)OÐPØð	
ð�FrŸ   r   c                   óŽ  — 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j                  dj                  e«      «       eeej$                  «      fd eeej(                  «      fd eeej(                  «      fd eeej*                  «      dfd eeej.                  eej2                  e«      fdj                  dj                  e
«      «      ej$                  fd eej$                  e«      dfdej4                  fdefdej2                  fdej2                  fdej:                  fdej:                  fdej<                  fdej>                  fde jB                  dfd e d!fd"efd#efgd$efd% eejD                  ee#«      d&fd'ejD                  d(fgd$efd)ej4                  fd*ej.                  fd+ej(                  fd,ej*                  dfd-e#fd.efd/e#d0fd1e#d2fg	d3ej*                  fd,ej*                  d4fd5ej*                  d(fd6ej*                  fgd7e jB                  fd8e jH                  d9fde jB                  d(fgd:e fd8e jH                  d9fd e d(fgd;e jH                  d(fd<e jH                  d(fdj                  e«      e jH                  d(fd=e jH                  d(fd>e jH                  d(fde jH                  d(fd? eee jH                  «      d(fgd@œZ%yA)Br   zq
    A lexer for the dependently typed programming language Idris.

    Based on the Haskell and Agda Lexer.
    ÚIdriszhttps://www.idris-lang.org/ÚidrisÚidrz*.idrztext/x-idrisú2.0)3r$   r%   r&   r   Úusingr(   r)   r+   r,   r-   r.   ÚrewriteÚautoÚ	namespaceÚcodataÚmutualÚprivateÚpublicÚabstractÚtotalÚpartialÚ	interfaceÚimplementationÚexportÚcoveringÚconstructorr/   Úproofr1   r2   Ústaticr4   r5   ÚwithÚpatternÚtermÚsyntaxÚprefixÚ	postulateÚ
parametersÚrecordÚdslÚ
impossibleÚimplicitÚtacticsÚintrosÚintroÚcomputeÚrefineÚexactÚtrivialr6   )ÚlibÚlinkÚflagr   ÚhideÚfreezeÚaccessr   ÚloggingÚdynamicr€   Úerror_handlersÚlanguagez^(\s*)(%({}))rW   z((\s*)(--(?![!#$%&*+./<=>?@^|_~:\\]).*?)$z(\s*)(\|{3}.*?)$z
(\s*)(\{-)rP   ú^(\s*)([^\s(){}]+)(\s*)(:)(\s*)rV   ú(import|module)(\s+)rT   ú('')?[A-Z][\w\']*z[a-z][\w\']*z(<-|::|->|=>|=)z"([(){}\[\]:!#$%&*+.\\/<=>?@^|~-]+)ú\d+[eE][+-]?\d+ú\d+\.\d+([eE][+-]?\d+)?ú0[xX][\da-fA-F]+rx   r\   r]   r^   r_   ú
[^\s(){}]+ú\s+?rM   ú([A-Z][\w.]*)(\s+)(\()rf   ú[A-Z][\w.]*rd   ú[A-Z]\w*ú(_[\w\']+|[a-z][\w\']*)z--.*$rO   ri   r[   rj   rk   rc   rl   rm   rn   ro   rp   z[^\\']rr   rs   rt   ru   ú\^[][A-Z@^_]rv   rw   ry   )r{   rT   rf   rP   r]   r_   rs   N)&r|   r}   r~   r   r€   r�   r‚   rƒ   r„   r…   r†   r‡   Ú
directivesrŒ   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   ²   sR  „ ñð
 €DØ
'€CØ˜Ð€GØ�	€IØÐ €IØ€MðW€Hð9€Eð
Y€Jð ×$Ñ$ S§X¡X¨jÓ%9Ó:Ù�j '×"2Ñ"2Ó3ð5à8¹(À:ÈwÏ~É~Ó:^Ð_Ø ¡(¨:°w·~±~Ó"FÐGØ™H Z°×1BÑ1BÓCÀYÐOà/Ù�j $§-¡-°¸X¿]¹]ÈJÓWðYð ×%Ñ% c§h¡h¨xÓ&8Ó9¸7×;KÑ;KÐLØ$¡h¨w×/?Ñ/?ÀÓ&LÈhÐWØ! 7§<¡<Ð0Ø˜dÐ#à §¡Ð/Ø2°H·M±MÐBà §¡Ð.Ø'¨¯©Ð6Ø  &§*¡*Ð-Ø�V—^‘^Ð$à�6—;‘; Ð,Ø�6˜8Ð$Ø˜DÐ!Ø�jÐ!ð7
ð< �ZÐ Ø&Ù�d—n‘n j°+Ó>À
ðLà˜TŸ^™^¨VÐ4ð	
ð �ZÐ Ø˜'Ÿ,™,Ð'Ø'¨¯©Ð7Ø�w—~‘~Ð&Ø�W×&Ñ&¨	Ð2Ø�;ÐØ(¨(Ð3à�KÐ!9Ð:Ø�K Ð*ð
ð  ˜×*Ñ*Ð+Ø�W×&Ñ&¨Ð0Ø�W×&Ñ&¨Ð/Ø�w×(Ñ(Ð)ð
ð ˜Ÿ™Ð$Ø�F—M‘M 8Ð,Ø�&—+‘+˜vÐ&ð	
ð ˜Ð Ø�F—M‘M 8Ð,Ø�&˜&Ð!ð
ð   §¡°Ð7Ø˜fŸm™m¨VÐ4Ø�X‰X�e‹_˜fŸm™m¨VÐ4Ø˜Ÿ™¨Ð/Ø˜fŸm™m¨VÐ4Ø�V—]‘] FÐ+Ø™8 J°·±Ó>ÀÐGð
ñIM�FrŸ   r   c                   ó*  — e Zd ZdZdZdZdgZdgZdgZdZ	dZ
d	 eeej                  eej                   e«      fd
ej$                  fdej&                  dfdej(                  dfdj+                  dj-                  e
«      «      ej0                  fd eej0                  e«      dfdej2                  fdefdej                   fdej6                  fdej6                  fdej8                  fdej:                  fdej>                  dfdedfde fdefgd ej(                  fdej(                  d!fd"ej(                  d#fd$ej(                  fgdej&                  dfd%ed#fd&e fge!jD                  d   e!jD                  d   e!jD                  d   e!jD                  d'   d(œZ"y))*r   za
    For the Agda dependently typed functional programming language and
    proof assistant.
    ÚAgdaz.http://wiki.portal.chalmers.se/agda/pmwiki.phpÚagdaz*.agdaztext/x-agdar©   )+r²   r®   Úcoinductiver¹   r&   r(   zeta-equalityÚfieldÚforallÚhidingr,   Ú	inductiveÚinfixÚinfixlÚinfixrr.   Úinterleavedr/   Úmacror¯   zno-eta-equalityÚopaqueÚopenÚoverlapr½   rÁ   Ú	primitiver°   ÚquoteÚ	quoteTermrÃ   Úrenamingr«   r¿   ÚtacticÚ	unfoldingÚunquoteÚunquoteDeclÚ
unquoteDefrª   Úvariabler4   r¼   rØ   rN   rO   rP   z\{!ÚholerV   rW   rÙ   rT   z\b(Set|Prop)[\u2080-\u2089]*\bz(\(|\)|\{|\})z((\.{1,3}|\||\u03BB|\u2200|\u2192|:|=|->)rÛ   rÜ   rÝ   rx   r\   r]   r^   r_   rÞ   rß   z[^!{}]+rn   z!\}rd   z[!{}]z[a-zA-Z][\w.\']*z	[\W0-9_]+rs   )r{   r   rT   rP   r]   r_   rs   N)#r|   r}   r~   r   r€   r�   r‚   rƒ   r„   r…   r†   r   r   r   r‘   r   r”   r   rˆ   r‰   Ú	DirectiverŒ   r�   r   rŠ   r“   r   r•   r˜   r™   r   rŽ   r   r   r�   rž   rŸ   r    r   r   !  sñ  „ ñð
 €DØ
:€CØˆh€GØ�
€IØ�€IØ€Mð€Hð 0Ù�j $§-¡-°Ø—m‘m Zó1ð2ð 2°7·>±>ÐBØ�W×&Ñ&¨	Ð2à�W×&Ñ&¨Ð/ð ×%Ñ% c§h¡h¨xÓ&8Ó9¸7×;KÑ;KÐLØ$¡h¨w×/?Ñ/?ÀÓ&LØðà.°·±Ð=à˜xÐ(Ø8¸(¿-¹-ÐHà §¡Ð.Ø'¨¯©Ð6Ø  &§*¡*Ð-Ø�V—^‘^Ð$à�6—;‘; Ð,Ø�6˜8Ð$Ø˜DÐ!Ø�jÐ!ð9
ð@ ˜×*Ñ*Ð+Ø�W×&Ñ&¨Ð0Ø�W×&Ñ&¨Ð/Ø�w×(Ñ(Ð)ð
ð �W×&Ñ&¨	Ð2Ø  $¨Ð/Ø˜4Ð ð
ð
  ×&Ñ& yÑ1Ø!×(Ñ(¨Ñ5Ø×%Ñ% hÑ/Ø×%Ñ% hÑ/ñ]/�FrŸ   r   c                   óð  — e 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efdej                  fdej                  dfdej"                  dfdej"                  dfdej&                  fdj)                  dj+                  e
«      «      ej"                  fdej,                  fdefdej.                  fdej,                  fdej2                  fdej.                  fdefdej6                  fdej6                  fdej8                  fd ej:                  fd!ej<                  fd"ej@                  d#fd$ed%fd&ej.                  fd'ejB                  fd(e"fgdefd$ed%fd)e"d*fd+efd, e#ejH                  eeee«      d*fd- e#ejH                  eeee"«      d.fd/ e#ejH                  ee"«      d.fd0ejH                  d*fgdefd/ e#ejH                  ee"«      d.fd1ejH                  d*fgdefd2ej.                  fd3ej,                  fd4e"fdefd5e"d6fd)e"d7fgd8ej                  fdej                  d9fd:ej                  d*fd;ej                  fgd<ej@                  d*fd=ejJ                  d>fd"ej@                  d*fgd?efd=ejJ                  d>fd$ed*fgd@ejJ                  d*fdAejJ                  d*fdj+                  e«      ejJ                  d*fdBejJ                  d*fdCejJ                  d*fd!ejJ                  d*fdD e#eejJ                  «      d*fgdEœZ&h dF£Z'dG„ Z(yH)Ir   zX
    FIXME: A Cryptol2 lexer based on the lexemes defined in the Haskell 98 Report.
    ÚCryptolÚcryptolÚcryz*.cryztext/x-cryptolúhttps://www.cryptol.netr©   )ÚArithÚBitÚCmpÚFalseÚInfÚTruer)   r·   ÚexternÚfinr+   rR   ÚinfÚlg2ÚmaxÚminrT   r0   ÚpragmaÚpropertyr2   r3   r4   Úwidthr6   rM   ú//.*$ú/\*rP   rQ   rR   rS   rT   rU   rV   rW   z^[_a-z][\w\']*z'?[_a-z][\w']*rÚ   rX   rY   rZ   r[   rÛ   rÜ   z0[oO][0-7]+rÝ   rx   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   z(([A-Z][\w.]*)(\s+)(as)(\s+)([A-Z][\w.]*)z#([A-Z][\w.]*)(\s+)(hiding)(\s+)(\()rf   rà   rg   rá   râ   rã   ri   rj   rk   rl   ú[^/*]+rn   ú\*/ú[*/]rq   rr   rs   rt   ru   rä   rv   rw   ry   rz   >   ú<<ú>>ú<<<ú>>>ÚparÚregÚseqr�   ÚtailÚconstÚerrorÚsplitÚtracer  ÚASSERTÚlengthÚreverseÚ	transposeÚ	undefinedc              #   ó¸   K  — dg}t        j                  | ||«      D ]9  \  }}}|t        u r$|| j                  v r|t        j                  |f–— Œ3|||f–— Œ; y ­w)Nr{   )r   Úget_tokens_unprocessedr   ÚEXTRA_KEYWORDSrš   )ÚselfÚtextÚstackÚindexÚtokenÚvalues         r    r-  z#CryptolLexer.get_tokens_unprocessedé  sb   è ø€ Ø�ˆä×1Ñ1°$¸¸eÖDñ  ˆE�5˜%àœ‰} ¨$×*=Ñ*=Ñ!=ØœTŸ\™\¨5Ð0Ó0à˜U EÐ)Ó)ñ	 Eùs   ‚AA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Ž   rš   r   r   r›   rœ   r�   r.  r-  rž   rŸ   r    r   r   j  sÄ  „ ñð €DØ˜%Ð €GØ�	€IØ!Ð"€IØ
#€CØ€Mð2€Hð9€Eð �ZÐ à�w—~‘~Ð&Ø�W×&Ñ&¨	Ð2ð ˜G×,Ñ,¨hÐ7Ø˜G×,Ñ,¨hÐ7Ø˜4Ÿ>™>Ð*Ø×%Ñ% c§h¡h¨xÓ&8Ó9¸7×;KÑ;KÐLØ §¡Ð.Ø Ð%Ø! 7§<¡<Ð0à.°·±Ð>Ø;¸X¿]¹]ÐKØ)¨7¯<©<Ð8Ø(¨(Ð3à §¡Ð.Ø'¨¯©Ð6Ø˜VŸZ™ZÐ(Ø  &§*¡*Ð-Ø�V—^‘^Ð$à�6—;‘; Ð,Ø�6˜8Ð$à�g—l‘lÐ#Ø�d—l‘lÐ#Ø˜[Ð)ðA!
ðH �ZÐ Ø�6˜8Ð$à�K Ð(Ø˜WÐ%à8Ù�d—n‘n j°'¸:ÀtÓLÈfðVð 4Ù�d—n‘n j°'¸:À{ÓSÐU_ðað 'Ù�d—n‘n j°+Ó>À
ðLð ˜Ÿ™¨Ð/ð#
ð( �ZÐ Ø&Ù�d—n‘n j°+Ó>À
ðLà˜TŸ^™^¨VÐ4ð	
ð �ZÐ Ø˜'Ÿ,™,Ð'Ø'¨¯©Ð7ð �;ÐØ(¨(Ð3à�KÐ!9Ð:Ø�K Ð*ð
ð ˜×)Ñ)Ð*Ø�W×&Ñ&¨Ð0Ø�W×&Ñ&¨Ð/Ø�g×'Ñ'Ð(ð
ð ˜Ÿ™ fÐ-Ø�F—M‘M 8Ð,Ø�&—+‘+˜vÐ&ð	
ð ˜Ð Ø�F—M‘M 8Ð,Ø�&˜&Ð!ð
ð   §¡°Ð7Ø˜fŸm™m¨VÐ4Ø�X‰X�e‹_˜fŸm™m¨VÐ4Ø˜Ÿ™¨Ð/Ø˜fŸm™m¨VÐ4Ø�V—]‘] FÐ+Ø™8 J°·±Ó>ÀÐGð
ñwd€FòL€Nó
*rŸ   r   c                   ó@   — e Zd ZdZ ej
                  d«      Zd„ Zd„ Zy)ÚLiterateLexera•  
    Base class for lexers of literate file formats based on LaTeX or Bird-style
    (prefixing each code line with ">").

    Additional options accepted:

    `litstyle`
        If given, must be ``"bird"`` or ``"latex"``.  If not given, the style
        is autodetected: if the first non-whitespace character in the source
        is a backslash or percent character, LaTeX is assumed, else Bird.
    z(>[ \t]*)(.*\n)c                 ó>   — || _         t        j                  | fi |¤Ž y )N)Ú	baselexerr   Ú__init__)r/  r8  Úoptionss      r    r9  zLiterateLexer.__init__  s   € Ø"ˆŒÜ�‰�tÑ'˜wÓ'rŸ   c           	   #   ó„  K  — | j                   j                  d«      }|€|j                  «       dd dv xr dxs d}d}g }|dk(  r¿t        j                  |«      D ]¥  }|j                  «       }| j                  j                  |«      }|rR|j                  t        |«      dt        j                  |j                  d«      fgf«       ||j                  d«      z  }Œ‚|j                  t        |«      dt        |fgf«       Œ§ �ndd	lm}  |di | j                   ¤Ž}	d}
d}t        j                  |«      D ]£  }|j                  «       }|
r-|j                  «       j                  d
«      rd}
||z  }Œ<||z  }ŒB|j                  «       j                  d«      r>d}
||z  }|j                  t        |«      t!        |	j#                  |«      «      f«       d}ŒŸ||z  }Œ¥ |j                  t        |«      t!        |	j#                  |«      «      f«       t%        || j&                  j#                  |«      «      E d {  –—†  y 7 Œ­w)NÚlitstyler   é   z%\ÚlatexÚbirdÚ é   )ÚTexLexerz
\end{code}z\begin{code}rž   )r:  ÚgetÚlstripr
   ÚfinditerÚgroupÚbird_reÚmatchÚappendÚlenr   ÚSpecialr   Úpygments.lexers.markuprB  Ú
startswithÚlistr-  r   r8  )r/  r0  ÚstyleÚcodeÚ
insertionsrH  ÚlineÚmrB  ÚlxlexerÚ	codelinesr>  s               r    r-  z$LiterateLexer.get_tokens_unprocessed  s
  è ø€ Ø—‘× Ñ  Ó,ˆØˆ=Ø—[‘[“] 1 QÐ'¨5Ð0Ò=°gÒGÀˆEàˆØˆ
Ø�FŠ?ä ×)Ñ)¨$Ö/�Ø—{‘{“}�Ø—L‘L×&Ñ& tÓ,�ÙØ×%Ñ%¤s¨4£yØ)*¬G¯O©O¸Q¿W¹WÀQ»ZÐ(HÐ'Ið'Kô Là˜AŸG™G A›JÑ&‘Dà×%Ñ%¤s¨4£y°A´t¸T°?Ð2CÐ&DÕEò 0õ 8ÙÑ. §¡Ñ.ˆGØˆIØˆEÜ ×)Ñ)¨$Ö/�Ø—{‘{“}�ÙØ—{‘{“}×/Ñ/°Ô>Ø$%˜	Ø ™™à ™™Ø—[‘[“]×-Ñ-¨oÔ>Ø !�IØ˜T‘M�EØ×%Ñ%¤s¨4£yÜ'+¨G×,JÑ,JÈ5Ó,QÓ'Rð'Tô Uà‘Eà˜T‘M‘Eð 0ð  ×Ñœs 4›yÜ# G×$BÑ$BÀ5Ó$IÓJðLô Mä  ¨T¯^©^×-RÑ-RÐSWÓ-XÓY×YÒYús   ‚H6I È8H>È9I N)	r|   r}   r~   r   ÚreÚcompilerG  r9  r-  rž   rŸ   r    r6  r6  ó  s%   „ ñ
ð ˆb�j‰jÐ+Ó,€Gò(ó*ZrŸ   r6  c                   ó6   — e Zd ZdZdZg d¢ZdgZdgZdZdZ	d„ Z
y	)
r   aS  
    For Literate Haskell (Bird-style or LaTeX) source.

    Additional options accepted:

    `litstyle`
        If given, must be ``"bird"`` or ``"latex"``.  If not given, the style
        is autodetected: if the first non-whitespace character in the source
        is a backslash or percent character, LaTeX is assumed, else Bird.
    zLiterate Haskell)zliterate-haskellÚlhaskellÚlhsz*.lhsztext/x-literate-haskellz-https://wiki.haskell.org/Literate_programmingz0.9c                 óH   — t        di |¤Ž}t        j                  | |fi |¤Ž y ©Nrž   )r   r6  r9  ©r/  r:  Úhslexers      r    r9  zLiterateHaskellLexer.__init__E  s$   € ÜÑ) Ñ)ˆÜ×Ñ˜t WÑ8°Ó8rŸ   N©r|   r}   r~   r   r€   r‚   rƒ   r„   r�   r…   r9  rž   rŸ   r    r   r   3  s1   „ ñ	ð €DÚ5€GØ�	€IØ*Ð+€IØ
9€CØ€Mó9rŸ   r   c                   ó6   — e Zd ZdZdZg d¢ZdgZdgZdZdZ	d„ Z
y	)
r   aQ  
    For Literate Idris (Bird-style or LaTeX) source.

    Additional options accepted:

    `litstyle`
        If given, must be ``"bird"`` or ``"latex"``.  If not given, the style
        is autodetected: if the first non-whitespace character in the source
        is a backslash or percent character, LaTeX is assumed, else Bird.
    zLiterate Idris)zliterate-idrisÚlidrisÚlidrz*.lidrztext/x-literate-idrisz?https://idris2.readthedocs.io/en/latest/reference/literate.htmlr©   c                 óH   — t        di |¤Ž}t        j                  | |fi |¤Ž y r\  )r   r6  r9  r]  s      r    r9  zLiterateIdrisLexer.__init__\  s$   € ÜÑ'˜wÑ'ˆÜ×Ñ˜t WÑ8°Ó8rŸ   Nr_  rž   rŸ   r    r   r   J  s1   „ ñ	ð €DÚ2€GØ�
€IØ(Ð)€IØ
K€CØ€Mó9rŸ   r   c                   ó6   — e Zd ZdZdZddgZdgZdgZdZdZ	d	„ Z
y
)r   a:  
    For Literate Agda source.

    Additional options accepted:

    `litstyle`
        If given, must be ``"bird"`` or ``"latex"``.  If not given, the style
        is autodetected: if the first non-whitespace character in the source
        is a backslash or percent character, LaTeX is assumed, else Bird.
    zLiterate Agdazliterate-agdaÚlagdaz*.lagdaztext/x-literate-agdazEhttps://agda.readthedocs.io/en/latest/tools/literate-programming.htmlr©   c                 óL   — t        di |¤Ž}t        j                  | |fddi|¤Ž y )Nr<  r>  rž   )r   r6  r9  )r/  r:  Ú	agdalexers      r    r9  zLiterateAgdaLexer.__init__s  s)   € ÜÑ( Ñ(ˆ	Ü×Ñ˜t YÑL¸ÐLÀGÓLrŸ   Nr_  rž   rŸ   r    r   r   a  s7   „ ñ	ð €DØ Ð(€GØ�€IØ'Ð(€IØ
Q€CØ€MóMrŸ   r   c                   ó6   — e Zd ZdZdZg d¢ZdgZdgZdZdZ	d„ Z
y	)
r   aS  
    For Literate Cryptol (Bird-style or LaTeX) source.

    Additional options accepted:

    `litstyle`
        If given, must be ``"bird"`` or ``"latex"``.  If not given, the style
        is autodetected: if the first non-whitespace character in the source
        is a backslash or percent character, LaTeX is assumed, else Bird.
    zLiterate Cryptol)zliterate-cryptolÚlcryptolÚlcryz*.lcryztext/x-literate-cryptolr  r©   c                 óH   — t        di |¤Ž}t        j                  | |fi |¤Ž y r\  )r   r6  r9  )r/  r:  Úcrylexers      r    r9  zLiterateCryptolLexer.__init__Š  s$   € ÜÑ* 'Ñ*ˆÜ×Ñ˜t XÑ9°Ó9rŸ   Nr_  rž   rŸ   r    r   r   x  s1   „ ñ	ð €DÚ6€GØ�
€IØ*Ð+€IØ
#€CØ€Mó:rŸ   r   c                   óˆ  — e Zd ZdZdZdZdgZddgZdgZdZ	g d	¢Z
g d
¢Zg d¢Zg d¢ZdZdez   dz   ZdZej$                  Zej(                  Zej.                  Z ed«      dez   edfd eeee«      dfd eeee«      dfdj;                  dj=                  e«      «      dz    eeee«      dfd eeeeeej>                  «      fd eeeej>                  eeeeeej>                  «	      fdez   dz    eeeeeej@                  «      fdez   dz    eeeeeeeej@                  «      fdj;                  dj=                  e«      «      ez   ejB                  fdj;                  dj=                  e
«      «      ez   efdj;                  dj=                  e«      «      ez   ejD                  fd ez   efd! eej>                  e«      fd" eej>                  e«      fd#ez   dz    eej>                  e«      fd$ejF                  fd%e$jJ                  d&fed'z   e&fd(e&fd)e'fd*e(jR                  fd+e(jT                  fd,e(jV                  fd-e$jX                  d.fd/e$jJ                  d0fgd1ef ed«      gd2e'd3f ed«      gd4ed5f ed6«      gd7ed3fd4ed5fd8efd9 eeee«      f ed6«      g ed«      dj;                  dj=                  e«      «      ez   efd:j;                  dj=                  e
«      «      ez   d;z   ed3fd<ez   efd=efd$ejF                  fd! eej>                  e«      fd> eej>                  e«      fd?ef e-d3«      g
d@ eee.j^                  «      fdAefdBe.j`                  dCfdDe.jb                  fgdEe.j`                  fdBe.j`                  dFfdGe.j`                  d3fdHe.j`                  fgdIe$jJ                  fdJe$jd                  fd/e$jJ                  d3fgdKe$jJ                  f edL«      dMe$jJ                  d3fgdNe$jX                  f edL«      dOe$jX                  d3fgdPe$jd                  fdQe$jd                  fdRe$jd                  fdSe$jd                  fgdTœZ3yU)Vr   z&
    Lexer for the Koka language.
    ÚKokaz/https://koka-lang.github.io/koka/doc/index.htmlÚkokaz*.kkz*.kkiztext/x-kokaz1.6)"rî   rð   rï   r3   ÚcotypeÚrectypeÚaliasÚstructÚconÚfunÚfunctionÚvalÚvarÚexternalr+   r2   r)   ÚelifÚreturnrH  r°   r±   r°   rT   rR   Úasr   ÚinlineÚrecÚtryÚyieldÚenumrµ   r.   )r3   rp  rq  rr  rs  r�  )rë   ÚexistsÚsomer¼   )ÚforÚwhileÚrepeatÚforeachzforeach-indexedr$  ÚcatchÚfinallyÚcsÚjsÚfileÚrefÚassignedz[$%&*+@!/\\^~=.:\-?|<>]+z(?!Ú)z	(?![\w/])Ú
whitespacez::?r3   z(alias)(\s+)([a-z]\w*)?ú
alias-typez(struct)(\s+)([a-z]\w*)?ústruct-typez({})rW   z(\s+)([a-z]\w*)?z=(module)(\s+)(interface(?=\s))?(\s+)?((?:[a-z]\w*/)*[a-z]\w*)z`(import)(\s+)((?:[a-z]\w*/)*[a-z]\w*)(?:(\s*)(=)(\s*)(qualified)?(\s*)((?:[a-z]\w*/)*[a-z]\w*))?z>^(public|private)?(\s+)?(function|fun|val)(\s+)([a-z]\w*|\((?:z|/)\))zd^(?:(public|private)(?=\s+external))?((?<!^)\s+)?(external)(\s+)(inline(?=\s))?(\s+)?([a-z]\w*|\((?:z::?|:=|\->|[=.]z((?:[a-z]\w*/)*)([A-Z]\w*)z((?:[a-z]\w*/)*)([a-z]\w*)z((?:[a-z]\w*/)*)(\((?:z_\w*z@"Ú	litstringz
|/(?![*/])Ú`z[{}()\[\];,]z![0-9]+\.[0-9]+([eE][\-+]?[0-9]+)?z0[xX][0-9a-fA-F]+z[0-9]+r\   Úcharr^   r_   Ú=z(?=\((?!,*\)))rd   z[(\[<]útype-nestedútype-contentz[)\]>]ri   z([a-z]\w*)(\s*)(:)(?!:)z(?=(({})z))z[EPHVX]z[a-z][0-9]*(?![\w/])z((?:[a-z]\w*/)*)([a-z]\w+)z::|->|[.:|]z(\n\s*)(#.*)$rM   r  rP   r  r  rn   r  r  z[^"]+z""z	[^\\"\n]+úescape-sequencez["\n]z
[^\\\'\n]+z[\'\n]z\\[nrt\\"\']z\\x[0-9a-fA-F]{2}z\\u[0-9a-fA-F]{4}z\\U[0-9a-fA-F]{6})r{   r‘  r’  r3   r—  r˜  r�  rP   r“  r_   r•  r™  N)4r|   r}   r~   r   r€   r�   r‚   rƒ   r„   r…   ÚkeywordsÚtypeStartKeywordsÚtypekeywordsÚbuiltinÚsymbolsÚ	sboundaryÚboundaryr   Ú	AttributeÚ	tokenTypeÚClassÚtokenTypeDefr   ÚEmphÚtokenConstructorr   r   r   r   rŒ   r�   r›   r‘   r“   ÚPseudoÚVariabler   ÚDoubler   r   r   r•   r˜   r™   rŽ   r   r   ÚPreprocr‰   rˆ   rœ   r�   rž   rŸ   r    r   r   �  sƒ  „ ñð €DØ
;€CØˆh€GØ˜Ð!€IØ�€IØ€Mò€Hò Ðò
€Lò
€Gð *€Gð ˜‘ #Ñ%€Ið €Hð —‘€IØ—:‘:€LØ—|‘|Ðñ
 �LÓ!ð �iÑ ¨FÐ3Ø'©°'¸:À|Ó)TØðà(©(°7¸JÈÓ*UØðà�n‰n˜SŸX™XÐ&7Ó8Ó9Ø ñ!Ù"*¨7°JÀÓ"MØðð NÙ�g˜z¨7°JÀÇÁÓOðQð+ñ �g˜z¨4¯>©>¸:ÀwÐPZØ˜z¨4¯>©>ó;ð<ð%Ø'.ñ/Ø1:ñ;á�g˜z¨7°JÀÇÁÓNðPð Ø")ñ*Ø,5ñ6á�g˜z¨7°JÀÈÐUY×UbÑUbÓcðeð
 �^‰^˜CŸH™H \Ó2Ó3°hÑ>ÀÇÁÐMØ�^‰^˜CŸH™H XÓ.Ó/°(Ñ:¸GÐDØ�^‰^˜CŸH™H WÓ-Ó.°Ñ9¸7¿>¹>ÐJØ )Ñ+¨WÐ5ð +Ù�d—n‘nÐ&6Ó7ð9à*©H°T·^±^ÀTÓ,JÐKØ&¨Ñ0°9Ñ<Ù�d—n‘n dÓ+ð-à�d—m‘mÐ$ð �F—M‘M ;Ð/ð �|Ñ# XÐ.Ø�8ÐØ˜kÐ*ð 2°6·<±<Ð@Ø! 6§:¡:Ð.Ø˜Ÿ™Ð'à�6—;‘; Ð'Ø�6—=‘= (Ð+ðu;
ð~ �7ˆOÙ�F‹Oð
ð  ¨VÐ4Ù�F‹Oð
ð ˜	 =Ð1Ù�NÓ#ð
ð ˜	 6Ð*Ø˜	 =Ð1Ø�9ÐØ'Ù�d˜J¨	Ó2ð4á�NÓ#ð
ñ �LÓ!ð �^‰^˜CŸH™H \Ó2Ó3°hÑ>ÀÐHØ×Ñ §¡¨Ó 2Ó3°hÑ>ÀÑEØ�fðð ˜(Ñ" IÐ.ð % iÐ0Ø�i×(Ñ(Ð)Ø*Ù�d—n‘n iÓ0ð2à*Ù�d—n‘n iÓ0ð2ð ˜YÐ'ñ �F‹Oð/
ð8 ™x¨
°G·O±OÓDÐEØ�ZÐ Ø�W×&Ñ&¨	Ð2Ø�w—~‘~Ð&ð	
ð ˜×)Ñ)Ð*Ø�W×&Ñ&¨Ð0Ø�W×&Ñ&¨Ð/Ø�g×'Ñ'Ð(ð	
ð �v—}‘}Ð%Ø�F—M‘MÐ"Ø�6—=‘= &Ð)ð
ð ˜6Ÿ=™=Ð)ÙÐ%Ó&Ø�v—}‘} fÐ-ð
ð ˜FŸK™KÐ(ÙÐ%Ó&Ø˜Ÿ™ VÐ,ð
ð ˜fŸm™mÐ,Ø! 6§=¡=Ð1Ø! 6§=¡=Ð1à! 6§=¡=Ð1ð
ñcX�FrŸ   r   )%r   rV  Úpygments.lexerr   r   r   r   r   r   r	   r
   Úpygments.tokenr   r   r   r   r   r   r   r   r   r   Úpygmentsr   r�   Ú__all__r   r   r   r   r   r6  r   r   r   r   r   rž   rŸ   r    Ú<module>r¯     sÎ   ðñó 
÷'÷ 'ó '÷-÷ -÷ -å %ò0€ô
B�:ô BôJ�ô ô*l�ô lô^F�
ô FôRF*�:ô F*ôR=Z�Eô =Zô@9˜=ô 9ô.9˜ô 9ô.M˜ô Mô.:˜=ô :ô.T�
õ TrŸ   