
    жvgk                     &   d 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	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mZ ddlmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z' ddl(m)Z)m*Z* ddl+m,Z, dd	l-m.Z. dd
l/m0Z0 ddl1m2Z2 ddl3m4Z4 ddl5m6Z6m7Z7m8Z8 ddl9m:Z:m;Z; ddl<m=Z=m>Z> ddl?m@Z@mAZA ddlBmCZCmDZDmEZEmFZF ddlGmHZHmIZImJZJmKZK ddlLmMZM er G d de"          ZN ejO        eP          ZQ e deR          ZSe%eSeRe&eTeRf         f         ZUdKdeRdeTde%eReRf         fdZVdeRdeeRef         fdZWdeRdeXfdZYdedeXfd ZZd!e6de%eeReRf         eeReRf         f         fd"Z[d#e#eR         de!eR         fd$Z\d%eeU         dee%eReReRf                  fd&Z]d'eSd(eRdeRfd)Z^deRd(eRdeSfd*Z_d+eeeR                  d,eeSeSf         d-e$eS         d.eeR         d(eRdeeU         fd/Z`d0eeReRf         deeR         fd1Za G d2 d3          Zb G d4 d5          Zc G d6 d7e2          Zdd8eRddfd9Ze G d: d;e,          Zf	 	 	 	 dLd>eRd?e)d@eRdAe>dBeXdCeXdDe!e;         dEeXddfdFZgejh        dGeRdedH         fdI            Zi	 	 	 	 dLd>eRd@eRdAe>dGeRdBeXdCeXdDe!e;         dEeXddfdJZjdS )MzGSupport for installing and building the "wheel" binary package format.
    N)urlsafe_b64encode)Message)chainfilterfalsestarmap)IOTYPE_CHECKINGAnyBinaryIOCallableDict	GeneratorIterableIteratorListNewTypeOptionalProtocolSequenceSetTupleUnioncast)ZipFileZipInfo)ScriptMaker)get_export_entry)canonicalize_name)InstallationError)get_major_minor_version)BaseDistributionFilesystemWheelget_wheel_distribution)DIRECT_URL_METADATA_NAME	DirectUrl)SCHEME_KEYSScheme)adjacent_tmp_filereplace)StreamWrapper
ensure_dir	hash_file	partition)current_umaskis_within_directory2set_extracted_file_to_default_mode_plus_executablezip_item_is_executable)parse_wheelc                   6    e Zd ZU ded<   eed<   eed<   ddZdS )	File
RecordPathsrc_record_path	dest_pathchangedreturnNc                     d S N selfs    c/var/www/pixelcanvas.ch/venv/lib/python3.11/site-packages/pip/_internal/operations/install/wheel.pysavez	File.saveF   s    D    r9   N)__name__
__module____qualname____annotations__strboolr@   r<   rA   r?   r4   r4   A   sH         %%%%	 	 	 	 	 	rA   r4   r5      path	blocksizer9   c                     t          | |          \  }}dt          |                                                              d                              d          z   }|t          |          fS )z?Return (encoded_digest, length) for path using hashlib.sha256()zsha256=latin1=)r,   r   digestdecoderstriprG   )rJ   rK   hlengthrO   s        r?   rehashrT   P   s]    $	**IAv*188::66==hGGNNsSSSFCKK  rA   modec                     | dddS )zPReturn keyword arguments to properly open a CSV file
    in the given mode.
     utf-8)rU   newlineencodingr<   )rU   s    r?   csv_io_kwargsr[   W   s     RW===rA   c                 |   t           j                            |           sJ t          | d          5 }|                                }|                    d          s	 ddd           dS t          j                            t          j	                              }d|z   t           j
                            d          z   }|                                }ddd           n# 1 swxY w Y   t          | d          5 }|                    |           |                    |           ddd           n# 1 swxY w Y   dS )	zQReplace #!python with #!/path/to/python
    Return True if file was changed.
    rbs   #!pythonNFs   #!asciiwbT)osrJ   isfileopenreadline
startswithsys
executableencodegetfilesystemencodinglinesepreadwrite)rJ   script	firstlineexenamerests        r?   
fix_scriptrp   ^   s   
 7>>$	dD		 VOO%%	##K00 	        .''(A(C(CDDGObj&7&7&@&@@	{{}}               
dD		 VYT               4s*   +C*A)CC#&C#:+D11D58D5metadatac                 Z    |                      dd                                          dk    S )NzRoot-Is-PurelibrW   true)getlower)rq   s    r?   wheel_root_is_purelibrv   r   s(    <<)2..4466&@@rA   distc                     i }i }|                                  D ]7}|j        dk    r|j        ||j        <   |j        dk    r|j        ||j        <   8||fS )Nconsole_scriptsgui_scripts)iter_entry_pointsgroupvaluename)rw   ry   rz   entry_points       r?   get_entrypointsr   v   ss    OK--// > > 1110;0AOK,---//,7,=K()K''rA   scriptsc           	         | sdS t          j        t                    }| D ][}t          j                            |          }t          j                            |          }||                             |           \d t          j        	                    dd          
                    t          j                  D                                 t          j                            t          j                            t          j                            t          j                                                 fd|                                D             }|sdS g }|                                D ]\  }}t%          |          }t'          |          dk    rd|d          d	}	n<d
                    d                    |dd                   dz   |d         z             }	|                    d|	 d| d           d}
t'          |          dk    r)|                    |
                    d                     n(|                    |
                    d                     t-          d t          j        	                    dd          
                    t          j                  D                       }|rd}|                    |           d                    |          S )zDetermine if any scripts are not on PATH and format a warning.
    Returns a warning message if one or more scripts are not on PATH,
    otherwise None.
    Nc                     g | ][}t           j                            t           j                            |                                        t           j                  \S r<   )r`   rJ   normcasenormpathrQ   sep.0is     r?   
<listcomp>z5message_about_scripts_not_on_PATH.<locals>.<listcomp>   sX        	))!,,--44RV<<  rA   PATHrW   c                     i | ]F\  }}t           j                            t           j                            |                    vC||GS r<   )r`   rJ   r   r   )r   
parent_dirr   not_warn_dirss      r?   
<dictcomp>z5message_about_scripts_not_on_PATH.<locals>.<dictcomp>   sT     % % %J7BG,,Z8899NN 	GNNNrA      zscript r   z iszscripts {} are, z and zThe z installed in 'z' which is not on PATH.zeConsider adding {} to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.zthis directoryzthese directoriesc              3   2   K   | ]}||d          dk    V  dS )r   ~Nr<   r   s     r?   	<genexpr>z4message_about_scripts_not_on_PATH.<locals>.<genexpr>   sC        Q	!     rA   ziNOTE: The current PATH contains path(s) starting with `~`, which may not be expanded by all applications.
)collectionsdefaultdictsetr`   rJ   dirnamebasenameaddenvironrt   splitpathsepappendr   r   re   rf   itemssortedlenformatjoinany)r   grouped_by_dirdestfiler   script_namewarn_for	msg_linesdir_scriptssorted_scripts
start_textlast_line_fmtwarn_for_tildetilde_warning_msgr   s                @r?   !message_about_scripts_not_on_PATHr      s   
  t +6*A#*F*FN 4 4W__X..
g&&x00z"&&{3333 ++11"*==  M 
))"'//#.*I*IJJKK  % % % %#1#7#7#9#9% % %H
  t I#+>>#3#3 
 

K$*;$7$7~!##9>!#4999JJ)00		."-..8>";MM J 	Q:QQjQQQ	
 	
 	
 	

	C  9~~--.>??@@@@--.ABBCCC   Z^^FB77==bjII    N  ,= 	 	*+++ 99YrA   outrowsc                 4    t          d | D                       S )a  Normalize the given rows of a RECORD file.

    Items in each row are converted into str. Rows are then sorted to make
    the value more predictable for tests.

    Each row is a 3-tuple (path, hash, size) and corresponds to a record of
    a RECORD file (see PEP 376 and PEP 427 for details).  For the rows
    passed to this function, the size can be an integer as an int or string,
    or the empty string.
    c              3   B   K   | ]\  }}}||t          |          fV  d S r;   )rG   )r   record_pathhash_sizes       r?   r   z&_normalized_outrows.<locals>.<genexpr>   sF        ,DKeSYY'     rA   )r   )r   s    r?   _normalized_outrowsr      s2    *   HO     rA   r   lib_dirc                 B    t           j                            ||           S r;   )r`   rJ   r   )r   r   s     r?   _record_to_fs_pathr      s    7<<---rA   c                    t           j                            |           d                                         t           j                            |          d                                         k    r t           j                            | |          } |                     t           j        j        d          } t          d|           S )Nr   /r5   )r`   rJ   
splitdriveru   relpathr)   r   r   )rJ   r   s     r?   _fs_to_record_pathr      s     
w$"((**bg.@.@.I.I!.L.R.R.T.TTTwtW--<<S))Dd###rA   old_csv_rows	installedr8   	generatedc                 r   g }| D ]}t          |          dk    rt                              d|           t          d|d                   }|                    ||          }||v r!t          t          ||                    \  }	}
n:t          |          dk    r|d         nd}	t          |          dk    r|d         nd}
|                    ||	|
f           |D ]<}t          ||          }t          |          \  }	}
|                    ||	|
f           =|d |	                                D             z   S )	z_
    :param installed: A map from archive RECORD path to installation RECORD
        path.
       z,RECORD line has more than three elements: %sr5   r   r   rW      c                     g | ]}|d d fS )rW   r<   )r   installed_record_paths     r?   r   z.get_csv_rows_for_installed.<locals>.<listcomp>  s-       ,A	B'  rA   )
r   loggerwarningr   poprT   r   r   r   values)r   r   r8   r   r   installed_rowsrowold_record_pathnew_record_pathrO   rS   frJ   s                r?   get_csv_rows_for_installedr      sa    -/N 
A 
As88a<<NNI3OOO|SV44#--IIg%%#$6$P$PQQNFFF"3xx!||SVVF"3xx!||SVVF?@@@@ 6 6!!W--tVV45555  ENEUEUEWEW    rA   consolec                 (   |                                  } g }|                     dd          }|rdt          j        vr|                    d|z              t          j                            dd          dk    r+|                    dt          j        d          d|            |                    dt                       d|            d	 | D             }|D ]}| |= |                     d
d          }|radt          j        vr|                    d|z              |                    dt                       d|            d | D             }|D ]}| |= |	                    t          dj        |                                                      |S )zk
    Given the mapping from entrypoint name to callable, return the relevant
    console script specs.
    pipNENSUREPIP_OPTIONSzpip = rW   
altinstallr   z = c                 <    g | ]}t          j        d |          |S )zpip(\d+(\.\d+)?)?$rematchr   ks     r?   r   z,get_console_script_specs.<locals>.<listcomp>D  s*    KKK1F(J(JK!KKKrA   easy_installzeasy_install = zeasy_install-c                 <    g | ]}t          j        d |          |S )zeasy_install(-\d+\.\d+)?$r   r   s     r?   r   z,get_console_script_specs.<locals>.<listcomp>P  s:     
 
 
"(+G"K"K

 
 
rA   {} = {})copyr   r`   r   r   rt   re   version_infor    extendr   r   r   )r   scripts_to_generate
pip_scriptpip_epr   easy_install_scripteasy_install_eps          r?   get_console_script_specsr     s    llnnGB UD))J bj00&&x*'<===:>>-r22lBB&&'QS-=a-@'Q'QZ'Q'QRRR""#S)@)B)B#S#Sz#S#STTTKKWKKK 	 	A

!++nd;; bj00&&'8;N'NOOO""O355OO:MOO	
 	
 	

 

 
 
 ! 	 	A

 wy'7IIJJJrA   c                   :    e Zd ZdedededdfdZdefdZd	dZ	dS )
ZipBackedFiler6   r7   zip_filer9   Nc                 >    || _         || _        || _        d| _        d S NF)r6   r7   	_zip_filer8   )r>   r6   r7   r   s       r?   __init__zZipBackedFile.__init__]  s%      /"!rA   c                 @    | j                             | j                  S r;   )r   getinfor6   r=   s    r?   _getinfozZipBackedFile._getinfoe  s    ~%%d&:;;;rA   c                    t           j                            | j                  rt          j        | j                   |                                 }t          | j        d          5 }|j        dk    r]| j                            |          5 }t          |j        d          }t          j        |||           d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t          |          rt          | j                   d S d S )Nr_   r   rI   )r`   rJ   existsr7   unlinkr   rb   	file_sizer   minshutilcopyfileobjr1   r0   )r>   zipinfodestr   rK   s        r?   r@   zZipBackedFile.saveh  ss    7>>$.)) 	&Idn%%%--// $.$'' 	;4 1$$^((11 ;Q #G$5{ C CI&q$	:::; ; ; ; ; ; ; ; ; ; ; ; ; ; ;	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; "'** 	O>t~NNNNN	O 	Os6   '&C,C9CC			CC		CC #C rB   )
rC   rD   rE   r5   rG   r   r   r   r   r@   r<   rA   r?   r   r   \  s}        )69EL	   <' < < < <O O O O O OrA   r   c                       e Zd ZddZddZdS )	
ScriptFilefiler4   r9   Nc                 f    || _         | j         j        | _        | j         j        | _        d| _        d S r   )_filer6   r7   r8   )r>   r   s     r?   r   zScriptFile.__init__  s-    
#z9-rA   c                 j    | j                                          t          | j                  | _        d S r;   )r  r@   rp   r7   r8   r=   s    r?   r@   zScriptFile.save  s)    
!$.11rA   )r   r4   r9   NrB   )rC   rD   rE   r   r@   r<   rA   r?   r   r     s<           2 2 2 2 2 2rA   r   c                   (     e Zd Zdeddf fdZ xZS )MissingCallableSuffixr   r9   Nc                 R    t                                          d| d           d S )NzInvalid script entry point: z - A callable suffix is required. Cf https://packaging.python.org/specifications/entry-points/#use-for-scripts for more information.)superr   )r>   r   	__class__s     r?   r   zMissingCallableSuffix.__init__  s?    ;   	
 	
 	
 	
 	
rA   )rC   rD   rE   rG   r   __classcell__r  s   @r?   r  r    sK        
C 
D 
 
 
 
 
 
 
 
 
 
rA   r  specificationc                 r    t          |           }|#|j        t          t          |                    d S d S r;   )r   suffixr  rG   )r  entrys     r?   _raise_for_invalid_entrypointr    s>    ]++EU\1#CJJ/// 11rA   c                   X     e Zd Z	 ddedeeeef                  dee         f fdZ xZ	S )PipScriptMakerNr  optionsr9   c                 f    t          |           t                                          ||          S r;   )r  r  make)r>   r  r  r  s      r?   r  zPipScriptMaker.make  s+     	&m444ww||M7333rA   r;   )
rC   rD   rE   rG   r   r   r
   r   r  r	  r
  s   @r?   r  r    sn        FJ4 4 4+3DcN+C4	c4 4 4 4 4 4 4 4 4 4rA   r  TFr~   	wheel_zip
wheel_pathscheme	pycompilewarn_script_location
direct_url	requestedc           
        :;<=>?@ t          ||           \  }}	t          |	          r|j        @n|j        @i ?t	                      ;g }
	 d-dt
          dt          dt          ddf;?@fd}dt
          dt          fd	}d
t          dt          ddffd:dt          dt          dt          t
          gdf         f:fd}dt          dt          dt          t
          gdf         f:fd}dt
          dt          fd}t          t          t
                   |                                          }t          ||          }t          ||          \  }} ||@          }t!          ||          }dt
          dt          fd}t          ||          \  }} |||          }t!          ||          }t#          ||          }t%          t'                    t)          |                     }t+          |          \  <>dddt          f<>fd}t!          ||          }t          ||          }t!          t,          |          }t#          ||          }t	                      }|D ]~}t.          j                            |j                  } | |vr$t7          |            |                    |            |                                  ||j        |j        |j                   dt@          t          ddf         f?@fd}!dt          dt          fd}"|rEtC          j"        tG          j$        tJ          j&                            5 }#tO          j(                    5  tO          j)        d            |!            D ]}$tU          j+        |$dd          }%|%rk |"|$          }&t.          j        ,                    |&          sJ t          d|&-                    t.          j        j.        d                    }' ||'|&           	 ddd           n# 1 swxY w Y   ddd           n# 1 swxY w Y   t^          0                    |#1                                           te          d|j3                  }(d|(_4        dh|(_5        d|(_6        to          <          })tq          ts          dj:        >;                                                    }*|(<                    |)          }+|
=                    |+           |
=                    |(<                    |*d di                     |r+t}          |+          },|,t^          ?                    |,           d!t                       z  =tB          jA        dt          d"t          dt@          t          ddf         f=fd#            }-t.          j        D                    @|          }.t.          j        D                    |.d$          }/ |-|/          5 }0|0E                    d%           ddd           n# 1 swxY w Y   |
F                    |/           |t.          j        D                    |.t                    }1 |-|1          5 }2|2E                    |H                                I                    d&                     ddd           n# 1 swxY w Y   |
F                    |1           |r^t.          j        D                    |.d'          }3t          |3d(          5  	 ddd           n# 1 swxY w Y   |
F                    |3           |K                    d)          }4tq          t          jM        |4N                                                    }5t          |5?;|
@*          }6t.          j        D                    |.d)          }7 |-|7fi t          d+          5 }8t          jQ        t          d,|8                    }9|9R                    t          |6                     ddd           dS # 1 swxY w Y   dS ).a  Install a wheel.

    :param name: Name of the project to install
    :param wheel_zip: open ZipFile for wheel being installed
    :param scheme: Distutils scheme dictating the install directories
    :param req_description: String used in place of the requirement, for
        logging
    :param pycompile: Whether to byte-compile installed Python files
    :param warn_script_location: Whether to check that scripts are installed
        into a directory on PATH
    :raises UnsupportedWheel:
        * when the directory holds an unpacked wheel with incompatible
          Wheel-Version
        * when the .dist-info dir does not match the wheel
    Fsrcfiler   modifiedr9   Nc                 d    t          |          }|| <   |r                    |           dS dS )z6Map archive RECORD paths to installation RECORD paths.N)r   r   )r  r   r  newpathr8   r   r   s       r?   record_installedz(_install_wheel.<locals>.record_installed  sH     %Xw77$	' 	!KK     	! 	!rA   rJ   c                 ,    |                      d          S )Nr   )endswithrJ   s    r?   is_dir_pathz#_install_wheel.<locals>.is_dir_path  s    }}S!!!rA   dest_dir_pathtarget_pathc                 t    t          | |          s&d}t          |                    ||                     d S )NzRThe wheel {!r} has a file {!r} trying to install outside the target directory {!r})r/   r   r   )r&  r'  messager  s      r?   assert_no_path_traversalz0_install_wheel.<locals>.assert_no_path_traversal  sP    "=+>> 	5  $z;FF  	 	rA   r   r   r4   c                 .     dt           ddf fd}|S )Nr   r9   r4   c                     t           j                            |           }t           j                            |          } |           t	          | |          S r;   )r`   rJ   r   r   r   )r   normed_pathr7   r*  r   r   s      r?   make_root_scheme_filezM_install_wheel.<locals>.root_scheme_file_maker.<locals>.make_root_scheme_file  sR    '**;77KT;77I$$T9555 iBBBrA   )r5   )r   r   r.  r*  s   `` r?   root_scheme_file_makerz._install_wheel.<locals>.root_scheme_file_maker  sM    	Cz 	Cf 	C 	C 	C 	C 	C 	C 	C 	C %$rA   r  c                 X     fdt           D             dt          ddf fd}|S )Nc                 2    i | ]}|t          |          S r<   )getattr)r   keyr  s     r?   r   zB_install_wheel.<locals>.data_scheme_file_maker.<locals>.<dictcomp>  s%    IIIcWVS11IIIrA   r   r9   r4   c           
         t           j                            |           }	 |                    t           j        j        d          \  }}}n&# t
          $ r d d| d}t          |          w xY w	 
|         }nN# t          $ rA d                    t          
                    }d d| d| d| d		}t          |          w xY wt           j                            ||          } 	||           t          | |          S )
Nr   zUnexpected file in z: zG. .data directory contents should be named like: '<scheme key>/<path>'.r   zUnknown scheme key used in z (for file zW). .data directory contents should be in subdirectories named with a valid scheme key ())r`   rJ   r   r   r   
ValueErrorr   KeyErrorr   r   r   )r   r-  _
scheme_keydest_subpathr)  scheme_pathvalid_scheme_keysr7   r*  scheme_pathsr  r   s            r?   make_data_scheme_filezM_install_wheel.<locals>.data_scheme_file_maker.<locals>.make_data_scheme_file  sl   '**;77K1.9.?.?Q.O.O+:|| 1 1 1M* M M M M M  (0001
1*:6 1 1 1$(IIf\.B.B$C$C!1* 1 1
 1 1!,1 1 .1 1 1  (0001 [,??I$$[)<<< iBBBs   )A #A/3A< <AC)r&   r5   )r   r  r>  r=  r*  r  s   `` @r?   data_scheme_file_makerz._install_wheel.<locals>.data_scheme_file_maker  sp     JIII[III	Cz 	Cf 	C 	C 	C 	C 	C 	C 	C 	C 	C6 %$rA   c                 `    |                      dd          d                             d          S )Nr   r   r   .data)r   r#  r$  s    r?   is_data_scheme_pathz+_install_wheel.<locals>.is_data_scheme_path  s)    zz#q!!!$--g666rA   c                     |                      dd          }t          |          dk    o&|d                             d          o|d         dk    S )Nr   r   r   rA  r   r   )r   r   r#  )rJ   partss     r?   is_script_scheme_pathz-_install_wheel.<locals>.is_script_scheme_path  sJ    

3""5zzA~V%("3"3G"<"<VqYAVVrA   r   c                    | j         }t          j                            |          }|                                                    d          r|d d         }nf|                                                    d          r|d d         }n4|                                                    d          r|d d         }n|}|v p|v S )Nz.exez
-script.pyiz.pya)r7   r`   rJ   r   ru   r#  )r   rJ   r~   	matchnamer   guis       r?   is_entrypoint_wrapperz-_install_wheel.<locals>.is_entrypoint_wrapper.  s     ~w%%::<<  (( 	SbS	IIZZ\\""<00 	TcT
IIZZ\\""6** 	SbS	IIIG#7yC'77rA   c               3   "  K   t          t                                                              D ]\} t          j                            |           }t          j                            |          sB|                    d          sX|V  ]d S )Nz.py)r   r   r   r`   rJ   r   ra   r#  )installed_pathfull_installed_pathr   r   s     r?   pyc_source_file_pathsz-_install_wheel.<locals>.pyc_source_file_pathsQ  s      
 %S)9)9););%<%<== 	& 	&N"$',,w"G"G7>>"566 &//66 %%%%%	& 	&rA   c                 @    t           j                            |           S )z8Return the path the pyc file would have been written to.)	importlibutilcache_from_sourcer$  s    r?   pyc_output_pathz'_install_wheel.<locals>.pyc_output_path^  s    ~//555rA   ignoreT)forcequietr5   r   rW   r   rI  i  kwargsc              ;      K   t          | fi |5 }|V  d d d            n# 1 swxY w Y   t          j        |j                   t	          |j        |            d S r;   )r(   r`   chmodr~   r)   )rJ   rW  r   generated_file_modes      r?   _generate_filez&_install_wheel.<locals>._generate_file  s      t..v.. 	!GGG	 	 	 	 	 	 	 	 	 	 	 	 	 	 	
,---s   "&&	INSTALLERs   pip
rX   	REQUESTEDr_   RECORD)r   r8   r   r   wzIO[str])F)Tr2   rv   purelibplatlibr   r5   rG   rH   r   r   r'   r   r   namelistr   r-   mapr   r#   r"   r   r   r   r`   rJ   r   r7   r+   r   r@   r6   r8   r   
contextlibredirect_stdoutr*   from_streamre   stdoutwarningscatch_warningsfilterwarnings
compileallcompile_filer   r)   r   r   debuggetvaluer  r   clobbervariantsset_moder   listr   r   r   make_multipler   r   r   r.   contextmanagerr
   r   r   rk   r   r$   to_jsonrg   rb   	read_textcsvreader
splitlinesr   r[   writer	writerowsr   )Ar~   r  r  r  r  r  r  r  info_dirrq   r   r!  r%  r/  r?  rB  paths
file_pathsroot_scheme_pathsdata_scheme_pathsr.  filesrE  other_scheme_pathsscript_scheme_pathsr>  other_scheme_filesdistributionrJ  script_scheme_filesexisting_parentsr   r   rN  rS  rg  rJ   successpyc_pathpyc_record_pathmakerr   gui_scripts_to_generategenerated_console_scriptsmsgr[  dest_info_dirinstaller_pathinstaller_filedirect_url_pathdirect_url_filerequested_pathrecord_textrecord_rowsrowsr   record_filerz  r*  r8   r   rZ  rI  r   r   sA     `                                                       @@@@@@@r?   _install_wheelr    s
   2 %Y55HhX&& !.. /1I"uuGI >C! !!'*!6:!	! ! ! ! ! ! ! !"* " " " " " # $      	%	%!$	%	:,&	'	% 	% 	% 	% 	% 	% % %#) %	:,&	' %  %  %  %  %  %  %D7* 7 7 7 7 7 j!9#5#5#7#788E[%00J+45H*+U+U((229gFF 57HIIEWJ W4 W W W W /80/ /++ 329fEE24FGG%+,,E *
##$ L #<00LGS8F 8t 8 8 8 8 8 8 8  +.2+ + &&;=PQQj*=>>%,--Euu 	M 	M W__T^44
---z"""  ,,,		-t~t|LLLL&9S$_#= & & & & & & &6c 6c 6 6 6 6
  ('%cj11
 
 	D(** 
D 
D'1111133 D DD(5d$dSSSG D#2?4#8#8!w~~h77777*.((*:*:27;*L*L+ + )((CCCD
D 
D 
D 
D 
D 
D 
D 
D 
D 
D 
D 
D 
D 
D 
D	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	V__&&'''400E EM
 TEN
 EN 37;;"79+;SYY[[#I#IJJ % 3 34G H H.///U(()@5$-PPQQQ  /0IJJ?NN3=??"22S C Ihd>R4S       GLL(33M W\\-==N		'	' '>X&&&' ' ' ' ' ' ' ' ' ' ' ' ' ' '^$$$ ',,}6NOO^O,, 	H!!*"4"4"6"6"="=g"F"FGGG	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H)))  )m[AA.$'' 	 		 	 	 	 	 	 	 	 	 	 	 	 	 	 	(((((22Ksz+"8"8":":;;<<K%  D ',,}h77K		:	:}S'9'9	:	: 4k DK8899,T22333	4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4s   =PB&P8PP	PP	PP"PW<<X X ;ZZZ'[55[9<[9'A_99_= _=req_description)NNNc              #   ~   K   	 d V  d S # t           $ r(}d|  d|j        d          }t          |          |d }~ww xY w)Nz	For req: z. r   )r   args)r  er)  s      r?   req_error_contextr    sb      0 0 0 0<o<<<<((a/0s   
 
<#7<c                     t          |d          5 }t          |          5  t          | |||||||           d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )NT)
allowZip64)r~   r  r  r  r  r  r  r  )r   r  r  )	r~   r  r  r  r  r  r  r  zs	            r?   install_wheelr    s
    
	-	-	- // 
	 
	%#%9%#	 	 	 	
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	                 s3   AAAA
	
AA
	AA"%A")rI   )TTNF)k__doc__r   rk  rd  rw  rP  loggingos.pathr`   r   r   re   rh  base64r   email.messager   	itertoolsr   r   r   typingr   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   zipfiler   r   pip._vendor.distlib.scriptsr   pip._vendor.distlib.utilr   pip._vendor.packaging.utilsr   pip._internal.exceptionsr   pip._internal.locationsr    pip._internal.metadatar!   r"   r#   pip._internal.models.direct_urlr$   r%   pip._internal.models.schemer&   r'   pip._internal.utils.filesystemr(   r)   pip._internal.utils.miscr*   r+   r,   r-   pip._internal.utils.unpackingr.   r/   r0   r1   pip._internal.utils.wheelr2   r4   	getLoggerrC   r   rG   r5   intInstalledCSVRowrT   r[   rH   rp   rv   r   r   r   r   r   r   r   r   r   r  r  r  r  rt  r  r  r<   rA   r?   <module>r     s                



       				  



  $ $ $ $ $ $ ! ! ! ! ! ! 1 1 1 1 1 1 1 1 1 1                                       ( % $ $ $ $ $ $ $ 3 3 3 3 3 3 5 5 5 5 5 5 9 9 9 9 9 9 6 6 6 6 6 6 ; ; ; ; ; ;         
 P O O O O O O O ; ; ; ; ; ; ; ; E E E E E E E E T T T T T T T T T T T T            2 1 1 1 1 1     x    
	8	$	$W\3''

CsCx89! ! ! !5c? ! ! ! !> >S#X > > > >S T    (AG A A A A A(* (uT#s(^T#s(^5S/T ( ( ( (E x} E # E  E  E  E Po&	%S#
   4.J . . . . . .$S $3 $: $ $ $ $tCy/J
*+ _ Cy	
  
/   @Hd38n Hc H H H HV#O #O #O #O #O #O #O #OL	2 	2 	2 	2 	2 	2 	2 	2
 
 
 
 
- 
 
 
0 0 0 0 0 04 4 4 4 4[ 4 4 4 !%&*^4 ^4
^4^4 ^4 	^4
 ^4 ^4 #^4 ^4 
^4 ^4 ^4 ^4B	 0s 0y9I/J 0 0 0 0 !%&* 
  	
   #  
     rA   