403Webshell
Server IP : 178.105.222.151  /  Your IP : 216.73.216.38
Web Server : nginx/1.28.3
System : Linux MNK 7.0.0-15-generic #15-Ubuntu SMP PREEMPT_DYNAMIC Wed Apr 22 16:06:43 UTC 2026 x86_64
User : www-data ( 33)
PHP Version : 8.5.4
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/s3transfer/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/s3transfer/__pycache__/upload.cpython-314.pyc
+
[m�h
|��2�^RIt^RIHt^RIHtHt^RIHt^RIH	t	^RI
HtHtH
t
Ht^RIHtHtHtHt!RR	4t!R
R4t!RR
4t!RR]4t!RR]4t!RR]4t!RR]
4t!RR]4t!RR]4tR#)�N)�BytesIO��readable�seekable)�FULL_OBJECT_CHECKSUM_ARGS)�IN_MEMORY_UPLOAD_TAG)�CompleteMultipartUploadTask�CreateMultipartUploadTask�SubmissionTask�Task)�ChunksizeAdjuster�DeferredOpenFile�
get_callbacks�get_filtered_dictc�<a�]tRt^!toRRltRtRtRtRtVt	R#)�AggregatedProgressCallbackc�,�WnW n^VnR#)a�Aggregates progress updates for every provided progress callback

:type callbacks: A list of functions that accepts bytes_transferred
    as a single argument
:param callbacks: The callbacks to invoke when threshold is reached

:type threshold: int
:param threshold: The progress threshold in which to take the
    aggregated progress and invoke the progress callback with that
    aggregated progress total
N)�
_callbacks�
_threshold�_bytes_seen)�self�	callbacks�	thresholds&&&�3/usr/lib/python3/dist-packages/s3transfer/upload.py�__init__�#AggregatedProgressCallback.__init__"s��$��#�����c��V;PV,
unVPVP8�dVP4R#R#�N)rr�_trigger_callbacks)r�bytes_transferreds&&r�__call__�#AggregatedProgressCallback.__call__2s7�����-�-�����t���.��#�#�%�/rc�L�VP^8�dVP4R#R#)z@Flushes out any progress that has not been sent to its callbacksN)rr �rs&r�flush� AggregatedProgressCallback.flush7s!�����a���#�#�%� rc�`�VPFpV!VPR7K	^VnR#))r!N)rr)r�callbacks& rr �-AggregatedProgressCallback._trigger_callbacks<s&�����H��t�'7�'7�8�(���r)rrrN)i)
�__name__�
__module__�__qualname__�__firstlineno__rr"r&r �__static_attributes__�__classdictcell__��
__classdict__s@rrr!s����� &�
&�
�rrc�Va�]tRt^BtoRtRtRRltRRltRtRt	Rt
R	tR
tVt
R#)
�InterruptReadera�Wrapper that can interrupt reading using an error

It uses a transfer coordinator to propagate an error if it notices
that a read is being made while the file is being read from.

:type fileobj: file-like obj
:param fileobj: The file-like object to read from

:type transfer_coordinator: s3transfer.futures.TransferCoordinator
:param transfer_coordinator: The transfer coordinator to use if the
    reader needs to be interrupted.
c��WnW nR#r��_fileobj�_transfer_coordinator)r�fileobj�transfer_coordinators&&&rr�InterruptReader.__init__Ps
���
�%9�"rNc��VPP'dVPPhVPPV4#r)r8�	exceptionr7�read)r�amounts&&rr>�InterruptReader.readTs=���%�%�/�/�/��,�,�6�6�6��}�}�!�!�&�)�)rc�<�VPPW4R#r)r7�seek)r�where�whences&&&rrB�InterruptReader.seek^s���
�
���5�)rc�6�VPP4#r)r7�tellr%s&rrG�InterruptReader.tellas���}�}�!�!�#�#rc�:�VPP4R#r)r7�closer%s&rrJ�InterruptReader.closeds���
�
���rc��V#r�r%s&r�	__enter__�InterruptReader.__enter__gs���rc�&�VP4R#r)rJ)r�args�kwargss&*,r�__exit__�InterruptReader.__exit__js���
�
�rr6r�r)r+r,r-r.�__doc__rr>rBrGrJrNrSr/r0r1s@rr4r4Bs2�����:�*�*�$����rr4c�na�]tRt^ntoRtRRlt]R4tRtRt	Rt
RtR	tR
t
RtRtR
tVtR#)�UploadInputManagera"Base manager class for handling various types of files for uploads

This class is typically used for the UploadSubmissionTask class to help
determine the following:

    * How to determine the size of the file
    * How to determine if a multipart upload is required
    * How to retrieve the body for a PutObject
    * How to retrieve the bodies for a set of UploadParts

The answers/implementations differ for the various types of file inputs
that may be accepted. All implementations must subclass and override
public methods from this class.
Nc�*�WnW nW0nR#r)�_osutilr8�_bandwidth_limiter)r�osutilr:�bandwidth_limiters&&&&rr�UploadInputManager.__init__~s����%9�"�"3�rc��\R4h)z�Determines if the source for the upload is compatible with manager

:param upload_source: The source for which the upload will pull data
    from.

:returns: True if the manager can handle the type of source specified
    otherwise returns False.
zmust implement _is_compatible()��NotImplementedError��cls�
upload_sources&&r�
is_compatible� UploadInputManager.is_compatible�s��"�"C�D�Drc��\R4h)a�Whether the body it provides are stored in-memory

:type operation_name: str
:param operation_name: The name of the client operation that the body
    is being used for. Valid operation_names are ``put_object`` and
    ``upload_part``.

:rtype: boolean
:returns: True if the body returned by the manager will be stored in
    memory. False if the manager will not directly store the body in
    memory.
z%must implement store_body_in_memory()r`�r�operation_names&&r�stores_body_in_memory�(UploadInputManager.stores_body_in_memory�s��"�"I�J�Jrc��\R4h)z�Provides the transfer size of an upload

:type transfer_future: s3transfer.futures.TransferFuture
:param transfer_future: The future associated with upload request
z&must implement provide_transfer_size()r`�r�transfer_futures&&r�provide_transfer_size�(UploadInputManager.provide_transfer_size�s��"�"J�K�Krc��\R4h)a�Determines where a multipart upload is required

:type transfer_future: s3transfer.futures.TransferFuture
:param transfer_future: The future associated with upload request

:type config: s3transfer.manager.TransferConfig
:param config: The config associated to the transfer manager

:rtype: boolean
:returns: True, if the upload should be multipart based on
    configuration and size. False, otherwise.
z*must implement requires_multipart_upload()r`�rrn�configs&&&r�requires_multipart_upload�,UploadInputManager.requires_multipart_upload�s��"�"N�O�Orc��\R4h)a�Returns the body to use for PutObject

:type transfer_future: s3transfer.futures.TransferFuture
:param transfer_future: The future associated with upload request

:type config: s3transfer.manager.TransferConfig
:param config: The config associated to the transfer manager

:rtype: s3transfer.utils.ReadFileChunk
:returns: A ReadFileChunk including all progress callbacks
    associated with the transfer future.
z$must implement get_put_object_body()r`rms&&r�get_put_object_body�&UploadInputManager.get_put_object_body�s��"�"H�I�Irc��\R4h)a�Yields the part number and body to use for each UploadPart

:type transfer_future: s3transfer.futures.TransferFuture
:param transfer_future: The future associated with upload request

:type chunksize: int
:param chunksize: The chunksize to use for this upload.

:rtype: int, s3transfer.utils.ReadFileChunk
:returns: Yields the part number and the ReadFileChunk including all
    progress callbacks associated with the transfer future for that
    specific yielded part.
z)must implement yield_upload_part_bodies()r`)rrn�	chunksizes&&&r�yield_upload_part_bodies�+UploadInputManager.yield_upload_part_bodies�s��"�"M�N�Nrc��\WP4pVP'd(VPPWPRR7pV#)F)�enabled)r4r8r[�get_bandwith_limited_stream)rr9s&&r�
_wrap_fileobj� UploadInputManager._wrap_fileobj�sL��!�'�+E�+E�F���"�"�"��-�-�I�I��3�3�U�J��G��rc�F�\VR4pV'd
\V4.#.#)�progress)rr)rrnrs&& r�_get_progress_callbacks�*UploadInputManager._get_progress_callbacks�s&��!�/�:�>�	��.�y�9�:�:��	rc�B�VUu.uFq"PNK	up#uupir)r&)r�aggregated_progress_callbacksr)s&& r�_get_close_callbacks�'UploadInputManager._get_close_callbacks�s��/L�M�/L�8���/L�M�M��Ms�)r[rZr8r)r+r,r-r.rVr�classmethodrerjrortrwr{r�r�r�r/r0r1s@rrXrXnsY����
�4�
�	E��	E�
K�L�
P�
J�O� ��N�NrrXc�ja�]tRt^�toRt]R4tRtRtRt	Rt
RtRtR	t
R
tRtRtVtR
#)�UploadFilenameInputManagerzUpload utility for filenamesc�"�\V\4#r)�
isinstance�strrbs&&rre�(UploadFilenameInputManager.is_compatible�s���-��-�-rc��R#)FrMrhs&&rrj�0UploadFilenameInputManager.stores_body_in_memory�s��rc��VPPVPPVPPP
44R#r)�metarorZ�
get_file_size�	call_argsr9rms&&rro�0UploadFilenameInputManager.provide_transfer_size�s:�����2�2��L�L�&�&��';�';�'E�'E�'M�'M�N�	
rc�H�VPPVP8�#r)r��size�multipart_thresholdrrs&&&rrt�4UploadFilenameInputManager.requires_multipart_upload�s���#�#�(�(�F�,F�,F�F�Frc��VPV4wr#VPV4pVPV4pVPV4pVPP
pVPPVVVVVR7#)�r9�
chunk_size�full_file_sizer�close_callbacks)�&_get_put_object_fileobj_with_full_sizer�r�r�r�r�rZ�#open_file_chunk_reader_from_fileobj)rrnr9�	full_sizerr�r�s&&     rrw�.UploadFilenameInputManager.get_put_object_body�s���!�H�H��
����$�$�W�-���0�0��A�	��3�3�I�>���#�#�(�(���|�|�?�?���$��+�@�
�	
rc	#��"�VPPpVPW4p\^V^,4F�pVP	V4pVPV4pW%^,
,pVP
VPPPVVVR7wr�VPV	4p	VPPV	VV
VVR7pW[3x�K�	R#5i)�)�
start_byte�	part_sizer�r�N)r�r��_get_num_parts�ranger�r��'_get_upload_part_fileobj_with_full_sizer�r9r�rZr�)rrnrzr��	num_parts�part_numberrr�r�r9r��read_file_chunks&&&         rr{�3UploadFilenameInputManager.yield_upload_part_bodiess����(�-�-�2�2���'�'��C�	� ��I��M�2�K��4�4�_�E�I�"�7�7�	�B�O�"�A�o�6�J�"&�!M�!M��$�$�.�.�6�6�%�#�-�	"N�"��G��(�(��1�G�#�l�l�N�N��$�(�#� /�O��O��.�.�53�s�C C"c�H�\WVPPR7pV#))�
open_function)rrZ�open)rr9r�s&&&r�_get_deferred_open_file�2UploadFilenameInputManager._get_deferred_open_file2s"��"��t�|�|�/@�/@�
���rc��VPPPpVPPpVP	V^4V3#rU)r�r�r9r�r��rrnr9r�s&&  rr��AUploadFilenameInputManager._get_put_object_fileobj_with_full_size8sB��!�&�&�0�0�8�8���#�#�(�(���+�+�G�Q�7��=�=rc�L�VR,pVR,pVPW4V3#)r�r�)r�)rr9rRr�r�s&&,  rr��BUploadFilenameInputManager._get_upload_part_fileobj_with_full_size=s-���L�)�
��+�,�	��+�+�G�@�)�K�Krc��\\P!VPP\V4,44#r)�int�math�ceilr�r��float)rrnr�s&&&rr��)UploadFilenameInputManager._get_num_partsBs,���4�9�9�_�1�1�6�6��y�9I�I�J�K�KrrMN)r+r,r-r.rVr�rerjrortrwr{r�r�r�r�r/r0r1s@rr�r��sP����&��.��.��
�
G�
�0/�>�>�
L�
L�Lrr�c�La�]tRtRtoRt]R4tRtRtRt	Rt
RtVtR	#)
�UploadSeekableInputManageriFz&Upload utility for an open file objectc�>�\V4;'d\V4#rrrbs&&rre�(UploadSeekableInputManager.is_compatibleIs���
�&�B�B�8�M�+B�Brc��VR8XdR#R#)�
put_objectFTrMrhs&&rrj�0UploadSeekableInputManager.stores_body_in_memoryMs���\�)��rc��VPPPpVP4pVP	^^4VP4pVP	V4VPPWC,
4R#�rN)r�r�r9rGrBro)rrnr9�start_position�end_positions&&   rro�0UploadSeekableInputManager.provide_transfer_sizeSse��!�&�&�0�0�8�8��!��������Q����|�|�~�����^�$����2�2��)�	
rc�^�VPVR,4p\V4\V43#)r�)r>r�len)rr9rR�datas&&, rr��BUploadSeekableInputManager._get_upload_part_fileobj_with_full_size`s,���|�|�F�;�/�0���t�}�c�$�i�'�'rc��VPPPpVP4VPP,pW#3#r)r�r�r9rGr�r�s&&  rr��AUploadSeekableInputManager._get_put_object_fileobj_with_full_sizeos?��!�&�&�0�0�8�8���|�|�~�� 4� 4� 9� 9�9���}�rrMN)
r+r,r-r.rVr�rerjror�r�r/r0r1s@rr�r�Fs5����0��C��C��
�
(��rr�c�xaa�]tRtRtoRtR
V3Rllt]R4tRtRt	Rt
RtR	tRR
lt
RtRtVtV;t#)�UploadNonSeekableInputManageriwz7Upload utility for a file-like object that cannot seek.c�6<�\SV`WV4RVnR#)rN)�superr�
_initial_data)rr\r:r]�	__class__s&&&&�rr�&UploadNonSeekableInputManager.__init__zs���
����7H�I� ��rc��\V4#r)rrbs&&rre�+UploadNonSeekableInputManager.is_compatible~s
���
�&�&rc��R#�TrMrhs&&rrj�3UploadNonSeekableInputManager.stores_body_in_memory�s��rc��R#rrMrms&&rro�3UploadNonSeekableInputManager.provide_transfer_size�s��	rc�:�VPPe$VPPVP8�#VPPPpVPpVPW4R4Vn\VP4V8dR#R#)NFT)r�r�r�r�r9�_readr�r�)rrnrsr9rs&&&  rrt�7UploadNonSeekableInputManager.requires_multipart_upload�s������$�$�0�"�'�'�,�,��0J�0J�J�J�"�&�&�0�0�8�8���.�.�	�!�Z�Z��E�B����t�!�!�"�Y�.��rc��VPV4pVPV4pVPPPpVPVPVP4,W#4pRVnV#r)r�r�r�r�r9�
_wrap_datar�r>)rrnrr�r9�bodys&&    rrw�1UploadNonSeekableInputManager.get_put_object_body�sl���0�0��A�	��3�3�I�>��!�&�&�0�0�8�8������������/��
��"����rc#�"�VPPPp^pVPV4pVP	V4pV^,
pVPW24pV'gR#VP
WuV4pRpWH3x�Kb5ir�)r�r�r9r�r�r�r�)	rrnrz�file_objectr�rr��part_content�part_objects	&&&      rr{�6UploadNonSeekableInputManager.yield_upload_part_bodies�s����%�*�*�4�4�<�<������4�4�_�E�I�"�7�7�	�B�O��1��K��:�:�k�=�L����/�/����K�
 �L��*�*�s�BBc��\VP4^8XdVPV4#V\VP48:d.VPRVpV'dVPVRVnV#V\VP4,
pVPVPV4,pV'dRVnV#)a�
Reads a specific amount of data from a stream and returns it. If there
is any data in initial_data, that will be popped out first.

:type fileobj: A file-like object that implements read
:param fileobj: The stream to read from.

:type amount: int
:param amount: The number of bytes to read from the stream.

:type truncate: bool
:param truncate: Whether or not to truncate initial_data after
    reading from it.

:return: Generator which generates part bodies from the initial data.
Nr)r�r�r>)rr9r?�truncater��amount_to_reads&&&&  rr��#UploadNonSeekableInputManager._read�s���$�t�!�!�"�a�'��<�<��'�'��S��+�+�,�,��%�%�g�v�.�D��%)�%7�%7���%@��"��K�
 �#�d�&8�&8�"9�9���!�!�G�L�L��$@�@���!$�D���rc��VP\V44pVPPV\	V4\	V4VVR7#)ah
Wraps data with the interrupt reader and the file chunk reader.

:type data: bytes
:param data: The data to wrap.

:type callbacks: list
:param callbacks: The callbacks associated with the transfer future.

:type close_callbacks: list
:param close_callbacks: The callbacks to be called when closing the
    wrapper for the data.

:return: Fully wrapped data.
r�)r�rrZr�r�)rr�rr�r9s&&&& rr��(UploadNonSeekableInputManager._wrap_data�sL�� �$�$�W�T�]�3���|�|�?�?���4�y��t�9��+�@�
�	
r)r�rr�)r+r,r-r.rVrr�rerjrortrwr{r�r�r/r0�
__classcell__)r�r2s@@rr�r�wsJ����A�!��'��'���
�"�+�((�T
�
rr�c�a�]tRtRtoRtRR.t]R.,t.ROt.RO],t	Rt
RRltRtR	t
R
tRtRtR
tRtRtVtR#)�UploadSubmissionTaskiz.Task for submitting tasks to execute an upload�ChecksumType�
MpuObjectSizec���\\\.pVPPP
pVFpVP
V4'gKVu#	\RVR\V4R24h)a?Retrieves a class for managing input for an upload based on file type

:type transfer_future: s3transfer.futures.TransferFuture
:param transfer_future: The transfer future for the request

:rtype: class of UploadInputManager
:returns: The appropriate class to use for managing a specific type of
    input for uploads.
zInput z
 of type: z is not supported.)	r�r�r�r�r�r9re�RuntimeError�type)rrn�upload_manager_resolver_chainr9�upload_manager_clss&&   r�_get_upload_input_manager_cls�2UploadSubmissionTask._get_upload_input_manager_clssw��
'�&�)�)
�%�"�&�&�0�0�8�8��"?��!�/�/��8�8�)�)�#@���W�I�Z��W�
��6H�I�
�	
rNc�&�VPV4!W0PV4pVPPfVP	V4VPWR4'gVP
VVVVVV4R#VPVVVVVV4R#)aj
:param client: The client associated with the transfer manager

:type config: s3transfer.manager.TransferConfig
:param config: The transfer config associated with the transfer
    manager

:type osutil: s3transfer.utils.OSUtil
:param osutil: The os utility associated to the transfer manager

:type request_executor: s3transfer.futures.BoundedExecutor
:param request_executor: The request executor associated with the
    transfer manager

:type transfer_future: s3transfer.futures.TransferFuture
:param transfer_future: The transfer future associated with the
    transfer request that tasks are being submitted for
N)r�r8r�r�rort�_submit_upload_request�_submit_multipart_request)r�clientrsr\�request_executorrnr]�upload_input_managers&&&&&&& r�_submit�UploadSubmissionTask._submit3s���6 $�A�A�� 
�
�,�,�.?� A��
���$�$�,� �6�6��G�$�=�=��
�
�
�'�'���� ��$�

�
�*�*���� ��$�

rc�N�VPPpVPVP4pVP	VR4p	VP
P
V\VP
RVRVPV4RVPRVPRV/RR7V	R7R	#)
r�rr9�bucket�key�
extra_argsT)r:�main_kwargs�is_final��tagN)r�r��_extra_put_object_argsr	�_get_upload_task_tagr8�submit�
PutObjectTaskrwrr)
rrrsr\rrnrr��put_object_extra_args�put_object_tags
&&&&&&&   rr��+UploadSubmissionTask._submit_upload_requestls���$�(�(�2�2�	� $� ;� ;�� � �!
��
�2�2� �,�
��
	
�"�"�)�)���%)�%?�%?��f��3�G�G�'� ��i�.�.��9�=�=� �"7���
��	*�	
rc�T�VPPp\FCpW�P9gKRVPR&VP	RR4VPR&KE	VPVP4p	VPPV\VPRVRVPRVPRV	/R	74p
.pVPVP4pVPVR
4p
VPPp\4pVPVP V4pVP#VV4pVFkwppVP%VPPV\'VPRVRVRVPRVPRVRV/R
V
/R7V
R74Km	VP)VP4pVPPV\+VPRVRVPRVPRV/R
V
RV/RR74R#)�FULL_OBJECTr��Checksum��ChecksumAlgorithmrrrr	)r:r
�upload_partr9r��	upload_id)r:r
�pending_main_kwargsr�partsT)r:r
rrN)r�r�rr	�replace�_extra_create_multipart_argsr8rr
rr�_extra_upload_part_argsrr�r
�adjust_chunksize�multipart_chunksizer{�append�UploadPartTask�_extra_complete_multipart_argsr	)rrrsr\rrnrr��checksum�create_multipart_extra_args�create_multipart_future�part_futures�extra_part_args�upload_part_tagr��adjusterrz�
part_iteratorr�r9�complete_multipart_extra_argss&&&&&&&              rr�.UploadSubmissionTask._submit_multipart_request�sS��$�(�(�2�2�	�2�H��/�/�/�7D�	�$�$�^�4�<D�<L�<L���=�	�$�$�%8�9�2�'+�&G�&G�� � �'
�#�
#'�"<�"<�"C�"C��%�%)�%?�%?��f��i�.�.��9�=�=� �"=�	�
�#
�����6�6�y�7K�7K�L���3�3� �-�
���#�#�(�(��$�&���-�-�f�.H�.H�$�O�	�,�E�E��Y�
�
�%2� �K������*�*�1�1�$�"�-1�-G�-G�$�f�%�w�$�i�&6�&6�!�9�=�=�)�;�(�/�
%�(�)@�-�
�(�!2��
�%2�,)-�(K�(K�� � �)
�%�	
�"�"�)�)��'�%)�%?�%?��f��i�.�.��9�=�=� �"?�	� �!8��\�%��

�	
rc�,�\WP4#r)r�UPLOAD_PART_ARGS�rr	s&&rr �,UploadSubmissionTask._extra_upload_part_args�s��!��-B�-B�C�Crc�,�\WP4#r)r�COMPLETE_MULTIPART_ARGSr2s&&rr%�3UploadSubmissionTask._extra_complete_multipart_args�s�� ��-I�-I�J�Jrc�.�\WPR7#�)�blocklisted_keys)r�CREATE_MULTIPART_BLOCKLISTr2s&&rr�1UploadSubmissionTask._extra_create_multipart_args�s�� ��)H�)H�
�	
rc�.�\WPR7#r8)r�PUT_OBJECT_BLOCKLISTr2s&&rr�+UploadSubmissionTask._extra_put_object_argss�� ��)B�)B�
�	
rc�D�RpVPV4'd\pV#r)rjr)rrrir
s&&& rr�)UploadSubmissionTask._get_upload_task_tags"�����5�5�n�E�E�&�C��
rrM)r�SSECustomerKey�SSECustomerAlgorithm�SSECustomerKeyMD5�RequestPayer�ExpectedBucketOwner)rArBrCrDrEr�r�r)r+r,r-r.rVr=rr:r1r5r�rr�rr r%rrrr/r0r1s@rr�r�ss����8�*�O�<��!:�o�=N�!N�����	"�"��
�07�r%
�Na
�FD�
K�
�

�
�rr�c�*a�]tRtRtoRtRtRtVtR#)riz Task to do a nonmultipart uploadc��V;_uu_4pVP!RRVRVRV/VBRRR4R# +'giR#;i)a
:param client: The client to use when calling PutObject
:param fileobj: The file to upload.
:param bucket: The name of the bucket to upload to
:param key: The name of the key to upload to
:param extra_args: A dictionary of any extra arguments that may be
    used in the upload.
�Bucket�Key�BodyNrM)r�)rrr9rrr	r�s&&&&&& r�_main�PutObjectTask._mains7���W�����N�V�N��N�4�N�:�N��W�W�W�s�.�?	rMN�r+r,r-r.rVrKr/r0r1s@rrrs����*�
O�
Orrc�*a�]tRtRtoRtRtRtVtR#)r$iz+Task to upload a part in a multipart uploadc��V;_uu_4pVP!R
RVRVRVRVRV/VBp	RRR4X	R,p
RV
RV/pRV9d-VR,P4pR	V2p
W�9dW�,W�&V# +'giLT;i)a[
:param client: The client to use when calling PutObject
:param fileobj: The file to upload.
:param bucket: The name of the bucket to upload to
:param key: The name of the key to upload to
:param upload_id: The id of the upload
:param part_number: The number representing the part of the multipart
    upload
:param extra_args: A dictionary of any extra arguments that may be
    used in the upload.

:rtype: dict
:returns: A dictionary representing a part::

    {'Etag': etag_value, 'PartNumber': part_number}

    This value can be appended to a list to be used to complete
    the multipart upload.
rHrI�UploadId�
PartNumberrJN�ETagrrrM)r�upper)rrr9rrrr�r	r��response�etag�
part_metadata�algorithm_name�checksum_members&&&&&&&&      rrK�UploadPartTask._main"s���,�W���)�)������#��'�	�
���
�H��������|�[�A�
��*�,�'�(;�<�B�B�D�N� (��(8�9�O��*�19�1J�
�.���!�W�s�A4�4B	rMNrMr1s@rr$r$s����5�&�&rr$)r��ior�s3transfer.compatrr�s3transfer.constantsr�s3transfer.futuresr�s3transfer.tasksr	r
rr�s3transfer.utilsr
rrrrr4rXr�r�r�r�rr$rMrr�<module>r`s�����0�:�3�������B)�)�XxN�xN�vZL�!3�ZL�z.�!;�.�bG
�$6�G
�TK�>�K�\
O�D�
O� )�T�)r

Youez - 2016 - github.com/yon3zu
LinuXploit