o
�J�h�@ � @ s� d dl mZ d dlZd dlZd dlZd dlZd dlmZ d dlm Z m
Z
mZ ddlm
Z
mZ ddlmZmZmZmZmZmZ g d�Ze
d �Zd
d�dmdd�Zdndd�Ze�d�Zdodd�Ze�d�Zdpd!d"�Ze�d#�Ze�d$�Zdpd%d&�Z e�d'�Z!e�d(�Z"dqd*d+�Z#drd/d0�Z$dsd2d3�Z%dtd5d6�Z&e�d7�Z'dud9d:�Z(dvd<d=�Z)dwd?d@�Z*dxdBdC�Z+dydEdF�Z,e,Z-dzdKdL�Z.d{dOdP�Z/e/Z0d|dRdS�Z1d}dUdV�Z2e2Z3d~dYdZ�Z4e4Z5dd\d]�Z6d�d_d`�Z7e�da�Z8dpdbdc�Z9d�ddde�Z:d�dgdh�Z;d�dkdl�Z<dS )�� )�annotationsN)�Sequence)�Callable�TypeVar�cast� )�InvalidHeaderFormat�InvalidHeaderValue)�ConnectionOption�ExtensionHeader�
ExtensionName�ExtensionParameter�Subprotocol�UpgradeProtocol)�
build_host�parse_connection�
parse_upgrade�parse_extension�build_extension�parse_subprotocol�build_subprotocol�validate_subprotocols�build_www_authenticate_basic�parse_authorization_basic�build_authorization_basic�TF)�always_include_port�host�str�port�int�secure�boolr �returnc C s^ zt �| �}W n ty Y nw |jdkrd| � d�} |s&||r#dndkr-| � d|� �} | S )z#
Build a ``Host`` header.
� �[�]i� �P �:)� ipaddress�
ip_address�
ValueError�version)r r r! r �address� r. �PC:\pinokio\api\whisper-webui.git\app\env\lib\site-packages\websockets\headers.pyr '