� c��j�l � � � d Z ddlZddlmZmZ ddlZddlZddlZddl Z ddl Z ddlZddlZddgZ ej Zej dd Z G d� de� Zi Z ee � ZdZd Zd Z G d� dej2 � Zedz d d fedz dd fddfZd� Zd� Zd� Zd� ZdZ da!d� Z"d� Z#d� Z$d� Z% ee%jL � Z'd� Z(d� Z)d� Z*d� Z+d� Z,d � Z-y)!aP zipimport provides support for importing Python modules from Zip archives. This module exports three objects: - zipimporter: a class; its constructor takes a path to a Zip archive. - ZipImportError: exception raised by zipimporter objects. It's a subclass of ImportError, so it can be caught as ImportError, too. - _zip_directory_cache: a dict, mapping archive paths to zip directory info dicts, as used in zipimporter._files. It is usually not needed to use the zipimport module explicitly; it is used by the builtin import mechanism for sys.path items that are paths to Zip archives. � N)�_unpack_uint16�_unpack_uint32�ZipImportError�zipimporter� c � � e Zd Zy)r N)�__name__� __module__�__qualname__� � �"/usr/lib64/python3.12/zipimport.pyr r " s � �r � s PKi�� c �T � e Zd ZdZd� Zdd�Zd� Zd� Zd� Zd� Z d � Z d � Zd� Zd� Z d � Zy)r a� zipimporter(archivepath) -> zipimporter object Create a new zipimporter instance. 'archivepath' must be a path to a zipfile, or to a specific path inside a zipfile. For example, it can be '/tmp/myimport.zip', or '/tmp/myimport.zip/mydirectory', if mydirectory is a valid directory inside the archive. 'ZipImportError is raised if 'archivepath' doesn't point to a valid Zip archive. The 'archive' attribute of zipimporter objects contains the name of the zipfile targeted. c �� � t |t � st dt |� ��� �|s t d|�� �t r|j t t � }g } t j |� }|j dz dk7 r t d|�� � t | }|| _ || _ t j( |d d d� � | _ | j* r| xj* t z c_ y y # t t f$ r@ t j |� \ }}||k( r t d|�� �|}|j |� Y nw xY w��# t $ r t# |� }|t |<