File: //home/arjun/projects/env/lib/python3.10/site-packages/botocore/__pycache__/auth.cpython-310.pyc
o
*we
� � @ s& d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlm Z d dl
mZ d dlm
Z
mZ d dlmZ d dlmZmZmZmZmZmZmZmZmZ d dlmZmZ d dlmZm Z m!Z! d d lm"Z" e�#e$�Z%d
Z&dZ'dZ(d
Z)g d�Z*dZ+dZ,dd� Z-dd� Z.G dd� d�Z/G dd� de/�Z0G dd� de/�Z1G dd� de/�Z2G dd� de/�Z3G dd � d e3�Z4G d!d"� d"e3�Z5G d#d$� d$e5�Z6G d%d&� d&e3�Z7G d'd(� d(e/�Z8G d)d*� d*e8�Z9G d+d,� d,e8�Z:G d-d.� d.e0�Z;e1e2e2e8e9e:e7e;d/�Z<e�rd d0l=m>Z> e<�?e>� dS e<�?e3e5e4e6d1�� dS )2� N)�Mapping��
formatdate)�sha1�sha256)�
itemgetter) �HAS_CRT�HTTPHeaders�encodebytes�ensure_unicode�parse_qs�quote�unquote�urlsplit�
urlunsplit)�NoAuthTokenError�NoCredentialsError)�is_valid_ipv6_endpoint_url�normalize_url_path�percent_encode_sequence)�
MD5_AVAILABLE�@e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855i z%Y-%m-%dT%H:%M:%SZz%Y%m%dT%H%M%SZ)�expectz
user-agentzx-amzn-trace-idzUNSIGNED-PAYLOADz"STREAMING-UNSIGNED-PAYLOAD-TRAILERc C sZ t | �}|j}t| �rd|� d�}ddd�}|jd ur+|j|�|j�kr+d||jf }|S )N�[�]�P i� )�http�httpsz%s:%d)r �hostnamer �port�get�scheme)�url� url_parts�host�
default_ports� r&