3

V'íc(ãž@sbdZGdd„deƒZeƒZejZejZejZejZejZej	Z	ej
Z
ejZejZej
Z
ejZejZejZejZee_ee_e
e_
dd„Zdd„Zedededed	ed
ede	de	jd
e	jde	jde	jde	jde	jde
de
jde
jde
jjde
jde
jde
jde
jde
jde
j de
j j!de
j"de
j#de
jd e
jd!e
j$d"e
j%d#e
j%jd$e
j%j&d%e
j%j'd&e
j%j!d'ed(ej(d)ed*ej)d+ej*d,ej+d-ej,d.ej-d/ej.d0ejd1ej/d2ej0d3ejd4ej1d5ej2d6ej3d7e
d8e
j4d9e
j5d:e
j6d;e
j7d<e
j7j8d=e
j9d>ed?ej:d@edAej;dBedCej<dDej=dEej>dFej?dGej2dHej@dIedJejAdKejBdLejdMejCdNejDdOejEdPejFdQejGdRejHdSejIdTiOZJdUS)VzË
    pygments.token
    ~~~~~~~~~~~~~~

    Basic token types and the standard tokens.

    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
c@sHeZdZdZdd„Zdd„Zdd„Zdd	„Zd
d„Zdd
„Z	dd„Z
dS)Ú
_TokenTypeNcCs2g}|}x|dk	r$|j|ƒ|j}q
W|jƒ|S)N)ÚappendÚparentÚreverse)ÚselfÚbufÚnode©rú2/tmp/pip-build-gk9425m9/Pygments/pygments/token.pyÚsplits


z_TokenType.splitcGstƒ|_dS)N)ÚsetÚsubtypes)rÚargsrrr	Ú__init__sz_TokenType.__init__cCs*||kp(t|ƒ|jko(|dt|ƒ…|kS)N)ÚtypeÚ	__class__Úlen)rÚvalrrr	Ú__contains__sz_TokenType.__contains__cCsP|s|djƒr tj||ƒSt||fƒ}t|||ƒ|jj|ƒ||_|S)Né)ÚisupperÚtupleÚ__getattribute__rÚsetattrrÚaddr)rrÚnewrrr	Ú__getattr__"sz_TokenType.__getattr__cCsd|r
dpddj|ƒS)NÚTokenÚ.Ú)Újoin)rrrr	Ú__repr__+sz_TokenType.__repr__cCs|S)Nr)rrrr	Ú__copy__.sz_TokenType.__copy__cCs|S)Nr)rÚmemorrr	Ú__deepcopy__2sz_TokenType.__deepcopy__)Ú__name__Ú
__module__Ú__qualname__rr
rrrr r!r#rrrr	rs		rcCs||kS)z‚
    Return True if ``ttype`` is a subtype of ``other``.

    exists for backwards compatibility. use ``ttype in other`` now.
    r)ZttypeÚotherrrr	Úis_token_subtypeUsr(cCs<t|tƒr|S|stSt}x|jdƒD]}t||ƒ}q&W|S)a}
    Convert a string into a token type::

        >>> string_to_token('String.Double')
        Token.Literal.String.Double
        >>> string_to_token('Token.Literal.Number')
        Token.Literal.Number
        >>> string_to_token('')
        Token

    Tokens that are already tokens are returned unchanged:

        >>> string_to_token(String)
        Token.Literal.String
    r)Ú
isinstancerrr
Úgetattr)ÚsrÚitemrrr	Ústring_to_tokentype^s
r-rÚwÚescÚerrÚxÚkZkcZkdÚknZkpZkrZktÚnÚnaÚnbZbpZncÚnoZndÚniÚneÚnfZfmÚpyÚnlÚnnZnxÚntÚnvZvcZvgÚviZvmÚlÚldr+ÚsaZsbZscÚdlÚsdÚs2ÚseÚshÚsiZsxÚsrÚs1ÚssÚmÚmbZmfZmhÚmiZilÚmoÚoZowÚpZpmÚcÚchÚcmÚcpZcpfZc1ÚcsÚgÚgdÚgeZgrZghZgiZgoZgpZgsZguÚgtN)KÚ__doc__rrrZTextÚ
WhitespaceZEscapeÚErrorZOtherÚKeywordÚNameÚLiteralÚStringÚNumberZPunctuationÚOperatorÚCommentZGenericr(r-ÚConstantZDeclarationÚ	NamespaceZPseudoZReservedÚTypeÚ	AttributeZBuiltinZClassZ	DecoratorÚEntityÚ	ExceptionZFunctionZMagicZPropertyZLabelZTagÚVariableÚGlobalZInstanceÚDateZAffixZBacktickZCharZ	DelimiterZDocÚDoubleZHeredocZInterpolÚRegexÚSingleZSymbolZBinZFloatZHexZIntegerZLongÚOctÚWordÚMarkerZHashbangZ	MultilineZPreprocZPreprocFileÚSpecialZDeletedZEmphZHeadingZInsertedZOutputZPromptZStrongZ
SubheadingÚ	TracebackZSTANDARD_TYPESrrrr	Ú<module>	sÈ+