<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
ž
7’Reï$  c               @   s¦   d  Z  d d l Z d d l Z d d l Z d d l m Z d d l m Z m Z d d „  Z	 e j
 e j f d d „ Z d	 d
 „  Z Gd d „  d e ƒ Z e ƒ  Z d S(   u   Logging
i    N(   u   backwardcompat(   u   coloramau   pkg_resourcesc                 s   ‡  f d d †  } | S(   Nc                s#   d j  t ˆ  ƒ |  t j j g ƒ S(   Nu    (   u   joinu   listu   coloramau   Styleu	   RESET_ALL(   u   inp(   u   colors(    u    /tmp/pip-zej_zi-build/pip/log.pyu   wrapped   s    u   _color_wrap.<locals>.wrapped(    (   u   colorsu   wrapped(    (   u   colorsu    /tmp/pip-zej_zi-build/pip/log.pyu   _color_wrap   s    u   _color_wrapc             C   sm   t  |  t j ƒ s |  n |  j } | | k r1 d St | d ƒ rP | j ƒ  rP d S| j d ƒ d k ri d Sd S(   Nu   isattyu   TERMu   ANSIFT(	   u
   isinstanceu   coloramau   AnsiToWin32u   wrappedu   Falseu   hasattru   isattyu   Trueu   get(   u   consumeru   environu   stdu   real_consumer(    (    u    /tmp/pip-zej_zi-build/pip/log.pyu   should_color   s    	u   should_colorc             C   s    d j  |  j d ƒ d  d … ƒ }  d j  | j d ƒ d  d … ƒ } | j d ƒ \ } } t t | ƒ d ƒ } d j  | | g ƒ } t j |  ƒ t j | ƒ k  S(   Nu   .i   i   (   u   joinu   splitu   stru   intu   pkg_resourcesu   parse_version(   u   current_versionu   removal_versionu   majoru   minoru   warn_version(    (    u    /tmp/pip-zej_zi-build/pip/log.pyu   should_warn&   s    ""u   should_warnc             B   s¶  |  Ee  Z d  Z d Z e j d Z e j Z e j Z e j e j d Z	 e j Z Z
 e j Z e j Z e e e e	 e e e g Z i e e j j ƒ e 6e e j j ƒ e 6e e j j ƒ e 6Z d d „  Z d d „  Z d d	 „  Z d
 d „  Z d d „  Z d d „  Z d d „  Z d d „  Z d d „  Z d d „  Z d d „  Z d d „  Z d d d „ Z  d+ d d  „ Z" d! d" „  Z# d# d$ „  Z$ d% d& „  Z% e& d' d( „  ƒ Z' d) d* „  Z( d+ S(,   u   Loggeru‰   
    Logging object for use in command-line script.  Allows ranges of
    levels, to avoid some redundancy of displayed information.
    i   i   c             C   s1   g  |  _  d |  _ d |  _ d  |  _ d |  _ d  S(   Ni    F(   u	   consumersu   indentu   Falseu   explicit_levelsu   Noneu   in_progressu   in_progress_hanging(   u   self(    (    u    /tmp/pip-zej_zi-build/pip/log.pyu   __init__L   s
    				u   Logger.__init__c             G   s‡   t  j j d ƒ rs xn | D]S \ } } t | d ƒ rV |  j j | t j | ƒ f ƒ q |  j j | | f ƒ q Wn |  j j | ƒ d  S(   Nu   winu   write(	   u   sysu   platformu
   startswithu   hasattru	   consumersu   appendu   coloramau   AnsiToWin32u   extend(   u   selfu	   consumersu   levelu   consumer(    (    u    /tmp/pip-zej_zi-build/pip/log.pyu   add_consumersS   s    	u   Logger.add_consumersc             O   s   |  j  |  j | | | Ž d  S(   N(   u   logu   DEBUG(   u   selfu   msgu   argsu   kw(    (    u    /tmp/pip-zej_zi-build/pip/log.pyu   debug_   s    u   Logger.debugc             O   s   |  j  |  j | | | Ž d  S(   N(   u   logu   INFO(   u   selfu   msgu   argsu   kw(    (    u    /tmp/pip-zej_zi-build/pip/log.pyu   infob   s    u   Logger.infoc             O   s   |  j  |  j | | | Ž d  S(   N(   u   logu   NOTIFY(   u   selfu   msgu   argsu   kw(    (    u    /tmp/pip-zej_zi-build/pip/log.pyu   notifye   s    u   Logger.notifyc             O   s   |  j  |  j | | | Ž d  S(   N(   u   logu   WARN(   u   selfu   msgu   argsu   kw(    (    u    /tmp/pip-zej_zi-build/pip/log.pyu   warnh   s    u   Logger.warnc             O   s   |  j  |  j | | | Ž d  S(   N(   u   logu   ERROR(   u   selfu   msgu   argsu   kw(    (    u    /tmp/pip-zej_zi-build/pip/log.pyu   errork   s    u   Logger.errorc             O   s   |  j  |  j | | | Ž d  S(   N(   u   logu   FATAL(   u   selfu   msgu   argsu   kw(    (    u    /tmp/pip-zej_zi-build/pip/log.pyu   fataln   s    u   Logger.fatalc             O   sL   d d l  m } t | | ƒ r5 |  j | | | Ž n |  j | | | Ž d S(   u…  
        Logs deprecation message which is log level WARN if the
        ``removal_version`` is > 1 minor release away and log level ERROR
        otherwise.

        removal_version should be the version that the deprecated feature is
        expected to be removed in, so something that will not exist in
        version 1.7, but will in 1.6 would have a removal_version of 1.7.
        i    (   u   __version__N(   u   pipu   __version__u   should_warnu   warnu   error(   u   selfu   removal_versionu   msgu   argsu   kwargsu   __version__(    (    u    /tmp/pip-zej_zi-build/pip/log.pyu
   deprecatedq   s    
u   Logger.deprecatedc       
      O   sx  | r | r t  d ƒ ‚ q n  | p' | } | r= | | } n | } d |  j | } |  j rp d | | f } n  x|  j D]ö \ } } |  j | | ƒ rz |  j râ | t j t j f k râ d	 |  _ t j j
 d ƒ t j j ƒ  n  t | d ƒ rc| d } t | t j ƒ r7|  j j | d d „  ƒ }	 |	 | ƒ } n  | j
 | ƒ t | d ƒ rm| j ƒ  qmqp| | ƒ qz qz Wd  S(
   Nu6   You may give positional or keyword arguments, not bothu    u   %02i %su   
u   writec             S   s   |  S(   N(    (   u   x(    (    u    /tmp/pip-zej_zi-build/pip/log.pyu   <lambda>Ÿ   s    u   Logger.log.<locals>.<lambda>u   flushF(   u	   TypeErroru   indentu   explicit_levelsu	   consumersu   level_matchesu   in_progress_hangingu   sysu   stdoutu   stderru   Falseu   writeu   flushu   hasattru   should_coloru   osu   environu   COLORSu   get(
   u   selfu   levelu   msgu   argsu   kwu   renderedu   consumer_levelu   consumeru   write_contentu	   colorizer(    (    u    /tmp/pip-zej_zi-build/pip/log.pyu   log‚   s6    			
u
   Logger.logc             C   s   |  j  |  j ƒ o t j j ƒ  S(   u$   Should we display download progress?(   u   stdout_level_matchesu   NOTIFYu   sysu   stdoutu   isatty(   u   self(    (    u    /tmp/pip-zej_zi-build/pip/log.pyu   _show_progress¨   s    u   Logger._show_progressc             C   s‚   |  j  s# t d | |  j  f ƒ ‚ |  j ƒ  rc t j j d |  j | ƒ t j j ƒ  d |  _	 n	 d |  _	 | |  _  d  |  _ d  S(   Nu0   Tried to start_progress(%r) while in_progress %ru    TF(   u   in_progressu   AssertionErroru   _show_progressu   sysu   stdoutu   writeu   indentu   flushu   Trueu   in_progress_hangingu   Falseu   Noneu   last_message(   u   selfu   msg(    (    u    /tmp/pip-zej_zi-build/pip/log.pyu   start_progress¬   s    		u   Logger.start_progressu   done.c             C   s­   |  j  s t d ƒ ‚ |  j ƒ  r— |  j sY t j j d |  j  | d ƒ t j j ƒ  q— t j	 d ƒ t j	 d ƒ t j j | d ƒ t j j ƒ  n  d  |  _  d |  _ d  S(   Nu,   Tried to end_progress without start_progressu   ...u   
u    F(   u   in_progressu   AssertionErroru   _show_progressu   in_progress_hangingu   sysu   stdoutu   writeu   flushu   loggeru   show_progressu   Noneu   False(   u   selfu   msg(    (    u    /tmp/pip-zej_zi-build/pip/log.pyu   end_progress¹   s    			u   Logger.end_progressc             C   s´   |  j  r° | d k r5 t j j d ƒ t j j ƒ  q° |  j rg d t d t |  j ƒ t | ƒ ƒ } n d } t j j d d |  j	 |  j
 | | f ƒ t j j ƒ  | |  _ n  d S(   ua   If we are in a progress scope, and no log messages have been
        shown, write out another '.'u   .u    i    u    u	   %s%s%s%sN(   u   in_progress_hangingu   Noneu   sysu   stdoutu   writeu   flushu   last_messageu   maxu   lenu   indentu   in_progress(   u   selfu   messageu   padding(    (    u    /tmp/pip-zej_zi-build/pip/log.pyu   show_progressÊ   s    		)u   Logger.show_progressc             C   s   |  j  | |  j ƒ  ƒ S(   u9   Returns true if a message at this level will go to stdout(   u   level_matchesu   _stdout_level(   u   selfu   level(    (    u    /tmp/pip-zej_zi-build/pip/log.pyu   stdout_level_matchesÛ   s    u   Logger.stdout_level_matchesc             C   s4   x* |  j  D] \ } } | t j k r
 | Sq
 W|  j S(   u%   Returns the level that stdout runs at(   u	   consumersu   sysu   stdoutu   FATAL(   u   selfu   levelu   consumer(    (    u    /tmp/pip-zej_zi-build/pip/log.pyu   _stdout_levelß   s    u   Logger._stdout_levelc             C   sl   t  | t ƒ r^ | j | j } } | d k	 r> | | k r> d S| d k	 sV | | k rZ d Sd S| | k Sd S(   um  
        >>> l = Logger()
        >>> l.level_matches(3, 4)
        False
        >>> l.level_matches(3, 2)
        True
        >>> l.level_matches(slice(None, 3), 3)
        False
        >>> l.level_matches(slice(None, 3), 2)
        True
        >>> l.level_matches(slice(1, 3), 1)
        True
        >>> l.level_matches(slice(2, 3), 1)
        False
        NFT(   u
   isinstanceu   sliceu   startu   stopu   Noneu   Falseu   True(   u   selfu   levelu   consumer_levelu   startu   stop(    (    u    /tmp/pip-zej_zi-build/pip/log.pyu   level_matchesæ   s    u   Logger.level_matchesc             C   s?   |  j  } | d k  r | d S| t | ƒ k r7 | d S| | S(   Ni    i   iÿÿÿÿ(   u   LEVELSu   len(   u   clsu   levelu   levels(    (    u    /tmp/pip-zej_zi-build/pip/log.pyu   level_for_integer   s    	u   Logger.level_for_integerc             C   s–   g  } g  } xR |  j  D]G \ } } | t j k r | j | | f ƒ | j | t j f ƒ q q Wx | D] } |  j  j | ƒ qh W|  j  j | ƒ d  S(   N(   u	   consumersu   sysu   stdoutu   appendu   stderru   removeu   extend(   u   selfu	   to_removeu   to_addu   consumer_levelu   consumeru   item(    (    u    /tmp/pip-zej_zi-build/pip/log.pyu   move_stdout_to_stderr	  s    u   Logger.move_stdout_to_stderrN()   u   __name__u
   __module__u   __qualname__u   __doc__u   loggingu   DEBUGu   VERBOSE_DEBUGu   INFOu   WARNu   NOTIFYu   WARNINGu   ERRORu   FATALu   LEVELSu   _color_wrapu   coloramau   Foreu   YELLOWu   REDu   COLORSu   __init__u   add_consumersu   debugu   infou   notifyu   warnu   erroru   fatalu
   deprecatedu   logu   _show_progressu   start_progressu   end_progressu   Noneu   show_progressu   stdout_level_matchesu   _stdout_levelu   level_matchesu   classmethodu   level_for_integeru   move_stdout_to_stderr(   u
   __locals__(    (    u    /tmp/pip-zej_zi-build/pip/log.pyu   Logger7   s@   				&	u   Logger(   u   __doc__u   sysu   osu   loggingu   pipu   backwardcompatu   pip._vendoru   coloramau   pkg_resourcesu   _color_wrapu   stdoutu   stderru   should_coloru   should_warnu   objectu   Loggeru   logger(    (    (    u    /tmp/pip-zej_zi-build/pip/log.pyu   <module>   s   Ý