£Á°è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>

ReE  c               @   si  d  d l  Z  d  d l Z d  d l Z 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 Z d  d l m Z d  d l m Z y d  d l Z Wn! e k
 r d  d l j Z Yn Xd  d l m Z m Z e e d d  d d  Z d d	   Z d
 d   Z d d   Z d d   Z d d   Z e   Z  d d d  Z! d d   Z" d d d  Z# d d   Z$ d d   Z% Gd d   d e&  Z' Gd d    d  e'  Z( Gd! d"   d" e(  Z) Gd# d$   d$ e'  Z* d d% d&  Z+ Gd' d(   d( e&  Z, Gd) d*   d* e,  Z- Gd+ d,   d, e,  Z. e/ d- k rex( e+ e j0 d.  D] Z1 e2 e1  qNWn  d S(/   i    N(   u   log(   u   unicode(   u   unescape(   u   Popenu   PIPEc             C   sp   y; t  |  d | d | d t j d k } | j   | } Wn t k
 rS d SYn Xt | |  } | j | f S(   Nu   stdoutu   stderru   shellu   win32i   u    (   i   u    (   u   _Popenu   sysu   platformu   communicateu   OSErroru   decode_as_stringu
   returncode(   u   argsu   stdoutu   stderru   encodingu   streamu   procu   data(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu   _run_command   s    	u   _run_commandc             C   s0   |  j  d  d } d j d d   | j D  S(   Nu   schedulei    u    c             S   s+   g  |  ]! } | j  | j k r | j  q S(    (   u   nodeTypeu	   TEXT_NODEu	   nodeValue(   u   .0u   t(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu
   <listcomp>2   s   	u'   _get_entry_schedule.<locals>.<listcomp>(   u   getElementsByTagNameu   joinu
   childNodes(   u   entryu   schedule(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu   _get_entry_schedule0   s    u   _get_entry_schedulec             C   s0   |  j  d  d } d j d d   | j D  S(   Nu   propertyi    u    c             S   s+   g  |  ]! } | j  | j k r | j  q S(    (   u   nodeTypeu	   TEXT_NODEu	   nodeValue(   u   .0u   t(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu
   <listcomp>9   s   	u(   _get_target_property.<locals>.<listcomp>(   u   getElementsByTagNameu   joinu
   childNodes(   u   targetu   property_text(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu   _get_target_property7   s    u   _get_target_propertyc             C   s+   t  j d k  r! |  j d  } n |  } | S(   Ni   i    u   utf-8(   i   i    (   u   sysu   version_infou   encode(   u   decoded_stru   data(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu   _get_xml_data>   s    u   _get_xml_datac             G   s6   |  s |  d k r# t  j j |   St  j j |  |  S(   Nu   .(   u   osu   pathu   join(   u   prefixu   suffix(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu   joinpathG   s    u   joinpathc              C   s   yL t  j   }  |  s" |  d k r5 t  j   d }  n  |  rK t j |   n  Wn! t  j t f k
 ro d  }  Yn Xt j	 d k } |  s d d g | S|  j
 d  r | r d S|  Sd  S(   Nu   US-ASCIIi   u   darwinu   utf-8u   mac-(   u   localeu   getpreferredencodingu   getdefaultlocaleu   codecsu   lookupu   Erroru   LookupErroru   Noneu   sysu   platformu
   startswith(   u   encodingu   is_osx(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu   determine_console_encodingL   s    u   determine_console_encodingc             C   sL   | d k r t } n  t |  t  s6 |  j |  }  n  t j d |   }  |  S(   u  
    Decode the console or file output explicitly using getpreferredencoding.
    The text paraemeter should be a encoded string, if not no decode occurs
    If no encoding is given, getpreferredencoding is used.  If encoding is
    specified, that is used instead.  This would be needed for SVN --xml
    output.  Unicode is explicitly put in composed NFC form.

    --xml should be UTF-8 (SVN Issue 2938) the discussion on the Subversion
    DEV List from 2007 seems to indicate the same.
    u   NFCN(   u   Noneu   _console_encodingu
   isinstanceu   unicodeu   decodeu   unicodedatau	   normalize(   u   textu   encoding(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu   decode_as_stringi   s    	u   decode_as_stringc             C   s   t  j j j t |    } t   } x| | D]t \ } } | d k r+ | j d k r+ | j |  t |  j	 d  s | j
 | j d  | j d  f  q q+ q+ W| d d  S(   u+   Parse the entries from a recursive info xmlu   START_ELEMENTu   entryu   deleteu   pathu   kindi   N(   u   xmlu   domu   pulldomu   parseStringu   _get_xml_datau   listu   nodeNameu
   expandNodeu   _get_entry_scheduleu
   startswithu   appendu   getAttribute(   u   decoded_stru   docu   entriesu   eventu   node(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu   parse_dir_entries   s    	u   parse_dir_entriesu    c       	      C   s  t  j j |  } t  j j |  } t j j j t |    } t	   } x | D] \ } } | d k rO | j
 d k rO | j |  t  j j | j d   } t  j j |  j |  r | t |  d d  } n  t |  } x- t |  D] } | j t | |   q WqO qO W| S(   u!   Parse a propget svn:externals xmlu   START_ELEMENTu   targetu   pathi   N(   u   osu   pathu   normpathu   normcaseu   xmlu   domu   pulldomu   parseStringu   _get_xml_datau   listu   nodeNameu
   expandNodeu   getAttributeu
   startswithu   lenu   _get_target_propertyu   parse_external_propu   appendu   joinpath(	   u   decoded_stru   prefixu   docu	   externalsu   eventu   nodeu   pathu   datau   external(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu   parse_externals_xml   s    	!u   parse_externals_xmlc             C   s   g  } x |  j    D] } | j   } | s1 q n  t j d k  rR | j d  } n  t j |  } t j d	 k  r d d   | D } n  t j | d
  d r | d } n
 | d } t	 | d d } | j
 t j j |   q W| S(   u   
    Parse the value of a retrieved svn:externals entry.

    possible token setups (with quotng and backscaping in laters versions)
        URL[@#] EXT_FOLDERNAME
        [-r#] URL EXT_FOLDERNAME
        EXT_FOLDERNAME [-r#] URL
    i   i    u   utf-8c             S   s   g  |  ] } | j  d    q S(   u   utf-8(   u   decode(   u   .0u   x(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu
   <listcomp>   s   	 u'   parse_external_prop.<locals>.<listcomp>i   u   encoding(   i   i    (   i   i    ii(   u
   splitlinesu   lstripu   sysu   version_infou   encodeu   shlexu   splitu   urlparseu   urlsplitu   decode_as_stringu   appendu   osu   pathu   normpath(   u   linesu	   externalsu   lineu   external(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu   parse_external_prop   s     	
u   parse_external_propc       	   
   C   s   d } t |  d  } d } z x t | j d  D] } | j   } t |  d k r1 | \ } } | j t |   } | d k r | | k r d } q | d k r | r Pq q1 q1 WWd  | j	   X| S(   Nu   rtu    i   u   Ku   VFT(
   u   Falseu   openu   iteru   readlineu   splitu   lenu   readu   intu   Trueu   close(	   u   filenameu   keyu   foundu   fu   datau   lineu   partsu   kindu   length(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu   parse_prop_file   s    	u   parse_prop_filec             B   s   |  Ee  Z d  Z d Z e d d    Z e j d e j  Z	 e
 d d d   Z d d d	  Z d
 d   Z e d d    Z e d d    Z d d   Z d d   Z d d d  Z d d   Z d d   Z d S(   u   SvnInfou   
    Generic svn_info object.  No has little knowledge of how to extract
    information.  Use cls.load to instatiate according svn version.

    Paths are not filesystem encoded.
    c              C   s?   t  d d d g  \ }  } |  d k r7 | r7 | j   Sd Sd  S(   Nu   svnu	   --versionu   --quieti    u    (   u   _run_commandu   strip(   u   codeu   data(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu   get_svn_version   s    
u   SvnInfo.get_svn_versionu!   (?:([\-0-9]+):)?(\d+)([a-z]*)\s*$u    c       	      C   sh  t  j j |  } t d d | g  \ } } t  j j | d  } t  j j t  j j | d   p t  j j t  j j | d   p t  j j t  j j | d   } t |  j   j d   } y' t d d	   | d  d
  D  } Wn t	 k
 rt   } Yn X| st
 |  S| s.| s.| d k  rHt j d t  t |  S| d k  r^t |  St |  S(   Nu   svnu   infou   .svnu   entriesu	   dir-propsu   dir-prop-baseu   .c             s   s   |  ] } t  |  Vq d  S(   N(   u   int(   u   .0u   x(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu	   <genexpr>  s    u   SvnInfo.load.<locals>.<genexpr>i   i   i   u?   No SVN 1.3+ command found: falling back on pre 1.7 .svn parsingi   (   i   i   (   i   i   (   u   osu   pathu   normpathu   _run_commandu   joinu   isfileu   tupleu   get_svn_versionu   splitu
   ValueErroru   SvnInfou   warningsu   warnu   DeprecationWarningu   SvnFileInfou	   Svn13Infou	   Svn15Info(	   u   clsu   dirnameu   normdiru   codeu   datau   svn_diru   has_svnu   svn_versionu   base_svn_version(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu   load   s(    !!!'
	

u   SvnInfo.loadc             C   s   | |  _  d  |  _ d  |  _ d  S(   N(   u   pathu   Noneu   _entriesu
   _externals(   u   selfu   path(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu   __init__  s    		u   SvnInfo.__init__c             C   sh   t  d d |  j g  \ } } | r5 t j d  d S|  j j |  } | r` t | j d   Sd Sd S(   u<   Retrieve the directory revision informatino using svnversionu
   svnversionu   -cu   svnversion failedi    i   N(   u   _run_commandu   pathu   logu   warnu   revision_reu   matchu   intu   group(   u   selfu   codeu   datau   parsed(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu   get_revision  s    u   SvnInfo.get_revisionc             C   s(   |  j  d  k r! |  j   |  _  n  |  j  S(   N(   u   _entriesu   Noneu   get_entries(   u   self(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu   entries(  s    u   SvnInfo.entriesc             C   s(   |  j  d  k r! |  j   |  _  n  |  j  S(   N(   u
   _externalsu   Noneu   get_externals(   u   self(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu	   externals.  s    u   SvnInfo.externalsc             c   s   x |  j  D] } | Vq
 Wd S(   uR   
        Iterate over the svn:external references in the repository path.
        N(   u	   externals(   u   selfu   item(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu   iter_externals4  s    u   SvnInfo.iter_externalsc             c   s8   x1 |  j  D]& \ } } | j   d k r
 | Vq
 q
 Wd S(   uR   
        Iterate over the non-deleted file entries in the repository path
        u   fileN(   u   entriesu   lower(   u   selfu   itemu   kind(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu
   iter_files;  s    u   SvnInfo.iter_filesc             c   sI   | r |  j  Vn  x1 |  j D]& \ } } | j   d k r | Vq q Wd S(   uR   
        Iterate over the non-deleted file entries in the repository path
        u   dirN(   u   pathu   entriesu   lower(   u   selfu   include_rootu   itemu   kind(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu	   iter_dirsC  s
    u   SvnInfo.iter_dirsc             C   s   g  S(   N(    (   u   self(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu   get_entriesM  s    u   SvnInfo.get_entriesc             C   s   g  S(   N(    (   u   self(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu   get_externalsP  s    u   SvnInfo.get_externalsNT(   u   __name__u
   __module__u   __qualname__u   __doc__u   staticmethodu   get_svn_versionu   reu   compileu   Iu   revision_reu   classmethodu   loadu   __init__u   get_revisionu   propertyu   entriesu	   externalsu   iter_externalsu
   iter_filesu   Trueu	   iter_dirsu   get_entriesu   get_externals(   u
   __locals__(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu   SvnInfo   s   
u   SvnInfoc             B   s,   |  Ee  Z d  Z d d   Z d d   Z d S(   u	   Svn13Infoc             C   sK   t  d d d d |  j g d d \ } } | rA t j d  g  St |  S(   Nu   svnu   infou   -Ru   --xmlu   encodingu   utf-8u   svn info failed(   u   _run_commandu   pathu   logu   debugu   parse_dir_entries(   u   selfu   codeu   data(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu   get_entriesU  s    u   Svn13Info.get_entriesc             C   s   d d d g } g  } x |  j    D] } t | | g d d \ } } | d k rd t j d  g  SxK t |  D]= } | r t j j | |  } n  | j t j j	 |   qq Wq" W| S(   Nu   svnu   propgetu   svn:externalsu   encodingu   utf-8i    u   svn propget failed(
   u	   iter_dirsu   _run_commandu   logu   warnu   parse_external_propu   osu   pathu   joinu   appendu   normpath(   u   selfu   cmdu   resultu   folderu   codeu   linesu   external(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu   get_externals_  s    !u   Svn13Info.get_externalsN(   u   __name__u
   __module__u   __qualname__u   get_entriesu   get_externals(   u
   __locals__(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu	   Svn13InfoT  s   
u	   Svn13Infoc             B   s    |  Ee  Z d  Z d d   Z d S(   u	   Svn15Infoc             C   si   d d d |  j  d d g } t | d d \ } } | rJ t j d  g  St | d	 t j  j |  j   S(
   Nu   svnu   propgetu   svn:externalsu   -Ru   --xmlu   encodingu   utf-8u   svn propget failedu   prefix(   u   pathu   _run_commandu   logu   debugu   parse_externals_xmlu   osu   abspath(   u   selfu   cmdu   codeu   lines(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu   get_externalss  s    u   Svn15Info.get_externalsN(   u   __name__u
   __module__u   __qualname__u   get_externals(   u
   __locals__(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu	   Svn15Infor  s   u	   Svn15Infoc                se   |  Ee  Z d  Z d   f d d  Z d d   Z d d   Z d d	   Z d
 d   Z d d   Z   S(   u   SvnFileInfou    c                s,   t  t |   j |  d  |  _ d  |  _ d  S(   N(   u   superu   SvnFileInfou   __init__u   Noneu   _directoriesu	   _revision(   u   selfu   path(   u	   __class__(    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu   __init__~  s    	u   SvnFileInfo.__init__c             c   s   t  | d d  } t j j |  r t j |  } | d | j   f Vx | j   D]x } t	 |  } t  | |  } t j j |  r | d d  f VqT t j j |  rT x |  j |  D] } | Vq WqT qT Wn  d  S(   Nu   .svnu   entriesFT(   u   joinpathu   osu   pathu   isfileu   SVNEntriesFileu   loadu   Falseu   parse_revisionu   get_undeleted_recordsu   decode_as_stringu   Trueu   Noneu   isdiru	   _walk_svn(   u   selfu   baseu
   entry_fileu   entriesu   pathu   item(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu	   _walk_svn  s    u   SvnFileInfo._walk_svnc             C   s   t    } d } xa |  j |  j  D]M \ } } } | rM | j | d f  q" | j | d f  t | |  } q" W| |  _ | |  _ d  S(   Ni    u   fileu   dir(   u   listu	   _walk_svnu   pathu   appendu   maxu   _entriesu	   _revision(   u   selfu   entriesu   revu   pathu   isfileu   dir_rev(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu   _build_entries  s    	"	u   SvnFileInfo._build_entriesc             C   s#   |  j  d  k r |  j   n  |  j  S(   N(   u   _entriesu   Noneu   _build_entries(   u   self(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu   get_entries  s    u   SvnFileInfo.get_entriesc             C   s#   |  j  d  k r |  j   n  |  j  S(   N(   u	   _revisionu   Noneu   _build_entries(   u   self(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu   get_revision  s    u   SvnFileInfo.get_revisionc             C   s   d d g d d g g } g  } x |  j    D] } d  } x8 | D]0 } t | |  } t j j |  r> | } q> q> W| d  k	 r+ t | d  } t | d d } | j t	 |   q+ q+ W| S(   Nu   .svnu   dir-prop-baseu	   dir-propsu   svn:externalsu   encodingu   utf-8(
   u	   iter_dirsu   Noneu   joinpathu   osu   pathu   isfileu   parse_prop_fileu   decode_as_stringu   extendu   parse_external_prop(   u   selfu
   prop_filesu	   externalsu   dirnameu	   prop_fileu	   rel_partsu   filenameu   ext_prop(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu   get_externals  s    	u   SvnFileInfo.get_externals(	   u   __name__u
   __module__u   __qualname__u   __init__u	   _walk_svnu   _build_entriesu   get_entriesu   get_revisionu   get_externals(   u
   __locals__(    (   u	   __class__u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu   SvnFileInfo|  s   u   SvnFileInfoc             c   sq   t  j |   } x | j   D] } | Vq Wx? | j   D]1 } t  j |  } x | j   D] } | VqZ Wq8 Wd  S(   N(   u   SvnInfou   loadu
   iter_filesu   iter_externals(   u   dirnameu   infou   pathu   sub_infou   sub_path(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu
   svn_finder  s    	u
   svn_finderc             B   sP   |  Ee  Z d  Z d d   Z e d d    Z e d d    Z d d   Z d	 S(
   u   SVNEntriesFilec             C   s   | |  _  d  S(   N(   u   data(   u   selfu   data(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu   __init__  s    u   SVNEntriesFile.__init__c          
   C   sI   t  j j | d d  } t |  } z t j |  } Wd  | j   X| S(   Nu   .svnu   entries(   u   osu   pathu   joinu   openu   SVNEntriesFileu   readu   close(   u   class_u   baseu   filenameu   fu   result(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu   load  s    u   SVNEntriesFile.loadc             C   s5   | j    } | j d  } t t g | }  |  |  S(   Nu   <?xml(   u   readu
   startswithu   SVNEntriesFileTextu   SVNEntriesFileXML(   u   class_u   fileobju   datau   is_xml(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu   read  s    u   SVNEntriesFile.readc             C   s   |  j    d g } t |  S(   Ni    (   u   parse_revision_numbersu   max(   u   selfu   all_revs(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu   parse_revision  s    u   SVNEntriesFile.parse_revisionN(   u   __name__u
   __module__u   __qualname__u   __init__u   classmethodu   loadu   readu   parse_revision(   u
   __locals__(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu   SVNEntriesFile  s   
u   SVNEntriesFilec             B   sw   |  Ee  Z d  Z i d d 6d d 6d d 6Z d d   Z d	 d
   Z d d   Z d d   Z d d   Z d d   Z	 d S(   u   SVNEntriesFileTexti   u   1.4.xi	   u   1.5.xi
   u   1.6.xc             C   s   |  j  S(   N(   u   sections(   u   self(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu   __get_cached_sections  s    u(   SVNEntriesFileText.__get_cached_sectionsc             C   s   d } |  j  j |  } d d   t t j |  D } yE t | d j d   } | |  j j   k r{ t	 j
 d |  n  Wn t k
 r d  SYn X| |  _ |  j |  _ |  j S(   Nu   
c             S   s   g  |  ] } |  q S(    (    (   u   .0u   x(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu
   <listcomp>  s   	 u3   SVNEntriesFileText.get_sections.<locals>.<listcomp>i    u   Unknown subversion verson %d(   u   datau   splitu   mapu   stru
   splitlinesu   intu   popu   known_svn_versionsu   valuesu   logu   warnu
   ValueErroru   sectionsu(   _SVNEntriesFileText__get_cached_sectionsu   get_sections(   u   selfu   SECTION_DIVIDERu   sectionsu   svn_version(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu   get_sections  s    		u   SVNEntriesFileText.get_sectionsc             C   s   t  |  j    S(   N(   u   boolu   get_sections(   u   self(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu   is_valid  s    u   SVNEntriesFileText.is_validc             C   s   |  j    d d S(   Ni    i   (   u   get_sections(   u   self(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu   get_url  s    u   SVNEntriesFileText.get_urlc                s)   d     f d d   |  j    D } | S(   Ni	   c                s<   g  |  ]2 } t  |    k r |   r t |     q S(    (   u   lenu   int(   u   .0u   section(   u   revision_line_number(    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu
   <listcomp>  s   	u=   SVNEntriesFileText.parse_revision_numbers.<locals>.<listcomp>(   u   get_sections(   u   selfu   rev_numbers(    (   u   revision_line_numberu-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu   parse_revision_numbers  s    u)   SVNEntriesFileText.parse_revision_numbersc                s/   d d       f d d   |  j    D } | S(   Nc             S   s0   |  o/ |  d o/ t  |   d k  p/ |  d d k S(   Ni    i   i   u   delete(   u   len(   u   s(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu   <lambda>  s    u:   SVNEntriesFileText.get_undeleted_records.<locals>.<lambda>c                s&   g  |  ] }   |  r | d   q S(   i    (    (   u   .0u   section(   u	   undeleted(    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu
   <listcomp>  s   	u<   SVNEntriesFileText.get_undeleted_records.<locals>.<listcomp>(   u   get_sections(   u   selfu   result(    (   u	   undeletedu-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu   get_undeleted_records  s    u(   SVNEntriesFileText.get_undeleted_recordsN(
   u   __name__u
   __module__u   __qualname__u   known_svn_versionsu(   _SVNEntriesFileText__get_cached_sectionsu   get_sectionsu   is_validu   get_urlu   parse_revision_numbersu   get_undeleted_records(   u
   __locals__(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu   SVNEntriesFileText  s   

u   SVNEntriesFileTextc             B   sD   |  Ee  Z d  Z d d   Z d d   Z d d   Z d d   Z d	 S(
   u   SVNEntriesFileXMLc             C   s   d S(   NT(   u   True(   u   self(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu   is_valid  s    u   SVNEntriesFileXML.is_validc             C   s(   t  j d  } | j |  j  j d  S(   u   Get repository URLu   url="([^"]+)"i   (   u   reu   compileu   searchu   datau   group(   u   selfu   urlre(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu   get_url  s    u   SVNEntriesFileXML.get_urlc             C   s,   t  j d  } d d   | j |  j  D S(   Nu   committed-rev="(\d+)"c             S   s%   g  |  ] } t  | j d     q S(   i   (   u   intu   group(   u   .0u   m(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu
   <listcomp>$  s   	u<   SVNEntriesFileXML.parse_revision_numbers.<locals>.<listcomp>(   u   reu   compileu   finditeru   data(   u   selfu   revre(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu   parse_revision_numbers!  s    	u(   SVNEntriesFileXML.parse_revision_numbersc             C   s8   t  j d t  j  } d d   | j |  j  D } | S(   Nu%   name="([^"]+)"(?![^>]+deleted="true")c             S   s%   g  |  ] } t  | j d     q S(   i   (   u   unescapeu   group(   u   .0u   match(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu
   <listcomp>,  s   	u;   SVNEntriesFileXML.get_undeleted_records.<locals>.<listcomp>(   u   reu   compileu   Iu   finditeru   data(   u   selfu   entries_patternu   results(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu   get_undeleted_records(  s    	u'   SVNEntriesFileXML.get_undeleted_recordsN(   u   __name__u
   __module__u   __qualname__u   is_validu   get_urlu   parse_revision_numbersu   get_undeleted_records(   u
   __locals__(    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu   SVNEntriesFileXML  s   u   SVNEntriesFileXMLu   __main__i   (3   u   osu   reu   sysu	   distutilsu   logu   xml.dom.pulldomu   xmlu   shlexu   localeu   codecsu   unicodedatau   warningsu   setuptools.compatu   unicodeu   xml.sax.saxutilsu   unescapeu   urlparseu   ImportErroru   urllib.parseu   parseu
   subprocessu   Popenu   _Popenu   PIPEu   _PIPEu   Noneu   _run_commandu   _get_entry_scheduleu   _get_target_propertyu   _get_xml_datau   joinpathu   determine_console_encodingu   _console_encodingu   decode_as_stringu   parse_dir_entriesu   parse_externals_xmlu   parse_external_propu   parse_prop_fileu   objectu   SvnInfou	   Svn13Infou	   Svn15Infou   SvnFileInfou
   svn_finderu   SVNEntriesFileu   SVNEntriesFileTextu   SVNEntriesFileXMLu   __name__u   argvu   nameu   print(    (    (    u-   /tmp/pip-k8wh6o-build/setuptools/svn_utils.pyu   <module>   sN   		$t
B3