ó
    Û°›j±  ã                   óB  • S SK r S SKrS SKrS SKrS SKrS SKrS SKrS SKrS SKJ	r	  S SK
JrJrJrJr  S SKJr  S SKJrJrJrJrJr  S SKJrJrJr  S SKJrJr  SS	KJr  SS
K J!r!J"r"  SSK#J$r$J%r%J&r&J'r'J(r(  SSK)J*r*J+r+J,r,J-r-J.r.  SSK/J0r0  SSK1J2r2  SSK3J4r4  SSK5J6r6J7r7J8r8J9r9J:r:J;r;J<r<  SSK=J>r>  \R~                  S:¼  a  S SKJ@r@  O\" SSS9r@\R~                  S:¼  a  S SK
JArA  O	\\B\CSS4   rA\" S\AS9rDSrE\(       a  SSKFJGrG   " S S\H5      rI " S  S!\H5      rJS"\KS-  S#\L\KS-  \M\K\K4   4   4S$ jrN S4S%\\K\K4   S&\KS#\KS-  4S' jjrO " S( S)5      rP " S* S5      rQ\<" \Q\8R¤                  S+9 " S, S-\95      5       rS " S. S/5      rT\L\9\K\K4   rU " S0 S1\95      rV " S2 S35      rWg)5é    N)Údeque)ÚAsyncIteratorÚIteratorÚMappingÚSequence)ÚTracebackType)ÚTYPE_CHECKINGÚAnyÚTypeVarÚUnionÚcast)Ú	parse_qslÚunquoteÚ	urlencode)ÚCIMultiDictÚCIMultiDictProxyé   )ÚAbstractStreamWriter)ÚZLibCompressorÚZLibDecompressor)ÚCONTENT_DISPOSITIONÚCONTENT_ENCODINGÚCONTENT_LENGTHÚCONTENT_TRANSFER_ENCODINGÚCONTENT_TYPE)ÚCHARÚDEFAULT_CHUNK_SIZEÚTOKENÚparse_mimetypeÚreify)ÚHeadersParser)ÚBadHttpMessage)Úinternal_logger)ÚJsonPayloadÚLookupErrorÚOrderÚPayloadÚStringPayloadÚget_payloadÚpayload_type)ÚStreamReader)é   é   )ÚSelfr.   ÚBodyPartReader)Úbound)r,   é   )ÚBufferzmemoryview[int]zmemoryview[bytes]Ú_Buffer)ÚMultipartReaderÚMultipartWriterr/   ÚBadContentDispositionHeaderÚBadContentDispositionParamÚparse_content_dispositionÚcontent_disposition_filename)ÚClientResponsec                   ó   • \ rS rSrSrg)r6   éD   © N©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__static_attributes__r=   ó    ÚN/home/mande/repo/quber/.venv/lib/python3.13/site-packages/aiohttp/multipart.pyr6   r6   D   ó   † ÚrD   r6   c                   ó   • \ rS rSrSrg)r7   éH   r=   Nr>   r=   rD   rE   r7   r7   H   rF   rD   r7   ÚheaderÚreturnc                 óÎ  ^• S[         S[        4S jmS[         S[        4S jnS[         S[        4U4S jjnS[         S[        4S jnS[         S[        4S jnSR                  [        [        R
                  [        5      5      S	.S
[         S[         S[         4S jjnU (       d  S 0 4$ U R                  S5      tpgUR                  5       nT" U5      (       d#  [        R                  " [        U 5      5        S 0 4$ 0 nU(       Ga�  UR                  S5      n	U	(       d!  [        R                  " [        U 5      5        MA  SU	;  a#  [        R                  " [        U 5      5        S 0 4$ U	R                  SS5      u  p«U
R                  5       R                  5       n
UR                  5       nX¨;   a#  [        R                  " [        U 5      5        S 0 4$ T" U
5      (       d"  [        R                  " [        U	5      5        GM  U" U
5      (       aK  U" U5      (       a  U" USS 5      nGO]T" U5      (       d"  [        R                  " [        U	5      5        GMY  GO,U" U
5      (       a^  U" U5      (       a!  UR                  SS5      u  pÍnU=(       d    SnO"[        R                  " [        U	5      5        GM¸   [!        X¼S5      nOÁSnUR)                  5       nU" U5      (       a  SnU" USS R                  S5      5      nO[T" U5      (       a  SnOKU(       aD  U SUS    3nU" U5      (       a-  UR                  S5        U" USS R                  S5      5      nSnU(       a#  [        R                  " [        U 5      5        S 0 4$ X¸U
'   U(       a  GM�  UR                  5       U4$ ! ["        R$                  [&        4 a$    [        R                  " [        U	5      5         GMä  f = f)NÚstringrJ   c                 óJ   • [        U 5      =(       a    [        [        U 5      :¬  $ ©N)Úboolr   Úset©rL   s    rE   Úis_tokenÚ+parse_content_disposition.<locals>.is_tokenO   s   € Ü�F‹|×4¤¬¨V«Ñ 4Ð4rD   c                 ób   • [        U 5      S:¬  =(       a    U S   U S   s=:H  =(       a    S:H  $ s  $ )Né   r   éÿÿÿÿÚ")ÚlenrQ   s    rE   Ú	is_quotedÚ,parse_content_disposition.<locals>.is_quotedR   s1   € Ü�6‹{˜aÑ×B F¨1¡I°¸±×$BÓ$B¸sÑ$BÐBÑ$BÐBrD   c                 óJ   >• T" U 5      =(       a    U R                  S5      S:H  $ )NÚ'rU   )Úcount)rL   rR   s    €rE   Ú
is_rfc5987Ú-parse_content_disposition.<locals>.is_rfc5987U   s!   ø€ Ù˜Ó×: F§L¡L°Ó$5¸Ñ$:Ð:rD   c                 ó$   • U R                  S5      $ )NÚ*)ÚendswithrQ   s    rE   Úis_extended_paramÚ4parse_content_disposition.<locals>.is_extended_paramX   s   € Ø�‰˜sÓ#Ð#rD   c                 ó–   • U R                  S5      S-   nU(       d  gU R                  S5      (       a  XS OXS  nUR                  5       $ )Nra   r   FrV   )Úfindrb   Úisdigit)rL   ÚposÚ	substrings      rE   Úis_continuous_paramÚ6parse_content_disposition.<locals>.is_continuous_param[   sG   € Ø�k‰k˜#Ó Ñ"ˆÞØØ&,§o¡o°c×&:Ñ&:�F˜r‘NÀÀtÀˆ	Ø× Ñ Ó"Ð"rD   Ú )ÚcharsÚtextrm   c                ó:   • [         R                  " SU S3SU 5      $ )Nz\\([z])z\1)ÚreÚsub)rn   rm   s     rE   ÚunescapeÚ+parse_content_disposition.<locals>.unescapeb   s   € Ü�vŠv˜˜u˜g RÐ(¨%°Ó6Ð6rD   Ú;r   Ú=r   rV   r\   rU   úutf-8ÚstrictTFz\/)ÚstrrO   ÚjoinÚmaprp   Úescaper   ÚsplitÚstripÚwarningsÚwarnr6   ÚpopÚlowerÚlstripr7   r   Úbuiltinsr%   ÚUnicodeDecodeErrorÚrstrip)rI   rY   r^   rc   rj   rr   ÚdisptypeÚpartsÚparamsÚitemÚkeyÚvalueÚencodingÚ_ÚfailedÚ	rstrippedÚ_valuerR   s                    @rE   r8   r8   L   s_  ø€ ð5œð 5¤ô 5ðCœ#ð C¤$ô Cð;œ3ð ;¤4÷ ;ð$¤#ð $¬$ô $ð#¤Cð #¬Dô #ð -/¯G©G´C¼¿	¹	Ä4Ó4HÓ,Iò 7”sð 7¤cð 7Ìcõ 7ö Ø�Rˆxˆð —|‘| CÓ(Ð€HØ�~‰~Ó€HÙ�H×ÑÜ�ŠÔ1°&Ó9Ô:Ø�Rˆxˆà€Fß
Ø�y‰y˜‹|ˆæÜ�MŠMÔ5°fÓ=Ô>Ùà�d‹?Ü�MŠMÔ5°fÓ=Ô>Ø˜�8ˆOà—Z‘Z  QÓ'‰
ˆØ�i‰i‹k×ÑÓ!ˆØ—‘“ˆà‹=Ü�MŠMÔ5°fÓ=Ô>Ø˜�8ˆOá˜�}‰}Ü�MŠMÔ4°TÓ:Ô;Úá  ×%Ñ%Ù˜×ÑÙ   q¨ Ó-’Ù˜e—_‘_Ü—’Ô8¸Ó>Ô?Úñ %ñ ˜s×#Ñ#Ù˜%× Ñ Ø%*§[¡[°°aÓ%8Ñ"�˜UØ#×. w‘ä—’Ô8¸Ó>Ô?ÚðÜ °Ó:‘ð ˆFØŸ™›ˆIÙ˜×#Ñ#Ø�Ù  ¨1¨R ×!7Ñ!7¸Ó!>Ó?‘Ù˜%—‘Ø‘Þð "˜7 ! E¨!¡H :Ð.�Ù˜V×$Ñ$Ø—I‘I˜a”LÙ$ V¨A¨b \×%8Ñ%8¸Ó%?Ó@�EØ"�FæÜ—’Ô9¸&ÓAÔBØ˜R�x�àˆs‰÷I ‰%ðL �>‰>Ó˜VÐ#Ð#øô= ×(Ñ(Ô*<Ð=ó ô —’Ô8¸Ó>Ô?Ûðús   Ê8N& Î&9O$Ï#O$rˆ   Únamec                 ó<  ^
• SU-  m
U (       d  g T
U ;   a  U T
   $ X;   a  X   $ / n[        U
4S jU R                  5        5       5      n[        U5       HY  u  nu  pVUR                  SS5      u  pxUR	                  S5      (       a  US S nU[        U5      :X  a  UR                  U5        MY    O   U(       d  g SR                  U5      nSU;   a-  UR                  SS5      u  p—nU	=(       d    S	n	 [        XiS
5      $ U$ ! [        R                  [        4 a     g f = f)Nz%s*c              3   ó^   >#   • U  H"  u  pUR                  T5      (       d  M  X4v •  M$     g 7frN   )Ú
startswith)Ú.0rŠ   r‹   Úname_sufs      €rE   Ú	<genexpr>Ú/content_disposition_filename.<locals>.<genexpr>Å   s%   øé € ð 
Ú+9™Z˜S¸S¿^¹^ÈH×=U‹LˆS�Lª>ùs   ƒ-£
-ra   r   rV   rl   r\   rU   rv   rw   )ÚsortedÚitemsÚ	enumerater|   rb   rx   Úappendry   r   rƒ   r%   r„   )rˆ   r‘   r‡   ÚfnparamsÚnumrŠ   r‹   r�   ÚtailrŒ   r–   s             @rE   r9   r9   ¹   s+  ø€ ð �t‰|€HÞØØ	�VÓ	Ø�hÑÐØ	‹Ø‰|ÐàˆÜô 
Ø+1¯<©<¬>ó
ó 
ˆô "+¨8Ö!4ÑˆC‘�#Ø—i‘i  QÓ'‰GˆAØ�}‰}˜S×!Ñ!Ø˜C˜R�y�Ø”s˜3“xÓØ—‘˜UÖ#áñ "5ö ØØ—‘˜“ˆØ�%‹<Ø!&§¡¨S°!Ó!4ÑˆH˜Ø×* 7ˆHðÜ˜u°Ó9Ð9ð ˆøô ×(Ñ(Ô*<Ð=ó ñ
 ðús   Ã0C> Ã>DÄDc                   ó~   • \ rS rSrSr      SS jrSS jrS\S   4S jrS\	4S	 jr
S\S   S-  4S
 jrSS jrSrg)ÚMultipartResponseWrapperéá   znWrapper around the MultipartReader.

It takes care about
underlying connection and close it when it needs in.
rJ   Nc                 ó   • Xl         X l        g rN   ©ÚrespÚstream)Úselfr¥   r¦   s      rE   Ú__init__Ú!MultipartResponseWrapper.__init__è   s   € ð
 Œ	Ø�rD   c                 ó   • U $ rN   r=   ©r§   s    rE   Ú	__aiter__Ú"MultipartResponseWrapper.__aiter__ð   ó   € ØˆrD   )r4   r/   c              ƒ   óT   #   • U R                  5       I S h  v•N nUc  [        eU$  N7frN   ©ÚnextÚStopAsyncIteration©r§   Úparts     rE   Ú	__anext__Ú"MultipartResponseWrapper.__anext__ó   ó*   é € ð —Y‘Y“[× ˆØ‰<Ü$Ð$Øˆñ !ùó   ‚(–&—(c                 óJ   • U R                   R                  R                  5       $ )z2Returns True when all response data had been read.)r¥   ÚcontentÚat_eofr«   s    rE   r»   ÚMultipartResponseWrapper.at_eofû   s   € à�y‰y× Ñ ×'Ñ'Ó)Ð)rD   c              ƒ   óÈ   #   • U R                   R                  5       I Sh  v•N nU R                   R                  5       (       a  U R                  5       I Sh  v•N   U$  N= N7f)z#Emits next multipart reader object.N)r¦   r±   r»   Úrelease©r§   r‰   s     rE   r±   ÚMultipartResponseWrapper.nextÿ   sK   é € ð —[‘[×%Ñ%Ó'×'ˆØ�;‰;×Ñ×ÑØ—,‘,“.× Ð Øˆñ (á ùs!   ‚A" A¡6A"ÁA ÁA"Á A"c              ƒ   óT   #   • U R                   R                  5       I Sh  v•N   g N7f)zORelease the connection gracefully.

All remaining content is read to the void.
N)r¥   r¾   r«   s    rE   r¾   Ú MultipartResponseWrapper.release  s   é € ð
 �i‰i×ÑÓ!×!Ó!ùs   ‚( &¡(r¤   )r¥   r:   r¦   r4   rJ   N)rJ   r¡   ©rJ   N)r?   r@   rA   rB   Ú__doc__r¨   r¬   r   rµ   rO   r»   r±   r¾   rC   r=   rD   rE   r¡   r¡   á   si   † ñðàðð "ðð 
ô	ôðà	Ð2Ñ	3ôð*˜ô *ðà	Ð2Ñ	3°dÑ	:ô÷"rD   r¡   c                   ó¢  • \ rS rSrSrSrSS\\R                  \	S.S\
SS	S
\S\S\S-  S\S\S\\   SS4S jjrS\S\4S jrS\
4S jrS\
S-  4S jrSS.S\S\
4S jjr\4S\S\
4S jjrS\S\
4S jrS\S\
4S jrS\
4S jrS3S jrSS .S!\S-  S\4S" jjrSS .S!\S-  S\\\4   S-  4S# jjrSS .S!\S-  S\ \!\\4      4S$ jjr"S\4S% jr#S&\$S\$\
-  4S' jr%S\4S( jr&S&\$S\$\
-  4S) jr'S&\$S\(\$\
-     4S* jr)S&\$S\$\
-  4S+ jr*S&\$S\(\$\
-     4S, jr+S&\$S\$\
-  4S- jr,S.\S\4S/ jr-\.S\S-  4S0 j5       r/\.S\S-  4S1 j5       r0S2r1g)4r/   i  z&Multipart reader for single body part.i    ÚmixedN)ÚsubtypeÚdefault_charsetÚmax_decompress_sizeÚclient_max_sizeÚmax_size_error_clsÚboundaryÚheadersúCIMultiDictProxy[str]rº   rÇ   rÈ   rÉ   rÊ   rË   rJ   c                óþ  • X l         Xl        [        U5      S-   U l        X0l        XPl        SU l        US:H  U l        U R                  (       a  S OU R                   R                  [        S 5      n	U	b9  U	R                  5       (       a  U	R                  5       (       d  [        SU	< 35      eU	b  [        U	5      OS U l        SU l        [!        5       U l        S U l        SU l        0 U l        X`l        Xpl        X€l        g )NrU   Fú	form-datazinvalid Content-Length: r   )rÍ   Ú	_boundaryrX   Ú_boundary_lenÚ_contentÚ_default_charsetÚ_at_eofÚ_is_form_dataÚgetr   Úisasciirg   Ú
ValueErrorÚintÚ_lengthÚ_read_bytesr   Ú_unreadÚ_prev_chunkÚ_content_eofÚ_cacheÚ_max_decompress_sizeÚ_client_max_sizeÚ_max_size_error_cls)
r§   rÌ   rÍ   rº   rÇ   rÈ   rÉ   rÊ   rË   Úlengths
             rE   r¨   ÚBodyPartReader.__init__  sÞ   € ð ŒØ!ŒÜ  ›]¨QÑ.ˆÔØŒØ /ÔØˆŒØ$¨Ñ3ˆÔà×+×+‘°·±×1AÑ1AÄ.ÐRVÓ1WˆØÑ v§~¡~×'7Ñ'7¸F¿N¹N×<LÑ<Lô Ð7¸±zÐBÓCÐCØ&,Ñ&8”s˜6”{¸dˆŒØˆÔÜ%*£WˆŒØ)-ˆÔØˆÔØ&(ˆŒØ$7Ô!Ø /ÔØ#5Õ rD   r§   c                 ó   • U $ rN   r=   r«   s    rE   r¬   ÚBodyPartReader.__aiter__9  r®   rD   c              ƒ   óT   #   • U R                  5       I S h  v•N nUc  [        eU$  N7frN   r°   r³   s     rE   rµ   ÚBodyPartReader.__anext__<  s(   é € Ø—Y‘Y“[× ˆØ‰<Ü$Ð$Øˆñ !ùr¸   c              ƒ   óR   #   • U R                  5       I S h  v•N nU(       d  g U$  N7frN   )Úreadr¿   s     rE   r±   ÚBodyPartReader.nextB  s#   é € Ø—Y‘Y“[× ˆÞØØˆñ !ùs   ‚'–%—'F©Údecoderî   c             ƒ   óL  #   • U R                   (       a  g[        5       nU R                   (       dy  UR                  U R                  U R                  5      I Sh  v•N 5        [        U5      U R                  :”  a  U R                  U R                  5      eU R                   (       d  My  U(       ak  [        5       nU R                  U5        Sh  v•N nUR                  U5        [        U5      U R                  :”  d  M5  U R                  U R                  5      eU$  NÃ NO
 U$ 7f)z›Reads body part data.

decode: Decodes data following by encoding
        method from Content-Encoding header. If it missed
        data remains untouched
rD   N)	rÕ   Ú	bytearrayÚextendÚ
read_chunkÚ
chunk_sizerX   râ   rã   Údecode_iter)r§   rî   ÚdataÚdecoded_dataÚds        rE   rë   ÚBodyPartReader.readH  sä   é € ð �<�<ØÜ‹{ˆØ—,—,Ø�K‰K˜dŸo™o¨d¯o©oÓ>×>Ô?Ü�4‹y˜4×0Ñ0Ó0Ø×.Ñ.¨t×/DÑ/DÓEÐEð —,—,‘,ö Ü$›;ˆLØ×+Ñ+¨DÔ1÷ J�aØ×#Ñ# AÔ&Ü�|Ó$ t×'<Ñ'<Õ<Ø×2Ñ2°4×3HÑ3HÓIÐIàˆñ ?ñ
JÐ1ð  ÐùsC   ‚AD$ÁDÁAD$Â)"D$ÃD!ÃDÃD!Ã)D$Ä D$ÄD!Ä!D$Úsizec              ƒ   óž  #   • U R                   (       a  gU R                  (       a  U R                  U5      I Sh  v•N nOU R                  U5      I Sh  v•N nU R                  R                  [        5      nU(       Ga@  UR                  5       S:X  Ga+  SR                  UR                  5       5      n[        U5      S-  nUS:w  aø  U R                  5       (       dã  SU-
  nSnU R                  (       a,  U R                  SU nU R                  [        U5      S U l        [        U5      U:w  a1  XpR                  R                  S[        U5      -
  5      I Sh  v•N -  nU(       d  SU l         USR                  UR                  5       5      -  nX'-  n[        U5      S-  nUS:w  a  U R                  5       (       d  Mã  U =R                  [        U5      -  sl        U R                  U R                  :X  a  SU l         U R                   (       a1  U R                  R!                  5       I Sh  v•N S:w  a  [#        S5      eU$  GN	 GNò Nî N7f)	zGReads body part content chunk of the specified size.

size: chunk size
rD   NÚbase64é   r   Tó   
z3Reader did not read all the data or it is malformed)rÕ   rÛ   Ú_read_chunk_from_lengthÚ_read_chunk_from_streamrÍ   r×   r   r�   ry   r|   rX   r»   rÞ   rÓ   rë   rÜ   ÚreadlinerÙ   )r§   rù   ÚchunkrŒ   Ústripped_chunkÚ	remainderÚover_chunk_sizeÚ
over_chunks           rE   rò   ÚBodyPartReader.read_chunk_  sÐ  é € ð
 �<�<ØØ�<�<Ø×6Ñ6°tÓ<×<‰Eà×6Ñ6°tÓ<×<ˆEð —<‘<×#Ñ#Ô$=Ó>ˆß˜Ÿ™Ó(¨HÔ4Ø ŸX™X e§k¡k£mÓ4ˆNÜ˜NÓ+¨aÑ/ˆIà˜q“.¨¯©¯©Ø"# i¡-�Ø �
à×#×#Ø!%×!1Ñ!1Ð2B°?Ð!C�JØ'+×'7Ñ'7¼¸J»Ð8IÐ'J�DÔ$ä�z“? oÓ5Ø¯©×(:Ñ(:¸1¼sÀ:»Ñ;NÓ(O×"OÑO�Jæ!Ø#'�D”Là #§(¡(¨:×+;Ñ+;Ó+=Ó">Ñ>�ØÑ#�Ü Ó/°!Ñ3�	ð! ˜q“.¨¯©¯«ð$ 	×ÒœC ›JÑ&ÕØ×Ñ˜tŸ|™|Ó+ØˆDŒLØ�<�< $§-¡-×"8Ñ"8Ó":×:¸gÓEÜÐRÓSÐSØˆòE =â<ñ$ #Pñ ;ùsN   ‚8IºI»IÁIÁDIÅI	ÅA#IÇ A-IÈ-IÈ.IÉIÉ	IÉIc              ƒ   ó  #   • U R                   c   S5       e[        XR                   U R                  -
  5      nU R                  R	                  U5      I S h  v•N nU R                  R                  5       (       a  SU l        U$  N,7f)Nz(Content-Length required for chunked readT)rÛ   ÚminrÜ   rÓ   rë   r»   rÕ   )r§   rù   ró   r  s       rE   rþ   Ú&BodyPartReader._read_chunk_from_length‹  sq   é € ð �|‰|Ñ'ÐSÐ)SÓSÐ'Ü˜Ÿ|™|¨d×.>Ñ.>Ñ>Ó?ˆ
Ø—m‘m×(Ñ(¨Ó4×4ˆØ�=‰=×Ñ×!Ñ!ØˆDŒLØˆñ 5ùs   ‚ABÁBÁ-Bc           
   ƒ   ó,  #   • XR                   :¼  d   S5       eU R                  S L nU(       a+  SU R                  R                  U5      I S h  v•N -   U l        Sn[	        U5      U R                   :  a£  X0R                  R                  U5      I S h  v•N -  nU =R
                  [        U R                  R                  5       5      -  sl        U R
                  S:”  a  [        S5      eU R
                  (       a  O[	        U5      U R                   :  a  M£  [	        U5      U:”  a"  U R                  R                  X1S  5        US U nU R                  c   eU R                  U-   nSU R                  -   nU(       a  UR                  U5      nO;UR                  U[        S[	        U R                  5      [	        U5      -
  5      5      nUS:¼  aŽ  [        R                  " 5          [        R                  " S[         S9  U R                  R                  XFS  5        S S S 5        U R                  S U U l        U[	        U R                  5      U nU(       d  S	U l        U R                  U(       a  SOSS  nX0l        U$  GN0 GNî! , (       d  f       Nn= f7f)
Nz<Chunk size must be greater or equal than boundary length + 2rý   rD   rU   zReading after EOFr   Úignore)ÚcategoryT)rÒ   rÞ   rÓ   rë   rX   rß   rÚ   r»   rÙ   Úunread_datarÑ   rf   Úmaxr~   Úcatch_warningsÚfilterwarningsÚDeprecationWarningrÕ   )r§   rù   Úfirst_chunkr  Úwindowrq   ÚidxÚresults           rE   rÿ   Ú&BodyPartReader._read_chunk_from_stream•  s/  é € ð ×&Ñ&Ó&ð	JàIó	JØ&à×&Ñ&¨$Ð.ˆÞà&¨t¯}©}×/AÑ/AÀ$Ó/G×)GÑGˆDÔàˆô �%‹j˜4×-Ñ-Ó-ØŸ=™=×-Ñ-¨dÓ3×3Ñ3ˆEØ×Ò¤ T§]¡]×%9Ñ%9Ó%;Ó!<Ñ<ÕØ× Ñ  1Ó$Ü Ð!4Ó5Ð5Ø× × Øô �%‹j˜4×-Ñ-Õ-ô ˆu‹:˜ÓØ�M‰M×%Ñ% e¨E lÔ3Ø˜%˜4�LˆEà×ÑÑ+Ð+Ð+Ø×!Ñ! EÑ)ˆØ˜Ÿ™Ñ&ˆÞØ—+‘+˜cÓ"‰Cà—+‘+˜c¤3 q¬#¨d×.>Ñ.>Ó*?Ä#ÀcÃ(Ñ*JÓ#KÓLˆCØ�!‹8ä×(Ò(Õ*Ü×'Ò'¨Ô;MÒNØ—‘×)Ñ)¨&°¨,Ô7÷ +ð  $×/Ñ/°°Ð5ˆDÔØœ3˜t×/Ñ/Ó0°3Ð7ˆEÞØ#�”Ø×!Ñ!¦{¡!¸Ð";Ð<ˆØ ÔØˆòE *Hò 4÷& +Õ*üsF   ‚AJÁI=ÁAJÂJ ÂBJÄCJÇ$7JÈA#JÊ JÊ
JÊJc              ƒ   ó’  #   • U R                   (       a  gU R                  (       a  U R                  R                  5       nO"U R                  R	                  5       I Sh  v•N nUR                  U R                  5      (       a\  UR                  S5      nU R                  nU R                  S-   nX#:X  d  X$:X  a#  SU l         U R                  R                  U5        g U$ U R                  R	                  5       I Sh  v•N nUR                  U R                  5      (       a  USS nU R                  R                  U5        U$  Nä NH7f)z Reads body part by line by line.rD   Nrý   ó   --Téþÿÿÿ)	rÕ   rÝ   ÚpopleftrÓ   r   r”   rÑ   r…   rœ   )r§   ÚlineÚslinerÌ   Úlast_boundaryÚ	next_lines         rE   r   ÚBodyPartReader.readlineÂ  s  é € à�<�<Øà�<�<Ø—<‘<×'Ñ'Ó)‰DàŸ™×/Ñ/Ó1×1ˆDà�?‰?˜4Ÿ>™>×*Ñ*ð —K‘K Ó(ˆEØ—~‘~ˆHØ ŸN™N¨UÑ2ˆMàÓ  EÓ$:Ø#�”Ø—‘×#Ñ# DÔ)Øð %;ð ˆð #Ÿm™m×4Ñ4Ó6×6ˆIØ×#Ñ# D§N¡N×3Ñ3Ø˜C˜R�y�Ø�L‰L×Ñ 	Ô*àˆñ' 2ñ 7ùs&   ‚AEÁEÁBEÃ<EÃ=AEÅEc              ƒ   óÄ   #   • U R                   (       a  gU R                   (       d7  U R                  U R                  5      I Sh  v•N   U R                   (       d  M6  gg N7f)z0Like read(), but reads all the data to the void.N)rÕ   rò   ró   r«   s    rE   r¾   ÚBodyPartReader.releaseß  s:   é € à�<�<ØØ—,—,Ø—/‘/ $§/¡/Ó2×2Ð2ð —,—,“,Ù2ùs   ‚AA ÁAÁA ÁA )rŒ   rŒ   c             ƒ   óŽ   #   • U R                  SS9I Sh  v•N nU=(       d    U R                  SS9nUR                  U5      $  N-7f)z;Like read(), but assumes that body part contains text data.Trí   Nrv   ©Údefault)rë   Úget_charsetrî   ©r§   rŒ   rõ   s      rE   rn   ÚBodyPartReader.textæ  sF   é € à—Y‘Y d�YÐ+×+ˆð ×@˜t×/Ñ/¸Ð/Ð@ˆØ�{‰{˜8Ó$Ð$ñ	 ,ùs   ‚A•A–.Ac             ƒ   óü   #   • U R                  SS9I Sh  v•N nU(       d  gU=(       d    U R                  SS9n[        [        [        [
        4   [        R                  " UR                  U5      5      5      $  Nd7f)z<Like read(), but assumes that body parts contains JSON data.Trí   Nrv   r#  )	rë   r%  r   Údictrx   r
   ÚjsonÚloadsrî   r&  s      rE   r*  ÚBodyPartReader.jsonî  sb   é € à—Y‘Y d�YÐ+×+ˆÞØØ×@˜t×/Ñ/¸Ð/Ð@ˆÜ”Dœœc˜‘N¤D§J¢J¨t¯{©{¸8Ó/DÓ$EÓFÐFñ	 ,ùs   ‚A<•A:–A%A<c             ƒ   ó  #   • U R                  SS9I Sh  v•N nU(       d  / $ Ub  UnOU R                  SS9n UR                  5       R                  U5      n[        USUS9$  NM! [         a    [        SU-  5      ef = f7f)zFLike read(), but assumes that body parts contain form urlencoded data.Trí   Nrv   r#  z'data cannot be decoded with %s encoding)Úkeep_blank_valuesrŒ   )rë   r%  r…   rî   r„   rÙ   r   )r§   rŒ   rõ   Úreal_encodingrö   s        rE   ÚformÚBodyPartReader.formö  sš   é € à—Y‘Y d�YÐ+×+ˆÞØˆIØÑØ$‰Mà ×,Ñ,°WÐ,Ð=ˆMð	XØŸ;™;›=×/Ñ/°Ó>ˆLô ØØ"Ø"ñ
ð 	
ñ ,øô "ó 	XÜÐFÈÑVÓWÐWð	Xüs&   ‚B•A#–"B¹A% ÁBÁ%A>Á>Bc                 ó   • U R                   $ )z<Returns True if the boundary was reached or False otherwise.©rÕ   r«   s    rE   r»   ÚBodyPartReader.at_eof
  ó   € à�|‰|ÐrD   rõ   c                 óP   • [         U R                  ;   a  U R                  U5      $ U$ )z>Apply Content-Transfer-Encoding decoding if header is present.)r   rÍ   Ú_decode_content_transfer)r§   rõ   s     rE   Ú _apply_content_transfer_decodingÚ/BodyPartReader._apply_content_transfer_decoding  s$   € ä$¨¯©Ó4Ø×0Ñ0°Ó6Ð6ØˆrD   c                 óX   • U R                   (       + =(       a    [        U R                  ;   $ )z5Check if Content-Encoding decoding should be applied.)rÖ   r   rÍ   r«   s    rE   Ú_needs_content_decodingÚ&BodyPartReader._needs_content_decoding  s"   € ð ×%Ñ%Ô%×JÔ*:¸d¿l¹lÑ*JÐJrD   c                 ót   • U R                  U5      nU R                  5       (       a  U R                  U5      $ U$ )zöDecodes data synchronously.

Decodes data according the specified Content-Encoding
or Content-Transfer-Encoding headers value.

Note: For large payloads, consider using decode_iter() instead
to avoid blocking the event loop during decompression.
)r8  r;  Ú_decode_content)r§   rõ   Údecodeds      rE   rî   ÚBodyPartReader.decode  s9   € ð ×7Ñ7¸Ó=ˆØ×'Ñ'×)Ñ)Ø×'Ñ'¨Ó0Ð0ØˆrD   c                ó¬   #   • U R                  U5      nU R                  5       (       a!  U R                  U5        Sh  v•N nU7v •  M  U7v •  g N
 g7f)züAsync generator that yields decoded data chunks.

Decodes data according the specified Content-Encoding
or Content-Transfer-Encoding headers value.

This method offloads decompression to an executor for large payloads
to avoid blocking the event loop.
N)r8  r;  Ú_decode_content_async)r§   rõ   r?  r÷   s       rE   rô   ÚBodyPartReader.decode_iter'  sM   é € ð ×7Ñ7¸Ó=ˆØ×'Ñ'×)Ñ)Ø×5Ñ5°gÔ>÷ �aØ•àŒMñÑ>ùs&   ‚8AºA¾A¿AÁAÁAÁAc                 óØ   • U R                   R                  [        S5      R                  5       nUS:X  a  U$ US;   a!  [	        USS9R                  XR                  S9$ [        SU 35      e)Nrl   Úidentity>   ÚgzipÚdeflateT©rŒ   Úsuppress_deflate_header©Ú
max_lengthúunknown content encoding: )rÍ   r×   r   r�   r   Údecompress_syncrá   ÚRuntimeError©r§   rõ   rŒ   s      rE   r>  ÚBodyPartReader._decode_content7  su   € Ø—<‘<×#Ñ#Ô$4°bÓ9×?Ñ?ÓAˆØ�zÓ!ØˆKØÐ*Ó*Ü#Ø!Ø(,ñ÷ ‰o˜d×/HÑ/HˆoÐIðJô
 Ð7¸°zÐBÓCÐCrD   c                ó   #   • U R                   R                  [        S5      R                  5       nUS:X  a  U7v •  g US;   ay  [	        USS9nUR                  XR                  S9I S h  v•N 7v •  UR                  (       a9  UR                  SU R                  S9I S h  v•N 7v •  UR                  (       a  M8  g g [        SU 35      e N` N,7f)	Nrl   rE  >   rF  rG  TrH  rJ  rD   rL  )	rÍ   r×   r   r�   r   Ú
decompressrá   Údata_availablerN  )r§   rõ   rŒ   r÷   s       rE   rB  Ú$BodyPartReader._decode_content_asyncC  sº   é € ð —<‘<×#Ñ#Ô$4°bÓ9×?Ñ?ÓAˆØ�zÓ!ØŒJØÐ,Ó,Ü Ø!Ø(,ñˆAð Ÿ™ T×6OÑ6O˜ÐP×PÓPØ×"×"ØŸL™L¨¸×9RÑ9R˜LÐS×SÓSð ×"×"Ó"ô Ð!;¸H¸:ÐFÓGÐGñ	 QáSùs*   ‚A'CÁ)C
Á*5CÂCÂ CÂ:CÃCc                 óú   • U R                   R                  [        S5      R                  5       nUS:X  a  [        R
                  " U5      $ US:X  a  [        R                  " U5      $ US;   a  U$ [        SU 35      e)Nrl   rû   úquoted-printable)ÚbinaryÚ8bitÚ7bitú#unknown content transfer encoding: )	rÍ   r×   r   r�   rû   Ú	b64decodeÚbinasciiÚa2b_qprN  rO  s      rE   r7  Ú'BodyPartReader._decode_content_transferT  st   € Ø—<‘<×#Ñ#Ô$=¸rÓB×HÑHÓJˆà�xÓÜ×#Ò# DÓ)Ð)ØÐ+Ó+Ü—?’? 4Ó(Ð(ØÐ3Ó3ØˆKäÐ!DÀXÀJÐOÓPÐPrD   r$  c                 ó¶   • U R                   R                  [        S5      n[        U5      nUR                  R                  SU R
                  =(       d    U5      $ )z>Returns charset parameter from Content-Type header or default.rl   Úcharset)rÍ   r×   r   r   Ú
parametersrÔ   )r§   r$  ÚctypeÚmimetypes       rE   r%  ÚBodyPartReader.get_charset`  sF   € à—‘× Ñ ¤¨rÓ2ˆÜ! %Ó(ˆØ×"Ñ"×&Ñ& y°$×2GÑ2G×2RÈ7ÓSÐSrD   c                 ón   • [        U R                  R                  [        5      5      u  p[	        US5      $ )zlReturns name specified in Content-Disposition header.

If the header is missing or malformed, returns None.
r‘   ©r8   rÍ   r×   r   r9   ©r§   r�   rˆ   s      rE   r‘   ÚBodyPartReader.namef  s-   € ô .¨d¯l©l×.>Ñ.>Ô?RÓ.SÓT‰	ˆÜ+¨F°FÓ;Ð;rD   c                 ón   • [        U R                  R                  [        5      5      u  p[	        US5      $ )zoReturns filename specified in Content-Disposition header.

Returns None if the header is missing or malformed.
Úfilenamerf  rg  s      rE   rj  ÚBodyPartReader.filenameo  s-   € ô .¨d¯l©l×.>Ñ.>Ô?RÓ.SÓT‰	ˆÜ+¨F°JÓ?Ð?rD   )rÕ   rÑ   rÒ   rà   râ   rÓ   rß   rÔ   rÖ   rÛ   rá   rã   rÞ   rÜ   rÝ   rÍ   rÃ   )2r?   r@   rA   rB   rÄ   ró   r   ÚsysÚmaxsizerÙ   Úbytesr+   rx   rÚ   ÚtypeÚ	Exceptionr¨   r.   r¬   rµ   r±   rO   rë   rò   rþ   rÿ   r   r¾   rn   r)  r
   r*  ÚlistÚtupler0  r»   r3   r8  r;  rî   r   rô   r>  rB  r7  r%  r    r‘   rj  rC   r=   rD   rE   r/   r/     sž  † Ù0à€Jð Ø&*Ø#5Ø"Ÿ{™{Ø.8ò"6àð"6ð )ð"6ð ð	"6ð ð"6ð ˜t™ð"6ð !ð"6ð ð"6ð ! ™Oð"6ð 
õ"6ðH˜ð  ô ð ô ð˜E D™Lô ð ,1ò  Dð °Uõ ð. ,6ñ * Sð *¸%õ *ðX°#ð ¸%ô ð+°#ð +¸%ô +ðZ ô ô:3ð 48ò % c¨D¡jð %¸Cõ %ð 48ò G c¨D¡jð G¸DÀÀcÀ¹NÈTÑ<Qõ Gð 48ò 
 c¨D¡jð 
¸DÀÀsÈCÀxÁÑ<Qõ 
ð(˜ô ð°Wð ÀÈ5Áô ðK¨ô Kð
˜7ð  w°¡ô ð gð °-ÀÈ%ÁÑ2Pô ð 
D Gð 
D°¸%±ô 
DðHØðHà	�w ‘Ñ	'ôHð"
Q¨Wð 
Q¸À5¹ô 
QðT 3ð T¨3ô Tð ð<�c˜D‘jó <ó ð<ð ð@˜# ™*ó @ó ó@rD   )Úorderc                   óŽ   ^ • \ rS rSr% \\S'   S\S\S\SS4U 4S jjrSS	\S
\S\4S jjr	SS	\S
\S\
4S jjrS\SS4S jrSrU =r$ )ÚBodyPartReaderPayloadiy  r�   r‹   ÚargsÚkwargsrJ   Nc                 óÖ   >• [         TU ]  " U/UQ70 UD6  0 nUR                  b  UR                  US'   UR                  b  UR                  US'   U(       a  U R                  " S0 UD6  g g )Nr‘   rj  )Ú
attachmentT)Úsuperr¨   r‘   rj  Úset_content_disposition)r§   r‹   rv  rw  rˆ   Ú	__class__s        €rE   r¨   ÚBodyPartReaderPayload.__init__~  sg   ø€ Ü‰Ò˜Ð0 Ò0¨Ò0à!#ˆØ�:‰:Ñ!Ø"ŸZ™ZˆF�6‰NØ�>‰>Ñ%Ø!&§¡ˆF�:ÑæØ×(Ò(ÑF¸vÓFð rD   rŒ   Úerrorsc                 ó   • [        S5      e)NzUnable to decode.©Ú	TypeError©r§   rŒ   r~  s      rE   rî   ÚBodyPartReaderPayload.decodeŠ  s   € ÜÐ+Ó,Ð,rD   c              ƒ   ó    #   • [        S5      e7f)a*  Raises TypeError as body parts should be consumed via write().

This is intentional: BodyPartReader payloads are designed for streaming
large data (potentially gigabytes) and must be consumed only once via
the write() method to avoid memory exhaustion. They cannot be buffered
in memory for reuse.
z:Unable to read body part as bytes. Use write() to consume.r€  r‚  s      rE   Úas_bytesÚBodyPartReaderPayload.as_bytes�  s   é € ô ÐTÓUÐUùs   ‚Úwriterc              ƒ   ó,  #   • U R                   nUR                  [        S9I S h  v•N =n(       a5  UR                  U5        S h  v•N nUR	                  U5      I S h  v•N   M$  g  NA N" N
 UR                  [        S9I S h  v•N  =n(       a  Mb  g 7f)N)rù   )r�   rò   r   rô   Úwrite)r§   r‡  Úfieldr  r÷   s        rE   r‰  ÚBodyPartReaderPayload.write—  sŒ   é € Ø—‘ˆØ"×-Ñ-Ô3EÐ-ÐF×FÐFˆeÕFØ ×,Ñ,¨UÔ3÷ &�aØ—l‘l 1“o×%Ò%ð GÑFñ&Ù%ð 4ð #×-Ñ-Ô3EÐ-ÐF×FÐFÐFˆe×FÐFùsW   ‚#B¥A'¦BÁA-ÁA)ÁA-Á
BÁA+Á BÁ)A-Á+BÁ-BÂBÂBÂBr=   ©rv   rw   )r?   r@   rA   rB   r/   Ú__annotations__r
   r¨   rx   rî   rn  r…  r   r‰  rC   Ú__classcell__©r|  s   @rE   ru  ru  y  s�   ø‡ àÓð
G˜nð 
G°Sð 
GÀCð 
GÈD÷ 
Gñ-˜sð -°cð -Èõ -ñV sð V¸cð VÐQVõ Vð&Ð"6ð &¸4÷ &ò &rD   ru  c                   óŽ  • \ rS rSr% Sr\rSr\S    S-  \	S'   \
r\R                  SS\S.S\\\4   S	\S
\S\S\S\\   SS4S jjrS\S\4S jrS\S \
4   S-  4S jr\SSS\4S j5       rS\4S jrS\S \
4   S-  4S jrS#S jrS\S \
4   4S jrSSS\S \
4   4S jr S\4S jr!S\"4S jr#S#S jr$S#S jr%S$S  jr&S#S! jr'S"r(g)%r4   iž  zMultipart body reader.NÚmultipart_reader_clsiþ  é€   ©rÊ   Úmax_field_sizeÚmax_headersrË   rÍ   rº   rÊ   r”  r•  rË   rJ   c                ó¬  • [        U[           5      U l        U R                  R                  S:X  d   S5       eSU R                  R                  ;  a  [        SU[           -  5      eXl        SU R                  5       -   R                  5       U l	        X0l
        X l        S U l        S U l        X@l        XPl        X`l        SU l        SU l        / U l        g )NÚ	multipartz!multipart/* content type expectedrÌ   z$boundary missed for Content-Type: %sú--FT)r   r   Ú	_mimetypero  ra  rÙ   rÍ   Ú_get_boundaryÚencoderÑ   râ   rÓ   rÔ   Ú
_last_partÚ_max_field_sizeÚ_max_headersrã   rÕ   Ú_at_bofrÝ   )r§   rÍ   rº   rÊ   r”  r•  rË   s          rE   r¨   ÚMultipartReader.__init__©  sÅ   € ô (¨´Ñ(=Ó>ˆŒØ�~‰~×"Ñ" kÓ1ÐVÐ3VÓVÐ1Ø˜TŸ^™^×6Ñ6Ó6ÜØ6¸ÄÑ9NÑNóð ð ŒØ ×!3Ñ!3Ó!5Ñ5×=Ñ=Ó?ˆŒØ /ÔØŒØ,0ˆÔØCGˆŒØ-ÔØ'ÔØ#5Ô ØˆŒØˆŒØ$&ˆ�rD   r§   c                 ó   • U $ rN   r=   r«   s    rE   r¬   ÚMultipartReader.__aiter__Ç  r®   rD   c              ƒ   óT   #   • U R                  5       I S h  v•N nUc  [        eU$  N7frN   r°   r³   s     rE   rµ   ÚMultipartReader.__anext__Ê  r·   r¸   Úresponser:   c                 ó^   • U R                  X" UR                  UR                  5      5      nU$ )zrConstructs reader instance from HTTP response.

:param response: :class:`~aiohttp.client.ClientResponse` instance
)Úresponse_wrapper_clsrÍ   rº   )Úclsr¥  Úobjs      rE   Úfrom_responseÚMultipartReader.from_responseÒ  s3   € ð ×&Ñ&Ø�c˜(×*Ñ*¨H×,<Ñ,<Ó=ó
ˆð ˆ
rD   c                 ó   • U R                   $ )z@Returns True if the final boundary was reached, false otherwise.r3  r«   s    rE   r»   ÚMultipartReader.at_eofà  r5  rD   c              ƒ   óZ  #   • U R                   (       a  gU R                  5       I Sh  v•N   U R                  (       a   U R                  5       I Sh  v•N   SU l        OU R	                  5       I Sh  v•N   U R                   (       a  gU R                  5       I Sh  v•N nU R                  cÜ  U R                  R                  S:X  aÂ  [        U[        5      (       a­  [        UR                  R                  [        5      5      u  p#UR                  S5      S:X  an  UR                  S5      I Sh  v•N n[!        U5      S:”  a  [#        S5      eUR%                  5       R'                  5       U l        U R                  5       I Sh  v•N nXl        U R                  $  GNs GNM GN0 GN	 Nw N$7f)	z#Emits the next multipart body part.NFrÐ   r‘   Ú	_charset_é    é   zInvalid default charset)rÕ   Ú_maybe_release_last_partrŸ  Ú_read_until_first_boundaryÚ_read_boundaryÚfetch_next_partrœ  r™  rÇ   Ú
isinstancer/   r8   rÍ   r×   r   rò   rX   rN  r}   rî   rÔ   )r§   r´   r�   rˆ   r`  s        rE   r±   ÚMultipartReader.nextä  sF  é € ð
 �<�<ØØ×+Ñ+Ó-×-Ð-Ø�<�<Ø×1Ñ1Ó3×3Ð3Ø ˆD�Là×%Ñ%Ó'×'Ð'Ø�<�<Øà×)Ñ)Ó+×+ˆð �O‰OÑ#Ø—‘×&Ñ&¨+Ó5Ü˜4¤×0Ñ0ä1°$·,±,×2BÑ2BÔCVÓ2WÓX‰IˆAØ�z‰z˜&Ó! [Ó0ð !%§¡°Ó 3×3�Ü�w“< "Ó$Ü&Ð'@ÓAÐAØ(/¯©«×(>Ñ(>Ó(@�Ô%Ø!×1Ñ1Ó3×3�ØŒØ�‰Ðò5 	.â3ò (ò ,ñ 4ñ 4ùsk   ‚&F+¨F©(F+ÁFÁF+Á1F!Á2)F+ÂF$ÂBF+Ä/F'Ä0AF+ÆF)ÆF+ÆF+Æ!F+Æ$F+Æ'F+Æ)F+c              ƒ   óÆ   #   • U R                   (       dH  U R                  5       I Sh  v•N nUc  gUR                  5       I Sh  v•N   U R                   (       d  MG  gg N5 N7f)z=Reads all the body parts to the void till the final boundary.N)rÕ   r±   r¾   r¿   s     rE   r¾   ÚMultipartReader.release  sD   é € à—,—,ØŸ™›×$ˆDØ‰|ØØ—,‘,“.× Ð ð	 —,—,“,Ù$ñ !ùs'   ‚%A!§A¨A!ÁAÁA!ÁA!ÁA!c              ƒ   ó`   #   • U R                  5       I Sh  v•N nU R                  U5      $  N7f)z"Returns the next body part reader.N)Ú_read_headersÚ_get_part_reader)r§   rÍ   s     rE   rµ  ÚMultipartReader.fetch_next_part  s.   é € ð ×*Ñ*Ó,×,ˆØ×$Ñ$ WÓ-Ð-ñ -ùs   ‚.–,—.rÎ   c           
      óL  • UR                  [        S5      n[        U5      nUR                  S:X  a™  U R                  cF  [        U 5      " UU R
                  U R                  U R                  U R                  U R                  S9$ U R	                  UU R
                  U R                  U R                  U R                  U R                  S9$ U R                  U R                  UU R
                  U R                  R                  U R                  U R                  U R                  S9$ )z‚Dispatches the response by the `Content-Type` header.

Returns a suitable reader instance.

:param dict headers: Response headers
rl   r—  r“  )rÇ   rÈ   rÊ   rË   )r×   r   r   ro  r‘  rÓ   râ   r�  rž  rã   Úpart_reader_clsrÑ   r™  rÇ   rÔ   )r§   rÍ   rb  rc  s       rE   r¼  Ú MultipartReader._get_part_reader  s  € ð —‘œL¨"Ó-ˆÜ! %Ó(ˆà�=‰=˜KÓ'Ø×(Ñ(Ñ0Ü˜D”zØØ—M‘MØ$(×$9Ñ$9Ø#'×#7Ñ#7Ø $× 1Ñ 1Ø'+×'?Ñ'?ñð ð ×,Ñ,ØØ—‘Ø $× 5Ñ 5Ø#×3Ñ3Ø ×-Ñ-Ø#'×#;Ñ#;ð -ð ð ð ×'Ñ'Ø—‘ØØ—‘ØŸ™×.Ñ.Ø $× 5Ñ 5Ø $× 5Ñ 5Ø#'×#;Ñ#;ð (ð ð rD   c                 ór   • U R                   R                  S   n[        U5      S:”  a  [        SU-  5      eU$ )NrÌ   éF   z&boundary %r is too long (70 chars max))r™  ra  rX   rÙ   )r§   rÌ   s     rE   rš  ÚMultipartReader._get_boundary@  s8   € Ø—>‘>×,Ñ,¨ZÑ8ˆÜˆx‹=˜2ÓÜÐEÈÑPÓQÐQàˆrD   c              ƒ   ó¨   #   • U R                   (       a  U R                   R                  5       $ U R                  R                  5       I S h  v•N $  N7frN   )rÝ   r€   rÓ   r   r«   s    rE   Ú	_readlineÚMultipartReader._readlineG  s8   é € Ø�<�<Ø—<‘<×#Ñ#Ó%Ð%Ø—]‘]×+Ñ+Ó-×-Ð-Ñ-ùs   ‚A	AÁAÁAc              ƒ   óô   #   •  U R                  5       I S h  v•N nUS:X  a  [        SU R                  -  5      eUR                  5       nXR                  :X  a  g XR                  S-   :X  a  SU l        g Mr   N^7f)NTrD   z#Could not find starting boundary %rr  )rÅ  rÙ   rÑ   r…   rÕ   ©r§   r  s     rE   r³  Ú*MultipartReader._read_until_first_boundaryL  sr   é € ØØŸ.™.Ó*×*ˆEØ˜‹|Ü Ø9¸T¿^¹^ÑLóð ð —L‘L“NˆEØŸ™Ó&ØØŸ.™.¨5Ñ0Ó0Ø#�”Øñ Ù*ùs   ‚A8—A6˜AA8c              ƒ   óÒ  #   • U R                  5       I S h  v•N R                  5       nXR                  :X  a  g XR                  S-   :X  ay  SU l        U R                  5       I S h  v•N nU R                  5       I S h  v•N nUS S S:X  a  U R                  R                  U5        g U R                  R                  X2/5        g [        SU< SU R                  < 35      e NÊ N} Ng7f)Nr  TrU   zInvalid boundary z, expected )rÅ  r…   rÑ   rÕ   rÝ   rœ   rñ   rÙ   )r§   r  Úepiloguer  s       rE   r´  ÚMultipartReader._read_boundaryZ  sÂ   é € Ø—~‘~Ó'×'×/Ñ/Ó1ˆØ—N‘NÓ"ØØ—n‘n uÑ,Ó,ØˆDŒLØ!Ÿ^™^Ó-×-ˆHØ"Ÿn™nÓ.×.ˆIð ˜˜!ˆ} Ó%Ø—‘×#Ñ# IÕ.ð
 —‘×#Ñ# YÐ$9Õ:äÐ0°±	¸ÀTÇ^Á^ÑDVÐWÓXÐXñ) (ñ
 .Ù.ùs5   ‚C'–C!—AC'Á%C#Á&C'Á=C%Á>A$C'Ã#C'Ã%C'c              ƒ   óZ  #   • / n U R                   R                  U R                  S9I S h  v•N nUR                  S5      nUR	                  U5        U(       d  O&[        U5      U R                  :”  a  [        S5      eM{  [        U R                  S9nUR                  U5      u  pEU$  N|7f)N)Úmax_line_lengthrý   zToo many headers received)r”  )
rÓ   r   r�  r…   rœ   rX   rž  r"   r!   Úparse_headers)r§   Úlinesr  ÚparserrÍ   Úraw_headerss         rE   r»  ÚMultipartReader._read_headersq  s    é € ØˆØØŸ-™-×0Ñ0À×AUÑAUÐ0ÐV×VˆEØ—L‘L Ó)ˆEØ�L‰L˜ÔÞØÜ�5‹z˜D×-Ñ-Ó-Ü$Ð%@ÓAÐAñ ô ¨d×.BÑ.BÑCˆØ%×3Ñ3°EÓ:ÑˆØˆñ Wùs   ‚*B+¬B)­A=B+c              ƒ   ó  #   • U R                   bx  U R                   R                  5       (       d"  U R                   R                  5       I Sh  v•N   U R                  R	                  U R                   R                  5        SU l         gg N<7f)z8Ensures that the last read body part is read completely.N)rœ  r»   r¾   rÝ   rñ   r«   s    rE   r²  Ú(MultipartReader._maybe_release_last_part  sc   é € à�?‰?Ñ&Ø—?‘?×)Ñ)×+Ñ+Ø—o‘o×-Ñ-Ó/×/Ð/Ø�L‰L×Ñ §¡× 7Ñ 7Ô8Ø"ˆD�Oð	 'á/ùs   ‚A
BÁB	Á=B)rŸ  rÕ   rÑ   râ   rÓ   rÔ   rœ  r�  rž  rã   r™  rÝ   rÍ   rÃ   )rJ   rÎ   ))r?   r@   rA   rB   rÄ   r¡   r§  r‘  ro  r�  r/   r¿  rl  rm  rÙ   r   rx   r+   rÚ   rp  r¨   r.   r¬   r   rµ   Úclassmethodrª  rO   r»   r±   r¾   rµ  r¼  rš  rn  rÅ  r³  r´  r»  r²  rC   r=   rD   rE   r4   r4   ž  s€  ‡ Ù ð 4Ðð <@Ð˜$Ð0Ñ1°DÑ8Ó?à$€Oð  #Ÿ{™{Ø"ØØ.8ò'à˜˜c˜Ñ"ð'ð ð'ð
 ð'ð ð'ð ð'ð ! ™Oð'ð 
õ'ð<˜ð  ô ðà	Ð  .Ð0Ñ	1°DÑ	8ôð ðà"ðð 
"óó ðð˜ô ð!à	Ð  .Ð0Ñ	1°DÑ	8ô!ôF!ð.à	Ð  .Ð0Ñ	1ô.ð(à(ð(ð 
Ð  .Ð0Ñ	1ô(ðT˜sô ð. ô .ô
ôYô.÷#rD   r4   c                   óf  ^ • \ rS rSr% SrS\S'   SrS'S\S\S-  SS4U 4S	 jjjrS(S
 jr	S\
\   S-  S\S-  S\S-  SS4S jrS\\   4S jrS\4S jrS\4S jr\R,                  " S5      r\R,                  " S5      r\S\4S j5       r\S\4S j5       rS)S\S\\\4   S-  S\4S jjrS\S\4S jr  S)S\S\\\4   S-  S\4S jjr! S)S\"\#\\4      \\\4   -  S\\\4   S-  S\4S jjr$\S\S-  4S j5       r%S*S\S\S\4S  jjr&S*S\S\S\'4S! jjr( S+S"\)S#\SS4S$ jjr*S,S% jr+S&r,U =r-$ )-r5   i‹  zMultipart body writer.Nr�   TrÇ   rÌ   rJ   c                 ó  >• Ub  UO[         R                  " 5       R                  n UR                  S5      U l        SU SU R                   3n[        TU ]%  S US9  / U l
        US:H  U l        g ! [
         a    [        S5      S ef = f)NÚasciiz(boundary should contain ASCII only charsz
multipart/z; boundary=)Úcontent_typerÐ   )ÚuuidÚuuid4Úhexr›  rÑ   ÚUnicodeEncodeErrorrÙ   Ú_boundary_valuerz  r¨   Ú_partsrÖ   )r§   rÇ   rÌ   rb  r|  s       €rE   r¨   ÚMultipartWriter.__init__’  s“   ø€ Ø'Ñ3‘8¼¿º»×9IÑ9Iˆð	SØ%Ÿ_™_¨WÓ5ˆDŒNð ˜W˜I [°×1EÑ1EÐ0FÐGˆä‰Ñ˜¨EÐÑ2à#%ˆŒØ$¨Ñ3ˆÕøô "ó 	SÜÐGÓHÈdÐRð	Sús   §A/ Á/Bc                 ó   • U $ rN   r=   r«   s    rE   Ú	__enter__ÚMultipartWriter.__enter__¤  r®   rD   Úexc_typeÚexc_valÚexc_tbc                 ó   • g rN   r=   )r§   rå  ræ  rç  s       rE   Ú__exit__ÚMultipartWriter.__exit__§  s   € ð 	rD   c                 ó,   • [        U R                  5      $ rN   )Úiterrà  r«   s    rE   Ú__iter__ÚMultipartWriter.__iter__¯  s   € Ü�D—K‘KÓ Ð rD   c                 ó,   • [        U R                  5      $ rN   )rX   rà  r«   s    rE   Ú__len__ÚMultipartWriter.__len__²  s   € Ü�4—;‘;ÓÐrD   c                 ó   • g)NTr=   r«   s    rE   Ú__bool__ÚMultipartWriter.__bool__µ  s   € ØrD   s   \A[!#$%&'*+\-.^_`|~\w]+\Zs   [\x00-\x08\x0A-\x1F\x7F]c                 ó`  • U R                   n[        R                  " U R                  U5      (       a  UR	                  S5      $ [        R
                  " U R                  U5      (       a  [        S5      eUR                  SS5      nUR                  SS5      nSUR	                  S5      -   S-   $ )zjWrap boundary parameter value in quotes, if necessary.

Reads self.boundary and returns a unicode string.
rÙ  z*boundary value contains invalid charactersó   \s   \\ó   "s   \"rW   )	rÑ   rp   ÚmatchÚ_valid_tchar_regexrî   ÚsearchÚ_invalid_qdtext_char_regexrÙ   Úreplace)r§   r‹   Úquoted_value_contents      rE   rß  ÚMultipartWriter._boundary_value»  s˜   € ð& —‘ˆÜ�8Š8�D×+Ñ+¨U×3Ñ3Ø—<‘< Ó(Ð(ä�9Š9�T×4Ñ4°e×<Ñ<ÜÐIÓJÐJð  %Ÿ}™}¨U°GÓ<ÐØ3×;Ñ;¸DÀ&ÓIÐàÐ)×0Ñ0°Ó9Ñ9¸CÑ?Ð?rD   c                 ó8   • U R                   R                  S5      $ )NrÙ  )rÑ   rî   r«   s    rE   rÌ   ÚMultipartWriter.boundaryÛ  s   € à�~‰~×$Ñ$ WÓ-Ð-rD   r©  rÍ   c                 ó  • Uc
  [        5       n[        U[        5      (       a,  UR                  R	                  U5        U R                  U5      $  [        XS9nU R                  U5      $ ! [         a    [        SU-  5      ef = f)N©rÍ   zCannot create payload from %r)	r   r¶  r'   rÍ   ÚupdateÚappend_payloadr)   r%   r�  )r§   r©  rÍ   Úpayloads       rE   rœ   ÚMultipartWriter.appendß  s„   € Ø‰?Ü!“mˆGä�cœ7×#Ñ#Ø�K‰K×Ñ˜wÔ'Ø×&Ñ& sÓ+Ð+ð4Ü% cÑ;�ð ×*Ñ*¨7Ó3Ð3øô ó GÜÐ ?À#Ñ EÓFÐFðGús   Á	A* Á*Br  c                 óò  • SnSnU R                   (       ap  [        [        [        1UR                  R                  5       -  (       a   e[        UR                  ;  a(  S[        U R                  5       3nUR                  SUS9  OÔUR                  R                  [        S5      R                  5       nU(       a  US;  a  [        SU 35      eUS:X  a  SnUR                  R                  [        S5      R                  5       nUS	;  a  [        S
U 35      eUS:X  a  SnUR                  nUb*  U(       d#  U(       d  [        U5      UR                  [        '   U R                  R                  XU45        U$ )z)Adds a new body part to multipart writer.Nzsection-rÐ   )r‘   rl   )rG  rF  rE  rL  rE  )rl   rû   rV  rW  rZ  rW  )rÖ   r   r   r   rÍ   Úkeysr   rX   rà  r{  r×   r�   rN  rù   rx   rœ   )r§   r  rŒ   Úte_encodingr‘   rù   s         rE   r  ÚMultipartWriter.append_payloadî  sT  € à#ˆØ"&ˆØ××ô &¤~Ô7PÐQØ—/‘/×&Ñ&Ó(÷)ðð)ô #¨'¯/©/Ó9Ø!¤# d§k¡kÓ"2Ð!3Ð4�Ø×/Ñ/°À$Ð/ÑGøð —‘×*Ñ*Ô+;¸RÓ@×FÑFÓHˆHÞ˜HÐ,KÓKÜ"Ð%?À¸zÐ#JÓKÐKØ˜:Ó%Ø�ð "Ÿ/™/×-Ñ-Ô.GÈÓL×RÑRÓTˆKØÐ"NÓNÜ"Ð%HÈÈÐ#VÓWÐWØ˜hÓ&Ø"�ð —<‘<ˆDØÑ®¶[Ü25°d³)�—‘¤Ñ/à�‰×Ñ˜G¨{Ð;Ô<ØˆrD   c                 óL   • Uc
  [        5       nU R                  [        XS95      $ )zHelper to append JSON part.r  )r   r  r$   )r§   r©  rÍ   s      rE   Úappend_jsonÚMultipartWriter.append_json  s&   € ð ‰?Ü!“mˆGà×"Ñ"¤;¨sÑ#DÓEÐErD   c                 óø   • [        U[        [        45      (       d   eUc
  [        5       n[        U[        5      (       a  [	        UR                  5       5      n[        USS9nU R                  [        X2SS95      $ )z&Helper to append form urlencoded part.T)Údoseqz!application/x-www-form-urlencoded)rÍ   rÚ  )	r¶  r   r   r   rq  rš   r   r  r(   )r§   r©  rÍ   rõ   s       rE   Úappend_formÚMultipartWriter.append_form  sr   € ô ˜#¤¬'Ð2×3Ñ3Ð3Ð3à‰?Ü!“mˆGä�cœ7×#Ñ#Ü�s—y‘y“{Ó#ˆCÜ˜ DÑ)ˆà×"Ñ"ÜØÐ4Wñó
ð 	
rD   c                 ó6  • SnU R                    Hh  u  p#nUR                  nU(       d
  U(       d  Uc    gU[        S[        U R                  5      -   S-   U-   [        UR
                  5      -   S-   5      -  nMj     US[        U R                  5      -   S-   -  nU$ )zSize of the payload.r   NrU   rü   )rà  rù   rÚ   rX   rÑ   Ú_binary_headers)r§   Útotalr´   rŒ   r	  Ú	part_sizes         rE   rù   ÚMultipartWriter.size2  s¬   € ð ˆØ+/¯;¬;Ñ'ˆD˜KØŸ	™	ˆIÞž;¨)Ñ*;Ùà”SØÜ�d—n‘nÓ%ñ&àñð ñô �d×*Ñ*Ó+ñ	,ð
 ñóñ ŠEñ ,7ð 	�”S˜Ÿ™Ó(Ñ(¨1Ñ,Ñ,ˆØˆrD   rŒ   r~  c                 óV   ^ ^^• SR                  UUU 4S jT R                   5       5      $ )zÊReturn string representation of the multipart data.

WARNING: This method may do blocking I/O if parts contain file payloads.
It should not be called in the event loop. Use as_bytes().decode() instead.
rl   c              3   óª   >#   • U  HH  u  pnS TR                   -   S-   UR                  R                  TT5      -   UR                  5       -   v •  MJ     g7f)r˜  z
N)rÌ   r  rî   )r•   r´   Ú_eÚ_terŒ   r~  r§   s       €€€rE   r—   Ú)MultipartWriter.decode.<locals>.<genexpr>M  sa   øé € ð 
ò "-‘�˜#ð Ø�m‰mñàñð ×"Ñ"×)Ñ)¨(°FÓ;ñ<ð �k‰k‹mö	ò
 "-ùs   ƒAA)ry   rà  r‚  s   ```rE   rî   ÚMultipartWriter.decodeG  s)   ú€ ð �w‰wö 
ð "&§¢ó
ó 
ð 	
rD   c              ƒ   ó�  #   • / nU R                    H}  u  pEnUR                  SU R                  -   S-   5        UR                  UR                  5        UR	                  X5      I Sh  v•N nUR                  U5        UR                  S5        M     UR                  SU R                  -   S-   5        SR                  U5      $  N\7f)zyReturn bytes representation of the multipart data.

This method is async-safe and calls as_bytes on underlying payloads.
r  rý   Nó   --
rD   )rà  rœ   rÑ   r  r…  ry   )r§   rŒ   r~  r‡   r´   r  r  Ú
part_bytess           rE   r…  ÚMultipartWriter.as_bytesV  sª   é € ð
  ˆð "Ÿ[œ[‰MˆD�cà�L‰L˜ §¡Ñ/°'Ñ9Ô:ð �L‰L˜×-Ñ-Ô.ð  $Ÿ}™}¨XÓ>×>ˆJØ�L‰L˜Ô$ð �L‰L˜Ö!ñ )ð 	�‰�U˜TŸ^™^Ñ+¨iÑ7Ô8à�x‰x˜‹Ðñ ?ùs   ‚A%CÁ'CÁ(ACr‡  Úclose_boundaryc              ƒ   ó.  #   • U R                    GH@  u  p4nU R                  (       a/  [        UR                  ;   d   eSUR                  [           ;   d   eUR	                  SU R
                  -   S-   5      I Sh  v•N   UR	                  UR                  5      I Sh  v•N   U(       d  U(       am  [        U5      nU(       a  UR                  U5        U(       a  UR                  U5        UR	                  U5      I Sh  v•N   UR                  5       I Sh  v•N   OUR	                  U5      I Sh  v•N   UR	                  S5      I Sh  v•N   GMC     U(       a*  UR	                  SU R
                  -   S-   5      I Sh  v•N   gg GN Në N‹ Nu N] NF N7f)zWrite body.zname=r  rý   Nr  )rà  rÖ   r   rÍ   r‰  rÑ   r  ÚMultipartPayloadWriterÚenable_compressionÚenable_encodingÚ	write_eof)r§   r‡  r!  r´   rŒ   r	  Úws          rE   r‰  ÚMultipartWriter.writeq  sA  é € ð ,0¯;­;Ñ'ˆD˜KØ×!×!ä*¨d¯l©lÓ:Ð:Ð:Ø $§,¡,Ô/BÑ"CÓCÐCÐCà—,‘,˜u t§~¡~Ñ5¸Ñ?Ó@×@Ð@Ø—,‘,˜t×3Ñ3Ó4×4Ð4æž;Ü*¨6Ó2�ÞØ×(Ñ(¨Ô2ÞØ×%Ñ% kÔ2Ø—j‘j “m×#Ð#Ø—k‘k“m×#Ñ#à—j‘j Ó(×(Ð(à—,‘,˜wÓ'×'Ó'ñ) ,7ö, Ø—,‘,˜u t§~¡~Ñ5¸	ÑAÓB×BÑBð ò! AÙ4ñ $Ù#á(á'ñ Cùs   ‚A8FÁ:FÁ;"FÂF	ÂA!FÃ?FÄ FÄFÄFÄ1FÄ2FÅ
FÅ4FÅ?FÆ FÆ	FÆFÆFÆFÆFÆFc           	   ƒ   ób  #   • U R                   (       a  gSU l         [        U R                  5       HI  u  nu  n  nUR                  (       a  M  UR                  (       a  M0   UR                  5       I Sh  v•N   MK     g N	! [         a!  n[        R                  " SXSS9   SnAMv  SnAff = f7f)zõ
Close all part payloads that need explicit closing.

IMPORTANT: This method must not await anything that might not finish
immediately, as it may be called during cleanup/cancellation. Schedule
any long-running operations without awaiting them.
NTz%Failed to close multipart part %d: %s)Úexc_info)	Ú	_consumedr›   rà  Ú	autocloseÚconsumedÚcloserp  r#   Úerror)r§   r  r´   r�   Úexcs        rE   r.  ÚMultipartWriter.closeŽ  sŒ   é € ð �>�>ØØˆŒô "+¨4¯;©;Ö!7ÑˆC‘�$˜˜1Ø—>—>‘>¨$¯-¯-©-ðØŸ*™*›,×&Ò&ò "8ñ 'øÜ ó Ü#×)Ò)Ø?ÀÐTX÷ð ûðüsH   ‚AB/ÁB/Á"BÁ5A?Á6BÁ:B/Á?BÂ
B,ÂB'Â!B/Â'B,Â,B/)rÑ   r+  rÖ   rà  )rÆ   N)rJ   r5   rN   rŒ  )TrÃ   ).r?   r@   rA   rB   rÄ   r�  Ú
_autocloserx   r¨   rã  ro  ÚBaseExceptionr   ré  r   Ú_Partrí  rÚ   rð  rO   ró  rp   Úcompilerù  rû  Úpropertyrß  rÌ   r
   r   r'   rœ   r  r  r   rr  r  rù   rî   rn  r…  r   r‰  r.  rC   rŽ  r�  s   @rE   r5   r5   ‹  s>  ø‡ Ù àƒLà€Jñ4 ð 4¸¸t¹ð 4Èt÷ 4ð 4ô$ðà�}Ñ%¨Ñ,ðð  Ñ%ðð  Ñ$ð	ð
 
ôð!˜( 5™/ô !ð ˜ô  ð˜$ô ð ŸšÐ$AÓBÐØ!#§¢Ð,HÓ!IÐàð@ ó @ó ð@ð> ð.˜#ó .ó ð.ñ4˜#ð 4¨°°S°Ñ(9¸DÑ(@ð 4ÈGõ 4ð$ gð $°'ô $ðN =AñFØðFØ!(¨¨c¨Ñ!2°TÑ!9ðFà	õFð -1ñ
à�e˜C ˜H‘oÑ&¨°°c°Ñ):Ñ:ð
ð ˜˜c˜Ñ" TÑ)ð
ð 
õ	
ð* ð�c˜D‘jó ó ðñ(
˜sð 
°cð 
Èõ 
ñ sð ¸cð ÐQVõ ð8 DHñCØ*ðCØ<@ðCà	õC÷:ò rD   r5   c                   óv   • \ rS rSrS\SS4S jrS\SS4S jr SS\S\S-  SS4S	 jjr	SS
 jr
S\SS4S jrSrg)r#  i¨  r‡  rJ   Nc                 ó:   • Xl         S U l        S U l        S U l        g rN   )Ú_writerÚ	_encodingÚ	_compressÚ_encoding_buffer)r§   r‡  s     rE   r¨   ÚMultipartPayloadWriter.__init__©  s   € ØŒØ%)ˆŒØ04ˆŒØ26ˆÕrD   rŒ   c                 óX   • US:X  a  Xl         [        5       U l        g US:X  a  SU l         g g )Nrû   rV  )r:  rð   r<  )r§   rŒ   s     rE   r%  Ú&MultipartPayloadWriter.enable_encoding¯  s.   € Ø�xÓØ%ŒNÜ$-£KˆDÕ!ØÐ+Ó+Ø/ˆD�Nð ,rD   Ústrategyc                 ó$   • [        USUS9U l        g )NT)rŒ   rI  r@  )r   r;  )r§   rŒ   r@  s      rE   r$  Ú)MultipartPayloadWriter.enable_compression¶  s   € ô (ØØ$(Øñ
ˆ�rD   c              ƒ   óx  #   • U R                   bA  U R                   R                  5       nU(       a   S U l         U R                  U5      I S h  v•N   U R                  S:X  aT  U R                  (       aB  U R
                  R                  [        R                  " U R                  5      5      I S h  v•N   g g g  Ni N	7f)Nrû   )r;  Úflushr‰  r:  r<  r9  rû   Ú	b64encoderÈ  s     rE   r&  Ú MultipartPayloadWriter.write_eof¿  s�   é € Ø�>‰>Ñ%Ø—N‘N×(Ñ(Ó*ˆEÞØ!%�”Ø—j‘j Ó'×'Ð'à�>‰>˜XÓ%Ø×$×$Ø—l‘l×(Ñ(¬×)9Ò)9¸$×:OÑ:OÓ)PÓQ×QÑQð %ð &ñ (ñ Rùs%   ‚A
B:ÁB6ÁA!B:Â.B8Â/B:Â8B:r  c              ƒ   óÀ  #   • U R                   b2  U(       a+  U R                   R                  U5      I S h  v•N nU(       d  g U R                  S:X  a—  U R                  nUc   eUR	                  U5        U(       am  [        [        U5      S5      u  p4US US-   X#S-  S  soPl        U(       a:  [        R                  " U5      nU R                  R                  U5      I S h  v•N   g g g U R                  S:X  a8  U R                  R                  [        R                  " U5      5      I S h  v•N   g U R                  R                  U5      I S h  v•N   g  GN  Nv N. N7f)Nrû   r,   rV  )r;  Úcompressr:  r<  rñ   ÚdivmodrX   rû   rE  r9  r‰  r\  Úb2a_qp)r§   r  ÚbufÚdivÚmodÚ	enc_chunkÚb64chunks          rE   r‰  ÚMultipartPayloadWriter.writeÊ  s  é € Ø�>‰>Ñ%ÞØ"Ÿn™n×5Ñ5°eÓ<×<�ÞØà�>‰>˜XÓ%Ø×'Ñ'ˆCØ‘?Ð"�?Ø�J‰J�uÔæÜ!¤# c£(¨AÓ.‘�Ø47¸	¸#À¹'°NÀCÈaÉÈ	ÀNÐ0�	Ô0ÞÜ%×/Ò/°	Ó:�HØŸ,™,×,Ñ,¨XÓ6×6Ñ6ð ð ð �^‰^Ð1Ó1Ø—,‘,×$Ñ$¤X§_¢_°UÓ%;Ó<×<Ñ<à—,‘,×$Ñ$ UÓ+×+Ñ+ò% =ñ 7á<á+ùsG   ‚3EµE¶B+EÃ!EÃ"A	EÄ+EÄ,#EÅEÅEÅEÅEÅE)r;  r:  r<  r9  )rG  NrÃ   )r?   r@   rA   rB   r   r¨   rx   r%  rÚ   r$  r&  rn  r‰  rC   r=   rD   rE   r#  r#  ¨  sj   † ð7Ð3ð 7¸ô 7ð0¨ð 0°ô 0ð AEñ
Øð
Ø36¸±:ð
à	õ
ô	Rð, ð ,¨4÷ ,rD   r#  )rj  )Xrû   r\  rƒ   r*  rp   rl  rÛ  r~   Úcollectionsr   Úcollections.abcr   r   r   r   Útypesr   Útypingr	   r
   r   r   r   Úurllib.parser   r   r   Ú	multidictr   r   Úabcr   Úcompression_utilsr   r   Úhdrsr   r   r   r   r   Úhelpersr   r   r   r   r    Úhttpr!   Úhttp_exceptionsr"   Úlogr#   r  r$   r%   r&   r'   r(   r)   r*   Ústreamsr+   Úversion_infor.   r2   rn  rð   r3   Ú__all__Úclient_reqrepr:   ÚRuntimeWarningr6   r7   rx   rr  r)  r8   r9   r¡   r/   Ú	try_firstru  r4   r4  r5   r#  r=   rD   rE   Ú<module>rd     sÂ  ðÛ Û Û Û Û 	Û 
Û Û Ý ß FÓ FÝ ß ;Õ ;ß 6Ñ 6ç 3å %ß ?÷õ ÷ LÕ KÝ Ý +Ý  ÷÷ ñ õ "à×Ñ�wÓÞá�6Ð!1Ñ2€Dà×Ñ�wÓÞ&à�5˜)Ð%6Ð8KÐKÑL€Fá
�) 6Ñ
*€ð€ö Ý-ô	 .ô 	ô	 ô 	ðj$Ø�$‰Jðj$à
ˆ3�‰:�t˜C ˜H‘~Ð%Ñ&ôj$ð\ ,6ñ%Ø�C˜�HÑð%Ø%(ð%àˆ4�Zõ%÷P,"ñ ,"÷^f@ñ f@ñR ˆn E§O¡OÑ4ô!&˜Gó !&ó 5ð!&÷Hg#ñ g#ðT 	ˆg�s˜CÐÑ €ôZ�gô Z÷z7,ò 7,rD   