§
    £E±c7  ã                   óp   — d Z ddl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mZ dgZ G d„ de¦  «        ZdS )zÉ
    pygments.lexers.solidity
    ~~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for Solidity.

    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    )Ú
RegexLexerÚbygroupsÚincludeÚwords)	ÚTextÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚPunctuationÚ
WhitespaceÚSolidityLexerc                   óR  — e Zd ZdZdZdgZdgZg ZdZ e	d¦  «         e	d¦  «        de
d	fd
 ee
eej        ¦  «        fedz   dz    ee
j        ee
ej        ¦  «        fd ee
j        eej        ¦  «        fde
f eddd¬¦  «        e
j        f eddd¬¦  «        ej        fee
j        f e	d¦  «        defdefdefgdej        fdej        fdej        fgdej        fdej        fdej        fdej        fg e	d¦  «         e	d¦  «        d eeee
¦  «        fded fgd!efd"efgd#œZd$S )%r   z>
    For Solidity source code.

    .. versionadded:: 2.5
    ÚSolidityÚsolidityz*.solz¬\b(address|bool|(?:(?:bytes|hash|int|string|uint)(?:8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?))\bÚ
whitespaceÚcommentsz\bpragma\s+solidity\bÚpragmaz\b(contract)(\s+)([a-zA-Z_]\w*)z/(\s+)((?:external|public|internal|private)\s+)?z([a-zA-Z_]\w*)z1\b(enum|event|function|struct)(\s+)([a-zA-Z_]\w*)z,\b(msg|block|tx)\.([A-Za-z_][a-zA-Z0-9_]*)\b)%ÚblockÚbreakÚconstantÚconstructorÚcontinueÚcontractÚdoÚelseÚexternalÚfalseÚforÚfunctionÚifÚimportÚ	inheritedÚinternalÚisÚlibraryÚmappingÚmemoryÚmodifierÚmsgÚnewÚpayableÚprivateÚpublicÚrequireÚreturnÚreturnsÚstructÚsuicideÚthrowÚthisÚtrueÚtxÚvarÚwhilez\b)ÚprefixÚsuffix)Ú	keccak256Ú	constantsz[a-zA-Z_]\w*z[~!%^&*+=|?:<>/-]z[.;{}(),\[\]]z//(\n|[\w\W]*?[^\\]\n)z/(\\\n)?[*][\w\W]*?[*](\\\n)?/z/(\\\n)?[*][\w\W]*z("(\\"|.)*?")z('(\\'|.)*?')z\b0[xX][0-9a-fA-F]+\bz\b\d+\bz(\^|>=|<)(\s*)(\d+\.\d+\.\d+)ú;z#popz\s+z\n)Úrootr   r?   r   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚaliasesÚ	filenamesÚ	mimetypesÚdatatyper   r
   r   r   r   ÚEntityÚTypeÚVariabler   ÚBuiltinr   r	   r   r   ÚSingleÚ	Multiliner   ÚDoubler   ÚHexÚDecimalÚtokens© ó    ú:/usr/lib/python3/dist-packages/pygments/lexers/solidity.pyr   r      s  € € € € € ðð ð €DØˆl€GØ�	€IØ€Ið	*ð ð ˆG�LÑ!Ô!ØˆG�JÑÔØ% w°Ð9Ø/ØˆX�g˜z¨4¬;Ñ7Ô7ð9àÐJÑJØñàˆX�g”l J°¸¼ÑGÔGðIð BØˆX�g”l J°´Ñ>Ô>ð@à<¸gÐFØˆUð &ð /4¸EðCñ Cô Cð Œ\ðð ˆU�>¨%¸Ð>Ñ>Ô>ÀÄÐMØ�w”|Ð$ØˆG�KÑ Ô Ø˜dÐ#Ø! 8Ð,Ø˜{Ð+ð5
ð: '¨¬Ð7Ø.°Ô0AÐBØ" GÔ$5Ð6ð
ð ˜vœ}Ð-Ø˜vœ}Ð-Ø% v¤zÐ2Ø˜œÐ(ð	
ð ˆG�LÑ!Ô!ØˆG�JÑÔØ-ØˆX�h 
¨GÑ4Ô4ð6à�; Ð'ð
ð �ZÐ Ø�JÐð
ð_3ð 3€F€F€FrV   N)rE   Úpygments.lexerr   r   r   r   Úpygments.tokenr   r   r	   r
   r   r   r   r   r   Ú__all__r   rU   rV   rW   ú<module>r[      sì   ððð ð @Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?ð$ð $ð $ð $ð $ð $ð $ð $ð $ð $ð $ð $ð $ð $ð $ð $ð $ð $ð $ð $ð $ð $ð Ð
€ðEð Eð Eð Eð E�Jñ Eô Eð Eð Eð ErV   