
hPc           @   s   d  d l  Z  d  d l Z d d	 d     YZ d   Z d   Z d  d l Z e d k r{ d e j f d     YZ e j	   n  d S(
   iNt   cl2_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   s4   | |  _  | d | >d @|  _ | |  _ | |  _ d  S(   Ni   (   t   signt   bitst   nt   sqsign(   t   selfR   R   R   R   (    (    sD   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/cl2_tm.pyt   __init__"   s    		c         C   s   t  |  j | j |  j | j A|  j |  j  } x t d | j  D]| } | j | ?d @rB | d } |  j d k r{ | } n  x@ t | |  j  D]) } |  j | ?d @r | j d 9_ q q WqB qB W| S(   Ni    i   i(   R    R   R   R   R   t   range(   t   at   bt   ct   jt   lolimt   i(    (    sD   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/cl2_tm.pyt   __mul__(   s    /
	c         C   sF   |  j  | j  k oE |  j | j k oE |  j | j k oE |  j | j k S(   N(   R   R   R   R   (   R   R	   (    (    sD   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/cl2_tm.pyt   __eq__8   s    c         C   s   |  | k S(   N(    (   R   R	   (    (    sD   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/cl2_tm.pyt   __ne__;   s    c         C   s&   |  j  | j  k  r d S|  j | j k S(   Ni   (   R   R   (   R   R	   (    (    sD   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/cl2_tm.pyt   __lt__>   s    c         C   s&   |  j  | j  k r d S|  j | j k S(   Ni   (   R   R   (   R   R	   (    (    sD   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/cl2_tm.pyt   __le__B   s    c         C   s&   |  j  | j  k r d S|  j | j k  S(   Ni   (   R   R   (   R   R	   (    (    sD   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/cl2_tm.pyt   __gt__F   s    c         C   s&   |  j  | j  k r d S|  j | j k S(   Ni   (   R   R   (   R   R	   (    (    sD   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/cl2_tm.pyt   __ge__J   s    c         C   s   t  j  |   } | S(   N(   t   copy(   R   R
   (    (    sD   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/cl2_tm.pyt   invO   s    c         C   s   |  j  d d d  d  S(   Ni   i    i   (   R   (   R   t   string(    (    sD   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/cl2_tm.pyt   scanS   s    c         C   sZ   d } |  j  d k  r d } n  x5 t d |  j  D]! } | t |  j | ?d @ 7} q1 W| S(   Nt   +i    t   -i   (   R   R   R   t   strR   (   R   t   rvR   (    (    sD   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/cl2_tm.pyt   __str__Y   s    	c         C   s
   |  j    S(   N(   R   (   R   (    (    sD   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/cl2_tm.pyt   __repr__a   s    (   t   __name__t
   __module__R   R   R   R   R   R   R   R   R   R   R   R   (    (    (    sD   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/cl2_tm.pyR        s   											c         C   s   d } d } t  j d |   } d } t |  d k r t | d  } | d d k r_ d } q | d d k rx d } q | d d k r d } q | d d k r d	 } q | d d
 k r d	 } q d } n d } | s d GHd G|  GHt  n  | | g S(   Ni    i   t   ,i   R   s   +1t   1R   is   -1s0   cl2_tm.from_string:  expected parameters n,sign.s   Got: (   t   ret   splitt   lent   intt   IOError(   t   params_stringR   R   t   fieldst   ok(    (    sD   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/cl2_tm.pyt   params_from_stringd   s.    								c         C   s8   t  |  \ } } t d d | |  } | j |   | S(   Ni   i    (   R+   R    R   (   t   value_stringR(   R   R   t   obj(    (    sD   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/cl2_tm.pyt   from_string   s    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 RS(   c         C   s   d  S(   N(    (   R   (    (    sD   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/cl2_tm.pyt   test___init__   s    c         C   s   d  S(   N(    (   R   (    (    sD   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/cl2_tm.pyt   test___mul__   s    c         C   s   d  S(   N(    (   R   (    (    sD   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/cl2_tm.pyt   test___eq__   s    c         C   s   d  S(   N(    (   R   (    (    sD   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/cl2_tm.pyt   test___ne__   s    c         C   s   d  S(   N(    (   R   (    (    sD   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/cl2_tm.pyt   test___lt__   s    c         C   s   d  S(   N(    (   R   (    (    sD   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/cl2_tm.pyt   test___le__   s    c         C   s   d  S(   N(    (   R   (    (    sD   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/cl2_tm.pyt   test___gt__   s    c         C   s   d  S(   N(    (   R   (    (    sD   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/cl2_tm.pyt   test___ge__   s    c         C   s   d  S(   N(    (   R   (    (    sD   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/cl2_tm.pyt   test_inv   s    c         C   s   d  S(   N(    (   R   (    (    sD   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/cl2_tm.pyt	   test_scan   s    c         C   s   d  S(   N(    (   R   (    (    sD   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/cl2_tm.pyt   test___str__   s    c         C   s   d  S(   N(    (   R   (    (    sD   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/cl2_tm.pyt   test___repr__   s    c         C   s   d  S(   N(    (   R   (    (    sD   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/cl2_tm.pyt   test_params_from_string   s    c         C   s   d  S(   N(    (   R   (    (    sD   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/cl2_tm.pyt   test_from_string   s    (   R   R    R1   R2   R3   R4   R5   R6   R7   R8   R9   R:   R;   R<   R=   R>   (    (    (    sD   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/cl2_tm.pyR0      s   													(    (
   R#   R   R    R+   R.   t   unittestR   t   TestCaseR0   t   main(    (    (    sD   /homepages/25/d321765456/htdocs/pub_http_internet/src/sack/cl2_tm.pyt   <module>   s   D		,