
    Mh                         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g dZg dZdd	gZg d
Zg dZg dZg dZd Z G d de          ZdS )z
    pygments.lexers.asn1
    ~~~~~~~~~~~~~~~~~~~~

    Pygments lexers for ASN.1.

    :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N)CommentOperatorKeywordNameStringNumberPunctuation
Whitespace)
RegexLexerwordsbygroups	Asn1Lexer)ENCODEDzABSTRACT-SYNTAXENDAPPLICATIONEXPLICITIMPLICIT	AUTOMATICTAGSBEGINEXTENSIBILITYBYFROM	COMPONENT	UNIVERSAL
COMPONENTSCONSTRAINEDIMPLIEDDEFINITIONSINCLUDESPRIVATEWITHOF)EXCEPTUNIONINTERSECTIONEXPORTSIMPORTS)zSEQUENCE OFzSET OFzINSTANCE OFzWITH SYNTAX)SIZESEQUENCESETCLASSUNIQUEDEFAULTCHOICEPATTERNOPTIONALPRESENTABSENT
CONTAINING
ENUMERATEDALL)zOBJECT IDENTIFIERz
BIT STRINGzOCTET STRINGzCHARACTER STRINGzEMBEDDED PDV)zRELATIVE-OIDzTYPE-IDENTIFIERObjectDescriptor	IA5StringINTEGERISO646String	T61String	BMPStringNumericStringTeletexStringGeneralizedTimeREALBOOLEANGeneralStringGraphicStringUniversalStringUTCTimeVisibleString
UTF8StringPrintableStringVideotexStringEXTERNALc                 L    dd                     d | D                       z   dz   S )N(|c              3   B   K   | ]}|                     d d          V  dS ) \s+N)replace).0tokens     T/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pygments/lexers/asn1.py	<genexpr>z!word_sequences.<locals>.<genexpr>r   s0      II%--V44IIIIII    z)\b)join)tokenss    rT   word_sequencesrY   q   s-    II&IIIIIIFRRrV   c                      e Zd ZdZej        ZdZdgZdgZ	d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          ej        f ee          ej        f eed          ej        fdej        f eed          ej        f ee          ej         f ee!d          ej         f ee"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   z+
    Lexer for ASN.1 module definition
    zASN.1asn1z*.asn1zDhttps://www.itu.int/ITU-T/studygroups/com17/languages/X.680-0207.pdfz2.16rP   z--.*$z/\*commentz\d+\.\d*([eE][-+]?\d+)?z\d+z!&?[a-z][-a-zA-Z0-9]*[a-zA-Z0-9]\b)TRUEFALSENULLzMINUS-INFINITYzPLUS-INFINITY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\   rd   N)*__name__
__module____qualname____doc__re	MULTILINEflagsnamealiases	filenamesurlversion_addedr
   r   Single	Multiliner   FloatIntegerr   Variabler   r   ConstantrY   TWO_WORDS_TYPESTypeSINGLE_WORD_TYPES	NamespaceSINGLE_WORD_NAMESPACE_KEYWORDSr   MULTI_WORDS_DECLARATIONSDeclarationSINGLE_WORDS_DECLARATIONSOPERATOR_WORDSWordSINGLE_WORD_KEYWORDSr	   r   r   AffixrX    rV   rT   r   r   u   s         LEDhG
I
PCM
 Z w~&W&	2'6V^$14=AU]fklllnun~^O,,gl;U$U333W\B!23U1%@@@(BTU^455w7JKU,U;;;W=PQU>%000(-@U'(('2149=18<(+668$&&,!?!?@#HHVV\$B$BCC"
H )*W&0W&/g'(	
 FO66"f
U/ /FFFrV   )ri   rj   pygments.tokenr   r   r   r   r   r   r	   r
   pygments.lexerr   r   r   __all__r   r   r|   r}   r   rx   rz   rY   r   r   rV   rT   <module>r      sc    
			$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 6 6 6 6 6 6 6 6 6 6-   2   " 
      "     4S S S= = = = =
 = = = = =rV   