
    iu]              
          S SK r S SKrS SKrS SKrS SKrS SKJr  S SKJrJ	r	J
r
JrJr  S SKJrJrJrJrJr  S SKJrJrJr  S SKJrJrJr  S SKJrJr  S SKJr  S S	K J!r!  S S
K"J#r#  S SK$J%r%  S SK&J'r'  S SK(J)r)  S SK*J+r+J,r,  S SK-J.r.  S SK/J0r0J1r1  S SK2J3r3J4r4J5r5  S SK6J7r7  SSK8J8r8   " S S\!5      r9S\	\+   S\	\:   S\:S\:S\:4
S jr;g)    N)dedent)AnyListMutableSequenceOptionalTuple)	Container
DictConfig	OmegaConfflag_override	open_dict)ConfigAttributeErrorConfigKeyErrorOmegaConfBaseException)CachingConfigRepositoryConfigRepositoryIConfigRepository)DefaultsListcreate_defaults_list)ConfigSourceInfo)ConfigLoader)ConfigSearchPath)ResultDefault)
ObjectType)OverridesParser)Override	ValueType)
JobRuntime)ConfigCompositionExceptionMissingConfigException)ConfigLoadErrorConfigResultConfigSource)RunMode   )deprecation_warningc                      \ rS rSrSrS\SS4S jr\S\\	   S\
S	\SS4S
 j5       rS\\   S\S\SS4S jrS,S jr  S-S\\   S\\   S\
S	\S\S\4S jjrS\\   S\\	   S\SS4S jrS\\   S\\   S\\\	   \4   4S jr  S-S\\   S\\   S\
S	\S\S\4S jjrS\S\\   S\4S jrS\4S jr\S\\	   S\SS4S j5       rS\S\S\4S jr\S\S \\   S\4S! j5       rS"\S\\   4S# jr \!RD                  SS4S$\S%\\!   S\\   S\\\      S\\   4
S& jjr#S'\\   S\S\4S( jr$S\\%   4S) jr&S\\   S\\   S\
S\'4S* jr(S+r)g).ConfigLoaderImpl&   z
Configuration loader
config_search_pathreturnNc                 ,    Xl         [        US9U l        g )Nr*   )r*   r   
repository)selfr*   s     a/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/hydra/_internal/config_loader_impl.py__init__ConfigLoaderImpl.__init__+   s     #5*>PQ    	overridesrun_mode
from_shellc                    U  H  nUR                  5       (       d  M  U[        R                  :X  a0  UR                  5       (       a  [	        SUR
                   S35      eM^  U[        R                  :X  at  UR                  [        R                  :X  a=  SnU(       a  SU S3nOSU S3n[        SUR
                   SU S	35      n[	        U5      e[	        S
UR
                   S35      e e   g )Nz8Sweeping over Hydra's configuration is not supported : ''zvalue1,value2zkey=\'z\'zkey='z:                            Ambiguous value for argument 'z'
                            1. To use it as a list, use key=[value1,value2]
                            2. To use it as string, quote the value: zU
                            3. To sweep over it, add --multirun to your command linezSweep parameters 'z' requires --multirun)is_sweep_overrider$   MULTIRUNis_hydra_overrider   
input_lineRUN
value_typer   SIMPLE_CHOICE_SWEEPr   )r4   r5   r6   xvalsexample_overridemsgs          r0   validate_sweep_overrides_legal/ConfigLoaderImpl.validate_sweep_overrides_legal2   s
    A""$$w///**,,8!!"a1  -
 ,||y'D'DD.%18c/B,16tfA,$!;;<<<. IFFVEW XUX 9==80>ST  !5; r3   config_namerC   with_search_pathc                 D   ^ ^^ S[         4UU U4S jjn[        X" 5       S9e)Nr+   c                     > / n TR                   R                  5        H2  nUR                  S:w  d  M  U R                  S[	        U5       35        M4     SR                  U 5      nT(       a  TS-   SU 3-   $ T$ )Nschema	
z
Search path:)r.   get_sourcesproviderappendreprjoin)descssrclinesrC   r/   rG   s      r0   add_search_path?ConfigLoaderImpl._missing_config_error.<locals>.add_search_pathZ   sq    E224<<8+LL2d3i[!12 5 IIe$E--"UG<<
r3   )missing_cfg_filemessage)strr    )r/   rF   rC   rG   rU   s   ` `` r0   _missing_config_error&ConfigLoaderImpl._missing_config_errorW   s+    
	 
	 
	 %(/2C
 	
r3   c                 6   U R                  5        H  nUR                  S:X  d  M  UR                  5       (       a  M,  UR                  5       S:X  a$  UR                  S:X  a  SnO!SUR                   S3nOSUR                   S3nU R                  S US	S
9  M     g )Nmainpkg zdPrimary config module is empty.
Python requires resources to be in a module with an __init__.py filezPrimary config module 'zE' not found.
Check that it's correct and contains an __init__.py filezEPrimary config directory not found.
Check that the config directory 'z' exists and readableF)rF   rC   rG   )rM   rN   	availableschemepathrZ   )r/   sourcerC   s      r0   #ensure_main_config_source_available4ConfigLoaderImpl.ensure_main_config_source_availablej   s    &&(F&(''))}}%/!;;",!X   #:&++ G4 !4  228++>SU 
 ..$(cE / - )r3   validate_sweep_overridesc                      U R                  UUUUUS9$ ! [         a5  n[        5       R                  [        R
                  " 5       S   5      UeS nAff = f)N)rF   r4   r5   r6   rf      )_load_configuration_implr   r   with_tracebacksysexc_info)r/   rF   r4   r5   r6   rf   es          r0   load_configuration#ConfigLoaderImpl.load_configuration   se    		X00'#!%)A 1   & 	X,.==cllnQ>OPVWW	Xs    
A0AAparsed_overridesrepoc           	      P  ^ Ub5  UR                  US9nUc  [        R                  " 5       nO"UR                  nO[        R                  " 5       n[        R                  " U5      (       d$  [        SU S[        U5      R                   35      eS[        S[        4S jnS nU H"  nU" U5      (       d  M  UR                  5       n  O   [        R                  " US5      mUb  Sn	UmOS	n	SU4S
 jjn
Tc  g [        T[        5      (       d  U
" 5         T H!  n[        U[        5      (       a  M  U
" 5         M#     [        R                   " U R"                  5      nUR%                  5       R'                  S5      nUR(                  S:X  d   eT H  nUR+                  XS9  M     UR+                  SS5        UR-                  U5        UR/                  5        HN  nUR1                  5       (       a  M  [2        R4                  " [6        SUR(                   SUR8                   S3S9  MP     g )Nconfig_pathzprimary config 'z' must be a DictConfig, got vr+   c                 (    U R                  5       S:H  $ )Nhydra.searchpath)get_key_element)ru   s    r0   is_searchpath_overrideKConfigLoaderImpl._process_config_searchpath.<locals>.is_searchpath_override   s    $$&*<<<r3   rw   z hydra.searchpath in command-linezhydra.searchpath in mainc                      > [        ST  35      e)Nz1hydra.searchpath must be a list of strings. Got: )r   )
searchpaths   r0   _err9ConfigLoaderImpl._process_config_searchpath.<locals>._err   s    ,CJ<P r3   rJ   )rN   rb   zstructured://z	provider=z, path=z is not available.)categoryrX   r+   N)load_configr   createconfigis_dictr   type__name__r   boolvalueselect
isinstancer   rY   copydeepcopyr*   get_pathpoprN   rO   initialize_sourcesrM   r`   warningswarnUserWarningrb   )r/   rF   rp   rq   loadedprimary_configry   overrideru   rN   r}   new_csprJ   sprc   r|   s                  @r0   _process_config_searchpath+ConfigLoaderImpl._process_config_searchpath   s    "%%+%>F~!*!1!1!3!'&--/N  00,";- 0(1124 
	=h 	=4 	= !A%a((779 "
 %%n6HI
9H!J1H	
  *o66FAa%%  -- 7 78!!#''+(***BNNHN6 x1(&&(F##%%(#FOO#4GFKK= I& & )r3   c                     [         R                  " 5       nUR                  US9n[        U R                  5      nU R                  XU5        XE4$ )N)r4   )r   r   parse_overridesr   r.   r   )r/   rF   r4   parserrp   caching_repos         r0   (_parse_overrides_and_create_caching_repo9ConfigLoaderImpl._parse_overrides_and_create_caching_repo   sM     !'')!11I1F.t?''|T--r3   c           	         SSK JnJn  U R                  5         U R	                  X5      u  pU(       a  U R                  XUS9  [        U	UUSU[        R                  :H  S9n
U
R                  nU R                  U
R                  U	S9n[        R                  " US5        [        R                  " UR                   S5        [        R!                  X5        / nU H  nUR#                  5       (       a;  UR                   R$                  R                   R'                  UR(                  5        MS  UR                   R$                  R*                  R'                  UR(                  5        UR'                  U5        M     [-        UR                   5         UR                   R.                  R0                  R3                  U
R$                  R4                  5        UR                   R6                  R8                   H7  n[:        R<                  U   UR                   R6                  R>                  U'   M9     S S S 5        XlR                   R.                  l        URA                  5       UR                   R.                  l!        [:        RD                  " 5       UR                   R.                  l#        U	RI                  5        Vs/ s H0  n[K        URL                  URO                  5       URP                  S9PM2     snUR                   R.                  l)        S	UR                   R6                  ;  a2  [U        5       RW                  S	5      UR                   R6                  l,        [[        UUR                   R6                  R\                  R^                  R`                  UR                   R6                  R\                  R^                  Rb                  UR                   R6                  R\                  R^                  Rd                  S
9UR                   R6                  l/        XR                   R6                  l3        U$ ! , (       d  f       GN= fs  snf )Nr   )__version__version)r4   r5   r6   Trq   rF   overrides_listprepend_hydraskip_missing)defaultsrq   F)rb   rJ   rN   name)r4   kv_sepitem_sepexclude_keys)4hydrar   r   rd   r   rD   r   r$   r:   config_overrides"_compose_config_from_defaults_listr   r   
set_structset_readonlyr(   _apply_overrides_to_configr;   r4   rO   r<   taskr   runtimechoicesupdateknown_choicesjobenv_copyosenvironenv_setgetbaseversion_basegetcwdcwdrM   r   rb   ra   rN   config_sourcesr   getr   get_overrides_dirnamer   override_dirnamer   r   r   rF   )r/   rF   r4   r5   r6   rf   r   r   rp   r   defaults_listr   cfgapp_overridesr   keyr@   s                    r0   ri   )ConfigLoaderImpl._load_configuration_impl   s    	/002)-)V)V*
& $//** 0  -#+!W%5%55
 )9955"++, 6 
 	S$' 	syy%0 	334DJ(H))++		##))001D1DE		##((//0C0CD$$X. ) syy!II%%,,]-D-D-R-RSyy}}---/ZZ_		%%c* . "
 %0		!)0):		& "				 "--/,
/ !&&ajjQ/,
		(
 &!+!1!1&!9CIIMM)>#99==''88??YY]]))::CC-->>KK	*
		& %0		!
3 "!,
s   BP.87Q .
P=master_configsweep_overridesc                 F   [         R                  " UR                  R                  R                  5      n[	        U[
        5      (       d   eX2-   nU R                  UR                  R                  R                  U[        R                  S9n[         R                  " XS9  U$ )N)rF   r4   r5   )from_config	to_config)r   to_containerr   r4   r   listrn   r   rF   r$   r=   
copy_cache)r/   r   r   r4   sweep_configs        r0   load_sweep_config"ConfigLoaderImpl.load_sweep_config8  s     **=+>+>+H+H+N+NO	)T****/	..%++//;;[[ / 
 	Or3   c                     U R                   $ Nr-   r/   s    r0   get_search_path ConfigLoaderImpl.get_search_pathL  s    &&&r3   r   c                 ~   U  GH  nUR                   b&  [        SUR                   SUR                   S35      eUR                  nUR	                  5       n UR                  5       (       a  [        R                  " XSS9nUc  [        SUR                   S35      eUb$  XE:w  a  [        SUR                   SU S	U S
35      eUR                  S
5      n[        U5         US:X  a  X	 O![        R                  " XSU 5      nXsUS-   S  	 S S S 5        GM  UR                  5       (       a  [        R                  " XSS9 b  [        U[        [        45      (       a  [        R                  " XUSSS9  GMt  UR                  c   e[        [        SUR                   SUR                  SS   SUR                   SUR                   S3	5      5      eUR!                  5       (       a  [        R                  " XUSSS9  GM   [        R                  " XUSS9  GM     g ! , (       d  f       GM+  = f! ["        [$        4 a+  n[        SUR                   SUR                   35      UeS nAff = f! [&         aC  n[        SUR                   35      R)                  [*        R,                  " 5       S   5      UeS nAff = f)Nz	Override z7 looks like a config group override, but config group 'z' does not exist.F)throw_on_missingzCould not delete from config. 'z,Could not delete from config. The value of 'z' is z	 and not .r   r   r%   T)merge	force_addzK                        Could not append to config. An item is already at 'z4'.
                        Either remove + prefix: 'z@'
                        Or add a second + to add or override 'z': '+z'
                        r   zCould not override 'z!'.
To append to your config use +zError merging override rh   )packager   r<   key_or_groupr   	is_deleter   r   rfindr   is_addr   dictr   r   r   is_force_addr   r   r   rj   rk   rl   )	r4   r   r   r   r   
config_vallast_dotnodeexs	            r0   r   +ConfigLoaderImpl._apply_overrides_to_configO  s   !H+0 3 34 544<4I4I3J K  ''CNN$E4<%%''!*!1!1#U!SJ!)8=h>S>S=T U/ /  *u/B8!!)!6!6 7uZL I  %wa)   #yy~H"3#r> ##,#3#3CQx#ID $A%8 9 ( __&& ''5!+ED$<!@!@!((5PTU'22>>>8"%LLTLaLaKb c22:2E2Eab2I1J K??G?T?T>UUZ[c[n[nZo p!  **,,$$SuDDQ"!((5Ek "4 (8 1.A "8283H3H2I J??G?R?R>SU  """
 * <0-h.A.A-BC .!23<<sc   B	I/ +HI/AI/7BI/H1
H.	(I/.I/1I,&I''I,,I//
J<9>J77J<defaultc           	         UR                   nUc   eUR                  US9nUc   e[        R                  " UR                  5      (       d.  [        SU S[        UR                  5      R                   35      eUR                  (       Gdx  S n UR                  5       n[        R                  " US9nUR                  U5      nUGb<   SnSUR                  ;   a  [        [        SU SU S	35      5      e[        [        S
U SU S	35      SS9  S n	UR                   S L=(       a    UR                   R!                  S5      n
UR                  nUR"                  (       a3  [%        U[&        5      (       a  SU;   a  U
(       d  UR)                  S5      n	[        R*                  " UR                  U5      n[%        U[&        5      (       d   eU	b  [-        U5         Xl        S S S 5        Xl        [%        U[&        5      (       d   eU R3                  XAR4                  5      nUR"                  (       dV  US:w  aP  [%        UR                  [&        5      (       a1  [        R6                  " UR                  S5      b  [        SU S35      eU$ ! [         a     GNf = f! , (       d  f       N= f! [0         a  n[        SU S35      UeS nAff = f)Nrs   zConfig z" must be an OmegaConf config, got )filenamezGhttps://hydra.cc/docs/1.2/upgrades/1.0_to_1.1/automatic_schema_matchingr   z                            'an  ' is validated against ConfigStore schema with the same name.
                            This behavior is deprecated in Hydra 1.1 and will be removed in Hydra 1.2.
                            In addition, the automatically matched schema contains a defaults list.
                            This combination is no longer supported.
                            See z for migration instructions.z"
                                'z' is validated against ConfigStore schema with the same name.
                                This behavior is deprecated in Hydra 1.1 and will be removed in Hydra 1.2.
                                See    )
stacklevelzhydra/r   zError merging 'z' with schemazhydra/configrw   In 'zH': Overriding hydra.searchpath is only supported from the primary config)rt   r   r   	is_configr   
ValueErrorr   r   is_schema_sourceget_schema_sourcer#   _normalize_file_namer!   r   r   r&   
startswithprimaryr   r
   r   r   r   r   r   _embed_result_configr   r   )r/   r   rq   rt   retrJ   schema_sourcecnameurlr   hydra_config_groupr   mergedrm   ress                  r0   _load_single_config$ConfigLoaderImpl._load_single_config  s    ))&&&;7""3::..+ '$--.0 
 ###F $ 6 6 8$99;O&2259
 !4cC!V]]28"%)] +! "%%A!E	 	 ,"%""- /%%(E)E	!I (*	 !E++47 E#//::8D ' !ZZF&vz::#v- 2 &

7 3&__V]]FCF%fj9999(&v.+0L /!'J "&*5555''__=~-3::z22  -?@L,{m $+ + 
 
S # f /. . 4)+mDsC   5J DJ) JJ) 
JJ
J&"J) )
K3KKr   package_overridec                     U R                   S   nUb  UnUbW  US:w  aQ  [        R                  " 5       n[        R                  " X2U R                  SS9  [
        R
                  " U 5      n X0l        U $ )Nr   r_   Fr   )headerr   r   r   r   r   )r   r  r   r   s       r0   r   %ConfigLoaderImpl._embed_result_config  sd     **Y''&G7b=""$CS3::UC))C.CJ
r3   parent_namec                 >    U R                  U[        R                  S9$ )N)
group_nameresults_filter)get_group_optionsr   GROUP)r/   r  s     r0   list_groupsConfigLoaderImpl.list_groups  s%    %%":3C3C & 
 	
r3   r	  r
  c                 T    Uc  / nU R                  X45      u  pVUR                  X5      $ r   )r   r  )r/   r	  r
  rF   r4   _r   s          r0   r  "ConfigLoaderImpl.get_group_options  s7     IGG
 --jIIr3   r   c                   ^ [         R                  " 5       n[        USS5         U H.  nU R                  XBS9n UR	                  UR
                  5        M0     S S S 5        S[        S	S 4U4S
 jjmT" U5        U$ ! [         a[  n[        SUR                   S[        U5      R                   SU 35      R                  [        R                  " 5       S   5      eS nAff = f! , (       d  f       N= f)Nno_deepcopy_set_nodesT)r   rq   r   z': z  raised while composing config:
rh   r   r+   c                   > [        U [        5      (       a  U R                  5       (       d  U R                  5       (       a  g [	        U SS/S5         U R                  S5      (       a$  U R                  SS 5        U R                  SS 5        S S S 5        U R                  SS9 H  u  pT" U5        M     g g ! , (       d  f       N0= f)NreadonlystructFHYDRA_REMOVE_TOP_LEVEL_DEFAULTSr   )resolve)	r   r
   _is_missing_is_noner   	_get_flag	_set_flagr   items_ex)r   _keyr   strip_defaultss      r0   r  KConfigLoaderImpl._compose_config_from_defaults_list.<locals>.strip_defaults&  s    #z**??$$"3X(>F}}%FGG&GN
D1 G
 $'<<<#>KD"5) $? + GFs   ;B66
C)r   r   r   r  
merge_withr   r   r   rt   r   r   rj   rk   rl   r   )r/   r   rq   r   r   r   rm   r  s          @r0   r   3ConfigLoaderImpl._compose_config_from_defaults_list  s    
  3 7>#11'1M8NN6==1 $ ?
	* 
	* 
	* 	s
+ . 84w2233tAw7G7G6H I//0c3 %nS\\^A%6788 ?>s/   C#A;C#;
C ACC  C##
C1c                 6    U R                   R                  5       $ r   )r.   rM   r   s    r0   rM   ConfigLoaderImpl.get_sources6  s    **,,r3   c                 h    U R                  X5      u  pE[        UUUSU[        R                  :H  S9nU$ )NTr   )r   r   r$   r:   )r/   rF   r4   r5   rp   r   r   s          r0   compute_defaults_list&ConfigLoaderImpl.compute_defaults_list9  sI     *.)V)V*
& -#+!W%5%55
 r3   )r*   r.   r   )TT)*r   
__module____qualname____firstlineno____doc__r   r1   staticmethodr   r   r$   r   rD   r   rY   rZ   rd   r
   rn   r   r   r   r   ri   r   r   r   r   r   r"   r  r   r  r   CONFIGr  r   r#   rM   r   r&  __static_attributes__ r3   r0   r(   r(   &   s:   R,R 
R "!>"!"! "! 
	"! "!H
#C=
/2
FJ
	
&@  )-Xc]X 9X 	X
 X #'X 
X&Fc]F x.F &	F
 
FP.#C=.59#Y.	tH~66	7.  )-Mc]M 9M 	M
 M #'M 
M^':>s)	('!1 ' ?<d8n ?<: ?<RV ?< ?<B^$^,=^	^@ -5c]	 
s 
tCy 
 0:/@/@%))-JJ !,J c]	J
 DI&J 
cJ }%     
	 D-T,/ -c] 9 	
 
r3   r(   r4   r   r   r   r+   c                     / nU  H7  nUR                   U;  d  M  UR                  nUc   eUR                  U5        M9     UR                  5         [        R
                  " SX2R                  U5      S9nU$ )Nz[=])patternreplstring)r   r<   rO   sortresubrQ   )r4   r   r   r   rT   r   liner   s           r0   r   r   L  sm     E  4&&D###LL	  
JJL
&&VMM%4H
ICJr3   )<r   r   r5  rk   r   textwrapr   typingr   r   r   r   r   	omegaconfr	   r
   r   r   r   omegaconf.errorsr   r   r   !hydra._internal.config_repositoryr   r   r   hydra._internal.defaults_listr   r   
hydra.confr   hydra.core.config_loaderr   hydra.core.config_search_pathr   hydra.core.default_elementr   hydra.core.object_typer   +hydra.core.override_parser.overrides_parserr    hydra.core.override_parser.typesr   r   hydra.core.utilsr   hydra.errorsr   r    hydra.plugins.config_sourcer!   r"   r#   hydra.typesr$   r&   r(   rY   r   r/  r3   r0   <module>rI     s     	 	 
   > > P P  
 M ' 1 : 4 - G @ ' K S S  4c| cLH~-1#YBEORr3   