+
    
�iÒ.  ã                  óÆ  € R t ^ RIHt ^ RIt^ RIt^ RIt^ RIHt ^ RIH	t	 ^ RI
Ht ^ RIHt ^ RIHt ^ RIHtHt ^ R	IHt ^R
IHtHt ^RIHt ^RIHt ^ RIHt R tR R ltR R lt R R lt!R R lt"R R lt#R t$R t%R t&R t'R t(R R lt)R  t*R! t+R" R# lt,R$ t-/ R%R%bR&R'bR(R)bR*R+bR,R-bR.R/bR0R1bR2R2bR3R3bR4R5bR6R7bR8R8bR9R:bR;R;bR<R=bR>R?bR@R@bRARBRCRCRDRERFRGRHR*/Ct.R# )Iz›
Handling of Core Metadata for Python packages (including reading and writing).

See: https://packaging.python.org/en/latest/specifications/core-metadata/
)ÚannotationsN)Úmessage_from_file)ÚMessage)ÚNamedTemporaryFile)ÚMarker)ÚRequirement)Úcanonicalize_nameÚcanonicalize_version)ÚVersion)Ú_normalizationÚ_reqs)Ú	is_static)ÚSetuptoolsDeprecationWarning)Úrfc822_escapec                óJ   € \        V R R4      pVf   \        R4      pWn        V# )Úmetadata_versionNz2.4)Úgetattrr
   r   )ÚselfÚmvs   & Ú;/usr/lib/python3/dist-packages/setuptools/_core_metadata.pyÚget_metadata_versionr      s*   € Ü	�Ð)¨4Ó	0€BØ	‚zÜ�U‹^ˆØ "ÔØ€Ió    c               ó    € V ^8„  d   QhRRRR/# )é   ÚcontentÚstrÚreturn© )Úformats   "r   Ú__annotate__r   $   s   € ÷ Qñ Q˜Sð Q Sñ Qr   c           	     ó  € V P                  4       p\        V4      ^8X  d   V^ ,          P                  4       # RP                  V^ ,          P                  4       \        P
                  ! RP                  VR,          4      4      34      # )zFReverse RFC-822 escaping by removing leading whitespaces from content.Ú
:é   NN)Ú
splitlinesÚlenÚlstripÚjoinÚtextwrapÚdedent)r   Úliness   & r   Úrfc822_unescaper*   $   sa   € à×ÑÓ €EÜ
ˆ5ƒz�Q„Ø�Q�x�‰Ó Ð Ø�9‰9�e˜A•h—o‘oÓ'¬¯ª¸¿¹À5ÈÅ9Ó9MÓ)NÐOÓPÐPr   c               ó$   € V ^8„  d   QhRRRRRR/# ©r   Úmsgr   Úfieldr   r   ú
str | Noner   )r   s   "r   r   r   ,   s!   € ÷ ñ ˜gð ¨cð °jñ r   c                ó(   € W,          pVR8X  d   R# V# )zRead Message header field.ÚUNKNOWNNr   ©r-   r.   Úvalues   && r   Ú_read_field_from_msgr4   ,   s   € à�J€EØ�	ÔÙØ€Lr   c               ó$   € V ^8„  d   QhRRRRRR/# r,   r   )r   s   "r   r   r   4   s!   € ÷ "ñ "¨ð "¸ð "À
ñ "r   c                ó:   € \        W4      pVf   V# \        V4      # )z4Read Message header field and apply rfc822_unescape.)r4   r*   r2   s   && r   Ú_read_field_unescaped_from_msgr7   4   s!   € ä  Ó,€EØ‚}ØˆÜ˜5Ó!Ð!r   c               ó$   € V ^8„  d   QhRRRRRR/# )r   r-   r   r.   r   r   zlist[str] | Noner   )r   s   "r   r   r   <   s"   € ÷ ñ ˜Wð ¨Sð Ð5Eñ r   c                ó<   € V P                  VR4      pV. 8X  d   R# V# )z9Read Message header field and return all results as list.N)Úget_all)r-   r.   Úvaluess   && r   Ú_read_list_from_msgr<   <   s!   € à�[‰[˜ Ó%€FØ�„|ÙØ€Mr   c               ó    € V ^8„  d   QhRRRR/# )r   r-   r   r   r/   r   )r   s   "r   r   r   D   s   € ÷ ñ  ð ¨Jñ r   c                óv   € \        V P                  4       4      P                  4       pVR 8X  g	   V'       g   R# V# )r1   N)r   Úget_payloadÚstrip)r-   r3   s   & r   Ú_read_payload_from_msgrA   D   s.   € Ü�—‘Ó!Ó"×(Ñ(Ó*€EØ�	Ô§ÙØ€Lr   c                óÆ  € \        V4      p\        VR,          4      V n        \        VR4      V n        \        VR4      V n        \        VR4      V n        \        VR4      V n        RV n        \        VR4      V n	        RV n
        \        VR4      V n        \        VR	4      V n        \        VR
4      V n        \        VR4      V n        \        VR4      V n        V P                   f+   V P                  \        R4      8¼  d   \#        V4      V n        \        VR4      V n        RV9   d!   \        VR4      P%                  R4      V n        \)        VR4      V n        \)        VR4      V n        V P                  \        R4      8X  d5   \)        VR4      V n        \)        VR4      V n        \)        VR4      V n        MRV n        RV n        RV n        \)        VR4      V n        R# )z-Reads the metadata values from a file object.zmetadata-versionÚnameÚversionÚsummaryÚauthorNúauthor-emailú	home-pageúdownload-urlÚlicenseúlicense-expressionÚdescriptionz2.1ÚkeywordsÚ,ÚplatformÚ
classifierz1.1ÚrequiresÚprovidesÚ	obsoletesúlicense-file)r   r
   r   r4   rC   rD   rL   rF   Ú
maintainerÚauthor_emailÚmaintainer_emailÚurlÚdownload_urlr7   rJ   Úlicense_expressionÚlong_descriptionrA   ÚsplitrM   r<   Ú	platformsÚclassifiersrQ   rR   rS   Úlicense_files)r   Úfiler-   s   && r   Úread_pkg_filera   K   s™  € ä
˜DÓ
!€Cä# CÐ(:Õ$;Ó<€DÔÜ$ S¨&Ó1€D„IÜ'¨¨YÓ7€D„LÜ+¨C°Ó;€DÔä& s¨HÓ5€D„KØ€D„OÜ,¨S°.ÓA€DÔØ €DÔÜ# C¨Ó5€D„HÜ,¨S°.ÓA€DÔÜ1°#°yÓA€D„LÜ<¸SÐBVÓW€DÔä:¸3ÀÓN€DÔØ×ÑÒ$¨×)>Ñ)>Ä'È%Ã.Ô)PÜ 6°sÓ ;ˆÔÜ+¨C°Ó;€DÔà�SÔÜ,¨S°*Ó=×CÑCÀCÓHˆŒä(¨¨jÓ9€D„NÜ*¨3°Ó=€DÔð ×Ñ¤¨£Ô.Ü+¨C°Ó<ˆŒÜ+¨C°Ó<ˆŒÜ,¨S°+Ó>ˆ�àˆŒØˆŒØˆŒä,¨S°.ÓA€DÖr   c                ó’   € RV 9   d@   Rp\         P                  ! RV4       V P                  4       P                  R4      ^ ,          p V # )z>
Quick and dirty validation for Summary pypa/setuptools#1390.
r!   zBnewlines are not allowed in `summary` and will break in the futurezInvalid config.)r   Úemitr@   r\   )Úvalr-   s   & r   Úsingle_linere   u   sD   € ð ˆs„{ð SˆÜ$×)Ò)Ð*;¸SÔAà�i‰i‹k×Ñ Ó% aÕ(ˆØ€Jr   c                ó"  € Rp\         P                  P                  VR4      p \        RRVRR7      ;_uu_ 4       pVP                  pV P                  V4       RRR4       \        P                  ! \         P                  ! V4      P                  4      p\         P                  ! W%\        P                  ,          \        P                  ,          4       \         P                  ! W#4       V'       d@   \         P                  P                  V4      '       d   \         P                  ! V4       R# R# R#   + '       g   i     Lã; i  T'       d>   \         P                  P                  T4      '       d   \         P                  ! T4       i i i ; i)z.Write the PKG-INFO file into the release tree.Ú zPKG-INFOÚwzutf-8F)ÚencodingÚdirÚdeleteN)ÚosÚpathr&   r   rC   Úwrite_pkg_fileÚstatÚS_IMODEÚlstatÚst_modeÚchmodÚS_IRGRPÚS_IROTHÚreplaceÚexistsÚremove)r   Úbase_dirÚtempÚfinalÚfÚpermissionss   &&    r   Úwrite_pkg_infor~   ƒ   sö   € à€DÜ�G‰G�L‰L˜ :Ó.€Eðô   ¨g¸8ÈE×RÕRÐVWØ—6‘6ˆDØ×Ñ Ô"÷ Sô —l’l¤2§8¢8¨D£>×#9Ñ#9Ó:ˆÜ
�Š�¤T§\¡\Õ1´D·L±LÕ@ÔAÜ
�
Š
�4Ôç”B—G‘G—N‘N 4×(Ò(Ü�IŠI�dŽOñ )‰4÷ S×Rû÷ ”B—G‘G—N‘N 4×(Ò(Ü�IŠI�d�Oð )ˆ4ús)   ¤E »D4ÁBE Ä4E	Ä?E Å-FÅ5Fc                óp  a€ V P                  4       pV3R lpV! R\        V4      4       V! RV P                  4       4       V! RV P                  4       4       V P	                  4       pV'       d   V! R\        V4      4       RpV F  w  rg\        WR4      pVf   K  V! Wh4       K!  	  V P                  ;p	'       d   V! RV	4       M*V P                  4       ;p
'       d   V! R\        V
4      4       V P                  P                  4        F  w  r¼V! R	V R
V 24       K  	  RP                  V P                  4       4      pV'       d
   V! RV4       V P                  4       ;'       g    . pV F  pV! RV4       K  	  V P                  SRV P!                  4       4       V P                  SRV P#                  4       4       V P                  SRV P%                  4       4       V P                  SRV P'                  4       4       \)        V R4      '       d   V! RV P*                  4       V P,                  '       d   V! RV P,                  4       \/        \0        V P2                  ;'       g    . 4      pV P                  SRV4       \5        V S4       \6        P                  4        F7  w  rg\        WR4      ;p'       g   K  \9        V4      '       d   K.  V! RV4       K9  	  V P;                  4       pV'       dA   SP=                  RV 24       VP?                  R4      '       g   SP=                  R4       R# R# R# )z0Write the PKG-INFO format data to a file object.c                ó6   <€ SP                  V  R V R24       R# )z: r!   N)Úwrite)Úkeyr3   r`   s   &&€r   Úwrite_fieldÚ#write_pkg_file.<locals>.write_fieldš   s   ø€ Ø�
‰
�c�U˜"˜U˜G 2Ð&Ö'r   zMetadata-VersionÚNamer
   ÚSummaryNzLicense-ExpressionÚLicensezProject-URLz, rN   ÚKeywordsÚPlatformÚ
ClassifierÚRequiresÚProvidesÚ	ObsoletesÚpython_requireszRequires-PythonzDescription-Content-TypezLicense-FileÚDynamicr!   ))z	Home-pagerX   )zDownload-URLrY   )ÚAuthorrF   )zAuthor-emailrV   )Ú
MaintainerrU   )zMaintainer-emailrW   ) r   r   Úget_nameÚget_versionÚget_descriptionre   r   rZ   Úget_licenser   Úproject_urlsÚitemsr&   Úget_keywordsÚget_platformsÚ_write_listÚget_classifiersÚget_requiresÚget_providesÚget_obsoletesÚhasattrrŽ   Úlong_description_content_typeÚmapÚ_safe_license_filer_   Ú_write_requirementsÚ_POSSIBLE_DYNAMIC_FIELDSr   Úget_long_descriptionr�   Úendswith)r   r`   rD   rƒ   rE   Úoptional_fieldsr.   ÚattrÚattr_valrZ   rJ   ÚlabelrX   rM   r]   rO   Úsafe_license_filesrd   r[   s   &f                 r   rn   rn   –   sÑ  ø€ à×'Ñ'Ó)€Gõ(ñ Ð"¤C¨£LÔ1Ù�˜Ÿ™›Ô(Ù�	˜4×+Ñ+Ó-Ô.à×"Ñ"Ó$€GßÙ�Iœ{¨7Ó3Ô4ð€Oó '‰ˆÜ˜4 tÓ,ˆØÔÙ˜Ö(ñ 'ð
 "×4Ñ4Ð4ÐÖ4ÙÐ(Ð*<Õ=Ø×$Ñ$Ó&Ð	&ˆÖ	&Ù�Iœ}¨WÓ5Ô6à×'Ñ'×-Ñ-Ö/‰
ˆÙ�M e W¨B¨s¨eÐ#4Ö5ñ 0ð �x‰x˜×)Ñ)Ó+Ó,€HßÙ�J Ô)à×"Ñ"Ó$×*Ð*¨€IÛˆÙ�J Ö)ñ ð 	×Ñ�T˜<¨×)=Ñ)=Ó)?Ô@ð 	×Ñ�T˜: t×'8Ñ'8Ó':Ô;Ø×Ñ�T˜: t×'8Ñ'8Ó':Ô;Ø×Ñ�T˜;¨×(:Ñ(:Ó(<Ô=ô ˆtÐ&×'Ò'ÙÐ% t×';Ñ';Ô<ð ×)×)Ð)ÙÐ.°×0RÑ0RÔSäÔ/°×1CÑ1C×1IÐ1IÀrÓJÐØ×Ñ�T˜>Ð+=Ô>Ü˜˜dÔ#ä/×5Ñ5Ö7‰ˆÜ˜4 tÓ,Ð,ˆC×,Ð,´iÀ·n´nÙ˜	 5Ö)ñ 8ð ×0Ñ0Ó2ÐßØ�
‰
�RÐ(Ð)Ð*Ô+Ø×(Ñ(¨×.Ò.Ø�J‰J�tÖñ /ñ r   c                ó  € \         P                  ! V P                  4       F  pVP                  R V R24       K  	  / pV P                  P                  4        F¨  w  rEVP                  R4      w  rgpVP                  4       p\        P                  ! V4      p	V	'       d   \        WW–4       \        \         P                  ! V4      4       F2  p\        W)VP                  4       4      p
VP                  R V
 R24       K4  	  Kª  	  V# )zRequires-Dist: r!   Ú:)r   ÚparseÚinstall_requiresr�   Úextras_requirer—   Ú	partitionr@   r   Ú
safe_extraÚ_write_provides_extraÚsortedÚparse_stringsÚ_include_extra)r   r`   ÚreqÚprocessed_extrasÚaugmented_extraÚreqsÚunsafe_extraÚ_Ú	conditionÚextraÚrs   &&         r   r£   r£   á   sÞ   € Ü�{Š{˜4×0Ñ0Ö1ˆØ�
‰
�_ S E¨Ð,Ö-ñ 2ð ÐØ!%×!4Ñ!4×!:Ñ!:Ö!<Ñˆà%4×%>Ñ%>¸sÓ%CÑ"ˆ˜Ø#×)Ñ)Ó+ˆÜ×)Ò)¨,Ó7ˆçÜ! $¸%ÔNÜœ%×-Ò-¨dÓ3Ö4ˆCÜ˜s¨9¯?©?Ó+<Ó=ˆAØ�J‰J˜¨¨¨2Ð.Ö/ó 5ñ "=ð Ðr   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r   r·   r   r¾   r½   r   r   r   )r   s   "r   r   r   õ   s(   € ÷ ñ ˜ð  Cð °Cð ¸Kñ r   c                óî   € \        V 4      pVP                  '       d   R VP                   R2MRV'       d   R V R2MRV'       d   RV: 2MR3p\        RP                  R V 4       4      4      Vn        V# )Ú(Ú)Nz	extra == ú and c              3  ó8   "  € T F  q'       g   K  Vx € K  	  R # 5i©Nr   )Ú.0Úxs   & r   Ú	<genexpr>Ú!_include_extra.<locals>.<genexpr>ü   s   é € Ð"9©e¨³q§1¢1«eùs   ‚	�
)r   Úmarkerr   r&   )r·   r¾   r½   r¿   Úpartss   &&&  r   r¶   r¶   õ   sl   € Ü�CÓ€AàŸ8Ÿ8˜8ˆ!ˆA�H‰Hˆ:�Q‰¨ß%ˆ!ˆIˆ;�aÑ¨4ß!&ˆ)�E‘9Ñ¨Dð€Eô
 �g—l‘lÑ"9©eÓ"9Ó9Ó:€A„HØ€Hr   c           
     ó¶   € VP                  V4      pWC8X  d)   \        P                  ! R RV: RV: RV: R2RR7       R	# W1V&   V P                  RV R24       R	# )
z8Ambiguity during "extra" normalization for dependencies.z
            rÄ   z/ normalize to the same value:

                zW

            In future versions, setuptools might halt the build process.
            z!https://peps.python.org/pep-0685/)Úsee_urlzProvides-Extra: r!   N)Úgetr   rc   r�   )r`   r¸   ÚsafeÚunsafeÚpreviouss   &&&& r   r³   r³      sr   € Ø×#Ñ# DÓ)€HØÔÜ$×)Ò)ØFðØ‰L˜˜f™Zð (Ø‘ð ðð
 8÷	
ð "(˜ÑØ�
‰
Ð% d V¨2Ð.Ö/r   c                óR   € \        V P                  4       V P                  4       4      # rÆ   )Ú_distribution_fullnamer’   r“   )r   s   &r   Úget_fullnamerÕ     s   € Ü! $§-¡-£/°4×3CÑ3CÓ3EÓFÐFr   c               ó$   € V ^8„  d   QhRRRRRR/# )r   rC   r   rD   r   r   )r   s   "r   r   r     s!   € ÷ ñ  ð ¨sð °sñ r   c                ón   € RP                  \        V 4      P                  RR4      \        VRR7      4      # )a‰  
>>> _distribution_fullname('setup.tools', '1.0-2')
'setup_tools-1.0.post2'
>>> _distribution_fullname('setup-tools', '1.2post2')
'setup_tools-1.2.post2'
>>> _distribution_fullname('setup-tools', '1.0-r2')
'setup_tools-1.0.post2'
>>> _distribution_fullname('setup.tools', '1.0.post')
'setup_tools-1.0.post0'
>>> _distribution_fullname('setup.tools', '1.0+ubuntu-1')
'setup_tools-1.0+ubuntu.1'
z{}-{}Ú-r¼   F)Ústrip_trailing_zero)r   r   rv   r	   )rC   rD   s   &&r   rÔ   rÔ     s4   € ð �>‰>Ü˜$Ó×'Ñ'¨¨SÓ1Ü˜W¸%Ô@óð r   c                óÌ   € \         P                  P                  V 4      P                  \         P                  R 4      pRV9   d    \         P                  P                  V4      # V# )Ú/z../)rl   rm   Únormpathrv   ÚsepÚbasename)r`   Ú
normalizeds   & r   r¢   r¢   )  sJ   € ä—‘×!Ñ! $Ó'×/Ñ/´·±¸Ó<€JØ�
ÔÜ�w‰w×Ñ 
Ó+Ð+ØÐr   rF   rG   rV   rP   r^   rL   r[   zdescription-content-typer    rI   rY   rH   rX   rM   rJ   rT   r_   rK   rZ   rU   zmaintainer-emailrW   rS   rO   r]   zproject-urlr–   rR   zprovides-extrar°   rQ   zrequires-distr¯   zrequires-pythonrŽ   rE   )/Ú__doc__Ú
__future__r   rl   ro   r'   Úemailr   Úemail.messager   Útempfiler   Úpackaging.markersr   Úpackaging.requirementsr   Úpackaging.utilsr   r	   Úpackaging.versionr
   rg   r   r   Ú_staticr   Úwarningsr   Údistutils.utilr   r   r*   r4   r7   r<   rA   ra   re   r~   rn   r£   r¶   r³   rÕ   rÔ   r¢   r¤   r   r   r   Ú<module>rì      sˆ  ðñõ #ã 	Û Û Ý #Ý !Ý 'å $Ý .ß CÝ %ç #Ý Ý 2å (òõQõõ"õõò'BòTòò&HòVõ(ò0ò$Gõò&ð àˆhð ð �Nð ð �-ð	 ð
 Ð%ð ð Ð ?ð ð �Nð ð �ð ð �
ð ð ˆyð ð �Oð ð  Ð.ð! ð" �,ð# ð$ Ð*ð% ð& �ð' ð* �ð+ ð, �>ð- ð. �
ð/ ð2 Ð&Ø�
ØÐ'àÐ(Øˆ}ñ= Ò r   