� ��^i -���ddlZddlZddlZddlZddlZddlZddlmZddlmZm Z m Z m Z m Z m Z mZmZddlmZmZddlmZddlmZddlmZ ddlZn#e$rddlZYnwxYw ddlmZn #e$rdZYnwxYwej��Z ed ��Z!Gd �d e��Z"d ee#d e#de$fd�Z%ej&d$de'de dfd���Z(de'fd�Z)Gd�dej*��Z+de,de e,ge,ffd�Z-Gd�dej.��Z/Gd�dej0j1��Z2Gd�de��Z3Gd�de��Z4d e'd!e$d"e e,de'fd#�Z5dS)%�N)�Filter)�IO�Any�Callable�Iterator�Optional�TextIO�Type�cast)�VERBOSE� getLogger)�WINDOWS)�DEPRECATION_MSG_PREFIX)� ensure_dir)�coloramazpip.subprocessorc��eZdZdZdS)�BrokenStdoutLoggingErrorzO Raised if BrokenPipeError occurs for the stdout stream while logging. N)�__name__� __module__� __qualname__�__doc__����/builddir/build/BUILDROOT/alt-python311-pip-21.3.1-4.el8.x86_64/opt/alt/python311/lib/python3.11/site-packages/pip/_internal/utils/logging.pyrr!s���������rr� exc_class�exc�returnc��|turdStsdSt|t��o|jtjtjfvS)NTF)�BrokenPipeErrorr� isinstance�OSError�errno�EINVAL�EPIPE)rrs r�_is_broken_pipe_errorr%'sF���O�#�#��t� ���u� �c�7� #� #� P�� �e�l�E�K�5P�(P�Pr��numc#��K�t��t_txj|z c_ dV�txj|zc_dS#txj|zc_wxYw)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)r's r� indent_logr,4sr����-�.�.�J�����c�!���&� �������#�%������ ���#�%������s �A � A#c�.�ttdd��S)Nr+r)�getattrr*rrrr)r)Cs�� �:�}�a� 0� 0�0rc �l��eZdZdZdd�dedededdf�fd �Zd ed edefd �Z d e j def�fd� Z �xZ S)�IndentingFormatterz%Y-%m-%dT%H:%M:%SF)� add_timestamp�argsr1�kwargsrNc�H��||_t��j|i|��dS)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)r1�super�__init__)�selfr1r2r3� __class__s �rr6zIndentingFormatter.__init__Js/���+��������$�)�&�)�)�)�)�)r� formatted�levelnoc��|tjkrdS|�t��rdS|tjkrdSdS)zv Return the start of the formatted log message (not counting the prefix to add to each line). �z WARNING: zERROR: )�logging�WARNING� startswithr�ERROR)r7r9r:s r�get_message_startz$IndentingFormatter.get_message_startYsK�� �W�_� $� $��2� � � � 6� 7� 7� ��2� �W�]� "� "��;��yr�recordc�^���t���|��}|�||j��}||z}d�|jr|�|���d���dt ��zz �d��fd�|�d��D����}|S)z� Calls the standard formatter, but will indent all of the log message lines by our current indentation level. r<� c���g|]}�|z��Srr)�.0�line�prefixs �r� z-IndentingFormatter.format..vs���R�R�R�t�V�d�]�R�R�RrT) r5�formatrAr:r1� formatTimer)�join� splitlines)r7rBr9� message_startrHr8s @�rrJzIndentingFormatter.formatis����� �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)rrr�default_time_formatr�boolr6�str�intrAr=� LogRecordrJ� __classcell__�r8s@rr0r0Gs��������-�� $� *� *� *�� *�� *�� *� � *� *� *� *� *� *��3��������� �W�.��3����������rr0�colorsc�0��dtdtf�fd� }|S)N�inprc�p��d�t���|tjjgz��S)Nr<)rL�listr�Style� RESET_ALL)rXrVs �r�wrappedz_color_wrap..wrapped{s*����w�w�t�F�|�|�s�H�N�,D�&E�E�F�F�Fr)rQ)rVr]s` r� _color_wrapr^zs>���G�S�G�S�G�G�G�G�G�G� �Nrc���eZdZer9ejeejj��fej eejj ��fgZ ngZ d de e deddf�fd� Zdefd�Zdefd�Zdejdef�fd � Zdejddf�fd � Z�xZS) �ColorizedStreamHandlerN�stream�no_colorrc���t���|��||_tr'tr"t j|j��|_dSdSdS�N)r5r6� _no_colorrr� AnsiToWin32ra)r7rarbr8s �rr6zColorizedStreamHandler.__init__�s]��� ������ � � �!��� � <�x� <�"�.�t�{�;�;�D�K�K�K� <� <� <� �S�Z�/� /��{�c�j�(�(rc� �tr|jrdSt|jtj��s|jn |jj}t |d��r|���rdStj � d��dkrdSdS)NF�isattyT�TERM�ANSI) rrer rarfr]�hasattrrl�os�environ�get)r7� real_streams r� should_colorz#ColorizedStreamHandler.should_color�s���� �4�>� ��5��d�k�8�+?�@�@� %�D�K�K���$� � �;�� )� )� �k�.@�.@�.B�.B� ��4� �:�>�>�&� !� !�V� +� +��4��urrBc���t���|��}|���r%|jD]\}}|j|kr ||��}n�|Srd)r5rJrt�COLORSr:)r7rB�msg�level�colorr8s �rrJzColorizedStreamHandler.format�sl����g�g�n�n�V�$�$�� � � � � � � $� � � � ��u��>�U�*�*��%��*�*�C��E�+�� rc����tj��dd�\}}|r4|r2|���rt||��rt ���t ���|��S)Nr&)rh�exc_inforjr%rr5� handleError)r7rBrrr8s �rr|z"ColorizedStreamHandler.handleError�s}����������+�� �3� � -�� -��"�"�$�$� -�&�i��5�5�  -� +�,�,� ,��w�w�"�"�6�*�*�*r)NN)rrrrr=r@r^�Fore�REDr>�YELLOWrvrr rPr6rjrtrSrQrJr|rTrUs@rr`r`�s?����������]�K�K�� �(9�:�:� ;� �_�k�k�(�-�*>�?�?� @� ��� ��<�<�x��/�<�$�<�RV�<�<�<�<�<�<� )�t� )� )� )� )��d�����, �W�.� �3� � � � � � �+�'�"3�+��+�+�+�+�+�+�+�+�+�+rr`c�0��eZdZdeef�fd� Z�xZS)�BetterRotatingFileHandlerrc���ttj�|j����t �����Srd)rrp�path�dirname� baseFilenamer5�_open)r7r8s �rr�zBetterRotatingFileHandler._open�s4����2�7�?�?�4�#4�5�5�6�6�6��w�w�}�}���r)rrrrrr�rTrUs@rr�r��sH��������r�#�w����������rr�c�8�eZdZdeddfd�Zdejdefd�ZdS)�MaxLevelFilterrxrNc��||_dSrd)rx)r7rxs rr6zMaxLevelFilter.__init__�s ���� � � rrBc�"�|j|jkSrd)r:rx)r7rBs r�filterzMaxLevelFilter.filter�s���~�� �*�*r) rrrrRr6r=rSrPr�rrrr�r��s[�������c��d�����+�W�.�+�4�+�+�+�+�+�+rr�c�6��eZdZdZdejdef�fd� Z�xZS)�ExcludeLoggerFilterzQ A logging Filter that excludes records from a logger (or its children). rBrc�H��t���|�� Srd)r5r�)r7rBr8s �rr�zExcludeLoggerFilter.filter�s����7�7�>�>�&�)�)�)�)r) rrrrr=rSrPr�rTrUs@rr�r��sX���������*�W�.�*�4�*�*�*�*�*�*�*�*�*�*rr�� verbosityrb� user_log_filec���|dkr tj}nS|dkrt}nE|dkr tj}n2|dkr tj}n|dkr tj}n tj}tj|��}|du}|r|}d}nd}|}|d vrd nd}d d d �} ddd�} gd�|rdgngz} tj� dddtjd�dtj d�dtj d�d�tdd�tddd�d�|| d|| d d!d"gd#d$�d | d|| d%d!gd#d$�|| d|| d%d&gd#d$�d| d'|d(dd)d*�d+�|| d,�d-d.|iid/���|S)0znConfigures and sets up all of the logging Returns the requested logging level, as its integer value. r&����������������N�DEBUGz /dev/null)�INFOr@r>zext://sys.stdoutzext://sys.stderr)ri�stderrz2pip._internal.utils.logging.ColorizedStreamHandlerz5pip._internal.utils.logging.BetterRotatingFileHandler)ra�file)�console�console_errors�console_subprocess�user_logFz*pip._internal.utils.logging.MaxLevelFilter)�()rxzlogging.Filter)r��namez/pip._internal.utils.logging.ExcludeLoggerFilter)�exclude_warnings�restrict_to_subprocess�exclude_subprocessz %(message)s)r�rJT)r�rJr1)�indent�indent_with_timestamprarir�r�r�)rx�classrbra�filters� formatterr�r�r�zutf-8r�)rxr��filename�encoding�delayr�)r�r�r�r�)rx�handlersz pip._vendorrx)�version�disable_existing_loggersr�� formattersr��root�loggers) r=r�r r>r@�CRITICALr�� getLevelName�config� dictConfig�subprocess_loggerr�r0) r�rbr�� level_numberrx�include_user_log�additional_log_file� root_level�vendored_log_level� log_streams�handler_classesr�s r� setup_loggingr��s����A�~�~��}� � � �a���� � � �b����� � � �b����}� � � �b����'� � ��|� � � �� .� .�E�%�D�0����+��� � �)��� �',�/@�&@�&@���g��%�$���K� G�G���O�C�B�B�(�0�� � �b��H� �N����(-�G�$�_�%�%� +�-�2�+�+� L�-�2�'�'� � � -�+��� -�+�%)�*�*� � �#�,�X�6� (�)�(�3� 4�6H�I�!)� ��'�,�X�6� (�)�(�3� 4�5�!)� #�#�#�,�X�6� (�)�(�3� 8�9�!)� '�'�%�,�V�4� 3� '�!�!8� ��7#�#�J$�$���&��1C�'D�E�IE �E �G�G�G�R �r)r&)6� contextlibr"r=�logging.handlersrprhr�typingrrrrrr r r �pip._internal.utils._logr r �pip._internal.utils.compatr�pip._internal.utils.deprecationr�pip._internal.utils.miscr� threading� ImportError�dummy_threading� pip._vendorr� Exception�localr*r�r� BaseExceptionrPr%�contextmanagerrRr,r)� Formatterr0rQr^� StreamHandlerr`r��RotatingFileHandlerr�r�r�r�rrr�r�s������� � � � ��������� � � � � � � � �������L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�L�7�7�7�7�7�7�7�7�.�.�.�.�.�.�B�B�B�B�B�B�/�/�/�/�/�/�(��������(�(�(�'�'�'�'�'�'�(�����$�$�$�$�$�$�$�������H�H�H������Y�_� � � ��I�0�1�1�������y���� Q�T�-�%8� Q�}� Q�QU� Q� Q� Q� Q� �� &� &�C� &���� &� &� &��� &�1��1�1�1�1�0�0�0�0�0��*�0�0�0�f����3�%��*�!5�����N+�N+�N+�N+�N+�W�2�N+�N+�N+�b������ 0� D���� +�+�+�+�+�V�+�+�+� *� *� *� *� *�&� *� *� *�z�S�z�D�z��#��z�SV�z�z�z�z�z�zs$�A� A�A�#A*�*A4�3A4