403Webshell
Server IP : 178.105.222.151  /  Your IP : 216.73.216.38
Web Server : nginx/1.28.3
System : Linux MNK 7.0.0-15-generic #15-Ubuntu SMP PREEMPT_DYNAMIC Wed Apr 22 16:06:43 UTC 2026 x86_64
User : www-data ( 33)
PHP Version : 8.5.4
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/botocore/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/botocore/__pycache__/auth.cpython-314.pyc
+
��i�����^RIt^RIt^RIt^RIt^RIt^RIt^RIt^RIt^RIH	t	^RI
Ht^RIH
t
Ht^RIHt^RIHtHtHtHtHtHtHtHtHtHtHt^RIHtHtH t H!t!^RI"H#t#H$t$H%t%]PL!]'4t(R	t)RIt*R
t+Rt,.RJOt-Rt.R
t/Rt0Rt1!RR4t2!RR]24t3!RR]24t4!RR]24t5!RR]24t6!RR]64t7!RR]74t8!RR]84t9!R R!]84t:!R"R#]64t;!R$R%];4t<!R&R']64t=!R(R)]24t>!R*R+]>4t?!R,R-]>4t@!R.R/]34tAR0tBR1tCR2]4R3]5R4]5R5]>R6]?R7]@R8]=R9]8R:]:R;]9R<]A/tD]'d^R=IEHFtF]DP�]F4M]DP�R>]6R?];R@]7RA]</4RBR>RCRDRER<RFRG/tH]HP�4UUu/uFwrVP�RH4RK,VbK 	upptKR#uuppi)L�N)�Mapping��
formatdate)�sha1�sha256)�
itemgetter)�HAS_CRT�
MD5_AVAILABLE�HTTPHeaders�encodebytes�ensure_unicode�get_current_datetime�parse_qs�quote�unquote�urlsplit�
urlunsplit)�NoAuthTokenError�NoCredentialsError�UnknownSignatureVersionError� UnsupportedSignatureVersionError)�is_valid_ipv6_endpoint_url�normalize_url_path�percent_encode_sequence�@e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855z%Y-%m-%dT%H:%M:%SZz%Y%m%dT%H%M%SZzUNSIGNED-PAYLOADz"STREAMING-UNSIGNED-PAYLOAD-TRAILERc��\V4pVPp\V4'dRVR2pR^PRR/pVPe<VPVP	VP
48wdVRVP2pV#)�[�]�http�httpsi��:)r�hostnamer�port�get�scheme)�url�	url_parts�host�
default_portss&   �//usr/lib/python3/dist-packages/botocore/auth.py�_host_from_urlr+Js���
��
�I����D�!�#�&�&��4�&��{�������M��~�~�!��>�>�]�.�.�y�/?�/?�@�@��V�1�Y�^�^�,�-�D��K�c���VPp\V\4'd(\P!VPR44pV#\V\4'd\P!V4pV#��utf-8)�data�
isinstance�bytes�json�loads�decode�str)�requestr0s& r*�_get_body_as_dictr8]sZ��
�<�<�D��$�����z�z�$�+�+�g�.�/���K�
�D�#�	�	��z�z�$����Kr,c�.a�]tRt^jtoRtRtRtRtVtR#)�
BaseSignerFc��\R4h)�add_auth)�NotImplementedError��selfr7s&&r*r<�BaseSigner.add_authns
��!�*�-�-r,�N)	�__name__�
__module__�__qualname__�__firstlineno__�REQUIRES_REGION�REQUIRES_TOKENr<�__static_attributes__�__classdictcell__��
__classdict__s@r*r:r:js�����O��N�.�.r,r:c�,a�]tRt^rtoRtRtRtVtR#)�TokenSignerTc��WnR#�N��
auth_token)r?rQs&&r*�__init__�TokenSigner.__init__xs��$�r,rPN)rBrCrDrErGrRrHrIrJs@r*rMrMrs�����N��%�%r,rMc�6a�]tRt^|toRtRtRtRtRtVt	R#)�	SigV2Authz#
Sign a request with Signature V2.
c��WnR#rO��credentials�r?rXs&&r*rR�SigV2Auth.__init__����&�r,c�l�\PR4\VP4pVPp\V4^8XdRpVPRVPRVR2p\P!VPPPR4\R7p.p\V4FkpVR8XdK\W(,4p	\!VPR4RR7p
\!V	PR4RR7pVP#V
R	V24Km	R
P%V4pW\,
p\PRV4VP'VPR44\(P*!VP-44P/4P1R4p
W�3#)z$Calculating signature using v2 auth.�/�
r/��	digestmod�	Signature���safez-_~�=�&zString to sign: %s)�logger�debugrr&�path�len�method�netloc�hmac�newrX�
secret_key�encoder�sortedr6r�append�join�update�base64�	b64encode�digest�stripr5)r?r7�params�splitri�string_to_sign�lhmac�pairs�key�value�
quoted_key�quoted_value�qs�b64s&&&           r*�calc_signature�SigV2Auth.calc_signature�s_�����;�<�����%���z�z���t�9��>��D�#�N�N�+�2�e�l�l�^�2�d�V�2�F��������'�'�.�.�w�7�6�
�����&�>�C��k�!�����$�E��s�z�z�'�2��<�J� ����g�!6�U�C�L��L�L�J�<�q���7�8�"��X�X�e�_��������)�>�:�
���^�*�*�7�3�4����u�|�|�~�.�4�4�6�=�=�g�F���y�r,c���VPf\4hVP'dVPpMVPpVPPVR&RVR&RVR&\
P!\\
P!44VR&VPP'dVPPVR&VPW4wr4WBR&V#)	N�AWSAccessKeyId�2�SignatureVersion�
HmacSHA256�SignatureMethod�	Timestamp�
SecurityTokenra)rXrr0ry�
access_key�time�strftime�ISO8601�gmtime�tokenr�)r?r7ryr��	signatures&&   r*r<�SigV2Auth.add_auth�s������#�$�&�&��<�<�<��\�\�F��^�^�F�#'�#3�#3�#>�#>��� �%(��!�"�$0�� �!�"�m�m�G�T�[�[�]�C��{�����!�!�!�&*�&6�&6�&<�&<�F�?�#��+�+�G�<�
��'�{���r,rWN)
rBrCrDrE�__doc__rRr�r<rHrIrJs@r*rUrU|s�����'��8�r,rUc�,a�]tRt^�toRtRtRtVtR#)�	SigV3Authc��WnR#rOrWrYs&&r*rR�SigV3Auth.__init__�r[r,c�:�VPf\4hRVP9dVPR\RR7VPR&VPP'dBRVP9dVPRVPPVPR&\
P!VPPPR4\R7pVPVPR,PR44\VP44P4pRVPPRVPR42pR	VP9dVPR	WAPR	&R#)
N�DateT��usegmt�X-Amz-Security-Tokenr/r_zAWS3-HTTPS AWSAccessKeyId=z ,Algorithm=HmacSHA256,Signature=zX-Amzn-Authorization)rXr�headersrr�rmrnrorprrtrrwrxr�r5)r?r7�new_hmac�encoded_signaturer�s&&   r*r<�SigV3Auth.add_auth�sM�����#�$�&�&��W�_�_�$�����'�",�D�"9���������!�!�!�%����8��O�O�$:�;�6:�6F�6F�6L�6L�G�O�O�2�3��8�8����'�'�.�.�w�7�6�
��	�������/�6�6�w�?�@�'����(9�:�@�@�B��(��)9�)9�)D�)D�(E�F.�.?�.F�.F�w�.O�-P�
R�	�"�W�_�_�4���� 6�7�2;���.�/r,rWN)rBrCrDrErRr<rHrIrJs@r*r�r��s����'�<�<r,r�c�a�]tRt^�toRtRtRtRRltRtRt	Rt
RtR	tR
t
RtRtR
tRtRtRtRtRtRtRtRtRtRtRtRtVtR#)�	SigV4Authz#
Sign a request with Signature V4.
Tc�*�WnW0nW nR#rO)rX�_region_name�
_service_name�r?rX�service_name�region_names&&&&r*rR�SigV4Auth.__init__�s��&��(��)�r,c��V'd;\P!WPR4\4P	4pV#\P!WPR4\4P4pV#r.)rmrnrpr�	hexdigestrw)r?r~�msg�hex�sigs&&&& r*�_sign�SigV4Auth._sign�sW����(�(�3�
�
�7� 3�V�<�F�F�H�C��
��(�(�3�
�
�7� 3�V�<�C�C�E�C��
r,c���\4pVPP4F&wr4VP4pV\9gK"WBV&K(	RV9d\VP4VR&V#)zS
Select the headers from the request that need to be included
in the StringToSign.
r()rr��items�lower�SIGNED_HEADERS_BLACKLISTr+r&)r?r7�
header_map�namer�lnames&&    r*�headers_to_sign�SigV4Auth.headers_to_sign�se��
!�]�
�"�?�?�0�0�2�K�D��J�J�L�E��4�4�$)�5�!�3���#�"0����!<�J�v���r,c��VP'dVPVP4#VP\VP44#rO)ry�_canonical_query_string_params�_canonical_query_string_urlrr&r>s&&r*�canonical_query_string� SigV4Auth.canonical_query_string�s<��
�>�>�>��6�6�w�~�~�F�F��3�3�H�W�[�[�4I�J�Jr,c	�J�.p\V\4'dVP4pVF7wr4VP\	VRR7\	\V4RR734K9	.p\
V4Fwr4VPVRV24K	RPV4pV#)z-_.~rcrerf)r1rr�rrrr6rqrs)r?ry�
key_val_pairsr~r�sorted_key_valsr�s&&     r*r��(SigV4Auth._canonical_query_string_paramss����
��f�g�&�&��\�\�^�F� �J�C�� � ��s��(�%��E�
��*H�I�
�!���!��/�J�C��"�"�c�U�!�E�7�#3�4�0�!$���/�!:��%�%r,c�<�RpVP'd�.pVPPR4F)pVPR4wrVpVPWW34K+	.p\	V4FwrWVPVRV24K	RPV4pV#)rbrfre)�queryrz�	partitionrrrqrs)	r?�partsr�r��pairr~�_rr�s	&&       r*r��%SigV4Auth._canonical_query_string_urls���!#���;�;�;��M����)�)�#�.�� $���s� 3�
����$�$�c�\�2�/�!�O�%�]�3�
���&�&�#��a��w�'7�8�4�%(�X�X�o�%>�"�%�%r,c�a�.p\\V44pVFLpRPV3RlVPV444pVP	VR\V424KN	RPV4#)z�
Return the headers that need to be included in the StringToSign
in their canonical form by converting all header keys to lower
case, sorting them in alphabetical order and then joining
them into a string, separated by newlines.
�,c3�F<"�TFpSPV4x�K	R#5irO)�
_header_value)�.0�vr?s& �r*�	<genexpr>�.SigV4Auth.canonical_headers.<locals>.<genexpr>0s#�����/K�!��"�"�1�%�%�/K�s�!r!r^)rq�setrs�get_allrrr
)r?r�r��sorted_header_namesr~rsf&    r*�canonical_headers�SigV4Auth.canonical_headers&sz�����$�S��%9�:��&�C��H�H��/>�/F�/F�s�/K���E�
�N�N�c�U�!�N�5�$9�#:�;�<�	'�
�y�y��!�!r,c�@�RPVP44#)� )rsrz)r?rs&&r*r��SigV4Auth._header_value6s���x�x����
�&�&r,c�Z�\R\V444pRPV4#)c3�\"�TF"qP4P4x�K$	R#5irO)r�rx)r��ns& r*r��+SigV4Auth.signed_headers.<locals>.<genexpr>?s ���I�4H�q������*�*�4H�s�*,�;)rqr�rs)r?r�r�s&& r*�signed_headers�SigV4Auth.signed_headers>s&���I�C��4H�I�I���x�x�� � r,c��VPPR/4pVPR4p\V\4;'dVPR4R8H#)�checksum�request_algorithm�in�trailer)�contextr$r1�dict)r?r7�checksum_context�	algorithms&&  r*�_is_streaming_checksum_payload�(SigV4Auth._is_streaming_checksum_payloadBsM��"�?�?�.�.�z�2�>��$�(�(�)<�=�	��)�T�*�O�O�y�}�}�T�/B�i�/O�Or,c��VPV4'd\#VPV4'g\#VPpV'd�\VR4'd�VP
4p\P!VP\4p\4p\VR4FpVPV4K	VP4pVPV4V#V'd\V4P4#\ #)�seekr,)r��"STREAMING_UNSIGNED_PAYLOAD_TRAILER�_should_sha256_sign_payload�UNSIGNED_PAYLOAD�body�hasattr�tell�	functools�partial�read�PAYLOAD_BUFFERr�iterrtr�r��EMPTY_SHA256_HASH)r?r7�request_body�position�read_chunksizer��chunk�hex_checksums&&      r*�payload�SigV4Auth.payloadGs����.�.�w�7�7�5�5��1�1�'�:�:�$�#��|�|���G�L�&�9�9�#�(�(�*�H�&�.�.��!�!�>��N��x�H��n�c�2������&�3�#�-�-�/�L����h�'���
��,�'�1�1�3�3�$�$r,c��VPPR4'gR#VPPRR4#)r T�payload_signing_enabled)r&�
startswithr�r$r>s&&r*r��%SigV4Auth._should_sha256_sign_payloadas4���{�{�%�%�g�.�.��
���"�"�#<�d�C�Cr,c�V�VPP4.pVP\VP4P
4pVP
V4VP
VPV44VPV4pVP
VPV4R,4VP
VPV44RVP9dVPR,pMVPV4pVP
V4RPV4#)r^�X-Amz-Content-SHA256)rk�upper�_normalize_url_pathrr&rirrr�r�r�r�r�rrs)r?r7�crrir��
body_checksums&&    r*�canonical_request�SigV4Auth.canonical_requestks����n�n�"�"�$�
%���'�'�����(=�(B�(B�C��
�	�	�$��
�	�	�$�-�-�g�6�7��.�.�w�7��
�	�	�$�(�(��9�D�@�A�
�	�	�$�%�%�o�6�7�!�W�_�_�4�#�O�O�,B�C�M� �L�L��1�M�
�	�	�-� ��y�y��}�r,c�2�\\V4RR7pV#)z/~rc)rr)r?ri�normalized_paths&& r*r�SigV4Auth._normalize_url_pathzs��� 2�4� 8�t�D���r,c�2�VPP.pVPVPR,R,4VPVP4VPVP
4VPR4RP
V4#��	timestamp�r�N�aws4_requestr])rXr�rrr�r�r�rs�r?r7�scopes&& r*r�SigV4Auth.scope~sn���!�!�,�,�-��
���W�_�_�[�1�#�6�7�
���T�&�&�'�
���T�'�'�(�
���^�$��x�x���r,c��.pVPVPR,R,4VPVP4VPVP4VPR4RP	V4#r)rrr�r�r�rsrs&& r*�credential_scope�SigV4Auth.credential_scope�s_����
���W�_�_�[�1�#�6�7�
���T�&�&�'�
���T�'�'�(�
���^�$��x�x���r,c��R.pVPVPR,4VPVPV44VP\VP	R44P44RP
V4#)z�
Return the canonical StringToSign as well as a dict
containing the original version of all headers that
were included in the StringToSign.
�AWS4-HMAC-SHA256rr/r^)rrr�rrrpr�rs)r?r7r�stss&&& r*r{�SigV4Auth.string_to_sign�sl��"�"���
�
�7�?�?�;�/�0��
�
�4�(�(��1�2��
�
�6�+�2�2�7�;�<�F�F�H�I��y�y��~�r,c�Z�VPPpVPRV2P4VPR,R,4pVPW@P
4pVPWPP4pVPVR4pVPWqRR7#)�AWS4rrrT)r�)rXror�rpr�r�r�)r?r{r7r~�k_date�k_region�	k_service�	k_signings&&&     r*r��SigV4Auth.signature�s������)�)������C�5�\�!�!�#�W�_�_�[�%A�#�%F�
���:�:�f�&7�&7�8���J�J�x�);�);�<�	��J�J�y�.�9�	��z�z�)��z�>�>r,c���VPf\4h\4pVP\4VP
R&VP
V4VPV4p\PR4\PRV4VPW4p\PRV4VPWA4p\PRV4VPW4R#)Nrz$Calculating signature using v4 auth.zCanonicalRequest:
%s�StringToSign:
%sz
Signature:
%s)
rXrrr��SIGV4_TIMESTAMPr��_modify_request_before_signingrrgrhr{r��_inject_signature_to_request)r?r7�datetime_nowrr{r�s&&    r*r<�SigV4Auth.add_auth�s������#�$�&�&�+�-��'3�'<�'<�_�'M�����$�	
�+�+�G�4� �2�2�7�;�����;�<����,�.?�@��,�,�W�H�����(�.�9��N�N�>�;�	����%�y�1��)�)�'�=r,c��RVPV42.pVPV4pVPRVPV424VPRV24RP	V4VP
R&V#)zAWS4-HMAC-SHA256 Credential=zSignedHeaders=z
Signature=�, �
Authorization)rr�rrr�rsr�)r?r7r��auth_strr�s&&&  r*r.�&SigV4Auth._inject_signature_to_request�s~��2�4�:�:�g�3F�2G�H�I���.�.�w�7������T�0�0��A�B�C�	
�	���*�Y�K�0�1�+/�9�9�X�+>�����(��r,c���RVP9dVPRVPV4VPP'dBRVP9dVPRVPPVPR&VPPRR4'g4RVP9dVPR\VPR&R#R#)r3r�rTr	N)r��_set_necessary_date_headersrXr�r�r$r�r>s&&r*r-�(SigV4Auth._modify_request_before_signing�s����g�o�o�-�����0��(�(��1����!�!�!�%����8��O�O�$:�;�6:�6F�6F�6L�6L�G�O�O�2�3����"�"�#<�d�C�C�%����8��O�O�$:�;�6F�G�O�O�2�3�Dr,c���RVP9d�VPR\PPVPR,\4p\\
\P!VP4444VPR&RVP9dVPRR#R#RVP9dVPRVPR,VPR&R#)r�r�
X-Amz-DateN)
r��datetime�strptimer�r,r�int�calendar�timegm�	timetuple)r?r7�datetime_timestamps&& r*r7�%SigV4Auth._set_necessary_date_headers�s����W�_�_�$�����'�!)�!2�!2�!;�!;�����,�o�"��'1��H�O�O�$6�$@�$@�$B�C�D�'�G�O�O�F�#��w���.��O�O�L�1�/��w���.��O�O�L�1�,3�O�O�K�,H�G�O�O�L�)r,)r�r�rXN)F)rBrCrDrEr�rFrRr�r�r�r�r�r�r�r�r�rr�rrrrr{r�r<r.r-r7rHrIrJs@r*r�r��s�������O�*��� K�&�"&� "� '�!�P�
%�4D�
����
�?�>�$�G�I�Ir,r�c�Daa�]tRtRtoV3RltV3RltRtRtVtV;t	#)�S3SigV4Authi�c�<�\SV`V4RVP9dVPRVPV4VPR&R#)r	N)�superr-r�r�r?r7�	__class__s&&�r*r-�*S3SigV4Auth._modify_request_before_signing�sA���
��.�w�7�!�W�_�_�4���� 6�7�26�,�,�w�2G����.�/r,c�$<�VPPR4p\VRR4pVf/pVPRR4pVeV#RpVPPR/4pVPR4p\V\4'd VPR4R8Xd
VR	,pVP
P
R
4'dWQP9dR#VPPRR
4'dR
#\SV`%V4#)�
client_config�s3NrzContent-MD5r�r�r��headerr�r T�has_streaming_inputF)
r�r$�getattrr1r�r&rr�rFr�)	r?r7rK�	s3_config�sign_payload�checksum_headerr�r�rHs	&&      �r*r��'S3SigV4Auth._should_sha256_sign_payload�s���� ���+�+�O�<�
��M�4��6�	����I�!�}�}�%>��E���#���(��"�?�?�.�.�z�2�>��$�(�(�)<�=�	��i��&�&�9�=�=��+>�(�+J�'��/�O����&�&�w�/�/��o�o�5���?�?���4�e�<�<���w�2�7�;�;r,c��V#rOrA�r?ris&&r*r�S3SigV4Auth._normalize_url_path����r,rA)
rBrCrDrEr-r�rrHrI�
__classcell__�rHrKs@@r*rDrD�s����H�'<�R�r,rDc�Naa�]tRtRtoRtV3RltV3RltV3RltRtVt	V;t
#)�
S3ExpressAuthiTc�4<�\SV`WV4W@nR#rO)rFrR�_identity_cache)r?rXr�r��identity_cacherHs&&&&$�r*rR�S3ExpressAuth.__init__s���	����K�@�-�r,c�&<�\SV`V4R#rO)rFr<rGs&&�r*r<�S3ExpressAuth.add_auth!s���
����!r,c��<�\SV`V4RVP9d$VPPVPR&RVP9dVPRR#R#)zx-amz-s3session-tokenr�N)rFr-r�rXr�rGs&&�r*r-�,S3ExpressAuth._modify_request_before_signing$sU���
��.�w�7�"�'�/�/�9�7;�7G�7G�7M�7M�G�O�O�3�4�!�W�_�_�4���� 6�7�5r,)r])rBrCrDrE�REQUIRES_IDENTITY_CACHErRr<r-rHrIrXrYs@@r*r[r[s����"��.�"�8�8r,r[c�*a�]tRtRtoRtRtRtVtR#)�S3ExpressPostAuthi-Tc�6�\4pVP\4VPR&/pVPP	RR4eVPR,p/p.pVPP	RR4e1VPR,pVP	RR4e
VR,pWTR&RVR&VPV4VR&VPR,VR&VP
RR/4VP
RVPV4/4VP
RVPR,/4VPPeAVPPVR	&VP
R	VPP/4\P!\P!V4PR
44PR
4VR&VPVR,V4VR&W1PR&WAPR&R#)
r�s3-presign-post-fieldsN�s3-presign-post-policy�
conditionsr �x-amz-algorithm�x-amz-credential�
x-amz-date�X-Amz-S3session-Tokenr/�policy�x-amz-signature�rr�r,r�r$rrrrXr�rurvr3�dumpsrpr5r��r?r7r/�fieldsrorjs&&    r*r<�S3ExpressPostAuth.add_auth0s���+�-��'3�'<�'<�_�'M�����$����?�?���7��>�J��_�_�%=�>�F����
��?�?���7��>�J��_�_�%=�>�F��z�z�,��-�9�#�L�1�
�)�|��$6�� �!�%)�Z�Z��%8��!�"�&���{�;��|�����,�.@�A�B����-�t�z�z�'�/B�C�D����<�����)E�F�G����!�!�-�.2�.>�.>�.D�.D�F�*�+����(�$�*:�*:�*@�*@�A�
�
"�+�+��J�J�v��%�%�g�.�
�
�&��/�	�x��%)�N�N�6�(�3C�W�$M�� �!�4:���0�1�4:���0�1r,rAN)rBrCrDrErdr<rHrIrJs@r*rfrf-s����"��';�';r,rfc�Zaa�]tRtRtoRtRtR]/V3RlltRtRtRt	R	t
R
tVtV;t
#)�S3ExpressQueryAuthiZi,T�expiresc�:<�\SV`VVVVR7WPnR#))r^N�rFrR�_expires)r?rXr�r�r^rxrHs&&&&$$�r*rR�S3ExpressQueryAuth.__init__^s*���	������)�		�	
� �
r,c
��VPPR4pRpW#8XdVPRVPVPV44pRRRVP	V4RVP
R,RVPRV/pVPPeVPPVR
&\VP4p\VPRR7pVP4UU	u/uFwr�W�^,bK	p
pp	VP'd#V
PVP4/VnR
pVP 'd"V
P\#V44R
VnV
'd\%V
4R,pV\%V42pTp
V
^,V
^,V
^,W�^,3p\'V4Vn
R	#uup	pi)�content-type�0application/x-www-form-urlencoded; charset=utf-8�X-Amz-Algorithmr �X-Amz-Credentialr:r�
X-Amz-Expires�X-Amz-SignedHeadersNrnT��keep_blank_valuesrbrf�r�r$r�r�rr�r{rXr�rr&rr�r�ryrtr0r8rr)r?r7�content_type�blocklisted_content_typer��auth_paramsr'�query_string_parts�kr��
query_dict�operation_params�new_query_string�p�
new_url_partss&&             r*r-�1S3ExpressQueryAuth._modify_request_before_signingos������*�*�>�:��>�	!��3�����/�
�,�,�T�-A�-A�'�-J�K��
�1���
�
�7� 3��'�/�/�+�6��T�]�]�!�>�
�����!�!�-�37�3C�3C�3I�3I�K�/�0��W�[�[�)�	�&�i�o�o��N��*<�*B�*B�*D�E�*D�$�!�a�1��g�*D�
�E��>�>�>����g�n�n�-��G�N����<�<�<�
���/��8�9��G�L��6�z�B�S�H��� �!8��!E� F�G�	�
���1��q��t�Q�q�T�+;�q�T�B�
� ��/����AF��7Gc�>�V;PRV2,
unR#�z&X-Amz-Signature=N�r&�r?r7r�s&&&r*r.�/S3ExpressQueryAuth._inject_signature_to_request����	���*�9�+�6�6�r,c��V#rOrArUs&&r*r�&S3ExpressQueryAuth._normalize_url_path�rWr,c��\#rO�r�r>s&&r*r�S3ExpressQueryAuth.payload��
��
 �r,�r{)rBrCrDrE�DEFAULT_EXPIRESrdrRr-r.rrrHrIrXrYs@@r*rwrwZs9�����O�"�� � � �"?0�B7�� � r,rwc�Haa�]tRtRtoRt]3V3RlltRtRtRtVt	V;t
#)�SigV4QueryAuthi��c�4<�\SV`WV4W@nR#rOrz)r?rXr�r�rxrHs&&&&&�r*rR�SigV4QueryAuth.__init__�s���	����K�@��
r,c
��VPPR4pRpW#8XdVPRVPVPV44pRRRVP	V4RVP
R,RVPRV/pVPPeVPPVR
&\VP4p\VPRR7pVP4UU	u/uFwr�W�^,bK	p
pp	VP'd#V
PVP4/VnR
pVP 'd"V
P\#V44R
VnV
'd\%V
4R,pV\%V42pTp
V
^,V
^,V
^,W�^,3p\'V4Vn
R	#uup	pi)r~rr�r r�r:rr�r�Nr�Tr�rbrfr�)r?r7r��blacklisted_content_typer�r�r'r�r�r�r�r�r�r�r�s&&             r*r-�-SigV4QueryAuth._modify_request_before_signing�s������*�*�>�:��>�	!��3�����/�
�,�,�T�-A�-A�'�-J�K��
�1���
�
�7� 3��'�/�/�+�6��T�]�]�!�>�
�����!�!�-�26�2B�2B�2H�2H�K�.�/��W�[�[�)�	�&�i�o�o��N��*<�*B�*B�*D�E�*D�$�!�a�1��g�*D�
�E��>�>�>����g�n�n�-��G�N����<�<�<�
���/��8�9��G�L��6�z�B�S�H��� �!8��!E� F�G�	�
���1��q��t�Q�q�T�+;�q�T�B�
� ��/����AFr�c�>�V;PRV2,
unR#r�r�r�s&&&r*r.�+SigV4QueryAuth._inject_signature_to_requestr�r,r�)rBrCrDrEr�rRr-r.rHrIrXrYs@@r*r�r��s%�����O�?N� �?0�B7�7r,r�c�0a�]tRtRtoRtRtRtRtVtR#)�S3SigV4QueryAuthiz�S3 SigV4 auth using query parameters.

This signer will sign a request using query parameters and signature
version 4, i.e a "presigned url" signer.

Based off of:

http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html

c��V#rOrArUs&&r*r�$S3SigV4QueryAuth._normalize_url_pathrWr,c��\#rOr�r>s&&r*r�S3SigV4QueryAuth.payload#r�r,rAN)	rBrCrDrEr�rrrHrIrJs@r*r�r�s����	�� � r,r�c�*a�]tRtRtoRtRtRtVtR#)�S3SigV4PostAuthi+zv
Presigns a s3 post

Implementation doc here:
http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-UsingHTTPPOST.html
c�6�\4pVP\4VPR&/pVPP	RR4eVPR,p/p.pVPP	RR4e1VPR,pVP	RR4e
VR,pWTR&RVR&VPV4VR&VPR,VR&VP
RR/4VP
RVPV4/4VP
RVPR,/4VPPeAVPPVR	&VP
R	VPP/4\P!\P!V4PR
44PR
4VR&VPVR,V4VR&W1PR&WAPR&R#)
rrhNrirjr rkrlrm�x-amz-security-tokenr/rorprqrss&&    r*r<�S3SigV4PostAuth.add_auth3s���+�-��'3�'<�'<�_�'M�����$����?�?���7��>�J��_�_�%=�>�F����
��?�?���7��>�J��_�_�%=�>�F��z�z�,��-�9�#�L�1�
�)�|��$6�� �!�%)�Z�Z��%8��!�"�&���{�;��|�����,�.@�A�B����-�t�z�z�'�/B�C�D����<�����)E�F�G����!�!�-�-1�-=�-=�-C�-C�F�)�*����5�t�7G�7G�7M�7M�N�O�"�+�+��J�J�v��%�%�g�.�
�
�&��/�	�x��%)�N�N�6�(�3C�W�$M�� �!�4:���0�1�4:���0�1r,rAN�rBrCrDrEr�r<rHrIrJs@r*r�r�+s�����%;�%;r,r�c�a�]tRtRto.RNRNRNRNRNRNRNR	NR
NRNRNR
NRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNR
NRNR NR!NR"NR#NR$NtR2R&ltR'tR(tR)tR*t	R3R+lt
R2R,ltR2R-ltR.t
R/tR0tR1tVtR%#)4�
HmacV1Authi[�
accelerate�acl�cors�defaultObjectAcl�location�logging�
partNumberro�requestPayment�torrent�
versioning�	versionId�versions�website�uploads�uploadIdzresponse-content-typezresponse-content-languagezresponse-expireszresponse-cache-controlzresponse-content-dispositionzresponse-content-encoding�delete�	lifecycle�tagging�restore�storageClass�notification�replication�	analytics�metrics�	inventory�selectzselect-typezobject-lockNc��WnR#rOrWr�s&&&&r*rR�HmacV1Auth.__init__�r[r,c�,�\P!VPPP	R4\
R7pVP
VP	R44\VP44P4PR4#)r/r_)rmrnrXrorprrtrrwrxr5)r?r{r�s&& r*�sign_string�HmacV1Auth.sign_string�sk���8�8����'�'�.�.�w�7�4�
��	����-�-�g�6�7��8�?�?�,�-�3�3�5�<�<�W�E�Er,c�^�.ROp.pRV9dVRVP4VR&VFtpRpVFNpVP4pW,fKWt8XgK'VPW,P44RpKP	V'dKcVPR4Kv	RP	V4#)�content-md5r�FTrbr^)r�r~�date)�	_get_dater�rrrxrs)r?r��interesting_headers�hoi�ih�foundr~�lks&&      r*�canonical_standard_headers�%HmacV1Auth.canonical_standard_headers�s���E�����W������.�.�*����%�B��E����Y�Y�[���<�+����J�J�w�|�1�1�3�4� �E�	�
�5��
�
�2��&��y�y��~�r,c�v�.p/pVFapVP4pW,fKVPR4'gK8RPRVPV444W5&Kc	\	VP44pVFpVP
VRW4,24K!	RPV4#)N�x-amz-r�c3�@"�TFqP4x�K	R#5irO)rx)r�r�s& r*r��6HmacV1Auth.canonical_custom_headers.<locals>.<genexpr>�s���2�+?�a���	�	�+?�s�r!r^)r�rrsr�rq�keysrr)r?r�r��custom_headersr~r��sorted_header_keyss&&     r*�canonical_custom_headers�#HmacV1Auth.canonical_custom_headers�s��������C�����B��|�'��=�=��*�*�),���2�+2�?�?�3�+?�2�*�N�&�	�$�N�$7�$7�$9�:��%�C��J�J�#��a�� 3�4�5�6�&��y�y��~�r,c�\�\V4^8XdV#V^,\V^,43#)z
TODO: Do we need this?
)rjr)r?�nvs&&r*�	unquote_v�HmacV1Auth.unquote_v�s+���r�7�a�<��I��q�E�7�2�a�5�>�*�*r,c�.�VeTpMVPpVP'd�VPPR4pVUu.uFqUPR^4NK	ppVUu.uF-qU^,VP9gKVP	V4NK/	pp\V4^8�d]VP
\^4R7VUu.uFpRPV4NK	ppVR,
pVRPV4,
pV#uupiuupiuupi)Nrfre)r~�?)	rir�rz�
QSAOfInterestr�rj�sortrrs)r?rz�	auth_path�buf�qsa�as&&&   r*�canonical_resource�HmacV1Auth.canonical_resource�s���� ��C��*�*�C��;�;�;��+�+�#�#�C�(�C�,/�0�C�q�7�7�3��?�C�C�0�+.��+.�a�A�$�$�:L�:L�2L�!����q�!�3�
���3�x�!�|����Z��]��+�,/�0�C�q�s�x�x��{�C��0��s�
���s�x�x��}�$���
��1����
1s�D�%D
�D
�	Dc���VP4R,pW`PV4R,,
pVPV4pV'dWgR,,
pW`PW%R7,
pV#)r^�r�)r
r�r�r�)r?rkrzr�rxr��csr�s&&&&&&  r*�canonical_string�HmacV1Auth.canonical_string�sg���\�\�^�d�
"��
�-�-�g�6��=�=���6�6�w�?����4�'�'�B�
�%�%�e�%�A�A���	r,c���VPP'dVRVPPVR&VPWW5R7p\P	RV4VPV4#)r�r�r+)rXr�r�rgrhr�)r?rkrzr�rxr�r{s&&&&&& r*�
get_signature�HmacV1Auth.get_signature�sr�����!�!�!��.�/�.2�.>�.>�.D�.D�G�*�+��.�.��7�/�
��	���(�.�9�����/�/r,c�H�VPf\h\PR4\	VP
4p\PRVP4VPVPW!PVPR7pVPW4R#)Nz(Calculating signature using hmacv1 auth.zHTTP request method: %sr�)rXrrgrhrr&rkrr�r��_inject_signature)r?r7rzr�s&&  r*r<�HmacV1Auth.add_auth�s|�����#�$�$����?�@�����%�����.����?��&�&��N�N�E�?�?�g�>O�>O�'�
�	�	
���w�2r,c��\RR7#)Tr�r�r?s&r*r��HmacV1Auth._get_date�s
����&�&r,c��RVP9dVPRRVPPRV2pW1PR&R#)r3zAWS r!N)r�rXr�)r?r7r��auth_headers&&& r*r�HmacV1Auth._inject_signature�sG���g�o�o�-�����0��T�-�-�8�8�9��9�+�F��+6����(r,rW)NNrO)rBrCrDrEr�rRr�r�r�r�r�r�rr<r�rrHrIrJs@r*r�r�[s�����%��%�
�%�	�%�	�	%�
	�%�	�
%�	�%�	�%�	�%�	�%�	�%�	�%�	�%�	�%�	�%� 	�!%�"	 �#%�$	$�%%�&	�'%�(	!�)%�*	'�+%�,	$�-%�.	�/%�0	�1%�2	�3%�4	�5%�6	�7%�8	�9%�:	�;%�<	�=%�>	�?%�@	�A%�B	�C%�D	�E%�F	�G%�H	�I%�M�N'�F��"
�+��4	�
0�	3�'�7�7r,r�c�@a�]tRtRtoRtRt]3RltRtRtRt	Vt
R#)	�HmacV1QueryAuthiz�
Generates a presigned request for s3.

Spec from this document:

http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
#RESTAuthenticationQueryStringAuth

r�c��WnW nR#rO)rXr{)r?rXrxs&&&r*rR�HmacV1QueryAuth.__init__s
��&���
r,c��\\\P!4\VP4,44#rO)r6r=r�r{rs&r*r��HmacV1QueryAuth._get_dates&���3�t�y�y�{�S����%7�7�8�9�9r,c��/pVPPVR&W#R&VPFgpVP4pVR8XdVPR,VR&K2VP	R4'g
VR9gKRVPV,W5&Ki	\V4p\
VP4pV^,'dV^,RV2pV^,V^,V^,Wg^,3p\V4VnR#)r�rar��Expiresr�rfN)r�r~)	rXr�r�r�rrrr&r)	r?r7r�r��
header_keyr�r�r�r�s	&&&      r*r�!HmacV1QueryAuth._inject_signatures����
�'+�'7�'7�'B�'B�
�#�$�"+�;��!�/�/�J��!�!�#�B��V�#�(/����(?�
�9�%����x�(�(�B�3�-�")����!4�
��*� 3�:�>��
�W�[�[�!���Q�4�4�#$�A�$��q�)9�(:�;���1��q��t�Q�q�T�+;�q�T�B�
� ��/��r,)r{rXN)rBrCrDrEr�r�rRr�rrHrIrJs@r*rrs(������O�,;� �:�0�0r,rc�*a�]tRtRtoRtRtRtVtR#)�HmacV1PostAuthi9z�
Generates a presigned post for s3.

Spec from this document:

http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingHTTPPOST.html
c��/pVPPRR4eVPR,p/p.pVPPRR4e1VPR,pVPRR4e
VR,pWCR&VPPVR&VPPeAVPPVR&VPRVPP/4\P!\P!V4PR44PR4VR&VPVR,4VR&W!PR&W1PR&R#)	rhNrirjr�r�r/ror�)
r�r$rXr�r�rrrurvr3rrrpr5r�)r?r7rtrorjs&&   r*r<�HmacV1PostAuth.add_authBsR�����?�?���7��>�J��_�_�%=�>�F����
��?�?���7��>�J��_�_�%=�>�F��z�z�,��-�9�#�L�1�
�)�|��#'�#3�#3�#>�#>��� ����!�!�-�-1�-=�-=�-C�-C�F�)�*����5�t�7G�7G�7M�7M�N�O�"�+�+��J�J�v��%�%�g�.�
�
�&��/�	�x��#�.�.�v�h�/?�@��{��4:���0�1�4:���0�1r,rANr�rJs@r*rr9s�����;�;r,rc�*a�]tRtRtoRtRtRtVtR#)�
BearerAuthiaz�
Performs bearer token authorization by placing the bearer token in the
Authorization header as specified by Section 2.1 of RFC 6750.

https://datatracker.ietf.org/doc/html/rfc6750#section-2.1
c��VPf\4hRVPP2pRVP9dVPRW!PR&R#)NzBearer r3)rQrr�r�)r?r7r	s&& r*r<�BearerAuth.add_authisP���?�?�"�"�$�$����� 5� 5�6�7���g�o�o�-�����0�+6����(r,rANr�rJs@r*rras�����7�7r,rc��VFLpVR8Xd\V,u#V\9d\V,pV\9dVu#KB\VR7h	\VR7h)�smithy.api#noAuth��signature_version)�AUTH_TYPE_TO_SIGNATURE_VERSION�AUTH_TYPE_MAPSrr)�
auth_trait�	auth_typer s&  r*�resolve_auth_typer%ssa���	��+�+�1�)�<�<�
�8�
8� >�y� I�� �N�2�(�(�3�/��K�K� �+�Z�
H�Hr,c��VUu.uFq"PR4R,NK	ppVUu.uFpV\9gKVNK	ppV'd\PRV4W,p\PV4Uu.uF
pW#9gKVNK	ppVF=pVR8Xd\V,u#\P
V4pV\9gK;Vu#	\RP\V44R7huupiuupiuupi)�#z/Unsupported auth schemes in preference list: %r�noAuthr2r���)rz�AUTH_PREF_TO_SIGNATURE_VERSIONrgrhr��fromkeysr$r"rrsrq)�preference_list�auth_optionsr%�service_supported�unsupported�combined�prioritized_schemes�sig_versions&&      r*�resolve_auth_scheme_preferencer3�s��=I�J�\�6���c�*�2�.�.�\��J�&��%�F��7�7�	��%���
����=�{�	
��2�H��m�m�H�-��-�F��&�	��-���&���X��1�&�9�9�4�8�8��@���.�(���&�+��)�)�F�+<�$=�>����5K����s� C>�
D�D�D�D�v2�v3�v3httpsrLzs3-queryzs3-presign-postzs3v4-presign-postzv4-s3expresszv4-s3express-queryzv4-s3express-presign-post�bearer)�CRT_AUTH_TYPE_MAPS�v4zv4-query�s3v4z
s3v4-queryzaws.auth#sigv4zaws.auth#sigv4a�v4azsmithy.api#httpBearerAuthr�noner'i)�expectztransfer-encodingz
user-agentzx-amzn-trace-idr))Lrur>r;r�rmr3r�r��collections.abcr�email.utilsr�hashlibrr�operatorr�botocore.compatr	r
rrr
rrrrrr�botocore.exceptionsrrrr�botocore.utilsrrr�	getLoggerrBrgr�r�r�r,r�r�r�r+r8r:rMrUr�r�rDr[rfrwr�r�r�r�rrrr%r3r"�botocore.crt.authr8rtr!r�rzr*)�auth_schemer2s00r*�<module>rHse����������#�"� ����������
�	�	�8�	$��G����
��"����&��%I�"��&
�.�.�%�*�%�:�
�:�z<�
�<�8JI�
�JI�Z3�)�3�l8�K�8�**;�
�*;�Ze ��e �PN7�Y�N7�b �~� �0-;�i�-;�`f7��f7�R20�j�20�j%;�Z�%;�P7��7�$
I��B	�)��)�
�y��*����~����M��,��!2��j����4����,�-�����)����K��*�		
���d��u�����	"��%C�$H�$H�$J�"�$J� �����c��2���+�$J�"���"s�6$G 

Youez - 2016 - github.com/yon3zu
LinuXploit