+
    9i                       R t ^ RIHt ^ RIHtHt ^ RIHt ^ RIHt ^ RI	H
t
 ^RIHtHt ^RIHtHtHt ^RIHtHtHtHt ]'       d   ^ R	It^ R
IHtHt ^ RIHt ^ RIHt R R ltR R ltRR	/R R llt RR	/R R llt!R	# )zNLow-level local (acceptance & rejection) Terms of Service metadata management.)annotations)datetimetimezone)TYPE_CHECKING)Channel)ValidationError)CondaToSMissingErrorCondaToSPermissionError)	LocalPairLocalToSMetadataRemoteToSMetadata)get_all_channel_pathsget_channel_pathsget_metadata_pathget_pathN)IterableIterator)Path)Anyc          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )   tos_rootstr | os.PathLike[str] | Pathchannelstr | Channelmetadataz$LocalToSMetadata | RemoteToSMetadatakwargsr   returnr
    )formats   "8lib/python3.14/site-packages/conda_anaconda_tos/local.py__annotate__r!      s:     #3 #3+#3#3 3#3
 #3 #3    c           
     <   \        V4      pVP                  '       g   \        R4      h\        V\        \
        34      '       g   \        R4      h\	        R
/ / VP                  4       CVCR\        P                  ! \        P                  R7      RVP                  /CB p\        WVP                  4      p VP                  P                  RRR7       VP!                  VP#                  4       4       \)        Y$R	7      #   \$         d   p\'        YA4      ThRp?ii ; i)zWrite the metadata to file.z`channel` must have a base URL.z;`metadata` must be a LocalToSMetadata or RemoteToSMetadata.acceptance_timestamp)tzbase_urlT)parentsexist_okNr   pathr   )r   r&   
ValueError
isinstancer   r   	TypeError
model_dumpr   nowr   utcr   versionparentmkdir
write_textmodel_dump_jsonPermissionErrorr	   r
   )r   r   r   r   r*   excs   &&&,  r    write_metadatar8      s
    gG:;;h!13D EFFUVV   
!!#

 #HLLHLL$A((
H X0@0@AD>$60023
 h22	  >%d4#=>s   7<C? ?D
DDc                    V ^8  d   QhRRRR/# )r   r*   r   r   zLocalPair | Noner   )r   s   "r    r!   r!   >   s     5 55 5:J 5r"   c                     \        \        P                  ! \        V 4      P	                  4       4      V R7      #   \
        \        3 d     R# \         d   p\        T 4      ThRp?ii ; i)zLoad the metadata from file.r)   N)	r
   r   model_validate_jsonr   	read_textFileNotFoundErrorr   r6   r	   )r*   r7   s   & r    read_metadatar>   >   sc    5%99(4.:R:R:TU
 	
 /   5%d+45s!   7: A)A)A)A$$A)extend_search_pathc               $    V ^8  d   QhRRRRRR/# )r   r   r   r?   .Iterable[str | os.PathLike[str] | Path] | Noner   r
   r   )r   s   "r    r!   r!   N   s)     & && G& 	&r"   c                   \        WR7       Uu. uF  p\        V4      ;p'       g   K  VNK  	  ppV'       g   \        RV  24      hVP                  4        \	        V4      R,          # u upi )z.Get the latest metadata for the given channel.r?   z'No Terms of Service metadata found for )r   r>   r   reversesorted)r   r?   r*   metadata_pairmetadata_pairss   &$   r    get_local_metadatarI   N   sx     &gUUD*400M0 	U   "%LWI#VWW  .!"%%s
   A)A)c                    V ^8  d   QhRRRR/# )r   r?   rA   r   z#Iterator[tuple[Channel, LocalPair]]r   )r   s   "r    r!   r!   f   s     2 2F2 )2r"   c              #  `  "   / p\        V R7       FX  p\        V4      ;p'       g   K  \        VP                  P                  4      pVP                  V. 4      P                  V4       KZ  	  VP                  4        F+  w  rEVP                  4        V\        V4      R,          3x  K-  	  R# 5i)zYield all metadata.rC   NrD   )
r   r>   r   r   r&   
setdefaultappenditemsrE   rF   )r?   grouped_metadatasr*   rG   r   rH   s   $     r    get_local_metadatasrP   f   s      9;%9KL)$//=//m44==>G(("5<<]K M $5#:#:#<  vn-b111 $=s   "B.BB.)"__doc__
__future__r   r   r   typingr   conda.models.channelr   pydanticr   
exceptionsr   r	   modelsr
   r   r   r*   r   r   r   r   oscollections.abcr   r   pathlibr   r   r8   r>   rI   rP   r   r"   r    <module>r[      sf    U " '   ( $ E B B W W2#3L5 & JN&02IM2 2r"   