From 1cf7d6a2af8480be292801c552440231a714c652 Mon Sep 17 00:00:00 2001 From: Ahmed AbouZaid <6760103+aabouzaid@users.noreply.github.com> Date: Sun, 6 Oct 2024 03:46:10 +0200 Subject: [PATCH] wip 2 Signed-off-by: Ahmed AbouZaid <6760103+aabouzaid@users.noreply.github.com> --- README.md | 178 +------ docs/content/_category_.yml | 2 +- docs/getting-started/README.md | 7 +- docs/projects/_category_.yml | 2 +- docs/projects/hivebox/README.md | 2 +- docs/why/README.md | 44 ++ docusaurus.config.ts | 27 +- img/devops-haive-cover.png | Bin 66317 -> 0 bytes img/devops-roadmap-dynamic.png | Bin 80950 -> 0 bytes package-lock.json | 490 ++++++++++++++++++ package.json | 1 + ...loud-native-landscape-dec-2023-cropped.png | Bin .../cloud-native-landscape-dec-2023-full.png | Bin {img => static/img}/devops-roadmap-linear.png | Bin .../img/dynamic-devops-roadmap-non-linear.svg | 31 +- .../dynamic-devops-roadmap-progressive.svg | 261 +++++----- .../img/dynamic-devops-roadmap-t-shaped.svg | 107 ++-- static/img/logo.svg | 4 +- 18 files changed, 785 insertions(+), 371 deletions(-) create mode 100644 docs/why/README.md delete mode 100644 img/devops-haive-cover.png delete mode 100644 img/devops-roadmap-dynamic.png rename {img => static/img}/cloud-native-landscape-dec-2023-cropped.png (100%) rename {img => static/img}/cloud-native-landscape-dec-2023-full.png (100%) rename {img => static/img}/devops-roadmap-linear.png (100%) diff --git a/README.md b/README.md index 8298826..d9cca81 100644 --- a/README.md +++ b/README.md @@ -6,12 +6,6 @@ # Dynamic DevOps Roadmap -
- - - -
- [DevOps Hive](https://devopshive.net/) master plan for **roadmap**, **mentorship**, and **bootcamp** to start a DevOps Engineer career in the Agile way! - Visit [![Hive Box Project](https://img.shields.io/badge/HiveBox_Project-f39200?style=flat-square&logo=artifact-hub&logoColor=white)](projects/hivebox/README.md) @@ -40,17 +34,7 @@ Preview: - [Status](#status) - [The Problem](#the-problem) - [The Solution](#the-solution) -- [Roadmap Modes](#roadmap-modes) - - [1. Self-Learning Course](#1-self-learning-course) - - [2. Hands-on Project](#2-hands-on-project) - - [3. Mentorship Program](#3-mentorship-program) -- [Roadmap Index](#roadmap-index) - - [Overview](#overview) - - [Module 1: Welcome to the DevOps World](#module-1-welcome-to-the-devops-world) - - [Module 2: Basics - DevOps Core](#module-2-basics---devops-core) - - [Module 3: Start - Laying the Foundation](#module-3-start---laying-the-foundation) - - [Module 4: Expand - Constructing a Shell](#module-4-expand---constructing-a-shell) - - [Module 5: Transform - Finishing the Structure](#module-5-transform---finishing-the-structure) +- [The Roadmap](#the-roadmap) - [License](#license) @@ -64,15 +48,15 @@ Please note that this repo is still a work in progress. ## The Problem
-
-
+
+
A subset of the Cloud Native landscape in December 2023 (click for the full landscape)
- - ℹ️ Check out the Dynamic Roadmap content ℹ️ - -
- -### 2. Hands-on Project - -In this mode, you already have some experience with DevOps (usually between 1-2 years of work experience), but you want to step up your skills with a real hands-on industry-grad project to learn DevOps in a pragmatic manner. This mode is also available to everyone in this repo. +## The Roadmap -The project follows the `Learning by Doing` method (aka `Problem-based Learning`) which is done in iterative phases where you learn as you go and cover the whole DevOps cycle like Code, Containers, Testing, Continuous Integration, Continuous Delivery, Observability, and Infrastructure. +This roadmap is `polymorphic`, which means it's designed to work in different modes. It depends on how fast you want to go (roadmap, mentorship, or bootcamp).- ℹ️ Check out the HiveBox hands-on project ℹ️ + ⭐ Get Started Now! ⭐
-> **NOTE** -> Each phase of this project is tackled gradually, part of the roadmap modules. But it's also **standalone**, and you can work on it if you have the required knowledge for each phase. - -### 3. Mentorship Program - -This mode covers the previous two modes (that means it could be only for the project or the whole roadmap) but with support from a `mentor`! [DevOps Hive](https://devopshive.net/) will provide you with a DevOps expert who will guide you in following up on your progress and personalizing your learning plan. - -A plus point in the mentorship is that you will get access to the roadmap board to utilize Agile methodologies like Epics and Kanban board to implement the plan, incorporating real-world scenarios and best practices, which you will use in a real job when working in an Agile environment. - -
-
- ℹ️ Register to get access to the Agile board ℹ️
-
-
-
-
-
-
-
-
- - - +
- ## How to use this roadmap? This roadmap is `polymorphic`, which means it's designed to work in different modes, depending on how fast you want to go. diff --git a/docs/projects/_category_.yml b/docs/projects/_category_.yml index 768387a..6955cfc 100644 --- a/docs/projects/_category_.yml +++ b/docs/projects/_category_.yml @@ -1,6 +1,6 @@ --- label: Projects -position: 3 +position: 4 collapsed: false link: type: generated-index diff --git a/docs/projects/hivebox/README.md b/docs/projects/hivebox/README.md index 658ac49..07083cd 100644 --- a/docs/projects/hivebox/README.md +++ b/docs/projects/hivebox/README.md @@ -1,7 +1,7 @@ --- title: "Project: Hive Box" sidebar_label: "HiveBox" -description: "" +description: "An industry-grad end-to-end hands-on project to learn DevOps" keywords: ["project", "real project", "e2e"] --- diff --git a/docs/why/README.md b/docs/why/README.md new file mode 100644 index 0000000..403b5d8 --- /dev/null +++ b/docs/why/README.md @@ -0,0 +1,44 @@ +--- +title: "Why?" +sidebar_position: 1 +description: "" +--- + +Why is it so hard to start a DevOps career nowadays? + +## The Problem + +
+
+
+
+
+ A subset of the Cloud Native landscape in December 2023 (click for the full landscape)
+
+ +
+ +Based on experience for years mentoring people in different stages (starting their first job, career shift, moving to another work style or company), using a `dynamic MVP-style roadmap` with hands-on projects designed by an experienced DevOps engineer has been highly successful. + +That means **first, understanding the problem instead of just learning a bunch of tools** and then **using an iterative style, each iteration will cover most DevOps areas used in the job** to build a T-shaped skills profile from day one! It's also essential to set the targeted market and organizations because, with different DevOps topologies, the DevOps engineer role requirements vary a lot. + ++
+ diff --git a/docusaurus.config.ts b/docusaurus.config.ts index e048034..480f445 100644 --- a/docusaurus.config.ts +++ b/docusaurus.config.ts @@ -4,7 +4,7 @@ import type * as Preset from '@docusaurus/preset-classic'; const config: Config = { title: 'Dynamic DevOps Roadmap', - tagline: 'A master plan for roadmap, mentorship, and bootcamp to start a DevOps Engineer career!', + tagline: 'A FREE master plan to kickstart your DevOps Engineer career in the Cloud Native era!', favicon: 'img/favicon.ico', // Set the production url of your site here @@ -47,6 +47,21 @@ const config: Config = { ], ], + themes: [ + // ... Your other themes. + [ + require.resolve("@easyops-cn/docusaurus-search-local"), + /** @type {import("@easyops-cn/docusaurus-search-local").PluginOptions} */ + ({ + hashed: true, + searchBarPosition: "right", + language: ["en"], + highlightSearchTermsOnTargetPage: true, + explicitSearchResultPath: true, + }), + ], + ], + themeConfig: { image: 'img/dynamic-devops-roadmap.png', navbar: { @@ -56,6 +71,12 @@ const config: Config = { src: 'img/logo.svg', }, items: [ + { + docId: "why/README", + label: 'Why?', + position: "left", + type: "doc", + }, { docId: "getting-started/README", label: 'Getting Started', @@ -85,7 +106,7 @@ const config: Config = { style: 'dark', links: [ { - title: 'Docs', + title: 'Roadmap', items: [ { label: 'Getting Started', @@ -115,7 +136,7 @@ const config: Config = { ], }, ], - copyright: `Copyright © ${new Date().getFullYear()} This project is by DevOps Hive and licensed under the open-source license Creative Commons Attribution-ShareAlike 4.0 International`, + copyright: `This project is by DevOps Hive and licensed under the open-source license Creative Commons Attribution-ShareAlike 4.0 International © ${new Date().getFullYear()}`, }, prism: { theme: prismThemes.github, diff --git a/img/devops-haive-cover.png b/img/devops-haive-cover.png deleted file mode 100644 index 81b13333fda4e0b30e825fbf4dcd162eeb2ca343..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 66317 zcmV+WKm@;uP)oM|0Qt0=58;@g2pdO)o>Ntq2|2zbw|7Ms+vzOR7Q-+k=4k+`pcSZbna8g;z@$yTN4T^#rk_J78xm9`{+ZU%P6#l(aHB@{U^Tyd{hR zjGJ~YmuCKr9!xjFm0#-|MBwSydMMo{L?V|PI{jeT7wxlq2(D$=V%ZM-m28M+m$nN@ z`BQ8URCcVu@t2tF1~%)mlOc|0rlDTh8ewOoMYEr4)yPJwqBE{$>d&iGwuI@OcVxzS z@y$`6HT!eoW83WQ%7|- KDGj%126Qu3F6+`gv{NX~l9n)UpZG+aQ2>%Xxdv+8&)3rt6{5fwc2TxV zn0VQFD(;WE2eda16BjrBV7vIlk#tqIN;Cr!M`5R~faQDL{MS*JzA{!cmH8o>_1pn= z28P>bw=lDXG-B$(HOQ3_4?@3YT-iR!d0U3dw!~!l@N-57i^6TU^d?b(oSi{|h`iWC zzs;bi&0HnF^A+3T6De!d{d{+%Z`!t+wL&n*Lq8m*x&SRdw~=HbGuuYJ{+*(|f6@Q| zAOJ~3K~!L)D&G8?xz^>cz~Jn&b0{L6ZL@2FM8q^KT$_XGaT?g2k>7S?#5+oZ%Jyj* zna#e`1XJ{2+ECmBS!W-i5SYBv66ReJ&w$toFz2^^09ujrW%k+6E=}KQkZIRY;LoZo zk5^{A7Z!}V4S319lVVnOLOAs^cwFhk@Geyba!X4R8;w$SN_-A>#|V^5QG!#1x&ZRe z?eJs@ KyDw>B2;X9`*r|pT-AFbWjhb4T}$LZ&zTNYjw8G?jZur z-uY{D>5ChTn(SIK!T_4#$)PGd?FAbxbq}VCk3fCg>Q7rCzgg{1h^9v9LG9+w2~#6p zV6Js>Fa1o4IF6ps!^FQ<%5G^!hnS#VUHIqzBjK = zBzP0*2}pHa?v-fTkr}TfVmkIdJ2p}LM(81Rq+6A}5Kc@Zvq05iwG3@+SS3;K0Aza- zwS;+ZB s1o zmx}@k#A)#JAW)b{Pot%{J*ruYhg&tp4UoGkPbwpRFp|!c>$))I702WGZ;iU}2l*za zDu;VOD7^%`n}0b6k5K@kE5~Yk5LM{mKoBUo^be-l2s5B|U3%FiQ(Es1NLThp5Q%ND z8I-y(<;){2%`0x5(t7B+JTw%@c{6m&Mn4>l0K{P&raG5Mv5m$Bp$-o_B OqM*o!EaouPK8dMG_OBpbgQ$*(eSeuHB$uv>vE@X`%1MWFOjH~u~lclNI0emwJU zcteS7qH@g#hXN^mYSbJVy!a@hF{6M@DWcO_kY4J#> *f1OG| N_88MOQelw-&;iIOO} zJqS9awm&p7<974!2y+Y;qj1~pjftj4c~v<$(J9y|C#Py5@7Wl7Kvr6i^xQenFk= ze3eOQUeC{(`#%k49og#1h02chg{V8smc?N@0?+@|6kQo{Cjz1zp6=SLjf2~B1N&;K zLhixlkVB@dL^uB45KaAIwsk)IKvP}Fj32kp)v7iIn)&PnL?Bn)m04!EjX}-P9gm{x zvY#ZU{`|lr5F6XC!<64jW2_~dsO)H;Ao7PY0zj36kHGVP6 OeElkyq_0$ z{=nYk)a>WFE_+2_6!RLT(b5b7?{5$2{v4*dl I{)y5yoZ^W@}t1zx8Fd z2Zha|na!VQ^_LV4+;PfJs_m3;^{2NeuhQaOUb?%%qO=*4a z@4pdaD@X3W2Y^j4`3E4300i>&rjMN3|2NClUB8 E8#@u6_gp8_qMnnzAR}F>#)VX6GRfpp8vpX{tVoGA3U)4i~x|= zA7a!3HB#DN!W5jGgKWtY*TCI(_V}JXzs!oCIctxA)%ko;Dq}&0cK99)Bo1wM-8l19 z&WAtDHdX (;Jk~l_?)Osr|Hh#*kFopn z;s3toL-Ib4aQEFu{u*9mhaWf051P&>9bQCuXrz}WlGxvR((PhOL^Vp MqY)R`cDvnl5;8b zU27{%VAT2A^X!)SZt6HfOx~AQzQ6gB-2z6Jgd~e=8!Y=gZBUk zVu@&PG_XTOCGPtU*$C%oU^#?yt=Z2$Q{~{|-l M8j?sqaJmy3-Uw`a*ozJVKr~onp z
n3>E_>0xb}y>S<(yO LpcfW)m6v^60wUY%?FSr5nxS6N5$1wV7SVj<^Qyzu%U3)n+V1tah`PR7-y@ znC%07D8O{ANz!^Iz1OxkfB8w;3)E)z7jFh8L 5r12NBxoER!f62c1 z+0XQHm}M8~r9?>W-&!ukj!wTm?CVn2lU@6>iT1rNcX-HM`O%ZN;xyS~h?N@GAZY(s zeimomlD-+Hy#&M=oV*c1i@Fr&e(^y9z3R;O53WTOuL*v}Vq5m<7d*pm?sf%PWeYn$ zBtB`sRyk1sr9W`(H!TBbCS?yXN<)E2k2XDZb}rLcnq!X)n_aR*Q!_VgfKUjUe&uZR zA~nwL;YaBQbs=`sGURm$NJ*Ewp9AJ#u6DCmR7-zmRx};{Q1IS`nIi^Ef; 5nb# zwKE)s=*U~*6UoF|>I$@YKQgh4o@1lf&9KZ7tji!0o9T`QDVLq`A<9AF3Ya^#VhrmN zXoo1 *Lut)+Hc^@AQoy1TAhKevYzVvKz^OS|)FLFWj`>Q!o)QdDmVPX7&90 z0-I7aZ EjMAfa@G^N502 z%0?|!Zc0YgnLjAZBC^#8J%o}CbOSFvW&bB(63?IAn>W8%Kl4Y~6AWbCelh}0-;T@3 zQUFZfwKuMH<~5RkSgNI8DjKGy++rk-JOBi-+>f3B#0Lp ;JCgM|Y(*|OzXqFE?McFasy)XEdocXOfJ?1c$-AV^q5rHZP zmS5EKKNRIcBynBhnJ62M46+$eyEcpaRS^tje{j7ji#vHEGWVl`MEoIk6og9KG^^S9 z{lnny;cJxZ5~gb8Z70h#R~6htu-0B)jdNWBkif4qbE+ s6&EC E5XdP=4(wJdJo=0ziBQ_T+$BvrLDekr6lcatt!!j}c9Q^c-yv^iHxI%Kq`n zbqSQdk$}sQaJUn3Q~qQHAgpAtW|{U%zA7Wm=>?FSY OKj78{S6UjM{I!aen4$MD5dqDTh@?)D_8j}FYCe{f+RJk z=+JnB@#*OUQ%B z2tAB3@abTce(k}$83Uls{9dUGU+5v80+Zt!S991qDVmBphDD_x_YALYXh9@i|ACjr z!AV@1aTCd}G?KqpI*rSSPgaLzj*;|AWyTLlx#-m3pMZ2-N>)B`BKd&Y&3#hb`gR~W z^{aTsOkl)GEZtE6%8rqd174|UdIbc>lU)K1eJWnbGS#A zzHKnIAFDZ#9y?FS-r&W0b|+1d;SIxd+oiBc}U+i#vaKa(Xf1hWa&x zsUOJ);|P9nti$RANDp5^ck6VOqAVn2eX zY#*-u1q?_XetOmWNy~eM0<-b78Bo@>xqE68jcOW~jV!Lx5+)|l cfN(PT^bp2=laGcqFku>g#KZjRAzj)a1G4gJ3 uZzT(&Y@htz-_MUc$kd+`G6f=m894Q&DoMI!%%p2~0h1AW za3{4ZK0$06XwBLzGbzo}Xz6yTOVfyJqon~b{gyV=KSXlwAKY!0iL1@eQJx303 {}Z6d=vsruG+FNu7UYCYBRS@ZAS%} z>l&X*x$Y6uuRAMD%>~r~V>_WP#bI)t&@eUi&d1k)w^uq6t)!9s?bE3z=k#0~>K}th zqIT{fDZkaa{4K)O5}Z2%IqA6ykUWJjm6?7n+B32}iaT!zDAG5eBaYthl`!#@Myt$} zj4E3r|035FkVHs&>5s!WLi*(}*(UqQ^eZrf=h`f~HI|=NH!GD9e;Q51)Z8*v4%XV| z?NMc>|Hcrepd+qz-Yd~$RRCiCUL&U4fNRj=1IYH&h3Qe(;O`d#P2TuHkGj+h=r*v~ zcy@(xj%x_$!I@mPK~SzGi>x!lwnMp)>uHJ422sM?KdT?w8(*Mm3FO)=`f94>s*HFv zJ^B>sUI|lQ077e@w}b6(sGR A zn;B7_4YRSACVCH28SxiE(!1RVK&&| Wn|ZFc8LOD`mT*eD^JG?I=T0Bxs)KDW _^% E&)Aum=J`Z=~u0)Ml;M-J^yF1{M5PmP2H~6;lG@&07NnO zXS66!!^#ZX(wwH&S)=$bCO-8yf3ARqO6EQbuH~9Fa?NI49=XEPL7@;lx$+09mP<1< zRI^M^qAtw6Z0u#2sJ+}4=~e4^cIB{@r_tTdlM|C&8V>z+m;fV6(AJkyaSzV5S@g+N z*&3mTiPk%BgQycRUFuNA=fP6) nEwo0yHNTfed*x}AbN_lJ=k3fE<;75E zKL;Q-pwh~b$6+ArjIu~CRp?<`1flfW*dS=Rkg6u->EzdK|5p%-0`tIn Dqh}W$u?eMX8a-R$fgs^^`_s zz~v_$&+rtu_J@IniLT47L8f1%D*&O<{70z@Q(ABKm+n2Tyb_Xto!i&F_@pJHPo>Ji z3!5!A*K&YCrv5ujR{g1Ivd^^q=_ynTlU;Jk9paPK2%qwDqNxnAwB)xsX!$8{4J@5Q zlI^JrH+wnh;9k$gZ(n)4f|0K^8^2t8OQz8kDl zwgUye{B>o{ni>Rs7^8Ygjhbk@I!t{a9Kl~ip!C9@te&a# &Rd22 zgMM8~X`V()AExNcVTmTjksnt2{-6YrNZ`9A5lfXBe~`M6sIn!r<;%J*w}(+^bxUvU z=n&0-uBW^gN8YkVKttIQkt+aU%EmRz^f2A^Ip9*!BXF1?kra1kP`NY*Q}z5;VTmLc zolHl1Imi_0!3ksV#EDAfxAIR}PhCi3XzgT|rth?&e(R7l+(wSFTa|&AIyY=RwuIUA z(+~kOU6(t-?&q!}S}t^S$U5rM1V8QAg}?|7Y2b4=nC!e2#j@95ZRUEo^4DiPl??Jg zISz*jka9A2^H)jI_0**qw&>j8VImIGz#8!S0fCY;KLe`$BAZ!}5kFN&epduhr~igQ z`HkAmbyT_7%|=FC*X2%$PJpB{2T-H=t9UZa@JCuGyCF>diihHUH2|#$`7Kb`AX8vw zR1P=DbUY3dg(8RTHQ9foo`09+XWzgA;_<8c*zO2oiAGz8v|5@zJFUt0s4{6>w%4VR z#XTM~baW)AV7G6vE=`lYuFVz(yE5Wotm|^u5Xm)m`xfg$qxlY8 vE0Eh-Y zcMD1TLez?lc|tIX(B03Iv%xDcAJ>i$&HSiTvC#4-mugiIgTqw3er30~gDsh*u&H zX@l)ksGLnF>GUQlJAgpl2Jxa(b3S&8J5b(6kXhyJ_d_@}&b;FQ6n83|0{~ouvQN$- zod(?-(mN;s+*12;t}^2;-0ANk<75sz$aGwPoms?e>vy>l2SGi5BlPgmF9oAOhW~24 z^By2Eu=ZeD rDdY~piy%)*P3fnHmY{B5qfA8o)U2|HHyD`h(PJv zPL@eCpa8^PW{z@TWCNeNF84-q+KOv1ub!{QOtmlyf@XcDmu=tIfH^LQ30OU76?5@) z$4+qv6rBi&d&4WcCz^ttgDGWSR?8#DNF$5uG%ioS(uVqd(a2-FSthlc0K|#684VjH zRk`N >>!Wy|V-*q0tbTp-+M|lU5 z*Z9cbu}4drVT-PecxW2%G`qAnC;+8zS_5m#&_*sZ&iRcT&@J%{h}DtbD?!pxFJcuZ zsY}^AnjR6AYd#3cx!44k<>%2#;IG)r 7tL}t8zbNK4YypM%y(HRDM>W{5Z_DggE_O8DO=kS ;*=l(9UJ!8a)3nx^iZ2WdH4~x)V@({_v9q#&Pcu z(X3NndN1DpSSS~!aoahFhZ8BsQzLs=k~2@5n8qeEZu{!&L7c2CZgSYyHFm7vhU**@ zcjK~~`EC36lFBvrh9H%)QBMG3Bzrnnet9ef5_Ai-bh#G |Wpwe(eAhYmAn`Oz0{ zN-sxO!hGBg69vHJ(oui1>K$VcfT-6*hD~;9WQ(|$m_f^IH~%U(HTffnmKJwj$rGz1 z-ygz>Y<8A0N#@oi*j2g;Q&Xm>>+;~Nb6&X`fdoDqwMM6 #dU^)#`DfRTQi&n%WZaa)5}k;mBY<{OTpsi# z?FC!r)u=WSX!2H++LXgXB++ZPH=;64_CvOt%s}=@qQe#~U+x#t1ejj=j}2V{zg$Yd zq6wy{ynR3E%vvln=}#Uy-Jk^-A&e3AE?JJ>VX|43W|*xsPB!)FL!`>(Z*;R26q@TW zfVXrg5J^_W8rZrLg_$8ANsMEu6;Cc%0FwUK6H3a?yU?Ol}`=#I(xfZ){}5C;l~1 z`ayEhabkJcS*GPj|GtZ-s&Ly^x 6lRWbH6pE5}*oQV)Fk zqZndJo3qcLj*K`bXCO7Q{Ubh+tl#pZd|uqkq0KFc8WL3|(Nb4NT!$|95EE!}vz}Jc z_~b`czjwuq9+_QbmSBZFm{JH#zt(lxM<@W#z6HAbZd-C*7r_1Zf%p^*0uh-qN^;&q zvnHGJO6ULd)X&{@?XLT6uXmOb*!)KRHNPe__VUQ?udzTT%aq@Vy{t>{{5|O8M>gA% z2j9z{zt7F+3A3M5=nGnnjA1xTAo2S1n^rNdxRX@=&<4I$IVk(=KSm))vr9e2lt0=2 zB`bzdW%7Ozfe?s$L1YdCL3 #dw;6YYb+hOc$)CADj{`*_E>Vg%0G_McA=*k4(%wH!RTmTH4Km+XW) zYbqXZ^!{iFA_+F#{{R4kihJPhdqA-6{MB{dyI >yhP^u6$3| zMw5FlfJI2nRbh_OQIB63h{FWayn6x6-=m4%EIt5SVtwUdy?H3!#>RZc+Hxvh_cdPm z`P})r#0+-6XWcErs5(Ekbb3P!>4h5EJ`<*rWwP_K%4MsVNA~R{=f9Tj;d1pmx{omh z?V-_p%x3*FwU4!tS=T^z9WncGu;KT1sB{0o9YiwJZluwuqaZ#5lDoD?gzFdgi>$7Y zN7jt_@_H-$(DCzyp#fKcY-IC8jt&Z?@3ELatrU-){kK_A+n36xH6J~^jyp7Gg-yR8 z#0yuqvQLt85jD#1Bn#@!blVb}SHTn32d%EMhb`(RI_KE l&u@32;P{#~z3V=| zk*HN3GtpFnfr}4^ekE(*wI9BkaxM{l4S@EWAe3`galf;GeNzAcAOJ~3K~y>LzB8Wi z`__KT7GCGjDz=` %B8PR9j1O$musA*p`9~ a=<0=;VnyHn(j&G3t$e9CW1*u|y5}jPMd<{3yx@}5v86R6 z@FO?*T*gRlYkn;}_EK`PJw2b#otI!P$YO0kgIHj01w?RY$qA6>3h6VT+JWbPcC#8~ zukD7|fHe7THdl aWcOudrhxHQCWu)K?u0nG ;JLDLJ$6?ekkg6H5tL85)QVI1vz+NfD9zWk6;xCO6=5oeHAW-W-#rAW&(oiV z30Khzr^kXG*t-^>8zt)_But3n8*olXUN?GHrXmW_?!WVkJ$)=zNV{cke22KsC+sf@ zG(7LEI31C=Y)}E(dFPQRW$3m*0@R_dWlV)6`K#ii=KYn*a(zGxu;t(4uI}OMWcPbQ zZpnEDBV3A6hO$6bfTa=UyveToQn4$>MDU+BG|huYY{XsmdfT82m074}ddoNt(dtI) zaGm=F!mR4IuUM$&L)CLn*Q!o2J*P$TOeYE{$7xz?)uatSA>~GF)|E#zd#Gl4hqbWz z9`2Ru(O%rN!Y6wnv_=J+=4tXMcv}*?yaUqG${Ix@yl82>qbvv~jJ)ZN-nZhT94)YE zG;*X7ah<{f0k}!8RNPQ$WSwp^8+hAb*+l(z6IHdi(F?Vz$3 L*f?R*#%KN6v9WT2M?(2}`$f;a^SOyBT5u<8vb$rIAb-whp zxmEX~*M5=o{g9-Tt_%IHIFrOhR|VrUwT2$5OTrV ;8
3n{pdw_EykB*ni!~{-W#8_ zLSiY}UhdiL(qPzhniDNH3!^O5(rd@JPi39ANH`(k+=>`0t*~c>eHMqx=-L=E8?HD} z=kIx#MTn?HgM%#UqxMB$9RXoi7(?H4b5S$TnUIS~r1;6l`cRS@#k_LwC(rR5c9>bq zC!S~uz)#s}MdfUND2<;dG20#I^8+r={NdKxkEY-(ti*RqO*4uU?)SPO0ud>dJXS z )E(}h$1&ksZz>Vgi+LF??b|YRUF+NfTE4W5;!Wj ztG;FbGo@S%_XFGUhzaxGe;mu-P^p*C7~_%^&;uU)8Ep{E04RttKg5s}Q^p=x(iwx} zEz)CNH>NMCo$bPD=az*Qz;Ub+)|Agmw+2n$H7(R16p|I(##}LI9b|a*0;v JeC=Y+mGm5Wc_yK3eBy%jNqoMcfNr$gYA3>lWpW_I~# z)7^?rK8^)s`7sa0j|e8c9>rFbe)rpwT$O?`*jGbhcF#4fHK76Li~t&5uE#Vq1_gx6 z*);u~8LrSXI58c>r&u$-e>S5+em}0;@K{I}L(>m$++Rg(xcobMZh5?wsBuI&TVQkR z2nAJ=KHM-gRE?QZ;=h~Je$E*1C|CeB6pX%c=b#xu2k3uM_(gw+u^koS5DTe=$|0`C zCt~dHEB^EwLBuW-`qQlY;*ycn)u)MJ$RFd46)kye!a_~cP~$&!*)+JXvfok(5*4^b z5F8HBbot|!sB_4fyvN9Kg6?WkuvoM4_A?8Pb6{{%!xkw?{lW9sfpV806P38>%P8!; zkmxX!U&Ac(GIF;2jd2^A%ZCMp?~GjYm?qIS) ~Je| zaUgZ~Lm@P?!VcaxP9L`nm<=W^=`116-T9WiiUId}n|U(D%JoZil?QkQ#35JYb{|VK zs 5~t7In4 zDJO_Vy1B|QH5Hh^q=C^5s#%kUp%*G1_n~RcpLz7gNUU_TC*Z1k;*Ov=zV5m`Sa;Bk zQTs?kA|PRkab!nC{v4f>cAj`ZS8I|^r@d!`W)R5$L|wa~V-{?jPufsr9kgs;DYj;e z&^Mzy9xZo4VAdG-1QO_NqlzeQy-4cIpweV>;C@T_-l*vH`Sl!Ld6XZ83X@%@f5H9u z47T%W`;r50zm etRAlvH4Pc*V_U^zap{v2liuK!vN_P`iCL zWE$66q`6Pfd1f-9k?+z?De1r&blc%05P4@gAHe;pWy5zSzh4c#Iq99w%^a$-E43Yl zhFKmOx-!ZflK&C&Oof`%Y_-r>;*KsOOtC)0bFh1Xw0Jb1x4H60_ShFKN^_FL=dnMC z*cOD(uF!h%P8GC2U!qQ5ihuRGI 5NVHSF~e8B{dHU+Br~ZepXA+ z=F$e()+qcPBVbx9ZM_flyteIhp32PoZ==EhZ~YDNC!f2N)8%6X&m#6X>PDlIFW)iX z{hD7 AiBi96n#t|NZyg! ZDi8y zR(?W}A%_X05E)liS$n}!-1AwL>bWDp&aJ#Dvk?FHvJ`jn>yl|;UOR6~Y%+H3S`}Ta z8}sPLx?APUYqTb|0a5mt0m14@x_^wL^eoMvXZn*Z)7^skI)Vj5SuKJo5^QjnX 3 zlC5JqCSW~jCXw?+_%_6E!qX?stq~$b2jcYaVq6WCW}^bbC%71ylrqWZb>{qRt5`lx zxu-unnQX}0_0^c~cZVMMQYx aXjCWVK^xTQ(Q>%ZXC*h(}$bwwm)Pu=# zq@6D+x0i}ztd>7bwg0kQEY|IQGY?pvEaN=7afaC+Acoy^2@SVsbUu~SE?^$F6y)5~ zI5KA8SV3K%S{~v`9`M01*##Y>x=eA}!PN}vIA<%P(s b*6 zw};wLC~J}Vph5(-2ePrUuDjuH-kM+l>UO5CdLJC@w@6D&d=@~$(Iofc#C_Q#gmROl zr#Roe=dpi3$rGREN_y|k!2QfPZ$i2oTEJt649B gx4SjA!r4$m@apbZ+MsH#bjFSDpc+*B^b@QrP@K`L#QxKus 1Mb&dKJF5HFmb+c_T6|b_KX8}G(@dpauTjl#P#}=+wI__C{^5cv7R8w=P%lE zBv!e}jXXse7xQ<|Pbb7qSpYw#IHtgA;n-n&!GSI-qw)=Jl$}A1RsI3n#u-Z8JmFZz zL>mzNp`D)`+$~!G>=+S}J@Cd+!}0Y;b;V@rB-+Q7C#e3?LMmI<*MM-$1Zuv*``nak za4P+pbOhBeTg0uILr&^yPY4+ByZJFFV# akg^`%huB+@DUDiKU(sLX#olR32UGyN%kPAoLsrpGW#mbIG*q+Mqzs^W{ZpJDO) zlPhaxf=JS^I@Cr4aRUcAdBTUbbJf@ess1M^n5pidIc8(B`^my$d@t!%N%CF8E8a)} zE0e 4tp^mlTTT|9ZMOjlEC<_HMQE~1wvY%zOS7R%Ahj#0yZ9eZcXF|Q5S~>5F z9 (CdjJZ1mNMFEK=m_>?tw=m0` zaf%}&Ki&VRlg`JCZh@Te<-nWY^xQh;N8TF8elK+KTdzLrCKWIxc8OVm#7Ig02lsy` zq8=wqbbTN2cxds#!e|GsD)fdunRq(?HHwjA46S0QDVVC2#fP+RL_P2zUfmme7&rK0 zd-3lFigbr!*Qd3CX$Y4Nc1301*uh1Ry&FTAxO!8j9@G^~25}i6@3W3HpRJa<{om$g z6C=ArCPl*M?FZjlmwF_bEQ{0FgNl^yb=Q_1trd)H>mP|0b5lU7tS$afwRy)%8k#k_ zFsZ-w(A4~ic=!3VUz-fBsEVTv>Uw5ZpwwgPTN{`{PUVirCYNO2wEv^y*H;&SI+#0( z_BA`sC~)1dc3&S(v4c|dK9OwbpDGjgqnY->>ZqyU-~D|xtF?3Zk7EuPZ)npsn&X~O z(mXRfLW&fDz#=k@*2~@7Z#>Gu^4U| z!v4k>r)$%BGs)DJwBzBDT+F}-$evF zhbh8z&VB_BBTF;VU(?#`nu!f8De1so%k-)Z;c4)`Z&kt#*=UUkW-&?096?3s+y>V0 zCMB&NxJZYVyauWVv1*Q ~3PEt}Cws7ti z1rE4HB~Q4b*>Z@je(mHMFBZTel DLfDHK$MDkQTP3@#H{{7dzZOQRS-35HgI(+ zJ0UBa6aZlNc-C1Y5pp!+n>zZ7E4yfak;ERKAmbdea@d0NT{URjC>7ak?DtQ (NwPGgA^>M3OE7DR?>ehQB+~L_UpbDmEj6wuks)qCDW$@ &1X+aIDx-aiE_$++;5#FJ1`I-0-{$n^(TY~60t53J zCGLC256Wjjc8yV?_qwt2o)LPXAiuk6`~|9HLi`(I2wAi%^QiA b9 z(C}i8zwv)c#)`MDs?P}$GTut!)1f1eWa?^87kZw*vFyADN>KAG@_ji0D3$zUpHM{| zc4@<0Eg5@@joQbJSI_`ohAp)NuVPZ&Zl3~{_Hx1gB5~im>5G-X&3HUxVq*z9=Zb(U z^bu?(s7hOZa^25|I2`#EmXgsh)Z=lNe$TznEu?0i*;`>myWLuaC$#^i&j$Dsz)~rh zf-IZj9xbah2+M?6L=>SeI1SqU3)&Ntmod7m?o8%JSpa(fb-&OCa(Y~^ZRwlJV%g4E zSLI8_YFaD7ty^)G-#d@fN1%pUa+FY~wAKgB6?*p2xhJSa+*&BClZGU*or#=LY?IEP z@ox(Q<6+7)$yFpF`&Cndjbrk$s^jT8<{2BZ9O<8%pgXPPsD5`i=TTNz*9GyY;tOr& zVl4HmQ-Oc+R*ZS6kfqZsDxB+x0T>@Y2B~9w!Ft|9fR@=2Du5FpbWE{yCOaSaSJ7&X zB!N91*Y)EV9}TTcLs$zU$P%_y;Euc8%XJ?UN^l;0bVV`rwkBPzS7DhncHrya)=Vyy z#3{)eTYI>5w&%>F(u2| IUP(TkEaxWl>K%a?>=7&=og}~dVWcw+LgIqs!wJ;RCcav3S zm-n5ggzJ(Arlk;^F=Chy2kuodExb8~x{P87X8gY65o5|@$vvcJ8Ow7th;%{S^FA?k z)xeYt;7Iurwq?h)}VMHQA}AKacKvO(AbAnloj zLzZRr3GQ#_E>NOcp3ih$nSR72bgKSzg0S&k`CYcI{OBB1fp ?^n&~ z;CPld=5SEb1eNuamA`h2o9w3k`$Pp5HYh-M^%@l<;N{sC(=R_{qm_*wkSSB$R*pId z=OaOpMxKak7e$!gk5Z%3PVy0tkZF<8>vF_HFNCobF~^6x^T;d#ugU*c&yVUQx^WF_ zp2@w!AwcN?ok4wt#P`|EuV?GAs8F&)Qt%;QWd<1oPuX)ak4x$WA-JS!-L}-##5@Wq z2d2q+YRO*uW1EcJKT8MbYM!j9o>KyhReA;5sAy9zQvDs#&!tAAK`tP<&ABD;_57hF z0E!1iewZIPF19{I&?j?_NdqX!n @;0D!v(xt=1_1I%AMbvFz^h(;=S@-oSU-R?z)xK2@cP16aawX31f9{gev(Rf zUwrS(9aP6&8lUtYYKL!tqP~Yqk;uW!#t)yaJ}tQzu}@4LzxRwEsO;IljkQ(8-ltnr z{_XF$gfkWZtV6afczUTrYFqaCz^fzyHw2(whd1FT2$)R*(n}8SyVm3O222cw{jpiy z&2*`k4s%QX!dYAkp)s6}pg(5bnMT}f%A^=^Q+s`09f2MFobM8g>t3l=X;M&J;6s}g zA=$xx&~<>51_Y*whzwP;-Ld=dDULWIt5E2a?AA f#(+?-^;4~-dE zsFp#a+`b!Wf~mcPdbhlV)LQc+Dgh_MK9Deoy)kVYy?pFFg0%RYpSt_`-fY2jgGVqP z+nZ59&R7P%0(VSK$B5Zwx7QgX#u$JHBdiEBg?xU6uQGx@H;8FIdYC0XCHk-}Jpyl= zg7^lhBYih;j*tP#o`?+zf8b`6vboshPM@CBHc>02o1ylS@9!qM7x(<{IkR4AtBdZn zGuqB-_37AolMD#pZ32k%q$k$$(xeQ*d;-2p=8?aa`ft6H1L(xsA5&X2=>c;slua9% zfeb ^(I2*oKGp66UwfCcIlPseMM7r!@_K?^=veBLL1 zKB^lo@&*xAt%8d0A+Y8A6AoT%NsSPFi)1-n4{H%5$)d}HUmba^_yb zRo+*gIXEpVvc)^li!{&2HZD~aX&O$i)QW7X7tLAFfs9U2!`WbWRe z!oy!C7$19!&_|rsXPt$lkxMMgu@Kr)@woE`cZS-+H6jV>bO}%n_t}sE--hd8_T{DT zg|88@u<6mO^?|$b;*O3^$Jvt0<0B~H;9&J`#RsOqLGpylcF6+rc#GUvyEdc6iE>V8 z>?bj~*^dM;eK;2?e8A_G7+0`Wp1*0tXgL$I4MEe36+@=k!^N;wpS<+J>urzgE} 00XKn3&@7e@AStlLZo%R-`Nw>}Qn+f{z zGaE|(diJR6pEWNaeBPJpzMC&>+EDA(2Zt%qK)O_l?DA!!ihlTvDu_hySc`uhFum`X zLE1iAbPP3?_5Ss;iIL^GsjS(WTpc*p!!LqMO$>ao^iZ ;r|aHm!?Rr21%byghHiqkj16u}U&1Ci}c`>oz?Lru3Z!=yST! zaN{${3An%TvdqDpXjf$8o>-7+6@vSyw!_uce_>~-O=2|#0r^};0uAU3=^{J}wd5i( z)k11`8*}$T;Htj6b#n4KDrhaA -HRa=W!jU~?OLor=B-sq{;mzAn< zFbDmY#@mn+Ou*LLV$&85SOmgsDRw&{3p`c!pZ0|v6MH5%dEn{^xN3RpZrYk5_eFRz z@ t#3;PrPgnNLb&eU^+$dmru4M@1pSv4r5eAXS1>ol65bQ!^|DtC;^l7y z;j%H(c6@#`yO|e@J?XjX`P}+K3I=Vy@hSpe@FzjwzQx=bo~ssLj5n7a?eY8em9ov= zg1d!IQP@(4m=63ij&_@m%nggK_16sJIXk-Je(N}Y#}+>vEs>&7JNKS%dObIhDZV0V zbGr4}wS>{;nPGB@Adh7!pJA<1=sCa#-~t+GySk#Nk>|}i+D4LK fc`lf(NbEk>Z|S~ozoi%QOdbf_d5jd7+M>r-i?Kp6Q~510Iax{*R+KxPU8u?O zO|C%t)=R?aQn?g!UgR$14uERWt(<7VNTVxEtGU>n=o3%hJ#^tJ*_`gT{H=wtB<V1<(;+%N71Y4C4Y}nhBt5biVWEOW2Rf03+Zm(rX#-1Ps zfqBA*&_B(*pY^8pbRQBU|8;=qO!_`JP&{t{&rc5UB%+?&-!s$R&$p!BI>0Pdq}E=y znZ3D?fo-uz2LK4TrwJThs{2b%*AX IeV ce|mY zzvRPN4sm}J?lzs0b9%&g^qjY)8CDuAQ@#;c1e`Gk+-lpgGN>;SZcX3Bj42&+bFIBW zoNX9<{MMFk=BDkGA6d@sX6?4qdjMG@5UT1qv1mXwcSSK*`q<)3a0>h9ZGT}0X-{^e zL+WFBev_l!xHNQ&i|fiAY;`sBE_zk_W+k3o?TwWEhCBy6?CCu>dY(Y;c~=&Gnm@(t z2{>na!(PaRE*)Hc*nBTc15ZGNXvN-d^BQx%-v-KWgCJ;6JrI%JS_oh0$=NQ>pSM}; z->tA^rHmmR6d6_W8&)8QnAZ_0sf=s$_0jZ$CR rkmG|VF^Z%GiDU_SLioVXtr zMH-eoY+n%8?@^=>EF_$;6B^zNyvI$Jl?LWYo7c(p%UGepY=eK(QALYO&)It}%>Oph z|DJCMJ=)C>SBzU?84UuUf=C!EIb|AEmPt1)1$rtE8naE05<0Zc%szyGrUP16AK6gj zDO5op3k3aW-(W;iw1af@V$Tik#v_5$w-9gWUcHT$H5;}OTrZtOmn`kxheYfa{DyD3 zB_>SB?;Qw6gRA*zYF%)5l{Vt35LideKi=7my_}~ IBkfXxj|7ig} zbsva@zUG=?FN0CnAp|H}bGZS(l`0Jb+8({l4LUw7p~TAgmc5)x@QF_0zA*AN-(cEe zCM|xYM~72TlJ_Vyjnv1g%*yob)i(1`{0L*g(<;^W+;G5g-x?L@N1uy7*9EgRcVdQx zBn9KBUB9WrNvoIfK}0IB?%2EWi;K8gAWziuAO&HyJf5kZ;rJf{%5OX!AGuuM#bzD( zkGon9 !`SNzW}(tohSoSR$<60V13REaCiEQ2OIY$V(}Vb6WU ze(n#iAHja7>jALV=DyUIA^ToZK51=Yo|gZ-=B&r>|9xmy7uBlX*n?}w80s+P(0l2L z|Cfxp=#_ic2{Um2PNk>jf%3_3*et(E!PAH9m%aRn(#808Ek9S>23%cHy_zv+zn6bW z!*=KXq^%*XCx&n6ZY^8}W58KSA+ojEc%6jM)lv}S9yTn$f?Ch}7rlJkD-A@8OBAI2 zyV0tJ6>|x+I-(x}nn_%6ZC&9Gu`KlU>FxECk=l>DC9bM@zAU`#OTB!Ar5XJnX$ z_6Avnk}qFXKqy$n=UrWXB5!8#_Ea~$-H#G2-ME?|sT1VLYy0>G56WtkBu0o^H@T9+ zUEf@owb|21TR@(IF|Q)tOc%l5n`mwTi3kLac%x-rf`>bj4BMjl$MfPv-@YF$=Q3&L zB?)9CMT41j#Fc9E(qbe=zA$Vvrk)b_Ed^DvrgvGwV&~A1#I12j7TTkHxq^*8fWDk1 zlEWyaCF%2P@qG#6n7Vdzzv}dr4X(95Y JJ(%8?_xk+$q-T z0-am>m@_@4XPhYj@v05D8Q@WW$3AS>eW=DrM!RzG?fAF48DAvogm_B$qL&f@QuVFD z4w&38$9=Y3B#cs=M3O`-#0hOq!S2BkduiDrEkwpEpWVLtaN-qHzEYo9rJ_8Yeu<_L zS8Ja#HbVjMb14uf^Bs25?R=3Ylz9^26Dpd^T3}D{lafgTs2GWaodw~Frcmo7&+Q?S zBH{UmP)SJoalz _c5VOE(jC+rLMO2{Pd{fKZ1FU+EWjh`a#|S(eE*1S`>OCu;H*EN!VHN1iwyK& zlYs5%201`T!TPkLu* #Q`O>}OO4?HS%p0) ;V zyy8Y_Kd Pmksx?eV#+IMhRqgS} znJD_NHwW u_DKe?2ilf zG6G( R`}*qJ~oca!?Pq5$V+jPhaM`Cku3H3>-}%S z6U%t4w{u?}Chj9S)T!ZHnupQxn$l&6MY_98X_B{eI+^cP&B#X|Y>FVBd^B#vY86IK z2S1K*v)FAoSM7k&guj*@e?If5(dvrxKPc-|(IcikvcCE9kRTYe0G4k$7tZpB`iw7t z0wlL${%x0EPcgaTWsKL1w%^}ykVkrCgkPn@cshD7e}ABWFPYveG@|>w9U;@ld9H;8 z=r50Ei5A>MhgQ|BCo<| arVeV85<0qK~uOzODbR3$|PC>1$3f6@ve%MKM}r|YImoae#bzA;3mG A3hDV6 zu_MmQyRfJ$KLGl9t2)4l?YHP(d-7CT6P)V4=^(3v!ZS)gj&}z-46#vYIm9j+&05O3 zVJ=Vm;vDvYBqkDBm;MC;r>N{|9SUG)e^C}minyj&M;e=RCL!4|Bcaf1tW~vD)eJ9B zjvzA1-+zt>I5;N@;g9*mvJd*EmfsRDfWzg%SBb7F>K>JovKr>=wgsEeIJRrf!!s-r z`FV$PH)v`C_miJo%~dq#QA&hg>C)&}EDv~in-ZojR6Bwpd63l9)W|tlJLrj6r+qA6 zSzIg!uKnM^e@S Up{dfk0JCP9%atEW}viwIjEmZho_BF5zx_BlQ>n5IXO_J#%7vF-ZxXAphlm8gE9IK-4r+ERJ`K#hTQ?B zdJVJTk#sg=BR({ ?@hS0Wc8wk18*xV$_U;rgv0G;>Bo~3> *PS%e$7H^|y6n*OW+P z$xluG6eO0&&lSm9?4cq0j8<~>heXm+*v&%;#@_Q*9yhYmpLGy$Jm%V4(*r{Xk|MRd zaDk~x#1EJ_tMnCS4A|;G?$*TgYiBa^t|vvRH}B&-^!+{}QpBRWQ~A|+zVXVz^YhPk zN(LgBsP;^}*@;ans_H6Nc>Qx28YX@m*i(8K4)ftP7>kH%c|s>EI;}d}b@lf!n7kc! zn_uVzA_Jx{c;AISS-cmF!R|j;N_Y9QTIZn@l?#`do-remU}yXx{u5KzE7Kl^O`|PO z2Eh7QR!Hw*77XZkmS>BQIK%e#)Ba3l-^_8M4fpQ&$r#d8K%}6*gT>GKg7feUS>#R$ z8o$5t=EvT2u$N^pLovqYfV?0$b_pTB<+y8%;ON0r9SOr7Ev}hdh=|=>SF{9Pyi!;* zW0x=bnJ}M>oTJ@us-o^z#{MiKI;MDA8AwMbyl(Cd9;>~*h_kk4q(G*uPy*$3cdL3i zhDz$Zq-~>vBd|V2^F_^SNleDfCcryn*IPE@$EPlR(`g+W?1nJdGsB3h$!lUYCi*;g zB}}%~V$@j@H}Tp9qvqu>Vg)}EKEO)uHnB*l%zb|Nvh?J-pPiBEy{dt+l@Z!^sT1VE zxaA7}=bE5%YaK9u(KEpNjNmv_SP*k?gVgWahl6afB_Hrfs2`)`T*=6oThEpy2oR%` z2d2eR{k{Fca0x=$;bmIOqIs=_w1$F(;h4hCqaC 8ZB++M3>63z7aKTkEaLCYMb03|4bsLv$~76I(lrPuFqSC4fBT{Tnf5SiZ(~vg z$1^27adFXcxe3q6jy*UXtJg4#7d2=M-z1^_0Lg(9Pv>8lD)TC>buU5zGc2D#6v<6< zf3UBGq5*BM=exvr>5anf-W&TTK9LWP1)sMcJ0mstQj(Al6n4PdXdXRnhFrRqryL)q zD}DXSe@Q37G$(2Om7~uh9IT-?M@*wLItk~U4c$hM4)~rGGEgJp`01f51tc4fDJYeg zWM)BkwRd(g1O&f+YpjO{930SH-;o;*QN{KEB*J7II#tSQS*w;bo&9LruG9ado#(&i z`!Q({Oo)q_e8FTFO8aS+L2xr>!=C=ngpt->1xT9U>Hkf>toJ2!RG>Ww&h-=VW+Ly$ zmmxZVF7D*@rvZg+U2a_PBBp;yAC(!FlIf2#t(H-0L6>9#qMrTn`rTrS#<(I5eX+-W3)}WDSGxrc zBi}9(a`5W}zaifD!FhbQZ%bK8Y$eM44*|y6ouiG%4bZT|VC19=%bPT3l&{Qar}l-# zI*d