
    Mi3                       S SK Jr  S SKrS SKrS SKrS SKrS SKr " S S\5      r	\R                  " SS5      " 5       rS \" \5      l        \R                  S 5       r\R                  S	 5       rS
 rS rS rS rS rS r\S 5       rS rS rS rS rS rS rS rS r S r!S r"S r#\R                  " SS5      r$\\$l%        \\$l&        \\$l'        \R                  " SS5      r(\\(l%        \\(l)        \\(l&        \\(l'        \R                  " S S!5      r*\\*l%        \\*l&        \\*l'        \R                  " S"S#5      r+\\+l%        \\+l)        \\+l&        \\+l'        \R                  " S$S5      r,\\,l%        \\,l&        \\,l'        \R                  " S%S&5      r-S'\-R\                  l/        \" \5      \-l%        \\-l&        \\-l'        \R                  " S(S)5      r0S'\0R\                  l/        \" \5      \0l%        \\0l&        \\0l'        \R                  " S*S+5      r1S'\1R\                  l/        \" \5      \1l%        \\1l)        \ \1l&        \!\1l'        \R                  " S,S-5      r2\"\2l%        \\2l&        \\2l'        \R                  " S.S/5      r3\#\3l%        \\3l&        \\3l'         " S0 S1\R                  " S1S25      5      r4 " S3 S4\R                  " S4S55      5      r5 " S6 S7\R                  " S7S85      5      r6 " S9 S:\R                  " S:S;5      5      r7 " S< S=\R                  " S=S>5      5      r8 " S? S@\R                  " S@S>5      5      r9SA r:SOSB jr;\;" \<5      r=\;" \>5      r?\;" \@5      rA\;" \BSCSD9rC\;" \BSESD9rDSF rESG rFSH rGSI rHSJ rISK rJSL rK\	4SSM.SN jjrLg)P    )annotationsNc                  2   ^  \ rS rSrSU 4S jjrS rSrU =r$ )ValidationError
   c                <   > [         TU ]  U5        Xl        X l        g N)super__init__	error_msgctx)selfr   r   	__class__s      ^/var/www/eduai.edurigo.com/storigo/production/storigo_env/lib/python3.13/site-packages/cfgv.pyr
   ValidationError.__init__   s    #"    c                    SnU nUR                   b.  USUR                    S3-  nUR                  nUR                   b  M.  USUR                   3-  nU$ )N
z==> z=====> r   r   )r   outerrs      r   __str__ValidationError.__str__   s^    gg!T#''"%%C--C gg! 	((
r   r   r   )__name__
__module____qualname____firstlineno__r
   r   __static_attributes____classcell__r   s   @r   r   r   
   s    
 r   r   Missing c                    g)NMISSINGr!   r   s    r   <lambda>r%      s    ir   c              #     #     S v   g ! [          a6  n[        R                  " 5       u    p#[        XS9R                  U5      S eS nAff = f7f)N)r   r   sysexc_infowith_traceback)msge_tbs       r   validate_contextr/      sF     G G<<>1a)88<$FGs$   A	 A
A	1AA		Ac              #     #     S v   g ! [          a5  n[        R                  " 5       u    p#U " U5      R                  U5      S eS nAff = f7fr   r'   )tpr,   r-   r.   s       r   
reraise_asr2   '   sB     1 1<<>1e""2&D01s$   A	 A
A0AAAc                    g r   r!   r   dcts     r   	_dct_noopr6   0       r   c                    U R                   U;  a  g [        SU R                    35         U R                  XR                      5        S S S 5        g ! , (       d  f       g = f)NAt key: )keyr/   check_fnr4   s     r   _check_optionalr<   4   sB    xxs	HTXXJ/	0c((m$ 
1	0	0s   A
Ac                P    UR                  U R                  U R                  5        g r   )
setdefaultr:   defaultr4   s     r   _apply_default_optionalr@   ;   s    NN488T\\*r   c                z    UR                  U R                  [        5      U R                  :X  a  XR                  	 g g r   )getr:   r#   r?   r4   s     r   _remove_default_optionalrC   ?   s+    
wwtxx!T\\1M 2r   c                T    U R                   U;  a  [        SU R                    35      eg )NzMissing required key: )r:   r   r4   s     r   _require_keyrE   D   s*    xxs 6txxjABB r   c                0    [        X5        [        X5        g r   )rE   r<   r4   s     r   _check_requiredrG   I   s    Dr   c                   ^  U 4S jnU$ )Nc                2   > [        U TR                  5        g r   )validateschema)valr   s    r   r;   #_check_fn_recurse.<locals>.check_fnP   s    dkk"r   r!   )r   r;   s   ` r   _check_fn_recurserN   N   s    #Or   c                `    [        XR                     U R                  5      XR                  '   g r   )apply_defaultsr:   rK   r4   s     r   _apply_default_required_recurserQ   U   s    "3xx=$++>CMr   c                `    [        XR                     U R                  5      XR                  '   g r   )remove_defaultsr:   rK   r4   s     r    _remove_default_required_recurserT   Y   s    #CM4;;?CMr   c                P    U R                   U;  a  [        X5        [        X5        g r   )r:   r@   rQ   r4   s     r   _apply_default_optional_recurserV   ]   s    xxs*#D.r   c                R    U R                   U;   a  [        X5        [        X5        g g r   )r:   rT   rC   r4   s     r    _remove_default_optional_recurserX   c   s"    xx3(3 + r   c                   ^  U 4S jnU$ )Nc                  > UR                  U R                  [        5      U R                  :X  a	  T" X5        g U R                  U;   a  U R                  (       a  U R
                  U;   a  [        U R                  S5      (       a  U R                  R                  5       nOSU R                  < 3n[        SU R
                   SU R                   SU SU R
                   SXR
                     < 3
5      eg g g )Ndescribe_oppositezis not 	Expected z to be absent when  z, found z: )	rB   condition_keyr#   condition_valueensure_absentr:   hasattrr[   r   )r   r5   explanationinners      r   _check_conditional2_get_check_conditional.<locals>._check_conditionalj   s    774%%w/43G3GG$""c)""txx3t++-@AA"22DDF '(<(<'?@!DHH:%89K9K8LA-xzCM3DF  (7" *r   r!   )rc   rd   s   ` r   _get_check_conditionalrf   i   s     r   c                x    UR                  U R                  [        5      U R                  :X  a  [	        X5        g g r   )rB   r^   r#   r_   r@   r4   s     r   #_apply_default_conditional_optionalrh   |   s/    
wwt!!7+t/C/CC* Dr   c                x    UR                  U R                  [        5      U R                  :X  a  [	        X5        g g r   )rB   r^   r#   r_   rC   r4   s     r   $_remove_default_conditional_optionalrj      s/    
wwt!!7+t/C/CC + Dr   c                x    UR                  U R                  [        5      U R                  :X  a  [	        X5        g g r   )rB   r^   r#   r_   rQ   r4   s     r   "_apply_default_conditional_recurserl      s/    
wwt!!7+t/C/CC'2 Dr   c                x    UR                  U R                  [        5      U R                  :X  a  [	        X5        g g r   )rB   r^   r#   r_   rT   r4   s     r   #_remove_default_conditional_recursern      s/    
wwt!!7+t/C/CC(3 Dr   c                    [        [        U5      [        U R                  5      -
  5      nU(       aK  SR                  S U 5       5      nSR                  S U R                   5       5      n[	        SU SU 35      eg )N, c              3  8   #    U  H  n[        U5      v   M     g 7fr   str.0xs     r   	<genexpr>,_no_additional_keys_check.<locals>.<genexpr>   s     2EqCFFE   c              3  8   #    U  H  n[        U5      v   M     g 7fr   rr   rt   s     r   rw   rx      s     59a3q669ry   zAdditional keys found: z .  Only these keys are allowed: )sortedsetkeysjoinr   )r   r5   extraextra_skeys_ss        r   _no_additional_keys_checkr      st    3s8c$))n,-E))2E22549955%gY /,,285
 	
 r   c                    [        [        U5      [        U R                  5      -
  5      nU(       a  U R                  X R                  U5        g g r   )r{   r|   r}   callback)r   r5   r   s      r   _warn_additional_keys_checkr      s7    3s8c$))n,-EeYY, r   Required)r:   r;   RequiredRecurse)r:   rK   Optional)r:   r;   r?   OptionalRecurse)r:   rK   r?   OptionalNoDefaultConditional)r:   r;   r^   r_   r`   )FConditionalOptional)r:   r;   r?   r^   r_   r`   ConditionalRecurse)r:   rK   r^   r_   r`   NoAdditionalKeys)r}   WarnAdditionalKeys)r}   r   c                  >   ^  \ rS rSrSrU 4S jrS rS rS rSr	U =r
$ )Map   r!   c                $   > [         TU ]  XX#5      $ r   r	   __new__)clsobject_nameid_keyitemsr   s       r   r   Map.__new__   s    ws??r   c                   [        U[        5      (       d.  [        SU R                   S[	        U5      R
                   35      eU R                  c  SU R                   S3nOAUR                  U R                  [        5      nSU R                   SU R                   SU< S3n[        U5         U R                   H  nUR                  U5        M     S S S 5        g ! , (       d  f       g = f)NExpected a  map but got a At ()(=))
isinstancedictr   r   typer   r   rB   r#   r/   r   check)r   vcontextkey_v_sitems        r   r   	Map.check   s    !T""!d../7##$&  ;;D,,-R0GeeDKK1GD,,-Qt{{m1WKqIGg&



1 # '&&s   .%C
C*c                n    UR                  5       nU R                   H  nUR                  U5        M     U$ r   )copyr   apply_defaultr   r   retr   s       r   rP   Map.apply_defaults   s.    ffhJJDs# 
r   c                n    UR                  5       nU R                   H  nUR                  U5        M     U$ r   )r   r   remove_defaultr   s       r   rS   Map.remove_defaults   s.    ffhJJD$ 
r   r   r   r   r   	__slots__r   r   rP   rS   r   r   r   s   @r   r   r      s"    I@ r   r   )r   r   r   c                  *    \ rS rSrSrS rS rS rSrg)KeyValueMapi  r!   c                   [        U[        5      (       d.  [        SU R                   S[	        U5      R
                   35      e[        SU R                   S35         UR                  5        HY  u  p#[        SU 35         U R                  U5        S S S 5        [        SU 35         [        X0R                  5        S S S 5        M[     S S S 5        g ! , (       d  f       NG= f! , (       d  f       M  = f! , (       d  f       g = f)Nr   r   r   r   z	For key: r9   )r   r   r   r   r   r   r/   r   check_key_fnrJ   value_schemar   r   krL   s       r   r   KeyValueMap.check  s    !T""!d../7##$&  D$4$4#5R89'')%	!o6%%a( 7%n5S"3"34 65 $ :96655	 :9s<   $C7CC7)C%?C7
C"C7%
C4/C77
Dc           	         UR                  5        VVs0 s H  u  p#U[        X0R                  5      _M     snn$ s  snnf r   )r   rP   r   r   s       r   rP   KeyValueMap.apply_defaults  sA     '')
# ~c#4#455#
 	
 
   ":c           	         UR                  5        VVs0 s H  u  p#U[        X0R                  5      _M     snn$ s  snnf r   )r   rS   r   r   s       r   rS   KeyValueMap.remove_defaults   sA     '')
# s$5$566#
 	
 
r   N)	r   r   r   r   r   r   rP   rS   r   r!   r   r   r   r     s     I5

r   r   )r   r   r   c                  B   ^  \ rS rSrSrSU 4S jjrS rS rS rSr	U =r
$ )Arrayi'  r!   c                    > [         TU ]  XUS9$ )Nofallow_emptyr   )r   r   r   r   s      r   r   Array.__new__*  s    ws{CCr   c                    [        [        5      " U5        U R                  (       d*  U(       d#  [        SU R                  R
                   S35      eU H  n[        X R                  5        M     g )NzExpected at least 1 '')check_array	check_anyr   r   r   r   rJ   r   r   rL   s      r   r   Array.check-  sV    Iq!!'(;(;'<A>  CS''" r   c                X    U Vs/ s H  n[        X R                  5      PM     sn$ s  snf r   )rP   r   r   s      r   rP   Array.apply_defaults6  s#    89:sGG,:::   'c                X    U Vs/ s H  n[        X R                  5      PM     sn$ s  snf r   )rS   r   r   s      r   rS   Array.remove_defaults9  s#    9:;#WW-;;;r   )Tr   r   s   @r   r   r   '  s"    ID#;< <r   r   r   c                  $    \ rS rSrSrS rS rSrg)Noti=  r!   c                "    SU R                   < 3$ )Nzis rL   r$   s    r   r[   Not.describe_opposite@  s    TXXL!!r   c                <    U[         L=(       a    XR                  :g  $ r   )r#   rL   r   others     r   __eq__
Not.__eq__C  s    G#9(99r   N)r   r   r   r   r   r[   r   r   r!   r   r   r   r   =  s    I":r   r   r   c                  8   ^  \ rS rSrSrU 4S jrS rS rSrU =r	$ )NotIniG  r!   c                   > [         TU ]  XS9$ Nvaluesr   r   r   r   s     r   r   NotIn.__new__J      ws22r   c                "    SU R                   < 3$ )Nz
is any of r   r$   s    r   r[   NotIn.describe_oppositeM  s    DKK?++r   c                <    U[         L=(       a    XR                  ;  $ r   r#   r   r   s     r   r   NotIn.__eq__P  s    G#@[[(@@r   
r   r   r   r   r   r   r[   r   r   r   r   s   @r   r   r   G  s    I3,A Ar   r   r   c                  8   ^  \ rS rSrSrU 4S jrS rS rSrU =r	$ )IniT  r!   c                   > [         TU ]  XS9$ r   r   r   s     r   r   
In.__new__W  r   r   c                "    SU R                   < 3$ )Nzis not any of r   r$   s    r   r[   In.describe_oppositeZ  s    //r   c                <    U[         L=(       a    XR                  ;   $ r   r   r   s     r   r   	In.__eq__]  s    G#<(<<r   r   r   s   @r   r   r   T  s    I30= =r   r   c                    g r   r!   )r-   s    r   r   r   a  r7   r   c                   ^ ^ U U4S jnU$ )Nc                   > [        U T5      (       d9  T=(       d    TR                  n[        SU S[        U 5      R                   35      eg )Nr\   z got )r   r   r   r   )r   
typename_sr1   typenames     r   check_type_fn!check_type.<locals>.check_type_fnf  sK    !R  !0R[[J!J<uT!W-=-=,>?  !r   r!   )r1   r   r   s   `` r   
check_typer   e  s     r   string)r   textc                   ^  U 4S jnU$ )Nc                x   > U T;  a3  SR                  S [        T5       5       5      n[        SU SU < 35      eg )Nrp   c              3  8   #    U  H  n[        U5      v   M     g 7fr   rr   rt   s     r   rw   8check_one_of.<locals>.check_one_of_fn.<locals>.<genexpr>y  s     "D3Ca3q663Cry   zExpected one of z
 but got: )r~   r{   r   )r   
possible_spossibles     r   check_one_of_fn%check_one_of.<locals>.check_one_of_fnw  sF    H"D6(3C"DDJ!":,j>  r   r!   )r  r  s   ` r   check_one_ofr	  v  s     r   c                     [         R                  " U 5        g ! [         R                   a    [        U < S35      ef = f)Nz is not a valid python regex)recompileerrorr   )r   s    r   check_regexr    s;    D


188 D%ABCCDs    $=c                   ^  U 4S jnU$ )Nc                
  > [        U [        [        45      (       d"  [        S[	        U 5      R
                  < 35      e[        U 5       H$  u  p[        SU 35         T" U5        S S S 5        M&     g ! , (       d  f       M8  = f)NzExpected array but got z	At index )r   listtupler   r   r   	enumerater/   )r   irL   inner_checks      r   check_array_fn#check_array.<locals>.check_array_fn  sm    !dE]++!)$q'*:*:)=>   lFA!IaS/2C  32 #22s   	A33
B	r!   )r  r  s   ` r   r   r     s    ! r   c                    ^  U 4S jnU$ )Nc                (   > T H  nU" U 5        M     g r   r!   )r   fnfnss     r   r   check_and.<locals>.check  s    BqE r   r!   )r  r   s   ` r   	check_andr    s     Lr   c                (    UR                  U 5        U $ r   )r   r   rK   s     r   rJ   rJ     s    
LLOHr   c                $    UR                  U 5      $ r   )rP   r  s     r   rP   rP     s      ##r   c                $    UR                  U 5      $ r   )rS   r  s     r   rS   rS     s    !!!$$r   )display_filenamec               n   U=(       d    U n[        U5         [        R                  R                  U 5      (       d  [	        U S35      e[        SU 35          [        U SS9 nUR                  5       nS S S 5         U" W5      n[        X5        [        X5      sS S S 5        sS S S 5        $ ! , (       d  f       N?= f! [         a  n[	        [        U5      5      eS nAff = f! [         a  n[	        [        U5      5      eS nAff = f! , (       d  f       O= f S S S 5        g ! , (       d  f       g = f)Nz is not a filezFile zutf-8)encoding)r2   ospathisfiler   r/   openreadUnicodeDecodeErrorrs   	ExceptionrJ   rP   )	filenamerK   load_strategyexc_tpr"  fcontentsr,   datas	            r   load_from_filenamer2    s     (38	F	ww~~h''!%5$6n"EFF&6%789.(W5 vvxH 6
.$X. T"!$/ :9	 
	 65% .%c!f--.
  .%c!f--. :99	 
		s   AD&D
B?$B.5B?>C%D	D&.
B<8B?;D<B??
C"	CC""D%
D/DDD
D	D&&
D4r   )M
__future__r   collections
contextlibos.pathr%  r  r(   
ValueErrorr   
namedtupler#   r   __repr__contextmanagerr/   r2   r6   r<   r@   rC   rE   rG   propertyrN   rQ   rT   rV   rX   rf   rh   rj   rl   rn   r   r   r   r   r   r   r   r;   r   r   r   r   r   __defaults__r   r   r   r   r   r   r   r   r   r   r   r   bool
check_boolbytescheck_bytesint	check_intrs   check_string
check_textr	  r  r   r  rJ   rP   rS   r2  r!   r   r   <module>rE     s8   "    	 
j   
 
 B
/
1/W  G G 1 1	%+
C

 
 
?@/,&+
,
3
4

- !!*.AB " # (():<MN' ,  ? !A !!*.LM 0 2 ((3 ( ,  ? !A **,  *  "+  #,   $$L $,    *?; % & !,,  ,4    (2?C  $G  !%I  " ++J  +3    '1/B  /  #E   $G  !))*<iH 2  !*  "+   ++.  7  #,   $-  !+
 
 (J
K D
;	

D<K""7,AB <,:+
 
 
1 :
AK""7K8 
A
=		k	2 
=	 
sO	#1f-
D

$% 	0 0r   