U
    lufr                     @   sB  d Z ddlZddlmZmZ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dlmZmZ ddlmZ ddd	d
dddddddgZG dd deZG dd deZG dd	 d	eZG dd
 d
eZG dd deZG dd deZG dd deZG dd deZ G dd deZ!G dd deZ"G dd deZ#dS )z
    pygments.lexers.c_like
    ~~~~~~~~~~~~~~~~~~~~~~

    Lexers for other C-like languages.

    :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N)
RegexLexerincludebygroupsinheritwordsdefault)	TextCommentOperatorKeywordNameStringNumberPunctuation
Whitespace)CLexerCppLexer)_mql_builtins	PikeLexer	NesCLexer	ClayLexerECLexer	ValaLexer	CudaLexer	SwigLexerMqlLexerArduinoLexerCharmciLexerOmgIdlLexerc                   @   sp   e Zd ZdZdZdgZddgZdgZeddd	e	fd
e	j
fdee	edfdefegdejdfdedfgdZdS )r   z[
    For `Pike <http://pike.lysator.liu.se/>`_ source code.

    .. versionadded:: 2.0
    ZPikeZpikez*.pikez*.pmodztext/x-pike)=catchnewprivate	protectedpublicZgaugethrowthrowsclass	interfaceZ	implementabstractextendsfromthissuperZconstantfinalstaticimportZuseexterninlineprotobreakcontinueifelseforwhiledoswitchcaseasinversionreturntruefalsenullZ__VERSION__Z	__MAJOR__Z	__MINOR__Z	__BUILD__Z__REAL_VERSION__Z__REAL_MAJOR__Z__REAL_MINOR__Z__REAL_BUILD__Z__DATE__Z__TIME__Z__FILE__Z__DIR__Z__LINE__Z__AUTO_BIGNUM__Z__NT__Z__PIKE__Z__amigaos__Z_Pragmastatic_assertZdefinedZsscanf\bsuffixz(bool|int|long|float|short|double|char|string|object|void|mapping|array|multiset|program|function|lambda|mixed|[a-z_][a-z0-9_]*_t)\b(class)(\s+)	classnamez[~!%^&*+=|?:<>/@-][a-zA-Z_]\w*#popz\s*(?=>))
statementsrH   N)__name__
__module____qualname____doc__namealiases	filenames	mimetypesr   r   Typer   r   r
   r   r   Classtokens rW   rW   :/tmp/pip-unpacked-wheel-7eq1ciah/pygments/lexers/c_like.pyr      s*   

c                   @   sN   e Zd ZdZdZdgZdgZdgZdeddd	e	fed
dd	e	j
fegiZdS )r   z
    For `nesC <https://github.com/tinyos/nesc>`_ source code with preprocessor
    directives.

    .. versionadded:: 2.0
    ZnesCZnescz*.ncztext/x-nescsrcrK   )r(   r<   asyncZatomiccallcommand	component
componentsconfigurationeventr)   ZgenericimplementationZincludesr'   moduler    ZnoracepostprovidessignalZtaskusesrD   rE   )
Z	nx_structZnx_unionZ	nx_int8_tZ
nx_int16_tZ
nx_int32_tZ
nx_int64_tZ
nx_uint8_tZnx_uint16_tZnx_uint32_tZnx_uint64_tN)rL   rM   rN   rO   rP   rQ   rR   rS   r   r   rT   r   rV   rW   rW   rW   rX   r   C   s&   c                   @   s   e Zd ZdZdZdgZdgZdgZdefde	j
fde	jfd	efd
efdefdejfdejfdejfdefdedfdedfgdejfdefgdefgdedfedgdedfededgdZdS )r   zT
    For `Clay <http://claylabs.com/clay/>`_ source.

    .. versionadded:: 2.0
    ZClayz*.clayZclayztext/x-clay\s+z//.*?$/(\\\n)?[*](.|\n)*?[*](\\\n)?/aK  \b(public|private|import|as|record|variant|instance|define|overload|default|external|alias|rvalue|ref|forward|inline|noinline|forceinline|enum|var|and|or|not|if|else|goto|return|while|switch|case|break|continue|for|in|true|false|try|catch|throw|finally|onerror|staticassert|eval|when|newtype|__FILE__|__LINE__|__COLUMN__|__ARG__)\bz[~!%^&*+=|:<>/-]z[#(){}\[\],;.]z0x[0-9a-fA-F]+[LlUu]*z
\d+[LlUu]*z\b(true|false)\bz(?i)[a-z_?][\w?]*z"""tdqs"dqsz(?i)\\(x[0-9a-f]{2}|.)z[^\\"]+\nrJ   stringsnl)rootrl   rm   rj   rh   N)rL   rM   rN   rO   rP   rR   rQ   rS   r   r	   Single	Multiliner   r
   r   r   HexIntegerr   Builtinr   Escaper   rV   rW   rW   rW   rX   r   `   sB   c                   @   sh   e Zd ZdZdZdgZddgZddgZded	d
de	fedd
de	j
fdee	edfdejfegiZdS )r   zU
    For eC source code with preprocessor directives.

    .. versionadded:: 1.5
    ZeCZecz*.ecz*.ehztext/x-echdrztext/x-ecsrcrK   )+virtualr&   r!   r#   propertyr/   deleter    Znew0ZrenewZrenew0ZdefinegetsetremoteZ	dllexportZ	dllimportZstdcallsubclassZ__on_register_module	namespaceusingZtyped_objectZ
any_objectZincrefregisterZwatchZstopwatchingZfirewatchersZ	watchableZclass_designerZclass_fixedZclass_no_expansionZissetZclass_default_propertyZproperty_categoryZ
class_dataZclass_propertyZ	thisclassZdbtableZdbindexZdatabase_openZdbfieldrD   rE   )uintuint16uint32uint64boolbyteunicharint64rG   rH   z(null|value|this)\bN)rL   rM   rN   rO   rP   rQ   rR   rS   r   r   rT   r   r   r   rs   r   rV   rW   rW   rW   rX   r      s*   		
c                   @   s  e Zd ZdZdZddgZddgZdgZdej	d	fd
e
fde
fdefdejfdejfgdedfdejfdefdejfdejfdejfdejfdejfdefdeeejefdeeejfdefedddefedddejfd eeje
d!fd"eeje
d#fd$eeejfed%ddejfd&ej fd'efge!d(e"d)ge!d(e!d*d+efd,ed-fgd.ed-fd/ej#fd0efdefd1efgd2ej	d3fd4ej	d-fd5ej	d-fd6efgd'ej$d-fgd7ejd-fgd8Z%d9S ):r   zW
    For Vala source code with preprocessor directives.

    .. versionadded:: 1.1
    ZValaZvalaZvapiz*.valaz*.vapiztext/x-valaz^\s*#if\s+0if0rk   rf   z\\\nz//(\n|(.|\n)*?[^\\]\n)rg   z[L@]?"stringz4L?'(\\.|\\[0-7]{1,3}|\\x[a-fA-F0-9]{1,2}|[^\\\'\n])'z(?s)""".*?"""z%(\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+[lL]?z(\d+\.\d*|\.\d+|\d+[fF])[fF]?z0x[0-9a-fA-F]+[Ll]?z0[0-7]+[Ll]?z\d+[Ll]?z[~!%^&*+=|?:<>/-]z2(\[)(Compact|Immutable|(?:Boolean|Simple)Type)(\])z$(\[)(CCode|(?:Integer|Floating)Type)z
[()\[\],.])!r<   baser3   r;   r   Z	constructr4   r   rw   r9   r6   enumfinallyr7   Zforeachrx   r5   r=   islockr    outparamsr?   ry   sizeofr:   r+   r$   tryZtypeofr8   yieldrD   rE   )r(   constZdelegateZdynamicZensuresr0   r1   ZinternaloverrideZownedr!   r"   r#   refrequiresrd   r.   r%   Zunownedvarru   volatileZweakZyieldsz(namespace|using)(\s+)r|   z)(class|errordomain|interface|struct)(\s+)r&   z(\.)([a-zA-Z_]\w*))voidr   chardoublefloatintint8int16int32r   longshortZsize_tZssize_tr   Ztime_tZucharr   uint8r   r   r   Zulongr   Zushortz(true|false|null)\brI   
whitespace	statementrK   z[{}];rJ   ri   z/\\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|[0-7]{1,3})z	[^\\"\n]+z\\z^\s*#if.*?(?<!\\)\n#pushz^\s*#el(?:se|if).*\nz^\s*#endif.*?(?<!\\)\nz.*?\nz[a-zA-Z_][\w.]*)r   rK   rn   r   r   r   r&   r|   N)&rL   rM   rN   rO   rP   rQ   rR   rS   r	   Preprocr   r   ro   rp   r   Charr   Floatrq   Octrr   r
   r   r   r   	Decoratorr   r   Declaration	Namespace	AttributerT   rs   r   r   rt   rU   rV   rW   rW   rW   rX   r      s   
	

 
/




c                +   @   s   e Zd ZdZdZddgZddgZdgZdd	d
ddhZddddhZ	ddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:h+Z
d;d<d=d>d?hZd@dAdBdCdDdEdFhZdGdHhZdMdJdKZdLS )Nr   u|   
    For NVIDIA `CUDA™ <http://developer.nvidia.com/category/zone/cuda-zone>`_
    source.

    .. versionadded:: 1.6
    ZCUDAz*.cuz*.cuhZcudaZcuztext/x-cudaZ
__device__Z
__global__Z__host__Z__noinline__Z__forceinline__Z__constant__Z
__shared__Z__restrict__Zchar1Zuchar1Zchar2Zuchar2Zchar3Zuchar3Zchar4Zuchar4Zshort1Zushort1Zshort2Zushort2Zshort3Zushort3Zshort4Zushort4Zint1Zuint1Zint2Zuint2Zint3Zuint3Zint4Zuint4Zlong1Zulong1Zlong2Zulong2Zlong3Zulong3Zlong4Zulong4Z	longlong1Z
ulonglong1Z	longlong2Z
ulonglong2Zfloat1Zfloat2Zfloat3Zfloat4Zdouble1Zdouble2Zdim3ZgridDimZblockIdxZblockDimZ	threadIdxZwarpSizeZ__threadfence_blockZ__threadfenceZ__threadfence_systemZ__syncthreadsZ__syncthreads_countZ__syncthreads_andZ__syncthreads_orz<<<z>>>rn   c                 c   s   t | ||D ]\}}}|tkr|| jkr2tj}nX|| jkrDtj}nF|| jkrVtj}n4|| j	krhtj
}n"|| jkrztj}n|| jkrtj}|||fV  qd S N)r   get_tokens_unprocessedr   variable_qualifiersr   rT   vector_types	variablesrs   execution_confsZPseudofunction_qualifiersReserved	functionsFunctionselftextstackindextokenvaluerW   rW   rX   r   4  s    





z CudaLexer.get_tokens_unprocessedN)r   )rL   rM   rN   rO   rP   rR   rQ   rS   r   r   r   r   r   r   r   rW   rW   rW   rX   r     sx                                    c                R   @   s  e Zd ZdZdZdgZddgZdgZdZde	fe
gd	e	jfde	fd
ejfe
gdZddddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]hRZd^d_ Zd`S )ar   zT
    For `SWIG <http://www.swig.org/>`_ source code.

    .. versionadded:: 2.0
    ZSWIGZswigz*.swgz*.iz	text/swigg{Gz?z\$\**\&?\w+z(%[a-z_][a-z0-9_]*)z##*[a-zA-Z_]\w*)rn   rK   z%applyz%definez	%directorz%enddefz
%exceptionz%extendz%featurez	%fragmentz%ignorez
%immutablez%importz%includez%inlinez%insertz%modulez
%newobjectz%nspacez%pragmaz%renamez%shared_ptrz	%templatez
%typecheckz%typemapz%argz
%attributez%bangz%beginz	%callbackz%catchesz%clearz	%constantz	%copyctorz%csconstz%csconstvaluez%csenumz%csmethodmodifiersz%csnothrowexceptionz%defaultz%defaultctorz%defaultdtorz%definedz%deletez
%delobjectz%descriptorz%exceptionclassz%exceptionvarz%extend_smart_pointerz
%fragmentsz%headerz%ifcplusplusz%ignorewarnz	%implicitz%implicitconvz%initz
%javaconstz%javaconstvaluez	%javaenumz%javaexceptionz%javamethodmodifiersz%kwargsz%luacodez%mutablez%naturalvarz%nestedworkaroundz	%perlcodez
%pythonabcz%pythonappendz%pythoncallbackz%pythoncodez%pythondynamicz%pythonmaybecallz%pythonnondynamicz%pythonprependz
%refobjectz%shadowz%sizeofz%trackobjectsz%typesz%unrefobjectz%varargsz%warnz%warnfilterc                 C   s:   d}t d| t j}|D ]}|tjkr0d} q6qd}q|S )Nr   z^\s*(%[a-z_][a-z0-9_]*)g\(\?gQ?)refindallMr   swig_directives)r   rvmatchesmrW   rW   rX   analyse_texty  s    
zSwigLexer.analyse_textN)rL   rM   rN   rO   rP   rQ   rR   rS   priorityr   r   r   r	   r   rV   r   r   rW   rW   rW   rX   r   F  s                                                                    c                
   @   s   e Zd ZdZdZdddddgZdd	d
gZdgZdee	j
ddefee	jddejfee	jddejfee	jddejfee	jdddejfegiZdS )r   z
    For `MQL4 <http://docs.mql4.com/>`_ and
    `MQL5 <http://www.mql5.com/en/docs>`_ source code.

    .. versionadded:: 2.0
    ZMQLZmqlZmq4Zmq5Zmql4Zmql5z*.mq4z*.mq5z*.mqhz
text/x-mqlrK   rD   rE   z(clr)?prefixrF   N)rL   rM   rN   rO   rP   rQ   rR   rS   r   r   keywordsr   Zc_typesrT   typesr   r   	constantsConstantcolorsr   rV   rW   rW   rW   rX   r     s    
c                X  @   s  e Zd ZdZdZdgZdgZdgZddhZdd	d
dhZ	ddddddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d!d$d'd-d.d/d%d+d3d"d4d5d6d7d8d9d:d;d<d=d>d?d@dAd2dBdCdDdEd(d1d0dFdGdHdIdJd dKdLdMd*dNd,dOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcddhkZ
dedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd ddddddddd	d
dddddddddddddddddddddd d!d"d#d$dxd%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddhXZddddddddÐdĐdŐdƐdǐdȐdɐdhZdϐd̐d̈́ZdS (  r   u   
    For `Arduino(tm) <https://arduino.cc/>`_ source.

    This is an extension of the CppLexer, as the Arduino® Language is a superset
    of C++

    .. versionadded:: 2.1
    ZArduinoZarduinoz*.inoztext/x-arduinosetupZloopnotorandxorZDIGITAL_MESSAGEZFIRMATA_STRINGZANALOG_MESSAGEZREPORT_DIGITALZREPORT_ANALOGZINPUT_PULLUPZSET_PIN_MODEZINTERNAL2V56ZSYSTEM_RESETZLED_BUILTINZINTERNAL1V1ZSYSEX_STARTZINTERNALZEXTERNALZHIGHZLOWZINPUTZOUTPUTr@   rA   r   booleanr   zunsigned charr   r   zunsigned intwordr   zunsigned longr   r   r   r   r   arrayr.   r   r   r!   ru   operatorr   Zuint8_tZuint16_tZuint32_tZuint64_tZint8_tZint16_tZint32_tZint64_tZdynamic_casttypedefZ
const_caststructZstatic_castunionunsignedr"   r   r#   Zfriendautor   r0   r&   Zreinterpret_castr~   explicitsignedr1   rw   Z_BoolcomplexZ_ComplexZ
_ImaginaryZatomic_boolZatomic_charZatomic_scharZatomic_ucharZatomic_shortZatomic_ushortZ
atomic_intZatomic_uintZatomic_longZatomic_ulongZatomic_llongZatomic_ullongZPROGMEMZKeyboardControllerZMouseControllerZSoftwareSerialZEthernetServerZEthernetClientZLiquidCrystalZRobotControlZGSMVoiceCallZEthernetUDPZ
EsploraTFTZ
HttpClientZ
RobotMotorZ
WiFiClientZ
GSMScannerZ
FileSystemZ	SchedulerZ	GSMServerZ	YunClientZ	YunServerZ	IPAddressZ	GSMClientZGSMModemZKeyboardZEthernetZConsoleZGSMBandZEsploraZStepperProcessZWiFiUDPZGSM_SMSZMailboxZUSBHostZFirmataZPImageZClientServerZGSMPINFileIOZBridgeZSerialZEEPROMZStreamZMouseZAudioZServoZFileZTaskZGPRSZWiFiZWireZTFTZGSMZSPIZSDZrunShellCommandAsynchronouslyZanalogWriteResolutionZretrieveCallingNumberZprintFirmwareVersionZanalogReadResolutionZsendDigitalPortPairZnoListenOnLocalhostZreadJoystickButtonZsetFirmwareVersionZreadJoystickSwitchZscrollDisplayRightZgetVoiceCallStatusZscrollDisplayLeftZwriteMicrosecondsZdelayMicrosecondsZbeginTransmissionZgetSignalStrengthZrunAsynchronouslyZgetAsynchronouslyZlistenOnLocalhostZgetCurrentCarrierZreadAccelerometerZmessageAvailableZsendDigitalPortsZlineFollowConfigZcountryNameWriteZrunShellCommandZreadStringUntilZrewindDirectoryZreadTemperatureZsetClockDividerZreadLightSensorZendTransmissionZanalogReferenceZdetachInterruptZcountryNameReadZattachInterruptZencryptionTypeZreadBytesUntilZrobotNameWriteZreadMicrophoneZrobotNameReadZcityNameWriteZuserNameWriteZreadJoystickYZreadJoystickXZmouseReleasedZopenNextFileZscanNetworksZnoInterruptsZdigitalWriteZbeginSpeakerZmousePressedZisActionDoneZmouseDraggedZdisplayLogosZnoAutoscrollZaddParameterZremoteNumberZgetModifiersZkeyboardReadZuserNameReadZwaitContinueZprocessInputZparseCommandZprintVersionZreadNetworksZwriteMessageZblinkVersionZcityNameReadZreadMessageZsetDataModeZparsePacketZisListeningZsetBitOrderZbeginPacketZisDirectoryZmotorsWriteZdrawCompassZdigitalReadZclearScreenZserialEventZrightToLeftZsetTextSizeZleftToRightZrequestFromZkeyReleasedZcompassReadZanalogWriteZ
interruptsZ
WiFiServerZ
disconnectZ
playMelodyZ
parseFloatZ
autoscrollZ
getPINUsedZ
setPINUsed
setTimeoutZ
sendAnalogZ
readSliderZ
analogReadZ
beginWriteZ
createCharZ
motorsStopZ
keyPressedZ
tempoWriteZ
readButtonZ
subnetMaskZ
debugPrintZ
macAddressZ
writeGreenZ
randomSeedZ
attachGPRSZ
readStringZ
sendStringZ
remotePortZ
releaseAllZ
mouseMovedZ
backgroundZ
getXChangeZ
getYChangeZ
answerCallZ	getResultZ	voiceCallZ	endPacketZ	constrainZ	getSocketZ	writeJSONZ	getButton	available	connectedZ	findUntilZ	readBytesZ	exitValueZ	readGreenZ	writeBlueZ	startLoopZ	isPressedZ	sendSysexZ	pauseModeZ	gatewayIPZ	setCursorZ	getOemKeyZ	tuneWriteZ	noDisplayZ	loadImageZ	switchPINZ	onRequestZ	onReceiveZ	changePINZplayFileZnoBufferZparseIntZoverflowZcheckPINZknobReadZbeginTFTZbitClearZupdateIRZbitWritepositionZwriteRGBZhighByteZwriteRedZsetSpeedZreadBlueZnoStrokeZremoteIPZtransfershutdownZhangCallZbeginSMSZendWriteZattachedZmaintainZnoCursorZcheckRegZcheckPUKZshiftOutZisValidZshiftInZpulseInconnectZprintlnZlocalIPZpinModeZgetIMEIZdisplayZnoBlinkprocessZgetBandZrunningZbeginSDZdrawBMPZlowByteZsetBandreleaseZbitReadprepareZpointToZreadRedZsetModeZnoFillremovelistenZstrokedetachattachZnoToneexistsbufferheightZbitSetZcircleconfigcursorrandomZIRreadZsetDNSZendSMSZgetKeyZmicrosZmillisbeginprintwritereadyflushwidthZisPINZblinkclearZpressmkdirrmdircloseZpointr   imageZBSSIDZclickdelayreadr   movepeekZbeepZrectlineopenseekfillsizeZturnstophomefindstepZtonesqrtZRSSIZSSIDendbittancossinpowmapabsmaxminrx   runputZisAlphaNumericZisAlphaZisAsciiZisWhitespaceZ	isControlZisDigitZisGraphZisLowerCaseZisPrintableZisPunctZisSpaceZisUpperCaseZisHexadecimalDigitr|   templatemutabler}   Zasmtypeidtypenamer+   ZalignofZ	constexprdecltypeZnoexceptrC   Zthread_localZrestrictr   c                 c   s   t | ||D ]\}}}|| jkr2|tj|fV  q|| jkrJ|t|fV  q|| jkrd|tj	|fV  q|| j
kr||t|fV  q|| jkr|tj|fV  q|||fV  qd S r   )r   r   	structurer   rs   	operatorsr
   r   r   r   suppress_highlightr   r   r   rW   rW   rX   r     s    




z#ArduinoLexer.get_tokens_unprocessedN)r   )rL   rM   rN   rO   rP   rQ   rR   rS   r#  r$  r   r   r%  r   rW   rW   rW   rX   r     s  	                                                                                                                                                                                                                                                                                                                                                                                    B            c                   @   sP   e Zd ZdZdZdgZdgZg Zddee	e
dfede	fed	e	fegiZd
S )r   zj
    For `Charm++ <https://charm.cs.illinois.edu>`_ interface files (.ci).

    .. versionadded:: 2.4
    ZCharmciZcharmciz*.cir   z(module)(\s+)rH   )Z
mainmoduleZ	mainchareZcharer   groupZ	nodegroupmessageZconditional)entryZ	aggregateZthreadedsyncZ	exclusiveZnokeepZnotraceZ	immediateZ	expeditedr1   localpythonZaccelZ	readwriteZ	writeonlyZ
accelblockZmemcriticalpackedZvarsizeZinitprocZinitnodeZinitcallZ	stacksizeZ
createhereZ
createhomeZreductiontargetigetZnocopyr  Z
migratablereadonlyN)rL   rM   rN   rO   rP   rQ   rR   rS   r   r   r   r   r   rV   rW   rW   rW   rX   r   !  s    c                   @   s  e Zd ZdZdZdZdgZddgZg ZdZ	e
dd	d
defdeejejdfdeejejejejfdeejejejejfdeejejfdejfdejfdejfdejfdejfdefe
defe	efdefgeddedfeddefdedfgded fededgd!e	 ejd"fgedd#efd$ejfed%d&edfgede
d'd	d
dejfe
d(d	d
dejfe
d)d	d*deee ej!fe
d+d	d
defd,eee ej!d-fd.eej"e ej"fd/eeje efd0efeded%gd1Z#d2S )3r   ze
    Lexer for Object Management Group Interface Definition Language.

    .. versionadded:: 2.9
    z!OMG Interface Definition Languagez'https://www.omg.org/spec/IDL/About-IDL/zomg-idlz*.idlz*.pidlz((::)?\w+)+)r@   rA   z(?i)rD   r   z
([Ll]?)(")r   z([Ll]?)(\')(\\[^\']+)(\')z([Ll]?)(\')(\\\')(\')z([Ll]?)(\'.\')z[+-]?\d+(\.\d*)?[Ee][+-]?\d+z)[+-]?(\d+\.\d*)|(\d*\.\d+)([Ee][+-]?\d+)?z(?i)[+-]?0x[0-9a-f]+z[+-]?[1-9]\d*z[+-]?0[0-7]*z[\+\-\*\/%^&\|~])z<<z>>z[{};:,<>\[\]]r   z\(r   values=z\)rJ   annotation_params@annotation_params_maybez[{,]z\w+annotation_applz\})r   r   r=   r   Zinoutr*  )r   anyZnativeZbitfieldr   r   r   Zwcharoctetr   r   r   r   r   r   r   r   r   r   r   r   Zfixedsequencer   Zwstringr  )	z@annotationr   r   Zbitsetr'   	exceptionZ	valuetypeZ	eventtyper\   z
(\s+)(\w+))&r(   alias	attributer;   Z	connectorZconsumescontextZcustomr   ZemitsfactoryfinderZ	getraisesr  r/   ZmanagesZ
mirrorportmultipleZObjectZonewayZ
primarykeyr!   portZporttyperc   r#   Z	publishesZraisesr.  Z	setraisesZsupportsr:   Ztruncatabler   r!  Z
typeprefixre   Z	ValueBasez(?i)(enum|bitmask)(\s+)(\w+)r   z(?i)(module)(\s+)(\w+)z(\w+)(\s*)(=)z[\(\)])r/  r1  r3  r4  r   rn   N)$rL   rM   rN   rO   rP   urlrQ   rR   rS   Zscoped_namer   r   r   r   ZAffixDoubler   rt   r   rq   rr   r   r
   r   r   r   r   r   r   r   r   rT   r   rU   r   rV   rW   rW   rW   rX   r   ?  s   
    	 )$rO   r   Zpygments.lexerr   r   r   r   r   r   Zpygments.tokenr   r	   r
   r   r   r   r   r   r   Zpygments.lexers.c_cppr   r   Zpygments.lexersr   __all__r   r   r   r   r   r   r   r   r   r   r   rW   rW   rW   rX   <module>   s2   
 ,
    )3!b0B 