U
    luf                     @   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 dgZdddd	d
dddddddddddddddddgZdddgZdd gZd!d"d#d$gZd%d&d'd(d)d*d+d,d-d.d/d0d1d2gZd3d4d5d6d7gZd8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMgZdNdO ZG dPd deZdS )Qz
    pygments.lexers.asn1
    ~~~~~~~~~~~~~~~~~~~~

    Pygments lexers for ASN.1.

    :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N)CommentOperatorKeywordNameStringNumberPunctuation
Whitespace)
RegexLexerwordsbygroups	Asn1LexerZENCODEDzABSTRACT-SYNTAXZENDZAPPLICATIONZEXPLICITZIMPLICITZ	AUTOMATICZTAGSZBEGINZEXTENSIBILITYZBYZFROMZ	COMPONENTZ	UNIVERSALZ
COMPONENTSZCONSTRAINEDZIMPLIEDZDEFINITIONSZINCLUDESZPRIVATEZWITHZOFZEXCEPTZUNIONZINTERSECTIONZEXPORTSZIMPORTSzSEQUENCE OFzSET OFzINSTANCE OFzWITH SYNTAXZSIZEZSEQUENCEZSETZCLASSZUNIQUEDEFAULTZCHOICEZPATTERNOPTIONALZPRESENTZABSENTZ
CONTAININGZ
ENUMERATEDALLzOBJECT IDENTIFIERz
BIT STRINGzOCTET STRINGzCHARACTER STRINGzEMBEDDED PDVzRELATIVE-OIDzTYPE-IDENTIFIERZObjectDescriptorZ	IA5StringZINTEGERZISO646StringZ	T61StringZ	BMPStringZNumericStringZTeletexStringZGeneralizedTimeZREALZBOOLEANZGeneralStringZGraphicStringZUniversalStringZUTCTimeZVisibleStringZ
UTF8StringZPrintableStringZVideotexStringZEXTERNALc                 C   s   dd dd | D  d S )N(|c                 s   s   | ]}| d dV  qdS ) \s+N)replace).0token r   8/tmp/pip-unpacked-wheel-7eq1ciah/pygments/lexers/asn1.py	<genexpr>r   s     z!word_sequences.<locals>.<genexpr>z)\b)join)tokensr   r   r   word_sequencesq   s    r   c                   @   sP  e Zd ZdZejZdZdgZdgZ	dZ
defdejfdejd	fd
ejfdejfdejfedddejfeeejfeeddejfdejfeeddejfeeejfee ddejfee!ddej"fee#efdejfdefde$fde%dfde&e%e%j'fde&e%e%j'fgdejfdejdfdejdfdejfgde%fde%dfde%fgdZ(d S )!r   zG
    Lexer for ASN.1 module definition

    .. versionadded:: 2.16
    zASN.1Zasn1z*.asn1zDhttps://www.itu.int/ITU-T/studygroups/com17/languages/X.680-0207.pdfr   z--.*$z/\*commentz\d+\.\d*([eE][-+]?\d+)?z\d+z!&?[a-z][-a-zA-Z0-9]*[a-zA-Z0-9]\b)TRUEFALSEZNULLzMINUS-INFINITYzPLUS-INFINITYZMINMAXz\b)suffixzEXPORTS\s+ALL\bz!&?[A-Z][-a-zA-Z0-9]*[a-zA-Z0-9]\bz!(::=|\.\.\.|\.\.|\[\[|\]\]|\||\^)z(\.|,|\{|\}|\(|\)|\[|\])"stringz('[01 ]*')(B)\bz('[0-9A-F ]*')(H)\bz[^*/]+z#pushz\*/z#popz[*/]z""z[^"])rootr   r$   N))__name__
__module____qualname____doc__re	MULTILINEflagsnamealiases	filenamesurlr	   r   SingleZ	Multiliner   ZFloatZIntegerr   Variabler   r   Constantr   TWO_WORDS_TYPESTypeSINGLE_WORD_TYPES	NamespaceSINGLE_WORD_NAMESPACE_KEYWORDSr   MULTI_WORDS_DECLARATIONSZDeclarationSINGLE_WORDS_DECLARATIONSOPERATOR_WORDSWordSINGLE_WORD_KEYWORDSr   r   r   ZAffixr   r   r   r   r   r   u   sL   

$

)r)   r*   Zpygments.tokenr   r   r   r   r   r   r   r	   Zpygments.lexerr
   r   r   __all__r=   r;   r8   r9   r:   r4   r6   r   r   r   r   r   r   <module>   s   
(	