|e|dZddlZddlmZmZmZmZmZmZm Z m Z m Z ddl m Z mZmZmZmZmZmZmZmZgdZGddeZGdd eZGd d eZeZGd d eZGddeZGddeZGddeZGddeZGddeZ GddeZ!GddeZ"GddeZ#y)z pygments.lexers.dsls ~~~~~~~~~~~~~~~~~~~~ Lexers for various domain-specific languages. :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. N) ExtendedRegexLexer RegexLexerbygroupswordsincludedefaultthisusingcombined) TextCommentOperatorKeywordNameStringNumber Punctuation Whitespace) ProtoBufLexer ZeekLexer PuppetLexerRslLexer MscgenLexerVGLLexer AlloyLexerPanLexer CrmshLexer ThriftLexer FlatlineLexer SnowballLexerceZdZdZdZdZddgZdgZdefde fd e jfd e jfe d d d efe dd ejfdej fdeej$edfdeej&edfdeej&edfdefdefdej,fdej,fdej,fdej.fdej0fdej2fdefd eej8eefd!efgd"ej$d#fed#gd"ej<d#fed#gd"ed#fed#gd$Zy%)&rzP Lexer for Protocol Buffer definition files. .. versionadded:: 1.4 zProtocol Bufferz/https://developers.google.com/protocol-buffers/protobufprotoz*.protoz[ \t]+z[,;{}\[\]()<>]z/(\\\n)?/(\n|(.|\n)*?[^\\]\n)z/(\\\n)?\*(.|\n)*?\*(\\\n)?/)importoptionoptionalrequiredrepeatedreservedrpackedctype extensionstomaxrpcreturnsoneofsyntax\bprefixsuffix)int32int64uint32uint64sint32sint64fixed32fixed64sfixed32sfixed64floatdoubleboolstringbytesr6(true|false)\bz(package)(\s+)packagez(message|extend)(\s+)messagez(enum|group|service)(\s+)typez\".*?\"z\'.*?\'z'(\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+[LlUu]*z(\d+\.\d*|\.\d+|\d+[fF])[fF]?z(\-?(inf|nan))\bz0x[0-9a-fA-F]+[LlUu]*z0[0-7]+[LlUu]*z \d+[LlUu]*z[+-=]z([a-zA-Z_][\w.]*)([ \t]*)(=)z[a-zA-Z_][\w.]* [a-zA-Z_]\w*#pop)rootrHrIrJN) __name__ __module__ __qualname____doc__nameurlaliases filenamesrrr Single MultilinerrTypeConstantr Namespace DeclarationrrFloatHexOctIntegerrr AttributerClasstokens6/usr/lib/python3/dist-packages/pygments/lexers/dsls.pyrrs D ;C7#G I #  , -w~~ > ,g.?.? @ <EJRWY   >GLM\\    0 0 1 ):):J G S % g)): 6  C ) g)): 6 @   7 F -v|| < &,, / %vzz 2  + FNN + x , dnnj( ; =  &A! Fdnnf 5 FO djj& 1 FO dF + FO W/FrdrceZdZdZdZdZdgZdgZdgZe de dd e je d d fd e je d d fdeej edfdeej$edfdeeeej,eefe de ddefdefdefg defdefgdefdefdej4fgde j6fgd e jdfde jfgd e jdfd!e jfgd"ej dfedgd#ej:dfedgd$efd%ej<fd&ej$fed'd()ej fed*d()ej@fed+d(d(,ejBfgd-e"jFfd.e"jHfd/e"jJfgd0 Z&y1)2rzF For Thrift interface definitions. .. versionadded:: 2.1 Thriftzhttps://thrift.apache.org/thriftz*.thriftzapplication/x-thrift whitespacecomments" stringescapedqsz\'sqsz(namespace)(\s+) namespacez*(enum|union|struct|service|exception)(\s+)classzE((?:(?:[^\W\d]|\$)[\w.\[\]$<>]*\s+)+?)((?:[^\W\d]|\$)[\w$]*)(\s*)(\()keywordsnumbersz[&=]z[:;,{}()<>\[\]]z[a-zA-Z_](\.\w|\w)*\n\s+#.*$z//.*?\n/\*[\w\W]*?\*/z\\([\\nrt"\'])rLz [^\\"\n]+'z [^\\\'\n]+z[a-z*](\.\w|\w)*rKz1(async|oneway|extends|throws|required|optional)\brGz(const|typedef)\b) cpp_namespace cpp_includecpp_type java_package cocoa_prefixcsharp_namespacedelphi_namespace php_namespace py_module perl_packageruby_namespacesmalltalk_categorysmalltalk_prefixxsd_all xsd_optional xsd_nillable xsd_namespace xsd_attrsrr3rF)voidrCbytei16i32i64rBrDbinarymaplistsetslistsenum)eBEGINEND __CLASS____DIR____FILE__ __FUNCTION____LINE__ __METHOD__ __NAMESPACE__abstractaliasandargsasassertbeginbreakcasecatchrpclonecontinuedeclaredefrdeldeletedodynamicelifelseelseifelsifend enddeclareendfor endforeachendif endswitchendwhileensureexceptexecfinallyrAforforeachfunctionglobalgotoif implementsr$ininline instanceof interfaceislambdamodulenativenewnextnilnotorpasspublicprintprivate protectedraiseredorescueretryregisterreturnselfsizeofstaticsuperswitch synchronizedthenr throw transienttryundefunlessunsigneduntilusevarvirtualvolatilewhenwhilewithxoryieldr4z1[+-]?(\d+\.\d+([eE][+-]?\d+)?|\.?\d+[eE][+-]?\d+)z[+-]?0x[0-9A-Fa-f]+z [+-]?[0-9]+) rMrirjrlrmrnrorprqrrN)'rNrOrPrQrRrSrTrU mimetypesrrDoubler rVrrrZrr[r r rFunctionrrr rWEscaperrarYrrXReservedrr\r]r_rbrcrdrerrUs D &CjG I'(I L ! J  6==(>5"A B FMM8NE#B C **J7 F :,,j97 DeDk4==*h G I J  I  h   - #T *# (J  Z  g   !  1 1 2  . 6==& ) 6== ) 6==& ) FMM * !$..& 9 FO djj& 1 FO B7 K  0 0 1 !7#6#6 7 ( 16 7   "'(\\   E$U%,&  ' #% NB6<< P #VZZ 0 V^^ , m[Frdrc eZdZdZdZdZddgZddgZdZd Z d Z e d e d e d e de de de de de dde jfe dg defdefdeeefgdefgdej$fdej$fdeej$eej$fgeddd ej*fged!d"ej,fd#eej,eej0eej,fd$eeee j2eeeej,fd%eeee eefd&eeeej,ee j2fged'd"efd(efd)ej4fd*eej6ee j6fgd+ed,fd-ej:d.fd/ej<fd0efd1efd2efd3ezd4zej@fe d5zejBfe dzejBfd6ejDfe d7ze zd8zefg d9efd:efd;ej0fde#fgd?ee e#fd@e fgdAejHfdBejHfd+edCfdDefgdAejHfdEej:dCfdDej:fgdF Z%yG)Hrz6 For Zeek scripts. .. versionadded:: 2.5 Zeekzhttps://www.zeek.org/zeekbroz*.zeekz*.broz [0-9a-fA-F]z(((\d*\.?\d+)|(\d+\.?\d*))([eE][-+]?\d+)?z[A-Za-z0-9][-A-Za-z0-9]*rirj directives attributestypesrqliterals operators punctuationz2((?:[A-Za-z_]\w*)(?:::(?:[A-Za-z_]\w*))*)(?=\s*\() identifiersrsrtz(\\)(\n)ruz)@(load-plugin|load-sigs|load|unload)\b.*$z=@(DEBUG|DIR|FILENAME|deprecated|if|ifdef|ifndef|else|endif)\bz(@prefixes)(\s*)((\+?=).*)$)redefprioritylogr&radd_func delete_func expire_func read_expire write_expire create_expirer persistentrotate_interval rotate_sizeencrypt raw_output mergeable error_handler type_column deprecated&r3r4)anyenumrecordrtablevectorrhookeventaddrrCcountrBfileintintervalpatternportrDsubnettimerFzA(opaque)(\s+)(of)(\s+)((?:[A-Za-z_]\w*)(?:::(?:[A-Za-z_]\w*))*)\bzR(type)(\s+)((?:[A-Za-z_]\w*)(?:::(?:[A-Za-z_]\w*))*)(\s*)(:)(\s*)\b(record|enum)\bz<(type)(\s+)((?:[A-Za-z_]\w*)(?:::(?:[A-Za-z_]\w*))*)(\s*)(:)zI(redef)(\s+)(record|enum)(\s+)((?:[A-Za-z_]\w*)(?:::(?:[A-Za-z_]\w*))*)\b)rexportrrrrrrrr fallthroughrrraddrrtimeoutschedulez (print)\bz(global|local|const|option)\bz4(module)(\s+)(([A-Za-z_]\w*)(?:::([A-Za-z_]\w*))*)\brkrDz/(?=.*/)regexz(T|F)\bz \d{1,5}/(udp|tcp|icmp|unknown)\bz(\d{1,3}.){3}(\d{1,3})\bzH\[([0-9a-fA-F]{0,4}:){2,7}([0-9a-fA-F]{0,4})?((\d{1,3}.){3}(\d{1,3}))?\]z0[xX]z+\bz!\s*(day|hr|min|sec|msec|usec)s?\bz(\d+)\bz(\.z)+z[!%*/+<=>~|&^-]z([-+=&|]{2}|[+=!><-]=)z(in|as|is|of)\bz\??\$z [{}()\[\],;.]z[?:]z([a-zA-Z_]\w*)(::)rKz\\.z%-?[0-9]*(\.[0-9]+)?[DTd-gsx]rL./) rMrirjrrrrqrrrrrDr-N)&rNrOrPrQrRrSrTrU_hex_float_hrrrrrr r PreprocrrPseudorXrWordrar[rZrRegexrYrr]r\r_rrrbrcrdrerrs D !CuoG7#I D 8F $B L ! J  L ! L ! G  J  J  K M " B   M "  J  Z (44 5 g  :7?? K Mw _ +XgooGOO.- . 1 E + ^^   C   \\  Rz8==*gll[ ]c*djj*hPZ\c\h\hi kM*dJI KZ*gllJ S U% .3     7 # -w/B/B C D**JG I  68 $ &,, 0 )) *1& 9)& 1YZ` a_v %vzz 2 : :FLL I e^V\\ *  (&[2  %v .5 <  * & 1  / x  { + k "  #HT;$? @ d # V]] # -v}} = 66 " 6N  V]] # 6<< ( 6<<  QMFrdrc eZdZdZdZdZdgZdgZedededed ed ed d e fd e fgde e e fde jfgdefdejfgdej"fde ej$e ee fdej$fgdej*fdej*fdej,fdej.fdej0j2fdej0fgedddefgdefd efgd!Zy")#rzB For Puppet configuration DSL. .. versionadded:: 1.6 Puppetzhttps://puppet.com/puppetz*.pprjrqnamesrrrstringsz []{}:(),;[]rtz (\s*)(#.*)$z/(\\\n)?[*](.|\n)*?[*](\\\n)?/z(=>|\?|<|>|=|\+|-|/|\*|~|!|\|)z(in|and|or|not)\brKz(\$\S+)(\[)(\S+)(\])z\$\S+z'(\d+\.\d*|\d*\.\d+)([eE][+-]?[0-9]+)?j?z\d+[eE][+-]?[0-9]+j?z 0[0-7]+j?z0[xX][a-fA-F0-9]+z\d+Lz\d+j?)mabsentalertrauditaugeasbeforercheckrpcomputer configured containedcreate_resourcescritcrondebugrdefinedefined directoryrremergerrr extlookupfailfalser! filebucket fqdn_randgeneratehostrr$rinfoinheritsinline_template installedrk5loginlatestlinkloglevelmacauthorization mailaliasmaillistmcxmd5mountmountednagios_commandnagios_contactnagios_contactgroup nagios_hostnagios_hostdependencynagios_hostescalationnagios_hostextinfonagios_hostgroupnagios_servicenagios_servicedependencynagios_serviceescalationnagios_serviceextinfonagios_servicegroupnagios_timeperiodnodenoopnoticenotifyrHpresentpurgedrealizeregsubst resourcesrolerouterrunningr,scheduled_tasksearch selboolean selmoduleservicesha1 shellquotesplitsprintfssh_authorized_keysshkeystagestopped subscribetagtaggedtemplatetidytruer unmounteduser versioncmpvlanwarningyumrepozfszonezpoolz(?i)r3r4z "([^"])*"z '(\\'|[^'])*')rMrjrr:rrrqr;N)rNrOrPrQrRrSrTrUrrrrr rWrr5rr`Variablerrr\r^r]r_Longrrrbrcrdrerras~ D CjGI J  J  G  I  K I  [ ) Z   Xj': ; .0A0A B / 9 !8== 1 dnn - $ht}}k/5{'D E t}} %  8 F $fll 3 6:: & !6:: . fnn)) * v~~ & ,"(-7./  <6 " v & KJFrdrceZdZdZdZdZdgZdgZdgZe je jzZ de dd d efd ejfd efd efdefdefdeeej(eej(fdeeej(eeeefdej,fdej.fdefdej2fdefdej8fdej:fdej<fdefdefgiZdZ y)rz RSL is the formal specification language used in RAISE (Rigorous Approach to Industrial Software Engineering) method. .. versionadded:: 2.0 RSLz"http://en.wikipedia.org/wiki/RAISErslz*.rslztext/rslrM)JBoolCharIntNatRealr Unitabsallalwaysrraxiomcardrchannelchaosrp devt_relationdomelemsrrrexistsextendrPrhdhiderrrinds initialiser"interisinlenletlocal ltl_assertionobjectofoutpostprereadrealrngschemeskipstopswaprtheory test_casetltransition_systemrrJunionrrvaluevariablerrwritez~isinz-inflistz-infsetz-listz-setr3r4z(variable|value)\bz--.*?\nz<:.*?:>z \{!.*?!\} /\*.*?\*/z^([ \t]*)([\w]+)([ \t]*)(:[^:])z5(^[ \t]*)([\w]+)([ \t]*)(\([\w\s,]*\))([ \t]*)(is|as)z \b[A-Z]\w*\brGz".*"z\'.\'zq(><|->|-m->|/\\|<=|<<=|<\.|\|\||\|\^\||-~->|-~m->|\\/|>=|>>|\.>|\+\+|-\\|<->|=>|:-|~=|\*\*|<<|>>=|\+>|!!|\|=\||#)z [0-9]+\.[0-9]+([eE][0-9]+)?[fd]?z 0x[0-9a-f]+[0-9]+rtr.cPtjd|tjyy)zP Check for the most common text in the beginning of a RSL file. zscheme\s*.*?=\s*class\s*typeNg?)rerI)texts re analyse_textzRslLexer.analyse_texts% 994dBDD A M NrdN)!rNrOrPrQrRrSrTrUrr MULTILINEDOTALLflagsrrr[r rrrrr rXrYrrrrr\r]r_rbrrcrdrerrsT D .CgG I I LL299 $E   !&e 5 #G$7$7 8  !  ! 7 # 7 # /* z4==2: ; E j$--TW& 'gll +  0 0 1 f  v{{ #F  1&,, ? VZZ (  ' Z 4LG$ &FPrdrc peZdZdZdZdZddgZdgZdZde jfd e jfd e jfd e fd e fd e jfee j fdedfdefedg dedfedzezee j(ee eefdefedgdej0fdej2fdefgdZy)rz6 For Mscgen files. .. versionadded:: 1.6 Mscgenz!http://www.mcternan.me.uk/mscgen/mscgenmscz*.mscz(\w+|"(?:\\"|[^"])*")zmsc\bzO(hscale|HSCALE|width|WIDTH|wordwraparcs|WORDWRAPARCS|arcgradient|ARCGRADIENT)\bz)(abox|ABOX|rbox|RBOX|box|BOX|note|NOTE)\bz (\.|-|\|){3}zT(?:-|=|\.|:){2}|<<=>>|<->|<=>|<<>>|<:>|->|=>>|>>|=>|:>|-x|-X|<-|<<=|<<|<=|<:|x-|X-|=z\*z\[attrsz \{|\}|,|;rjz\]rLz (\s*)(=)(\s*),z (?://|#).*?\nz/\*(?:.|\n)*?\*/z [ \t\r\n]+)rMrrjN)rNrOrPrQrRrSrTrU_varrrXrPropertyrr5Builtinrrrrr`rrr rVrWrbrcrdrerrs# D -CG I #Dw|| $,-1]] <:8== I g &)+3 4 DLL ! 4== ! K ) ; ' J % *K ( $ $t + dnnj(J ;  J   w~~ . '"3"3 4 J ' ;"Frdrc eZdZdZdZdZdgZdgZejejzejzZ dde jfdej fd efd ej fd efd efd eeej*fdefdefdefdefg iZy)rzG For SampleManager VGL source code. .. versionadded:: 1.6 VGLz-http://www.thermoscientific.com/samplemanagervglz*.rpfrMz \{[^}]*\}rz(if|then|else|endif|while|do|endwhile|and|or|prompt|object|create|on|line|with|global|routine|value|endroutine|constant|global|set|join|library|compile_option|file|exists|create|copy|delete|enable|windows|name|notprotected)(?! *[=<>.,()])z$(true|false|null|empty|error|locked)z[~^*#!%&\[\]()<>|+=:;,./?-]z"[^"]*"z(\.)([a-z_$][\w$]*)z&[0-9][0-9]*(\.[0-9]+(e[+\-]?[0-9]+)?)?z [a-z_$][\w$]*z[\r\n]+rtN)rNrOrPrQrRrSrTrUrrr IGNORECASErr rWrrYrrrrr`rrrbrcrdrerr+s D 9CgG I LL299 $r}} 4E  7,, - )) *I   5g6F6F G +X 6  #Xh%G H 6 ? t $  $ Z  FrdrcFeZdZdZdZdZdgZdgZdgZe je jzZ dZ dZd efZd ed fe efed efd ed fgee ed fged ed fe ed fgedeed fgdej0fdej0fdej2fedeej6edfdeej8edfdej:fdej<fdefdefdefdefdefdej>fdeeedfdeeed fd!efd"efe efd#efd$e jBfeefd%efgd&Z"y')(rz; For Alloy source code. .. versionadded:: 2.0 Alloyzhttp://alloy.mit.edualloyz*.alsz text/x-alloyz[a-zA-Z_][\w]*"*z"\b(\\\\|\\[^\\]|[^"\\])*"z[^\S\n]+z (extends)\brLr\{funz--.*?$z//.*?$rz(module|open)(\s+)rz(sig|enum)(\s+)sigz(iden|univ|none)\bz (int|Int)\bz2(var|this|abstract|extends|set|seq|one|lone|let)\bz"(all|some|no|sum|disj|when|else)\bz-(run|check|for|but|exactly|expect|as|steps)\bz)(always|after|eventually|until|release)\bz,(historically|before|once|since|triggered)\bz(and|or|implies|iff|in)\bz(fun|pred|assert)(\s+)z (fact)(\s+)factz&!|#|&&|\+\+|<<|>>|>=|<=>|<=|\.\.|\.|->z[-+/*%=<>&!^|~{}\[\]().\';]z[:,]rrs)rrrrrMN)#rNrOrPrQrRrSrTrUrrrrriden_rex string_rexr text_tuplerrrrrrr rVrWrrZr[rYrXr5rr_rbrcrdrerrMs D CiG I I LL299 $E"H.Jz*JWf - t   ;  Hf %    tV $  Hf % tV $ EN  (  '  ' 7,, -  "HW->-> $K  '*=*=z!JE R "G$4$4 5 W\\ * BG L 2G < =w G 97 C fdezeeeefdezeeeej<fdefd efgiZ y!)"rz` Lexer for crmsh configuration files for Pacemaker clusters. .. versionadded:: 2.1 Crmshzhttp://crmsh.github.io/crmshpcmkz*.crmshz*.pcmk)rr primitivegrouprmslocation colocationorderfencing_topology rsc_ticket rsc_templateproperty rsc_defaults op_defaults acl_target acl_grouprr{rz (?![\w#$-])rF)paramsmeta operationsopruler utilization)rrdeny)rr)rJ not_defined)in_rangedatespecrz*(?:tag|ref|reference|attribute|type|xpath)z(?:lt|gt|lte|gte|eq|ne)z(?:string|version|number)z:(?:Master|Started|Slave|Stopped|start|promote|demote|stop)rMz ^(#.*)(\n)?z!([\w#$-]+)(=)("(?:""|[^"])*"|\S+)z(node)(\s+)([\w#$-]+)(:)z([+-]?([0-9]+|inf)):z(?:z:)?(z )(?![\w#$-])z#[a-z]+(?![\w#$-])z(%s)(:)("(?:""|[^"])*"|\S+)z!([\w#$-]+)(?:(:)(%s))?(?![\w#$-])z(\\(?=\n)|[\[\](){}/:@])z\s+|\nN)!rNrOrPrQrRrSrTrUrrelemsubaclbin_relun_opsdate_expacl_modbin_opsval_qualrsc_role_actionrr rrr`rrrrrr5rrbrcrdrerrs D #CGH%II  &  'D %-; =C ). ACM.9G -n EF7OHz>=racosrzall-butzall-with-defaultszall-with-numeric-defaultrasinatanavgz avg-windowz bin-centerz bin-countcallzcategory-countceilcondz cond-windowconscoscoshr z diff-windowdivz ensure-valuezensure-weighted-valueepochz epoch-dayz epoch-fieldsz epoch-hourzepoch-millisecondz epoch-minutez epoch-monthz epoch-secondz epoch-weekdayz epoch-yearexpffieldz field-propfieldsfilterrfloorheadrrintegerlanguager levenshteinzlinear-regressionrlnrlog10rrzmatches?r.maximumrameanmedianminminimummissingz missing-countzmissing? missing_countmodmode normalizernth occurrencesr percentilezpercentile-label populationzpopulation-fractionpow preferredz preferred?zquantile-labelrandzrand-intz random-valuezre-quoterrz replace-firstrestroundz row-numberz segment-labelrsha256sinsinhsqrtsquarezstandard-deviationstandard_deviationstrsubssumz sum-squaresz sum-window sum_squaressummaryz summary-noz summary-strtailtantanhz to-degreesz to-radiansvariance vectorizezweighted-random-valuewindowwinnowzwithin-percentiles?zz-scorez(?!#)[\w!$%*+<=>?/.#-]+rMz[,]+rtz -?\d+\.\d+z-?\d+z 0x-?[a-f\d]+z"(\\\\|\\[^\\]|[^"\\])*"z \\(.|[a-z]+)_ rFz(?<=\()z(\(|\))N)rNrOrPrQrRrSrTrUr special_formsbuiltins valid_namer rrr\r_r]rrSymbolrrrrrrrrbrcrdrerrs D 0ClGI"#IMH2,J  dO Z FLL ) v~~ & fjj ))& 1 fkk *6== != -w 78C ($,, 7* $dmm 4 ' %= !Frdrc~eZdZdZdZdZdgZdgZdZdZ dZ d Z d Z d e jfd ej fed gdezefdej(fdej,dfdefdej2fdej,fdefeddej8feddej8dfeddej fedde jfdededeej8eej<fd ed!ed"e fd#e fgd$ed%fed&de d'fed gd(e d)fgd(e d*fgd+Zd.d-Z y,)/r zD Lexer for Snowball source code. .. versionadded:: 2.2 Snowballzhttps://snowballstem.org/snowballz*.sblz\n\r\t c P|jtj|fi|yN)_reset_stringescapesr__init__)roptionss rerzSnowballLexer.__init__xs! !!###D4G4rdc d|_d|_y)Nrw)_start_end)rs rerz"SnowballLexer._reset_stringescapes|s  rdcfd}|S)Nc3K|j}|j}tjdtj|j zj }tjdtj|jzj }d} }|t|kry|r|||}||jdztj|jdf|jddk(rQ||jdztj|jdf|jjn||jdztj|jdf|j}|||}||jztj|jf|jd|jk7rd|jd<n"|j}d}|t|kry||jz|_yw) Nz ([^%s]*)(.)rrwrT)startr0rcompilerrrrrrrVstackpoprrpos) lexerrctxsrrDrr do_stringdo_string_firsts recallbackz'SnowballLexer._string..callbacks A;;=DZZ5<<1H HIOOFZZ5::1F FGMMFC'ID /"4-Eekk!n,fmmU[[^KK{{1~,%++a.0&--QOO ekk!n,fmmU[[^KK))+CtS)%++-' EE;;q>UZZ/$,CIIbMiik !D /"%))+oCGs H)I.Irc)rrs` re_stringzSnowballLexer._strings &2rdc|jd|_|jd|_ttj t tjt tj|||S)N) r0rrrrrrrr)rrrs re_stringescapeszSnowballLexer._stringescapessV{{1~ [[^ 'x((*fmmZ '',eS: :rdzlen\bzlenof\broot1z[%s]+z\d+rwrDz[()]rvz//.*z)[!*+\-/<=>]=|[-=]>|<[+-]|[$*+\-/<=>?\[\]])rgethexamongrIdecimal backwardmoder3rF)r;booleansintegersroutines externals groupingsr)!rrrrhopnonrrrrOrlooprtestrrPunsetatmarkattachrgopastinsertrepeatrtomarkatleastatlimitreversesetmarktolimitsetlimit backwards substring)sizelimitcursormaxintminintz(stringdef\b)([z]*)([^z]+)z(stringescapes\b)([z]*)(.)([z]*)(.)z [A-Za-z]\w*r*rL)rlenof)rrz[^']*'TF)rMrrrDrNcP|jtj|||Sr)rrget_tokens_unprocessed)rrcontexts rerz$SnowballLexer.get_tokens_unprocesseds# !!#!88tWMMrd)NN)!rNrOrPrQrRrSrTrU_wsrrrrrrrr5rrrr_rrVrr rWrrrrrrbrrcrdrer r js D %ClG I C58:t|| $  ' G  ^Z ( V^^ $ 6==( + k "  1 1 2 gnn % 98 D $,13    !).0   } .. 7< = ]]  B! \\ 14S 9 g&& FMM B D9K ( #E 2D % ' G    &  ' [0FdNrdr )$rQrpygments.lexerrrrrrrr r r pygments.tokenr r rrrrrrr__all__rrrBroLexerrrrrrrrrr rcrdrers ,,,$$$ J ;J;|g*gT\ \~ U*Up=z=@/*/dzDBBJBzBJCCLJJJZlN&lNrd