ó
    Ú°›jµ  ã                   óª   • S r SSKrSSKrSSKJr  SSKJr  SSKJr  SSK	J
r
  SSKJr  \R                  " \5      rS rS	 rS
 rS rS rS rS rS\0rg)z‰
NOTE: All functions in this module are considered private and are
subject to abrupt breaking changes. Please do not use them directly.

é    N)ÚGzipFile)Úcompress)Ú	urlencode)Úregister_feature_id)Údetermine_content_lengthc                 ó  • [        XU5      (       az  UR                  S    Hf  n[        R                  U5      nUb5  [        R                  SU5        U" US   5      US'   [        US   U5          g[        R                  SU5        Mh     gg)zAAttempt to compress the request body using the modeled encodings.Ú	encodingsNz%Compressing request with %s encoding.ÚbodyÚheadersz$Unsupported compression encoding: %s)Ú_should_compress_requestÚrequest_compressionÚCOMPRESSION_MAPPINGÚgetÚloggerÚdebugÚ_set_compression_header)ÚconfigÚrequest_dictÚoperation_modelÚencodingÚencoders        ÚN/home/mande/repo/quber/.venv/lib/python3.13/site-packages/botocore/compress.pyÚmaybe_compress_requestr      s…   € ä °o×FÑFØ'×;Ñ;¸KÔHˆHÜ)×-Ñ-¨hÓ7ˆGØÑ"Ü—‘ÐDÀhÔOÙ'.¨|¸FÑ/CÓ'D�˜VÑ$Ü'¨°YÑ(?ÀÔJÙä—‘ÐCÀXÖNò Ið Gó    c                 óh  • U R                   SLa£  U R                  S:w  a“  UR                  b†  [        U5      (       d&  [	        US   5      nSn[
        R                  XC5        gUR                  (       a!  UR                  5       nUR                  nSU;  $ [        US   5      nU R                  nX‡:*  $ g)NTÚv2r
   z*Body type %s does not support compression.FÚrequiresLength)Údisable_request_compressionÚsignature_versionr   Ú_is_compressible_typeÚtyper   r   Úhas_streaming_inputÚget_streaming_inputÚmetadataÚ_get_body_sizeÚ"request_min_compression_size_bytes)	r   r   r   Ú	body_typeÚlog_msgÚstreaming_inputÚstreaming_metadataÚ	body_sizeÚmin_sizes	            r   r   r   -   s­   € à×*Ñ*°$Ò6Ø×$Ñ$¨Ó,Ø×/Ñ/Ñ;ä$ \×2Ñ2Ü˜\¨&Ñ1Ó2ˆIØBˆGÜ�L‰L˜Ô,Øà×.×.Ø-×AÑAÓCˆOØ!0×!9Ñ!9ÐØ#Ð+=Ñ=Ð=ä" <°Ñ#7Ó8ˆ	Ø×<Ñ<ˆØÑ$Ð$àr   c                 óÒ   • U S   n[        U[        5      (       a  [        USSS9R                  S5      nXS'   [        U[        [
        [        45      nU=(       d    [        US5      $ )Nr
   Túutf-8)Údoseqr   Úread)Ú
isinstanceÚdictr   ÚencodeÚstrÚbytesÚ	bytearrayÚhasattr)r   r
   Úis_supported_types      r   r    r    E   s`   € Ø˜Ñ€Dä�$œ×ÑÜ˜ T°GÑ<×CÑCÀGÓLˆØ#�VÑÜ" 4¬#¬u´iÐ)@ÓAÐØ×5¤¨¨fÓ 5Ð5r   c                 óR   • [        U 5      nUc  [        R                  SU 5        SnU$ )NzCUnable to get length of the request body: %s. Skipping compression.r   )r   r   r   )r
   Úsizes     r   r%   r%   O   s1   € Ü# DÓ)€DØ�|Ü�‰ð$àô	
ð
 ˆØ€Kr   c                 óœ  • [        S5        [        U [        5      (       a  [        U R	                  S5      5      $ [        U [
        [        45      (       a  [        U 5      $ [        U S5      (       a[  [        U S5      (       a?  [        U S5      (       a.  U R                  5       n[        U 5      nU R                  U5        U$ [        U 5      $ g )NÚGZIP_REQUEST_COMPRESSIONr.   r0   ÚseekÚtell)r   r1   r4   Úgzip_compressr3   r5   r6   r7   r>   Ú_gzip_compress_fileobjr=   )r
   Úcurrent_positionÚcompressed_objs      r   Ú_gzip_compress_bodyrC   [   s¨   € ÜÐ2Ô3Ü�$œ×ÑÜ˜TŸ[™[¨Ó1Ó2Ð2Ü	�Dœ5¤)Ð,×	-Ñ	-Ü˜TÓ"Ð"Ü	��v×	Ñ	Ü�4˜× Ñ ¤W¨T°6×%:Ñ%:Ø#Ÿy™y›{ÐÜ3°DÓ9ˆNØ�I‰IÐ&Ô'Ø!Ð!Ü% dÓ+Ð+ð 
r   c                 ó@  • [         R                  " 5       n[        USS9 n U R                  S5      nU(       d  O9[	        U[
        5      (       a  UR                  S5      nUR                  U5        MR  S S S 5        UR                  S5        U$ ! , (       d  f       N!= f)NÚwb)ÚfileobjÚmodei    r.   r   )	ÚioÚBytesIOr   r0   r1   r4   r3   Úwriter=   )r
   rB   ÚgzÚchunks       r   r@   r@   j   s~   € Ü—Z’Z“\€NÜ	˜.¨tÒ	4¸ØØ—I‘I˜d“OˆEÞØÜ˜%¤×%Ñ%ØŸ™ WÓ-�Ø�H‰H�UŒOñ ÷ 
5ð ×Ñ˜ÔØÐ÷ 
5Õ	4ús    ABÂ
Bc                 óJ   • U R                  S5      nUc  XS'   g U SU 3U S'   g )NzContent-EncodingÚ,)r   )r   r   Ú	ce_headers      r   r   r   x   s6   € Ø—‘Ð.Ó/€IØÑØ&.Ð"Ò#à)2¨°1°X°JÐ&?ˆÐ"Ò#r   Úgzip)Ú__doc__rH   ÚloggingrP   r   r   r?   Úbotocore.compatr   Úbotocore.useragentr   Úbotocore.utilsr   Ú	getLoggerÚ__name__r   r   r   r    r%   rC   r@   r   r   © r   r   Ú<module>rY      sd   ðñó 
Û Ý Ý *å %Ý 2Ý 3à	×	Ò	˜8Ó	$€òOòò06ò	ò,òò@ð Ð2Ð3Ñ r   