
.^O                 @   s   d  Z  d d l Z d d d d d d d	 d
 d d d d d d d d d d d d i
 Z d d   Z d d   Z d d   Z e d k r e   d S)z<Safely evaluate Python string literals without using eval().    Nabfn
rt	v'"\c             C   s   |  j  d d  \ } } t j |  } | d  k	 r7 | S| j d  r | d d   } t |  d k  rx t d |   y t | d  } Wq t k
 r t d |   Yq Xn8 y t | d  } Wn" t k
 r t d |   Yn Xt |  S)	Nr      x   z!invalid hex string escape ('\%s')      z#invalid octal string escape ('\%s'))groupsimple_escapesget
startswithlen
ValueErrorintchr)malltailescZhexesi r%   M/build/toolchain/mac32/python-3.5.2-openssl1.0.2u-1/lib/python3.5/literals.pyescape   s"    r'   c             C   s^   |  d } |  d  d  | d k r. | d } |  t  |  t  |   }  t j d t |   S)Nr      z)\\(\'|\"|\\|[abfnrtv]|x.{0,2}|[0-7]{1,3}))r   resubr'   )sqr%   r%   r&   
evalString(   s
    

r-   c              C   s^   xW t  d  D]I }  t |   } t |  } t |  } | | k r t |  | | |  q Wd  S)N   )ranger   reprr-   print)r$   cr+   er%   r%   r&   test2   s    r4   __main__)__doc__r)   r   r'   r-   r4   __name__r%   r%   r%   r&   <module>   s    
	