Ë
    |í¼eß  ã                   óÄ   — d Z ddlZddl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 g d¢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.int_fiction
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for interactive fiction languages.

    :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    N)Ú
RegexLexerÚincludeÚbygroupsÚusingÚthisÚdefaultÚwords)
ÚTextÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚPunctuationÚErrorÚGeneric)ÚInform6LexerÚInform6TemplateLexerÚInform7LexerÚ
Tads3Lexerc                   ó:  — e Zd ZdZdZdZddgZdgZej                  ej                  z  ZdZdZd	Zd
ZdZi dde›de›d�ej$                  df ed«      g“ddefdez  ej*                  fg“d ed«      dedfdedfdef ed«      g“d ed«      dedfde›e›d�edfd ez  efd!ez  edfg“d" ed«      d#edfd$edfded%fd&ez  efd'ez  efd(edfd)ez  edfd*ej2                  dfd+efd,ej6                  d-fd.ef ed«      g“d/d#ed0fd1efd2ez  edfd+ej<                  fd3ed4f ed"«      g“d5d$ed6fd7edf ed"«      g“d8d9edf ed"«      g“d:d(edf ed"«      g“d;d<ej>                  df ed:«      g“d= ed«      d>e›d?e›d@�e jB                  dfdAe›dBe›dC� e"e jB                  e jF                  e jB                  «      dfdAe›dDe›dC� e"e jB                  e jF                  e jB                  «      dfdEez  e j*                  dFfdEez  e jH                  dGfdHe›dIe›dJ�e%jL                  dfdKe%jN                  dfdLe%jP                  dfdMe%jR                  dfdNez   e"ee«      dfdOez   e"eejT                  jV                  «      dfdPedQfdRez   e"eejX                  «      dfdSejZ                  dTf e.dUdV¬W«      ejZ                  dfdXejZ                  df e.dYdZdV¬[«      ejZ                  df e.d\dZdV¬[«      ejZ                  dfeedfg“d] ed=«       ed«      g“d^d_e jF                  fd`ez  e j*                  fdae j*                  fdbe jF                  fdce jF                  fdEez  e j*                  dfg“ddd_e jF                  fd`ez  e jH                  fdae jH                  fdee jF                  fdfe›dge›dh�e jF                  fdfe›die›dje›dk�e jF                  fdfe›dle›dm�e jF                  fdEez  e jH                  dfg“dndoez  e jH                  fdpe jH                  fdee jF                  fdEez  e jH                  dfg“dq ed«      eej^                  df ed=«      g“dr ed«      d(efdsed]feej^                  d]f ed«      g“i dt ed«      eejT                  jV                  df ed=«      g“d- ed«      eej6                  df ed«      g“du ed«      eejT                  df ed«      g“dvdwe j`                  dfg“dx ed«      eejZ                  dfg“d ed«      dSefd3edfdedyf e.dzdZdV¬[«      edfd{ed|fd}ed~fded€fd�ed‚fdƒ e"ee«      fd„ed…fd†ed‡fdˆed‰fdŠed‹fdŒed‡fd�edŽfd�ed�fd‘ed’fd“ed”fd•ed–fd—ed˜fd™edšfd›edœfeejb                  d�fg“d� ed«      eejX                  df ed«      g“dž ed«      d3edfdŸefd e jH                  dnfeejT                  fg“d ed«      d3efd¡edfd7ef ed«      g“d¢ ed«      d£ed¤f ed«      g“d¥ ed«      d¦edfeejb                  dfg“d§ ed«      d#ed¨f ed«      g“d©d2ez  efdªej>                  df edt«      g“d« ed«      d3ed6fd(efd¬ej>                  d­fd®ej>                  fd7ef ed¯«      g“d­ ed«      d¦edfeejb                  f ed=«      g“d… ed«      dsed°fdŸed±f ed²«      g“d³ ed«      d3edfd´efd2ez  ed=fdµed¶f ed²«      g“¥i d¶ ed«      dsed�f ed«      g“d‰ ed«      d3edfd(efd·edtf edt«      g“d¸ ed«      dEez  e jH                  d¹f edº«      g“d» ed«      dEez  e jH                  d¼f ed«      g“d½d_e jF                  f edn«      g“d¾ ed«       e.d¿dV¬W«      edfdÀefdÁez  edfg“d² ed¾«       ed=«      g“dÂ ed¾«       ed«      g“dÃ ed«       e.dÄdÅe›de›dÆ�¬W«      ef ed«      g“dÇ ed«       e.dÈdV¬W«      edf ed«      g“dÉ ed«      d¡edfdÊef e.dËdV¬W«      edfdÌefdÍedÎfdÏedÐfdÑedÒfdÓedÔfdÕedÖfd×ez  edØfdÙej6                  d-fdÚedÛfdÜedfdedfdÝedÞf edÞ«      g“dß ed«      dàedfdáez  ej<                  dfe›dâe›dã�ejX                  df ed«      g“dä ed«      d#edf ed«      g“då ed«      d3edæf edæ«      g“dØ ed«      d3edfd7ef edç«      g“dè ed«      d#edéf ed«      g“dÛ ed«      dEez  e jH                  dêfeedëfg“¥dëd7ef edì«      gi¥Z2dí„ Z3dî„ Z4yï)ðr   z>
    For Inform 6 source code.

    .. versionadded:: 2.0
    zInform 6zhttp://inform-fiction.org/Úinform6Úi6z*.infz[a-zA-Z_]\w*u	   \-â€�-â€”u   "â€œâ€�u   'â€˜â€™u
   \nÂ…â€¨â€©Úrootz\A(!%[^z]*[ú])+Ú	directiveÚ_whitespaceú\s+ú![^%s]*r   ú\[zmany-valuesz:|(?=;)ú#popú<)Ú
expressionÚ_expressionr%   z(?=sp\b)z(?=[z$0-9#a-zA-Z_]))r"   Úvaluez\+\+|[%s]{1,2}(?!>)|~~?z(?=[()\[%s,?@{:;])r$   ú\(ú\))r"   Ú
statementsÚlocalsz>(?=(\s+|(![^%s]*))*[>;])z\+\+|[%s]{2}(?!>)ú,z6&&?|\|\|?|[=~><]?=|[%s]{1,2}>?|\.\.?[&#]?|::|[<>+*/%%]z*(has|hasnt|in|notin|ofclass|or|provides)\bzsp\bz\?~?úlabel?z[@{]ú_assembly-expression)ú#pushr%   z[\[\]]z[%s]>ú;ú#pop:3ú_for-expressionú#pop:2ú:ú_keyword-expressionz(from|near|to)\bú_list-expressionú_object-expressionzhas\br&   ú[z][^@][ú]z([z])(@\{[0-9a-fA-F]*\})([z])z])(@.{2})([ú[%s])r"   údictionary-word)r"   Ústringz	\$[<>]?[+z][0-9]*\.?[0-9]*([eE][+z
]?[0-9]+)?z\$[0-9a-fA-F]+z	\$\$[01]+z[0-9]+z(##|#a\$)(%s)z
(#g\$)(%s)z#[nw]\$)r"   úobsolete-dictionary-wordz
(#r\$)(%s)ú#)r"   úsystem-constant)ÚchildÚchildrenÚelderÚeldestÚglkÚindirectÚ	metaclassÚparentÚrandomÚsiblingÚyoungerÚyoungestz\b)Úsuffixz#(?i)(Class|Object|Routine|String)\b)2ÚBox__RoutineÚCA__PrÚCDefArtÚ	CInDefArtÚCl__MsÚCopy__PrimitiveÚCP__TabÚDA__PrÚDB__PrÚDefArtÚDynam__StringÚEnglishNumberÚ	Glk__WrapÚIA__PrÚIB__PrÚInDefArtÚMain__ÚMeta__classÚOB__MoveÚ
OB__RemoveÚOC__ClÚOP__PrÚPrint__AddrÚPrint__PNameÚPrintShortNameÚRA__PrÚRA__ScÚRL__PrÚ	R_ProcessÚRT__ChGÚRT__ChGtÚ	RT__ChLDBÚ	RT__ChLDWÚRT__ChPRÚRT__ChPrintAÚRT__ChPrintCÚRT__ChPrintOÚRT__ChPrintSÚRT__ChPSÚRT__ChRÚ	RT__ChSTBÚ	RT__ChSTWÚRT__ChTÚRT__ErrÚRT__TrPSÚRV__PrÚ	Symb__TabÚUnsigned__CompareÚWV__PrÚ	Z__Regionz(?i))ÚprefixrK   )8ÚcallÚcopyÚcreateÚDEBUGÚdestroyÚDICT_CHAR_SIZEÚDICT_ENTRY_BYTESÚDICT_IS_UNICODEÚDICT_WORD_SIZEÚDOUBLE_HI_INFINITYÚDOUBLE_HI_NANÚDOUBLE_HI_NINFINITYÚDOUBLE_LO_INFINITYÚDOUBLE_LO_NANÚDOUBLE_LO_NINFINITYÚfalseÚFLOAT_INFINITYÚ	FLOAT_NANÚFLOAT_NINFINITYÚGOBJFIELD_CHAINÚGOBJFIELD_CHILDÚGOBJFIELD_NAMEÚGOBJFIELD_PARENTÚGOBJFIELD_PROPTABÚGOBJFIELD_SIBLINGÚGOBJ_EXT_STARTÚGOBJ_TOTAL_LENGTHÚGrammar__VersionÚINDIV_PROP_STARTÚINFIXÚinfix__watchingÚMODULE_MODEÚnameÚnothingÚNUM_ATTR_BYTESÚprintÚprint_to_arrayÚrecreateÚ	remainingÚselfÚsenderÚSTRICT_MODEÚsw__varÚ
sys__glob0Ú
sys__glob1Ú
sys__glob2Úsys_statusline_flagÚTARGET_GLULXÚTARGET_ZCODEÚtemp__global2Útemp__global3Útemp__global4Útemp_globalÚtrueÚUSE_MODULESÚWORDSIZEzvalue?r:   z[~^]+z[^~^\\@({%s]+z[({]z@\{[0-9a-fA-F]*\}z@.{2}r;   z\\z@(\\\s*[z]\s*)*@((\\\s*[z]\s*)*[0-9])*z]\s*)*[({]((\\\s*[z]\s*)*[0-9a-zA-Z_])*(\\\s*[z
]\s*)*[)}]z]\s*)*.(\\\s*[z]\s*)*.úplain-stringz[^~^\\({\[\]%s]+z
[~^({\[\]]Ú	_constantú	constant*ú=Ú_globalú	variable?r<   z\S\w*r>   )r   r)   r*   úroutine-name?)Ú
abbreviateÚendifÚ
dictionaryÚifdefÚiffalseÚifndefÚifnotÚiftrueÚifv3Úifv5ÚreleaseÚserialÚswitchesÚsystem_fileÚversionz(?i)(array|global)\b)r   údirective-keyword?r»   z(?i)attribute\b)r   úalias?r¸   z(?i)class\b)úobject-bodyÚ
duplicatesú
class-namez(?i)(constant|default)\b)r   r¹   z(?i)(end\b)(.*)z(?i)(extend|verb)\bÚgrammarz(?i)fake_action\b)r   r¸   z(?i)import\bÚmanifestz(?i)(include|link|origsource)\b)r   úbefore-plain-string?z(?i)(lowstring|undef)\bz(?i)message\b)r   Ú
diagnosticz(?i)(nearby|object)\b)rÏ   ú_object-headz(?i)property\b)r   rÎ   r¸   úproperty-keyword*z(?i)replace\b)r   r½   r½   z(?i)statusline\b)r   rÍ   z
(?i)stub\b)r   r½   z(?i)trace\b)r   útrace-keyword?rØ   z(?i)zcharacter\b)r   rÍ   rÍ   r½   r*   z\*ú"ú\]rÎ   zalias\b)r"   r¸   rÑ   z#(?=[,;]|(class|has|private|with)\b)rÐ   )r"   r$   r%   rÖ   z(class|has|private|with)\brÏ   úclass\bzclass-segmentz(has|private|with)\b)r6   r%   )r"   r   )r"   úgrammar-linez_directive-keywordrÜ   z[/*]z(noun|scope)\bz=routinez(?i)global\brÕ   )r"   úmessage-string)r"   rÔ   rÍ   rÔ   )r"   r·   rÝ   z_directive-keyword!)%ÚadditiveÚaliasÚbufferÚclassÚcreatureÚdataÚerrorÚ
fatalerrorÚfirstÚhasÚheldÚ
individualÚinitialÚinitstrÚlastÚlongÚmetaÚmultiÚmultiexceptÚ	multiheldÚmultiinsideÚnounÚnumberÚonlyÚprivateÚreplaceÚreverseÚscopeÚscoreÚspecialr;   ÚtableÚterminatingÚtimeÚtopicÚwarningÚwithzstatic\bz[%s]{1,2}>|[+=]rÍ   r×   )rÞ   ré   rí   z\b(?=(\s*|(![^z]))*[_a-zA-Z])rØ   )ÚassemblyrÀ   ÚexpressionsÚlinesÚlinkerÚobjectsÚoffÚonÚsymbolsÚtokensÚverbsr)   z[;{}])ÚboxÚbreakÚcontinuer   ÚgiveÚ	inversionÚnew_lineÚquitÚreadÚremoveÚreturnÚrfalseÚrtrueÚspacesr;   Úuntilz(do|else)\bz(font|style)\b)r   úmiscellaneous-keyword?zfor\b)Úforú(?z(if|switch|while))r$   r%   r  z(jump|save|restore)\b)r   r,   zobjectloop\b)r4   r¼   r  zprint(_ret)?\b|(?=[%s])z
print-listz\.ú@Úopcodez#(?![agrnw]\$|#)zmove\b)r   r4   r%   r  z:(bold|fixed|from|near|off|on|reverse|roman|to|underline)\bzX(a|A|an|address|char|name|number|object|property|string|the|The)\b(?=(\s+|(![^%s]*))*\))z(?=(\s+|(![^z]*))*\))r  r  )r1   r%   )r5   r%   r5   Úformr  )r"   r  )Úoperandsr·   r   )r-   r%   c              #   óÈ  K  — g }d}d }t        j                  | |«      D ]¦  \  }}}|t        j                  u r|dk(  r	|||gg}d}nl|dkD  r*|t        vr|t
        vr|dz  }|j                  |||f«       n=|dk(  r1|d   d   dk(  rt        |d   d<   |r|j                  d«      –— |rŒd}|||f–— |t        vsŒœ|t
        vsŒ¥|}Œ¨ |r|j                  d«      –— |rŒy y ­w)NéÿÿÿÿÚiné   r   é   ú))	r   Úget_tokens_unprocessedr   ÚVariabler   r
   Úappendr   Úpop)r¦   ÚtextÚobjectloop_queueÚobjectloop_token_countÚprevious_tokenÚindexÚtokenr&   s           ú=/usr/lib/python3/dist-packages/pygments/lexers/int_fiction.pyr'  z#Inform6Lexer.get_tokens_unprocessedö  s$  è ø€ ð ÐØ!#ÐØˆÜ#-×#DÑ#DÀTØEIó$Kò 	'ÑˆE�5˜%à¤§¡Ñ.°5¸D²=Ø%*¨E°5Ð$9Ð#:Ð Ø)*Ñ&Ø'¨!Ò+Ø¤Ñ'¨E¼Ñ,=Ø*¨aÑ/Ð*Ø ×'Ñ'¨°°uÐ(=Õ>à)¨QÒ.Ø'¨Ñ+¨AÑ.°#Ò5Ü18Ð(¨Ñ+¨AÑ.Ù*Ø.×2Ñ2°1Ó5Ò5ò +à-/Ð*Ø˜U EÐ)Ò)ØœGÒ#¨´TÒ(9Ø!&‘ð%	'ñ& Ø"×&Ñ& qÓ)Ò)ô ùs   ‚B&C"Â)C"Â;C"ÃC"Ã C"c                 ó^   — d}t        j                  d| t         j                  «      r|dz  }|S )z�We try to find a keyword which seem relatively common, unfortunately
        there is a decent overlap with Smalltalk keywords otherwise here..r   zorigsourcegš™™™™™©?)ÚreÚsearchÚ
IGNORECASE©r+  Úresults     r1  Úanalyse_textzInform6Lexer.analyse_text  s,   € ð ˆÜ�9‰9Ð% t¬R¯]©]Ô;Ø�d‰NˆFàˆó    N)5Ú__name__Ú
__module__Ú__qualname__Ú__doc__rŸ   ÚurlÚaliasesÚ	filenamesr3  Ú	MULTILINEÚDOTALLÚflagsÚ_nameÚ_dashÚ_dquoteÚ_squoteÚ_newliner   ÚPreprocr   r
   ÚSingler   r   r   ÚWordr   ÚLabelr   r   ÚPseudoÚDeclarationr   ÚCharr   ÚEscapeÚDoubler   ÚFloatÚHexÚBinÚIntegerr(  ÚGlobalÚFunctionÚBuiltinr	   ÚConstantÚOtherÚClassr
  r'  r8  © r9  r1  r   r      sº  „ ñð €DØ
&€CØ˜$Ð€GØ�	€Ià�L‰L˜2Ÿ9™9Ñ$€Eà€Eð
 €EØ€GØ€GØ&€HðFÙÚ&.²Ð9¸7¿?¹?Øðá�KÓ ð
ðFð 	Ø�TˆNØ˜(Ñ" G§N¡NÐ3ð
ðFð 	Ù�MÓ"Ø�K Ð/Ø˜ fÐ-Ø�;ÐÙÐ1Ó2ð
ðFð& 	Ù�MÓ"Ø˜$ Ñ'Ù*1²7Ð;¸TØð à'¨%Ñ/°Ð:Ø" UÑ*¨D°&Ð9ð
ð'Fð6 	Ù�MÓ"Ø�KÐ!>Ð?Ø�K Ð(Ø�KÐ!AÐBØ)¨HÑ4°kÐBØ! EÑ)¨8Ð4Ø�; Ð.ØFÈÑNØ�}ð&à:¸H¿M¹MØðà�dˆOØ�d—j‘j (Ð+Ø�eÐÙ�F‹Oð
ð7FðX 	Ø�KÐ!9Ð:Ø˜Ð$Ø˜Ñ˜{¨MÐ:Ø�g—n‘nÐ%Ø�; Ð)Ù�LÓ!ð!
ðYFðh 	Ø�K Ð*Ø�; Ð'Ù�LÓ!ð
ðiFðr 	Ø  '¨=Ð9Ù�LÓ!ð 
ðsFðz 	Ø�; Ð'Ù�LÓ!ð
ð{FðB 	Ø�w×*Ñ*¨FÐ3ÙÐ&Ó'ð
ðCFðN 	Ù�MÔ"â 'ªÐ1°6·;±;ÀÑGÚ3:ºGÐDÙ�f—k‘k 6§=¡=°&·+±+Ó>ÀñHâ'.²Ð8Ù�f—k‘k 6§=¡=°&·+±+Ó>ÀðHà�wÑ §¡Ð/JÐKØ�wÑ §¡Ð/AÑBâBGÊÐOØ�\‰\˜6ð#à §
¡
¨FÐ3Ø˜6Ÿ:™: vÐ.Ø˜Ÿ™¨Ð/à Ñ%¡x°¸$Ó'?ÀÐHØ˜UÑ"Ù�h §¡× 4Ñ 4Ó5°vð?à˜Ð#GÐHØ˜UÑ"¡H¨X°t·}±}Ó$EÀvÐNØ�4—<‘<Ð!<Ð=áð FàNSôUð �\‰\˜6ð#ð
 4°T·\±\À6ÐJáð 	Ið  eô
-ð �\‰\˜6ð#ñ ð Sð  eô-ð �\‰\˜6ð#ð  �D˜&Ð!ðy=
ðOFðJ 	Ù�GÓÙ�F‹Oð
ðKFðT 	Ø�v—}‘}Ð%Ø Ñ'¨¯©Ð7Ø�f—m‘mÐ$Ø! 6§=¡=Ð1Ø�v—}‘}Ð%Ø�wÑ §¡¨vÐ6ð
ðUFðd 	Ø�v—}‘}Ð%Ø Ñ'¨¯©Ð7Ø�f—m‘mÐ$Ø�F—M‘MÑ"âšð"Ø#)§=¡=ñ2ò (0²º8ðEà�]‰]ñò 6>ºxÐHØ�]‰]ðà�wÑ §¡¨vÐ6ð
ðeFð@ 	Ø  7Ñ*¨F¯M©MÐ:Ø˜FŸM™MÐ*Ø�F—M‘MÐ"Ø�wÑ §¡¨vÐ6ð	
ðAFðN 	Ù�MÓ"Ø�D—M‘M 6Ð*Ù�GÓð
ðOFðX 	Ù�MÓ"Ø�;ÐØ�; Ð)Ø�D—M‘M 8Ð,Ù�F‹Oð
ñYFðf 	Ù�MÓ"Ø�D—M‘M×(Ñ(¨&Ð1Ù�GÓð
ðgFðp 	Ù�MÓ"Ø�D—J‘J Ð'Ù�F‹Oð
ðqFðz 	Ù�MÓ"Ø�D—M‘M 6Ð*Ù�F‹Oð
ð{FðF 	#Ø�v—|‘| VÐ,ð%
ðGFðL 	Ù�MÓ"Ø�D—L‘L &Ð)ð
ðMFðX 	Ù�MÓ"Ø�;ÐØ�; Ð'Ø�KØAðCáð ð $*°%ô9ð �ið	!ð
 % gØ9ð;à Ð*LÐMØ˜WØ8ð:à(¨'Ø%ð'à¡¨'°4Ó!8Ð9Ø# W¨iÐ8Ø! 7Ð,DÐEØ˜g zÐ2Ø/°Ø0ð2à'¨Ð2JÐKØ˜wÐ(AÐBØ% wØ,ð.à ØDðFà˜wØ:ð<à  'Ð+LÐMØ˜GÐ%AÐBØ˜WØ<ð>à  'ØDðFà�D—J‘JÐ ?Ð@ðM'
ðYFðj 	Ù�MÓ"Ø�D—M‘M 6Ð*Ù�F‹Oð
ðkFðt 	Ù�MÓ"Ø�; Ð'Ø�KÐ Ø�6—=‘= .Ð1Ø�D—M‘MÐ"ð
ðuFðD 	Ù�MÓ"Ø�;ÐØ�K Ð(Ø�5ˆMÙÐ1Ó2ð
ðEFðT 	Ù�MÓ"Ø˜Ð"7Ð8Ù�F‹Oð
ðUFð` 	Ù�MÓ"Ø3°T¸6ÐBØ�D—J‘J Ð'ð
ðaFðj 	Ù�MÓ"Ø�KÐ!FÐGÙ�F‹Oð
ðkFðt 	Ø˜Ñ˜{Ð+Ø*¨G×,?Ñ,?ÀÐHÙ�IÓð
ðuFð~ 	Ù�MÓ"Ø�; Ð)Ø�;ÐØ˜×,Ñ,¨oÐ>Ø$ g×&9Ñ&9Ð:Ø�5ˆMÙÐ9Ó:ð
ðFðP	 	Ù�MÓ"Ø3°T¸6ÐBØ�D—J‘JÐÙ�GÓð	
ðQ	Fð^	 	Ù�MÓ"Ø�;Ð 3Ð4Ø�KÐ!9Ð:ÙÐ(Ó)ð	
ð_	Fðj	 	Ù�MÓ"Ø�; Ð'Ø�kÐ"Ø˜Ñ˜{¨GÐ4Ø ¨Ð4ÙÐ(Ó)ð
òk	Fðz	 	Ù�MÓ"Ø�; Ð0Ù�F‹Oð
ð{	FðF
 	Ù�MÓ"Ø�; Ð'Ø�;ÐØ˜g yÐ1Ù�IÓð
ðG
FðV
 	Ù�MÓ"Ø�wÑ §¡Ð/IÐJÙÐJÓKð
ðW
Fð`
 	Ù�MÓ"Ø�wÑ §¡Ð/GÐHÙ�F‹Oð!
ða
Fðj
 	Ø�v—}‘}Ð%Ù�NÓ#ð
ðk
Fðv
 	Ù�MÓ"Ùð Cð
 LQôRð �fðð ˜'Ð"Ø %Ñ'¨°fÐ=ð 
ðw
FðN 	ÙÐ)Ó*Ù�GÓð
ðOFðV 	ÙÐ)Ó*Ù�F‹Oð
ðWFð^ 	Ù�MÓ"ÙÑ5ÚAIÊ8ÐTôVàðñ �F‹Oð
ð_Fðl 	Ù�MÓ"Ùð FàNSôUð �fðñ �F‹Oð
ðmFð@ 	Ù�MÓ"Ø�K Ð(Ø�{Ð#Ùð -ð 6;ô<ð �ið	!ð
 ˜WÐ%Ø Ø2ð4à�w Ð.Ø! 7Ø0ð2à% wÐ0EÐFØ˜gØ7ð9à'¨'Ñ1°7¸LÐIØ�D—J‘J Ð)Ø�7˜HÐ%Ø  +¨{Ð;Ø�; 	Ð*Ø˜Ø>ð@áÐEÓFð3
ðAFðv 	!Ù�MÓ"ØJØ�fðð-Ø/7ñ8Ø9@¿¹Øðò -2²8Ð<¸d¿m¹mØðá�F‹Oð
#
ðwFðL 	Ù�MÓ"Ø�K Ð(Ù�F‹Oð
ðMFðV 	Ù�MÓ"Ø�;Ð BÐCÙÐ6Ó7ð
ðWFð` 	Ù�MÓ"Ø�; Ð'Ø�5ˆMÙÐSÓTð	
ðaFðl 	Ù�MÓ"Ø�KÐ!CÐDÙ�F‹Oð
ðmFðz 	Ù�MÓ"Ø�wÑ §¡Ð/KÐLØ�G˜ZÐ(ð
ñ{FðD 	Ø�5ˆMÙÐ;Ó<ð
ñEF€FòP*ó>r9  r   c                   óX
  — e Zd ZdZdZdZddgZddgZej                  ej                  z  Zej                  Zej                  Zej                  Zdez  Zi Zg d	¢ZeD �]Ç  Zi d
 eej"                  d   «      “ddej                  z  ej,                  dfg“ddefdej0                  dfdez  ej4                  df ed«      g“ddez  ej4                  fdez  ej4                  dfg“ddej0                  dfde›de›d�ej4                  fdez  ej4                  dfde›de›de›d�ed fd!ez  edfd"ez  ej4                  fg“d#d$e›d%e›d�efdez  ej:                  d&fd'ed(fd)ed*fdej0                  dfd+e›d,e›d-� ee e e!d.d/¬0«      e«      fd1e›d2e›d3e›d4�ed5fd6ez  efg“d(d7efdej0                  dfd+e›d,e›d-� ee e e!d8d9¬0«      e«      df ed«      g“d*d7efdej0                  dfd+e›d,e›d-� ee e e!d.d:¬0«      e«      df ed«      g“dd;ej0                  fdej0                  d<fd=ej0                  dfg“d&d>ez  ej:                  fd?ejD                  fdez  ej:                  dfg“d5defdej0                  dfd@ez  edAfdBez  efdCez  ej4                  df ed«      g“dAd7efdej0                  dfdDedEf ed«      g“dEd7efdej0                  dfdFez  edGf edH«      g“dGdIe›dJe›dK�ej4                  fdIe›dLe›dK�ejF                  fdMe›dNe›dO� e e!d#¬P«      fde›dQe›dR�efdej0                  dfg“d/d1e›dSe›dT�ej,                  fd1e›dUe›dVe›dK�ej,                  fd1e›dWe›dT�ej4                  dXfg“d: e$d/«      dY eeee«      fg“d9dZ ee e e!d#¬P«      e«      fg“d[ez   eeejJ                  e«      fd\ez   eee&eee«      d]fd^ez   eee&eee«      fd_ ee e e!d#¬P«      e«      fgd`ej,                  fd1e›dSe›dT�ej,                  dfd1e›dUe›da�ej,                  fd1e›dWe›dT�ej4                  fdbej,                  fgd1e›dSe›dT�ej,                  fd1e›dUe›dce›dK�ej,                  fd1e›dWe›dT�ej4                  dXfd1e›dde›d�e&fdeez  ejJ                  fdfez   eee&e«      dfdgez  efgdhœ¥ee<   ej"                  D ]N  Z'e'dk(  rŒ	 eej"                  e'   «      ee   e'<   e'jQ                  di«      rŒ6 e$dj«       e$e«      gee   e'   dkdl ŒP �ŒÊ dm„ Z)yk)nr   z>
    For Inform 7 source code.

    .. versionadded:: 2.0
    zInform 7zhttp://inform7.com/Úinform7Úi7z*.niz*.i7xz\A|(?<=[%s]))ú+i6t-not-inlineú+i6t-inlineú+i6t-use-optionú+i6-rootr   ú	+i6t-rootz[^%s]*)r   ú+pz(\|?\s)+r!   z+commentr9   )ú+mainú+titlingú+titling-string)rf  ú	+heading?rh  z[^%s]+r"   rg  z[^z.;:|z]+r7   z]{2}|(?<=[\sz])\|[\sr8   )r"   ri  z[.;:]|(?<=[\s%s])\|z[|%s]rf  z(?i)[^z:a\[(|z+textr3   z+phrase-definitionz
(?i)\bas\bz+use-optionz(\([z	])(.*?)([z]\)))rc  r   r`  )ÚstateÚi6tú(z|(?<=[\s;:.z	]))\|\s|[z]{2,}ri  z(?i)[a(|%s]r   )rc  r   r   r)   ra  rb  z[^\[\]]+r.   rÚ   z[^\[%s]+z\[.*?\]z
[%s]{4}\s+z+documentation-headingz	[%s]{1,3}z.(?i)(volume|book|part|chapter|section)\b[^%s]*z(?i)documentation\s+z+documentation-heading2z	[%s]{4}\sz+documentationr2   z(?i)(z)\s*(chapter|example)\s*:[^z]*z)\s*section\s*:[^z((z)\t.*?[r   ©rj  z\[]+|[z\[]z)@c( .*?)?([z]|\Z)z)@([z]+|Purpose:)[^z)@p( .*?)?([re  z(\{)(N)(\})z(\{)(\S[^}]*)?(\})z(\{[%s])(![^}]*)(\}?)z(\{[%s])(lines)(:)([^}]*)(\}?)ú+linesz (\{[%s])([^:}]*)(:?)([^}]*)(\}?)z(\(\+)(.*?)(\+\)|\Z)z[^@]+z]|Purpose:)r  z]|Purpose:)[^z)@\w*[ r    z(\{)([%s]endlines)(\})z[^@!{]+?([%s]|\Z)|.)ú+i6tre  rn  Ú_ro  Nr   c                 óÚ   — |j                  dd«      }|| j                  vr!| j                  j                  |«      | _        n| j                  |   | _        t        j                  | fi |¤Ž y )Nrk  r`  )ÚgetÚ_all_tokensÚ	__class__Úprocess_tokendefÚ_tokensr   Ú__init__)r¦   ÚoptionsÚlevels      r1  rw  zInform7Lexer.__init__â  s\   € Ø—‘˜EÐ#4Ó5ˆØ˜×(Ñ(Ñ(ØŸ>™>×:Ñ:¸5ÓAˆD�Là×+Ñ+¨EÑ2ˆDŒLÜ×Ñ˜DÑ, GÓ,r9  )*r:  r;  r<  r=  rŸ   r>  r?  r@  r3  rA  rB  rC  r   rE  rF  rH  Ú_startr
  Útoken_variantsry  Úlistr   rI  r
   Ú	Multiliner   ÚHeadingr   r   rQ  r   r   r   r   ÚInterpolÚ
Subheadingr   rJ  r   r0  Ú
startswithrw  r\  r9  r1  r   r     s®  „ ñð €DØ
€CØ˜$Ð€GØ˜Ð!€Ià�L‰L˜2Ÿ9™9Ñ$€Eà×Ñ€EØ×"Ñ"€GØ×$Ñ$€HØ˜xÑ'€Fð €FÚJ€Nàó fMˆðX
Ø™˜\×0Ñ0°Ñ8Ó9ðX
àØ˜\×2Ñ2Ñ2°G·O±OØ$ð&ððX
ð Ø˜dÐ#Ø˜×)Ñ)¨:Ð6Ø˜7Ñ" G§O¡OØ9ð;áÐ.Ó/ððX
ð Ø˜WÑ$ g§o¡oÐ6Ø˜7Ñ" G§O¡O°VÐ<ð ðX
ð" Ø˜×)Ñ)¨:Ñ6Ú$+ªXÐ6¸¿¹ÐHØ˜7Ñ" G§O¡OÐ5FÑGÚ3;ºWÂgÐNØÐ,ð.à'¨'Ñ1°4¸Ð@Ø˜HÑ$ g§o¡oÐ6ðð#X
ñ4 Ú*1²8Ð<¸dÐCØ˜7Ñ" F§M¡M°7Ð;Ø�tÐ1Ð2Ø  mÐ4Ø˜×)Ñ)¨:Ñ6Ú-2²EÐ:Ù˜+Ù Ð,EØ$5ô7Ø8CóEñFò
 š'¢8ð-Ø.2°KðAà (Ñ*¨DÐ1ðð5X
ðP !Ø˜�Ø˜×)Ñ)¨:Ñ6Ú-2²EÐ:Ù˜+Ù ð -Fà$1ô3à4?óAð CIð	Jñ
 ˜“ð	#ðQX
ðd Ø˜�Ø˜×)Ñ)¨:Ñ6Ú-2²EÐ:Ù˜+Ù Ð,EØ$5ô7Ø8CóEàFLðNñ ˜“ððeX
ðv Ø˜g×/Ñ/Ð0Ø˜×)Ñ)¨7Ð3Ø˜×)Ñ)¨6Ð2ððwX
ð@ Ø˜wÑ&¨¯©Ð6Ø˜VŸ_™_Ð-Ø˜7Ñ" F§M¡M°6Ð:ððAX
ðJ Ø˜dÐ#Ø˜×)Ñ)¨:Ð6Ø Ñ&¨Ð.FÐGØ Ñ% tÐ,ØBÀXÑMØ—‘ &ð*á˜“ððKX
ð\ %Ø˜�Ø˜×)Ñ)¨:Ð6Ø(¨$Ð0IÐJÙ˜“ð	'ð]X
ðh &Ø˜�Ø˜×)Ñ)¨:Ð6Ø Ñ% tÐ-=Ð>Ù˜Ó!ð	(ðiX
ñt âš(ð$Ø%,§_¡_ñ6â4:ºHÐEØ×#Ñ#ñ%â(.²Ð9Ù�t 7Ô+ñ-â'/²Ð:¸DÐAØ˜×)Ñ)¨:Ð6ð	ðuX
ñH Ú.4²hÐ?Ø—‘ñ"â39º5Â(ÐKØ—‘ñ"â.4²hÐ?Ø—‘ $ð(ð ðIX
ðX ÙÐ)Ó*Ø¡¨+°t¸[Ó!IÐJð ðYX
ð` Ø&Ù˜+¡u¨T¸Ô'AØ%ó'ð(ððaX
ðl *¨EÑ1Ù˜+ w§~¡~°{ÓCðEà2°UÑ:Ù˜+ w°¸TØ%ó'Ø(0ð2ð 5°uÑ<Ù˜+ w°¸TØ%ó'ð(ð )Ù˜+¡u¨T¸Ô'AØ%ó'ð(ðð ˜7Ÿ?™?Ñ+Ú.4²hÐ?Ø—‘ &ñ*â,2²EÐ:¸G¿O¹OÑLÚ.4²hÐ?Ø—‘ð"à�w—‘Ð'ñò /5²hÐ?Ø—‘ñ"â28º%ÂÐJØ—‘ñ"â.4²hÐ?Ø—‘ $ñ(â%+ªXÐ6¸Ð@Ø˜hÑ&¨¯©Ð7Ø*¨UÑ2Ù˜+ w°Ó<¸fðFà'¨(Ñ2°DÐ9ðòWX
ˆˆu‰ð@ "×(Ñ(ò 	MˆEØ˜ŠØÙ#'¨×(;Ñ(;¸EÑ(BÓ#CˆF�5‰M˜%Ñ Ø×#Ñ# CÕ(Ù,3°F«O¹WÀU»^Ð+L��u‘˜eÑ$ R aÑ(ò	MðCfMóP-r9  r   c                   ó(   — e Zd ZdZdZdgZdgZdd„Zy)r   z@
    For Inform 6 template code.

    .. versionadded:: 2.0
    zInform 6 templaterk  z*.i6tc                 ó0   — t         j                  | ||«      S )N)r   r'  )r¦   r+  Ústacks      r1  r'  z+Inform6TemplateLexer.get_tokens_unprocessedö  s   € Ü×2Ñ2°4¸¸uÓEÐEr9  N))rd  )r:  r;  r<  r=  rŸ   r?  r@  r'  r\  r9  r1  r   r   ë  s"   „ ñð €DØˆg€GØ�	€IôFr9  r   c                   ó”  — e Zd ZdZdZdgZdgZej                  ej                  z  Z
dZdZdZdZd	Zd
Zde›de›d�Zde›de›d�Zdefd„Zefd„Zefd„Zi ddefdedfdefdedfde›de›d� eej4                   eed¬«      e«      df ed«      d efd!efd"ed#fg	“d# ed$«       ed%«      g“d&d'ed(fded)f ed«      g“dd'efded*fd+ed(fd,ed-fde›d.e›d� eej4                   eed¬«      e«      d/fde›de›d0� eej4                   eed¬«      e«      dfde›de›d1� eej@                   eed¬«      e«      d2f ed«      d3ez  ed4f ed5«      g
“d5 ed$«      de›de›d6� eej@                   eed¬«      e«      d7f ed8«      g“d9ded:f ed«      d;ed<f ed=«      g“d>ded:f ed«       ed(«      g“d?d@efded*fd+ed(fdAe!jD                  fde›de›d1� eejF                   eed¬«      e«      f ed«      g“d ed?«      d"edBfg“dCdDe$jJ                  d(f ed?«      d"edEfg“d$g  ed«      ‘dFed7f‘dGedHf‘dedIf‘dJed(f‘dKe&jN                  d(f‘dLe&jP                  d(f‘dMe&jR                  d(f‘dNe&jT                  d(f‘dOe$jV                  dPf‘dQe$jX                  dRf‘dSe$jV                  dTf‘dUe$jX                  dVf‘dWe$jZ                  dXf‘dYe$jZ                  dZf‘d[e$jZ                  d\f‘d]e$jZ                  d^f‘d_ez   ee!jD                   eed¬«      e!jD                  «      f‘d`ez   ee!jD                   eed¬«      e«      daf‘dbez   ee!jD                   eed¬«      e!jD                  «      dcf‘ddez   ee!jD                   eed¬«      «      f‘deez   ee!jD                   eed¬«      e!jD                  «      dff‘dgez   ee! eed¬«      e!jD                  «      dhf‘diej\                  d(f‘dje!jD                  dkf‘dle!jD                  f‘dme!jD                  dnf‘doe!jD                  dpf‘dqe!jD                  d(f‘dre!jD                  dsf‘dte!jD                  duf‘dve!jD                  dwf‘dxe!jD                  dyf‘dze!jD                  d{f‘d|e!jD                  d}f‘d~e!jD                  df‘d€e!jD                  d�f‘d‚e!jD                  d(f‘dƒe!jD                  d„f‘d…e!j^                  d(f‘d†e!jD                  d=f‘d‡e!jD                  dˆf‘d‰e!jD                  dŠf‘d‹ej\                  j`                  d(f‘dŒe!jD                  dff‘d�ez   ee1jd                   eed¬«      e1«      dŽf‘d�e1jd                  f‘d�ej\                  d(f‘“d4 ed$«      eed(f ed(«      g“d‘dFed’fdGedBfd“efd”ed4fd•ed(f ed«      ee1d4fd–e1d—fd˜ez   ee1jd                   eed¬«      e1jd                  «      fd™efg
“dš ed‘«       ed(«      g“d›dœe1d(f edš«      g“d�dDe$jJ                  d8f edš«      g“dždFedyfd€e!jD                  dŸf ed4«      g“i d d+ed(fd¡edžfd¢e!džf edš«      g“d£eej@                  d(f ed«      g“d¤d¡ed£f edš«      g“d¥d¦ed4f edš«      g“d§de›de›d¨� eej@                   eed¬«      «      d(fde›de›d©e›d� eejf                   eed¬«      ej@                  «      d(fdªef ed$«      eej@                  d(f ed(«      g“d«d¬ez   ee eed¬«      «      fd­efd®ed¯fd¡ed§fd°ed±f edš«      g“d²d³ed(f edš«      g“d´dµe!d(f ed«       ed(«      g“d¶d¡ed·fd¸e1d(f edš«      g“d·d¹e!d(f ed«      g“dºd»efeejh                  d¼f ed«      g“d½ ed«      d¾e!dsf eds«      g“d¿dÀefdFedÁfd,edÂfeejf                  f ed«      g“dÁ ed«      dÃe$jj                  d(fg“dÂ edÄ«       ed«      dÅez   ee eed¬«      e!«      d4fdÆez  efeej^                  f ed8«      g“d,d,ed(fg“dÇdÈe$jJ                  fdÉe›dÊe›dË�ed(feej4                  d(f ed«      g“¥i dÌdÍedÎf ed«      eejf                  d(f ed(«      g“dÏdÐe1jd                  d(f ed«      ee1f ed(«      g“dÑdFedÒfded)f ed«      g“dÓdÔed(f edÄ«      d~e!jD                  f ed«      dÕez  efeej@                  fg“dÖdJed(fd†e!jD                  d(fd×e!jD                  feejf                  d(f ed«       ed(«      g“dØdÙedÖf ed«      dÚed(f ed(«      g“dÛdÜefd'ed(fdÝe!jD                  feej^                  f ed«      g“dÞeejF                  d(f ed«       ed(«      g“dßdÜefd¸ed(f ed«      eej@                  fg“ddàe›dáe›dâ�e6jn                  fee6jX                  fee6jp                  fdãez  efg“dÄdOe$jV                  däfdQe$jX                  dåfdSe$jV                  dæfdUe$jX                  dçfg“dèdéez  e$jr                  fg“dêdëe$jJ                  fdìe›díe›dî�e$jJ                  dïfg“dðdñejt                  fg“dä edòdò«      “då edòdó«      “dæ edódò«      “¥i dç edódó«      “dô edòdòdõ«      “dö edòdódõ«      “d÷ edódòdõ«      “dø edódódõ«      “dù edòdòdú«      “dû edòdódú«      “dü edódòdú«      “dý edódódú«      “dþ edòdò«      “dÿ edòdó«      “�d  edódò«      “�d edódó«      “�d edSdòdò«      “�d edSdòdó«      “�d edSdódò«      “�d edSdódó«      “¥ edUdòdò«       edUdòdó«       edUdódò«       edUdódó«       eedòdò«       eedòdó«       eedódò«       eedódó«      �de$jZ                  f�de$jZ                  f�de$jZ                  d(fdSe$jZ                  fg�d	e$jZ                  f�d
e$jZ                  f�de$jZ                  d(fdUe$jZ                  fg�de$jZ                  f�de$jZ                  fdSe$jZ                  d(fg�d	e$jZ                  f�de$jZ                  fdUe$jZ                  d(fg�dœ¥Z;�d„ Z<�d„ Z=y(  r   z!
    For TADS 3 source code.
    zTADS 3Útads3z*.tz(?://(?:[^\\\n]|\\+[\w\W])*$)z(?:/\*(?:[^*]|\*(?!/))*\*/)zM(?:\\(?:[\n\\<>"\'^v bnrt]|u[\da-fA-F]{,4}|x[\da-fA-F]{,2}|[0-3]?[0-7]{1,2}))z(?:[_a-zA-Z]\w*)z(?=\s|\\?>)zD(?:&&|\|\||\+\+|--|\?\?|::|[.,@\[\]~]|(?:[=+\-*/%!&|^]|<<?|>>?>?)=?)z	(?:\\|\s|ú|r&  z(?:\\\n|[^\S\n]|Nc                 óÌ  — |rhdj                  |D �cg c]M  }dt        j                  |j                  «       «      ›dt        j                  |j	                  «       «      ›d�‘ŒO c}«      }|rdnd}|rt
        j                  nt
        j                  }| r	d|›d|›d	�nd}| rd
nd›|rdnd›�}d|z  }	g }
| r$|
d|z  |dfd|z  t
        j                  f||fgz  }
n|
j                  ||df«       |
t        d«      d|z  |fgz  }
|r0|
j                  d|›d|›d�t        j                  dd|z  |	ff«       nz|
d|›d|›|›d|›d�t        j                  fdt        j                  dd|z  |	ffdt        j                  dd|z  |	ffd|›d|›|›d|›d�t        j                  |	ft        d «      gz  }
|
t        d!«      d"|›d|›|›d|›d#�t
        j                  fd$|fgz  }
|
S c c}w )%NÚ z(?:r‡  r&  rÙ   ú'ú+|ú(?!ú{2})ÚtÚdÚsz%sqtz%s{3,}r"   z\\%s+ú
s/verbatimz[^\\<&{}%s]+z\\?<(/|\\\\|(?!z)\\)z
(?=[\s=>])z%sqsz\\?<!([^><\\ú]|<(?!<)|\\z|\\.)*>?z(?i)\\?<listing(?=[\s=>]|\\>)z%sqs/listingz(?i)\\?<xmp(?=[\s=>]|\\>)z%sqs/xmpz\\?<([^\s=><\\z|\\.)*ús/entityús/escapeú	\{([^}<\\ú|\\.)*\}z[\\&{}<])Újoinr3  ÚescapeÚlowerÚupperr   rQ  rJ  rP  r)  r   r   ÚTagr   r}  r  )ÚtripleÚdoubleÚverbatimÚ_escapeÚcÚcharr0  Úescaped_quotesr~   Útag_state_namerj  s              r1  Ú_make_string_statezTads3Lexer._make_string_state  s%  € ÙØ—w‘wà)1ö 3á$%ô 02¯y©y¸¿¹»Õ/CÜ/1¯y©y¸¿¹»Õ/Cò!Eò  3ó 4ˆHñ ‰t 4ˆÙ!'”—’¬V¯]©]ˆÚ<BªT²4Ñ8ÈˆÙ"(™3¨bÐ0¹±#ÀSÐ2HÐIˆØ &™ˆØˆÙØØ˜TÑ! 5¨&Ð1Ø˜D‘¤&§-¡-Ð0Ø�u�ðñ ‰Eð �L‰L˜$  vÐ.Ô/ØÜ�LÓ!Ø˜tÑ# UÐ+ð
ñ 	
ˆñ ð �LŠLÚ"¢Hð.äŸ(™( V¨V°f©_¸nÐ$MðOõ Pñ â™šnªgð7Ü8?×8IÑ8IðKà1´4·8±8Ø˜.¨6Ñ1°>ÐBðDà-¬t¯x©xØ˜* vÑ-¨~Ð>ñ@ò ™šnªgð7Ü8<¿¹Øð!ô ˜
Ó#ðñ ˆEð 	Ü�JÔâ‘Dš.ª'ð3Ü4:·O±OðEà˜%Ð ð	
ñ 	
ˆð ˆùò] 3s   ’AG!c                 óP  — |rdnd}| rdnd}| rdnd›|rdnd›d�}|rt         j                  nt         j                  }| r	d	|›d
|›d�nd}|›|›�|dfdt        fdt	        t
        t         j                  «      d|z  fdt	        t
        t         j                  «      d|z  fdt
        d|z  fdt        j                  dfd|›d|›|›d|›d�t         j                  fd|›d|›|›d|›d�t        j                  ft        d«      t        d«      t        d«      dt        j                  fgS ) NrÙ   rŠ  ú{3,}r‰  rŽ  r�  r�  Úqtr‹  rŒ  r�  r2   z
(\s|\\\n)+z	(=)(\\?")zdqs/%sz	(=)(\\?')zsqs/%srº   zuqs/%sz\\?>r"   r•  r’  r‡  r–  z
([^\s=><\\z|\\.)+r”  r‘  r“  z[\\{}&])r   rQ  rJ  r
   r   r   r   r›  r  Ú	Attributer   )rœ  r�  rŸ  r¡  Ú
quantifierÚ
state_namer0  r¢  s           r1  Ú_make_tag_statezTads3Lexer._make_tag_stateB  s  € Ù‰t 4ˆÙ &‘W¨Cˆ
Ù(.¡°BÐ!6¹v¹È3Ñ8NÐOˆ
Ù!'”—’¬V¯]©]ˆÚ<BªT²4Ñ8Èˆá™jÐ)¨5°(Ð;ØœDÐ!Øœ8¤K´·±Ó?Ø˜
Ñ"ð$àœ8¤K´·±Ó?Ø˜
Ñ"ð$à”; ¨:Ñ 5Ð6Ø”d—h‘h Ñ'â‘Dš.ª'ð3Ü4:·O±OñEò ‘Dš.ª'ð3Ü48·N±NðDä�JÓÜ�LÓ!Ü�JÓØœŸ™Ð(ð!
ð 	
r9  c                 óè  — | dk(  rt         j                  n$| dk(  rt         j                  nt         j                  }|rdnd}|rdnd}|rt         j                  nt         j                  }|r	d|›d|›d�nd}|›|›�|df|t         j                  u rdnd	›| ›�|d
ft	        d«      t	        d«      d|›d|›|›d|›d�t         j
                  fd|t         j                  u rdndz  |ft	        d«      d|fgS )NrÙ   rŠ  r¦  r‰  r‹  rŒ  r�  r0   z\\?r"   r‘  r“  r•  r’  r‡  r–  z([^\s"\'<%s{}\\&])+ú>r”  z["\'\s&{<}\\])r   rQ  rJ  rZ  r   r  )	Ú
terminatorÚhost_tripleÚhost_doublerŸ  r0  Ú	host_charÚhost_quantifierÚ
host_tokenr¢  s	            r1  Ú_make_attribute_value_statez&Tads3Lexer._make_attribute_value_state[  sö   € à",°Ò"4”—’Ø",°Ò"4”—’¼&¿,¹,ð 	á'‘D¨Tˆ	Ù%0™'°cˆÙ&1”V—]’]´v·}±}ˆ
â(ò /8ºÑCØ.1ð 	ñ "¡?Ð3°ZÀÐJØ$¬¯©Ñ4™¸&Ð@Á*ÐMØ�Fðä�LÓ!Ü�JÔâ™¢N²Gð=Ü>D¿o¹oðOà#¨u¼¿¹Ñ/D¡tÈ#ÑNØðä�JÓØ˜uÐ%ð
ð 	
r9  r   u   ï»¿z\{rÏ   z;+zÛ(?=(argcount|break|case|catch|continue|default|definingobj|delegated|do|else|for|foreach|finally|goto|if|inherited|invokee|local|nil|new|operator|replaced|return|self|switch|targetobj|targetprop|throw|true|try|while)\b)Úblockrl  z)(z*)(\()Ú
whitespacerm  )úblock?/rootúmore/parametersúmain/parametersz\++z[^\s!"%-(*->@-_a-z{-~]+z(?!\Z)z	main/rootz
main/basic)r"   úobject-body/no-bracesÚclassesrá   rº  r/   r"   )r"   rÏ   r.   z\}r3   )r»  rá   z?)()úblock?r¸  r¹  z*)(\{)z*)(:))rº  r»  rá   z->|%sÚmainzmain/object-bodyz*)(=?))r"   Úmorer½  r2   r·  )r"   rµ  z(?=[\[\'"<(:]))r"   rº  rÒ   úgrammar-rules)r"   rº  r¼  zblock/basicz[;:]+z	default\b)r¾  r½  úblock/embedz>>)ú
more/embedr½  r'   r!   )r"   ú	more/listr½  )r"   ú
more/innerú
main/innerr¸  r¹  z\*|\.{3}z(?i)0x[\da-f]+z5(\d+\.(?!\.)\d*|\.\d+)([eE][-+]?\d+)?|\d+[eE][-+]?\d+z0[0-7]+z\d+z""")r"   Útdqsz''')r"   ÚtsqsrÙ   )r"   ÚdqsrŠ  )r"   ÚsqszR""")r"   ÚtdqrzR''')r"   ÚtsqrzR")r"   ÚdqrzR')r"   Úsqrz(extern)(%s+)(object\b)z(function|method)(%s*)(\())r"   r¼  r¸  r¹  z(modify)(%s+)(grammar\b))r"   rº  r3   rÒ   z#(new)(%s+(?=(?:function|method)\b))z(object)(%s+)(template\b))r"   Útemplatez(string)(%s+)(template\b))r"   úfunction-namez>(argcount|definingobj|invokee|replaced|targetobj|targetprop)\bz(break|continue|goto)\b)r"   Úlabelz0(case|extern|if|intrinsic|return|static|while)\bzcatch\b)r"   ÚcatchrÛ   )r"   rº  rá   z(default|do|else|finally|try)\bz(dictionary|property)\b)r"   Ú	constantszenum\b)r"   Úenumzexport\b)r"   r½  z(for|foreach)\b)r"   rÃ  rÄ  z(function|method)\b)r"   r¼  rÎ  z	grammar\b)r"   rº  rÒ   zinherited\b)r"   Ú	inheritedzlocal\b)r"   ú
more/localú
main/localz)(modify|replace|switch|throw|transient)\bznew\b)r"   rá   z(nil|true)\bzobject\bz
operator\b)r"   Úoperatorzpropertyset\b)r"   Úpropertysetr½  zself\bz
template\bz(__objref|defined)(%s*)(\())r"   úmore/__objrefr½  zdelegated\ba*  (__DATE__|__DEBUG|__LINE__|__FILE__|__TADS_MACRO_FORMAT_VERSION|__TADS_SYS_\w*|__TADS_SYSTEM_NAME|__TADS_VERSION_MAJOR|__TADS_VERSION_MINOR|__TADS3|__TIME__|construct|finalize|grammarInfo|grammarTag|lexicalParent|miscVocab|sourceTextGroup|sourceTextGroupName|sourceTextGroupOrder|sourceTextOrder)\bz
more/basic)rÂ  r½  z\.{3}z->|\.\.z(?=;)|[:)\]]z\?)r½  úmore/conditionalr½  z(is|not)(%s+)(in\b)z[^\s!"%-_a-z{-~]+r¾  rÙ  z:(?!:)rÁ  rÄ  )r"   rÕ  rÃ  r+   z(in|step)\brÕ  rÔ  rÂ  z[,:]r¹  z*)(?=:)z+)(z\[+r¸  z(:)(%s*(?=[?=,:)]))z[?\]]+z[:)])r"   úmultimethod?rº   )úmore/parameterr½  rÛ  z(?=[,)])rÚ  zmultimethod\brØ  Úmoder(   z(error|warn)\brÐ  z\(+)r"   Ú	variablesrÒ  ztoken\brÒ   z\)+zgrammar-tagr¿  a!  """([^\\"<]|""?(?!")|\\"+|\\.|<(?!<))+("{3,}|<<)|R"""([^\\"]|""?(?!")|\\"+|\\.)+"{3,}|'''([^\\'<]|''?(?!')|\\'+|\\.|<(?!<))+('{3,}|<<)|R'''([^\\']|''?(?!')|\\'+|\\.)+'{3,}|"([^\\"<]|\\.|<(?!<))+("|<<)|R"([^\\"]|\\.)+"|'([^\\'<]|\\.|<(?!<))+('|<<)|R'([^\\']|\\.)+'|([^)\s\\/]|/(?![/*]))+|\)r;   z(\[)(%s*)(badness)z
->|%s|[()]rÎ  z(<<([^>]|>>>|>(?!>))*>>)+z(?=ú?z*[({])rÓ  r#   )r"   r»  rá   rÖ  znegate\br×  )r¸  r¹  rÍ  z(?=;)z->|\?|%srá   ztransient\br»  z[:,]r­  rÑ  z,+z
property\brÏ  rÝ  ú^z*#(z|[^\n]|(?<=\\)\n)*\n?z\\+\n+%s*#?|\n+|([^\S\n]|\\)+rÅ  rÆ  rÇ  rÈ  r”  z\{\{|\}\}|%sr‘  zÀ<<\s*(as\s+decreasingly\s+likely\s+outcomes|cycling|else|end|first\s+time|one\s+of|only|or|otherwise|(sticky|(then\s+)?(purely\s+)?at)\s+random|stopping|(then\s+)?(half\s+)?shuffled|\|\|)\s*>>z<<(%(_(z$|\\?.)|[\-+ ,#]|\[\d*\]?)*\d*\.?\d*(z/|\\?.)|\s*((else|otherwise)\s+)?(if|unless)\b)?)rÀ  rÁ  r½  r“  z'(?i)&(#(x[\da-f]+|\d+)|[a-z][\da-z]*);?TFztdqs/listingÚlistingztsqs/listingzdqs/listingzsqs/listingztdqs/xmpÚxmpztsqs/xmpzdqs/xmpzsqs/xmpÚtdqtÚtsqtÚdqtÚsqtzdqs/tdqtzdqs/tsqtzdqs/dqtzdqs/sqtz[^\\"]+z\\"*z"{3,}z[^\\']+z\\'*z'{3,}z\\"?z\\'?)zsqs/tdqtzsqs/tsqtzsqs/dqtzsqs/sqtzuqs/tdqtzuqs/tsqtzuqs/dqtzuqs/sqtrÉ  rÊ  rË  rÌ  c           	   +   ó   K  — d| j                   ›d| j                   ›d�}d}t        j                  | |fi |¤ŽD ]Ñ  \  }}}|dk(  rH|t        j                  u r­t        j                  |›d| j                   ›d| j                   ›d�|«      rzd}nw|t        j                  u r_|dk(  rt        j                  d	|z  |«      rd}nDt        j                  d
|z  |«      r|dz  }n%t        j                  d|z  |«      r|dz  }nt        }|||f–— ŒÓ y ­w)Nrß  z*#Ú*r   Úifz+(0|nil)z*$\n?r%  z%sel(if|se)\bz%sifz	%sendif\b)Ú_ws_ppr   r'  r   rI  r3  Úmatch)r¦   r+  ÚkwargsÚppÚif_false_levelr/  r0  r&   s           r1  r'  z!Tads3Lexer.get_tokens_unprocessedC  sú   è ø� Ø ŸK›K¨¯«Ð5ˆØˆä×-Ñ-¨d°DÑC¸FÑCò	&ÑˆE�5˜%à Ò"ØœWŸ_™_Ñ,Ü—H‘HÚ  $§+£+¨t¯{«{ð<Ø=BôDà%&‘NàœGŸO™OÑ+Ø&¨!Ò+ÜŸ(™(Ð#3°bÑ#8¸%Ô@Ø)*™ÜŸ™ '¨B¡,°Ô6Ø&¨!Ñ+™ÜŸ™ ,°Ñ"3°UÔ;Ø&¨!Ñ+™ä#�EØ˜ Ð%Ó%ñ%	&ùs   ‚DDc                 ó>   — d}d| v sd| v r|dz  }d| v r	d| v r|dz  }|S )z·This is a rather generic descriptive language without strong
        identifiers. It looks like a 'GameMainDef' has to be present,
        and/or a 'versionInfo' with an 'IFID' field.r   Ú__TADSÚGameMainDefgš™™™™™É?ÚversionInfoÚIFIDgš™™™™™¹?r\  r6  s     r1  r8  zTads3Lexer.analyse_textZ  s?   € ð ˆØ�tÑ˜}°Ñ4Ø�c‰MˆFð ˜DÑ  V¨t¡^Ø�c‰MˆFàˆr9  )>r:  r;  r<  r=  rŸ   r?  r@  r3  rB  rA  rC  Ú_comment_singleÚ_comment_multilinerŸ  rD  Ú	_no_quoteÚ	_operatorÚ_wsré  r¤  r«  r´  r
   r   r   r   rW  r   r   r   r   r   r(  r   ÚReservedrL  r   r  r   rS  rR  ÚOctrU  rQ  rJ  ÚRegexrX  rY  rM  r   rK  r[  Ú	ExceptionrZ  r   rI  r}  rP  ÚEntityr
  r'  r8  r\  r9  r1  r   r   ú  sð  „ ñð €DØˆi€GØ�€Ià�I‰I˜Ÿ™Ñ$€Eà6€OØ7Ðð%€Gà€EØ€Ið3�Iâ /Ò1CÐ
D�CÚ*9Ò;MÐN€Fà48À'ó 0ðd 18ó 
ð4 -4ó
ð.OØØ�tÐØ�K Ð/Ø�KÐ ð>ð @DÀWñNò "'ªÐ,Ù�d—m‘m¡U¨4°|Ô%DØ!ó#àBðDñ �LÓ!Ø�[Ð!Ø'¨Ð/Ø˜˜kÐ*ð
ðOð$ 	Ù�LÓ!ÙÐIÓJð
ð%Oð, 	 Ø�; Ð'Ø�KÐ!8Ð9Ù�MÓ"ð"
ð-Oð6 	Ø�;ÐØ�K Ð)Ø�K Ð(Ø�;Ð 4Ñ5Ú"'ªÐ-Ù�d—m‘m¡U¨4°|Ô%DØ!ó#à=ñ?ò "'ªÐ,Ù�d—m‘m¡U¨4°|Ô%DØ!ó#Ø$+ñ-ò !&¢sÐ+Ù�d—m‘m¡U¨4°|Ô%DØ!ó#à:ð<ñ �LÓ!Ø˜	Ñ! ;°Ð7ÙÐ&Ó'ð%
ð7Oð^ 	Ù�LÔ!Ú!&ªÐ,Ù�d—m‘m¡U¨4°|Ô%DØ!ó#Ø$<ð>ñ �HÓð
ð_Oðl 	Ø�KÐ!2Ð3Ù�LÓ!Ø ØJðLñ Ð5Ó6ð
ðmOð| 	Ø�KÐ!2Ð3Ù�LÓ!Ù�F‹Oð
ð}OðF 	Ø�{Ð#Ø�K Ð)Ø�K Ð(Ø˜7×+Ñ+Ñ,Ú %¢sÐ+Ù�d—j‘j¡%¨°LÔ"AØ!ó#ð$ñ �LÓ!ð	
ðGOðZ 	Ù�MÓ"Ø˜Ð.Ð/ð
ð[Oðb 	Ø�F—O‘O VÐ,Ù�MÓ"Ø˜Ð4Ð5ð
ðcOðl 	ð U
Ù�LÓ!ðU
à�KÐ!9Ð:ðU
ð �KÐ!>Ð?ðU
ð �Kð "Hð Ið	U
ð ˜+ vÐ.ðU
ð  §
¡
¨FÐ3ðU
ð FØ�\‰\˜6ð#ðU
ð ˜Ÿ™ VÐ,ðU
ð �V—^‘^ VÐ,ðU
ð �V—]‘]Ð$4Ð5ðU
ð �V—]‘]Ð$4Ð5ðU
ð �6—=‘= /Ð2ðU
ð �6—=‘= /Ð2ðU
ð  �f—l‘lÐ$4Ð5ð!U
ð" �f—l‘lÐ$4Ð5ð#U
ð$ �F—L‘L /Ð2ð%U
ð& �F—L‘L /Ð2ð'U
ð* (¨#Ñ-Ù�g×&Ñ&©¨d¸,Ô(GØ×&Ñ&ó(ð)ð+U
ð0 +¨SÑ0Ù�g×&Ñ&©¨d¸,Ô(GØ!ó#àEðGð1U
ð8 )¨3Ñ.Ù�g×&Ñ&©¨d¸,Ô(GØ×&Ñ&ó(à>ð@ð9U
ð@ 4°cÑ9Ù�g×&Ñ&©¨d¸,Ô(GÓHðJðAU
ðD *¨CÑ/Ù�g×&Ñ&©¨d¸,Ô(GØ×&Ñ&ó(Ø)=ð?ðEU
ðJ *¨CÑ/Ù�g™u T°Ô>Ø×&Ñ&ó(Ø)BðDðKU
ðR OØ�\‰\˜6ð#ðSU
ðV (¨×)9Ñ)9Ð;LÐMðWU
ðX AØ×ÑððYU
ð\ ˜×)Ñ)Ð+<Ð=ð]U
ð^ ˜×)Ñ)Ø7ð9ð_U
ðb 0°×1AÑ1AÀ6ÐJðcU
ðd (¨×)9Ñ)9Ø"ð$ðeU
ðh ˜×(Ñ(Ð*:Ð;ðiU
ðj ˜'×*Ñ*Ð,<Ð=ðkU
ðl   ×!1Ñ!1Ø1ð3ðmU
ðp $ W×%5Ñ%5Ø0ð2ðqU
ðt ˜7×+Ñ+Ø9ð;ðuU
ðx ˜W×-Ñ-Ð/DÐEðyU
ðz ˜×)Ñ)Ø1ð3ð{U
ð~ :¸7×;KÑ;KØððU
ðB �w×'Ñ'Ð):Ð;ðCU
ðD ˜g×.Ñ.°Ð7ðEU
ðF ˜'×*Ñ*Ð,MÐNðGU
ðH ˜G×,Ñ,Ð.BÐCðIU
ðJ ˜w×/Ñ/Ø,ð.ðKU
ðN ˜Ÿ™×+Ñ+¨VÐ4ðOU
ðP ˜G×,Ñ,Ð.BÐCðQU
ðT ,¨cÑ1Ù�h—m‘m¡U¨4°|Ô%DØó Ø!BðDðUU
ðZ ˜XŸ]™]Ð+ð[U
ð^8ð
 :>¿¹ÀvðOð_U
ðmOðX 	Ù�LÓ!Ø�D˜&Ð!Ù�F‹Oð
ðYOðb 	Ø�KÐ!6Ð7Ø�KÐ!1Ð2Ø�{Ð#Ø˜ fÐ-Ø˜k¨6Ð2Ù�LÓ!Ø˜ &Ð)Ø�HÐBÐCØ# cÑ)Ù�h—m‘m¡U¨4°|Ô%DØ—m‘mó%ð&ð " 5Ð)ð
ðcOð~ 	Ù�LÓ!Ù�F‹Oð
ðOðH 	Ø˜ &Ð)Ù�F‹Oð
ðIOðR 	Ø�F—O‘O XÐ.Ù�F‹Oð
ðSOð\ 	Ø�KÐ!EÐFØ˜×)Ñ)Ð+AÐBÙ�F‹Oð
ñ]Oðf 	Ø�K Ð(Ø�; Ð-Ø˜W lÐ3Ù�F‹Oð	
ðgOðt 	Ø�D—M‘M 6Ð*Ù�LÓ!ð
ðuOð| 	Ø�; Ð-Ù�F‹Oð
ð}OðF 	Ø�k 6Ð*Ù�F‹Oð
ðGOñP 	Ú"'ªÐ-Ù�d—m‘m¡U¨4°|Ô%DÓEÀvñOâ!&ªªUÐ3Ù�d—j‘j¡%¨°LÔ"AØ—m‘mó%Ø&,ð.ð �[Ð!Ù�LÓ!Ø�D—M‘M 6Ð*Ù�F‹Oð

ðQOðf 	Ø# cÑ)Ù�k¡5¨°\Ô#BÓCðEà˜Ð$Ø�kÐ#;Ð<Ø�;Ð 1Ð2Ø�;Ð :Ð;Ù�F‹Oð
ðgOðx 	Ø˜$ Ð'Ù�F‹Oð
ðyOð@ 	Ø˜w¨Ð/Ù�LÓ!Ù�F‹Oð
ðAOðN 	Ø�; Ð'Ø�H˜fÐ%Ù�F‹Oð
ðOOðX 	Ø ¨Ð0Ù�LÓ!ð
ðYOð` 	Ø�[Ð!Ø�D—N‘NÐ$9Ð:Ù�LÓ!ð
ðaOðj 	Ù�LÓ!Ø˜Ð"7Ð8ÙÐ)Ó*ð
ðkOðt 	Ø�[Ð!Ø�K Ð/Ø�; Ð0Ø�D—J‘JÐÙ�LÓ!ð
ðuOðB	 	Ù�LÓ!ð*ð ,2¯<©<¸ðAð	
ðC	OðV	 	Ù�HÓÙ�LÓ!Ø" SÑ(Ù�k¡5¨°\Ô#BÀGÓLØðð ˜YÑ&¨Ð4Ø�D—M‘MÐ"Ù�HÓð	
ðW	Oðj	 	Ø�; Ð'ð
ðk	Oðp	 	Ø)¨6¯?©?Ñ;Ú"'ªÐ-¨t°VÐ<Ø�D—M‘M 6Ð*Ù�LÓ!ð	
òq	Oð|	 	Ø�;Ð <Ð=Ù�LÓ!Ø�D—J‘J Ð'Ù�F‹Oð	
ð}	OðH
 	Ø˜(Ÿ-™-¨Ð0Ù�LÓ!Ø˜Ð!Ù�F‹Oð	
ðI
OðT
 	Ø�KÐ!GÐHØ�KÐ!8Ð9Ù�LÓ!ð
ðU
Oð^
 	Ø�t˜VÐ$Ù�HÓØ˜W×-Ñ-Ð.Ù�LÓ!Ø˜9Ñ$ kÐ2Ø�D—M‘MÐ"ð
ð_
Oðr
 	Ø˜+ vÐ.Ø˜'×*Ñ*¨FÐ3Ø˜W×-Ñ-Ð.Ø�D—J‘J Ð'Ù�LÓ!Ù�F‹Oð
ðs
OðB 	Ø�k 7Ð+Ù�LÓ!Ø�; Ð'Ù�F‹Oð	
ðCOðN 	Ø�KÐ Ø�; Ð'Ø˜G×,Ñ,Ð-Ø�D—M‘MÐ"Ù�LÓ!ð
ðOOð\ 	Ø�D—J‘J Ð'Ù�LÓ!Ù�F‹Oð
ð]Oðf 	Ø�KÐ Ø�K Ð(Ù�LÓ!Ø�D—M‘MÐ"ð	
ðgOñv 	Ú17Ò9KÐLØ�_‰_ðà˜gŸn™nÐ-Ø ×!2Ñ!2Ð3Ø-°Ñ6¸Ð=ð
ðwOðH 	Ø�V—]‘] FÐ+Ø�V—]‘] FÐ+Ø�6—=‘= %Ð(Ø�6—=‘= %Ð(ð	
ðIOðT 	Ø˜wÑ&¨¯©Ð6ð
ðUOðZ 	ð8ð :@¿¹ñJò
 =DÂWðNà�_‰_ÐCðEð
ð[Oðl 	Ø7¸¿¹ÐEð
ðmOðr 	Ñ" 4¨Ó.ðsOðt 	Ñ" 4¨Ó/ðuOðv 	Ñ! %¨Ó.òwOðx 	Ñ! %¨Ó/ðyOðz 	Ñ*¨4°°yÓAð{Oð| 	Ñ*¨4°¸	ÓBð}Oð~ 	Ñ)¨%°°yÓAðOð@ 	Ñ)¨%°¸	ÓBðAOðB 	Ñ& t¨T°5Ó9ðCOðD 	Ñ& t¨U°EÓ:ðEOðF 	Ñ% e¨T°5Ó9ðGOðH 	Ñ% e¨U°EÓ:ðIOðN 	‘  dÓ+ðOOðP 	‘  eÓ,ðQOñR 	‰˜u dÓ+ðSOñT 	‰˜u eÓ,ðUOñV 	Ñ/°°d¸DÓAðWOñX 	Ñ/°°d¸EÓBðYOñZ 	Ñ.¨t°U¸DÓAð[Oñ\ 	Ñ.¨t°U¸EÓBñ]Oñ^ 0°°d¸DÓAÙ/°°d¸EÓBÙ.¨t°U¸DÓAÙ.¨t°U¸EÓBÙ/°	¸4ÀÓFÙ/°	¸4ÀÓGÙ.¨y¸%ÀÓFÙ.¨y¸%ÀÓGñ ˜Ÿ™Ð&Ù�f—l‘lÐ#Ù�v—|‘| VÐ,Ø�6—<‘<Ð ð	
ñ ˜Ÿ™Ð&Ù�f—l‘lÐ#Ù�v—|‘| VÐ,Ø�6—<‘<Ð ð	
ñ ˜Ÿ™Ð&Ù�f—l‘lÐ#Ø�6—<‘< Ð(ð
ñ ˜Ÿ™Ð&Ù�f—l‘lÐ#Ø�6—<‘< Ð(ð
óUO€Fób&ô.r9  r   )r=  r3  Úpygments.lexerr   r   r   r   r   r   r	   Úpygments.tokenr
   r   r   r   r   r   r   r   r   r   Ú__all__r   r   r   r   r\  r9  r1  ú<module>r      sn   ðñó 
÷÷ ñ ÷(÷ (÷ (ò€ôF�:ô FôRI-�:ô I-ôXF˜<ô Fôl	�õ l	r9  