ó
ñûhPc           @   s¾   d  d l  Z  d  d l Z d  d l Z d  d l Z d  d l Z d „  Z d „  Z d d d „  ƒ  YZ d „  Z d „  Z	 d „  Z
 d  d l Z e d	 k rº d
 e j f d „  ƒ  YZ e j ƒ  n  d S(   iÿÿÿÿNc         C   sA   d } x. | D]& } |  | k r) d | g S| d 7} q Wd d g S(   Ni    i   (    (   t   stringt
   name_tablet   it   name(    (    sE   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/spec_tm.pyt   name_to_index   s    
c         C   s8   t  |  | ƒ \ } } | s4 d |  GHt j d ƒ n  | S(   Ns   spec scan failure on "%s".i   (   R   t   syst   exit(   R    R   t   foundt   idx(    (    sE   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/spec_tm.pyt   name_to_index_or_die   s
    	t   spec_tc           B   st   e  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(   c         C   s   | |  _  d  S(   N(   t   code(   t   selft   argcode(    (    sE   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/spec_tm.pyt   __init__"   s    c         C   s!   t  t j |  j | j ƒ } | S(   N(   R
   t   spec_tablest	   mul_tableR   (   t   at   bt   c(    (    sE   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/spec_tm.pyt   __mul__%   s    c         C   s   |  j  | j  k S(   N(   R   (   R   R   (    (    sE   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/spec_tm.pyt   __eq__)   s    c         C   s   |  | k S(   N(    (   R   R   (    (    sE   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/spec_tm.pyt   __ne__+   s    c         C   s   |  j  | j  k  S(   N(   R   (   R   R   (    (    sE   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/spec_tm.pyt   __lt__.   s    c         C   s   |  j  | j  k S(   N(   R   (   R   R   (    (    sE   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/spec_tm.pyt   __le__0   s    c         C   s   |  j  | j  k S(   N(   R   (   R   R   (    (    sE   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/spec_tm.pyt   __gt__2   s    c         C   s   |  j  | j  k S(   N(   R   (   R   R   (    (    sE   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/spec_tm.pyt   __ge__4   s    c         C   s   t  t j |  j ƒ } | S(   N(   R
   R   t	   inv_tableR   (   R   R   (    (    sE   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/spec_tm.pyt   inv7   s    c         C   s   t  | t j ƒ |  _ d  S(   N(   R	   R   R   R   (   R   R    (    (    sE   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/spec_tm.pyt   scan;   s    c         C   s   t  j |  j S(   N(   R   R   R   (   R   (    (    sE   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/spec_tm.pyt   __str__>   s    c         C   s
   |  j  ƒ  S(   N(   R   (   R   (    (    sE   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/spec_tm.pyt   __repr__A   s    (   t   __name__t
   __module__R   R   R   R   R   R   R   R   R   R   R   R   (    (    (    sE   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/spec_tm.pyR
   !   s   											c         C   s   |  S(   N(    (   t   params_string(    (    sE   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/spec_tm.pyt   params_from_stringD   s    c         C   s.   t  | ƒ } t |  t j ƒ } t | ƒ } | S(   N(   R#   R	   R   R   R
   (   t   value_stringR"   t   not_usedR   t   obj(    (    sE   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/spec_tm.pyt   from_stringG   s    c         C   s¥  g  t  _ g  t  _ g  t  _ t |  ƒ } t j |  d ƒ t  _ d g | } x0 t d | ƒ D] } t  j j t j | ƒ ƒ qZ WxV t d | ƒ D]E } x< t d | ƒ D]+ } t |  | | t  j ƒ t  j | | <q£ Wq Wg  } x* t d | ƒ D] } | j t	 | ƒ ƒ qì Wt
 j | ƒ \ } } | r¡xz t d | ƒ D]f } | | } xS t d | ƒ D]B } | | }	 | |	 }
 |
 j | j k rTt  j j | ƒ qTqTqTWq4Wn  d  S(   Ni    i   (   R   R   R   R   t   lent   copyt   ranget   appendR	   R
   t   sackgrpt   find_idR   (   t   cayley_table_with_namest   nt   rowR   t   jt   GR   t   et   xt   yt   z(    (    sE   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/spec_tm.pyt   install_tableM   s0    				-


t   __main__t
   test_casesc           B   s¡   e  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 d „  Z d „  Z RS(   c         C   s   d  S(   N(    (   R   (    (    sE   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/spec_tm.pyt   test_name_to_index~   s    c         C   s   d  S(   N(    (   R   (    (    sE   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/spec_tm.pyt   test_name_to_index_or_die   s    c         C   s   d  S(   N(    (   R   (    (    sE   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/spec_tm.pyt   test___init__„   s    c         C   s   d  S(   N(    (   R   (    (    sE   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/spec_tm.pyt   test___mul__‡   s    c         C   s   d  S(   N(    (   R   (    (    sE   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/spec_tm.pyt   test___eq__Š   s    c         C   s   d  S(   N(    (   R   (    (    sE   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/spec_tm.pyt   test___ne__   s    c         C   s   d  S(   N(    (   R   (    (    sE   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/spec_tm.pyt   test___lt__   s    c         C   s   d  S(   N(    (   R   (    (    sE   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/spec_tm.pyt   test___le__“   s    c         C   s   d  S(   N(    (   R   (    (    sE   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/spec_tm.pyt   test___gt__–   s    c         C   s   d  S(   N(    (   R   (    (    sE   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/spec_tm.pyt   test___ge__™   s    c         C   s   d  S(   N(    (   R   (    (    sE   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/spec_tm.pyt   test_invœ   s    c         C   s   d  S(   N(    (   R   (    (    sE   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/spec_tm.pyt	   test_scanŸ   s    c         C   s   d  S(   N(    (   R   (    (    sE   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/spec_tm.pyt   test___str__¢   s    c         C   s   d  S(   N(    (   R   (    (    sE   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/spec_tm.pyt   test___repr__¥   s    c         C   s   d  S(   N(    (   R   (    (    sE   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/spec_tm.pyt   test_params_from_string¨   s    c         C   s   d  S(   N(    (   R   (    (    sE   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/spec_tm.pyt   test_from_string«   s    c         C   s   d  S(   N(    (   R   (    (    sE   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/spec_tm.pyt   test_install_table®   s    (   R    R!   R:   R;   R<   R=   R>   R?   R@   RA   RB   RC   RD   RE   RF   RG   RH   RI   RJ   (    (    (    sE   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/spec_tm.pyR9   }   s"   																(    (   t   reR)   R   R   R,   R   R	   R
   R#   R'   R7   t   unittestR    t   TestCaseR9   t   main(    (    (    sE   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/spec_tm.pyt   <module>   s   		#			-5