mò
Y'ÐBc           @   sÇ  y e  Wn e j
 o d  Z  d Z n Xd k Z d k Z d k Z d k Z d k l Z d k	 l
 Z
 l Z l Z l Z l Z d Z d Z e i d ƒ Z d „  Z e e e f Z d	 „  Z d
 „  Z d d e e e d d „ Z d f  d „  ƒ  YZ d f  d „  ƒ  YZ d f  d „  ƒ  YZ d f  d „  ƒ  YZ d f  d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d f  d „  ƒ  YZ  d e! f d „  ƒ  YZ" d e! f d  „  ƒ  YZ# d! e i f d" „  ƒ  YZ$ d S(#   i   i    N(   s
   entitydefs(   s
   StringTypes   UnicodeTypes   IntTypes   LongTypes	   FloatTypes   0.0.1ai   s   \s+c         C   s   t  i d |  ƒ S(   Nt    (   t   WHITESPACE_REt   subt   text(   R   (    (    t8   /Depot/WWW/Documents/mw_test0/wikipdf/src/ClientTable.pyt   collapse_whitespaceO   s    c         C   sB   y |  d Wn/ t t f j
 o d Sn t j
 o n Xd S(   Ni    i   (   t   objectt	   TypeErrort   KeyErrort
   IndexError(   R   (    (    R   t
   issequenceS   s     c         C   s,   t  |  t ƒ p t  |  t ƒ o t Sn t S(   N(   t
   isinstanceR   t
   StringTypet   UnicodeTypet   Truet   False(   R   (    (    R   t   isstringlike]   s     iÿÿÿÿc   
      C   s—   t  | | | | | | ƒ } xT |  i	 t
 ƒ }	 y | i |	 ƒ Wn t j
 o Pn Xt |	 ƒ t
 j o Pq q Wx | i D] } | i ƒ  q| W| i S(   Ni   (   t   TableParsert   nr_to_parset   nr_toplevel_to_parset   single_spant
   strip_tagsR   t   recode_entitiest   tpt   filet   readt   CHUNKt   datat   feedt   ParseFinishedt   lent   tablest   tablet   fixup(
   R   R   R   R   R   R   R   R   R    R   (    (    R   t	   ParseFileb   s(     	   

 t	   HTMLTablec           B   s¡   t  Z d  Z e d „ Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d „  Z d „  Z d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   Nc         C   s   | |  _ g  |  _ g  |  _ d  S(   N(   R   t   selft   _single_spant   _datat   _sub_tables(   R$   R   (    (    R   t   __init__œ   s    		c         C   s   |  i i | ƒ d  S(   N(   R$   R&   t   appendt   row(   R$   R*   (    (    R   t   push_row¡   s    c         C   s   |  i i | ƒ d  S(   N(   R$   R&   R)   R    (   R$   R    (    (    R   t
   push_table¤   s    c         C   s   | |  _ d  S(   N(   t   max_colsR$   t	   _max_cols(   R$   R-   (    (    R   t   set_max_cols§   s    c         C   s  x |  i D] } | i ƒ  q
 Wh  } t |  i ƒ } d  g | } xü t	 | ƒ D]î } |  i | } t | d ƒ o- | }
 t ƒ  } | i |
 ƒ | |  i | <n` x\ t	 t | ƒ ƒ D]H } | | } t | d ƒ o q° n | i | ƒ o q° n d  | | <q° W|  i t | ƒ }	 x) |	 d j o | i d  ƒ |	 d 8}	 qWqM Wd  |  _ x) |  i D] } | i o | |  _ PqRqRWx |  i D] } |  i | _ q~Wt |  i d ƒ } |  i } x: t	 | ƒ D], } |  i | ƒ o |  i | ƒ |  _ q½q½Wx |  i D] }
 |
 i ƒ  q÷Wd  S(   Nt   is_tablei    i   (   R$   R&   t   objR!   t
   cells_doneR   t   nr_rowst   Nonet   rowst   ranget   iR*   t   hasattrR    t   TableRowR,   t   jt   cellt   has_keyR.   t   to_padt	   push_cellt   headers_rowt	   is_headert   nr_colsR   t   _col_is_headert   _col_from_indext   headers_colR'   (   R$   R2   R5   R1   RA   R7   R:   R3   R;   R=   R    R   R*   (    (    R   R!   ª   sZ    
  	 
   	
 
		
 	 
 c         C   sX   xQ |  i D]F } y | | i } Wn t j
 o t Sq
 X| d j o t Sq
 q
 Wt S(   Nt   th(	   R$   R&   R*   t   colnrt   element_typet   elt   AttributeErrorR   R   (   R$   RF   RH   R*   (    (    R   RB   á   s    
 	c         C   so   t  |  i | ƒ ƒ } xI |  i D]> } | | } t | d ƒ o | i	 | ƒ q | i
 | ƒ q W| i ƒ  | S(   NR0   (   t   TableColumnR$   RB   RF   t   tcR&   R*   R1   R8   R,   R>   R!   (   R$   RF   R1   RK   R*   (    (    R   RC   î   s    
 

c         C   s)   t  | ƒ o |  i | ƒ Sn |  i | S(   N(   R   t   keyR$   t   get_col_by_nameR&   (   R$   RL   (    (    R   t   __getitem__ù   s    c         C   s<   |  i d  j o t d ‚ n |  i i | ƒ } |  i | ƒ S(   Ns   no header row has been set(   R$   R?   R4   R   t   indext   colnameR7   RC   (   R$   RP   R7   (    (    R   RM   þ   s
     c         C   s:   |  i d  j o t d ‚ n |  i i | ƒ } |  i | S(   Ns   no header column has been set(   R$   RD   R4   R   RO   t   rownameR7   R&   (   R$   RQ   R7   (    (    R   t   get_row_by_name  s
     c         C   sc   t  ƒ  } xI |  i D]> } | | } t | d ƒ o | i | ƒ q | i	 | ƒ q W| i
 ƒ  | S(   NR0   (   RJ   RK   R$   R&   R*   RF   R1   R8   R,   R>   R!   (   R$   RF   R1   RK   R*   (    (    R   t   get_col_by_nr  s     	
 

c         C   s   |  i | S(   N(   R$   R&   t   rownr(   R$   RT   (    (    R   t   get_row_by_nr  s     c         C   s   t  |  i ƒ S(   N(   t   iteratorR$   RS   (   R$   (    (    R   t   col_iter  s     c         C   s   t  |  i ƒ S(   N(   RV   R$   RU   (   R$   (    (    R   t   __iter__!  s    c         C   sK   g  } x" |  i D] } | i d | ƒ q Wd |  i i t i | d ƒ f S(   Ns       %ss   %s[
%s]s   
(	   t   repR$   R&   R*   R)   t	   __class__t   __name__t   stringt   join(   R$   RY   R*   (    (    R   t   __str__#  s
    
 c         C   s   t  |  i ƒ S(   N(   R   R$   R&   (   R$   (    (    R   t   __len__)  s    (   R[   t
   __module__R4   R0   R   R(   R+   R,   R/   R!   RB   RC   RN   RM   RR   RS   RU   RW   RX   R^   R_   (    (    (    R   R#      s$    				7										RV   c           B   s#   t  Z d „  Z d „  Z d „  Z RS(   Nc         C   s   d |  _ | |  _ d  S(   Ni    (   R$   t   _iterator__it   index_fnt   _iterator__index_fn(   R$   Rb   (    (    R   R(   .  s     	c         C   s   |  S(   N(   R$   (   R$   (    (    R   RX   7  s    c         C   sE   y |  i |  i ƒ } Wn t j
 o t ‚ n X|  i d 7_ | S(   Ni   (   R$   Rc   Ra   t   rR	   t   StopIteration(   R$   Rd   (    (    R   t   next8  s    (   R[   R`   R(   RX   Rf   (    (    (    R   RV   -  s   			t   Cellholdc           B   s>   t  Z d d d d „ Z d „  Z d „  Z d „  Z d „  Z RS(   Nt   tdi   c         C   s|   t  | ƒ p t d ‚ n t | t ƒ p t d ‚ n t | t ƒ p t d ‚ n | |  _ | |  _ | |  _ | |  _ d  S(   Ns)   a string-like object is required for datas"   an integer is required for rowspans"   an integer is required for colspan(	   R   R   R   R   t   rowspant   NumericTypest   colspanR$   RG   (   R$   R   RG   Ri   Rk   (    (    R   R(   B  s    			c         C   sK   t  | t ƒ o |  i | i j o d SqG n |  i | j o d Sn d S(   Ni    i   (   R   t   otherRg   R$   R   (   R$   Rl   (    (    R   t   __cmp__N  s      c         C   s   |  i S(   N(   R$   R   (   R$   (    (    R   R^   T  s    c         C   sQ   |  i d j p |  i d j o d |  i |  i f } n d } d | |  i f S(   Ni   s   %dx%d t    s   <%sCellhold[%s]>(   R$   Ri   Rk   t   spanR   (   R$   Ro   (    (    R   t   __repr__U  s     c         C   s
   t  |  ƒ S(   N(   t   idR$   (   R$   (    (    R   t   __hash__\  s    (   R[   R`   R(   Rm   R^   Rp   Rr   (    (    (    R   Rg   A  s
   			t   Cellc           B   s>   t  Z d d d d „ Z d „  Z d „  Z d „  Z d „  Z RS(   NRh   i   c         C   s|   t  | ƒ p t d ‚ n t | t ƒ p t d ‚ n t | t ƒ p t d ‚ n | |  _ | |  _ | |  _ | |  _ d  S(   Ns)   a string-like object is required for datas"   an integer is required for rowspans"   an integer is required for colspan(	   R   R   R   R   Ri   Rj   Rk   R$   RG   (   R$   R   RG   Ri   Rk   (    (    R   R(   g  s     			c         C   sK   t  | t ƒ o |  i | i j o d SqG n |  i | j o d Sn d S(   Ni    i   (   R   Rl   Rs   R$   R   (   R$   Rl   (    (    R   Rm   {  s      c         C   s   |  i S(   N(   R$   R   (   R$   (    (    R   R^     s    c         C   sQ   |  i d j p |  i d j o d |  i |  i f } n d } d | |  i f S(   Ni   s   %dx%d Rn   s   <%sCell[%s]>(   R$   Ri   Rk   Ro   R   (   R$   Ro   (    (    R   Rp   ‚  s     c         C   s
   t  |  ƒ S(   N(   Rq   R$   (   R$   (    (    R   Rr   ‰  s    (   R[   R`   R(   Rm   R^   Rp   Rr   (    (    (    R   Rs   _  s    			t   TableSeqc           B   sn   t  Z e d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z d „  Z RS(   Nc         C   s3   | o t |  _  n
 t |  _  d  |  _ g  |  _ d  S(   N(   R@   R   R$   R   R4   t   headersR&   (   R$   R@   (    (    R   R(   Ž  s
     		c         C   s   d  S(   N(    (   R$   (    (    R   R!   ”  s    c         C   s   |  i i | ƒ d  S(   N(   R$   R&   R)   R    (   R$   R    (    (    R   R,   –  s     c         C   sJ   g  } x$ |  i D] } | i t | ƒ ƒ q Wd |  i i d i | ƒ f S(   Ns   %s[%s]s   , (	   RY   R$   R&   t   lineR)   t   reprRZ   R[   R]   (   R$   Rv   RY   (    (    R   R^   š  s
    
 c         C   s   | |  i j S(   N(   t   itemR$   R&   (   R$   Rx   (    (    R   t   __contains__Ÿ  s    c         C   s   t  |  i ƒ S(   N(   R   R$   R&   (   R$   (    (    R   R_      s    c         C   s   |  i | S(   N(   R$   R&   R7   (   R$   R7   (    (    R   RN   ¡  s    c         C   s   |  i i | | ƒ d  S(   N(   R$   R&   t   insertR7   Rx   (   R$   R7   Rx   (    (    R   Rz   ¢  s     c         C   s    | t _ |  i i | | ƒ d  S(   N(   R\   Rs   R   R$   R&   Rz   R7   Rx   (   R$   R7   Rx   R\   (    (    R   t
   insertdata¥  s     	c         C   s   |  i i | ƒ S(   N(   R$   R&   t   countRx   (   R$   Rx   (    (    R   R|   ª  s    c         C   s   |  i i | ƒ S(   N(   R$   R&   RO   Rx   (   R$   Rx   (    (    R   RO   «  s    (   R[   R`   R   R(   R!   R,   R^   Ry   R_   RN   Rz   R{   R|   RO   (    (    (    R   Rt   Œ  s    									R9   c           B   s8   t  Z e d „ Z d „  Z d „  Z d „  Z d „  Z RS(   Nc         C   s   t  i |  | ƒ d  |  _ d  S(   N(   Rt   R(   R$   R@   R4   R?   (   R$   R@   (    (    R   R(   ¸  s    c         C   s5   | d  j	 o |  i i | ƒ n |  i i | ƒ d  S(   N(   R;   R4   R$   R&   R)   (   R$   R;   (    (    R   R>   ¼  s
      c         C   s)   t  | ƒ o |  i | ƒ Sn |  i | S(   N(   R   RL   R$   t   get_cell_by_nameR&   (   R$   RL   (    (    R   RN   Å  s    c         C   s   |  i | S(   N(   R$   R&   RF   (   R$   RF   (    (    R   t   get_cell_by_nrÊ  s     c         C   s>   |  i d  j o t d ‚ n |  i i | ƒ } |  i | Sd  S(   Ns   no header row has been set(   R$   R?   R4   R   RO   RP   R7   R&   (   R$   RP   R7   (    (    R   R}   Î  s
     (   R[   R`   R   R(   R>   RN   R~   R}   (    (    (    R   R9   ±  s    				RJ   c           B   s8   t  Z e d „ Z d „  Z d „  Z d „  Z d „  Z RS(   Nc         C   s   t  i |  | ƒ d  |  _ d  S(   N(   Rt   R(   R$   R@   R4   RD   (   R$   R@   (    (    R   R(   Þ  s    c         C   s   |  i i | ƒ d  S(   N(   R$   R&   R)   R;   (   R$   R;   (    (    R   R>   â  s    c         C   s)   t  | ƒ o |  i | ƒ Sn |  i | S(   N(   R   RL   R$   R}   R&   (   R$   RL   (    (    R   RN   æ  s    c         C   s   |  i | S(   N(   R$   R&   RT   (   R$   RT   (    (    R   R~   ë  s     c         C   s>   |  i d  j o t d ‚ n |  i i t ƒ } |  i | Sd  S(   Ns   no header column has been set(   R$   RD   R4   R   RO   RQ   R7   R&   (   R$   RP   R7   (    (    R   R}   ï  s
     (   R[   R`   R   R(   R>   RN   R~   R}   (    (    (    R   RJ   ×  s    			t
   ParseStatec           B   s   t  Z d „  Z RS(   Nc         C   s¦   g  |  _ d  |  _ d  |  _ t |  _ t |  _ t |  _ t |  _	 t |  _
 d |  _ d |  _ t |  _ t |  _ d |  _ d |  _ d |  _ d |  _ d |  _ d |  _ d  S(   Ni    i   (   R$   t	   cell_dataR4   R    t   tablerowR   t   in_tablet   in_trt   in_tht   in_tdt   in_colgroupt   colR*   t   in_header_rowt   have_colt
   tx_colspant
   tx_rowspant   tx_colst   colgroup_spant   colgroup_colst   col_cols(   R$   (    (    R   R(     s$    																	(   R[   R`   R(   (    (    (    R   R   
  s   t
   ParseErrorc           B   s   t  Z RS(   N(   R[   R`   (    (    (    R   R   -  s    R   c           B   s   t  Z RS(   N(   R[   R`   (    (    (    R   R   .  s    R   c           B   s°   t  Z d Z d d e e e d  d „ Z d	 „  Z d
 „  Z d „  Z d „  Z	 d „  Z
 d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   NR    t   trRh   RE   R‡   t   colgroupiÿÿÿÿc         C   sá   t  i  i |  ƒ | d j o t d ‚ n | t j o t d ‚ n | |  _ | |  _	 | o t
 |  _ n
 t |  _ | o t
 |  _ n
 t |  _ | o t
 |  _ n
 t |  _ | |  _ g  |  _ g  |  _ d |  _ t ƒ  |  _ d  S(   Ni    s(   nr_toplevel_to_parse not yet implementeds   single_span not yet implemented(   t
   HTMLParserR(   R$   R   t   NotImplementedErrorR   R   R   t   _nr_to_parset   _nr_toplevel_to_parseR   R%   R   t   _strip_tagsR   t   _collapse_whitespaceR   t   _recode_entitiesR   t   _stackt   _depthR   t   _ps(   R$   R   R   R   R   R   R   (    (    R   R(   8  s,     		 	 	 					c         C   s  |  i i o | d j o |  i ƒ  n |  i pK |  i i p |  i i o- | |  i j o |  i i	 i
 |  i ƒ  ƒ q n |  i i	 i
 d ƒ y t |  d | ƒ } WnJ t j
 o> y t |  d | ƒ } Wn t j
 o qþ X| | ƒ n X| | ƒ d  S(   NR‡   R    t   start_t   do_(   R$   Rœ   R†   t   tagt   end_colgroupR—   R…   R„   t
   table_tagsR€   R)   t   get_starttag_textt   getattrt   methodRI   t   attrs(   R$   RŸ   R¥   R¤   (    (    R   t   handle_starttagm  s    
*!c         C   s×   |  i i o | d j o |  i ƒ  n |  i pI |  i i p |  i i o+ | |  i j o |  i i	 i
 d | ƒ qŽ n |  i i	 i
 d ƒ y t |  d | ƒ } Wn t j
 o d  } n X| o | ƒ  n d  S(   NR‡   s   </%s>R    t   end_(   R$   Rœ   R†   RŸ   R    R—   R…   R„   R¡   R€   R)   R£   R¤   RI   R4   (   R$   RŸ   R¤   (    (    R   t   handle_endtag‹  s    
*c         C   sÄ   |  i i o: |  i i o |  i ƒ  n |  i i o |  i ƒ  qG n |  i d j o
 t ‚ n |  i	 d 7_	 |  i
 i |  i ƒ t ƒ  |  _ t ƒ  |  i _ t |  i _ d |  i _ |  i _ d  S(   Ni    i   (   R$   Rœ   Rƒ   R…   t   end_tdR„   t   end_thR•   R   R›   Rš   R)   R   R#   R    R   R‚   R*   R‡   (   R$   R¥   (    (    R   t   start_tableŸ  s      
c         C   s<  |  i i p t d ‚ n |  i i oD |  i i o |  i ƒ  n |  i i o |  i ƒ  n |  i	 ƒ  n |  i i
 } |  i i o |  i i } n |  i i } | i | ƒ |  i d 8_ |  i d j o |  i i | ƒ nJ |  i i ƒ  |  _ |  i i o |  i i i | ƒ n |  i i
 i | ƒ |  i d 8_ d  S(   Ns   end of TABLE before starti   i    (   R$   Rœ   R‚   R   Rƒ   R…   R©   R„   Rª   t   end_trR    R‰   R   R-   RŒ   R/   R›   R   R)   Rš   t   popR   R,   R•   (   R$   R-   R    (    (    R   t	   end_table°  s*        c         C   sy   |  i i p t d ‚ n d } x4 | D], \ } } | d j o t | d ƒ } q' q' Wt	 |  i _
 |  i i | 7_ d  S(   Ns   COL outside of TABLEi   Ro   i
   (   R$   Rœ   R‚   R   Ro   R¥   t   kt   vt   intR   R‰   RŽ   (   R$   R¥   Ro   R¯   R°   (    (    R   t	   start_colË  s       c         C   s‹   |  i i p t d ‚ n t |  i _ t |  i _ d |  i _ d } x4 | D], \ } } | d j o t | d ƒ } qK qK W| |  i _ d  S(   Ns   COL outside of TABLEi    i   Ro   i
   (   R$   Rœ   R‚   R   R   R†   R‰   RŽ   Ro   R¥   R¯   R°   R±   R   (   R$   R¥   Ro   R°   R¯   (    (    R   t   start_colgroupÓ  s       c         C   sq   |  i i p t d ‚ n t |  i _ |  i i d j o |  i i |  i i 7_ n |  i i |  i i 7_ d  S(   Ns   end of COLGROUP before starti    (   R$   Rœ   R†   R   R   RŽ   R   R   (   R$   (    (    R   R    Ü  s    c         C   s–   |  i i p t d ‚ n |  i i oD |  i i o |  i ƒ  n |  i i o |  i ƒ  n |  i	 ƒ  n t
 ƒ  |  i _ t |  i _ d |  i _ d  S(   Ns$   start of TR element outside of TABLEi    (   R$   Rœ   R‚   R   Rƒ   R…   R©   R„   Rª   R¬   R9   R   R   R‡   (   R$   R¥   (    (    R   t   start_trå  s      c         C   sÓ   |  i i p t d ‚ n |  i i o |  i ƒ  n |  i i o |  i ƒ  n t |  i i	 t
 |  i i ƒ ƒ |  i _	 |  i i |  i i _ |  i i i |  i i ƒ t |  i _ t |  i _ |  i i d 7_ d  S(   Ns"   end of TR element outside of TABLEi   (   R$   Rœ   R‚   R   R…   R©   R„   Rª   t   maxRŒ   R   R   Rˆ   R@   R    R+   R   Rƒ   R*   (   R$   (    (    R   R¬   ð  s      'c         C   s«   |  i o+ d i |  i i ƒ i ƒ  } t | ƒ } n d i |  i i ƒ } |  i i o
 d } n d } t
 | | |  i i |  i i ƒ } |  i i i | ƒ g  |  i _ d  S(   NRn   RE   Rh   (   R$   R˜   R]   Rœ   R€   t   stripR   R   R„   RH   Rs   R‹   RŠ   R;   R   R>   (   R$   RH   R;   R   (    (    R   t   _process_cell_dataý  s     
 
!c         C   så   |  i i p t d ‚ n |  i i o |  i ƒ  n |  i i o |  i ƒ  n t |  i _	 t |  i _ d |  i _
 |  i _ x` | D]X \ } } | d j o t | d ƒ |  i _
 n | d j o t | d ƒ |  i _ q… q… Wd  S(   Ns   TH outside of TABLEi   Rk   i
   Ri   (   R$   Rœ   R‚   R   R„   Rª   R…   R©   R   Rˆ   RŠ   R‹   R¥   R¯   R°   R±   (   R$   R¥   R¯   R°   (    (    R   t   start_th  s          c         C   sF   |  i i p t d ‚ n |  i ƒ  t |  i _ |  i i d 7_ d  S(   Ns   end of TH before starti   (   R$   Rœ   R„   R   R·   R   R‡   (   R$   (    (    R   Rª     s      
c         C   sÙ   |  i i p t d ‚ n |  i i o |  i ƒ  n |  i i o |  i ƒ  n t |  i _ d |  i _	 |  i _
 x` | D]X \ } } | d j o t | d ƒ |  i _	 n | d j o t | d ƒ |  i _
 qy qy Wd  S(   Ns   TD outside of TABLEi   Rk   i
   Ri   (   R$   Rœ   R‚   R   R…   R©   R„   Rª   R   RŠ   R‹   R¥   R¯   R°   R±   (   R$   R¥   R¯   R°   (    (    R   t   start_td   s          c         C   sF   |  i i p t d ‚ n |  i ƒ  t |  i _ |  i i d 7_ d  S(   Ns   end of TD before starti   (   R$   Rœ   R…   R   R·   R   R‡   (   R$   (    (    R   R©   *  s      
c         C   sJ   |  i i p d  Sn |  i i p |  i i o |  i i i | ƒ n d  S(   N(   R$   Rœ   R‚   R…   R„   R€   R)   R   (   R$   R   (    (    R   t   handle_data2  s     (   s   tables   trs   tds   ths   colR’   (   R[   R`   R¡   R   R4   R(   R¦   R¨   R«   R®   R²   R³   R    R´   R¬   R·   R¸   Rª   R¹   R©   Rº   (    (    (    R   R   5  s$    5															
	(%   R   t	   NameErrorR   R“   t   ret   copyR\   t   htmlentitydefst
   entitydefst   typesR   R   t   IntTypet   LongTypet	   FloatTypet   VERSIONR   t   compileR   R   Rj   R
   R   R4   R"   R#   RV   Rg   Rs   Rt   R9   RJ   R   t	   ExceptionR   R   R   (   RÁ   RV   Rt   Rs   Rg   R“   R   R   R   RÃ   RJ   R   R   R¼   R   R\   R   RÄ   R   R½   Rj   R   RÂ   R   R9   R   R
   R"   R¿   R   R#   (    (    R   t   ?   s6    , $%		
	+ -%&3#