+
     h,/  c                   s   ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RI	H
t
 ^ RIHt ^ RIHtHtHtHtHtHt ^ RIHtHtHtHtHtHt ^ RIHt ^ RIHt ^ R	IHt ^ R
I H!t! ^ RI"H#t#H$t$ ^ RI%H&t& ^ RI'H(t( ^ RI)H*t* ]PV                  ! 4       t,Rs-Rt.]$! R4      t/ ! R R]04      t1R R lt2] Pf                  R,R R ll4       t4R R lt5 ! R R]Pl                  4      t7] ! R R4      4       t8 ! R R]4      t9RR/R  R! llt: ! R" R#]4      t; ! R$ R%]Px                  Pz                  4      t> ! R& R']4      t? ! R( R)]4      t@R* R+ ltAR# )-i    N)	dataclassTextIOWrapper)Filter)AnyClassVar	GeneratorListOptionalType)ConsoleConsoleOptionsConsoleRenderableRenderableTypeRenderResultRichCast)NullHighlighter)RichHandler)Segment)Style)VERBOSE	getLogger)WINDOWS)DEPRECATION_MSG_PREFIX)
ensure_dirzpip.subprocessorc                   s    ] tR t^%tRtRtR# )BrokenStdoutLoggingErrorzG
Raised if BrokenPipeError occurs for the stdout stream while logging.
 N)__name__
__module____qualname____firstlineno____doc____static_attributes__r       @/usr/lib/python3.14/site-packages/pip/_internal/utils/logging.pyr   r   %   s    r!   r   c                sR    V ^8  d   QhR\         \        ,          R\        R\        /# )   	exc_classexcreturn)r	   ZBaseExceptionboolformat   "r"   __annotate__r+   +   s,     
Q 
QT-%8 
Q} 
QQU 
Qr!   c                 s    V \         J d   R # \        '       g   R# \        V\        4      ;'       d.    VP                  \        P
                  \        P                  39   # )TF)BrokenPipeErrorr   
isinstanceZOSErrorerrnoZEINVALZEPIPE)r$   r%      &&r"   _is_broken_pipe_errorr0   +   sB    O#
 7c7#PP		ellEKK5P(PPr!   c                s>    V ^8  d   QhR\         R\        R,          /# )r#   numr&   )NNN)intr   r(   r*   r"   r+   r+   9   s      & &C &	*: ; &r!   c              #  s   "   \        4       \        n        \        ;P                  V ,          un         Rx  \        ;P                  V ,          un        R#   \        ;P                  T ,          un        i ; i5i)zj
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)r1      &r"   
indent_logr7   8   sM      -.Jc!&#%
#%s   1A9A A9A66A9c                s$    V ^8  d   QhR\         /# r#   r&   r2   r(   r*   r"   r+   r+   G   s     1 1 1r!   c                  s$    \        \        R ^ 4      # )r5   )getattrr4   r   r!   r"   r3   r3   G   s    :}a00r!   c                   st   a a ] tR t^Kt oRtRR/V3R lV 3R llltV3R lR ltV3R lV 3R	 lltR
tVt	V ;t
# )IndentingFormatterz%Y-%m-%dT%H:%M:%Sadd_timestampFc                s0   < V ^8  d   QhRS[ RS[RS[ RR/# )r#   argsr<   kwargsr&   N)r   r'   r)   __classdict__   "r"   r+   IndentingFormatter.__annotate__N   s3     * ** * 	*
 
*r!   c               s4   < Wn         \        SV `  ! V/ VB  R# )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)r<   super__init__)selfr<   r=   r>   	__class__s   &$*,r"   rD   ZIndentingFormatter.__init__N   s     +$)&)r!   c                s,   < V ^8  d   QhRS[ RS[RS[ /# )r#   	formattedlevelnor&   )strr2   r?   rA   r"   r+   rB   ]   s"      3   r!   c                s    V\         P                  8  d   R# VP                  \        4      '       d   R# V\         P                  8  d   R# R# )z^
Return the start of the formatted log message (not counting the
prefix to add to each line).
 z	WARNING: zERROR: )loggingWARNINGZ
startswithr   ERROR)rE   rG   rH   s   &&&r"   get_message_startZ$IndentingFormatter.get_message_start]   s<    
 W__$ 677 W]]"r!   c                :   < V ^8  d   QhRS[ P                  RS[/# r#   recordr&   )rK   	LogRecordrI   r?   rA   r"   r+   rB   m   s!      W.. 3 r!   c                sb  < \         SV `  V4      pV P                  W!P                  4      pW2,           pRpV P                  '       d   V P                  V4       R2pVR\        4       ,          ,          pRP                  VP                  R4       Uu. uF  qTV,           NK  	  up4      pV# u upi )zn
Calls the standard formatter, but will indent all of the log message
lines by our current indentation level.
rJ    T)	rC   r)   rN   rH   r<   Z
formatTimer3   ZjoinZ
splitlines)rE   rQ   rG   Zmessage_startZprefixlinerF   s   &&    r"   r)   ZIndentingFormatter.formatm   s    
 GN6*	..y..I!-	/02F#)))GGy7K7KD7QR7Qtd]]7QRS	 Ss   B,)r<   )r   r   r   r   Zdefault_time_formatrD   rN   r)   r    __classdictcell____classcell__rF   r@      @@r"   r;   r;   K   s8     -* $* *    r!   r;   c                   s>   a  ] tR t^~t o V 3R lR ltV 3R ltRtV tR# )IndentedRenderablec                s,   < V ^8  d   QhRS[ RS[RS[/# )r#   consoleoptionsr&   )r
   r   r   r?   rA   r"   r+   IndentedRenderable.__annotate__   s%         )7 	 r!   c              #  s   "   VP                  V P                  V4      p\        P                  ! V4      pV F8  p\        R V P                  ,          4      x  T Rj  xL
  \        R4      x  K:  	  R#  L5i)rS   NZ
)Zrender
renderabler   Zsplit_linesindent)rE   rZ   r[   ZsegmentsZlinesrT   s   &&&   r"   __rich_console__Z#IndentedRenderable.__rich_console__   s]      >>$//7;##H-D#+,,OO$- s   AA7A5A7c                s2   < V ^8  d   Qh/ S[ ;R&   S[;R&   # )r#   r]   r^   )r   r2   r?   rA   r"   r+   r\   ~   s       K r!   r   N)r   r   r   r   r_   __annotate_func__r    rU   r@      @r"   rY   rY   ~   s     
     r!   rY   c                   s2   a  ] tR t^t o V 3R lR ltRtV tR# )
PipConsolec                s   < V ^8  d   QhRR/# )r#   r&   Nr   r?   rA   r"   r+   ZPipConsole.__annotate__   s     * * *r!   c                s    \        4       R hN)r,   )rE   r6   r"   on_broken_pipeZPipConsole.on_broken_pipe   s     T)r!   r   N)r   r   r   r   re   r    rU   ra   rb   r"   rc   rc      s     * *r!   rc   stderrFc                s0    V ^8  d   QhR\         R\        /# )r#   rf   r&   )r'   r
   r(   r*   r"   r+   r+      s      4 G r!   c                 sf    V '       d   \         f   Q R4       h\         # \        f   Q R4       h\        # )Nzstderr rich console is missing!zstdout rich console is missing!)_stderr_console_stdout_console)rf   s   $r"   get_consoleri      s5    *M,MM**M,MM*r!   c                   sx   a a ] tR t^t o. tV3R lV 3R lltV3R lR ltV3R lV 3R lltV3R ltRt	Vt
V ;t# )	RichPipStreamHandlerc                $   < V ^8  d   QhRS[ RR/# )r#   rZ   r&   N)r
   r?   rA   r"   r+   !RichPipStreamHandler.__annotate__   s     
 
 
D 
r!   c                s@   < \         SV `  VR R R \        4       R7       R# )F)rZ   Z	show_timeZ
show_levelZ	show_pathZhighlighterN)rC   rD   r   )rE   rZ   rF      &&r"   rD   ZRichPipStreamHandler.__init__   s'    ') 	 	
r!   c                8   < V ^8  d   QhRS[ P                  RR/# r#   rQ   r&   NrK   rR   r?   rA   r"   r+   rl      s!     % %7,, % %r!   c                s   R p\        VRR4      '       dr   \        VP                  \        4      '       g   Q hVP                  w  p\        V\        \
        \        34      '       g   Q V R24       h\        V\        4       R7      pMV P                  V4      pV P                  W4      pVP                  eX   VP                  \        P                  8  d   \        RR7      pM+VP                  \        P                  8  d   \        RR7      p V P                   P#                  VRRVR	7       R #   \$         d    T P'                  T4        R # i ; i)
NZrichFz is not rich-console-renderable)r^   Zred)ZcolorZyellowZignore)ZoverflowZcropstyle)r:   r-   r=   Ztupler   r   rI   rY   r3   r)   Zrender_messagerH   rK   rM   r   rL   rZ   Zprint	ExceptionhandleError)rE   rQ   rq   Zrich_renderabler]   Zmessages   &&    r"   emitZRichPipStreamHandler.emit   s"   !% 665))fkk51111!'_"3Xs!C  C!""ABC  *<(9*J kk&)G,,V=J~~)>>W]]2!.E^^w6!1E	%LLzH5PUV 	%V$	%s   D0 0EEc                rn   ro   rp   r?   rA   r"   r+   rl      s!     + +'"3"3 + +r!   c                s  < \         P                  ! 4       R,          w  r#V'       dL   V'       dD   V P                  P                  \         P                  J d   \        W#4      '       d   \        4       h\        SV `!  V4      # )z1Called when logging is unable to log some output.:Nr#   N)	sysZexc_inforZ   filestdoutr0   r   rC   rs   )rE   rQ   r$   r%   rF   s   &&  r"   rs   Z RichPipStreamHandler.handleError   sY     +	 !!SZZ/%i55*,,w"6**r!   c                sV   < V ^8  d   Qh/ S[ S[S[S[,          ,          ,          ;R&   # )r#   KEYWORDS)r   r   r   rI   r?   rA   r"   r+   rl      s     xS	*+0 r!   r   )r   r   r   r   rx   rD   rt   rs   r`   r    rU   rV   rW   rX   r"   rj   rj      s0     .0H
 
% %8+ +S  r!   rj   c                   s>   a a ] tR t^t oV3R lV 3R lltRtVtV ;t# )BetterRotatingFileHandlerc                s    < V ^8  d   QhRS[ /# r8   r   r?   rA   r"   r+   Z&BetterRotatingFileHandler.__annotate__   s      } r!   c                s   < \        \        P                  P                  V P                  4      4       \
        SV `  4       # rd   )r   osZpathZdirnameZbaseFilenamerC   _open)rE   rF   s   &r"   r{   ZBetterRotatingFileHandler._open   s*    277??4#4#456w}r!   r   )r   r   r   r   r{   r    rU   rV   rW   rX   r"   ry   ry      s       r!   ry   c                   sD   a  ] tR t^t o V 3R lR ltV 3R lR ltRtV tR# )MaxLevelFilterc                rk   )r#   levelr&   Nr9   r?   rA   r"   r+   MaxLevelFilter.__annotate__   s      c d r!   c                s    Wn         R # rd   r}   )rE   r}   r/   r"   rD   ZMaxLevelFilter.__init__   s    
r!   c                rO   rP   rK   rR   r'   r?   rA   r"   r+   r~      s!     + +W.. +4 +r!   c                s4    VP                   V P                  8  # rd   )rH   r}   )rE   rQ   r/   r"   filterZMaxLevelFilter.filter   s    ~~

**r!   r   N)r   r   r   r   rD   r   r    rU   ra   rb   r"   r|   r|      s      + +r!   r|   c                   sB   a a ] tR t^t oRtV3R lV 3R lltRtVtV ;t# )ExcludeLoggerFilterzI
A logging Filter that excludes records from a logger (or its children).
c                rO   rP   r   r?   rA   r"   r+   Z ExcludeLoggerFilter.__annotate__   s!     * *W.. *4 *r!   c                s,   < \         SV `  V4      '       * # rd   )rC   r   )rE   rQ   rF   rm   r"   r   ZExcludeLoggerFilter.filter   s     7>&)))r!   r   )	r   r   r   r   r   r   r    rU   rV   rW   rX   r"   r   r      s     * * *r!   r   c                s^    V ^8  d   QhR\         R\        R\        \        ,          R\         /# )r#   	verbosityno_coloruser_log_filer&   )r2   r'   r   rI   r(   r*   r"   r+   r+      s3     v vS vD v# vSV vr!   c                s   V ^8  d   \         P                  pMfV ^8X  d   \        pMXV R,8X  d   \         P                  pM@V R-8X  d   \         P                  pM(V R.8:  d   \         P
                  pM\         P                  p\         P                  ! V4      pVRJpV'       d   TpRpMRpTpVR/9   d   RMRpRRRR/p	. R0OV'       d   R.M. ,           p
\        \        P                  VRR7      s\        \        P                  VRR7      p\         P                  P                  R^RRRRRRR\         P                  /RRRR\        P                   /RRRR\        P                   //RRR\"        RR/R R\"        RRR!R//R"R	RVR#V	R,          R	\        RRR.R$R/R
RRR#V	R,          R	VRR.R$R/RRVR#V	R,          R	VRR.R$R/RRRR#V	R,          R%VR&R'R(RR$R //R)RVR"V
/R*R+RV///4       V# )1zfConfigures and sets up all of the logging

Returns the requested logging level, as its integer value.
NDEBUGz	/dev/nullrL   Zstreamz0pip._internal.utils.logging.RichPipStreamHandlerrv   z5pip._internal.utils.logging.BetterRotatingFileHandlerrZ   console_errorsconsole_subprocessZuser_logT)rv   r   Z	soft_wrapZversionZdisable_existing_loggersFZfiltersZexclude_warningsz()z*pip._internal.utils.logging.MaxLevelFilterr}   Zrestrict_to_subprocesszlogging.FilternameZexclude_subprocessz/pip._internal.utils.logging.ExcludeLoggerFilterZ
formattersr^   r)   z%(message)sZindent_with_timestampr<   handlersZclassZ	formatterZfilenameZencodingzutf-8ZdelayZrootZloggerszpip._vendoriii)INFOrM   )rZ   r   r   )rK   r   r   rL   rM   ZCRITICALr   ZgetLevelNamerc   ru   rw   rh   rf   ZconfigZ
dictConfigsubprocess_loggerr   r;   )r   r   r   Zlevel_numberr}   Zinclude_user_logZadditional_log_fileZ
root_levelZvendored_log_levelZhandler_classesr   rg   s   &&&         r"   setup_loggingr      s    A~}}	a	b	b}}	b''||  .E %D0+
)
 ',/@&@g 	DGO C(bH !cjj8tTO cjj8tTONNq&"FW__% )*-22+ %K-22' ,m (,m#T*
 U_X6 46HI !Y_X6 45# %U_X6 89' W_V4 3T!81 B H 1C'DECB	
DL r!   )r#   )BZ
contextlibr.   rK   Zlogging.handlersrz   ru   Z	threadingZdataclassesr    Zior   r   Ztypingr   r   r   r   r   r	   Zpip._vendor.rich.consoler
   r   r   r   r   r   Zpip._vendor.rich.highlighterr   Zpip._vendor.rich.loggingr   Zpip._vendor.rich.segmentr   Zpip._vendor.rich.styler   Zpip._internal.utils._logr   r   Zpip._internal.utils.compatr   Zpip._internal.utils.deprecationr   Zpip._internal.utils.miscr   Zlocalr4   rh   rg   r   rr   r   r0   Zcontextmanagerr7   r3   Z	Formatterr;   rY   rc   ri   rj   r   ZRotatingFileHandlerry   r|   r   r   r   r!   r"   <module>r      s'       	 
  !   A A  9 0 , ( 7 . B /__
01 y 
Q & &10** 0f      * *% 9+; 9+x 0 0 D D +V +*& *vr!   