Ë
    /æjh3  ã                   ó¢  — U d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZddlm	Z	m
Z
mZmZ  ej                  «       dk(  r	ddlmZmZ n% ej                  «       dk(  r	ddlmZmZ nddlmZmZ ej&                  rd dlmZ eez  ej0                  e   z  ej0                  e   z  Zej4                  ed<   eez  ej8                  g eez  f   z  Zej4                  ed	<   dd„Zdd„Z G d„ de«      Z ejB                  dk\  rdejD                  d
e#e   fd„Z$ndejD                  d
e#e   fd„Z$dejJ                  ejD                  z  dedz  d
dfd„Z&y)é    Né   )Ú_original_SSLContextÚ_original_super_SSLContextÚ#_truststore_SSLContext_dunder_classÚ"_truststore_SSLContext_super_classÚWindows)Ú_configure_contextÚ_verify_peercerts_implÚDarwin)ÚBufferÚ_StrOrBytesPathÚ_PasswordTypeÚreturnc                  ó:  — t        t        dt        «       	 ddlmc m}  t        | dt        «       	 ddl}t        |j                  dd«      }|�/t        |j                  dt        t        j                  «      «       yy# t        $ r Y ŒYw xY w# t        $ r Y yw xY w)zqInjects the :class:`truststore.SSLContext` into the ``ssl``
    module by replacing :class:`ssl.SSLContext`.
    Ú
SSLContextr   NÚ_preloaded_ssl_context)ÚsetattrÚsslr   Úurllib3.util.ssl_ÚutilÚssl_ÚImportErrorÚrequests.adaptersÚgetattrÚadaptersÚPROTOCOL_TLS_CLIENT)Úurllib3_sslÚrequestsÚpreloaded_contexts      úR/root/repos/pocs/video-evals/.venv/lib/python3.12/site-packages/truststore/_api.pyÚinject_into_sslr!       sš   € ô ŒC�œzÔ*ðß/Ð/ä�˜\¬:Ô6ðÛ ä# H×$5Ñ$5Ð7OÐQUÓVÐØÐ(ÜØ×!Ñ!Ø(Üœ3×2Ñ2Ó3õð )øô ò Ùðûô" ò Ùðús#   —A? ²AB Á?	BÂ
BÂ	BÂBc                  óv   — t        t        dt        «       	 ddlmc m}  t        | _        y# t        $ r Y yw xY w)z@Restores the :class:`ssl.SSLContext` class to its original stater   r   N)r   r   r   r   r   r   r   r   )r   s    r    Úextract_from_sslr#   @   s4   € äŒC�Ô3Ô4ðß/Ð/ä!5ˆÕøÜò Ùðús   —, ¬	8·8c                   óÜ  — e Zd ZdZedefd„«       ZdBdeddfd„Z	 	 	 	 	 dCd	e	j                  d
e
de
de
dedz  dej                  dz  dej                  fd„Z	 	 	 dDdej                   dej                   d
e
dedz  dej                  dz  dej"                  fd„Z	 	 	 dEdeez  ej*                  e   z  ej*                  e   z  dz  deez  ej*                  e   z  ej*                  e   z  dz  dej.                  eddf   ddfd„Z	 	 dFdededz  dedz  ddfd„Zej8                  j:                  fdej8                  ddfd„Zdej>                  e   ddfd„Z d ej>                  e   ddfd!„Z!d"eddfd#„Z"dejF                  fd$„Z$de%eef   fd%„Z&de%eef   fd&„Z'dGd'„Z(ejR                  	 dHd(ejT                  d   de+ejF                     fd)„«       Z,ejR                  dHd(ejT                  d   de+e   fd*„«       Z,ejR                  dHd(e
dejF                  fd+„«       Z,dId(e
de+ejF                     e+e   z  fd,„Z,ede
fd-„«       Z-e-j\                  d.e
ddfd/„«       Z-ede
fd0„«       Z/e/j\                  d.e
ddfd1„«       Z/edefd2„«       Z0e0j\                  d.eddfd3„«       Z0edejb                  fd4„«       Z2e2j\                  d.ejb                  ddfd5„«       Z2edejb                  fd6„«       Z3e3j\                  d.ejb                  ddfd7„«       Z3edejh                  fd8„«       Z5e5j\                  d.ejh                  ddfd9„«       Z5ede
fd:„«       Z6e6j\                  d.e
ddfd;„«       Z6edejn                  fd<„«       Z8edefd=„«       Z9edejt                  fd>„«       Z;e;j\                  d.ejt                  ddfd?„«       Z;edejx                  fd@„«       Z=e=j\                  d.ejx                  ddfdA„«       Z=y)Jr   z=SSLContext API that uses system certificates on all platformsr   c                 ó   — t         xs t        S ©N)r   r   ©Úselfs    r    Ú	__class__zSSLContext.__class__N   s   € ô
 3Ò@´jÐ@ó    NÚprotocolc                 ó   ‡— t        |«      | _        t        j                  «       | _        | j                  Š G ˆfd„dt
        j                  «      } G ˆfd„dt
        j                  «      }|| j                  _        || j                  _	        y )Nc                   ó$   •‡ — e Zd Zdˆ ˆfd„Zˆ xZS )ú0SSLContext.__init__.<locals>.TruststoreSSLObjectc                 ó‚   •— ‰5  t         ‰| �  «       }t        | | j                  ¬«       |cd d d «       S # 1 sw Y   y xY w©N©Úserver_hostname)ÚsuperÚdo_handshakeÚ_verify_peercertsr2   )r(   Úretr)   Úctx_locks     €€r    r4   z=SSLContext.__init__.<locals>.TruststoreSSLObject.do_handshake`   s;   ø€ Øñ Ü™'Ñ.Ó0�CÜ% d¸D×<PÑ<PÕQØ÷÷ ò ús   „'5µ>©r   N)Ú__name__Ú
__module__Ú__qualname__r4   Ú__classcell__©r)   r7   s   @€r    ÚTruststoreSSLObjectr.   [   s   ù„ ÷
ò r*   r>   c                   ó.   •‡ — e Zd Zddeddfˆ ˆfd„Zˆ xZS )ú0SSLContext.__init__.<locals>.TruststoreSSLSocketÚblockr   Nc                 óÄ   •— ‰5  t         ‰| �  |«      }	 t        | | j                  ¬«       	 d d d «       |S # t        $ r | j                  «        ‚ w xY w# 1 sw Y   S xY wr0   )r3   r4   r5   r2   Ú	ExceptionÚclose)r(   rA   r6   r)   r7   s      €€r    r4   z=SSLContext.__init__.<locals>.TruststoreSSLSocket.do_handshakek   se   ø€ Øñ Ü™'Ñ.¨uÓ5�CðÜ)¨$À×@TÑ@TÖU÷ð �
øô %ò ØŸ
™
œØðú÷	ð �
ús   „A•7·AÁAÁA©F)r9   r:   r;   Úboolr4   r<   r=   s   @€r    ÚTruststoreSSLSocketr@   f   s   ù„ ñ
¨$ð ¸4÷ ò r*   rG   )
r   Ú_ctxÚ	threadingÚRLockÚ	_ctx_lockr   Ú	SSLObjectÚ	SSLSocketÚsslsocket_classÚsslobject_class)r(   r+   r>   rG   r7   s       @r    Ú__init__zSSLContext.__init__U   s`   ø€ Ü(¨Ó2ˆŒ	Ü"Ÿ™Ó*ˆŒà—>‘>ˆö		¤#§-¡-ô 		ö	¤#§-¡-ô 	ð %8ˆ�	‰	Ô!Ø$7ˆ�	‰	Õ!r*   FTÚsockÚserver_sideÚdo_handshake_on_connectÚsuppress_ragged_eofsr2   Úsessionc           
      óŠ  — | j                   r|st        d«      ‚| j                  5  t        | j                  «      5  | j                  j                  ||||||¬«      }d d d «       j                  «       �	 t        ||¬«       d d d «       |S # 1 sw Y   Œ1xY w# t        $ r |j                  «        ‚ w xY w# 1 sw Y   S xY w)Nú'check_hostname requires server_hostname)rR   r2   rS   rT   rU   r1   )
Úcheck_hostnameÚ
ValueErrorrK   r	   rH   Úwrap_socketÚversionr5   rC   rD   )r(   rQ   rR   rS   rT   r2   rU   Ússl_socks           r    rZ   zSSLContext.wrap_socketx   sÉ   € ð ×Ò¡ÜÐFÓGÐGà�^‰^ñ 	Ü# D§I¡IÓ.ñ ØŸ9™9×0Ñ0ØØ +Ø$3Ø,CØ)=Ø#ð 1ó �÷ð  ×ÑÓ!Ð-ðÜ% hÀÕP÷'	ð0 ˆ÷/ð ûô& !ò Ø—N‘NÔ$Øðú÷)	ð0 ˆús4   ¦B8¼"BÁB8Á7BÂB	ÂB8ÂB5Â5B8Â8CÚincomingÚoutgoingc           	      ó  — | j                   r|st        d«      ‚| j                  5  t        | j                  «      5  | j                  j                  |||||¬«      }d d d «       d d d «       S # 1 sw Y   ŒxY w# 1 sw Y   S xY w)NrW   )r2   rR   rU   )rX   rY   rK   r	   rH   Úwrap_bio)r(   r]   r^   rR   r2   rU   Ússl_objs          r    r`   zSSLContext.wrap_biož   s‹   € ð ×Ò¡ÜÐFÓGÐGð �^‰^ñ 	Ô/°·	±	Ó:ñ 	Ø—i‘i×(Ñ(ØØØ /Ø'Øð )ó ˆG÷	÷ 	ð ˆ÷	ð 	ú÷ 	ð ˆús"   ¦A;¼!A/ÁA;Á/A8	Á4A;Á;BÚcafileÚcapathÚcadatar   c                 ó>   — | j                   j                  |||¬«      S )N)rb   rc   rd   )rH   Úload_verify_locations)r(   rb   rc   rd   s       r    rf   z SSLContext.load_verify_locations·   s'   € ð �y‰y×.Ñ.Ø &°ð /ó 
ð 	
r*   ÚcertfileÚkeyfileÚpasswordc                 ó>   — | j                   j                  |||¬«      S )N)rg   rh   ri   )rH   Úload_cert_chain)r(   rg   rh   ri   s       r    rk   zSSLContext.load_cert_chainÁ   s'   € ð �y‰y×(Ñ(Ø w¸ð )ó 
ð 	
r*   Úpurposec                 ó8   — | j                   j                  |«      S r&   )rH   Úload_default_certs)r(   rl   s     r    rn   zSSLContext.load_default_certsË   s   € ð �y‰y×+Ñ+¨GÓ4Ð4r*   Úalpn_protocolsc                 ó8   — | j                   j                  |«      S r&   )rH   Úset_alpn_protocols)r(   ro   s     r    rq   zSSLContext.set_alpn_protocolsÐ   s   € Ø�y‰y×+Ñ+¨NÓ;Ð;r*   Únpn_protocolsc                 ó8   — | j                   j                  |«      S r&   )rH   Úset_npn_protocols)r(   rr   s     r    rt   zSSLContext.set_npn_protocolsÓ   s   € Ø�y‰y×*Ñ*¨=Ó9Ð9r*   Ú_SSLContext__cipherlistc                 ó8   — | j                   j                  |«      S r&   )rH   Úset_ciphers)r(   ru   s     r    rw   zSSLContext.set_ciphersÖ   s   € Ø�y‰y×$Ñ$ \Ó2Ð2r*   c                 ó6   — | j                   j                  «       S r&   )rH   Úget_ciphersr'   s    r    ry   zSSLContext.get_ciphersÙ   s   € Ø�y‰y×$Ñ$Ó&Ð&r*   c                 ó6   — | j                   j                  «       S r&   )rH   Úsession_statsr'   s    r    r{   zSSLContext.session_statsÜ   s   € Ø�y‰y×&Ñ&Ó(Ð(r*   c                 ó   — t        «       ‚r&   ©ÚNotImplementedErrorr'   s    r    Úcert_store_statszSSLContext.cert_store_statsß   ó   € Ü!Ó#Ð#r*   c                 ó8   — | j                   j                  «        y r&   )rH   Úset_default_verify_pathsr'   s    r    r‚   z#SSLContext.set_default_verify_pathsâ   s   € Ø�	‰	×*Ñ*Õ,r*   Úbinary_formc                  ó   — y r&   © ©r(   rƒ   s     r    Úget_ca_certszSSLContext.get_ca_certså   s   € ð r*   c                  ó   — y r&   r…   r†   s     r    r‡   zSSLContext.get_ca_certsê   s   € ØTWr*   c                  ó   — y r&   r…   r†   s     r    r‡   zSSLContext.get_ca_certsí   s   € ØCFr*   c                 ó   — t        «       ‚r&   r}   r†   s     r    r‡   zSSLContext.get_ca_certsð   r€   r*   c                 ór   — | j                   5  | j                  j                  cd d d «       S # 1 sw Y   y xY wr&   ©rK   rH   rX   r'   s    r    rX   zSSLContext.check_hostnameó   s+   € à�^‰^ñ 	,Ø—9‘9×+Ñ+÷	,÷ 	,ò 	,úó   �-­6Úvaluec                 óh   — | j                   5  || j                  _        d d d «       y # 1 sw Y   y xY wr&   rŒ   ©r(   rŽ   s     r    rX   zSSLContext.check_hostnameø   s*   € à�^‰^ñ 	-Ø',ˆD�I‰IÔ$÷	-÷ 	-ñ 	-ús   �(¨1c                 ó.   — | j                   j                  S r&   ©rH   Úhostname_checks_common_namer'   s    r    r“   z&SSLContext.hostname_checks_common_nameý   s   € à�y‰y×4Ñ4Ð4r*   c                 ó&   — || j                   _        y r&   r’   r�   s     r    r“   z&SSLContext.hostname_checks_common_name  s   € à05ˆ�	‰	Õ-r*   c                 ó.   — | j                   j                  S r&   ©rH   Úkeylog_filenamer'   s    r    r—   zSSLContext.keylog_filename  ó   € à�y‰y×(Ñ(Ð(r*   c                 ó&   — || j                   _        y r&   r–   r�   s     r    r—   zSSLContext.keylog_filename	  s   € à$)ˆ�	‰	Õ!r*   c                 ó.   — | j                   j                  S r&   )rH   Úmaximum_versionr'   s    r    r›   zSSLContext.maximum_version  r˜   r*   c                 óX   — t         j                  j                  | j                  |«       y r&   )r   r›   Ú__set__rH   r�   s     r    r›   zSSLContext.maximum_version  ó   € ä"×2Ñ2×:Ñ:Ø�I‰I�uõ	
r*   c                 ó.   — | j                   j                  S r&   )rH   Úminimum_versionr'   s    r    r    zSSLContext.minimum_version  r˜   r*   c                 óX   — t         j                  j                  | j                  |«       y r&   )r   r    r�   rH   r�   s     r    r    zSSLContext.minimum_version  rž   r*   c                 ó.   — | j                   j                  S r&   )rH   Úoptionsr'   s    r    r£   zSSLContext.options!  s   € à�y‰y× Ñ Ð r*   c                 óX   — t         j                  j                  | j                  |«       y r&   )r   r£   r�   rH   r�   s     r    r£   zSSLContext.options%  s   € ä"×*Ñ*×2Ñ2Ø�I‰I�uõ	
r*   c                 ó.   — | j                   j                  S r&   ©rH   Úpost_handshake_authr'   s    r    r§   zSSLContext.post_handshake_auth+  s   € à�y‰y×,Ñ,Ð,r*   c                 ó&   — || j                   _        y r&   r¦   r�   s     r    r§   zSSLContext.post_handshake_auth/  s   € à(-ˆ�	‰	Õ%r*   c                 ó.   — | j                   j                  S r&   )rH   r+   r'   s    r    r+   zSSLContext.protocol3  s   € à�y‰y×!Ñ!Ð!r*   c                 ó.   — | j                   j                  S r&   )rH   Úsecurity_levelr'   s    r    r«   zSSLContext.security_level7  s   € à�y‰y×'Ñ'Ð'r*   c                 ó.   — | j                   j                  S r&   )rH   Úverify_flagsr'   s    r    r­   zSSLContext.verify_flags;  s   € à�y‰y×%Ñ%Ð%r*   c                 óX   — t         j                  j                  | j                  |«       y r&   )r   r­   r�   rH   r�   s     r    r­   zSSLContext.verify_flags?  s   € ä"×/Ñ/×7Ñ7Ø�I‰I�uõ	
r*   c                 ór   — | j                   5  | j                  j                  cd d d «       S # 1 sw Y   y xY wr&   )rK   rH   Úverify_moder'   s    r    r°   zSSLContext.verify_modeE  s+   € à�^‰^ñ 	)Ø—9‘9×(Ñ(÷	)÷ 	)ò 	)úr�   c                 óš   — | j                   5  t        j                  j                  | j                  |«       d d d «       y # 1 sw Y   y xY wr&   )rK   r   r°   r�   rH   r�   s     r    r°   zSSLContext.verify_modeJ  s;   € à�^‰^ñ 	Ü&×2Ñ2×:Ñ:Ø—	‘	˜5ô÷	÷ 	ñ 	ús   �+AÁA
r&   )FTTNN)FNN)NNN)NNr8   ).rE   )>r9   r:   r;   Ú__doc__ÚpropertyÚtyper)   ÚintrP   ÚsocketrF   Ústrr   Ú
SSLSessionrM   rZ   Ú	MemoryBIOrL   r`   ÚbytesÚosÚPathLikeÚtypingÚUnionrf   r   r   rk   ÚPurposeÚSERVER_AUTHrn   ÚIterablerq   rt   rw   ÚAnyry   Údictr{   r   r‚   ÚoverloadÚLiteralÚlistr‡   rX   Úsetterr“   r—   Ú
TLSVersionr›   r    ÚOptionsr£   r§   Ú
_SSLMethodr+   r«   ÚVerifyFlagsr­   Ú
VerifyModer°   r…   r*   r    r   r   K   sð  „ ÙGàðA˜4ò Aó ðAñ!8 ð !8°ó !8ðL "Ø(,Ø%)Ø&*Ø)-ñ$à�m‰mð$ð ð$ð "&ð	$ð
 #ð$ð ˜t™ð$ð —‘ $Ñ&ð$ð 
�‰ó$ðT "Ø&*Ø)-ñà—-‘-ðð —-‘-ðð ð	ð
 ˜t™ðð —‘ $Ñ&ðð 
�‰óð6 NRØMQØ48ñ	
à�e‘˜bŸk™k¨#Ñ.Ñ.°·±¸UÑ1CÑCÀdÑJð
ð �e‘˜bŸk™k¨#Ñ.Ñ.°·±¸UÑ1CÑCÀdÑJð
ð —‘˜S (¨DÐ0Ñ1ð	
ð
 
ó
ð +/Ø)-ñ	
à!ð
ð ! 4Ñ'ð
ð   $Ñ&ð	
ð
 
ó
ð &)§[¡[×%<Ñ%<ñ5Ø—{‘{ð5à	ó5ð
<°·±ÀÑ1Eð <È$ó <ð:¨v¯©¸sÑ/Cð :Èó :ð3¨ð 3°ó 3ð'˜VŸZ™Zó 'ð)˜t C¨ H™~ó )ð$ $ s¨C x¡.ó $ó-ð ‡_�_à36ñØ!Ÿ>™>¨%Ñ0ðà	ˆf�j‰jÑ	òó ðð ‡_�_ÙW¨¯©°tÑ(<ÐWÀtÈEÁ{ÒWó ØWà‡_�_ÙF¨ÐF°v·z±zÒFó ØFñ$¨ð $¸¸f¿j¹jÑ9IÈDÐQVÉKÑ9Wó $ð ð, ò ,ó ð,ð ×Ñð- Dð -¨Tò -ó ð-ð ð5¨Tò 5ó ð5ð !×'Ñ'ð6°ð 6¸$ò 6ó (ð6ð ð) ò )ó ð)ð ×Ñð* Sð *¨Tò *ó ð*ð ð) §¡ò )ó ð)ð ×Ñð
 S§^¡^ð 
¸ò 
ó ð
ð
 ð) §¡ò )ó ð)ð ×Ñð
 S§^¡^ð 
¸ò 
ó ð
ð
 ð!˜Ÿ™ò !ó ð!ð ‡^�^ð
˜SŸ[™[ð 
¨Tò 
ó ð
ð
 ð- Tò -ó ð-ð ×Ñð.¨ð .°$ò .ó  ð.ð ð"˜#Ÿ.™.ò "ó ð"ð ð( ò (ó ð(ð ð&˜cŸo™oò &ó ð&ð ×Ñð
 #§/¡/ð 
°dò 
ó ð
ð
 ð)˜SŸ^™^ò )ó ð)ð ×Ñð §¡ð °Dò ó ñr*   r   )é   é   Ússlobjc                 ó²   — | j                  «       xs d}|D �cg c]3  }t        |t        «      r|n|j                  t        j
                  «      ‘Œ5 c}S c c}w ©Nr…   )Úget_unverified_chainÚ
isinstancerº   Úpublic_bytesÚ_sslÚENCODING_DER©rÏ   Úunverified_chainÚcerts      r    Ú_get_unverified_chain_bytesrÚ   W  sW   € Ø!×6Ñ6Ó8Ò>¸BÐð )ö
àô ˜t¤UÔ+‰D°×1BÑ1BÄ4×CTÑCTÓ1UÑUò
ð 	
ùò 
s   ™8Ac                 óŽ   — | j                  «       xs d}|D �cg c]!  }|j                  t        j                  «      ‘Œ# c}S c c}w rÑ   )rÒ   rÔ   rÕ   rÖ   r×   s      r    rÚ   rÚ   `  s;   € Ø!×6Ñ6Ó8Ò>¸BÐØAQÖR¸�×!Ñ!¤$×"3Ñ"3Õ4ÒRÐRùÒRs   ™&AÚsock_or_sslobjr2   c                 óþ   — | j                   j                  r|st        d«      ‚| }	 t        |d«      s|j                  }t        |d«      sŒt        |«      }t        | j                   ||¬«       y# t
        $ r Y Œ/w xY w)z{
    Verifies the peer certificates from an SSLSocket or SSLObject
    against the certificates in the OS trust store.
    rW   rÒ   r1   N)ÚcontextrX   rY   ÚhasattrÚ_sslobjÚAttributeErrorrÚ   r
   )rÜ   r2   rÏ   Ú
cert_bytess       r    r5   r5   e  s�   € ð ×Ñ×,Ò,±_ÜÐBÓCÐCà*€FðÜ˜&Ð"8Ô9Ø—^‘^ˆFô ˜&Ð"8Õ9ô
 -¨VÓ4€JÜØ×Ñ 
¸Oöøô	 ò Ùðús   §$A0 Á0	A<Á;A<r8   )'rÕ   r»   Úplatformr¶   r   ÚsysrI   r½   Ú_ssl_constantsr   r   r   r   ÚsystemÚ_windowsr	   r
   Ú_macosÚ_opensslÚTYPE_CHECKINGÚtyping_extensionsr   r·   rº   r¼   r   Ú	TypeAliasÚ__annotations__ÚCallabler   r!   r#   r   Úversion_inforL   rÆ   rÚ   rM   r5   r…   r*   r    ú<module>rð      sU  ðÜ Û 	Û Û Û 
Û 
Û Û ÷ó ð €8‡?�?Ó˜	Ò!ßDÐDØ€X‡_�_Ó˜(Ò"ßBÐBçDà	×ÒÝ(ð %(¨%¡K°"·+±+¸cÑ2BÑ$BÀRÇ[Á[ÐQVÑEWÑ$W€�×!Ñ!Ó WØ"%¨¡+°·±ÀÀCÈ%ÁKÀÑ0PÑ"P€ˆv×ÑÓ Póó@ôDÐ3ô DðT ×Ñ�wÒð
¨C¯M©Mð 
¸dÀ5¹kô 
ðS¨C¯M©Mð S¸dÀ5¹kó Sð
Ø—M‘M C§M¡MÑ1ðØDGÈ$ÁJðà	ôr*   