+
     Gi	  c                   s    ^ RI t ^ RIt^ RIt^ RIHt ^ RIHt ^ RIH	t	 ^ RI
HtHt ]P                  P                  4       t ! R R4      tR# )    N)	functions)commands)ConfigParserErrorc                   sZ   a  ] tR t^t o RtR tR tR tR tR t	R t
R tR	 tR
 tRtV tR# )	Variablesz6
Storage and processing of variables used in profiles
c                st    \        4       V n        / V n        / V n        \        P
                  ! 4       V n        R # N)r   _cmd
_lookup_re_lookup_envr   Z
Repository
_functionsself   &=/usr/lib/python3.14/site-packages/tuned/profiles/variables.py__init__ZVariables.__init__   s*    j$)$/$((*$/    c                sB    VP                  V4      ^ 8X  d   V# W!,           # )r    )Zfind)r   sZprefixs   &&&r   _add_env_prefixZVariables._add_env_prefix   s    VVF^q
8	r   c                s0    \         P                  ! R V4      # )z\w+$)reZmatch)r   variable   &&r   
_check_varZVariables._check_var   s    	'(	##r   c                sl   Vf   R # \        V4      pV P                  V4      '       g   \        P                  RV,          4       R # V P	                  V4      pW@P
                  R\        P                  ! V4      ,           R,           &   W@P                  V P                  V\        P                  4      &   R # )Nz6variable definition '%s' contains unallowed charactersz
(?<!\\)\${Z})strr   logerrorexpandr   r   Zescaper	   r   constsZ
ENV_PREFIX)r   r   valuer   Zvs   &&&  r   add_variableZVariables.add_variable   s    
]		(m!		"	"99EPQ	
kk%! :;//-"))A,.56AB4''6+<+<=>r   c                s   \         P                  P                  V4      '       g   \        P	                  R V,          4       R#  \        RRRRR7      p\        Vn        \        V4      ;_uu_ 4       pVP                  R\        P                  ,           R,           VP                  4       ,           V4       RRR4       TP                  4        F=  pTP                  T4       F%  pT P!                  YRP#                  YERR
7      4       K'  	  K?  	  R#   + '       g   i     Lc; i  \         d!    \        P	                  R	T,          4        R# i ; i)z#unable to find variables_file: '%s'NZ=Z#TF)Z
delimitersZinline_comment_prefixesZallow_no_valueZstrictZ[z]
z"error parsing variables_file: '%s')Zraw)ospathZexistsr   r   r   r   ZoptionxformZopenZread_stringr   ZMAGIC_HEADER_NAMEZreadr   ZsectionsZoptionsr   get)r   ZfilenameZconfigZfr   Zos   &&    r   add_from_fileZVariables.add_from_file+   s    		!	!992X=>	
SCY]fkl66X!
sV555=H(S 	
 ??aNN1qaAd34   		 
991H<=	
s1   -D$ 2AD6D$ D!	D$ !D$ $'EEc                s    V Fa  p\        V4      R 8X  d7   V P                  \        P                  P	                  W,          4      4       KI  V P                  W!V,          4       Kc  	  R# )ZincludeN)r   r!   r   r   Znormpathr   )r   ZcfgZitem   && r   add_from_cfgZVariables.add_from_cfg;   sI    d	$i9rww''	23dI&	 r   c                sz    \         P                  ! R RV P                  P                  V P                  V4      4      # )z\\(\${\w+})z\1)r   Zsubr   Zmultiple_re_replacer   )r   r   r   r   expand_staticZVariables.expand_staticC   s+    	tyy'D'DT__V['\	]]r   c                sx    Vf   R # V P                  \        V4      4      pV P                  P                  V4      # r   )r$   r   r
   r   )r   r   r   r"   r   r   ZVariables.expandF   s3    
]

U$!				""r   c                s    V P                   # r   )r	   r   r   r   get_envZVariables.get_envN   s    			r   )r   r
   r	   r   N)Z__name__Z
__module__Z__qualname__Z__firstlineno__Z__doc__r   r   r   r   r!   r#   r$   r   r%   Z__static_attributes__Z__classdictcell__)Z__classdict__s   @r   r   r      s>     +
$C5 '^# r   r   )r   r   Z
tuned.logsZtunedZtuned.constsr   Ztuned.profilesr   Ztuned.utils.commandsr   Ztuned.utils.config_parserr   r   Zlogsr    r   r   ) r   r   <module>r&      s6    	 	   $ ) 9jjnnD Dr   