£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>

MRe                 @   s  d  Z  d d d g Z d d l Z d d l Z d d l Z d d l Z d d l Z e Z y d d l m	 Z	 Wn3 e
 k
 r e j d k r d d	   Z	 n   Yn Xi e j d
 6d e j d d  d 6e j j d d  d d 6e j d 6e j   d 6e j   d 6e	   d 6d d 6Z xC e e j    D]/ Z d e k r+e e e e j d d  <q+q+Wd d   Z Gd d   d e j  Z d d   Z d d   Z e j   Z d d   Z d d  d  Z d S)!a  Interpret PEP 345 environment markers.

EXPR [in|==|!=|not in] EXPR [or|and] ...

where EXPR belongs to any of those:

    python_version = '%s.%s' % (sys.version_info[0], sys.version_info[1])
    python_full_version = sys.version.split()[0]
    os.name = os.name
    sys.platform = sys.platform
    platform.version = platform.version()
    platform.machine = platform.machine()
    platform.python_implementation = platform.python_implementation()
    a free string, like '2.6', or 'win32'
default_environmentcompile	interpret    N)python_implementationjavac               C   s   d S)NJython r   r   r   -/tmp/pip-l4uy7dan-build/_markerlib/markers.pyr   !   s    r   zsys.platformz%s.%s   python_version    python_full_versionzos.namezplatform.versionzplatform.machinezplatform.python_implementationextra._c               C   s
   t  t  S)z2Return copy of default PEP 385 globals dictionary.)dict_VARSr   r   r   r	   r   8   s    c               @   s   e  Z d  Z d d   Z e j e j e j e j e j	 e j
 f Z e e j e j f 7Z e e j e j e j e j e j e j e j e j e j e j f
 7Z d d   Z d d   Z d S)ASTWhitelistc             C   s   | |  _  d  S)N)	statement)selfr   r   r   r	   __init__=   s    zASTWhitelist.__init__c             C   sL   t  | |  j  s9 t d |  j d | j d f   n  t j j |  |  S)z-Ensure statement only contains allowed nodes.z)Not allowed in environment markers.
%s
%sr   ^)
isinstanceALLOWEDSyntaxErrorr   
col_offsetastNodeTransformervisit)r   noder   r   r	   r   F   s
    zASTWhitelist.visitc             C   s8   t  j d | j j | j f | j  } t  j | |  S)z&Flatten one level of attribute access.z%s.%s)r   Namevalueidattrctxcopy_location)r   r    new_noder   r   r	   visit_AttributeN   s    (zASTWhitelist.visit_AttributeN)__name__
__module____qualname__r   r   CompareBoolOp	Attributer!   LoadStrr   AndOrEqGtGtEInIsIsNotLtLtENotEqNotInr   r(   r   r   r   r	   r   <   s   *Fr   c             C   s.   t  j |  d d } t |   j |  } | S)Nmodeeval)r   parser   generic_visit)markertreenew_treer   r   r	   parse_markerS   s    rD   c             C   s   t  |  d d d d S)Nz<environment marker>r>   dont_inheritT)_builtin_compile)parsed_markerr   r   r	   compile_markerX   s    rH   c                s   y t  |  SWn t k
 r  Yn X|  j   sB d d d d  } n* t t |      d d   f d d  } |  | _ | t  |  <t  |  S)zCReturn compiled marker as a function accepting an environment dict.Nc             S   s   d S) Tr   )environmentoverrider   r   r	   	marker_fne   s    zcompile.<locals>.marker_fnc                sG   | d k r i  } n  |  d k r- t    }  n  |  j |  t   |   S)zoverride updates environmentN)r   updater>   )rJ   rK   )compiled_markerr   r	   rL   j   s    	)_cacheKeyErrorstriprH   rD   __doc__)rA   rL   r   )rN   r	   r   ^   s    	
c             C   s   t  |   |  S)N)r   )rA   rJ   r   r   r	   r   v   s    )rR   __all__r   osplatformsysweakrefr   rF   r   ImportErrornameversion_infoversionsplitmachiner   listkeysvarreplacer   r   r   rD   rH   WeakValueDictionaryrO   r   r   r   r   r	   <module>   s>   


!