ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     
abc           @` s<  d  d l  m Z m Z m Z d  d l Z d  d l Z d  d l Z d  d l Z d d l m	 Z	 m
 Z
 d d l m Z m Z m Z d e f d     YZ d e
 e j e  f d	     YZ d
 e f d     YZ d e f d     YZ d   Z d e f d     YZ e j d  Z d   Z d   Z d e f d     YZ d S(   i    (   t   absolute_importt   divisiont   print_functionNi   (   t   string_typest   with_metaclass(   t   Versiont   LegacyVersiont   parset   InvalidSpecifierc           B` s   e  Z d  Z RS(   sH   
    An invalid specifier was found, users should refer to PEP 440.
    (   t   __name__t
   __module__t   __doc__(    (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyR      s   t   BaseSpecifierc           B` s   e  Z e j d     Z e j d    Z e j d    Z e j d    Z e j d    Z	 e	 j
 d    Z	 e j d d   Z e j d d   Z RS(	   c         C` s   d S(   s   
        Returns the str representation of this Specifier like object. This
        should be representative of the Specifier itself.
        N(    (   t   self(    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyt   __str__   t    c         C` s   d S(   sF   
        Returns a hash value for this Specifier like object.
        N(    (   R   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyt   __hash__   R   c         C` s   d S(   sq   
        Returns a boolean representing whether or not the two Specifier like
        objects are equal.
        N(    (   R   t   other(    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyt   __eq__$   R   c         C` s   d S(   su   
        Returns a boolean representing whether or not the two Specifier like
        objects are not equal.
        N(    (   R   R   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyt   __ne__+   R   c         C` s   d S(   sg   
        Returns whether or not pre-releases as a whole are allowed by this
        specifier.
        N(    (   R   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyt   prereleases2   R   c         C` s   d S(   sd   
        Sets whether or not pre-releases as a whole are allowed by this
        specifier.
        N(    (   R   t   value(    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyR   9   R   c         C` s   d S(   sR   
        Determines if the given item is contained within this specifier.
        N(    (   R   t   itemR   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyt   contains@   R   c         C` s   d S(   s   
        Takes an iterable of items and filters them so that only items which
        are contained within this specifier are allowed in it.
        N(    (   R   t   iterableR   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyt   filterF   R   N(   R	   R
   t   abct   abstractmethodR   R   R   R   t   abstractpropertyR   t   settert   NoneR   R   (    (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyR      s   t   _IndividualSpecifierc           B` s   e  Z i  Z d  d d  Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d   Z e d	    Z e d
    Z e d    Z e j d    Z d   Z d d  Z d d  Z RS(   R   c         C` sj   |  j  j |  } | s0 t d j |    n  | j d  j   | j d  j   f |  _ | |  _ d  S(   Ns   Invalid specifier: '{0}'t   operatort   version(   t   _regext   searchR   t   formatt   groupt   stript   _spect   _prereleases(   R   t   specR   t   match(    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyt   __init__R   s    c         C` sF   |  j  d  k	 r! d j |  j  n d } d j |  j j t |   |  S(   Ns   , prereleases={0!r}R   s   <{0}({1!r}{2})>(   R(   R   R$   R   t	   __class__R	   t   str(   R   t   pre(    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyt   __repr___   s    !		c         C` s   d j  |  j   S(   Ns   {0}{1}(   R$   R'   (   R   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyR   l   s    c         C` s   t  |  j  S(   N(   t   hashR'   (   R   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyR   o   s    c         C` s`   t  | t  r: y |  j |  } WqP t k
 r6 t SXn t  | |  j  sP t S|  j | j k S(   N(   t
   isinstanceR   R,   R   t   NotImplementedR'   (   R   R   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyR   r   s    c         C` s`   t  | t  r: y |  j |  } WqP t k
 r6 t SXn t  | |  j  sP t S|  j | j k S(   N(   R1   R   R,   R   R2   R'   (   R   R   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyR   }   s    c         C` s   t  |  d j |  j |   S(   Ns   _compare_{0}(   t   getattrR$   t
   _operators(   R   t   op(    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyt   _get_operator   s    c         C` s(   t  | t t f  s$ t |  } n  | S(   N(   R1   R   R   R   (   R   R!   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyt   _coerce_version   s    c         C` s   |  j  d S(   Ni    (   R'   (   R   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyR       s    c         C` s   |  j  d S(   Ni   (   R'   (   R   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyR!      s    c         C` s   |  j  S(   N(   R(   (   R   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyR      s    c         C` s   | |  _  d  S(   N(   R(   (   R   R   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyR      s    c         C` s   |  j  |  S(   N(   R   (   R   R   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyt   __contains__   s    c         C` sW   | d  k r |  j } n  |  j |  } | j r; | r; t S|  j |  j  | |  j  S(   N(   R   R   R7   t   is_prereleaset   FalseR6   R    R!   (   R   R   R   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyR      s    c         c` s   t  } g  } i | d  k	 r! | n t d 6} xf | D]^ } |  j |  } |  j | |  r2 | j r | pn |  j r | j |  q t } | Vq2 q2 W| r | r x | D] } | Vq Wn  d  S(   NR   (   R:   R   t   TrueR7   R   R9   R   t   append(   R   R   R   t   yieldedt   found_prereleasest   kwR!   t   parsed_version(    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyR      s    	N(   R	   R
   R4   R   R+   R/   R   R   R   R   R6   R7   t   propertyR    R!   R   R   R8   R   R   (    (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyR   N   s    								t   LegacySpecifierc           B` s   e  Z d  Z e j d e d e j e j B Z i d d 6d d 6d d 6d	 d
 6d d 6d d 6Z d   Z	 d   Z
 d   Z d   Z d   Z d   Z d   Z RS(   s  
        (?P<operator>(==|!=|<=|>=|<|>))
        \s*
        (?P<version>
            [^,;\s)]* # Since this is a "legacy" specifier, and the version
                      # string can be just about anything, we match everything
                      # except for whitespace, a semi-colon for marker support,
                      # a closing paren since versions can be enclosed in
                      # them, and a comma since it's a version separator.
        )
        s   ^\s*s   \s*$t   equals   ==t	   not_equals   !=t   less_than_equals   <=t   greater_than_equals   >=t	   less_thant   <t   greater_thant   >c         C` s(   t  | t  s$ t t |   } n  | S(   N(   R1   R   R-   (   R   R!   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyR7      s    c         C` s   | |  j  |  k S(   N(   R7   (   R   t   prospectiveR)   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyt   _compare_equal   s    c         C` s   | |  j  |  k S(   N(   R7   (   R   RK   R)   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyt   _compare_not_equal   s    c         C` s   | |  j  |  k S(   N(   R7   (   R   RK   R)   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyt   _compare_less_than_equal   s    c         C` s   | |  j  |  k S(   N(   R7   (   R   RK   R)   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyt   _compare_greater_than_equal   s    c         C` s   | |  j  |  k  S(   N(   R7   (   R   RK   R)   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyt   _compare_less_than  s    c         C` s   | |  j  |  k S(   N(   R7   (   R   RK   R)   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyt   _compare_greater_than  s    (   R	   R
   t
   _regex_strt   ret   compilet   VERBOSEt
   IGNORECASER"   R4   R7   RL   RM   RN   RO   RP   RQ   (    (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyRB      s"   
						c         ` s"   t  j      f d    } | S(   Nc         ` s#   t  | t  s t S  |  | |  S(   N(   R1   R   R:   (   R   RK   R)   (   t   fn(    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyt   wrapped  s    (   t	   functoolst   wraps(   RW   RX   (    (   RW   sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyt   _require_version_compare
  s    t	   Specifierc           B` s  e  Z d  Z e j d e d e j e j B Z i d d 6d d 6d d 6d	 d
 6d d 6d d 6d d 6d d 6Z e	 d    Z
 e	 d    Z e	 d    Z e	 d    Z e	 d    Z e	 d    Z e	 d    Z d   Z e d    Z e j d    Z RS(   s  
        (?P<operator>(~=|==|!=|<=|>=|<|>|===))
        (?P<version>
            (?:
                # The identity operators allow for an escape hatch that will
                # do an exact string match of the version you wish to install.
                # This will not be parsed by PEP 440 and we cannot determine
                # any semantic meaning from it. This operator is discouraged
                # but included entirely as an escape hatch.
                (?<====)  # Only match for the identity operator
                \s*
                [^\s]*    # We just match everything, except for whitespace
                          # since we are only testing for strict identity.
            )
            |
            (?:
                # The (non)equality operators allow for wild card and local
                # versions to be specified so we have to define these two
                # operators separately to enable that.
                (?<===|!=)            # Only match for equals and not equals

                \s*
                v?
                (?:[0-9]+!)?          # epoch
                [0-9]+(?:\.[0-9]+)*   # release
                (?:                   # pre release
                    [-_\.]?
                    (a|b|c|rc|alpha|beta|pre|preview)
                    [-_\.]?
                    [0-9]*
                )?
                (?:                   # post release
                    (?:-[0-9]+)|(?:[-_\.]?(post|rev|r)[-_\.]?[0-9]*)
                )?

                # You cannot use a wild card and a dev or local version
                # together so group them with a | and make them optional.
                (?:
                    (?:[-_\.]?dev[-_\.]?[0-9]*)?         # dev release
                    (?:\+[a-z0-9]+(?:[-_\.][a-z0-9]+)*)? # local
                    |
                    \.\*  # Wild card syntax of .*
                )?
            )
            |
            (?:
                # The compatible operator requires at least two digits in the
                # release segment.
                (?<=~=)               # Only match for the compatible operator

                \s*
                v?
                (?:[0-9]+!)?          # epoch
                [0-9]+(?:\.[0-9]+)+   # release  (We have a + instead of a *)
                (?:                   # pre release
                    [-_\.]?
                    (a|b|c|rc|alpha|beta|pre|preview)
                    [-_\.]?
                    [0-9]*
                )?
                (?:                                   # post release
                    (?:-[0-9]+)|(?:[-_\.]?(post|rev|r)[-_\.]?[0-9]*)
                )?
                (?:[-_\.]?dev[-_\.]?[0-9]*)?          # dev release
            )
            |
            (?:
                # All other operators only allow a sub set of what the
                # (non)equality operators do. Specifically they do not allow
                # local versions to be specified nor do they allow the prefix
                # matching wild cards.
                (?<!==|!=|~=)         # We have special cases for these
                                      # operators so we want to make sure they
                                      # don't match here.

                \s*
                v?
                (?:[0-9]+!)?          # epoch
                [0-9]+(?:\.[0-9]+)*   # release
                (?:                   # pre release
                    [-_\.]?
                    (a|b|c|rc|alpha|beta|pre|preview)
                    [-_\.]?
                    [0-9]*
                )?
                (?:                                   # post release
                    (?:-[0-9]+)|(?:[-_\.]?(post|rev|r)[-_\.]?[0-9]*)
                )?
                (?:[-_\.]?dev[-_\.]?[0-9]*)?          # dev release
            )
        )
        s   ^\s*s   \s*$t
   compatibles   ~=RC   s   ==RD   s   !=RE   s   <=RF   s   >=RG   RH   RI   RJ   t	   arbitrarys   ===c         C` sf   d j  t t j d   t |    d   } | d 7} |  j d  | |  oe |  j d  | |  S(   Nt   .c         S` s   |  j  d  o |  j  d  S(   Nt   postt   dev(   t
   startswith(   t   x(    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyt   <lambda>  s   is   .*s   >=s   ==(   t   joint   listt	   itertoolst	   takewhilet   _version_splitR6   (   R   RK   R)   t   prefix(    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyt   _compare_compatible  s    

c         C` s   | j  d  rh t | j  } t | d   } t t |   } | t |   } t | |  \ } } n' t |  } | j s t | j  } n  | | k S(   Ns   .*i(   t   endswithR   t   publicRi   R-   t   lent   _pad_versiont   local(   R   RK   R)   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyRL     s    	c         C` s   |  j  | |  S(   N(   RL   (   R   RK   R)   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyRM     s    c         C` s   | t  |  k S(   N(   R   (   R   RK   R)   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyRN     s    c         C` s   | t  |  k S(   N(   R   (   R   RK   R)   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyRO     s    c         C` sX   t  |  } | | k  s t S| j rT | j rT t  | j  t  | j  k rT t Sn  t S(   N(   R   R:   R9   t   base_versionR;   (   R   RK   R)   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyRP     s    c         C` s   t  |  } | | k s t S| j rT | j rT t  | j  t  | j  k rT t Sn  | j d  k	 r t  | j  t  | j  k r t Sn  t S(   N(   R   R:   t   is_postreleaseRq   Rp   R   R;   (   R   RK   R)   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyRQ     s    c         C` s"   t  |  j   t  |  j   k S(   N(   R-   t   lower(   R   RK   R)   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyt   _compare_arbitrary  s    c         C` ss   |  j  d  k	 r |  j  S|  j \ } } | d k ro | d k rY | j d  rY | d  } n  t |  j ro t Sn  t S(	   Ns   ==s   >=s   <=s   ~=s   ===s   .*i(   s   ==s   >=s   <=s   ~=s   ===(   R(   R   R'   Rl   R   R9   R;   R:   (   R   R    R!   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyR     s    c         C` s   | |  _  d  S(   N(   R(   (   R   R   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyR     s    (   R	   R
   RR   RS   RT   RU   RV   R"   R4   R[   Rk   RL   RM   RN   RO   RP   RQ   Rt   RA   R   R   (    (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyR\     s,   ^
#	s   ^([0-9]+)((?:a|b|c|rc)[0-9]+)$c         C` s\   g  } xO |  j  d  D]> } t j |  } | rG | j | j    q | j |  q W| S(   NR_   (   t   splitt   _prefix_regexR#   t   extendt   groupsR<   (   R!   t   resultR   R*   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyRi   '  s    c      	   C` s  g  g  } } | j  t t j d   |     | j  t t j d   |    | j  |  t | d   | j  | t | d   | j d d g t d t | d  t | d    | j d d g t d t | d  t | d    t t j |    t t j |    f S(   Nc         S` s
   |  j    S(   N(   t   isdigit(   Rc   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyRd   6  R   c         S` s
   |  j    S(   N(   Rz   (   Rc   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyRd   7  R   i    i   t   0(   R<   Rf   Rg   Rh   Rn   t   insertt   maxt   chain(   t   leftt   rightt
   left_splitt   right_split(    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyRo   2  s    ""//t   SpecifierSetc           B` s   e  Z d  d d  Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z e d
    Z e j d    Z d   Z d d  Z d d  Z RS(   R   c         C` s   g  | j  d  D] } | j   r | j   ^ q } t   } xL | D]D } y | j t |   WqD t k
 r | j t |   qD XqD Wt |  |  _ | |  _	 d  S(   Nt   ,(
   Ru   R&   t   sett   addR\   R   RB   t	   frozensett   _specsR(   (   R   t
   specifiersR   t   st   parsedt	   specifier(    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyR+   O  s    4	c         C` s=   |  j  d  k	 r! d j |  j  n d } d j t |   |  S(   Ns   , prereleases={0!r}R   s   <SpecifierSet({0!r}{1})>(   R(   R   R$   R   R-   (   R   R.   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyR/   d  s    !c         C` s    d j  t d   |  j D   S(   NR   c         s` s   |  ] } t  |  Vq d  S(   N(   R-   (   t   .0R   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pys	   <genexpr>n  s    (   Re   t   sortedR   (   R   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyR   m  s    c         C` s   t  |  j  S(   N(   R0   R   (   R   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyR   p  s    c         C` s   t  | t  r t |  } n t  | t  s1 t St   } t |  j | j B | _ |  j d  k r | j d  k	 r | j | _ nZ |  j d  k	 r | j d  k r |  j | _ n- |  j | j k r |  j | _ n t d   | S(   NsF   Cannot combine SpecifierSets with True and False prerelease overrides.(	   R1   R   R   R2   R   R   R(   R   t
   ValueError(   R   R   R   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyt   __and__s  s    		c         C` se   t  | t  r t |  } n7 t  | t  rB t t |   } n t  | t  sU t S|  j | j k S(   N(   R1   R   R   R   R-   R2   R   (   R   R   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyR     s    c         C` se   t  | t  r t |  } n7 t  | t  rB t t |   } n t  | t  sU t S|  j | j k S(   N(   R1   R   R   R   R-   R2   R   (   R   R   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyR     s    c         C` s   t  |  j  S(   N(   Rn   R   (   R   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyt   __len__  s    c         C` s   t  |  j  S(   N(   t   iterR   (   R   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyt   __iter__  s    c         C` s:   |  j  d  k	 r |  j  S|  j s# d  St d   |  j D  S(   Nc         s` s   |  ] } | j  Vq d  S(   N(   R   (   R   R   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pys	   <genexpr>  s    (   R(   R   R   t   any(   R   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyR     s
    	c         C` s   | |  _  d  S(   N(   R(   (   R   R   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyR     s    c         C` s   |  j  |  S(   N(   R   (   R   R   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyR8     s    c         ` sp   t    t t f  s$ t      n   d  k r< |  j  n   rP   j rP t St    f d   |  j	 D  S(   Nc         3` s$   |  ] } | j    d   Vq d S(   R   N(   R   (   R   R   (   R   R   (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pys	   <genexpr>  s   (
   R1   R   R   R   R   R   R9   R:   t   allR   (   R   R   R   (    (   R   R   sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyR     s    c         C` s  | d  k r |  j } n  |  j rT x, |  j D]! } | j | d t |  } q+ W| Sg  } g  } x | D]{ } t | t t f  s t |  } n | } t | t  r qg n  | j	 r | r | s | j
 |  q qg | j
 |  qg W| r| r| d  k r| S| Sd  S(   NR   (   R   R   R   R   t   boolR1   R   R   R   R9   R<   (   R   R   R   R)   t   filteredR>   R   R@   (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyR     s*    	N(   R	   R
   R   R+   R/   R   R   R   R   R   R   R   RA   R   R   R8   R   R   (    (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyR   M  s   						
	
			(   t
   __future__R    R   R   R   RY   Rg   RS   t   _compatR   R   R!   R   R   R   R   R   t   ABCMetat   objectR   R   RB   R[   R\   RT   Rv   Ri   Ro   R   (    (    (    sD   /usr/lib/python2.7/site-packages/pip/_vendor/packaging/specifiers.pyt   <module>   s"   "94		 		