§
    îT eD  ã                   óè   — d Z ddlZddlZddlZddlZddlmZ ddlmZm	Z	m
Z
 ddlmZ ddlmZmZ ddlmZ dd	lmZ  eed
d¦  «         eedd¦  «         eedd¦  «        dœZ G d„ de¦  «        ZdS )zm
distutils.command.upload

Implements the Distutils 'upload' subcommand (upload package to a package
index).
é    N)Ústandard_b64encode)ÚurlopenÚRequestÚ	HTTPError)Úurlparseé   )ÚDistutilsErrorÚDistutilsOptionError)ÚPyPIRCCommand)ÚspawnÚmd5Úsha256Úblake2b)Ú
md5_digestÚsha256_digestÚblake2_256_digestc                   óX   — e Zd ZdZej        ddgz   Zej        dgz   Zd„ Zd„ Zd„ Z	d„ Z
d	S )
Úuploadzupload binary package to PyPI)ÚsignÚszsign files to upload using gpg)z	identity=ÚizGPG identity used to sign filesr   c                 ót   — t          j        | ¦  «         d| _        d| _        d| _        d| _        d | _        d S )NÚ r   F)r   Úinitialize_optionsÚusernameÚpasswordÚshow_responser   Úidentity)Úselfs    úh/var/www/dev/btcams2023/python_venv/lib/python3.11/site-packages/setuptools/_distutils/command/upload.pyr   zupload.initialize_options(   s;   € ÝÔ(¨Ñ.Ô.Ð.ØˆŒØˆŒØˆÔØˆŒ	ØˆŒˆˆó    c                 óT  — t          j        | ¦  «         | j        r| j        st	          d¦  «        ‚|                      ¦   «         }|i k    r4|d         | _        |d         | _        |d         | _        |d         | _	        | j        s| j
        j        r| j
        j        | _        d S d S d S )Nz.Must use --sign for --identity to have meaningr   r   Ú
repositoryÚrealm)r   Úfinalize_optionsr   r   r
   Ú_read_pypircr   r   r#   r$   Údistribution)r   Úconfigs     r    r%   zupload.finalize_options0   s¾   € ÝÔ& tÑ,Ô,Ð,ØŒ=ð 	Y ¤ð 	YÝ&Ð'WÑXÔXÐXØ×"Ò"Ñ$Ô$ˆØ�RŠ<ˆ<Ø" :Ô.ˆDŒMØ" :Ô.ˆDŒMØ$ \Ô2ˆDŒOØ œˆDŒJð Œ}ð 	7 Ô!2Ô!;ð 	7Ø Ô-Ô6ˆDŒMˆMˆMð	7ð 	7ð 	7ð 	7r!   c                 ó”   — | j         j        sd}t          |¦  «        ‚| j         j        D ]\  }}}|                      |||¦  «         Œd S )NzHMust create and upload files in one command (e.g. setup.py sdist upload))r'   Ú
dist_filesr
   Úupload_file)r   ÚmsgÚcommandÚ	pyversionÚfilenames        r    Úrunz
upload.run@   sk   € ØÔ Ô+ð 	,ð/ð õ ' sÑ+Ô+Ð+Ø,0Ô,=Ô,Hð 	;ð 	;Ñ(ˆG�Y Ø×Ò˜W i°Ñ:Ô:Ð:Ð:ð	;ð 	;r!   c                 ó  — t          | j        ¦  «        \  }}}}}}	|s|s|	rt          d| j        z  ¦  «        ‚|dvrt          d|z   ¦  «        ‚| j        r1ddd|g}
| j        rd| j        g|
dd…<   t          |
| j        ¬	¦  «         t          |d
¦  «        }	 |                     ¦   «         }| 	                    ¦   «          n# | 	                    ¦   «          w xY w| j
        j        }i dd“dd“d|                     ¦   «         “d|                     ¦   «         “dt          j                             |¦  «        |f“d|“d|“dd“d|                     ¦   «         “d|                     ¦   «         “d|                     ¦   «         “d|                     ¦   «         “d|                     ¦   «         “d|                     ¦   «         “d|                     ¦   «         “d|                     ¦   «         “d|                     ¦   «         “|                     ¦   «         |                     ¦   «         |                     ¦   «         |                     ¦   «         dœ¥}d |d!<   t<                               ¦   «         D ]9\  }}|€Œ	  ||¦  «                              ¦   «         ||<   Œ*# tB          $ r Y Œ6w xY w| j        rdt          |d"z   d
¦  «        5 }t          j                             |¦  «        d"z   |                     ¦   «         f|d#<   d d d ¦  «         n# 1 swxY w Y   | j"        d$z   | j#        z    $                    d%¦  «        }d&tK          |¦  «         &                    d%¦  «        z   }d'}d(| $                    d%¦  «        z   }|d)z   }tO          j(        ¦   «         }|                     ¦   «         D ]Ý\  }}d*|z  }tS          |tT          ¦  «        s|g}|D ]¸}tW          |¦  «        tX          u r|d+|d,         z  z  }|d-         }n"t[          |¦  «         $                    d.¦  «        }| .                    |¦  «         | .                    | $                    d.¦  «        ¦  «         | .                    d/¦  «         | .                    |¦  «         Œ¹ŒÞ| .                    |¦  «         | /                    ¦   «         }d0 0                    || j        ¦  «        }|  1                    |td          j3        ¦  «         d1|z  t[          ti          |¦  «        ¦  «        |d2œ}tk          | j        ||¬3¦  «        }	 tm          |¦  «        }| 7                    ¦   «         }|j8        }n`# tr          $ r} | j:        }| j8        }Y d } ~ nCd } ~ wtv          $ r3} |  1                    t[          | ¦  «        td          j<        ¦  «         ‚ d } ~ ww xY w|d4k    rŒ|  1                    d5 0                    ||¦  «        td          j3        ¦  «         | j=        rO|  >                    |¦  «        }!d6 ?                    d7|!d7f¦  «        }|  1                    |td          j3        ¦  «         d S d S d8 0                    ||¦  «        }|  1                    |td          j<        ¦  «         t�          |¦  «        ‚)9NzIncompatible url %s)ÚhttpÚhttpszunsupported schema Úgpgz--detach-signz-az--local-userr   )Údry_runÚrbz:actionÚfile_uploadÚprotocol_versionÚ1ÚnameÚversionÚcontentÚfiletyper.   Úmetadata_versionz1.0ÚsummaryÚ	home_pageÚauthorÚauthor_emailÚlicenseÚdescriptionÚkeywordsÚplatformÚclassifiers)Údownload_urlÚprovidesÚrequiresÚ	obsoletesr   Úcommentz.ascÚgpg_signatureú:ÚasciizBasic z3--------------GHSKFJDLGDS7543FJKLFHRE75642756743254s   
--s   --
z+
Content-Disposition: form-data; name="%s"z; filename="%s"r   é   zutf-8s   

zSubmitting {} to {}z multipart/form-data; boundary=%s)zContent-typezContent-lengthÚAuthorization)ÚdataÚheaderséÈ   zServer response ({}): {}ú
zK---------------------------------------------------------------------------zUpload failed ({}): {})Ar   r#   ÚAssertionErrorr   r   r   r5   ÚopenÚreadÚcloser'   ÚmetadataÚget_nameÚget_versionÚosÚpathÚbasenameÚget_descriptionÚget_urlÚget_contactÚget_contact_emailÚget_licenceÚget_long_descriptionÚget_keywordsÚget_platformsÚget_classifiersÚget_download_urlÚget_providesÚget_requiresÚget_obsoletesÚ_FILE_CONTENT_DIGESTSÚitemsÚ	hexdigestÚ
ValueErrorr   r   Úencoder   ÚdecodeÚioÚBytesIOÚ
isinstanceÚlistÚtypeÚtupleÚstrÚwriteÚgetvalueÚformatÚannounceÚloggingÚINFOÚlenr   r   Úgetcoder,   r   ÚcodeÚOSErrorÚERRORr   Ú_read_pypi_responseÚjoinr	   )"r   r-   r.   r/   ÚschemaÚnetlocÚurlÚparamsÚqueryÚ	fragmentsÚgpg_argsÚfr<   ÚmetarR   Údigest_nameÚdigest_consÚ	user_passÚauthÚboundaryÚsep_boundaryÚend_boundaryÚbodyÚkeyÚvalueÚtitler,   rS   ÚrequestÚresultÚstatusÚreasonÚeÚtexts"                                     r    r+   zupload.upload_fileJ   sG  € å8@ÀÄÑ8QÔ8QÑ5ˆ�˜˜V U¨IØð 	J�Uð 	J˜ið 	JÝ Ð!6¸¼Ñ!HÑIÔIÐIàÐ*Ð*Ð*Ý Ð!6¸Ñ!?Ñ@Ô@Ð@ð Œ9ð 	2Ø˜°°hÐ?ˆHØŒ}ð @Ø!/°´Ð ?�˜˜1˜‘Ý�( D¤LÐ1Ñ1Ô1Ð1õ �˜4Ñ Ô ˆð	Ø—f’f‘h”hˆGà�GŠG‰IŒIˆIˆIøˆA�GŠG‰IŒIˆIˆIøøøàÔ Ô)ˆð
à�}ð
ð  ð
ð
 �D—M’M‘O”Oð
ð �t×'Ò'Ñ)Ô)ð
ð �œ×(Ò(¨Ñ2Ô2°GÐ<ð
ð ˜ð
ð ˜ð
ð  ð
ð �t×+Ò+Ñ-Ô-ð
ð ˜Ÿš™œð
ð �d×&Ò&Ñ(Ô(ð
ð  ˜D×2Ò2Ñ4Ô4ð!
ð" �t×'Ò'Ñ)Ô)ð#
ð$ ˜4×4Ò4Ñ6Ô6ð%
ð& ˜×)Ò)Ñ+Ô+ð'
ð( ˜×*Ò*Ñ,Ô,ð)
ð* ˜4×/Ò/Ñ1Ô1ð+
ð, !×1Ò1Ñ3Ô3à×)Ò)Ñ+Ô+Ø×)Ò)Ñ+Ô+Ø×+Ò+Ñ-Ô-ð5
ð 
ð 
ˆð: ˆˆY‰õ )>×(CÒ(CÑ(EÔ(Eð 	ð 	Ñ$ˆK˜ØÐ"ØðØ$/ K°Ñ$8Ô$8×$BÒ$BÑ$DÔ$D��[Ñ!Ð!øÝð ð ð à�ðøøøð Œ9ð 	XÝ�h Ñ'¨Ñ.Ô.ð X°!Ý)+¬×)9Ò)9¸(Ñ)CÔ)CÀfÑ)LÈaÏfÊfÉhÌhÐ(W��_Ñ%ðXð Xð Xñ Xô Xð Xð Xð Xð Xð Xð Xøøøð Xð Xð Xð Xð ”] SÑ(¨4¬=Ñ8×@Ò@ÀÑIÔIˆ	ð Õ,¨YÑ7Ô7×>Ò>¸wÑGÔGÑGˆð IˆØ  8§?¢?°7Ñ#;Ô#;Ñ;ˆØ# iÑ/ˆÝŒz‰|Œ|ˆØŸ*š*™,œ,ð 	"ð 	"‰JˆC�ØCÀcÑIˆEå˜e¥TÑ*Ô*ð  Ø˜�Øð 	"ð 	"�Ý˜‘;”;¥%Ð'Ð'ØÐ.°°q´Ñ9Ñ9�EØ! !œH�E�Eå ™JœJ×-Ò-¨gÑ6Ô6�EØ—
’
˜<Ñ(Ô(Ð(Ø—
’
˜5Ÿ<š<¨Ñ0Ô0Ñ1Ô1Ð1Ø—
’
˜;Ñ'Ô'Ð'Ø—
’
˜5Ñ!Ô!Ð!Ð!ð	"ð 	�
Š
�<Ñ Ô Ð Ø�}Š}‰Œˆà#×*Ò*¨8°T´_ÑEÔEˆØ�Š�c�7œ<Ñ(Ô(Ð(ð ?ÀÑIÝ!¥# d¡)¤)™nœnØ!ð
ð 
ˆõ ˜$œ/°¸gÐFÑFÔFˆð		Ý˜WÑ%Ô%ˆFØ—^’^Ñ%Ô%ˆFØ”ZˆFˆFøÝð 	ð 	ð 	Ø”VˆFØ”UˆFˆFˆFˆFˆFˆFøøøøÝð 	ð 	ð 	Ø�MŠM�#˜a™&œ&¥'¤-Ñ0Ô0Ð0Øøøøøð	øøøð �SŠ=ˆ=Ø�MŠMØ*×1Ò1°&¸&ÑAÔAÅ7Ä<ñô ð ð Ô!ð 1Ø×/Ò/°Ñ7Ô7�Ø—i’i ¨4°Ð :Ñ;Ô;�Ø—’˜c¥7¤<Ñ0Ô0Ð0Ð0Ð0ð1ð 1ð
 +×1Ò1°&¸&ÑAÔAˆCØ�MŠM˜#�wœ}Ñ-Ô-Ð-Ý  Ñ%Ô%Ð%sT   ÂC ÃCÉ6 JÊ
J$Ê#J$Ë:LÌLÌLÔ*U
 Õ

V'ÕU'Õ'V'Õ4.V"Ö"V'N)Ú__name__Ú
__module__Ú__qualname__rD   r   Úuser_optionsÚboolean_optionsr   r%   r0   r+   © r!   r    r   r      sƒ   € € € € € à1€Kà Ô-Ø7Ø=ð1ñ €Lð
 $Ô3°v°hÑ>€Oðð ð ð7ð 7ð 7ð ;ð ;ð ;ðE&ð E&ð E&ð E&ð E&r!   r   )Ú__doc__r]   rs   Úhashlibr~   Úbase64r   Úurllib.requestr   r   r   Úurllib.parser   Úerrorsr	   r
   Úcorer   r   Úgetattrrm   r   r¦   r!   r    ú<module>r¯      s3  ððð ð 
€	€	€	Ø 	€	€	€	Ø €€€Ø €€€Ø %Ð %Ð %Ð %Ð %Ð %Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø !Ð !Ð !Ð !Ð !Ð !Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø  Ð  Ð  Ð  Ð  Ð  Ø Ð Ð Ð Ð Ð ð �'˜' 5¨$Ñ/Ô/Ø�W˜W h°Ñ5Ô5Ø ˜ ¨)°TÑ:Ô:ðð Ð ðr&ð r&ð r&ð r&ð r&ˆ]ñ r&ô r&ð r&ð r&ð r&r!   