U
    [{                     @   s  d Z ddlZddl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 ddlmZ dddd	gZd
ZdZdZdZdZdZdZdZdZdZ dZ!ee e e  e! Z"G dd deZ#defdej$fdej%dfdej&fe	ed ddej'fe	eddej(fe	dddej)fdej*fd ej+fd!ej,fd"ej-d#fd$ej.fd%ej/fd&eej0ej1fd'eej2ej1fd(ej3d)fd*efd+efd,ej4d-fd.ej.d/fd0efgd1ej3d2fed3gdefd4ej5d5fd6ej6d7fd8ej7d9fd:ej8fd(ej3d)fd;efd<efd,ej4d-fd.ej.d/fg
d=ej4fd(ej3d)fd,ej4d2fgd>ej.fd(ej3d)fd.ej.d2fgd?ej%fd(ej3d)fd@ej%d2fgd:ej5fd(ej3d)fed2gd:ej6fd(ej3d)fed2gd:ej7fd(ej3d)fed2gdAej,fed3gdB
Z9dCdD Z:dEdF Z;G dGd deZ<G dHd deZ=G dId	 d	e#Z>dS )Jz
    pygments.lexers.css
    ~~~~~~~~~~~~~~~~~~~

    Lexers for CSS and related stylesheet formats.

    :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N)ExtendedRegexLexer
RegexLexerincludebygroupsdefaultwordsinherit)TextCommentOperatorKeywordNameStringNumberPunctuation)	iteritemsCssLexer	SassLexer	ScssLexerLessCssLexer)z-ms-zmso-z-moz-z-o-z-xv-z-atsc-z-wap-z-khtml-z-webkit-zprince-z-ah-z-hp-z-ro-z-rim-z-tc-(r  zalign-contentzalign-itemsz
align-selfzalignment-baselineallZ	animationzanimation-delayzanimation-directionzanimation-durationzanimation-fill-modezanimation-iteration-countzanimation-namezanimation-play-statezanimation-timing-functionZ
appearanceZazimuthzbackface-visibilityZ
backgroundzbackground-attachmentzbackground-blend-modezbackground-clipzbackground-colorzbackground-imagezbackground-originzbackground-positionzbackground-repeatzbackground-sizezbaseline-shiftzbookmark-labelzbookmark-levelzbookmark-stateZborderzborder-bottomzborder-bottom-colorzborder-bottom-left-radiuszborder-bottom-right-radiuszborder-bottom-stylezborder-bottom-widthzborder-boundaryzborder-collapsezborder-colorzborder-imagezborder-image-outsetzborder-image-repeatzborder-image-slicezborder-image-sourcezborder-image-widthzborder-leftzborder-left-colorzborder-left-stylezborder-left-widthzborder-radiuszborder-rightzborder-right-colorzborder-right-stylezborder-right-widthzborder-spacingzborder-stylez
border-topzborder-top-colorzborder-top-left-radiuszborder-top-right-radiuszborder-top-stylezborder-top-widthzborder-widthbottomzbox-decoration-breakz
box-shadowz
box-sizingzbox-snapzbox-suppresszbreak-afterzbreak-beforezbreak-insidezcaption-sideZcaretzcaret-animationzcaret-colorzcaret-shapeZchainsclearclipz	clip-pathz	clip-rulecolorzcolor-interpolation-filterszcolumn-countzcolumn-fillz
column-gapzcolumn-rulezcolumn-rule-colorzcolumn-rule-stylezcolumn-rule-widthzcolumn-spanzcolumn-widthcolumnscontentzcounter-incrementzcounter-resetzcounter-setcropZcuez	cue-afterz
cue-beforeZcursor	directionZdisplayzdominant-baselineZ	elevationzempty-cellsfilterflexz
flex-basiszflex-directionz	flex-flowz	flex-growzflex-shrinkz	flex-wrapfloatzfloat-deferzfloat-offsetzfloat-referencezflood-colorzflood-opacityZflowz	flow-fromz	flow-intoZfontzfont-familyzfont-feature-settingszfont-kerningzfont-language-overridez	font-sizezfont-size-adjustzfont-stretchz
font-stylezfont-synthesiszfont-variantzfont-variant-alternateszfont-variant-capszfont-variant-east-asianzfont-variant-ligatureszfont-variant-numericzfont-variant-positionzfont-weightzfootnote-displayzfootnote-policyzglyph-orientation-verticalZgridz	grid-areazgrid-auto-columnszgrid-auto-flowzgrid-auto-rowszgrid-columnzgrid-column-endzgrid-column-gapzgrid-column-startzgrid-gapzgrid-rowzgrid-row-endzgrid-row-gapzgrid-row-startzgrid-templatezgrid-template-areaszgrid-template-columnszgrid-template-rowszhanging-punctuationZheightzhyphenate-characterzhyphenate-limit-charszhyphenate-limit-lastzhyphenate-limit-lineszhyphenate-limit-zoneZhyphenszimage-orientationzimage-resolutionzinitial-letterzinitial-letter-alignzinitial-letter-wrapZ	isolationzjustify-contentzjustify-itemszjustify-selfleftzletter-spacingzlighting-colorz
line-breakz	line-gridzline-heightz	line-snapz
list-stylezlist-style-imagezlist-style-positionzlist-style-typeZmarginzmargin-bottomzmargin-leftzmargin-rightz
margin-topzmarker-sidezmarquee-directionzmarquee-loopzmarquee-speedzmarquee-stylemaskzmask-borderzmask-border-modezmask-border-outsetzmask-border-repeatzmask-border-slicezmask-border-sourcezmask-border-widthz	mask-clipzmask-compositez
mask-imagez	mask-modezmask-originzmask-positionzmask-repeatz	mask-sizez	mask-typez
max-heightz	max-linesz	max-widthz
min-heightz	min-widthzmix-blend-modeZmotionzmotion-offsetzmotion-pathzmotion-rotationzmove-toznav-downznav-leftz	nav-rightznav-upz
object-fitzobject-positionzoffset-afterzoffset-beforez
offset-endzoffset-startopacityorderZorphansZoutlinezoutline-colorzoutline-offsetzoutline-stylezoutline-widthZoverflowzoverflow-stylezoverflow-wrapz
overflow-xz
overflow-yZpaddingzpadding-bottomzpadding-leftzpadding-rightzpadding-toppagezpage-break-afterzpage-break-beforezpage-break-insidezpage-policypausezpause-afterzpause-beforeperspectivezperspective-originZpitchzpitch-rangezplay-duringzpolar-anglezpolar-distanceZpositionzpresentation-levelZquoteszregion-fragmentZresizerestz
rest-afterzrest-beforeZrichnessrightZrotationzrotation-pointz
ruby-alignz
ruby-mergezruby-positionrunningzscroll-snap-coordinatezscroll-snap-destinationzscroll-snap-points-xzscroll-snap-points-yzscroll-snap-typezshape-image-thresholdzshape-insidezshape-marginzshape-outsidesizeZspeakzspeak-aszspeak-headerzspeak-numeralzspeak-punctuationzspeech-rateZstressz
string-setztab-sizeztable-layoutz
text-alignztext-align-lastztext-combine-uprightztext-decorationztext-decoration-colorztext-decoration-lineztext-decoration-skipztext-decoration-styleztext-emphasisztext-emphasis-colorztext-emphasis-positionztext-emphasis-styleztext-indentztext-justifyztext-orientationztext-overflowztext-shadowztext-space-collapseztext-space-trimztext-spacingztext-transformztext-underline-positionz	text-wraptopZ	transformztransform-originztransform-styleZ
transitionztransition-delayztransition-durationztransition-propertyztransition-timing-functionzunicode-bidizuser-selectzvertical-alignZ
visibilityzvoice-balancezvoice-durationzvoice-familyzvoice-pitchzvoice-rangez
voice-ratezvoice-stresszvoice-volumeZvolumezwhite-spaceZwidowswidthzwill-changez
word-breakzword-spacingz	word-wrapz
wrap-afterzwrap-beforez	wrap-flowzwrap-insidezwrap-throughzwriting-modezz-index(+  absolutealiasr   zall-petite-capsz
all-scrollzall-small-capsz	allow-endZalphaZ	alternatezalternate-reversealwaysarmenianautoavoidzavoid-columnz
avoid-pageZ	backwardsZbalancebaselinebelowblinkblockboldbolderz
border-boxbothr   zbox-decorationz
break-word
capitalizeZcellcentercircler   Zcloneclose-quotez
col-resizecollapser   z
color-burnzcolor-dodgecolumnzcolumn-reverseZcompact	condensedZcontainZ	containerzcontent-boxzcontext-menucopyZcoverzcrisp-edges	crosshairZcurrentColorcursiveZdarkendasheddecimaldecimal-leading-zeror   Zdescendants
differencedigitsdiscZ
distributedotdotteddoublezdouble-circlee-resizez	each-lineZeasezease-inzease-in-outzease-outZedgesZellipsisendz	ew-resizeZ	exclusionexpandedextra-condensedextra-expandedfantasyZfillzfill-boxZfilledfirstfixedZflatr    zflex-endz
flex-startZflipz	force-endZforwardsz
from-imagez
full-widthZgeometricPrecisiongeorgiangrooveZhangingz
hard-lighthelphiddenhideZ
horizontalhueiconZinfiniter   initialZinkinlinezinline-blockzinline-flexinline-tableinsetinsidez
inter-wordinvertZisolateitalicjustifylargelargerZlastr"   Zlightenlighterline-throughZlinear	list-itemZlocalZlooselower-alphalower-greekzlower-latinlower-roman	lowercaseltrZ	luminanceZ
luminosityZ	mandatoryZmanipulationZmanualz
margin-boxzmatch-parentmediumZmixed	monospaceZmoveZmultiplyn-resize	ne-resizeznesw-resizeno-close-quotezno-dropno-open-quote	no-repeatnonenormalznot-allowednowrapz	ns-resize	nw-resizeznwse-resizeZobjectsobliqueZoffZonopen
open-quoteZoptimizeLegibilityZoptimizeSpeedoutsetoutsideZoverZoverlayoverlinezpadding-boxr&   zpan-downzpan-leftz	pan-rightzpan-upzpan-xzpan-yZpausedzpetite-capsZ	pixelatedpointerzpreserve-3dZprogressZ	proximityrelativerepeatzrepeat no-repeatrepeat-xrepeat-yreverseridger*   roundrowz
row-resizezrow-reverseZrtlZrubyz	ruby-basezruby-base-containerz	ruby-textzruby-text-containerzrun-inr+   s-resize
sans-serif
saturationz
scale-downZscreenscroll	se-resizesemi-condensedsemi-expandedseparateserifZsesameshowZsidewayszsideways-leftzsideways-rightsliceZsmall
small-capssmallerZsmoothZsnapz
soft-lightsolidZspacezspace-aroundzspace-betweenZspacessquarestartstaticzstep-endz
step-startZstickyZstretchstrictz
stroke-boxZstyle	sw-resizetabletable-caption
table-celltable-columntable-column-grouptable-footer-grouptable-header-group	table-rowtable-row-grouptextthickthinztitling-capstor-   Ztriangleultra-condensedultra-expandedZunder	underlineZunicaseZunsetupper-alphaupper-latinupper-roman	uppercaseZuprightzuse-glyph-orientationZverticalzvertical-textzview-boxvisiblew-resizewaitZwavyZweightzweight styleZwrapzwrap-reversex-largex-smallxx-largexx-smallzzoom-inzzoom-out)Z	aliceblueZantiquewhiteaquaZ
aquamarineZazureZbeigeZbisqueblackZblanchedalmondblueZ
bluevioletZbrownZ	burlywoodZ	cadetblueZ
chartreuseZ	chocolateZcoralZcornflowerblueZcornsilkZcrimsonZcyanZdarkblueZdarkcyanZdarkgoldenrodZdarkgrayZ	darkgreenZdarkgreyZ	darkkhakiZdarkmagentaZdarkolivegreenZ
darkorangeZ
darkorchidZdarkredZ
darksalmonZdarkseagreenZdarkslateblueZdarkslategrayZdarkslategreyZdarkturquoiseZ
darkvioletZdeeppinkZdeepskyblueZdimgrayZdimgreyZ
dodgerblueZ	firebrickZfloralwhiteZforestgreenfuchsiaZ	gainsboroZ
ghostwhiteZgoldZ	goldenrodgraygreenZgreenyellowZgreyZhoneydewZhotpinkZ	indianredZindigoZivoryZkhakiZlavenderZlavenderblushZ	lawngreenZlemonchiffonZ	lightblueZ
lightcoralZ	lightcyanZlightgoldenrodyellowZ	lightgrayZ
lightgreenZ	lightgreyZ	lightpinkZlightsalmonZlightseagreenZlightskyblueZlightslategrayZlightslategreyZlightsteelblueZlightyellowlimeZ	limegreenZlinenZmagentamaroonZmediumaquamarineZ
mediumblueZmediumorchidZmediumpurpleZmediumseagreenZmediumslateblueZmediumspringgreenZmediumturquoiseZmediumvioletredZmidnightblueZ	mintcreamZ	mistyroseZmoccasinZnavajowhitenavyZoldlaceoliveZ	olivedrabZorangeZ	orangeredZorchidZpalegoldenrodZ	palegreenZpaleturquoiseZpalevioletredZ
papayawhipZ	peachpuffZperuZpinkZplumZ
powderbluepurpleZrebeccapurpleredZ	rosybrownZ	royalblueZsaddlebrownZsalmonZ
sandybrownZseagreenZseashellZsiennasilverZskyblueZ	slateblueZ	slategrayZ	slategreyZsnowZspringgreenZ	steelblueZtantealZthistleZtomatoZ	turquoiseZvioletZwheatwhiteZ
whitesmokeyellowZyellowgreentransparent)9aboveauralbehindbidi-overridecenter-leftcenter-rightcjk-ideographic
continuousr   crossembedfar-left	far-rightfastfasterhebrewhighhigherhiraganahiragana-irohakatakanakatakana-iroha	landscape	left-side	leftwardslevelloudlowlowermessage-boxmiddlemixnarroweronceportrait
right-side
rightwardssilentslowslowersmall-captionsoft	spell-out
status-barsupertext-bottomtext-topwiderx-fastx-highx-loudx-lowx-softyesZprezpre-wrapzpre-line)?attrZ	blacknessZblendZblendaZblurZ
brightnessZcalcr>   z	color-modZcontrastZcounterzcubic-bezierzdevice-cmykzdrop-shadowZellipser   Z	grayscaleZhslZhslar\   z
hue-rotateZhwbZimagera   rc   Z	lightnesszlinear-gradientZmatrixZmatrix3dr$   r(   Zpolygonzradial-gradientZrectzrepeating-linear-gradientzrepeating-radial-gradientrgbZrgbarotateZrotate3dZrotateXZrotateYZrotateZZsaturater   ZscaleZscale3dZscaleXZscaleYZscaleZZsepiaZshadeZskewXZskewYZstepsZtintZtoggle	translateZtranslate3dZ
translateXZ
translateYZ
translateZZ	whiteness)ZdegZgradZradZturn)ZHzZkHz)ZemexZchZremZvhZvwZvminZvmaxpxZmmcminZptZpcq)ZdpiZdpcmZdppx)sZmsc                   @   s  e Zd ZdZdZdgZdgZdgZedgde	fde
fd	ed
fdeeejfdeeejfdeeejfdeeedfdejfdefdejfdejfgd	edfdedfedgeddedfgde	fdedfdefde
jfeeejfdde d eee	edfdeee	edfde
fgde	feeejjfeddde d  eejed!fd"eejed!fee d#d$ej!fee"d#d$ej!fee#d#d$ej!feed#d$efd%e
jfde
fed&d'efd(efdejfdejfd)efdedfdedfgde	fedeeejfee d#d$ej!fee"d#d$ej!fee#d#d$ej!fdde d  eejed!fd"eejed!fde
fed&d*efd+efdejfdejfd,efd-edfgd.eejeejefd/eejeejefd0eejeej$efgd1e%j&fd2e%j'd3fd4e%j(d3fgee)d#d$ej*fd5ej*fe+dgd6
Z,d7S )8r   z+
    For CSS (Cascading Style Sheets).
    ZCSSZcssz*.cssztext/cssbasics\s+z/\*(?:.|\n)*?\*/\{r   z(\:{1,2})([\w-]+)z(\.)([\w-]+)z(\#)([\w-]+)z(@)([\w-]+)atrule[\w-]+z[~^*!%&$\[\]()<>|+=@:;,./?-]z"(\\\\|\\"|[^"])*"z'(\\\\|\\'|[^'])*'	atcontent;#pop\}z#pop:2z^@.*?$(|z
)(\s*)(\:)value-startz([a-zA-Z_][\w-]*)(\s*)(\:)urlsz)(\()function-startz([a-zA-Z_][\w-]+)(\()\bsuffixz\!importantnumeric-valuesz[~^*!%&<>|+=@:./?-]+z
[\[\](),]+z[a-zA-Z_][\w-]*z[*+/-]z[,]z[a-zA-Z_-]\w*\)z(url)(\()(".*?")(\))z(url)(\()('.*?')(\))z(url)(\()(.*?)(\))z\#[a-zA-Z0-9]{1,6}z[+\-]?[0-9]*[.][0-9]+numeric-endz[+\-]?[0-9]+%)
rootr  r  r  r   r  r  r  r  r  N)-__name__
__module____qualname____doc__namealiases	filenames	mimetypesr   r	   r
   r   r   r   	DecoratorClass	Namespacer   Tagr   r   DoubleSingleZPreprocr   _vendor_prefixesPseudojoin_css_propertiesBuiltin#_functional_notation_keyword_valuesFunction_keyword_valuesConstant_other_keyword_values_color_keywordsOtherr   HexFloatInteger
_all_unitsTyper   tokens r>  r>  5/usr/lib/python3/dist-packages/pygments/lexers/css.pyr     s   
 
 
 
 
 
 
 
 	

[ \t]+z
[!$][\w-]+zurl\(
string-urlz[a-z_-][\w-]*(?=\())r   r/   r1   r2   r   r3   r4   r5   r   r6   r   r7   r8   r9   r:   r;   r<   r   r   r=   r>   r   r?   r@   rB   r   r   rD   r   rE   rF   rH   rG   r   rJ   rK   rM   rN   rO   r   rR   rS   rQ   rT   r   r   r   r   rV   rW   rX   r   rY   rZ   r[   r   r   r   r   r]   r   r`   r_   ra   rb   rc   rd   re   r   r   r   rg   rf   r   r   r   rh   ri   rj   r   rk   rl   rm   rn   ro   r   r   rp   r   r   r   rq   rr   r   rs   rt   ru   rv   rw   rx   ry   rz   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   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   r   r   r   r   r   r   r   Zurlr   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   r   r   r   r   z\!(important|default)z(true|false)z(and|or|not)z/\*inline-comment//[^\n]*z\#[a-z0-9]{1,6}z(-?\d+)(\%|[a-z]+)?z(-?\d*\.\d+)(\%|[a-z]+)?#\{interpolationz[~^*!&%<>|+=@:,./?-]+z	[\[\]()]+"string-double'string-singlez[a-z_-][\w-]*r  r  valuez\:pseudo-classz\.classz\#idr  &z[~^*!&\[\]()<>|+=@:;,./?-]z(\\.|#(?=[^\n{])|[^\n"#])+z(\\.|#(?=[^\n{])|[^\n'#])+z(\\#|#(?=[^\n{])|[^\n#)])+r  z(from|to|through))
rJ  rE  selectorrG  rI  rA  rK  rL  rM  forc                 c   s|   | d}| t|fV  ||_| |_t|dr`|jr`||j	r`||j	kr`|j
|j nd |_d |_	|j
d d S )Nr   block_stater   )groupr   r	   last_indentationrP   poshasattrrQ  
startswithblock_indentationstackappend)lexermatchctxZindentationr>  r>  r?  _indentation  s    


r]  c                    s    fdd}|S )Nc                 3   sD   |  |dfV  t|dr*|j|_nd|_ |_| |_d S )Nr   rS   )r   rR  rU  rS  rW  rQ  rP   rT  )rZ  r[  r\  statetokenr>  r?  callback  s    

z_starts_block.<locals>.callbackr>  )ra  r`  rb  r>  r_  r?  _starts_block  s    rc  c                   @   s  e Zd ZdZdZdgZdgZdgZej	ej
B Zdefdefgdeejd	d
fdeejdd
fdedfdedfdedfdeeejdfdeeejdfdedfdedfdejdfdejdfdeejedfdejdfdejdfedgdejfd ed
fgdejfd ed
fgd!efd"efd ed
fgd#ejfd$ejd%fd&edfedgd#ejfd$ejd%fd'edfgd(ejfd$ejd%fd)ed*fgd+ZeeD ]\Z Z!e""e!ee < qed #d ed
f ed #d ed
f d,S )-r   z:
    For Sass stylesheets.

    .. versionadded:: 1.3
    ZSassZsassz*.sassztext/x-sassz[ \t]*\nz[ \t]*rC  single-commentr  z	/\*[^\n]*multi-comment@importimport@forrP  @(debug|warn|if|while)rJ  (@mixin)( [\w-]+)(@include)( [\w-]+)@extendrO  @[\w-]+z=[\w-]+z\+[\w-]+z&([!$][\w-]\w*)([ \t]*(?:(?:\|\|)?=|:)):old-style-attrz(?=.+?[=:]([^a-z]|$))new-style-attrz.+\nr@  z\S+[^\s:="\[]+rD  rE  z[ \t]*=z
[ \t]*[=:]z'(\\#|#(?=[^\n{])|\*(?=[^\n/])|[^\n#*])+\*/r  )r  r   rd  re  rg  ro  rp  rB  N)$r  r  r   r!  r"  r#  r$  r%  re
IGNORECASE	MULTILINEflagsr	   r]  rc  r
   r+  	Multiliner   r   r   r2  r&  Variabler   	Attributer   r   Interpolr=  r   common_sass_tokensrR  commonrC   rY  r>  r>  r>  r?  r     sx   


 




>c                   @   sR  e Zd ZdZdZdgZdgZdgZej	ej
B Zdefdejfdejfd	ed
fdedfded
fdeeejd
fdeeejd
fdedfdeeed
fdedfdeejed
fedgdejfdejdfded
fedgdejfdejdfdedfgdZeeD ]\ZZe  eee< qed
 !defde"dfg ed !defde"dfg dS ) r   z
    For SCSS stylesheets.
    ZSCSSZscssz*.scssztext/x-scssr	  z//.*?\nz	/\*.*?\*/rf  rJ  rh  rP  ri  rj  rk  rl  rO  z(@media)(\s+)rm  z(\$[\w-]*\w)([ \t]*:)rr  rD  rE  z[ \t]*:r  z!(\\#|#(?=[^{])|\*(?=[^/])|[^#*])+rs  )r  r   rB  rq  z[;{}]N)#r  r  r   r!  r"  r#  r$  r%  rt  ru  DOTALLrw  r	   r
   r+  rx  r   r   r   r2  r&  ry  r   r   rz  r   r{  r=  r   r|  rR  r}  rC   extendr   r>  r>  r>  r?  r   m  sD   

!c                   @   sD   e Zd ZdZdZdgZdgZdgZdej	fe
gdedfe
gd	Zd
S )r   zR
    For `LESS <http://lesscss.org/>`_ styleshets.

    .. versionadded:: 2.1
    ZLessCssZlessz*.lessztext/x-less-cssz@\w+r
  z#push)r  r   N)r  r  r   r!  r"  r#  r$  r%  r   ry  r   r   r=  r>  r>  r>  r?  r     s   )?r!  rt  rC   Zpygments.lexerr   r   r   r   r   r   r   Zpygments.tokenr	   r
   r   r   r   r   r   r   Zpygments.utilr   __all__r,  r/  r3  r6  r5  r1  Z_angle_unitsZ_frequency_unitsZ_length_unitsZ_resolution_unitsZ_time_unitsr;  r   ry  r7  r2  r4  ZEntityr0  	Exceptionr-  ZWordrx  r+  r8  r:  r<  r9  r{  r*  r&  r'  r(  r)  r|  r]  rc  r   r   r   r>  r>  r>  r?  <module>   s   
$(`8 
z




:















wR2