Ë
    |í¼e‚€  ã                   ó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-2023 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
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dj'                  e	«      z  ej                   f‘dej*                  f‘dej.                  z   dz   ej0                  f‘dej.                  z   dz   ef‘dej2                  z   dz   ej4                  f‘dej2                  z   dz   ej4                  f‘dej4                  f‘dej4                  f‘dej4                  f‘dej0                  f‘d ej8                  f‘d!ej4                  f‘d"ef‘d#ej<                  f‘d$ej<                  f‘d%ej<                  f‘d&ej<                  f‘d'ej>                  f‘d(ej@                  f‘d)ejB                  f‘d*ejD                  f‘d+ej*                  d,f‘d-ed.f‘d/ej4                  f‘d0ejF                  f‘d1e$f‘d
efd-ed.fd2e$d3fd4efd5ej2                  z   d6z   ej2                  z   d7z    e%ejL                  eeee«      d3fd5ej2                  z   d8z    e%ejL                  eeee$«      d9fd5ej2                  z   d:z    e%ejL                  ee$«      d9fd;ejL                  d3fgd
efd5ej2                  z   d:z    e%ejL                  ee$«      d9fd<ej2                  z   d=z   ejL                  d3fgd
efd<ej2                  z   d>z   ej4                  fd?ej.                  z   d@z   ej0                  fdej                  fdej                  dfdAe$fd"efdBe$dCfd2e$dDfg	dEej                  fdej                  dFfdGej                  d3fdHej                  fgdIej*                  d3fdJejN                  dKfd+ej*                  d3fgdLefdJejN                  dKfd-ed3fgdMejN                  d3fdNej2                  z   dOz   ejN                  d3fdj'                  e
«      ejN                  d3fdPejN                  d3fdQejN                  d3fdRejN                  d3fdS e%eejN                  «      d3fgdTœZ(yU)Vr   zk
    A Haskell lexer based on the lexemes defined in the Haskell 98 Report.

    .. versionadded:: 0.8
    ÚHaskellzhttps://www.haskell.org/ÚhaskellÚhsz*.hsztext/x-haskell)Ú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(%s)(?!\')\bú|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ÚreservedÚasciir   r   ÚSingleÚ	Multiliner   ÚReservedr   Ú	ExceptionÚjoinr   ÚCharÚuniÚLlÚFunctionÚLuÚTyper   ÚWordr   ÚFloatÚBinÚOctÚHexÚIntegerÚBuiltinr   r   Ú	NamespaceÚEscapeÚtokens© ó    ú9/usr/lib/python3/dist-packages/pygments/lexers/haskell.pyr   r      sÇ  „ ñð
 €DØ
$€CØ˜$Ð€GØ�€IØ!Ð"€IðF€Hð9€Eð*
à�ZÐ ð*
ð 2°7·>±>ÐBð	*
ð
 �W×&Ñ&¨	Ð2ð*
ð ˜G×,Ñ,¨hÐ7ð*
ð ˜G×,Ñ,¨hÐ7ð*
ð ˜4Ÿ>™>Ð*ð*
ð  §¡¨(Ó!3Ñ3°W×5EÑ5EÐFð*
ð ˜Ÿ™Ð%ð*
ð �c—f‘f‰_˜{Ñ*¨D¯M©MÐ:ð*
ð �s—v‘vÑ 
Ñ*¨DÐ1ð*
ð ˜Ÿ™Ñ +Ñ-¨w¯|©|Ð<ð*
ð  �s—v‘vÑ Ñ+¨W¯\©\Ð:ð!*
ð" ˜wŸ|™|Ð,ð#*
ð$ ˜gŸl™lÐ+ð%*
ð& ,¨W¯\©\Ð:ð'*
ð* /°·±Ð>ð+*
ð, <¸X¿]¹]ÐKð-*
ð. *¨7¯<©<Ð8ð/*
ð0 )¨(Ð3ð1*
ð4 EÀfÇlÁlÐSð5*
ð6(Ø)/¯©ð7ð7*
ð: .¨v¯|©|Ð<ð;*
ð< <¸V¿\¹\ÐJð=*
ð> % f§j¡jÐ1ð?*
ð@ '¨¯
©
Ð3ðA*
ðB 1°&·*±*Ð=ðC*
ðD ˜6Ÿ>™>Ð*ðE*
ðH �6—;‘; Ð,ðI*
ðJ �6˜8Ð$ðK*
ðN �g—l‘lÐ#ðO*
ðP �d—l‘lÐ#ðQ*
ðR ˜[Ð)ðS*
ðZ �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ð
ñKn�Fr�   r   c            	       ó¬   — e Zd ZdZdZdgZdgZg 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   zY
    A Haskell lexer with support for Hspec constructs.

    .. versionadded:: 2.4.0
    ÚHspecÚhspecz*Spec.hsr{   z(it)(\s*)("[^"]*")z(describe)(\s*)("[^"]*")z(context)(\s*)("[^"]*")N)r|   r}   r~   r   r€   r‚   rƒ   r„   r   r   r   r   ÚDocr	   r›   rœ   r�   rž   r   r   �   st   „ ñð €DØˆi€GØ�€IØ€Ið 	Ø"¡H¨T°:¸v¿z¹zÓ$JÐKØ(©(°4¸ÀVÇZÁZÓ*PÐQØ'©°$¸
ÀFÇJÁJÓ)OÐPØð	
ð�Fr�   r   c                   óZ  — 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dj                  e«      z   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j.                  e«      fddj                  e	«      z  ej                   fd eej                   e«      dfdej0                  fdefdej.                  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fd$ eej@                  ee!«      d%fd&ej@                  d'fgd#efd(ej0                  fd)ej*                  fd*ej$                  fd+ej&                  dfd,e!fd-efd.e!d/fd0e!d1fg	d2ej&                  fd+ej&                  d3fd4ej&                  d'fd5ej&                  fgd6ej>                  fd7ejD                  d8fdej>                  d'fgd9efd7ejD                  d8fded'fgd:ejD                  d'fd;ejD                  d'fdj                  e
«      ejD                  d'fd<ejD                  d'fd=ejD                  d'fdejD                  d'fd> eeejD                  «      d'fgd?œZ#y@)Ar   zŒ
    A lexer for the dependently typed programming language Idris.

    Based on the Haskell and Agda Lexer.

    .. versionadded:: 2.0
    ÚIdriszhttps://www.idris-lang.org/ÚidrisÚidrz*.idrztext/x-idris)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*)(%%(%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†   Ú
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   ³   sA  „ ñð €DØ
'€CØ˜Ð€GØ�	€IØÐ €IðW€Hð9€Eð
Y€Jð  §¡¨*Ó!5Ñ5Ù�j '×"2Ñ"2Ó3ð5à8¹(À:ÈwÏ~É~Ó:^Ð_Ø ¡(¨:°w·~±~Ó"FÐGØ™H Z°×1BÑ1BÓCÀYÐOà/Ù�j $§-¡-°¸X¿]¹]ÈJÓWðYð  §¡¨(Ó!3Ñ3°W×5EÑ5EÐFØ$¡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 e
eej                  eej                  e«      fd	ej"                  fd
ej$                  dfdej&                  dfddj)                  e	«      z  ej,                  fd e
ej,                  e«      dfdej.                  fdefdej                  fdej2                  fdej2                  fdej4                  fdej6                  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j@                  d   ej@                  d   ej@                  d   ej@                  d&   d'œZ y())r   z|
    For the Agda dependently typed functional programming language and
    proof assistant.

    .. versionadded:: 2.0
    ÚAgdaz.http://wiki.portal.chalmers.se/agda/pmwiki.phpÚagdaz*.agdaztext/x-agda))r¯   r«   Úcoinductiver¶   r&   r(   zeta-equalityÚfieldÚforallÚhidingr,   Ú	inductiveÚinfixÚinfixlÚinfixrr.   Úinterleavedr/   Úmacror¬   zno-eta-equalityÚopenÚoverlaprº   r¾   Ú	primitiver­   ÚquoteÚ	quoteTermrÀ   Úrenamingr¨   r¼   ÚtacticÚ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ˆ   Ú	Directiver‹   r   r‰   r‘   r   r“   r–   r—   r   rŒ   r   r   r›   rœ   r�   rž   r   r   #  sæ  „ ñð €DØ
:€CØˆh€GØ�
€IØ�€Ið€Hð 0Ù�j $§-¡-°Ø—m‘m Zó1ð2ð 2°7·>±>ÐBØ�W×&Ñ&¨	Ð2à�W×&Ñ&¨Ð/ð  §¡¨(Ó!3Ñ3°W×5EÑ5EÐFØ$¡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	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dj%                  e«      z  ej                  fdej&                  fdefdej(                  fdej&                  fdej,                  fdej(                  fdefdej0                  fdej0                  fdej2                  fdej4                  fdej6                  fd ej:                  d!fd"ed#fd$ej(                  fd%ej<                  fd&efgd	e
fd"ed#fd'ed(fd)efd* e ejB                  e
ee
e«      d(fd+ e ejB                  e
ee
e«      d,fd- e ejB                  e
e«      d,fd.ejB                  d(fgd	e
fd- e ejB                  e
e«      d,fd/ejB                  d(fgd	e
fd0ej(                  fd1ej&                  fd2efdefd3ed4fd'ed5fgd6ej                  fdej                  d7fd8ej                  d(fd9ej                  fgd:ej:                  d(fd;ejD                  d<fd ej:                  d(fgd=efd;ejD                  d<fd"ed(fgd>ejD                  d(fd?ejD                  d(fdj%                  e	«      ejD                  d(fd@ejD                  d(fdAejD                  d(fdejD                  d(fdB e e
ejD                  «      d(fgdCœZ#h dD£Z$dE„ Z%yF)Gr   zs
    FIXME: A Cryptol2 lexer based on the lexemes defined in the Haskell 98 Report.

    .. versionadded:: 2.0
    ÚCryptolÚcryptolÚcryz*.cryztext/x-cryptol)Ú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ì  sd   è ø€ Ø�ˆä×1Ñ1°$¸¸eÓDò	*ÑˆE�5˜%àœ‰} ¨$×*=Ñ*=Ñ!=ØœTŸ\™\¨5Ð0Ó0à˜U 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   m  s´  „ ñð
 €DØ˜%Ð €GØ�	€IØ!Ð"€Ið2€Hð9€Eð �ZÐ à�w—~‘~Ð&Ø�W×&Ñ&¨	Ð2ð ˜G×,Ñ,¨hÐ7Ø˜G×,Ñ,¨hÐ7Ø˜4Ÿ>™>Ð*Ø §¡¨(Ó!3Ñ3°W×5EÑ5EÐFØ §¡Ð.Ø Ð%Ø! 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)  r2  Úoptionss      rž   r3  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œ   )r4  ÚgetÚlstripr
   ÚfinditerÚgroupÚbird_reÚmatchÚappendÚlenr   ÚSpecialr   Úpygments.lexers.markupr<  Ú
startswithÚlistr'  r   r2  )r)  r*  ÚstyleÚcodeÚ
insertionsrB  ÚlineÚmr<  ÚlxlexerÚ	codelinesr8  s               rž   r'  z$LiterateLexer.get_tokens_unprocessed	  s  è ø€ Ø—‘× Ñ  Ó,ˆØˆ=Ø—[‘[“] 1 QÐ'¨5Ð0Ò=°gÒGÀˆEàˆØˆ
Ø�FŠ?ä ×)Ñ)¨$Ó/ò 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òFõ 8ÙÑ. §¡Ñ.ˆGØˆIØˆEÜ ×)Ñ)¨$Ó/ò "�Ø—{‘{“}�ÙØ—{‘{“}×/Ñ/°Ô>Ø$%˜	Ø ™™à ™™Ø—[‘[“]×-Ñ-¨oÔ>Ø !�IØ˜T‘M�EØ×%Ñ%¤s¨4£yÜ'+¨G×,JÑ,JÈ5Ó,QÓ'Rð'Tô Uà‘Eà˜T‘M‘Eð"ð  ×Ñœ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ÚcompilerA  r3  r'  rœ   r�   rž   r0  r0  ö  s%   „ ñ
ð ˆb�j‰jÐ+Ó,€Gò(ó*Zr�   r0  c                   ó.   — e Zd ZdZdZg d¢ZdgZdgZd„ Zy)r   an  
    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.

    .. versionadded:: 0.9
    zLiterate Haskell)zliterate-haskellÚlhaskellÚlhsz*.lhsztext/x-literate-haskellc                 óH   — t        di |¤Ž}t        j                  | |fi |¤Ž y ©Nrœ   )r   r0  r3  ©r)  r4  Úhslexers      rž   r3  zLiterateHaskellLexer.__init__H  s$   € ÜÑ) Ñ)ˆÜ×Ñ˜t WÑ8°Ó8r�   N©	r|   r}   r~   r   r€   r‚   rƒ   r„   r3  rœ   r�   rž   r   r   6  s'   „ ñð €DÚ5€GØ�	€IØ*Ð+€Ió9r�   r   c                   ó.   — e Zd ZdZdZg d¢ZdgZdgZd„ Zy)r   al  
    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.

    .. versionadded:: 2.0
    zLiterate Idris)zliterate-idrisÚlidrisÚlidrz*.lidrztext/x-literate-idrisc                 óH   — t        di |¤Ž}t        j                  | |fi |¤Ž y rV  )r   r0  r3  rW  s      rž   r3  zLiterateIdrisLexer.__init___  s$   € ÜÑ'˜wÑ'ˆÜ×Ñ˜t WÑ8°Ó8r�   NrY  rœ   r�   rž   r   r   M  s'   „ ñð €DÚ2€GØ�
€IØ(Ð)€Ió9r�   r   c                   ó.   — e Zd ZdZdZddgZdgZdgZd„ Zy)	r   aU  
    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.

    .. versionadded:: 2.0
    zLiterate Agdazliterate-agdaÚlagdaz*.lagdaztext/x-literate-agdac                 óL   — t        di |¤Ž}t        j                  | |fddi|¤Ž y )Nr6  r8  rœ   )r   r0  r3  )r)  r4  Ú	agdalexers      rž   r3  zLiterateAgdaLexer.__init__v  s)   € ÜÑ( Ñ(ˆ	Ü×Ñ˜t YÑL¸ÐLÀGÓLr�   NrY  rœ   r�   rž   r   r   d  s-   „ ñð €DØ Ð(€GØ�€IØ'Ð(€IóMr�   r   c                   ó.   — e Zd ZdZdZg d¢ZdgZdgZd„ Zy)r   an  
    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.

    .. versionadded:: 2.0
    zLiterate Cryptol)zliterate-cryptolÚlcryptolÚlcryz*.lcryztext/x-literate-cryptolc                 óH   — t        di |¤Ž}t        j                  | |fi |¤Ž y rV  )r   r0  r3  )r)  r4  Úcrylexers      rž   r3  zLiterateCryptolLexer.__init__�  s$   € ÜÑ* 'Ñ*ˆÜ×Ñ˜t XÑ9°Ó9r�   NrY  rœ   r�   rž   r   r   {  s'   „ ñð €DÚ6€GØ�
€IØ*Ð+€Ió:r�   r   c                   óô  — e Zd ZdZdZdZdgZddgZdg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dj9                  e
«      z  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dj9                  e«      z  ez   ej>                  fddj9                  e	«      z  ez   efddj9                  e«      z  ez   ej@                  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jB                  fd$e"jF                  d%fed&z   e$fd'e$fd(e%fd)e&jN                  fd*e&jP                  fd+e&jR                  fd,e"jT                  d-fd.e"jF                  d/fgd0ef ed«      gd1e%d2f ed«      gd3ed4f ed5«      gd6ed2fd3ed4fd7efd8 eeee«      f ed5«      g ed«      ddj9                  e«      z  ez   efd9dj9                  e	«      z  ez   d:z   ed2fd;ez   efd<efd#ejB                  fd  eej:                  e«      fd= eej:                  e«      fd>ef e+d2«      g
d? eee,jZ                  «      fd@efdAe,j\                  dBfdCe,j^                  fgdDe,j\                  fdAe,j\                  dEfdFe,j\                  d2fdGe,j\                  fgdHe"jF                  fdIe"j`                  fd.e"jF                  d2fgdJe"jF                  f edK«      dLe"jF                  d2fgdMe"jT                  f edK«      dNe"jT                  d2fgdOe"j`                  fdPe"j`                  fdQe"j`                  fdRe"j`                  fgdSœZ1yT)Ur   zA
    Lexer for the Koka language.

    .. versionadded:: 1.6
    ÚKokaz/https://koka-lang.github.io/koka/doc/index.htmlÚkokaz*.kkz*.kkiztext/x-koka)"rë   rí   rì   r3   ÚcotypeÚrectypeÚaliasÚstructÚconÚfunÚfunctionÚvalÚvarÚexternalr+   r2   r)   ÚelifÚreturnrB  r­   r®   r­   rT   rR   Úasr   ÚinlineÚrecÚtryÚyieldÚenumr²   r.   )r3   rj  rk  rl  rm  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(%s)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(?=((%s)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)2r|   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‘   ÚPseudoÚVariabler   ÚDoubler   r   r   r“   r–   r—   rŒ   r   r   ÚPreprocrˆ   r‡   rš   r›   rœ   r�   rž   r   r   ’  sd  „ ñð €DØ
;€CØˆh€GØ˜Ð!€IØ�€Iò€Hò Ðò
€Lò
€Gð *€Gð ˜‘ #Ñ%€Ið €Hð —‘€IØ—:‘:€LØ—|‘|Ðñ
 �LÓ!ð �iÑ ¨FÐ3Ø'©°'¸:À|Ó)TØðà(©(°7¸JÈÓ*UØðà˜Ÿ™Ð!2Ó3Ñ3Ø ñ!Ù"*¨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ð
 �s—x‘x Ó-Ñ-°Ñ8¸'¿,¹,ÐGØ�s—x‘x Ó)Ñ)¨HÑ4°gÐ>Ø�s—x‘x Ó(Ñ(¨8Ñ3°W·^±^ÐDØ )Ñ+¨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Ó!ð �s—x‘x Ó-Ñ-°Ñ8¸'ÐBØ˜3Ÿ8™8 HÓ-Ñ-°Ñ8¸4Ñ?Ø�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   rP  Ú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   r0  r   r   r   r   r   rœ   r�   rž   ú<module>r©     sÎ   ðñó 
÷'÷ 'ó '÷-÷ -÷ -å %ò0€ô
B�:ô BôJ�ô ô,m�ô mô`G�
ô GôTF*�:ô F*ôR=Z�Eô =Zô@9˜=ô 9ô.9˜ô 9ô.M˜ô Mô.:˜=ô :ô.U�
õ Ur�   