N3{Yc@sdZddlZddlZddlZddlZddlZddlZddlZddlm Z ddl m Z m Z m Z mZmZmZmZmZmZmZmZmZmZddlmZddlmZddlmZddlmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-dd lm.Z.dd l/m0Z0dd l1m2Z2dd l3m4Z4ej5d Z6ej5dej7Z8ej5dZ9ej5dej7j:Z;dj<Z=ddddgZ>dZ?dZ@dZAeBdZCeBdZDeBdZEeBeeBdZFeBdZGdZHej5dej7ZIeHd ZJd!ejKd" ed#d$jKfZLd%eMfd&YZNd'eNfd(YZOdefd)YZPej5d*jQZRd+ZSd,ZTd-ZUdd.ZVd/ZWd0eMfd1YZXd2e-j-fd3YZYejZd4Z[eVe?e[Z[d5Z\d6Z]dS(7s#PyPI and direct package downloadingiN(twraps( t CHECKOUT_DISTt Distributiont BINARY_DISTtnormalize_patht SOURCE_DISTtrequiret Environmenttfind_distributionst safe_namet safe_versiont to_filenamet Requirementt DEVELOP_DIST(t ssl_support(tlog(tDistutilsError(turllib2thttplibtStringIOt HTTPErrorturlparset urlunparsetunquotet splitusert url2pathnametname2codepointtunichrturljointurlsplitt urlunsplitt ConfigParser(t filterfalse(t translate(tstrip_fragment(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|j}d\}}}|jdr|jdrL|d }d}q|jddr~|dd!}|d }d}q|jd r|d }d }q|jd d r|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(tnameR)tbasetpy_vertplat((sI/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyR&.s$           cCst|\}}}}}}t|jdd}|dkrk|dkrkt|jdd}nd|kr|jdd\}}n||fS(Nt/issourceforge.nettdownloadit#i(RRtsplit(turltschemetservertpatht parameterstquerytfragmentR.((sI/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pytegg_info_for_urlFs ccst|\}}xt|||D] }|Vq%W|rtj|}|rx1t||jd|dtD] }|VqqWqndS(sEYield egg or source distribution objects that might be found at a URLit precedenceN(R<tdistros_for_locationt EGG_FRAGMENTtmatchR'tgroupR(R5tmetadataR.R;tdistR@((sI/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyR%Ns "cCs|jdr|d }n|jdrMd|krMtj|||gS|jdrt|\}}}|dk rt||||t|Snx>tD]6}|j|r|t| }t|||SqWgS(s:Yield egg or source distribution objects based on basenames.egg.zipis.eggt-s.exeN( R+Rt from_locationR&R*R'Rt EXTENSIONStlen(tlocationtbasenameRBtwin_baseR/tplatformtext((sI/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyR>Zs   cCs"tt|tjj||S(sEYield possible egg or source distribution objects based on a filename(R>RtosR8RI(tfilenameRB((sI/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pytdistros_for_filenameosc cs|jd}|s^xFt|dD]1\}}t|dkr&|jdr&dSq&Wnxatdt|dD]F}t||dj|| dj||d|d|d |VqxWdS( 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! RDiispy2.Nit py_versionR=RK(R4t enumerateRGR,trangeRtjoin( RHRIRBRPR=RKtpartstitp((sI/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyR'vs!  ) ccst}|j}|dkrMxgt|j|D]}|||Vq1Wn;x8|D]0}||}||krT|||VqTqTWdS(sHList unique elements, preserving order. Remember all elements ever seen.N(tsettaddR*R t __contains__(titerabletkeytseentseen_addtelementtk((sI/opt/alt/python34/lib/python3.4/site-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(R`(targstkwargs(tfunc(sI/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pytwrappers(R(RcRd((RcsI/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyt unique_valuesss(<([^>]*\srel\s*=\s*['"]?([^'">]+)[^>]*)>ccsxtj|D]}|j\}}tttj|jjd}d|ksgd|krx7t j|D]#}t |t |j dVqwWqqWxdd D]\}|j |}|dkrt j||}|rt |t |j dVqqqWdS( sEFind rel="homepage" and rel="download" links in `page`, yielding URLst,thomepageR2is Home PagesDownload URLiN(s Home PagesDownload URL(tRELtfinditertgroupsRWtmaptstrtstripR)R4tHREFRt htmldecodeRAtfindtsearch(R5tpageR@ttagtreltrelstpos((sI/opt/alt/python34/lib/python3.4/site-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((sI/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pytfeedscCstS(sC Check the hash. Return False if validation fails. (tTrue(Rz((sI/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pytis_validscCsdS(su Call reporter with information about the checker (hash name) substituted into the template. N((Rztreporterttemplate((sI/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pytreports(t__name__t __module__t__doc__R|R~R(((sI/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyRys  t HashCheckercBsJeZejdZdZedZdZdZ dZ RS(sK(?Psha1|sha224|sha384|sha256|sha512|md5)=(?P[a-f0-9]+)cCs(||_tj||_||_dS(N(t hash_namethashlibtnewthashtexpected(RzRR((sI/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyt__init__s cCsLt|d}|stS|jj|}|s<tS||jS(s5Construct a (possibly null) ContentChecker from a URLi(RRytpatternRqt groupdict(tclsR5R;R@((sI/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pytfrom_urlscCs|jj|dS(N(Rtupdate(RzR{((sI/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyR|scCs|jj|jkS(N(Rt hexdigestR(Rz((sI/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyR~scCs||j}||S(N(R(RzRRtmsg((sI/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyRs ( RRtretcompileRRt classmethodRR|R~R(((sI/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyRs    cBsveZdZdd%d&edZedZedZedZ dZ dZ d Z d Z d&d Zd Zd&d ZdZdZdZdZdZeeed&dZeedZdZdZdZdZd&dZdZdZdZdZ dZ!e"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/simplet*cOstj||||d|jd |_i|_i|_i|_tjdj t t |j |_ g|_|rtjr|stjrtj||_n tj|_dS(NR1t|(RRR+t index_urlt scanned_urlst fetched_urlst package_pagesRRRSRkR!R@tallowstto_scanRt is_availabletfind_ca_bundlet opener_fortopenerRturlopen(RzRthostst ca_bundlet verify_sslRatkw((sI/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyR s   ' !c CsU||jkr| rdSt|j|%siii(RA(tm((sI/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pytsRN( RnRiRRoRAt ValueErrorRwR<R+tneed_version_infotscan_urltPYPI_MD5tsub( RzR5RrRR@RRtnew_urlR.tfrag((RzsI/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyRss$&  cCs|jd|dS(NsPPage at %s links to .py file(s) without version info; an index scan is required.(tscan_all(RzR5((sI/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyRscGsO|j|jkr;|r+|j||n|jdn|j|jdS(Ns6Scanning index of all packages (this may take a while)(RRRRR(RzRRa((sI/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyRs  cCs|j|j|jd|jj|jsN|j|j|jdn|jj|jss|j|nx3t|jj|jdD]}|j|qWdS(NR1(( RRt unsafe_nameRRR[t project_nametnot_found_in_indexR(Rzt requirementR5((sI/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyt find_packagess%cCsk|j|j|x8||jD])}||kr;|S|jd||q%Wtt|j||S(Ns%s does not match %s(tprescanRR[RtsuperR$tobtain(RzRt installerRC((sI/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyRs   cCsi|j|jd||jse|jtj|td|jjtj j |fndS(s- checker is a ContentChecker sValidating %%s checksum for %ss7%s validation failed for %s; possible download problem?N( RRR~RRMtunlinkRRR-R8RI(RztcheckerRNttfp((sI/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyt check_hashs     cCsrxk|D]c}|jdksJt| sJ|jdsJtt|rZ|j|q|jj|qWdS(s;Add `urls` to the list that will be prescanned for searchessfile:N(RR*RR,RR%Rtappend(RzturlsR5((sI/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pytadd_find_linkss  cCs2|jr%tt|j|jnd|_dS(s7Scan urls scheduled for prescanning (e.g. --find-links)N(RRRkRR*(Rz((sI/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyRs cCsN||jr |jd}}n|jd}}|||j|jdS(Ns#Couldn't retrieve index page for %rs3Couldn't find index page for %r (maybe misspelled?)(R[RRRR(RzRtmethR((sI/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyRs   cCst|tst|}|r||j|jd||}t|\}}|jdrx|j|||}n|Stj j |r|Sytj |}Wqt k rt d|fqXnt|j||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: %rRHN(RR Rt _download_urlRAR<R+t gen_setupRMR8RtparseRRRtfetch_distributionR*(RztspecttmpdirR6tfoundR.R;((sI/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyR2s"  c sKjd|id}dfd}|rcjj|||}n|dk r|p|||}n|dkrjdk rj||}n|dkr| rj|||}n|dkrjdr dpd|n/jd||jdj|j|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|dkr}nx||jD]q}|jtkrn rn|kr#jd|d|        cCsdS(N((RzR5RNRtblksizeR((sI/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyRscCs|jdrt|Syt||jSWnttjfk rtjd}dj g|j D]}t |^qf}|r|j ||qt d||fn'tjk rtjd}|Stjk r/tjd}|r|j ||jqt d||jfntjk rtjd}|rk|j ||jqt d||jfnStjk rtjd}|r|j ||qt d||fnXdS(Nsfile:it s%s %ssDownload error for %s: %ss;%s returned a bad status line. The server might be down, %s(R,t local_opentopen_with_authRRRt InvalidURLtsystexc_infoRSRaRlRRRRtURLErrortreasont BadStatusLinetlinet HTTPException(RzR5twarningtvtargR((sI/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyRs@ +cCs<t|\}}|rLx7d|krH|jddjdd}qWnd}|jdrn|d }ntjj||}|dks|jd r|j||S|d ks|jd r|j||S|jd r|j ||S|d krt t |dS|j |t |j||SdS(Ns..t.s\t_t__downloaded__s.egg.zipitsvnssvn+tgitsgit+shg+Ri(R<treplaceR+RMR8RSR,t _download_svnt _download_gitt _download_hgRRRR}t_attempt_download(RzR6R5RR-R;RN((sI/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyRs$%  cCs|j|tdS(N(RR}(RzR5((sI/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyRscCsK|j||}d|jddjkrC|j|||S|SdS(NRs content-typeR(RRR)t_download_html(RzR5RNR((sI/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyR0scCst|}xW|D]O}|jrtjd|r^|jtj||j||SPqqW|jtj|td|dS(Ns ([^- ]+ - )?Revision \d+:s���Unexpected HTML page found at ( ���R���Rm���R���Rq���R���RM���R���R-��R���(���Rz���R5���R���RN���R���R"��(����(����sI���/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyR1�� ��s����       c������ ���C���sT��|�j��d�d��d�}�d�}�|�j���j�d��r#d�|�k�r#t�|��\�}�}�}�}�}�} �|� r#|�j�d��r#d�|�d �k�r#|�d �j��d�d��\�}�}�t�|��\�} �} �| �r d �| �k�r�| �j��d �d��\�} �} �d �| �| �f�}�n �d �| �}�| �}�t�|�|�|�|�|�| �f��}�q q#n��|��j�d �|�|��t�j�d�|�|�|�f��|�S(���NR3���i���i����R���s���svn:t���@s���//R1���i���t���:s��� --username=%s --password=%ss ��� --username=s'���Doing subversion checkout from %s to %ss���svn checkout%s -q %s %s( ���R4���R)���R,���R���R���R���R���RM���t���system(���Rz���R5���RN���t���credsR6���t���netlocR8���RV���t���qR���t���autht���hostt���usert���pw(����(����sI���/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyR-����s"����!&  'c���������C���s���t��|���\�}�}�}�}�}�|�j�d�d��d�}�|�j�d�d��d�}�d��}�d�|�k�rt�|�j�d�d��\�}�}�n��t�|�|�|�|�d�f��}��|��|�f�S(���Nt���+i���iR3���i����R2��R���(���R���R4���R*���t���rsplitR���(���R5���t ���pop_prefixR6���R6��R8���R:���R���t���rev(����(����sI���/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyt���_vcs_split_rev_from_url,��s���� c���������C���s���|�j��d�d��d�}�|��j�|�d�t�\�}�}�|��j�d�|�|��t�j�d�|�|�f��|�d��k �r�|��j�d�|��t�j�d�|�|�f��n��|�S( ���NR3���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)(���R4���R@��R}���R���RM���R4��R*���(���Rz���R5���RN���R?��(����(����sI���/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyR.��>��s����  c���������C���s���|�j��d�d��d�}�|��j�|�d�t�\�}�}�|��j�d�|�|��t�j�d�|�|�f��|�d��k �r�|��j�d�|��t�j�d�|�|�f��n��|�S( ���NR3���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 >&-)(���R4���R@��R}���R���RM���R4��R*���(���Rz���R5���RN���R?��(����(����sI���/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyR/��N��s����  c���������G���s���t��j�|�|��d��S(���N(���R���R���(���Rz���R���Ra���(����(����sI���/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyR���^��s����c���������G���s���t��j�|�|��d��S(���N(���R���R���(���Rz���R���Ra���(����(����sI���/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyR���a��s����c���������G���s���t��j�|�|��d��S(���N(���R���R���(���Rz���R���Ra���(����(����sI���/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyR���d��s����(���R���N()���R���R���R���R*���R}���R���t���FalseR���R���R���R���R���R���R���R���R���R���R���R���R���R���R2���R���R��R���R��R��R��R���R���R���R0��R1��R-��t ���staticmethodR@��R.��R/��R���R���R���(����(����(����sI���/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyR$�����sL��� 0   *       )A * $  (         s!���&(#(\d+|x[\da-fA-F]+)|[\w.:-]+);?c���������C���s3���t��|��t��s�|��S|��d�k�r)�t�|���St�|���S(���Ni���(���R���R��R���t���chr(���t���c(����(����sI���/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyt���uchrk��s ���� � c���������C���s{���|��j��d��}�|�j�d��r4�t�|�d�d��}�n=�|�j�d��rV�t�|�d��}�n�t�j�|�|��j��d���}�t�|��S(���Ni���s���#xi���i���R3���i����(���RA���R,���R��R���R���RE��(���R@���t���what(����(����sI���/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyt ���decode_entityq��s����c���������C���s ���t��t�|���S(���s'���Decode HTML entities in the given text.(���t ���entity_subRG��(���t���text(����(����sI���/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyRo���{��s����c������������s�����f�d���}�|�S(���Nc������������s������f�d���}�|�S(���Nc�������������s?���t��j���}�t��j���z���|��|���SWd��t��j�|��Xd��S(���N(���t���sockett���getdefaulttimeoutt���setdefaulttimeout(���Ra���Rb���t ���old_timeout(���Rc���t���timeout(����sI���/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyt���_socket_timeout��s ����  (����(���Rc���RO��(���RN��(���Rc���sI���/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyRO����s����(����(���RN��RO��(����(���RN��sI���/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyt���socket_timeout��s���� c���������C���sC���t��|���}�|�j���}�t�j�|��}�|�j���}�|�j�d�d��S(���sq�� A function compatible with Python 2.3-3.3 that will encode auth from a URL suitable for an HTTP header. >>> str(_encode_auth('username%3Apassword')) 'dXNlcm5hbWU6cGFzc3dvcmQ=' Long auth strings should not cause a newline to be inserted. >>> long_auth = 'username:' + 'password'*10 >>> chr(10) in str(_encode_auth(long_auth)) False s��� R���(���R���t���encodet���base64t ���encodestringR���R,��(���R8��t���auth_st ���auth_bytest ���encoded_bytest���encoded(����(����sI���/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyt ���_encode_auth��s ����   t ���Credentialc�����������B���s)���e��Z�d��Z�d���Z�d���Z�d���Z�RS(���s:��� A username/password pair. Use like a namedtuple. c���������C���s���|�|��_��|�|��_�d��S(���N(���t���usernamet���password(���Rz���RZ��R[��(����(����sI���/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyR�����s���� c���������c���s���|��j��V|��j�Vd��S(���N(���RZ��R[��(���Rz���(����(����sI���/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyt���__iter__��s����c���������C���s���d�t��|���S(���Ns���%(username)s:%(password)s(���t���vars(���Rz���(����(����sI���/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyt���__str__��s����(���R���R���R���R���R\��R^��(����(����(����sI���/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyRY����s���  t ���PyPIConfigc�����������B���s2���e��Z�d����Z�e�d����Z�d���Z�d���Z�RS(���c���������C���su���t��j�d�d�d�g�d��}�t�j�j�|��|��t�j�j�t�j�j�d��d��}�t�j�j�|��rq�|��j �|��n��d�S(���s%��� Load from ~/.pypirc RZ��R[��t ���repositoryR���t���~s���.pypircN( ���t���dictt���fromkeysR���R���RM���R8���RS���t ���expanduserR���R���(���Rz���t���defaultst���rc(����(����sI���/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyR�����s ����!c���������C���sM���g��|��j����D]$�}�|��j�|�d��j���r �|�^�q �}�t�t�|��j�|���S(���NR`��(���t���sectionsR���Rm���Rb��Rk���t���_get_repo_cred(���Rz���t���sectiont���sections_with_repositories(����(����sI���/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyt���creds_by_repository��s����$c���������C���sO���|��j��|�d��j���}�|�t�|��j��|�d��j���|��j��|�d��j����f�S(���NR`��RZ��R[��(���R���Rm���RY��(���Rz���Ri��t���repo(����(����sI���/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyRh����s����c���������C���s7���x0�|��j��j���D]�\�}�}�|�j�|��r�|�Sq�Wd�S(���s��� If the URL indicated appears to be a repository defined in this config, return the credential for that repository. N(���Rk��t���itemsR,���(���Rz���R5���R`��t���cred(����(����sI���/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyt���find_credential��s����(���R���R���R���t���propertyRk��Rh��Ro��(����(����(����sI���/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyR_����s���  c���������C���s��t��|���\�}�}�}�}�}�}�|�j�d��r?�t�j�d���n��|�d �k�r`�t�|��\�}�} �n�d �}�|�s�t���j�|���} �| �r�t�| ��}�| �j �|��f�} �t �j �d�| ��q�n��|�r d�t �|��}�t �|�| �|�|�|�|�f��} �t�j�| ��} �| �j�d�|��n�t�j�|���} �| �j�d�t��|�| ��}�|�rt��|�j��\�}�}�}�}�}�}�|�|�k�r|�| �k�rt �|�|�|�|�|�|�f��|�_�qn��|�S( ���s4���Open a urllib2 request, handling HTTP authenticationR3��s���nonnumeric port: ''t���httpt���httpss*���Authenticating as %s for %s (from .pypirc)s���Basic t ���Authorizations ���User-Agent(���Rq��Rr��N(���R���R+���R���R��R���R*���R_��Ro��Rl���RZ��R���R���RX��R���R���t���Requestt ���add_headert ���user_agentR5���(���R5���R���R6���R6��R8���t���paramsR:���R���R8��R9��Rn��R���R���t���requestR��t���s2t���h2t���path2t���param2t���query2t���frag2(����(����sI���/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyR����s2����   !'c���������C���s���|��S(���N(����(���R5���(����(����sI���/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyt ���fix_sf_url��s����c���������C���su��t��|���\�}�}�}�}�}�}�t�|��}�t�j�j�|��rI�t�j�|���S|�j�d��r=t�j�j�|��r=g��}�x�t�j �|��D]�} �| �d�k�r�t �t�j�j �|�| ��d��} �| �j ���} �| �j ���Pn.�t�j�j�t�j�j �|�| ���r�| �d�7} �n��|�j�d�| �| �f��q�Wd�|��d�d�j �|��} �d�\�} �} �n�d�\�} �} �} �i�d �d�6}�t�|��| �| �|�t�| ���S(���s7���Read a local path, with special support for directoriesR1���s ���index.htmlt���rs���<a href=%r>%s</a>s���<html><head><title>%ss%ss itOKisPath not founds Not founds text/htmls content-type(iR(isPath not founds Not found(RRRMR8tisfileRRR+RRRRSRRRRR(R5R6R7R8tparamR:RRNtfilesRRtbodytstatustmessageR((sI/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pyRs*  !   !  (^RRRMRRRJRRRt functoolsRt pkg_resourcesRRRRRRRRR R R R R RxRt distutilsRtdistutils.errorsRtsetuptools.compatRRRRRRRRRRRRRRRR tfnmatchR!tsetuptools.py26compatR"tsetuptools.py27compatR#RR?tIRnRR@RR4RFt__all__t_SOCKET_TIMEOUTR&R<R*R%R>ROR'R`ReRhRwRRvtobjectRyRR$RRHRERGRoRPRXRYR_RRRR(((sI/opt/alt/python34/lib/python3.4/site-packages/setuptools/package_index.pytsp       Xd         "  !!e   '+