B
    ¿Âûb¨˜  ã               @   s”   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 ddlmZ ddgZG dd„ deƒZG d	d„ deƒZdS )
zÙ
    pygments.lexers.perl
    ~~~~~~~~~~~~~~~~~~~~

    Lexers for Perl, Raku and related languages.

    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    N)Ú
RegexLexerÚExtendedRegexLexerÚincludeÚbygroupsÚusingÚthisÚdefaultÚwords)ÚTextÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚPunctuation)Úshebang_matchesÚ	PerlLexerÚ
Perl6Lexerc            4   @   sô  e Zd ZdZdZdZddgZdddd	gZd
dgZe	j
e	jB Zdejdfdejdfdejdfdejdfdejdfdejdfdejdfdejdfdejdfdejdfg
dejfdejfdejfedddefdeeeeeeeƒd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jd&fd'ejd&fd(ejd&fd)ejd&fd*ejfd+ejd&fd,ejfd-efed.ddejfd/ejjfd0eeeejeejeƒfd1ejd2fd3ejj fd4ejj fd5ejd6fd7e!j"fd8e!j#fd9e!j$fd:e!j%fd;e!j%fd<e!j&fd=efd>efd?ej'fd@ejfdAej(dBfdCej(dDfdEej(dFfdGej(dHfdIej(fdJeeeej)ƒfdKeeeej)ƒfdLeeeƒdMfedNddefdOefdPefdQefdRedSfg1dTej*dfdUej*fgd-efdVedfdWedfdXej)fdYejdfgdZej)dfd[ej)dfdYedfd\ej+dfd]edfgd^ej,fd-efd_eeeƒfd`edfdaedfgdbej(fdcej(fdVej(dBfddej(dfdeej(fgdfej(fdcej(fdgej(dDfdhej(dfdiej(fgdjej(fdcej(fdkej(dFfdlej(dfdmej(fgdnej(fdcej(fdoej(dHfdpej(dfdqej(fgdrejdfgdsœZ-dtdu„ Z.dvS )wr   z
    For Perl source code.
    ÚPerlzhttps://www.perl.orgÚperlÚplz*.plz*.pmz*.tz*.perlztext/x-perlzapplication/x-perlz"/(\\\\|\\[^\\]|[^\\/])*/[egimosx]*z#popz"!(\\\\|\\[^\\]|[^\\!])*![egimosx]*z\\(\\\\|[^\\])*\\[egimosx]*z$\{(\\\\|\\[^\\]|[^\\}])*\}[egimosx]*z"<(\\\\|\\[^\\]|[^\\>])*>[egimosx]*z%\[(\\\\|\\[^\\]|[^\\\]])*\][egimosx]*z$\((\\\\|\\[^\\]|[^\\)])*\)[egimosx]*z"@(\\\\|\\[^\\]|[^\\@])*@[egimosx]*z"%(\\\\|\\[^\\]|[^\\%])*%[egimosx]*z$\$(\\\\|\\[^\\]|[^\\$])*\$[egimosx]*z	\A\#!.+?$z\#.*?$z^=[a-zA-Z0-9]+\s+.*?\n=cut)ZcaseÚcontinueÚdoÚelseÚelsifÚforZforeachÚifÚlastÚmyÚnextÚourÚredoÚresetÚthenÚunlessÚuntilÚwhileÚprintÚnewÚBEGINÚCHECKÚINITÚENDÚreturnz\b)Úsuffixz!(format)(\s+)(\w+)(\s*)(=)(\s*\n)Úformatz$(eq|lt|gt|le|ge|ne|not|and|or|cmp)\bz:s/(\\\\|\\[^\\]|[^\\/])*/(\\\\|\\[^\\]|[^\\/])*/[egimosx]*z.s!(\\\\|\\!|[^!])*!(\\\\|\\!|[^!])*![egimosx]*z+s\\(\\\\|[^\\])*\\(\\\\|[^\\])*\\[egimosx]*z:s@(\\\\|\\[^\\]|[^\\@])*@(\\\\|\\[^\\]|[^\\@])*@[egimosx]*z:s%(\\\\|\\[^\\]|[^\\%])*%(\\\\|\\[^\\]|[^\\%])*%[egimosx]*zs\{(\\\\|\\[^\\]|[^\\}])*\}\s*zbalanced-regexzs<(\\\\|\\[^\\]|[^\\>])*>\s*zs\[(\\\\|\\[^\\]|[^\\\]])*\]\s*zs\((\\\\|\\[^\\]|[^\\)])*\)\s*z&m?/(\\\\|\\[^\\]|[^\\/\n])*/[gcimosx]*zm(?=[/!\\{<\[(@%$])z6((?<==~)|(?<=\())\s*/(\\\\|\\[^\\]|[^\\/])*/[gcimosx]*z\s+)ÄÚabsÚacceptÚalarmÚatan2ZbindZbinmodeÚblessZcallerÚchdirÚchmodÚchompÚchopÚchownÚchrÚchrootÚcloseZclosedirÚconnectr   ÚcosZcryptZdbmcloseZdbmopenÚdefinedÚdeleteÚdieÚdumpZeachZendgrentZ
endhostentZ	endnetentZendprotoentZendpwentZ
endserventÚeofÚevalÚexecÚexistsÚexitÚexpZfcntlÚfilenoZflockÚforkr0   ZformlineÚgetcZgetgrentZgetgrgidZgetgrnamZgethostbyaddrZgethostbynameZ
gethostentÚgetloginZgetnetbyaddrZgetnetbynameZ	getnetentZgetpeernameÚgetpgrpÚgetppidÚgetpriorityZgetprotobynameZgetprotobynumberZgetprotoentZgetpwentÚgetpwnamÚgetpwuidZgetservbynameZgetservbyportZ
getserventZgetsocknameZ
getsockoptZglobZgmtimeZgotoÚgrepÚhexÚimportÚindexÚintZioctlÚjoinÚkeysÚkillr   ÚlcZlcfirstÚlengthÚlinkÚlistenÚlocalZ	localtimeÚlogÚlstatÚmapÚmkdirZmsgctlZmsggetZmsgrcvZmsgsndr   r    ÚoctÚopenZopendirÚordr!   ÚpackÚpipeÚpopÚposÚprintfZ	prototypeÚpushZ	quotemetaÚrandÚreadZreaddirÚreadlineÚreadlinkZreadpipeÚrecvr"   ÚrefÚrenameÚreverseZ	rewinddirÚrindexÚrmdirZscalarÚseekZseekdirZselectZsemctlZsemgetZsemopÚsendZsetgrentZ
sethostentZ	setnetentÚsetpgrpÚsetpriorityZsetprotoentZsetpwentZ
setserventZ
setsockoptÚshiftZshmctlZshmgetZshmreadZshmwriteZshutdownÚsinÚsleepZsocketZ
socketpairÚsortÚspliceÚsplitÚsprintfÚsqrtÚsrandÚstatZstudyÚsubstrÚsymlinkZsyscallZsysopenZsysreadZsysseekÚsystemZsyswriteÚtellZtelldirZtieZtiedZtimeÚtimesÚtrÚtruncateÚucZucfirstÚumaskZundefÚunlinkÚunpackÚunshiftZuntieÚutimeÚvaluesZvecÚwaitÚwaitpidZ	wantarrayÚwarnÚwritez+((__(DATA|DIE|WARN)__)|(STD(IN|OUT|ERR)))\bz/(<<)([\'"]?)([a-zA-Z_]\w*)(\2;?\n.*?\n)(\3)(\n)Z__END__zend-partz\$\^[ADEFHILMOPSTWX]z(\$[\\\"\[\]'&`+*.,;=%~?@$!<>(^|/-](?!\w)z[$@%#]+Úvarnamez0_?[0-7]+(_[0-7]+)*z0x[0-9A-Fa-f]+(_[0-9A-Fa-f]+)*z0b[01]+(_[01]+)*z?(?i)(\d*(_\d*)*\.\d+(_\d*)*|\d+(_\d*)*\.\d+(_\d*)*)(e[+-]?\d+)?z(?i)\d+(_\d*)*e[+-]?\d+(_\d*)*z
\d+(_\d+)*z'(\\\\|\\[^\\]|[^'\\])*'z"(\\\\|\\[^\\]|[^"\\])*"z`(\\\\|\\[^\\]|[^`\\])*`z<([^\s>]+)>z(q|qq|qw|qr|qx)\{z	cb-stringz(q|qq|qw|qr|qx)\(z	rb-stringz(q|qq|qw|qr|qx)\[z	sb-stringz(q|qq|qw|qr|qx)\<z	lt-stringz (q|qq|qw|qr|qx)([\W_])(.|\n)*?\2z/(package)(\s+)([a-zA-Z_]\w*(?:::[a-zA-Z_]\w*)*)z6(use|require|no)(\s+)([a-zA-Z_]\w*(?:::[a-zA-Z_]\w*)*)z
(sub)(\s+)Úfuncname)ÚnoÚpackageÚrequireÚusez=(\[\]|\*\*|::|<<|>>|>=|<=>|<=|={3}|!=|=~|!~|&&?|\|\||\.{1,3})z[-+/*%=<>&^|!\\~]=?z[()\[\]:;,<>/?{}]z(?=\w)Únamez\.\nz[^\n]*\nz\{z\)|,z\w+::z[\w:]+z+[a-zA-Z_]\w*(::[a-zA-Z_]\w*)*(::)?(?=\s*->)z[a-zA-Z_]\w*(::[a-zA-Z_]\w*)*::z[A-Z_]+(?=\W)z(?=\W)z[a-zA-Z_]\w*[!?]?z(\([$@%]*\))(\s*)ú;z.*?\{z\\[{}\\]z\\z\}z[^{}\\]+z\\[()\\]z\(z\)z[^()]+z
\\[\[\]\\]z\[z\]z[^\[\]]+z\\[<>\\]z\<z\>z[^<>]+z.+)zbalanced-regexÚrootr0   r—   r   r˜   z	cb-stringz	rb-stringz	sb-stringz	lt-stringzend-partc             C   s:   t | dƒrdS d}t d| ¡r&|d7 }d| kr6|d }|S )Nr   Tr   z(?:my|our)\s+[$@%(]gÍÌÌÌÌÌì?z:=é   )r   ÚreÚsearch)ÚtextÚresult© r¥   ú3lib/python3.7/site-packages/pygments/lexers/perl.pyÚanalyse_textÐ   s    
zPerlLexer.analyse_textN)/Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   ÚurlÚaliasesÚ	filenamesÚ	mimetypesr¡   ÚDOTALLÚ	MULTILINEÚflagsr   ÚRegexr   ZHashbangÚSingleÚ	Multiliner	   r   r   r
   r   r   r   ZWordÚBuiltinZPseudoZ	DelimiterZPreprocÚVariableÚGlobalr   ÚOctÚHexÚBinÚFloatÚIntegerZBacktickZOtherÚ	NamespaceZInterpolZConstantZFunctionÚtokensr§   r¥   r¥   r¥   r¦   r      sú   








































c            Á       s”  e Zd ZdZdZdZdddgZddd	d
dddddddddddgZddgZe	j
e	jB ZdZdZdZdZdZdddd d!d"d#d$d%d%d%d&d&d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dd€dd‚dƒd„d…d†d‡dˆd‰dŠd‹dŒddŽddd‘d’d“d”d•d–d—d˜d™dšd›dœddždŸd d¡d¢d£d¤d¥d¦d§d¨d©dªd«d¬d­d®d¯d°d±d²d³d´dµd¶d·d¸d¹dºd»d¼d½d¾d¿dÀdÁdÂdÃdÄdÅdÆdÇdÈdÉdÊdËdÌdÍdÎdÏdÐdÑdÒdÓdÔdÕdÖd×dØdÙœÀZddÜdÝ„ZdÞdß„ Zdàdá„ Zdâdã„ Zdädå„ ZdædÛ e¡ dç eejƒfdèejfdéejfdêejfdëejfdìe dí eeeƒdîfdïe dð e dñ eeeƒdòfdóeeeeeƒfeeeƒefeeedôdõej feeeƒej fdöe d÷ ej!fdøej!j"fdùej!j"fdúe d÷ ej!j"fdûej!fdüe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#j*fde#j*fdefdee#j*ƒfde#j*fde#feeƒe+fd	e d
 efde#fde#fg!e,dƒdefdefdefge,dƒdedfdefgddÛ e¡ dç eeƒdfe-dƒgdedfde.e/ƒfde#j*fde#j*fde#j*fdejfdefde#j*fgdœZ0dd„ Z1‡ fdd„Z2‡  Z3S (   r   zJ
    For Raku (a.k.a. Perl 6) source code.

    .. versionadded:: 2.0
    ZPerl6zhttps://www.raku.orgZperl6Zpl6Zrakuz*.plz*.pmz*.nqpz*.p6z*.6plz*.p6lz*.pl6z*.6pmz*.p6mz*.pm6z*.tz*.rakuz	*.rakumodz
*.rakutestz	*.rakudocztext/x-perl6zapplication/x-perl6z['\w:-])Nr*   ZCATCHr+   ZCLOSEZCONTROLZDOCr-   ZENTERZFIRSTr,   ZKEEPZLASTZLEAVEZNEXTZPOSTZPREZQUITZUNDOZanonZaugmentÚbutÚclassZconstantr   Údoesr   r   Úenumr   ZgatherZgivenZgrammarZhasr   rU   ÚisZletZloopÚmadeÚmakeÚmethodÚmoduleÚmultir   ZneedZorwithr!   ZproceedÚprotoÚrepeatr›   r.   z	return-rwZreturnsÚroleZruleÚstateÚsubZ	submethodZsubsetZsucceedZ	supersedeÚtokenÚtryZunitr%   r&   rœ   Úwhenr'   ÚwithZwithoutZexportZnativeÚreprÚrequiredÚrwÚsymbol(  ZACCEPTSr1   Zabs2relZabsoluter2   ZaccessedZacosZacosecZacosechZacoshZacotanZacotanhÚacquireZactÚactionÚactionsÚaddZadd_attributeZadd_enum_valueÚadd_fallbackZ
add_methodZ
add_parentZadd_private_methodZadd_roleZadd_trusteeZadverbÚafterÚallÚallocateZallofZallowedzalternative-namesZannotationsZantipairZ	antipairsÚanyZanyofZapp_lifetimeÚappendZarchZarchnameÚargsZarityÚArrayZasecZasechZasinZasinhz
ASSIGN-KEYz
ASSIGN-POSZassumingZastZatZatanr4   ZatanhzAT-KEYzatomic-assignzatomic-dec-fetchzatomic-fetchzatomic-fetch-addzatomic-fetch-deczatomic-fetch-inczatomic-fetch-subzatomic-inc-fetchzAT-POSZ
attributesZauthÚawaitZ	backtraceÚBagÚBagHashzbail-outÚbaseÚbasenamezbase-repeatingZbatchzBIND-KEYzBIND-POSzbind-stderrz
bind-stdinzbind-stdoutzbind-udpÚbitsr5   ÚblockÚBoolz	bool-onlyZboundsÚbreakZBridgeZbrokenZBUILDz
build-dateÚbytesÚcacheZ	callframezcalling-packagezCALL-MEZcallsameZcallwithZcanZcancelZ
candidatesZcandozcan-okZ	canonpathZcapsZcaptionÚCaptureZcasZcatdirZ
categorizezcategorize-listZcatfileZcatpathÚcauseZceilingZcglobalZchangedÚChannelÚcharsr6   Zchildz
child-namezchild-typenamer7   r8   r9   r;   ZchrsZchunksZcisZclassifyzclassify-listZcleanupZcloner=   Úclosedzclose-stdinzcmp-okÚcodeZcodesZcollateÚcolumnZcombÚcombinationsZcommandÚcommentÚcompilerÚComplexZcomposeZcompose_typeZcomposerZ	conditionZconfigZconfigure_destroyZconfigure_type_checkingZconjr>   ZconstraintsZ	constructÚcontainsÚcontentsÚcopyr?   ZcosecZcosechZcoshZcotanZcotanhÚcountz
count-onlyz	cpu-coresz	cpu-usageZCREATEZcreate_typeZcrossZcueÚcurdirZcurupdirÚdÚDateÚDateTimeZdayZdaycountzday-of-monthzday-of-weekzday-of-yearzdays-in-monthZdeclarationÚdecodeÚdecoderZdeepmapr   r@   ZDEFINITEZdelayedz
DELETE-KEYz
DELETE-POSÚdenominatorZdescZDESTROYZ
destroyersÚdevnullZdiagzdid-you-meanrB   zdies-okÚdirÚdirnamezdir-sepZDISTROnamesr   rÂ   zdoes-okZdonezdone-testingZduckmapZdynamicÚeZeagerZearlierZelemsÚemitZ	enclosingÚencodeÚencoderÚencodingÚendz	ends-withZenum_from_valueZenum_value_listZenum_valuesZenumsrD   ZEVALzeval-dies-okZEVALFILEzeval-lives-okZ	exceptionzexcludes-maxzexcludes-minz
EXISTS-KEYz
EXISTS-POSrH   ZexitcoderI   Zexpectedzexplicitly-manageZexpmodÚ	extensionÚfZfailz
fails-likeZfcZfeatureÚfileÚfilenameZfind_methodZfind_method_qualifiedZfinishÚfirstZflatZflatmapZflipZfloorZflunkÚflushZfmtr0   Ú	formatterZfreezeÚfromz	from-listz	from-loopz
from-posixZfullzfull-barrierÚgetZ	get_valuerL   ZgistZgotZgrabZ	grabpairsrS   ZhandleZhandledZhandlesZhardwareZhas_accessorÚHashÚheadZheaderszhh-mm-ssZhiddenZhidesZhourZhowZhyperÚidZillegalZimÚinÚindentrV   ÚindicesZindirZinfiniteZinfixz	infix:<+>z	infix:<->Zinstall_method_cacheÚInstantZinsteadÚIntz
int-boundsÚintervalzin-timezonezinvalid-strÚinvertZinvocantÚIOzIO::Notification.watch-pathZ
is_trustedZis_typeZisazis-absolutezisa-okz	is-approxz	is-deeplyz	is-hiddenzis-initial-threadzis-intzis-lazyzis-leap-yearZisNaNZisntzis-primezis-relativez
is-routinez
is-settingzis-winÚitemÚiteratorrX   ZkeepZkeptZKERNELnamesÚkeyZkeyofrY   rZ   ZkvZkxxvÚlÚlangr   ZlastcallZlaterZlazyr[   ZleadingÚlevelZlikeÚlineÚlinesr]   ÚListr^   Zlivezlives-okr_   Úlockr`   Zlog10ÚlookupZlsbrÅ   ZMAINrÆ   ÚMapÚmatchÚmaxZmaxpairsÚmergeÚmessagerÇ   Zmethod_tableÚmethodsZmigrateÚminZminmaxZminpairsZminuteZ	misplacedÚMixÚMixHashrc   ÚmodeZmodifiedZmonthZmoveÚmroZmsbrÉ   Z	multinessr   r   ZnamedZnamed_namesZnarrowZ
nativecastznative-descriptorZnativesizeofr)   Znew_typeznew-from-daycountznew-from-pairsr    Z
nextcalleeznext-handleZnextsameZnextwithÚNFCÚNFDÚNFKCÚNFKDznl-inznl-outZnodemapZnokZnoneZnormÚnotZnoteZnowZnudeÚNumÚ	numeratorÚNumericZofÚoffsetzoffset-in-hourszoffset-in-minutesÚokÚoldzon-closeZonez	on-switchre   ZopenedZ	operationZoptionalrf   ZordsZorigzos-errorZosnamez
out-bufferrg   rš   zpackage-kindzpackage-nameZpackagesZpairZpairsZpairupZ	parameterÚparamsÚparentzparent-nameÚparentsÚparsez
parse-baseZ	parsefilezparse-namesÚpartsÚpassÚpathzpath-sepZpayloadz	peer-hostz	peer-portZperiodsr   ÚpermutationsZphaserZpickZ	pickpairsÚpidZplaceholderZplanZplusZpolarZpollZpolymodri   rj   Z
positionalÚposixZpostfixZ	postmatchzprecomp-extzprecomp-targetZpredÚprefixZprematchZprependr(   rk   zprint-nlzprint-toZprivateZprivate_method_tableÚprocZproduceÚPromiseÚpromptZprotectzpull-onerl   zpush-allzpush-at-leastzpush-exactlyzpush-until-lazyZputzqualifier-typeÚquitÚrZraceÚradixrm   ÚrangeÚRatÚrawr¡   rn   Z	readcharsÚreadonlyZreadyÚRealZ
reallocateZrealsÚreasonZreblessZreceiverq   Zredispatcherr"   ÚreduceZrel2absZrelativeÚreleasers   ZrepeatedZreplacementZreportZreservedZresolveZrestorer¤   ZresumeZrethrowrt   Úrightru   rv   rÌ   Zroles_to_composeZrolishZrollZrootdirÚrootsÚrotateZrotorÚroundZ
roundrobinzroutine-typeÚrunZrwxÚsZsamecaseZsamemarkZsamewithZsayzschedule-onZ	schedulerÚscopeZsecZsechÚsecondrw   Úselfrx   ÚSetZ
set_hiddenZset_nameÚset_packageZset_rwZ	set_valueÚSetHashzset-instrumentsZsetup_finalizationÚshapeZshareÚshellr{   ZsiblingZsigilÚsignÚsignalZsignalsZ	signaturer|   ZsinhZsinkzsink-allÚskipzskip-at-leastzskip-at-least-pull-onezskip-onez	skip-restr}   zsleep-timerzsleep-untilÚSlipZslurpz
slurp-restZslurpyZsnapZsnapperÚsozsocket-hostzsocket-portr~   Úsourcezsource-packageZspawnZSPECr   r€   ZsplitdirZ	splitpathr   Zspurtr‚   Zsquishrƒ   ZstableÚstartZstartedzstarts-withÚstatusÚstderrÚstdoutÚStrZsub_signatureZsubbufz	subbuf-rwÚsubnameZsubparseZsubstzsubst-mutater…   z	substr-eqz	substr-rwZsubtestZsuccÚsumÚSupplyr†   ÚtÚtailZtakeztake-rwZtanZtanhZtapÚtargetztarget-nameZtcZtclcrˆ   r$   ZthrottleÚthrowzthrows-likeZtimezoneZtmpdirÚtoZtodayZtodoZtogglezto-posixZtotalZtrailingZtransZtreeZtrimztrim-leadingztrim-trailingr‹   ztruncated-toZtrustsZtry_acquireZtryingZtwigilÚtypeZtype_capturesÚtypenamerŒ   ZudpZuncaught_handlerZunimatchZuninameZuninamesZuniparseZunipropZunipropsÚuniqueZunivalZunivalsZunlikerŽ   Zunlockr   Zunpolarr   ZunwrapZupdirZUSAGEzuse-okZutcÚvalÚvaluer’   ZVARÚvariablezverbose-configÚversionZVMnamesZvolumeZvowÚwr“   r•   Zwatchz
watch-pathZweekzweekday-of-monthzweek-numberz	week-yearZWHATrÑ   ZWHEREZ	WHEREFOREZWHICHZWHOzwhole-secondZWHYZwordcaser	   Z
workaroundÚwrapr–   zwrite-toÚxZyadaZyearÚyieldz
yyyy-mm-ddÚzÚzipz
zip-latest)µÚFalseÚTrueZAnyrâ   ZAssociativeZASTZ	atomicintZ	AttributeZ	BacktracezBacktrace::Framerä   ZBaggyrå   ZBlobZBlockrê   ZBufÚCallableZ	CallFrameZCancellationrî   ZCArrayrð   ZCoder÷   rø   Z
ComplexStrZCoolZCurrentThreadSchedulerZCursorrÿ   ZDateishr   ZDistroZDurationZEncodingÚ	ExceptionZFailureZFatRatZGrammarr  ZHyperWhateverr  r  Zint16Zint32Zint64Zint8ZIntStrr   zIO::ArgFileszIO::CatHandlez
IO::HandlezIO::NotificationzIO::PathzIO::Path::CygwinzIO::Path::QNXzIO::Path::UnixzIO::Path::Win32zIO::Pipez
IO::SocketzIO::Socket::AsynczIO::Socket::INETzIO::SpeczIO::Spec::CygwinzIO::Spec::QNXzIO::Spec::UnixzIO::Spec::Win32zIO::SpecialÚIterableÚIteratorZJunctionZKernelZLabelr)  ZLockzLock::AsyncZlongZlonglongZMacror,  ÚMatchzMetamodel::AttributeContainerzMetamodel::C3MROzMetamodel::ClassHOWzMetamodel::EnumHOWzMetamodel::FinalizationzMetamodel::MethodContainerz!Metamodel::MROBasedMethodDispatchzMetamodel::MultipleInheritancezMetamodel::NamingzMetamodel::Primitivesz!Metamodel::PrivateMethodContainerzMetamodel::RoleContainerzMetamodel::TrustingZMethodr3  r4  ZMixyZMur7  r8  r9  r:  ZNilr<  Znum32Znum64r>  ZNumStrZObjAtZOrderZPairZ	Parameterr   z
Pod::BlockzPod::Block::CodezPod::Block::CommentzPod::Block::DeclaratorzPod::Block::NamedzPod::Block::ParazPod::Block::TablezPod::Headingz	Pod::ItemZPointerZ
PositionalZPositionalBindFailoverZProczProc::AsyncrN  ZProxyZPseudoStashZ	QuantHashZRangerT  ZRationalZRatStrrW  r³   ZRoutineZScalarZ	SchedulerZ	SemaphoreZSeqrd  rf  ZSettyZ	SignatureZsize_trl  ZStashrs  ZStrDistanceZStringyZSubZ	SubmethodZSupplierzSupplier::Preservingrv  ZSystemicZTapZ	TelemetryzTelemetry::Instrument::ThreadzTelemetry::Instrument::UsagezTelemetry::PeriodzTelemetry::SamplerZThreadZThreadPoolSchedulerZUIntZuint16Zuint32Zuint64Zuint8ZUniÚutf8r·   ZVersionZVMZWhateverZWhateverCodeZ
WrapHandle)fÚXÚZrÜ   ZalsoÚandZandthenZbeforeZcmpZdivÚeqZeqvZextraÚffÚfffÚgeÚgtÚleZlegÚltÚmZmmÚmodÚneÚorZorelseÚrxr`  rŠ   r…  ÚxorZxxz++z--z**ú!ú+ú-ú~ú?ú|z||z+^z~^z?^ú^Ú*ú/ú%z%%z+&z+<z+>z~&z~<z~>z?&ZgcdZlcmr¢  r£  z+|z+^z~|z~^z?|z?^r¤  ú&r§  rÀ   rÂ   z<=>z..z..^z^..z^..^z!=z==ú<z<=ú>z>=z~~z===z!eqvz&&z||z^^z//r2  r.  z??z!!r•  r–  rm  r;  z<==z==>z<<==z==>>Zunicmpú)r­  ú]Ú}õ   Â»u   à¼»u   à¼½u   ášœu   â€™u   â€u   â€ºu   â†u   â¾u   â‚Žu   âˆ‹u   âˆŒu   âˆu   â§µu   âˆ½u   â‹u   â‰“u   â‰•u   â‰¥u   â‰§u   â‰©u   â‰«u   â‰¯u   â‰±u   â‰³u   â‰µu   â‰·u   â‰¹u   â‰»u   â‰½u   â‰¿u   âŠu   âŠƒu   âŠ…u   âŠ‡u   âŠ‰u   âŠ‹u   âŠu   âŠ’u   â¦¸u   âŠ£u   â«žu   â«¤u   â«£u   â«¥u   âŠ±u   âŠ³u   âŠµu   âŠ·u   â‹Šu   â‹Œu   â‹‘u   â‹—u   â‹™u   â‹›u   â‹u   â‹Ÿu   â‹¡u   â‹£u   â‹¥u   â‹§u   â‹©u   â‹«u   â‹­u   â‹±u   â‹ºu   â‹»u   â‹¼u   â‹½u   â‹¾u   âŒ‰u   âŒ‹u   âŒªu   âŽµu   â©u   â«u   â­u   â¯u   â±u   â³u   âµu   âŸ„u   âŸ†u   âŸ–u   âŸžu   âŸ£u   âŸ¥u   âŸ§u   âŸ©u   âŸ«u   â¦„u   â¦†u   â¦ˆu   â¦Šu   â¦Œu   â¦Žu   â¦u   â¦’u   â¦”u   â¦–u   â¦˜u   â§u   â§…u   â§u   â§’u   â§•u   â§™u   â§›u   â§¹u   â§½u   â¨¬u   â¨®u   â¨µu   â¨½u   â©¥u   â©ºu   â©¾u   âª€u   âª‚u   âª„u   âªŒu   âª’u   âª”u   âª–u   âª˜u   âªšu   âªœu   âª¢u   âª§u   âª©u   âª«u   âª­u   âª°u   âª´u   âª¼u   âª¾u   â«€u   â«‚u   â«„u   â«†u   â«Žu   â«u   â«’u   â«”u   â«–u   â«­u   â«¸u   â«ºu   â¸ƒu   â¸…u   â¸Šu   â¸u   â¸u   â¸¡u   ã€‰u   ã€‹u   ã€u   ã€u   ã€‘u   ã€•u   ã€—u   ã€™u   ã€›u   ã€žu   ï´¿u   ï¸˜u   ï¸¶u   ï¸¸u   ï¸ºu   ï¸¼u   ï¸¾u   ï¹€u   ï¹‚u   ï¹„u   ï¹ˆu   ï¹šu   ï¹œu   ï¹žu   ï¼‰u   ï¼žu   ï¼½u   ï½u   ï½ u   ï½£)Àú(r¬  ú[Ú{õ   Â«u   à¼ºu   à¼¼u   áš›u   â€˜u   â€šu   â€›u   â€œu   â€žu   â€Ÿu   â€¹u   â…u   â½u   â‚u   âˆˆu   âˆ‰u   âˆŠu   âˆ•u   âˆ¼u   â‰ƒu   â‰’u   â‰”u   â‰¤u   â‰¦u   â‰¨u   â‰ªu   â‰®u   â‰°u   â‰²u   â‰´u   â‰¶u   â‰¸u   â‰ºu   â‰¼u   â‰¾u   âŠ€u   âŠ‚u   âŠ„u   âŠ†u   âŠˆu   âŠŠu   âŠu   âŠ‘u   âŠ˜u   âŠ¢u   âŠ¦u   âŠ¨u   âŠ©u   âŠ«u   âŠ°u   âŠ²u   âŠ´u   âŠ¶u   â‹‰u   â‹‹u   â‹u   â‹–u   â‹˜u   â‹šu   â‹œu   â‹žu   â‹ u   â‹¢u   â‹¤u   â‹¦u   â‹¨u   â‹ªu   â‹¬u   â‹°u   â‹²u   â‹³u   â‹´u   â‹¶u   â‹·u   âŒˆu   âŒŠu   âŒ©u   âŽ´u   â¨u   âªu   â¬u   â®u   â°u   â²u   â´u   âŸƒu   âŸ…u   âŸ•u   âŸu   âŸ¢u   âŸ¤u   âŸ¦u   âŸ¨u   âŸªu   â¦ƒu   â¦…u   â¦‡u   â¦‰u   â¦‹u   â¦u   â¦u   â¦‘u   â¦“u   â¦•u   â¦—u   â§€u   â§„u   â§u   â§‘u   â§”u   â§˜u   â§šu   â§¸u   â§¼u   â¨«u   â¨­u   â¨´u   â¨¼u   â©¤u   â©¹u   â©½u   â©¿u   âªu   âªƒu   âª‹u   âª‘u   âª“u   âª•u   âª—u   âª™u   âª›u   âª¡u   âª¦u   âª¨u   âªªu   âª¬u   âª¯u   âª³u   âª»u   âª½u   âª¿u   â«u   â«ƒu   â«…u   â«u   â«u   â«‘u   â«“u   â«•u   â«¬u   â«·u   â«¹u   â¸‚u   â¸„u   â¸‰u   â¸Œu   â¸œu   â¸ u   ã€ˆu   ã€Šu   ã€Œu   ã€Žu   ã€u   ã€”u   ã€–u   ã€˜u   ã€šu   ã€u   ï´¾u   ï¸—u   ï¸µu   ï¸·u   ï¸¹u   ï¸»u   ï¸½u   ï¸¿u   ï¹u   ï¹ƒu   ï¹‡u   ï¹™u   ï¹›u   ï¹u   ï¼ˆu   ï¼œu   ï¼»u   ï½›u   ï½Ÿu   ï½¢NÚ c             C   sl   |d kr,d| d  dd„ | D ƒ¡ | d S d| d | d d  d	d„ | D ƒ¡ d | d
 | d S d S )Nz\b(r¦  c             s   s   | ]}t  |¡V  qd S )N)r¡   Úescape)Ú.0r…  r¥   r¥   r¦   ú	<genexpr>ñ  s    z/Perl6Lexer._build_word_match.<locals>.<genexpr>z)\bz(?<!r®  r²  c             s   s   | ]}t  |¡V  qd S )N)r¡   r·  )r¸  r…  r¥   r¥   r¦   r¹  õ  s    z(?!)rX   )r	   Zboundary_regex_fragmentrL  r/   r¥   r¥   r¦   Ú_build_word_matchï  s    $zPerl6Lexer._build_word_matchc                s   ‡ fdd„}|S )Nc             3   sŽ  |  ¡ }|d }t|ƒ}| d¡}tj |d ¡}|j}|d krX| || d¡| ¡}	nˆ|| }
d}| d¡}xl|dkrÚ| ||| ¡}| |
|| ¡}|dkr®t|ƒ}d}qp|dkrÌ||k rÌ|d7 }|}qp|d8 }|}qpW |}	|	dk rðt|ƒ}	|d k	r`t 	d|¡r`|| d¡| |	… }t 	dt 
|¡ d ||	d … tj¡}|rX|	| ¡ 7 }	nt|ƒ}	| ¡ ˆ || ¡ |	| … fV  |	| |_d S )	NZ	delimiterÚadverbsr   é   éÿÿÿÿz:to\bz^\s*z\s*$)Ú	groupdictÚlenr  r   ÚPERL6_BRACKETSr£   Úfindro  r¡   r¢   r·  r±   r  rj   )Úlexerr-  ÚcontextÚgroupsZopening_charsZn_charsr»  Zcloserr£   Zend_posZclosing_charsZnesting_levelZ
search_posZnext_open_posZnext_close_posZheredoc_terminatorZend_heredoc)Útoken_classr¥   r¦   Úcallbackù  sD    


 z.Perl6Lexer.brackets_callback.<locals>.callbackr¥   )rÅ  rÆ  r¥   )rÅ  r¦   Úbrackets_callbackø  s    5zPerl6Lexer.brackets_callbackc             c   s\   |j }| ¡ t|j| ¡ | ¡ … fV  | ¡ |_t|ƒdkrX|d dkrX| jd7  _d S )Nr    éþÿÿÿrÏ   r¼  )Ústackro  r
   r£   r  rj   r¿  Úperl6_token_nesting_level)rÂ  r-  rÃ  rÉ  r¥   r¥   r¦   Úopening_brace_callback0  s
    "
z!Perl6Lexer.opening_brace_callbackc             c   sn   |j }| ¡ t|j| ¡ | ¡ … fV  | ¡ |_t|ƒdkrj|d dkrj| jd8  _|jdkrj| ¡  d S )Nr    rÈ  rÏ   r¼  r   )	rÉ  ro  r
   r£   r  rj   r¿  rÊ  ri   )rÂ  r-  rÃ  rÉ  r¥   r¥   r¦   Úclosing_brace_callback=  s    "

z!Perl6Lexer.closing_brace_callbackc             c   sB   d|_ | ¡ t|j| ¡ | ¡ … fV  | ¡ |_|j d¡ d S )Nr¼  rŸ   )rÊ  ro  r
   r£   r  rj   rÉ  rà   )rÂ  r-  rÃ  r¥   r¥   r¦   Úembedded_perl6_callbackK  s    "
z"Perl6Lexer.embedded_perl6_callbackz$#[`|=](?P<delimiter>(?P<first_char>[z])(?P=first_char)*)z#[^\n]*$z%^(\s*)=begin\s+(\w+)\b.*?^\1=end\s+\2z^(\s*)=for.*?\n\s*?\nz^=.*?\n\s*?\nz(regex|token|rule)(\s*z+:sym)ztoken-sym-bracketsz(regex|token|rule)(?!z)(\s*z+)?z	pre-tokenz(role)(\s+)(q)(\s*)z
(?::[UD])?)r/   z[$@%&][.^:?=!~]?u   +(?:<<.*?>>|<.*?>|Â«.*?Â»)*u    \$[!/](?:<<.*?>>|<.*?>|Â«.*?Â»)*z::\?\w+z[$@%&]\*z\$(?:<.*?>)+zn(?:q|qq|Q)[a-zA-Z]?\s*(?P<adverbs>:[\w\s:]+)?\s*(?P<delimiter>(?P<first_char>[^0-9a-zA-Z:\s])(?P=first_char)*)z0_?[0-7]+(_[0-7]+)*z0x[0-9A-Fa-f]+(_[0-9A-Fa-f]+)*z0b[01]+(_[01]+)*z?(?i)(\d*(_\d*)*\.\d+(_\d*)*|\d+(_\d*)*\.\d+(_\d*)*)(e[+-]?\d+)?z(?i)\d+(_\d*)*e[+-]?\d+(_\d*)*z
\d+(_\d+)*z(?<=~~)\s*/(?:\\\\|\\/|.)*?/z(?<=[=(,])\s*/(?:\\\\|\\/|.)*?/z
m\w+(?=\()z_(?:m|ms|rx)\s*(?P<adverbs>:[\w\s:]+)?\s*(?P<delimiter>(?P<first_char>[^\w:\s])(?P=first_char)*)zB(?:s|ss|tr)\s*(?::[\w\s:]+)?\s*/(?:\\\\|\\/|.)*?/(?:\\\\|\\/|.)*?/z<[^\s=].*?\S>z\wr¨  z'(\\\\|\\[^\\]|[^'\\])*'z"(\\\\|\\[^\\]|[^"\\])*"Úcommonz\{z\}z.+?)z#poprÏ   z(?P<delimiter>(?P<first_char>[)z#popz	pre-tokenz#popz,(?<=:)(?:my|our|state|constant|temp|let).*?;z<(?:[-!?+.]\s*)?\[.*?\]>z(?<!\\)'(\\\\|\\[^\\]|[^'\\])*'z(?<!\\)"(\\\\|\\[^\\]|[^"\\])*"z#.*?$)rÎ  rŸ   z	pre-tokenztoken-sym-bracketsrÏ   c             C   sÒ   dd„ }|   ¡ }||ƒ}d |¡} t| dƒr0dS d}d}t dtj d | ¡rVd	}d}xf|D ]^}t d
d|¡}t d|¡r|q\t d|¡rŒdS t d|¡}|r¸|s®| 	d¡d k	r²dS d}q\P q\W d| krÎ|d }|S )Nc             S   sL   d}g }x>| D ]6}t  d|¡r$d}qt  d|¡r6d}q|s| |¡ qW |S )NFz^=(?:end|cut)z^=\w+T)r¡   r-  rà   )r(  Zin_podZstripped_linesr'  r¥   r¥   r¦   Ú	strip_pod¥  s    
z*Perl6Lexer.analyse_text.<locals>.strip_podÚ
zperl6|rakudo|niecza|pugsTFz(?:my|our|has)\s+(?:z+\s+)?[$@%&(]gš™™™™™é?z#.*r¶  z^\s*$z$^\s*(?:use\s+)?v6(?:\.\d(?:\.\d)?)?;z?^\s*(?:(?P<scope>my|our)\s+)?(?:module|class|role|enum|grammar)ra  gš™™™™™©?z:=r    )
Ú
splitlinesrX   r   r¡   r¢   r   ÚPERL6_IDENTIFIER_RANGErÎ   r-  Úgroup)r£   rÏ  r(  Zsaw_perl_declZratingr'  Z
class_declr¥   r¥   r¦   r§   ¤  s8    



zPerl6Lexer.analyse_textc                s    t ƒ jf |Ž | dd¡| _d S )Nr  zutf-8)ÚsuperÚ__init__r  r  )rc  Úoptions)Ú	__class__r¥   r¦   rÕ  Û  s    zPerl6Lexer.__init__)Nr¶  r¶  )4r¨   r©   rª   r«   r   r¬   r­   r®   r¯   r¡   r±   r°   r²   rÒ  ZPERL6_KEYWORDSZPERL6_BUILTINSZPERL6_BUILTIN_CLASSESZPERL6_OPERATORSrÀ  rº  rÇ  rË  rÌ  rÍ  rX   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Õ  Ú__classcell__r¥   r¥   )r×  r¦   r   á   s$  
u%	8



















7)r«   r¡   Zpygments.lexerr   r   r   r   r   r   r   r	   Zpygments.tokenr
   r   r   r   r   r   r   r   Zpygments.utilr   Ú__all__r   r   r¥   r¥   r¥   r¦   Ú<module>	   s   (( L