ó
    T=Œj_6  ã                  óÊ  • S SK Jr  S SKrS SKrS SKrS SKrS SKrS SKrS SKrS SK	J
r
  S SKJr  S SKJrJr  S SKJr  S SKJrJr  S SKJrJrJrJrJrJr  S S	KJr  S S
KJr  S SKJ r   S SK!J"r"  S SK#J$r$J%r%  S SK&J'r'  S SK(J)r)  S SK*J+r+J,r,J-r-  \R\                  " 5       r/Sq0Sr1\%" S5      r2 " S S\35      r4S*S jr5\Rl                  S+S j5       r7\Rl                  S,S-S jj5       r8S.S jr9 " S S\Rt                  5      r;\ " S S5      5       r< " S S\5      r=SS.S/S  jjr> " S! S"\5      r? " S# S$\R€                  R‚                  5      rB " S% S&\5      rC " S' S(\5      rDS0S) jrEg)1é    )Ú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                  ó   • \ rS rSrSrSrg)ÚBrokenStdoutLoggingErroré(   zG
Raised if BrokenPipeError occurs for the stdout stream while logging.
© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__static_attributes__r   ó    Ú_/Users/stevendouglas/BidBrain/.venv/lib/python3.13/site-packages/pip/_internal/utils/logging.pyr   r   (   s   † ôr&   r   c                ó¶   • U [         L a  g[        (       d  g[        U[        5      =(       a-    UR                  [        R
                  [        R                  4;   $ )NTF)ÚBrokenPipeErrorr   Ú
isinstanceÚOSErrorÚerrnoÚEINVALÚEPIPE)Ú	exc_classÚexcs     r'   Ú_is_broken_pipe_errorr1   .   s?   € Ø”OÒ#Ø÷
 Š7Øä�cœ7Ó#×P¨¯	©	´e·l±lÄEÇKÁKÐ5PÑ(PÐPr&   c               #  ó   #   • 0 n [         R                  " 5       R                   H(  n[        U[        5      (       d  M  UR
                  X'   M*     [        R                  " [        R                  5      nU (       d  Uv •  g[        [        U R                  5       5      5      R                  n[        X#SS9n U  H	  nXAl        M     Uv •  U R                  5        H  u  pXQl        M     g! U R                  5        H  u  pXQl        M     f = f7f)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Úvaluesr4   Ú
PipConsoleÚitems)r7   ÚhandlerÚfake_streamr4   Úfake_consoleÚoriginal_consoles         r'   Úcapture_loggingrF   ;   sÙ   é € ð €HÜ×$Ò$Ó&×/Ô/ˆÜ�gÔ3×4Ó4ð !(§¡ˆHÓñ	 0ô  ×+Ò+¬C¯J©JÓ7€KÞØÒØô ”D˜Ÿ™Ó*Ó+Ó,×5Ñ5€HÜ ;ÈTÑR€Lð/ÛˆGØ*ŽOñ  àÒà)1¯©Ö)9Ñ%ˆGØ.ŽOò *:ø¨¯©Ö)9Ñ%ˆGØ.ŽOò *:üs#   ‚8D¾A8DÂ7C* Ã
 DÃ*!DÄDc              #  óÜ   #   • [        5       [        l        [        =R                  U -  sl         Sv •  [        =R                  U -  sl        g! [        =R                  U -  sl        f = f7f)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)Únums    r'   Ú
indent_logrL   [   sM   é € ô -Ó.„JÔÜ×Ò˜cÑ!Õð&Ûä×Ò #Ñ%ÖøŒ
×Ò #Ñ%Öüs   ‚-A,°A ´A,ÁA)Á)A,c                 ó$   • [        [        SS5      $ )NrJ   r   )ÚgetattrrI   r   r&   r'   rH   rH   j   s   € Ü”:˜}¨aÓ0Ð0r&   c                  ó`   ^ • \ rS rSrSrSS.       SU 4S jjjrS	S jrS
U 4S jjrSrU =r	$ )ÚIndentingFormatterén   z%Y-%m-%dT%H:%M:%SF)Úadd_timestampc               ó2   >• Xl         [        TU ]  " U0 UD6  g)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)rR   ÚsuperÚ__init__)ÚselfrR   ÚargsÚkwargsÚ	__class__s       €r'   rU   ÚIndentingFormatter.__init__q   s   ø€ ð +ÔÜ‰Ò˜$Ð) &Ó)r&   c                óŽ   • U[         R                  :  a  gUR                  [        5      (       a  gU[         R                  :  a  gg)z^
Return the start of the formatted log message (not counting the
prefix to add to each line).
Ú z	WARNING: zERROR: )r6   ÚWARNINGÚ
startswithr   ÚERROR)rV   Ú	formattedÚlevelnos      r'   Úget_message_startÚ$IndentingFormatter.get_message_start€   s<   € ð
 ”W—_‘_Ó$ØØ×ÑÔ 6×7Ñ7ð Ø”W—]‘]Ó"Øàr&   c                óB  >• [         TU ]  U5      nU R                  X!R                  5      nX2-   nSnU R                  (       a  U R                  U5       S3nUS[        5       -  -  nSR                  UR                  S5       Vs/ s H  oTU-   PM	     sn5      nU$ s  snf )zn
Calls the standard formatter, but will indent all of the log message
lines by our current indentation level.
r\   Ú T)	rT   Úformatrb   ra   rR   Ú
formatTimerH   ÚjoinÚ
splitlines)rV   Úrecordr`   Úmessage_startÚprefixÚlinerY   s         €r'   rf   ÚIndentingFormatter.format�   s�   ø€ ô
 ‘G‘N 6Ó*ˆ	Ø×.Ñ.¨y¿.¹.ÓIˆØ!Ñ-ˆ	àˆØ××ØŸ™¨Ó/Ð0°Ð2ˆFØ�#œÓ)Ñ)Ñ)ˆØ—G‘G°y×7KÑ7KÈDÔ7QÓRÒ7Q¨t dœ]Ñ7QÑRÓSˆ	ØÐùò Ss   ÂB)rW   r	   rR   ÚboolrX   r	   ÚreturnÚNone)r`   Ústrra   Úintrp   rr   )rj   úlogging.LogRecordrp   rr   )
r    r!   r"   r#   Údefault_time_formatrU   rb   rf   r%   Ú__classcell__©rY   s   @r'   rP   rP   n   sM   ø† Ø-Ðð
 $ñ*àð*ð ð*ð ð	*ð
 
÷*ð *ô÷ õ r&   rP   c                  ó@   • \ rS rSr% S\S'   S\S'         S	S jrSrg)
ÚIndentedRenderableé¡   r   Ú
renderablers   Úindentc              #  óè   #   • UR                  U R                  U5      n[        R                  " U5      nU H4  n[        SU R                  -  5      v •  U S h  v•N   [        S5      v •  M6     g  N7f)Nre   Ú
)Úrenderr{   r   Úsplit_linesr|   )rV   r9   ÚoptionsÚsegmentsÚlinesrm   s         r'   Ú__rich_console__Ú#IndentedRenderable.__rich_console__¦   s]   é € ð —>‘> $§/¡/°7Ó;ˆÜ×#Ò# HÓ-ˆÛˆDÜ˜# §¡Ñ+Ó,Ò,Ø�OˆOÜ˜$“-Ôò áùs   ‚AA2ÁA0ÁA2r   N)r9   r   r�   r   rp   r   )r    r!   r"   r#   Ú__annotations__r„   r%   r   r&   r'   ry   ry   ¡   s*   ‡ àÓØƒKð Øð Ø)7ð à	÷ r&   ry   c                  ó   • \ rS rSrSS jrSrg)r@   é±   c                ó   • [        5       S e©N)r)   )rV   s    r'   Úon_broken_pipeÚPipConsole.on_broken_pipe²   s   € ô Ó TÐ)r&   r   N)rp   rq   )r    r!   r"   r#   r‹   r%   r   r&   r'   r@   r@   ±   s   † ÷*r&   r@   F©Ústderrc                ó`   • U (       a  [         c   S5       e[         $ [        c   S5       e[        $ )Nzstderr rich console is missing!zstdout rich console is missing!)Ú_stderr_consoleÚ_stdout_consoler�   s    r'   Úget_consoler’   ¸   s5   € ÞÜÑ*ÐMÐ,MÓMÐ*ÜÐäÑ*ÐMÐ,MÓMÐ*ÜÐr&   c                  óV   ^ • \ rS rSr% / rS\S'   SU 4S jjrS	S jrS	U 4S jjrSr	U =r
$ )
r8   éÁ   zClassVar[list[str] | None]ÚKEYWORDSc                ó8   >• [         TU ]  USSS[        5       S9  g )NF)r9   Ú	show_timeÚ
show_levelÚ	show_pathÚhighlighter)rT   rU   r   )rV   r9   rY   s     €r'   rU   ÚRichPipStreamHandler.__init__Ä   s'   ø€ Ü‰ÑØØØØÜ'Ó)ð 	ò 	
r&   c                ó|  • S n[        USS5      (       al  [        UR                  [        5      (       d   eUR                  u  n[        U[        [
        [        45      (       d
   U S35       e[        U[        5       S9nO~U R                  U5      nU R                  X5      nUR                  bO  UR                  [        R                  :¼  a
  [        SS9nO'UR                  [        R                  :¼  a	  [        SS9n U R                   R#                  USSUS	9  g ! [$         a    U R'                  U5         g f = f)
NÚrichFz is not rich-console-renderable)r|   Úred)ÚcolorÚyellowÚignore)ÚoverflowÚcropÚstyle)rN   r*   rW   Útupler   r   rr   ry   rH   rf   Úrender_messagera   r6   r_   r   r]   r9   ÚprintÚ	ExceptionÚhandleError)rV   rj   r¤   Úrich_renderabler{   Úmessages         r'   ÚemitÚRichPipStreamHandler.emitÎ   s"  € Ø"ˆô �6˜6 5×)Ñ)Ü˜fŸk™k¬5×1Ñ1Ð1Ð1Ø!'§¡Ñˆ_ÜØÔ"3´X¼sÐ!C÷ñ ð Cà!Ð"Ð"AÐBóCð ô *<Ø¬Ó(9ñ*‰Jð —k‘k &Ó)ˆGØ×,Ñ,¨VÓ=ˆJØ�~‰~Ñ)Ø—>‘>¤W§]¡]Ó2Ü!¨Ñ.‘EØ—^‘^¤w§¡Ó6Ü!¨Ñ1�Eð	%Ø�L‰L×Ñ˜z°HÀ5ÐPUÐÒVøÜó 	%Ø×Ñ˜VÖ$ð	%ús   Ä D ÄD;Ä:D;c                óô   >• [         R                  " 5       SS u  p#U(       aH  U(       aA  U R                  R                  [         R                  L a  [        X#5      (       a
  [        5       e[        TU ]!  U5      $ )z1Called when logging is unable to log some output.Né   )	r;   Úexc_infor9   r3   r<   r1   r   rT   r©   )rV   rj   r/   r0   rY   s       €r'   r©   Ú RichPipStreamHandler.handleErrorê   s[   ø€ ô Ÿš›¨¨Ð+‰ˆ	ö ÞØ—‘×!Ñ!¤S§Z¡ZÒ/Ü% i×5Ñ5ä*Ó,Ð,ä‰wÑ" 6Ó*Ð*r&   r   )r9   r   rp   rq   )rj   rt   rp   rq   )r    r!   r"   r#   r•   r†   rU   r¬   r©   r%   rv   rw   s   @r'   r8   r8   Á   s"   ø‡ Ø+-€HÐ(Ó-÷
ô%÷8+õ +r&   r8   c                  ó,   ^ • \ rS rSrSU 4S jjrSrU =r$ )ÚBetterRotatingFileHandleréý   c                ó„   >• [        [        R                  R                  U R                  5      5        [
        TU ]  5       $ rŠ   )r   ÚosÚpathÚdirnameÚbaseFilenamerT   Ú_open)rV   rY   s    €r'   rº   ÚBetterRotatingFileHandler._openþ   s*   ø€ Ü”2—7‘7—?‘? 4×#4Ñ#4Ó5Ô6Ü‰w‰}‹Ðr&   r   )rp   r   )r    r!   r"   r#   rº   r%   rv   rw   s   @r'   r³   r³   ý   s   ø† ÷õ r&   r³   c                  ó(   • \ rS rSrSS jrSS jrSrg)ÚMaxLevelFilteri  c                ó   • Xl         g rŠ   ©Úlevel)rV   rÀ   s     r'   rU   ÚMaxLevelFilter.__init__  s   € Ø�
r&   c                ó4   • UR                   U R                  :  $ rŠ   )ra   rÀ   )rV   rj   s     r'   ÚfilterÚMaxLevelFilter.filter  s   € Ø�~‰~ §
¡
Ñ*Ð*r&   r¿   N)rÀ   rs   rp   rq   ©rj   rt   rp   ro   )r    r!   r"   r#   rU   rÃ   r%   r   r&   r'   r½   r½     s   † ô÷+r&   r½   c                  ó0   ^ • \ rS rSrSrSU 4S jjrSrU =r$ )ÚExcludeLoggerFilteri  zI
A logging Filter that excludes records from a logger (or its children).
c                ó,   >• [         TU ]  U5      (       + $ rŠ   )rT   rÃ   )rV   rj   rY   s     €r'   rÃ   ÚExcludeLoggerFilter.filter  s   ø€ ô ‘7‘> &Ó)Ô)Ð)r&   r   rÅ   )r    r!   r"   r#   r$   rÃ   r%   rv   rw   s   @r'   rÇ   rÇ     s   ø† ñ÷*õ *r&   rÇ   c                ó|  • U S:¼  a  [         R                  nObU S:X  a  [        nOUU S:X  a  [         R                  nO>U S:X  a  [         R                  nO'U S::  a  [         R
                  nO[         R                  n[         R                  " U5      nUSLnU(       a  UnSnOSnUnUS	;   a  S
OSnSSS.n	/ SQU(       a  S/O/ -   n
USS.n[        5       (       a  SUS'   [        S-S[        R                  0UD6q[        S-S[        R                  0UD6n[         R                  R                  SSS[         R                  S.S[         R"                  S.S[         R"                  S.S.[$        SS.[$        SSS.S.UU	S   [        S S!/S"S#.S
U	S   US /S"S#.UU	S   US$/S"S#.SU	S   US%SS&S'.S(.UU
S).S*S+U00S,.5        U$ ).zfConfigures and sets up all of the logging

Returns the requested logging level, as its integer value.
r¯   é   éÿÿÿÿéþÿÿÿéýÿÿÿNÚDEBUGz	/dev/null)ÚINFOr_   r]   z0pip._internal.utils.logging.RichPipStreamHandlerz5pip._internal.utils.logging.BetterRotatingFileHandler)Ústreamr3   )r9   Úconsole_errorsÚconsole_subprocessÚuser_logT)r4   r5   FÚforce_interactiver3   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Ö   rf   )rÖ   rf   rR   )r|   Úindent_with_timestamprÑ   rÚ   rØ   r|   )rÀ   Úclassr9   ÚfiltersÚ	formatterrÙ   zutf-8rÛ   )rÀ   rÜ   ÚfilenameÚencodingÚdelayrÞ   )r9   rÒ   rÓ   rÔ   )rÀ   r7   zpip._vendorrÀ   )ÚversionÚdisable_existing_loggersrÝ   Ú
formattersr7   ÚrootÚloggersr   )r6   rÏ   r   r]   r_   ÚCRITICALrÐ   ÚgetLevelNamer   r@   r;   r<   r‘   rŽ   ÚconfigÚ
dictConfigÚsubprocess_loggerr×   rP   )Ú	verbosityr4   Úuser_log_fileÚlevel_numberrÀ   Úinclude_user_logÚadditional_log_fileÚ
root_levelÚvendored_log_levelÚhandler_classesr7   Úconsole_optionsr�   s                r'   Úsetup_loggingrõ     s<  € ð �Aƒ~Ü—}‘}‰Ø	�a‹Ü‰Ø	�b‹Ü—‘‰Ø	�b‹Ü—}‘}‰Ø	�b‹Ü×'Ñ'‰ä—|‘|ˆä× Ò  Ó.€Eð %¨DÐ0ÐÞØ+ÐØ‰
à)ÐØˆ
ð ',Ð/@Ó&@™ÀgÐð EØGñ€Oò CÞ(ˆ‰¨bñ€Hð 4<È$Ñ&O€OÜ‡�ð 05ˆÐ+Ñ,Ü ÑD¤c§j¡jÐD°OÑD€OÜ ÑD¤c§j¡jÐD°OÑD€Oä‡N�N×ÑàØ(-ð GÜ$Ÿ_™_ñ%ð
 +Ü-×2Ñ2ñ+ð
 LÜ-×2Ñ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	
ôDðL Ðr&   )r/   ztype[BaseException]r0   ÚBaseExceptionrp   ro   )rp   zGenerator[StringIO, None, None])r¯   )rK   rs   rp   zGenerator[None, None, None])rp   rs   )rŽ   ro   rp   r   )rì   rs   r4   ro   rí   z
str | Nonerp   rs   )FÚ
__future__r   Ú
contextlibr,   r6   Ú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   ÚlocalrI   r‘   r�   rë   r¨   r   r1   ÚcontextmanagerrF   rL   rH   Ú	FormatterrP   ry   r@   r’   r8   r7   ÚRotatingFileHandlerr³   r½   rÇ   rõ   r   r&   r'   Ú<module>r     sE  ðÝ "ã Û Û Û Û 	Û 
Û Ý %Ý !ß &Ý ß  ÷÷ õ 9Ý 0Ý ,Ý (ç 7Ý .Ý Bß MÑ Mà�_Š_Ó€
Ø€Ø€ÙÐ0Ó1Ð ô˜yô ô
Qð ×Ñó/ó ð/ð> ×Ñõ&ó ð&ô1ô0˜×*Ñ*ô 0ðf ÷ ð  ó ð ô*�ô *ð #(÷ ô9+˜;ô 9+ôx × 0Ñ 0× DÑ Dô ô+�Vô +ô*˜&ô *õ~r&   