ó
¶%^Tc           @   sú  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 j Z d d d d	 d
 d d d d g	 Z d e j d d d d d d ƒ d Z d e j d d d d d d d d d d ƒ
 d Z e d e d Z d e f d „  ƒ  YZ d e f d  „  ƒ  YZ d e f d! „  ƒ  YZ  d	 e f d" „  ƒ  YZ! d
 e f d# „  ƒ  YZ" d e f d$ „  ƒ  YZ# d e f d% „  ƒ  YZ$ d e f d& „  ƒ  YZ% d e f d' „  ƒ  YZ& d S((   så   
    pygments.lexers.javascript
    ~~~~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for JavaScript and related languages.

    :copyright: Copyright 2006-2014 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
iÿÿÿÿN(   t
   RegexLexert   includet   bygroupst   defaultt   usingt   this(	   t   Textt   Commentt   Operatort   Keywordt   Namet   Stringt   Numbert   Punctuationt   Other(   t   get_bool_optt	   iteritemst   JavascriptLexert   KalLexert   LiveScriptLexert	   DartLexert   TypeScriptLexert
   LassoLexert   ObjectiveJLexert   CoffeeScriptLexert	   MaskLexers   (?:[$_t   Lut   Llt   Ltt   Lmt   Lot   Nls   ]|\\u[a-fA-F0-9]{4})s   (?:[$t   Mnt   Mct   Ndt   Pcu   â€Œâ€]|\\u[a-fA-F0-9]{4})s   (?:s   )*c           B   s  e  Z d  Z d Z d d g Z d g Z d d d d g Z e j e j	 Be j
 BZ i d	 e f d
 e f d e j f d e j f g d 6e d ƒ d e j d f d e d$ f e d ƒ g d 6d e d f g d 6d e f d e d f e d ƒ d e d f d e d f d e f d e d f d e j d f d e j f d e j f d e j f e e j f d e j f d e j  f d  e j! f d! e j" f d" e j f g d# 6Z# RS(%   s%   
    For JavaScript source code.
    t
   JavaScriptt   jst
   javascripts   *.jss   application/javascripts   application/x-javascripts   text/x-javascripts   text/javascripts   \s+s   <!--s   //.*?\ns	   /\*.*?\*/t   commentsandwhitespaces3   /(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/([gim]+\b|\B)s   #pops   (?=/)t   badregext   slashstartsregexs   \ns   \A#! ?/.*?\ns   ^(?=\s|/|<!--)s@   \+\+|--|~|&&|\?|:|\|\||\\(?=\n)|(<<|>>>?|==?|!=?|[-<>+*%&|^/])=?s   [{(\[;,]s   [})\].]sŠ   (for|in|while|do|break|return|continue|switch|case|default|if|else|throw|try|catch|finally|new|delete|typeof|instanceof|void|yield|this)\bs   (var|let|with|function)\bsæ   (abstract|boolean|byte|char|class|const|debugger|double|enum|export|extends|final|float|goto|implements|import|int|interface|long|native|package|private|protected|public|short|static|super|synchronized|throws|transient|volatile)\bs*   (true|false|null|NaN|Infinity|undefined)\bsÙ   (Array|Boolean|Date|Error|Function|Math|netscape|Number|Object|Packages|RegExp|String|sun|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|Error|eval|isFinite|isNaN|parseFloat|parseInt|document|this|window)\bs%   [0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?s   0x[0-9a-fA-F]+s   [0-9]+s   "(\\\\|\\"|[^"])*"s   '(\\\\|\\'|[^'])*'t   root(   s   #popR(   ($   t   __name__t
   __module__t   __doc__t   namet   aliasest	   filenamest	   mimetypest   ret   DOTALLt   UNICODEt	   MULTILINEt   flagsR   R   t   Singlet	   MultilineR   R   t   RegexR   R   R   R	   t   Declarationt   Reservedt   ConstantR
   t   Builtint   JS_IDENTR   R   t   Floatt   Hext   Integert   Doublet   tokens(    (    (    s>   /usr/lib/python2.7/dist-packages/pygments/lexers/javascript.pyR       sN   											c           B   sü  e  Z d  Z d Z d g Z d g Z d d g Z e j Z	 i d e
 f d e j f d e j f g d	 6d
 e j d f e d	 ƒ g d 6d e f d e j d f d
 e j f e d	 ƒ g d 6d e d f d e f e d ƒ g d 6d e d f d e f e d ƒ g d 6e d	 ƒ d e j f d e f d e j f d e j f d e f d e d f d e f d e j d f d e j d f d  e d f d! e j 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 j  f d) e d* f d+ e d, f d- e d. f d/ e d0 f g d 6d1 e f g d2 6d3 e j! d f e d ƒ g d4 6d- e d f d5 e f d6 e j! d4 f e d2 ƒ g d. 6d/ e d f d7 e f e d2 ƒ g d0 6d) e d f d8 e f d6 e j! d4 f e d2 ƒ g d* 6d+ e d f d9 e f e d2 ƒ g d, 6Z" RS(:   sk   
    For `Kal`_ source code.

    .. _Kal: http://rzimmerman.github.io/kal


    .. versionadded:: 2.0
    t   Kalt   kals   *.kals   text/kals   application/kals   \s+s   ###[^#].*?###s   #(?!##[^#]).*?\nR'   s   [$a-zA-Z_][\w$]*\s*s   #popt   functiondefs   \binherits\s+from\bs   [$a-zA-Z_][\w$]*\s*\nt   classdefs   \]s   \b(property|value)\bR*   t   listcomprehensions   \ns   \bfrom\bt   waitfors8   /(?! )(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/([gim]+\b|\B)s%   \?|:|_(?=\n)|==?|!=|-(?!>)|[<>+*/-]=?sE   \b(and|or|isnt|is|not|but|bitwise|mod|\^|xor|exists|doesnt\s+exist)\bs   (?:\([^()]+\))?\s*>s   [{(]s   \[s   [})\].,]s   \b(function|method|task)\bs	   \bclass\bs   \b(safe\s+)?wait\s+for\bs#   \b(me|this)(\.[$a-zA-Z_][\w.$]*)?\bsì   (?<![.$])(for(\s+(parallel|series))?|in|of|while|until|break|return|continue|when|if|unless|else|otherwise|except\s+when|throw|raise|fail\s+with|try|catch|finally|new|delete|typeof|instanceof|super|run\s+in\s+parallel|inherits\s+from)\bsN   (?<![.$])(true|false|yes|no|on|off|null|nothing|none|NaN|Infinity|undefined)\bsÔ   (Array|Boolean|Date|Error|Function|Math|netscape|Number|Object|Packages|RegExp|String|sun|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|document|window|print)\bs%   [$a-zA-Z_][\w.$]*\s*(:|[+\-*/]?\=)?\bs%   [0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?s   0x[0-9a-fA-F]+s   [0-9]+s   """t   tdqss   '''t   tsqst   "t   dqst   't   sqss
   [^#\\\'"]+t   stringss   \}t   interpoling_strings   \\.|\'s   #\{s   #|\\.|"s   \\.|\'|"s
   #|\\.|\'|"(#   R+   R,   R-   R.   R/   R0   R1   R2   R3   R6   R   R   R8   R7   R
   t   FunctionR   R	   t   ClassR   R   R9   R   t   WordR:   t   Variablet   InstanceR<   R=   R   R?   R@   RA   t   InterpolRC   (    (    (    s>   /usr/lib/python2.7/dist-packages/pygments/lexers/javascript.pyR   ^   sˆ   																		c           B   sÄ  e  Z d  Z d Z d d g Z d g Z d g Z e j Z	 i
 d e
 f d e j f d e j f g d	 6e d	 ƒ d
 e j d f d e j f d e j f g d 6e d	 ƒ d e j d4 f d e j d f e d ƒ g d 6e d	 ƒ d e j f d e d f d e d f d e f d e d f d e j f d e j f d e j d f d e j j d f d e j d f d e j d f d e j f d e j f d e d  f d! e d" f d# e d$ f d% e d& f d' e f d( e f g d) 6d* e f g d+ 6d, e j d f e d) ƒ g d- 6d# e d f d. e f d/ e j d- f d0 e f e d+ ƒ g d$ 6d% e d f d1 e f e d+ ƒ g d& 6d e d f d2 e f d/ e j d- f d0 e f e d+ ƒ g d  6d! e d f d3 e f e d+ ƒ g d" 6Z  RS(5   sy   
    For `LiveScript`_ source code.

    .. _LiveScript: http://gkz.github.com/LiveScript/

    New in Pygments 1.6.
    t
   LiveScripts   live-scriptt
   livescripts   *.lss   text/livescripts   \s+s	   /\*.*?\*/s   #.*?\nR'   s   //([gim]+\b|\B)s   #popt   /s   [^/#]+t   multilineregexs   //s8   /(?! )(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/([gim]+\b|\B)R)   s?   (?:\([^()]+\))?[ ]*[~-]{1,2}>|(?:\(?[^()\n]+\)?)?[ ]*<[~-]{1,2}s†   \+\+|&&|(?<![.$])\b(?:and|x?or|is|isnt|not)\b|\?|:|=|\|\||\\(?=\n)|(<<|>>>?|==?|!=?|~(?!\~?>)|-(?!\-?>)|<(?!\[)|(?<!\])>|[+*`%&|^/])=?s   [{(\[;,]s   [})\].]sÃ   (?<![.$])(for|own|in|of|while|until|loop|break|return|continue|switch|when|then|if|unless|else|throw|try|catch|finally|new|delete|typeof|instanceof|super|extends|this|class|by|const|var|to|til)\bsF   (?<![.$])(true|false|yes|no|on|off|null|NaN|Infinity|undefined|void)\bsÎ   (Array|Boolean|Date|Error|Function|Math|netscape|Number|Object|Packages|RegExp|String|sun|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|document|window)\bs   [$a-zA-Z_][\w.\-:$]*\s*[:=]\ss   @[$a-zA-Z_][\w.\-:$]*\s*[:=]\st   @s   @?[$a-zA-Z_][\w-]*s/   [0-9]+\.[0-9]+([eE][0-9]+)?[fd]?(?:[a-zA-Z_]+)?s"   [0-9]+(~[0-9a-z]+)?(?:[a-zA-Z_]+)?s   """RJ   s   '''RK   RL   RM   RN   RO   s   \\\S+s	   <\[.*?\]>R*   s
   [^#\\\'"]+RP   s   \}RQ   s   \\.|\'s   #\{t   #s   #|\\.|"s   \\.|\'|"s
   #|\\.|\'|"(   s   #popR[   (!   R+   R,   R-   R.   R/   R0   R1   R2   R3   R6   R   R   R8   R7   R   R   R9   R   R
   RR   R   R   R	   R<   R=   RU   RV   R   R   R?   RA   RW   RC   (    (    (    s>   /usr/lib/python2.7/dist-packages/pygments/lexers/javascript.pyR   Ò   s„   																				c           B   s  e  Z d  Z d Z d g Z d g Z d g Z e j e j	 BZ
 i	 e d ƒ d e j f d e d f d	 e f d
 e f d e j f d e j f d e e j e ƒ d f d e f d e j f d e j f d e j f d e f d e j f d e f d e f d e j f d e f d e f d e f g d 6d e j d f g d 6e d ƒ d e f d e f d e f d e f d  e d f g d 6d! e j f d" e j f d# e j f d$ e j f d% e j d& f d' e j d( f d) e j d* f d+ e j d, f g d 6d- e j f d. e e j  e ƒ f d/ e e j  e! e" ƒ e j  ƒ f g d0 6d) e j d f d1 e j f e d0 ƒ d2 e j f g d* 6d% e j d f d3 e j f e d0 ƒ d4 e j f g d& 6d+ e j d f d5 e j f e d0 ƒ d2 e j f g d, 6d' e j d f d6 e j f e d0 ƒ d7 e j f g d( 6Z# RS(8   sT   
    For `Dart <http://dartlang.org/>`_ source code.

    .. versionadded:: 1.5
    t   Dartt   darts   *.darts   text/x-dartt   string_literals   #!(.*?)$s   \b(import|export)\bt   import_decls!   \b(library|source|part of|part)\bs   [^\S\n]+s   //.*?\ns	   /\*.*?\*/s   \b(class)\b(\s+)t   classsx   \b(assert|break|case|catch|continue|default|do|else|finally|for|if|in|is|new|return|super|switch|this|throw|try|while)\bs`   \b(abstract|const|extends|factory|final|get|implements|native|operator|set|static|typedef|var)\bs4   \b(bool|double|Dynamic|int|num|Object|String|void)\bs   \b(false|null|true)\bs   [~!%^&*+=|?:<>/-]|as\bs   [a-zA-Z_$]\w*:s   [a-zA-Z_$]\w*s   [(){}\[\],.;]s   0[xX][0-9a-fA-F]+s   \d+(\.\d*)?([eE][+-]?\d+)?s   \.\d+([eE][+-]?\d+)?s   \nR*   s   #pops   \s+s   \b(as|show|hide)\bs   \,s   \;s   r"""([\w\W]*?)"""s   r'''([\w\W]*?)'''s   r"(.*?)"s   r'(.*?)'s   """t   string_double_multilines   '''t   string_single_multilineRL   t   string_doubleRN   t   string_singlesA   \\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|u\{[0-9A-Fa-f]*\}|[a-z'\"$\\])s   (\$)([a-zA-Z_]\w*)s   (\$\{)(.*?)(\})t   string_commons
   [^"$\\\n]+s   \$+s   [^"$\\]+s   (\$|\")+s
   [^'$\\\n]+s	   [^\'$\\]+s   (\$|\')+($   R+   R,   R-   R.   R/   R0   R1   R2   R5   R3   R6   R   R   t   PreprocR	   R   R7   R8   R   R:   t   TypeR<   R   R
   t   LabelR   R   R@   RS   R   RB   t   EscapeRW   R   R   RC   (    (    (    s>   /usr/lib/python2.7/dist-packages/pygments/lexers/javascript.pyR   A  s„   																		%				c           B   sü  e  Z d  Z d Z d g Z d g Z d g Z e j e j	 BZ
 i d e f d e f d e j f d e j f g d	 6e d	 ƒ d
 e j d f d e d& f e d ƒ g d 6d e d f g d 6d e d f e d	 ƒ d e d f d e d f d e f d e d f d e j d f d e j f d e j f d e j f d e e j e e j e ƒ d f d e j f d e j f d e e j e ƒ d f d e j d f d e e j e 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 j f g d% 6Z# RS('   s`   
    For `TypeScript <http://typescriptlang.org/>`_ source code.

    .. versionadded:: 1.6
    t
   TypeScriptt   tss   *.tss   text/x-typescripts   \s+s   <!--s   //.*?\ns	   /\*.*?\*/R'   s3   /(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/([gim]+\b|\B)s   #pops   (?=/)R(   R)   s   \ns   ^(?=\s|/|<!--)s@   \+\+|--|~|&&|\?|:|\|\||\\(?=\n)|(<<|>>>?|==?|!=?|[-<>+*%&|^/])=?s   [{(\[;,]s   [})\].]s„   (for|in|while|do|break|return|continue|switch|case|default|if|else|throw|try|catch|finally|new|delete|typeof|instanceof|void|this)\bs   (var|let|with|function)\bsæ   (abstract|boolean|byte|char|class|const|debugger|double|enum|export|extends|final|float|goto|implements|import|int|interface|long|native|package|private|protected|public|short|static|super|synchronized|throws|transient|volatile)\bs*   (true|false|null|NaN|Infinity|undefined)\bsÙ   (Array|Boolean|Date|Error|Function|Math|netscape|Number|Object|Packages|RegExp|String|sun|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|Error|eval|isFinite|isNaN|parseFloat|parseInt|document|this|window)\bs(   \b(module)(\s*)(\s*[\w?.$][\w?.$]*)(\s*)s   \b(string|bool|number)\bs)   \b(constructor|declare|interface|as|AS)\bs    (super)(\s*)(\([\w,?.$\s]+\s*\))s   ([a-zA-Z_?.$][\w?.$]*)\(\) \{s+   ([\w?.$][\w?.$]*)(\s*:\s*)([\w?.$][\w?.$]*)s   [$a-zA-Z_]\w*s%   [0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?s   0x[0-9a-fA-F]+s   [0-9]+s   "(\\\\|\\"|[^"])*"s   '(\\\\|\\'|[^'])*'R*   (   s   #pops   badregex($   R+   R,   R-   R.   R/   R0   R1   R2   R3   R5   R6   R   R   R7   R8   R   R   R9   R   R   R   R	   R:   R;   R<   R
   R=   R   R   Ri   R   R?   R@   RA   RB   RC   (    (    (    s>   /usr/lib/python2.7/dist-packages/pygments/lexers/javascript.pyR   ¥  s\   												c        (   B   s  e  Z d  Z d Z d d g Z d d g Z d d d g Z d	 g Z e j	 e j
 Be j BZ i d
 e j d f d e j d f d e j dd f d e j de f d e j df f d e d f d e f e dg ƒ g d 6d e j d f d e j d f d e j d f d e j d f d e f d e f g d 6d e j d f d e f d e f g d 6d e j d f d e f d e f g d 6d e j d f e d ƒ g d 6d e j d f e d ƒ g d 6d  e j d f e d ƒ g d 6d e f d! e j f d" e j f d# e j f g d$ 6e d$ ƒ d% e j f d& e j f d' e j f d( e e e ƒ f d) e j d* f d+ e j d, f d- e j f d. e j  f d/ e j  j! f d0 e e j" j# e j  j$ ƒ f d1 e e j" j# e e j  j$ ƒ f d2 e e j" j# e j j% ƒ f d3 e e e j j% ƒ f d4 e j" j# f d5 e j& f d6 e j' f d7 e j( f d8 e e) j* e e j$ e e) ƒ f d9 e e) j* e e j$ e e j+ ƒ d: f d; e e) j* e e j+ ƒ d: f d< e e) e e j+ ƒ d: f d= e e) e e j+ ƒ f d> e) j, f d? e) j* f d@ e) j- f dA e e e e) ƒ f dB e e) e e ƒ f dC e) dD f dE e e. e) j/ ƒ f dF e e. e) ƒ f dG e. dH f dI e j0 f dJ e e e j' e ƒ f dK e e. e j ƒ f dL e e e j0 ƒ f dM e f dN e. f g& d 6d) e j d f dO e j f e dP ƒ dQ e j f g d* 6d+ e j d f dR e j f e dP ƒ dQ e j f g d, 6dS e j1 f g dP 6dT e d f dU e. d f dV e. dW f e d ƒ g d: 6dU e. d f dX e j& d f dY e j" j# f e d ƒ g dW 6dZ e d[ f d\ e f d] e d f d6 e j' f dG e. f e d$ ƒ g dD 6d^ e. d f dU e. d_ f dX e j& f d6 e j' f dY e j" j# f dV e. f e d$ ƒ g d[ 6d` e j+ d: f e d$ ƒ e d ƒ g dH 6Z2 da „  Z3 db „  Z4 dc „  Z5 RS(h   s  
    For `Lasso <http://www.lassosoft.com/>`_ source code, covering both Lasso 9
    syntax and LassoScript for Lasso 8.6 and earlier. For Lasso embedded in
    HTML, use the `LassoHtmlLexer`.

    Additional options accepted:

    `builtinshighlighting`
        If given and ``True``, highlight builtin types, traits, methods, and
        members (default: ``True``).
    `requiredelimiters`
        If given and ``True``, only highlight code between delimiters as Lasso
        (default: ``False``).

    .. versionadded:: 1.6
    t   Lassot   lassot   lassoscripts   *.lassos   *.lasso[89]s   *.incls   *.incs   *.lass   text/x-lassos   ^#!.+lasso9\bs   \[no_square_brackets\]t   nosquarebracketss   \[noprocess\]t
   delimiterst	   noprocesss   \[t   squarebracketss   <\?(LassoScript|lasso|=)t   anglebracketss   <(!--.*?-->)?s   \s+t	   lassofileR*   s   [^[<]+t   <s   [^<]+s   \[/noprocess\]s   #pops   [^[]s   \]s   \?>s   \]|\?>s   //.*?\ns   /\*\*!.*?\*/s	   /\*.*?\*/t   whitespacecommentss   \d*\.\d+(e[+-]?\d+)?s
   0x[\da-f]+s   \d+s   ([+-]?)(infinity|NaN)\bRN   t   singlestringRL   t   doublestrings   `[^`]*`s   \$[a-z_][\w.]*s   #([a-z_][\w.]*|\d+)s   (\.)('[a-z_][\w.]*')s    (self)(\s*->\s*)('[a-z_][\w.]*')s   (\.\.?)([a-z_][\w.]*(=(?!=))?)s&   (->\\?\s*|&\s*)([a-z_][\w.]*(=(?!=))?)s   (self|inherited)\bs   -[a-z_][\w.]*s   ::\s*[a-z_][\w.]*sµ  (error_(code|msg)_\w+|Error_AddError|Error_ColumnRestriction|Error_DatabaseConnectionUnavailable|Error_DatabaseTimeout|Error_DeleteError|Error_FieldRestriction|Error_FileNotFound|Error_InvalidDatabase|Error_InvalidPassword|Error_InvalidUsername|Error_ModuleNotFound|Error_NoError|Error_NoPermission|Error_OutOfMemory|Error_ReqColumnMissing|Error_ReqFieldMissing|Error_RequiredColumnMissing|Error_RequiredFieldMissing|Error_UpdateError)\bs:   (define)(\s+)([a-z_][\w.]*)(\s*=>\s*)(type|trait|thread)\bs=   (define)(\s+)([a-z_][\w.]*)(\s*->\s*)([a-z_][\w.]*=?|[-+*/%])t	   signatures   (define)(\s+)([a-z_][\w.]*)sJ   (public|protected|private|provide)(\s+)(([a-z_][\w.]*=?|[-+*/%])(?=\s*\())s5   (public|protected|private|provide)(\s+)([a-z_][\w.]*)s)   (true|false|none|minimal|full|all|void)\bs(   (local|var|variable|global|data(?=\s))\bso   (array|date|decimal|duration|integer|map|pair|string|tag|xml|null|bytes|list|queue|set|stack|staticarray|tie)\bs   ([a-z_][\w.]*)(\s+)(in)\bs   (let|into)(\s+)([a-z_][\w.]*)s	   require\bt   requiresections   (/?)(Namespace_Using)\bs  (/?)(Cache|Database_Names|Database_SchemaNames|Database_TableNames|Define_Tag|Define_Type|Email_Batch|Encode_Set|HTML_Comment|Handle|Handle_Error|Header|If|Inline|Iterate|LJAX_Target|Link|Link_CurrentAction|Link_CurrentGroup|Link_CurrentRecord|Link_Detail|Link_FirstGroup|Link_FirstRecord|Link_LastGroup|Link_LastRecord|Link_NextGroup|Link_NextRecord|Link_PrevGroup|Link_PrevRecord|Log|Loop|NoProcess|Output_None|Portal|Private|Protect|Records|Referer|Referrer|Repeating|ResultSet|Rows|Search_Args|Search_Arguments|Select|Sort_Args|Sort_Arguments|Thread_Atomic|Value_List|While|Abort|Case|Else|If_Empty|If_False|If_Null|If_True|Loop_Abort|Loop_Continue|Loop_Count|Params|Params_Up|Return|Return_Value|Run_Children|SOAP_DefineTag|SOAP_LastRequest|SOAP_LastResponse|Tag_Name|ascending|average|by|define|descending|do|equals|frozen|group|handle_failure|import|in|into|join|let|match|max|min|on|order|parent|protected|provide|public|require|returnhome|skip|split_thread|sum|take|thread|to|trait|type|where|with|yield|yieldhome)\bt   ,t   commamembers   (and|or|not)\bs0   ([a-z_][\w.]*)(\s*::\s*[a-z_][\w.]*)?(\s*=(?!=))s   (/?)([\w.]+)s,   (=)(n?bw|n?ew|n?cn|lte?|gte?|n?eq|n?rx|ft)\bs   :=|[-+*/%=<>&|!?\\]+s   [{}():;,@^]s   [^'\\]+t   escapes   \\s   [^"\\]+sO   \\(U[\da-f]{8}|u[\da-f]{4}|x[\da-f]{1,2}|[0-7]{1,3}|:[^:]+:|[abefnrtv?"\'\\]|$)s   =>s   \)s   [(,]t	   parameters   -?[a-z_][\w.]*s   \.\.\.s#   (([a-z_][\w.]*=?|[-+*/%])(?=\s*\())t   requiresignatures3   (([a-z_][\w.]*=?|[-+*/%])(?=(\s*::\s*[\w.]+)?\s*,))s   [a-z_][\w.]*=?|[-+*/%]s   (\)(?=(\s*::\s*[\w.]+)?\s*,))s   #pop:2sR   (([a-z_][\w.]*=?|[-+*/%])(?=\s*(\(([^()]*\([^()]*\))*[^)]*\)\s*)?(::[\w.\s]+)?=>))c         K   sÒ   t  | d t ƒ |  _ t  | d t ƒ |  _ t ƒ  |  _ t ƒ  |  _ |  j r¾ d d l m	 } m
 } x* t | ƒ D] \ } } |  j j | ƒ qn Wx- t | ƒ D] \ } } |  j j | ƒ q› Wn  t j |  |  d  S(   Nt   builtinshighlightingt   requiredelimitersiÿÿÿÿ(   t   BUILTINSt   MEMBERS(   R   t   TrueR‚   t   FalseRƒ   t   sett	   _builtinst   _memberst   pygments.lexers._lasso_builtinsR„   R…   R   t   updateR    t   __init__(   t   selft   optionsR„   R…   t   keyt   value(    (    s>   /usr/lib/python2.7/dist-packages/pygments/lexers/javascript.pyR   Ì  s    	c         c   sÈ   d g } |  j  r" | j d ƒ n  xŸ t j |  | | ƒ D]ˆ \ } } } | t j k rk | j ƒ  |  j k s› | t j j k r² | j ƒ  j	 d ƒ |  j
 k r² | t j | f Vq8 n  | | | f Vq8 Wd  S(   NR*   Rr   t   =(   Rƒ   t   appendR    t   get_tokens_unprocessedR
   R   t   lowerR‰   t   Membert   rstripRŠ   R=   (   RŽ   t   textt   stackt   indext   tokenR‘   (    (    s>   /usr/lib/python2.7/dist-packages/pygments/lexers/javascript.pyR”   Ü  s    		"$c         C   sm   d } d |  k r | d 7} n  t  j d |  t  j ƒ rD | d 7} n  t  j d |  t  j ƒ ri | d 7} n  | S(   Ng        s
   bin/lasso9gš™™™™™é?s   <\?lassogš™™™™™Ù?s   local\((   R2   t   searcht   I(   R˜   t   rv(    (    s>   /usr/lib/python2.7/dist-packages/pygments/lexers/javascript.pyt   analyse_texté  s    (   s
   delimitersRs   (   s
   delimitersRt   (   s
   delimitersRu   (   s
   delimitersRv   (6   R+   R,   R-   R.   R/   R0   t   alias_filenamesR1   R2   t
   IGNORECASER3   R5   R6   R   Rh   R   R   R   R   R7   R   t   DocR8   R   R?   R@   RA   R   R   RB   t   BacktickR
   RU   RV   R=   t   PseudoRS   R–   t	   AttributeRj   t	   ExceptionR	   R:   RR   R<   Ri   R   t	   NamespaceRT   Rk   RC   R   R”   RŸ   (    (    (    s>   /usr/lib/python2.7/dist-packages/pygments/lexers/javascript.pyR   ò  s  																			c           B   sY  e  Z d  Z d Z d d d d g Z d g Z d g Z d Z e j	 e j
 BZ i e d	 ƒ d
 e d e d e d e e e ƒ e e d d ƒe e ƒ ƒ f d e e e ƒ d f d e e e ƒ d f d e e e e ƒ f e d ƒ d e f d e f g d 6d e e j e e j ƒ f d e e j e e j ƒ f d e e j e e j ƒ f d e e j e e j ƒ f d e j d f d e j d  f d! e f d" e f d# e f d$ e j f d% e j f d& e f g d	 6e d	 ƒ d' e j d( f d) e dk f e d( ƒ g d+ 6d! e d( f g d* 6d, e d- f d. e j f d/ e j f d0 e j f d1 e j f d2 e j f d3 e j f d4 e j f d5 e j  f d6 e d+ f d7 e! d+ f d8 e d+ f d9 e f d: e d+ f d; e j" d+ f d< e f d= e j# f d> e$ j% f d? e j& f d@ e j& f dA e j& f dB e$ j% f dC e dD e e$ j' e e ƒ ƒ f dE e$ f g d 6dF e dG e dH e e$ j( e e ƒ e$ j( ƒ d( f dF e dI e e$ j( e e ƒ e$ j) e ƒ d( f dJ e$ j( d( f g d 6dK e e$ j( e ƒ dL f dM e e$ j( e ƒ d( f g d 6e d	 ƒ dN e dO e dP e dQ e dR e e e ƒ e j# e e ƒ e$ j' ƒ dS f dN e dO e dP e dT e e e ƒ e j# e e ƒ e$ j' ƒ d( f dU e dR e e$ j' ƒ dS f dV e e$ j' ƒ d( f e d( ƒ g d 6e d	 ƒ dN e dW e dP e dT e e e ƒ e j# e e ƒ e ƒ f dU e dR e$ j' f dX e$ j' f dY e dZ e e ƒ f dV e f g dS 6d[ e e$ j' e ƒ f d\ e d( f g d] 6d^ e d( f d_ e j* f d` e f d# e f da e f g d- 6db e j f dc e j f dd e j d( f de e j f df e j f d! e j d( f g d  6dg e j dL f dh e j d( f di e f g d 6Z+ dj „  Z, RS(l   s^   
    For Objective-J source code with preprocessor directives.

    .. versionadded:: 1.3
    s   Objective-Js   objective-jt
   objectivejs   obj-jt   objjs   *.js   text/x-objective-js   (?:\s|//.*?\n|/[*].*?[*]/)*t
   whitespaces   ^(s   [+-]s   )([(a-zA-Z_].*?[^(])(s   \{)t   statet   function_signatures!   (@interface|@implementation)(\s+)t	   classnames   (@class|@protocol)(\s*)t   forward_classnames   (\s*)(@end)(\s*)t
   statementss   [{()}]t   ;R*   s$   (@import)(\s+)("(?:\\\\|\\"|[^"])*")s$   (@import)(\s+)(<(?:\\\\|\\>|[^>])*>)s0   (#(?:include|import))(\s+)("(?:\\\\|\\"|[^"])*")s0   (#(?:include|import))(\s+)(<(?:\\\\|\\>|[^>])*>)s   #if\s+0t   if0R]   t   macros   \ns   \s+s   \\\ns   //(\n|(.|\n)*?[^\\]\n)s   /(\\\n)?[*](.|\n)*?[*](\\\n)?/s   <!--s3   /(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/([gim]+\b|\B)s   #pops   (?=/)R(   R)   s   (L|@)?"t   strings8   (L|@)?'(\\.|\\[0-7]{1,3}|\\x[a-fA-F0-9]{1,2}|[^\\\'\n])'s   "(\\\\|\\"|[^"])*"s   '(\\\\|\\'|[^'])*'s%   (\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+[lL]?s   (\d+\.\d*|\.\d+|\d+[fF])[fF]?s   0x[0-9a-fA-F]+[Ll]?s   0[0-7]+[Ll]?s   \d+[Ll]?s   ^(?=\s|/|<!--)s@   \+\+|--|~|&&|\?|:|\|\||\\(?=\n)|(<<|>>>?|==?|!=?|[-<>+*%&|^/])=?s   [{(\[;,]s   [})\].]s“   (for|in|while|do|break|return|continue|switch|case|default|if|else|throw|try|catch|finally|new|delete|typeof|instanceof|void|prototype|__proto__)\bs   (var|with|function)\bs“   (@selector|@private|@protected|@public|@encode|@synchronized|@try|@throw|@catch|@finally|@end|@property|@synthesize|@dynamic|@for|@accessors|new)\bst   (int|long|float|short|double|char|unsigned|signed|void|id|BOOL|bool|boolean|IBOutlet|IBAction|SEL|@outlet|@action)\bs   (self|super)\bs"   (TRUE|YES|FALSE|NO|Nil|nil|NULL)\bs*   (true|false|null|NaN|Infinity|undefined)\bs…   (ABS|ASIN|ACOS|ATAN|ATAN2|SIN|COS|TAN|EXP|POW|CEIL|FLOOR|ROUND|MIN|MAX|RAND|SQRT|E|LN2|LN10|LOG2E|LOG10E|PI|PI2|PI_2|SQRT1_2|SQRT2)\bsÙ   (Array|Boolean|Date|Error|Function|Math|netscape|Number|Object|Packages|RegExp|String|sun|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|Error|eval|isFinite|isNaN|parseFloat|parseInt|document|this|window)\bs   ([$a-zA-Z_]\w*)(s   )(?=\()s   [$a-zA-Z_]\w*s   ([a-zA-Z_]\w*)(t   :s   )([a-zA-Z_]\w*)?s   \()([a-zA-Z_]\w*)(\))s   ([a-zA-Z_]\w*)s   ([a-zA-Z_]\w*)(\s*,\s*)s   #pushs   ([a-zA-Z_]\w*)(\s*;?)s   (\(s   )([a-zA-Z_]\w+)(s   \)s   )([$a-zA-Z_]\w+s   :)t   function_parameterss   )([$a-zA-Z_]\w+)s   ([$a-zA-Z_]\w+s   ([$a-zA-Z_]\w+)s	   )([^)]+)(s   (:)s   (,s   \.\.\.)s   ([$a-zA-Z_]\w*)(\()s   (\))t
   expressionRL   s/   \\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|[0-7]{1,3})s	   [^\\"\n]+s   \\s   [^/\n]+s   /[*](.|\n)*?[*]/s   //.*?\nRZ   s	   (?<=\\)\ns   ^\s*#if.*?(?<!\\)\ns   ^\s*#endif.*?(?<!\\)\ns   .*?\nc         C   s    t  j d |  t  j ƒ r t St S(   Ns   ^\s*@import\s+[<"](   R2   Rœ   R5   R†   R‡   (   R˜   (    (    s>   /usr/lib/python2.7/dist-packages/pygments/lexers/javascript.pyRŸ   Ì  s    (   s   #pops   badregex(-   R+   R,   R-   R.   R/   R0   R1   t   _wsR2   R3   R5   R6   R   R   R   R   R	   R   R   R   Rh   R   RB   R7   R8   R9   R   t   CharR   R?   R@   t   OctRA   R   R:   Ri   R
   R=   R<   RR   RS   Rj   Rk   RC   RŸ   (    (    (    s>   /usr/lib/python2.7/dist-packages/pygments/lexers/javascript.pyR   ô  sô   																!$	#	$				c           B   sÇ  e  Z d  Z d Z d d d g Z d g Z d g Z e j Z	 i
 d e
 f d e j f d	 e j f g d
 6d e j f d e j d f d e j d f d e j f g d 6e d
 ƒ d e j d4 f d e j d f e d ƒ g d 6e d
 ƒ d e d f d e j f d e d f d e f d e d f d e j f d e j f d e j d f d e j j d f d e j d f d e j d f d  e j f d! e j f d" e j  f d# e d$ f d% e d& f d' e d( f d) e d* f g d+ 6d, e f g d- 6d. e j d f e d+ ƒ g d 6d' e d f d/ e f d e j d f d0 e f e d- ƒ g d( 6d) e d f d1 e f e d- ƒ g d* 6d# e d f d2 e f d e j d f d0 e f e d- ƒ g d$ 6d% e d f d3 e f e d- ƒ g d& 6Z! RS(5   st   
    For `CoffeeScript`_ source code.

    .. _CoffeeScript: http://coffeescript.org

    .. versionadded:: 1.3
    t   CoffeeScripts   coffee-scriptt   coffeescriptt   coffees   *.coffees   text/coffeescripts   \s+s   ###[^#].*?###s   #(?!##[^#]).*?\nR'   s   [^/#]+s   ///([gim]+\b|\B)s   #pops   #\{RQ   s   [/#]R[   s   ///s8   /(?! )(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/([gim]+\b|\B)R)   sw   \+\+|~|&&|\band\b|\bor\b|\bis\b|\bisnt\b|\bnot\b|\?|:|\|\||\\(?=\n)|(<<|>>>?|==?(?!>)|!=?|=(?!>)|-(?!>)|[<>+*`%&|^/])=?s   (?:\([^()]*\))?\s*[=-]>s   [{(\[;,]s   [})\].]s²   (?<![.$])(for|own|in|of|while|until|loop|break|return|continue|switch|when|then|if|unless|else|throw|try|catch|finally|new|delete|typeof|instanceof|super|extends|this|class|by)\bsA   (?<![.$])(true|false|yes|no|on|off|null|NaN|Infinity|undefined)\bsÎ   (Array|Boolean|Date|Error|Function|Math|netscape|Number|Object|Packages|RegExp|String|sun|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|document|window)\bs   [$a-zA-Z_][\w.:$]*\s*[:=]\ss   @[$a-zA-Z_][\w.:$]*\s*[:=]\sR\   s   @?[$a-zA-Z_][\w$]*s%   [0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?s   0x[0-9a-fA-F]+s   [0-9]+s   """RJ   s   '''RK   RL   RM   RN   RO   R*   s
   [^#\\\'"]+RP   s   \}s   \\.|\'R]   s   #|\\.|"s   \\.|\'|"s
   #|\\.|\'|"(   s   #pops   multilineregex("   R+   R,   R-   R.   R/   R0   R1   R2   R3   R6   R   R   R8   R7   R   R9   RW   R   R   R   R
   RR   R   R	   R<   R=   RU   RV   R   R   R?   R@   RA   RC   (    (    (    s>   /usr/lib/python2.7/dist-packages/pygments/lexers/javascript.pyR   Ó  s~   																		c           B   sÜ  e  Z d  Z d Z d g Z d g Z d g Z e j e j	 Be j
 BZ i d e f d e j f d e j f d e f d	 e d
 f d e d f d e d f d e d f d e j d f d e j d f d e j d f d e j j d f g d 6d e j f d e j d f d e j f g d 6d e j d f e d ƒ g d 6d e j d f e d ƒ g d 6d	 e j d f e d ƒ g d
 6d e j d f e d ƒ g d 6d e j d f d e j d f d  e j f d! e j f g d 6d! e e ƒ d f g d 6d e f d" e j j d# f d$ e j d% f d& e j d' f d( e j d) f d* e j f d+ e d f g d 6d, e j j f d e j d f e d ƒ g d# 6d, e j f d e j d f e d ƒ g d% 6d e f d- e j d f d e d. f d e d/ f e d ƒ g d) 6d e f d e j d0 f d e j d1 f e d) ƒ g d' 6d e f d2 e f d3 e j f g d4 6e d4 ƒ d e j d5 f d6 e j  f g d0 6e d4 ƒ d e j d5 f d7 e j  f g d1 6d e j d5 f e d ƒ g d. 6d e j d5 f e d ƒ g d/ 6Z! RS(8   s[   
    For `Mask <http://github.com/atmajs/MaskJS>`__ markup.

    .. versionadded:: 2.0
    t   Maskt   masks   *.masks   text/x-masks   \s+s   //.*?\ns	   /\*.*?\*/s   [{};>]s   '''s   string-trpl-singles   """s   string-trpl-doubleRN   s   string-singleRL   s   string-doubles   ([\w-]+)t   nodes   ([^.#;{>\s]+)s	   (#[\w-]+)s
   (\.[\w-]+)R*   s   \\.s   ~\[t   interpolationt   .s   string-bases   #pops   \]s   \s*:R¶   s   \s*\w+:s   [^\]]+s   \.s
   node-classs   \#s   node-ids   style[ \t]*=s   node-attr-style-values   [\w:-]+[ \t]*=s   node-attr-values   [\w:-]+s   [>{;]s   [\w-]+s   \w+s   string-single-pop2s   string-double-pop2s   css-single-ends   css-double-endR°   s   [\w\-]+\s*:s   css-bases   #pop:2s   [^;']+s   [^;"]+("   R+   R,   R-   R.   R/   R0   R1   R2   R5   R¡   R3   R6   R   R   R7   R8   R   R   R
   t   TagRS   RR   RU   Rk   RW   R   R   R   R   R¥   R   R=   t   EntityRC   (    (    (    s>   /usr/lib/python2.7/dist-packages/pygments/lexers/javascript.pyR   ?  sŒ   												('   R-   R2   t   pygments.lexerR    R   R   R   R   R   t   pygments.tokenR   R   R   R	   R
   R   R   R   R   t   pygments.utilR   R   t   pygments.unistringt	   unistringt   unit   __all__t   combinet   JS_IDENT_STARTt   JS_IDENT_PARTR>   R   R   R   R   R   R   R   R   R   (    (    (    s>   /usr/lib/python2.7/dist-packages/pygments/lexers/javascript.pyt   <module>
   s.   .@	+>todMÿ ßl