^V d dl mZ d dlZd dlmZ d dlmZmZmZ d dl m Z mZmZ d dl mZ erd dlmZ dZg d Z G d d Z G d d e ZdS ) )annotationsN)Iterable) TYPE_CHECKINGBinaryIONoReturn)HashMismatchHashMissingInstallationError)read_chunks)_Hashsha256)r sha384sha512c e Zd ZdZd#d$dZd%d Zed&d Zd'dZd(dZ d)dZ d*dZd+dZd,dZ d-dZd.d!Zd&d"ZdS )/HasheszaA wrapper that builds multiple hashes at once and checks them against known-good values Nhashesdict[str, list[str]] | NonereturnNonec i }|6| D ]!\ }}d t | D ||<