Qc@sdZddkZddkZddkZddkZddkZddkZddkZddk Z ddk l Z ddk Tddk lZddklZddklZlZlZlZlZlZlZlZlZlZlZlZddklZdd kl Z dd k!l"Z"dd k!l#Z#dd k$l%Z%ei&d Z'ei&dei(Z)ei&dZ*ei&dei(i+Z,di-Z.ddddgZ/dZ0dZ1dZ2e3dZ4e3dZ5e3dZ6e3e7e3dZ8e3dZ9dZ:ei&dei(Z;e:d Z<d!ei=d" e>d#d$i=fZ?d%e@fd&YZAd'eAfd(YZBdeCfd)YZDei&d*iEZFd+ZGd,ZHd-ZIdd.ZJd/ZKeiLd0ZMeJe0eMZMd1ZNd2ZOdS(3s#PyPI and direct package downloadingiN(t ssl_support(t*(tlog(tDistutilsError( turllib2thttplibtStringIOt HTTPErrorturlparset urlunparsetunquotet splitusert url2pathnametname2codepointtunichrturljoin(t filterfalse(t translate(thashlib(twraps(tget_all_headerss^egg=([-A-Za-z0-9_.]+)$shref\s*=\s*['"]?([^'"> ]+)s([^<]+) \s+\(md5\)s([-+.a-z0-9]{2,}):s.tar.gz .tar.bz2 .tar .zip .tgzt PackageIndextdistros_for_urltparse_bdist_wininsttinterpret_distro_nameicCs|i}d\}}}|ido|ido|d }d}q|iddo!|dd!}|d }d}q|id o|d }d }q|id d o!|dd!}|d }d }qn|||fS(s=Return (base,pyversion) or (None,None) for possible .exe names.exes .win32.exeitwin32s .win32-pyiiis.win-amd64.exeis win-amd64s .win-amd64-pyiN(NNN(tlowertNonetendswitht startswith(tnameRtbasetpy_vertplat((s>/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyR$s$          cCst|\}}}}}}t|idd}|djo*|djot|idd}nd|jo|idd\}}n||fS(Nt/issourceforge.nettdownloadit#i(RR tsplit(turltschemetservertpatht parameterstquerytfragmentR((s>/usr/lib/python2.6/vendor-packages/setuptools/package_index.pytegg_info_for_url<s ccst|\}}xt|||D] }|Vq%W|oOti|}|o5x2t||id|dtD] }|VqsWqndS(sEYield egg or source distribution objects that might be found at a URLit precedenceN(R-tdistros_for_locationt EGG_FRAGMENTtmatchRtgroupt CHECKOUT_DIST(R&tmetadataRR,tdistR1((s>/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyRDs cCs|ido|d }n|ido$d|joti|||gS|ido@t|\}}}|dj ot||||t|Snx@tD]8}|i|o"|t| }t|||SqWgS(s:Yield egg or source distribution objects based on basenames.egg.zipis.eggt-s.exeN( Rt Distributiont from_locationRRRt BINARY_DISTt EXTENSIONStlen(tlocationtbasenameR4twin_baseR tplatformtext((s>/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyR/Ps cCs"tt|tii||S(sEYield possible egg or source distribution objects based on a filename(R/tnormalize_pathtosR)R=(tfilenameR4((s>/usr/lib/python2.6/vendor-packages/setuptools/package_index.pytdistros_for_filenameesc cs|id}|pMxJt|dD]4\}}t|djo|idodSq'Wnxatdt|dD]F}t||di|| di||d|d|d |Vq}WdS( sGenerate alternative interpretations of a source distro name Note: if `location` is a filesystem filename, you should call ``pkg_resources.normalize_path()`` on it before passing it to this routine! R6iispy2.Nit py_versionR.R?(R%t enumerateR;RtrangeR7tjoin( R<R=R4RER.R?tpartstitp((s>/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyRls # ) ccst}|i}|djo0xjt|i|D]}|||Vq2Wn>x:|D]2}||}||jo|||VqVqVWdS(sHList unique elements, preserving order. Remember all elements ever seen.N(tsettaddRRt __contains__(titerabletkeytseentseen_addtelementtk((s>/usr/lib/python2.6/vendor-packages/setuptools/package_index.pytunique_everseens        cstfd}|S(ss Wrap a function returning an iterable such that the resulting iterable only ever yields unique items. cst||S(N(RU(targstkwargs(tfunc(s>/usr/lib/python2.6/vendor-packages/setuptools/package_index.pytwrappers(R(RXRY((RXs>/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyt unique_valuesss(<([^>]*\srel\s*=\s*['"]?([^'">]+)[^>]*)>ccsxti|D]}|i\}}ttti|iid}d|jp d|jo;x8t i|D]#}t |t |i dVqyWqqWxhd D]`}|i |}|djo>t i||}|o!t |t |i dVqqqWdS( sEFind rel="homepage" and rel="download" links in `page`, yielding URLst,thomepageR#is Home PagesDownload URLiN(s Home PagesDownload URL(tRELtfinditertgroupsRLtmaptstrtstripRR%tHREFRt htmldecodeR2tfindtsearch(R&tpageR1ttagtreltrelstpos((s>/usr/lib/python2.6/vendor-packages/setuptools/package_index.pytfind_external_linkss') sPython-urllib/%s setuptools/%sit setuptoolsitContentCheckercBs)eZdZdZdZdZRS(sP A null content checker that defines the interface for checking content cCsdS(s3 Feed a block of data to the hash. N((tselftblock((s>/usr/lib/python2.6/vendor-packages/setuptools/package_index.pytfeedscCstS(sC Check the hash. Return False if validation fails. (tTrue(Ro((s>/usr/lib/python2.6/vendor-packages/setuptools/package_index.pytis_validscCsdS(su Call reporter with information about the checker (hash name) substituted into the template. N((Rotreporterttemplate((s>/usr/lib/python2.6/vendor-packages/setuptools/package_index.pytreports(t__name__t __module__t__doc__RqRsRv(((s>/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyRns  t HashCheckercBsSeZeidZdZedZdZdZ dZ dZ RS(sK(?Psha1|sha224|sha384|sha256|sha512|md5)=(?P[a-f0-9]+)cCsti||_||_dS(N(Rtnewthashtexpected(Rot hash_nameR}((s>/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyt__init__scCsPt|d}|ptS|ii|}|ptS||iS(s5Construct a (possibly null) ContentChecker from a URLi(RRntpatternRft groupdict(tclsR&R,R1((s>/usr/lib/python2.6/vendor-packages/setuptools/package_index.pytfrom_urlscCs|ii|dS(N(R|tupdate(RoRp((s>/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyRqscCs|ii|ijS(N(R|t hexdigestR}(Ro((s>/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyRsscCsLy|iiSWn7tj o+dtt|ijodSnXdS(s Python 2.4 implementation of MD5 doesn't supply a .name attribute so provide that name. When Python 2.4 is no longer required, replace invocations of this method with simply 'self.hash.name'. tmd5N(R|RtAttributeErrorRattype(Ro((s>/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyt_get_hash_names cCs||i}||S(N(R(RoRtRutmsg((s>/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyRvs( RwRxtretcompileRRt classmethodRRqRsRRv(((s>/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyRzs     cBspeZdZdd%d&edZedZedZedZ dZ dZ d Z d Z d&d Zd Zd&d ZdZdZdZdZdZeeed&dZeedZdZdZdZdZd&dZdZdZdZdZ dZ!edZ"d Z#d!Z$d"Z%d#Z&d$Z'RS('s;A distribution index that scans web pages for download URLsshttps://pypi.python.org/simpleRcOsti||||d|id |_h|_h|_h|_tidi t t |i |_ g|_|o4tio*|p tioti||_n ti|_dS(NR"t|(t EnvironmentRRt index_urlt scanned_urlst fetched_urlst package_pagesRRRHR`RR1tallowstto_scanRt is_availabletfind_ca_bundlet opener_fortopenerRturlopen(RoRthostst ca_bundlet verify_sslRVtkw((s>/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyR s   ' %c Csp||ijo | odSt|i|/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyRsP      "     ,cCstii|p|id|dStii|oW| oOtii|}x:ti|D]%}|itii||t qeWnt |}|o*|i d|t t |i|ndS(Ns Not found: %ss Found: %s(RBR)texiststwarntisdirtrealpathtlistdirRRHRrRDRRR`RM(RotfntnestedR)titemR((s>/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyRJs' cCst|}|o|ididjp|it|dotSd}|ot||n|i||dS(Nitfiles, Link to % s ***BLOCKED*** by --allow-hosts (RR2RRRRrRR(RoR&tfataltsR((s>/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyRZs =cCsjxc|D][}tii|oBx?ti|D]*}|ido|i||q0q0WqqWdS(Ns .egg-link(RBR)RRRt scan_egg_link(Rot search_pathRtentry((s>/usr/lib/python2.6/vendor-packages/setuptools/package_index.pytscan_egg_linksdscCsg}ttittii||D]}|o ||q,q,~}t|djo\xYttii||dD]4}tii|||_ t |_ |i |qWndS(Nii( R`RaRbtopenRBR)RHR;tfind_distributionsR<t SOURCE_DISTR.RM(RoR)Rt_[1]t_ftlinesR5((s>/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyRks=  c sfd}xSti|D]B}y&|t|t|idWqtj oqXqW||\}}|ox~t||D]m}t|\}} |ido8| o0|o|d||f7}qi |ni |qWt i d|SdSdS(s#Process the contents of a PyPI pagecs|iiottt|tiid}t|djogd|djoVt|d}t|d}t i i |i h|/usr/lib/python2.6/vendor-packages/setuptools/package_index.pytscanvs%$is.pys #egg=%s-%scSsd|idddS(s%siii(R2(tm((s>/usr/lib/python2.6/vendor-packages/setuptools/package_index.pytsRN( RcR^RRdR2t ValueErrorRlR-Rtneed_version_infotscan_urltPYPI_MD5tsub( RoR&RgRR1RRtnew_urlRtfrag((Ros>/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyRts(& cCs|id|dS(NsPPage at %s links to .py file(s) without version info; an index scan is required.(tscan_all(RoR&((s>/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyRscGsS|i|ijo,|o|i||n|idn|i|idS(Ns6Scanning index of all packages (this may take a while)(RRRRR(RoRRV((s>/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyRs  cCs|i|i|id|ii|ip|i|i|idn|ii|ip|i|nx3t|ii|idD]}|i|qWdS(NR"(( RRt unsafe_nameRRRPt project_nametnot_found_in_indexR(Rot requirementR&((s>/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyt find_packagesscCsm|i|i|x:||iD]+}||jo|S|id||q%Wtt|i||S(Ns%s does not match %s(tprescanRRPRtsuperRtobtain(RoRt installerR5((s>/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyRs  cCsk|i|id||ipC|iti|td|iiti i |fndS(s- checker is a ContentChecker sValidating %%s checksum for %ss7%s validation failed for %s; possible download problem?N( RvRRsRRBtunlinkRR|RR)R=(RotcheckerRCttfp((s>/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyt check_hashs     cCswxp|D]h}|idjp1t| p#|idptt|o|i|q|ii|qWdS(s;Add `urls` to the list that will be prescanned for searchessfile:N(RRRRRRRtappend(RoturlsR&((s>/usr/lib/python2.6/vendor-packages/setuptools/package_index.pytadd_find_linksscCs4|iott|i|ind|_dS(s7Scan urls scheduled for prescanning (e.g. --find-links)N(RRR`RR(Ro((s>/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyRs cCsP||io|id}}n|id}}|||i|idS(Ns#Couldn't retrieve index page for %rs3Couldn't find index page for %r (maybe misspelled?)(RPRRRR(RoRtmethR((s>/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyRs  cCst|tpt|}|o^|i|id||}t|\}}|ido|i|||}n|Sti i |o|Syti |}Wqt j ot d|fqXnt|i||ddS(sLocate and/or download `spec` to `tmpdir`, returning a local path `spec` may be a ``Requirement`` object, or a string containing a URL, an existing local filename, or a project/version requirement spec (i.e. the string form of a ``Requirement`` object). If it is the URL of a .py file with an unambiguous ``#egg=name-version`` tag (i.e., one that escapes ``-`` as ``_`` throughout), a trivial ``setup.py`` is automatically created alongside the downloaded file. If `spec` is a ``Requirement`` object or a string containing a project/version requirement spec, this method returns the location of a matching distribution (possibly after downloading it to `tmpdir`). If `spec` is a locally existing file or directory name, it is simply returned unchanged. If `spec` is a URL, it is downloaded to a subpath of `tmpdir`, and the local filename is returned. Various errors may be raised if a problem occurs during downloading. is.pys1Not a URL, existing file, or requirement spec: %rR<N(Rt RequirementRt _download_urlR2R-Rt gen_setupRBR)RtparseRRRtfetch_distributionR(RotspecttmpdirR'tfoundRR,((s>/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyR#s" c sZid|hd}dfd}|o'ii|||}n|dj o|p |||}n|djo*idj oi||}n|djo%| oi|||}n|djo%idodpd|n0id||idi|i|SdS( s|Obtain a distribution suitable for fulfilling `requirement` `requirement` must be a ``pkg_resources.Requirement`` instance. If necessary, or if the `force_scan` flag is set, the requirement is searched for in the (online) package index as well as the locally installed packages. If a distribution matching `requirement` is found, the returned distribution's ``location`` is the value you would have gotten from calling the ``download()`` method with the matching distribution's URL or filename. If no matching distribution is found, ``None`` is returned. If the `source` flag is set, only source distributions and source checkout links will be considered. Unless the `develop_ok` flag is set, development and system eggs (i.e., those using the ``.egg-info`` format) will be ignored. sSearching for %scs|djo }nx||iD]z}|itjo: o2|joid|d|/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyRe8s   %s2No local packages or download links found for %s%ssa source distribution of RsBest match: %sR<N( RRRRRRtcloneR#R<( RoRRt force_scanRRt local_indexR5Re((RRRoRs>/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyRs.       cCs1|i||||}|dj o|iSdS(s3Obtain a file suitable for fulfilling `requirement` DEPRECATED; use the ``fetch_distribution()`` method now instead. For backward compatibility, this routine is identical but returns the ``location`` of the downloaded distribution instead of a distribution object. N(RRR<(RoRRRRR5((s>/usr/lib/python2.6/vendor-packages/setuptools/package_index.pytfetches c Csti|}|oEg}t||iddD]}|io ||q6q6~pg}t|djotii |}tii ||joStii ||} ddk l } | || pti|| | }qnttii |dd} | id|di|ditii|df| i|S|otd||fn td dS( Nii(tsamefilessetup.pytwsIfrom setuptools import setup setup(name=%r, version=%r, py_modules=[%r]) isCan't unambiguously interpret project/version identifier %r; any dashes in the name or version should be escaped using underscores. %rspCan't process plain .py files without an '#egg=name-version' suffix to enable automatic setup script generation.(R0R1RR2RtversionR;RBR)R=tdirnameRHtsetuptools.command.easy_installRtshutiltcopy2RtwriteRtsplitextRR( RoRCR,RR1RtdRR=tdstRR((s>/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyRss2> i c Cs|id|d \}}}zQti|}|i|}t|to#td||i|i fn|i}d}|i } d} d|joAt |d} t t t| } |i|||| | nt|d}xdto\|i| } | oA|i| |i| |d7}|i|||| | qPqW|i||||SWd|o|in|o|inXdS( NsDownloading %ssCan't download %s: %s %siiscontent-lengthsContent-Lengthtwbi(NNN(RRRzRRRRRRRt dl_blocksizeRtmaxR`tintt reporthookRRrRRqR RR( RoR&RCtfpRRRRtblocknumtbstsizetsizesRp((s>/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyt _download_tos@       cCsdS(N((RoR&RCRtblksizeR((s>/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyRscCs|ido t|Syt||iSWnttifj o{tid}di g}|i D]}|t |qm~}|o|i ||qt d||fn6tij otid}|Stij oNtid}|o|i ||iqt d||ifntij oNtid}|o|i ||iqt d||ifnXtij oHtid}|o|i ||qt d||fnXdS(Nsfile:it s%s %ssDownload error for %s: %ss;%s returned a bad status line. The server might be down, %s(Rt local_opentopen_with_authRRRt InvalidURLtsystexc_infoRHRVRaRRRRtURLErrortreasont BadStatusLinetlinet HTTPException(RoR&twarningtvRtargR((s>/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyRs> 3cCsLt|\}}|o7x:d|jo"|iddidd}qWnd}|ido|d }ntii||}|djp|id o|i||S|d jp|id o|i||S|id o|i ||S|d jot t |dS|i |t |i||SdS(Ns..t.s\t_t__downloaded__s.egg.zipitsvnssvn+tgitsgit+shg+Ri(R-treplaceRRBR)RHRt _download_svnt _download_gitt _download_hgR RRRrt_attempt_download(RoR'R&RRR,RC((s>/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyRs& ' cCs|i|tdS(N(RRr(RoR&((s>/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyRscCsM|i||}d|iddijo|i|||S|SdS(NRs content-typeR(RRRt_download_html(RoR&RCR((s>/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyR0 scCst|}x[|D]S}|io@tid|o(|iti||i||SPqqW|iti|td|dS(Ns ([^- ]+ - )?Revision \d+:s���Unexpected HTML page found at ( ���R���Rb���R���Rf���R���RB���R���R-��R���(���Ro���R&���R���RC���R���R"��(����(����s>���/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyR1����s���� �      c������ ���C���s_��|�i��d�d��d�}�d�}�|�i���i�d��o�d�|�j�o�t�|��\�}�}�}�}�}�} �|� o�|�i�d��o�d�|�d �j�o�|�d �i��d�d��\�}�}�t�|��\�} �} �| �ok�d �| �j�o,�| �i��d �d��\�} �} �d �| �| �f�}�n �d �| �}�| �}�t�|�|�|�|�|�| �f��}�q*q.n�|��i�d �|�|��t�i�d�|�|�|�f��|�S(���NR$���i���i����R���s���svn:t���@s���//R"���i���t���:s��� --username=%s --password=%ss ��� --username=s'���Doing subversion checkout from %s to %ss���svn checkout%s -q %s %s( ���R%���R���R���R���R ���R ���R���RB���t���system(���Ro���R&���RC���t���credsR'���t���netlocR)���RK���t���qR���t���autht���hostt���usert���pw(����(����s>���/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyR-��0��s"����#)  *c��� ������C���s���t��|��\�}�}�}�}�}�|�i�d�d��d�}�|�i�d�d��d�}�d��}�d�|�j�o�|�i�d�d��\�}�}�n�t�|�|�|�|�d�f��}�|�|�f�S(���Nt���+i���iR$���i����R2��R���(���t���urlsplitR%���R���t���rsplitt ���urlunsplit( ���Ro���R&���t ���pop_prefixR'���R6��R)���R+���R���t���rev(����(����s>���/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyt���_vcs_split_rev_from_urlD��s���� c���������C���s���|�i��d�d��d�}�|��i�|�d�t�\�}�}�|��i�d�|�|��t�i�d�|�|�f��|�d��j �o+�|��i�d�|��t�i�d�|�|�f��n�|�S( ���NR$���i���i����R@��s���Doing git clone from %s to %ss���git clone --quiet %s %ss���Checking out %ss"���(cd %s && git checkout --quiet %s)(���R%���RB��Rr���R���RB���R4��R���(���Ro���R&���RC���RA��(����(����s>���/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyR.��U��s����  c���������C���s���|�i��d�d��d�}�|��i�|�d�t�\�}�}�|��i�d�|�|��t�i�d�|�|�f��|�d��j �o+�|��i�d�|��t�i�d�|�|�f��n�|�S( ���NR$���i���i����R@��s���Doing hg clone from %s to %ss���hg clone --quiet %s %ss���Updating to %ss���(cd %s && hg up -C -r %s >&-)(���R%���RB��Rr���R���RB���R4��R���(���Ro���R&���RC���RA��(����(����s>���/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyR/��e��s����  c���������G���s���t��i�|�|��d��S(���N(���R���R���(���Ro���R���RV���(����(����s>���/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyR���u��s����c���������G���s���t��i�|�|��d��S(���N(���R���R���(���Ro���R���RV���(����(����s>���/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyR���x��s����c���������G���s���t��i�|�|��d��S(���N(���R���R���(���Ro���R���RV���(����(����s>���/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyR���{��s����(���R���N((���Rw���Rx���Ry���R���Rr���R���t���FalseR���R���R���R���R���R���R���R���R���R���R���R���R���R���R#���R���R��R���R��R��R��R���R���R���R0��R1��R-��RB��R.��R/��R���R���R���(����(����(����s>���/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyR��� ��sJ��� 0   ,       *  D ) $  &          s!���&(#(\d+|x[\da-fA-F]+)|[\w.:-]+);?c���������C���s7���t��|��t��p�|��S|��d�j�o �t�|���St�|���S(���Ni���(���R���R��R���t���chr(���t���c(����(����s>���/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyt���uchr��s ���� � c���������C���s���|��i��d��}�|�i�d��o�t�|�d�d��}�n@�|�i�d��o�t�|�d��}�n�t�i�|�|��i��d���}�t�|��S(���Ni���s���#xi���i���R$���i����(���R2���R���R��R ���R���RF��(���R1���t���what(����(����s>���/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyt ���decode_entity��s����c���������C���s ���t��t�|���S(���s'���Decode HTML entities in the given text.(���t ���entity_subRH��(���t���text(����(����s>���/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyRd�����s����c������������s�����f�d���}�|�S(���Nc������������s������f�d���}�|�S(���Nc�������������s?���t��i���}�t��i����z��|��|���SWd��t��i�|��Xd��S(���N(���t���sockett���getdefaulttimeoutt���setdefaulttimeout(���RV���RW���t ���old_timeout(���t���timeoutRX���(����s>���/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyt���_socket_timeout��s ����  (����(���RX���RP��(���RO��(���RX���s>���/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyRP����s����(����(���RO��RP��(����(���RO��s>���/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyt���socket_timeout��s���� c���������C���s=���t��|���}�|�i���}�t�i�|��}�|�i���}�|�i���S(���s��� A function compatible with Python 2.3-3.3 that will encode auth from a URL suitable for an HTTP header. >>> _encode_auth('username%3Apassword') u'dXNlcm5hbWU6cGFzc3dvcmQ=' (���R ���t���encodet���base64t ���encodestringR���t���rstrip(���R8��t���auth_st ���auth_bytest ���encoded_bytest���encoded(����(����s>���/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyt ���_encode_auth��s ����   c���������C���s\��t��|���\�}�}�}�}�}�}�|�i�d��o�t�i�d���n�|�d�j�o�t�|��\�}�} �n�d �}�|�oQ�d�t�|��}�t�|�| �|�|�|�|�f��} �t�i �| ��} �| �i �d�|��n�t�i �|���} �| �i �d�t ��|�| ��} �|�od�t��| �i ��\�} �}�}�}�}�}�| �|�j�o2�|�| �j�o%�t�| �|�|�|�|�|�f��| �_ �qXn�| �S( ���s4���Open a urllib2 request, handling HTTP authenticationR3��s���nonnumeric port: ''t���httpt���httpss���Basic t ���Authorizations ���User-Agent(���s���https���httpsN( ���R���R���R���R��R ���R���RZ��R ���R���t���Requestt ���add_headert ���user_agentR&���(���R&���R���R'���R6��R)���t���paramsR+���R���R8��R9��R���t���requestR��t���s2t���h2t���path2t���param2t���query2t���frag2(����(����s>���/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyR����s&����  !)c���������C���s���|��S(���N(����(���R&���(����(����s>���/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyt ���fix_sf_url��s����c������ ���C���sx��t��|���\�}�}�}�}�}�}�t�|��}�t�i�i�|��o�t�i�|���S|�i�d��o�t�i�i�|��o�g��}�x�t�i �|��D]�} �| �d�j�o9�t �t�i�i �|�| ��d��} �| �i ���} �| �i ���Pn1�t�i�i�t�i�i �|�| ���o�| �d�7} �n�|�i�d�| �| �f��q�Wd�|��d�d�i �|��} �d�\�} �} �n�d�\�} �} �} �t�|��| �| �h�d �d�6t�| ���S(���s7���Read a local path, with special support for directoriesR"���s ���index.htmlt���rbs���<a href=%r>%s</a>s���<html><head><title>%ss%ss itOKisPath not founds Not founds text/htmls content-type(isOK(isPath not founds Not found(RR RBR)tisfileRRRRRRRHRRRRR(R&R'R(R)tparamR+RRCtfilesRRtbodytstatustmessage((s>/usr/lib/python2.6/vendor-packages/setuptools/package_index.pyRs, #   " (PRyRtos.pathRBRRtrandomRKt itertoolsRSRmRt pkg_resourcest distutilsRtdistutils.errorsRtsetuptools.compatRRRRRR R R R R RRRtfnmatchRtsetuptools.py24compatRRtsetuptools.py27compatRRR0tIRcRR1RR%R:t__all__t_SOCKET_TIMEOUTRR-RRR/RDRRRURZR]RlRtrequireR`tobjectRnRzRRRRIRFRHRdRQRZRRRiR(((s>/usr/lib/python2.6/vendor-packages/setuptools/package_index.pytsbH   R        "  !/   $