File: //usr/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/hashes.cpython-39.pyc
a
?�fF � @ s� d dl mZ d dlZd dlmZmZmZ d dlmZm Z m
Z
d dlmZ d dl
mZ er�d dlmZmZmZmZmZ d dlmZ er�d d lmZ nd d
lmZ dZg d�ZG d
d� de�ZG dd� de�ZdS )� )�absolute_importN)� iteritems�iterkeys�
itervalues)�HashMismatch�HashMissing�InstallationError)�read_chunks)�MYPY_CHECK_RUNNING)�Dict�List�BinaryIO�NoReturn�Iterator)�PY3)�_Hash)�_hash�sha256)r Zsha384Zsha512c @ sf e Zd ZdZddd�Zdd� Zedd� �Zd d
� Zdd� Z d
d� Z
dd� Zdd� Zdd� Z
dd� ZdS )�HasheszaA wrapper that builds multiple hashes at once and checks them against
known-good values
Nc C s |du ri n|| _ dS )zo
:param hashes: A dict of algorithm names pointing to lists of allowed
hex digests
N��_allowed)�self�hashes� r �>/usr/lib/python3.9/site-packages/pip/_internal/utils/hashes.py�__init__) s zHashes.__init__c sb t |t�stS |s�S �s|S i }t|j�D ],\� }� �jvr@q,� �fdd�|D �|� <