Ë
    |í¼er˜  ã                   óð   — d Z ddlmZ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 g d¢Z G d„ de«      Z G d„ de«      Z G d	„ d
e«      Z G d„ de«      Zd„ Zd„ Z G d„ de«      Z G d„ de«      Zy)zñ
    pygments.lexers.graphics
    ~~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for computer graphics and plotting related languages.

    :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    )Ú
RegexLexerÚwordsÚincludeÚbygroupsÚusingÚthisÚdefault)	ÚTextÚCommentÚOperatorÚKeywordÚNameÚNumberÚPunctuationÚStringÚ
Whitespace)ÚGLShaderLexerÚPostScriptLexerÚAsymptoteLexerÚGnuplotLexerÚPovrayLexerÚHLSLShaderLexerc                   óà  — e Zd ZdZdZdgZg d¢ZdgZddej                  fdej                  fd	ej                  fd
efdefdefdefdej                  fdej                  fdej                   fdej"                  fdej$                  f eddd¬«      ef eddd¬«      ej*                  f eddd¬«      ej,                  f eddd¬«      ej.                  fdej2                  fdefdefdefgiZy)r   z@
    GLSL (OpenGL Shader) lexer.

    .. versionadded:: 1.1
    ÚGLSLÚglsl)z*.vertz*.fragz*.geoztext/x-glslsrcÚrootú#(?:.*\\\n)*.*$ú//.*$ú/(\\\n)?[*](.|\n)*?[*](\\\n)?/ú0\+|-|~|!=?|\*|/|%|<<|>>|<=?|>=?|==?|&&?|\^|\|\|?ú[?:]ú\bdefined\bz[;{}(),\[\]]z[+-]?\d*\.\d+([eE][-+]?\d+)?z[+-]?\d+\.\d*([eE][-+]?\d+)?ú0[xX][0-9a-fA-F]*ú0[0-7]*ú[1-9][0-9]*))Ú	attributeÚconstÚuniformÚvaryingÚbufferÚsharedÚinÚoutÚlayoutÚflatÚsmoothÚnoperspectiveÚcentroidÚsampleÚpatchÚinoutÚlowpÚmediumpÚhighpÚ	precisionÚ	invariantÚpreciseÚcoherentÚvolatileÚrestrictÚreadonlyÚ	writeonlyÚbreakÚcontinueÚdoÚforÚwhileÚswitchÚcaser	   ÚifÚelseÚ
subroutineÚdiscardÚreturnÚstructú\b©ÚprefixÚsuffix©ÚtrueÚfalse)wÚvoidÚatomic_uintÚfloatÚvec2Úvec3Úvec4ÚdoubleÚdvec2Údvec3Údvec4ÚintÚivec2Úivec3Úivec4ÚuintÚuvec2Úuvec3Úuvec4ÚboolÚbvec2Úbvec3Úbvec4Úmat2Úmat3Úmat4Údmat2Údmat3Údmat4Úmat2x2Úmat2x3Úmat2x4Údmat2x2Údmat2x3Údmat2x4Úmat3x2Úmat3x3Úmat3x4Údmat3x2Údmat3x3Údmat3x4Úmat4x2Úmat4x3Úmat4x4Údmat4x2Údmat4x3Údmat4x4Ú	sampler1DÚ	sampler2DÚ	sampler3DÚsamplerCubeÚsampler1DArrayÚsampler2DArrayÚsamplerCubeArrayÚsampler2DRectÚsamplerBufferÚsampler2DMSÚsampler2DMSArrayÚsampler1DShadowÚsampler2DShadowÚsamplerCubeShadowÚsampler1DArrayShadowÚsampler2DArrayShadowÚsamplerCubeArrayShadowÚsampler2DRectShadowÚ
isampler1DÚ
isampler2DÚ
isampler3DÚisamplerCubeÚisampler1DArrayÚisampler2DArrayÚisamplerCubeArrayÚisampler2DRectÚisamplerBufferÚisampler2DMSÚisampler2DMSArrayÚ
usampler1DÚ
usampler2DÚ
usampler3DÚusamplerCubeÚusampler1DArrayÚusampler2DArrayÚusamplerCubeArrayÚusampler2DRectÚusamplerBufferÚusampler2DMSÚusampler2DMSArrayÚimage1DÚimage2DÚimage3DÚ	imageCubeÚimage1DArrayÚimage2DArrayÚimageCubeArrayÚimage2DRectÚimageBufferÚ	image2DMSÚimage2DMSArrayÚiimage1DÚiimage2DÚiimage3DÚ
iimageCubeÚiimage1DArrayÚiimage2DArrayÚiimageCubeArrayÚiimage2DRectÚiimageBufferÚ
iimage2DMSÚiimage2DMSArrayÚuimage1DÚuimage2DÚuimage3DÚ
uimageCubeÚuimage1DArrayÚuimage2DArrayÚuimageCubeArrayÚuimage2DRectÚuimageBufferÚ
uimage2DMSÚuimage2DMSArray)'ÚcommonÚ	partitionÚactiveÚasmÚclassÚunionÚenumÚtypedefÚtemplater   ÚresourceÚgotoÚinlineÚnoinlineÚpublicÚstaticÚexternÚexternalÚ	interfaceÚlongÚshortÚhalfÚfixedÚunsignedÚsuperpÚinputÚoutputÚhvec2Úhvec3Úhvec4Úfvec2Úfvec3Úfvec4Úsampler3DRectÚfilterÚsizeofÚcastÚ	namespacer   zgl_\w*ú[a-zA-Z_]\w*z\.ú\s+N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚaliasesÚ	filenamesÚ	mimetypesr   ÚPreprocÚSingleÚ	Multiliner   r   r   ÚFloatÚHexÚOctÚIntegerr   r   ÚConstantÚTypeÚReservedr   ÚBuiltinr   Útokens© ó    ú:/usr/lib/python3/dist-packages/pygments/lexers/graphics.pyr   r      st  „ ñð
 €DØˆh€GÚ-€IØ!Ð"€Ið 	Ø §¡Ð1Ø�w—~‘~Ð&Ø.°×0AÑ0AÐBØ@Øðà�hÐØ˜XÐ&Ø˜kÐ*à,¨f¯l©lÐ;Ø,¨f¯l©lÐ;Ø! 6§:¡:Ð.Ø˜Ÿ™Ð$Ø˜VŸ^™^Ð,Ùð /ð0  Uô1,ð2 ð3ñ4 ð !ð  Uô,ð ×Ñð	ñ
 ð 11ðd  Uôe2,ðf �\‰\ðg3ñh ð 	&ð  Uô
,ð ×Ñðð ˜Ÿ™Ð%Ø˜dÐ#Ø�KÐ Ø�ZÐ ðes
ðu�Fr  r   c                   óâ  — e Zd ZdZdZdgZddgZdgZdej                  fdej                  fd	ej                  fd
efdefde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df eddd¬«      ef eddd¬«      ej,                  f eddd¬«      ej.                  f eddd¬«      ej0                  f eddd¬«      ej0                  f eddd¬«      ej4                  f eddd¬«      ej6                  fdej6                  f ed dd¬«      ej6                  fd!efd"ej                  fd#efgded$fd%ej:                  fd&efd'efd(efgd)œZy*)+r   zL
    HLSL (Microsoft Direct3D Shader) lexer.

    .. versionadded:: 2.3
    ÚHLSLÚhlslz*.hlslz*.hlsliztext/x-hlslr   r   r   r    r!   r"   z[;{}(),.\[\]]z[+-]?\d*\.\d+([eE][-+]?\d+)?f?z[+-]?\d+\.\d*([eE][-+]?\d+)?f?r#   r$   r%   ú"Ústring)?rÏ   Úasm_fragmentrA   rG   Úcbufferr2   rÐ   Úcolumn_majorÚcompileÚcompile_fragmentr'   rB   r	   rK   rC   rI   ÚexportrÛ   rD   ÚfxgroupÚgloballycoherentÚgroupsharedrH   r,   r×   r5   rÝ   ÚlineÚlineadjÚlinearrð   Únointerpolationr1   ÚNULLr-   Ú
packoffsetÚpassÚpixelfragmentÚpointr;   rL   ÚregisterÚ	row_majorr3   Úsamplerr+   Ú
stateblockÚstateblock_staterÚ   rM   rF   ÚtbufferÚ	techniqueÚtechnique10Útechnique11ÚtexturerÓ   ÚtriangleÚtriangleadjr(   Úvertexfragmentr=   rE   rN   rO   rR   )ÚautoÚcatchÚcharÚ
const_castÚdeleteÚdynamic_castrÒ   ÚexplicitÚfriendrÖ   rÞ   ÚmutableÚnewÚoperatorÚprivateÚ	protectedrÙ   Úreinterpret_castrß   Úsignedrî   Ústatic_castrÔ   r   ÚthrowÚtryÚtypenamerÑ   râ   r   Úvirtual)6ÚdwordÚmatrixÚsnormr  Úunormrâ   rU   ÚvectorÚ
BlendStateÚBufferÚByteAddressBufferÚComputeShaderÚDepthStencilStateÚDepthStencilViewÚDomainShaderÚGeometryShaderÚ
HullShaderÚ
InputPatchÚ
LineStreamÚOutputPatchÚPixelShaderÚPointStreamÚRasterizerStateÚRenderTargetViewÚRasterizerOrderedBufferÚ"RasterizerOrderedByteAddressBufferÚ!RasterizerOrderedStructuredBufferÚRasterizerOrderedTexture1DÚRasterizerOrderedTexture1DArrayÚRasterizerOrderedTexture2DÚRasterizerOrderedTexture2DArrayÚRasterizerOrderedTexture3DÚRWBufferÚRWByteAddressBufferÚRWStructuredBufferÚRWTexture1DÚRWTexture1DArrayÚRWTexture2DÚRWTexture2DArrayÚRWTexture3DÚSamplerStateÚSamplerComparisonStateÚStructuredBufferÚ	Texture1DÚTexture1DArrayÚ	Texture2DÚTexture2DArrayÚTexture2DMSÚTexture2DMSArrayÚ	Texture3DÚTextureCubeÚTextureCubeArrayÚTriangleStreamÚVertexShader)rg   r[   rW   r_   rà   Ú
min16floatÚ
min10floatÚmin16intÚmin12intÚ	min16uintrc   z([1-4](x[1-4])?)?\b)§ÚabortÚabsÚacosÚallÚAllMemoryBarrierÚAllMemoryBarrierWithGroupSyncÚanyÚAppendStructuredBufferÚasdoubleÚasfloatÚasinÚasintÚasuintr†  ÚatanÚatan2ÚceilÚCheckAccessFullyMappedÚclampÚclipÚCompileShaderÚConsumeStructuredBufferÚcosÚcoshÚ	countbitsÚcrossÚD3DCOLORtoUBYTE4ÚddxÚ
ddx_coarseÚddx_fineÚddyÚ
ddy_coarseÚddy_fineÚdegreesÚdeterminantÚDeviceMemoryBarrierÚ DeviceMemoryBarrierWithGroupSyncÚdistanceÚdotÚdstÚerrorfÚEvaluateAttributeAtCentroidÚEvaluateAttributeAtSampleÚEvaluateAttributeSnappedÚexpÚexp2Úf16tof32Úf32tof16ÚfaceforwardÚfirstbithighÚfirstbitlowÚfloorÚfmaÚfmodÚfracÚfrexpÚfwidthÚGetRenderTargetSampleCountÚGetRenderTargetSamplePositionÚGlobalOrderedCountIncrementÚGroupMemoryBarrierÚGroupMemoryBarrierWithGroupSyncÚInterlockedAddÚInterlockedAndÚInterlockedCompareExchangeÚInterlockedCompareStoreÚInterlockedExchangeÚInterlockedMaxÚInterlockedMinÚInterlockedOrÚInterlockedXorÚisfiniteÚisinfÚisnanÚldexpÚlengthÚlerpÚlitÚlogÚlog10Úlog2ÚmadÚmaxÚminÚmodfÚmsad4ÚmulÚnoiseÚ	normalizeÚpowÚprintfÚProcess2DQuadTessFactorsAvgÚProcess2DQuadTessFactorsMaxÚProcess2DQuadTessFactorsMinÚProcessIsolineTessFactorsÚProcessQuadTessFactorsAvgÚProcessQuadTessFactorsMaxÚProcessQuadTessFactorsMinÚProcessTriTessFactorsAvgÚProcessTriTessFactorsMaxÚProcessTriTessFactorsMinÚQuadReadLaneAtÚ	QuadSwapXÚ	QuadSwapYÚradiansÚrcpÚreflectÚrefractÚreversebitsÚroundÚrsqrtÚsaturateÚsignÚsinÚsincosÚsinhÚ
smoothstepÚsqrtÚstepÚtanÚtanhÚtex1Drò  Ú	tex1DbiasÚ	tex1DgradÚtex1DlodÚ	tex1DprojÚtex2Dr÷  Ú	tex2DbiasÚ	tex2DgradÚtex2DlodÚ	tex2DprojÚtex3Drü  Ú	tex3DbiasÚ	tex3DgradÚtex3DlodÚ	tex3DprojÚtexCUBEr  ÚtexCUBEbiasÚtexCUBEgradÚ
texCUBElodÚtexCUBEprojÚ	transposeÚtruncÚWaveAllBitAndÚ
WaveAllMaxÚ
WaveAllMinÚWaveAllBitOrÚWaveAllBitXorÚWaveAllEqualÚWaveAllProductÚ
WaveAllSumÚWaveAllTrueÚWaveAnyTrueÚ
WaveBallotÚWaveGetLaneCountÚWaveGetLaneIndexÚWaveGetOrderedIndexÚWaveIsHelperLaneÚWaveOnceÚWavePrefixProductÚWavePrefixSumÚWaveReadFirstLaneÚWaveReadLaneAt)ÚSV_ClipDistanceÚSV_ClipDistance0ÚSV_ClipDistance1ÚSV_CulldistanceÚSV_CullDistance0ÚSV_CullDistance1ÚSV_CoverageÚSV_DepthÚSV_DepthGreaterEqualÚSV_DepthLessEqualÚSV_DispatchThreadIDÚSV_DomainLocationÚ
SV_GroupIDÚSV_GroupIndexÚSV_GroupThreadIDÚSV_GSInstanceIDÚSV_InnerCoverageÚSV_InsideTessFactorÚSV_InstanceIDÚSV_IsFrontFaceÚSV_OutputControlPointIDÚSV_PositionÚSV_PrimitiveIDÚSV_RenderTargetArrayIndexÚSV_SampleIndexÚSV_StencilRefÚSV_TessFactorÚSV_VertexIDÚSV_ViewportArrayIndexz\bSV_Target[0-7]?\b)Úallow_uav_conditionÚbranchÚcallÚdomainÚearlydepthstencilÚfastoptÚflattenÚ	forcecaseÚinstanceÚloopÚmaxtessfactorÚ
numthreadsÚoutputcontrolpointsÚoutputtopologyÚpartitioningÚpatchconstantfuncÚunrollrñ   z\\$rò   ú#popzO\\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|u[a-fA-F0-9]{4}|U[a-fA-F0-9]{8}|[0-7]{1,3})ú	[^\\"\n]+ú\\\nú\\)r   r  N)ró   rô   rõ   rö   r÷   rø   rù   rú   r   rû   rü   rý   r   r   r   rþ   rÿ   r   r  r   r   r   r  r  r  r   r  Ú	Decoratorr   ÚEscaper  r  r  r	  r   r   —   sF  „ ñð
 €DØˆh€GØ˜9Ð%€IØ�€Ið   §¡Ð1Ø�w—~‘~Ð&Ø.°×0AÑ0AÐBØ@Øðà�hÐØ˜XÐ&Ø˜{Ð+à.°·±Ð=Ø.°·±Ð=Ø! 6§:¡:Ð.Ø˜Ÿ™Ð$Ø˜VŸ^™^Ð,Ø�6˜8Ð$Ùð ?ð  Uô,ð ðñ Ð#¨E¸%Ô@Ø×Ñðáð 6ð  Uô,ð ×Ñðñ ð Rð"  Uô#,ð$ �\‰\ð%ñ& ð :ð Ð%;ô=ð �\‰\ð	ñ
 ð '"ðP  UôQ(,ðR �\‰\ðS)ñT ð 
)ð  Uô,ð �^‰^ðð $ T§^¡^Ð4Ùð .ð
  Uô,ð �^‰^ðð ˜dÐ#Ø�W—_‘_Ð%Ø�ZÐ ðCB
ðH �6˜6Ð"ð<Ø=C¿]¹]ðLà˜6Ð"Ø�fÐØ�FˆOð
ñIL�Fr  r   c                   ó\  — e Zd ZdZdZdZddgZddgZdgZd	Z	d
e	z  Z
de	z  Ze›de
›�Zdej                  fdej                  fdej                   fdej"                  fdedfdefde
z   ej*                  fde
z   ej,                  fde
z   ej.                  fde
z   ej0                  fdez  ej4                  feej6                  fde
z   ej:                  fde
z   ej<                  f ede
¬«      ej@                  fde!fgdefdejD                  d fded!fd"ed#fgd$ejD                  d#f e#d#«      gd%œZ$y&)'r   z@
    Lexer for PostScript files.

    .. versionadded:: 1.4
    Ú
PostScriptz(https://en.wikipedia.org/wiki/PostScriptÚ
postscriptÚpostscrz*.psz*.epszapplication/postscriptz()<>\[\]{}/%\sz(?=[%s])z[^%s]ú+z^%!.+$z%%.*$z(^%.*\n){2,}z%.*$z\(Ústringliteralz
[{}<>\[\]]z<[0-9A-Fa-f]+>zG[0-9]+\#(\-|\+)?([0-9]+\.?|[0-9]*\.[0-9]+|[0-9]+\.[0-9]*)((e|E)[0-9]+)?z?(\-|\+)?([0-9]+\.?|[0-9]*\.[0-9]+|[0-9]+\.[0-9]*)((e|E)[0-9]+)?z(\-|\+)?[0-9]+z\/%sz(false|true)z6(eq|ne|g[et]|l[et]|and|or|not|if(?:else)?|for(?:all)?))lr{  ÚaddÚaloadÚarcÚarcnÚarrayr‡  ÚbeginÚbindÚceilingÚcharpathrŒ  Ú	closepathÚconcatÚconcatmatrixÚcopyr�  ÚcurrentlinewidthÚcurrentmatrixÚcurrentpointÚcurvetoÚcviÚcvsÚdefÚdefaultmatrixÚdictÚdictstackoverflowÚdivÚ
dtransformÚdupÚendÚexchÚexecÚexitr¥  ÚfillÚfindfontr¬  ÚgetÚgetintervalÚgrestoreÚgsaveÚgtÚidentmatrixÚidivÚidtransformÚindexÚinvertmatrixÚ
itransformrÄ  ÚlinetoÚlnÚloadrÇ  rB  rC  ÚmodÚmovetorÏ  ÚnegÚnewpathÚ
pathforallÚpathbboxÚpopÚprintÚpstackÚputÚquitÚrandÚ
rangecheckÚrcurvetoÚrepeatÚrestoreÚrlinetoÚrmovetoÚrollÚrotateræ  ÚrunÚsaveÚscaleÚ	scalefontÚsetdashÚsetfontÚsetgrayÚ
setlinecapÚsetlinejoinÚsetlinewidthÚ	setmatrixÚsetrgbcolorÚshfillÚshowÚshowpagerê  rî  ÚstackÚstringwidthÚstrokeÚ
strokepathÚsubÚsyntaxerrorÚ	transformÚ	translateÚtruncateÚ	typecheckÚ	undefinedÚundefinedfilenameÚundefinedresult©rQ   rò   z[^()\\]+rM  Úescapeú#pushú\)rJ  z[0-8]{3}|n|r|t|b|f|\\|\(|\))r   rU  rµ  N)%ró   rô   rõ   rö   r÷   Úurlrø   rù   rú   Ú	delimiterÚdelimiter_endÚvalid_name_charsÚ
valid_namer   rû   ÚSpecialrý   rü   r   r   r   rÿ   r   rþ   r  r   ÚVariableÚFunctionr   r  r  r   r  r   rO  r	   r  r  r  r	  r   r   1  sÍ  „ ñð
 €DØ
4€CØ˜YÐ'€GØ˜Ð!€IØ)Ð*€Ià!€IØ )Ñ+€Mà )Ñ+ÐÚ-©}Ð=€Jð
 ˜Ÿ™Ð(Ø�w—‘Ð'Ø˜g×/Ñ/Ð0Ø�g—n‘nÐ%ð �F˜OÐ,à˜KÐ(ð  Ñ.°·
±
Ð;ðØ!.ñ/Ø06·
±
ð<àOØñØ$Ÿl™lð,à Ñ.°·±Ð?ð �zÑ! 4§=¡=Ð1ð ˜Ÿ™Ð'ð ˜}Ñ,¨g×.>Ñ.>Ð?ð GØñØ%×.Ñ.ð0ñ ð 8ð$ ANô%Oð& �\‰\ð'ð* �ZÐ ðw<
ð~ ˜&Ð!Ø�F—M‘M 8Ð,Ø�F˜GÐ$Ø�F˜FÐ#ð	
ð ,¨V¯]©]¸FÐCÙ�F‹Oð
ñMJ�Fr  r   c                   ó  — e Zd ZdZdZdZddgZdgZdgZdZ	d	e
fd
e
fd eee
«      fdefdefgdefded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fd ee ee«      e«      fdefdej2                  fdej2                  fdej6                  fdefg ed«      de	z   d z    e ee«      ej:                   ee«       ee«      e«      d!fde	z   d"z    e ee«      ej:                   ee«       ee«      e«      f ed#«      g ed«       ed$«      d%efd&ed'fg ed«       ed$«      d&efd(ed)fd*ed'fgded'fd+ej>                  fd	efd,efd-efd.efd/efgd0œZ d1„ Z!y2)3r   z?
    For Asymptote source code.

    .. versionadded:: 1.2
    Ú	Asymptotezhttp://asymptote.sf.net/Ú	asymptoteÚasyz*.asyztext/x-asymptotez(?:\s|//.*?\n|/\*.*?\*/)+ú\nrò   ú(\\)(\n)z//(\n|(.|\n)*?[^\\]\n)z/(\\\n)?\*(.|\n)*?\*(\\\n)?/ú"(\\\\|\\[^\\]|[^"\\])*"ú'r  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[~!%^&*+=|?:<>/-]z
[()\[\],.]z\b(case)(.+?)(:)zã(and|controls|tension|atleast|curl|if|else|while|for|do|return|break|continue|struct|typedef|new|access|import|unravel|from|include|quote|static|public|private|restricted|this|explicit|true|false|null|cycle|newframe|operator)\ba?  (Braid|FitResult|Label|Legend|TreeNode|abscissa|arc|arrowhead|binarytree|binarytreeNode|block|bool|bool3|bounds|bqe|circle|conic|coord|coordsys|cputime|ellipse|file|filltype|frame|grid3|guide|horner|hsv|hyperbola|indexedTransform|int|inversion|key|light|line|linefit|marginT|marker|mass|object|pair|parabola|path|path3|pen|picture|point|position|projection|real|revolution|scaleT|scientific|segment|side|slice|splitface|string|surface|tensionSpecifier|ticklocate|ticksgridT|tickvalues|transform|transformation|tree|triangle|trilinear|triple|vector|vertex|void)(?=\s+[a-zA-Z])zÜ(Braid|FitResult|TreeNode|abscissa|arrowhead|block|bool|bool3|bounds|coord|frame|guide|horner|int|linefit|marginT|pair|pen|picture|position|real|revolution|slice|splitface|ticksgridT|tickvalues|tree|triple|vertex|void)\bz[a-zA-Z_]\w*:(?!:)rñ   Ú
whitespacez6((?:[\w*\s])+?(?:\s|\*))([a-zA-Z_]\w*)(\s*\([^;]*?\))(z)(\{)Úfunctionz)(;)Ú	statementÚ
statementsz[{}]ú;rJ  z\{r¶  z\}z0\\([\\abfnrtv"\'?]|x[a-fA-F0-9]{2,4}|[0-7]{1,3})ú	[^\\'\n]+rL  z\\nrM  )rÈ  rË  r   rÊ  rÉ  r  c              #   óÚ   K  — ddl m}m} t        j                  | |«      D ]F  \  }}}|t
        u r||v rt
        j                  }n|t
        u r||v rt
        j                  }|||f–— ŒH y ­w)Nr   )ÚASYFUNCNAMEÚ
ASYVARNAME)Úpygments.lexers._asy_builtinsrÏ  rÐ  r   Úget_tokens_unprocessedr   r¿  r¾  )ÚselfÚtextrÏ  rÐ  r~  ÚtokenÚvalues          r	  rÒ  z%AsymptoteLexer.get_tokens_unprocessedû  sg   è ø€ ßIä×1Ñ1°$¸Ó=ò	&ÑˆE�5˜%àœ‰} ¨+Ñ!5ÜŸ™‘Øœ$‘ 5¨JÑ#6ÜŸ™�Ø˜ Ð%Ó%ñ	&ùs   ‚A)A+N)"ró   rô   rõ   rö   r÷   r¸  rø   rù   rú   Ú_wsr   r   r
   r   r   r   rþ   rÿ   r   r  r   r   r   r   r   r  r   ÚLabelr   r¿  r	   rO  r  rÒ  r  r  r	  r   r   �  s…  „ ñð
 €DØ
$€CØ˜EÐ"€GØ�	€IØ#Ð$€Ið '€Cð �JÐØ�ZÐ Ø™( 4¨Ó4Ð5Ø&¨Ð0Ø,¨gÐ6ð
ð )¨&Ð1à�6˜8Ð$Ø5°v·|±|ÐDØ-¨v¯|©|Ð<Ø# V§Z¡ZÐ0Ø˜fŸj™jÐ)Ø˜&Ÿ.™.Ð)Ø! 8Ð,Ø˜KÐ(Ø ¡(¨7±E¸$³KÀÓ"FÐGðIð KRðSð	,ð .5¯\©\ð	;ð6ð 8?·|±|ðEð # D§J¡JÐ/Ø˜dÐ#ðO(
ñT �LÓ!ðð ñð #ñ#ñ ‘e˜D“k 4§=¡=±%¸³+¹uÀT»{Ø!ó#àððð ñð "ñ"ñ ‘e˜D“k 4§=¡=±%¸³+¹uÀT»{Ø!ó#ð	$ñ �KÓ ð#
ñ( �LÓ!Ù�LÓ!Ø�[Ð!Ø�+˜vÐ&ð	
ñ �LÓ!Ù�LÓ!Ø�+ÐØ�K Ð)Ø�K Ð(ð
ð �6˜6Ð"Ø@À&Ç-Á-ÐPØ�FˆOØ˜6Ð"Ø�fÐØ�VÐØ�FˆOð
ñcZ€Fóx&r  r   c                 ó†   ‡ ‡— ‰ j                  d«      Šdj                  ˆˆ fd„t        t        ‰ «      ‰d«      D «       «      S )Nú$ú|c              3   ó@   •K  — | ]  }‰d ‰ ‰‰dz   | z   dz   –— Œ y ­w)Né   rN   r  )Ú.0ÚiÚdposÚwords     €€r	  ú	<genexpr>z_shortened.<locals>.<genexpr>  s3   øè ø€ ò 9Øð ˜˜$�K $ t¨A¡v¨a .Ñ0°5Õ8ñ 9ùs   ƒéÿÿÿÿ)ÚfindÚjoinÚrangeÚlen)rá  rà  s   `@r	  Ú
_shortenedrè    s;   ù€ Ø�9‰9�S‹>€DØ�8‰8ô 9Ü"¤3 t£9¨d°BÓ7ô9ó 9ð 9r  c                  ó@   — dj                  t        t        | «      «      S )NrÛ  )rå  Úmaprè  )r   s    r	  Ú_shortened_manyrë    s   € Ø�8‰8”Cœ
 EÓ*Ó+Ð+r  c                   ó&  — e Zd ZdZdZdZdgZddgZdgZ e	d«       e
d	«      ed
f edd«      edf e
d«      edfd eeee«      dfdef e
d«      edf eddd«      edf e
d«      edf e
d«      edf edd«      edf ed d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0«      ed1f ed*d+d,d-d.d2«      ed3fd4 eej"                  ee«      d1fd5 eej(                  eeeeee«      d1fd6ej*                  fd7efgd8efd9efd:ef ed;«      gd<ed=fd>efg e	d«      d7ed;fd?ed;fgd@ed;fdAej2                  fdBefd9efd:efd?ed;fgdCefdDed;fdEefd9efd:efd?ed;fg e	d3«      d@edFfdDedGfdHej6                  fdIej6                  fdJej8                  fdKefdLefdMej:                  fdN eej(                  ee«      fdOefd6ej*                  fdP eee«      fg e	d«       edQŽ ej<                  d;fgdRed;f e
dS«      ej<                  f e	d1«      gdTef e	d3«      gdUej<                  f e	d«      gdVed;f e	d1«      gdWej<                  f e
dX«      ej<                  f e	d1«      g edYdZd[d\d]d^d_d`dadbdcdd«      ej<                  f e	d1«      g ededfdgdh«      ej<                  f e	d1«      gdiœZyj)kr   zC
    For Gnuplot plotting scripts.

    .. versionadded:: 0.11
    ÚGnuplotzhttp://gnuplot.info/Úgnuplotz*.plotz*.pltztext/x-gnuplotrÈ  zbi$ndr\  zex$itzq$uitrŽ  zf$itÚfitz(if)(\s*)(\()rH   zelse\bzpa$useÚpauseúp$lotzrep$lotzsp$lotÚplotzsa$ver™  zse$t)ÚgenericargsÚ	optionargzsh$owzuns$et)Únoargsrô  zlow$erzra$isezca$llzcd$zcl$earzh$elpz\?$zhi$storyzl$oadúpr$intzpwd$zre$readzres$etzscr$eendumpzshe$llzsy$stemzup$dateró  ztest$rõ  z([a-zA-Z_]\w*)(\s*)(=)z(([a-zA-Z_]\w*)(\s*)(\()(.*?)(\))(\s*)(=)z@[a-zA-Z_]\w*rÌ  z[^\\\n]+rL  rM  rJ  ú#Úcommentz
[ \t\v\f]+rÄ  r  z/\\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|[0-7]{1,3})rK  z''rÇ  rÍ  ÚdqstringÚsqstringz (\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+z(\d+\.\d*|\.\d+)z-?\d+z[,.~!%^&*+=|?:<>/-]z
[{}()\[\]]z	(eq|ne)\bz([a-zA-Z_]\w*)(\s*)(\()rñ   rÅ  )–za$llzan$gleszar$rowz
au$toscalezb$arszbor$derz	box$widthzcl$abelzc$lipz
cn$trparamzco$ntourzda$taz	data$filezdg$rid3dzdu$mmyz	enc$odingzdec$imalsignzfit$z	font$pathzfo$rmatz	fu$nctionz
fu$nctionszg$ridz	hid$den3dzhis$torysizezis$osampleszk$eyz	keyt$itlezla$belz
li$nestylezls$z	loa$dpathzloc$alez	log$scalezmac$roszmap$pingz
map$ping3dzmar$ginzlmar$ginzrmar$ginztmar$ginzbmar$ginzmo$usez
multi$plotzmxt$icsz	nomxt$icszmx2t$icsz
nomx2t$icszmyt$icsz	nomyt$icszmy2t$icsz
nomy2t$icszmzt$icsz	nomzt$icszmcbt$icsz
nomcbt$icszof$fsetszor$iginzo$utputzpa$rametriczpm$3dzpal$ettez	colorb$oxrñ  z
poi$ntsizezpol$arrö  zobj$ectzsa$mpleszsi$zezst$ylezsu$rfaceztable$ú	t$erminalztermo$ptionszti$csz	ticsc$alez
ticsl$evelztimef$mtz
tim$estampztit$leú
v$ariableszve$rsionzvi$ewzxyp$lanezxda$tazx2da$tazyda$tazy2da$tazzda$tazcbda$tazxl$abelzx2l$abelzyl$abelzy2l$abelzzl$abelzcbl$abelzxti$csznoxti$cszx2ti$csz	nox2ti$cszyti$csznoyti$cszy2ti$csz	noy2ti$cszzti$csznozti$cszcbti$csz	nocbti$cszxdti$csz	noxdti$cszx2dti$csz
nox2dti$cszydti$csz	noydti$cszy2dti$csz
noy2dti$cszzdti$csz	nozdti$cszcbdti$csz
nocbdti$cszxmti$csz	noxmti$cszx2mti$csz
nox2mti$cszymti$csz	noymti$cszy2mti$csz
noy2mti$cszzmti$csz	nozmti$cszcbmti$csz
nocbmti$cszxr$angezx2r$angezyr$angezy2r$angezzr$angezcbr$angezrr$angeztr$angezur$angezvr$angez
xzeroa$xiszx2zeroa$xisz
yzeroa$xiszy2zeroa$xisz
zzeroa$xisz	zeroa$xiszz$eroú!zall$windowsz	gnuplot\bzvia\br·  z%(mouse|any|button1|button2|button3)\bz	key$presszax$eszaxi$szbin$aryzev$eryzi$ndexzmat$rixzs$moothzthru$zt$itleznot$itlezu$singzw$ithz
f$unctionszs$etrû  rü  )r   rø  rÈ  rõ  rù  rú  ró  rô  r\  rŽ  rï  rH   rð  rò  r™  N) ró   rô   rõ   rö   r÷   r¸  rø   rù   rú   r   rè  r   rë  r   r
   r   r   r¾  r   r   r¿  r  r   r	   r   rO  r   rþ   r  ÚWordr  r  r  r  r	  r   r     sA  „ ñð €DØ
 €CØˆk€GØ˜7Ð#€IØ!Ð"€Iñ �LÓ!Ù˜Ó  '¨6Ð2Ù˜W gÓ.°¸Ð@Ù˜Ó ¨%Ð0Ø™x¨°°{ÓCÀTÐJØ˜Ð Ù˜Ó! 7¨GÐ4Ù˜W i°Ó:¸GÀVÐLÙ˜Ó  '¨6Ð2Ù˜Ó Ð*FÐGÙ˜W hÓ/ØÐ-ð/á˜X x°¸%ÀØ$ f¨j¸'À8Ø# Y°¸-Ø% y°)ó=ð �mð	%ñ
 ˜V Y°¸-Ø% wó0à�hð ð 'Ù�d—m‘m Z°Ó:¸MðKà8Ù�d—m‘m Z°Ø˜K¨°Xó?Ø@MðOð ˜tŸ}™}Ð-Ø�7ˆOð7
ð< ˜'Ð"Ø�gÐØ�GÐá�F‹Oð
ð �'˜9Ð%Ø˜JÐ'ð
ñ
 �LÓ!à�; Ð'Ø�J Ð'ð	
ð �6˜6Ð"Ø?ÀÇÁÐOØ˜6Ð"Ø�fÐØ�FˆOØ�J Ð'ð
ð �FˆOØ�6˜6Ð"Ø˜6Ð"Ø�fÐØ�FˆOØ�J Ð'ð
ñ �HÓØ�6˜:Ð&Ø�6˜:Ð&Ø0°&·,±,Ð?Ø  &§,¡,Ð/Ø�v—~‘~Ð&Ø" HÐ-Ø˜KÐ(Ø˜8Ÿ=™=Ð)Ø'Ù�d—m‘m T¨;Ó7ð9à˜dÐ#Ø˜tŸ}™}Ð-Ø™( 4¨Ó4Ð5ð
ñ" �LÓ!Ùñ 4ð8 6:·\±\À6ð9Kð
ðB �'˜6Ð"Ù˜Ó&¨¯©Ð5Ù�MÓ"ð
ð ˜7Ð#Ù�HÓð
ð
 �t—|‘|Ð$Ù�F‹Oð
ð
 �K Ð(Ù�MÓ"ð
ð
 6°t·|±|ÐDÙ˜Ó$ d§l¡lÐ3Ù�MÓ"ð
ñ ˜W g¨y¸(ÀHØ&¨	°7¸HØ'¨°7ó<ð �\‰\ðñ �MÓ"ð
ñ ˜\¨6°;ÀÓMØ�\‰\ðá�MÓ"ð
ñYQ�Fr  r   c                   óv  — e Zd ZdZdZdZdgZddgZdgZdd	e	j                  fd
e	j                  fdej                  f eddd¬«      e	j                  f eddd¬«      ef edd¬«      ej$                  fdej$                  j&                  fdefdej*                  fdej,                  fdefdefdefdefgiZd„ Zy)r   zP
    For Persistence of Vision Raytracer files.

    .. versionadded:: 0.11
    ÚPOVRayzhttp://www.povray.org/Úpovz*.povz*.incztext/x-povrayr   z/\*[\w\W]*?\*/r   z(?s)"(?:\\.|[^"\\])+")rA   rG   ÚdebugÚdeclarer	   ÚdefinerI   Úelseifrp  ÚerrorÚfcloseÚfopenrD   rH   ÚifdefÚifndefr   ÚlocalÚmacroræ  ÚreadÚrenderÚ
statisticsrF   ÚundefÚversionÚwarningrE   Úwriter÷  rN   rO   (9  Úaa_levelÚaa_thresholdr{  r|  ÚacoshÚadaptiveÚadc_bailoutÚagateÚ
agate_turbr}  ÚalphaÚambientÚambient_lightÚangleÚapertureÚ	arc_angleÚ
area_lightÚascr„  ÚasinhÚassumed_gammar‡  rˆ  ÚatanhÚ
atmosphereÚatmospheric_attenuationÚattenuatingÚaverageÚ
backgroundÚ
black_holeÚblueÚblur_samplesÚ
bounded_byÚbox_mappingÚbozorA   ÚbrickÚ
brick_sizeÚ
brightnessÚ
brillianceÚbumpsÚbumpy1Úbumpy2Úbumpy3Úbump_mapÚ	bump_sizerG   Úcausticsr‰  ÚcheckerÚchrÚ
clipped_byÚclockÚcolorÚ	color_mapÚcolourÚ
colour_mapÚ	componentÚ	compositer`  Ú
confidenceÚconic_sweepÚconstantÚcontrol0Úcontrol1r�  r�  ÚcountÚcrackleÚcrandÚcubeÚcubic_splineÚcylindrical_mappingr  r  r	   rš  ÚdentsÚdiffuseÚ	directionrž  Údistance_maximumrm  ÚdustÚ	dust_typeÚeccentricityrI   Úemittingrp  r  Úerror_boundr¥  ÚexponentÚfade_distanceÚ
fade_powerÚfalloffÚfalloff_anglerT   Úfile_existsrí   ÚfinishÚfisheyeÚflatnessÚflipr¬  Úfocal_pointÚfogÚfog_altÚ
fog_offsetÚfog_typeÚ	frequencyÚgifÚglobal_settingsÚglowingÚgradientÚgraniteÚgray_thresholdÚgreenÚhaloÚhexagonÚ
hf_gray_16Ú	hierarchyÚhollowÚhypercomplexrH   r	  ÚiffÚ	image_mapÚ	incidencer   r_   ÚinterpolateÚinverseÚiorÚiridÚirid_wavelengthÚjitterÚlambdaÚleopardr  Úlinear_splineÚlinear_sweepÚlocationrÇ  Ú
looks_likeÚlook_atÚlow_error_factorÚmandelÚmap_typeÚmarbleÚmaterial_maprC  rË  Úmax_intersectionsÚmax_iterationÚmax_trace_levelÚ	max_valueÚmetallicrÌ  Úminimum_reuser„  ÚmortarÚnearest_countÚnoÚnormalÚ
normal_mapÚ	no_shadowÚnumber_of_wavesÚoctavesÚoffÚoffsetÚomegaÚomnimaxÚonÚonceÚonionÚopenÚorthographicÚ	panoramicÚpattern1Úpattern2Úpattern3ÚperspectiveÚpgmÚphaseÚphongÚ
phong_sizeÚpiÚpigmentÚpigment_mapÚplanar_mappingÚpngÚpoint_atÚpotrÒ  Úppmr9   ÚpwrÚquadratic_splineÚ
quaternionÚquick_colorÚquick_colourÚquiltedÚradialrá  Ú	radiosityÚradiusÚrainbowÚ	ramp_waver�  ræ  Ú
reciprocalÚrecursion_limitÚredÚ
reflectionÚ
refractionr  r’  ÚrgbÚrgbfÚrgbftÚrgbtÚrightÚripplesr—  Ú	roughnessÚsamplesrš  Úscallop_waveÚ
scatteringÚseedÚ
shadowlessrê  Ú	sine_waverì  ÚskyÚ
sky_sphereÚsliceÚ	slope_mapr0   ÚspecularÚspherical_mappingÚspiralÚspiral1Úspiral2Ú	spotlightÚspottedÚsqrrî  r  ÚstrÚstrcmpÚstrengthÚstrlenÚstrlwrÚstruprÚsturmÚsubstrrF   ÚsysÚtrð  rñ  Útest_camera_1Útest_camera_2Útest_camera_3Útest_camera_4r*  Útexture_mapÚtgaÚ	thicknessÚ	thresholdÚ	tightnessÚtile2ÚtilesÚtrackr­  r®  ÚtransmitÚtriangle_waverS   ÚttfÚ
turbulenceÚ
turb_depthÚtypeÚultra_wide_angleÚupÚ	use_colorÚ
use_colourÚ	use_indexÚu_stepsÚvalÚvarianceÚvaxis_rotateÚvcrossÚvdotr  ÚvlengthÚ
vnormalizeÚvolume_objectÚvolume_renderedÚvol_with_lightÚvrotateÚv_stepsr  ÚwarpÚwater_levelÚwavesrE   ÚwidthÚwoodÚwrinklesÚyes)Úbicubic_patchÚblobÚboxÚcameraÚconeÚcubicÚcylinderÚ
differenceÚdiscÚheight_fieldÚintersectionÚjulia_fractalÚlatheÚlight_sourceÚmergeÚmeshÚobjectÚplaneÚpolyÚpolygonÚprismÚquadricÚquarticÚsmooth_triangleÚsorÚsphereÚsuperellipsoidrÔ  Útorusr+  rÑ   r´  z\b(x|y|z|u|v)\brñ   z[0-9]*\.[0-9]+z[0-9]+z[\[\](){}<>;,]z[-+*/=.|&]|<=|>=|!=rÆ  rò   c                 óR   — d}d| v r|dz  }d| v r|dz  }d| v r|dz  }d| v r|dz  }|S )at  POVRAY is similar to JSON/C, but the combination of camera and
        light_source is probably not very likely elsewhere. HLSL or GLSL
        are similar (GLSL even has #version), but they miss #declare, and
        light_source/camera are not keywords anywhere else -- it's fair
        to assume though that any POVRAY scene must have a camera and
        lightsource.r   z#versiongš™™™™™©?z#declarer  r  gš™™™™™¹?r  )rÔ  Úresults     r	  Úanalyse_textzPovrayLexer.analyse_text  sR   € ð ˆØ˜ÑØ�d‰NˆFØ˜ÑØ�d‰NˆFØ�tÑØ�d‰NˆFØ˜TÑ!Ø�c‰MˆFàˆr  N)ró   rô   rõ   rö   r÷   r¸  rø   rù   rú   r   rý   rü   r   ÚDoubler   rû   r   r   r  ÚPseudor   rþ   r  r   r   r   r  r0  r  r  r	  r   r   ±  s,  „ ñð
 €DØ
"€CØˆg€GØ˜'Ð"€IØ Ð!€Ið 	Ø × 1Ñ 1Ð2Ø�w—~‘~Ð&Ø% v§}¡}Ð5Ùð ð
 "&¨eô5ð �_‰_ðñ ð 0+ð` 49Àôa0Hðb ðc1ñd ð 6ð
 ?DôEð �\‰\ðð   §¡×!4Ñ!4Ð5Ø˜dÐ#Ø §¡Ð-Ø˜Ÿ™Ð'Ø Ð,Ø# XÐ.Ø(¨&Ð1Ø�ZÐ ðWL
ðN€Fó`r  r   N)rö   Úpygments.lexerr   r   r   r   r   r   r	   Úpygments.tokenr
   r   r   r   r   r   r   r   r   Ú__all__r   r   r   r   rè  rë  r   r   r  r  r	  ú<module>r6     s’   ðñ÷÷ ñ ÷,÷ ,õ ,ò-€ô@�Jô @ôFW�jô Wôt\�jô \ô~s&�Zô s&òl9ò,ô^�:ô ^ôBm�*õ mr  