
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
ó
•�abc           @   só   d  d l  m Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d d l m Z m	 Z	 m
 Z
 d d l m Z d d l m Z m Z m Z m Z m Z e j e ƒ Z d j ƒ  Z e j d ƒ Z d	 Z d
 „  Z d e f d „  ƒ  YZ d S(   iÿÿÿÿ(   t   BytesIONi   (   t	   sysconfigt   detect_encodingt   ZipFile(   t   finder(   t   FileOperatort   get_export_entryt   convert_patht   get_executablet   in_venvsñ  
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
 <assemblyIdentity version="1.0.0.0"
 processorArchitecture="X86"
 name="%s"
 type="win32"/>

 <!-- Identify the application security requirements. -->
 <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
 <security>
 <requestedPrivileges>
 <requestedExecutionLevel level="asInvoker" uiAccess="false"/>
 </requestedPrivileges>
 </security>
 </trustInfo>
</assembly>s   ^#!.*pythonw?[0-9.]*([ 	].*)?$s|  # -*- coding: utf-8 -*-
if __name__ == '__main__':
    import sys, re

    def _resolve(module, func):
        __import__(module)
        mod = sys.modules[module]
        parts = func.split('.')
        result = getattr(mod, parts.pop(0))
        for p in parts:
            result = getattr(result, p)
        return result

    try:
        sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])

        func = _resolve('%(module)s', '%(func)s')
        rc = func() # None interpreted as 0
    except Exception as e:  # only supporting Python >= 2.6
        sys.stderr.write('%%s\n' %% e)
        rc = 1
    sys.exit(rc)
c         C   sˆ   d |  k r„ |  j  d ƒ re |  j d d ƒ \ } } d | k r� | j  d ƒ r� d | | f }  q� q„ |  j  d ƒ s„ d |  }  q„ n  |  S(   Nt    s   /usr/bin/env i   t   "s   %s "%s"s   "%s"(   t
   startswitht   split(   t
   executablet   envt   _executable(    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/scripts.pyt   _enquote_executableB   s    t   ScriptMakerc           B   s  e  Z d  Z e Z d Z e e d d „ Z	 d „  Z
 e j j d ƒ rZ d „  Z d „  Z n  d d d „ Z d „  Z e Z d	 „  Z d
 „  Z d d „ Z d „  Z e d „  ƒ Z e j d „  ƒ Z e j d k sí e j d k rù e j d k rù d „  Z n  d d „ Z d d „ Z  RS(   s_   
    A class to copy or create scripts from source scripts or callable
    specifications.
    c         C   sµ   | |  _  | |  _ | |  _ t |  _ t |  _ t j d k pW t j d k oW t j d k |  _	 t
 d ƒ |  _ | p{ t | ƒ |  _ t j d k p« t j d k o« t j d k |  _ d  S(   Nt   posixt   javat    s   X.Yt   nt(   R   s   X.Y(   t
   source_dirt
   target_dirt   add_launcherst   Falset   forcet   clobbert   ost   namet   _namet   set_modet   sett   variantsR   t   _fileopt   _is_nt(   t   selfR   R   R   t   dry_runt   fileop(    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/scripts.pyt   __init__[   s    					c         C   sa   | j  d t ƒ r] |  j r] t j j | ƒ \ } } | j d d ƒ } t j j | | ƒ } n  | S(   Nt   guit   pythont   pythonw(   t   getR   R$   R   t   pathR   t   replacet   join(   R%   R   t   optionst   dnt   fn(    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/scripts.pyt   _get_alternate_executablek   s
    R   c         C   s[   y, t  | ƒ � } | j d ƒ d k SWd QXWn( t t f k
 rV t j d | ƒ t SXd S(   sl   
            Determine if the specified executable is a script
            (contains a #! line)
            i   s   #!Ns   Failed to open %s(   t   opent   readt   OSErrort   IOErrort   loggert   warningR   (   R%   R   t   fp(    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/scripts.pyt	   _is_shells   s    c         C   s^   |  j  | ƒ r= d d  l } | j j j d ƒ d k rV | Sn | j ƒ  j d ƒ rV | Sd | S(   Niÿÿÿÿs   os.namet   Linuxs
   jython.exes   /usr/bin/env %s(   R;   R   t   langt   Systemt   getPropertyt   lowert   endswith(   R%   R   R   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/scripts.pyt   _fix_jython_executable   s    R   c         C   sè  t  } |  j r! |  j } t } n‰ t j ƒ  s9 t ƒ  } nq t ƒ  rp t j j	 t j
 d ƒ d t j d ƒ ƒ } n: t j j	 t j d ƒ d t j d ƒ t j d ƒ f ƒ } | rÅ |  j | | ƒ } n  t j j d ƒ ré |  j | ƒ } n  t j j | ƒ } | rt | ƒ } n  | j d ƒ } t j d	 k rSd
 | k rSd | k rS| d 7} n  d | | d } y | j d ƒ Wn! t k
 r™t d | ƒ ‚ n X| d k räy | j | ƒ Wqät k
 ràt d | | f ƒ ‚ qäXn  | S(   Nt   scriptss   python%st   EXEt   BINDIRs
   python%s%st   VERSIONR   s   utf-8t   clis	   -X:Framess   -X:FullFramess
    -X:Framess   #!s   
s,   The shebang (%r) is not decodable from utf-8s?   The shebang (%r) is not decodable from the script encoding (%r)(   t   TrueR   R   R   t   is_python_buildR   R	   R   R-   R/   t   get_patht   get_config_varR3   t   syst   platformR   RB   t   normcaseR   t   encodet   decodet   UnicodeDecodeErrort
   ValueError(   R%   t   encodingt   post_interpR0   t   enquoteR   t   shebang(    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/scripts.pyt   _get_shebang‹   sL    					c         C   s    |  j  t d | j d | j ƒ S(   Nt   modulet   func(   t   script_templatet   dictt   prefixt   suffix(   R%   t   entry(    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/scripts.pyt   _get_script_textÃ   s    c         C   s   t  j j | ƒ } |  j | S(   N(   R   R-   t   basenamet   manifest(   R%   t   exenamet   base(    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/scripts.pyt   get_manifestÉ   s    c         C   s�  |  j  o |  j } t j j d ƒ } | s; | | | } n| | d k rY |  j d ƒ } n |  j d ƒ } t ƒ  }	 t |	 d ƒ � }
 |
 j d | ƒ Wd  QX|	 j	 ƒ  } | | | | } xÃ| D]»} t j
 j |  j | ƒ } | rØt j
 j | ƒ \ } } | j d ƒ r| } n  d | } y |  j j | | ƒ Wqlt k
 rÔt j d ƒ d	 | } t j
 j | ƒ r|t j | ƒ n  t j | | ƒ |  j j | | ƒ t j d
 ƒ y t j | ƒ WqÕt k
 rÐqÕXqlXn” |  j r| j d | ƒ rd | | f } n  t j
 j | ƒ r:|  j r:t j d | ƒ q¾ n  |  j j | | ƒ |  j rl|  j j | g ƒ n  | j | ƒ q¾ Wd  S(   Ns   utf-8t   pyt   tt   ws   __main__.pys   .pys   %s.exes:   Failed to write executable - trying to use .deleteme logics   %s.deletemes0   Able to replace executable using .deleteme logict   .s   %s.%ss   Skipping existing file %s(   R   R$   R   t   linesepRO   t   _get_launcherR    R   t   writestrt   getvalueR-   R/   R   t   splitextR   R#   t   write_binary_filet	   ExceptionR8   R9   t   existst   removet   renamet   debugRA   R   R    t   set_executable_modet   append(   R%   t   namesRV   t   script_bytest	   filenamest   extt   use_launcherRi   t   launchert   streamt   zft   zip_dataR   t   outnamet   nt   et   dfname(    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/scripts.pyt   _write_scriptÍ   sT    		

	c         C   sQ  d } | rL | j  d g  ƒ } | rL d d j | ƒ } | j d ƒ } qL n  |  j d | d | ƒ} |  j | ƒ j d ƒ } | j } t ƒ  }	 d |  j k r­ |	 j | ƒ n  d |  j k rÝ |	 j d | t	 j
 d	 f ƒ n  d
 |  j k r|	 j d | t	 j
 d  f ƒ n  | r.| j  d t ƒ r.d }
 n d }
 |  j |	 | | | |
 ƒ d  S(   NR   t   interpreter_argss    %sR
   s   utf-8R0   t   Xs   %s%si    s   X.Ys   %s-%si   R)   t   pywRe   (   R,   R/   RO   RW   R_   R   R!   R"   t   addRL   t   versionR   Rƒ   (   R%   R^   Rx   R0   RT   t   argsRV   t   scriptR   t   scriptnamesRy   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/scripts.pyt   _make_scriptÿ   s(    		!!	c         C   s@  t  } t j j |  j t | ƒ ƒ } t j j |  j t j j | ƒ ƒ } |  j r| |  j	 j
 | | ƒ r| t j d | ƒ d  Sy t | d ƒ } Wn& t k
 r· |  j s® ‚  n  d  } no X| j ƒ  } | sç t j d |  j ƒ  | ƒ d  St j | j d d ƒ ƒ } | r&t } | j d ƒ p d } n  | s�| r?| j ƒ  n  |  j	 j | | ƒ |  j rq|  j	 j | g ƒ n  | j | ƒ n» t j d | |  j ƒ |  j	 j s)t | j ƒ \ }	 }
 | j  d	 ƒ |  j! |	 | ƒ } d
 | k rìd } n d } t j j | ƒ } |  j" | g | | j# ƒ  | | ƒ n  | r<| j ƒ  n  d  S(   Ns   not copying %s (up-to-date)t   rbs"   %s: %s is an empty file (skipping)s   
s   
i   R   s   copying and adjusting %s -> %si    R+   R†   Re   ($   R   R   R-   R/   R   R   R   R`   R   R#   t   newerR8   Rs   R4   R7   R&   t   Nonet   readlineR9   t   get_command_namet   FIRST_LINE_REt   matchR.   RH   t   groupt   closet	   copy_fileR    Rt   Ru   t   infoR   t   seekRW   Rƒ   R5   (   R%   RŠ   Rx   t   adjustR   t   ft
   first_lineR“   RT   RS   t   linesRV   Ry   R€   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/scripts.pyt   _copy_script  sR    $ 	
		
	%c         C   s
   |  j  j S(   N(   R#   R&   (   R%   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/scripts.pyR&   J  s    c         C   s   | |  j  _ d  S(   N(   R#   R&   (   R%   t   value(    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/scripts.pyR&   N  s    R   c         C   sf   t  j d ƒ d k r d } n d } d | | f } t j d d ƒ d } t | ƒ j | ƒ j } | S(	   Nt   Pi   t   64t   32s   %s%s.exeRh   i   i    (   t   structt   calcsizet   __name__t   rsplitR   t   findt   bytes(   R%   t   kindt   bitsR   t   distlib_packaget   result(    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/scripts.pyRj   V  s    	c         C   sK   g  } t  | ƒ } | d k r1 |  j | | ƒ n |  j | | d | ƒ| S(   sÓ  
        Make a script.

        :param specification: The specification, which is either a valid export
                              entry specification (to make a script from a
                              callable) or a filename (to make a script by
                              copying from a source location).
        :param options: A dictionary of options controlling script generation.
        :return: A list of all absolute pathnames written to.
        R0   N(   R   R�   R�   RŒ   (   R%   t   specificationR0   Rx   R^   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/scripts.pyt   maked  s    c         C   s4   g  } x' | D] } | j  |  j | | ƒ ƒ q W| S(   sÂ   
        Take a list of specifications and make scripts from them,
        :param specifications: A list of specifications.
        :return: A list of all absolute pathnames written to,
        (   t   extendR­   (   R%   t   specificationsR0   Rx   R¬   (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/scripts.pyt   make_multiplew  s    N(!   R¤   t
   __module__t   __doc__t   SCRIPT_TEMPLATERZ   R�   R   RH   R   R(   R3   RL   RM   R   R;   RB   RW   R_   t   _DEFAULT_MANIFESTRa   Rd   Rƒ   RŒ   R�   t   propertyR&   t   setterR   R   R   Rj   R­   R°   (    (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/scripts.pyR   R   s,   		8			2	4-(   t   ioR    t   loggingR   t   reR¢   RL   t   compatR   R   R   t	   resourcesR   t   utilR   R   R   R   R	   t	   getLoggerR¤   R8   t   stripR´   t   compileR’   R³   R   t   objectR   (    (    (    s?   /usr/lib/python2.7/site-packages/pip/_vendor/distlib/scripts.pyt   <module>   s   (	