From 46c5b40737de1cba354972f21b94d44ded99dce0 Mon Sep 17 00:00:00 2001 From: "Brian C. Lane" Date: Fri, 15 May 2015 17:30:02 -0700 Subject: [PATCH] Lorax v23.9 Documentation --- .buildinfo | 4 + .doctrees/environment.pickle | Bin 0 -> 1479216 bytes .doctrees/index.doctree | Bin 0 -> 4986 bytes .doctrees/intro.doctree | Bin 0 -> 9243 bytes .doctrees/livemedia-creator.doctree | Bin 0 -> 81551 bytes .doctrees/lorax.doctree | Bin 0 -> 2438 bytes .doctrees/modules.doctree | Bin 0 -> 2539 bytes .doctrees/product-images.doctree | Bin 0 -> 5977 bytes .doctrees/pylorax.doctree | Bin 0 -> 289710 bytes .doctrees/source/index.doctree | Bin 0 -> 4918 bytes _modules/index.html | 195 ++++ _modules/pylorax.html | 561 ++++++++++ _modules/pylorax/base.html | 252 +++++ _modules/pylorax/buildstamp.html | 246 +++++ _modules/pylorax/decorators.html | 218 ++++ _modules/pylorax/discinfo.html | 227 ++++ _modules/pylorax/dnfhelper.html | 295 ++++++ _modules/pylorax/executils.html | 427 ++++++++ _modules/pylorax/imgutils.html | 605 +++++++++++ _modules/pylorax/ltmpl.html | 902 ++++++++++++++++ _modules/pylorax/sysutils.html | 295 ++++++ _modules/pylorax/treebuilder.html | 527 ++++++++++ _modules/pylorax/treeinfo.html | 245 +++++ _sources/index.txt | 27 + _sources/intro.txt | 67 ++ _sources/livemedia-creator.txt | 500 +++++++++ _sources/lorax.txt | 6 + _sources/modules.txt | 7 + _sources/product-images.txt | 24 + _sources/pylorax.txt | 110 ++ _sources/source/index.txt | 22 + _static/ajax-loader.gif | Bin 0 -> 673 bytes _static/basic.css | 537 ++++++++++ _static/comment-bright.png | Bin 0 -> 3500 bytes _static/comment-close.png | Bin 0 -> 3578 bytes _static/comment.png | Bin 0 -> 3445 bytes _static/css/badge_only.css | 2 + _static/css/theme.css | 5 + _static/doctools.js | 238 +++++ _static/down-pressed.png | Bin 0 -> 368 bytes _static/down.png | Bin 0 -> 363 bytes _static/file.png | Bin 0 -> 392 bytes _static/fonts/fontawesome-webfont.eot | Bin 0 -> 38205 bytes _static/fonts/fontawesome-webfont.svg | 414 ++++++++ _static/fonts/fontawesome-webfont.ttf | Bin 0 -> 141564 bytes _static/fonts/fontawesome-webfont.woff | Bin 0 -> 44432 bytes _static/jquery.js | 2 + _static/js/theme.js | 47 + _static/minus.png | Bin 0 -> 199 bytes _static/plus.png | Bin 0 -> 199 bytes _static/pygments.css | 62 ++ _static/searchtools.js | 622 +++++++++++ _static/underscore.js | 31 + _static/up-pressed.png | Bin 0 -> 372 bytes _static/up.png | Bin 0 -> 363 bytes _static/websupport.js | 808 ++++++++++++++ genindex.html | 928 +++++++++++++++++ index.html | 214 ++++ intro.html | 259 +++++ livemedia-creator.html | 638 ++++++++++++ lorax.html | 212 ++++ modules.html | 219 ++++ objects.inv | Bin 0 -> 1412 bytes product-images.html | 228 ++++ py-modindex.html | 263 +++++ pylorax.html | 1332 ++++++++++++++++++++++++ search.html | 202 ++++ searchindex.js | 1 + source/index.html | 213 ++++ 69 files changed, 13239 insertions(+) create mode 100644 .buildinfo create mode 100644 .doctrees/environment.pickle create mode 100644 .doctrees/index.doctree create mode 100644 .doctrees/intro.doctree create mode 100644 .doctrees/livemedia-creator.doctree create mode 100644 .doctrees/lorax.doctree create mode 100644 .doctrees/modules.doctree create mode 100644 .doctrees/product-images.doctree create mode 100644 .doctrees/pylorax.doctree create mode 100644 .doctrees/source/index.doctree create mode 100644 _modules/index.html create mode 100644 _modules/pylorax.html create mode 100644 _modules/pylorax/base.html create mode 100644 _modules/pylorax/buildstamp.html create mode 100644 _modules/pylorax/decorators.html create mode 100644 _modules/pylorax/discinfo.html create mode 100644 _modules/pylorax/dnfhelper.html create mode 100644 _modules/pylorax/executils.html create mode 100644 _modules/pylorax/imgutils.html create mode 100644 _modules/pylorax/ltmpl.html create mode 100644 _modules/pylorax/sysutils.html create mode 100644 _modules/pylorax/treebuilder.html create mode 100644 _modules/pylorax/treeinfo.html create mode 100644 _sources/index.txt create mode 100644 _sources/intro.txt create mode 100644 _sources/livemedia-creator.txt create mode 100644 _sources/lorax.txt create mode 100644 _sources/modules.txt create mode 100644 _sources/product-images.txt create mode 100644 _sources/pylorax.txt create mode 100644 _sources/source/index.txt create mode 100644 _static/ajax-loader.gif create mode 100644 _static/basic.css create mode 100644 _static/comment-bright.png create mode 100644 _static/comment-close.png create mode 100644 _static/comment.png create mode 100644 _static/css/badge_only.css create mode 100644 _static/css/theme.css create mode 100644 _static/doctools.js create mode 100644 _static/down-pressed.png create mode 100644 _static/down.png create mode 100644 _static/file.png create mode 100644 _static/fonts/fontawesome-webfont.eot create mode 100644 _static/fonts/fontawesome-webfont.svg create mode 100644 _static/fonts/fontawesome-webfont.ttf create mode 100644 _static/fonts/fontawesome-webfont.woff create mode 100644 _static/jquery.js create mode 100644 _static/js/theme.js create mode 100644 _static/minus.png create mode 100644 _static/plus.png create mode 100644 _static/pygments.css create mode 100644 _static/searchtools.js create mode 100644 _static/underscore.js create mode 100644 _static/up-pressed.png create mode 100644 _static/up.png create mode 100644 _static/websupport.js create mode 100644 genindex.html create mode 100644 index.html create mode 100644 intro.html create mode 100644 livemedia-creator.html create mode 100644 lorax.html create mode 100644 modules.html create mode 100644 objects.inv create mode 100644 product-images.html create mode 100644 py-modindex.html create mode 100644 pylorax.html create mode 100644 search.html create mode 100644 searchindex.js create mode 100644 source/index.html diff --git a/.buildinfo b/.buildinfo new file mode 100644 index 00000000..53c96413 --- /dev/null +++ b/.buildinfo @@ -0,0 +1,4 @@ +# Sphinx build info version 1 +# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. +config: d776326856759e24083884fa308a1bc8 +tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/.doctrees/environment.pickle b/.doctrees/environment.pickle new file mode 100644 index 0000000000000000000000000000000000000000..004c3d119e555824bdf9e0bedf0854728ffd6be3 GIT binary patch literal 1479216 zcmeFaU2J5@l^&>)t-q4gl14M5kw!CfJF81fvdCopbho+S-E9~K7o&4A&j zeKO!N;0N#bou7!fH*b=xmTb%{L{yQP_ePvJapJ^@6X%>b@q2&y@BHtdKld5_JpGmN z@SxLwTx<6qbw-1Juic+Kd;0aar=4!=R`Tc%pDjLl_6N_NJgYwa+GNn&=}&t*C_3u2 z$MW!VoqntR_}ThrpMI`87&Y+e+|zG#JCEAEcB|7^X^z^B$zb$s{p(M^&>OU-T~tGf z7ltEzX--x;y~e&i0-(ugKtNv@9vi5yO`rZI9=At|>rTG`s5_nhBVaHX9Rq=J8#$)~b#ob2paMa$D7oYPY(}T*> z&pdnjg-K(dk3wgsy9Zx7_%$E4gKwjs-}TW6T|iwMu!ENlUIA7I7dgg`O4@p8@M#W@ z6kDKjaOL2tlN%VEpTVGnD^hGqUIVjr$L!z-=*D&Yzk&a^@c-S1&#cvh+i360GwlU7 zN?QpJ0ejnFhhC>$dYY0T*YQ9PZ~s@({#Rz&|IU5o@vPBrW$zDL4Ged7Tlqaj>7;VN za_Cr|MuD%+VDM|VIi)zyz`lX6BO8MU<`hA@zjxMlUzln4Yc_$iA=no4JJ;gOOSJVr zhql@n*?s));Qt~1_u?pn%G0M`5pk0Upo1@>)R*x8JpO+f|G$F&U&a3y9zLs9pMHMa z>F;+jH-61-4j< zIH3Gy`n{H~6`)-nHbDn2<$OG8^o9w`f4j)?p-=!& z6+PgAR-9$}PysCZTLGi+v=(azh_xf|emmF4vhuN~7fyt$-~#l};a0newHwL-CTp1E z#SX_p0l<>ViOHZ(6fwcIa+v3_3c4HyAwI2z`T^v(y#uYzxJjl=F#1+u2)szB{L)QS zx-FGv$nS-L$xItHuNNRK%@E$}hq96Azf;6HlqnGWJE35I@1WfslKlg{f1}ttFB6cu zDnj+<;HcjnG+H+r-7Ynpk{Q(Us_5*(Oq;b*Frk%K+x=F`aRFF)y-0>jXKV?|b1Ss= z26Wo}QF}c8R83w!Ym?qeX!kYD@6qH_H5yjEQz%oDCPIrVLiWvJ?~DT%mYG5`34{Rq zTARxK3B5@w#Q_Ve>HHRI0ywl27`Xkoty_i@7&w#()vLEq%@w>^wIEbT1!Q?zWtyxIk?dnPNpM~z9+*CD{F*XfDwRS_7|Jj z=#AP<8MBk22R@jE?mz2Q?$v}U@Cr$*aRRgFM{k}7pPKMJnpc#Z<5u!l| zfWJ3xPq2MHeYi?+)T#m0vdl0r)c&Z^J00L}&vrTm5Wt4@q0`%!eR0C%#Wl!_gvu}8 z+_>3(R3enUBpC769T9(4lS%=`g*$`6@Kh*)J^_kV3vgcC7)<+<=fy=T1sF^BAt#}L z5Bg^S7MLKQl&>A2LU-#8UF^@Ys#gcCW(EUFn^sMM4UZ?I_MEAD3NWo2fK^+)9atI~ z&4Y4=N}vU4=+A1QZVp_l{prDJ-2~iV2h6@Vk@fOK!j)j>bpyEN_ILtg(xkmJ?)>z0 z@`VW$I-IK?!S1&wJ6-Uw*q%H>*gI?vJF?L`alpfdDFMcc0nkG4ur)XnUbB}rr=02*gZ}qS{XR28^EEf2WK0CvaV{?0PK6c!;hPTqpPQ4HY<^>W&pL+ zI~)xLle3{V%Wp~T01{mt!%#Xtop5Dc)v5s)n0Nf~v@r$+PVH?O^Lpg~@TJ}%6zx-C z&8~=2F9E}q?9+f@y#S^*!q?W$WU#Z_9W)P5?_=1?hB;M$5I|p?_RfUj>@3xa0Z<@C zchVbn6V>Ba3mZgvAF6#%wijD%)PX!NS@Weh7Su3o@<2CrUM)ad4jkpGN=fOslL#7c zNvWEEijZ@7Zch9CQX`OKdlF==93Wq742OliYY95mVlWnlP0-x3HH916x!OFyNRSs# zpiQxvunnKzjDQWTTq#<&=2ncu@V!$J%3HkN5JywH(Q1u+{XZ2#Y%OfQ=VDgN!w-FX zWxqM-??IV=P9iRyie1eihqm6LE-@J#w);EHgLd<<{k$W0?F@|;n+UDHa?lvHx}E;v zFTSS^Ikfe1r;qJSH)kiGJ2Y_^7f0S+yF-yYcFe=303*z&1mYY}#6Z_S_eJCo7# zj^FCpn-uUftsb^V{r2-x_3W)G_|U4;c6gYxzMo+r&rVyw4((kx+D?bqSG3xlPebBY z&rIT6D*=bg-NEyAHu!kv5~c>Ap@pl^UpqNB%-njBSLN^kH;)UZ?O5gR#! z%qG;(#hF;cuUgkK1Y&O85UzbNy@y0yIfSqA30cdF9hxoFC&h1P_jsCbH ze)8vB-d;HsyIM&j0fTFJX=ct-0mYeimN_7BLpv{zk9(hD@jk<-8Q{>;tK;MGq}^*y zo_C!&12+cHp|w|NEGs&X=dyF8;2HEUhaB3f?vB9sJMG6qM0Ai%W^EYKGIl0mW3Q;B z6$7{nqxR#@c%J#oA%(aFg=BRCkQYb$-NEk3$b2);SyCeaSRN0%oyiV*bf%641DB#x ztQ^3Gy`dW2lfB=s7508wAXE%HdyMsI7HcmODp!9p==6t;$-$iMuvbV&$e-0h-2m>T z$zVFqc)OW7k>uvE3!6#y4XB`&vd7JyuB761@il| znpR8!VH`dkAXbckbn*EV7-_`-Xo2EszUkXLg3isbNX@GTV8Px*fV&Jd$T_ILQ{cg* zQ~Ax3}LvLvPF430S;hdywaCIIKq}blE_Mwq73&;PaT>DbEKHNnATaM-%X&%{L^P z1S(V4m#)(R#a4rzWj=};XW|XawoB`dNcaC%?Mefo-K8xEkh6+_;4@6SmjDP*FN;W; z$0JFNNV=fe&VgMMkfDV)X>;3YL1CFrb`AyuH4vB4thBY#S)Y^?<691VXt|y?y2Hh| zT*f8PvJejqIeKc-Gw?&xuXSiLhL{@{An$eQn?IRXbO=_BSe3~g?rSVL85gI*+5erXGp<^&FUVIVWpM$PL5NS9$u-x(vY2LThsxkRi&jX6Rp zSEiN#3oXosCOU>Cuyfp%hb?PTfckZtipieig}lBOivH&HQS*RdwzEzq(8vMRyi}-n zaku%Cod)X0dGBR%vMf;9-`2ch0JYfd?7sT40K@Tsz~EjX2QGx#`dcWzv2p~_CdlagBpopC0?qm5pM zk9&|4*?6!wK}dW1jqG?Z&6R%$pMZ^ zwMV^iHrSId@7{esdslSuZgzjV+wC;7JDp~`kK+~%w9F^m3}m|m!`klv3An|7Dc5{Qv~aC_^$d+%>$*YAFqeQIoh65>$mvadHgQ0bt|S=8gAI%oKUoqL5v0q6tlQ2zwl?#bwk+8Kj)c=Am~`$G)p7?^ci*+Jt` z8^hXc<4|5JYh=_6ouKpKqR~co(BGFH0*lBzK z3mrL6qkY!cZDyeBU^L0DzkOo^{anT~a49UdDp1bbYgh@+`)8j#W`P0^>ZkMP&ud71 z{+Ld6u=^7%cFPoa4JlB!#unGkXZZPHp-Db#wfC|e(aLsqs^fNd&&u*0zt*hry0xt_ z3im7!^}N6(jBu1kfB=W_{&KbljOyqS)Q=Y6l!M0R+s+h)I*SQhJ+nhpo(rf}D}`t$ zV4fdQuUHC|3;Oeelv<_m^c>W4_gkx_5RF&jS)6LC)8tr$vCEDBa<;T|h@S3)$EAdD z32M}G#cYW9lJl3FgXQc|qdSGn?Pm(0hVwE#sQM8Oi?d7HEdMa8YmF2WtTcRQ%!pZn zFA0EA8)4x61V&mHK@2l>4XFggN$pFV2MZ+St;vLbOG~7n>>zc@ES{H>#J`rGk2O8Z z_U!3j!UTD?zOsJhZ@@xYEaTko#a>*03B|q{n+tUJ64%yWM~Pq0l?Yw;LT|4B0EJ%2 zw}u0@A{U;me^-#n!w95z7_YCt2^hbchf$N0ZeC<*eFa6nRV-pN#Y-)$FQL@e5{yY` zfBS>=>v(%UzKv*Jkyl0V&WH}+x7S|;fEnuR2|c6!OX~}Nd-yt^4e)XXLpy8u!W7*Mz7Xy-M1yOOp8fd$c@>&fmOO%b zm91dq?67Gp4IVtc^=GvnyAAshRy! zGrN%e`O?f%jqC&Jy&nt)t#S6|(GmaVv@zGKY;Sj-e=(r-%pTMr0q@AOYMC#jf;G>y zw83~83aRRLgE68iVI#CxyV%<>nSs6>AJ7Hp?+} zq9DCE8}g!2cIL~7kJAgu?$D!4;n#t)!TaMdJ+hYj9sit%7)}&9RO~9@{s)Tk*A5t+ zKkuTX*BFAppNJ;0(7E>7s|(PavuxqQAQ@gONukd~6)tC8l=GAc6)JoX`KIUrS zyH=X>s@q0Q)_V2jZaY_VeC_qih6+Etg3g{Bl}#+aP6Fm8@J3$Q2Wn`hUUo24ef z|!QD(V_TXlqHQVtXp;_f^40omow6=jxtI+Hdg1aMcaLV zHQ609lg$w}8|0=>Amfb{Vf{sL{SibtF+e3d)nECM+Oo3CANB2JG6Z96+~EW^WS6tU z_Hn)2=zpna))%LLOYLeY9rt=6NF`8crn1sb^$n~?PhcERkZE%rc;+TJnEVmM}kknH17*UQ#vRU{>JOBZ?G zA9M78Nct5Kt>TXfz_@Fyu@@*9m*Xl)TUYv8^}78Pg4c!U>``6jP5{ULm;7+i4CCG^yir?1f;4c9fK%1$oSn2Oj#UYsRR&b^w1_#Eg?AehW}aa4bGT)7nkv z2x6LiE?}DD9Uzwfj`_X)FtjdxNDBxb6)Nd7RQ%*gz9P(Cfs;`u{Z`V9k*bEpuQBb) zVid+a50?y!^Rzrtk(eh8{0>6t`rLV`=^)xhMs0-DfS2nT*ZBbPV?6K?tRcelu=eq^ zJwmRPP@;hnAJ-a>U^{K>cHzkjZz#erO}RES5O31O3Q`64J?cR6)E8FUljbUvP7KA0 zHNKFDFAgJ?V$`pZ|FMX}-Z`eZxVj+fN~c*Y&MJ^Wu!>G&2l%kv9k*jo`Gh~Q$KFW5 zTnl8`F4p-&B_baIADC^uVjiMu^EEa6;Y>3v$1DutEb=jQG1rLdDY1nM4m^}HxLiEY z@ucUXX9KKr#EYxG{$vclRuJ%Zm>gvJ@8oY9P zQwtZzD*}1}>u$bXs&2-KMFzx5aa$*Zr@b0W=C9TOHDID`bis&|=}-;ow#r~pl{uuU zuB|m3DkZ}V(?{enmR&5|xpJV>crkk`yPO}|c_dw$tsID%s{>@Kl`@QNttY~qEON>Z zvqdVWa%Fr1LIlo=w4BaV6ycMIfqe84i!XDEQNyIrj?G{+#4trKWY&U*cP*2;l*6Ks zirdQalgX?@>W#6l_Uw>N7T5MVV>D1LZHuK*tk=MaEGV^Up+L{m<&a4m*!(GQK6c(` z^jz!~o1zRUZUG`*LJt5Dsbkt2_oH+sl+d&XOc}tYoI#96-f@R=`p|2Yh;9ACaFU38Wl{UK|ADcG+tE| zXt#}CwrR@?qY;bO6MZ+w^T`UkZ0>P!ZI2V44`4LRsh(B9$gBF)3Wp})N$iTDW2QxF zJvhzFO;H|TZn8TcTFkhEEAWN| zWyqy-HkklRr3a@Q79iPNp@2hAc2As7SX}uA1#LgHw?;|Q z#hNgw?kz%TkZcx|MaA)76s;h;97gzz5{AOXHe@*&lk}UI8P33LJndBt&t$7AbdQ|7 zhb^nf5`rJ92#IV(fFwv19U`5c)IPafqt5+gE&Jq3DouuANK%nfwDM4_7iA0Q5s~)o zgiNeJBWz|UBho3T6R!fTe-&?O3s_BNIQw*n9XPwifzfql)=0q~9^xbnw=Z!6ZLoKN z)9M4!6tPGQS1yjZp(ofpiBeUm(!xmwtX%COuo68&v6Ef6kQz|1m7W2D3B&V5+ptZs zDy>v24f#!rmEg!nyZEB$5kz9PVo!>M7Ud1VK)XvU9&Kv&FmED=bFC11u9FQbFeh5Q zvI_oLrNs193pE%`ftP2+K}<)z^7yC86Z%zk(=0Qtel_7**mAG{V^%WS0Tkb(4HjE? z_;GsE@q_^#TDXv}}_geo69lR^`)v z`>1=oLO&%od}h)DGcNif#ij6MgO)ZXb6q8cfmufM*Z_OwHdOZ3px0;;&HC183X3D+ zRP^w*eNVI~o42`bLCLdd%35|_al=+1@`dc~y{%hoToxI&He_mEgsy=fe2N>Y6(&7~ zm9YW4tfK-`)+4zqWMqDlva0~6L8 zNQyI>uM9;3syk%^R)ksd<8^4qs=KSKYEMs_zs^4O!ob$eG*x1&%%gC2>)ENGoP+BA zVL4+YbUg`&PMIsPS;}F7*G_HCWI{d26|p|n8RqDr;c+FFp*)LWFPRz6TbN)cnC8xI z0?SPjuvGqge)SQ2(*nyrh z0ai@bXLD&K=K-n|D|LY{i~vVKU{yjIKG=QmF=QVAv+bT zjjeVAI_dI#k$l|Ih#G+I6GFa1IHk$!!cT?%kRqgW7V zv(%x;n=lltd&&SCs(rKV8$)7gd`l$sqiBWpk-H}DDZCI`I%td;FIUw^z*mQ?vKS5Q zhL2UsBQ$DspjX^_+-!^gxLUcZhC&?gLBoiJhN9ExtG!nE#}EIcIA6%#n~o23=`tEx z@YuMPZQZ+hZw*`3errV%deH-eKw50jn7`o%focVJa&bZ~S5{fkw?}Xe2M-|0CR-%Q zD?`wwT?HAGYw{Fe?T#wWMRi%hzy`+oCIKQ*K(iWuOgY4OMO~TTTn=1|Y3z@`^I4>tE zEezGyu5NVR2A?yVmFy`*CXs`4BnH7E6~syBst8#Q(MF6=p@6VZl?smnw2CGZAB$Ng z#O_es`eJtRVmS=h6Jjw5CK)21EoE0OUwzsB%)(_YvIix*FNLwRB$}gdH zjOny5nL8qvM`D;NSDc~A8Y-frxb^XMo^l;s_pdNcY)9BRLPsXxeE)A|=qJVaBUre; z1eU8hip1C%bga6Aa_czqwp1=^EP06SF@2CVFBGUPr4Wjio+6FrjQk6hO%x5%#gEHD zP3567Uo^ZK(Vl9hVclS^1~(QGDdQ>u5+MqKIu6}vd8L1VRz^o$P@#d+zs!x_>U2C>mHMlK zz-ros&~CbWcR}OahGz4#+LYMBR7{FP2&Jtg#+}(^#(-5$#Iq9Fk2d_=nQK#sg`f#1 zav*N-kPk`EmriW*l~P~4Bz$eg1F{b8yAo?$pbTZG;n)b)ZrH(kcrhk{W#f&%wuBsE zi=2tcj|wcH2S~CEHF|r=a2p=fmT6U$14+{%x7tDL6phmkmnGd0*`7j&XPsVZ!$L}8 z;9#M_6=4B|YJ0zyZC5L=zwVJfE2QVjA&%D^aP7dMrCsBYRY49~PkUw9c{G?nrHj%f zwjvlsza+Je~;N=k9oB|63seXg{u3xB&Rx6|e?Um_E{R2S%uDuiJQpi*2w2 zK03@6R^R5Pc3o7p)$9{!*qGGWOD|_n7F>bjHdZEp)x>aA)h&)dh=u#tZ`mL5a`E%H zH{_qk?LPm&Ux|=B0f5WrPY(Ya_{QAh=vJmLm&Q<5WZ-A&z#}GxQn;d3=U1E(j7#F?kk?vrCE* z>Lk`bu7LH30vm_ZwJ?3OVr?q-!&L=xZ6BGLhdd-zgQ?fk#%3Z>0kj@NgQo8~RT9-f~{gec8oJ2gL0vhe{ZXAnu zn!69n(@<*m_BC2{2O(gTAA3pgP7=Grvit#ccrXXHT5hSJWVgnU>phSjJC1Q&fwZ(> zh8-ZA$m;cMA#{CV78Onnc+v+csA+FJdGJ1Ywrv;(Z~Y>nSLCRe!qL4QRA z8DWdOOf14xaXQ#a27MQ#wumY6BW5gMN|890ECmesZjZmYIHFX(&+18E_~@g@7cXCZ z%%HCUQu8(sbj};`0Z9dTYBjFv7egsgfT7edz?CeBO(V_BHPz$RkU|{i@AcVQ_CVfI zmkQ;zoSfFDwQfv99knEgH=b+<_SD;4U}7*B-FsFox^LDD)LYMf0!NtBpJ7Hnz^;<(HGe^>^=_ z!)v_z)gpd0KRfK&`b`x1P62@=M#T&M)%CxPf~5}anmW`a2H%UXu3ts*Zzrob>_y3D z(98YTjn4`GNx?{+Ki#PE;Dz+zgxgD7aQZC{$Ty@q3Ca>pbCb0FZr+6{|qIw0#J_= z4xzhV{KNGjivLy$cxH=ZWjDTYPO19Mw6qCChxdQ2|7*beR-t)!|9Yu^AxrG+FVwI38it@a}~9h_`2w zYbZBwj^Wijy67;YK#nf6qk|H;;b)Bk7ZzqeN|XyYf=alBgHkey@wC_-+sLB=k2(K} zA4wGRAMBdF;j^#i$-p?N17?30pZ_)jS;`il#G$xNG2pG|IhmVy+RB zG#qd|VFiuXK82m1yf%n_G5BZnYINsW)Xp-#@j_}w!T?-%ZJUJ$#rSKcR zk*9MCHxdh|pgNs)=yhWFcnv|HVXKe&Y5$|uQ^UW3hZ&e6hHqoy>BJmtE(pqkMnbBl6fkwY$-#F>BflMGI}! z03g!W_J0yySz$kEH&s1NM7H?d69S55G(E2g6B-UxbNn&17DEOWn1Gbf=h zzf=(ZVk-zL4GX_d$%ca5be}@2kXe-|6q*TTIpZY`h^jv5wjaYp+!r&jW)3k|j;~!F z^hu=w_GB$Hp6)_sH*xj27vsg;?G|J@AIeg8_G~H5p*q=nkMytIK~SDXCET~|EsNkQ zUhKZC=cALWyYp#L*eeGRt*7}iXH1qmXyycA4(xEGqMsD3h1 zF%%f*)CY(zblkQq!_ysks`yDURUPQ%@uCxChS(9`S~$w@?c&fdg8kqOY|~~Po=!&4 z@cbL->K}V>XLoFTp&Ee*t+qc~TIBLHKF+SbZD2h)ieVQo3H^$zV}DQ}FZ@5|c}5qfzD58zWWabVIA0 z=VLlNiwI9NbmNhF=G0d9Kst^{(;^DdpX3dIwhD;(Fapnnz!z!Xyg3||8ReD?w>#Yf z7>CGUFl1^)PK=0k(EXKT^9pX>BMj*QBYY2DKSH5uifEBA`ern4N1la@OW{c%^6_PQ^8_DEhG-8Twri% zfMQh9fC*VUgff^8=td8R{~=)zP>kD(7@r%eg~p4Q_f+|&lm?-$`4|dE9A3VbS5p@7*+&GR_a;2qW%zT6mJgigw$3+<=d_*QC_L+DOZMl9WMy z2!^0Dq;Y^8xRCQ2n$5gHRn#Pmhj_Tn50|bOBt8(Bc#=e#s8@?{*a3s+?$G68_6U}4 zAn>V3LdEEkR=;HE>Xu^;#*4QAXkDSwWoG!_419d|9{tP6Ih9Oa{Ww*e78m zV+Uc;*^Yp5JY$Liep|eBMR^lb9wyvgbC(T zH+}5W-nQYh_7MI{o043B_*lZ2Wb4Zu$w(f}~C#AxVo&#HGzX$g5JOzn4o<=@653`qT~emW2i?!ZR(sBt_-mU4ppAspgF&~dV_2)z;9yNwOhn4HqnAH~BbAMKvdGz7X3NrseHT8UM_Pl; zxfa7l1|}RMOA5%AAw}~P1cdLG)aLk)8++}^@ego@gqcO)sNcN50faFkI0s*|^Kv=u z1-5kfD)TywpDz$cscJm3Y^wxNWf8$-0w=6i2#S9ITOCx1=@>^tEr~Cq2+VvAKkF{y zb&y{HA?r}iP{^hB=q#yz5VmhA=h)pk>d1G=;nUyS!O1^g_!S(p%2#o407AaoUGWxc zVVgiMCVKEyG7D48P6e)XZ?Hc? zvw3uQ^zMOCZYjHu6MifliOA?I7d zz;Gz^po96@YaD~Z>>OTDO~uAbt|1t;QL|y-n5LoKCpSXT-`j)W;~CCfBrD{S#m3l{ zNOykG^Wr#Cx&X@Rlml;D{bNK&~^}aSl6-d@jZ!MlD`>4Qj=-YnqxPJ5I?Yr-0cW-@=-MF{0 zasBSiI6H6Q@LCXljysw5Cp;04gR#i!i1Y%+ekB6L`9%&qD{En$<%E}mV<|{%pOJtI zG77Xwi#YcOG73`uR8nB@))2bz$2_CEROwCFqKt?B=;($u6D~t0mh`G94JYhTvLHYw3$o$;R4FXwbAk z(Tg}%lS6k(Y)T-rA@9 zYoLo)_?>?&YLO8JL3&h@^jp4If+(P*-$2({(?NM<+4~prx?%6b{6Tb>LEIZ7J5$*C z5qnukDX1~go`7<=h6$_Jup;S*ERIT~(@#@#gs8wesQoo?Au^q+BDJ4~maHUd3W#a& zeCU{bvzTK~SGz(FCUzLN9z#TBKKpagvfxh()O76(VwWixnwb2!RYN!DDpNvunHg$i zI?*qsVqW+f>|qBEsI1PahEb1C`3k4;SXyuqFda==X3wJ{Zwh4riccQ}5}}YMgxYKi zsl%ABCP66)#iL+nNlH1^!a|{<-?gpGgXcJ)fFp%NWHBF72;jvIN1L_TSVTOnhFHUZ zRSlCSmvYb}GB_^-r1xcc>vmB77@o^kC#JyS1j+_|tiDEg(n;u}djqy^Z@94o?UV@C ze<2bd$!-p)YtA1o!dw;o0D@*s6MkTBYi!WGcft#vSI7oYnoma2+eZc>2bk8VIY_}x z5U~M{>5}LcM7a7q45)r<<1U+6oT=!d$t;dE`+Kso|WF}`&f6y8Q? zq;P1Z1|pjvsGuXH zoIO*|2|66GTVl5eIuay4&h8@ZakDG8y&YO-3 zecgh?WHHm{NDdBZ6;AnOj2Vqz7}_?z$}SdLcHkb{TE3FB#?iADZETzv0tx!`njV=E z;1%TLresqSTWp?C#)lp3nh|XPg6npgPyI(v+VaS}*pP_j_GOrmjr6WABQjM%wGSc6nCuirUx76c{DI@;%$$kLMMrHUPRTm^ zeWcS9`D5#Us)I%0K?rCK2Zd7;CL!gg0L$q~Wc=Pnk8(KhZAzeEf8Y!L%-F&C5K$qc z#;$17rs7i0itUk2Q6rSIYdB9xv9}MSkED;WT^B*5KQyXC@W^R@l@@@qEJ-l(L&-|o zXN-{?FxXk39G3neS{+;|-zg$H*f(Rtg$+p+3s~a7snL1I`1cY*u>sXlf5gjzZjo)O zm1+MF%RNklwxd&v6B?bxZm+r|yp$ud1-{(!Tm)+%Ae>{^nyhh+AujdZ(V)><(UQ5! z*5@!tv!lxr`Kcm2L>?6mN+MiX)PG73mGPy)lDgGOn0DTKdCrM^aZFFe36tMj$^*=F z-kvmNS&<3fnQ~k>DC`&#zn(+)zbL~=OJy!N|15nbQphSk!uH6V;MR1rqo z!l{`xe237$za#F{4jMzGk8igsB9CVHqDa^Z)<$o2d*#YQNCxq{%YuBApg87{%nOP8-AAM0=JIb5@we6!TqJEZGB< zPl3dzMdingex`olh$FR2Xl^+6luUfzSrRX|Q9jtbk=?xYU@PhL4L|OyqKwO|*l_p( zP6*)Gki7~A4*S;@yga;EkHW9hhx0oD#a)EcSD_IlgjtE2339R$c#bY}mQ5x87G6

VaoAT+w*z|+Z&tLk%iz9HF2%tixwb5=mjdEm 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

IP3s0d=h>$}OT59>jTrITq#3bR*B_Od*MBs=H zPz5r4(NdOxfI`?#9J6L~t?#0HUvbO{ob;D?bEn+;S&an8Fy`CZdn`mKQdoD-eYkxt z5h{0gIas}THtyWpbb^wFrrRyGm#y}h!P}>(9-KKp_24g`R@~{d=EqH>EnWDJFy~@JgtaOoYn4zj-kXw zP}x|BP^9>>OCK03xZ^J){hw8R-Ouo1n0$h=FV4l#f{9MJN(_{RmCnb2z+V23ITL|SYZdp z2HUX*<86hmP!f7HO=6tLJtzjt0PRnHsFXmCDOH1L1?q(d^>?+!uw_PpR&s5zarQ7j}d(jd=F4zrP!3rDo$Zpf%37N7=F-uhui zX9YeiPBG#{{OG%X=?jf9v-%iXhtQK`O0rNo%gu9gPnMSRY39 zrs5zj2UlmbmAE9n9B%7)3~3v_H2AV_tn->}m6`Y9HrUWU~?fK%E+m>O47p zcxJGwIxTEg;pg&~I3$`e;c(KE*OZ3u6YxV`O7SA3(OLE6=IKUC9mkTEpyUSLRA}Im z{2Xq4Ui9QYrag|JD1A{Ilp%i)z7E?pvm_`+fl2y-$Oy(R_fg9ejLLZ5)>7dFR z?&!!QhyzA>%LgSciE~oF70zybE3i6_QqAo)LXqPyYNbi^=)`rvIAyl{Isg6iNl;^k zPg>^t1ftnB1_93(4NaKCsg4rYHvjHz zG^|h1nByo270lph{7jE6R?X?~P*x3i9C4z(T(bTR zzexH{&tY92(MzcOPUVI*IDHs)fXx6nosKoUk$lGyyBIeUbt5n9<2WW0MytVsgfNzv zB)y&-Xv4+IIJ#rTSk=)9oayZ??zgHyA|^RMt0(RPPG`M4axM&G&#bl%FV`Bcxe#zvqveowtf3i6KV2?%fJuIdAFYuZ*0EUev#kfKxJy=ehmE*D?$btPeeSS0xzU-58q6zBc@H%JjU8jnN;x`cVO>%`|69R^X!&673<>m!%5 zYC=ZQCFlU@-C3ir4>oWqc?hGZnHi4S5HEshefVrE2W#`^jaxPU$LT9UwHHPZf_{=W z<*X8rHNA1bcQ_SgG;LchHo;km-Tzq4XT5*g|K`bk*zW2(Z5%6(zORfOByxOMonuv* z$Rkdp4i6_gTJ&kQ{4z~x}SnT6`zmV=B%mYYXNsfKv8-jmIA`W(5OR$=Pcqmg4H zBaXI@g$^iblV}q<)l3Zs8AY3P8nj|*1SQ#CA!{Lr?xeD$Iz*`qpv}w0uOc3)eg<#v zDjm@8&OGY^1|dK0&iRM4#bzCD%riabh}I$4$%{%!zP#On_|GUtvERZk9_?pC9Ud6Dv`}i3#i}&Zps6HMc%0|L64a z+dz%|>tbW=eggT?wB6y1Ty0o_K)Cw4rLUhqegt#D`@e3<0F(V14_gvFm6Ttmd5%-? zDGQy&CiTvGuvGEu`C$1j;ul{JYh8s!l614jy_jYm<7hp{j51AhSeDtuMSR~b|O1JOy z;)sz*TrFY5p-%2VYE3#%8$_%X4`Wa)_HbF_QOIENP=1;Ia2OEcu}+Y*8b!HACi@2| zT;glP<~V-wO{HSt@z-g&Fh14ThKA#VL6wcb@r~E=VoaQ>Oyz@&%J%$H_T%n#z|WWC zu|(lAC=gozmhbV(DQ4ANhKsXd`lX7%mR!|In=n3k zR);#Osq>0ZBiLo8J?NzH|A-qt`+1lU`lVSY@kqvNj%5TcE7{PYs%hlyCK4HpoQ(|@nUd>J zXs=uNWd65pAymZd3{7S#zQ2BUfB)M@&&`K)w5>66iA089hjlU70#cyrKGe6t(0o$AiTJ6*ax$SW9X&tyKN6qF_}%8kQPiBqhLD zfrhwY4sskz3|6c~p>M9yQyn_8wCvL@Y2A@&se`5U=sYbMSdVLI#}cWhxo0_)7>zy4 zz>)2CEtsI^mEk1exM{8D_^v2Qy9JPhAIX+k-jt=+&$XuH8T6+wg4bS< zvrZ&nHJGGcjng50sXbabjv`^*jwUZ{yLl2K?KaJ%w=H*n1rM)C}pA@hlsw_IX%3anZ$OEWsDiS0DsnG~DnUalRFzev|51i-k41 z9)>He>~efW5830RBf2`EV276L^P=-(n2B5P$$zb?Yv>9yBOIP06-cWSA~1Pxg?eS* z?zZQ+LoBI*iuu?=X9aHZDEM&p3Y*KQo#)1}0ue`fS?GY0_8fe~L|ggr8`H;*WL!mv zUj!g#Iw3<6k)y6bc5KG1v}pmcNU~QPY8w7)4yQQ+C=ClZB1JS3mFm>NW`t(Tq_`u$ zOv8ShI<-b7`_B&E!VYJM&Tg&@7=*;F+oSP(AwieoWGN~R3;?^+xomZcqP@2Tk&NBc zc&9nM{!wP|$+0mVAzN$GdD>!Pz3McJm~)68;k{F)(;b3G9=4=JFE?x)O4iPTH==jJ*1W^~Lq}?sU zG^Ndk&*2_Yysv~s`KjWO2}X%Rhk%o8TRq`8c^M!jHBSsQ*=>aSZ=byX2=# zj0*ezr|n(4~=p!J+IpzF6DOFTVR0BjrtfO7&#WzAaCwvxu)2S6YY5eNjx{nxSy;xG%r zT1glAZtDIkjw15tZG#Qxpn}ZwgOd4kzBji&dvi8M^-sMV8%!YrI7tv2Yg8Q^u7E@h6tpS`(9RdF#I0XL*lBRty?s5EY znaMM7;fba2VpHFf?w|3$0h5$JjQKRUlljf;2q~ay%o^q=MQ~k9e+ZDI`vk>Jm+t*) z$q-UZ4X1{&v7?Fqa!_RWNxb*t&3_C5Ux&|+NHf*M%~zw_;LG=AsyQr@e1=6VHy$LXYm8)P z?Ta?Bg!Zmi1r}NUK2!8^RN(^6h!{$KWtK3|aN{onboAM86%u~WUv=qaAtF~zTWj#O zIv_s+h)K#*O-sfTBQB|b!dIqVU0xtj`RUu~90%&>| z+FCJ?ad!Cf_|o{H`BMR?9p1^Uk%eIra^+5;5Ed#D9sC zPek(F=Yx@ZS#|z~J)2Ga?1xt<1&83OWLfov>ITz3?wCl5_5DebS|cbaf7&f=Cjwz* zs|D0R+M)Q)MFpWiN%{{oNSClsPNt~hCuI>If3yGP_CV?W1{o)=`w0HSB;jX0Wa;X! zXUkb$A-Q3Gi?Y?kAwjIeAeUll4o1VtLlJ*;edVtyFj;S(A00m4UH#EAY39J$o`4U# z%P;;>tyJ4K_-I{o2jBhEqmiblT!x6o#dwAQs*=uz6O-HyakTl59Xdats~94C$}fMT zXd6t--dzPyBsh`)0(lOn!HE9mxx|sh+Y?42WIncOHdpLiuI@n+pvAHMn7&z7U zSR~0pP9bSYQ8hRsT>#IKb^nxj9x+Mz8Ptlq&4$C4GP$k69+38)CkG<8vIzx_3vmUvBRHx?pM8AP5j7F-IfOf28?1Kb&8j z`=pvZ`S0TUA?63OLXB#}nO_CbeMIH=oQYrc8Hzx|!#tG~u94j0SKrWJMkK|gH4Yj6 zj=O!xKw3WjHz~j;FI33!qT*`^%oS*^$HlLjgWn>V&B<$Y@$oO8La#ohK@n;&%Jcv} zKjY_|pzxlZn4L8PtHD^vkks^7(D?;?`)&6sf9ZQ;V<^bv(gYqK%5A67`BnTcqc1Mz zzfzqYNKcA*ebKgI7JgSQNTN!JPJX83xtOhCPA+j*|cA&`9*t^lL6= z??X#MWq6T! zaR!?lr@#3zWkZ~^vUcjYWWRUppICc-u&buH;i6q=>3W=?5czX20`lA%vTKn_zjBsa zAwwxvq@f@40!Fsm;#EHyJTp2kI2A+@VAq`zlXR*ww962$+!1L|I=S=iX!9R=|Age> zxtm}qK9Rh)q@-7>_8QCtpY0T|9KHG_N9Q-F#}+WLvon098uEs%HtlH9^9V}H{~W7% z;l|3d>2k7|olDMDf4#7VdnpmqPx!(YVR}5o!0$;Pf2dT&Y;n)$Ue1uvW)kLq`WEfE{LKF5DKC^CE=&NQAZkDeWthawHPRw{=g2^e|qAO7i!$4~z7 zMPV#7q^n9(*M$^=z<99`r7R^@;Qq@<{;L|OhHW%L_~lRmjBMc(kZxSRlhqJ+%e$kn zNc5KyG~{h*IVFVrpQFZ%7J`PzP>SQam;RuDN&R2FDm<044$$u>GekI`aC}~K_ir`G z1ExI#EeWdoj^y7%Ec~i_TtElfw`nLG!IqAe{{Rf3KkZ`JMRnDN1<<#Rm@!%S992qp`P1zuEY6{9+|{txZ~yYbiTOa2c{eM z`obNWBYsOFbLkb9S}n?EBf_ndT%v2}@hiGuZC5AHUxnH~pXx^-8$yX4n)`_EpH=Yq z5mAI#y?%Rpzb8knA)7U#RRvN*^AmXe8vd=^Kv1&S;AB;-eIk(|h8RQS$E&-e*#h|w zHTi4MVh!=78VkSZfo#6Bi^m7}4;|`ji3It!UdyC7L{E2Z#dr-rN20m6-L4USxYtIFtoGhUn_Hwh1S zpo(~2?WZL)frM3W+zi8#J=Os~Kv8Jb#fJF}p4~=SP}-qIj`Jnn^perU|5Y3f*8TZn z?m|Ou92F4Zf5w-9nJ4bAjAZBVy41Ha^N<0E*d^N9q;&*Z5gSJ?vpR-@43 zL!Kc*C2Q4zxd|A?=V$y-`CUiTlPuY_;dV+y@RFXogdUGv;fX0{k$9^NcXOTH{?a`- zlHb&An1IA$a_q^!`xy8&h!*L~3CPh{&a)NQ;GH=bFY-NrWMswN$;dsVHqxP)2G^`= zQxJJ7@kn;x-Nt$B@8P7j z_&?iOE550tNKpvQ0&eN1T!|Pps32o&&Z0*@r!nz1lz4b{@T{hO8cILsNUpE>j|n`x z{t04Rl7Cov9kro`cXHD&0U`Ehp<0G3%TN^FXb21W_I}!YC65k@Bwa#oVVXC{cy$>$ zAmV>M33Xf_R|~qfm}>-Z9Vy|+^vU}pR|s(zwIDN-yP+qcv7dJZMEpB2cyJr_LO)g5 z5S7RZ-$ob$|L2+~=W~Q4h*rrHYN*cCVY)7L|LmN_f+Bp-<)80O{)Hd?zy9a{`iDP1 z#3?r}0J|fy(a!Xp+EWJxcd{`)pZ!9fl=Mag9-7O5I0ir7z1l*#gVE;XkC*V;4qRwO z(F|C-R2o5K;RrofbTB_ulAc zj!M=a?OxI6mQ}xx;{xqd4_Nq~aw)DNuB3L;R|1mlZ+EYfd(&Q1dsX`tGAWf%4g_C3 zuihDkV9EYNDDU~%8>d;np3jbUvz0&KVR*_DwC=iDV3FsqIsp! zCv#Adr>G>pA9knxJn?bBY7IRrwCWP^5e;<&l23AWjziePt0AGTC)Onb3n z{6ru!z=m@cp8OwCy4l1GxD{TC%ZbV15~i?;?ap!C2=yFPZ%m7$XGe@+$*`U_5#Jsk`D_ivIuNGyBZ>ueczJxx9Cs1I8YU^BfVPn~ z4R0c=Np32j8JczLsRJQ0bhn$!JzQ=>##?dFYwB*jT@+XePr7~KL-f50Qw0rghYqjC z^=x{wRxaX^3&JqklIkTm=|JQe0x#iIB@CuTQ?sFJpyb4EF9|=Ji^cfLZMq00;jjgJ zVX;B&^oOgwAWHZFZ#|8#Iw2Xt<|klJaXRZMq-OCPg(2l%s@J9mT2WjYja)xZEmYa~ z!&|s8GZo{&LA~#5ZJaw>HA5ylwDU+jr_u6av6#Hol;-LvObv}i5^S1qea{y!rsGUw znhdp0C0JyDoIbxib7jfI9{uuUemFkSr&y+g#wbT8Dm6$l2FC(qTkCWz5&RKSrc@jAV`@jZE+J>dKd_%ve2olM`uZXCbaTt1s$=7)CXbV{lg z5W3l{LXxuUIfCNuHN7d;&fIy9a5&nFo%XNAFzS8y{1OOO*ef9mg>p9+47OebV7gvs zSY*KvhrhrzmSBcgvP$EaA)_8HjY!7-+OOxnnMoyUU!p;M!9Wf{|2X&QJjKGV!s1F- zxtNdY3(SpsSZg@EgiC52qT-J??)S11Lgqqd%^)BAhEY|(kqQPRo&g^1%7wavORNLz zo_OKn9kLa)Ry0jHBn@}M)Q?GG$kpie&i2z+&$dR}`@4JFI|rLjUTCA=T)KtAszQfMHcMGVO?%74;I;D zi6%$Sf(%gPKu=ssxkT@wW3XJ6$lD%f$VZP9?=@U1xtOj+U25|ot)oTg_0)7itPxzmD zi)p|lF^>Rhmh=!fzX4Je)$hTpXWL(HAE*H^cddSHPPl~1dD!9LZ!O+>ik0wqjU?|I zRH7=TbC(NJfkvj=7(5i$&>~|-HOhdL2O+A9zT?EC*E=<>#3de%`m0+2>osP}qQ0xOtp&;h|tShb|+&ff!0}0ROO0GbY zA7dyXhvleLGCc~qH=^oQE=>Kte%MA}S9nn@4E1y|Ri*)_Oh!6l=v|SXVwoht99S zzQEZ;@j*oN5H?k7*Od8Q>FDrCmf8i|`v=k!i^Zj74_hg5Zqq3xIEVqZw6Yb@|Yu%4K5@P7N4Jt z-)Mi|JfbRX4-G~ZF~p}AZ|6sqy~j4hUCVC76cQP5D&+Pyd6`p5vAF|Pwl)VsWH>Kg zyGc;o2fk{j3ubJjs^&^e(qdxbA<=Ub9#ow&CuZP;$bpdsN+3oMq!KnBh0q}_b7A(F zZrjTUM=mT(IS-Qb`idBsR%lL?VUZ=ttl3hQXAqVUKDi45o22XncYs))>8zUMSM zK#>DSGr%tjk`=^cAj1+s9>RQF3preO2`E7FA*V7(lUzwt z6J{pd%rqY# z9D4(45bM$fY9)4xE%Q|0Au^?*ZeeDK37_^Q#+RAqH8+*2J*d1Mhe<{RTId&GCoAF* zrUBi%a}te2FrZ!DL>@CR4d_a?gkTUC9guSw(EaX}yUwUZ&Q$BlW6Y6A60QI2JjDF? zn)MG1;{HuH`aVqb`r!FLxlR7~Qm4`k)PV4QM(;#afJu+V>a@7nrSf0YGBOuyMSn*i zGIY*w7BR7rg zteFy2GQ<9j?yn4fT}hd|btUCai!>^EVE_lWRsPc%7ZHaQtD^`>W9Ks}b+_ADikLZG@Y#p5CBA03!{Sv)kLT*pvJQ`KicpF!gk0r|*F! zJ62mb$k`t~d-Xa`^D)Ce^^=^4MH<-WOx@dDJ`Mj>38v{hP5N>H6F}0@3|!fUt(bwC z4eNuBoBN~v10+U$srq1!RyEkzVe#`ZDemA18yT+XN{B(xnDVU;RdXn^NSc=lMtFZy zQJEWN=|fjB$%%FA#SO~1xXEX_099cl5-A{RQ6KFy>p^wO6t(^hxdS8}j)r|StT<#f z4c0u!m*5Z`b3`2k?;Qc~if%O{M!lLyL6Wk|S4j`VG0JdvvJ~16$ycd@^BZ8Nhu{a6 zz~%z)er<}DFWzggcQcoO)oo_IsAP7E>S#I{$v{soT%y5>d-ep0RFjTU@~Sd8l3_LA zFac5NMJ4iXZZI>nlM(5tG#FWMauu8&#E+53lGnO2Evg=8r$ZwXrY*=Y#6?UGd9SUa zRqSc2CwY~qWJVvu)PDI?7UI`ge!aQm-%OU5=W@%j8_fccWbjg@b7BL(z_Un7x0s7w zw0Xy&aEK36E^4r)PZ~R_tb215`_)*6N@9$nL_qfus%L;&b&f2M=5H0Bso9DiQr{zQxq~ESV$gZbr^w9pW~k8^EBfIm6~=?T&8NCotIJ{qkbS~1 z206vGuQlHR(1>Kr?frkg*0F0bbDhM)kB*om#V#v)w4x@>94S%9-GWO{hz*tRTv>NQ zh&uLoGBnG8HQltO+@0@8DsUu&X&00+o}-?hTxQiXO(E>j#Sx4=kc+?*qUC$bx3gn? zTx|wmddM^)8L^qs#4k^NOv|{}y4R;Z2%`mYcfZSBs_W!s&wKB-=CJG?bbh=SH#yfO zgG_t85OxJsrN~Y%K7;~Lq`>e=G*C)kZoQZK(6d^xmw^WxdBG1PKFfNVqUJBIn-3dxAPuON4md;+mu! zcU5dh^Kd|vRbe~!0P_Q|t;Lj-ZCH1@Zis2!4dkSFH1fbYh}-MItJk}`TYG8)HML}A z8H8I#gd-JJTUziy(U_{FjFBrWa-cid;4a2~PbrHun8r@YQ{a)SI6iv$0t9f5Kv?Tn!j&Vn*+B@Z&g&`NCy#2 zu06QbJSu7#nZ~}}Z0dky{6BWD+?fwi~{lj~PPDJQ(t3~jQm5N=8N*f8k3bwhs z2`R>yHjGT$ymFt?qYxXKD+I?Y*T?NM8U)cht6T$-0Ybyf)!wT(rkI}gq1%r1P92|MXq>NcBSa`C?r-%7Mzn)21$0aj* z7&e?2rEg;z%sr|&K#>E6h`$xPy~OeTSk07aSsnG>u?=WsfhNIe7M|9KmreaY6`gtb z<4?5)FPjEf@`@zJbiE>_$P|*nY&{1@A`Bz_d*~>gFk{YCVSgwnQuJQ=M3m0EjA}I3 zc;&Mr;J2W=K{88w+&tvy5ln51cY0CAd8GaN>*>V+#6GBXjV^vK>ssNGIhL|RG*-=- zd1s)K0kkh5M8>>GkS82^=?Vj8;8t(c3WxZ2fdBROes;OmG^8pgN5(da?u}3KI+Z4Rw*C?rqC=>hA&OBfJtkAADz<0@ zA_FEPM6rA>xC`;9K{5}_Yr<8*BqLN7`?P;D*ZR;@S@kYC9O6TWyCXa2!>I0<3%=(J z8zbkz$b*rC0oB#Dc=>AQ;44LC8rhY2ONmH6^owRf2*)Wh({}4!Gejd1R5Pq97i_E^ zQJYNOZ0ponftE1E_}ljW=8K)zI%UnY*NQ$BaHI+`fj?em5@#;bYD~bv5E|p<{1REe zKD4Tj*G=uL^+16|p1VFCaW>V-(xyvV?SY^W7#fn2m8Tb(wp}p;DG~{=$sZYH`G_w4kQI)}cllWPe8=Mx|s+i9IuN6?}`v!Q2EnNIUDqB^*TCL*iD_f08 zM)+ajbSV^x#}}`=NIW6Q2_GzQ;xB6}6-O+xARSw*Ua7_>bM1pEdf}P+H(MEXL=t|A zKF)}1FK*ML@xz$LP1A)G{*g@j9U*rospN@;C%}pDxvI8ej z?8-xQ(Or0emAT9fBXhJaq&6J)j~s~Z(=F!{LiP=SlN^5GRuO2zts=!^8hyp3q6CN(h!AF7b&iuFG8d0Acpj0A8>{GMy^2TQ zuX65g_azHlwsJKZrpW5)?H0I0;wU(sCAo9`=c%U5ijP&Cr)oUXA!m5>yJuTZ_qLv^ z&X{W)vC_%>@(fqnlVEd%BK&_y4B&(9ms_s7+so~zd$0Dlp1#_7rZ~;S$^l!r3eK;9 z8W5j#GTMG~Heb|^s7))fI;0AYWH|nzee-3(rr1phoWmCFZuCZok}op*p{M*rNhSx~{-jTBHwN zY<~CgLkf&lpvjMDE5`S7f&&V6HaF?s zn^r_ih}_{@XL_ocG&OAHT1x^&7VH;cG2uoCR*OGmQ%vT9nfE4!DNIsA9|Su`>iC^q z>g8#>vdYdau*ibAmWacX%h}0MacROdac0m|v<`D1GKiV$UTE{D*tuzFPLSrvp~%u{ zPbA8$&D9|mSzxXOF~FFuIU`mhl2PSr2R&WUmLHO@tx-w*U!t8T%K<@yvw7*eYx~g5 z1{iSO2TAx%QZ2J62ls_#l`1>jwDv;GH(@+M$&271IN>Bij5!+(!NBXtBnpW5DMlU8=rKVxU5im{2x+4&f2o6;% z!D8I&dxJcR;(GInsy2rr3xp(w+uc@)NICNKrBHwxIx{b0z|qKY$&DVy-M+Fy%^vpb z_5q44*h~r3-8cf~i;q)KN7lu*zH_w@_Z(3wXgy(>I`ktUt1#Ch9!eXyknKV+_Q zTyjfn!xNRT;G*)g z&4W!fmgaQzt^%TwNJiC1^5hzUFA=1uOmkXITZu&?XpSI(kkCQ_n=C!@M=Y|yf!)Vz z1t`Y=ZU4>q+v(-`bM0T5&PdG^t6-85ZbHa9Lhd!bQVpJ|b$c>50u(tQ4e`x}t+VB2 z_DZA4q8)`CiY%BRAEnxxzCp#1tmv~zQjJhWD3ahD4@-M_c8&_W7sqO_Ow~S_pCM~@ zsY*SkVC2Bsbz32-Qz8{r{y#S1S7?fS99@yywAL!SVjY#-5I`Sa=wioZxiZ(-ugEH>%NQZHQxn8?sZXSlu(5{=71clhJU4s4K|HCWR z7kDCFCwZFU-D5+PsAQIi8DnMP{sbxzqC|j_43l?YC)TLs#p%3rf*5v4Pv^~qoQm&5 z9O6SQ`4VX7=hLh%yqSGb$$#ARFhoz3f)B`xF`-86`br@IBpsHNPoG9a>6-?`iwjuq{D?$y@jt``w5Rjz z8t(NaHvuFa)Ju5_M()=rK{C}#In+I<R>f2v;<#10gb2C}lXlVUey-^VqXjY$F`0 zAgO5t914D#Wzw2XlU4^6G;(3LkbFU0nkuTGnKoA~@sL2oPhDO3G3#}8BOuu@Nj~Sz z-GjMSmWAA+>AeD@vn;woM|jCtbXpJ)uiDf)H{b2;m5v%RyNi&rw{P%5sw6yNi-|9U zS0W>3Xd4PVNt?34`5iFbp=QKSt+1L4qo!gs9CmWh3(0OdF>uQT%jyIz7A4rwit7v?8CP7nbzcaMnFnVFDJGB&eyL*bgM7>4`)jD7F}wUTL~Oeq?Jd+u>9JflJ7Oq`S3L zIaW8l)%?zC1&?enaYJ+tLx$_naO#$L|3tfWrr`Gk=`u)iVlBg$bnb0Fj%Kh)T;zHc zwsZ`k`a~zD1yYnan1bD>Wfda(6LQ~|m#2!vboa9iU*zSXFo2*CILS(KH`ULAkF03S zxMuIl(U>HK`|;G}to`og3poehn;z>7zSNF0cj{{3qz{>&AUouDK9uY3L8|_m>RwxO z8i))@m^~asD-P3Q>>X30kw^|Vw|9yxM{`rGA8rODf~(Maagb!H)Sguf@5f=01+x(p z2Ba$xWE z>IlO&9iO^l+d8e)+2ve-FCV+-R`+gXl|TZuT;>;h3!Djl-+vYzd#XPz39yi zv^bqkkw}6L$yO)6ILy(SW;Q!iiG*o1a$(O&BTGfh&D?YJ&=pwZfnOJ{97(9``Rkph z2ivc9lt7w$X?}gC21vf%MTlX@)4A8U2m?C50;Aj2R>7jkPo~T+4^~$RfF#3;=e921 z=jiEIn|o@2O%JViKkx8J#vpAGfH&1=MKm1=DZ<>hqoX6lT-=^u4$K=Rf{TBn@!s_Pe)3Dh%eTD zc!;%hD9qifx16`fN=V#oGH%Ig8q7^Ui?V4XQed2T4<`>lnFPIeaMI`#ya?=0?#AK% z_8)XsshL!;%mb0dfmaf$_F>i+c&Z^gDK%F}A+SL|!blfCCO~q?F!gZNQM^@D*|YuE zYF5ldoif0$!N>y3<+&8Q6UmlJ|31A=ahduCag!6I*{f8s8Ynpvp%x2JThZ4SYL7({ zv7703iC{ln_w$tzlZ+5SpIn8Zd^yuP+f)YC#Hs*90)!WW(}N54MbQRx;CehBVv(h@ zExlNJ{|ldjgVSZU6@7?pSx4trU{4Bt?dnvx2w55lHCJ3umorFm;yle;NYmq)t}tze zl`Go>Rs~Rq{h#9=yY+rLk${Ka66J=8>`L;Ch+YV0;zQ4dJA}`#kyyP1doinW}VSPoa@d4!4; zVCKs$Yws!)`!m;qd-+8TnrYJx27}Wr6yh&~>5p3!hpAfnCMIBUDxe`l`u6VpT^4IL z&4AooQb=S-5+1yM30v%16CP^F`~b*$yp@ET1gwFu)|)OlZo*xrUU_d&O{aOwrX{5- z;F22}C7R#c`_Hz&%qm2h@wmb`D&R;3=Un7et|RNkY(~HP#MDC(A2Jl&A+1U)8q0j_ zph-suVDd{^$JKdFnV8#9r52A?C734n9#aU+73mh{N2Lu~v@54?iZlIV- ztJmfy8i`=PdXK}+p;V}p)M6#>W?-o5!Du|vLDPr0-2U`L->5K6yxc8MfryWs%&0!% zg|@F=z1E>FGdNVS{t-!cDLxvNyzp-%@{5cmxyi%3N!lndmv9mOE#OF(YKwzc2ipfP zw8v&r^=k{lkqUl57o^-=R@9+sMGl53BP0pYH*XBUxPnVBZ!IZtG+nol1EpG_81 z$$%T5_`_4Zv6>Nps+C*;B{9}W5Z#bn^GXw%UF;Fv4vkFMOyvZ#@`SQ!nfv3qZX6RF zqRU$64IS)E5`j>%Vs1SHcXNnGu3o>qVwbGZFVBpVE(U?`TU!i*SnMkz;ZW3R^53=` ze!?nJ!)vBtWjlKxCTSrozPqSQs%;2USmyQPWWgaiyq|#XR;22Q>HYNJdn7U-XriAc z-g>{5yEAoAvO-~n#eA^1oK_x1GPj4G)ttbQOJ)c+TIJ!|?D;s;a-H;CXbo6oz>*ea z4aYc!57kVW+fSd9p%BT2v5QGj@?YftD>~C!=*fzTU}QoV1ZmH%z!K7wFZDt)#apF1 zYa9|Jxy|85z`^si5lNU7kn(dW#shuNR6v$18cep8o8jp!UnxF zeS-=7PAh*?P4;Zh5sW+tj<|c>$TxsGQJpc5U@P~!0}Rn|gf9m`vNJ1a^9a9^l9PtL zp$cWge=?S<7}EvHnaFOUC`|vSZ_m#`*%w&RRF*!Ntmw=M>6PvPMjGrUY0BFEyR5jX zxtnMaE3n9uMy+CSdaY3_jY?ijoxiFx+FnXvqLP$pF53LwP7RQJX>dQr(JHl#%>a98 z5R_5BfJ<(84-}c-ZfCWW&A@lBz&I#UVEu-jrC0%GaIX7l)+A@pgXp)jTWh zXL`+Ae`QGI=)@j(u5=vgx?=Buh>z`;uEm!p^TY9p_EJm@HFVZaKyslkqaGj6JUr4q zUV=h!Uu|x=hH7&GgTT;j%yM%Vgi}+`)NQ>ieO`vgj3bKoJl#mFI9kjF9Y(?62|hOcb-*KiJ#e`BJHCQ*#~yV7yq2 zuev~L4U?46Ue3xxw%QtR2WYf}i<%O<2Nhc?eCFEh)szWfLif#d{4JKV&l5o=_Iv&I zph@@6x9^6s0!TVJMwVw&%FFwvUe2T>fgyNejY#&q5(#rH^;#niiWKm3Y4F6mK#Io< zuJ`hEcqD^qg7AL4{&75_AV$grVr-LOg^tB(|GP~D|O;l$|ANMB# z?aXU3O@CKyrT&mZ>ODa(IZFqnqTPds^`NO~5ce87B`${!A}GwSCX>s>Vya6In7(r# zUqnk-oKK7OT%7KhGgNVEi9`G{VM(Hi41s1tg;g2uMMXHWiQ&Z~-sj_G&lLkRZar|&t5L~|&}(NW ziC5%Zb2XY~Tx!txNI7K16Z9*{U?-An9t`$uEEN zeQhTRGCx3~53Z64ycLuVz?}hHBUYnp&SN#1M8T0PIV*^_0*fn~riaoyz8aIHSeQO5 zNtBReHdYp?G+W{Pn%A;)_h|n;if~Iy?SJXtA z(Ul%u?UBgPnV@jO6u!AP5162WMFtoE-iD@am98$c6ICmkNTlfA&hn-d49~76K}vV6 zVh%w;RG`V9X%Q@jyiTR*I`&GrXpsO&I>foDu4MtsiM0H$ie12Vi28Pc0+!U+1mboJ zk37FpZYqy~eKx?634-aYQg^{u38on-s~Dvoh1fWF2|5A>UPV8c{z;F1=+F`-*);bN z6+fB!y-xMT+{@~_rotnaB*wd|>XT{6UGA-RU`Dp{WauGa@{5xmF2m}8PPzh3b>AB= z)R-iNn7CT)rL}B|Nu}buwv$D3Nv1z!Wp+Hvd{|SzSCaiB5WhY-z~5ZHeDZX^qB_i= zVXx{?kQGX=(bk$XpdkPE4}S0$Kal@NZfFm;rrj`?i8^LvsroNq_oi1^hp^*m*DppK;dNN)vy(U!SXF7v}Wz$kr zvf^9;r(l&UPiFE1PFgxEv%?@TRBFC`tR-W#4oX&pcGFw}my@GL(3C*EhDtCp!M+_y zC3Q&|oxIhKh^Y+!NKcyGDRdI))Zn5NcYKK zqc_j$wD5HxM266L{aP_#O@XND*35Lpn>!(XAzF&JTksPCusXhK#%bpDy!9F`y9bL% z0`Hag;!KaOFYKN@7l)~d@6{=pGu7Rj>YI1zhQy2A6mHo&hy&=z6YU3P&c`&|%y6)i%FS zy)u=1&wfuVvPgt@e7?LyW5M`i>8XInxQ!&DXV9s#Tc4y@j&c0o{>6K z@+Llm-@Vr9Go*+lOycmH%Wq~!Q`y?oB$~RbcdtwUNr$Nnc7Bjp7%LLrQjDf{=`ry$ zNOGc!K7=OaRjTzgOmndoMN??x`b!uBVK;p~dw+TEHb8lDRCUlaKlFCmi%C{2blO7u z=O;5gn&vLoJAWRFBnW*)+5tlFU$OXL;4)LnV?WTt8Ime4&O;>j_1KvTtgx>X6loFz0rI{J%NJX$k_dB=^%@8XAnCdzbHC#K*`5SpF2>m{CezZd z`L{vVs^I(vIP{g>*53fxS6w%gz?ybiB9k8`MN~BFyVZ}ub`=81f@4LI9|VB95;I|R zR3A-^R>)BmlC(VNll(m$9WgDyiYD_Y#D+T{uaBHe-@7ZjPs2Y}>rUp@^gxmlULo$9 zLO#9utf)*6YMF+E6%64a3Qo~r@?1euJz}QX8VZmEJThTkg4%+GqPk%^YCRfDaEOki zLkU8MYq<*E)KjIyoH0&h5DRmF+tOEzpn}(ghk~c94zS)C`sl?^_CV|HyNn)+;%_eU} zRgAO8hi?= z^7vlz#46C_mooPlfg&H;JU7u1sE9#a^h=K+a{T6tN~s@HHxG|x3QKONO_x#VPrs`k zskzRNPv+y~1fzyWy3Q0v*lleEu82jJ?hWj8HeqwQf9A=3W+~_azoQSIUy_70e);70 zC|C=VL)#Ljx7E8TC4i)Z8kMt~-IMXfG4A%PrbaUu}XhSBq*?PaoIC=S#1Q@%w3 zmC*PgTVhP4Hj3$USL1657>N*K)+=vsdW!msc~Z4`6JU7Vb)e+MJVBA5@K>eW<7!@p zf+0Ls87-H}A-Oqvy%LulluHx_N7eWQ8Cv|;Go8a=+FP}SRUooch{JTno635ers(z6 zZt_rM!GdK{l|-0dJ^9zIrw2;L%>~<=R+Rvf4l^Y-U6&B5sLWVk-JDC%$dl+Hud?Jp zXvJlAt5+%#K+?f^OClbN>DkyFEl3WSA~l27{?2C?mhVL+Gxlg%62%qq|7O({U8cT! zgdi+jn4l>3mTzarD@Nve)I)$G2cjLJd*RWDiiv72sd+u)L?e}-xQa)?0du!m{Z9QW6p&0xul`HG3|#Zif=00)jr)CmbrX2Ogm z4x;2UtD!XAik>;kG1)iFngsf!=ZiPrDJpaC(0hCeL-g?U^Z8sKpP9kDEX)Q^4^KY} z3V~s1`nyZNJ)6Hft6E~FrCGhar13~cj}m6gT0BbP5I@nVKKLy8-)b_huTc{~(k1ux z@g=^PoMJP_u2+9|cqD@oeL6jH511$p)6torRi~^Y25~zLhvT@#>|*N6K`9Q?*1~GZ zt4f7Ms6j~zFWepGZtsu2)Ni1fGF>^`_9(y?|lwPwdl^BUf zAvU^_1Sy|wJ>7n}`9jUi>RqV-k`C5fRM4pBgSVCyml-t}P|*R7OvxO%L&Ouj!=?A1 z)jLM(Isqgd)Lan9G|N+U&gARa5ELN!U_m;UZ#^}fpbL^}P~wtgs5Tzo zRLb0#-RwQL$%@^8CK@F!2~>@ysX+&95|762V9G|%$MPJAjH4o1ZR<%$ReLD0T&5h>pu6B5lv77n8T@!%a2ZCu<%m!4Dyc?9meQ+j{~MfFU+?u21bv435-> zG3BV5+?#-r2uE|F&@FC;;;IH~=Zc=k?L;+hrc%nCok3)NfgJ0EpouKgrzi8}Wp)~F zT5Q8n7ebN|7MtJDAT%$>S`V4Qr0QlCfJlIlPB5%1XVIp=P@YBSaO6o0fiKp5WRn1r z4%W>GS~RhMlz5oSN*hu+6j{VekYgLxtkM}lt6r+sNaRTKl*8$5#j`U*z5`lRqmmc0 zK6)`7e>dHmqFCJ$c@g3$sZlh83N__a10^RSo0(Ph>TFsXRc2(H#4@RS5J;-x&&r@Cc^>iWo1 zKypFz$)*wCvQbQ?Fx0n-4vZ`ixFk@dI7}P5H{KLQt;;$~-8HP)HD{gG(b-2aXC%WD zJ5D8bV#;DUlo=X%FqR@6cxhEGcdM~9=c`XL2u2PB_1!^9xu#5CuyWj@*AgVo-2#-j zko=d`dQgUJH5hv!A#eX|9NyNtn2&IEOuqN zj#N3=i9lpP;LPt4$xE9)!lOO*hOQk=C*8Kx3rb=P=f0|mDre66XwmfD2DGia?B^lL z2%EyidVTeRUN^yH)xJm{Bw3;8lLMmt-OZ;uGu-s)3L~w6BNbc|T7xe)e>Zyi)#l#l z>&+LhHK93^1z`^;X%kn{>oXXl|D@KSxxe&MCV-@aw)$p)EN2vH%H#2-wyG6PO2Nnx z;y*4xsCr^r8GZWDLlM6-mt=V>26I*S9Gf{H;zQ^pwQy73Oc1@Em!~l&L{bZTUt9=) zB<+x%WqY1e#6hw8=GfG^-G}k%2u{@A0#{lWd_tae!X+BxB2w9N?^@VEh-&XAxVfWFN8+7-HVcn%Upgv;n4s^ z4s3ccZU`MBuOI!}<@iJj@hUp=v}hoBnB$VWJ7jRXx|iys5IsnJTa&z3Y04(AaY+tU z?Ng3@jw=p%kW{X^Y;H%@q+hMUWZRFRx zyV;{Trcx@n5*yjWkxIh%I*a;FnqO#f&%?ozqwe zNvth-mM0>tPNK0$LLbVNst&P<#ad1ToOZ3il38?!xWd~@sVR|L&8Cu<7M*vRA(5lo zvE+YHhAPY*YhKSw@6gDEl; zgM)Q7dNx~5u#c&2-`-C0I|@W0IIg*J32ZK1xt>aR%ru01mzBmOX}5>1FZvwMG)RJp z!m)vRLTqz?MfcsGL-gKU7tSXFO3p;nAB<-wr{g^5;rg1s!y_4X$*5RPrn*LtX$KTD zrl3fHYmuoP@B;7cWLtJB_hvbk(;-`+0?yCSd)kXv->h>_^Khg};yzN(QnqT`oJVGi zT6fov`(&V`g%`zT7$3u9nZ|U8&Ew%>UVC9l?e3i8oUV*)G~79t_0??!?wHQw5FPp@ zoT^Dtb%|v9l7?zHO%q|Jf(d<)C%*|BcH^-N74HopSn z7!GxD3{(^mG)*k8n7dwPSY$zfAk|;{Z*lHkbz{r`!Jz8WxFna$|G(SbdAhgtTn(wI zo9hn+5sL6gBoIH{$0ePRmJckLdP@BD-q>UUN>VJX5K;PFmWF65i=J?j;1C_#rx(GI zDX~b@mFx(z_Iy9w&|toOx};3owAXO*;#Yw4GvJ;1 zaH+QwQchDPs%WXkA$-@%Xcxl%Kq|e&?23YjA5xg451(Ix{YEUGt@o4Zx!lNpDb7un znruc=`|O_rm8^ds4de3rDhVX}mbp^Ch41iDH87 zO@Jd)II8iclGBXaf6$Qt(*u!C^%_bMl7!d=W7mpHMdknwbj*Q~CC-$~L@D1OG>NJ+ zm4J~5I-P~+-%cmrmNH?^RbMUo4vt)jC)`zFuEeBF!>m`K7qFy;w-7da6u)@8Grxcn zb260-zw9YEle=f@ zPDB9szJS=CNQ{$QAeoT~4Yn9-g7I!+OfWKeUMz%(g;8~NFCxbcM&QPYDT zK0WI|Ni2RqsB4LQh2nVCJeKLb8A&t}Vbcwp24qOijnDFw5OX|xc8wH|Y%s&+g38xp z_mqzsLNn-BTyr4`!Nm*QAAPqxJC`f7`jH%Sz$W!;$sHP5Ff;Bf&FQJ9V;I+}8|LD^ zD39e5D6&ZOAw2hjQ>FD*b58(C2VD|28keF|eWSrNzIwNEQ4kR_p^WMaUldhMszN?Q zeWjS>M8brRc#hJ*=g$1e$vk_^-i$QP>ap$`F4+;4^I8pugnEZFUC?lS*AyuQ7m}ueJ|K% z9Ndn7JH662mZ|Z3_hJXdZb&j(^>qSs(3fc>uEQWOwh~un1^cns5fx!I1*cMJMWc}m z0vbK)GVjOa8E~mR8hMia%BOw0M-uc-eEt1OL6TB}1zmN%tRRP(!meEu4MYYQN3hN= z#+4T;Oc|@3ZzND;!1RP2$WNc%h0Mj$vkMW6EEuVvtSho+#vlf?bATfcyhmq=IsXG! zg=9x~GG1oEPSZ`U7-S_PIdL9ELn(_mD@AEWSbO)`9F@d~G3u!1?)=@V@B0h~H9a8t zM5`tzM5=eDv=1B*MYWBQjC&a*==-Q4n!&Pb2*}AnwER_$w2R`krkbi9Yb!J|Wts0@ zerx9*rn%WGFHTg|gLNeL?$G8jb~xlfe5+>AyfCT?p~0)_U$sxS6&P7C({U-~ z^IkNmf{)Oc9av zsLkcG@`AKU*_$MyAV~=?-*r^RB>gVcO*6Nm(#-;pj94SVW~`k4nQNrSWXw+fKI!hq z<@(E9ATBM<6(469L4zgzKp+1!J*(|nW&lR*S{jE0(2#Cwk^`MImSqlAWl|C-vS5d# zI(d#|S6ost?dx8J65&Y24*6QA(l;e#*Xd9KMHU2A%6Hu*uv6Z#Fi#Z9`VT|U`~qlb z##(*&PIc21z}_>j07e>FNc*8!$;CK}H`)StwWNIKI3$1>5Yxk9)v8{YlU0a?f+7Wi z6uyc~zD&*NeRcrSp%5A|C$Y+lDnur7%^G(oMD|wR=$cliV%adHr&0Z(G+}U%fjO zz@$4~ICk?jVmd8V8FMfMN60{X(JwDgE@tN^S8B1CQSxC&I${Ra%Rk>;UL5_)#r#`b z|M;K(>mUAnNA~;?9&%Ew19vo$YCOebE0gIjrteXmc_{@zgF1M#7@s1Ryy4I{A}~Ar zKtgw;quKKOWUMh@7-Hy@6qz&RI8wYxO_(_9l(9TBiFpz#RQ#WYTLKg9Cg1gjXRK2=d z&Z-@Y=;XUOzI>Ct138e=(v9H~XH#JUsze?(vfwR`ERZx1z3NyDN%W{Bxpy_2o*a!3 zYSC|(4eaR6ObImU?i|82n!Q0KwbTMz+e}4t^4&N_IatLt5JRHuEnU>cZ|Yj~92&9j zie2b3LKMNj^*dDE$hC-F2T#T@S;Ye0X`!@)&(D^_Cg1&}jp}2Qib@(+r9Jt3j6Hq| z1wLKOCeSiS70_nwfJk!Y7&58yWzg*8-S;z5YWdsfYn#Rno{V=;QDG$7O^xX~c9{rF zs)v3Yk?ub}pW+ZlF@Dn`HZ78xlaT$k%*Rm{y&0IsZhhFh4WY^P=~6Byx#ftXL#@od zURy^s2f6RSVko!Ord8R{QDT$r-dpTh$f)pV%OlN{m&Igho`Mp^y3OrJd zFQ5YsFA*irB&bRI7`vbXkCgI&_1VQ+u>iFMt%Fj5lk#Erog*0rwLqI@v;(MWz3$H* zpTwUhe>j^X$x7dhKWJGp9fU<47)bu$Y<~8q>0(}*0!_RvLaZ1f@A+ab#oAnz7&X*u zncx(hl=m-PdALKdofTt~dN4*f#U|mWP6yUC{@N5_#zF4S7gM-16PNQnIu^@Pb$LMb za|iFYy-H}Z-af`-R(Y}grtLH_L8=l=U^0D*HH<7wNoXk+Ym?;K>ONy2^BvjmiVV;u z8L~MeHrehT;rSJpexv5EX_44;9XR_$Mc6c+Mh}TgqK9Kdcixz`eQl3Csz|d@n8-9UEfMNK@QcBsb(;x{EWJNiH#0)LOuEquR$zy}%ocMgS0u3PfIKho#^ zO+g$(YyvE4?jkBUnHBE>4IDn&{pldda--N82JSs{0%>%`fs*28sUrur^NyosS$k+Q z-E-DiskWNvj4mb6r2F`6tZV-a9LIBRWW#i?DnEXEaeDHfbdX5!2>z2?*hj@o4Jb#_ zt+1FpKI!k^`RDH^(hz|o)zS2%)Qbbz)}4r08(Tys*FD7fzE=-8!6)ZKxA%A@Q|zeg zi=;?^At53AkCABY^P$~l=MNgxme=$N#_Fh&@DuKyV}B}VxM@{dGu%Ow?cP)>oX*b9 zFSVsKkgn1R)WsZOcGTk;xy?@w2CCM5LP6TQuxmy*e7n@{f0Gy+gWDlTvUkXfEl0G; zJhQj;4m|RmOhzZu3wSR|a++ok%MI>2?%UyjtETiiXtLd#osQr5^EgE}pzpdFY}qvu z{EqVolRbmysk^v7&JLfP_Y=jSI@)9twsbTlAZx0QCMdF|n45ILip-9L?4OJFmBMaf zA(o5uf3yUT8W(BF#E(crXT_07)8Jcbsaw&0m6G|+vFrO>+YL?Tc+03qbn@LgEnS>- z*s1}RGS&`(Sx_h{{qk=QFCoZJJVpRDqN7 z-r-_8{@XM0?fJ>gc&YCRzo~Bi8OMVAVzWXPV`!f1|PEAs55`N;Ht`iZv zu@;D?71y$_YYH;oy;xj*QR=TX4Q&TbzE7A30SD_+E3$zl#!$p?^zdlx#AH-CjBZ+i#>iGENPq8q4ll#Kh^>0M zHm@5H>cn>6WUYiCWt$@oB$#E^q=F+0mt^4gZUVj%B*_HpIb8M0PTKNY{`6St2_s!wr;yeUd! z482BANc{pXms69=ZFQUa!NZgF{+pBeA)K}EX9=g^WQ1obDdR<)s3EJr-!Mop$mU~Z+TNhsipz5r;8^TauZ-lbN^_LV0>jHo5V$gaQH$-3Qx|vQU9vmHOyU$ z;*A>je&2r96l7~rLn#3}cN=CLf^7Q4sA(%}VhrGsO%9XuB=vPT0mO|&D4U0yMEaJ{ zI*5o%qWid?g7e4kNtdMHWJFk0Ue+v3)CPI%*Ch#NBOu}RcZ<{KR|kaOj%SarOA70P+}=QS=|i^QMQV)DGqC? zXk5*3z@+*V$yZo?CvpyzXWXwXoi^hj_g&m9Jee=^)YgG8O|#H;$RxXiP*J(^n=Dm( z79%#ejIyA~2~w;i*75c}@DwT7Tip!K0HDxhEm-S}piBNlOP#zI)KHwFTd#(;786@yU7L z>F!Fx#M(@zlz^urF)-j#3R6BH%-hm92{=+~$I6D9RdwxWW9MxNWO?_&az=%%1 zkhNG`3s{SVA&(mC74ezBuGy_7wJ@4QrfXY0RW1nF)1Sh=I^r2&2ckaU_bq;Y*S7ir zJv96b>>#zv0&CI<9XRKko#WuyBg-T>7xXnoHt?fWapM26vp*% zL>E`Bu&0{lu4#1!aI$@ldyEf2x<5O6i-HLkW7MEgbJx^4H8WM&OyS9S7XkRn zCAOxeXANfuO}6{)Xr*!j-XxtZyG2Ss)=%RF@zPKom`8gFX1I~B+kwBoO(Nq6+?Rj8 zERNw-IM7fDbZBCLq1TztHR-tHX;)HaTiyK$1ZrF zhWa-vjZB9TVMn;&KEGIwMhfk=-|>ennZU0&?(Q%M5Cpw-G9Tw_Xth-u00?-q)P1WdDc_!O zAOH9N{@>LUZLFk1Vn3y55^g#@imNdVs;;Q{9nwZb;-}v6nsBCV`_<+rLPXHFcy_UP z;B+<62tm-#MRKtNPNt9Wf4&{R(YyFS74ynUi&z`PB8`LuU9!2Fz}3DzLJ;)E$>EjG zbEE`tH4)V&VsbzkTx7r zq*zSfT%L><)g`hTML;SR$c-YhyrL{iaVdW9$B!RBR>J_({o;K2FTaqwo6E;uvpk+J z-u&WMzo^LCFC!2NrcM`=T*6jcwh@9~_YhT@zH>Db#wU-)=QH)CtBq!Yv>`~OcyNaD zdty6GkR+z?S6g)+X2Zh}{8JpX%olJRd?ytAzzZ#vfp$Rf8v+msZh2c&0k5_Z2LJ+o zDq*G>M!N#M+7}0)jf|jnPi4g~#_eNh9Dea=8P2{up@S%UOx%F`QnP!T{O^p9xPKN_E*ID@OZuf}8`zq}@Sp~A&Rf<~%` zXVZ5ulds?$mj>Kw>oX#4WTxEdLO)pek1HuCY0aIls z`hOJdkJMgVO%wyvMuZ~C=gB5kk;>J~uw)y{1oU$k3+r81tI>2=`NAr1KdiQysp}4R zXQ!u^7lqxsn%U4{aK!IMV^uAq)nGde!rll2;qOfn)6^2T(0e6H|T8%@`oVBTXt z%#6F$c68^l3q%B^a#CNp8fb(d=qDG5-NCLys4@>+3_RLU(RG3Yt1jRW{x)5dbTzLw zQA8l*-B@5njl*gp)nO3!N8imB7nj(*r)T(Yb628F5v->A0~$u8LnGCFA0&NL980aX zfq9e-heGHZUtG+8r9OK#oiDA4b*o|%tY&UxmcUI{I7)rpYLN=xp5ONw%%ich0^mm# zCdO)8hCn$}0M3+yBFQa(uBbkGwLu5~1pN5TOncL-O^~!E)I*BwDcF3|14>6ot?~d^27gA`@oZp%Yy_%MEE_AkMqS#J&90z*x@=V{#SxwF( z5|pGMabkZoK14_sI{wiio)@loqpJ-R(KZAv^GLf2e2=~I3N=E0EsNzqnb^XvYi&y#uwt+&wmy#Cpi^=Jch_%n1@wgi$ zBzt+!|7myg;43wR1KqP|92W6E_4u#%xAvZF?r$lMfx5UBN5mt~&pgjF4BR(++Xq`u zet)p_^wl#>IB8acu!ezUo^v%T}>zGC@+QH*%x z`7F%V&Xd>ApKtALJyT2rR;$&Y*Bv6cDCb}8ZEZe#w)N!omx}B|D~bJs%>&)74;aA|l5AlFzuMgYYJV$} zj1Q2(h)16LVI>z5F|cD=;^)PS3_tV?&o^JcIQVLF=h=&`JvB=McZDq?g-O0oJm1$) zfv++ZIAG#gRD>f-ki4zmZ9RQ`u=(VLlDz+Y;|G871Nnb{{s0k7ph+5ra&!OpJ5RTv zZu3?A0Yj-U$rrY(uU@@W-TU(gY*!A8_+b#YUv2GR_kgZdg7E=kmmrcWhy@nz-ofi# zMf3q;K{&F6W&3LPVEg6vAM~hwz_N{as#>+ggco|9h!L~DFlxR#U6e3ZuthURvbTmi&yYY;4>(a0m&vwY%eAK14;ai zm}J8X8OsYKmYysh*XkDxyjKw${sIXJ?t2ry_{WG!!dpw!PMc^adcbgIr+h0lZ~=(G z52vT&*~w#OS?XaM$mu6T)?86#e~bPiG6``bW2$DTp)BE$nE{uY(9%Z1IuL&G%|BjFvm#>yIWNR? zjTESdA?lrX;|1Pic%#LqVI0^_Ve`j04)-s3n-Yinw16nM$ z9_Ciiq`rfNkH=ol^a5>=dA3vI${*vf{%!oW$L#v-48h`)6I=y9R2@86+u)`Q?B`$g zeu(;rfxGn)V0e_XZpM+gxqOQR9!1umvRorI#2$v-`qUpVVJsiZMy}u+%!RJCyY>_e zhVEB~Nv>O`%UM2Y4I7?srTP$n2z>AS%Dr-u#}gY=NY_#kbU(-OM?p~0xJh=#_oSK@J8=^^D)i(u7s-L_+J$XF6SWKsnw|v#x1N?Wz`TPF$ zMP=E6gc`RFFcppNf05GgD{h_R(VA>oH%N$Yr8*ga2rN&okC&5~PNQwmQf#Nd`D2ug z8_V-|dZTQxP^685bs+rWTg$h_f@~NH-%7)JAOhc+>@Ma-=zYK$<>cZ#PMRs~h(&aq z>+%49`FMP&uXYSn?#`)Fw;_-B`m}k!1j{OPeSH5+=0IS&S`u+3S*;G>3)tRH@?FujT*9sB`0kZumj~C?19!3Fud^A10)Q-o1X%(9d8w(zj z9Ym>x!yOm9(tsVBDQrS@*uDbds^1-o8fxqSMeLiCx0h$yqi?Y6T_c6-VTk(kC`i$BayoF7 z#ZvyQe;VmsA6{@B5fmsdzwUT8D50iNv?Jb#Sv zH>SAbpuW68$4MIn>p(ale;r4(n-lqI1cyd3?X7Q8B0fLjhL{72t)XAiM)k{q5c1Qm zUxm>+U^c{7!}6t^$OqoXtYi!~?4)U1)tmGWQ2_4CBs`v+%y8LJjn_bzr~{LxiYWO# z^4vxpnZh7%&|9II!Y34Greb9+W!P1JcGf0s9-HJpiWB^}3z($|MFT}-V$)&S=x|B; zm#6TVXK+>~@<8m_o5vw9R9iz|_jj37nB$~YbpE%FR;J4t_uf zky3ZRcEDu41<&+t79?tL8htAzM*%1TpDw?fWHrSbfPE_k9DoS?V}CjVOBTg!E||ib z%E&kNOw}+HY3+XymtRdOi?e_d$aBI@d5=4Tx9-(K9jGK1+Yhf7?$rUD z^dIN(iv}|<4_^ob@$M&nyy`)N>P(udNlbo^JQX7ccgLaMGJk!2MoxrhS3kzct1dPS z9h#`F2?X&zqeB6IMRq<7K2Y|WYJ=@vV@1QiL}YT_UY=eQfwzVoC^So05c1ahqXh&_34Fsw;9Du!07T$>@1}=`i}|}e($)~R z=vpd*?&mlMH_xx&*r|_ikQCQQL3!DBY@5cxjkp-%2qAprSLUsCoGToe9kq6+1&{a!O4d7j{!4 z*Wx6Gc8Vo}5&m{KKv(DubI)`4)UqQKv2UTY^ZS{$K^o@4x6+^Ofe8Hb+ z91f8`^}e2~WRT}SHu&7SwHh$}r`VN;X|hyagP~!E&YCOA>~E11QS{l#WUOtwhFvE# zQyhfi0J@_wIV-`AD*0cTC$-bRh;j$Sw^n5IKss#F$|G2Eqbt{OO$vxD6;}dCl4N_3 zfLm#VfB5#$;ga;WWFEq8RHEK6S)p0hCl5vJkFwzRKxqTc&O)Ey1At(+D#w!z_J(hz zJ~IFj`0t~Jh`|k}Sos^1dgB~0J0j4qs$rBPXW<7ukYl39%gb}Qps(ho!7y}f)7?mc zk>ZXVw&497-L(dIwo?PjALCpl8GjN{tL}FL%BOK06*PNxbAp=u`T(!NiE@oppF9jv zf5I$t7Dt~hkW;Sara^rZB%L1qrh&pn+&ShbPBKB`N=#!zX)^yMd~| z@6HtQhv#m1Op^Ug{wb(myqF$MN{{jnw(XT;4Ru-Z@M|6{=aX-z7YM`U>bF7i)3$1Q z(?7&L3@{53MjRVy(n)%-Omwa`qV6N&@%cX1CbjGDqtd)+^A z5oI-t#!>K7Zu$H=)yoDo=v%2y1|S08ySQ9joJ^0Vr@9bjgBjynD)0o11pgs+KMtb1 zH8FaJ2qE(PRhI_NY$HtDC~6LV44!X7h3`WY_*S$H@)#TH{zf=5e4J;*wuHM5b)Kp~ z5btkdzq8>hf-D0Gs}Ww!fQE%Zb4!kC=W~gEAeJh0EVNL%}y}U!rT$#V8OF?;?Bnt^p5C z6rMm3FWlmeRmIe|4n#xfFL=KxHdj2^-y&xcQWQ&bR3!3!cu29sWk(+bv2xc!R4*Hh z^t7$&V)}>JzfZ+^Cib~gQYlzU23vl^C$ZmsC_pCaLH9Dfvp*s#%sW{QGP9Jg2= z;XBmff(flv$$(==31KWLm1zDJG0AotzDjFtT}#E${TxZ|%cFUhM>B+R^mUSkgRP{gqDg*_JRiSV=);l*O@k&1 zS0Fh2KVqfqC9cgLkN$bI%x;zs6j`7wRiaQeR8n%ymxgxxns;qgr^1@|prpDj=c{kd zF4ep@SO~RaT7e<%O{YXxMfI9DU2z_UsJQU7fXRm^#Pk%m2x@Gp1|O=fBisBsv7?$$jubR+?xCYxPeEt~WZ=aoAE1@zpQ{aT+ z;NZET6ByZ7E1xW}okHi2@zd{0CB_MI*7fGtF!r&bB8b0626uXWIA7V7m6K{TQ|RHh zh@F;cxO#(msUMB4p-e-D&e^$pF+D+`0V1y?t6}(JL)F3fYwY4D$lO3w69<^52-PZ< zfgDnslPZQ>z_OYSDkH5yRzkzZ}dY5TAML`>d>p=L?x5K@9HOLJEQoD{%C}Jn4#D|mf^Y7`D zSV5DzD^@hq3%$XzV{+uhOfUB2_c$XT&GlqAc+xofOm`pv@S`6DTcb>SX|S= zUf?F#ca^lIf!IcL?1n?K3Yye+B!f%#Z#6;t_Bf@qd~)3A%ihKeBm8X0~jK|$woE?D3M7jUygivgMD+%(nTfR!ZB-QZ16 z%lJ}*&|QRfs&D);!rxk+9lbr$VX}rv_pKCk0OEJwM6B;j2aOxtIoC+RdYFj1ygVDP z?B}~i3f039^~UApOgmN$T2X2>e5&i6UWVf!n8# zk1ugVot+CcsE86l5te_B((*B`oT)A~7}sc`;Q_(Ue1e6wIG;SOWN$RM2CA{*P=ASR zcO^_aJ3GJB$Mh|Vf(;c*2gm;0^QMzrh)~1S5ZdWlDvs{wq#N#mta+BI+0qR*R20Yj zH8OmhAIr2%^Qm490>NSVc)8SuV*?(VsIL?V;@vuz5tTp`3!(b6EdJ2)xvrJM4L}5bkQ`{~wbUT%Xf;>g)ZdJ!nyg_c&f5PVPW6p<<1FK$VXUN$qHrMW)g3wc zEF9kkeZY1Knm@)bPEN$@!PgHz5$|x>r-$Jn3)<-%JGoYM4Mh`TbC&?3IvD>HkV$!a zhPYlX$PFqxG*cXeA~p)SEU!`M-nUZ70f@jz)x&$B7ugeK4Rgt zEJN2w0ecvJ^nIrUD@JWYG$?7R7?R)P*UQEC%WFI@;94p40K^X5SmFdqjY`8JmNptx zKnQu;)hk05P@0g@Abp{k0wz?%#@U!eCs)M|%@j7Fh<&S)*WR%G`c?`#0Cm9d^XED^ z-vaDfXwtwCCR zD+L;W2wcl(ch#P1HyziQ(XKf7F^NStJ37->$3N7fbATk`eW|j>c7yF3?n}A0YG~6x z#F@JxPYWx})SyeHje>R{{Q6J12ob8upNMG4anr38js8>Y!|iv|@wa&PMs=fM{e@7*CQVM~|+;A4MgW{cjv$gTSKx32qR^{P|hGpejscr=z0yB_Mmf~&@un;eBZ52uS zhd4P8v#`FJq=u+;)?5*0e~X--#EKk6(ewrzr)!*^PISMfS4Qr*&Hn9JZ|)5SAls?_ z@Wp(d5w~*?Bb)=@DL8g2w1si|}46`zxLn!oyAy1krisbh= zCb#^>Cq>cFf!-Tb5x7>lP?qm#ajpw%4BVAmak=|@A%f3Q{4{83agC9Fp?cY}$M`$3 zso-XSBuWdY%@$?thJh$wV<(RYOG*?l#&G67Uc+KxJ0%REv&E%A6wdLrLbJlZ-}IYabQrx^qA?U}?SByGCzwiMDW$&Z!1~nGzHNmvTb~1k zUHsSUIQaStyO4#$|Ir(LPqe{De50?|0)Sw*YcJq6$Vq6XhL2Fh=1Fa(y7<68##svI zvA(h5QGba&NfuX8FaN_AmxE--Zu#9?t=|S?C+zvD!VW+LzKzQIhj~S>hS>MyYmwe5%WxbdNVRVfYwugzMk>4|E7!5R0hyp>pPn?5{WUJZ5EX%ZN5N_32 zaj3sUwvQ)EeXX$J>(N9Z3q<((%Rl3;+0nnCK*bC-!{jaRk2drk@qhL25uDRhx{=i5 z!8ZJ_K;uAtw4sv-8y@IOj?ofeDMA9Q4p*UkYkBGN6HblQD)P_4}1B2r6I52lMHYP|>&d%vtCe**)l7BhT zi2u=sPW5ZLA*w6uc0(^31%rY7c%XI+x}3>%$NY~G5n}?u#Pq09A1Epig=@J}nuEd;$zeij$eYEk78l&rq$~SRz?r&^d;)H%f(rXoT!#3BQbaxUizon4; z^1B-ws1=93R4d+r$Df-ADXOu^K+@YA8!*K#_1rgfY*5z+NOE8R&*mGr#GIETZSdNM zlw1c&riU9FNM^&kX&e68D>YpW=Uqc=8kmef!K$C1Z=6iOo1S2|SRl7xo`psJzy1y4 z8WUJ!}2~f-5BA}N& zD$}qP4b6Fi%CEcm^^5P^+iG0K9ktLR0 zz7z_k)YMMHzR`)sfY9J!kVLU{L%*$hblrj4jswMQwn!*zSX{<7>ma)?*JmKt{qiou z9UJ%Q%)Q8`hNR)UhbEbj{BA6y)4W>cj=i-c4^-!qoct+Zlk1}moxrg!1#}!|`=gB~ zYOt<53r`{<#z(Y|Lj3?m$??&~zpA0X?%4cmTy`IA?5zcHFCt>GxtI&KHHF+z z#B4~PMof;yCvX~uAJ7LN5(T2Wbblus0 zALj-u;b?k+YBhR^HGI3upzfUE@N);-eY;M!YKRpys@iev4J2)Rb~Z=aiFWMQsMaHX z*RL%lYS*2Ut=Nl?HnjJ?*0^U^81ADDoq2WL5AX7;K8ISxtIijRd6{kt|HEE{6#U)= z(FHzoCe8$EEaD?TLpug0upUmP4WhuHN(pQf|~$A{44!OEXS*P|Mn zwo5~hJXX77++aFP@L&J-EJ4Ar{6OJdEWpqy6odyDzi_GB8q;jq&;H7yjfX%)n!X!#+IRy&COp z9lYM#89m>8v9AdR5+ecuUcl+#H4qtovU~OQc=77+-w|OSeYLguY_z?ztp{#E<9Qx` zcTozVbZj+Ha(>$N>R|7+?vy=h)lNAa;{P1@uXnbezIwJb`qx+6JEQ&AdwZ|G+&tLQ zN6Z6D+;cJFIo$QHL?ag_O$2>==h^n&)>ADZ1EoLu`xKGL5SEf3 zH??$ap>T(wo%G3<1{|W_bwc<2>5l$%a}m{q8%xOn5&MU`SA#2Pz^L-$QzI!5$#xq( z+28(yUN-{=Nc|KZhPZ#7$oKaCNJJ_w95o#Swy5XoUpECV$)!^Vzu#R)ryLA%gHSzx zwfFz?_O9KL-A1;cd(E1$CDr@=)YGygcl*e;eEZJytown*VyS48ESh9Vw&&iPPBN2Z zs*;)MeAGkp7yNPh|4u{z8wUa4oD61_Zm)I~&na>501glc1R?_4Yx>KtG^jid&}q6q zcRHf;{rc0jz0RL#RI9#fF-aTxssISOi*61+dA_yP+0(Yf(s5i`Z2$!PD-NIL_p`mn z`zb}s0_vJlqKL4-5_Q_|AN}=U<6U-I1PD6csQrVz&Bq&$-$|n)EU?_xlczj!T1=dV z!4MW4nm9EkNZ+r=gBo-#hGp}Y;=uqT=bv||Io|Ntd3GSi&GyF5!G<2(OWQLRyQ0?1 z4VY*Tjqgb7sV23A;JPL)QK6w_eh&Fhs5n-dLjXb>Zc)!Y+W3~Nj^^Zz(9*N&8kOR&({A`G?|vF zx#Z)dSP_qyAx(zhQq!!YPS;~JFh!r}5AXUDMS!6Dh0{98Lig{@ZpCJuLl{7fHU&G+ zcC;O^bg3SVLm((y=|OW54)AF!Ra=GWD$o)M-YmQ`Fc}IQwA6H(2iDTzn+zkRdrG{I}f)fBe*W#ZSCU5?u|N5w32ZCQ-ACKtT1P%<}m`;=ON(Ki` zK=YgK6b{Y2g%S{ZeToyMf^Ger&T!%i6!FR9A%O(tMdY(d@}KI}mN@`7A%0ny@ZgX@ z@Ncf{hARkMZH_3olWIG5xi7a}#K<%0=)9$WZ`M-aSJ>_dLW+DC*&yQ$O027TZ90>eez<&jeu#uR>8nu7<21cLYX-^{2u^Tz8W{m6ixHXuR*`W+s3{!+AAwJw*V z)@BU20wmwK)}C6l~*R+*{u4uKi{Rlzwb`z zDqel4VbCx@kw)Pmfdu6zuF=B*7h$IH!r4-1^mD)Wgq+&jX%?d)W-kVey0wh~!dyBW zj9e+A{EHfffB0>o4NndW9M@3;aC3WY_YYL^C5`!R*;3$30z!E35aWUDlK;+plt+g# zN@*FU14c8k(4}mJU%+0atTl9D4P7!swIXY z2^8ruJS32yytXr*uRTV{Xx_3GA7E3<3W#94xOv85|D~zcvQus%(qP~y6y5J<8l=Sq z05(;0pBFK=lA@5m!vyI?f0LZ67NR~_i&q0wA+1uQ0Q{BGDBgFagrxo&$pGLEg6;uPOB( zeXzR`Y~6UrVCY+bNax}~BZBZ32i?QGZ7q96v@Pw@fCJ>axK(Xu=U{htI-ZZ|(zBe( za1sq5X$~H8R1klnjIYNF>Q9Pj>o-}mhIl#!C{n05MG8oBH(nGUb$k01(Y2UurPsTd ztroYKiV)4nApgam`fu_sU*YQp93X$BdO+9Lum;Z%y9S*nvHsUh8f*nzOf@{$f4>N7{}Dp0f%Rw6|XO_>NmLf=52Y zI43nI3XdY34Txa8%ZhQLZ{e`zL{jzp4OlJT&)<#qi-%~?lXWTT84PRIx<%3LP zga3+*z3E~?hH>7>29q(>lo=kFK3DRoA;14-H1EF7>HoTXSS!%H(Ty~a>N7V7oZcZL zXUgTL*Mr}M^_jK_Tgt0qu*Z-hQv9Nc0|H$*a3*!$8-|TS`Y{w%V4x&AD&|$?3R@jro zP{6;AxTvR6>MQ3l%tt`T7s5k~2eMymJbRKe7=}RFX#oewpS!9seclPos_n&aPM2Oz z=hV54+T1YH6{xgMy=kO@R2Rr$K!q_1y9Ps>{qG8`!U6iFJ&H7?nOoX!tupL28d!co z#i#Rc_WR{(5=E=S?*lQKNHo@42`) z8&4@|Y^5Fmk_dnY-jF4*puYHw)Y>sMH)mVH(W1e?A&wUA<;~H{?r6qas&uP7~_HLg7*pbGyjociWdBd4hQI$*QSH{=^5Qn zbCiFj6^_zUIPiq;L`~dZOxOXJPl8pyQ;G@FyLusXw~FP>G#uSC>RU0+@&*}fr-E%3qk-ujKIz75uJqF#t`EDj)11+;MgmEVlmaZMZ^o<0>c5d;K){`}c~E_X{%F)WJIPy-Bb@8j6y z`KbSzuLvTIS@aFJ1Qmk|P|^fElyE_Q2Mg5q)A8tp4sI5FNJ#Be3!TBk1sq|O%1PHb(8>5#4nrwcaC1Fj5bvo52 z86KD}qBLu+2@Pk|_+@Dj9vl(~9?lkri z!4kesM+Uvj5bv*ls~N%=(qf)286fEV zDU9$lVv2MN%2e*R&-X3>**QeqEPR5c_m}h4X`|rQI+wW323> zW#ACu9{;C4kfC~du)XEZl`^Buuq}&`ya0{Rpnsn(9bNRRCySxZjczH03M0z>rVvFS z0KV&Qc1&Fni6S>N%LDypPBw#^gw4=kzZx69xjAYuYXBha!vmYq4h=-&*YXNMZM=)7 zsbLgB!3ZxN=(w>A4lyo~N|$@K3#OvsKq&mSu!bkSj9oi+Q5o{KLkrqm7nU$|sz(r( z0vcL#@yUX2pej1aSD5-53>@!oQfZ;WVWMHlPjyR#1oX?^)pXJwxK4~0dBZVK!BZ8W zz;Tu05e~=QX)m0mDvf2Z{nCcyfZz(IrnGf`@MGpxG|&}IO$7+Li~Dp2vq}4JaT2R$ ztuO#I7&xvy?vo+pJWwU?g<-3m_Fn-JY#eA#w~A2M{Jc7r(LJkR6F!=h+(Yem*Lp5L2;$1Aim-4;(f~3;3)EZ z3>&tu9z)t#!~>g(mVDYDj&nMLDuV~z@kQ~MH6jRasp0hW047na9t=J>g^~}`8W+45 zyn`ukpTSs7y;Ke)Kz~0N^~SFXN3kmmdxZstTd@hb*PjdvhmMBRY@kSg;eoBv2ojVJ z@lE+ugjCvOJZcJ9Gx*#9mJN^`83NoK_2<(gcK1z>8g?~?iQqt7gNt~eyM}b15tmxY zM~Pt;q#CS%2)2jucCX&u?e%FdloYu&RJ4l0q^a?X934VjT|XTRo4rW}n=EZ{4hXJm z6r4l1EL8F(3uj6O^WP�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

745*X4Acu;_#OL9?4wMGq_ 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 e`$g zJsB)gaa?Wr@o9K6thkzaY}p&(XYnM4mz=@t(NXxQKiOHzQSgk%nCy_Z`*TF8SrbOf zM+OSF=34&&X_$M+$kcE3NX0oJ>K-~0MTHbC1Z9HOZ zagi4luBf}3=F$04t}Nl@J&mTFV)pD3X_0q1_%ay zbxS0{5z;Tj2D2txwgd_KANv_FNX2>C5~@%l(i!Vr_5~<_=85@WHriicFC0h*3`4X< ze_zh!TJ*nlBomg&uRgh@wm$| zNs~NUTyk;|IziLB#PG3UP8W#LHK5qHQtJjTXHQB#@Fe%T|I-X>%UI>n zkd)c@gD;8>{Pnk8vA#i8>N4BLP;QZ~BYEUo_pwcY#igInrb-smT}P|)7;}qW8@iCB zifP@!$(T8NBNPB<9_rl-sb^Lq>WYVcduFsg*);^-t4Run0K% z9Z$dG>4Q<&L(|x!7Ta36k42)M!ayG1=MJhkD`%Jf-QMQM#7^KVG+6^v%h!^=`?Z_r1gSWReI%Hjhqs=}QaiGVdudCIHfD{toQ=`u^~yvE zQCyU3ZcD|RyPZ304?9RAo}k#ekUD_|mAK!10l(1G{$gDdV zTI|X0WYAx_p)(-G@#lgW&(g`k5?KX%ep@CRvc+`eWGEj3f;pbP&_*wM(WH>YCwG;| z2u771zX50SjuaPzfH_!THj#z$sTvuM^bv!Hyrvy%tjn@6)QHystoY#0az`%jAtqMw z<)Pf2I^?Hl;HuSQT6hT4>uqW}3>C2An3RBtNB^{I$k!Ex5O=7^{ISfKK{4*=R|SJ+ zOk_y#5Ek#lJTQY?5i@ZVVK{O-b*FP%nX*MCb+Qz?W4l!rBNR};6;C(NLwD87#6Rv2 zoP|mD(FHFlbfttLBucQgjWToQ^IKGM4!DHdkNh>*fLL6(>q36IFmm9?2&BNpDV_tE zf&K0`-~8UtZ#kv-yBae%k&4@5l>p}V9WH-&Q;N*)O>K`gh`)1ZjE)kL45+K{vw=$9 zUAb*X+Xpf;5>$=aRyg9Q3F<#F-2T*TK;UROU^iv?M2i3BZhGNFH6U^mRKbpN)A^JZ zfsSUn>Py|!C&gwe-{EgC!*|OpmvSX!o#nn07ajX4VsS-mrotf%G}6dgWOkCnOusAl zB~a{%-Lk>LtqbFDy=`8=inkzd>8xFx|3wU4xBWLdu~Kw}cthu;6*w68l}(t%`;XNy zS=wN9v&mJ9B9e|F^c)|1zsJ0bqRrydT68y&;s`ZWObwQ`f6rJxC16il9lFE5eAz&y zxN*1qH=R44la3@pLV0zZ$X=vL+V5k_UdzaptHdKjCb|k{aYhVus;qPZAy9t{c70oC zuVweQ%YcgXzmNXi-~XNbUvWzH*zNMFQ8B_NTFSX|`^!I=Mbe_EhhyjK-fh1^oM($T z#WgjBe))&*J1*R~bAJNiWuW#XU8nyrvNvmsFj0PHCEFMvB8Bb2`~x>4QZHo!p+Swd z#rOkZyONKYx6QRLr%b5(x(Z@(396GLf~+U;UW#O|#K6J(l=8(IA(c3`JS*MmartER zdMBFWg-;FG#rbtl({tnwMH!gmnx8=t%gl9)gvCSK%UGx&H-S%g=0$P~Ssc@Rk3YG8 zA~dh?EQXs@WwoxF-t~@&Pox&JloRnv95)Q*a|O3J@(|Z}xW_K}D@HckXmJqvIbsG{ zHa16~=Gv-a7N>u7bjmYP#^J(?;lV5Pi0?{AzlNeqE#?LE|3)G^Dw60~7h^?+SQ_Ck z1(!=#WZUj=Z*#aMz8Ev*E%i~u?{9^lI>O;Uq`<{xk?7Rn)48wYup>$->l`+2UsW)X zE!EMV_;p$g931}r14SVxHGstxi10!|{AI&&=ibm=)!dhtAP>Agkh^CD1!ak$@r&6E z%#+nSGD$AbNom9`uCEDM+%u!W9T4@qBNlznY8pNn_Akywu)uajxJXnV7^TsKC^b7U+|aomZv9Zew6 zTi`qd4H(S3&h8{Z5!e8hV#bK{geoKD%{km%`HP3ggq}AIl>h* ze6GkV@hqOe9fZEFVbtTJtwn<1-g3Wo9HE$1Y^hi)JDMG2NOi_wGAfdyJ9$RQo>R&`r+A*fd5hm3oID2_Ov zx)!rI?pzt90rDrDp3r?Y-+_{4rNEZm5eZ}7hLqrVGoV97JeP)W$oIY@24^I`n9*$! z#5lT%f5w9pSDxc&JzeO?0l?UO+}SbJ}vuh0nsu z#rT$=RU#EPe-PBpbHIv)3VucexjE?_VJVw4NMEw5kXa>vizlsn4ehg1CaN5O*$ z1Ckp2>7#)T?dE9lY6QJh0|hkn9K( z3vAVHIGe$XPaY~k1kRA4Gtj6VyyLj>6MPYC4Yj~907zGbepWm18N~qVWaB32;=)rU z$~yeCq}n|H$w)HjAh*hG@&B6`wQ1fvzn5 zy(3$~6({clTK~IPB|!k>PNKFY${KE{0CejP?vR5IWH z7KX7R3J0X(+~ehVF%nPG!wJGdMmVlvy2lq?@G8ImgIH!XTMR+`uo{IwMJ!IbH=RHO z$NdtCJTWFW!hyS6Q!aBs_Q*{u6PUo&}>$|`EoqAR#T92=TCH0dh z4yKOp^%0cbb%CvxotD+iq2RXZ?MXW?JyI=RasDy>i}3PT=yV=yZCAZIPCMnxt72jt zHxrR@m^%PRwhC69URT|#<1{fPfDb-8o=$e^6tEV5tdmCMhmKebQJj=J5#bW?DRt6& zOlnWd46B+%VoQT*QJYctMF%#8EKd5)Rxx3;e%>Cy?Y}@Y(Y^*un?cQ5VPUN~x>dyD z+A{_mLfn>|a&>G(mYw(HzU)f*C%dFFZcVF2L^#F8djQ3WD1wndcQ}if)su3DqU6*N zHz0!I>|sOWrTI`3|aDcpW%OMnr_jyFsRP+ZZ#vDl;~c|Ac? zzM!#P>Tr-6)3w{P<(sLM$Zy@3HsBQ()w3*tsqVy!_vjflSgI;j%RtM8&M&VTJuMs* zGBK^H=zz07#DmCEl`>}%K4XVFW2s`s-A9)QaOk+Kj2}EGu3VhNE+o~R@=}gpV|{AB zHA6?R_53YVar!5~Z^$tjkFX1#`~9yGJm+mE8a!76*d9C=mBFk1`i!L(%ILYvHI&s0 zcswnRj;7t|OSJ7vy9Kx0Yg|rc!N(G!c=svMuxeCTlT;?ug|mli%W4gWYxRVX(>1^q zHxbP2i_VQD1j0l$yA>v}XTml&)M2(axZbkzM6&tVMX)dW? znDs98&Ll*1*mL60cWDe*oc_O^->Y-SM~vvFpZ5{5UH>QCx5#8LAKoIsa54KIyQ8We zu{eLvMcl3_g;Bp=k9UodJ=ljza!wE!jElzER zy=B6U8wArE$GWAE#bpG`^mS2t^8ixXJUN;9{?eYW@u#;49{ltqn%yn7xJD-$gtmca1Mnt z6ytFQ%ctv;99-pRJ1Z?g=NuBBHR0<<>mgnP3fXo#h&!*Eg&|s=9G9|p(=u^6CO*d9 z_}e={E6#|%sCg52`7h_t#+tfChlyEy*uYoO8b zId#IpMPGGTqSZw2tDU9{Zy1Xg>yBu`EKVYRO|{FXWf;wQdbVzV)1A-9*c0NfGUL!9 zlkmsY&`1l%1^SPpr24=Y&10N|oysqZcO<^*;XN&GaB35FsYx7F9iOimS4$b$?YDA@ zSDX!d*-HI4y;LD3>1Ec!?vyhHOf84DcydO;?ivB34ZXN_*U>H`V7?H^!xP8SI>x9o z*@tF6Thc+od{$!46s5Q*5oce2hcMSWogduEqAp0?O)OK2;6r40!31xpW>gv_0GyB2 z-YMM@ws;TqIUEUC0cR*PIxGT`jqG?zg6Bim#8G2 zNX`|&;)9&T`zJ zLDd!0xyZ|%KRx~F`BRx?^>;c`k)hUNiwcTM#mek)iudnyenQ+9;ziMsxFdBST*B$o zvIxX6jq0m2tma5ki!J@R`&ffiyb~EwPfce#2sxD01(DH6-@P#*aA0e=gtogMPQRD#WxD!tMNVM z{~l!Pcr#_h3}@bkDHZrjT;tqWOgk@$pqMFFth<(@7UhZZqN&zh3s{_A)AznAc+A4Z zy*b9??lW{p4A43ynaqaOsJqaP(4sjlyBxdTm@4%o+$q03brsL7z zpmt<3%E`;&fEFT9$%lXLdz*MW0hBu!Zuj8~x~sohQ}Xe6o#N`pNL5Slv~1Jp*7<{5 zzZIn7(vSN%E)nnuQv+&*eBa?ekwtvWXT!|J5NoEV*qJ*svFGAwa%ed`pexO@w*ZV7w`11&;EO#1BBVvAvwwd7kOefin4S;Z;h zqch#O*Wn_j@%g=)c*?gh12%^!qg0jrCQR{boJ>FBMg4j|4r{Pxo9lUPX0>H4@$>wT z9W9GgoPI8yr}RKX9L%Qo%^!Co;m6a^Yq3X>9yU2HQAf@K6&G=zBFbIVWR2O5XA)8x zl3he>M5KYC*>dcc&I0#4iTiMr4O;OLQ;{{!MhJ-n0YXb>#FwZ%y?surdq$m!^a904 ze~SXpe7C!+nsCL5s^$J2S4!TVr(ZQoE$+5MoB|#FyJD$EUd|WK^>0p4(rJ|s{^NMM ziM${fK!-EAOyE<5i%*LR97i*a5QAakj54M=>BJEM6{i_waS%`PwJ>2YJK&6RN&^$( z^79=eMMp*TrB^bfY02Up3?kxP0 zi(!hh4@%H@1dt!?3(>j20vBBHY+2Yw1BNf+FCzVwuVSz6-qD^Ro-E}q=vFfhI7W+^5-miQ9YODh*K1gpz zFHt>*X`=I0@3u_%X{qmm;|hxeyjBu0Th1GvaUQ@OHC43Y!#hl~(o9cR&_f7GITio! zl@qF_s1-Jq5KempwA`K1aNOpJr=mu;geu-wCH33e-*?tE#R!Mq))2W-q=m6KLse5- zYILQihBM|62UB z%SQcHYh;ZNT!9nFPKi5r4u`?8^91oT4DH!;_rVo!qLK|dI6xiM?iTiYRiD^JW zGw?`$vRpN(I@sc)_3$4%cR>^3Er0CKHl-j_nNlbtcRt<$!SZ5;?^*LD!nK^KtCaXj zy|#-oBI0?MOw>UaCJWrc_%OpqhH~J3=+Dw7%%by?)Mr&N~ zJZb3B*_(<(Qf+coLKT;uOrfw!xRd*5oj?Us@~*7BFK>Tq7jcUdJS^g`d%m7ZKq!8% zS&iRf@xuOqWiVQxB9|1#!_n#@E$5vFXxQ56cOLg)%zdm1fvk+Tzy1bs_x8J6WYUO< zZ`}ISUl*tD3|^o|(|EYGQ>IdCOmw*#;!8VAJaU0FHXx>ile{66J;eIyJO~{w@kPgG zh+eFf@H6BT`7P$weVPF(j!9Hxd_kWU!NiN9k`9t+xh>fsUZRQ1tW~j!>-Rz?ZdC+T zd)jgMCviaT4(Fqv6Z2_{Ew?nLAq>PDt9)FA#VgLjJ6Ym)#P_ar&+Wo@)#@~B@k=#2 zBWgj5%Z<)5S-!`a0e&cj$N$(Lv_3!GAr%+b|5d6ns%Y#(Ox%9~)wd*l(VSW>mrps| z$fvFr#1SMEPnLQ(Vz^XwT&=R8qh)g?3tJ@4B)Gq2f`bI6Qj3$Y+&7947U31YyCW$^ z=yH#P0tM|{0XLQYy<8S)0y5ku{BcPYCEn64L(pN-D_}Er^zGoPC@KZU_{Hlp?kjCv~4v0qhM|vheO_AZd=<+t0 z*%(|!W}~zO>bHdvG(i_1xa<%){}3VX!^}Ka;-=?X@{FY#1u%H^qlOHS{WQQ|Tnn42O#X{E0UbaClVh!qX5k<^2b8_)+; z49_u&<@1AyO@zzXVexMrEAbm-@2mrK7li>wKWnTMN}r7OQ0xuojnLK;j@vG2Y2LEq z!U^Z{roQ&;6sKE+RouAe_Mn8yf;a?)HA#7Z1do#zwwBRASr~}l4ga;qAJlTDxz)%w0NVq3XCXB3|B4H!#jD`+v^zGB_X)- z#hL;l|1CbqTOxf(w#M^Xfh@jVb5uH{()n~c`yP3oN*jOrLap=8<^d9cd>w2pi1UGp zLw$`2QR5Gk1qgeuYm*jQOdm~xRts`*n|GpA*Hq%VaK8_phEK&(=J@H%2fL7WmFJL4 z)!%w4`5s$cu2M6)E&7c)0NsjW3RM-exO~UcfquNRBdhzlFPAS1>U7904zh7P$1UK1ZjK}s$VJ&W!B+Z+#<6@1om-PE*JRU5?_&u&U*i){}R`&W~(Es!)fRGPw;K;N?mQpnzj~3i}8*V zF28dW0|I?5Y7o5r)mLAe<=cW8?a;^|s0c3TO#b?PM-pRDC;)oCsI*}Ilq-1K;M2&E z3}hvuAq~?4D{xN!^c8Q_f}oxgkbX}V2~6W@xMa(mg%c1BJG6C`-!2gnY&8lC5dbAJ zH1^6xJm}Z5#2sACSU5>Ee~UC$5^gS=7cku?^N}tcp?^uroWk^=4GP496cqOOtZ1>9 zap{Ql9awJlG=diA5XY^wo=alI(=r+?_;0p`n@cSK#14*RMI{qw59Kz(p!_Pi!xxM{KAHR&xC zJSj5mYk_FawO+#yo!TO7yz3*%?HSzSEiCWEXn5Ut2Pnkr`#4rx21IhrU3sZ4c*6N2 z><)(Amnb44YJz2=CBQeF)0OB)ebI!D0ADRX1>y){aKt;%~Ut((sonX)RnzEcN z*K@gb6LB_yLrp})eYmp=aVZNp1QF*GoEx9}Kz)dEP5?su8Qk3%85b_zmE_wlLXVTH zG$Yux#%z>Bg%Z*+?|o1^iJAQtJ;oVT+%G9QsHcHOx=Y^i07Dsj0F|NJ=VYS?yRtuy z4C$79z;JR@jZmw%p4?A_h6D!2#<;MO3Y zO1R>bzzcG`y-)8SV7ZDbp!Pt?*meHrj%*dJIK6i8AEW&Tpb*n7v$7y$tCKev%zeI( znS_=YFn&KRyL(kT_E2~8t;W*E{(H4%ULJGRG!)lBywLU{`giM3eY>W-XGU_mH^REv@({%dT3yT1o?nDjh3dmIElj_M z)QEk5*!qPlg>fzR%4z#SC=C+ANUKqpTKC!*E zF^WnT#bQfKDiqfM%VMCYMvPK?z?dm1O99n?(L;s?-nJcTo)C| zwE|h3MSU-=#4Lt<*y>?U)u`SRUP!20{4G1%nFx)5kpLAJeuDUcs2uO+h!49Ha`(FG zf|c3{E#?xAwyjr_U=_z6yB-SvrloL129{zaa-hRHZWdw2PT<7G5XE_!Mi&~+P~MR< z18U6%hJhMdEs|(B!1zPA;^jo-8|XE6d~m6(){FDyCVXE~d=o~0*rHj^Jzlmgad%-L z1B@ft1Y3NAP#{ndGttvA zSdj0kFpY6Bq%sc9>Q+V{iog7|_&AK{b4|mL>a}88{Q@dC%FKPyL2jq(Zg_zv84c|Y zLuMGs*a}3cSb7rJ;(dgsp=YnOFh;RZEVASuU^I?nD@66q<0aoR>n+E*#Vd}l8+Q`zFmi42E6B9?DrFj&4z zWUSElq@o7=_v59V$(EzHyaU4D+yF;V#bvbu%EfeNhFZN+92lz=RCHXAAqPeEez0ag zFk?cUbm&MLoZ@U~2D<({K6pQ-%-ThU3tW<7sg!BOYqcn7aJ=Os!(ByC#|fX>Nfg(9 zj5%NjlBg!NdaIoJ5Fb!2^HClcb#cmG6Zy_*A#yN^sYS{hl)35iFZ9HeO(>0iprC26 zxTHJibiIx48c4@7XLr_CuPR0!$+;=qgH?@=4;%9`TMo^z*oT{bArs_Zp|4rOpD3VxQ(~4iEpHZS;?_ujp z=!%a1Y47He6+2%Xq~_}ukBy1rK^RP252*@T{P!Ql94*=x&K*^g%YTGP63VFhJ)16f zcHy#g8XF{Gg!yAH!}*Eh0JKxQmRH8CbS+5?xc>lh$hJWAr zlhBu%5NOR=(g%kcV~Jv$5~PELW|l_FZOYldRf(~TuuxW{1QuGjZKbuU54JV5T70cs zhQZQ;1GDVqlwd;OQzAajN+v-CKL2Awv*qk+{yqYsDxQn1(=8@u@BVDoKcJu=-xDoc z%q^qvYd5RmkznwtiJ$(C5QxvhW5IR-?a6#v%T2)Hia%(5m(GLXVzBEnrYC4E{R{=|morhn-Kj3&Xzq6% z@zwbr^ryr(+Fgi^s4Jzu?8mnV9qLmZkK+)r3RLm_a{-po5Sbswnb|F|H{jBBv}B+9 zn1(LY$7$bIUTX1Zgj@8M|Gh?~x#g80x||jVAIC#5%;h_?m|Koviqi;0vtcgZ{k6EE zuKBON`tExS{7W>Z*y{YS6!)j3`Dr~Q*}50^ksG;*TnHb#T6;CM$Q9g94#t0N17vZE zTPWVe@8TAb3f*>|v$WrO1u@_irye?J=!a#9&pCwWXpo>3zV#MIOS{De5PpG(n+h?A*Z zbpvJM=wNS)o>sHwT0%ZK?9H-f}_VL^?y3N;6+IdQD1)rb6Ih7IBy0`Jj#~Y?4&>)C1`djQ- z%$EC3{1+GJ=kocWDa2EWxMB5roMN(ogojH;s98uYc4>ZVeXc-2D>@=2PGOB0A+uf< zucn>ig8HdHlMG(nsHb4+T#D%$0t)WbWW-w}EOKFDS1MqL67=|w9eg~?C*eO(r-)v# z6I+I_MMx%T|8qC!DOPd*A+CG$9fnLWoc(s*dEB3%{j$vXS^it3V@WTkN;&C_m0e3a z#>0UXp@ZrXWI5uLN}X#hE37;*8t$V2h}tRqySb8%Z1?|yrI-f9f88wT;RmstQ~n;; zzN`8EKss&X%)+9&Gk<~0AAU|4?@&Wl#@1)p|KTtJwZ3qO%diJR@r_Cve?UB~?`hVb zbe>8K45&t3Az(y^+DZ!-C$^-S4pem{1fl$d*;y@ObdY*N$%+`K`wdKp_X4o4B%iXW z`Msh(rP^o4N=manbw^0PF!4gK_|7B1JE@nky>E+WE4levc22pXqze#~<>>@LyF+g@ z_E^Q4Ckm?eBLv86vsetO^s^HaqRO*faOVpOX|6x>3>FKs{z={94@6PHKYcjKDlD7(x`+omwe%FI7@6~*UBy#)8>EfR!oZ3=IHl5nd;LnGlZs^_&MfQ;<(e~R?#sqdncTHRr`e* zH)$fBC1Ayg=dO5Iq`;RQCMB_05}PS=cWs4}jKn+I^uv}^i((l7=HoB{TzrC?O{p>c zuY(#Wj5kJ}^NxnXJ3YYb&RxjzW}&r=N2%}nQxK`t8w+@ktkDoY9tuZ`TX%kZ67f}6?11t zLH|uWCK+xa57%>WZjx4!D9-q^BBqPo6H<9SZ*mVho4lE+U)UD03SL~kYibP&U0=&U zHg(G$yKNZz75CU}h(47)hB9H0&!M8Z>$0Q4z@1NB0))h9Z)xh`nXte{=!m&R9bROwgc)L}B z7u_)T;ndy(pYbfVoSdc1TlLVEVA?v%*JUc5v^p42kzMJ&{R4DCg3-iKZn-(alvT2M z15)wnng^9i_2|+vP|F?k8-GaN5rTbmU{wJ_oM8>o$t_lO+PmO)^-I^n6z|zU^pITC5Pg+E4Qj>N>pyNbDMEu)oSB0UUBqM zgpNb%0^+CO`bYKj*NgpreM`6&n>?>$hvG)H0kJsw95gnkuVaDsIK^?vlST*{3#)eSY*pS2GEWGvIm&-Boj8L#2jtX(i#b;*AMa&_V zxB%@CP={5Vh2OuEQjkI2m;O$M*5L-#;W($3{vEOpzQ&)1S_~SMH(kV4rDa)*Zz-5= zAq`^Hk8QO>3t3z$gSyzZ42Bq=4S&R)JgEt$N zg8ZdcT5qJKnrA1pB|3%^T5GMXfEJgiKhSFH9WT0~k8i5CZ|bw0<0ZB75^_IvYs$i) z_-xgQcy15HZg6y>7~ST<*!L_m3#-L6!f*B%j%Y1laqI`df9!gq=}il{Q){|A$Fd=r zVKeZ*=1FLviVM%siD?ASDNOMW9txuK3B0?FP(f5tvGbbYGmA@o2aMv~2ZX~Ky5bB9 z`;tYh#y@0xc%|Na-t%VTFh>;I#)Tg*dfQs{g$cT9p{S)$Tyf@$HIR2*$5AIHa_7D6 zO4ArlTKv=G#Qn;RvqwM~24|>#CM}Bh5c(JOrZ_7({9;xReV}dyw;ac$DTkt|36SE6 z5m70`&W;nVzG3ZVEA$G(jrfiN;ae-qdueY&q=PPeV4VJmZ>GV$Pf&$=mxi z&M73}+jW~oQ2B# zjgUaW#)fgph8pW{mSv08m$Sv72mf92h{9yB0sWQ9hH2Bw*%C$=duL{dpT>;tAJ|6I zBZj7z*bb6%%ten6JmRX~;BGPB*K&yS`>chagekuD#dCOnLVE!zI34T68@Aw5HlV?pIa%#e4I%Yn!46JV+y2>ab^koRP44Nmm*_#|d6> z;;|BlkAQc%EX-%MczR2D6Gu#?ifuqE&OPult?2d|xZ!u_Nv?_cw7-vg)DUjjo}A~} z^+hZcSM{h^OX?$mJye^N#Ix4&dEwxRbp^LQ#f46^;vHC5+5F@R?bNX6ha68A{AxZf zLv13GqsXTkTnJ`?mRguSJ$$wX5A-LKX`SNQBAbLy$2n9ZfkuGQo zD|v>;0LK`&v3%WPZ*I@8Opz9XLp4-g24o43J!BR ziG#5|f++6Sp&;_YT1G8wc3&bCQh$=AuaUyyQ;V=f(+vj4UOPp_+|eVY*;=84z}DDg z2~hYKi794SZe1!{P4kFig6#x_Yk3aZ73EL#U%(!RU@&*Q3R<1m2<#~tynUi3i3(@C zy?W3;gzShJ_&nZXT5qW*1u0;;kDgrj5^F~*dj=`5VV|s^Q;tCR$Z9hQb()#FoCm$< z2`Y!M3IBq7nZlk(xEx1%(`R|1h!j3!^Z6!~fZ&B7M;^!5(;rKyEYTLRUUGL+L8Zek zF^MY`>jlWf`s38F>*ayBWfp=e>`F@YcY_Es-~Di3j+9(_7vn7S`jMSynqU+hG7+KF zoT~*MF5MUYL{ppGB==~BX-=i^+jU=8wqOK{_s7-M8?uaC_zeKzbB_7Ce&uEbPPRFO zCj<@YzzL|z{ACEY;F9b%xM=>jI_JM9r`R)^4(5zDk{&tD0?JSbXOaI5)q=_&u(8fa zV=~A=E5Q@y^(ZA@7AmsY<}kd*37m$Gm`inxnyWZTxt!%fvc3J$D~NLL^c6CNj*@L0 zCL*?Q6`;12kidjoio34IX|u3_P=G8|bMRMDr;Q5%0HF(XxMe;{;C3vzCdP30HT1Pc zuv|y=#5(f{NzzUt8l2$@%v=YK4*O#|8Q0X&LjgLV9n&EusH%?3YV-z-nG4^hewvgm z^^fMz8UN2akqcKS*nrM-P0djwqTfvg>$`1hd3=?_NsXH~ zA#DMd5F>}`=6kQuFaX?q)ac7nkdKWT1IY5Vv5+1mc|z6qijJj2_IOri?Vw?Zf+*Ay zlyJ)DYM-W!Bqm^p-_rKYoymelKWdOro^8X`yR!)zR@V65^eyISgK}0BmS6T?Gfb;s zgNoML!!F);C?U5d@f>EjFdRgm>UPWPv!cnMcDn^JbI2e|h7__NYlvzRKvu&!6 z$wV4Ps2*v28K${{PX_%D;3&r-x7HR!Qag`xmoa}B3o~kTy+x1R!WvYE+x?+pf(XZ7 zh_f@D#=-%tr?F)Npf3a~EY@~qD8%Yr`^;`Wj#oqO_5P&yLJI8YmFmaYp{Twg$^_e| z0=|TYG3`oe>$S>~4&vNd*pWM-QHBepuFH8YoH!8o4N7M!(@K8`sUWpVI$ky7(YkCO;{p z9Y~n_mJIf$W738@1`gK@CoH6r2);Zc1oZjv`5FUNs3&Fx6)JTcu=r%z4Rbn0nMi;GVx-+=4vK%FrJ&v)UKJ(z(p+*E0%EEh*^LP ziJWXU;#yXSn<3*f=D!`mi4-n`F-FgjTatfV1ZR^<62U3IauJ*-^OM(MhqNcJh6<H6Wy7(p={p^5eo{7u0|{rN1)9?r(ychZH=3a36SfsN@4mlYJ6K5gX(8DF3g=LP zir9yWERaN%1QvYJX2iU8Zh;FIjh*%8^YRMKZy~-Q#D?90JhzKl*pL0mJ;*zbY+)g} z@5W_U7O({sK1PN#-449PmD@<<1#?m2Gg`4jdM!HQg@f-Z-N-;aPB@`eI%ES`s|e&E z`1LFd(B@T(;#g*@gF?~`db&Z=_eno8vzC8LC9Khz&lB#lk(!CT5y(_R*6FR1u$#Ls zIz4UhR^(Si3m4(NMYYsj^f4xfDi+ZTAga}4dIqS_U2FC3Jqi{To8OG;-o`|cbfHu0 z=fou&ow;v#>svwQH;pOdz2TU0AW8p)>o;JAyQK$~tgGzKX9pdzZLB+@5-X|xL2rZ< zSNaBnbMsKJeud+<1T=VSYviPow`( zL8*-!kGSt!S}Nfn9*l}dD>$g~Ush1@QAkC!gW2`TYl~#^(_D}@Bk74YGI1cj8vog- znTc%?KFh7qh9^~+Vk2cJGDiE<^O#{y43R9Xd{RWd?d)IZO=Xo}k!XD@Cir6l6F|8#4(E7jw4K!c@%a z`a=fa9JwuCm;rZ1L6}I3u{peOo!kjvulg-A^kKA-TZhtBklM{gNR9QbP~b}oVMHYe zLLtO!VDz*D8`6%bkfnRq_qVc7Lk|~Fn3UD>w-<%n^4I0i-x5p<+=iy7&F611hW4M2avOAN}Ht7jDarx17P1vTLB0DGjx2q~n z>Eutr4rlN3Z=NdAbUkL&{z^7dw-^P^T-#ISVfrj@kbo5vi?wN_t{2Qw(~Ki+z;O0^v^dtkmyBfIFJ|`BD0B{1Fgf(JExL^{?>Cq8`Qqcs?mbZ4cpE30U z1r*?bM*%`iwZEb|>^TGBGfrJTWzFqtj~(Xj2rX`o!50NZW+CHO55Fg0;525OQI4S= z?FLpjf1AN|>?opYe@-*ap}+LT!;RsnA%PTZZ&BJJUqIv~`U3bR0yrXMSf;wHbU!>p z+r!-uF^Ag(x^P1`UW%sRQKE7 z0PlKS)Bu0874}(ut+qTKhLkE4$sf_gU&NW%b0Rkb~54{*{p+6>aKvRXLgOQHx zX#^k}u7DdpvtNGsI}T?s()jqT5y!hNNXRyuGh2DU1r1BMjXW$b(*z2O52aC4jHY#P z2mj;y$xb5?{)iSqkR4#cL187N*6nINcoMtc^oNonPHZ~UXcqqX-RG3p2)EE5;`i9tzHZJN#uyQcL|7IjsP{xW z@;Cioj}~qla60|uRxHp63((JqY6TM%e9nCPEHw2hL#}7*W~R_5%TA^N$V=F# zUW5z3UQ^_Xst|}y3Ov zFWPYmg>t!jhh$Ao98l1sAF>l2<+~`}0dM|GifMNf*Xi&iw}s3e!-Ug!EJ7Xy9@6w< za%HJ7)8&WzUTJ^)2@h} zctG$SM7Z<=m)}>f2n;>_>LF!2?~f*1v~NzUc!+GjgYj;rEJ6n+lMx0TT$n{7F3{^P zoO4Jm-+}ariJ`XLskBu%Cp9x^olTDyPNW^d=lUq=&sQI3d3Pjc>t{T3bq8XD%&^A` zv$udx_oyY2U$RRG=PDL|q6US~Yus2nl+0JCRe=)vCHS!78XuZ{1}i-WWgVsi+;8K( zh7wsgqqVVwB1-pbTZu;lXEJNa(WF$F;dz` z=nPFmeuuz2dn%2XvF{W~8bIoaex_82BxQi0WG6NIOE-C^v5`R{4K1vpDC>uR=f}5< zz+fET370mL-RY4`AakF$K%P+s=np_P}-8EnIsh~+F z3iWkaVEd-Wo;o0f^IZMu8md3V@)WmmBcQ+?EjRS1K5pNa0|;!5TA2m9#%1JbJKhc{ zT)ef;(eKa|v@iqqIjoH%DJ*;f4)NYb(;!w5aq5_{re9rP!dba9?mT$Fxi(L@Hnt=g z%|hBjWtAQZD-8TDD+KG>RHDYcCLuVKaE<~y?@Bq#XTUY~LG#LCf6N82t&N+dyStzs z*txmfayK>sDOv~yT#zv9BhfxZ2_lkNc3wM(DW%YXx21qLR`r z?iR6N1dbv871>rKkH(O}o>_e%qnW=&K0fZJe6$R#8FGE{@ z01BEEQOO>$&`Gg+=45BsCI*!bA&0g_4=pL99{8?egN_C3O-(LmPC8xVd=8}0kMe_F8N%#WaiI?4z@lYkJ~=KqT>=cO1{r-HFpQaea=tp*tobXkl> zN2etjKkT6@TJr?VO}4-uviqxWdBrnC56gM>IOtGIze@Mfa&)kf+lbGbo8tm2tA$5A z%1;W-3}RT0m-Qp02tBj1wWnWgYM?FL(@y_Lw#NpGmHuYL3N&*67$ zV*loAnAkCsWL&5wxRY=@h~|w-z39up`Fq5nN#I3bCkYlDsNi0qpdjj>r`l)>3VHIR z3GTuN2BRy(bBF>9x$238+Pyxcvc)OaEHEzH)!7~bh82!KRa6Xd1-l8x7EbWU$E6fB zQX`jQ$i_;)iAOW6+-71=T74KPNPz1HO}6^Y;dWpeu#)Xtx@`j~EPz)qbfwrB^c-O@hZatMi_heuq8QYq^w}K6UtoXlarw8uo2o|(pWYU9^Bu)_ z;A)d(vD>t*&VgU^N|R5YYAho)iQ53D+p9xJl)=dG?Nbvp%!83}C1<6AH#jCPM>qJw zey%TKTh`}XTUiJzR>)^K&cOspQgf!mU*TR5Ba1#NWIRro`$2FkZuLjgdV;gYo7}KK zB<`Qf_M~nky449Me8m?$F~i&J@4o$qKVU0qvf0F}I1{i{ZA?3lX6guuC3`9r({>a5 zjwh&r6#iMXxJhN;w71uo+*go)_F*uDj}lxIo-f*J&-gUTAJFuij~j%d3rIqQMuyI% zUcc?YW(=pX?V6}z;k!tuVmf$<8A`~9n8H57bh{UJpRu>(Q6Zgt0q4U#AgAufb9Mps zNa5HXkh_bTOSv^E=v?-ACj7ktX#T&G>=vZZHb$H8p`Eraszw+z0yQY+LRNwR$6qXx!}i@ zM#+$OmO8ExLijC99r%&56-b~%8b1yKRTyUt5!usLKd#Wu;i{X14!YBn^FkMg>&1dj zR_&H4Xlm7N=Rn8#7+IEv-Xl}sby4zzNYKt`0Zy13Zo*~)F{n0z)zO8o-Jm-h*5pyy zcF7kIckUpLaeK5U98`Zrqndx^gP2nm(Sd)ajcpr9Vg6qkI+dZT$=}F}cP+~D#1bi2 zVq&FGQu>9mBgUc>PeyzsIK@qh4na2z>NwYQF%|HK^iWx5zwfJq6)c|i7GpJ0)d1uL zf6493@5Z{U)tZ2V)ER_!5HlS^z{cj-KzKN!>fMqTlqw^uATszoV)z(FvPi&$Gy7ZC zBNu63%eXVf>q203+~H00s{=!WY94k~o3c;5**ffD=lHW!$XKT4cN+sLuPbAX&xhMT zf|cx`P)qd%0e*o}0EmggjSQ0wQkaL-4G+dqG4!TYI9a+Njxb>bejZ&Iu@vte8Ng5L zLU<%sy^u|k)Fi9+D|#KLa6QK9ZdD~{0)~YjL8A7*@iNbn-^VgO+)gX#bG5+M^8G}p zaQYTBX2~R>%<=K4k2{|>xmc=^Ml;--3=!|a*PSEXL3Pg=znhTa;=HSbl;JRUqrII( z`=#8aFzh(h&7GYE$f;HZ^MIXXdKNz`8%u%0?ApU;PnI!Aydj!R;(1)7KB(pgP>R$)iFh`2sgCt{N@I zj@8o`R2tePiu~Q^A>Uav0=fsxsOw&#LtM3md$2VLb}@O65`l338Igag)JcYC`;*iu zJjJC;cyG8@>9EAUa*05MQ?jk-cQo{6I*wA6IvXun2%xc;Sm5p%2jg&IKQ} ze8n9KmWBBTxloiSf^;?B(~A(kXp?h}7M}6UxWgV0KbuZ_6DurIr(c5C1T>~OFZ~tB zMTcwOQ!KCw(JIJ<3O*_X8$jW_c4`p4g8XrkcE)5i0E3Q`M)rEr9R|Do(@tL~W6#2b z=di-3YpjEFnMbWlCVvKb8YKB8P9eiXt^rT{Nap|@Evhgt)uD7lpqM zvmu5Bq1{}&^sJKdIN`)&i(15fX3+^e4U&V##-|rdfk`!Xvyh_0;lRR0=?qGnS(3S7 zFf~d<-fEBbQ11rL0`K`K>?PxoeamEP0fog_%=A0O2Ehe*P$>&ES~k<+cGy78mbwlr zEIjLv?*lzm80KKNSVuX&Oiz=-WoP3vx!i+{ihk;k$Nj@buSpS9ax>at z$Fv0%15!cdac$F>wJ4LFoeeMQcOaAvS7D&=%ZCr|+@tH{f>qI%>K)LaSg(Z8>MpMi zR+DT!{Wfa&m^^@}VJ8-Dz0}!X1fr}+oLt}AK0v|r1HY~XRl1h3<4?j5YNT+1DtZtb zxLeyoq1M1U%GYW=4^)k{m5p8qn6ynbWdb4`YKoBW^VSR8oOlWQo`=k#J7m1u9ldcA zUs&eI0QI?=0~$~`$rK-r-Y}7KX3l6N%{YP`3Par&+j z5prI|2jkwd;A*MaianXy{p~x1x!sP=9cMtQa}iZvbA$`bh2=G0IETNYQVRx!N@rw; zHAf4A!+%7qDtxoF2RZ4KE2bd}xWPxeh;@90qI@~7w|Xxmc({r1%w;of8ST2Fi;9j|1SbmVcF@itaC&vJ9}i)wPPN2O$V$;pXBE@CdTQNikCnqq|+2v-pqbGY!+5Q*aNFEiqC(vXE(6DutI$8fJH zGoIm)185ACOhM0b-vh@C3LJ?Z#(`>uFtqT(XUJ3KMP*we6RA-1NdAxl&m|{*8F*aD zuosh++`AO613M~d##06@EW?c;#S&xc6CKc5q~#xEqo4~OGNZ}Q%B(w>F!vWiO*hms zzaJG#LpquC4f}gWm_ZB6x8c!VuaK3AP){X+5uQ984z`glvFBBv!X~b7*p}d4V}+%E zCtNZjQ;sDIRG@Y`3TVh;FduY!XbWY3;sedft2xYYn&muliTf7XD|?6Q+b^Ja(-dU+ zMqy{$$_j=oZ5A)g@f4>^Jd3G7lwHO_P!RHJg8Z~lbU@tQ8FD4#(#fIS4VH_^K5s%T z>b%iJm}%9ss}4aMS<$uy8h-mdN~Tb3-<{FASara&ax;sE7U01_g#cm zv%)6c|NGNF{f~d5|H8su$#qEA<9P1QC>S>CZQn?&HJorkHMg%SiCST%CSnv;=W(@OI-XG|3}f3W8b9}Uwm&zFu%PD5bhehP zQ#f@$B2C=qq7>xfaoAs1={O5Gh z!baRNC_6_9E)viunF{pNxj~RH8KN8B$4(p+GJA9_$|^^!aDu9eGAwq_B5gXp9&!UO z(6WK2`7tdl#0M*UI<6I(PP40LC%i+Uj%iWYEnGx#A_zOP_0$k)54b&ExGrqqagXDE zr@&X4W-)F?Oc=D-N~z?Dd!EyV4cf#Z&paO<*wD6b!JLGA*q2X7A{1iVBR zX%G3mTX8MYL3S`lEELCb7GS1Kjcat{@{!lYU!x;fp$o zS0Cczj&xeY6A{U3f;bvb#(XX9BU571!yfJ-$ZptFstT(kb_sn*c0wB~e3bM)dPb!9 z@e4pO%Fn$wH_YUH>ICSgT77AlxK_^JE!F*Wn_tUKQ9HMs3PE>c?+Z66v<9X&R&OwEL zxd*+fdPJS;VLhJ795`)3dTZ>t8 z+%y5hIgz0yr-5ixb@+D>2&R34c}C4=c!Od4;JXf? z>U|Q7nK$2w#tAIV5?jOIk-|x(wP~bR7tX*mS-@eTft5k?&HrDc7nR6lzoZh)ZbKFn zMmulxjO;{y8mXMF5c3*U3_^7S+H6e$SX%-!7SRnO+zDnflS#1FY z+9-^Z?ykbAvq5^M;*i4m?*T}5A6OFgH+3DHbH;Cb#7)TvwN4QZK60spNyK1ertMP` zG|WGvA}QESN`)rfe7YLw=Gk|LYb)#5jbL7dID?o^$Z!boA?uGNfw>qQh&WhR-Q1bvXFneX66lQIX_WfAhEwRJfp=fT9Pi023=OeK+t9>YT9@ z0g^YH4vyS4CU_vRA*c_>el9dS65WYA@-3Skbb~WAQR~2;xx#H`^Od!LCU7VsP-A18 zui%xDG)Z;C`}-*B@ZtdM#!W>*m@%R@6UpGE9UDC-29fF$C?rd(FLgA(bGx z{$1x?l-cIuDc7!}%=R;=)?ZLq;}<^d{?d@5<4EFy|C_x`Q*4YKvf)$tx&({57d26K zJ9)dJRnN-w7(X)Fj}42mcv^!?QS$x8*`cY)cvO_f&3WNYDlDsH_AywPxu1N((k_6x ziAA0@Z@-HQe%pjQwhX6D$Z(-Hub{q&BZpU*CB81D1iki82}?7_}PjbGht7X(})!yyXrfc0res>DT{@S7)qG-acHE2z$2zBsfhPh7Z5 zEgjeW@#<#jaJlh7=y1NyH)^!jS9f|Vceo!KI5Pi@FKciw7w|4e!$*iiFUY8Z#bJvD-J05Xx4OH*5ooOKk!6N+N%S69Ylzzk9gNGl zdwd#n_-B88qxZK`<-2_yF{u_~DS_X}@vOAW1FH)&NSDnD9EDvYK{9wy<|{=AOPXv8 zdqW~htdRO(3Q3k+L1MM5GiMae;-b1N$YqScCthwthNP~E=>{$6U-tJpPAp=!*qGbwv+{t$>aKJ$kSUNj(XEbgpZ%yeo_(fN{F|sjn{q`Nd%=@ zb?J^P+(v~psj8GU(fq4AhQyWH5z<6(cRgS1o z%%LJ1fqS*G2Qj^}POSI$CM|Ye(DLP0)Te}Cga{{Y8yYt32@H%3Xa0b85|O92;ERyl z1cxM*C^E)hf%K9jpYBo#JegRxejT)CZ>4L)AzuaR*dwZVCjtN+(GS-9zQ$boGUo& zBRPFewgkPiLks6_!2|>N3cZ6~Rfzh!T?g_V2g^W!nKz|&m^W7>wB!2}8M* zKv732TLDP+kdF50ja5jykK-g+3>T>;*VV(V5fPE0vP^VIoF>k!1$ncAVTWiC5tvyJ z5UM#$2}OB`xJ7aiB(mwJYLZFKT!`L|mIJrFI>;1e;W@(C&?@7i^!N6lv{;5|Bkk7Kw(w z>9S*sXO;P-AgF9kIdU(nKBvk=a8O%-pM0MxeCHT_;d~iE4w$Ft1|i!-i}>l9bH{W_ zH{(n&H^hRy%P4vlNZ!vHDl8=lX0-R{sAFH3a3`rT;!=znuy>JLKZufM!t`$LEF9Sy%1EnrKM~iSsgtfCe8_N!kkk*6K zOYhOpZwpe3ty;eNpoa`6v2*Gu=Q(}$-I$&cOzfl{C(L4eF*cJ}9kpMC|M$QfM+*{p zeJb0vU?Y~)g0+v{D80f*6z#JP#_Rb2lMbd3ig=~YpK_dRalu@gxZ(7D;yG*5c{927 z&VaikO-TJ{S?-VEA&i(!bjf@cga75J7#|i z3B<$oMsD$0a~H{~u}>G9*}X!Stvo_UCvzQ6fegJhHd~|nCnSxV)$OeThkw*@^9UHZ zW6|`i!Jfd5Md{ChzZ(kvfMlohbG8E%C49o?7=RV@8cyic*uOd+W6pSr1hc1?QXxPu znkSk~2qb?@rD*wJrfE87g*s-}-6C|jl8nj9pzTvs{7uL1UH>`sZbK2L;%0DMv&vds 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 literal 0 HcmV?d00001 diff --git a/.doctrees/index.doctree b/.doctrees/index.doctree new file mode 100644 index 0000000000000000000000000000000000000000..f8f59a4dc648027df348c7184e228dff36b615ab GIT binary patch literal 4986 zcmds5-D@OS6;EdJ(Ve7|Nyb^6FRT$)GsAQ`>x|2q2SFB>l}M0fbx@eC+^)La_a;?! zYwF%gcOC|OQ8LSg1-E?iZ9!0c5EMc2T|vaB^?&fe2OoUb-?>%Q>F)IIMDWQ#hwfYF z-h0mZ{mxhYVBsg~`kec->!AvABO|?&sF3TzHfSN{i77rT?msVnTs$wf?Iz2O>M3Os zWw@X5o-Uq3G!QZhGoIkbwwSZafr_VhE@_o#0Wa*sj!-f0bc3k#4iEjendzjNI?|m; zWo+2Nt-2$VkPmkTpaxY+s$3m7G z&j_jAksho`BW`$f>KWyo!VWKz$1>?Z^t!q6r17*+c@%ogcoBy#D}hQ3lL^k?UIuS@ zheib^r%?#Jy_ea&5R9dSIrf9m)R9&OeS#?P$3MO!#LX0 zDI;e#(u`}KozT}V3yy0<784dj9M~)e5!1T-epQAgUSXcr0=bwM3w9xr2`}~+#jXD< z4~v_yZP~CsSzCyeyi4rV1b|A$cr7->HDVf(chN`_@fi=rb$jm#kH7{_Ja9z(lAfgE zy>n1;_v>)yCAI)$aR4_yBOK3~M=^Z0B(EgU@J!Tz$iCBB9ucf~{T$eGauXIMXD zshF*6^G%Qtq|$p6I=u~@#vXn8-4FJgxcA#ck?QVmxVsw^5-Lx^8CTnlGVFF(7*?rd zxnlne>5<`fp&zMk@xnRard@O?pmYV?U>ivucX`IcVt>xAIEb`LqSNAqT@o@3k$YZ{ z&+IZx&ZOh}_5mGZGFAMjz*m=F+}F(r@fY(@vbM_>Ds#*0$U|Wsn6`{rA1BbRwD`w(oLB{S`w8NS$m z1>&iG&y606-jLZbE~iOO+awa!(XvrT&DOT*(C0^+R;COoxkDTfV7-yb5m&e}9* z8$3=0(^8K=ZXkfK+eV)!C6&j`{sZASZR56Ga97x?+Jqo7{^);wK-bkqo3kz%<>{7zL^je{zWiNyjc@b-=QuICBCh zmwj#!c=a`eo6y^ZERT3GEWG1AjY$OE+gu5mkXJ?ktx0IM~86X(R=upTi5B*`uk$nEr}0u7&vd6w21<#+IHY}9ptW(+ImPqH%PtM zw99O>9(|maYeAk-+m3pJ=J~+3>Zj#k^t`Y)^l98xkw1FirVwgjHg(?BXk##Psl-Q1 zLHgKhQ}XT_O6H}Rwvq8vWteqvTNBCLxx)!HWaw9i&y!fM?C){rs>xWQdn$|Fwyn|6 z3HNSI=rh{q40$*2M% zGql9mpmH;AXJHp}(`&y`*e%i*l$rF}D-H;mU?O$2<_UFtVR0rN9T2xM6c2qN`y#>z z?pcUb(l6|qjxn42&vLv|&~W~BBnXv-hze@GfHbx9IDlgUAeNt^ixeEq30fKCBY+c9 z*WIw|)V~muU^!d`P`M6N8n0}l{G4}p{sTNtcYOc= literal 0 HcmV?d00001 diff --git a/.doctrees/intro.doctree b/.doctrees/intro.doctree new file mode 100644 index 0000000000000000000000000000000000000000..8f6dd3a409b1e8215f65100736c831bfad3ed644 GIT binary patch literal 9243 zcmeHN+iM-i8JAUAme!JNt9C=MO{QsrWh0$qrw(nC60lvTQRFD8<0dY}UH0tGIlI#C z&Sqy;mx3WsS`t_&q}!LighC*p(91)iPzrr4^r3xg|AA0SpGqJ5Q2P63cF*n}NtTow zEyU)ab9U$Q`|jU--@HEY3{j0C)`X0q3p!MhTYrTv!8QR zH%Y~s>}qPd;Fs)bdOE38MV6nG+fh%1c14L^Z7y+A$!%;cok6*O;Mr0+sVY{E30Te@olF7{VnIl<} z#e;x3vBy%r5lE5ZZ@A5%Ko`mx;AR+JU_op-vEz!^bGp(^gG9+LDH)^&mE%nL*aI5N zf{0|HmlSxInyoMq${DhL5OQe+&`*r-2eA_}1$Z6C?%)C63Zx>C&AnN<9otL;rFaY| z%wbWm#YErgITCaL{!81+2WqgIWpU&{ckpp~AuX*X!U6)tpvXK*6hTjU5;_KYWNik@ zXA(N8d;$=WW%WY7hipJP{A6CQ$W98h3G z>_cd&19IulPmheS12~M4VH6K06i-K=`%mX5mY%6(r9Ed$58ndocMLG3{t!m+6L^<= zUjw+J$+T*iyMR01%fgUTc;7)HVV|bwyAig-vd+Q3yNIvM6;VWfmI4nGiOCF_Zt>Tk z?ZKmKnf?xh{%T)BA2kzx4$jbopY0tF!I59IT*9b>xI(c5K?<%P(K+2_+ga2>OzP_p zCJ-&?iz|>6xrzdVXvytQpzQ-JQ4{m?nG}f**#Kd+-$|VpCA(j^yn2 zOE0tt`#T7Gz|fk2e*(|@`x5Y2O#n^!Fa*R|oFJ7X#EZyM;7E1SAV9$zmSI-0pMW`1+jn8R7cuai+IA_2MJ}698W&aMM=t54mXh3T zm)Lq54pqm;rl?!u`n(a>?gMM4UNlU7XJ4i+?1JK<3dM+CwSZhPK=vG4WBJNKv0T~( z%k?3aO5NFl$tU{3AWM;ai%gXn#?T@<*KXfk^#<_skRU`q1$gbM_2jc=sWl9n<095b?pXDx+(sR(;9tptPp7wi+Cimfo}y02SpSXDWy+vNT7NTX;f ztPHO$<2Q$~j3;+mMsBU%e3dPK?dG)+bNs!QW9xOj>mLrY>sNQ#^|v>)s-jXC^G)W$ z08`ZZycCv@8rvhIqU=14bP)q5%MCI^sB&4$i%?lawXkE|z(I{N8#7Lq5U~WN!xI?c+oKkH4!#ZK8RMGFCEwG5H zA{moJ-AJFi9V-laR7t_%d^@C$2ZAM&Tv2qSGE0a!CGiYwp;EsdQUCs-Jh1FX85&)QVC3*GT-1~u`;eZ z+`1oXZ&3g*-ptPu5s8gDBlWqZP3g5=b%|H=X+~L%VVf=tblC(&Lw}f{Ym%p$%;M01^P_ z3_z-56F`7CKLTPzE^8N{Tlq=8m7wToqeRS8v@2=iTw9(HoCd!ngF)e61$DL;NTQ$= z6-^<)5G~p?G0w@fJNOk1``Pt7TY~AF0DD=KwDz@pCmaglD0&$*Adx)tguNAoSaddY z;z0&)h@CxNwz;xN+5-BJ<>hWGSz?W$xk}jvM zp_pgfP&n&0$2l&v9S`k#eJcSP3$vkCvQ8N>Ytk4EzFDOvLUHg*YlW+9^u7b7H=3ur z05a>f)q9qn##vPAI}~%S%^Ya(H}5=48a$Ks$>^Xnv_*c_S1Ng`+tn?>PQX>aBho?F zS5er7g~EeS5?rrqqzWQqNv5UsZPQ6(avV@$?nHn+U)_UfST|jGKx5DpxiMz8RQU3y z#%ex8I#>gHqy)CPxrvfEbQPNaeq;5;m49>LD1|ZR4928L3Z^5KgmwA2?U6X)%KsN4>zz=GQ=36TcDL6e! QD9F>}rz_#mudLVkFJD4uBme*a literal 0 HcmV?d00001 diff --git a/.doctrees/livemedia-creator.doctree b/.doctrees/livemedia-creator.doctree new file mode 100644 index 0000000000000000000000000000000000000000..5ff4e3db102be9c49e51e48b79b10df476c5fd6b GIT binary patch literal 81551 zcmeHw3!G$ES?46ovoep&WD@euWgyHeke~)jb^qwNFpAKtmmD+CA@fL%P{GjEu z{l#}L?tSgzyB1%&xF^`)+p}%E@vXt8v-QeZ&$qii{;|DTpL1GHwQd(HUB~v_?&67H zqusVEZo6uu!Mdi~wa?>^9aU$#H#=Kz&sv?XJKc0z9-3~b*_E^S41ZoTQ*S!ng6BIe ztKPC_9ZN>6yKQ`VUC(3BmRmV%`L6oLQO!8amDu%Jr0lvEzZ@u{$7mw%%vyX2;eM2tx7V%klTDSnZ~K6eAVk6T{ce4_=WC4E zP-)tphkpQBHdcEb;*0vnG-mel;Bs%FHSIPh!(GY9TRV2wb0)D254gjRY9J4VPvNIYn%G#W z)tgnoK(*Y2?)Gfg?$i>EYWK=0Yfn4pNl(FDN7|sRuI)Qj;D+a0LI&2H-RwCQ2*`4~ z)q2}*7Wdy}?K-&2+N1w%9o)P4W>Au%#`Tzr1X?>1Z0g$cAw zW5IPV6`~r~M0Gz2*s;b)dtSU=jBeLX4sNU#^lB`qP6mT64@XB`yJP8%1ZxHV#wRZ6 zP1o)Z`IUfu?9BIr#~t=8cg7N&u;!euhYeZ>4wMd93vSP<*lnxlIYOoe4+5=KV|vs5 z3h1~0par_CR~?ROD|S+;bwShCJP67v7QyM9B3T57(EptAgqlm%3GhhEui1XVuhl)P z>ws%?9nYGsqjAgawS6)vzvfsq*YkIKR=MiTm8~ioRlph-FgchPzb7NxXU*5@m0F?V z_L@~|+Oev3d)Dc?JrAswoTcugL#5dRV^0oR?Sd}6lJyD=0`f4+M!$Adt!sKgP26&$NZgs#ts;=V|h|yK9*Y-;WK6tg0PoK^ObviNY zcuh!vwZYHP~MtGYk$Nu7ahJ-F2w|g*?QX1>JY}2^k@kl#s&7 zVM>-WTe7Bm5Ohx0fWgPHu1ceDcd?n$A|?MJGhXu`GZ z_?0rjSEj~WtU5DxujzZG%FL`%tpM#xjl9~Vj6VfTmp4ib#;*d5Ul-+OpBWRTN^k}?U|H0e2hue19R>yUNSZhDS^BY#8vLM`pD zu(jgURPJ%6rWUc0zg$}I$25ER9Q`mH-@&-{cXj8k;zE9t4@r0@t@h z!b8Z<*!6C6Ayzj^))+2AR6?MqxGmfst6(Qo6Kp`XTCa%0D{Mp*8|p>{C`xSM^#F1z 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 literal 0 HcmV?d00001 diff --git a/.doctrees/lorax.doctree b/.doctrees/lorax.doctree new file mode 100644 index 0000000000000000000000000000000000000000..74d4ee94f69c5d65ceae08fb4493d5f0e7992a4c GIT binary patch literal 2438 zcmbtWU2hyU6ivf!l1;PQB(xQxErbWuptc!M5kh_8OF}?I9#G3$WO-)1V>cdq@JF%{ zs>BOYk^BV1|K-@Tv)K&-39+k@W<2)2=iYnHz4Oc9&!0zY=@%xYF1!=c9w}Wi+lH;U zP&4J)KiUsowZFHo+QYEvXr*Y)T7ConLD(>CDoTrYVUK#Jr&>Fu9V1w`?P(iEaksl{ zU=e$UQX4vJPiz>k?!>#D!W#p3L<+^)lQ8L@t@fsfE2Ba<>V#Iw@-}tOh}^qm8qf+! zt;GYpZk4`?j=P7P7H2)4;bQrXh#Px1=JvzmjO&_Zc_FhOSV_L2E^CZ_X|n`6LptWS zN5;C=hh2MF=US3Jl4NbtP-7W^YfG!Se^C8I^uz%}w$~X8^ z{*ZqWYso+7*&-SIJ$@VY=67ND9b9kYdJEV6Qv^Op6*^w`Ied;_nO252{5qaz;j`zQ z9i;3X*usd$9k3Y#%a}cIc;i^zNE)B0Dh~?7aGze}V9}AVx?KbSaNh&@|2Ejg{2gL` z(Z|fc{I_8Fx5opYGbHLU4js-94gP-U5nWCaA5)K`NRbU&mN_R>1x@WOL^d^AIi^bR z??);;E(*=ogL50tNcL>gyOVE_5^C-zE zadPD}tP2Eit3rGr9{kh|1+Ld&$FN2lNSU28*&eT_?vhALW>anI_P1~^2GI~ES?n>E zTnNWWFX5ALvlB^d250bmOMADR5ab4b9b zVu~5+v_WLUlI6a_&Bz(Jimt)RJB8HrjIf#tNoa|Nn&t)Q3e8wZGz}M=+UOL6yX`p* z!5TazN)(Qq3oAND`>|VFpRaOz99NaE=VS*fC#%T;eP2BPI?{K?Orzq!ndl>uB9z&v?%E`3yY?JCTD|z}}q$ySTVGYAzkuDgi6md4`P^;3hGWWzzaQ+*}|- z--46nPlPls?_8Uq{h(Y6TQJqlYK+JIg`JhjI_^IRy3dWcaoIy}>_*s(mb&j0KIV^X z*h9@wafdG+khqK=D>%Jf#tz!E00?3ei^$V_&1l#asuXCmj$odn?WGv@S8OdX-@YCi P0!sTweL3Qj&yW5B0l~^S literal 0 HcmV?d00001 diff --git a/.doctrees/modules.doctree b/.doctrees/modules.doctree new file mode 100644 index 0000000000000000000000000000000000000000..0ae4354d4d3218937d28aa8d4f20700370d64416 GIT binary patch literal 2539 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 + + + + + + + Overview: module code — Lorax 23.8 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/_modules/pylorax.html b/_modules/pylorax.html new file mode 100644 index 00000000..d96055bb --- /dev/null +++ b/_modules/pylorax.html @@ -0,0 +1,561 @@ + + + + + + + + + + pylorax — Lorax 23.8 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+
+ +
+
+
+ +

Source code for pylorax

+#
+# __init__.py
+#
+# Copyright (C) 2010-2015  Red Hat, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+# Red Hat Author(s):  Martin Gracik <mgracik@redhat.com>
+#                     David Cantrell <dcantrell@redhat.com>
+#                     Will Woods <wwoods@redhat.com>
+
+# set up logging
+import logging
+logger = logging.getLogger("pylorax")
+logger.addHandler(logging.NullHandler())
+
+import sys
+import os
+import configparser
+import tempfile
+import locale
+from subprocess import CalledProcessError
+import selinux
+
+from pylorax.base import BaseLoraxClass, DataHolder
+import pylorax.output as output
+
+import dnf
+
+from pylorax.sysutils import joinpaths, remove, linktree
+
+from pylorax.treebuilder import RuntimeBuilder, TreeBuilder
+from pylorax.buildstamp import BuildStamp
+from pylorax.treeinfo import TreeInfo
+from pylorax.discinfo import DiscInfo
+from pylorax.executils import runcmd, runcmd_output
+
+# List of drivers to remove on ppc64 arch to keep initrd < 32MiB
+REMOVE_PPC64_DRIVERS = "floppy scsi_debug nouveau radeon cirrus mgag200"
+REMOVE_PPC64_MODULES = "drm plymouth"
+
+
[docs]class ArchData(DataHolder): + lib64_arches = ("x86_64", "ppc64", "ppc64le", "s390x", "ia64", "aarch64") + bcj_arch = dict(i386="x86", x86_64="x86", + ppc="powerpc", ppc64="powerpc", ppc64le="powerpc", + arm="arm", armhfp="arm") + + def __init__(self, buildarch): + super(ArchData, self).__init__() + self.buildarch = buildarch + self.basearch = dnf.arch.basearch(buildarch) + self.libdir = "lib64" if self.basearch in self.lib64_arches else "lib" + self.bcj = self.bcj_arch.get(self.basearch) +
+
[docs]class Lorax(BaseLoraxClass): + + def __init__(self): + BaseLoraxClass.__init__(self) + self._configured = False + self.product = None + self.workdir = None + self.arch = None + self.conf = None + self.inroot = None + self.debug = False + self.outputdir = None + + # set locale to C + locale.setlocale(locale.LC_ALL, 'C') + +
[docs] def configure(self, conf_file="/etc/lorax/lorax.conf"): + self.conf = configparser.SafeConfigParser() + + # set defaults + self.conf.add_section("lorax") + self.conf.set("lorax", "debug", "1") + self.conf.set("lorax", "sharedir", "/usr/share/lorax") + self.conf.set("lorax", "logdir", "/var/log/lorax") + + self.conf.add_section("output") + self.conf.set("output", "colors", "1") + self.conf.set("output", "encoding", "utf-8") + self.conf.set("output", "ignorelist", "/usr/share/lorax/ignorelist") + + self.conf.add_section("templates") + self.conf.set("templates", "ramdisk", "ramdisk.ltmpl") + + self.conf.add_section("compression") + self.conf.set("compression", "type", "xz") + self.conf.set("compression", "args", "") + self.conf.set("compression", "bcj", "on") + + # read the config file + if os.path.isfile(conf_file): + self.conf.read(conf_file) + + # set up the output + self.debug = self.conf.getboolean("lorax", "debug") + output_level = output.DEBUG if self.debug else output.INFO + + if sys.stdout.isatty(): + colors = self.conf.getboolean("output", "colors") + else: + colors = False + encoding = self.conf.get("output", "encoding") + + self.output.basic_config(output_level=output_level, + colors=colors, encoding=encoding) + + ignorelist = self.conf.get("output", "ignorelist") + if os.path.isfile(ignorelist): + with open(ignorelist, "r") as fobj: + for line in fobj: + line = line.strip() + if line and not line.startswith("#"): + self.output.ignore(line) + + # cron does not have sbin in PATH, + # so we have to add it ourselves + os.environ["PATH"] = "{0}:/sbin:/usr/sbin".format(os.environ["PATH"]) + + # remove some environmental variables that can cause problems with package scripts + env_remove = ('DISPLAY', 'DBUS_SESSION_BUS_ADDRESS') + list(os.environ.pop(k) for k in env_remove if k in os.environ) + + self._configured = True +
+
[docs] def init_stream_logging(self): + sh = logging.StreamHandler() + sh.setLevel(logging.INFO) + logger.addHandler(sh) +
+
[docs] def init_file_logging(self, logdir, logname="pylorax.log"): + fh = logging.FileHandler(filename=joinpaths(logdir, logname), mode="w") + fh.setLevel(logging.DEBUG) + logger.addHandler(fh) +
+
[docs] def run(self, dbo, product, version, release, variant="", bugurl="", + isfinal=False, workdir=None, outputdir=None, buildarch=None, volid=None, + domacboot=True, doupgrade=True, remove_temp=False, + installpkgs=None, + size=2, + add_templates=None, + add_template_vars=None, + add_arch_templates=None, + add_arch_template_vars=None): + + assert self._configured + + installpkgs = installpkgs or [] + + # get lorax version + try: + import pylorax.version + except ImportError: + vernum = "devel" + else: + vernum = pylorax.version.num + + if domacboot: + try: + runcmd(["rpm", "-q", "hfsplus-tools"]) + except CalledProcessError: + logger.critical("you need to install hfsplus-tools to create mac images") + sys.exit(1) + + # set up work directory + self.workdir = workdir or tempfile.mkdtemp(prefix="pylorax.work.") + if not os.path.isdir(self.workdir): + os.makedirs(self.workdir) + + # set up log directory + logdir = self.conf.get("lorax", "logdir") + if not os.path.isdir(logdir): + os.makedirs(logdir) + + self.init_stream_logging() + self.init_file_logging(logdir) + + logger.debug("version is %s", vernum) + logger.debug("using work directory %s", self.workdir) + logger.debug("using log directory %s", logdir) + + # set up output directory + self.outputdir = outputdir or tempfile.mkdtemp(prefix="pylorax.out.") + if not os.path.isdir(self.outputdir): + os.makedirs(self.outputdir) + logger.debug("using output directory %s", self.outputdir) + + # do we have root privileges? + logger.info("checking for root privileges") + if not os.geteuid() == 0: + logger.critical("no root privileges") + sys.exit(1) + + # is selinux disabled? + # With selinux in enforcing mode the rpcbind package required for + # dracut nfs module, which is in turn required by anaconda module, + # will not get installed, because it's preinstall scriptlet fails, + # resulting in an incomplete initial ramdisk image. + # The reason is that the scriptlet runs tools from the shadow-utils + # package in chroot, particularly groupadd and useradd to add the + # required rpc group and rpc user. This operation fails, because + # the selinux context on files in the chroot, that the shadow-utils + # tools need to access (/etc/group, /etc/passwd, /etc/shadow etc.), + # is wrong and selinux therefore disallows access to these files. + logger.info("checking the selinux mode") + if selinux.is_selinux_enabled() and selinux.security_getenforce(): + logger.critical("selinux must be disabled or in Permissive mode") + sys.exit(1) + + # do we have a proper dnf base object? + logger.info("checking dnf base object") + if not isinstance(dbo, dnf.Base): + logger.critical("no dnf base object") + sys.exit(1) + self.inroot = dbo.conf.installroot + logger.debug("using install root: %s", self.inroot) + + if not buildarch: + buildarch = get_buildarch(dbo) + + logger.info("setting up build architecture") + self.arch = ArchData(buildarch) + for attr in ('buildarch', 'basearch', 'libdir'): + logger.debug("self.arch.%s = %s", attr, getattr(self.arch,attr)) + + logger.info("setting up build parameters") + product = DataHolder(name=product, version=version, release=release, + variant=variant, bugurl=bugurl, isfinal=isfinal) + self.product = product + logger.debug("product data: %s", product) + + # NOTE: if you change isolabel, you need to change pungi to match, or + # the pungi images won't boot. + isolabel = volid or "%s-%s-%s" % (product, version, self.arch.basearch) + + if len(isolabel) > 32: + logger.fatal("the volume id cannot be longer than 32 characters") + sys.exit(1) + + templatedir = self.conf.get("lorax", "sharedir") + # NOTE: rb.root = dbo.conf.installroot (== self.inroot) + rb = RuntimeBuilder(product=self.product, arch=self.arch, + dbo=dbo, templatedir=templatedir, + installpkgs=installpkgs, + add_templates=add_templates, + add_template_vars=add_template_vars) + + logger.info("installing runtime packages") + rb.install() + + # write .buildstamp + buildstamp = BuildStamp(self.product.name, self.product.version, + self.product.bugurl, self.product.isfinal, self.arch.buildarch) + + buildstamp.write(joinpaths(self.inroot, ".buildstamp")) + + if self.debug: + rb.writepkglists(joinpaths(logdir, "pkglists")) + rb.writepkgsizes(joinpaths(logdir, "original-pkgsizes.txt")) + + logger.info("doing post-install configuration") + rb.postinstall() + + # write .discinfo + discinfo = DiscInfo(self.product.release, self.arch.basearch) + discinfo.write(joinpaths(self.outputdir, ".discinfo")) + + logger.info("backing up installroot") + installroot = joinpaths(self.workdir, "installroot") + linktree(self.inroot, installroot) + + logger.info("generating kernel module metadata") + rb.generate_module_data() + + logger.info("cleaning unneeded files") + rb.cleanup() + + if self.debug: + rb.writepkgsizes(joinpaths(logdir, "final-pkgsizes.txt")) + + logger.info("creating the runtime image") + runtime = "images/install.img" + compression = self.conf.get("compression", "type") + compressargs = self.conf.get("compression", "args").split() # pylint: disable=no-member + if self.conf.getboolean("compression", "bcj"): + if self.arch.bcj: + compressargs += ["-Xbcj", self.arch.bcj] + else: + logger.info("no BCJ filter for arch %s", self.arch.basearch) + rb.create_runtime(joinpaths(installroot,runtime), + compression=compression, compressargs=compressargs, + size=size) + rb.finished() + + logger.info("preparing to build output tree and boot images") + treebuilder = TreeBuilder(product=self.product, arch=self.arch, + inroot=installroot, outroot=self.outputdir, + runtime=runtime, isolabel=isolabel, + domacboot=domacboot, doupgrade=doupgrade, + templatedir=templatedir, + add_templates=add_arch_templates, + add_template_vars=add_arch_template_vars, + workdir=self.workdir) + + logger.info("rebuilding initramfs images") + dracut_args = ["--xz", "--install", "/.buildstamp"] + anaconda_args = dracut_args + ["--add", "anaconda pollcdrom"] + + # ppc64 cannot boot an initrd > 32MiB so remove some drivers + if self.arch.basearch in ("ppc64", "ppc64le"): + dracut_args.extend(["--omit-drivers", REMOVE_PPC64_DRIVERS]) + + # Only omit dracut modules from the initrd so that they're kept for + # upgrade.img + anaconda_args.extend(["--omit", REMOVE_PPC64_MODULES]) + + treebuilder.rebuild_initrds(add_args=anaconda_args) + + if doupgrade: + # Build upgrade.img. It'd be nice if these could coexist in the same + # image, but that would increase the size of the anaconda initramfs, + # which worries some people (esp. PPC tftpboot). So they're separate. + try: + # If possible, use the 'fedup' plymouth theme + themes = runcmd_output(['plymouth-set-default-theme', '--list'], + root=installroot) + if 'fedup' in themes.splitlines(): + os.environ['PLYMOUTH_THEME_NAME'] = 'fedup' + except RuntimeError: + pass + upgrade_args = dracut_args + ["--add", "system-upgrade"] + treebuilder.rebuild_initrds(add_args=upgrade_args, prefix="upgrade") + + logger.info("populating output tree and building boot images") + treebuilder.build() + + # write .treeinfo file and we're done + treeinfo = TreeInfo(self.product.name, self.product.version, + self.product.variant, self.arch.basearch) + for section, data in treebuilder.treeinfo_data.items(): + treeinfo.add_section(section, data) + treeinfo.write(joinpaths(self.outputdir, ".treeinfo")) + + # cleanup + if remove_temp: + remove(self.workdir) + +
+
[docs]def get_buildarch(dbo): + # get architecture of the available anaconda package + buildarch = None + q = dbo.sack.query() + a = q.available() + for anaconda in a.filter(name="anaconda"): + if anaconda.arch != "src": + buildarch = anaconda.arch + break + if not buildarch: + logger.critical("no anaconda package in the repository") + sys.exit(1) + + return buildarch
+
+ +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/_modules/pylorax/base.html b/_modules/pylorax/base.html new file mode 100644 index 00000000..f815c545 --- /dev/null +++ b/_modules/pylorax/base.html @@ -0,0 +1,252 @@ + + + + + + + + + + pylorax.base — Lorax 23.8 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+
+ +
+
+
+ +

Source code for pylorax.base

+#
+# base.py
+#
+# Copyright (C) 2009-2015 Red Hat, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+# Red Hat Author(s):  Martin Gracik <mgracik@redhat.com>
+#
+
+from abc import ABCMeta, abstractmethod
+import sys
+
+import pylorax.output as output
+
+
+
[docs]class BaseLoraxClass(object, metaclass=ABCMeta): + @abstractmethod + def __init__(self): + self.output = output.LoraxOutput() + +
[docs] def pcritical(self, msg, fobj=sys.stdout): + self.output.critical(msg, fobj) +
+
[docs] def perror(self, msg, fobj=sys.stdout): + self.output.error(msg, fobj) +
+
[docs] def pwarning(self, msg, fobj=sys.stdout): + self.output.warning(msg, fobj) +
+
[docs] def pinfo(self, msg, fobj=sys.stdout): + self.output.info(msg, fobj) +
+
[docs] def pdebug(self, msg, fobj=sys.stdout): + self.output.debug(msg, fobj) + +
+
[docs]class DataHolder(dict): + + def __init__(self, **kwargs): + dict.__init__(self) + + for attr, value in kwargs.items(): + self[attr] = value + + def __getattr__(self, attr): + return self[attr] + + def __setattr__(self, attr, value): + self[attr] = value + +
[docs] def copy(self): + return DataHolder(**dict.copy(self))
+
+ +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/_modules/pylorax/buildstamp.html b/_modules/pylorax/buildstamp.html new file mode 100644 index 00000000..537734e3 --- /dev/null +++ b/_modules/pylorax/buildstamp.html @@ -0,0 +1,246 @@ + + + + + + + + + + pylorax.buildstamp — Lorax 23.8 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+
+ +
+
+
+ +

Source code for pylorax.buildstamp

+#
+# buildstamp.py
+#
+# Copyright (C) 2010-2015 Red Hat, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+# Red Hat Author(s):  Martin Gracik <mgracik@redhat.com>
+#
+
+import logging
+logger = logging.getLogger("pylorax.buildstamp")
+
+import datetime
+
+
+
[docs]class BuildStamp(object): + + def __init__(self, product, version, bugurl, isfinal, buildarch): + self.product = product + self.version = version + self.bugurl = bugurl + self.isfinal = isfinal + + now = datetime.datetime.now() + now = now.strftime("%Y%m%d%H%M") + self.uuid = "{0}.{1}".format(now, buildarch) + +
[docs] def write(self, outfile): + # get lorax version + try: + import pylorax.version + except ImportError: + vernum = "devel" + else: + vernum = pylorax.version.num + + logger.info("writing .buildstamp file") + with open(outfile, "w") as fobj: + fobj.write("[Main]\n") + fobj.write("Product={0.product}\n".format(self)) + fobj.write("Version={0.version}\n".format(self)) + fobj.write("BugURL={0.bugurl}\n".format(self)) + fobj.write("IsFinal={0.isfinal}\n".format(self)) + fobj.write("UUID={0.uuid}\n".format(self)) + fobj.write("[Compose]\n") + fobj.write("Lorax={0}\n".format(vernum))
+
+ +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/_modules/pylorax/decorators.html b/_modules/pylorax/decorators.html new file mode 100644 index 00000000..34f44457 --- /dev/null +++ b/_modules/pylorax/decorators.html @@ -0,0 +1,218 @@ + + + + + + + + + + pylorax.decorators — Lorax 23.8 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+
+ +
+
+
+ +

Source code for pylorax.decorators

+#
+# decorators.py
+#
+# Copyright (C) 2009-2015 Red Hat, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+# Red Hat Author(s):  Martin Gracik <mgracik@redhat.com>
+#
+
+
[docs]def singleton(cls): + instances = {} + + def get_instance(): + if cls not in instances: + instances[cls] = cls() + return instances[cls] + + return get_instance
+
+ +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/_modules/pylorax/discinfo.html b/_modules/pylorax/discinfo.html new file mode 100644 index 00000000..651b6e50 --- /dev/null +++ b/_modules/pylorax/discinfo.html @@ -0,0 +1,227 @@ + + + + + + + + + + pylorax.discinfo — Lorax 23.8 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+
+ +
+
+
+ +

Source code for pylorax.discinfo

+#
+# discinfo.py
+#
+# Copyright (C) 2010-2015  Red Hat, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+# Red Hat Author(s):  Martin Gracik <mgracik@redhat.com>
+#
+
+import logging
+logger = logging.getLogger("pylorax.discinfo")
+
+import time
+
+
+
[docs]class DiscInfo(object): + + def __init__(self, release, basearch): + self.release = release + self.basearch = basearch + +
[docs] def write(self, outfile): + logger.info("writing .discinfo file") + with open(outfile, "w") as fobj: + fobj.write("{0:f}\n".format(time.time())) + fobj.write("{0.release}\n".format(self)) + fobj.write("{0.basearch}\n".format(self))
+
+ +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/_modules/pylorax/dnfhelper.html b/_modules/pylorax/dnfhelper.html new file mode 100644 index 00000000..4862ac89 --- /dev/null +++ b/_modules/pylorax/dnfhelper.html @@ -0,0 +1,295 @@ + + + + + + + + + + pylorax.dnfhelper — Lorax 23.8 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+
+ +
+
+
+ +

Source code for pylorax.dnfhelper

+#
+# dnfhelper.py
+#
+# Copyright (C) 2010-2015 Red Hat, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+# Red Hat Author(s):  Martin Gracik <mgracik@redhat.com>
+#                     Brian C. Lane <bcl@redhat.com>
+#
+
+import logging
+logger = logging.getLogger("pylorax.dnfhelper")
+import dnf
+import collections
+import time
+import pylorax.output as output
+
+__all__ = ['LoraxDownloadCallback', 'LoraxRpmCallback']
+
+def _paced(fn):
+    """Execute `fn` no more often then every 2 seconds."""
+    def paced_fn(self, *args):
+        now = time.time()
+        if now - self.last_time < 2:
+            return
+        self.last_time = now
+        return fn(self, *args)
+    return paced_fn
+
+
+
[docs]class LoraxDownloadCallback(dnf.callback.DownloadProgress): + def __init__(self): + self.downloads = collections.defaultdict(int) + self.last_time = time.time() + self.total_files = 0 + self.total_size = 0 + + self.pkgno = 0 + self.total = 0 + + self.output = output.LoraxOutput() + + @_paced + def _update(self): + msg = "Downloading %(pkgno)s / %(total_files)s RPMs, " \ + "%(downloaded)s / %(total_size)s (%(percent)d%%) done.\n" + downloaded = sum(self.downloads.values()) + vals = { + 'downloaded' : downloaded, + 'percent' : int(100 * downloaded/self.total_size), + 'pkgno' : self.pkgno, + 'total_files' : self.total_files, + 'total_size' : self.total_size + } + self.output.write(msg % vals) + +
[docs] def end(self, payload, status, err_msg): + nevra = str(payload) + if status is dnf.callback.STATUS_OK: + self.downloads[nevra] = payload.download_size + self.pkgno += 1 + self._update() + return + logger.critical("Failed to download '%s': %d - %s", nevra, status, err_msg) +
+
[docs] def progress(self, payload, done): + nevra = str(payload) + self.downloads[nevra] = done + self._update() +
+
[docs] def start(self, total_files, total_size): + self.total_files = total_files + self.total_size = total_size + +
+
[docs]class LoraxRpmCallback(dnf.callback.LoggingTransactionDisplay): + def __init__(self, queue): + super(LoraxRpmCallback, self).__init__() + self._queue = queue + self._last_ts = None + self.cnt = 0 + +
[docs] def event(self, package, action, te_current, te_total, ts_current, ts_total): + if action == self.PKG_INSTALL and te_current == 0: + # do not report same package twice + if self._last_ts == ts_current: + return + self._last_ts = ts_current + + msg = '(%d/%d) %s.%s' % \ + (ts_current, ts_total, package.name, package.arch) + self.cnt += 1 + self._queue.put(('install', msg)) + elif action == self.TRANS_POST: + self._queue.put(('post', None))
+
+ +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/_modules/pylorax/executils.html b/_modules/pylorax/executils.html new file mode 100644 index 00000000..0581a703 --- /dev/null +++ b/_modules/pylorax/executils.html @@ -0,0 +1,427 @@ + + + + + + + + + + pylorax.executils — Lorax 23.8 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+
+ +
+
+
+ +

Source code for pylorax.executils

+#
+# executil.py - subprocess execution utility functions
+#
+# Copyright (C) 1999-2015
+# Red Hat, Inc.  All rights reserved.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+
+import os
+import subprocess
+import signal
+from time import sleep
+
+import logging
+log = logging.getLogger("pylorax")
+program_log = logging.getLogger("program")
+
+from threading import Lock
+program_log_lock = Lock()
+
+_child_env = {}
+
+
[docs]def setenv(name, value): + """ Set an environment variable to be used by child processes. + + This method does not modify os.environ for the running process, which + is not thread-safe. If setenv has already been called for a particular + variable name, the old value is overwritten. + + :param str name: The name of the environment variable + :param str value: The value of the environment variable + """ + + _child_env[name] = value +
+
[docs]def augmentEnv(): + env = os.environ.copy() + env.update(_child_env) + return env +
+
[docs]class ExecProduct(object): + def __init__(self, rc, stdout, stderr): + self.rc = rc + self.stdout = stdout + self.stderr = stderr +
+
[docs]def startProgram(argv, root='/', stdin=None, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, + env_prune=None, env_add=None, reset_handlers=True, reset_lang=True, **kwargs): + """ Start an external program and return the Popen object. + + The root and reset_handlers arguments are handled by passing a + preexec_fn argument to subprocess.Popen, but an additional preexec_fn + can still be specified and will be run. The user preexec_fn will be run + last. + + :param argv: The command to run and argument + :param root: The directory to chroot to before running command. + :param stdin: The file object to read stdin from. + :param stdout: The file object to write stdout to. + :param stderr: The file object to write stderr to. + :param env_prune: environment variables to remove before execution + :param env_add: environment variables to add before execution + :param reset_handlers: whether to reset to SIG_DFL any signal handlers set to SIG_IGN + :param reset_lang: whether to set the locale of the child process to C + :param kwargs: Additional parameters to pass to subprocess.Popen + :return: A Popen object for the running command. + """ + if env_prune is None: + env_prune = [] + + # Check for and save a preexec_fn argument + preexec_fn = kwargs.pop("preexec_fn", None) + + def preexec(): + # If a target root was specificed, chroot into it + if root and root != '/': + os.chroot(root) + os.chdir("/") + + # Signal handlers set to SIG_IGN persist across exec. Reset + # these to SIG_DFL if requested. In particular this will include the + # SIGPIPE handler set by python. + if reset_handlers: + for signum in range(1, signal.NSIG): + if signal.getsignal(signum) == signal.SIG_IGN: + signal.signal(signum, signal.SIG_DFL) + + # If the user specified an additional preexec_fn argument, run it + if preexec_fn is not None: + preexec_fn() + + with program_log_lock: + program_log.info("Running... %s", " ".join(argv)) + + env = augmentEnv() + for var in env_prune: + env.pop(var, None) + + if reset_lang: + env.update({"LC_ALL": "C"}) + + if env_add: + env.update(env_add) + + return subprocess.Popen(argv, + stdin=stdin, + stdout=stdout, + stderr=stderr, + close_fds=True, + preexec_fn=preexec, cwd=root, env=env, **kwargs) +
+def _run_program(argv, root='/', stdin=None, stdout=None, env_prune=None, log_output=True, + binary_output=False, filter_stderr=False, raise_err=False, callback=None): + """ Run an external program, log the output and return it to the caller + + :param argv: The command to run and argument + :param root: The directory to chroot to before running command. + :param stdin: The file object to read stdin from. + :param stdout: Optional file object to write the output to. + :param env_prune: environment variable to remove before execution + :param log_output: whether to log the output of command + :param binary_output: whether to treat the output of command as binary data + :param filter_stderr: whether to exclude the contents of stderr from the returned output + :param raise_err: whether to raise a CalledProcessError if the returncode is non-zero + :param callback: method to call while waiting for process to finish, passed Popen object + :return: The return code of the command and the output + :raises: OSError or CalledProcessError + """ + try: + if filter_stderr: + stderr = subprocess.PIPE + else: + stderr = subprocess.STDOUT + + proc = startProgram(argv, root=root, stdin=stdin, stdout=subprocess.PIPE, stderr=stderr, + env_prune=env_prune, universal_newlines=not binary_output) + + if callback: + while callback(proc) and proc.poll() is None: + sleep(1) + + (output_string, err_string) = proc.communicate() + if output_string: + if binary_output: + output_lines = [output_string] + else: + if output_string[-1] != "\n": + output_string = output_string + "\n" + output_lines = output_string.splitlines(True) + + if log_output: + with program_log_lock: + for line in output_lines: + program_log.info(line.strip()) + + if stdout: + stdout.write(output_string) + + # If stderr was filtered, log it separately + if filter_stderr and err_string and log_output: + err_lines = err_string.splitlines(True) + + with program_log_lock: + for line in err_lines: + program_log.info(line.strip()) + + except OSError as e: + with program_log_lock: + program_log.error("Error running %s: %s", argv[0], e.strerror) + raise + + with program_log_lock: + program_log.debug("Return code: %d", proc.returncode) + + if proc.returncode and raise_err: + raise subprocess.CalledProcessError(proc.returncode, argv) + + return (proc.returncode, output_string) + +
[docs]def execWithRedirect(command, argv, stdin=None, stdout=None, root='/', env_prune=None, + log_output=True, binary_output=False, raise_err=False, callback=None): + """ Run an external program and redirect the output to a file. + + :param command: The command to run + :param argv: The argument list + :param stdin: The file object to read stdin from. + :param stdout: Optional file object to redirect stdout and stderr to. + :param root: The directory to chroot to before running command. + :param env_prune: environment variable to remove before execution + :param log_output: whether to log the output of command + :param binary_output: whether to treat the output of command as binary data + :param raise_err: whether to raise a CalledProcessError if the returncode is non-zero + :param callback: method to call while waiting for process to finish, passed Popen object + :return: The return code of the command + """ + argv = [command] + list(argv) + return _run_program(argv, stdin=stdin, stdout=stdout, root=root, env_prune=env_prune, + log_output=log_output, binary_output=binary_output, raise_err=raise_err, callback=callback)[0] +
+
[docs]def execWithCapture(command, argv, stdin=None, root='/', log_output=True, filter_stderr=False, + raise_err=False, callback=None): + """ Run an external program and capture standard out and err. + + :param command: The command to run + :param argv: The argument list + :param stdin: The file object to read stdin from. + :param root: The directory to chroot to before running command. + :param log_output: Whether to log the output of command + :param filter_stderr: Whether stderr should be excluded from the returned output + :param raise_err: whether to raise a CalledProcessError if the returncode is non-zero + :return: The output of the command + """ + argv = [command] + list(argv) + return _run_program(argv, stdin=stdin, root=root, log_output=log_output, filter_stderr=filter_stderr, + raise_err=raise_err, callback=callback)[1] +
+
[docs]def runcmd(cmd, **kwargs): + """ run execWithRedirect with raise_err=True + """ + kwargs["raise_err"] = True + return execWithRedirect(cmd[0], cmd[1:], **kwargs) +
+
[docs]def runcmd_output(cmd, **kwargs): + """ run execWithCapture with raise_err=True + """ + kwargs["raise_err"] = True + return execWithCapture(cmd[0], cmd[1:], **kwargs)
+
+ +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/_modules/pylorax/imgutils.html b/_modules/pylorax/imgutils.html new file mode 100644 index 00000000..a3ad8b6b --- /dev/null +++ b/_modules/pylorax/imgutils.html @@ -0,0 +1,605 @@ + + + + + + + + + + pylorax.imgutils — Lorax 23.8 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+
+ +
+
+
+ +

Source code for pylorax.imgutils

+# imgutils.py - utility functions/classes for building disk images
+#
+# Copyright (C) 2011-2015 Red Hat, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+# Author(s):  Will Woods <wwoods@redhat.com>
+
+import logging
+logger = logging.getLogger("pylorax.imgutils")
+
+import os, tempfile
+from os.path import join, dirname
+from subprocess import Popen, PIPE, CalledProcessError
+import sys
+import traceback
+import multiprocessing
+from time import sleep
+
+from pylorax.sysutils import cpfile
+from pylorax.executils import execWithRedirect, execWithCapture
+from pylorax.executils import runcmd, runcmd_output
+
+######## Functions for making container images (cpio, tar, squashfs) ##########
+
+
[docs]def compress(command, rootdir, outfile, compression="xz", compressargs=None): + '''Make a compressed archive of the given rootdir. + command is a list of the archiver commands to run + compression should be "xz", "gzip", "lzma", "bzip2", or None. + compressargs will be used on the compression commandline.''' + if compression not in (None, "xz", "gzip", "lzma", "bzip2"): + raise ValueError("Unknown compression type %s" % compression) + compressargs = compressargs or ["-9"] + if compression == "xz": + compressargs.insert(0, "--check=crc32") + if compression is None: + compression = "cat" # this is a little silly + compressargs = [] + + # make compression run with multiple threads if possible + if compression in ("xz", "lzma"): + compressargs.insert(0, "-T%d" % multiprocessing.cpu_count()) + elif compression == "gzip": + compression = "pigz" + compressargs.insert(0, "-p%d" % multiprocessing.cpu_count()) + elif compression == "bzip2": + compression = "pbzip2" + compressargs.insert(0, "-p%d" % multiprocessing.cpu_count()) + + logger.debug("find %s -print0 |%s | %s %s > %s", rootdir, " ".join(command), + compression, " ".join(compressargs), outfile) + find, archive, comp = None, None, None + try: + find = Popen(["find", ".", "-print0"], stdout=PIPE, cwd=rootdir) + archive = Popen(command, stdin=find.stdout, stdout=PIPE, cwd=rootdir) + comp = Popen([compression] + compressargs, + stdin=archive.stdout, stdout=open(outfile, "wb")) + comp.wait() + return comp.returncode + except OSError as e: + logger.error(e) + # Kill off any hanging processes + list(p.kill() for p in (find, archive, comp) if p) + return 1 +
+
[docs]def mkcpio(rootdir, outfile, compression="xz", compressargs=None): + compressargs = compressargs or ["-9"] + return compress(["cpio", "--null", "--quiet", "-H", "newc", "-o"], + rootdir, outfile, compression, compressargs) +
+
[docs]def mktar(rootdir, outfile, compression="xz", compressargs=None): + compressargs = compressargs or ["-9"] + return compress(["tar", "--no-recursion", "--selinux", "--acls", "--xattrs", "-cf-", "--null", "-T-"], + rootdir, outfile, compression, compressargs) +
+
[docs]def mksquashfs(rootdir, outfile, compression="default", compressargs=None): + '''Make a squashfs image containing the given rootdir.''' + compressargs = compressargs or [] + if compression != "default": + compressargs = ["-comp", compression] + compressargs + return execWithRedirect("mksquashfs", [rootdir, outfile] + compressargs) +
+
[docs]def mkrootfsimg(rootdir, outfile, label, size=2, sysroot=""): + """ + Make rootfs image from a directory + + :param str rootdir: Root directory + :param str outfile: Path of output image file + :param str label: Filesystem label + :param int size: Size of the image in GiB, if None computed automatically + :param str sysroot: path to system (deployment) root relative to physical root + """ + if size: + fssize = size * (1024*1024*1024) # 2GB sparse file compresses down to nothin' + else: + fssize = None # Let mkext4img figure out the needed size + + mkext4img(rootdir, outfile, label=label, size=fssize) + # Reset selinux context on new rootfs + with LoopDev(outfile) as loopdev: + with Mount(loopdev) as mnt: + cmd = [ "setfiles", "-e", "/proc", "-e", "/sys", "-e", "/dev", "-e", "/install", + "/etc/selinux/targeted/contexts/files/file_contexts", "/"] + root = join(mnt, sysroot.lstrip("/")) + runcmd(cmd, root=root) + +######## Utility functions ############################################### +
+
[docs]def mksparse(outfile, size): + '''use os.ftruncate to create a sparse file of the given size.''' + fobj = open(outfile, "w") + os.ftruncate(fobj.fileno(), size) +
+
[docs]def mkqcow2(outfile, size, options=None): + '''use qemu-img to create a file of the given size. + options is a list of options passed to qemu-img + + Default format is qcow2, override by passing "-f", fmt + in options. + ''' + options = options or [] + if "-f" not in options: + options.extend(["-f", "qcow2"]) + runcmd(["qemu-img", "create"] + options + [outfile, str(size)]) +
+
[docs]def loop_attach(outfile): + '''Attach a loop device to the given file. Return the loop device name. + Raises CalledProcessError if losetup fails.''' + dev = runcmd_output(["losetup", "--find", "--show", outfile]) + return dev.strip() +
+
[docs]def loop_detach(loopdev): + '''Detach the given loop device. Return False on failure.''' + return (execWithRedirect("losetup", ["--detach", loopdev]) == 0) +
+
[docs]def get_loop_name(path): + '''Return the loop device associated with the path. + Raises RuntimeError if more than one loop is associated''' + buf = runcmd_output(["losetup", "-j", path]) + if len(buf.splitlines()) > 1: + # there should never be more than one loop device listed + raise RuntimeError("multiple loops associated with %s" % path) + name = os.path.basename(buf.split(":")[0]) + return name +
+
[docs]def dm_attach(dev, size, name=None): + '''Attach a devicemapper device to the given device, with the given size. + If name is None, a random name will be chosen. Returns the device name. + raises CalledProcessError if dmsetup fails.''' + if name is None: + name = tempfile.mktemp(prefix="lorax.imgutils.", dir="") + runcmd(["dmsetup", "create", name, "--table", + "0 %i linear %s 0" % (size/512, dev)]) + return name +
+
[docs]def dm_detach(dev): + '''Detach the named devicemapper device. Returns False if dmsetup fails.''' + dev = dev.replace("/dev/mapper/", "") # strip prefix, if it's there + return execWithRedirect("dmsetup", ["remove", dev]) +
+
[docs]def mount(dev, opts="", mnt=None): + '''Mount the given device at the given mountpoint, using the given opts. + opts should be a comma-separated string of mount options. + if mnt is none, a temporary directory will be created and its path will be + returned. + raises CalledProcessError if mount fails.''' + if mnt is None: + mnt = tempfile.mkdtemp(prefix="lorax.imgutils.") + logger.debug("make tmp mountdir %s", mnt) + cmd = ["mount"] + if opts: + cmd += ["-o", opts] + cmd += [dev, mnt] + runcmd(cmd) + return mnt +
+
[docs]def umount(mnt, lazy=False, maxretry=3, retrysleep=1.0): + '''Unmount the given mountpoint. If lazy is True, do a lazy umount (-l). + If the mount was a temporary dir created by mount, it will be deleted. + raises CalledProcessError if umount fails.''' + cmd = ["umount"] + if lazy: cmd += ["-l"] + cmd += [mnt] + count = 0 + while maxretry > 0: + try: + rv = runcmd(cmd) + except CalledProcessError: + count += 1 + if count == maxretry: + raise + logger.warn("failed to unmount %s. retrying (%d/%d)...", + mnt, count, maxretry) + if logger.getEffectiveLevel() <= logging.DEBUG: + fuser = execWithCapture("fuser", ["-vm", mnt]) + logger.debug("fuser -vm:\n%s\n", fuser) + sleep(retrysleep) + else: + break + if 'lorax.imgutils' in mnt: + os.rmdir(mnt) + logger.debug("remove tmp mountdir %s", mnt) + return (rv == 0) +
+
[docs]def copytree(src, dest, preserve=True): + '''Copy a tree of files using cp -a, thus preserving modes, timestamps, + links, acls, sparse files, xattrs, selinux contexts, etc. + If preserve is False, uses cp -R (useful for modeless filesystems) + raises CalledProcessError if copy fails.''' + logger.debug("copytree %s %s", src, dest) + cp = ["cp", "-a"] if preserve else ["cp", "-R", "-L"] + cp += [join(src, "."), os.path.abspath(dest)] + runcmd(cp) +
+
[docs]def do_grafts(grafts, dest, preserve=True): + '''Copy each of the items listed in grafts into dest. + If the key ends with '/' it's assumed to be a directory which should be + created, otherwise just the leading directories will be created.''' + for imgpath, filename in grafts.items(): + if imgpath[-1] == '/': + targetdir = join(dest, imgpath) + imgpath = imgpath[:-1] + else: + targetdir = join(dest, dirname(imgpath)) + if not os.path.isdir(targetdir): + os.makedirs(targetdir) + if os.path.isdir(filename): + copytree(filename, join(dest, imgpath), preserve) + else: + cpfile(filename, join(dest, imgpath)) +
+
[docs]def round_to_blocks(size, blocksize): + '''If size isn't a multiple of blocksize, round up to the next multiple''' + diff = size % blocksize + if diff or not size: + size += blocksize - diff + return size + +# TODO: move filesystem data outside this function
+
[docs]def estimate_size(rootdir, graft=None, fstype=None, blocksize=4096, overhead=128): + graft = graft or {} + getsize = lambda f: os.lstat(f).st_size + if fstype == "btrfs": + overhead = 64*1024 # don't worry, it's all sparse + if fstype == "hfsplus": + overhead = 200 # hack to deal with two bootloader copies + if fstype in ("vfat", "msdos"): + blocksize = 2048 + getsize = lambda f: os.stat(f).st_size # no symlinks, count as copies + total = overhead*blocksize + dirlist = list(graft.values()) + if rootdir: + dirlist.append(rootdir) + for root in dirlist: + for top, dirs, files in os.walk(root): + for f in files + dirs: + total += round_to_blocks(getsize(join(top,f)), blocksize) + if fstype == "btrfs": + total = max(256*1024*1024, total) # btrfs minimum size: 256MB + return total + +######## Execution contexts - use with the 'with' statement ############## +
+
[docs]class LoopDev(object): + def __init__(self, filename, size=None): + self.loopdev = None + self.filename = filename + if size: + mksparse(self.filename, size) + def __enter__(self): + self.loopdev = loop_attach(self.filename) + return self.loopdev + def __exit__(self, exc_type, exc_value, tracebk): + loop_detach(self.loopdev) +
+
[docs]class DMDev(object): + def __init__(self, dev, size, name=None): + self.mapperdev = None + (self.dev, self.size, self.name) = (dev, size, name) + def __enter__(self): + self.mapperdev = dm_attach(self.dev, self.size, self.name) + return self.mapperdev + def __exit__(self, exc_type, exc_value, tracebk): + dm_detach(self.mapperdev) +
+
[docs]class Mount(object): + def __init__(self, dev, opts="", mnt=None): + (self.dev, self.opts, self.mnt) = (dev, opts, mnt) + def __enter__(self): + self.mnt = mount(self.dev, self.opts, self.mnt) + return self.mnt + def __exit__(self, exc_type, exc_value, tracebk): + umount(self.mnt) +
+
[docs]class PartitionMount(object): + """ Mount a partitioned image file using kpartx """ + def __init__(self, disk_img, mount_ok=None): + """ + disk_img is the full path to a partitioned disk image + mount_ok is a function that is passed the mount point and + returns True if it should be mounted. + """ + self.mount_dev = None + self.mount_size = None + self.mount_dir = None + self.disk_img = disk_img + self.mount_ok = mount_ok + + # Default is to mount partition with /etc/passwd + if not self.mount_ok: + self.mount_ok = lambda mount_dir: os.path.isfile(mount_dir+"/etc/passwd") + + # Example kpartx output + # kpartx -p p -v -a /tmp/diskV2DiCW.im + # add map loop2p1 (253:2): 0 3481600 linear /dev/loop2 2048 + # add map loop2p2 (253:3): 0 614400 linear /dev/loop2 3483648 + kpartx_output = runcmd_output(["kpartx", "-v", "-a", "-s", self.disk_img]) + logger.debug(kpartx_output) + + # list of (deviceName, sizeInBytes) + self.loop_devices = [] + for line in kpartx_output.splitlines(): + # add map loop2p3 (253:4): 0 7139328 linear /dev/loop2 528384 + # 3rd element is size in 512 byte blocks + if line.startswith("add map "): + fields = line[8:].split() + self.loop_devices.append( (fields[0], int(fields[3])*512) ) + + def __enter__(self): + # Mount the device selected by mount_ok, if possible + mount_dir = tempfile.mkdtemp() + for dev, size in self.loop_devices: + try: + mount( "/dev/mapper/"+dev, mnt=mount_dir ) + if self.mount_ok(mount_dir): + self.mount_dir = mount_dir + self.mount_dev = dev + self.mount_size = size + break + umount( mount_dir ) + except CalledProcessError: + logger.debug(traceback.format_exc()) + if self.mount_dir: + logger.info("Partition mounted on %s size=%s", self.mount_dir, self.mount_size) + else: + logger.debug("Unable to mount anything from %s", self.disk_img) + os.rmdir(mount_dir) + return self + + def __exit__(self, exc_type, exc_value, tracebk): + if self.mount_dir: + umount( self.mount_dir ) + os.rmdir(self.mount_dir) + self.mount_dir = None + execWithRedirect("kpartx", ["-d", "-s", self.disk_img]) + + +######## Functions for making filesystem images ########################## +
+
[docs]def mkfsimage(fstype, rootdir, outfile, size=None, mkfsargs=None, mountargs="", graft=None): + '''Generic filesystem image creation function. + fstype should be a filesystem type - "mkfs.${fstype}" must exist. + graft should be a dict: {"some/path/in/image": "local/file/or/dir"}; + if the path ends with a '/' it's assumed to be a directory. + Will raise CalledProcessError if something goes wrong.''' + mkfsargs = mkfsargs or [] + graft = graft or {} + preserve = (fstype not in ("msdos", "vfat")) + if not size: + size = estimate_size(rootdir, graft, fstype) + with LoopDev(outfile, size) as loopdev: + try: + runcmd(["mkfs.%s" % fstype] + mkfsargs + [loopdev]) + except CalledProcessError as e: + logger.error("mkfs exited with a non-zero return code: %d", e.returncode) + logger.error(e.output) + sys.exit(e.returncode) + + with Mount(loopdev, mountargs) as mnt: + if rootdir: + copytree(rootdir, mnt, preserve) + do_grafts(graft, mnt, preserve) + + # Make absolutely sure that the data has been written + runcmd(["sync"]) + +# convenience functions with useful defaults
+
[docs]def mkdosimg(rootdir, outfile, size=None, label="", mountargs="shortname=winnt,umask=0077", graft=None): + graft = graft or {} + mkfsimage("msdos", rootdir, outfile, size, mountargs=mountargs, + mkfsargs=["-n", label], graft=graft) +
+
[docs]def mkext4img(rootdir, outfile, size=None, label="", mountargs="", graft=None): + graft = graft or {} + mkfsimage("ext4", rootdir, outfile, size, mountargs=mountargs, + mkfsargs=["-L", label, "-b", "1024", "-m", "0"], graft=graft) +
+
[docs]def mkbtrfsimg(rootdir, outfile, size=None, label="", mountargs="", graft=None): + graft = graft or {} + mkfsimage("btrfs", rootdir, outfile, size, mountargs=mountargs, + mkfsargs=["-L", label], graft=graft) +
+
[docs]def mkhfsimg(rootdir, outfile, size=None, label="", mountargs="", graft=None): + graft = graft or {} + mkfsimage("hfsplus", rootdir, outfile, size, mountargs=mountargs, + mkfsargs=["-v", label], graft=graft)
+
+ +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/_modules/pylorax/ltmpl.html b/_modules/pylorax/ltmpl.html new file mode 100644 index 00000000..30423537 --- /dev/null +++ b/_modules/pylorax/ltmpl.html @@ -0,0 +1,902 @@ + + + + + + + + + + pylorax.ltmpl — Lorax 23.8 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+
+ +
+
+
+ +

Source code for pylorax.ltmpl

+#
+# ltmpl.py
+#
+# Copyright (C) 2009-2015  Red Hat, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+# Red Hat Author(s):  Martin Gracik <mgracik@redhat.com>
+#                     Will Woods <wwoods@redhat.com>
+#
+
+import logging
+logger = logging.getLogger("pylorax.ltmpl")
+
+import os, re, glob, shlex, fnmatch
+from os.path import basename, isdir
+from subprocess import CalledProcessError
+
+from pylorax.sysutils import joinpaths, cpfile, mvfile, replace, remove
+from pylorax.dnfhelper import LoraxDownloadCallback, LoraxRpmCallback
+from pylorax.base import DataHolder
+from pylorax.executils import runcmd, runcmd_output
+from pylorax.imgutils import mkcpio
+import pylorax.output as output
+
+from mako.lookup import TemplateLookup
+from mako.exceptions import text_error_template
+import sys, traceback
+import struct
+import dnf
+import multiprocessing
+import queue
+import collections
+
+
[docs]class LoraxTemplate(object): + def __init__(self, directories=None): + directories = directories or ["/usr/share/lorax"] + # we have to add ["/"] to the template lookup directories or the + # file includes won't work properly for absolute paths + self.directories = ["/"] + directories + +
[docs] def parse(self, template_file, variables): + lookup = TemplateLookup(directories=self.directories) + template = lookup.get_template(template_file) + + try: + textbuf = template.render(**variables) + except: + logger.error("Problem rendering %s (%s):", template_file, variables) + logger.error(text_error_template().render()) + raise + + # split, strip and remove empty lines + lines = textbuf.splitlines() + lines = [line.strip() for line in lines] + lines = [line for line in lines if line] + + # remove comments + lines = [line for line in lines if not line.startswith("#")] + + # split with shlex and perform brace expansion + lines = [split_and_expand(line) for line in lines] + + return lines +
+
[docs]def split_and_expand(line): + return [exp for word in shlex.split(line) for exp in brace_expand(word)] +
+
[docs]def brace_expand(s): + if not ('{' in s and ',' in s and '}' in s): + yield s + else: + right = s.find('}') + left = s[:right].rfind('{') + (prefix, choices, suffix) = (s[:left], s[left+1:right], s[right+1:]) + for choice in choices.split(','): + for alt in brace_expand(prefix+choice+suffix): + yield alt +
+
[docs]def rglob(pathname, root="/", fatal=False): + seen = set() + rootlen = len(root)+1 + for f in glob.iglob(joinpaths(root, pathname)): + if f not in seen: + seen.add(f) + yield f[rootlen:] # remove the root to produce relative path + if fatal and not seen: + raise IOError("nothing matching %s in %s" % (pathname, root)) +
+
[docs]def rexists(pathname, root=""): + # Generator is always True, even with no values; + # bool(rglob(...)) won't work here. + for _path in rglob(pathname, root): + return True + return False + +# TODO: operate inside an actual chroot for safety? Not that RPM bothers..
+
[docs]class LoraxTemplateRunner(object): + ''' + This class parses and executes Lorax templates. Sample usage: + + # install a bunch of packages + runner = LoraxTemplateRunner(inroot=rundir, outroot=rundir, dbo=dnf_obj) + runner.run("install-packages.ltmpl") + + # modify a runtime dir + runner = LoraxTemplateRunner(inroot=rundir, outroot=newrun) + runner.run("runtime-transmogrify.ltmpl") + + NOTES: + + * Parsing procedure is roughly: + 1. Mako template expansion (on the whole file) + 2. For each line of the result, + a. Whitespace splitting (using shlex.split()) + b. Brace expansion (using brace_expand()) + c. If the first token is the name of a function, call that function + with the rest of the line as arguments + + * Parsing and execution are *separate* passes - so you can't use the result + of a command in an %if statement (or any other control statements)! + + * Commands that run external programs (systemctl, gconfset) currently use + the *host*'s copy of that program, which may cause problems if there's a + big enough difference between the host and the image you're modifying. + + * The commands are not executed under a real chroot, so absolute symlinks + will point *outside* the inroot/outroot. Be careful with symlinks! + + ADDING NEW COMMANDS: + + * Each template command is just a method of the LoraxTemplateRunner + object - so adding a new command is as easy as adding a new function. + + * Each function gets arguments that correspond to the rest of the tokens + on that line (after word splitting and brace expansion) + + * Commands should raise exceptions for errors - don't use sys.exit() + ''' + def __init__(self, inroot, outroot, dbo=None, fatalerrors=True, + templatedir=None, defaults=None): + self.inroot = inroot + self.outroot = outroot + self.dbo = dbo + self.fatalerrors = fatalerrors + self.templatedir = templatedir or "/usr/share/lorax" + self.templatefile = None + # some builtin methods + self.builtins = DataHolder(exists=lambda p: rexists(p, root=inroot), + glob=lambda g: list(rglob(g, root=inroot))) + self.defaults = defaults or {} + self.results = DataHolder(treeinfo=dict()) # just treeinfo for now + # TODO: set up custom logger with a filter to add line info + + def _out(self, path): + return joinpaths(self.outroot, path) + def _in(self, path): + return joinpaths(self.inroot, path) + + def _filelist(self, *pkgs): + """ Return the list of files in the packages """ + pkglist = [] + for pkg_glob in pkgs: + pkglist += list(self.dbo.sack.query().installed().filter(name__glob=pkg_glob)) + + # dnf/hawkey doesn't make any distinction between file, dir or ghost like yum did + # so only return the files. + return set(f for pkg in pkglist for f in pkg.files if not os.path.isdir(self._out(f))) + + def _getsize(self, *files): + return sum(os.path.getsize(self._out(f)) for f in files if os.path.isfile(self._out(f))) + +
[docs] def run(self, templatefile, **variables): + for k,v in list(self.defaults.items()) + list(self.builtins.items()): + variables.setdefault(k,v) + logger.debug("executing %s with variables=%s", templatefile, variables) + self.templatefile = templatefile + t = LoraxTemplate(directories=[self.templatedir]) + commands = t.parse(templatefile, variables) + self._run(commands) + +
+ def _run(self, parsed_template): + logger.info("running %s", self.templatefile) + for (num, line) in enumerate(parsed_template,1): + logger.debug("template line %i: %s", num, " ".join(line)) + skiperror = False + (cmd, args) = (line[0], line[1:]) + # Following Makefile convention, if the command is prefixed with + # a dash ('-'), we'll ignore any errors on that line. + if cmd.startswith('-'): + cmd = cmd[1:] + skiperror = True + try: + # grab the method named in cmd and pass it the given arguments + f = getattr(self, cmd, None) + if cmd[0] == '_' or cmd == 'run' or not isinstance(f, collections.Callable): + raise ValueError("unknown command %s" % cmd) + f(*args) + except Exception: # pylint: disable=broad-except + if skiperror: + logger.debug("ignoring error") + continue + logger.error("template command error in %s:", self.templatefile) + logger.error(" %s", " ".join(line)) + # format the exception traceback + exclines = traceback.format_exception(*sys.exc_info()) + # skip the bit about "ltmpl.py, in _run()" - we know that + exclines.pop(1) + # log the "ErrorType: this is what happened" line + logger.error(" " + exclines[-1].strip()) + # and log the entire traceback to the debug log + for line in ''.join(exclines).splitlines(): + logger.debug(" " + line) + if self.fatalerrors: + raise + +
[docs] def install(self, srcglob, dest): + ''' + install SRC DEST + Copy the given file (or files, if a glob is used) from the input + tree to the given destination in the output tree. + The path to DEST must exist in the output tree. + If DEST is a directory, SRC will be copied into that directory. + If DEST doesn't exist, SRC will be copied to a file with that name, + assuming the rest of the path exists. + This is pretty much like how the 'cp' command works. + Examples: + install usr/share/myconfig/grub.conf /boot + install /usr/share/myconfig/grub.conf.in /boot/grub.conf + ''' + for src in rglob(self._in(srcglob), fatal=True): + cpfile(src, self._out(dest)) +
+
[docs] def installimg(self, srcdir, destfile): + ''' + installimg SRCDIR DESTFILE + Create a compressed cpio archive of the contents of SRCDIR and place + it in DESTFILE. + + If SRCDIR doesn't exist or is empty nothing is created. + + Examples: + installimg ${LORAXDIR}/product/ images/product.img + installimg ${LORAXDIR}/updates/ images/updates.img + ''' + if not os.path.isdir(self._in(srcdir)) or not os.listdir(self._in(srcdir)): + return + logger.info("Creating image file %s from contents of %s", self._out(destfile), self._in(srcdir)) + mkcpio(self._in(srcdir), self._out(destfile)) +
+
[docs] def mkdir(self, *dirs): + ''' + mkdir DIR [DIR ...] + Create the named DIR(s). Will create leading directories as needed. + Example: + mkdir /images + ''' + for d in dirs: + d = self._out(d) + if not isdir(d): + os.makedirs(d) +
+
[docs] def replace(self, pat, repl, *fileglobs): + ''' + replace PATTERN REPLACEMENT FILEGLOB [FILEGLOB ...] + Find-and-replace the given PATTERN (Python-style regex) with the given + REPLACEMENT string for each of the files listed. + Example: + replace @VERSION@ ${product.version} /boot/grub.conf /boot/isolinux.cfg + ''' + match = False + for g in fileglobs: + for f in rglob(self._out(g)): + match = True + replace(f, pat, repl) + if not match: + raise IOError("no files matched %s" % " ".join(fileglobs)) +
+
[docs] def append(self, filename, data): + ''' + append FILE STRING + Append STRING (followed by a newline character) to FILE. + Python character escape sequences ('\\n', '\\t', etc.) will be + converted to the appropriate characters. + Examples: + append /etc/depmod.d/dd.conf "search updates built-in" + append /etc/resolv.conf "" + ''' + with open(self._out(filename), "a") as fobj: + fobj.write(bytes(data, "utf8").decode('unicode_escape')+"\n") +
+
[docs] def treeinfo(self, section, key, *valuetoks): + ''' + treeinfo SECTION KEY ARG [ARG ...] + Add an item to the treeinfo data store. + The given SECTION will have a new item added where + KEY = ARG ARG ... + Example: + treeinfo images-${kernel.arch} boot.iso images/boot.iso + ''' + if section not in self.results.treeinfo: + self.results.treeinfo[section] = dict() + self.results.treeinfo[section][key] = " ".join(valuetoks) +
+
[docs] def installkernel(self, section, src, dest): + ''' + installkernel SECTION SRC DEST + Install the kernel from SRC in the input tree to DEST in the output + tree, and then add an item to the treeinfo data store, in the named + SECTION, where "kernel" = DEST. + + Equivalent to: + install SRC DEST + treeinfo SECTION kernel DEST + ''' + self.install(src, dest) + self.treeinfo(section, "kernel", dest) +
+
[docs] def installinitrd(self, section, src, dest): + ''' + installinitrd SECTION SRC DEST + Same as installkernel, but for "initrd". + ''' + self.install(src, dest) + self.chmod(dest, '644') + self.treeinfo(section, "initrd", dest) +
+
[docs] def installupgradeinitrd(self, section, src, dest): + ''' + installupgradeinitrd SECTION SRC DEST + Same as installkernel, but for "upgrade". + ''' + self.install(src, dest) + self.chmod(dest, '644') + self.treeinfo(section, "upgrade", dest) +
+ + +
[docs] def copy(self, src, dest): + ''' + copy SRC DEST + Copy SRC to DEST. + If DEST is a directory, SRC will be copied inside it. + If DEST doesn't exist, SRC will be copied to a file with + that name, if the path leading to it exists. + ''' + cpfile(self._out(src), self._out(dest)) +
+
[docs] def move(self, src, dest): + ''' + move SRC DEST + Move SRC to DEST. + ''' + mvfile(self._out(src), self._out(dest)) +
+
[docs] def remove(self, *fileglobs): + ''' + remove FILEGLOB [FILEGLOB ...] + Remove all the named files or directories. + Will *not* raise exceptions if the file(s) are not found. + ''' + for g in fileglobs: + for f in rglob(self._out(g)): + remove(f) + logger.debug("removed %s", f) +
+
[docs] def chmod(self, fileglob, mode): + ''' + chmod FILEGLOB OCTALMODE + Change the mode of all the files matching FILEGLOB to OCTALMODE. + ''' + for f in rglob(self._out(fileglob), fatal=True): + os.chmod(f, int(mode,8)) + + # TODO: do we need a new command for gsettings?
+
[docs] def gconfset(self, path, keytype, value, outfile=None): + ''' + gconfset PATH KEYTYPE VALUE [OUTFILE] + Set the given gconf PATH, with type KEYTYPE, to the given value. + OUTFILE defaults to /etc/gconf/gconf.xml.defaults if not given. + Example: + gconfset /apps/metacity/general/num_workspaces int 1 + ''' + if outfile is None: + outfile = self._out("etc/gconf/gconf.xml.defaults") + cmd = ["gconftool-2", "--direct", + "--config-source=xml:readwrite:%s" % outfile, + "--set", "--type", keytype, path, value] + runcmd(cmd) +
+
[docs] def log(self, msg): + ''' + log MESSAGE + Emit the given log message. Be sure to put it in quotes! + Example: + log "Reticulating splines, please wait..." + ''' + logger.info(msg) + + # TODO: add ssh-keygen, mkisofs(?), find, and other useful commands
+
[docs] def runcmd(self, *cmdlist): + ''' + runcmd CMD [ARG ...] + Run the given command with the given arguments. + + NOTE: All paths given MUST be COMPLETE, ABSOLUTE PATHS to the file + or files mentioned. ${root}/${inroot}/${outroot} are good for + constructing these paths. + + FURTHER NOTE: Please use this command only as a last resort! + Whenever possible, you should use the existing template commands. + If the existing commands don't do what you need, fix them! + + Examples: + (this should be replaced with a "find" function) + runcmd find ${root} -name "*.pyo" -type f -delete + %for f in find(root, name="*.pyo"): + remove ${f} + %endfor + ''' + cmd = cmdlist + logger.debug('running command: %s', cmd) + if cmd[0].startswith("--chdir="): + logger.error("--chdir is no longer supported for runcmd.") + raise ValueError("--chdir is no longer supported for runcmd.") + + try: + stdout = runcmd_output(cmd) + if stdout: + logger.debug('command output:\n%s', stdout) + logger.debug("command finished successfully") + except CalledProcessError as e: + if e.output: + logger.debug('command output:\n%s', e.output) + logger.debug('command returned failure (%d)', e.returncode) + raise +
+
[docs] def installpkg(self, *pkgs): + ''' + installpkg [--required] PKGGLOB [PKGGLOB ...] + Request installation of all packages matching the given globs. + Note that this is just a *request* - nothing is *actually* installed + until the 'run_pkg_transaction' command is given. + ''' + required = False + if pkgs[0] == '--required': + pkgs = pkgs[1:] + required = True + + for p in pkgs: + try: + self.dbo.install(p) + except Exception as e: # pylint: disable=broad-except + # FIXME: save exception and re-raise after the loop finishes + logger.error("installpkg %s failed: %s", p, str(e)) + if required: + raise +
+
[docs] def removepkg(self, *pkgs): + ''' + removepkg PKGGLOB [PKGGLOB...] + Delete the named package(s). + IMPLEMENTATION NOTES: + RPM scriptlets (%preun/%postun) are *not* run. + Files are deleted, but directories are left behind. + ''' + for p in pkgs: + filepaths = [f.lstrip('/') for f in self._filelist(p)] + # TODO: also remove directories that aren't owned by anything else + if filepaths: + logger.debug("removepkg %s: %ikb", p, self._getsize(*filepaths)/1024) + self.remove(*filepaths) + else: + logger.debug("removepkg %s: no files to remove!", p) +
+
[docs] def get_token_checked(self, process, token_queue): + """Try to get token from queue checking that process is still alive""" + + try: + # wait at most a minute for the token + (token, msg) = token_queue.get(timeout=60) + except queue.Empty: + if process.is_alive(): + try: + # process still alive, give it 2 minutes more + (token, msg) = token_queue.get(timeout=120) + except queue.Empty: + # waited for 3 minutes and got nothing + raise Exception("The transaction process got stuck somewhere (no message from it in 3 minutes)") + else: + raise Exception("The transaction process has ended abruptly") + + return (token, msg) +
+
[docs] def run_pkg_transaction(self): + ''' + run_pkg_transaction + Actually install all the packages requested by previous 'installpkg' + commands. + ''' + + def do_transaction(base, token_queue): + try: + display = LoraxRpmCallback(token_queue) + base.do_transaction(display=display) + except BaseException as e: + logger.error("The transaction process has ended abruptly: %s", e) + token_queue.put(('quit', str(e))) + + try: + logger.info("Checking dependencies") + self.dbo.resolve() + except dnf.exceptions.DepsolveError as e: + logger.error("Dependency check failed: %s", e) + raise + logger.info("%d packages selected", len(self.dbo.transaction)) + if len(self.dbo.transaction) == 0: + raise Exception("No packages in transaction") + + pkgs_to_download = self.dbo.transaction.install_set + logger.info("Downloading packages") + progress = LoraxDownloadCallback() + try: + self.dbo.download_packages(pkgs_to_download, progress) + except dnf.exceptions.DownloadError as e: + logger.error("Failed to download the following packages: %s", e) + raise + + logger.info("Preparing transaction from installation source") + token_queue = multiprocessing.Queue() + msgout = output.LoraxOutput() + process = multiprocessing.Process(target=do_transaction, args=(self.dbo, token_queue)) + process.start() + (token, msg) = self.get_token_checked(process, token_queue) + + while token not in ('post', 'quit'): + if token == 'install': + logging.info("%s", msg) + msgout.writeline(msg) + (token, msg) = self.get_token_checked(process, token_queue) + + if token == 'quit': + logger.error("Transaction failed.") + raise Exception("Transaction failed") + + logger.info("Performing post-installation setup tasks") + process.join() + + # Reset the package sack to pick up the installed packages + self.dbo.reset(repos=False) + self.dbo.fill_sack(load_system_repo=True, load_available_repos=False) + + # At this point dnf should know about the installed files. Double check that it really does. + if len(self._filelist("anaconda-core")) == 0: + raise Exception("Failed to reset dbo to installed package set") +
+
[docs] def removefrom(self, pkg, *globs): + ''' + removefrom PKGGLOB [--allbut] FILEGLOB [FILEGLOB...] + Remove all files matching the given file globs from the package + (or packages) named. + If '--allbut' is used, all the files from the given package(s) will + be removed *except* the ones which match the file globs. + Examples: + removefrom usbutils /usr/bin/* + removefrom xfsprogs --allbut /sbin/* + ''' + cmd = "%s %s" % (pkg, " ".join(globs)) # save for later logging + keepmatches = False + if globs[0] == '--allbut': + keepmatches = True + globs = globs[1:] + # get pkg filelist and find files that match the globs + filelist = self._filelist(pkg) + matches = set() + for g in globs: + globs_re = re.compile(fnmatch.translate(g)) + m = [f for f in filelist if globs_re.match(f)] + if m: + matches.update(m) + else: + logger.debug("removefrom %s %s: no files matched!", pkg, g) + # are we removing the matches, or keeping only the matches? + if keepmatches: + remove_files = filelist.difference(matches) + else: + remove_files = matches + # remove the files + if remove_files: + logger.debug("removefrom %s: removed %i/%i files, %ikb/%ikb", cmd, + len(remove_files), len(filelist), + self._getsize(*remove_files)/1024, self._getsize(*filelist)/1024) + self.remove(*remove_files) + else: + logger.debug("removefrom %s: no files to remove!", cmd) +
+
[docs] def removekmod(self, *globs): + ''' + removekmod GLOB [GLOB...] [--allbut] KEEPGLOB [KEEPGLOB...] + Remove all files and directories matching the given file globs from the kernel + modules directory. + + If '--allbut' is used, all the files from the modules will be removed *except* + the ones which match the file globs. There must be at least one initial GLOB + to search and one KEEPGLOB to keep. The KEEPGLOB is expanded to be *KEEPGLOB* + so that it will match anywhere in the path. + + This only removes files from under /lib/modules/*/kernel/ + + Examples: + removekmod sound drivers/media drivers/hwmon drivers/video + removekmod drivers/char --allbut virtio_console hw_random + ''' + cmd = " ".join(globs) + if "--allbut" in globs: + idx = globs.index("--allbut") + if idx == 0: + raise ValueError("removekmod needs at least one GLOB before --allbut") + + # Apply keepglobs anywhere they appear in the path + keepglobs = globs[idx+1:] + if len(keepglobs) == 0: + raise ValueError("removekmod needs at least one GLOB after --allbut") + + globs = globs[:idx] + else: + # Nothing to keep + keepglobs = [] + + filelist = set() + for g in globs: + for top_dir in rglob(self._out("/lib/modules/*/kernel/"+g)): + for root, _dirs, files in os.walk(top_dir): + filelist.update(root+"/"+f for f in files) + + # Remove anything matching keepglobs from the list + matches = set() + for g in keepglobs: + globs_re = re.compile(fnmatch.translate("*"+g+"*")) + m = [f for f in filelist if globs_re.match(f)] + if m: + matches.update(m) + else: + logger.debug("removekmod %s: no files matched!", g) + remove_files = filelist.difference(matches) + + if remove_files: + logger.debug("removekmod: removing %d files", len(remove_files)) + list(remove(f) for f in remove_files) + else: + logger.debug("removekmod %s: no files to remove!", cmd) +
+
[docs] def createaddrsize(self, addr, src, dest): + ''' + createaddrsize INITRD_ADDRESS INITRD ADDRSIZE + Create the initrd.addrsize file required in LPAR boot process. + Examples: + createaddrsize ${INITRD_ADDRESS} ${outroot}/${BOOTDIR}/initrd.img ${outroot}/${BOOTDIR}/initrd.addrsize + ''' + addrsize = open(dest, "wb") + addrsize_data = struct.pack(">iiii", 0, int(addr, 16), 0, os.stat(src).st_size) + addrsize.write(addrsize_data) + addrsize.close() +
+
[docs] def systemctl(self, cmd, *units): + ''' + systemctl [enable|disable|mask] UNIT [UNIT...] + Enable, disable, or mask the given systemd units. + Examples: + systemctl disable lvm2-monitor.service + systemctl mask fedora-storage-init.service fedora-configure.service + ''' + if cmd not in ('enable', 'disable', 'mask'): + raise ValueError('unsupported systemctl cmd: %s' % cmd) + if not units: + logger.debug("systemctl: no units given for %s, ignoring", cmd) + return + self.mkdir("/run/systemd/system") # XXX workaround for systemctl bug + systemctl = ('systemctl', '--root', self.outroot, '--no-reload', + '--quiet', cmd) + # XXX for some reason 'systemctl enable/disable' always returns 1 + try: + cmd = systemctl + units + runcmd(cmd) + except CalledProcessError: + pass
+
+ +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/_modules/pylorax/sysutils.html b/_modules/pylorax/sysutils.html new file mode 100644 index 00000000..756b87b0 --- /dev/null +++ b/_modules/pylorax/sysutils.html @@ -0,0 +1,295 @@ + + + + + + + + + + pylorax.sysutils — Lorax 23.8 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+
+ +
+
+
+ +

Source code for pylorax.sysutils

+#
+# sysutils.py
+#
+# Copyright (C) 2009-2015 Red Hat, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+# Red Hat Author(s):  Martin Gracik <mgracik@redhat.com>
+#
+
+__all__ = ["joinpaths", "touch", "replace", "chown_", "chmod_", "remove",
+           "linktree"]
+
+import sys
+import os
+import re
+import fileinput
+import pwd
+import grp
+import glob
+import shutil
+
+from pylorax.executils import runcmd
+
+
[docs]def joinpaths(*args, **kwargs): + path = os.path.sep.join(args) + + if kwargs.get("follow_symlinks"): + return os.path.realpath(path) + else: + return path + +
+
[docs]def touch(fname): + open(fname, "w") + +
+
[docs]def replace(fname, find, sub): + fin = fileinput.input(fname, inplace=1) + pattern = re.compile(find) + + for line in fin: + line = pattern.sub(sub, line) + sys.stdout.write(line) + + fin.close() + +
+
[docs]def chown_(path, user=None, group=None, recursive=False): + uid = gid = -1 + + if user is not None: + uid = pwd.getpwnam(user)[2] + if group is not None: + gid = grp.getgrnam(group)[2] + + for fname in glob.iglob(path): + os.chown(fname, uid, gid) + + if recursive and os.path.isdir(fname): + for nested in os.listdir(fname): + nested = joinpaths(fname, nested) + chown_(nested, user, group, recursive) + +
+
[docs]def chmod_(path, mode, recursive=False): + for fname in glob.iglob(path): + os.chmod(fname, mode) + + if recursive and os.path.isdir(fname): + for nested in os.listdir(fname): + nested = joinpaths(fname, nested) + chmod_(nested, mode, recursive) + +
+def cpfile(src, dst): + shutil.copy2(src, dst) + if os.path.isdir(dst): + dst = joinpaths(dst, os.path.basename(src)) + + return dst + +def mvfile(src, dst): + if os.path.isdir(dst): + dst = joinpaths(dst, os.path.basename(src)) + os.rename(src, dst) + return dst + +
[docs]def remove(target): + if os.path.isdir(target) and not os.path.islink(target): + shutil.rmtree(target) + else: + os.unlink(target) +
+
[docs]def linktree(src, dst): + runcmd(["/bin/cp", "-alx", src, dst])
+
+ +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/_modules/pylorax/treebuilder.html b/_modules/pylorax/treebuilder.html new file mode 100644 index 00000000..9560754f --- /dev/null +++ b/_modules/pylorax/treebuilder.html @@ -0,0 +1,527 @@ + + + + + + + + + + pylorax.treebuilder — Lorax 23.8 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+
+ +
+
+
+ +

Source code for pylorax.treebuilder

+# treebuilder.py - handle arch-specific tree building stuff using templates
+#
+# Copyright (C) 2011-2015 Red Hat, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+# Author(s):  Will Woods <wwoods@redhat.com>
+
+import logging
+logger = logging.getLogger("pylorax.treebuilder")
+
+import os, re
+from os.path import basename
+from shutil import copytree, copy2
+
+from pylorax.sysutils import joinpaths, remove
+from pylorax.base import DataHolder
+from pylorax.ltmpl import LoraxTemplateRunner
+import pylorax.imgutils as imgutils
+from pylorax.executils import runcmd, runcmd_output
+
+templatemap = {
+    'i386':    'x86.tmpl',
+    'x86_64':  'x86.tmpl',
+    'ppc':     'ppc.tmpl',
+    'ppc64':   'ppc.tmpl',
+    'ppc64le': 'ppc64le.tmpl',
+    's390':    's390.tmpl',
+    's390x':   's390.tmpl',
+    'aarch64': 'aarch64.tmpl',
+    'arm':     'arm.tmpl',
+    'armhfp':  'arm.tmpl',
+}
+
+
[docs]def generate_module_info(moddir, outfile=None): + def module_desc(mod): + output = runcmd_output(["modinfo", "-F", "description", mod]) + return output.strip() + def read_module_set(name): + return set(l.strip() for l in open(joinpaths(moddir,name)) if ".ko" in l) + modsets = {'scsi':read_module_set("modules.block"), + 'eth':read_module_set("modules.networking")} + + modinfo = list() + for root, _dirs, files in os.walk(moddir): + for modtype, modset in modsets.items(): + for mod in modset.intersection(files): # modules in this dir + (name, _ext) = os.path.splitext(mod) # foo.ko -> (foo, .ko) + desc = module_desc(joinpaths(root,mod)) or "%s driver" % name + modinfo.append(dict(name=name, type=modtype, desc=desc)) + + out = open(outfile or joinpaths(moddir,"module-info"), "w") + out.write("Version 0\n") + for mod in sorted(modinfo, key=lambda m: m.get('name')): + out.write('{name}\n\t{type}\n\t"{desc:.65}"\n'.format(**mod)) +
+
[docs]class RuntimeBuilder(object): + '''Builds the anaconda runtime image.''' + def __init__(self, product, arch, dbo, templatedir=None, + installpkgs=None, + add_templates=None, + add_template_vars=None): + root = dbo.conf.installroot + # use a copy of product so we can modify it locally + product = product.copy() + product.name = product.name.lower() + self.vars = DataHolder(arch=arch, product=product, dbo=dbo, root=root, + basearch=arch.basearch, libdir=arch.libdir) + self.dbo = dbo + self._runner = LoraxTemplateRunner(inroot=root, outroot=root, + dbo=dbo, templatedir=templatedir) + self.add_templates = add_templates or [] + self.add_template_vars = add_template_vars or {} + self._installpkgs = installpkgs or [] + self._runner.defaults = self.vars + self.dbo.reset() + + def _install_branding(self): + release = None + q = self.dbo.sack.query() + a = q.available() + for pkg in a.filter(provides='/etc/system-release'): + if pkg.name.startswith('generic'): + continue + else: + release = pkg.name + break + + if not release: + logger.error('could not get the release') + return + + # release + logger.info('got release: %s', release) + self._runner.installpkg(release) + + # logos + release, _suffix = release.split('-', 1) + self._runner.installpkg('%s-logos' % release) + +
[docs] def install(self): + '''Install packages and do initial setup with runtime-install.tmpl''' + self._install_branding() + if len(self._installpkgs) > 0: + self._runner.installpkg(*self._installpkgs) + self._runner.run("runtime-install.tmpl") + for tmpl in self.add_templates: + self._runner.run(tmpl, **self.add_template_vars) +
+
[docs] def writepkglists(self, pkglistdir): + '''debugging data: write out lists of package contents''' + if not os.path.isdir(pkglistdir): + os.makedirs(pkglistdir) + q = self.dbo.sack.query() + for pkgobj in q.installed(): + with open(joinpaths(pkglistdir, pkgobj.name), "w") as fobj: + for fname in pkgobj.files: + fobj.write("{0}\n".format(fname)) +
+
[docs] def postinstall(self): + '''Do some post-install setup work with runtime-postinstall.tmpl''' + # copy configdir into runtime root beforehand + configdir = joinpaths(self._runner.templatedir,"config_files") + configdir_path = "tmp/config_files" + fullpath = joinpaths(self.vars.root, configdir_path) + if os.path.exists(fullpath): + remove(fullpath) + copytree(configdir, fullpath) + self._runner.run("runtime-postinstall.tmpl", configdir=configdir_path) +
+
[docs] def cleanup(self): + '''Remove unneeded packages and files with runtime-cleanup.tmpl''' + self._runner.run("runtime-cleanup.tmpl") +
+
[docs] def writepkgsizes(self, pkgsizefile): + '''debugging data: write a big list of pkg sizes''' + fobj = open(pkgsizefile, "w") + getsize = lambda f: os.lstat(f).st_size if os.path.exists(f) else 0 + q = self.dbo.sack.query() + for p in sorted(q.installed()): + pkgsize = sum(getsize(joinpaths(self.vars.root,f)) for f in p.files) + fobj.write("{0.name}.{0.arch}: {1}\n".format(p, pkgsize)) +
+
[docs] def generate_module_data(self): + root = self.vars.root + moddir = joinpaths(root, "lib/modules/") + for kver in os.listdir(moddir): + ksyms = joinpaths(root, "boot/System.map-%s" % kver) + logger.info("doing depmod and module-info for %s", kver) + runcmd(["depmod", "-a", "-F", ksyms, "-b", root, kver]) + generate_module_info(moddir+kver, outfile=moddir+"module-info") +
+
[docs] def create_runtime(self, outfile="/var/tmp/squashfs.img", compression="xz", compressargs=None, size=2): + # make live rootfs image - must be named "LiveOS/rootfs.img" for dracut + compressargs = compressargs or [] + workdir = joinpaths(os.path.dirname(outfile), "runtime-workdir") + os.makedirs(joinpaths(workdir, "LiveOS")) + + imgutils.mkrootfsimg(self.vars.root, joinpaths(workdir, "LiveOS/rootfs.img"), + "Anaconda", size=size) + + # squash the live rootfs and clean up workdir + imgutils.mksquashfs(workdir, outfile, compression, compressargs) + remove(workdir) +
+
[docs] def finished(self): + """ Done using RuntimeBuilder + + Close the dnf base object + """ + self.dbo.close() +
+
[docs]class TreeBuilder(object): + '''Builds the arch-specific boot images. + inroot should be the installtree root (the newly-built runtime dir)''' + def __init__(self, product, arch, inroot, outroot, runtime, isolabel, domacboot=True, doupgrade=True, templatedir=None, add_templates=None, add_template_vars=None, workdir=None): + + # NOTE: if you pass an arg named "runtime" to a mako template it'll + # clobber some mako internal variables - hence "runtime_img". + self.vars = DataHolder(arch=arch, product=product, runtime_img=runtime, + runtime_base=basename(runtime), + inroot=inroot, outroot=outroot, + basearch=arch.basearch, libdir=arch.libdir, + isolabel=isolabel, udev=udev_escape, domacboot=domacboot, doupgrade=doupgrade, + workdir=workdir, lower=string_lower) + self._runner = LoraxTemplateRunner(inroot, outroot, templatedir=templatedir) + self._runner.defaults = self.vars + self.add_templates = add_templates or [] + self.add_template_vars = add_template_vars or {} + self.templatedir = templatedir + self.treeinfo_data = None + + @property +
[docs] def kernels(self): + return findkernels(root=self.vars.inroot) +
+
[docs] def rebuild_initrds(self, add_args=None, backup="", prefix=""): + '''Rebuild all the initrds in the tree. If backup is specified, each + initrd will be renamed with backup as a suffix before rebuilding. + If backup is empty, the existing initrd files will be overwritten. + If suffix is specified, the existing initrd is untouched and a new + image is built with the filename "${prefix}-${kernel.version}.img" + ''' + add_args = add_args or [] + dracut = ["dracut", "--nomdadmconf", "--nolvmconf"] + add_args + if not backup: + dracut.append("--force") + + kernels = [kernel for kernel in self.kernels if hasattr(kernel, "initrd")] + if not kernels: + raise Exception("No initrds found, cannot rebuild_initrds") + + # Hush some dracut warnings. TODO: bind-mount proc in place? + open(joinpaths(self.vars.inroot,"/proc/modules"),"w") + for kernel in kernels: + if prefix: + idir = os.path.dirname(kernel.initrd.path) + outfile = joinpaths(idir, prefix+'-'+kernel.version+'.img') + else: + outfile = kernel.initrd.path + logger.info("rebuilding %s", outfile) + if backup: + initrd = joinpaths(self.vars.inroot, outfile) + os.rename(initrd, initrd + backup) + cmd = dracut + [outfile, kernel.version] + runcmd(cmd, root=self.vars.inroot) + + # ppc64 cannot boot images > 32MiB, check size and warn + if self.vars.arch.basearch in ("ppc64", "ppc64le") and os.path.exists(outfile): + st = os.stat(outfile) + if st.st_size > 32 * 1024 * 1024: + logging.warning("ppc64 initrd %s is > 32MiB", outfile) + + os.unlink(joinpaths(self.vars.inroot,"/proc/modules")) +
+
[docs] def build(self): + templatefile = templatemap[self.vars.arch.basearch] + for tmpl in self.add_templates: + self._runner.run(tmpl, **self.add_template_vars) + self._runner.run(templatefile, kernels=self.kernels) + self.treeinfo_data = self._runner.results.treeinfo + self.implantisomd5() +
+
[docs] def implantisomd5(self): + for _section, data in self.treeinfo_data.items(): + if 'boot.iso' in data: + iso = joinpaths(self.vars.outroot, data['boot.iso']) + runcmd(["implantisomd5", iso]) +
+ @property +
[docs] def dracut_hooks_path(self): + """ Return the path to the lorax dracut hooks scripts + + Use the configured share dir if it is setup, + otherwise default to /usr/share/lorax/dracut_hooks + """ + if self.templatedir: + return joinpaths(self.templatedir, "dracut_hooks") + else: + return "/usr/share/lorax/dracut_hooks" +
+
[docs] def copy_dracut_hooks(self, hooks): + """ Copy the hook scripts in hooks into the installroot's /tmp/ + and return a list of commands to pass to dracut when creating the + initramfs + + hooks is a list of tuples with the name of the hook script and the + target dracut hook directory + (eg. [("99anaconda-copy-ks.sh", "/lib/dracut/hooks/pre-pivot")]) + """ + dracut_commands = [] + for hook_script, dracut_path in hooks: + src = joinpaths(self.dracut_hooks_path, hook_script) + if not os.path.exists(src): + logger.error("Missing lorax dracut hook script %s", (src)) + continue + dst = joinpaths(self.vars.inroot, "/tmp/", hook_script) + copy2(src, dst) + dracut_commands += ["--include", joinpaths("/tmp/", hook_script), + dracut_path] + return dracut_commands + +#### TreeBuilder helper functions +
+
[docs]def findkernels(root="/", kdir="boot"): + # To find possible flavors, awk '/BuildKernel/ { print $4 }' kernel.spec + flavors = ('debug', 'PAE', 'PAEdebug', 'smp', 'xen', 'lpae') + kre = re.compile(r"vmlinuz-(?P<version>.+?\.(?P<arch>[a-z0-9_]+)" + r"(.(?P<flavor>{0}))?)$".format("|".join(flavors))) + kernels = [] + bootfiles = os.listdir(joinpaths(root, kdir)) + for f in bootfiles: + match = kre.match(f) + if match: + kernel = DataHolder(path=joinpaths(kdir, f)) + kernel.update(match.groupdict()) # sets version, arch, flavor + kernels.append(kernel) + + # look for associated initrd/initramfs/etc. + for kernel in kernels: + for f in bootfiles: + if f.endswith('-'+kernel.version+'.img'): + imgtype, _rest = f.split('-',1) + # special backwards-compat case + if imgtype == 'initramfs': + imgtype = 'initrd' + kernel[imgtype] = DataHolder(path=joinpaths(kdir, f)) + + logger.debug("kernels=%s", kernels) + return kernels + +# udev whitelist: 'a-zA-Z0-9#+.:=@_-' (see is_whitelisted in libudev-util.c)
+udev_blacklist=' !"$%&\'()*,/;<>?[\\]^`{|}~' # ASCII printable, minus whitelist +udev_blacklist += ''.join(chr(i) for i in range(32)) # ASCII non-printable +
[docs]def udev_escape(label): + out = '' + for ch in label: + out += ch if ch not in udev_blacklist else '\\x%02x' % ord(ch) + return out +
+
[docs]def string_lower(string): + """ Return a lowercase string. + + :param string: String to lowercase + + This is used as a filter in the templates. + """ + return string.lower()
+
+ +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/_modules/pylorax/treeinfo.html b/_modules/pylorax/treeinfo.html new file mode 100644 index 00000000..8ef20486 --- /dev/null +++ b/_modules/pylorax/treeinfo.html @@ -0,0 +1,245 @@ + + + + + + + + + + pylorax.treeinfo — Lorax 23.8 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+
+
+ +
+
+
+ +

Source code for pylorax.treeinfo

+#
+# treeinfo.py
+#
+# Copyright (C) 2010-2015 Red Hat, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+# Red Hat Author(s):  Martin Gracik <mgracik@redhat.com>
+#
+
+import logging
+logger = logging.getLogger("pylorax.treeinfo")
+
+import configparser
+import time
+
+
+
[docs]class TreeInfo(object): + + def __init__(self, product, version, variant, basearch, + packagedir=""): + + self.c = configparser.ConfigParser() + + section = "general" + data = {"timestamp": str(time.time()), + "family": product, + "version": version, + "name": "%s-%s" % (product, version), + "variant": variant or "", + "arch": basearch, + "packagedir": packagedir} + + self.c.add_section(section) + list(self.c.set(section, key, value) for key, value in data.items()) + +
[docs] def add_section(self, section, data): + if not self.c.has_section(section): + self.c.add_section(section) + + list(self.c.set(section, key, value) for key, value in data.items()) +
+
[docs] def write(self, outfile): + logger.info("writing .treeinfo file") + with open(outfile, "w") as fobj: + self.c.write(fobj)
+
+ +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/_sources/index.txt b/_sources/index.txt new file mode 100644 index 00000000..c9b962d8 --- /dev/null +++ b/_sources/index.txt @@ -0,0 +1,27 @@ +.. Lorax documentation master file, created by + sphinx-quickstart on Wed Apr 8 13:46:00 2015. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +Welcome to Lorax's documentation! +================================= + +Contents: + +.. toctree:: + :maxdepth: 1 + + intro + lorax + livemedia-creator + product-images + modules + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` + diff --git a/_sources/intro.txt b/_sources/intro.txt new file mode 100644 index 00000000..01857ee9 --- /dev/null +++ b/_sources/intro.txt @@ -0,0 +1,67 @@ +Introduction to Lorax +===================== + +I am the Lorax. I speak for the trees [and images]. + +Lorax is used to build the Anaconda Installer boot.iso, it consists of a +library, pylorax, a set of templates, and the lorax script. Its operation +is driven by a customized set of Mako templates that lists the packages +to be installed, steps to execute to remove unneeded files, and creation +of the iso for all of the supported architectures. + + + + + + +Before Lorax +============ + +Tree building tools such as pungi and revisor rely on 'buildinstall' in +anaconda/scripts/ to produce the boot images and other such control files +in the final tree. The existing buildinstall scripts written in a mix of +bash and Python are unmaintainable. Lorax is an attempt to replace them +with something more flexible. + + +EXISTING WORKFLOW: + +pungi and other tools call scripts/buildinstall, which in turn call other +scripts to do the image building and data generation. Here's how it +currently looks: + + -> buildinstall + * process command line options + * write temporary yum.conf to point to correct repo + * find anaconda release RPM + * unpack RPM, pull in those versions of upd-instroot, mk-images, + maketreeinfo.py, makestamp.py, and buildinstall + + -> call upd-instroot + + -> call maketreeinfo.py + + -> call mk-images (which figures out which mk-images.ARCH to call) + + -> call makestamp.py + + * clean up + + +PROBLEMS: + +The existing workflow presents some problems with maintaining the scripts. +First, almost all knowledge of what goes in to the stage 1 and stage 2 +images lives in upd-instroot. The mk-images* scripts copy things from the +root created by upd-instroot in order to build the stage 1 image, though +it's not completely clear from reading the scripts. + + +NEW IDEAS: + +Create a new central driver with all information living in Python modules. +Configuration files will provide the knowledge previously contained in the +upd-instroot and mk-images* scripts. + + + diff --git a/_sources/livemedia-creator.txt b/_sources/livemedia-creator.txt new file mode 100644 index 00000000..3b8c3a2b --- /dev/null +++ b/_sources/livemedia-creator.txt @@ -0,0 +1,500 @@ +livemedia-creator +================= + +:Authors: + Brian C. Lane + +livemedia-creator uses `Anaconda `_, +`kickstart `_ and `Lorax +`_ to create bootable media that use the +same install path as a normal system installation. It can be used to make live +isos, bootable (partitioned) disk images, tarfiles, and filesystem images for +use with virtualization and container solutions like libvirt, docker, and +OpenStack. + +The general idea is to use virt-install with kickstart and an Anaconda boot.iso +to install into a disk image and then use the disk image to create the bootable +media. + +livemedia-creator --help will describe all of the options available. At the +minimum you need: + +``--make-iso`` to create a final bootable .iso or one of the other ``--make-*`` options. + +``--iso`` to specify the Anaconda install media to use with virt-install + +``--ks`` to select the kickstart file describing what to install. + +To use livemedia-creator with virt-install you will need to install the +following packages, as well as have libvirtd setup correctly. + +* ``virt-install`` +* ``libvirt-python`` + +If you are going to be using Anaconda directly, with ``--no-virt`` mode, make sure +you have the anaconda package installed. You can use the anaconda-tui package +to save a bit of space on the build system. + +Conventions used in this document: + +``lmc`` is an abbreviation for livemedia-creator. + +``builder`` is the system where livemedia-creator is being run + +``image`` is the disk image being created by running livemedia-creator + + +Quickstart +---------- + +Run this to create a bootable live iso:: + + sudo livemedia-creator --make-iso \ + --iso=/extra/iso/boot.iso --ks=./docs/fedora-livemedia.ks + +You can run it directly from the lorax git repo like this:: + + sudo PATH=./src/sbin/:$PATH PYTHONPATH=./src/ ./src/sbin/livemedia-creator \ + --make-iso --iso=/extra/iso/boot.iso \ + --ks=./docs/fedora-livemedia.ks --lorax-templates=./share/ + +If you want to watch the install you can pass ``--vnc vnc`` and use a vnc client +to connect to localhost:0 + +This is usually a good idea when testing changes to the kickstart. lmc tries +to monitor the logs for fatal errors, but may not catch everything. + + +How ISO creation works +---------------------- + +There are 2 stages, the install stage which produces a disk or filesystem image +as its output, and the boot media creation which uses the image as its input. +Normally you would run both stages, but it is possible to stop after the +install stage, by using ``--image-only``, or to skip the install stage and use +a previously created disk image by passing ``--disk-image`` or ``--fs-image`` + +When creating an iso virt-install boots using the passed Anaconda installer iso +and installs the system based on the kickstart. The ``%post`` section of the +kickstart is used to customize the installed system in the same way that +current spin-kickstarts do. + +livemedia-creator monitors the install process for problems by watching the +install logs. They are written to the current directory or to the base +directory specified by the --logfile command. You can also monitor the install +by passing ``--vnc vnc`` and using a vnc client. This is recommended when first +modifying a kickstart, since there are still places where Anaconda may get +stuck without the log monitor catching it. + +The output from this process is a partitioned disk image. kpartx can be used +to mount and examine it when there is a problem with the install. It can also +be booted using kvm. + +When creating an iso the disk image's / partition is copied into a formatted +disk image which is then used as the input to lorax for creation of the final +media. + +The final image is created by lorax, using the templates in /usr/share/lorax/ +or the directory specified by ``--lorax-templates`` + +Currently the standard lorax templates are used to make a bootable iso, but +it should be possible to modify them to output other results. They are +written using the Mako template system which is very flexible. + + +Kickstarts +---------- + +The docs/ directory includes several example kickstarts, one to create a live +desktop iso using GNOME, and another to create a minimal disk image. When +creating your own kickstarts you should start with the minimal example, it +includes several needed packages that are not always included by dependencies. + +Or you can use existing spin kickstarts to create live media with a few +changes. Here are the steps I used to convert the Fedora XFCE spin. + +1. Flatten the xfce kickstart using ksflatten +2. Add zerombr so you don't get the disk init dialog +3. Add clearpart --all +4. Add swap partition +5. bootloader target +6. Add shutdown to the kickstart +7. Add network --bootproto=dhcp --activate to activate the network + This works for F16 builds but for F15 and before you need to pass + something on the cmdline that activate the network, like sshd: + + ``livemedia-creator --kernel-args="sshd"`` + +8. Add a root password:: + + rootpw rootme + network --bootproto=dhcp --activate + zerombr + clearpart --all + bootloader --location=mbr + part swap --size=512 + shutdown + +9. In the livesys script section of the %post remove the root password. This + really depends on how the spin wants to work. You could add the live user + that you create to the %wheel group so that sudo works if you wanted to. + + ``passwd -d root > /dev/null`` + +10. Remove /etc/fstab in %post, dracut handles mounting the rootfs + + ``cat /dev/null > /dev/fstab`` + + Do this only for live iso's, the filesystem will be mounted read only if + there is no /etc/fstab + +11. Don't delete initramfs files from /boot in %post +12. Have dracut-config-generic, grub-efi, memtest86+ and syslinux in the package + list. +13. Omit dracut-config-rescue from the %package list: ``-dracut-config-rescue`` + +One drawback to using virt-install is that it pulls the packages from +the repo each time you run it. To speed things up you either need a local +mirror of the packages, or you can use a caching proxy. When using a proxy +you pass it to livemedia-creator like this: + + ``--proxy=http://proxy.yourdomain.com:3128`` + +You also need to use a specific mirror instead of mirrormanager so that the +packages will get cached, so your kickstart url would look like: + + ``url --url="http://dl.fedoraproject.org/pub/fedora/linux/development/17/x86_64/os/"`` + +You can also add an update repo, but don't name it updates. Add --proxy to +it as well. + + +Anaconda image install (no-virt) +-------------------------------- + +You can create images without using virt-install by passing ``--no-virt`` on the +cmdline. This will use Anaconda's directory install feature to handle the install. +There are a couple of things to keep in mind when doing this: + +1. It will be most reliable when building images for the same release that the + host is running. Because Anaconda has expectations about the system it is + running under you may encounter strange bugs if you try to build newer or + older releases. + +2. Make sure selinux is set to permissive or disabled. It won't install + correctly with selinux set to enforcing yet. + +3. It may totally trash your host. So far I haven't had this happen, but the + possibility exists that a bug in Anaconda could result in it operating on + real devices. I recommend running it in a virt or on a system that you can + afford to lose all data from. + +The logs from anaconda will be placed in an ./anaconda/ directory in either +the current directory or in the directory used for --logfile + +Example cmdline: + +``sudo livemedia-creator --make-iso --no-virt --ks=./fedora-livemedia.ks`` + + +AMI Images +---------- + +Amazon EC2 images can be created by using the --make-ami switch and an appropriate +kickstart file. All of the work to customize the image is handled by the kickstart. +The example currently included was modified from the cloud-kickstarts version so +that it would work with livemedia-creator. + +Example cmdline: + +``sudo livemedia-creator --make-ami --iso=/path/to/boot.iso --ks=./docs/fedora-livemedia-ec2.ks`` + +This will produce an ami-root.img file in the working directory. + +At this time I have not tested the image with EC2. Feedback would be welcome. + + +Appliance Creation +------------------ + +livemedia-creator can now replace appliance-tools by using the --make-appliance +switch. This will create the partitioned disk image and an XML file that can be +used with virt-image to setup a virtual system. + +The XML is generated using the Mako template from +/usr/share/lorax/appliance/libvirt.xml You can use a different template by +passing ``--app-template