
    Mh[                     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-2025 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                   Z   e Zd ZdZdZdgZdgZg ZdZd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.
    Soliditysolidityz*.solzhttps://soliditylang.orgz2.5z\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urlversion_addeddatatyper   r
   r   r   r   EntityTypeVariabler   Builtinr   r	   r   r   Single	Multiliner   Doubler   HexDecimaltokens     X/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pygments/lexers/solidity.pyr   r      s         DlG	II
$CM	*  GL!!GJ%w9/Xgz4;779JJXglJGGI BXglJ>>@<gFU & /4EC C C \ U>%>>>Mw|$GK  d#!8,{+5
: '7.0AB"G$56
 v}-v}-%vz2(	
 GL!!GJ-Xh
G446;'
 Z J
_3 3FFFrX   N)rE   pygments.lexerr   r   r   r   pygments.tokenr   r   r	   r
   r   r   r   r   r   __all__r   rW   rX   rY   <module>r]      s     @ ? ? ? ? ? ? ? ? ? ? ?$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 
E E E E EJ E E E E ErX   