Warning: session_start(): Session cannot be started after headers have already been sent in /home/tvrreohg/public_html/manga.php on line 13
3 ÝPfO€ã@s^ddlmZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl Z ddl Z ddl Z ddlZyddlZdZWnek r”dZYnXddlmZddlmZddlZddlmZmZddlmZdd lmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'dd l(m)Z)dd l*m+Z+dd l,m-Z-dd l.m/Z/ddl0m1Z1ddl2m3Z3m4Z4ddl5m6Z6ddl7m8Z8ddl9m:Z:m;Z;ddlZ>ddl?m@Z@mAZAddlBmCZCmDZDddlEmFZFddlGmHZHddl9mIZIddlJmKZKddlLmMZMddlNmOZOddlPmQZQdddd d!d"d#d$d%d&d'd(d)g ZRejSeTƒZUd*d+„ZVGd,d-„d-e@ƒZWGd.d/„d/e=ƒZXGd0d1„d1eMƒZYGd2d3„d3e>ƒZZGd4d5„d5e:j[ƒZ\dWd6d„Z]e j^d7e j_ƒZ`e j^d8e j_ƒZad9d„Zbd:d„Zcd;d „Zddd?„Zgd@d$„ZhdAd%„ZidBdC„ZjdDdE„ZkdFdG„ZldHdI„ZmdXdJd&„ZndYdKd#„ZodLdM„ZpGdNdO„dOeQjqƒZrdZdPd'„ZsdQd)„ZtdRd(„ZudSdT„ZvdUdV„ZwdS)[é)Úabsolute_importNTF)Úparse)Úrequest)ÚInstallationErrorÚ HashMismatch)ÚPyPI) ÚsplitextÚrmtreeÚ format_sizeÚ display_pathÚ backup_dirÚask_path_existsÚ unpack_fileÚARCHIVE_EXTENSIONSÚconsumeÚcall_subprocess)Ú auto_decode)Úcheck_path_owner)Ú indent_log)ÚSETUPTOOLS_SHIM)Úlibc_ver)ÚDownloadProgressBarÚDownloadProgressSpinner)Úwrite_delete_marker_file)Úvcs)ÚrequestsÚsix)Ú BaseAdapterÚ HTTPAdapter)ÚAuthBaseÚ HTTPBasicAuth)ÚCONTENT_CHUNK_SIZEÚResponse)Úget_netrc_auth)ÚCaseInsensitiveDict)Úurllib3)ÚCacheControlAdapter)Ú FileCache)Ú LockError)Ú xmlrpc_clientÚget_file_contentÚis_urlÚ url_to_pathÚ path_to_urlÚis_archive_fileÚunpack_vcs_linkÚunpack_file_urlÚ is_vcs_urlÚ is_file_urlÚunpack_http_urlÚ unpack_urlÚparse_content_dispositionÚsanitize_content_filenamecCs dtjdœtjƒdtjƒidœ}|dddkrBtjƒ|dd<n’|dddkr’tjjd krntjd d …}ntj}d jd d„|Dƒƒ|dd<nB|dddkr´tjƒ|dd<n |dddkrÔtjƒ|dd<tjj dƒ�rJddl m }t t dd„tdddg|jƒƒƒƒ}t t dd„tddgtƒƒƒƒ}|�r<||d<|�rJ||d<tjj dƒ�r|tjƒd�r|dtjƒddœ|d<tjƒ�rštjƒ|jdiƒd<tjƒ�r¸tjƒ|jdiƒd<tjƒ�rÎtjƒ|d<t�ròtjd d …d)k�ròtj|d"<d#j|tj|d*d&d'�d(�S)+z6 Return a string representing the user agent. Úpip)ÚnameÚversionr8)Z installerÚpythonÚimplementationr;ZCPythonr9ZPyPyÚfinalNéÚ.cSsg|] }t|ƒ‘qS©)Ústr)Ú.0Úxr?r?ú/usr/lib/python3.6/download.pyú Tszuser_agent..ZJythonZ IronPythonÚlinuxr)ÚdistrocSs|dS)Nér?)rBr?r?rCÚ`szuser_agent..ÚidcSs|dS)NrGr?)rBr?r?rCrHdsÚlibÚlibcrFÚdarwinZmacOSÚsystemÚreleaseZcpuééZopenssl_versionz9{data[installer][name]}/{data[installer][version]} {json}ú,ú:T)Z separatorsZ sort_keys)ÚdataÚjson)rOrP)rQrR)r7Ú __version__ÚplatformZpython_versionZpython_implementationÚsysÚpypy_version_infoÚ releaselevelÚjoinÚ startswithÚ pip._vendorrFÚdictÚfilterÚzipZlinux_distributionrZmac_verrMÚ setdefaultrNÚmachineÚHAS_TLSÚ version_infoÚsslZOPENSSL_VERSIONÚformatrTÚdumps)rSrXrFZ distro_infosrKr?r?rCÚ user_agent@sP        rgc@s.eZdZd dd„Zdd„Zdd„Zdd „Zd S) ÚMultiDomainBasicAuthTcCs||_i|_dS)N)Ú promptingÚ passwords)Úselfrir?r?rCÚ__init__„szMultiDomainBasicAuth.__init__cCsÖtj|jƒ}|jjddƒd}tj|dd…|f|dd…ƒ|_|jj|dƒ\}}|dkrn|j|jƒ\}}|dkr˜|dkr˜t |jƒ}|r�|nd\}}|s |rÄ||f|j|<t |p¶d|p¼dƒ|ƒ}|j d|j ƒ|S) Nú@rGrOÚÚresponseéÿÿÿÿ)NN)NN) Ú urllib_parseÚurlparseÚurlÚnetlocÚrsplitÚ urlunparserjÚgetÚparse_credentialsr#r Z register_hookÚ handle_401)rkÚreqÚparsedrtÚusernameÚpasswordZ netrc_authr?r?rCÚ__call__ˆs & zMultiDomainBasicAuth.__call__cKs |jdkr|S|js|Stj|jƒ}tjjd|jƒ}t j dƒ}|sH|rX||f|j |j<|j |j j ƒt|ppd|pvdƒ|jƒ}|jj|f|Ž}|jj|ƒ|S)Ni‘z User for %s: z Password: rn)Ú status_coderirqrrrsrZmovesÚinputrtÚgetpassrjÚcontentÚrawZ release_connr rZ connectionÚsendÚhistoryÚappend)rkÚrespÚkwargsr{r|r}rzZnew_respr?r?rCry©s     zMultiDomainBasicAuth.handle_401cCs8d|kr4|jddƒd}d|kr,|jddƒS|dfSdS)NrmrGrrR)NN)ruÚsplit)rkrtZuserinfor?r?rCrxËs  z&MultiDomainBasicAuth.parse_credentialsN)T)Ú__name__Ú __module__Ú __qualname__rlr~ryrxr?r?r?rCrh‚s !"rhc@seZdZddd„Zdd„ZdS)ÚLocalFSAdapterNc Cs®t|jƒ}tƒ}d|_|j|_ytj|ƒ} Wn.tk rZ} zd|_| |_WYdd} ~ XnPXtj j | j dd�} t j |ƒdp~d} t| | j| dœƒ|_t|dƒ|_|jj|_|S) NéÈi”T)Zusegmtrz text/plain)z Content-TypezContent-Lengthz Last-ModifiedÚrb)r,rsr"rÚosÚstatÚOSErrorrƒÚemailZutilsZ formatdateÚst_mtimeÚ mimetypesÚ guess_typer$Úst_sizeÚheadersÚopenÚclose) rkrÚstreamÚtimeoutÚverifyÚcertZproxiesÚpathnamer‡ZstatsÚexcZmodifiedÚ content_typer?r?rCr„Ös$    zLocalFSAdapter.sendcCsdS)Nr?)rkr?r?rCršñszLocalFSAdapter.close)NNNNN)rŠr‹rŒr„ršr?r?r?rCr�Ôs r�csDeZdZdZ‡fdd„Z‡fdd„Z‡fdd„Z‡fdd „Z‡ZS) Ú SafeFileCachezw A file based cache which is safe to use even when the target directory may not be accessible or writable. cs4tt|ƒj||Žt|jƒs0tjd|jƒd|_dS)NzßThe directory '%s' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.)Úsuperr¢rlrÚ directoryÚloggerÚwarning)rkÚargsrˆ)Ú __class__r?rCrlûs  zSafeFileCache.__init__c s@|jdkrdSytt|ƒj||ŽStttfk r:YnXdS)N)r¤r£r¢rwr(r’ÚIOError)rkr§rˆ)r¨r?rCrws  zSafeFileCache.getc s@|jdkrdSytt|ƒj||ŽStttfk r:YnXdS)N)r¤r£r¢Úsetr(r’r©)rkr§rˆ)r¨r?rCrªs  zSafeFileCache.setc s@|jdkrdSytt|ƒj||ŽStttfk r:YnXdS)N)r¤r£r¢Údeleter(r’r©)rkr§rˆ)r¨r?rCr«)s  zSafeFileCache.delete) rŠr‹rŒÚ__doc__rlrwrªr«Ú __classcell__r?r?)r¨rCr¢õs   r¢c@seZdZdd„ZdS)ÚInsecureHTTPAdaptercCsd|_d|_dS)NZ CERT_NONE)Z cert_reqsZca_certs)rkZconnrsr�ržr?r?rCÚ cert_verify9szInsecureHTTPAdapter.cert_verifyN)rŠr‹rŒr¯r?r?r?rCr®7sr®cs,eZdZdZ‡fdd„Z‡fdd„Z‡ZS)Ú PipSessionNc sÔ|jddƒ}|jddƒ}|jdgƒ}tt|ƒj||Žtƒ|jd<tƒ|_tj |dgdd�}|rvt t |d d �|d �}n t |d �}t |d �}|jd |ƒ|jd|ƒ|jdtƒƒx|D]}|jdj|ƒ|ƒq¶WdS)NÚretriesrÚcacheÚinsecure_hostsz User-Agenti÷gÐ?)ZtotalZstatus_forcelistZbackoff_factorT)Z use_dir_lock)r²Ú max_retries)r´zhttps://zhttp://zfile://z https://{0}/)Úpopr£r°rlrgr˜rhZauthr%ZRetryr&r¢rr®Zmountr�re) rkr§rˆr±r²r³Zsecure_adapterZinsecure_adapterÚhost)r¨r?rCrlBs*           zPipSession.__init__cs(|jd|jƒtt|ƒj||f|ž|ŽS)Nrœ)r`rœr£r°r)rkÚmethodrsr§rˆ)r¨r?rCr~szPipSession.request)rŠr‹rŒrœrlrr­r?r?)r¨rCr°>s             z^(http|https|file):z /*([a-z])\|cCs6d|kr dS|jddƒdjƒ}|ddddgtjkS) z)Returns true if the name looks like a URLrRFrGrr¹Zhttpsr¸Zftp)r‰rÁrZ all_schemes)r8rÊr?r?rCr+³scCs2tj|ƒ\}}}}}|r d|}tj||ƒ}|S)z( Convert a file: URL to a path. z\\)rqZurlsplitÚurllib_requestZ url2pathname)rsÚ_rtrËr?r?rCr,»s cCs*tjjtjj|ƒƒ}tjdtj|ƒƒ}|S)zh Convert a path to a file: URL. The path will be made absolute and have quoted path parts. zfile:)r�rËÚnormpathÚabspathrqZurljoinrÍZ pathname2url)rËrsr?r?rCr-ÌscCs t|ƒdjƒ}|tkrdSdS)z9Return True if `name` is a considered as an archive file.rGTF)rrÁr)r8Úextr?r?rCr.ÖscCst|ƒ}|j|ƒdS)N)Ú_get_used_vcs_backendÚunpack)ÚlinkÚlocationÚ vcs_backendr?r?rCr/ÞscCs.x(tjD]}|j|jkr||jƒ}|SqWdS)N)rZbackendsrÊZschemesrs)rÔZbackendrÖr?r?rCrÒãs   rÒcCs tt|ƒƒS)N)ÚboolrÒ)rÔr?r?rCr1êscCs|jjƒjdƒS)Nzfile:)rsrÁr[)rÔr?r?rCr2îscCst|jƒ}tjj|ƒS)z’Return whether a file:// Link points to a directory. ``link`` must not have any other scheme but file://. Call is_file_url() first. )r,Úurl_without_fragmentr�rËÚisdir)rÔÚ link_pathr?r?rCÚ is_dir_urlòs rÛcOs|S)Nr?)Úiterabler§rˆr?r?rCÚ_progress_indicatorýsrÝc sLytˆjdƒ}Wntttfk r0d}YnXtˆddƒ}tjƒtj krRd}n&|r\d}n|dkrjd}n|std}nd}|j }‡fdd „}‡fd d „} t } |j t j kr¬|} n|j} |rð|rÚtjd | t|ƒƒt|d �j} ntjd| ƒtƒj} n |�rtjd| ƒn tjd| ƒtjd|ƒ| | |tƒtƒƒ} |�r@|j| ƒnt| ƒdS)Nzcontent-lengthrZ from_cacheFé(ièTc 3s\y$xˆjj|dd�D] }|VqWWn2tk rVxˆjj|ƒ}|sHP|Vq6WYnXdS)NF)Zdecode_content)rƒr›ÚAttributeErrorrÈ)Z chunk_sizeÚchunk)r‡r?rCÚ resp_reads  z _download_url..resp_readc3s"x|D]}ˆj|ƒ|VqWdS)N)Úwrite)Zchunksrà)Ú content_filer?rCÚwritten_chunks;s  z%_download_url..written_chunkszDownloading %s (%s))ÚmaxzDownloading %szUsing cached %szDownloading from URL %si@œ)Úintr˜Ú ValueErrorÚKeyErrorr½Úgetattrr¥ZgetEffectiveLevelÚloggingÚINFOÚshow_urlrÝrtrrØÚinfor rÚiterrÚdebugr!Zcheck_against_chunksr) r‡rÔrãÚhashesZ total_lengthZ cached_respZ show_progressrìráräZprogress_indicatorrsZdownloaded_chunksr?)rãr‡rCÚ _download_urlsL   %       rñcCsÎd}tjj||jƒ}tjj|ƒrªtdt|ƒd ƒ}|dkr@d}nj|dkrdtjdt|ƒƒtj |ƒnF|dkr˜t |ƒ}tjd t|ƒt|ƒƒt j ||ƒn|dkrªt jd ƒ|rÊt j||ƒtjd t|ƒƒdS)NTz8The file %s exists. (i)gnore, (w)ipe, (b)ackup, (a)abortÚiÚwÚbÚaFz Deleting %szBacking up %s to %srGzSaved %s)ròrórôrõrp)r�rËrZÚfilenameÚexistsr r r¥r¦Úremover ÚshutilZmoverWÚexitÚcopyrí)rörÕrÔrûZdownload_locationroZ dest_filer?r?rCÚ _copy_fileas.     rüc Cs˜|dkrtdƒ‚tjddƒ}d}|r0t|||ƒ}|rH|}tj|ƒd}nt||||ƒ\}}t||||ƒ|r~| r~t|||ƒ|sŒt j |ƒt |ƒdS)Nz@unpack_http_url() missing 1 required keyword argument: 'session'z-unpackzpip-r) r½ÚtempfileZmkdtempÚ_check_download_dirr•r–Ú_download_http_urlrrür�Úunlinkr ) rÔrÕÚ download_dirrÉrðÚtemp_dirÚalready_downloaded_pathÚ from_pathr¡r?r?rCr3|s,     cCs®t|jƒ}t|ƒrHtjj|ƒr&t|ƒtj||dd�|rDt j dƒdS|rV|j |ƒd}|rjt |||ƒ}|rt|}n|}t j|ƒd}t||||ƒ|rª| rªt|||ƒdS)z‘Unpack link into location. If download_dir is provided and link points to a file, make a copy of the link file inside download_dir. T)Zsymlinksz*Link is a directory, ignoring download_dirNr)r,rØrÛr�rËrÙr rùZcopytreer¥ríÚcheck_against_pathrþr•r–rrü)rÔrÕrrðrÚrrr¡r?r?rCr0£s,     c Cs´tjj|ƒrt|ƒd}tjg}|jdƒ|jt|ƒ|jdƒ|d|g7}tj d|ƒt ƒ�t ||dd�WdQRXtjj |tj |ƒd ƒ}tj d ||ƒt||ddd �dS) zÐCopy distribution files in `link_path` to `location`. Invoked when user requests to install a local directory. E.g.: pip install . pip install ~/dev/git-repos/python-prompt-toolkit zsetup.pyz-cÚsdistz --dist-dirzRunning setup.py sdist for %sF)ÚcwdZ show_stdoutNrzUnpacking sdist %s into %s)r¡rÔ)r�rËrÙr rWÚ executabler†rr¥rírrrZÚlistdirr)rÚrÕZsetup_pyZ sdist_argsrr?r?rCÚ_copy_dist_from_dirÓs     r c@s$eZdZdZddd„Zd dd„ZdS) ÚPipXmlrpcTransportzRProvide a `xmlrpclib.Transport` implementation via a `PipSession` object. FcCs*tjj||ƒtj|ƒ}|j|_||_dS)N)r)Ú TransportrlrqrrrÊÚ_schemeÚ_session)rkZ index_urlrÉZ use_datetimeZ index_partsr?r?rCrlüs zPipXmlrpcTransport.__init__c Cs�|j||dddf}tj|ƒ}y6ddi}|jj|||dd�}|jƒ||_|j|jƒSt j k rŠ} zt j d| j j|ƒ‚WYdd} ~ XnXdS)Nz Content-Typeztext/xmlT)rSr˜r›zHTTP error %s while getting %s)r rqrvrZpostrÆÚverboseZparse_responserƒrÚ HTTPErrorr¥Úcriticalror) rkr¶ZhandlerZ request_bodyrÚpartsrsr˜ror r?r?rCrs     zPipXmlrpcTransport.requestN)F)F)rŠr‹rŒr¬rlrr?r?r?rCr ÷s r cCs^t|ƒrt||ƒn:t|ƒr.t||||d�n |dkrs¢     0               BR!BH )  ` & 0$ '8