o
    ËÄ.jø  ã                   @  s|   U d dl mZ d dlZd dlmZ ejrd dlZddlmZ	 ddl
mZ ddlmZ e	eegZded< 	dddd„ZdZdS )é    )ÚannotationsN)ÚUnsupportedOperationé   )Úload_cert_chainz~list[typing.Callable[[ssl.SSLContext, bytes | str, bytes | str, bytes | str | typing.Callable[[], str | bytes] | None], None]]ÚSUPPORTED_METHODSÚctxússl.SSLContextÚcertdataúbytes | strÚkeydataÚpasswordú5bytes | str | typing.Callable[[], str | bytes] | NoneÚreturnÚNonec                 C  sh   d}t D ]%}z|| |||ƒ W  dS  ty) } z|du r|}W Y d}~qd}~ww |dur0|‚tdƒ‚)z»
    Unique workaround the known limitation of CPython inability to initialize the mTLS context without files.
    :raise UnsupportedOperation: If anything goes wrong in the process.
    Nz6unable to initialize mTLS using in-memory cert and key)r   r   )r   r	   r   r   ÚerrÚ	supportedÚe© r   úR/home/thesage/.local/lib/python3.10/site-packages/urllib3/contrib/imcc/__init__.pyr      s$   
ü€þr   )N)
r   r   r	   r
   r   r
   r   r   r   r   )Ú
__future__r   ÚtypingÚior   ÚTYPE_CHECKINGÚsslÚ_ctypesr   Ú_ctypes_load_cert_chainÚ_shmÚ_shm_load_cert_chainÚ_fifoÚ_fifo_load_cert_chainr   Ú__annotations__Ú__all__r   r   r   r   Ú<module>   s     ý
öü