From 86169c9b3e52fdf700bd9a2ad0a905605bb38fcd Mon Sep 17 00:00:00 2001 From: Sergio Carlavilla Delgado Date: Mon, 16 Mar 2020 18:24:07 +0000 Subject: [PATCH] Upgrade Guided Partitioning Using Root-on-ZFS section Patch by: carlavilla@ Approved by: bcr@(mentor) Differential Revision: https://reviews.freebsd.org/D24078 --- en_US.ISO8859-1/books/handbook/Makefile | 4 + .../books/handbook/bsdinstall/chapter.xml | 275 ++++++++++++++---- .../bsdinstall-post-root-passwd.png | Bin 1347 -> 3485 bytes .../bsdinstall-zfs-init-encription.png | Bin 0 -> 3809 bytes .../bsdinstall/bsdinstall-zfs-pool-name.png | Bin 0 -> 3809 bytes .../bsdinstall-zfs-rescan-devices.png | Bin 0 -> 3424 bytes .../bsdinstall/bsdinstall-zfs-swap-amount.png | Bin 0 -> 4636 bytes .../bsdinstall/bsdinstall-zfs-vdev_type.png | Bin 6837 -> 8153 bytes 8 files changed, 215 insertions(+), 64 deletions(-) create mode 100644 share/images/books/handbook/bsdinstall/bsdinstall-zfs-init-encription.png create mode 100644 share/images/books/handbook/bsdinstall/bsdinstall-zfs-pool-name.png create mode 100644 share/images/books/handbook/bsdinstall/bsdinstall-zfs-rescan-devices.png create mode 100644 share/images/books/handbook/bsdinstall/bsdinstall-zfs-swap-amount.png diff --git a/en_US.ISO8859-1/books/handbook/Makefile b/en_US.ISO8859-1/books/handbook/Makefile index 501e67e647..dc04a1b584 100644 --- a/en_US.ISO8859-1/books/handbook/Makefile +++ b/en_US.ISO8859-1/books/handbook/Makefile @@ -96,6 +96,10 @@ IMAGES_EN+= bsdinstall/bsdinstall-zfs-partmenu.png IMAGES_EN+= bsdinstall/bsdinstall-zfs-vdev_invalid.png IMAGES_EN+= bsdinstall/bsdinstall-zfs-vdev_type.png IMAGES_EN+= bsdinstall/bsdinstall-zfs-warning.png +IMAGES_EN+= bsdinstall/bsdinstall-zfs-rescan-devices.png +IMAGES_EN+= bsdinstall/bsdinstall-zfs-pool-name.png +IMAGES_EN+= bsdinstall/bsdinstall-zfs-swap-amount.png +IMAGES_EN+= bsdinstall/bsdinstall-zfs-init-encription.png IMAGES_EN+= geom/striping.pic IMAGES_EN+= mail/mutt1.scr IMAGES_EN+= mail/mutt2.scr diff --git a/en_US.ISO8859-1/books/handbook/bsdinstall/chapter.xml b/en_US.ISO8859-1/books/handbook/bsdinstall/chapter.xml index 035587b5c1..1a37eb5f11 100644 --- a/en_US.ISO8859-1/books/handbook/bsdinstall/chapter.xml +++ b/en_US.ISO8859-1/books/handbook/bsdinstall/chapter.xml @@ -1659,29 +1659,10 @@ Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4. Guided Partitioning Using Root-on-ZFS - Support for automatic creation of root-on-ZFS - installations was added in &os; 10.0-RELEASE. This - partitioning mode only works with whole disks and will erase - the contents of the entire disk. The installer will - automatically create partitions aligned to 4k boundaries and - force ZFS to use 4k sectors. This is safe - even with 512 byte sector disks, and has the added benefit of - ensuring that pools created on 512 byte disks will be able to - have 4k sector disks added in the future, either as additional - storage space or as replacements for failed disks. The - installer can also optionally employ GELI - disk encryption as described in . - If encryption is enabled, a 2 GB unencrypted boot pool - containing the /boot directory is - created. It holds the kernel and other files necessary to - boot the system. A swap partition of a user selectable size - is also created, and all remaining space is used for the - ZFS pool. - - The main ZFS configuration menu offers - a number of options to control the creation of the - pool. + This partitioning mode only works with whole disks and + will erase the contents of the entire disk. The main + ZFS configuration menu offers a number of + options to control the creation of the pool.
<acronym>ZFS</acronym> Partitioning Menu @@ -1693,22 +1674,97 @@ Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4.
+ Here is a summary of the options which can be used in + this menu: + + + + Install - Proceed with the + installation with the selected options. + + + + Pool Type/Disks - Allow to configure + the Pool Type and the disk(s) that will + constitute the pool. The automatic ZFS + installer currently only supports the creation of a single top + level vdev, except in stripe mode. To create more complex + pools, use the instructions in + to create the pool. + + + + Rescan Devices - Repopulate the list + of available disks. + + + + Disk Info - Disk Info menu can be + used to inspect each disk, including its partition table and + various other information such as the device model number + and serial number, if available. + + + + Pool Name - Establish the name of the + pool. The default name is + zroot. + + + + Force 4K Sectors? - Force the use of + 4K sectors. By default, the installer will automatically + create partitions aligned to 4K boundaries and force ZFS to + use 4K sectors. This is safe even with 512 byte sector + disks, and has the added benefit of ensuring that pools + created on 512 byte disks will be able to have 4K sector + disks added in the future, either as additional storage + space or as replacements for failed disks. Press the + Enter key to chose to activate it or + not. + + + + Encrypt Disks? - Encrypting the disks + allows the user to encrypt the disks using + GELI. More information about disk + encryption is available in . + Press the Enter key to chose activate it or + not. + + + + Partition Scheme - Allow to choose + the partition scheme. GPT is the recommended option in + most cases. Press the Enter key to chose + between the different options. + + + + Swap Size - Establish the amount of + swap space. + + + + Mirror Swap? - Allows the user to + mirror the swap between the disks. Be aware, enabling + mirror swap will break crash dumps. Press the + Enter key to activate it or not. + + + + Encrypt Swap? - Allow the user the + possibility to encrypt the swap. Encrypts the swap with a + temporary key each time that the system boots and discards + it on reboot. Press the Enter key to chose + activate it or not. More information about swap encryption + in . + + + Select T to configure the Pool - Type and the disk(s) that will constitute the - pool. The automatic ZFS installer - currently only supports the creation of a single top level - vdev, except in stripe mode. To create more complex pools, - use the instructions in to create the pool. The - installer supports the creation of various pool types, - including stripe (not recommended, no redundancy), mirror - (best performance, least usable space), and RAID-Z 1, 2, and 3 - (with the capability to withstand the concurrent failure of 1, - 2, and 3 disks, respectively). While selecting the pool type, - a tooltip is displayed across the bottom of the screen with - advice about the number of required disks, and in the case of - RAID-Z, the optimal number of disks for each - configuration. + Type and the disk(s) that will constitute the + pool.
<acronym>ZFS</acronym> Pool Type @@ -1720,14 +1776,55 @@ Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4.
+ Here is a summary of the Pool Type + which can be selected in this menu: + + + + stripe - Striping provides maximum + storage of all connected devices, but no redundancy. If + just one disk fails the data on the pool is lost + irrevocably. + + + mirror - Mirroring stores a complete + copy of all data on every disk. Mirroring provides a good + read perfomance because data is read from all disks in + parallel. Write performance is slower as the data must be + written to all disks in the pool. Allows all but one disk + to fail. This options requires at least two disks. + + + raid10 - Striped mirrors. Provides + the best performance, but the least storage. This option + needs at least an even number of disks and a minimum of four + disks. + + + raidz1 - Single Redundant RAID. + Allow one disk to fail concurrently. This option needs at + least three disks. + + + raidz2 - Double Redundant RAID. + Allows two disks to fail concurrently. This option needs + at least four disks. + + + raidz3 - Triple Redundant RAID. + Allows three disks to fail concurrently. This option needs + at least five disks. + + + Once a Pool Type has been selected, a list of available disks is displayed, and the user is prompted to select one or more disks to make up the pool. The configuration is then validated, to ensure enough disks are selected. If not, select <Change - Selection> to return to the list of disks, or - <Cancel> to change the pool - type. + Selection> to return to the list of disks, or + <Back> to change the + Pool Type.
Disk Selection @@ -1754,8 +1851,19 @@ Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4. If one or more disks are missing from the list, or if disks were attached after the installer was started, select - Rescan Devices to repopulate the list - of available disks. - To avoid accidentally erasing the wrong disk, the + of available disks. + +
+ Rescan Devices + + + + + + +
+ + To avoid accidentally erasing the wrong disk, the - Disk Info menu can be used to inspect each disk, including its partition table and various other information such as the device model number and serial number, @@ -1771,34 +1879,44 @@ Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4.
- The main ZFS configuration menu also - allows the user to enter a pool name, disable forcing 4k - sectors, enable or disable encryption, switch between - GPT (recommended) and - MBR partition table types, and select the - amount of swap space. Once all options have been set to the - desired values, select the - >>> Install option at the - top of the menu. + Select N to configure the + Pool Name. Enter the desired name then + select <OK> to establish it or + <Cancel> to return to the + main menu and leave the default name. - If GELI disk encryption was enabled, - the installer will prompt twice for the passphrase to be used - to encrypt the disks. - -
- Disk Encryption Password +
+ Pool Name - +
- The installer then offers a last chance to cancel before - the contents of the selected drives are destroyed to create - the ZFS pool. + Select S to set the amount of + swap. Enter the desired amount of swap and then select + <OK> to establish it or + <Cancel> to return to the + main menu and let the default amount. + +
+ Swap Amount + + + + + + +
+ + Once all options have been set to the desired values, + select the >>> Install + option at the top of the menu. The installer then offers a + last chance to cancel before the contents of the selected + drives are destroyed to create the ZFS + pool.
Last Chance @@ -1810,7 +1928,36 @@ Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4.
- The installation then proceeds normally. + If GELI disk encryption was enabled, + the installer will prompt twice for the passphrase to be used + to encrypt the disks. And after that the initializing of the + encryption begins. + +
+ Disk Encryption Password + + + + + + +
+ +
+ Initializing Encryption + + + + + + +
+ + The installation then proceeds normally. To continue + with the installation go to + . diff --git a/share/images/books/handbook/bsdinstall/bsdinstall-post-root-passwd.png b/share/images/books/handbook/bsdinstall/bsdinstall-post-root-passwd.png index b8b2546b1e5504cfc960cad4e991992580c69122..5a644bf3b3fa269320312dd52b72c95a39bf7a92 100644 GIT binary patch literal 3485 zcmeH}S5(v47Ki_Vp-9z*(#trY4pr%x5EUIkz<|<%5D1EbARQ7D2@uK{M*$n5D~=F~ zKq5^-3t%DAAqWu^54;`!G-UzRzCktW(zB=i&S9v(NtRf`g5;gt7zx z0MfSSesKZ-p*{crJrEb#JrV!41-v`$2|ITw5&&f0ejgyBu8hjAv!m@VRxX%a?&#>P ze4YJ3Up33J;C?3EQsMZ7d%XUS$}nbqU}B4W%HFsI{_Y(BwSh9dlobnx4eTS5Q2M$a zq#j#RujdWb8mHdrs+!{C$tJ!JegHHkqUWaz1HkpY_MGg7PfU#gO-l0*`cb86B? z!fGx8?8@yYU);B^dut2)TS+P3UeG@`P(oVtVq&xB<@9Y3lO+LX0P3$A87|`|^kC3G zyx+T0;wtM_Yy=(!)90+u8eLTaFbx7&KF?^C4}Wk%TNs!#^lRBCrO=kDl}fvISt;0Z z$|5o;s-#~Li27#8htJ6On9Mv}eyiq;5lku@@tIR8&#h4WD*a)V;}GS#LQ{kz=sV7T zn9r+N=$3u==Vy15A zxL9{xwSs)U6DvBm9x!1A_=ajZ9^z+E}VTA{~UF$_F zmO7Dj-Z_`Ax`uQ(b*3ehl^Cet7DBb*HHu z9t1ZyXGZe6&b~$b5IR{XP*yz1TND&qxV5P{qT{pQ1=7^Rmm!it9+YmORh%3+6&b#I ztY9(`RW`RT@el`&UBZm+vxcRR++dQHkv#4vS#!zr@A&Yk7fMxT+@^8}+U)gwsLkHU z6iphDR4|mz^Q6SH(ze9heIIf*Zr;xKg%D{BK74C!wJp!byxgR*WgT$_&7m!TC8U%C ztE3wSlM%X|!;wEL#R579EO0!v%p1n9uW2$V=d_vOtcIcF)?3m$D?}H!{Xrc$=;!9r zITOoBC+z-}qHi{BIBJ(4@1qq#;p3B1*KSHhyojjuf!Z&=EJwmU)hGvX-*00OGdMCy zZ5=%aMG|y*S#O%BY9k+N0`P^~Io3r1${PX|Z+4M{vYiUe9@+WH`$B;FlO?pTs4CGj zs?Hrp#lhnRb?cAD4qY$qHbWR-9jcjzxLR#}x0AOND|?Y)3ToqhTvIJLGTuLgQdmD` zG}~=Woz~MUTHDR`Ffi21r>4Eimb6jjAt@E5K=p63+ef~Y0JAzX_*LR3)xpKi(>jvL ztHr6VWWAT#$*`HiF7%RVx2Lmxwl1__h)Eokow#ksL*0QN?5U~KXbZNu$}3NP>EdJd z+N9^%ZLvGJ#{Dl!I@ z{Tgz;2}pg#5iG~gS%tmN{cU*8%Dm6RW%5gdZ13%ab~*o1N#*13lA6HL7Xf7L=WLrkUA+Q)eLPe~+*Q3->+hnt@Rc)OYmmrXw*pgu+D$JrOS}Gc{rKrr+7)w?U_}by_aGng-1^6o;WcSHEjxY z+q{Vw=@AkR{~EpqT~rbl+@|8 z90*3f+INv|@wyv9;v8<11Ny$~7_0I*X9!48JMC4q%f-Fc$RsOr)Gc0+7U|Kn5C~6- z^S4Mp$;n9l2Gd9mt(0sQ{h5L&HMG+Xz$6jI93+7}F8vU3E>m;<;XTb*Pjhk#f)I`ydYorXucb%qFi+pK4_qqyE4vNvrv*2W70CP{at{{R=+X?LIlxYdy ze%o$p95K}8TAw{{9DU_vrg63P$fdT{j43Uy-1&o_;uF{>f+*g0m<6C3X2#0eLU#xS*f%4t1Dl>vt7?-&5C4i3PJ@#N6-j9(mZw8wLF}ejgwrKd{1Tz)Y*i6?m!(0Ni@7R-htcye zE!RCaqVf9|5rD}*XrAJY2Aqde;5A}`2PsN7d0F^4t_;fm7V<_ OXnWS-7xHPJg#Q3XSDu3a delta 1275 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 APyhe` literal 0 HcmV?d00001 diff --git a/share/images/books/handbook/bsdinstall/bsdinstall-zfs-pool-name.png b/share/images/books/handbook/bsdinstall/bsdinstall-zfs-pool-name.png new file mode 100644 index 0000000000000000000000000000000000000000..79b996a46f2c64c7b962c450c8051a9abd40e74b GIT binary patch literal 3809 zcmeH~X;f2Z8pm${1%ret1dBw_b{ME2q7VqX3WCTI*$N000UH#Bge7btfS|zz0xCj< zD8+y%h-@-JB1?=Q%2p^4mL>#{Es+GoBw$Dw?1!GtOh@}|=0iW+bMLw5xzBme|9#&7 z?|-kHaCJ}u?*sz?pyYVW&K&?`egXhcj)Kg_8-+`)<{P&ym}9=t004RM@dDk_gJ^6# z+;p@%>={p5U@{Z$9hV`vk;>494vANy-e{vBb10SMy{SoQ4MRrq>Q2{(M@}%s`{QxOM3$h`_3g{Wr;W$~jqr^75rH2v{qP=7aH!~P*_99&FQ=r-;0 zzdFj92iT5i%r4@NMe<%KR-2JW(|ELasI-VuvPuw>5iP@ z*fZ~igkEEw)`8+!Cede+jJT#r`ch254;a;evCgUL<(V;0*Xha9$0|T+*7G4&! zk0%)mIc;GKHLzmJ_oNJvlp<>DbLhM;ztBdoGa{T-rK8DG~2@1wD>j}E;6RRm3EI9K+?h>A^(QwqrziAhV( zlNIWyz)F1GFJz+vWaE`+Ag#){P1}CfICPoP_Pk6*y;V^G0@zntT%jji$gC@o0bbmm zIF&VVbPLYgE`pC~*3%x3pe*A(3N4nDTern0BsicDK4b|zu4TNi%I1xVy1z7m$kWho z3f>Yb;a`hZfgQR!HE9q*DeRd_)ql9?e(6dM@23G7msK~qya6*yh+Lk?#ftWX8pmsPxt*1usiogm}H+#Y3}Qzj!>cUi&|iNkFhIrQsW_BKq8 zUY7KOVkGB*B{u$t1d5r%H8Wguu-F56V7Z#1iB;QWsb*F3YZ-t(O| zz@MTCNiikT^^%i9LzqG<_x8lE^a-sN-na}ryUb=UJXA`Z`jtyJ?MH^^l5C^zqQvtj z7VzLARe0zF95ws8EaIRM%5M(Tq z3u-Of2D9t(W#{Yyis(1MW6|cD0IRh0EJ4^*EVb!vctur`0iae>a^%I_g%+IV8MKs~ zz&$Q)0%X$N%fNfFZ?x0PxTTWQ$cjd%-q~s+#VmyGx43WE z^BEOCjcswA2!he?&KU6a@?v1c*z7&F1XrUcLZi8$8YeHNh$SzKSr_rg*N&HS6MLIL zvHiI(CCPkdEhz*%^%^015AP*+}C zea%GT>uGn>Wf--re=(%VKE{3wPUOtKw~ZDv7>v2Ej)~lsGhXvVIHTUB&K}tW6arBv zs?2KNHe-ewY)1yJdxk76#aj}{;n(zc7SJs>8mmKGxx2jG3Bo(GK5iO=&v$vLa1Bk9bvsHmO8-QdG7Ns!jJL&g|0V)@~Wj(}woE6*z5Y z#b_w=l_k^h$=Q=@0OF-iM#mo?jf@y;l}m_WYM?7mFK3G;+?yRsszHoW>^NB zy=HQj82j}C^dMn}bo8glFtS@1u?T%Ve1}KDP1}kDMLnhicE|UxZL?VOrTgkZ8Bq`S zuEUd`2q{Z~#LDvW$JtRAas6&OD@D_Djvdv#L(TOsdv&L}ejn^e+>hgn{oMGj7C&uG z@bbb2AOnUQRy(3L=J!s#g2`;1r}Z7K7eG$R1CP~yWXgXe$KOn3)*SX|D)?}#?ypAt z*~IzVcYhp8sh)#)J{|yEHxkMxt>)8*T37+$f>k{0=TFv`2YX_ literal 0 HcmV?d00001 diff --git a/share/images/books/handbook/bsdinstall/bsdinstall-zfs-rescan-devices.png b/share/images/books/handbook/bsdinstall/bsdinstall-zfs-rescan-devices.png new file mode 100644 index 0000000000000000000000000000000000000000..628681302116e10f8d9c170a96ff6f63e67a44da GIT binary patch literal 3424 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 literal 0 HcmV?d00001 diff --git a/share/images/books/handbook/bsdinstall/bsdinstall-zfs-vdev_type.png b/share/images/books/handbook/bsdinstall/bsdinstall-zfs-vdev_type.png index f025897fa17b6897ffede0ee8b7da90ca9f181f6..d5d777ce62aca171d5c236ffa3c63e4f18937c9f 100644 GIT binary patch literal 8153 zcmeHMXH-+`wv7m)lwbv<>Onv{(mO{Hks>AZ4$`CtM8H5OqQOQdL5f5aLTAI1JGJdcm zG%-KdW7M}oO2I8<7?PS`*RDBKe_YveZP{$)Lx~;1G?np!)FWwxRCPccbQorZ6-r>q zsCrH#KX$LMT$7sXlHEpxH2`GzFEkNtwYoTQP32qYhUf1!P zUie7+`?)VC1t#LtxNE~bixu{*T&L>tf%1JZmjOQ=oGx;Yz$HE7$MW{8wpKX*~@ zdb;pxpP}Js2`5g-o5GQL22C@Rc;Y_T6lcv)Ez=sn8fZx^P zj{=U1g8_gUW+31~9_9$(;TbhR9QapI#dhQ#-ts+O@v4bJ*QJa<7JMO*AgpD~0yyq- zld=58&i~cr|8EB!kiVXD!>(*E@&T5AK%nQ zd+5m1BL&RB9h{npRZL*;;Rzjy*0tb0knep5jT{o;CNw2piI=AN+=0V;wSx1aZryuhZA_l=e<+f-%pHdYsj> zNn|qKtM!$_jSPCOS@+?Ka!)V&9uG^2w8D}a(sk10Gh+VpVr8dx<+wK?_#Xw%vWEiN zYgF3oxr{wi$i78z#FBWbjsng&#s_W0A;^={5&6*O@Iq9kA<2*sOS=-Z7pnUl6T(z- zF>l}bey(9)2Fxo#1YVM2b7-ASvNr0}kTVftCB8A?Gd@A`W1bT^4~jp`zQu3m*w-#1 z0SGpnj>~C0X|8dUba#`@4pC)fnvpxWxeUR z6qTlg$E%zd9{1dy89H$u17u``OU241Ao)W6lZ)pV*&&qNfR83mD|z5@IbG3&x^p|! zvMn+?42@043&l!HE3Ufq2RgpFZ@+qtGoUb$1TEzL;cj>LaC)_`>uQkmcpIO;sukpL z)NEF*-_B<`ju~hw!cvm4n5*93u5466Ks`Ph+?Co*Yn%v5N!WTLm{WTr5K4nL8D(J6 z5zE_1!JeCQWJ{^9yoU`+;0!sbYfye0ScZ{^CMS~cVbQvN#(bm@o)TcK97lbXNGdNB zq0d%Ms*HlNQ3}5MJuM{kPhu!#u(FLW&;!KT%oSe;b=fLX3h1=To1x# zzoBnL6g-l#)aw$wSBB|7*bRBs)6jJlCJ6*_y7@5SqH;LUg*;PL!#X^@BB zW$i8*d_hxu&N`VZcUSB$fIWrGVz2k56bHB8EC}<(B2Yp`wxD77D1pc)+w{6Hru^f| z+U=*Uz0vp&qKML$1Jz)D*>S!trUoaW>RCue!Oy0!vSYz-=zR{I^t)nAxKqlkz{n@W zK`|5a-@wsgdXgBi?<|!MQC4wZ5ga+QJl;o3d;GwjFEl zR$_j`xyto_f(E*YX#XN)Z2>JRjkdA1H6c%s=ipS_rqE~u6ImVYZ&mg7587tsWTorf zv3D|_2BOKHM=NAx`X>Dy@5!AU$q)kON6x~A3>jr`DpeVI-+xa?qr%pYU_1t%S)N!r znwKU7eBD|ZEHb>F+g6{?A7{?Q+POA|)On7k#U^}c4E9jaNvG#dDn8+$C>GH?MX7ka`t==;+8B?*l zIjyGSyg0^7Z&o$RCQ+$A4aS~S=Wj7zW}Q6-O9)HD@WeBx7$I!ui!9*#`-ARb)%p_L z!&9l0k2{6Kn~*F`Skl1c3+)rHLd!pzuOiVM7hS&%`7OUG=YxAUg4|*zduKJ$h=%M^ zQ*D@HB+uZpyK0d!lQ$-}b#EQrQnjjZU-;pho6}L?jwrT_Fy^g!;%BU!!(Nt04#610 zyL$u%87CWeKIp>{=)#PfE-3^N(ag0FnWs++^OI{b=8rxepK#D>`I&b}x{Xs<^dsY0 zCw^6~kCB8eCN&B2-^zbJZMSKEKW{ngU}+1|=0a$v#BYyFi|?5;@;*|WiFHl7?mS-# z>1P4PClts!0F6cNm^2%q!tcJuJrg+8Q@^P^{qnegu$4ieFUoqo=Z3)|5q7wK+vtQI!q{89h)4L4yT49f;|JN`khnd){=M=2i(1*5 z4E!@LcJiVu9BJ!eoGoZ<>}5*-EIucceB?t{TM_CyHUMWfZhKJcbLR7I#ah{7K)!Se&R+5mQyRbbT$~EhLr{HDL)KgIbAq7BsrLqP(L%_#o}- z*UKKk6s3&0Of~CZeRj>SFW%0Twnt=m79=rPBlEQ0f+;`Apv8K!-aJMZWoSv=2|l5A@6F3_%GdR=uofqhNZQFZ65)j%iS9c~n9D^E z_g)!}8S*YvklSV>>UGitS1-dUgQf1tU7D_N71)a-Io*n0-b-38kOiTiyM^5V%P}V~ z7^1eL7;!1^4y~au={O1b#KS<%glxt^#2+IJ7%Wum2HDp5Hy2WRe8wvRTde07t)~mk zR-a$VNf8DALzGA0yXb@n(cBCiK=Cifo2lDfoo%TQ2W@sArG$Ol0$~i zsHvUOll=Wno$cKKUlC_@1#hiKil^1o9vbR)f5Cc*?a>>1(U6fy*higu*T$Bg9Pst? z=ioI`I@fici{1ruGvRQ?2B_sq_%+PHfLFMiS2`D>S6N3qEHvgvB=+Jo)|GQ(o@~dl zlzSM$UbTN|a2O$=6{tmTDV=Mf6J3(lZT`UC$1zbFc8Hqg_kwGqJck{)>d(7emY4y& zkk#YG3!_1uhnD1-&$OSt3K4wcpjW`PX|f3h1e=b=iGbm3KVf1WFN!!L)#Hyw>YYCJ zi#GpM5Q>E##NftuQYqp7QeZfK>tP19H@r24EHjZB=AHsw7^ii6U>|6e$4>bvjZ^l0 zExJk-G{0S{z|=MP2}X4#b8>EiPZnKN3Tusr#5BC?ir-qF+7r?84t_KVZYUc2?1|Tj z2;`e8^hdVn-wSBSkI8KLdg(Q$PWWR%cz~V$v|GleG;w7++WP?O11`&{!e@uPOP~b^ zeRtX(uX2~slN6TIexW1iRZVWto_+sX;f_MCkhiPJ#_D!v)Vxf`;+y43UIP1gEbr|^LH@ndYCE+7c(*I>-a0Onj=N;Gm*%iWsK2YaLg5BXa(`zm6(ty zZer+iejcAX?R#kg<=&-O?ZcLqbt3y5J zJb1{J_Y8BSOyxZ2OWP5xxoW#tk5Z46z5b=g{t&1fC6$JAH(cNh`g&@lGASUfTXaR3 z>GDLNVn@279C#+~+CpzP@tHX3m_)POolyNdo&0C zj5@8yCJXoZRGzNOE!Dw#gMM2lc;S;Z;m-ICv2&NTH&JLAIGSf<9|rTP3w*aKb7zW) z5W}4~TIGI@L5A3r80~B7>`CbIJ8B;)a;i4ZHo#aPh8H;B_lQ~@sYG0ar(_A4Ad?k{ z8)HJ0-_6e}Wv?J#K&zC3o#-!W_elKL!)=ZD;gT!p;gb9Ymzp+e4Z{<$se#1T1p0Wj z;bVs0 zML$j`PMS}9XvZ?w;Q%`VH*h7EsOBr=SwWBx*S!V$(+y=0{c?@ zW(%Qg=-U=~DwnL#VcnZtEpEps>wv|G$R>@cYA`QX8+8Kw1IvB$G_uY89 zever$So+BJMQ|n3u=Jf)LJWRV9R|BJr9RHR|CXy~iXeUIO z!mn6pN&_7vUX$zhM08gptaJ!AyP`|ht~Oc!GbZDYu>${S`x$_=SpCJ1|ISM3e|dvg z7}{CU{boW^Uz9(X34z?yp-oqHbN()V_ZHiDB>&nk{K-m}+Iq|^`=gm%>K=>gi=s;n zo#Gu=0}s>xpq2~Wr5{rt7|+>`t@-VLu$qni;5aUUzTn_?)y7y=xNu&{^4IK_ZBg>-fa&>asd6@Omfp z?7xy@rcfLRxw-l20Etxa-NLCpUarVg30G+u?9!Gs7GbGD>%K%4MzO}UVTkpL!EkXB zyK()EB0hFitC*I7f5(XVNgdqOc7rYv-=pFsiv}3DAFSW5RiIRkn+H z;Ux;Du9E!Q9Dk{cTc=Gqnj!2#f|4xBv?RX0RA9A7XXqbgdc;pH?e%FMY)W7*bYQkA z$XNlmgPXI%#gO(QcYl@@7_He;qBa+*b5_0uDF^Rb3wu$qjV{yl&XbzUBZFC(_Z`*i znX<*;(svo=37pgBR}K+MvWx#FI0%+flhsx zLt$+ic3RhlDg$1;1$o%5De=(!SDD5&F1uwNv&1i)%`lNqW=G9;lRiaO$hKW@Or9W_ zm@^LV>aIq*i;4EnmX`+&o^9Oy%J~j!pNQ?<@RVxMbR;O|e?yIL3GoSnBYnJkj6$7| zIkEP4AiC8RAH4!NBm0cSMlqeKtmq${_^)=~AL5jua>w{|f6Ro?X2uUFc5BD+YasE#RDd;Yizp)OK*%PkjsGuk~dnAM*S~qfkP!;z>$fCnd!inA(uoWurbN7+AC!o%rz99=Q3W47uXWYU*m7#0s}g0eF+R4zQgyr(UttAjQUcT{^P zc2I9>ijxu@=69&4iApahYU*KjDwPWP{#utUk(=`BZAxh>7d{i@cU%NbHNH8^X1VjO zQtvis$j#VGg6-~?`nO&9Or7~VeE)1H?+ODaEva_}C4KN}Xr^h2KaCQB&pRetVaK9k z_L_~ksTR#(x6qLHvm~|8WM#+Qb+6_O!Lpd*YFwM;63aY#zy>?ngTr^epBWEoSih=% z@Y02Pvs^o=;m{LLN_Y`1z`EN?@iVdVQ*P;oGa)NNOMpKun1Qd}4OatuG>#>E+@F6} zMoA~cpVpJiv-8^k^;k5)2e%E){6Ug|^{_y=+{BfV%}$8noUymhfPpAP+j?t3av0!GGprprufs^0(sas*8J5%Yea60kt*ZBN5xArw6veSnf0>x7RAvjUY4A#h#2YJoyV?$6&HgAZU-%)h^tq;h=grr* z+9(pq(XUpe=v9uVM~^e|Bt%b>uBm(fwbFvQm`_w;hndB0R;tSMoK`;lu}=Ne72S#I zO@=7e`*!L1)S!y5VV@-rbb%S~0v|9dasutbz97026=+jLp*MBx-R!Q`!vV^$#T!y9 zN4MPH6q6f*>>s7z`KAMU6;G)pe?Il(xa_OxO6Fv<=|YR0v#*c+yw*SS_kji(+A7%U%QT(@g$6o}E|Ba6T(|rs7xXHg#+CQcye{q%nK3e(zp#L<2V$2o+ zfc!nkUh>!qg5K_euCd%85cuSZtfou7ikSEpZCvMyYZyLC%S4WUbvV{VxciIMH~${o zK`8F9b#!}@FxqIG7Xr^%bxpL4?NCcDB7>dK1kmV@-_Fr@JfgZB+j(oG9MkxoE0GH6 zf~se01XxLVVQUlB#(81CcCk*$HSd^hvgX- z@1E%9vc1A|Ll(&>D=!&IMTAaTmvm7F@*B9T^p+op7=`Sw^JIOu+$`8pxs~#&`c)l2 zctuCpYI>P4vmhy_Uf7GUFP+4SVAgTxeZe_Bx0ihGWnvY?f*qA@^|pknJScmSwRc*% zi?%%|F#H1}xT_{1(qH;8-IlGajDV2okT;q~6KtE@S$Si-Np<-$<+VSGm#pn=9669K5d=0Q^rlfs#eKmg{`Q}1K8ah9=7>I_{`zGAX&wdQoyH4$Xd z$JvWOEI9BMX}5zOW$jmwR=BvKr+lN6Q!#0{4K>o6-BG>!*Ew^!0@wB?qE;Yq#AF2P z<%1lgbVX0~Zy%w8Vk|ln=IlMYO1sS+(f$Fumv`-o&x1%*6i{U}dz~>G7{hFA_aSez) zCn7j0VYw~JhI9et6td4}lh;g9y3?^v2tZ!Ft1VVEr!P}>BS$HUqp!GMwxYI7b_-eF zIrL>!l<}S_VC5E+u$}?#I8cvKH=bySq>gfp+9{TsKw;_64<3CfLiY+N)PF72jjH%Or{DGY>}U zD!E#VBGeKSWTLConP?ZgKIE&Ll6O literal 6837 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