JFIF$        dd7 

Viewing File: /usr/lib/python3.9/site-packages/tuned/profiles/__pycache__/merger.cpython-39.opt-1.pyc

a

���h�@s8ddlmZddlmZddlmZGdd�de�ZdS)�N)�reduce)�Profilec@s(eZdZdZdd�Zdd�Zdd�ZdS)	�Mergerz0
	Tool for merging multiple profiles into one.
	cCsdS)N�)�selfrr�9/usr/lib/python3.9/site-packages/tuned/profiles/merger.py�__init__
szMerger.__init__cCst|j|t��}|S)z�
		Merge multiple configurations into one. If there are multiple units of the same type, option 'devices'
		is set for each unit with respect to eliminating any duplicate devices.
		)r�
_merge_twor)rZconfigsZ
merged_configrrr�merge
szMerger.mergec	CsL|jdur|j|_|j�|j�t|j���D�]\}}|jtjkr�|j	rT|j
��t|j
�
��t|j�
��@}|j
�|j�|jr�t|j�D]}||vr�|j
j|dd�q�q.|j	s�||jvr�||j|<q.|j|j|_|j|j|_|j|j|_|jdu�r|j|j|_|jdu�r(|j|j|_|jdu�rB|j|j|_|jdu�r\|j|j|_|jdu�rv|j|j|_|jdu�r�|j|j|_|jdu�r�|jD]}|j|j�|d��q�d|_|dk�r2|j|j�dd�du�r2|j|j�dd�}|j|j�|j�||j|jd|j|jd<q.|j|j�|j�q.|S)z�
		Merge two profiles. The configuration of units with matching names are updated with options
		from the newer profile. If the 'replace' options of the newer unit is 'True', all options from the
		older unit are dropped.
		NF)�last�script)�name�options�update�listZunits�items�type�constsZPLUGIN_VARIABLES_UNIT_NAME�replaceZ	variables�clear�set�keysZprepend�reversed�move_to_endZenabledZdevices�priorityZdevices_udev_regexZ
cpuinfo_regexZuname_regexZ
script_preZscript_postZdrop�pop�get)	rZ	profile_aZ	profile_bZ	unit_nameZunitZoverwritten_variables�variable�optionrrrrr	sP


$"zMerger._merge_twoN)�__name__�
__module__�__qualname__�__doc__rr
r	rrrrrsr)Ztuned.constsr�	functoolsrZtuned.profiles.profiler�objectrrrrr�<module>s
Back to Directory  nL+D550H?Mx ,D"v]qv;6*Zqn)ZP0!1 A "#a$2Qr D8 a Ri[f\mIykIw0cuFcRı?lO7к_f˓[C$殷WF<_W ԣsKcëIzyQy/_LKℂ;C",pFA:/]=H  ~,ls/9ć:[=/#f;)x{ٛEQ )~ =𘙲r*2~ a _V=' kumFD}KYYC)({ *g&f`툪ry`=^cJ.I](*`wq1dđ#̩͑0;H]u搂@:~וKL Nsh}OIR*8:2 !lDJVo(3=M(zȰ+i*NAr6KnSl)!JJӁ* %݉?|D}d5:eP0R;{$X'xF@.ÊB {,WJuQɲRI;9QE琯62fT.DUJ;*cP A\ILNj!J۱+O\͔]ޒS߼Jȧc%ANolՎprULZԛerE2=XDXgVQeӓk yP7U*omQIs,K`)6\G3t?pgjrmۛجwluGtfh9uyP0D;Uڽ"OXlif$)&|ML0Zrm1[HXPlPR0'G=i2N+0e2]]9VTPO׮7h(F*癈'=QVZDF,d߬~TX G[`le69CR(!S2!P <0x<!1AQ "Raq02Br#SCTb ?Ζ"]mH5WR7k.ۛ!}Q~+yԏz|@T20S~Kek *zFf^2X*(@8r?CIuI|֓>^ExLgNUY+{.RѪ τV׸YTD I62'8Y27'\TP.6d&˦@Vqi|8-OΕ]ʔ U=TL8=;6c| !qfF3aů&~$l}'NWUs$Uk^SV:U# 6w++s&r+nڐ{@29 gL u"TÙM=6(^"7r}=6YݾlCuhquympǦ GjhsǜNlɻ}o7#S6aw4!OSrD57%|?x>L |/nD6?/8w#[)L7+6〼T ATg!%5MmZ/c-{1_Je"|^$'O&ޱմTrb$w)R$& N1EtdU3Uȉ1pM"N*(DNyd96.(jQ)X 5cQɎMyW?Q*!R>6=7)Xj5`J]e8%t!+'!1Q5 !1 AQaqё#2"0BRb?Gt^## .llQT $v,,m㵜5ubV =sY+@d{N! dnO<.-B;_wJt6;QJd.Qc%p{ 1,sNDdFHI0ГoXшe黅XۢF:)[FGXƹ/w_cMeD,ʡcc.WDtA$j@:) -# u c1<@ۗ9F)KJ-hpP]_x[qBlbpʖw q"LFGdƶ*s+ډ_Zc"?%t[IP 6J]#=ɺVvvCGsGh1 >)6|ey?Lӣm,4GWUi`]uJVoVDG< SB6ϏQ@ TiUlyOU0kfV~~}SZ@*WUUi##; s/[=!7}"WN]'(L! ~y5g9T̅JkbM' +s:S +B)v@Mj e Cf jE 0Y\QnzG1д~Wo{T9?`Rmyhsy3!HAD]mc1~2LSu7xT;j$`}4->L#vzŏILS ֭T{rjGKC;bpU=-`BsK.SFw4Mq]ZdHS0)tLg