From 7b65069c21afb741f0cfc2a6240e7d79d5d5d1b4 Mon Sep 17 00:00:00 2001 From: Aldair Date: Sat, 7 Sep 2024 23:08:14 +0800 Subject: [PATCH] Package management re-organization (#558) * Update history and rollback to comply to the style guide * Reorganize basics.md - Reformat the topic as a table for better scannability. - Move the "Base development tools" section to the development topic * Re-organize repo-management.md - Apply the style guide to the topic. - Re-organize the topic for better scannability. * Update package management based on feedback. * Edit note in the "Rollback" section for clarity --- docs/user/package-management/basics.md | 109 ++--------------- .../eopkg-history-output.png | Bin 0 -> 51892 bytes .../history-and-rollback.md | 55 ++++++--- .../package-management/repo-management.md | 111 ++++-------------- 4 files changed, 73 insertions(+), 202 deletions(-) create mode 100644 docs/user/package-management/eopkg-history-output.png diff --git a/docs/user/package-management/basics.md b/docs/user/package-management/basics.md index dbea73a89..c9adddac0 100755 --- a/docs/user/package-management/basics.md +++ b/docs/user/package-management/basics.md @@ -3,103 +3,18 @@ title: Basics to Package Management summary: Basics to Package Management --- -# Basics to Package Management +# Basics of package management in Solus -Solus uses the eopkg package management system to deliver software to the end-user. -Below are some basic commands for using eopkg. +Solus uses the eopkg package manager. You can use `eopkg` to install, update, and remove software packages on your Solus system. -## Installing software +The following table lists the most common `eopkg` commands: -You can install one or more packages by using: - -```bash -sudo eopkg install packagename -``` - -For example: - -```bash -sudo eopkg install gnome-documents gnome-music -``` - -## Reinstalling software - -You can reinstall one or more packages by using: - -```bash -sudo eopkg install --reinstall packagename -``` - -For example: - -```bash -sudo eopkg install --reinstall gnome-documents gnome-music -``` - -## Uninstalling software - -You can uninstall one or more packages by using: - -```bash -sudo eopkg remove packagename -``` - -For example: - -```bash -sudo eopkg remove gnome-documents gnome-music -``` - -## Get information on software - -You can get information on software, such as its description, version, installation size, and more, by using - -```bash -eopkg info packagename -``` - -For example: - -```bash -eopkg info gnome-documents -``` - -## Updating - -You can update your system by using: - -```bash -sudo eopkg upgrade -``` - -If you want to **only** update a specific piece of software on your system, you can specify is like below: - -```bash -sudo eopkg upgrade firefox -``` - -## Searching - -You can search the software selection Solus provides by using: - -```bash -eopkg search term -``` - -For example: - -```bash -eopkg search documents -``` - -Notice that you don't need to search for a specific software name, although you can do that. We search summaries and software names by default. - -## Base development tools - -If you are wanting to compile software under Solus, we recommend installing our `system.devel` component by running the following: - -```bash -sudo eopkg install -c system.devel -``` - -This will provide items such as `clang`, `gcc`, `make`, a multitude of devel sub-packages, and more. Our `system.devel` is similar to packages on other operating systems, such as Debian's build-essentials. +| Action | Command | Example | +| ----------------------------------------------------------- | --------------------------------------------- | ------------------------------------------------------------ | +| Install software | `sudo eopkg install PACKAGE_NAME` | `sudo eopkg install gnome-documents gnome-music` | +| Reinstall software | `sudo eopkg install --reinstall PACKAGE_NAME` | `sudo eopkg install --reinstall gnome-documents gnome-music` | +| Uninstall software | `sudo eopkg remove PACKAGE_NAME` | `sudo eopkg remove gnome-documents gnome-music` | +| Update your system | `sudo eopkg upgrade` | - | +| Update specific software | `sudo eopkg upgrade PACKAGE_NAME` | `sudo eopkg upgrade firefox` | +| Search for software | `eopkg search KEYWORD` | `eopkg search documents` | +| Get information on software, such as description or version | `eopkg info PACKAGE_NAME` | `eopkg info gnome-documents` | diff --git a/docs/user/package-management/eopkg-history-output.png b/docs/user/package-management/eopkg-history-output.png new file mode 100644 index 0000000000000000000000000000000000000000..d32a6cab0946a29705c920e8018f8b06700ff410 GIT binary patch literal 51892 zcmc$`by!?avo1=44Gw|e?(VL^9fAc38r-;JkLz6HNCo5Pp_`(>bKsSu&)Y|NbtDu5D*YZ(o$l|5D*^`z;AQFNANdgANGg9 z0?tlK(-8s!x$p1$LjoN#9s~q2gtVBjs$1G=y1OXS%Ch<5X&k4&hP$TkU~_&L9Fxc29usqC5dwNx@?8k+jn8_zQvij-t)&zzY95Z0`# z&`t8>gij~iO?omHEfZ7p9nZ-rGG+Xd9DN2_3qwK)54YAgd0gm-e4ptsFFqqJ`EFRmdvd)%Quf9U`L!OQGM7MQevm6C7)2Y0+10NRr!c)t-)>B zau@7)f#~wgjpMw9d5SXXEs5odux26nBk<^X<(dEERrR^%&q!i~+rKW@;lCB|9t?1$X19$E^|W zX{9hf(KE55=BNTPzw76b*At4~xfq_}~$GL0y%skDZuBs6U z1qE%Gi_L5BqFaPAK5gfvUqlPGQP1T>ajvfww`$K}Oo&Tl`szVT>BR!E@cb&Xrf%*BRTP${!5wb}j9 zOiY^)>)auhnuwdiKPUZ`lIf{+wwy%emC5)guTmHxn#%nXa(|cMaSB zw}9*Swk;oXZyS!7mxHC%+(I$CRQQjst*AM#G!DQagXRM=W!*%5DH67`X5Yh}MH~o- zO;6m7dVf-YLScUZh&Oup!eGfZ$+lQxrh~n3HRc)J2o#lb3E_1I&n1)# z!OKZMTDnqHCHtDk`TPrbjyfm!o;AJpBZK^Of(AaGOwC05yWX{Z%E1=uC=IjDbwk6J z{)|FnsYd%&g=Oi-%Ji+tFYE=@E1-w<)nYu6CaeNC%hz~9w5V4}yPHaBvd0k{std2?KjGBtFs-8z}4s_;hDN>+;Mu2b> zdCO2B z7mT>6h|Xo;U9-H*TI_ew!z%Qx1}&u^qX9ee*_t-F*Cdx6cl|7vW4=rwC;fQQKVf$d zcwSsiF`Sw4dur}nZFuZ`%SoJgKKenCE!mYepWY}n`6!3&h@v|+GBWbOgYwmlA$X;E zroYdOnwFMC0kq(qi#;IR-`9V9ont}Yv^1A&v3mAts)?In`}qiTVp7rewL-|mm)d>} zY7VFPZR8W$XKVgGR0ddxEV7v*rlRl`%tx23vnXgX=Q^Z)-f~=BjKhZ}|97sso5%Y5 zeed`=$#M-LdHPq0M=Hc(H@EW{*xa-8QN;R$cn=g@t_PsxVidWLh_6ao+>PewoX5|C zHW8woas|w_&Twg&Ipc1hL9c*Y4tC{uj5Bf(+ax?XG8)n4p%K+qQ&%1u7I=TvP5^+B zuzuNo|I6pSx8G4G1HU(r-R{+v#w+Q4K*AE@EELxUE-`5(UO&X#7;87JkJO=Jn6*zD z>@$XkxkWBfJuHTyhuvUe9$dPgZzTh0w`gf{_h+8Z#(S4g zPQ9O?PV;;){;A8+RL?;^ zCP(+zW*q1&^OFZpBD|NF8B?=&|HCCk=L1-d{(REsoAkB{m`6Rk^hLUE>zK75eq{fu z*eE7F*R#@LpZBWEFAwG#n-VKzOzyMGcWm8Fp5#=;Wb^Y|6opO0Yq0xt$SPL2AO9+(ptONioHVdOr<++x? zM-XRDfmzfH?HS`n`v)fZ1A;9+P9V2E1qRD1G~RAPvcy)MmUq&ym;_wMhqCr+2hffi zdr;U4lYmFRKDoHAJ!`p+!b}E=&JI)O-0Nv+#4dDx1Xd<#=b;5>Ey)v21||9AAlkmD z8MQ?+F91(ce+>fS&~5WBHjQiX8=hiD>-tS{{5)J|fQdu-lOR#aep0nEO=6n*c(vB{ zv$n;0HJjzFn>Uu4b#-9~#mTV)+idIx#!x?*&BOyay=aijMIiq}AK0r*NJzeQihR@7cX5XNfN4oUS5r;kk z4q&lvD^pTD@~Uaz2ku+Hr6A57t{=$?Uz6#nA2?R$W2^NtZmutUKzfc%xr`LWyu^TZ z%7;5~wMpU8Za-P{KX`B9X<8pC_k2t$slI%jzl%M<(js)%d_M26{@`3oTuZ?Y^cE?Dw0yH3A-t&J@zykAzIdFj>)ke}@$w6s z%UnK`NzmoJSM*a9u%ct7udo?7R)`#aeeFAy95YMR(*C2~i~wpbnVRSy{h=SKtn&(U z#{h|YFMX|`mD0FDDb|$2o>hP}%h|q7iN28K0nkoMs^{~wFe-`yZ?V108?WFf;9IbD3t+Vjyb3JXuAy*>uTKR&7VT=#8Qx|9jb`=kue=4Df=Nks07EKY((P|ZG{F;b zP^4>@_1kqe_WaRwWH<)Ac^(=S2Lhb&a`B|v{IW~W!3o_(!VduLnmi26_;a9?l$1=E z!^T%#|J#I^9O8bf)%(>GS%iB=dLGstVK`Q)%ND3X$-STDh@FA-9?$taPdD8x81+^J zQYWk2MAv@}1bd3h3mR=*OmK;m1?H#qx&RlPhNq_Vz{wwpgPGN~Gf-uDd3kba7igrG zifXByruO|CYyk*7Ll23I;*{=`Y3!9iAeXYY>s^MAOqRda&t+B-Ic6lD}tE6@3x0R4zK}t%Sj6Jl;3&-l%?H^(?Ep&7OtlUM8xUwUvxHJrJeIyo&iv*mi z>tEl|3{ki^Xw!pvB`71SiJFHhZ?6bzuL$Fxt+%{<1_kJdqocph7k)?j0dp?*datGa z$_@3z&WzD6tQ;4+w5*hIGw8vOL~l9G%gz(!`;YA$k_1$D8wQ7)K8a%)#1r00;37XH z{Lv`NK+M~mXob6nr2vsVj zFp|JdSfuOh_Rbhs(vs7uDl7*7zP9Fe)){<}#Qg>VTnH*@omte`(M!FxKUa(mTI<%1VP+ErUq zMnJNgJCNuUe352{yl-|bJmW_u- za$&6`i=`v%2yIH*R}vOxrzXtf?lO7Te#QFVCV3V`#$aZu>x{$86wn4598OgOZtZcDb$BNYxUG6}BMlGxw^*?tJ2W&eY z@xR&a+BZYy9_TS*xRuGrqb%F{t=u>FI?a1X5od0Y2c@rEyiT%xiYTda{sK6b!w8{l zviYlUn`;$+mkGhkeZjwy2%F@u@X`Uy&I@bf2CT_rZBVYF zT9&4euUgc!4Sva6-(O~yrSMyo=(0EDG0Dit0`F*Jm5v4X6D?p-?*iudwUnhW{D_y{M0^oIeLpAm-uEewpM#T zFyb_`*Eh90Xv^!!M9IL%Cve`)<7r4SgYv7dkVbCR=V+P^hK%MqJg&Iw4!*H{d|0oo zaqm3BfN8e2Ha7R8OVmX$e5lxRM#WX4o`ui-y!f@e)Mq+H&rKjzwMNp#8`Z#nz#{Tb zC@+6x=_km7_?kKdU+n4FHkljt9Ee;cevR@!7u7?#0%s&shE* zsT=2uPA|?d+0IZEtxKau-uo9$A<($&<-;mz8FjKDsf{o&F7TdGL`3{kQSJNbk%8uU z^XjSK;MDrfuLIcN{td)$veuPTPr0lEFO1v|?k;^k!cHXLwaO2ut}7zj1a!PRY7?aP zLnvLMmj(fo3~1vUCBLH}Ave*5 zqKr~V7ufD7YC+gKrqwb?b*SXD8fQ6C@z!6GD@pS;ED>E;ZDAp=^ZEhKu+1~^^Ohq+ zR7pj#+)M_wpuA^`TBkq4%d64vr4gNtlk`7>BO-|lKUN}KaO&y!->yIUSg2B@M!?0q z{LK5>^GYLw*$}tx&iEa8JW-p-l-pae@sojskDJ(9aZ#hm)udr%I*Cc1yCW-d2`_!n zh}Dtw^aZF6VV|xE`VUq^>$V$*rc%*n&SIMm%OD-1XA8^;T@AM(>E8Eqlx?v!?6k$T~dx2b6hSi7ZKccqQs|HKIS zc&X+@SID^k(9Q^cJ7js*vfV+K!Ek!{71bwV&GhYlY5Yy%!I_bhmc8UUO#tt+t@Q?$ zZaCUL(>gHp+xqC_z@Uh3-=O3gZ?%W2>x_4Fo`8f78*}*f1+tQ3g(I*)L;s>DmW+)so;V=oH}!x)t>!6_rBuv|DDtQPQOtDp3Nl*2!Itgh_Q!n8AGmLm0*!))tHUVytu)T=HsVJT7# zSv|M3SqO`(l153EvLs#VMW5Z%t|IPL6^}hfc0~1ceakb-_&WDuCs0^@!S+KwB zL)JU0En?^O*AYEc=^ZBgV2>+2(?R-N1?pT&WK=U!ij${U9_~@ehe?5w}qnRGw)W_y7Y$>uBL~Q=5x~z zeaa6qfjxh2D|T-iv}%LR_Zj8R-0&ueicY}5B2%8x(L9Rj7EYhlP%fB}GG}qENfgC| zg{`@p@w{J*Gp?rg0C`Lk70&}k=yGSwiwuosuwP;#UZqSqE{lHhS#j_hJuV4JzM3}-FS=YK&pu%#k1y*m zBU)BD)M;LcBXYX)+_tux{9cPoi%wA8*fFx4m|%oH~X(jaQ4TIM6BTk_^NW+h~lUU;s!3?NOT$9uByX#^R%UR{EpQ^9xg(T;!^2o@t5IteaM>HMp(8$YtuVcFK=Jt-HXsT99i9(d_|2OspR!7?eoXI=JJn9S;j(=jCS=m(2G|9s_O>&-K6FLT z4F$T@)93Km-ANhvM=sF=rjQ_**V6Df~|3$L6P#G9k+-sclGp*%ZtB70dSHEee zVTbTDE-sBsxXY(($6UK`M+ZU6WUc7wc=bcWw)x?l7j+hCxbQ4c!_{?o$N{4_^YVGe z*w^pU#SdBbj_R;;Mp(@DPxCLn?hw=a626jB zlLFJ<@ys)wI^$sTYkOlCp8LDTVNJSWS_Uwo#RPRPsp4=6{ysJkmGZuK6e$YmIvKQ7R8y4y3hpE_^m zI+4o=$R*N*=+-Rvp1;Q;D6S!Ox=-!aMz8(0%tP^nTgkvjz6r1W9^5f{cEB<@Ii`|D z47ktN^0-YgTqKeZXsZ*a@>xvjjMEqo6NS?BIt7iBNzT5U!2uJxrTEwaJR2?5`m)Ed zXvd=0!T>xxnH~o9mKZtNYC@8dbsO9CmEnA5wX4wrf9^comLgT6e#>02HesbzZLhR0 zWL9SQ(C>C9+$q1ki>Y$RHC*`sAo#z!ySu-2s;a5oTwnj%K(MbxpT=`6qau_F)FA?g zYNdR7xiFM45KR%wLcM?AXB0FVO%L^W>J~He*C|agQog)$B7xp4zR9l|oG^5YO!9-n z3EQv1WKc3EEI;;w2|{-JN)YtcT&nqSH-4I~`|5rChFLStomXEAjtLv;8vot?`RpWH zfJK(G??1c2$8m|!eH_)$F$Q_A76<|yW;Acuq);E=a=CDkCd_A2#|Tu3#Qm!cd9iVp zOMvn6QCa74rtf8vkpw3h%XZ31n-7v66kVAnKu)Za962e}Hxmgva5*eY%2z2Qlrq)j zE4)_5C%Yjoo_BOgE+fAk1){=6L$2W89KG~VlsS5sun<11XMczTJ3lt_V9f@omt18^ zBqW`uzv<^PMoz7YSUHifR}<^dPv&V?6PPz2JkRdRNhs%q^b^Hr+K_%)=prjKho$p8 z_dK-vD&{02G6tC$kf_pvjGrfmE(l~s^9ut!Mw)fPkZcjNHlpI`0OaVs%)G4#sP@kq zr!M&ByjI3nElvwlLjyT30k+G<0i?^0O?yyxv5D30W&67*lsP8-AJEaJFwGlbvNMtV z!YC5na~#4o7AOkYrnM2o!Ev{=OxwR5>23ER1@}dmH#t-8mK`m(3gLD#L*n0D0MT?T z-rxidCUBQHsQ!*q1EBmflE};SSz_ZPvX+}*G{X=v#$~SXp=mEy^=*4feU=Z}i@d?v z9@TlL9>r(STyZ-u+0>5?GyuqCZrGTt5*rq&AS2m|8g!8m{aDCUUyz=xJv;Fr=}sEQ zkFJp7xIr~h_Q}}D=W+JQmLrrZb4gJly*AYxE zG`PQ>jHUH^Cq*1g(U8m(4RsGA_pBAV(hew7<{%}Mkc%Cy8*ugg#uF#djs29CI^Om; z6_cfUu6)OG-t}U@${ZKZFOdCm$~jDqFP~h3xa?J4;uw#dgC?w;V2=k_HaPpGhmJW< zf{bJ(AS^VK{_ns^cya*HQqw3Rfk~tzwJCLHw%Fe2yqs1tN zP$O5Hhb#f+AZ!Xnu+Vd}H&B|8%$3t9>tWGjx(4(~KWc@!SfY}$mwHLdPpC70H=5QH zcif%fnC)mCZLe+)vg3&f6L-@Z5EHZ6G{=xMn~e(G(rS#nk&{3^7nKBG}oL-uu z&e-`bRg0Pw+9d{_(iVJBldjh-xSPOkXWdGuMsXLcYi^O$pueq=GNXYMx>|L>u>uIMO*OGD zTZp7ka6ka!;BUO(i)VTWSU_mO{ui9brxtDdff=w>mbkDXNZLDCGs-jx{pjo)cF5Ny zHs|so0QJvxrhG)XI<_H7b#h2NWs1uXqEt`c79?09Kf%h0L7?fQTD${{Pf6HsegVsd z3kXCYV}IFqiQUreKtO!ZM}0nmArTXEK3?}dDE_%SUt*0yF;6}6gAo>5eLj7$9#}p;sy^nSe0NP0;VQ80ZJT+_|60``%U9wweyXiu_mT> zp-FUY3F2*lycv#Xj*~W5G1xO$BXFjVB&;`eZDEI=kg=EGUd)yKZAj}AGXP{1fLi{r zd$der`b|5OW|P>x!jxgGk=@|T3=0$~Xp@`6HU8(}vDJP@2+tER#^1+2C^om`JC_D- zz(N6^8SMiD9Co1A2(g&{PyXAv{Yb+#Gs z<@t!>fhL6h_dOzJUq0dfV{+xh%8}bZFNvf!E~FlYQFnciVO1yK#cKaUz?5Q0jy|`c zzW8Zv-2;0&MT7+A`i)G`R(9k^N>YeNWNZ>2Uh49}&;&de{8;o-Mla`;{&O?0*$it) z9{~-`Ajt)VsxlnXgaiUn{8=CPe0TT8&2W=jiMdk${BWiM5wVn7>VCf%cNQ z6;ufV4bQ>|cKZR*Q?t2n=r%hIkQu>G6Y!YeD_m5MDAI#x7IhinzyQ(mQrCm>;gbW zeayewi11ylQlWYjidM$E1L*3=onnPn& z11Y6*`M?W~EkY2G4Z2+>3fWG;?dD`?IC!Je?UoO)yoeij?=UX%9*McC7&V;~IpVVk2`v`puR*#XO(SXgkixW2xb{phBRjdP%g zge_4gSnov0E~z+VQbUcoK0`Wk+sEW5`?{9-tSPrB)!IM{T8YW9Ga-q6?WVuACP@l9 zUO+L)){{$hhsx^32@GUwK_xY4TCm>XkBbR-L1Aasv7hSJX6IxtdHV=7ME@s}3N<(1&Lc+oOeZ5J*4=q%Y%6rtjecKjlQ5S}VoG-c8xr4pUKJ#;tV3o7SAc+c>;g>Z0GJzJJ;>nm zU)&0TnfWFM2c~*yWFhd{jO6;f&+Q*_(PpM2CC(Oz=Qz!2AmwC*PuPGf_{+v8Ti$mt z^zGjQ;j|d79x+*%;EdTVg101_9!UoV*{)C8rQEA4fSlPxA9AOe!XPDb^-#c5Bfi1J zCj0jEPy6HiO;86|@)bRat}9P|C_!{h4U_&TW7=19nVl@q&^TX8C2N}v7N*xpx9 z!4tgnQ;cP+RnCBJnVdfvLsB3Dl5fRq{Nbw}u3mhwc>wstV0(JseNj?Y zK_#r~_)bXvG8S7dkDZWgPs!6`&z#-|A!;T@qQ#{9X0$nwjk0k^pP0NSprU24#c^)# zd^S&>vuEVo#ljtv92LmA4zOhZv~Wpga6aJm>{g%s zWA3yqQhoxWh(RR+8!J458%*|v7bFx6VIl$xPxIBH_GHH{J7Yg)mBz0bdyXY_y!L*8^?vs9=R7Z%q$e|YM@ z8c57lNv#$aR*$U0uR-%bh;gKd-+y96E-BAS?P=F|kH*dKh(O!VmV+&s50 zJ@<_=Ywvs7A+vhx87Su9=CR>`o_#@5`gs{C z(eITTgScTv-p_$cVl+S)(HTtH3gU1rK4E+MOr^~rOEpRdvgm7+q!oiv(xuvqYa=BU}ga8T6y7iR#gRA{-Zqt#=xCJR1~@@OL9 zhwaXEtg!Iu7J6`ENCmm4M2fAL`|4C^&eM3-j9dF5mH+F;l-*4+>6jjO=rwp~q1o3q z``Bh4TUJpxJ#Xn5dFh!irF|%7*mGmt&?)mfa6BFU4ABh;2Nau9;>o;w?vYU%dF5Or zCOCmE$k$_+nhqCdvfs5*EJ2RkLE>{6fY^Kf-05=5QL~PlZ|t17Pi&}><|{7m?Od+M z!M{ii8WXcX^%dYtO6DSsxpeGI|Yy6`<=$}KO z{++sYuu5-_!T9jaM^XU5Hee$iV4R1xU=|2x`AG6}(%e70h?0&hRiK^Eb^-3EM7{5H zk?8b3l1Ls*#(+MB`%|W;g{5>(r3^Dv!hewRgt3<)eyE^U#}rV$*=X#ANgGP2zYimS z$5W9vu_0m2K`l=t2d;VrauL93!a4+?`yCY>4d59>N{9^*_T2YfrRr1X6kC=k33luf z9Qsceb&D|LI%DT5r2_8*rn*GG+(r0qZYz}%m?Enxo!cHY*;qZD`Ib%^a-GBaN84M89Sw^90|+ zVcsBzKcO$MH-xmj^IFc0GysjL1}Fo9tQM0X_;G{Mp(&0niq?E2P7V3Ugsc)Tx2jB^8%A?k|b^B@w=dG79mppx89Zp z!Lntyr;uO=T*!v*T93&70Pm=|%OcOLYuWY*cIZ!DvC*(G+8&(nAvq=yT>U`SmDjId z{uTbLwvWxCAg})@tkCi@ z*=A-lceWub?u9-v!(f`}uraN-*~s<00!vGj!H=5uHLQ(y56jl@k9x*4c_I2Fb>SSC<$ZXI$@#_x_>)yGY)s1&{Wk7)>jK9mhys^ZIv_ zj7#qpqqq(j27cY8MO4(&Msp%JiS+)AEgTN1;MPF~*-Yep*+a8B_kgdC`kliQJDvIw z38~2;xWzQeG0LCNkzcHB1TU0oye&(l%hi#SJAs{F79bLBtTH;wftWQo1-*l)T(3|0r39KYOOQPyRoR5NvW4fG0at(igjNa#eQ@W2HbP zKVo)c4rBUv&Nzmyz*zukE}*#@cF>D7Z!2WzR=J;q3#<)BB0n0Gs(Brj3+xgjMGs$E zsQdPDn2*^t021lQhI2<|b#bOTp>o8JCZALt{MQD;mcuQ`5^bvD-7zul(a5;AHoq8Q zkg(sQCMgE8zk+oP3S0kDj(6fgpJTWG*tc zvyb6l1x^2nDn^Ow#U_2{n0a!WfJL~VlaLrfu1xX zjsF94^xxq1m8=O72nhn_8H&o&OUyYR&iuHuB;5U#{(6 zQ}Sv;29*T#Er8t5ynwhtxm*F`xCHudA8w+FyIvvdu$G&Ji^f0f6EVL-bX|zHG6Vdc zLa>?N0UyVN>XZGSU>^yPMD*XxdG+7AKa2^1EBfdKpu+EG7JS?%@&dQ8PqYbk?5De4 zdtv_;qalKC_B&q(FR<%X1vUu?{%rIBw@oli47H!B^-l%xX=e)O`xyArf1j6&r4o_+ z$BFL~tQp1T*#@}t5Q6%sAGOfH6~3gxO#Ed%fgO01e=OvGI`Dr_HzEJQ3I2m|3nBPl zhT#9(!YM`xz<=T0ye)Hr`vmVrB85&c_wKS!0Y4A%JFV>D4fsuo`R6KKeF% zT(^~#vkV^XjE=)j9#(`zo|sN}bpA7S``fcc^Ufv><6Fjk*So?GmIJDC?1Y-zs0Y>y zxtLT>!G&H8eBoac&!um0fM{tGBeqXu70nYTi_m)uvOd%ERwkm?D*WxC~5IP(eU+LPsKlZ}we25$JBQ_=k$7SP9F8AUZak*D)T-|EmYXGZ$#NqJB^` z=f}o)tp!6Gr6X9vZL0 z!l>c?SNCjOM1%Q8qaJDsjw0G2kyI@6%~|K?ovv)m-3Q z6Qg~xrH6N$FX&*l#2qj;Eji(ue#*N-*HqW?|KtE^`_WdxtM2)E|AAxD%e4r&9YNpT za72arpF)<)>^htxi;<$3#AN%HUiSeir7R1;MB!wfbiM8WUH)!g9F;d zGvv3Flxr<*NyV`Dm(SCgoYW@e)4xb4JtOF&cvFWRfaW;?oG9dt)UfXGJ%;JZm` zPRTjOs5}kN`g|M?ep%dr!rcX!=tic$$XmL9Rr3}a6O{vwnqvj5=5p>tmZ7l1obg)= z<(zvY{r7AwVF$EOL8F&;_2IC_1(dHzCj^_Nh|Xy=*lbd=lV_*xbH}cscb-D$6wSM{&ad$?{t;1^bU?| zAKYE5tf@zSSKNM%o5P_3x-5*RntPAQ#XoueJggetDbD_YwkPG-wW6!)Qgc(?|H;pC zjB?_NI$fV5t3nUUrIU2c_5(y00SUD->x`79x#k(P#YEu@tC&oRD|aw)TFy!#lZon& zvYsl(?*81u=mZh8tADb)((o%JOtE$;p_<*ri&Nyv1W3hD|0Bk9K}##^m=QQ&4@@az z7kW?;R{T_(G&VPd-l5nJdt&+Pos|VSb^HfVNRXKH8FQaCS|A;??Qrv{f{)03so$za zxNx~F;@nNoz^l9D2Atg$J2!tK?uDro=jPQhJeO`jQ5{kyM~}=;oD~9w? znLegiaIkO0FJ!CZVwY{Gq1mgL<1p|oSWo0N)5jc}(cv9G6`GA8pwm)DZs+;eJbL9@ zpmWv`h$LiBLNc$7(WpS6)BW0mG@>j+?AJUF6VPS7+*fRTxZrp-z8{eiFFTuyhznaZ z=!2=J5>4)rVd+N{&tTKtd?CAsCNcsd zlc4{XT(FZAE&^38am{OMFAp9j^)mmMdo8ad2QK*Q-z&9VZV!GyWK~VgpwRHR{z^t~ z^`h*271Z;$V|f(1v(u`z;is{dpa0;AJPYFXeIhS+gm|+I_xuc{rAXoiH3{7>E0Q}M znE_pb`I3QL-fXz@Ath4EifPZe;!w_RDslKu4C9M?K2?8mP3@-*{QMNJ>0*AD-rym3 zKa9Gge?o0{uSnhx`}rCZH~4Ks2XFr8-6w0N&r09&c7-O4Z!pylOg>k!r`GDlEP(Ul z{L%bXw6w#W5{^ZLQO~1)&8U?iC~GNetuQGUtJZCGHbp4Kf8M)2u)0`ud%!W!D=q2J zBmGe|Jes|6#!-8ku?wa;;SvFx(XFdDjID_gdvOsR$fw0A@!cHyN;xNa&8c876TJHho!s&@+c{)>vQ=JqVL>rH9Q@@sAbx4gyJ-@#kf{XTj4H- z6lGxKJnwW{s^YjVSvU<{Rs*9RXRYEY&vpq4ZkQILz2A}I$$^0?Zd{j7@4u7p->9bN zs;(zW4lSo;GSquZl9 z3J#h~;E;sM!u0k!Ae>nBv$HWL+XGUn&adA}`5Z=HK)3l2)c;ei+1YBwzjDpu4dgjW z~Zde$|E8T$;phoak`({{wyuI zRhWJ(RdV$w21BY^Yv5Ee`U1HcR%H%>W;7$_{qmDW*7V)xn=@k#~W$9 zhT;#9nYYZT^+qXMiG0HLyO2<}KVwcuq7_xXn!D+Jn7FTjuW_)5pSLXJ5sRPqm`C}x?N69Y4PI*a@|_BeqK~Vw|1dgZ^TCs;o|y9xC>$D!g^bD>~qoQlftl| z4ZwRK$!C;FooD^JHSgr?hFIkb;hp`ri^JuZKG&fCkz_L5k}8RI&$o}4SD77?lV?VS z=Fz*Vfg_DGBk`?ZS)g@PI!p;Q?^*nd-Br=JTn{SXva_aa_%vg~~ktKYI$9c9q+@)Drq@y~={ zX#V)rP7h^ssj9BHGN$6;CwP+x`sY%!DD4)L6t4hV0$a~fGJnD_g_S0gvI1q>TxUzU z{OSEOb&>N%h$$BHS5&1v1g@2L@we(*)k}s8HJM4*rSnQ4b`E9t1?AfPYe1_mTj^xQ zy8Q`RV{h62!1NeWSS=+*w(j_9;B%@VHZ=S+hfu1Mi;7gfEGh!!3A`DazV-3!(KBYA znHV#(D||Im{5KasGpV<2`}BAAg~N;c*bUna1~uTCVq|{dD(JW+B6};5>mkZjcYme~ zPAR3qr}Lq@nux|b_?{^=3Z&}#A@_eo#noGN(%;hzC~ta%nzE){;Q3S{A*BWEPZU*Q zPi5<-agnoLsnMWwRR&W5RIJmdWwH0%oxk@LDQ6NP}r~O+SHrjJ6I_i8|y$!4q`%zjN=A~^%+z%yvy4GcH54^uT?d7Wca*mN76zCJs@6BU|+ zH!FHwY$9JGMAS5$NSq=(beBG~I{pz-nEe~r`xkwM7yDmvzyB>aPTvgd*gt|cRtxKH zJvif%GgA|AUk;zA?{*SSHf9!hgE3{IV@B5)*MKp7Lo$)go(t<5&2QC|DLs8>iG=Mx zm}5yRxsw+dsm#GSYX4^TBV~^FY|y4Xir@tTzyLA^obU4N*p9i&{awDy-7o@9NRuG@ z(^cxkYJ~LYghI5Z-Nd>ETm})OZxpgF)3Cdvb^XJ&Ar#*@lATU80!<$ zJ((VhjTiDFvC+TN)ia=a{%#PKjEl5EcQ5%Y%EbBMuJL)(NcrrZ9D6Y~VB~^5=+%`Gp!9nf{S7)m8NI`P=;J!w zBiJ!txL9R(Z1PyFgr0nNcC>3x`2GM7Q!>zVqrNDcp=aj4OY!9C`Iq|dq5X1ksGjCC zfF%*F%pDsaV4>J}tZrvelL?MK6rJc^(72Y+vuAgdor%);A4=;+* z$<0;Y)DZcok=iZQWC$7Xb@s;85lMW~^8NBSU|?=4IUwFVyD~JB7?q&oF4Va=WHzDM z^R|PbUuuWFf=x*f!x;RB2c>a>20tILl@A>mZ2BeSjcGqd<3N6q41T4)k{!!EWIFB* zc9>^iurNbgs8d0ZS54Esx$>rg6{dJTEQzNY*fT$jCd{q8;}pym6KKuG7f9VdTZ2Oc8cXfp*B0tgjK`c0jsQBNM`{{_N%WXiBV}O@NaWtur8MeY#EJ-Dn z1UQLh3PsY?7k+l|&Is-!Wny(KN`H|;w2f-sFH1A&Qk^mWtrw?ZN^c}BH~xsZDKMTy zd$Bk9pKwx2cLfkQE#M)e!h2%dT%xt2@aW~e*RG5xoZmY9|1kGeQE_eCwj_9P2yQ7f zKydfq5ZnVngS)#WxVyW%1b6q~?pjE2cYBMy&$;j1d(Qj2AFqC@RclLX%35>GK6>xt zL!Md&Dm=UdmHaXOZ^?f!$HSJ=-8@V>SN+Jv40%2Zz`$!Itl!qcWQnW+kXI^y#=naD ziIGIYim1e8gp46=o&|9NYDU*~6|b!ej@Gn{PRLLCP-_kwmo|}Z4lbYop4nv0Qp7kG zdkvh)q5x{m(65pHBQkfaW}fFz59aqeRp&FYX9$N`LV1 zg$oqI@FNTGxd$SNbb;(sMeqJ0rKjgWeLo}^S>pripQx>F?6_WzvPKRI2!MUveNpjw z3=5s(we8VF_vEdNH>?Y68vWxx5(r5;2nh{kgCMycTKc#@<(qywZEebu#4s#wY;6vn ziJD^bYc?kkJU}t|&m7{@HG;6YXS3VzATY|Qk!E2NjmHY>bFG>es1Z@TWynL2^;$t9Q_IzxG#j1NF}Dq|JazL{P9?uK zJ$lvAr=C>z&(o{OUTKZRp`q5kJkoJjvyo};E3&Gn#U@ix1Awz2#dp^ms!=YQTT$(v4+qz0szo;c=R zvDDZt>OU38u;=D};N4l>dnyMxcu+4YAB+iH#s=n+yh)3kSE^9$m%`_%>mTJeF!)2D z+3l8Xk&@DVn05YVX}*Lm<;HJoF0!t|hp&g~(3bdwarP};)_ULWq|4*R0N55*bgW(D z<0&4ZJfCqpwB^z+@|5xc=%>49%zH=6_6zJy`d%&PR(*^o6lF5J-j7TpV1GBr?8Zmn)-O`x5xs`g#;I3-f^FJhn2+JWU zY8e#$us_yfXBThei;`ZP)xNOhQPuVr#`Rl@k{cQ1_3}4vS9ePVeVI&7bJdS7&R&!{ zVJFzSf&7Qm?>4|9=WqKXX%m{e8dmi(J_tYxT9#w3q@C!l`s&?6r@aI|oBA%No5dR;7I0xESLEIO- ze+916(u2YmZb+URs1_uMEcpcIV*a>+%JKh)5YFM7h&;op=gtneAvSa?k%9ll&nHjr z%~j`98ypx|rngihP`~cAcGEf0_?NEK>v#OfdzeM0Ls$ht$OSHNo~1xeE(+yAnny zG{TyN-2q>c6HG&Y46KITP+Q(Qse(GI_x}c$Ws}`u>~sg)vdB%T6Da{X>ce5Z9n;`q z#g-}>ZmSFrW3j`{fa`6B)=t0f27DV9|WOj zt;j75j`m|oLX|V7aP;Tcd(Zq>^d!u(KUTPUyqxvh0f$;#i&B;H@9E4ZmGVKYVe7g> z{0V%#m#j`bAAVR}{Re|VaO{?6;91HsYwrRwq805N-%3numBUVFs%7H$=A#c6ng@bi zQhz#N2-N5TKbIE4bNHQYB~y|4JnP?~oDz6q^r5CLdy0Ea5d#x|_T2Ct5slbFkKD0) zaKqHzQNU6#GDS7Ec(7-YR8MB&XbPK|no&h}zHxnXVygd3R?i*Au8+;UIo7uh-BbSxpq>$QCv_ch^eY z@j#h;Vdr9~qbZR;j4_#+rKw5yY|rQSn}5p3ji}iTZOJOJ7q?WAkn?jV@S`ZFr6|j> zKW9dJ>^5j1he(f%4jD1Y$i$;!Vvx593SWAl0q?AEahg!nnpFxPMaN_0r>~bfbH|sR zG0tLTThs3g_}gsyEQU0y<9?#gN`{%at%^o!Fr3%XRl}L005Dv2K(<|TP8V`QZa+X?&`&3zrT!#MC>(!+1N8EyrZ`wtlyo$@Tsyf zAJKAly+Sr4fA)9Egy$cF+OQv+bO{hUt@kPa0-3a{hDzm|Ouq#0OIoR9e!S~>|9m6z zo*06Qtc>ArRn~(q_tg)N;N|LLC4bZ#a%HTx2Vckd*w2;GEstZowY6j}tq{~%MJpxI zNiRpg8t!Q%g_UYLXV3112g@I?S)eif{J{#+HtIcBQx9_^8ZKEHUc(Ub8|=aVKz|^P z?K!2@#6tKZ1eN7g4VmrMehpqw4i@Am&q&lvMVM{;TKE_?yB^(`dB6S>a|OkHvfF$% z+QeV`7^;`m;z!4bSfFdP2R(;_9;W{G^v9C9bm!oYC0Co;64?W$W!7G{ zvg_h^7V5YLKH)WN`A4pgOk8@R2jZO`)t_OrMo#uGE5lWJ*oX1>rRwWP88}H&t%eL#BI_J-nykCP!lYl{(X|>cnXRzZ&rZ% zy+9K3Or1=cP@Y7gUB6w^c2QT6`aLseTCu2oaC(DDN>s)UIh}?mz4@}!xcPxe$bvj? z)u(UdX>FpG^x!yrkH@pD)rFY+N}gs`76YLj?HQhQG=qm&MO4ARCMvGTaqQSu;rkVK z*ec`N2M?sM_v9knLE|oxg9kn+DtK6@a+c5g5_zD`pj!4&_)HtVuG!aDcHuV{;c?Ol z6a2Z*8Kr%T8q2UEmiCa{_q$u}vrM%_IaC$n{mvyZA~zM^qtVH(K=*CWW2;I1ij{3| z+;=`z2?qur#+G^5EKSKwR)}k2=82?SA32i7p=V1D(bC3Fhh>XAco%M|3to3u5>UsH zM{lMww~tlUCMM}=&^otynT)!nyQ~#(o-kjGa$b~mL}*9c>i35jjcHjYj(f+zK^Xfy zo@08Cg@+3T&@VZi|31Pua+E4U)~Y|0J371q0a(k1_Lajfk?&J=qm%a((=NSb>GwSL z6-TjROJq-Ud<=8dhcXq*zCF$UcL68JZF}`H$No31PFIrf^8uzwjAqENeqw$ZYuPEk z%tqD*Y1LhyaZW62c_P_ISU-NcJhy?hi&IVVLrQ=O`Z{UzyrJP?TQH zjUb2%U!@EXd~%@IFZay9*_NOEUVokbeD`nkK>*ptJ2(l%DHPOZD~qfFEZSsc_SX^Ez;amTf1pt7fk44sJYdh#WAW~ z-xa@_t0?q{%-ucZj{DDUwvISuAb7-gj>-fzRoQ)?>%;yy^#x2a{7uo>BwcYjj@9s? zWu4uO8v=qbG2bX8TZlc)no-I@>$?5p^Lm_RbHqy&_rit*`MF|eFe$P{(5>egt_RHi z78y^)_dh7py1kSh!l<$SD!E#m>j}{>$T7rK9l8Y-;2|4);#ktc(g{8<%GQGPC9IzJ zXZkGfSI@jwY=G{5giTI$3`VX`EV@0sEuV@|oXUQ5A`FUtSUZ$QhZ8(7v7-WSme-0| ziu98A@bgsb*0^`OB~i!J-7W`74}B;1eOO840$E;}9*`$@$%H$e>r z&wD&Jv@WCR`Xe7JGdUZ}xZZ}2NhcMD<`A9l$Y5iglu*~Dah*=B&k_5#y6de}#_v{A zL;>A{LG!aOCEgU}W*c~q9ON|IS9{74E*@NSb)wt5>5}cgbg!>3Hf*R&&OoF2U+lBg zGE0yTha}xq0!E(l+1T8jmNH((zTcAy2)zyuh11dsBrwb{z2$`b`hjPw^@gx%Qd>}V z;eRqm+R|fI?@JjNQ)@a%jbaZr44T3)h=j&wb#2o_k_6VW^1U>M%KA`!XVv!gE`!Pt zq$zRKj=~hwy@po-1I*JZrspx!t=C9ahIyXO81JtZrRk0GQXs zFH>UZ_lIqR?JF9}M<;{rz#6HiJ<6A(5sY1?5(Z28KS>AVdWPXKqG)G~Dp=nW2#+AY z&qFr`fgW0Oro$-BSW>Sid#c8`(}P`<)s*8eZUtI&_BZokT?tTJQe#Ipa(OxSZ-m`{ z{lvOUlMfvO+qkR^=a9e{=2t}^b3*s+?vTT9y7)^b4HL{3war;sJ!t57bQE7$u1UmC zpG?KvQfE`_1=gOuIQqx;5&mLevvbpU?pawLFmAFF4qKm*$?s>fwPVT|Q;%<^w}+z@ zLrpe!a*;Qv?iEtJrcbX2Y=Aa{bINzTC3Ehrqv-6)u!bEQv{plx!QmmlURdsk&c9kp z37hJoQS#m|R%VjXnb_~YcFb*Zz8y^P2aXsO+LkUJnU$Izw@w!c;)-JN0y~G==8rc> z16rqzGa=bc+gXe48I*IH;qKw|3v;$h8It*kaxpPFlXAYQ)?Z@p?_sHP@~Q8bKsniU z6<^6|TIC+uXUbW&@^t(?F7~BYSml&w#DtYnKY2PVl#tL`tavj-?9w-V`}0f4sbI?v z&sBr4ZE5=USL}J9-_op`#W2It#TIXvfS8EgTSr2qk!{eJ+Hv=@lWB6+a2_z-CAwD) zgndCTXv@!YxxN}wH+F4KD_a{=w~6B=s>HjhQHF)e=YV~r*v`_sPI?+Dp(b(32~=N7 z4x1wqTEE!1_?bCGuC#E^y96EPVA~u5v6o}TK&Ni3hs!hY+&5u=i}Sh@C%X}X=6=pz zW&0e`F~{sOHk%pPE{4Mp5;1g5{pckN0sz+^$s}|#X?B}>GA*`6?Kip zU)oKx-gYCciecPzpfJfvQg4}t(v;T8_AZ@62>Hzx_(5icryv><>cz{0O5xXKFOVe( zflpMk<=*yhFH8sj5jzdm$D^4Jv8y!)5pG$H<`E@X5xeQ&E9Raqx`5X1$ls^TyKA9q z$Cbl!Vj_7rneZ3SJPnRytM9d8+sP<*Td$RdDqG*jU53_iB|AKjQBX~cBdpSlBIH(V zI2%Yz$dC-vKlF`AjmF|yF)E8?rL@%GAPE$|wA!}nPn!lTK+Y&Vq;QwwtJ+-ro|07x z&{kHs6;+YuWMxWyQqj_6q$2s0pmccKK203^?AcT1`=#Q7!JnUia`Ufl+q zrKzUA3|3n%q78@B_WFr;sn5L4gG1u(ZINV)uP%?dd#OrSC!S0Eq;8*hJ)iu?sN?<+ z*3pIW`xiGvI?_hPxGC2yub`sBVEpBHiQIsGc*50gwCRb@{le4P(15#2 zGq)D0;ru8w&*}ueX>T6lW#%^t(C?2fzf>RH#SpJ|e__`^pPtbo&qsUBv_2b}GR8q3Ly^Y3}dsPFE$lA)PJ6rVj zb^^%pe-?vKN&O3E{5$x2vH2@b{G-#s`Y(avdb3L44!$`M2mYwL-{OnQ6EH`n_pSTujS4 zRlPke*Mm^1toNtM-5~_Ni0%qt=%iQ!uVdFn#(x#bICugMyeF;6Xc)(oYDxdKARwuX z$F)|);p~EXWN`c*HL2%&HG22h0zMTxGcsVyiQS?W{j#}fnqzV?OYBN*VZ$=MBK&N` zHx{sJcF3_eeIZk_qyEVzEI!@qb~>4_)(%@!ZvsSbXW3yJQzSX&$-rxEY(fvC_P~{x zJS&4mqUM0oN4f?i{hm`wzDbATB|i6G)o(}L40sMnPZNWldLZKns?KtkV#^=tGfL;Z zIT~Da{#0;ma^-b79*p_?-gLeIr*|5KZ?Vbw|}>OF}trO2QE~-rx_cy7&Q~3YFh8 zC{vWJHJV&okI-ej%cei7cWRCLcCk=n$EMS|wcxjtK8BY;_)~I(beA(?|0UdI^u%b3 z-!L}X$QHSnc`94`=S$7!1#-Ypvz2e^-jC9Cuif24lG(vt1 zWp(T3V@$}0R1Zoc9yJcl-JYNC&&5Ik)oD3M+vE=QfnmpI$4Usg_(Smyu|hQ}=F})Q zgK%#WYj4HSEgW@LL4``x`-}nu2E)>y*F(NN3gjNGW7K@z zNcpHaN4wx!@d*|l13cVUh&PtnH}!@q4dQ7$n9V-+^p7xW5y^4+{G6U<=_xON7FL{^ zD|3?~1;ThtklESSy%dk*9`Ap00nnAo-Bh^@NRb-V0?#i(pctlUEht-2&Ktk^g9@co z)pAR>2uVO7Dq0$6K^H0#S{i9mQ~Ix}YQLOxiwcIGCU*`co!ymI2f9wX%hoB0)hAze z%wOV@y<;!?c12m~`DD`1E;_(Hy{!{0N$mNs7`nf4KP558ik^^6LAUM0KoBPHcs#-7 zndfHF#3cI_0)`DmYiz`oF{heakAHZt)slb2#mC2o%(?guEKaeO-h3*4bi2MH;XA)# zY8{9b3hI~Y#dA~fFakU}LCRg5Q?dDKh;AMiI**i-9C1)jpnandP~e3{I{by))3n)z z{84*2e_F^nzm4U?viL#CZwrxKAk%PEA(+W@UiJ0tpq^)66b~33Wnl-4aH90o8kcZY z!IjjIxcJx)lT4ZoxKVRLTm^P{1;62B?(T$-lJ47)lv!Au2No5ZbG!62k)sCn>ceW_ zKe^TP>t|z^*?fAusen?2-a12T+K~zoNG;)x!JBh8Jq4p)iVa-9q!N<^UdXB6&v)C- zuW2?*>KTZf1T^tfx;*&1FCYL5y(Xv!CW4SUoe<{&E62f#W%3ld-UeDU`6I!FZ1>T) zdUfQ;t4R*Rkc~{(o;t$gTQ+f4uuQFviemLCkFIjf(C_EY1Ai)n5-Ew%I2OFZyEFO( zO*l;t5wAV(!09GdoR;g1E=Q^KKPvUcf^*t?yIBr{rmbFIIQ@0vL=F$LDY(gl=;uZF ztCQ6CuvHD*+oB{<12Xybmx=_@3nbEmF60o}i*F4uy~V>>acR!yc zH|!-qVkFSLOkHaixV2O+VVUILm14V}`4>Jts2-NyM@sEE&3v6%YDrDl?!jP|e^lqf zO&t4^WPR>herkY|{hSH46r`Fg2k)m;c6l-=UD7`dxoxd zswr&AR;PZ(8rpNC9eag$p84?;hM^39q8hhEwt|ofk$p8`9*DFHWlibDLe<|pD-BFB zG|{9PHR&BX-%P2YVZ}OJWQ=_@;geW|HfZH1RrUSl!qd}vADe#(yiHusU>{sm^dz!G z{BYz&TpZXIieSCka-!mi1SnJzg$RURCN6Nz_8!!pd|)lz-=tAKW4Z{hT7+KliwN$@ zWj{0c-drplhtA_)ML0zCrS!AfjDklZu%t=DgyMHAE`I!$U3K_gFVcQ|dA{sbLA1PW zn>1t13zjO%nvqo(4VG*<1K3r0vWCB01$Xd)x@+; zwYsbB`swj)S-_QFsM(NG`$ zg1Zca>@n86T}?Ra$9g_~nuNm3!AXQ_he$0+&vkV(MyKt1OyCXI|ZEpZMZ&b$(>d{~Hf1 zIt8sk`ET|}7aaHHS1;h6-He$tE0_=@I$K?=>UW?>vQn=)%f!kF#i1cl)&)SrYDOQO*~+OJ3OJh@=s)fOK;XT z#m%k%5;7sjrN6;7dx+#Y@~b^)jHP1Jd1b;H2>46VW|Rm~rR*a~qUz}F@HIp`56E=; zwuZGu4)3(x$`97k%b_uL(rCAGsze_i(=O9pEx(~E_QXucIg71Qo?k2V%>?%gi9Ha! z8QBrbfXSH@<#u0YAI6;$%c_q3-d@>mb$PnLr}kxD4Vx$w%}wtd7$}*Zx@T={uJ_7J ztAqq;eP3J%bokYxw3?&x^=qD{YsJorlBg=Pei9+TN+LLZIcdEX?Tf?Qcd$Sewm)q1 z!U&g&BQvis!0y`F()gAS(sgC|X3aW$odT?2(Cxh5zsGnJJaxMdk9NDk3X_{csnT%+ z_fy_y*|q>@-Sajz4h?&gOEK(@Gq|DL&+HT&TY5NMpvt>*wI_v_k@a^F(FOz&b>{+Z z9#xm0hA$zdLobEmYv=o|(ZrfSOtM|=re#Ed^3dpooE zLe>;K)7UfM0nU^6Eiax5x#O8Y znA`j^$R)CvKG^^l;bpVJY1tVOQ$3#~A?al`Ezh4;HaZn*D4ico((?F3Gv=Gd?Y*OBRzK!l^&cVu%zFBV#aeq_ z3~&?f8?+~jMd5oN8Z=Dbqw4>J4WV5^w0qE!z{F!*5EdZg8oOueC+Dod$@{kO#sNJ) zm5NLs-O$vhf38tcC4mKrH_O+9SeI%|6z?`}y6G(GG@F@5Sr-=h0Xh83pS==gvff=2 z+)!Mz%qJ#LrILhpM2)RiC}-WUZJw3k$W5RSjN*`M#I_{LP2jm9Yr%VB8m}6!rESZD z)Us(D`gb*g?kat9>=dEL&Yh8X6 zf1yMiR(;gRM9W?@wDdIRiDK4!a8qaAaaxwHnf+&x{SpfVGK)Srp0Yi#_{NN=z6nm? zFA5bVimcG&g68uzXMcRmB34O#kKjQjV_t4cyKfI5RnnXuWU6vKGtw`ydisg!sd+tj z8X{C*xZcMnCD^QWABc9t7X|)IDmu&&lKFYo=n^C#lfI!q!5rW~5*qf~K2GHKmsJot zdh}$K0-z}PD*|+No_?R3+uq$KOYl80`PGvB%Dz#1aoI^OB%;M@|G7W!_&}rHa-msZ zdy$wfs&<$DtIMs-QakR!Nxr^89^d?IuTj!dD-&YYpko5IGTS#E7K4{f7fHT-^K zQ!O`9ZxkE1eQ+25v&lK{R^@VH;B*&>jO%5so`A$MRxgOlvZ$}XGZjq2*Y{iSuqwyn zGh*`xc1Hbnr`V=5eI%}pGnASQ?iu^q#_OqS$Kksb#$B%^uL^!QD`{u?c^6`{m(3l+ z?W|(F-}arR_G^uRiArBy<;6K?sooTsaIY|QLER&EeR)q|QsQMc=_YAGSV@~5Yw?#; zmF#Qb$eP`D7v=h2p~}i0!os~~^%%9-NwyzpDQ}pQR`bbrpY27I4b=I#6I356_LmR6 zo5pDVhQfGrj@eLD2EWk1SCv1azHG;*p{1qux>>VCu9YEp#gDejlh!`(YA-yW@ZcS&LoU2~ z9`c>wl80JZ(gNJysKg(kj)M9{;*w({L-vHyPBd?>tiL`zh+|g92XyhicH%u}S3r4b z$%=@Jz~`g4SOMJOI<1%y#B^N2$uQ@d;h(Fv_^)?nIo*MPC}tO;2JZ6p>0SD}swCtYlgFymfG{ zdzFHs>nmLT5gBU(kuhK7AvRcVAYnoRL`WWQl3tc9|dIvSTwP1^82lSi{w zg&>>9e)7elFgvSLXqKqc`i~UMK57z=ONDlu=+(Bqu{h&1C=9K} zXdgW+*t>y+khGPGLBI3c+y z4KbfhDdx8k*%G#q`Ds?%m?q5a;W0dc$*LrRrb6z`pv0 zZQaonK;uM}o@NlPuUBXKxmCv0vUP7auA^@k-wMoXF{GV3fAr}Tj$G{PT4Mj%z^kIx zGfGF|4rT{$W9jcse>Ey5t#Ui4#ijzGt*_pgL?w!Vzx=rBuDV2HuR*ZxC5Iz2 zXH2ylvAf^~(IdaLG_=hhb`B}xdbhHb*Sjy~^F^j=i9=0HO>b)wX{Sn7NHB!aQ$l9c z?WibT&y9+D57)wh<=|REN+G+AR|U(JTw~SsDz@s|T+F_uade%Sa|H)|WSc)Y?lmjT zU?RB0?q}-Ob*3Wh%kw_1(q^PVi@LSH;u~|V?$4b2HJUj|(K5$GUODO7_Qvie8%*{J zo+n{+jwf54?DI!{3$g1-JVU*9ac0_6+b>|u=KsnW%ehro@eQHBYrVR3nEB`K<7&E@ z=^H)roB7u*jO)DLNpWRyy$dJ(&|tX$Rj(K-8sWEkR?X)-a7AE$K;4~#dgWSq#YgW` zZBgFAJw83~J(b6_l0$#RGD9`x?qG~NQI~X^EtR5EMxtD^$C@m#1dR(!@^uXGGUtvB(HC zShfe%WTG}gn}bBw6|YyT%e)n5lw6+2eV=zV>!TxmgP}FN*Z0Z0ouPoTA>F8IQg#I0 zy(EIiQ?am)5|3WR)^6^;dWIQgt;tKb)&6uaunC_5s4DUA>GnnZQ{Pit_qo#6;hM`f zhlgqJQ4s#2jOQ7tzp0F|(1({L<^wK^b8z zBc8+^Sc%i|cv2oFH=ns_H`8KEcpZw=@^VT?cpVDW4kxk(_;lrTjaf}d&)4ppY#DwU z0egm9gF;x_w`xc%VS6573K3FB2$$kB^4MyIfu3&;jkn!#3-#CMjd#kLZRQe#P zsmV)EkFu9I{(k2!V6i6!zY(FW^L3N<*aPe`xyHF99F90mS0)8;-(2I$5&f8jh+|sC zZZP>XSE9yx=A~xYh^*ZYwTMpGCOAH0{zz;-F^u3)&E5U{tX=e$3+n4#8Goqd)1ekn zFbL+a)cOxLj{-d4`nMZ@=gk+5{UChgXcD!O6O}z%7-5WMe>4_$Cx&!%kqC{dx-FF~{K_z(Xkv-#1X2Uf2+Gvn9wh@%Ys3 z^ixb)+BwIcjuS2tG8fWe$jV0X-;YZB&`VJ}ZruoVXT!vE)zG*LVOxHjgkQuN+go7GTFj;Jts3gI%<|?2-pD$rf=QoLR zHjXnjjCxXY(C>$+rj_A>T|Tg4GhUh#QtUP+;$9M(-uKron|8f86;qJJj_Q11Wkrh5 z+~1dFVfE0oneDzcR@u-Mm*$0i!Zz3=l&fVQbM@27yLmD*+&6_rcR!Xb>5daJ-Z2q|D-8L;7@heeJ6GsRj9A5^riVQT43>xI3A zz_ax?n+YWCsq2M1KZ_d+^Ez}t6n6G%`*s#%%V~c|VXFa+$ z4Ve2733*KWcJz*`BT-L=GR7EEY6?sb-`GvCZ**w9pJW8)W3J#2fk5+?23%6slJz8` z)s_1CRjdVv%A2ylho8ss?+ip{Xa^t-?9kAZq=j)Z%1s{woI1!e(iAIGQg&WkZbI(P zjS}@cG@y2}z3aT3-liX^BjCIiMM;K;m9L; z9FQr!Rs=xk5S|==5mbI4D}$2pM4-k(ha1`ya;`GY&PYc@gntYcctG~0BkLXB&D?Gy z30e%DUc?v=I=3gl7yKLfBl*JEDf(9D@QohI>4h;ExS^jrI|lL>AsU4Wf>X&suYf@m zwe??9b7$KPVJN@9;Sh)N*8Zr3y_I-8hXJX}rbyyqJC*U;(ooZZo;Q+^a<)y#c8Hm( zk-W$C5mnOPNq(Z>&Nzg#j)IXBg*wv*TkVsLyRJnb4jo zN(g?0zeg0U(@1z~SnB$m>jKwN;4z6?WySMHHc&xl_!KIamwJ4 zv%N&hV|orBxsuRquby>474dmM8{O&m;cLXe!#nSg0G=X0KyKg_oZuxvFW02V(!@NBg?KLj7l~|7wec(GQC9h zx+JA&Kk$e@Kb(J&k`g2!XJ1`UmJ&x~`1=-sk*vN(gG;990j}OaA@Z7qsrmQ19&&Yy z*10~k+K|9$DQ=xZG#DJWAH)Jn3~&>B_LoEL41li6Tv?{4(gsfdIW1ues4((K^cg^X1;vIu(%+b)3o;<_q%RF_r7Y1%`m^O zAwG%vkh72u9SPG#q#z4jHjf-m1*#rm`kn8v?^I2z@5bU2{w{t5!Lrx-uOgb|BWV#Z zk#Jm;^pA$K&iM;z4q)D({xxq3QCa_u`4&bzoWDaXSdD~MX3zp+z(z}Q8R#U&)+H(o zO>l?e*uh}JkeRw>B{v{}nGIikqw4*nxqBnEY^ArG(Qm~%C1chLJTX8wJD!=V0#8AQ z+|)M=!!+u3Cjg0`vWeOSQi$u^N zX4=J21=DM`kw1vd=I>P#{_jZa!R;S}#+soz8m-DI@iSTWIX(_WA6S%?-7W8piilk&;C?LWPT=*uET zhYc07zy{u}X3x!x{{PGct`7QX)Zzl(Nqow@-Sec4{#8E<;x;jA3-Ex$`I(T%4FMz2 z5?o(6M9N!3%qq`KJf$`*@|eWE7#pt~KA%s>SuXzQtP!cZpH{&5=L{6jXCjny>*!aE zIRi`r`s*fTx57t7eQ&_1H~~KlAz-ppnBdUxWKKt@d!EP`3Q<2ZX?@p|3egP=W;P4f zj^QN?8|au)KTDZuQ?u#dn9k$z(wY3I**dz%-TOhmH70;8vgizLkAwhqd5BskfD!z<7nd0L$Vo@*~{8B!S+x zeX4jv0vSPnrz&T?8G{!PcrV0?jI2X|{thRA3l;F-B?RmRH-rP#@+A0!5UCy5xCZH> z9oVztrepsMTL>>Y zxO4FyMrz__NnV~#jm zmzd88i0tS&WH1e}&>6X+leAxAiIFMkM;&S+$EuC#?FxPjkYT07;dqX&iZ}9k8u=(w zR`~Yj|C%q&4Gby2c!=WJY$HE1djmO%64d>t111*;`QCO*4E_1+kK5FjEu^)B84#bc z492(QwqGB|k6&2(G+7~bp{=Q2f2rS;iPT3sNcxmdAmr7HHb-?gN+W%YEsm^x2zG;CEP@sAOb3$z-CU!%I8!5dGU-W-FhXE0*C_do9+ZU={}@YhL_xXhK}>CUM?` z-t>hJ%02Jz;ju7;WhW;2e)A?|q0`n`<95gbA(HRt7%%i{mlFS^JUNG9D=K(!)+{Ti;s|&{yyCerd}%~^%sArG z(%pI@#U=a`)0Ymt?ZFhq49o7(hI`cwErw6OsvD0wf4shuKAQ%>fQtPwN;i)?pXw*i zt4JbTpc29v2>k^J@ArC*V;g1Y3lEfIg9RU{l6ble_wNNik-5E&U+ zo?{Q|8NAj!!0 z%tFddI;l)^FRG3dv1GlQ&E;NSR2j5@o?u*irG+mxt<@BX8&+7?4~Zx)_y$s;nHjG3 zZBHM%I|iC^H@un~5BQy~+gl$b6EABdNwOvQjswal+#u?*@1X+iRR%1urGWEuRQz7o zNMH-mBxf28ud=AM#KiDkF$H(bNXkN)?o7B2%756K;N?R8r_g8+QABA8e2oj3)k8ok zxG}>;;aZ&{Qre3kDa-pRQ(2>!6n?*B=j371gHI0%EWQ&kaf`^3Y@IVeZ~HVQ~ImZHYgjieiW;&s~EVn|ML z%pat*fq1G{=v2CEVwGyVQfdu)=SOK7sA}UEf>HqQHhGulj5<;`6Qt@&?c5|R=eugD z+#m^$P@fp(O*L{OzzJ{}C` zt=qw3QRlhRX&uLmkTQ?yxHlD_5wE^UaCemHwX{rr*CGrQW*8qx=UVg;wC8^3#a1V2zz#_l9pVkfZJbhQ)n8u;BW{6?8>^E%p6IH-+!@ zBiO7M#28kSUYWb+DRCb`oWbcnH>Dv{H)f8T=Z6iQug|+_An8_@>OKmJ2HebY_KvM8{;^(L21qS}cPQ`dMeuM4sR^ zJn8%3Yt#i|`43yZCMYIFq;iwoxKQ#fe*)99v&=-|;(S6|I~m17Jd;2~&gn4VGH<4k z$48L_8z=}!E>P4`6B_So$IQ0c=_`7A$a>^$U$5X>JORxgjw&QWGw%H;$9NQ(Y-jy} zWwPc2VE+#_B|`{YgezSDZqC=o>KOzHK5M&uj3UVY81#Cg-}qO-mbKZR3Z4K*YG9a? zqYOTb1$gf+%km{U?gQgEK7l9*MM1!Gfg-5$_`$oWNHlOFFR2e5^gw>h4^8?`!c%>y zM#y;du8ucK*S{DPkei{ic-Mj^#m&E5Go@vM(M}6u+E`EYf(v62u8A-5FRt{pZ|`}s zYD4q;#Q(DLdM;3qc;xC{pXpp6?hxdjfU7BR%05ULqmy?t)&2o3du%9pLq7 z`+=Vy1GouL9@O(MQs%8hO%V5M!G#W4h=0m>0$E%3neZELnEtR1H1?+v|Nkrs%R;vf+fW4buVsO#R?>TL|CczT>_iqL3# zd2IEHQCl#nbds@RzOQ?UMdSfY;XyVXpI+;h$cZtRyIU#BAxLpNswT|R@+Q&!fqV_~ z!lX}F9a8}cJ>|)kVEJO`2scVbak}ndl*W|zlegNRfZjKYpW0gl0tdbd0=>ul68LY> zWNsf32^iG?92|K6a;+64qn9U~zVJ(DH?60gA}DePu7cNv{~(J-%El|v+TaN_+TGJi z5!C@Bd_Cc9FJ}=|ZLVQUDVc}tEAvqj;B@eW26?$p46-%|dkh!$NhvPUC;9<PDdxHwOMPwv*+}E+c#-xzlzep8i5*%Vz&}R2y>281e#?X*b2b5$ zHaBE_tb9S#qoq`ynlDOh!4J^Yav_^QJq*3G1HjcLlw98*n6B{u3Erf*yp!bU0~PmS zik_G-J1EFfuZC* z{;7ueZt6oEWcuxYjEvs(S^0Ou)bmmq=pvU8NpaMftv#N)6xcQLkG=1iexavGO+J)j zvod6FT*M6+h9fIBv%5Uq${n$5L8taRtVbLcbO7oY7*_x=ND0wdBsAJ{^c;<~rd`+C>Ru<#lF;iJN2}FKVtaQrKU`MqDe&-cbKj-#oM3KKLXms@fUrvwr z?H~|iyd2|}PKDLI|LL$}^H-!P1%-)ci`jTgJ?{Dr4&j-GE`ybZxM=qE2`A z9d3b~9MG*|^Sk*SlpEPL86UiUuJ-A|-!0J-0fi`lqDX#=0)8J@v*j4JbWVuVp?c*p0Ylci9+ySdG`pnsuVplkS|m_S&w-*dI( zu*_p2d2XSJ4pewB1T}C^tY#ejpXSawD6X~Z@+2V%F2UVHa0_n19fAi45Zv9ZNgzOQ zcMI(2H3Ngt<+PrlW^NDBDMB}t_JhjidO|5G{u;r`#Y z(FL!r3EnWkT}av@1mbNd%dnmzv){*k~6g@gt(TUZgB}3 z>x0#RsSu_XzswFY7*x?Qaxu_tWgk5NRLpHuF>|PrA!)BJw?0cjgCMo>eG*9x`RD&` z+_Rf=g@fZ`RWRe8%t}>k#Lwqrx!1?`J(q1*?S~GeAD`#GffRk|#SE$!_wKk26MEs| z_$EV>?dtVm6059J3~1f4SY2m!@|UhVoc9j8$nzWhbXto=N)?_XN7GI9 zob$-f=*W0QQRWtgS8PfB8-W&e!9epBKebuzs z6cstkzG2zp&=13MZ7}m1n`_iCb{7;G_ZfShRKQF$;SVa6D5#2vdT>W?oipwQBdi`z`BqQBw zSx{mMQZj7qj~j>OAFCNOLa0Zl%p5#c?wAAt|MBj;VL`@FP}b2=lvLFTFiu3p2n#KQ zI;%4zu8L{dI`yGtvU;W8)VS3_U3xsa$2njO%dlp$`BXK#w1<|*qv3m~t`;vPldA9C zpsyFGr)h*9r3gvTscolg#9?Zl1wd$ILgDHW@AE;P(~tb+eOrMPQ*x=pd!`!KlYqAg zK5G|hBMd@*I|6_xs)Zf}^egF#bs}KldMr&UN-e$t;&m(wDSl@E_GNprlmyC%yb0Nf z6H*vUZoUJ1^1 z8+{Kl(z@QXqSW2fUNy;=oZ-TGe%gouLq2!B28^1_s8o>U*m8fwk}^^AUH=AT5n9l{ zQ6h}xsv}phM#3Djb3J>#ss0lBse{kDC(J`WFRJmpZLhNnZ9NLXXTU+1M5@efIdI(y z7#KtMVrGXr={@!)PTHHi_NQ+{g+;RM@&kp1Ck%gdazPd97*IXvk_^^cJyqRM)zq&s zF>z=^^>x9;(sDWtNiIdbW9q!sqL6tSI-{1JUAm$ve2QF){XlXi5E+ z5}Dxk1i{zV&C%G0Uq0&dRE6LrTMSmYMcOSnb(G{?^9BpuI?hU$@=-OCGoZsu? zKofhD4v4%nS`YXPV%Nj5KyicZEmyiA7=_utu`Cm)nUtcprmL@C4t}YotyuvKs@-{L zmcR}yF0bDR{fQu|Ijy$q;HZD@{=5IDE(oQtMPViEaqwV&AYWGyD@FZtuNZ#Y-Tn`@ z{Y=eEhydx(m-j1&PcbQ$wzQLq;a;7xpv!fJeRH|F)r^Gwyy=>dSm@|($j4%`rV-W* zUxB)ZIkLB^Hi{;3dh6E4#_!KQZZ%l3`3=U?z3sa-jr-Ga$!^91JaaC42~6=SAawgI zN|=}{1)pxO#qE{n8_)@BSL*S=iZRQ*!_tJsgjfVq{ATf_atA-3vmI{DCcdz7W5h2i z;jqrwF5a}OcqLQ}EoWHr*jlp5_oPqB(J0NNz;)$4CJ9sv%;bfdKDb7j1oF|-x4l+K zx&e09QC;NU^4-$#@}AWdXh)pn73P}N&Q6vt)3V6~2kM>cIq1O>Gx{0iV1s)N0E^sz zZGJLGP=QV6Jfg|b;2$9^%wJkxF<5O3N!82%Wb-`~$8>R5TMiXPZyq;X9)`$Z8Z@Q( zC7NVnh0p*Ly`)99fT zwE$I86(va0_tuK~$nYq_+CdE!X+rXv5+ZpW7tp|A$4|U|Ud-?wRO1{lHJVS=Jp#Ns zTU5}K+ybdkP5yr8QY!#+i+yjFp9mI>4la(ky)}x&&njIk9@xYc3^zFQPZsapTFo>w z_1d;2tG+Pp7`3*{UVd16KmW6GVz{4VL|xAWHzsY!_x~EX=uz;uUe7Ip28dLZYxQ`xU{{JBuVO)ecy`297u_D0MRePoTr~eUcv8$!7 zKk6=;D_N5_6ygPaTT?x4c$T(in!9xCBoO$Qno8Na;#50Y{@m8DT5s2{;n|g^TfGHz zOYoJv`Z1ZF14%nK4m*$kNjLDK&up_|)7tX6aC4=Pj{WHHHBF61@*szUTM~B1!h-hp z&Pq=2l?h*|Ep3_qYzclC_s&3Xn_qC4Dgvf!jMjbHB4iSTo)>ZYSQaq+`o*|9jM;=KmFH zvBm6vK`rJ{s|q;y{)5%bh zc6^Sx5BDabhD9;$dTp|V1#NKo3D=~41*Tms5QVqMHTT$X(~la+-&0|i{p~!yp!A;5r(q_0|feM zbzHh(K#;Vwv}`C+#z(!7tN8eQ3L1eGu-|pwOE0_x&#`9x5R^CVESnd~9#qKP=nd8x z-sUn;tJsfGF%hho6ky=lioG zsdq41Qa5>qQGB)5U-q#c@+1BG86{BatZIA;zO=Ts_H*kPmH1pnxj~zm^6q*~1>Qw; z#o4bAdEPkp5w+4PvspI{^v}2|G>k$D7Ad`z^W5ltzLeprG837&Vr=N&J)Y`?&F2wY zA{J%fE7EaBL~BhSs_xI)nxM<}azFnJ8O{9{uGs2HH9E@abW94w)|?EF5LlM6%`M_Y z4u4uLP}iuI_+LSc^kE0KX)olNCRKzlMKbWm|Ii{(a zHqSlp_=>7B+NjEuv^vWup!5mnq`KO7!d*609oAtlONcu2aGMCrY$+lXYkrayMlX}oIC@kaVuLSXG&IBGT%?on?qt489-WcxXr$i;Q4)y| z`#sgd7kiKoap)1NsfngNL4=WdS%v7|K0!hdVCW^nTDqlLuAGv>>NleiZW7RKI$(RF z$(a;ZtZdRMgyfU_lSkAY-*KLtn};1ov%16*7`Au2zr=STzDp6ud7LACfM`?gja_VJ z1Fz#p23HNis5s9GKqqpop*VF<$B zs*er21W19d5vhz)N3IgG$n1t^8TJlsv#bT#y0ud1hWV1z9XRZW!H?tjkj*0f2kXd0 z-<7Tjy8L`_qM`3`1JtLG@{XPPmj|d_2f~?qLi7dA0p(F@+^jS&iUxb-_Bo%@1H5Tn|XpjenG$Xs$Gr;WNujmh!xW8@T|Ht7@e-AF&)QbMa=;&*xnEFTX)BOpu zd=nsl+mi#}?)$a=<>UpZX6rq)k%kWqI(;E?RK?1=eW^05572-E;0qsp`jBUqdBv58 zy%v?Y$19<$WmG?oEHqZ~N#gDirm1PxTl@YI3bk%zzw>B;RCYhGdq2K@&z&5fj_U=y z;-XSF-4xKfDnRfTb^j!8^qj=R;d-zSML~U+4%IReT>w=ndDp z5A&7QD}H{O!=bTYU1f@B>1B>O+}HWLH7~5OQzzB^wu9Kqu!FiB*^Mb&n$>Nvj#EuQ17sr8!2t=ct;QREI`OvBF@ zF|G{f)T#K$HtRK^+kcuT(g?rJlbU<~*JVMFcK^`kG%Xv;^sf1gqq~LztIqEpX2_8L zo+uTqWV3UU{AZ$p-K{YA7IGaa24{{nk5O1ViAHvV>eP3oyw8}oV0U~*BxN z?#FARp0y+aw4hk5sxn`rtQ@PwfJ$E8`2-8;B+^mbH1(QC)8V-Qvts$BEhkzorqFnd zQ#-qCN!QD;e`0>>o;GSYB~HQ7_kD7zXJ&tA%D>B7`YHYcZT-+fYj4**t8&ro8|S}_ z{2qXzF9JwX^Y&8$(wrjc<@ElpkE z1+c~%lb(RaF*T$5_k0sVkV%~93@!JGp!6XMs~aW))-MO`b^Z*tCl}3{Yca@(wsGC8 zs3*G=WF6idEJu|^fz@};cCID^ND3yf1NG?F8xiD5kyIZ++O}&g14AB*Z&G9L=DUZT zgN5%uL2@3KncZ}N)_HwDOU71flp%d!9|IHUf!}M9e+rRY)sy}tqhUtPJJXo-IbYPW z{xcy&n13}%A*C64s0dAdq!=OMJ~7xKV(OMj*?LEx&t=i7c(6U7#_adwhAcb%=D2Ng zQwRE%T6~oUR=41uGK$F+{5L_EKqd^^i~e`wPm8$o`Oj~=J>LCAVy_6v-X-subBo6D z2wgbH9Wh?B-Sx}`%y$r~E+ zp?|Z#g8hP_`V?}zj~^N59i%3}v+I?)`cQOk#VQopzsu<~g-iB7F>PY)74{xgZ-kk3 z1vi`3vrH3)>eOAMnTn0{e|>DIO}`Q{-_@lE$j>LIAu&L)HdO zpS-48Oj96LjB83q=pt*Cm*?sAzFwK_sntYc6PNpspwLWWw6DEcCoWsNy*cgE7H;%hBiuhKCY+1sKx|q_6fu9GzbaUMIY=R3OWdcomTow zLeTLsIv0rpd8lV<8Wz}9MoV6$>_EjX*w$lWqH}j z_LT&kAGLIOr)|KSrUnV;v9jg&ru&emO{es=`-~fbv!*kr1g}#aQkm?v8!g20( zmhHIc4=~ecI9*}ehKg{Jg-A7mN3R3NP!3VMjpD#=@3r&54hik?_viDCv|JCP@*rMG z)BUsLG|eIlI-G3u@>KkyCkN`(PLme<|pLN7A9e-Bk=x`Sj#x6|@`opP4 zwY!xwPOzvXB($O_EsV~9k_D;N1vgVSm%;P#kl&9SGY*}=(!pL~`)rtsL2F>0AIWw! z1Yr=>u>;Qn|AvQ&=B>bkvX&}YiD8@1s;d~hm8GTR?Muj{&`cy!B$v~J%gKYo<(8=0 zn-JFFamT}h%*Ram_*jZ~nuJ=P=Q^?>Lj+M2zdBMW-sRvvB(<#{bhdc*?EW%Ngvcf; zVUZ2okYSrp^N-*1ZVZf%m!A9=jj4!yJ($?NXrrNT@+>9RtfzjQy^qO&c$^&akxla?F*q4vse z$J0ykeY3U6z6bELj{?b&k&m*(GU+dG&>?Cu9kZ`{OqcpMtW8d1VRiL)joWL>s{M1O;pVvkc)|8$MuWq z@s0Xrxi*XO>P1OE3zW?@^Xc<={S&#BEy|^GyX~nxTL}e7Y@cS;8k>?}se2K^WnYnY-*Z-}!>vx>4v+LBVen*9 zy$-ymwC^H0Tk~=1bJS<*z9^{Y^;R5u32>jZLqAGZtkqo5lDKHeELI`oDq-f}Vf*s2 zZe)>Ct{k4VuU8j`h7zgarHraX$IP)V>{<&voT%&F* zbzoDa|L$(F{cD4--?Lq!L5xodalmizO(X^~N~&GQ?}dG^KV6lS>p_-Im6bAtcw4la zeVi(}xg$x3iJVx$5&)6YMUyl;RIUP#)CzP{=1YX|a0uv14{LEA^0~d8SNaHVJls!{ z#7C8IasK54pzXs`CU6h&xnNy^mjqv5C{EAY2gkRUuBnAiT$w`+6CfljOQg%8mKAsE z$hsD6AO4|vwG^dcu=mx;0M)QmOz@CV8ER74WIYwIB1o6dnkL=n%J=9+NMm^DKQ1*H zx8z>%wT`F|GY>W{7SU-9Jo37!(-pz}9TwHNZ%#LpLCLh6p`9m-IYR9+LD#hbi{7x) zybrWfsP@NLtuW~wD`ayw{qTSp++haZDrbEH{0P!{-9{T%(uaAO(O;r6!-(Hd6B&7~JtOD-qnd;4CxbGC0Bgnbrxiub9nV?Lj z_r}#}kv^Lg#;>*B`;)65<+law@Df(7+75T2Z$tLn>-=hgqX>R66E}<8Xm)kl^)uE- zka@oQ7wOl5-kvYi2fJqDD$Y-YXUSpL7u^)$i7sC*FC*QR_vRfxEhKw5*!ZG%xB!^~ z!6Ntix)mdFlr}q7b$WVh%r2c`@R#a zVzJdo$n03&;lAV)2r^4w#urnAEfyhKN=AM@r2uRLveel46H4=|te!_c$tr@GgQaQ8V1VXZTn1hZGYZ8<>2^4#|m5BcHm|A zOlevzf*X~EW27?qa5&lMh`Yu&dc_IP%;=}U0P;_du|K=|q5SM4!^&JXZS z5woiCWh)8Otr3EcUwxFLt7ms-!hSGqLp-%X5oPM$PHYI z8Y(TNAM0e(NR8E{C@iO0=8CwmU`alAu375|MqVini)`eBoJ!R~MlEt3V zq$48RkeDj%qA5-tFy9ygefz-mEn$|um)K)`dmTu=-(}}n`6B`xepLGi1~n#|a&CKl z`{N;ENqIdfCZ>(>gR#0qdQ;r`cQ$&XF)5Al&wM)Y67XgzsYnk8$IeUv8hSC9o4c8% zl^;4D2k=FtpGzdBkLS1AS{E|`uE@g$cQ_pVeH5hxJoUs2fC4-Oan!dt_3Ss%2u5tl zD0_HPN8U?)l7_*6@=gnyJc6upDKa#+&&3>tZL{hPFUoPfe`(9wtq)?)%@E3X<4)c^ zeDC$^y*IK{K~H671$(Py?${W9Igj=7X1K5L4^!NY#|8>FebG3xspAfe#VnLfu+`v{ zLSL=uEMeZ9kaZf~^`dH_MJL_pO=h>8RH-|zImOGwP0S5)PxAsVUYF_h6W~nh@U`$h z{Lr@sSgiSwt?O`}IP9)P!hL;KbiWWrIe_QyKx-;N*LK310*QGFDW#>Ac*`-P9yAoz zu3-!*ni(Fd9~MiSXJKDfloFa{5m*|zn6Cr%4~8Nu%e?Di6dr~`1UJ?`NbK%@*UtmC z0c&xr7zfHQ(ipkJzPB1iR@&(|tdjqN2>?uhi0yU5OnbSShB`~+wa10y_aZ{3y$>1$ zZ8^P6=;-)NJVN58#ql}*XY~Tx{xac6xUc8mKeY=~#{_KX26P@?ZW%>)AkvOWe{0Ql z7E|7|Qk?#zUK^ubIviiB*PqNtLn}rv$7oP*qc5Y(D;Dq=!q{C$_6$a)Bog?k>*$7} z;1Gz4Vt~m-3F+D4i^_^@#tDqs2~O@p+VCX^2FEx6XusM*!+fl5pS%(OR&+Kv6t+>K zbT?D;GS`7dLEg?YAEW5W&@!P^9(sObj)Qfpd`)GuXg~XE@69_z()(n$nY~SjvL(p(o0Beo?#eJ4shDiSmDl z+ru6Qn}%SoDj^3>&Z@L?5L>`mN)m#E1WYE1J~=b__ZnwoBdv9MSRor>Kz}Mx87o+5 z`RAq-+b^G3P~g->D_m8xpyhbY#JHOe`pp*99ObwXG1m&EYGO5Y|N8YMUSDz<^MUrb zGoGIOgNSh7>2zj^aHdg~*g{D{SZql+vE95|?njehxwaP7QG)4!p!&K@N~ZN|0H0zS zrUqi!XK9leX~mAHp7?n2$@ZS)-)fb2_@X3wuQsWm(wGw!dSk_VrL)uF6T%mY0 z;NI;au_0}__H2$H9PQ+k(g3;pvPT&?v5+LJbjBI&lRkbTD)IN?OgLBKziL%oX8)Rf zP2IN3y49Qv0Ut-#y7!18LeyRh$B%Lb!+Ec(G+o1F-RfMFtoOy>-dQdgt>xyoQ(4Fp z>SV-d&pSNJuWL?FTJBneE`?Wyl9ouBx@#@#GM-#u2L$oYhP65|7trSuBZML?Q38gc zdcYLKt&ss?n=^b`6F1(yvB3ZngGoCA`IQn0!5)H=2uFv;iRvr&tH%;FN(0{>x6kQY zRlnCi+xJq)1To?N=<*PIkvtfgk+t=63V}60Os`WUj2VO$ZOHX__xGSRD-XC_a zWVGFyCaGx<4Gae9>gT5E&(=o2UBRRcZ6}BFI!YY7;bC9dJ(?Usty=pJ#|Hj{F%MH% zbIa3pi9Ad*zQS)D`Yj~?)Q(W|K=Kp_theyj4QSY>`bgBm*;7kKS<&+IK3h#zwEREw=rJA0T-b@iRig?C*D&D5fRfabzs2Ba8n%6Wsj`& zPDW*J-u$Y3sQMAt-a{zD%WEJeuwCZ8_CBAMig5pCCQKcFf%`>-@QFo?i-1vkcjM+$ z&y{gyLsm}*L=MF`UaLl;nx*Bbddj)1A1ivce|*Wxq3?b57NM{{R$tw9Ao9HK?HA_- zI}+ecCE_rM4}=bQEN$3qK|$qvsO7IN7TP3jFl%b6eT|dRc!E9->Hf4Jj1lD9EC_qM zq)=2QG>2rT)!rWI9X05i5H3}ynFwEwfJTH@Omhz&<@w8kPZ{P&P{Mx5$#`LJ9b#&f zu{!bHbBDdNlvC)B(|=(4WL*|6Ua0dSE3k;o>lJDC<%-$UK}6-#VN6=7YcFMvuef2i zVdJAYnSGRCcyDQ;ne}EvEYP2&z>vIZ3XmRoBlmn~}D%^k$29PP`Nxd6-sUIg|=8 zOC|j2*8Rp4YDAVp@6hcH)TV3Iq6Li4M1MKhr&GQo3iuSuA9TPf%n$ zE*-nvo&;cjXK~_cVb4?WoO!oCmi4FuN zyG~HVx}{ZOA${J?SorFba`mjFsHh0fI#ue2jz=}+F1#EU8+wp2D{o6AR=+#l!`-gvf zN^LeHy_Ur#n3$7UVXfZ>esngWLL4w zi)v_F@_i$1hk5`xlQkYZ5tcylTN6i~uszy53dQ+$sf?dQC!IRJg*Y(mJtO!;865V0 zkcR_W$wKEcCT%3>u(I(hBx2E}nUX>0mF_a%j$i!Xq#21Fg?K!-pl4s}RPV|`XKF+i zy4A=KBPJJq#f)Ze4?%*!DseFK}sHc2*l5|sWvvgBa1$n7QD%O#P>szDIN$$ zRl(S%LX7x0H$l8|+x+uZ*Gjne8O0ALUsy*pE1YjrBy|h(&ZdwJQpvTLi-+r0cZQ%2+8&?4O*tvc5ELL zkDjS>TC?R6^TAh9&A7QbO%@}aBr&4rQ*-Hqw{-P3RY&(P{bdNn>&J8Tu#VJnT~eFp z%!>!*F4(dZWYWrHRj5=no!v4um&RK`&}M?i*fifiH%)%ozT=4yt|Pp>(IoXoQQCd1 zwozqqn~lf8>z(RqOvR^%35ZSgoSK_pY^=CU&^!-0yu)b)81|TkyS34TJ*ICr`f*^V z|C1a3|9xAbeG)}PW8JYJNwHvBj>FrTPT%W<+9UP6Ye6@s<1XYL@8EUGMyv4rVDw#^ zfW_@+;8CQLxrs@w90Scn$EwP?!q1RMwiLlbBB>UH7 z@2ROu9NE97s^t@akBY^ z*~Yr_R|@LY_ME#6-pfrWG+AdgcEo5y^d;TYZ?#WX$@U*C!S%1N#b;yHO-FGD+m8=3 zwK}8ptBs%+HB552x5o99#=V??_P1w`b3|)K2Yh!VU@x674_?n2MkNDiZST9Co>+0g z#b>E&C{>y(+o~7x&7Mm%Js+YL$)sn|A#tWKuJvTdtSbN?m}RHvNfb ztC9Nm#Lscq7VtLOTzci120O)a`$q0OQk8y@`kV&2h!<9aTwkqtq^N$1dOFXJ&GME~ z#8uPZBmlpwiAsP9KoX#YOtR?1h#&Kt^WvrsuD0C!t1@wRi%8WBck@~Y!b6N<5sL}0 zc2?K(WkfKhq>qj~D40`~#Ayri3wqPn`NXnwSZ=X#TUOm;RHNeU0VTUn`~*^a7Y+&N zY`m#Hv!*G7ofEmGU4A3*`rBmE2%<4u3r=8DLv2^U+;q|xvJx_hCI8@%zZe=gCv>*o zcQ5>fdv_fW+unU?Dy&sUxM$xeD3QNCG43Dzt1YvbSL76F+Ve8AB|Rmc@UXt0`?3O9 zl$F{C!m3E5wzB4c)@7D;A1p^^3d#i|wk2y%dqjz-*E{Mcg80B!VnE8$Cz**&C(H{v z0s^J8*Pi-=qZfUN8*$ZUwo7f^BpSBF|BJK(`4|xaF7U+cMDeNFr@2WR2rz>OJsion8p&ptWHZo zx|aC#MZWWBUgF{#g@rKEe; zds>fu^T4z%7z?jaoq)`V6Wh!;e}LX9(qjbR(e-)VUNtUkRyMx88$+Vov;uHIVRSMX z8|J#sXwixB{k^+1D3+t8G;9w)sf9+4Kh1H9WQ5=huZdKj3ftDMuw$yhHRFJX{-zN# zfp#M0xRi<|r*_YiNzgvoFDxu!7M%n$K?9F_;M6-R^0 z+|lYiR!(ba8e4sAn(`W5*MdF6eIJLIU%Bo|%fIttzhi1T)-HYJy^p)p>yPnFXen)% z7ZLr!BIFlxifqXRY9PkC+6GzyY=DU6Q44n+BRtO3M4T^FpiE86Ymd=pR`Y;>b1H@K zbEI{Os^Vgb4a$faSv?q`MCr=$!RZ#)&B+5v%XYWZhP?s&fU6Tq5ti2YyLGw zcK=Zcbh8i%-Mz;sy$QH^{@jqB9t2_-CQCzYRkGTb>%vO2u%$mQsF|+A*7lH*{GRAr z-SylD9L*=Q^%}91nntK4J0|0PXRl}iXtVun@{P<|CLA0R>F-_uM??J3L1WeqYvQwO z48yk!iN8EjuFXgLU;!%#&z!1<-r0QYwCo3AYqz@N($zo=hY@gcOIWV zk8&X+vyJsTrm|AHfs)%#dY7`|jy>dEA-$5)=fn6=JC%fas74vcow05+HwY1k9Z+n1 zV5;tPHSw5odPZpMOka`9108%><7rpY#@6-#uZ%rny~p|e)k;|}hMIE{zKV`+5CS4% z=nqs8ODjtZOg7ANvdp>5(v{}5psLNPo6{qzdiUd{gL-xF-l-U3+Vb zcu^uis=~SBO>Bx715*xOnl^P0%dbdEV>(^}6@s$wgLE)ZPi<_2kURU*XSJGTIXGl! z7_nn$)T-s=J16dr2Exz~>h>|9tgP(V7k@eceJ!ds?t3F3-PCJ{Q}r3(6SazqL&r;=KZnbvjae;R*#a)i#Qo zVX^>mDz2SZS!AeH=ErDb2hHa-Pb8FUYcRkby$k(&d*fEX>BZBt_iu*)0joJ%ZVJZ! zSmR))weTud_-gdD=W?1-bFw8mX{vj-?;6VH=9!7Z2GcpV3DOek*0W!=Iz^D94e*-^_nn+k zlJ5Ul@>d7d>#l4swvh!pl$pWZY@I6UJt7_tio1ZNfsLMLad+y7J07 z2b*w{VN&1mYlq>7YHf@-ed(wN3#yMOMp@7Op1%XX5=Mi5Txsw5M?V3R&#`_s7=!5y z*4uqo#d7V9{wV!MH8U%~n0l{vH58JOk!02V(*#J#_m-hA0%j`G_mH*{l4W!}XxK$Y zmX)WJ9v31yX*_ybgWiKz)rabGfPZl&55)w@ z9IJl>k zj3~-t7sW7HKZS7ch?!nja80Ylxs;~Qz1xL{Cih;;64O)j%8IG#iiAZ{^N4DRsfrok zH?%;#Ex9tlVim_iZ=eI?Y~~ZMSXw3@5V}0$)6@hE2f2bE+Lw-pot!2Wx5a$H*7Mf zV--{|79{dkdyFI$Fgt5iT;Vl?WkB7lK7S=oP;t$AIo1Rt%bm#OJKmmzq(a;164HGw zM-kd(>YD8J(>vG?A{Fj!+l+~ z2)Xp2h>|id!xw&6dsQ{#Y?lw*d_PE*eC{H!pk7NkANcz*Y|&NgHRdlZba-?aA}~Y= z^-TNRwOaHTcU1sU5f_Fpt3*1|f*`AM*Mt&LSNEGcae%rCgAQF0v$l|=Ebfzc&DP7@}_-sZ@)%kZTpv#hwUF0b?T7^E4UX?Xs-JNi^;!)?cr&+ zP4N544qZmilWVR~0`u z2jgsdP46;%pk3H7b9k295sfV>D%T}3+)myn?LIKOZq8GCR~Jewjs8<}f&v+Uye4!2 z;;5Ocr84EGy5An-z;}N{AlMRqod-i&9FE$%-#llEXUSeUiO9RzB%oj=H@Kc`LCuDq zXnZ{@B-^Bi&B*;~ch~aUMsDZ(qc@?w2Bp)-H0zWD8U?6qOmUm8pO4+Qf6ak>t@g$g j_qm`yY-K^4p)W+W6`p+)2wR1H6HZ1#QM_FAi{JkM$DJ-< literal 0 HcmV?d00001 diff --git a/docs/user/package-management/history-and-rollback.md b/docs/user/package-management/history-and-rollback.md index 3ec251f6e..1a64fd9cd 100755 --- a/docs/user/package-management/history-and-rollback.md +++ b/docs/user/package-management/history-and-rollback.md @@ -3,34 +3,57 @@ title: History and Software Rollback summary: History and Software Rollback --- -# History and Software Rollback +# History and software rollback in Solus -Solus provides a history and rollback feature via its package manager, `eopkg`. This feature allows you to see when your repository was last updated, actions such as installation, removal, and upgrading of software. +Solus offers a feature to view your history of software changes and revert your system to previous versions. -Our rollback feature allows you to essentially rewind your system's software back to a previous state, assuming you or our repository has the versions in question. +You can use this feature if you have issues after installing packages or system updates, and you need to return to a working state. -## History +## History of software changes -You can see the history from `eopkg` by using: +- To see your history of software changes, open a terminal and execute: -```bash -eopkg history -``` + ```bash + eopkg history + ``` + + The terminal displays a list of all the software changes in your system. + + ![eopkg history output](./eopkg-history-output.png) ## Rollback -:::info +:::warning[Important] -If you have a local repository set up, [disable it](https://help.getsol.us/docs/packaging/advanced-config/local-repository#disabling-the-local-solbuild-repository-in-eopkg) before doing rollbacks or you may get an error. +Reverting software changes works if either: -> Error parsing repository index information. Index file does not exist or is malformed. +- The Solus repository has the version of the package you need, or +- You have a local copy of the package. ::: -To rollback your system, first use the above history command to check what the transaction / operation number was. Then, we use the following command: +1. Disable any [local repository](https://help.getsol.us/docs/packaging/advanced-config/local-repository#disabling-the-local-solbuild-repository-in-eopkg) you have. + + Local repositories can cause errors during rollbacks. + +1. Open a terminal. + +1. View the history of software changes: + + ```bash + sudo eopkg history + ``` + +1. Note the number of the most recent software change. + +1. Go back to the desired state: + + ```bash + sudo eopkg history -t NUMBER + ``` + + Replace `NUMBER` with a number lower than the latest software change. -```bash -sudo eopkg history -t number -``` + For example, if you want to revert operation 100, use 99 as the number. -The number, in this case, is the operation before the one you want to change. So if the number was `100`, then you would use `99`. +After reverting to the desired state, verify your system status. You might need to restart your system to see some of the changes. \ No newline at end of file diff --git a/docs/user/package-management/repo-management.md b/docs/user/package-management/repo-management.md index 4986cfa7a..e188d9662 100755 --- a/docs/user/package-management/repo-management.md +++ b/docs/user/package-management/repo-management.md @@ -3,103 +3,36 @@ title: Repository Management summary: Repository Management --- -# Repository Management +# Repository management -While Solus currently only provides two repositories, stable (shannon) and unstable, our package manager does support actively using multiple repositories on your system. This is useful if you are using a vendor-provided repository. +Solus offers two main software sources: stable (shannon) and unstable. The `eopkg` package manager can use multiple sources on your system, which is helpful if you use a source provided by another vendor. -## Official Solus repositories +## Official repositories The official Solus repositories are: -| Repository | URL | Notes | -| -------------------- | -------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | -| **Stable (shannon)** | `https://cdn.getsol.us/repo/shannon/eopkg-index.xml.xz` | This is the default repository. | -| **Unstable** | `https://cdn.getsol.us/repo/unstable/eopkg-index.xml.xz` | This repository should only be used if you intend to build Solus packages or to test new packages before they are synced to the _stable_ repository. | +| Repository | URL | Notes | +| ---------------- | -------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | +| Stable (shannon) | `https://cdn.getsol.us/repo/shannon/eopkg-index.xml.xz` | Default software source. | +| Unstable | `https://cdn.getsol.us/repo/unstable/eopkg-index.xml.xz` | Only use this source if build Solus packages or you test new software before it moves to the stable source. | :::danger -It is not always safe to perform a system update when using the **unstable** repository. Always check the topic of the [#solus-packaging](https://matrix.to/#/#solus-packaging:matrix.org) Matrix room before updating. +Updating your system while using the **unstable** source might be risky. -::: - -## Adding a repository - -You can add a repository by using: - -```bash -sudo eopkg add-repo Name URL -``` - -For example: - -```bash -sudo eopkg add-repo Example https://example.com/repo/eopkg-index.xml.xz -``` - -**Note:** This does not enable the repository. - -## Removing a repository - -You can remove a repository by using: - -```bash -sudo eopkg remove-repo Name -``` - -For example: - -```bash -sudo eopkg remove-repo Example -``` - -## Enabling a repository - -You can enable a repository for usage, by using: - -```bash -sudo eopkg enable-repo Name -``` +Before updating, check the [#solus-packaging](https://matrix.to/#/#solus-packaging:matrix.org) Matrix room. -For example: - -```bash -sudo eopkg enable-repo Example -``` - -## Disabling a repository - -You can disable a repository by using: - -```bash -sudo eopkg disable-repo Name -``` - -For example: - -```bash -sudo eopkg disable-repo Example -``` - -## Updating a repository - -You can update the index of a repository by using: - -```bash -sudo eopkg update-repo Name -``` - -For example: - -```bash -sudo eopkg update-repo Example -``` - -**Note:** You can update all repositories by **not** providing a name. - -## List repositories - -You can list all the repositories added on your system by using: +::: -```bash -eopkg list-repo -``` +## Repository management commands + +The following table lists the `eopkg` commands you can use to manage your software sources. +| Action | Command | Example | +| -------------------------------------- | ------------------------------ | ------------------------------------------------------------------------- | +| Add a repository | `sudo eopkg add-repo NAME URL` | `sudo eopkg add-repo Example https://example.com/repo/eopkg-index.xml.xz` | +| Remove a repository | `sudo eopkg remove-repo NAME` | `sudo eopkg remove-repo Example` | +| Enable a repository | `sudo eopkg enable-repo NAME` | `sudo eopkg enable-repo Example` | +| Disable a repository | `sudo eopkg disable-repo NAME` | `sudo eopkg disable-repo Example` | +| Update a repository | `sudo eopkg update-repo NAME` | `sudo eopkg update-repo Example` | +| Update all repositories | `sudo eopkg update-repo` | `sudo eopkg update-repo` | +| List repositories added to your system | `eopkg list-repo` | `eopkg list-repo` |