Your IP : 3.16.36.89


Current Path : /opt/alt/python313/lib64/python3.13/__pycache__/
Upload File :
Current File : //opt/alt/python313/lib64/python3.13/__pycache__/ssl.cpython-313.opt-2.pyc

�

1}g���
�\�SSKrSSKrSSKJr SSKJrJrJ	r
 SSKJr SSKrSSKJ
r
JrJr SSKJrJrJr SSKJrJrJrJrJrJrJr SSKJrJr SS	KJrJrJ r  SS
KJ!r! SSKJ#r#J$r$J%r%J&r&J'r'J(r(J)r)J*r*J+r+J,r,J-r- SSKJ.r.J/r/ \R`"S
\1S\S9 \
R`"S\1S\S9 \R`"S\1S\S9 \R`"S\1S\S9 \
R`"S\1S\S9 \R`"S\1S\S9 \2Rf=r4\2l4\2RjRm5VVs0sHupX_M	 snnr7\8"\2SS5r9\"\5"SS55r:\"\5"SS55r;\"\5"SS 55r<\"\5"S!S"55r=\R|S#:XaSS$KJ?r?J@r@ SS%KAJArAJBrBJCrC SS&KAJDrDJErEJFrF SSKArGSSKHrHSSKIrISSKJrJ\KrLS'/rM\N"\S(5rO\.rP\rQS)rRS*rSS+rT\"S,S-5rUS.rV"S/S0\"S0S155rW"S2S3\W\5rX"S4S5\5rY\XR�4SSSS6.S7jjr[SG\\S8\XR�SSSSSS9.S:jjr]\[r^\]r_"S;S<5r`S=ra"S>S?\A5rb\b\Ylc\`\YldS@reSArfSBrgSCrhSDri\jS\F4SEjrkSFrlg!\"a GNBf=fs snnf)H�N)�
namedtuple)�Enum�IntEnum�IntFlag)�_simple_enum)�OPENSSL_VERSION_NUMBER�OPENSSL_VERSION_INFO�OPENSSL_VERSION)�_SSLContext�	MemoryBIO�
SSLSession)�SSLError�SSLZeroReturnError�SSLWantReadError�SSLWantWriteError�SSLSyscallError�SSLEOFError�SSLCertVerificationError)�txt2obj�nid2obj)�RAND_status�RAND_add�
RAND_bytes)�RAND_egd)�HAS_SNI�HAS_ECDH�HAS_NPN�HAS_ALPN�	HAS_SSLv2�	HAS_SSLv3�	HAS_TLSv1�HAS_TLSv1_1�HAS_TLSv1_2�HAS_TLSv1_3�HAS_PSK)�_DEFAULT_CIPHERS�_OPENSSL_API_VERSION�
_SSLMethodc�<�URS5=(a US:g$)N�	PROTOCOL_�PROTOCOL_SSLv23��
startswith��names �*/opt/alt/python313/lib64/python3.13/ssl.py�<lambda>r1}s������-�K�$�:K�2K�K�)�source�Optionsc�$�URS5$)N�OP_r,r.s r0r1r1�s
������'r2�AlertDescriptionc�$�URS5$)N�ALERT_DESCRIPTION_r,r.s r0r1r1�s�����!5�6r2�SSLErrorNumberc�$�URS5$)N�
SSL_ERROR_r,r.s r0r1r1�s
������.r2�VerifyFlagsc�$�URS5$)N�VERIFY_r,r.s r0r1r1�s
������+r2�
VerifyModec�$�URS5$)N�CERT_r,r.s r0r1r1�s
������)r2�PROTOCOL_SSLv2c��\rSrSr\R
r\Rr\Rr
\Rr\Rr\Rr\R"rSrg)�
TLSVersion��N)�__name__�
__module__�__qualname__�__firstlineno__�_ssl�PROTO_MINIMUM_SUPPORTED�MINIMUM_SUPPORTED�PROTO_SSLv3�SSLv3�PROTO_TLSv1�TLSv1�
PROTO_TLSv1_1�TLSv1_1�
PROTO_TLSv1_2�TLSv1_2�
PROTO_TLSv1_3�TLSv1_3�PROTO_MAXIMUM_SUPPORTED�MAXIMUM_SUPPORTED�__static_attributes__rGr2r0rErE�sQ���4�4�����E����E�� � �G�� � �G�� � �G��4�4�r2rEc�,�\rSrSrSrSrSrSrSrSr	Sr
g	)
�_TLSContentType�������rGN)rHrIrJrK�CHANGE_CIPHER_SPEC�ALERT�	HANDSHAKE�APPLICATION_DATA�HEADER�INNER_CONTENT_TYPEr[rGr2r0r]r]�s%�����E��I���
�F��r2r]c��\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
SrS
rSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSr Sr!S r"S!r#S"r$S#r%S$r&g%)&�
_TLSAlertType�r�
r_r`ra��(�)�*�+�,�-�.�/�0�1�2�3�<�F�G�P�V�Z�d�m�n�o�p�q�r�s�t�xrGN)'rHrIrJrK�CLOSE_NOTIFY�UNEXPECTED_MESSAGE�BAD_RECORD_MAC�DECRYPTION_FAILED�RECORD_OVERFLOW�DECOMPRESSION_FAILURE�HANDSHAKE_FAILURE�NO_CERTIFICATE�BAD_CERTIFICATE�UNSUPPORTED_CERTIFICATE�CERTIFICATE_REVOKED�CERTIFICATE_EXPIRED�CERTIFICATE_UNKNOWN�ILLEGAL_PARAMETER�
UNKNOWN_CA�
ACCESS_DENIED�DECODE_ERROR�
DECRYPT_ERROR�EXPORT_RESTRICTION�PROTOCOL_VERSION�INSUFFICIENT_SECURITY�INTERNAL_ERROR�INAPPROPRIATE_FALLBACK�
USER_CANCELED�NO_RENEGOTIATION�MISSING_EXTENSION�UNSUPPORTED_EXTENSION�CERTIFICATE_UNOBTAINABLE�UNRECOGNIZED_NAME�BAD_CERTIFICATE_STATUS_RESPONSE�BAD_CERTIFICATE_HASH_VALUE�UNKNOWN_PSK_IDENTITY�CERTIFICATE_REQUIRED�NO_APPLICATION_PROTOCOLr[rGr2r0rlrl�s����L����N����O������N��O� �����������J��M��L��M��������N����M�������"����&)�#�!$������!�r2rlc�l�\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
SrS
rSrSrSrSrSrSrSrSrSrSrSrg)�_TLSMessageType��r����������
���r_r`rarb��C�rdrGN)rHrIrJrK�
HELLO_REQUEST�CLIENT_HELLO�SERVER_HELLO�HELLO_VERIFY_REQUEST�NEWSESSION_TICKET�END_OF_EARLY_DATA�HELLO_RETRY_REQUEST�ENCRYPTED_EXTENSIONS�CERTIFICATE�SERVER_KEY_EXCHANGE�CERTIFICATE_REQUEST�SERVER_DONE�CERTIFICATE_VERIFY�CLIENT_KEY_EXCHANGE�FINISHED�CERTIFICATE_URL�CERTIFICATE_STATUS�SUPPLEMENTAL_DATA�
KEY_UPDATE�
NEXT_PROTO�MESSAGE_HASHrer[rGr2r0r�r��s~���M��L��L������������K������K������H��O������J��J��L��r2r��win32)�enum_certificates�	enum_crls)�socket�SOCK_STREAM�create_connection)�
SOL_SOCKET�SO_TYPE�_GLOBAL_DEFAULT_TIMEOUT�
tls-unique�HOSTFLAG_NEVER_CHECK_SUBJECTc�6�U(dgURS5nU(d!UR5UR5:H$US:�a[SRU55eUR	S5up4nSU;a[SRU55eU(d[SRU55eUS:wa[SRU55eUR	S5updnU(aU(dgUR5UR5:H$)	NF�*r�z1too many wildcards in certificate DNS name: {!r}.�.z9wildcard can only be present in the leftmost label: {!r}.z>sole wildcard without additional labels are not support: {!r}.z<partial wildcards in leftmost label are not supported: {!r}.)�count�lower�CertificateError�format�	partition)�dn�hostname�	wildcards�dn_leftmost�sep�dn_remainder�hostname_leftmost�hostname_remainders        r0�_dnsname_matchr�s��������
�I���x�x�z�X�^�^�-�-�-��1�}��?�F�F�r�J�L�	L�&(�\�\�#�%6�"�K�l�
�l���
��F�2�J� �	 ���
��F�2�J� �	 ��c���
��F�2�J� �	 �2:�1C�1C�C�1H�.��.��C������#5�#;�#;�#=�=�=r2c��[R"U5n[R"U5U:XaU$[SR	U55e![
a Of=f[R"[RU5$![
a [SR	U55e[a Of=f[SR	U55e)Nz'{!r} is not a quad-dotted IPv4 address.z+{!r} is neither an IPv4 nor an IP6 address.z{!r} is not an IPv4 address.)	�_socket�	inet_aton�	inet_ntoa�
ValueErrorr��OSError�	inet_pton�AF_INET6�AttributeError)�ipname�addrs  r0�_inet_patonr�Is���
�� � ��(��
���T�"�f�,��K��9�@�@��H��
���
��
��
�� � ��!1�!1�6�:�:���4��$�$*�F�6�N�4�	4��
��
���3�:�:�6�B�
C�Cs#�A�
A�A�$B�-B4�3B4c�<�[UR55nX!:H$�N)r��rstrip)�cert_ipaddress�host_ip�ips   r0�_ipaddress_matchrls��
�^�*�*�,�	-�B�
�=�r2�DefaultVerifyPathszQcafile capath openssl_cafile_env openssl_cafile openssl_capath_env openssl_capathc�v�[R"5n[RR	USUS5n[RR	USUS5n[[RRU5(aUOS[RRU5(aUOS/UQ76$)Nrr�r�r�)	rL�get_default_verify_paths�os�environ�getr�path�isfile�isdir)�parts�cafile�capaths   r0rr|s���
�)�)�+�E��Z�Z�^�^�E�!�H�e�A�h�
/�F�
�Z�Z�^�^�E�!�H�e�A�h�
/�F�������v�(>�(>�f�D�(*���
�
�f�(=�(=�f�4�&�$�&�&r2c�X^�\rSrSrSrU4Sjr\U4Sj5r\U4Sj5rSr	U=r
$)�_ASN1Objecti�rGc�6>�[TU]"U/[USS9Q76$)NFr.��super�__new__�_txt2obj)�cls�oid�	__class__s  �r0r�_ASN1Object.__new__�s����w��s�?�X�c��%>�?�?r2c�8>�[TU]"U/[U5Q76$r�)rr�_nid2obj)r�nidrs  �r0�fromnid�_ASN1Object.fromnid�s����w��s�3�X�c�]�3�3r2c�6>�[TU]"U/[USS9Q76$)NTr.r)rr/rs  �r0�fromname�_ASN1Object.fromname�s ����w��s�?�X�d��%>�?�?r2)rHrIrJrK�	__slots__r�classmethodrr"r[�
__classcell__�rs@r0rr�s:����I�@��4��4�
�@��@r2rznid shortname longname oidc��\rSrSrSrSrSrg)�Purposei�z1.3.6.1.5.5.7.3.1z1.3.6.1.5.5.7.3.2rGN)rHrIrJrK�SERVER_AUTH�CLIENT_AUTHr[rGr2r0r)r)�s��&�K�%�Kr2r)c�^�\rSrSrSrSrSrS SjrSrS!Sjr	S"Sjr
SrS	rS
r
Sr\R 4Sjr\"\S
5(a@\U4Sj5r\R,U4Sj5r\U4Sj5r\R,U4Sj5r\U4Sj5r\R,U4Sj5r\"\S5(a\S5r\R,S5rO\S5r\U4Sj5r\R,U4Sj5r\U4Sj5r\U4Sj5r\R,U4Sj5r\U4Sj5r\R,U4Sj5rSrU=r $)#�
SSLContexti�)�CA�ROOTNc�x�Uc [R"S[SS9 [n[R
"X5nU$)Nz9ssl.SSLContext() without protocol argument is deprecated.r�)�category�
stacklevel)�warnings�warn�DeprecationWarning�PROTOCOL_TLSrr)r�protocol�args�kwargs�selfs     r0r�SSLContext.__new__�s9�����M�M�K�+��
�
$�H��"�"�3�1���r2c��Ucg[U[5(a URS5RS5$URS5$)N�idna�ascii)�
isinstance�str�encode�decode)r:r�s  r0�_encode_hostname�SSLContext._encode_hostname�sA�����
��#�
&�
&��?�?�6�*�1�1�'�:�:��?�?�7�+�+r2c
�@�URRUUUUUUUS9$)N)�sock�server_side�do_handshake_on_connect�suppress_ragged_eofs�server_hostname�context�session)�sslsocket_class�_create)r:rFrGrHrIrJrLs       r0�wrap_socket�SSLContext.wrap_socket�s7���#�#�+�+��#�$;�!5�+���,�
�	
r2c	�X�URRXUURU5XPS9$)N)rGrJrLrK)�sslobject_classrNrC)r:�incoming�outgoingrGrJrLs      r0�wrap_bio�SSLContext.wrap_bio�s8���#�#�+�+��K� �1�1�/�B��,�
�	
r2c�@�[R"S[SS9 [5nUHcn[	US5n[U5S:Xd[U5S:�a[
S5eUR[U55 URU5 Me URU5 g)N�'ssl NPN is deprecated, use ALPN insteadr��r2r>r�z(NPN protocols must be 1 to 255 in length)
r3r4r5�	bytearray�bytes�lenr�append�extend�_set_npn_protocols)r:�
npn_protocols�protosr7�bs     r0�set_npn_protocols�SSLContext.set_npn_protocols�s����
�
�5���	
�
���%�H��h��(�A��1�v��{�c�!�f�s�l��I�J�J��M�M�#�a�&�!��M�M�!��&�	
����'r2c�p^^�TcSTlg[T5(d[S5eUU4SjnUTlg)Nznot a callable objectc�8>�TRU5nT"XU5$r�)rC)�sslobj�
servername�sslctxr:�server_name_callbacks   ��r0�shim_cb�3SSLContext.set_servername_callback.<locals>.shim_cb�s ���!�2�2�:�>�
�+�F��G�Gr2)�sni_callback�callable�	TypeError)r:rkrls`` r0�set_servername_callback�"SSLContext.set_servername_callback�s9����'� $�D���0�1�1�� 7�8�8�
H�!(�D�r2c��[5nUHcn[US5n[U5S:Xd[U5S:�a[S5eUR	[U55 URU5 Me UR
U5 g)Nr>rrZz)ALPN protocols must be 1 to 255 in length)r[r\r]rr^r_�_set_alpn_protocols)r:�alpn_protocolsrbr7rcs     r0�set_alpn_protocols�SSLContext.set_alpn_protocols�sl�����&�H��h��(�A��1�v��{�c�!�f�s�l��J�K�K��M�M�#�a�&�!��M�M�!��'�	
� � ��(r2c�>�[U5H5up4nUS:XdMUSLdURU;dM%URUS9 M7 g![a%n[R
"SU<35 SnAMdSnAff=f![a [R
"S5 gf=f)N�x509_asnT)�cadataz.Bad certificate in Windows certificate store: z-unable to enumerate Windows certificate store)r�r�load_verify_locationsrr3r4�PermissionError)r:�	storename�purpose�cert�encoding�trust�excs       r0�_load_windows_store_certs�$SSLContext._load_windows_store_certss���
	K�):�9�)E�%����z�)���}����u�(<�d� �6�6�d�6�C�*F�� (�d�$�M�M�,Z�[^�Za�*b�c�c��d���	K��M�M�I�J�	K�s?�A9�A9�A�A9�
A6�A1�+A9�1A6�6A9�9 B�Bc���[U[5(d[U5e[RS:Xa$UR
HnUR
X!5 M UR5 g)Nr�)r?rrp�sys�platform�_windows_cert_storesr��set_default_verify_paths)r:r~r}s   r0�load_default_certs�SSLContext.load_default_certssP���'�;�/�/��G�$�$��<�<�7�"�!�6�6�	��.�.�y�B�7��%�%�'r2�minimum_versionc�*>�[[TU]5$r�)rErr��r:rs �r0r��SSLContext.minimum_version�����e�g�5�6�6r2c�>�U[R:Xa$U=R[R)-sl[
[[]RX5 gr�)	rErP�optionsr4�OP_NO_SSLv3rr-r��__set__�r:�valuers  �r0r�r�s=����
�(�(�(�����!4�!4� 4�4���*�j�9�A�A�$�Nr2c�*>�[[TU]5$r�)rEr�maximum_versionr�s �r0r��SSLContext.maximum_version#r�r2c�H>�[[[]
RX5 gr�)rr-r�r�r�s  �r0r�r�'s����*�j�9�A�A�$�Nr2c�*>�[[TU]5$r�)r4rr�r�s �r0r��SSLContext.options+s����u�w��'�'r2c�H>�[[[]
RX5 gr�)rr-r�r�r�s  �r0r�r�/s���
�j�*�-�5�5�d�Br2r�c�b�UR[R-nU[R:g$r���_host_flagsrLr�)r:�ncss  r0�hostname_checks_common_name�&SSLContext.hostname_checks_common_name4s)���"�"�T�%F�%F�F�C��$�;�;�;�;r2c��U(a%U=R[R)-slgU=R[R-slgr�r�)r:r�s  r0r�r�9s6���� � �T�%F�%F�$F�F� �� � �D�$E�$E�E� r2c��g�NTrG�r:s r0r�r�@s��r2c�8>�[TU]nUbUR$gr�)r�
_msg_callback�
user_function)r:�innerrs  �r0r��SSLContext._msg_callbackDs%���B��%�����&�&�&�r2c��>^�Tc#[[[]
RUS5 g[	TS5(d[TS35eU4SjnTUl[[[]
RX5 g)N�__call__z is not callable.c�4>�[U5n[U5nU[R:Xa[nO!U[R:Xa[
nO[nU"U5nT"XUX4U5$![a Nhf=f![a Nlf=f![a N7f=fr�)rEr�r]rirfrlr�)�conn�	direction�version�content_type�msg_type�data�msg_enum�callbacks       �r0r��'SSLContext._msg_callback.<locals>.innerts����
�$�W�-��
�.�|�<����5�5�5�*����!6�!6�6�(��*��
�#�H�-���D�W�(�D�:�
:��'�
��
��
�
��
���
��
�s4�A*�A:�B
�*
A7�6A7�:
B�B�

B�B)rr-r�r��hasattrrpr�)r:r�r�rs ` �r0r�r�ksg������*�j�7�?�?��d�K���x��,�,��x�j�(9�:�;�;�	:�2'���
�j�*�3�;�;�D�Hr2c�*>�[[TU]5$r�)r(rr7r�s �r0r7�SSLContext.protocol�s����%�'�*�+�+r2c�*>�[[TU]5$r�)r=r�verify_flagsr�s �r0r��SSLContext.verify_flags�s����5�7�/�0�0r2c�H>�[[[]
RX5 gr�)rr-r�r�r�s  �r0r�r��s���
�j�*�2�:�:�4�Gr2c�T>�[TU]n[U5$![a Us$f=fr�)r�verify_moder@r�r�s  �r0r��SSLContext.verify_mode�s1�����#��	��e�$�$���	��L�	�s�
�'�'c�H>�[[[]
RX5 gr�)rr-r�r�r�s  �r0r�r��s���
�j�*�1�9�9�$�Fr2)rnr�)FTTNN)FNN)!rHrIrJrKr�rMrRrrCrOrUrdrqrvr�r)r*r�r�r�propertyr��setterr�r�rLr�r�r7r�r�r[r&r's@r0r-r-�s����*���O��O�	�,�-2�,0�)-�26�
� 8=�/3�
�(� (�	)�K�*1�)<�)<�(��{�-�.�.�	�	7�
�	7�
�	�	�	O�
 �	O�

�	7�
�	7�
�	�	�	O�
 �	O��(��(�
�^�^�C��C��t�3�4�4�	�	<�
�	<�
%�	+�	+�	F�
,�	F�
�	�
�	��$��$�L���#I��#I�J�,��,��1��1����H��H��������G��Gr2r-)rrrzc���[U[5(d[U5eU[R:Xa"[[5n[UlSUl	O/U[R:Xa[[5nO[U5eU=R[R[R --sl
U(dU(dU(aUR#XU5 O%UR[$:waUR'U5 [)US5(aK[*R,R/S5nU(a%[0R2R4(dXTlU$)NT�keylog_filename�
SSLKEYLOGFILE)r?rrpr)r*r-�PROTOCOL_TLS_CLIENT�
CERT_REQUIREDr��check_hostnamer+�PROTOCOL_TLS_SERVERr�r�rL�VERIFY_X509_PARTIAL_CHAIN�VERIFY_X509_STRICTr{�	CERT_NONEr�r�rr	r
r��flags�ignore_environmentr�)r~rrrzrK�
keylogfiles      r0�create_default_contextr��s���g�{�+�+��� � �
�'�%�%�%��0�1��+���!%���	�G�'�'�	'��0�1����!�!����T�;�;�!�4�4�5�6����6��%�%�f�f�=�	�	�	�	�	)�	�"�"�7�+��w�)�*�*��Z�Z�^�^�O�4�
��c�i�i�:�:�&0�#��Nr2F)�	cert_reqsr�r~�certfile�keyfilerrrzc���[U[5(d[U5eU[R:Xa
Uc[
nO)U[R:Xa
Uc[nO[U5e[U5n	X)l
UbXlU(aSU	l
U(aU(d[S5eU(dU(aU	RXE5 U(dU(dU(aU	RXgU5 O%U	R[:waU	RU5 [!U	S5(aK["R$R'S5n
U
(a%[(R*R,(dX�lU	$)NTzcertfile must be specifiedr�r�)r?rrpr)r*r�r+r�r�r-r�r��load_cert_chainr{r�r�r�rr	r
r�r�r�r�)r7r�r�r~r�r�rrrzrKr�s           r0�_create_unverified_contextr��s���g�{�+�+��� � �
�'�%�%�%���*�H��	�G�'�'�	'���*�H����!�!���"�G�+����'���!%����x��5�6�6��7�����2���6��%�%�f�f�=�	�	�	�	�	)�	�"�"�7�+��w�)�*�*��Z�Z�^�^�O�4�
��c�i�i�:�:�&0�#��Nr2c�6�\rSrSrSr\SSj5r\S5r\RS5r\S5r
\
RS5r
\S	5r\S
5r\S5r
SSjrS
rSSjrSrSrSrSrSrSrSrSrSrSrS SjrSrSrSrg)!�	SSLObjectic�F�[URRS35e)NzU does not have a public constructor. Instances are returned by SSLContext.wrap_bio().�rprrH�r:r8r9s   r0�__init__�SSLObject.__init__'s+����~�~�&�&�'�(L�
M�
�	
r2Nc	�X�URU5nURXUUXuS9nX�lU$)N)rGrJ�ownerrL)r�	_wrap_bio�_sslobj)	rrSrTrGrJrLrKr:rhs	         r0rN�SSLObject._create-s>���{�{�3����"�"��K�+��#�
��
���r2c�.�URR$r��r�rKr�s r0rK�SSLObject.context9����|�|�#�#�#r2c�$�XRlgr�r��r:�ctxs  r0rKr�>s��"���r2c�.�URR$r��r�rLr�s r0rL�SSLObject.sessionBr�r2c�$�XRlgr�r��r:rLs  r0rLr�Gs��&���r2c�.�URR$r��r��session_reusedr�s r0r��SSLObject.session_reusedKs���|�|�*�*�*r2c�.�URR$r�)r�rGr�s r0rG�SSLObject.server_sidePs���|�|�'�'�'r2c�.�URR$r�)r�rJr�s r0rJ�SSLObject.server_hostnameUs���|�|�+�+�+r2c�|�UbURRX5nU$URRU5nU$r�)r��read)r:r]�buffer�vs    r0r��SSLObject.read[s@�������!�!�#�.�A������!�!�#�&�A��r2c�8�URRU5$r�)r��write�r:r�s  r0r�SSLObject.writegs���|�|�!�!�$�'�'r2c�8�URRU5$r�)r��getpeercert�r:�binary_forms  r0r�SSLObject.getpeercertos���|�|�'�'��4�4r2c��URR5nUc/$UVs/sH!o"R[R5PM# sn$s snfr��r��get_verified_chain�public_bytesrL�ENCODING_DER�r:�chainrs   r0r
�SSLObject.get_verified_chainxsG�����/�/�1���=��I�AF�G���!�!�$�"3�"3�4��G�G��G��(Ac��URR5nUc/$UVs/sH!o"R[R5PM# sn$s snfr��r��get_unverified_chainrrLrr
s   r0r�SSLObject.get_unverified_chain�sG�����1�1�3���=��I�AF�G���!�!�$�"3�"3�4��G�G��Grc�8�[R"S[SS9 g�NrXr�rY)r3r4r5r�s r0�selected_npn_protocol�SSLObject.selected_npn_protocol�s��	�
�
�5���	
r2c�6�URR5$r�)r��selected_alpn_protocolr�s r0r� SSLObject.selected_alpn_protocol�s���|�|�2�2�4�4r2c�6�URR5$r�)r��cipherr�s r0r�SSLObject.cipher�s���|�|�"�"�$�$r2c�6�URR5$r�)r��shared_ciphersr�s r0r �SSLObject.shared_ciphers�s���|�|�*�*�,�,r2c�6�URR5$r�)r��compressionr�s r0r#�SSLObject.compression�s���|�|�'�'�)�)r2c�6�URR5$r�)r��pendingr�s r0r&�SSLObject.pending�s���|�|�#�#�%�%r2c�8�URR5 gr�)r��do_handshaker�s r0r)�SSLObject.do_handshake�s�����!�!�#r2c�6�URR5$r�)r��shutdownr�s r0�unwrap�SSLObject.unwrap�s���|�|�$�$�&�&r2c�8�URRU5$r�)r��get_channel_binding�r:�cb_types  r0r0�SSLObject.get_channel_binding�s���|�|�/�/��8�8r2c�6�URR5$r��r�r�r�s r0r��SSLObject.version�s���|�|�#�#�%�%r2c�6�URR5$r�)r��verify_client_post_handshaker�s r0r8�&SSLObject.verify_client_post_handshake�s���|�|�8�8�:�:r2)r�)FNNN��N�F�r�)rHrIrJrKr�r%rNr�rKr�rLr�rGrJr�rrr
rrrrr r#r&r)r-r0r�r8r[rGr2r0r�r�s��
��5:�=A�	��	��$��$�
�^�^�#��#��$��$�
�^�^�'��'��+��+��(��(��,��,�

�(�5�H�	H�
�5�%�
-�*�
&�$�'�9�&�
;r2r�c�X�[[UR5RUlU$r�)�getattrr�rH�__doc__)�funcs r0�_sslcopydocrB�s���9�d�m�m�4�<�<�D�L��Kr2c�^�\rSrSrSr\S.U4Sjj5r\\S55r	\	RS5r	\\S55r\RS5r\\S55rS	r
S/S
jrSrS0SjrS
r\S1Sj5r\S5r\S5r\S5r\S5r\S5r\S5r\S5rS2U4SjjrS/U4SjjrSrS2U4SjjrS3U4SjjrS4U4SjjrS5U4Sjjr S4U4Sjjr!S5U4Sjjr"Sr#S r$\S!5r%U4S"jr&\S#5r'\S$5r(U4S%jr)\S1S&j5r*U4S'jr+S(r,S)r-U4S*jr.\S6S+j5r/\S,5r0S-r1U=r2$)7�	SSLSocketi�c�F�[URRS35e)NzX does not have a public constructor. Instances are returned by SSLContext.wrap_socket().r�r�s   r0r��SSLSocket.__init__�s)����~�~�&�&�'�((�
)�
�	
r2c�>�UR[[5[:wa[	S5eU(a U(a[S5eUb[S5eUR(aU(d[S5eUR5n[URURURUR5S9n	UR"U40U	D6n
[[U
]B"S0U	D6 UR#5 XjlXzlSU
lSU
lX*lUR/U5U
lX:lXJlU
R75 SnU
RMU5 X�l'U(alU
R$RQX�U
R0X�R&S9U
lU(a1U
R5nUS:Xa[S
5eU
RS5 U
$![8a�nUR:[:R<:waeSnU
R?5n
U
RAS5 U
RCS5nOH![8a;nUR:[:R<[:RD4;aeS	nSnAOSnAff=fU
RAU
5 U(a0S
n[GWR:U5nUUl$SUl%Ue!Snf=fSnAGN�SnAff=f! U
RU5 e![8a ef=f=f)Nz!only stream sockets are supportedz4server_hostname can only be specified in client modez,session can only be specified in client modez'check_hostname requires server_hostname)�family�type�proto�filenoFTr�r2z5Closed before TLS handshake with data in recv buffer.�r�rL�zHdo_handshake_on_connect should not be specified for non-blocking socketsrG)+�
getsockoptr�r�r��NotImplementedErrorr�r��
gettimeout�dictrHrIrJrKrrrDr��detach�_context�_session�_closedr�rGrCrJrHrI�getpeernamer��errno�ENOTCONN�getblocking�setblocking�recv�EINVALr�reason�library�
settimeout�
_connected�_wrap_socketr)�close)rrFrGrHrIrJrKrL�sock_timeoutr9r:�	connected�e�blocking�notconn_pre_handshake_datar]� notconn_pre_handshake_data_error�timeoutrs                  �r0rN�SSLSocket._create�s�����?�?�:�w�/�;�>�%�&I�J�J��� �"2�3�3��"� �"/�0�0��!�!�/��F�G�G����(����;�;�T�Y�Y�d�j�j��;�;�=�
���{�{�3�)�&�)��
�i��'�1�&�1����
�C	�#�M�#�M� �D�L��D�L�*��#*�#;�#;�O�#L�D� �+B�(�(<�%�#
!�� � �"�D!�	��O�O�L�)�'�O��#�}�}�9�9��t�';�';��
�
� :� ���+�"�o�o�/�G��#�~�(�)s�t�t��%�%�'����o�
@��7�7�e�n�n�,��!�	��+�+�-��� � ��'�
5�
26���1��.���5��w�w�u�~�~�u�|�|�&D�D��14�.��	5��
� � ��*�-�U�F�7?�����7P�4�>D�4�;�?C�4�<�@�>�>��<@�8��.��%
@��b	�
��
�
��
���
���
�s��9AK�<G�BK�
K�$AK�'H9�8K�9
I>�1I9�4K�9I>�>AK�K�K�K�	K�K�K�K;�K+�*K;�+
K8�5K;�7K8�8K;c��UR$r�)rSr�s r0rK�SSLSocket.context=s���}�}�r2c�0�XlXRlgr�)rSr�rKr�s  r0rKrlBs���
�"���r2c�J�URbURR$gr�r�r�s r0rL�SSLSocket.sessionGs#���<�<�#��<�<�'�'�'�$r2c�L�XlURbXRlggr�)rTr�rLr�s  r0rLroMs ���
��<�<�#�#*�L�L� �$r2c�J�URbURR$gr�r�r�s r0r��SSLSocket.session_reusedSs#���<�<�#��<�<�.�.�.�$r2c�F�[SURR-5e)NzCan't dup() %s instances)rOrrHr�s r0�dup�
SSLSocket.dupYs$��!�"<�"&�.�.�"9�"9�#:�;�	;r2c��gr�rG)r:�msgs  r0�_checkClosed�SSLSocket._checkClosed]s��r2c�H�UR(dUR5 ggr�)r`rVr�s r0�_check_connected�SSLSocket._check_connectedas�����

����r2c�V�UR5 URc[S5eUbURRX5$URRU5$![a;nUR
S[:XaUR(a
UbSnAgSnAgeSnAff=f)Nz'Read on closed or unwrapped SSL socket.rr2)rxr�r�r�rr8�
SSL_ERROR_EOFrI)r:r]r��xs    r0r��SSLSocket.readis���	
�����<�<���F�G�G�	��!��|�|�(�(��5�5��|�|�(�(��-�-���	��v�v�a�y�M�)�d�.G�.G��%�����	�s#�A#�A#�#
B(�-+B#�"B#�#B(c��UR5 URc[S5eURRU5$)Nz(Write on closed or unwrapped SSL socket.)rxr�r�rrs  r0r�SSLSocket.write~s;��	
�����<�<���G�H�H��|�|�!�!�$�'�'r2c�x�UR5 UR5 URRU5$r�)rxr{r�rrs  r0r�SSLSocket.getpeercert�s/�����������|�|�'�'��4�4r2c��URR5nUc/$UVs/sH!o"R[R5PM# sn$s snfr�r	r
s   r0r
�SSLSocket.get_verified_chain�sE�����/�/�1���=��I�AF�G���!�!�$�"3�"3�4��G�G��Grc��URR5nUc/$UVs/sH!o"R[R5PM# sn$s snfr�rr
s   r0r�SSLSocket.get_unverified_chain�sE�����1�1�3���=��I�AF�G���!�!�$�"3�"3�4��G�G��Grc�X�UR5 [R"S[SS9 gr)rxr3r4r5r�s r0r�SSLSocket.selected_npn_protocol�s(�������
�
�5���	
�
r2c��UR5 URb[R(dgURR	5$r�)rxr�rLrrr�s r0r� SSLSocket.selected_alpn_protocol�s4�������<�<��t�}�}���<�<�6�6�8�8r2c�r�UR5 URcgURR5$r�)rxr�rr�s r0r�SSLSocket.cipher�s.�������<�<����<�<�&�&�(�(r2c�r�UR5 URcgURR5$r�)rxr�r r�s r0r �SSLSocket.shared_ciphers�s.�������<�<����<�<�.�.�0�0r2c�r�UR5 URcgURR5$r�)rxr�r#r�s r0r#�SSLSocket.compression�s.�������<�<����<�<�+�+�-�-r2c��>�UR5 URb9US:wa[SUR-5eURR	U5$[
TU]X5$)Nrz3non-zero flags not allowed in calls to send() on %s)rxr�r�rrr�send)r:r�r�rs   �r0r��SSLSocket.send�sb��������<�<�#���z� �I��N�N�#�$�$��<�<�%�%�d�+�+��7�<��,�,r2c�>�UR5 URb[SUR-5eUc[TU]X5$[TU]XU5$)Nz%sendto not allowed on instances of %s)rxr�r�rr�sendto)r:r��
flags_or_addrr�rs    �r0r��SSLSocket.sendto�sZ��������<�<�#��D�!�^�^�,�-�
-�
�\��7�>�$�6�6��7�>�$�t�<�<r2c�2�[SUR-5e)Nz&sendmsg not allowed on instances of %s�rOrr�s   r0�sendmsg�SSLSocket.sendmsg�s ��"�"J�"&�.�.�#1�2�	2r2c�>�UR5 URb|US:wa[SUR-5eSn[	U5oDRS5n[
U5nX6:aURXSS5nX7-
nX6:aMSSS5 SSS5 g[TU]%X5$!,(df   N&=f!,(df   g=f)Nrz6non-zero flags not allowed in calls to sendall() on %s�B)
rxr�r�r�
memoryview�castr]r�r�sendall)	r:r�r�r��view�	byte_view�amountr�rs	        �r0r��SSLSocket.sendall�s���������<�<�#���z� �L��N�N�#�$�$��E��D�!�T�9�9�S�>�Y��Y����n��	�	�)�F�"3�4�A��J�E��n�,:�!�!��7�?�4�/�/�
,:�>��!�!�s$�
B;�-B*�
B;�*
B8	�4B;�;
C	c�b>�URbURXU5$[TU]
XU5$r�)r��_sendfile_use_sendr�sendfile)r:�file�offsetr�rs    �r0r��SSLSocket.sendfile�s6����<�<�#��*�*�4��?�?��7�#�D�%�8�8r2c�>�UR5 URb/US:wa[SUR-5eUR	U5$[
TU]X5$)Nrz3non-zero flags not allowed in calls to recv() on %s)rxr�r�rr�rr[�r:�buflenr�rs   �r0r[�SSLSocket.recv�s\��������<�<�#���z� �I��N�N�#�$�$��9�9�V�$�$��7�<��.�.r2c�B>�UR5 Uc/Ub*[U5nURnSSS5 U(dSnOSnURb/US:wa[	SUR
-5eUR
X!5$[TU]!XU5$!,(df   Nf=f)Nr;rz8non-zero flags not allowed in calls to recv_into() on %s)	rxr��nbytesr�r�rr�r�	recv_into)r:r�r�r�r�rs     �r0r��SSLSocket.recv_into	s���������>��!���'�4�!�[�[�F�(��!�F�����<�<�#���z� �L��.�.�!�"�"��9�9�V�,�,��7�$�V�U�;�;�(�'�s�
B�
Bc�>�UR5 URb[SUR-5e[TU]X5$)Nz'recvfrom not allowed on instances of %s)rxr�r�rr�recvfromr�s   �r0r��SSLSocket.recvfromsG��������<�<�#��F�!�^�^�,�-�
-��7�#�F�2�2r2c�>�UR5 URb[SUR-5e[TU]XU5$)Nz,recvfrom_into not allowed on instances of %s)rxr�r�rr�
recvfrom_into)r:r�r�r�rs    �r0r��SSLSocket.recvfrom_into$sI��������<�<�#��K�!�^�^�,�-�
-��7�(���?�?r2c�2�[SUR-5e)Nz&recvmsg not allowed on instances of %sr�r�s   r0�recvmsg�SSLSocket.recvmsg,s��!�"J�"&�.�.�#1�2�	2r2c�2�[SUR-5e)Nz+recvmsg_into not allowed on instances of %sr�r�s   r0�recvmsg_into�SSLSocket.recvmsg_into0s ��!�#'�)-���#8�9�	9r2c�r�UR5 URbURR5$g�Nr)rxr�r&r�s r0r&�SSLSocket.pending4s.�������<�<�#��<�<�'�'�)�)�r2c�R>�UR5 SUl[TU]
U5 gr�)rxr�rr,)r:�howrs  �r0r,�SSLSocket.shutdown<s#����������
����r2c��UR(a#URR5nSUlU$[S[U5-5e�NzNo SSL wrapper around )r�r,r�r@)r:�ss  r0r-�SSLSocket.unwrapAs<���<�<����%�%�'�A��D�L��H��5��D�	�A�B�Br2c��UR(aURR5$[S[U5-5er�)r�r8r�r@r�s r0r8�&SSLSocket.verify_client_post_handshakeJs1���<�<��<�<�<�<�>�>��5��D�	�A�B�Br2c�0>�SUl[TU]	5 gr�)r�r�_real_closer�s �r0r��SSLSocket._real_closeQs������
���r2c��UR5 UR5nUS:XaU(aURS5 URR	5 URU5 g!URU5 f=f)NrM)r{rPr_r�r))r:�blockris   r0r)�SSLSocket.do_handshakeUs]�������/�/�#��	%��#�~�%�����%��L�L�%�%�'��O�O�G�$��D�O�O�G�$�s�8A,�,A?c��>�UR(a[S5eUR(d
URb[S5eURRUSURXRS9UlU(a[TU]%U5nOSn[TU])U5 U(d(SUlUR(aUR5 U$![[4a	 SUlef=f)Nz!can't connect in server-side modez/attempt to connect already-connected SSLSocket!FrLT)rGr�r`r�rKrarJrTr�
connect_ex�connectrHr)r�)r:r�r��rcrs    �r0�
_real_connect�SSLSocket._real_connect`s��������@�A�A��?�?�d�l�l�6��N�O�O��|�|�0�0��%��-�-��
�
�1�
���
	���W�'��-��������%��"&����/�/��%�%�'��I����$�	��D�L��	�s
�=AC�C/c�(�URUS5 g)NF�r��r:r�s  r0r��SSLSocket.connectzs��	
���4��'r2c�&�URUS5$r�r�r�s  r0r��SSLSocket.connect_exs���!�!�$��-�-r2c�>�[TU]5upURRUURUR
SS9nX4$)NT)rHrIrG)r�acceptrKrOrHrI)r:�newsockr�rs   �r0r��SSLSocket.accept�sM���
���(�
���,�,�*�*�7�,0�,H�,H�)-�)B�)B� $�+�&���}�r2c��URbURRU5$U[;a[SR	U55eg)Nz({0} channel binding type not implemented)r�r0�CHANNEL_BINDING_TYPESr�r�r1s  r0r0�SSLSocket.get_channel_binding�sJ���<�<�#��<�<�3�3�G�<�<��3�3� �>�E�E�g�N���r2c�R�URbURR5$gr�r5r�s r0r��SSLSocket.version�s"���<�<�#��<�<�'�'�)�)�r2)	rUr`rSrTr�rHrJrGrI)FTTNNNr�r:r<)r)rN)r;rr�r=)3rHrIrJrKr�r%rNr�rBrKr�rLr�rtrxr{r�rrr
rrrrr r#r�r�r�r�r�r[r�r�r�r�r�r&r,r-r8r�r)r�r�r�r�r0r�r[r&r's@r0rDrD�s;���

��FJ�;?�&*�\��\�|������
�^�^�#��#���(���(�
�^�^�+��+�
��/���/�;�
���*(��5��5�
�H��H��H��H������9��9��)��)��1��1��.��.�	-�=�2�0� 9�	/�<�&3�@�2�9������
�C��C��C��C���%��%��4(�
.�

��������r2rDc���SSKJn SSKJn SnSnUR	USSR55S-nU"USSU5nU"USU4USS	-5$![a [
S
U<SU<S35ef=f)
Nr)�strptime)�timegm)�Jan�Feb�Mar�Apr�May�Jun�Jul�Aug�Sep�Oct�Nov�Decz %d %H:%M:%S %Y GMTr�r�r�r�z
time data z does not match format "%b�")�timer��calendarr��index�titler�)�	cert_timer�r��months�time_format�month_number�tts       r0�cert_time_to_secondsr�s������F�(�K�
7��|�|�I�b�q�M�$7�$7�$9�:�Q�>���i���m�[�
1���r�!�u�l�+�b��1�g�5�6�6���F��-6��E�F�	F�F�s�%A�A5z-----BEGIN CERTIFICATE-----z-----END CERTIFICATE-----c�
�[[R"U5SS5n[/nU[	S[U5S5Vs/sH	o1X3S-PM sn-
nUR
[S-5 SRU5$s snf)N�ASCII�strictr�@�
)	r@�base64�standard_b64encode�
PEM_HEADER�ranger]r^�
PEM_FOOTER�join)�der_cert_bytes�f�ss�is    r0�DER_cert_to_PEM_certr�sv��	�F�%�%�n�5�w��I�A�
��B��e�A�s�1�v�r�2�
3�2��Q��t�9�2�
3�3�B��I�I�j�4�� ��9�9�R�=���4s�Bc�v�UR[5(d[S[-5eUR5R	[
5(d[S[
-5eUR5[
[5[
[
5*n[R"URSS55$)Nz(Invalid PEM encoding; must start with %sz&Invalid PEM encoding; must end with %srr)
r-r	r��strip�endswithrr]r�decodebytesrA)�pem_cert_string�ds  r0�PEM_cert_to_DER_certr�s����%�%�j�1�1��C�%�&�'�	'�� � �"�+�+�J�7�7��A�%�&�'�	'������J���Z��0@�A�A����a�h�h�w��9�:�:r2c��UupEUb[nO[n[UUUS9n[XS9nUR	X�S9n	U	RS5n
SSS5 SSS5 [
W
5$!,(df   N!=f!,(df   N*=f)N)r�r)ri)rJT)r�r��_create_stdlib_contextr�rOrr)r��ssl_version�ca_certsri�host�portr�rKrF�sslsock�dercerts           r0�get_server_certificater!�s����J�D���!�	��	�$�[�/8�,4�6�G�
�4�	1�T�
�
 �
 ��
 �
<���)�)�$�/�G�=�
2� ��(�(�=�
<��
2�	1�s"�A7�A&�A7�&
A4	�0A7�7
Bc�.�[RUS5$)Nz	<unknown>)�_PROTOCOL_NAMESr
)�
protocol_codes r0�get_protocol_namer%�s�����}�k�:�:r2r�)mr�r�collectionsr�enumr�_Enumr�_IntEnumr�_IntFlagrrLrr	r
rrr
rrrrrrrrrrrrrrr�ImportErrorrrrrrr r!r"r#r$r%r&r'�	_convert_rHr(r6r+�__members__�itemsr#r?�_SSLv2_IF_EXISTSrEr]rlr�r�r�r�r�r�r�r�r�r�r�rrWr3r��socket_errorr�r��HAS_NEVER_CHECK_COMMON_NAME�_RESTRICTED_SERVER_CIPHERSr�r�r�rrrrr)r-r*r�r�r��_create_default_https_contextrr�rBrDrMrRrr	rrrr�r!r%)r/r�s00r0�<module>r4sP��|�	�"�H�H���N�N�3�3����:�2�2�	������8�����(�K���
	���
�x�'���
	�����6���
	����h�.���
	����8�+���
	����(�)���
0:�/F�/F�F��*�,�2<�2H�2H�2N�2N�2P�Q�2P�;�4�5�;�2P�Q���:�'7��>���h��5�5��5��h�������h��&"�&"��&"�R�h�� � �� �:�<�<�7��1�9�9�?�?��
�����%���%�d�,J�K��.��+��.>�b D�F	� � 4����&�@�*�]�,H�I�@�*&�k�5�&�AG��AG�H$+�#6�#6�.�$�"&�t�.�`4�9�*/��9L�9L�$(�$�"&�t�D�4�n!7��4��q;�q;�h�N��N�d'�
��&�
��
7�<+�
�
(�
��;�.A�$(�2I�)�,;��Q,�	��	��TRs�J�,J(�J%�$J%

?>