HEX
Server: LiteSpeed
System: Linux standart9.isimtescil.net 3.10.0-962.3.2.lve1.5.26.7.el7.x86_64 #1 SMP Wed Oct 2 07:53:12 EDT 2019 x86_64
User: karalev (5310)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: //opt/alt/python27/lib/python2.7/site-packages/babel/messages/jslexer.pyc
�
���Qc+@s+dZddlmZddlZddlmZddddd	d
ddd
ddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/g+Zejd0d1��id2d36d4d56d6d76d8d96d:d;6Zdej
d<�fdej
d=�fd>ej
d?�fd@ej
dA�fdBej
dC�fdDej
dE�fdFej
dGdjeej
e���fdHej
dI�fgZej
dJ�Zej
dK�Zej
dL�Zej
dMej�Zej
dN�ZdOefdP��YZdQ�ZdR�ZdS�ZdS(Ts�
    babel.messages.jslexer
    ~~~~~~~~~~~~~~~~~~~~~~

    A simple JavaScript 1.5 lexer which is used for the JavaScript
    extractor.

    :copyright: (c) 2013 by the Babel Team.
    :license: BSD, see LICENSE for more details.
i����(t
itemgetterN(tunichrt+t-t*t%s!=s==t<t>s<=s>=t=s+=s-=s*=s%=s<<s>>s>>>s<<=s>>=s>>>=t&s&=t|s|=s&&s||t^s^=t(t)t[t]t{t}t!s--s++t~t,t;t.t:tkeycCst|�S(N(tlen(ta((sG/opt/alt/python27/lib/python2.7/site-packages/babel/messages/jslexer.pyt<lambda>tstbstfs
tns
trs	tts\s+(?u)s<!--.*tlinecomments//.*tmultilinecomments/\*.*?\*/(?us)tnames(\$+\w*|[^\W\d]\w*)(?u)tnumbersf(?x)(
        (?:0|[1-9]\d*)
        (\.\d+)?
        ([eE][-+]?\d+)? |
        (0x[a-fA-F0-9]+)
    )toperators(%s)tstringsY(?xs)(
        '(?:[^'\\]*(?:\\.[^'\\]*)*)'  |
        "(?:[^"\\]*(?:\\.[^"\\]*)*)"
    )s/=?s)/(?:[^/\\]*(?:\\.[^/\\]*)*)/[a-zA-Z]*(?s)s(\r\n|\n|\r)s\\s[a-fA-F0-9]{1,4}tTokencBsSeZdZdZd�Zeed��Zeed��Zeed��Z	RS(s-Represents a token as returned by `tokenize`.cCstj||||f�S(N(ttuplet__new__(tclsttypetvaluetlineno((sG/opt/alt/python27/lib/python2.7/site-packages/babel/messages/jslexer.pyR*9siii((
t__name__t
__module__t__doc__t	__slots__R*tpropertyRR,R-R.(((sG/opt/alt/python27/lib/python2.7/site-packages/babel/messages/jslexer.pyR(5s	cCs)|jdkr|jdkS|jdkS(
szA helper function that helps the tokenizer to decide if the current
    token may be followed by a division operator.
    R&R
RRs++s--R$R%R'tregexp(R
RRs++s--(R$R%R'R4(R,R-(ttoken((sG/opt/alt/python27/lib/python2.7/site-packages/babel/messages/jslexer.pytindicates_divisionAs
cCs�|r*|d|dkr*|ddks6td��tjd|dd!�}g}|j}d}x0|jd|�}|dkr�Pn||||!�||d}|tkr�|t|�n�|dkrtj||d	�}|dk	rr|j	�}t
|�d
krRy|tt|d���Wnt
k
rAqRX|d}qgn|||�|j�}qgq�||�n
||�|d	}qgW|t
|�kr�|||�nd
j|�S(srUnquote a string with JavaScript rules.  The string has to start with
    string delimiters (``'`` or ``"``.)
    ii����s"'s)string provided is not properly delimiteds\1is\tuUiiiiuN(tAssertionErrortline_join_retsubtappendtfindtescapest
uni_escape_retmatchtNonetgroupRRtintt
ValueErrortendtjoin(R'tresulttaddtpost
escape_post	next_chartescapedt
escaped_value((sG/opt/alt/python27/lib/python2.7/site-packages/babel/messages/jslexer.pytunquote_stringJsD-		



c
cs&t}d}d}t|�}x||kr!x�tD].\}}|j||�}|dk	r4Pq4q4W|r�tj||�}d}ntj||�}d}|dkr�|d7}q!n|j�}|dk	r�t|||�}	t	|	�}|	Vn|tt
j|��7}|j�}q!WdS(sBTokenize a JavaScript source.  Returns a generator of tokens.
    iiR&R4N(
tFalseRtrulesR?R@tdivision_retregex_reRAR(R6tline_retfindallRD(
tsourcet
may_divideRHR.RDt
token_typetruleR?ttoken_valueR5((sG/opt/alt/python27/lib/python2.7/site-packages/babel/messages/jslexer.pyttokenize�s0	
(R1R&Rtret
babel._compatRt	operatorstsortR=R@tcompileREtmaptescapeRORPRQRRtpatternR9R>R)R(R6RMRY(((sG/opt/alt/python27/lib/python2.7/site-packages/babel/messages/jslexer.pyt<module>s8!!*)		+				8