
    .h                    N   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mZ ddlmZmZ ddlmZ  ed      Zed	   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jB                  Z!ejD                  Z" G d d      Z#y)    )annotations)AnyListTupleUnionMappingTypeVar)parse_qs	urlencode)Literalget_args   )NotGiven	not_given)flatten_T)commarepeatindicesbrackets)dotsr   Nz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)QuerystringArrayFormatarray_formatNestedFormatnested_formatr   r   r   r   c                    || _         || _        y Nr   )selfr   r   s      K/var/www/html/axiom-chatbot/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_items7   sO     %'

 QWQ]Q]Q_`:3,,S%>`aa`s   A
c           
         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t        d
      |dk(  r2g }|dz   }|D ]$  }	|j	                   j                  ||	|             & |S t        d| ddj                  t        t                            j                  |      }
|
sg S ||
fgS )Nr   .[]r   ,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   r   z-The array indices format is not supported yetr   z[]zUnknown array_format value: z, choose from z, )
isinstancer   r   r/   extendr0   listtupler   joinNotImplementedErrorr   r   r:   )r!   r2   r3   r1   r/   r   subkeysubvaluer   r<   
serialiseds   `          r"   r0   zQuerystring._stringify_itemE   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*)*YZZ+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!   r3   s     r"   r:   z#Querystring._primitive_value_to_stry   s(    D=e^]5zr$   N)r   r   r   r   returnNone)r&   rK   rL   zMapping[str, object])r*   Paramsr   ArrayFormat | NotGivenr   NestedFormat | NotGivenrL   rK   )r*   rN   r   rO   r   rP   rL   list[tuple[str, str]])r2   rK   r3   Datar1   r.   rL   rQ   )r3   PrimitiveDatarL   rK   )__name__
__module____qualname____annotations__r#   r'   r   r+   r)   r0   r:    r$   r"   r   r      s    
 %-&0	+ "+ $	+
 
+ 091:

 -	

 /
 

& 091:bb -	b
 /b 
b2#2# 2# 	2#
 
2#h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   rO   r   rP   rL   rM   )rT   rU   rV   rW   _qsr   r#   rX   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   r   _typesr   r   _utilsr   r   r   r   rK   intfloatboolrS   rR   rN   r   r[   r'   r+   r)   r.   rX   r$   r"   <module>re      s    " < < , / ' T] >?)*c3tT12 ]DIuSz3FFG	d	j jZ m		MM	%%h hr$   