+
    9i0                    f   R 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 ^ R	IHtHtHtHtHt ^ R
IHt ^RIHtHt ^RIHtHt ^RI H!t!H"t"H#t#H$t$H%t%H&t&H't'H(t( ^RI)H*t* ^RI+H,t, ^RI-H.t.H/t/H0t0H1t1 ^RI2H3t3 ]'       d   ^ RI4H5t5H6t6 ^ RI7H8t8 ^ RIH9t9 ]1t:]! ^R7      Pw                  4       t<Rt=Rt>Rt?R0t@R R ltAR R ltBR R ltCR  R! ltDR" R# ltER$ R% ltF]R& R' l4       tG]R( R) l4       tHR* R+ ltI]! R,R-7      R. R/ l4       tJ]R0 R1 l4       tK]R2 R3 l4       tLR4# )5z%High-level conda plugin registration.)annotations)	timedelta)cache)TYPE_CHECKING)context)add_parser_prefixadd_parser_verbose)PrimitiveParameter)NULL)CondaPreCommandCondaRequestHeaderCondaSettingCondaSubcommandhookimpl)Console)APP_NAMEAPP_VERSION)CIget_channels)noop_printerrender_acceptrender_cleanrender_inforender_interactiverender_listrender_rejectrender_view)CondaToSMissingError)get_local_metadata)ENV_TOS_ROOTSITE_TOS_ROOTSYSTEM_TOS_ROOTUSER_TOS_ROOT)ENDPOINT)ArgumentParser	Namespace)Iterator)Callable)hours;=zAnaconda-ToS-Acceptzrepo.anaconda.comc                    V ^8  d   QhRRRR/#    parserr$   returnNone )formats   "9lib/python3.14/site-packages/conda_anaconda_tos/plugin.py__annotate__r4   B   s       D     c                z    V P                  R 4      pVP                  RRRRR7       VP                  RRRR7       R	# )
zChannel Customizationz-cz	--channelappendz3Additional channels to search for Terms of Service.actionhelpz--override-channels
store_truez?Do not search default or .condarc channels. Requires --channel.N)add_argument_groupadd_argument)r.   channel_groups   & r3   _add_channelr?   B   sP    --.EFMB	   N  r5   c                    V ^8  d   QhRRRR/# r,   r1   )r2   s   "r3   r4   r4   Q   s     3 3. 3T 3r5   c           	         V P                  R 4      pVP                  4       pR\        R3R\        R3R\        R3R\
        R33 F  w  r4pVP                  VR	R
VVR7       K  	  VP                  RRRR7       V P                  \        R7       R# )zLocal Metadata Storage Locationz--sitezSystem-wide storage location.z--systemz$Conda installation storage location.z--userzUser storage location.z--envz#Conda environment storage location.tos_rootstore_constdestr9   constr:   z
--tos-rootstorezCustom storage location.r8   rB   N)	r<   add_mutually_exclusive_groupr    r!   r"   r   r=   set_defaultsDEFAULT_TOS_ROOT)r.   location_grouplocation_mutexflagvaluetexts   &     r3   _add_locationrQ   Q   s    ../PQN#@@BN	="AB	_&LM	=":;	, EF	T 	##  	$ 	
 '   
 !12r5   c                    V ^8  d   QhRRRR/# r,   r1   )r2   s   "r3   r4   r4   i   s     = =~ =$ =r5   c                    V P                  R 4      pVP                  4       pVP                  RR\        RR7       VP                  RRR^ RR	7       V P	                  \
        R
7       R# )zCache Controlz--cache-timeoutrG   zACache timeout (in seconds) to check for Terms of Service updates.)r9   typer:   z--ignore-cachecache_timeoutrC   z?Ignore the cache and always check for Terms of Service updates.rD   )rU   N)r<   rI   r=   intrJ   DEFAULT_CACHE_TIMEOUT)r.   cache_groupcache_mutexs   &  r3   
_add_cacherZ   i   sw    ++O<K::<KP	   N   &;<r5   c                    V ^8  d   QhRRRR/# r,   r1   )r2   s   "r3   r4   r4   |   s      n  r5   c                8    V P                  R R\        RR7       R# )z--jsonr;   zEReport all output as json. Suitable for using conda programmatically.)r9   defaultr:   N)r=   r
   )r.   s   &r3   	_add_jsonr^   |   s!    
T	  r5   c                    V ^8  d   QhRRRR/# r,   r1   )r2   s   "r3   r4   r4      s     r r^ r rr5   c           	     v   V P                  RRR\         R\         2R\         R2R7       \        V 4       \	        V 4       \        V 4       \        V 4       \        V 4       V P                  \        R7       V P                  R	R
RRR7      pVP                  RRR7      p\        V4       \	        V4       \        V4       \        V4       \        V4       VP                  RRR7      p\        V4       \	        V4       \        V4       \        V4       \        V4       VP                  RRR7      p\        V4       \	        V4       \        V4       \        V4       \        V4       VP                  RRR7      p\        V4       \	        V4       \        V4       \        V4       \        V4       \        V4       VP                  RRR7      p\        V4       VP                  RRR7      pVP                  RRRR7       VP                  RRR R7       VP                  R!RR"R7       \        V4       R## )$z.Configure the parser for the `tos` subcommand.z-Vz	--versionversion z	Show the z version number and exit.)r9   ra   r:   rH   
subcommandz(The following subcommands are available.cmdF)titledescriptionrE   requiredacceptznAccept the Terms of Service for all active channels (default, .condarc, and/or those specified via --channel).)r:   rejectznReject the Terms of Service for all active channels (default, .condarc, and/or those specified via --channel).viewzlView the Terms of Service for all active channels (default, .condarc, and/or those specified via --channel).interactivezInteractively accept/reject/view Terms of Service for all active channels (default, .condarc, and/or those specified via --channel).infozMDisplay information about the plugin (e.g., search path and cache directory).cleanzClean the cache directories.z--cacher;   zRemove all cache files.r8   z--tosz"Remove all acceptances/rejections.z--allz"Invoke both `--cache` and `--tos`.N)r=   r   r   r?   r   rZ   r^   r   rJ   rK   add_subparsers
add_parserrQ   )r.   
subparsersaccept_parserreject_parserview_parserinteractive_parserinfo_parserclean_parsers   &       r3   configure_parserrw      s{    *Ak]+
";<   fvfv
!12 &&>	 ' J ))I * M m$- }m ))I * M m$- }m ''I ( K k"+{k $..I /  #$()$%!" !)* ''7 ( K k ((+ ) L &  
 1  
 1  
 lr5   c                    V ^8  d   QhRRRR/# )r-   argsr%   r/   rV   r1   )r2   s   "r3   r4   r4      s     7 7) 7 7r5   c                    ^ RI Hp V! \        P                  4      P	                  4        \        4       p/ pV P                  R8X  d	   \        pEM)V P                  R8X  d	   \        pEMV P                  R8X  d   \        pMV P                  R8X  dK   \         p\        P"                  P$                  VR	&   \        P&                  VR
&   \        P(                  VR&   MV P                  R8X  d   \+        \        P,                  VR7      # V P                  R8X  dH   \/        V P0                  V P2                  V P4                  V P6                  \        P,                  VR7      # \8        p\        P(                  VR&   V! \        P:                  RV P6                  RV P<                  R\        P,                  RV/VB #   \
         dF    ^ RIHp ^ RIH	p T! \        P                  4      P                  4       ;p'       g
   T! T4      Rh ELi ; i)zExecute the `tos` subcommand.)
PrefixData)Path)EnvironmentLocationNotFoundNrh   ri   rj   rk   auto_accept_tos
always_yesverboserl   )jsonconsolerm   )r   tosallrB   r   r   rB   rU   r   r   )conda.core.prefix_datar{   r   target_prefixassert_existsAttributeErrorpathlibr|   conda.exceptionsr}   existsr   rd   r   r   r   r   pluginsr~   r   r   r   r   r   r   r   r   rB   r   channelsrU   )ry   r{   r|   r}   prefixr   kwargsr9   s   &       r3   executer      s   @57(()779 iGFxx8	X		V		]	"#$+OO$C$C !&11|#OOy	V	g>>	W	**]]
 	
 #OOy			 (( \\	
   S  @ @w445<<>>>-f54? ?@s   *F: :AH
=	H
	H
c                   V ^8  d   QhRR/# )r-   r/   zIterator[CondaSubcommand]r1   )r2   s   "r3   r4   r4   6  s      4 r5   c               #  @   "   \        R\        R\        R7      x  R# 5i)z,Return a list of subcommands for the plugin.r   a  A subcommand for viewing, accepting, rejecting, and otherwise interacting with a channel's Terms of Service (ToS). This plugin periodically checks for updated Terms of Service for the active/selected channels. Channels with a Terms of Service will need to be accepted or rejected prior to use. Conda will only allow package installation from channels without a Terms of Service or with an accepted Terms of Service. Attempting to use a channel with a rejected Terms of Service will result in an error.)namer9   summaryrw   N)r   r   rw   r1   r5   r3   conda_subcommandsr   5  s$       * s   c                   V ^8  d   QhRR/# )r-   r/   zIterator[CondaSetting]r1   )r2   s   "r3   r4   r4   J  s      . r5   c            	   #  L   "   \        RR\        R\        R7      R7      x  R# 5i)z)Return a list of settings for the plugin.r~   z=Automatically accept Terms of Service (ToS) for all channels.F)element_type)r   rf   	parameterN)r   r	   boolr1   r5   r3   conda_settingsr   I  s$      S$U> s   "$c                    V ^8  d   QhRRRR/# )r-   _commandstrr/   r0   r1   )r2   s   "r3   r4   r4   S  s     
 
S 
T 
r5   c                    \        \        P                  R \        R\        R\        P
                  R\        P                  R\        P                  P                  R\        P                  R\        /  R# )rB   rU   r   r   r~   r   json_printerN)r   r   r   rK   rW   r   r   r   r~   r   r   )r   s   &r3   _pre_command_check_tosr   S  so    				!	 ,	 \\		
 	  77	 %%	 "	r5   T)tryfirstc                   V ^8  d   QhRR/# )r-   r/   zIterator[CondaPreCommand]r1   )r2   s   "r3   r4   r4   a  s      5 r5   c               #  :   "   \        R\        0 RmR7      x  R# 5i)z-Return a list of pre-commands for the plugin.	check_tos)r   r9   run_forN>	   createremoverenamesearchupdateinstall
env_create
env_remove
env_update)r   r   r1   r5   r3   conda_pre_commandsr   `  s      %

 s   c                   V ^8  d   QhRR/# )r-   r/   r   r1   )r2   s   "r3   r4   r4   u  s     ( (C (r5   c                 b   . p \        \        P                  !   F  p \        V\        .R 7      pT P                  \        P                  VP                  \        \        VP                  P                  P                  4       4      4      VP                  P                  '       d   RMR\        \        VP                  P                  P                  4       4      4      34      4       K  	  \"        '       d   V P                  R4       \$        P                  V 4      #   \          d     EK  i ; i))extend_search_pathacceptedrejectedzCI=true)r   r   r   r   rK   r7   KEY_SEPARATORjoinbase_urlr   rV   metadatara   	timestamptos_acceptedacceptance_timestampr   r   FIELD_SEPARATOR)valueschannel
local_pairs      r3   _get_tos_acceptance_headerr   t  s    F!1!12	+$4#5J MM""((C
 3 3 ; ; E E GHI&0&9&9&F&F&F
JC
 3 3 H H R R TUV		 3& 
ri '' $ 		s   DD.-D.c               $    V ^8  d   QhRRRRRR/# )r-   hostr   pathr/   zIterator[CondaRequestHeader]r1   )r2   s   "r3   r4   r4     s"     
 
 
3 
3O 
r5   c              #     "   V \         9   d>   VP                  R\         24      '       g   \        \        \        4       R7      x  R# R# R# 5i)z0Return a list of request headers for the plugin./)r   rO   N)HOSTSendswithr#   r   TOS_ACCEPT_HEADERr   )r   r   s   &&r3   conda_request_headersr     sC     
 	(n-- ",.
 	
 . 	s
   )A!AN)M__doc__
__future__r   datetimer   	functoolsr   typingr   conda.base.contextr   conda.cli.helpersr   r   conda.common.configurationr	   conda.common.constantsr
   conda.pluginsr   r   r   r   r   rich.consoler    r   r   apir   r   r   r   r   r   r   r   r   r   r   
exceptionsr   localr   r   r   r    r!   r"   remoter#   argparser$   r%   collections.abcr&   r'   rK   total_secondsrW   r   r   r   r   r?   rQ   rZ   r^   rw   r   r   r   r   r   r   r   r1   r5   r3   <module>r      s0   , "     & C 9 '  ! # !	 	 	 - % M M 2( !  "*88:    *  
30=&rj7t 
 
& 
 

 
4 & ( (4 

 

r5   