
    j                    >   d dl mZ d dlmZmZmZmZmZmZ d dl	m
Z
mZ d dlmZ ddlmZmZmZmZ ddlmZ  ed      Zeeeeed	f   Zeeee   ee   d
f   Zeeef   Z G d d      Z e       Zej>                  Zej@                  Z ejB                  Z! G d d      Z"y	)    )annotations)AnyListTupleUnionMappingTypeVar)parse_qs	urlencode)get_args   )NotGivenArrayFormatNestedFormat	not_given)flatten_TNzMapping[str, Any]c                      e Zd ZU ded<   ded<   ddd	 	 	 	 	 ddZdd	Zeed	 	 	 	 	 	 	 dd
Zeed	 	 	 	 	 	 	 ddZ	 	 	 	 	 	 	 	 ddZ	ddZ
y)Querystringr   array_formatr   nested_formatrepeatbracketsr   r   c                    || _         || _        y Nr   )selfr   r   s      i/var/www/internaltesting/Shamanth/prverification/HIS_auto/venv/lib/python3.12/site-packages/openai/_qs.py__init__zQuerystring.__init__   s     )*    c                    t        |      S r   )r
   )r   querys     r   parsezQuerystring.parse    s    r    c               <    t        | j                  |||            S )Nr   )r   stringify_items)r   paramsr   r   s       r   	stringifyzQuerystring.stringify$   s-       )+ ! 
 	
r    c                   t        | ||      }t        |j                         D cg c]  \  }}| j                  |||       c}}      S c c}}w )N)qsr   r   )Optionsr   items_stringify_item)r   r&   r   r   optskeyvalues          r   r%   zQuerystring.stringify_items3   sO     %'

 QWQ]Q]Q_`:3,,S%>`aa`s   A
c           
     N    t        |t              r\g }|j                  }|j                         D ]9  \  }}|j	                   j                  |dk(  r| d| n| d| d||             ; |S t        |t        t        f      r|j                  }|dk(  r|dj                   fd|D              fgS |dk(  r-g }|D ]$  }	|j	                   j                  ||	|             & |S |d	k(  r?g }t        |      D ]-  \  }
}	|j	                   j                  | d|
 d|	|             / |S |d
k(  r2g }|dz   }|D ]$  }	|j	                   j                  ||	|             & |S t        d| ddj                  t        t                            j                  |      }|sg S ||fgS )Ndots.[]comma,c              3  F   K   | ]  }|j                  |        y wr   )_primitive_value_to_str).0itemr   s     r   	<genexpr>z.Querystring._stringify_item.<locals>.<genexpr>[   s"      jY]Yi!=!=d!C js   !!r   indicesr   z[]zUnknown array_format value: z, choose from z, )
isinstancer   r   r+   extendr,   listtupler   join	enumerateNotImplementedErrorr   r   r8   )r   r.   r/   r-   r+   r   subkeysubvaluer   r:   i
serialiseds   `           r   r,   zQuerystring._stringify_itemA   s     eW%+-E ..M$)KKM  ((-:f-D3%q)SEQRSYRZZ[J\ 	 LedE]+,,Lw&  jPU jj  )! HDLL!5!5c4!FGH*(/ RGAtLL!5!5QqcmT4!PQR+Dj! HDLL!5!5c4!FGH)2<.tyyYabmYnOoNpq  11%8
Ij!""r    c                2    |du ry|du ry|yt        |      S )NTtrueFfalse )str)r   r/   s     r   r8   z#Querystring._primitive_value_to_strx   s(    D=e^]5zr    N)r   r   r   r   returnNone)r"   rL   rM   zMapping[str, object])r&   Paramsr   ArrayFormat | NotGivenr   NestedFormat | NotGivenrM   rL   )r&   rO   r   rP   r   rQ   rM   list[tuple[str, str]])r.   rL   r/   Datar-   r*   rM   rR   )r/   PrimitiveDatarM   rL   )__name__
__module____qualname____annotations__r   r#   r   r'   r%   r,   r8    r    r   r   r      s    
 %-&0	+ "+ $	+
 
+ 091:

 -	

 /
 

& 091:bb -	b
 /b 
b5#5# 5# 	5#
 
5#nr    r   c                  D    e Zd ZU ded<   ded<   efeed	 	 	 	 	 	 	 ddZy)	r*   r   r   r   r   r   c                   t        |t              r|j                  n|| _        t        |t              r|j                  | _        y || _        y r   )r=   r   r   r   )r   r)   r   r   s       r   r   zOptions.__init__   s;     0:,/QBOOWc1;M81TR--Zgr    N)r)   r   r   rP   r   rQ   rM   rN   )rU   rV   rW   rX   _qsr   r   rY   r    r   r*   r*      sQ     h 091:hh -	h
 /h 
hr    r*   )#
__future__r   typingr   r   r   r   r   r	   urllib.parser
   r   typing_extensionsr   _typesr   r   r   r   _utilsr   r   rL   intfloatboolrT   rS   rO   r   r\   r#   r'   r%   r*   rY   r    r   <module>rf      s    " < < , & B B T]c3tT12 ]DIuSz3FFG	d	m m` m		MM	%%h hr    