+
    êh‹  ã                  óî   € R t ^ RIHt ^ RIt^ RIt^ RIHtHt ^ RI	H
t
Ht ^ RIHt ^RIHt ^RIHt ]! RR	R
7      t]! RR	R
7      tR tR R lt]3R R lltRR R llt]P0                  ! ]]R7      tR# )z2Timestamp comparison of files and groups of files.)ÚannotationsN)ÚCallableÚIterable)ÚLiteralÚTypeVar)Úsplat)Ú
zip_strict)ÚDistutilsFileErrorÚ	_SourcesTú3str | bytes | os.PathLike[str] | os.PathLike[bytes])ÚboundÚ	_TargetsTc                óØ   € \         P                  P                  V4      '       * ;'       g@    \         P                  P                  V 4      \         P                  P                  V4      8„  # ©N)ÚosÚpathÚexistsÚgetmtime©ÚsourceÚtargets   &&ÚA/usr/lib/python3/dist-packages/setuptools/_distutils/_modified.pyÚ_newerr      sJ   € Ü�w‰w�~‰~˜fÓ%Ô%÷ ð Ü
�‰×Ñ˜Ó ¤2§7¡7×#3Ñ#3°FÓ#;Ñ;ðó    c               ó$   € V ^8„  d   QhRRRRRR/# )é   r   r   r   ÚreturnÚbool© )Úformats   "r   Ú__annotate__r       s&   € ÷ "ñ "Ø?ð"à?ð"ð 
ñ"r   c                ó¼   € \         P                  P                  V 4      '       g.   \        R\         P                  P	                  V 4      : R24      h\        W4      # )zÇ
Is source modified more recently than target.

Returns True if 'source' is modified more recently than
'target' or if 'target' does not exist.

Raises DistutilsFileError if 'source' does not exist.
zfile z does not exist)r   r   r   r	   Úabspathr   r   s   &&r   Únewerr#      sD   € ô �7‰7�>‰>˜&×!Ò!Ü  5¬¯©¯©¸Ó)@Ñ(CÀ?Ð!SÓTÐTä�&Ó!Ð!r   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r   ÚsourceszIterable[_SourcesT]ÚtargetszIterable[_TargetsT]r#   z&Callable[[_SourcesT, _TargetsT], bool]r   z'tuple[list[_SourcesT], list[_TargetsT]]r   )r   s   "r   r    r    /   s0   € ÷ ;ñ ;Ø ð;à ð;ð 2ð;ð -ñ	;r   c           	     ó–   € \        \        V4      \        W4      4      p\        \	        \
        \        V!  4      4      ;'       g    . . 3# )a  
Filter filenames where sources are newer than targets.

Walk two filename iterables in parallel, testing if each source is newer
than its corresponding target.  Returns a pair of lists (sources,
targets) where source is newer than target, according to the semantics
of 'newer()'.
)Úfilterr   r   ÚtupleÚmapÚlistÚzip)r%   r&   r#   Únewer_pairss   &&& r   Únewer_pairwiser.   /   s<   € ô œ˜u›¤z°'Ó'CÓD€KÜ””Tœ3 Ñ,Ó-Ó.×:Ð:°2°r°(Ð:r   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r   r%   z=Iterable[str | bytes | os.PathLike[str] | os.PathLike[bytes]]r   r   Úmissingz#Literal['error', 'ignore', 'newer']r   r   r   )r   s   "r   r    r    @   s0   € ÷ ñ ØJðà?ðð 1ðð 
ñ	r   c                óN  aaa€ V3R loSR8X  d   \         P                  P                  MRp\         P                  P                  S4      '       * ;'       gO    \        ;QJ d)    VV3R l\	        W04       4       F  '       g   K   R# 	  R# ! VV3R l\	        W04       4       4      # )a«  
Is target out-of-date with respect to any file in sources.

Return True if 'target' is out-of-date with respect to any file
listed in 'sources'. In other words, if 'target' exists and is newer
than every file in 'sources', return False; otherwise return True.
``missing`` controls how to handle a missing source file:

- error (default): allow the ``stat()`` call to fail.
- ignore: silently disregard any missing source files.
- newer: treat missing source files as "target out of date". This
  mode is handy in "dry-run" mode: it will pretend to carry out
  commands that wouldn't work because inputs are missing, but
  that doesn't matter because dry-run won't run the commands.
c                óf   <€ SR 8H  ;'       d%    \         P                  P                  V 4      '       * # ©r#   )r   r   r   )r   r0   s   &€r   Úmissing_as_newerÚ%newer_group.<locals>.missing_as_newerU   s&   ø€ Ø˜'Ñ!×@Ð@¬"¯'©'¯.©.¸Ó*@Ô&@Ð@r   ÚignoreNc              3  ó\   <"  € T F!  pS! V4      ;'       g    \        VS4      x € K#  	  R # 5ir   )r   )Ú.0r   r4   r   s   & €€r   Ú	<genexpr>Únewer_group.<locals>.<genexpr>Y   s/   øé € ð -á.ˆFñ 	˜Ó ×:Ð:¤F¨6°6Ó$:Ô:Û.ùs   ƒ,—,TF)r   r   r   Úanyr(   )r%   r   r0   Úignoredr4   s   &ff @r   Únewer_groupr=   @   s‚   ú€ õ*Að !(¨8Ô 3Œb�g‰g�nŠn¸€GÜ�w‰w�~‰~˜fÓ%Ô%÷ ð ¯«õ -ä˜WÔ.ó-¯¬ð ªð ¨õ -ä˜WÔ.ó-ó *ð r   r3   )Úerror)Ú__doc__Ú
__future__r   Ú	functoolsÚos.pathr   Úcollections.abcr   r   Útypingr   r   Újaraco.functoolsr   Úcompat.py39r   Úerrorsr	   r
   r   r   r#   r.   r=   ÚpartialÚnewer_pairwise_groupr   r   r   Ú<module>rJ      sp   ðÙ 8å "ã Û ß .ß #å "å #Ý &áØÐLô€	ñ ØÐLô€	ò
õ"ð* 5:÷;÷"ð> !×(Ò(¨¸{ÔKÒ r   