N
ìuŠ9c       ss    d  Z  
  d Z  k Z k Z  k l  e Z  d e e < e d Z	  d e e	 < d   Z
  d   Z  d   Z ! d Z " d	 Z # e e d
 e  e e  Z $ d Z & d Z ' d Z ( d Z ) e
 e e e  Z * d Z + e
 d d  e e  Z , d e Z - e
 e e  Z . e
 d d e d  Z / e
 e e e  Z 1 e d d  d Z 2 e d d  d Z 3 e d d d d d d  d Z 4 e d d d  d! d" d#  d$ Z 5 e
 d% d&  Z 6 e
 d' e d( d  d 7 d) e d* d  d  Z  9 e
 d+ d, d- d. d/ d0 d1 d2 d3 d4 : d5 d6 d7 d8 d9 d: d; d< d= d>  Z! ; d? Z" < e
 d@ dA  Z# = e
 e! e" e#  Z$ ? e
 e e$ e  e  Z% @ e e% Z& B e
 d' e d d(  e
 d d
  C d) e d d*  e
 d d
   Z' D e
 d
 e e  Z( E e e
 e( e e$ e' e  Z) G e* e i+ e& e) e e f  \ Z, Z- Z. Z/ I h  e i+ e  d <e i+ e  d <e. d <e/ d$ <e. dB <e/ dC <e. dD <e/ dE <e0 dF <e0 dG <Z1 N dH Z2 O dI Z3 P dJ   Z4 T e4 dK  Z5 È e6 dL j oZ É k7 Z7 Ê e8 e7 i9  d j o! Ê e5 e: e7 i9 d  i;  n Ë e5 e7 i< i;  n dM S(N   s  Tokenization help for Python programs.

This module exports a function called 'tokenize()' that breaks a stream of
text into Python tokens.  It accepts a readline-like method which is called
repeatedly to get the next line of input (or "" for EOF) and a "token-eater"
function which is called once for each token found.  The latter function is
passed the token type, a string containing the token, the starting and
ending (row, column) coordinates of the token, and the original line.  It is
designed to match the working of the Python tokenizer exactly, except that
it produces COMMENT tokens for comments and gives type OP for all operators.s2   Ka-Ping Yee, 26 October 1997; patched, GvR 3/30/98s   COMMENTi   s   NLc     s"     d t  i |  d  d Sd  S(   Ns   (s   |s   )(   s   strings   joins   choices(   s   choicess,   /usr/lib/python1.5/site-packages/tokenize.pys   group s    c     s     t  t |   d Sd  S(   Ns   *(   s   applys   groups   choices(   s   choicess,   /usr/lib/python1.5/site-packages/tokenize.pys   any s    c     s     t  t |   d Sd  S(   Ns   ?(   s   applys   groups   choices(   s   choicess,   /usr/lib/python1.5/site-packages/tokenize.pys   maybe s    s   [ \f\t]*s	   #[^\r\n]*s   \\\r?\ns   [a-zA-Z_]\w*s   0[xX][\da-fA-F]*[lL]?s   0[0-7]*[lL]?s   [1-9]\d*[lL]?s   [eE][-+]?\d+s   \d+\.\d*s   \.\d+s   [1-9]\d*s   0[jJ]s   [1-9]\d*[jJ]s   [jJ]s   [^'\\]s   \\.s   's   [^"\\]s   "s   '[^'\\]s   '\\.s   ''[^'\\]s   ''\\.s   '''s   "[^"\\]s   "\\.s   ""[^"\\]s   ""\\.s   """s   [rR]?'''s   [rR]?"""s   [rR]?'s   [^\n'\\]s   [rR]?"s   [^\n"\\]s   \+s   \-s   \*\*s   \*s   \^s   ~s   /s   %s   &s   \|s   <<s   >>s   ==s   <=s   <>s   !=s   >=s   =s   <s   >s   [][(){}]s   \r?\ns   [:;.,`]s   r'''s   r"""s   R'''s   R"""s   rs   Ri   s
   TokenErrorc 	   sG   P | \ } } | \ } } Q d | | | | t |  t |  f GHd  S(   Ns   %d,%d-%d,%d:	%s	%s(   s   srows   scols   erows   ecols   tok_names   types   reprs   token(	   s   types   tokens   .4s   .6s   lines   srows   scols   erows   ecols,   /usr/lib/python1.5/site-packages/tokenize.pys
   printtokenP s   c    s1  T U d } } } V t i d t i f \ } } W d d f \ } } X t
 }	 Y d g }
 [ xc[ d oX\ |    } ] | d } ^ d t |  f \ } } ` | o=a | o b t d | f  n c | i |  } d | of e | i d  } } f | t | | |  g | | | f |	 |  h d d f \ } } i t
 }	 n j | o! | d d j o | d d	 j oH k | t | | l | | t |  f |	  m d } n t
 }	 o qc n! q | | } r |	 | }	 s qc n)u | d j o | oàv | o v Pn w d } x x x | | j  o y | | d
 j o y | d } nS z | | d j o z | t d t } n& { | | d j o { d } n | P} | d } q"W~ | | j o ~ Pn  | | d j oP  | t t f | | d j | |  | | f | t |  f |   qc n  | |
 d j o=  |
 i |   | t  | |  | d f | | f |  n  xM  | |
 d j  o7  |
 d  }
  | t! d | | f | | f |  qWn1  | o  t d | d f f  n  d }  x« | | j  o t" i | |  }  | o: | i$ d  \ } }  | | f | | f | f \ } } }  | | | !| | f \ } }  | | j p | d j o
 | d j o  | t* | | | |  n | d j o4  | | d j o t p t+  | | | |  nM | d j o  | t | | | |  n   | d d d d d d f j o ¢ t, | } £ | i | |  } € | oE ¥ | i d  } Š | | | !} § | t | | | | f |  n* © | | f } ª | | } « | }	 ¬ Pn`­ | d d f j p | d  d d d d f j o ¯ | d d j oU ° | | f } ± t, | p t, | d } ² | | d f \ } } ³ | }	 Ž Pn ¶ | t | | | |  nŠ · | | j o ž | t- | | | |  ny ¹ | d j o º d } n\ Œ | d  j o Œ | d } n" œ | d! j o œ | d } n Ÿ | t. | | | |  n> À | t | | Á | | f | | d f |  Â | d } qWqc WÄ x< |
 d d Ä r+ } Å | t! d | d f | d f d  qÖWÆ | t0 d | d f | d f d  d  S("   Ni    s   _s    i   s   EOF in multi-line stringi   s   \
i   s   \
s    s   	s   s   #
s   #s   EOF in multi-line statements   .s   
s   '''s   """s   r'''s   r"""s   R'''s   R"""s   's   "s   r's   r"s   R's   R"s   
s   \s   ([{s   )]}(1   s   lnums   parenlevs	   continueds   strings   letterss   digitss	   namecharss   numcharss   contstrs   needconts   Nones   contlines   indentss   readlines   lines   lens   poss   maxs
   TokenErrors   strstarts   endprogs   matchs   endmatchs   ends
   tokeneaters   STRINGs
   ERRORTOKENs   columns   tabsizes   NLs   COMMENTs   appends   INDENTs   DEDENTs
   pseudoprogs   pseudomatchs   spans   starts   sposs   eposs   tokens   initials   NUMBERs   NEWLINEs   endprogss   NAMEs   OPs   indents	   ENDMARKER(   s   readlines
   tokeneaters   lnums   parenlevs	   continueds	   namecharss   numcharss   contstrs   needconts   contlines   indentss   lines   poss   maxs   endmatchs   ends   columns   pseudomatchs   starts   sposs   eposs   tokens   initials   endprogs   strstarts   indents,   /usr/lib/python1.5/site-packages/tokenize.pys   tokenizeT sØ   	 


.		

 	     $"
- .	 
' *"
#	3	    	)s   __main__N(=   s   __doc__s   __version__s   strings   res   tokens   *s   N_TOKENSs   COMMENTs   tok_names   NLs   groups   anys   maybes
   Whitespaces   Comments   Ignores   Names	   Hexnumbers	   Octnumbers	   Decnumbers	   Intnumbers   Exponents
   Pointfloats   Expfloats   Floatnumbers
   Imagnumbers   Numbers   Singles   Doubles   Single3s   Double3s   Triples   Strings   Operators   Brackets   Specials   Funnys
   PlainTokens   Tokens   ContStrs   PseudoExtrass   PseudoTokens   maps   compiles	   tokenprogs
   pseudoprogs   single3progs   double3progs   Nones   endprogss   tabsizes
   TokenErrors
   printtokens   tokenizes   __name__s   syss   lens   argvs   opens   readlines   stdin(    s,   /usr/lib/python1.5/site-packages/tokenize.pys   ?
 sj   	
				!					""$'	#&-u		t	 !