
    <h
                        S SK Jr  SSKJrJr  SSKJrJr  SSKJ	r	  S SK
rS SKr\R                  (       a
  SSKJrJrJr  SS	 jrSS
 jrSS jrSSS jjrg)    )annotations   )mesonlibmparser   )InterpreterExceptionInvalidArguments)
UserOptionN)TYPE_varTYPE_kwargs
SubProjectc                   [        U [        R                  5      (       a.  [        U R                  [        5      (       d   eU R                  /$ [        U [
        R                  R                  5      (       d  U /$ / nU  Hv  n[        U[        5      (       a  [        U5      nX-   nM)  [        U[        R                  5      (       a  UR                  UR                  5        Me  UR                  U5        Mx     U$ N)
isinstancer   
StringNodevaluestrcollectionsabcSequencelistflattenappend)argsresultarests       ڃ/mnt/mint/home/seanl/mnt/public/Repos/ladybird/Build/vcpkg/downloads/tools/meson-1.9.0-d1fcc2/mesonbuild/interpreterbase/helpers.pyr   r      s    $**++$**c****

|dKOO4455v!#Fa1:D]F7--..MM!''"MM!  M    c           	        ^ SU4S jjmU  Vs/ s H  nT" U5      PM     snUR                  5        VVs0 s H  u  p4UT" U5      _M     snn4$ s  snf s  snnf )Nc                Z  > [        U [        5      (       a  U  Vs/ s H  nT" U5      PM     sn$ [        U [        5      (       a,  U R                  5        VVs0 s H  u  p#UT" U5      _M     snn$ [        U [        R
                  5      (       a  U R                  5       $ U $ s  snf s  snnf r   )r   r   dictitemsr   SecondLevelHolderget_default_object)argxkvresolvers       r   r*   .resolve_second_level_holders.<locals>.resolver#   s    c4  ),-AHQK--c4  /2yy{;{tqAx{N{;;c85566))++
 .;s   B"B')r&   
'TYPE_var'returnr,   )r#   )r   kwargsr'   r(   r)   r*   s        @r   resolve_second_level_holdersr/   "   sM     "&&AHQK&FLLN(SNDAHQKN(SSS&(Ss
   AAc                n    [        U [        R                  5      (       d  [        S5      eU R                  $ )NzInvalid kwargs format.)r   r   IdNoder   r   )keys    r   default_resolve_keyr3   -   s)    c7>>**"#;<<99r   c                   [        U [        5      (       a  U(       a  SU  S3$ U $ [        U [        5      (       a  U (       a  S$ S$ [        U [        5      (       a  [        U 5      $ [        U [        5      (       a/  SSR                  U  Vs/ s H  n[        X1S5      PM     sn5      -  $ [        U [        5      (       a\  U R                  5        VVs/ s H+  u  pESR                  [        XAS5      [        XQS5      5      PM-     nnnSSR                  U5      -  $ [        U [        5      (       a3  S	S
KJn  UR                  SSU5        [        U R                  5       U5      $ [        S5      es  snf s  snnf )N'truefalsez[%s]z, Tz{} : {}z{%s}r   )
FeatureNewzUser option in string formatz1.3.0zSValue other than strings, integers, bools, options, dictionaries and lists thereof.)r   r   boolintr   joinstringifyUserArgumentsr"   r#   formatr
   
decoratorsr8   
single_useprintable_valuer	   )r   
subprojectquoter'   r(   r)   lr8   s           r   r<   r<   2   sO   $#4&{--	D$		v*7*	D#		4y	D$				X\"]X\ST#9!#NX\"]^^^	D$		W[WaWaWceWctq 4QDI4QDIKWc 	
 e		!$$	D*	%	%*<gzR%d&:&:&<jII
p
qq #^es   
E-
2E2)r   z'T.Union['TYPE_var', T.List['TYPE_var']]r-   T.List['TYPE_var'])r   rD   r.   z'TYPE_kwargs'r-   z*T.Tuple[T.List['TYPE_var'], 'TYPE_kwargs'])r2   zmparser.BaseNoder-   r   )F)r   r   rA   r   rB   r9   r-   r   )
__future__r    r   r   
exceptionsr   r	   optionsr
   collections.abcr   typingTTYPE_CHECKINGbaseobjectsr   r   r   r   r/   r3   r<    r   r   <module>rO      s>    #   >    ??>>"	T
rr   