
SJc           @   s  d  d k  Z  d  d k Z d  d k Z d  d k Z d d d d g Z y e Wn e j
 o db \ Z Z n Xy e Wn9 e j
 o- d  d k	 l	 Z	 d	 e	 f d
     YZ n Xy e i
 Wn[ e j
 oO d   e _
 d   e _ d   e _ d   e _ d   e _ d   e _ n Xy e d   Z Wn e j
 o d   Z n Xd   Z d dc d     YZ d e f d     YZ d e f d     YZ d dd d     YZ d de d     YZ d e f d     YZ d e f d     YZ d df 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, dg d-     YZ# d. e f d/     YZ$ d0 e f d1     YZ% d2 e f d3     YZ& d4 e f d5     YZ' d6 e f d7     YZ( d8 e f d9     YZ) d: e f d;     YZ* d< e f d=     YZ+ d> dh d?     YZ, d@ e e, f dA     YZ- dB e f dC     YZ. dD e f dE     YZ/ dF e f dG     YZ0 dH e f dI     YZ1 dJ e f dK     YZ2 dL e f dM     YZ3 dN e f dO     YZ4 dP e f dQ     YZ5 dR e f dS     YZ6 dT e f dU     YZ7 dV e f dW     YZ8 dX e f dY     YZ9 dZ e f d[     YZ: d\ e f d]     YZ; d^ e f d_     YZ< d` e f da     YZ= d S(i   iNt   Templatet   TemplateErrort   TemplateSyntaxErrort   CachingFileLoaderi    i   (   t   UserDictt   dictc           B   s   e  Z d    Z RS(   c         C   s   h  |  _  d  S(   N(   t   data(   t   self(    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyt   __init__   s    (   t   __name__t
   __module__R   (    (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR      s   c         C   s
   |  | j S(    (    (   t   at   b(    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyt   <lambda>   s    c         C   s
   |  | j  S(    (    (   R   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR      s    c         C   s
   |  | j S(    (    (   R   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR      s    c         C   s
   |  | j S(    (    (   R   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR      s    c         C   s
   |  | j S(    (    (   R   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR      s    c         C   s
   |  | j S(    (    (   R   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR      s    c         C   s   t  |  t  S(   N(   t
   isinstancet
   basestring(   t   s(    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyt	   is_string   s    c         C   s   t  |   t  d  j S(   Nt    (   t   type(   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR   !   s    c         C   s   |  t  j o t  S|  d  j	 S(   N(   t   Falset   None(   t   variable_value(    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyt   boolean_value'   s     c           B   s2   e  Z d    Z d d  Z d   Z d d  Z RS(   c         C   s   | |  _  d  |  _ d  S(   N(   t   contentR   t   root_element(   R   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR   -   s    	c         C   s)   t  i    } |  i | | |  | i   S(   N(   t   StringIOt   merge_tot   getvalue(   R   t	   namespacet   loadert   output(    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyt   merge1   s    c         C   s$   |  i  p t |  i  |  _  n d  S(   N(   R   t   TemplateBodyR   (   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyt   ensure_compiled6   s    
c         C   s>   | d  j o t   } n |  i   |  i i | | |  d  S(   N(   R   t
   NullLoaderR"   R   t   evaluate(   R   R   t   fileobjR   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR   :   s     
N(   R	   R
   R   R   R    R"   R   (    (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR    ,   s   		c           B   s   e  Z RS(    (   R	   R
   (    (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR   @   s   c           B   s#   e  Z d    Z d   Z d   Z RS(   c      
   C   s   | |  _  | i   | i  |  _ d |  i i d  |  _ t |  i  |  i i d  |  _ | i	   } t |  d j o | d  d } n t
 i |  d |  i |  i | |  i   | f  d  S(   Ni   s   
i(   i$   s    ...s2   line %d, column %d: expected %s in %s, got: %s ...(   t   elementt	   full_textt   endt   text_understoodt   countt   linet   lent   rfindt   columnt	   next_textt	   ExceptionR   t   element_name(   R   R&   t   expectedt   got(    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR   E   s    	"c         C   s   d |  i  i d  } d |  i i   j o& |  i i   i d  |  i i } n t |  i i    } |  i i   | | !} |  i } | d | d d g S(   Ni   s   
t    t   ^(	   R)   R-   R&   R/   t   findR(   R,   R'   R.   (   R   t   error_line_startt   error_line_endt
   error_linet	   caret_pos(    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyt   get_position_stringsO   s    &	c         C   s%   t  i d d   |  i i i  i   S(   Ns   ([A-Z])c         S   s   d  |  i  d  i   S(   R4   i   (   t   groupt   lower(   t   m(    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR   Z   s    (   t   ret   subR&   t	   __class__R	   t   strip(   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR1   Y   s    (   R	   R
   R   R;   R1   (    (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR   D   s   	
	
R#   c           B   s   e  Z d    Z d   Z RS(   c         C   s   t  d |   d  S(   Ns   no loader available for '%s'(   R   (   R   t   name(    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyt	   load_text^   s    c         C   s   |  i  |   d  S(   N(   RD   (   R   RC   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyt   load_templatea   s    (   R	   R
   RD   RE   (    (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR#   ]   s   	c           B   s,   e  Z d    Z d   Z d   Z d   Z RS(   c         C   s   | |  _  h  |  _ d  S(   N(   t   basedirt   known_templates(   R   RF   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR   f   s    	c         C   s   t  i i |  i |  S(   N(   t   ost   patht   joinRF   (   R   RC   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyt   filename_ofj   s    c         C   s>   t  t i i |  i |   } z | i   SWd  | i   Xd  S(   N(   t   openRH   RI   RJ   RF   t   readt   close(   R   RC   t   f(    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyRD   m   s     c         C   s   t  i i |  i |   } |  i i |  o) |  i | \ } } | | j o | Sn t |  i |   } | i   | | f |  i | <| S(   N(	   RH   RI   t   getmtimeRK   RG   t   has_keyR    RD   R"   (   R   RC   t   mtimet   templatet
   prev_mtime(    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyRE   r   s    	
(   R	   R
   R   RK   RD   RE   (    (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR   e   s   			t   NoMatchc           B   s   e  Z RS(    (   R	   R
   (    (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyRU      s    t   LocalNamespacec           B   s#   e  Z d    Z d   Z d   Z RS(   c         C   s   t  i |   | |  _ d  S(   N(   R   R   t   parent(   R   RW   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR      s    c         C   sF   y t  i |  |  SWn+ t j
 o |  i | } | |  | <| SXd  S(   N(   R   t   __getitem__t   KeyErrorRW   (   R   t   keyt   parent_value(    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyRX      s     
c         C   s   t  i |   d t |  i  S(   Ns   ->(   R   t   __repr__t   reprRW   (   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR\      s    (   R	   R
   R   RX   R\   (    (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyRV      s   		t   _Elementc           B   sn   e  Z d  d  Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d	   Z
 d
   Z d   Z RS(   i    c         C   s'   | |  _  | |  _ |  _ |  i   d  S(   N(   t
   _full_textt   startR(   t   parse(   R   t   textR`   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR      s    	c         C   s   |  i  |  i S(   N(   R_   R(   (   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR/      s    c         C   s   |  i  |  i |  i !S(   N(   R_   R`   R(   (   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyt   my_text   s    c         C   s   |  i  S(   N(   R_   (   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR'      s    c         C   s   t  |  |  S(   N(   R   (   R   R2   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyt   syntax_error   s    c         C   sO   | i  |  i |  i  } | p t    n | i | i  |  _ | i   d  S(   Ni(   t   matchR_   R(   RU   R`   t   groups(   R   t   patternR>   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyt   identity_match   s
     c         C   sG   | i  |  i |  i  } | p t S| i | i  |  _ | i   d  S(   Ni(   Re   R_   R(   R   R`   Rf   (   R   Rg   R>   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyt
   next_match   s
     c         C   s=   | i  |  i |  i  } | p t S| i | i  |  _ t S(   N(   Re   R_   R(   R   R`   Rf   t   True(   R   Rg   R>   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyt   optional_match   s
     c         C   sU   | i  |  i |  i  } | p |  i |   n | i | i  |  _ | i   d  S(   Ni(   Re   R_   R(   Rd   R`   Rf   (   R   Rg   R2   R>   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyt   require_match   s
     c         C   s   t  |  o& | |  i |  i  } | i |  _ | SxM | D]E } y | |  i |  i  } Wn t j
 o q: X| i |  _ | Sq: Wt    d  S(   N(   t   callableR_   R(   RU   (   R   t   element_specR&   t   element_class(    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyt   next_element   s       c         C   s   t  |  oR y | |  i |  i  } Wn" t j
 o |  i |   q X| i |  _ | Sn xM | D]E } y | |  i |  i  } Wn t j
 o qf X| i |  _ | Sqf Wd i g  } | D] } | | i q ~  } |  i |  d |   d  S(   Ns   , s   one of: (   Rm   R_   R(   RU   Rd   RJ   R	   (   R   Rn   R2   R&   Ro   t   _[1]t   cls(    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyt   require_next_element   s"         -(   R	   R
   R   R/   Rc   R'   Rd   Rh   Ri   Rk   Rl   Rp   Rs   (    (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR^      s   									t   Textc           B   sE   e  Z e i d  e i e i  Z e i d  Z d   Z d   Z	 RS(   s5   ((?:[^\\\$#]+|\\[\$#])+|\$[^!\{a-z0-9_]|\$$|\\.)(.*)$s   \\([\\\$#])c         C   s:   |  i  |  i  \ } d   } |  i i | |  |  _ d  S(   Nc         S   s   |  i  d  S(   Ni   (   R<   (   Re   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyt   unescape   s    (   Rh   t   PLAINt   ESCAPED_CHARR@   Rb   (   R   Rb   Ru   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyRa      s    	c         C   s   | i  |  i  d  S(   N(   t   writeRb   (   R   t   streamR   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR$      s    (
   R	   R
   R?   t   compilet   St   IRv   Rw   Ra   R$   (    (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyRt      s   	t   IntegerLiteralc           B   s/   e  Z e i d  e i  Z d   Z d   Z RS(   s	   (\d+)(.*)c         C   s.   |  i  |  i  \ |  _ t |  i  |  _ d  S(   N(   Rh   t   INTEGERt   valuet   int(   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyRa      s    c         C   s   |  i  S(   N(   R   (   R   R   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyt	   calculate   s    (   R	   R
   R?   Rz   R{   R~   Ra   R   (    (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR}      s   	t   StringLiteralc           B   s>   e  Z e i d  e i  Z e i d  Z d   Z d   Z RS(   s(   '((?:\\['nrbt\\\\\\$]|[^'\n\r\\])+)'(.*)s   \\([nrbt'\\])c         C   s:   |  i  |  i  \ } d   } |  i i | |  |  _ d  S(   Nc         S   sW   h d d 6d d 6d d 6d d 6d	 d	 6d
 d
 6d d 6i  |  i d  d
 |  i d   S(   Ns   
t   ns   t   rs   R   s   	t   tt   "s   \t   'i   (   t   getR<   (   Re   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyRu      s    (   Rh   t   STRINGRw   R@   R   (   R   R   Ru   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyRa      s    	c         C   s   |  i  S(   N(   R   (   R   R   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR     s    (	   R	   R
   R?   Rz   R{   R   Rw   Ra   R   (    (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR      s   	t   InterpolatedStringLiteralc           B   s>   e  Z e i d  e i  Z e i d  Z d   Z d   Z RS(   s(   "((?:\\["nrbt\\\\\\$]|[^"\n\r\\])+)"(.*)s   \\([nrbt"\\])c         C   s&   t  i |   t |  i d  |  _ d  S(   Ni    (   R   Ra   t   BlockR   t   block(   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyRa   	  s    c         C   s,   t  i    } |  i i | | |  | i   S(   N(   R   R   R$   R   (   R   R   R   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR     s    (	   R	   R
   R?   Rz   R{   R   Rw   Ra   R   (    (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR     s   	t   Rangec           B   s)   e  Z e i d   Z d   Z d   Z RS(   s%   (\-?\d+)[ \t]*\.\.[ \t]*(\-?\d+)(.*)$c         C   s+   t  t |  i |  i   \ |  _ |  _ d  S(   N(   t   mapR   Rh   t   RANGEt   value1t   value2(   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyRa     s    c         C   sE   |  i  |  i j  o t |  i |  i  d d  St |  i |  i  d  S(   Ni   i(   R   R   t   xrange(   R   R   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR     s    (   R	   R
   R?   Rz   R   Ra   R   (    (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR     s   	t	   ValueListc           B   s/   e  Z e i d  e i  Z d   Z d   Z RS(   s   \s*,\s*(.*)$c         C   s   g  |  _  y |  i t  } Wn t j
 o nO X|  i  i |  x: |  i |  i  o& |  i t d  } |  i  i |  qE Wd  S(   NR   (   t   valuesRp   t   ValueRU   t   appendRk   t   COMMARs   (   R   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyRa   "  s    	  c         C   s.   g  } |  i  D] } | | i | |  q ~ S(   N(   R   R   (   R   R   R   Rq   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR   -  s    (   R	   R
   R?   Rz   R{   R   Ra   R   (    (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR     s   	t   _EmptyValuesc           B   s   e  Z d    Z RS(   c         C   s   g  S(   N(    (   R   R   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR   2  s    (   R	   R
   R   (    (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR   1  s   t   ArrayLiteralc           B   sD   e  Z e i d  e i  Z e i d e i  Z e   Z d   Z	 RS(   s   \[[ \t]*(.*)$s   [ \t]*\](.*)$c         C   sh   |  i  |  i  y |  i t t f  |  _ Wn t j
 o n X|  i |  i d  |  i i	 |  _	 d  S(   Nt   ](
   Rh   t   STARTRp   R   R   R   RU   Rl   t   ENDR   (   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyRa   ;  s    (
   R	   R
   R?   Rz   R{   R   R   R   R   Ra   (    (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR   6  s   	R   c           B   s   e  Z d    Z d   Z RS(   c         C   s+   |  i  t t t t t t t f  |  _ d  S(   N(	   Rp   t   SimpleReferenceR}   R   R   R   t	   Conditiont   UnaryOperatorValuet
   expression(   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyRa   F  s    c         C   s   |  i  i | |  S(   N(   R   R   (   R   R   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR   I  s    (   R	   R
   Ra   R   (    (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR   E  s   	t
   NameOrCallc           B   s5   e  Z e i d  e i  Z d Z d   Z d   Z	 RS(   s   ([a-zA-Z_][a-zA-Z0-9_]*)(.*)$c         C   sH   |  i  |  i  \ |  _ y |  i t  |  _ Wn t j
 o n Xd  S(   N(   Rh   t   NAMERC   Rp   t   ParameterListt
   parametersRU   (   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyRa   Q  s
      c      
   C   s   t  } t | t  p6 y t | |  i  } t } WqL t j
 o qL Xn | oa y | |  i } Wq t j
 o d  } q t	 j
 o d  } q t j
 o d  } q Xn | d  j o d  S|  i
 d  j	 o | |  i
 i | |    } n | S(   N(   Rj   R   RV   t   getattrRC   R   t   AttributeErrorRY   R   t	   TypeErrorR   R   (   R   t   current_objectR   t   top_namespacet   look_in_dictt   result(    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR   V  s*    
	  
 
 N(
   R	   R
   R?   Rz   R{   R   R   R   Ra   R   (    (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR   M  s   	t   SubExpressionc           B   s/   e  Z e i d  e i  Z d   Z d   Z RS(   s   \.(.*)c         C   s&   |  i  |  i  |  i t  |  _ d  S(   N(   Rh   t   DOTRp   t   VariableExpressionR   (   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyRa   m  s    c         C   s   |  i  i | | |  S(   N(   R   R   (   R   R   R   t   global_namespace(    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR   q  s    (   R	   R
   R?   Rz   R{   R   Ra   R   (    (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR   j  s   	R   c           B   s#   e  Z d Z d    Z d d  Z RS(   c         C   sB   |  i  t  |  _ y |  i  t  |  _ Wn t j
 o n Xd  S(   N(   Rp   R   t   partR   t   subexpressionRU   (   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyRa   x  s
      c         C   sY   | d  j o
 | } n |  i i | | |  } |  i o |  i i | | |  } n | S(   N(   R   R   R   R   (   R   R   R   R   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR   }  s    

N(   R	   R
   R   R   Ra   R   (    (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR   u  s   	R   c           B   sb   e  Z e i d  e i  Z e i d e i  Z e i d e i  Z e   Z	 d   Z
 d   Z RS(   s
   \(\s*(.*)$s   \s*,\s*(.*)$s
   \s*\)(.*)$c         C   sS   |  i  |  i  y |  i t  |  _ Wn t j
 o n X|  i |  i d  d  S(   Nt   )(   Rh   R   Rp   R   R   RU   Rl   R   (   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyRa     s      c         C   s   |  i  i | |  S(   N(   R   R   (   R   R   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR     s    (   R	   R
   R?   Rz   R{   R   R   R   R   R   Ra   R   (    (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR     s   		t   Placeholderc           B   sD   e  Z e i d  e i  Z e i d e i  Z d   Z d   Z RS(   s   \$(!?)(\{?)(.*)$s   \}(.*)$c         C   sX   |  i  |  i  \ |  _ |  _ |  i t d  |  _ |  i o |  i |  i d  n d  S(   NR   t   }(	   Rh   R   t   silentt   bracesRs   R   R   Rl   t   CLOSING_BRACE(   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyRa     s    
 c         C   s{   |  i  i | |  } | d  j o$ |  i o
 d } qF |  i   } n t |  o | i |  n | i t |   d  S(   NR   (   R   R   R   R   Rc   R   Rx   t   str(   R   Ry   R   R   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR$     s    
 
(	   R	   R
   R?   Rz   R{   R   R   Ra   R$   (    (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR     s   	R   c           B   s&   e  Z e i d  e i  Z d   Z RS(   s   \$(.*)c         C   s8   |  i  |  i  |  i t d  |  _ |  i i |  _ d  S(   NRC   (   Rh   t   LEADING_DOLLARRs   R   R   R   (   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyRa     s    (   R	   R
   R?   Rz   R{   R   Ra   (    (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR     s   t   Nullc           B   s   e  Z d    Z RS(   c         C   s   d  S(   N(    (   R   Ry   R   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR$     s    (   R	   R
   R$   (    (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR     s   t   Commentc           B   s-   e  Z e i d  e i e i  Z d   Z RS(   s)   #(?:#.*?(?:
|$)|\*.*?\*#(?:[ 	]*
)?)(.*)$c         C   s   |  i  |  i  d  S(   N(   Rh   t   COMMENT(   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyRa     s    (   R	   R
   R?   Rz   t   MR{   R   Ra   (    (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR     s   t   BinaryOperatorc           B   s|   e  Z e i d  e i  Z h e i d 6e i d 6e i	 d 6e i
 d 6e i d 6e i d 6d   d 6d	   d
 6Z d   Z RS(   s$   \s*(>=|<=|<|==|!=|>|\|\||&&)\s*(.*)$t   >s   >=t   <s   <=s   ==s   !=c         C   s   t  |   p
 t  |  S(    (   R   (   R   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR     s    s   ||c         C   s   t  |   o
 t  |  S(    (   R   (   R   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR     s    s   &&c         C   s)   |  i  |  i  \ } |  i | |  _ d  S(   N(   Rh   t	   BINARY_OPt	   OPERATORSt   apply_to(   R   t	   op_string(    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyRa     s    (   R	   R
   R?   Rz   R{   R   t   operatort   __gt__t   __ge__t   __lt__t   __le__t   __eq__t   __ne__R   Ra   (    (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR     s   
R   c           B   s?   e  Z e i d  e i  Z h e i d 6Z d   Z	 d   Z
 RS(   s   \s*(!)\s*(.*)$t   !c         C   s;   |  i  |  i  \ } |  i t  |  _ |  i | |  _ d  S(   N(   Rh   t   UNARY_OPRp   R   R   R   t   op(   R   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyRa     s    c         C   s   |  i  |  i i | |   S(   N(   R   R   R   (   R   R   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR     s    (   R	   R
   R?   Rz   R{   R   R   t   __not__R   Ra   R   (    (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR     s   	R   c           B   sP   e  Z e i d  e i  Z e i d e i  Z d Z d Z	 d   Z
 d   Z RS(   s
   \(\s*(.*)$s
   \s*\)(.*)$c         C   sz   |  i  |  i  |  i t  |  _ y+ |  i t  |  _ |  i t d  |  _ Wn t	 j
 o n X|  i
 |  i d  d  S(   NR   s   ) or >(   Rh   R   Rp   R   R   R   t   binary_operatorRs   R   RU   Rl   R   (   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyRa     s    c         C   sb   |  i  d  j o |  i i | |  S|  i i | |  |  i i | |  } } |  i  i | |  S(   N(   R   R   R   R   R   R   (   R   R   R   R   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR     s    +N(   R	   R
   R?   Rz   R{   R   R   R   R   R   Ra   R   (    (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR     s   	
t   Endc           B   s-   e  Z e i d  e i e i  Z d   Z RS(   s   #end(.*)c         C   s   |  i  |  i  d  S(   N(   Rh   R   (   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyRa     s    (   R	   R
   R?   Rz   R|   R{   R   Ra   (    (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR     s   t	   ElseBlockc           B   s-   e  Z e i d  e i e i  Z d   Z RS(   s
   #else(.*)$c         C   s8   |  i  |  i  |  i t d  |  _ |  i i |  _ d  S(   NR   (   Rh   R   Rs   R   R   R$   (   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyRa     s    (   R	   R
   R?   Rz   R{   R|   R   Ra   (    (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR     s   t   ElseifBlockc           B   s-   e  Z e i d  e i e i  Z d   Z RS(   s   #elseif\b\s*(.*)$c         C   s\   |  i  |  i  |  i t d  |  _ |  i t d  |  _ |  i i |  _ |  i i |  _ d  S(   Nt	   conditionR   (	   Rh   R   Rs   R   R   R   R   R   R$   (   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyRa      s
    (   R	   R
   R?   Rz   R{   R|   R   Ra   (    (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR     s   t   IfDirectivec           B   s?   e  Z e i d  e i e i  Z e   Z d   Z	 d   Z
 RS(   s   #if\b\s*(.*)$c         C   s   |  i  |  i  |  i t  |  _ |  i t d  |  _ g  |  _ x@ t	 o8 y |  i i
 |  i t   WqC t j
 o PqC XqC Wy |  i t  |  _ Wn t j
 o n X|  i t d  d  S(   NR   s   #else, #elseif or #end(   Rh   R   Rp   R   R   Rs   R   R   t   elseifsRj   R   R   RU   R   t
   else_blockR   (   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyRa     s    	     c         C   s   |  i  i | |  o |  i i | | |  nV x< |  i D]1 } | i | |  o | i | | |  d  Sq: W|  i i | | |  d  S(   N(   R   R   R   R$   R   R   (   R   Ry   R   R   t   elseif(    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR$     s    
 	(   R	   R
   R?   Rz   R{   R|   R   R   R   Ra   R$   (    (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR     s   		t
   Assignmentc           B   sR   e  Z e i d  e i e i  Z e i d e i e i  Z d   Z	 d   Z
 RS(   s(   \s*\(\s*\$([a-z_][a-z0-9_]*)\s*=\s*(.*)$s   \s*\)(?:[ \t]*\r?\n)?(.*)$c         C   sD   |  i  |  i  \ |  _ |  i t d  |  _ |  i |  i d  d  S(   NR   R   (   Rh   R   t   var_nameRs   R   R   Rl   R   (   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyRa   '  s    c         C   s    |  i  i | |  | |  i <d  S(   N(   R   R   R   (   R   Ry   R   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR$   ,  s    (   R	   R
   R?   Rz   R{   R|   R   R   R   Ra   R$   (    (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR   #  s   	t   MacroDefinitionc        
   B   s   e  Z e i d  e i e i  Z e i d e i  Z e i d e i e i  Z e i d e i  Z	 e i d e i e i  Z
 d Z d   Z d   Z d   Z RS(   s   #macro\b(.*)s   [ \t]*\(\s*(.*)$s   \s*([a-z][a-z_0-9]*)\b(.*)s   [ \t]*\)(.*)$s   [ \t]+\$([a-z][a-z_0-9]*)(.*)$t   ift   elseR   t   sett   macrot   foreachRa   t   includet   stopR(   c         C   s   |  i  |  i  |  i |  i d  |  i |  i d  \ |  _ |  i i   |  i j o |  i d   n g  |  _	 x> t
 o6 |  i |  i  } | p Pn |  i	 i | d  qv W|  i |  i d  |  i t d  |  _ |  i t d  d  S(   Nt   (s
   macro names   non-reserved namei    s   ) or arg nameR   (   Rh   R   Rl   t
   OPEN_PARENR   t
   macro_nameR=   t   RESERVED_NAMESRd   t	   arg_namesRj   Ri   t   ARG_NAMER   t   CLOSE_PARENRs   R   R   R   (   R   R>   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyRa   7  s    	  c         C   sA   d |  i  i   } | i |  o t d   n |  | | <d  S(   Nt   #s   cannot redefine macro(   R   R=   RQ   R0   (   R   Ry   R   R   t	   macro_key(    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR$   F  s    c         C   s   t  |  t  |  i  j o) t d t  |  i  t  |  f   n t |  } x6 t |  i |  D]" \ } } | i | |  | | <qd W|  i i | | |  d  S(   Ns   expected %d arguments, got %d(   R,   R   R0   RV   t   zipR   R   R$   (   R   Ry   R   t   arg_value_elementsR   t   macro_namespacet   arg_namet	   arg_value(    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyt   execute_macroL  s    ) (
   s   ifs   elses   elseifs   sets   macroR   s   parseR   s   stops   end(   R	   R
   R?   Rz   R{   R|   R   R   R   R   R   R   Ra   R$   R   (    (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR   0  s   		t	   MacroCallc           B   su   e  Z e i d  e i e i  Z e i d e i  Z e i d e i  Z e i d e i  Z	 d   Z
 d   Z RS(   s   #([a-z][a-z_0-9]*)\b(.*)s   [ \t]*\(\s*(.*)$s   [ \t]*\)(.*)$s   [ \t]+(.*)$c         C   s   |  i  |  i  \ |  _ |  i i   |  _ g  |  _ |  i t i j p |  i i d  o t    n |  i	 |  i
 d  xX t oP y |  i i |  i t   Wn t j
 o Pn X|  i |  i  p Pq| q| W|  i	 |  i d  d  S(   NR(   R   s   argument value or )(   Rh   R   R   R=   t   argsR   R   t
   startswithRU   Rl   R   Rj   R   Rp   R   Rk   t   SPACER   (   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyRa   [  s    	&    
c         C   s[   y | d |  i  } Wn& t j
 o t d |  i    n X| i | | |  i |  d  S(   NR   s   no such macro: (   R   RY   R0   R   R   (   R   Ry   R   R   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR$   h  s
      (   R	   R
   R?   Rz   R{   R|   R   R   R   R   Ra   R$   (    (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR   U  s   	t   IncludeDirectivec           B   s`   e  Z e i d  e i e i  Z e i d e i  Z e i d e i  Z d   Z	 d   Z
 RS(   s   #include\b(.*)s   [ \t]*\(\s*(.*)$s   [ \t]*\)(.*)$c         C   sX   |  i  |  i  |  i |  i d  |  i t t t f d  |  _ |  i |  i	 d  d  S(   NR   s   template nameR   (
   Rh   R   Rl   R   Rs   R   R   R   RC   R   (   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyRa   s  s    c         C   s)   | i  | i |  i i | |    d  S(   N(   Rx   RD   RC   R   (   R   Ry   R   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR$   y  s    (   R	   R
   R?   Rz   R{   R|   R   R   R   Ra   R$   (    (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR   n  s
   	t   ParseDirectivec           B   s`   e  Z e i d  e i e i  Z e i d e i  Z e i d e i  Z d   Z	 d   Z
 RS(   s   #parse\b(.*)s   [ \t]*\(\s*(.*)$s   [ \t]*\)(.*)$c         C   sX   |  i  |  i  |  i |  i d  |  i t t t f d  |  _ |  i |  i	 d  d  S(   NR   s   template nameR   (
   Rh   R   Rl   R   Rs   R   R   R   RC   R   (   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyRa     s    c         C   s8   | i  |  i i | |   } | i | | d | d  S(   NR   (   RE   RC   R   R   (   R   Ry   R   R   RS   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR$     s    (   R	   R
   R?   Rz   R{   R|   R   R   R   Ra   R$   (    (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR   }  s
   	t   SetDirectivec           B   s6   e  Z e i d  e i e i  Z d   Z d   Z RS(   s
   #set\b(.*)c         C   s)   |  i  |  i  |  i t d  |  _ d  S(   Nt
   assignment(   Rh   R   Rs   R   R   (   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyRa     s    c         C   s   |  i  i | | |  d  S(   N(   R   R$   (   R   Ry   R   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR$     s    (	   R	   R
   R?   Rz   R{   R|   R   Ra   R$   (    (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR     s   	t   ForeachDirectivec           B   s   e  Z e i d  e i e i  Z e i d e i  Z e i d e i  Z e i d e i e i  Z	 e i d e i  Z
 d   Z d   Z RS(   s   #foreach\b(.*)$s   [ \t]*\(\s*(.*)$s   [ \t]+in[ \t]+(.*)$s   \$([a-z_][a-z0-9_]*)(.*)$s   [ \t]*\)(.*)$c         C   s   |  i  |  i  |  i |  i d  |  i |  i d  \ |  _ |  i |  i d  |  i t  |  _	 |  i |  i
 d  |  i t  |  _ |  i t d  d  S(   NR   s   loop var namet   inR   s   #end(   Rh   R   Rl   R   t   LOOP_VAR_NAMEt   loop_var_namet   INRp   R   R   R   R   R   Rs   R   (   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyRa     s    c         C   s   |  i  i | |  } d } y | d  j o d  St | d  o | i   } n t | d  p t d |  i | f   n xQ | D]I } t |  } | | d <| | |  i <|  i i	 | | |  | d 7} q WWn t
 j
 o
   n Xd  S(   Ni   t   keysRX   s-   value for $%s is not iterable in #foreach: %st   velocityCount(   R   R   R   t   hasattrR   t
   ValueErrorR   RV   R   R$   R   (   R   Ry   R   R   t   iterablet   countert   item(    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR$     s$      
(   R	   R
   R?   Rz   R{   R|   R   R   R   R   R   Ra   R$   (    (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR     s   	R!   c           B   s   e  Z d    Z d   Z RS(   c         C   s6   |  i  t  |  _ |  i   o |  i d   n d  S(   Ns   block element(   Rp   R   R   R/   Rd   (   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyRa     s    c         C   s&   t  |  } |  i i | | |  d  S(   N(   RV   R   R$   (   R   Ry   R   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR$     s    (   R	   R
   Ra   R$   (    (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR!     s   	R   c           B   s   e  Z d    Z d   Z RS(   c         C   sn   g  |  _  x^ t oV y; |  i  i |  i t t t t t t	 t
 t t t f
   Wq t j
 o Pq Xq Wd  S(   N(   t   childrenRj   R   Rp   Rt   R   R   R   R   R   R   R   R   R   RU   (   R   (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyRa     s    	  ; c         C   s+   x$ |  i  D] } | i | | |  q
 Wd  S(   N(   R  R$   (   R   Ry   R   R   t   child(    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR$     s    
 (   R	   R
   Ra   R$   (    (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyR     s   	(   i    i   (    (    (    (    (    (    (>   R?   R   RH   R   t   __all__Rj   t	   NameErrorR   R   R   R   R   R   R   R   R   R   R   R   R   R    R0   R   R   R#   R   RU   RV   R^   Rt   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   (    (    (    sZ   /mnt/luc/web/www.saillard.org/www/programs_and_patches/photon/photon.hg/Photon/airspeed.pyt   <module>   s   $   	J		%%
