ó
    EñiÉ  ã                   ó*  • S r SSKrSSKJrJrJr  SSKJrJrJ	r	J
r
Jr  SSKJr  SSKJrJr  \
\\	\4   r\
\\\   4   r\
S\\\\4   \\\\4      4   rS\S	\4S
 jrS\\\\-  \4      S	\4S jrS\\\\-  \4      S	\4S jrS\S\S	\S-  4S jrg)zQuery string handling.é    N)ÚIterableÚMappingÚSequence)ÚTYPE_CHECKINGÚAnyÚSupportsIntÚUnionÚcast)Úistré   )ÚQUERY_PART_QUOTERÚQUERY_QUOTERÚvÚreturnc                 óð  • [        U 5      nU[        L a  [        U 5      $ [        U [        5      (       a  U $ [        U [        5      (       a`  [
        R                  " U 5      (       a  [        S5      e[
        R                  " U 5      (       a  [        S5      e[        [	        U 5      5      $ U[        La)  [        U [        5      (       a  [        [        U 5      5      $ [        SR                  X5      5      e)z%Convert a query variable to a string.zfloat('inf') is not supportedzfloat('nan') is not supportedzMInvalid variable type: value should be str, int or float, got {!r} of type {})ÚtypeÚintÚstrÚ
isinstanceÚfloatÚmathÚisinfÚ
ValueErrorÚisnanÚboolr   Ú	TypeErrorÚformat)r   Úclss     ÚH/home/mande/repo/quber/.venv/lib/python3.13/site-packages/yarl/_query.pyÚ	query_varr       s¶   € ä
ˆq‹'€CØ
Œc‚zÜ�1‹vˆÜ�!”S×ÑØˆÜ�!”U×ÑÜ�:Š:�a�=‰=ÜÐ<Ó=Ð=Ü�:Š:�a�=‰=ÜÐ<Ó=Ð=Ü”5˜“8‹}ÐØ
”$‚œ: a¬×5Ñ5Ü”3�q“6‹{ÐÜ
ð	ç‘V˜A“^óð ó    Úitemsc                 ó>  • [         nU  VVVs/ s Ho  u  p#[        U5      [        La  [        U[        [
        45      (       a  UOU4  H3  nU" U5       SU" [        U5      [        L a  UO
[        U5      5       3PM5     Mq     nnnnSR                  U5      $ s  snnnf )z«Return a query string from a sequence of (key, value) pairs.

value is a single value or a sequence of values for the key

The sequence of values must be a list or tuple.
Ú=Ú&)r   r   r   r   ÚlistÚtupler    Újoin)r"   ÚquoterÚkÚvalr   Úpairss         r   Ú$get_str_query_from_sequence_iterabler-   (   sŸ   € ô €Fñ õâ‰FˆAä˜“9¤CÒ'¬J°s¼TÄ5¸M×,JÑ,J‰CÐQTÐPVÓVð ñ �!‹9ˆ+�Q‘v¤4¨£7¬c¢>™a´yÀ³|ÓDÐEÓFñ Wñ 	GÙð 
ò ð �8‰8�E‹?Ðùôs   �A6Bc                 óÄ   • [         nU  VVs/ s H5  u  p#U" U5       SU" [        U5      [        L a  UO
[        U5      5       3PM7     nnnSR	                  U5      $ s  snnf )zàReturn a query string from an iterable.

The iterable must contain (key, value) pairs.

The values are not allowed to be sequences, only single values are
allowed. For sequences, use `_get_str_query_from_sequence_iterable`.
r$   r%   )r   r   r   r    r(   )r"   r)   r*   r   r,   s        r   Úget_str_query_from_iterabler/   <   sf   € ô €Fñ TYôÚSXÉ4È1‰6�!‹9ˆ+�Q‘v¤4¨£7¬c¢>™a´yÀ³|ÓDÐEÓFÑSXð 
ñ ð �8‰8�E‹?Ðùós   Œ<AÚargsÚkwargsc                  óÔ  • U(       a  U (       a  Sn[        U5      eUnO [        U 5      S:X  a  U S   nO[        S5      eUc  gU(       d  g[        U5      [        L a  [	        UR                  5       5      $ [        U5      [        L d  [        U[        5      (       a  [        U5      $ [        U[        5      (       a  [	        UR                  5       5      $ [        U[        [        [        45      (       a  Sn[        U5      e[        U[        5      (       aG  [        (       a1  [!        [        ["        [$        [        [&        4   [(        4      U5      n[+        U5      $ [        S5      e)z*Return a query string from supported args.z7Either kwargs or single query parameter must be presentr   r   NÚ zAInvalid query type: bytes, bytearray and memoryview are forbiddenzRInvalid query type: only str, mapping or sequence of (key, value) pairs is allowed)r   Úlenr   Údictr-   r"   r   r   r   r   ÚbytesÚ	bytearrayÚ
memoryviewr   r   r   r
   r'   r	   r   ÚSimpleQueryr/   )r0   r1   ÚmsgÚquerys       r   Úget_str_queryr<   O   s"  € ö ÞØKˆCÜ˜S“/Ð!Ø‰Ü	ˆT‹�a‹Ø�Q‘‰äÐRÓSÐSà�}ØÞØÜˆEƒ{”dÒÜ3°E·K±K³MÓBÐBÜˆEƒ{”cÒœZ¨¬s×3Ñ3Ü˜EÓ"Ð"Ü�%œ×!Ñ!Ü3°E·K±K³MÓBÐBÜ�%œ%¤¬JÐ7×8Ñ8ØQˆÜ˜‹nÐÜ�%œ×"Ñ"÷
 Š=Üœ¤%¬¬c´4¨iÑ(8¼+Ð(EÑ"FÑGÈÓOˆEÜ*¨5Ó1Ð1Ü
ð	4óð r!   )Ú__doc__r   Úcollections.abcr   r   r   Útypingr   r   r   r	   r
   Ú	multidictr   Ú_quotersr   r   r   r   r9   ÚQueryVariabler'   ÚQueryr    r-   r/   r<   © r!   r   Ú<module>rE      sò   ðÙ ã ß 7Ñ 7ß ?Õ ?å ç 5à�C˜ eÐ+Ñ,€Ø�k 8¨KÑ#8Ð8Ñ9€ØØˆ#ˆw�s˜MÐ)Ñ*¨H°U¸3ÀÐ;MÑ5NÑ,OÐOñ	€ð
�ð  ô ð,Ø�E˜# ™* mÐ3Ñ4Ñ5ðàôð(Ø�E˜# ™* kÐ1Ñ2Ñ3ðàôð&*˜ð *¨ð *°°d±
õ *r!   