§
    �’jó7  ã                  óÎ  — 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Zd dl	m
Z
 d dlmZ d dlmZmZ d dlmZ d dlmZmZ d dlmZmZmZmZmZmZ d d	lmZ d d
lmZ d dlm Z  d dl!m"Z" d dl#m$Z$m%Z% d dl&m'Z' d dl(m)Z) d dl*m+Z+m,Z,m-Z-  ej.        ¦   «         Z/da0dZ1 e%d¦  «        Z2 G d„ de3¦  «        Z4d;d„Z5ej6        d<d„¦   «         Z7ej6        d=d>d!„¦   «         Z8d?d"„Z9 G d#„ d$ej:        ¦  «        Z;e G d%„ d&¦  «        ¦   «         Z< G d'„ d(e¦  «        Z=d)d*œd@d-„Z> G d.„ d/e¦  «        Z? G d0„ d1ej@        jA        ¦  «        ZB G d2„ d3e¦  «        ZC G d4„ d5e¦  «        ZDdAd:„ZEdS )Bé    )ÚannotationsN)Ú	Generator)Ú	dataclass)ÚStringIOÚTextIOWrapper)ÚFilter)ÚAnyÚClassVar)ÚConsoleÚConsoleOptionsÚConsoleRenderableÚRenderableTypeÚRenderResultÚRichCast)ÚNullHighlighter)ÚRichHandler)ÚSegment)ÚStyle)ÚVERBOSEÚ	getLogger)ÚWINDOWS)ÚDEPRECATION_MSG_PREFIX)ÚStreamWrapperÚ
ensure_dirÚlooks_like_cizpip.subprocessorc                  ó   — e Zd ZdZdS )ÚBrokenStdoutLoggingErrorzO
    Raised if BrokenPipeError occurs for the stdout stream while logging.
    N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__© ó    úIC:\Projects\DSCons\.venv\Lib\site-packages\pip\_internal\utils\logging.pyr   r   (   s   € € € € € ðð ð ð r#   r   Ú	exc_classútype[BaseException]ÚexcÚBaseExceptionÚreturnÚboolc                ó’   — | t           u rdS t          sdS t          |t          ¦  «        o|j        t          j        t          j        fv S )NTF)ÚBrokenPipeErrorr   Ú
isinstanceÚOSErrorÚerrnoÚEINVALÚEPIPE)r%   r'   s     r$   Ú_is_broken_pipe_errorr2   .   sF   € Ø•OÐ#Ð#Øˆtõ
 ð Øˆuå�c�7Ñ#Ô#ÐP¨¬	µe´lÅEÄKÐ5PÐ(PÐPr#   úGenerator[StringIO, None, None]c               #  ó  K  — i } t          j        ¦   «         j        D ]!}t          |t          ¦  «        r
|j        | |<   Œ"t          j        t          j	        ¦  «        }| s|V — dS t          t          |                      ¦   «         ¦  «        ¦  «        j        }t          ||d¬¦  «        }	 | D ]	}||_        Œ
|V — |                      ¦   «         D ]\  }}||_        ŒdS # |                      ¦   «         D ]\  }}||_        Œw xY w)z-Capture all pip logs in a buffer temporarily.NT)ÚfileÚno_colorÚ	soft_wrap)Úloggingr   Úhandlersr-   ÚRichPipStreamHandlerÚconsoler   Úfrom_streamÚsysÚstdoutÚnextÚiterÚvaluesr6   Ú
PipConsoleÚitems)r9   ÚhandlerÚfake_streamr6   Úfake_consoleÚoriginal_consoles         r$   Úcapture_loggingrH   ;   s8  è è € ð €HÝÔ$Ñ&Ô&Ô/ð 0ð 0ˆÝ�gÕ3Ñ4Ô4ð 	0ð !(¤ˆH�WÑøåÔ+­C¬JÑ7Ô7€KØð ØÐÐÐØˆõ •D˜ŸšÑ*Ô*Ñ+Ô+Ñ,Ô,Ô5€HÝ ;¸ÈTÐRÑRÔR€Lð/Øð 	+ð 	+ˆGØ*ˆGŒOˆOØÐÐÐà)1¯ªÑ)9Ô)9ð 	/ð 	/Ñ%ˆGÐ%Ø.ˆGŒOˆOð	/ð 	/ø¨¯ªÑ)9Ô)9ð 	/ð 	/Ñ%ˆGÐ%Ø.ˆGŒOˆOð	/øøøs   Â+C Ã#Dé   ÚnumÚintúGenerator[None, None, None]c              #  óÌ   K  — t          ¦   «         t          _        t          xj        | z  c_        	 dV — t          xj        | z  c_        dS # t          xj        | z  c_        w xY w)zv
    A context manager which will cause the log output to be indented for any
    log messages emitted inside it.
    N)Úget_indentationÚ
_log_stateÚindentation)rJ   s    r$   Ú
indent_logrQ   [   sr   è è € õ -Ñ.Ô.…JÔÝÐÔ˜cÑ!ÐÔð&ØˆˆˆåÐÔ #Ñ%ÐÔÐÐø�
ÐÔ #Ñ%ÐÔÐÐÐÐs   ±A ÁA#c                 ó.   — t          t          dd¦  «        S )NrP   r   )ÚgetattrrO   r"   r#   r$   rN   rN   j   s   € Ý•:˜}¨aÑ0Ô0Ð0r#   c                  ó>   ‡ — e Zd ZdZddœdˆ fd„Zdd„Zdˆ fd„Zˆ xZS )ÚIndentingFormatterz%Y-%m-%dT%H:%M:%SF)Úadd_timestampÚargsr	   rV   r*   Úkwargsr)   ÚNonec               óH   •— || _          t          ¦   «         j        |i |¤Ž dS )zÎ
        A logging.Formatter that obeys the indent_log() context manager.

        :param add_timestamp: A bool indicating output lines should be prefixed
            with their record's timestamp.
        N)rV   ÚsuperÚ__init__)ÚselfrV   rW   rX   Ú	__class__s       €r$   r\   zIndentingFormatter.__init__q   s/   ø€ ð +ˆÔØ�‰ŒÔ˜$Ð) &Ð)Ð)Ð)Ð)Ð)r#   Ú	formattedÚstrÚlevelnorK   c                ó†   — |t           j        k     rdS |                     t          ¦  «        rdS |t           j        k     rdS dS )zv
        Return the start of the formatted log message (not counting the
        prefix to add to each line).
        Ú z	WARNING: zERROR: )r8   ÚWARNINGÚ
startswithr   ÚERROR)r]   r_   ra   s      r$   Úget_message_startz$IndentingFormatter.get_message_start€   sK   € ð
 •W”_Ò$Ð$Ø�2Ø×ÒÕ 6Ñ7Ô7ð 	ð �2Ø•W”]Ò"Ð"Ø�;àˆyr#   Úrecordúlogging.LogRecordc                ó^  •‡— t          ¦   «                              |¦  «        }|                      ||j        ¦  «        }||z   }dŠ| j        r|                      |¦  «        › d�Š‰dt          ¦   «         z  z  Šd                     ˆfd„|                     d¦  «        D ¦   «         ¦  «        }|S )z†
        Calls the standard formatter, but will indent all of the log message
        lines by our current indentation level.
        rc   ú c                ó   •— g | ]}‰|z   ‘ŒS r"   r"   )Ú.0ÚlineÚprefixs     €r$   ú
<listcomp>z-IndentingFormatter.format.<locals>.<listcomp>�   s   ø€ ÐRÐRÐR¨t˜V d™]ÐRÐRÐRr#   T)	r[   Úformatrg   ra   rV   Ú
formatTimerN   ÚjoinÚ
splitlines)r]   rh   r_   Úmessage_startro   r^   s       @€r$   rq   zIndentingFormatter.format�   sµ   øø€ õ
 ‘G”G—N’N 6Ñ*Ô*ˆ	Ø×.Ò.¨y¸&¼.ÑIÔIˆØ! IÑ-ˆ	àˆØÔð 	3ØŸš¨Ñ/Ô/Ð2Ð2Ð2ˆFØ�#�Ñ)Ô)Ñ)Ñ)ˆØ—G’GÐRÐRÐRÐR°y×7KÒ7KÈDÑ7QÔ7QÐRÑRÔRÑSÔSˆ	ØÐr#   )rW   r	   rV   r*   rX   r	   r)   rY   )r_   r`   ra   rK   r)   r`   )rh   ri   r)   r`   )r   r   r    Údefault_time_formatr\   rg   rq   Ú__classcell__©r^   s   @r$   rU   rU   n   s„   ø€ € € € € Ø-Ðð
 $ð*ð *ð *ð *ð *ð *ð *ð *ðð ð ð ð ð ð ð ð ð ð ð ð ð r#   rU   c                  ó,   — e Zd ZU ded<   ded<   dd„ZdS )ÚIndentedRenderabler   Ú
renderablerK   Úindentr;   r   Úoptionsr   r)   r   c              #  óÖ   K  — |                      | j        |¦  «        }t          j        |¦  «        }|D ]4}t          d| j        z  ¦  «        V — |E d {V —† t          d¦  «        V — Œ5d S )Nrk   ú
)Úrenderr{   r   Úsplit_linesr|   )r]   r;   r}   ÚsegmentsÚlinesrn   s         r$   Ú__rich_console__z#IndentedRenderable.__rich_console__¦   s‡   è è € ð —>’> $¤/°7Ñ;Ô;ˆÝÔ# HÑ-Ô-ˆØð 	 ð 	 ˆDÝ˜# ¤Ñ+Ñ,Ô,Ð,Ð,Ð,ØˆOˆOˆOˆOˆOˆOˆOÝ˜$‘-”-ÐÐÐÐð	 ð 	 r#   N)r;   r   r}   r   r)   r   )r   r   r    Ú__annotations__r„   r"   r#   r$   rz   rz   ¡   s?   € € € € € € àÐÐÑØ€K€K�Kð ð  ð  ð  ð  ð  r#   rz   c                  ó   — e Zd Zdd„ZdS )rB   r)   rY   c                ó    — t          ¦   «         d ‚©N)r,   )r]   s    r$   Úon_broken_pipezPipConsole.on_broken_pipe²   s   € õ ÑÔ TÐ)r#   N)r)   rY   )r   r   r    r‰   r"   r#   r$   rB   rB   ±   s(   € € € € € ð*ð *ð *ð *ð *ð *r#   rB   F©Ústderrr‹   r   c                óf   — | rt           €
J d¦   «         ‚t           S t          €
J d¦   «         ‚t          S )Nzstderr rich console is missing!zstdout rich console is missing!)Ú_stderr_consoleÚ_stdout_consolerŠ   s    r$   Úget_consoler�   ¸   s@   € Øð ÝÐ*Ð*Ð,MÑ*Ô*Ð*ÝÐåÐ*Ð*Ð,MÑ*Ô*Ð*ÝÐr#   c                  óD   ‡ — e Zd ZU g Zded<   dˆ fd„Zdd
„Zdˆ fd„Zˆ xZS )r:   zClassVar[list[str] | None]ÚKEYWORDSr;   r   r)   rY   c                ól   •— t          ¦   «                              |dddt          ¦   «         ¬¦  «         d S )NF)r;   Ú	show_timeÚ
show_levelÚ	show_pathÚhighlighter)r[   r\   r   )r]   r;   r^   s     €r$   r\   zRichPipStreamHandler.__init__Ä   sC   ø€ Ý‰Œ×ÒØØØØÝ'Ñ)Ô)ð 	ñ 	
ô 	
ð 	
ð 	
ð 	
r#   rh   ri   c                ó”  — d }t          |dd¦  «        rrt          |j        t          ¦  «        sJ ‚|j        \  }t          |t          t
          t          f¦  «        sJ |› d�¦   «         ‚t          |t          ¦   «         ¬¦  «        }n}|  	                    |¦  «        }|  
                    ||¦  «        }|j        �K|j        t          j        k    rt          d¬¦  «        }n%|j        t          j        k    rt          d¬¦  «        }	 | j                             |dd|¬	¦  «         d S # t$          $ r |                      |¦  «         Y d S w xY w)
NÚrichFz is not rich-console-renderable)r|   Úred)ÚcolorÚyellowÚignore)ÚoverflowÚcropÚstyle)rS   r-   rW   Útupler   r   r`   rz   rN   rq   Úrender_messagera   r8   rf   r   rd   r;   ÚprintÚ	ExceptionÚhandleError)r]   rh   rŸ   Úrich_renderabler{   Úmessages         r$   ÚemitzRichPipStreamHandler.emitÎ   sx  € Ø"ˆõ �6˜6 5Ñ)Ô)ð 	2Ý˜fœk­5Ñ1Ô1Ð1Ð1Ð1Ø!'¤Ñˆ_ÝØÕ"3µX½sÐ!Cñô ð Cð Cà!ÐBÐBÐBñCô Cð õ *<Ø­Ñ(9Ô(9ð*ñ *ô *ˆJˆJð —k’k &Ñ)Ô)ˆGØ×,Ò,¨V°WÑ=Ô=ˆJØŒ~Ð)Ø”>¥W¤]Ò2Ð2Ý!¨Ð.Ñ.Ô.�E�EØ”^¥w¤Ò6Ð6Ý!¨Ð1Ñ1Ô1�Eð	%ØŒL×Ò˜z°HÀ5ÐPUÐÑVÔVÐVÐVÐVøÝð 	%ð 	%ð 	%Ø×Ò˜VÑ$Ô$Ð$Ð$Ð$Ð$ð	%øøøs   ÄD$ Ä$EÅEc                óö   •— t          j        ¦   «         dd…         \  }}|r8|r6| j        j        t           j        u rt          ||¦  «        rt          ¦   «         ‚t          ¦   «                              |¦  «        S )z1Called when logging is unable to log some output.NrI   )	r=   Úexc_infor;   r5   r>   r2   r   r[   r¤   )r]   rh   r%   r'   r^   s       €r$   r¤   z RichPipStreamHandler.handleErrorê   s{   ø€ õ œ™œ¨¨¨Ô+‰ˆ	�3ð ð	-àð	-ð ”Ô!¥S¤ZÐ/Ð/Ý% i°Ñ5Ô5ð 0õ +Ñ,Ô,Ð,å‰wŒw×"Ò" 6Ñ*Ô*Ð*r#   )r;   r   r)   rY   )rh   ri   r)   rY   )	r   r   r    r‘   r…   r\   r§   r¤   rw   rx   s   @r$   r:   r:   Á   s‚   ø€ € € € € € Ø+-€HÐ-Ð-Ð-Ñ-ð
ð 
ð 
ð 
ð 
ð 
ð%ð %ð %ð %ð8+ð +ð +ð +ð +ð +ð +ð +ð +ð +r#   r:   c                  ó    ‡ — e Zd Zdˆ fd„Zˆ xZS )ÚBetterRotatingFileHandlerr)   r   c                ó¦   •— t          t          j                             | j        ¦  «        ¦  «         t          ¦   «                              ¦   «         S rˆ   )r   ÚosÚpathÚdirnameÚbaseFilenamer[   Ú_open)r]   r^   s    €r$   r±   zBetterRotatingFileHandler._openþ   s4   ø€ Ý•2”7—?’? 4Ô#4Ñ5Ô5Ñ6Ô6Ð6Ý‰wŒw�}Š}‰ŒÐr#   )r)   r   )r   r   r    r±   rw   rx   s   @r$   r«   r«   ý   s=   ø€ € € € € ðð ð ð ð ð ð ð ð ð r#   r«   c                  ó   — e Zd Zdd„Zdd	„Zd
S )ÚMaxLevelFilterÚlevelrK   r)   rY   c                ó   — || _         d S rˆ   )r´   )r]   r´   s     r$   r\   zMaxLevelFilter.__init__  s   € ØˆŒ
ˆ
ˆ
r#   rh   ri   r*   c                ó"   — |j         | j        k     S rˆ   )ra   r´   )r]   rh   s     r$   ÚfilterzMaxLevelFilter.filter  s   € ØŒ~ ¤
Ò*Ð*r#   N)r´   rK   r)   rY   ©rh   ri   r)   r*   )r   r   r    r\   r·   r"   r#   r$   r³   r³     s<   € € € € € ðð ð ð ð+ð +ð +ð +ð +ð +r#   r³   c                  ó$   ‡ — e Zd ZdZdˆ fd„Zˆ xZS )ÚExcludeLoggerFilterzQ
    A logging Filter that excludes records from a logger (or its children).
    rh   ri   r)   r*   c                óH   •— t          ¦   «                              |¦  «         S rˆ   )r[   r·   )r]   rh   r^   s     €r$   r·   zExcludeLoggerFilter.filter  s   ø€ õ ‘7”7—>’> &Ñ)Ô)Ð)Ð)r#   r¸   )r   r   r    r!   r·   rw   rx   s   @r$   rº   rº     sG   ø€ € € € € ðð ð*ð *ð *ð *ð *ð *ð *ð *ð *ð *r#   rº   Ú	verbosityr6   Úuser_log_fileú
str | Nonec                ó2  — | dk    rt           j        }nS| dk    rt          }nE| dk    rt           j        }n2| dk    rt           j        }n| dk    rt           j        }nt           j        }t          j        |¦  «        }|du}|r|}d}nd}|}|d	v rd
nd}dddœ}	g d¢|rdgng z   }
|ddœ}t          ¦   «         rd|d<   t          d-dt          j        i|¤Žat          d-dt          j        i|¤Ž}t           j                             dddt           j        dœdt           j        dœdt           j        dœdœt$          ddœt$          dddœdœ||	d         t          d d!gd"d#œd
|	d         |d gd"d#œ||	d         |d$gd"d#œd|	d         |d%dd&d'œd(œ||
d)œd*d+|iid,œ¦  «         |S ).znConfigures and sets up all of the logging

    Returns the requested logging level, as its integer value.
    rI   é   éÿÿÿÿéþÿÿÿéýÿÿÿNÚDEBUGz	/dev/null)ÚINFOrf   rd   z0pip._internal.utils.logging.RichPipStreamHandlerz5pip._internal.utils.logging.BetterRotatingFileHandler)Ústreamr5   )r;   Úconsole_errorsÚconsole_subprocessÚuser_logT)r6   r7   FÚforce_interactiver5   z*pip._internal.utils.logging.MaxLevelFilter)ú()r´   zlogging.Filter)rË   Únamez/pip._internal.utils.logging.ExcludeLoggerFilter)Úexclude_warningsÚrestrict_to_subprocessÚexclude_subprocessz%(message)s)rË   rq   )rË   rq   rV   )r|   Úindent_with_timestamprÆ   rÏ   rÍ   r|   )r´   Úclassr;   ÚfiltersÚ	formatterrÎ   zutf-8rÐ   )r´   rÑ   ÚfilenameÚencodingÚdelayrÓ   )r;   rÇ   rÈ   rÉ   )r´   r9   zpip._vendorr´   )ÚversionÚdisable_existing_loggersrÒ   Ú
formattersr9   ÚrootÚloggersr"   )r8   rÄ   r   rd   rf   ÚCRITICALrÅ   ÚgetLevelNamer   rB   r=   r>   rŽ   r‹   ÚconfigÚ
dictConfigÚsubprocess_loggerrÌ   rU   )r¼   r6   r½   Úlevel_numberr´   Úinclude_user_logÚadditional_log_fileÚ
root_levelÚvendored_log_levelÚhandler_classesr9   Úconsole_optionsr�   s                r$   Úsetup_loggingrè     sº  € ð �A‚~€~Ý”}ˆˆØ	�aŠˆÝˆˆØ	�bŠˆÝ”ˆˆØ	�bŠˆÝ”}ˆˆØ	�bŠˆÝÔ'ˆˆå”|ˆåÔ  Ñ.Ô.€Eð %¨DÐ0ÐØð Ø+ÐØˆ
ˆ
à)ÐØˆ
ð ',Ð/@Ð&@Ð&@˜˜ÀgÐð EØGðð €Oð CÐBÐBØ(Ð0ˆˆˆ¨bñ€Hð 4<È$Ð&OÐ&O€OÝ�„ð 5ð 05ˆÐ+Ñ,Ý ÐDÐD¥c¤jÐD°OÐDÐD€OÝ ÐDÐD¥c¤jÐD°OÐDÐD€Oå„N×ÒàØ(-ð GÝ$œ_ð%ð %ð
 +Ý-Ô2ð+ð +ð
 LÝ-Ô2ð'ð 'ðð õ  -Ø+ðð õ
 -Ø+Ø%)ð*ð *ð
ð 
ð #Ø,¨XÔ6Ý.Ø 4Ð6HÐIØ!)ðð ð 'Ø,¨XÔ6Ø.Ø 4Ð5Ø!)ð#ð #ð #Ø,¨XÔ6Ø.Ø 8Ð9Ø!)ð'ð 'ð %Ø,¨VÔ4Ø 3Ø 'Ø!Ø!8ðð ð1 ð  ðD $Ø$ðð ð &¨Ð1CÐ'DÐEðCB	
ð B	
ñDô Dð DðL Ðr#   )r%   r&   r'   r(   r)   r*   )r)   r3   )rI   )rJ   rK   r)   rL   )r)   rK   )r‹   r*   r)   r   )r¼   rK   r6   r*   r½   r¾   r)   rK   )FÚ
__future__r   Ú
contextlibr/   r8   Úlogging.handlersr­   r=   Ú	threadingÚcollections.abcr   Údataclassesr   Úior   r   r   Útypingr	   r
   Úpip._vendor.rich.consoler   r   r   r   r   r   Úpip._vendor.rich.highlighterr   Úpip._vendor.rich.loggingr   Úpip._vendor.rich.segmentr   Úpip._vendor.rich.styler   Úpip._internal.utils._logr   r   Úpip._internal.utils.compatr   Úpip._internal.utils.deprecationr   Úpip._internal.utils.miscr   r   r   ÚlocalrO   rŽ   r�   rà   r£   r   r2   ÚcontextmanagerrH   rQ   rN   Ú	FormatterrU   rz   rB   r�   r:   r9   ÚRotatingFileHandlerr«   r³   rº   rè   r"   r#   r$   ú<module>rþ      s  ðØ "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ø €€€Ø €€€Ø Ð Ð Ð Ø 	€	€	€	Ø 
€
€
€
Ø Ð Ð Ð Ø %Ð %Ð %Ð %Ð %Ð %Ø !Ð !Ð !Ð !Ð !Ð !Ø &Ð &Ð &Ð &Ð &Ð &Ð &Ð &Ø Ð Ð Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  Ð  Ð  ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð 9Ð 8Ð 8Ð 8Ð 8Ð 8Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø (Ð (Ð (Ð (Ð (Ð (à 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø .Ð .Ð .Ð .Ð .Ð .Ø BÐ BÐ BÐ BÐ BÐ BØ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MàˆYŒ_ÑÔ€
Ø€Ø€Ø�IÐ0Ñ1Ô1Ð ðð ð ð ð ˜yñ ô ð ð
Qð 
Qð 
Qð 
Qð Ôð/ð /ð /ñ Ôð/ð> Ôð&ð &ð &ð &ñ Ôð&ð1ð 1ð 1ð 1ð0ð 0ð 0ð 0ð 0˜Ô*ñ 0ô 0ð 0ðf ð ð  ð  ð  ð  ñ  ô  ñ „ð ð*ð *ð *ð *ð *�ñ *ô *ð *ð #(ð ð ð ð ð ð ð9+ð 9+ð 9+ð 9+ð 9+˜;ñ 9+ô 9+ð 9+ðxð ð ð ð  Ô 0Ô Dñ ô ð ð+ð +ð +ð +ð +�Vñ +ô +ð +ð*ð *ð *ð *ð *˜&ñ *ô *ð *ð~ð ~ð ~ð ~ð ~ð ~r#   