Sindbad~EG File Manager
�
�� h�( � � � d Z ddlZddlZddlZddlZddlmZ ddlmZm Z m
Z
mZ ddlm
Z
mZmZ ddlmZ ddlmZ ddlmZ dd lmZ dd
lmZ ddlmZmZ ddlmZ ej e � � Z!d
Z"de e#e#f de#fd�Z$ G d� d� � Z% G d� de%� � Z& G d� de&� � Z' G d� d� � Z( G d� de%� � Z)dS )zCache Management
� N)�Path)�Any�Dict�List�Optional)�Tag�interpreter_name�interpreter_version)�canonicalize_name)�InvalidWheelFilename)� DirectUrl)�Link)�Wheel)�
TempDirectory�
tempdir_kinds)�path_to_urlzorigin.json�d�returnc � � t j | ddd�� � }t j |� d� � � � � � � S )z'Return a stable sha224 of a dictionary.T)�,�:)� sort_keys�
separators�ensure_ascii�ascii)�json�dumps�hashlib�sha224�encode� hexdigest)r �ss �s/builddir/build/BUILD/imunify360-venv-2.5.2/opt/imunify360/venv/lib/python3.11/site-packages/pip/_internal/cache.py�
_hash_dictr$ sB � ��
�1���$�O�O�O�A��>�!�(�(�7�+�+�,�,�6�6�8�8�8� c � � � e Zd ZdZdeddf� fd�Zdedee fd�Zdededee fd �Z
dedefd
�Zdedee dee
defd
�Z� xZS )�CachezuAn abstract class - provides cache directories for data from links
:param cache_dir: The root of the cache.
� cache_dirr Nc � �� t � � � � � |r!t j � |� � sJ �|pd | _ d S �N)�super�__init__�os�path�isabsr( ��selfr( � __class__s �r# r, zCache.__init__&