From 6b2f1a8e6ca778487afd0f4992082e71a78207d8 Mon Sep 17 00:00:00 2001
From: Majid Khonji
-
+
Built with care by AV-Lab · - Documentation · + Documentation · Report a bug · Request a feature
diff --git a/docs/index.md b/docs/index.md index 43040c0..a43136e 100644 --- a/docs/index.md +++ b/docs/index.md @@ -6,7 +6,10 @@ hide:AVLite
diff --git a/docs/javascripts/landing.js b/docs/javascripts/landing.js index 769fcde..2ed67cf 100644 --- a/docs/javascripts/landing.js +++ b/docs/javascripts/landing.js @@ -1,8 +1,30 @@ -// Landing-page header treatment: transparent/blurred over the hero at the top, -// solid (primary) once scrolled or on any inner page. Works with Material's -// instant navigation via the document$ observable. +// Landing-page header treatment + subtle ASCII smoke over the hero logo. +// Works with Material's instant navigation via the document$ observable. (function () { - function update() { + var COLS = 15; + var ROWS = 12; + // Light density ramp — deliberately stops short of heavy glyphs so the + // plume stays a soft wisp rather than a solid block. + var CHARS = " .·:;+*"; + var MAX_PARTICLES = 48; + var TICK_MS = 70; + // Soft splat so neighbouring cells connect into a continuous column + // instead of reading as scattered dots. + var SPLAT = [ + [0, 0, 1], + [-1, 0, 0.4], + [1, 0, 0.4], + [0, -1, 0.3], + [0, 1, 0.3], + [-1, -1, 0.14], + [-1, 1, 0.14], + ]; + + var smokeTimer = null; + var particles = []; + var smokeEl = null; + + function updateHeader() { var isLanding = !!document.querySelector(".hero"); document.body.classList.toggle("landing-home", isLanding); document.body.classList.toggle( @@ -11,11 +33,142 @@ ); } - window.addEventListener("scroll", update, { passive: true }); + function restartHeroEnter() { + var nodes = document.querySelectorAll( + ".hero-logo-wrap, .hero .hero-wordmark" + ); + if (!nodes.length) return; + for (var i = 0; i < nodes.length; i++) { + nodes[i].style.animation = "none"; + } + void document.body.offsetWidth; + for (var j = 0; j < nodes.length; j++) { + nodes[j].style.animation = ""; + } + } + + function prefersReducedMotion() { + return ( + window.matchMedia && + window.matchMedia("(prefers-reduced-motion: reduce)").matches + ); + } + + function stopAsciiSmoke() { + if (smokeTimer) { + clearInterval(smokeTimer); + smokeTimer = null; + } + particles = []; + smokeEl = null; + } + + function spawnParticle(atBase) { + particles.push({ + x: COLS * 0.5 - 0.7 + Math.random() * 1.4, + // Stagger seeded particles up the column so the plume is continuous + // from the first frame. + y: atBase ? ROWS - 0.5 - Math.random() : Math.random() * ROWS, + vx: (Math.random() - 0.5) * 0.14, + vy: -0.16 - Math.random() * 0.16, + life: 1, + // Slow enough to survive the full climb up the taller column. + decay: 0.007 + Math.random() * 0.008, + dens: 0.45 + Math.random() * 0.35, + wobble: Math.random() * Math.PI * 2, + }); + } + + function renderAsciiSmoke(el) { + var grid = []; + var r, c, i, s, p, row, col, dens, idx; + + for (r = 0; r < ROWS; r++) { + grid[r] = []; + for (c = 0; c < COLS; c++) grid[r][c] = 0; + } + + for (i = 0; i < particles.length; i++) { + p = particles[i]; + row = Math.floor(p.y + 0.5); + col = Math.floor(p.x + 0.5); + dens = p.life * p.dens; + for (s = 0; s < SPLAT.length; s++) { + var rr = row + SPLAT[s][0]; + var cc = col + SPLAT[s][1]; + if (rr < 0 || rr >= ROWS || cc < 0 || cc >= COLS) continue; + grid[rr][cc] += dens * SPLAT[s][2] * 0.6; + } + } + + var lines = []; + for (r = 0; r < ROWS; r++) { + var line = ""; + // Thin out toward the top so the plume dissipates as it rises. + var rowFade = 0.5 + 0.5 * (r / (ROWS - 1)); + for (c = 0; c < COLS; c++) { + // Cap below 1 so the densest glyph stays rare. + dens = Math.min(0.92, grid[r][c] * rowFade); + idx = Math.floor(dens * CHARS.length); + line += CHARS.charAt(Math.min(CHARS.length - 1, idx)); + } + lines.push(line); + } + el.textContent = lines.join("\n"); + } + + function tickAsciiSmoke() { + if (!smokeEl || !smokeEl.isConnected) { + stopAsciiSmoke(); + return; + } + + var i, p; + + if (particles.length < MAX_PARTICLES && Math.random() < 0.8) { + spawnParticle(true); + } + + for (i = particles.length - 1; i >= 0; i--) { + p = particles[i]; + p.wobble += 0.13; + p.vx += Math.sin(p.wobble) * 0.007; + p.x += p.vx; + p.y += p.vy; + p.vx *= 0.99; + p.life -= p.decay; + if (p.life <= 0 || p.y < -0.5) particles.splice(i, 1); + } + + renderAsciiSmoke(smokeEl); + } + + function startAsciiSmoke() { + stopAsciiSmoke(); + if (prefersReducedMotion()) return; + + smokeEl = document.querySelector(".hero-smoke-ascii"); + if (!smokeEl) return; + + for (var i = 0; i < 36; i++) spawnParticle(false); + renderAsciiSmoke(smokeEl); + smokeTimer = setInterval(tickAsciiSmoke, TICK_MS); + } + + var navigated = false; + + function onNavigate() { + updateHeader(); + if (navigated) restartHeroEnter(); + navigated = true; + startAsciiSmoke(); + } + + window.addEventListener("scroll", updateHeader, { passive: true }); if (window.document$) { - window.document$.subscribe(update); + window.document$.subscribe(onNavigate); } else { - document.addEventListener("DOMContentLoaded", update); + document.addEventListener("DOMContentLoaded", onNavigate); } })(); diff --git a/docs/robots.txt b/docs/robots.txt new file mode 100644 index 0000000..892d9ac --- /dev/null +++ b/docs/robots.txt @@ -0,0 +1,4 @@ +User-agent: * +Allow: / + +Sitemap: https://avlite.org/sitemap.xml diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css index a24ce59..3a17889 100644 --- a/docs/stylesheets/extra.css +++ b/docs/stylesheets/extra.css @@ -48,15 +48,102 @@ margin: 3rem 0 0; } +/* Logo + ASCII character smoke rising from the mark. */ +.hero-logo-wrap { + position: relative; + width: 128px; + max-width: 40vw; + margin: 0.25rem auto 0.35rem; + /* Reserve just enough room for the plume; the rest overlaps the logo. */ + padding-top: 2.25rem; + overflow: visible; + animation: hero-enter 0.9s ease-out both; +} + .hero-logo { - width: 96px; + position: relative; + z-index: 1; + display: block; + width: 100%; height: auto; - max-width: 36vw; - margin: 0 auto 0.15rem; /* Brighter, punchier mark with a stronger cyan bloom. */ filter: brightness(1.12) saturate(1.1) drop-shadow(0 0 10px rgba(0, 172, 225, 0.55)) drop-shadow(0 8px 26px rgba(0, 172, 225, 0.45)); + animation: hero-glow-breathe 5.5s ease-in-out infinite; +} + +/* Div (not pre) so Material's .md-typeset pre rules cannot break layout. */ +.md-typeset .hero-smoke-ascii, +.hero .hero-smoke-ascii { + position: absolute; + left: 50%; + /* Rises into the hero's own top padding, so a taller plume costs no + extra layout height. */ + top: -2rem; + /* max-content (not Nch) so letter-spacing is included in the width; + otherwise the row overflows right and the plume sits off-centre. */ + width: max-content; + /* Exactly the rendered rows, so no dead space above the plume. */ + height: 13.2em; + margin: 0; + padding: 0; + transform: translateX(-50%); + z-index: 2; + pointer-events: none; + overflow: hidden; + background: transparent; + border: 0; + box-shadow: none; + color: rgba(130, 212, 236, 0.62); + font-family: ui-monospace, "Cascadia Code", "SF Mono", Menlo, Consolas, + monospace; + font-size: 11px; + font-weight: 400; + line-height: 1.1; + letter-spacing: 0.08em; + text-align: left; + text-shadow: 0 0 7px rgba(0, 172, 225, 0.38); + white-space: pre; + user-select: none; + /* Dissolve the plume as it rises instead of clipping at the box edge. */ + -webkit-mask-image: linear-gradient( + to bottom, + transparent 0%, + rgba(0, 0, 0, 0.45) 22%, + #000 55% + ); + mask-image: linear-gradient( + to bottom, + transparent 0%, + rgba(0, 0, 0, 0.45) 22%, + #000 55% + ); +} + +@keyframes hero-glow-breathe { + 0%, + 100% { + filter: brightness(1.12) saturate(1.1) + drop-shadow(0 0 10px rgba(0, 172, 225, 0.5)) + drop-shadow(0 8px 26px rgba(0, 172, 225, 0.4)); + } + 50% { + filter: brightness(1.18) saturate(1.15) + drop-shadow(0 0 18px rgba(0, 172, 225, 0.75)) + drop-shadow(0 10px 32px rgba(0, 172, 225, 0.55)); + } +} + +@keyframes hero-enter { + from { + opacity: 0; + transform: translateY(12px); + } + to { + opacity: 1; + transform: translateY(0); + } } /* Clean typographic wordmark, replacing the baked-in logo text. */ @@ -69,6 +156,36 @@ letter-spacing: 0.02em; line-height: 1; text-shadow: 0 2px 18px rgba(0, 172, 225, 0.25); + animation: hero-enter 0.9s ease-out 0.12s both; +} + +@media (max-width: 44.9375em) { + .hero-logo-wrap { + padding-top: 2rem; + } + + .md-typeset .hero-smoke-ascii, + .hero .hero-smoke-ascii { + font-size: 10px; + top: -1.75rem; + height: 13.2em; + } +} + +@media (prefers-reduced-motion: reduce) { + .hero-logo-wrap, + .hero .hero-wordmark { + animation: none; + } + + .hero-logo { + animation: none; + } + + .md-typeset .hero-smoke-ascii, + .hero .hero-smoke-ascii { + display: none; + } } .hero h1, @@ -594,4 +711,9 @@ .md-typeset .value-strip { font-size: 0.7rem; } + /* Keep the install snippet (incl. trailing comments) on screen. */ + .hero .highlight code, + .hero-cta .highlight code { + font-size: 11px; + } } diff --git a/mkdocs.yml b/mkdocs.yml index 7d6df12..e3cdf74 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -1,4 +1,5 @@ site_name: AVLite +site_url: https://avlite.org/ site_description: Modular Autonomous Vehicle Stack site_author: AV-Lab @@ -20,6 +21,7 @@ validation: theme: name: material + custom_dir: overrides logo: imgs/logo-icon.png icon: repo: fontawesome/brands/github diff --git a/overrides/main.html b/overrides/main.html new file mode 100644 index 0000000..040e0f3 --- /dev/null +++ b/overrides/main.html @@ -0,0 +1,26 @@ +{% extends "base.html" %} + +{# + Social sharing metadata. Material does not emit Open Graph tags without the + optional `social` plugin (which needs cairo/pillow), so declare them here. +#} +{% block extrahead %} + {% set social_title = config.site_name if page.is_homepage else page.title ~ " - " ~ config.site_name %} + {% set social_description = page.meta.description if page.meta and page.meta.description else config.site_description %} + {% set social_image = (config.site_url or "") ~ "imgs/logo-black-bg.png" %} + + + + + + + + + + + + + + + +{% endblock %} From 38cf0e8f22c6a71419c3399a13e50d6e7ce192a9 Mon Sep 17 00:00:00 2001 From: Majid Khonji
-
+
}FaLJd<);bSWzg7vw!)5|!Jj1d$FEJJDR7H#H^7<&CBbnKZ)0^hPkh zfC>yn{SbrlN)#K2e#V19Q9u=`&3uhbes=I2g4JA4h(|E8-5a-BGd73`jv6DSj2~_a zVS2EN7r$b;O cWpXYU&N%SqE<^1SbqF70~W8r0-&V9RiY zIe579>I329RbZOd^i1Dj{F0WTla@Qsf_%daJCy;gbx=KTc++TUx>fg5CCiJQuCT9wp7=8ubZ59X(!zk+n%z;0XJMA@@kJ;g)me=m1Z^` z N9wOWW9}u5rx$>vGdu9Q_5QOFZFpO!b zrqF eXkEee9wDM*96o>rhK)MN&D1saSk*m@#fPbGwH@tB86@JBdJL% s z?7(2iL5bOhyCKV?pQ~IP-dZfXbrpD)gZGeC6+ 0H!hywYPr77ja*Er|xG-C5r{T)w?DPdr1WB(P zN=OZwN$3C?ZRq2MWV-^HR=r*S(81c*I8a_NXR>u2q{sOO+zGT}i2G_Q`!wJSIi PoZ_Fm*Q{@Io_C{#A!TxDvNSMu6`*WxZEyqyOP&=IHQ~g!C1 fwD ztx(=g*`{yE2uupazD`1z5 d(V4!`yB=5~78)$hY= zMJ9c)LFc5xdxMG>-b{GipM00vsWl$pUPuhR#0~xpfgG4bxw(MVgoN&|vA&=3XsHW6 z48?cwG@GZ2a?oL<>Iu*8x-|hF@hegLptle{P7btrNuqiZ7qA#n=+lbp6LU0X_X~+C z0E%-Dc&w?H4A-pqmHCh&flXvFSVz@HDqBbIJKEC%X{9k6p5(n%-@YnHzM0v0BTn~Y zUX@?+18;%jtIu>~&-Z}Hw%#CMo}>g8L**C(Vgue`Kugr4nOcg<6W!s9rPDYwA*Nx7 zEgg#>umqDg)Oy@fM|`&xu^b0UAV6W^8Cgs)AEgX;{(645=EXeSXq)A8N&RI6Sg$6u z$n^71Yf2947IYyF5Gn@qke*EIb+liYhVomem;AxP!C*@&T*C)P*59|X&?C41<{s|a z8ILPcmp{7=)YQBD0QB1W40v1(MTG%gq=*uQ*aWDz9(k*&fnRlO&pN!k4L}W7RALpq zkXw5 Bg>N+Z>H+cl-E~=HT8C$VPvg5 nvfi>{To%za>T3t#pRioUGrsW4T7il3YDXM! z)-W4R=?DHEcVLwc6fMWmk_c1**-bO-6(NF!chfsc6erQ5GWsA^f7zj)gTs8$5Obye zYMrJQp#UYBiJ^l;v;LB1jHx#_FpOc^ py?rkPt zBaMucr*HNcF!gH8&b5ZCRAqwXA;9x9q05Em7lZUQdX{& mez| z-u??OnGEvp`=V?vLk~EB+>xis;@X1 qs0Zh((xOm3P_H~ zy?ObEfN!8b`WYnj7Rw&$4quA_wBR+}B=5C%*e*uZQih~oI!`jbA2GZxc*deduUi9@ z4dIBwg)kky;*c{#eQMJb!V}}Wb+ajCT}QgKX_U%-QPx*?$9>SOp+F8vKw^LrZ=3EI z7C6q~sA-c?i&R0dE}krlH-D|VuPpqcN4aI+z)}B_@nuXM4J%77MWrdUAdELzQtUY; zmm~1?)>Gvi9~=3nSFL%T qBS(j(JU)YM5At8o zvWGM8UvGH4;eku(K+)O!FP}U^qVukDnn$c5Y5w4MOyV+MlMkqLMVW8+l2@VlcvbUx zVKKPhMm&fX{q!r0BBAQH8A`~ $EJChMhQ1B5r|7=kEwim>6Cx*vWD+VNVzb9MH~g8 z%OMp*yVt1bZsRQyOQ5u+^eI0gW@y 2$6V3f+9YjCZxOo!Tzz2(R-gpaygp;Zd$i|MzH zzQSQ?(OXqF3x2hZ!01t8uaYqCMh<6z?<}UI1;AqAx_30aagyjb<;IlL{?WMKTcWQV z-(*I;moPv%k%L7`5YJ)NW5AJ5vM4$T)#Y_bW%8ouP7|~qoM0I&rF -dT?y> zPHG6fhkWiic`~(0amm-Io#D=y{wIDMxhZHv6ZwGM#V0r)u}nz*bXT$ew*_HRtO Gf|tNbqUC9^!9ejttTSbwdFQMP9g%Zi zkP-;R-`|n217N*IMx*o^NBiLQ 0Hg$2gVACtXrhdP1 zep*{&V&>KXwR2V5$>^&(3%jzhM@JKC&m^+KD{Zq#WVAbh=YO1(^7@$*9-RFO|I*Lo zn oe)++6eP8(*?!2rS#|+b=I+!nqwrPa4#1J!;O*b3g6LRnyn8KKO;9Um{mX z^D5nal=11|VuN^DGLWikOVnUCq5X9$9=6xWh%uDQ{yEt%8dazynRi~L2bs}*Ic|#0 zo!fpJC}jjS*kJ!Nc+0)s*QX|@*^R_>8*m|NWknk@Dx=Wn0Tgg2iBfwZy|Fh&-zw&t zJk@?4q-u?wJ&F!7yg@~|vTv*tvR0Kn+FR=yF@@9|hRYN^{Zb6RF=J}n6JFRXx>Q>_ z0<6=o0LmTn#JaeM{1LzotcFN7{E)@>3JDL8a=k+XR6_>~r_HpkeMu8K>Vx1qcM_JU zodtkR_qpCiRyrn!8;>;IjYWz;qxTTEudTtO{+B!%|5 `Xe@FQ5{SUuM-40i7su9l;~CfO~24gK-Osw zoJL $xabb3gDa_~iRl469(|XCpo!_;SDARUk(3EK>wBaCo08aymh5AS0}U|A>RE z@h&-7cjpn_87#L3@Zan^&gJPaXFteJTD)hkvB^v2j>FcVf?Av~oSX93yoXvFB?SDI z7JxMRY^DJ(r^Ri52EO|-6#OOl5d9rp`G^4wKmq8%yNbnz(7{NDU!7Glr#~&* U~!JToo@LZ{OaqPkSHE9(oxJ1CP9 zva;3vBU|d{eR(x-W{lf)1|yPMx#PNihrA`jUpAcYY=8`mT!{LfP8}m=T{DAZb#bMR z7&X-FdXG?bjl+5F7woy<>-3(YmHm-3&DR2VFO}z$ZNM2j{pO4SM)H{e%LE=^x#=m! zJJqi#OX4m_IJc+&n4DTr&KCqu=Uqj$SS))^ZZr2B &QQ(~nhL)AJv= FOqvhFZA8bwZQ9?$-U%I4XRS zw;AOv;dxN~6jf?zxqWZ$q#@uRo(=ozb37Opelp)C(cBnzHdfm_tw)P@6?W j z?2X!khE9}zDEZs@!Ps}Dp~gjlrYif7{pwI?^k`3_>FDgL&>z2Fr0WR{_>Xu}lBjwT zHpCC8e80#f{q3I7{yzhFxlV1j0@c{rP~A0$^ta_ZAlE44PTn`ZBsuD-jX3! YD271@B4TYOdYo#0}?rMBRPn8{{A}@I7Xh zer*jSS*k-mnuYnzhOtrex;M7{*o5>MVXFw~n{pE)F}BZZQE}PPXf^~6LRyU)L>#^X zvKzp(B5(0Wvy=TfbKZlzu?Q@=dPK8Tr0aK&e#)KOs9$5iSr|TX7FPGLZ0x*tq%{3~ zwon=|tC}kLLR}B O#uKls}+=BF(%CdUGE$f4gU?T2=q^F0U) zb(*+2_I(?Cr4Ll@)K?%rJKXMQa{_TrCiNk~#T)}b_SVSzJ#}hQQKLEy@zoV _y{pC16oShw0%%(`hw!_W_xh@HZ3G%qDvDQ c|UKrIOv*p$#kqUsLi zg@~ej#W;k&8Nl^HLND4hje2ZU2&8*&x5Y`#M~!ll{e&zE-KkYWn-`Kqs_~1zE_Awo zP7!Jt>w)Kv$%FL>H@?kSm1DA{vc!8V=V^aCz&UA-T>Pv3#qiU!LD#gnnCI-IE|}Rk z?1CXV%9b0w7-b4gRT&3W8VW3f>#5i zre{uYHLqnpy_2&-)B~F zVIV!BT|;w1r&3VyKzN?E-S`kp;Ffs3Uzp8K-}UXcqejHnz4*e`y=`!}?M^&Q)y- 2NGPe6v?j;>k^!C@x>3z`0j5`FCBAn*KH;(;ao=0Wy<@r~Q+Ce`>w#o7{K#=IJAv zf_E1bHr2P<<`pD9&o-W{bd*r|H^2ROdScfO8vnRjt+UVFOzbBu(4PH#pBE9nzcQ5V zHG6(ubp7`y1upf56w=>?q4$Spd8GC1xyCxr{xB^>GxjSt4GCclQBV(UFQa%k7rDDm z< k_sY*Tw3iQa0m}Y;lz6J*m}xo^clO_7Yb8?ECk}&@YIS(4s@pk43xgY9y 1D5y&lrH`F8K#Q~|R7l-G|Zc=g=vhI`giiySL74gpU1%YfU$IGmXkrBgB z0e1VpKOjI{>z!Jt!L=3b{EBHgr~1ykhu6hm@I;P<)4W8Q9r4g_YSmX3Zjg_j$u2TS zE3D(yF{JN>_M?c8%-@2c+@w*TO#r$V0EK!nlUKi$Ubzs$l$7A5Qb&7mytjd?+L6ooy@r~na{FVVX;3@%SBI5?$ l)bJG}t^R#p{yz`F$E2|Jpw31xobA8PZ|WFnf7Wz}{2y8__bUJZ literal 272671 zcmbrF hS z_{}vmvf_+!Z*YEpt)#S2C7@biJy|t1Fo(h<4^F%J3PqWs6JxJP`1gNk?vJ(HiyeG+ zxgVPl-LV~rjpYsbZ_MgdLMYQ6F#*exZ&Rga|35b&(nQa*sKI5HY=nRiXkaYn#D(_J z_*dY#0xETf;EC|vFtY&B$7_`(x(HEl<}p@-YiO@ko98NYQ!ys(`mRIz&d-ykei(et z^tIr3!zbUa`k`ukK<|V}a#|)^dENxwUX(-ZW02SfsXrmAg=SuJqH4r9L&$aNDBW`W zfZ-}K#O2C;bgP9fEZ!MLW)j3*-Y)@Hu2VV6{IJRNtaH>&noz}znNk @J^!LbQ0W6SB< zXGg5pT{$eEVQRSfb=9?WFVn)dwMcGboUNCT#_0po=7htYS1T(Bd#rG%11l`6H|L)_ zfW0K;nJA#?y2thf+ lA#*Z@T`V>A%QE$LTs+H6|*- zRCN^1+%JIxhSr|S^dFfqEJYslKtL6zz+8!4s?`n$nx784BxAvRZql<#9jQ_h0H`^F zmS=g1h~BN*&whQ9c&qDDJCt^WeknR 8`RbM6||Ko8( zq05qxmHu3Zw;0^^@+k~o{kA7rI%*^Lf>35?QXoP5=e7Y_+ag-G);-g6LwWM@W$FfR z_aO40Irhui$MU)&yVl`DSlj~g(4|Go$&6=PH-gFn1vY{6Ra;}j#-RLUBjEd>T5*rK zO;>p}9KBB7+dAvxxh)-I{tQAY0$-bosSEZs!N>TUV-7?DsnY8^HMb%TNOAjLyU~FN zYY<=NW|hd5VnRV-E^Vav5~S(|{2q9Q=+UPFNgVZ~T$-1;ed`C?n?6M!Uzkl`#J^5O z<2|-<&&aJa-p47VnZ82P%5=fSl)5ilWDa-H&zoUfluhE}deuI6)Tp14+sPF1AB$uc zg+|ix-$&n<_k4kh4_4D}MYd^cdmYB#Cr*0xCcRW((!?0Y{9LlvvWlddX&l}%-i-1m zR~!^O$-uBR7)-@~TVC@F7Cca@9E?pK>aZ-ug{pXf*|_!%UfRm=_g)K*PykOltQ>J} zqQ9U`oJ%o9JPtT78xF9t%*ewOpWm3S#8&s(XV1LCAFb1E>dRsR6&SoZi(T)zHuaI% zzY@7HUr5eOvH8&$vd>;I8EsW~MJ%|aK3HrCohiNDf8Y#lhg?8YuSXy3<`E1xy>iv} zTHJoUTkiATe`1xwcjRfRUL=fG&izUkB I;4#e%6)xY%?5G$Q z9-6nD0FUmFqAg>Rl5Yq9@61P?Cd8H{v3pBxChuXbKz8W2^b1&G7#4(iF9|u_OiJo( zweJhnSX^WLBwhx>YUP{F4ZR{K^ktd@&J?elo;@>g46N^dnKl%O7x`&{!JskpH|RY} z36*kM*gphvY&DHiIJeleth@!}3q9LiF9woP_xMJs{CXyL!S@CY$dAJo!a6jnP5M%} zo-qDR5_RmfKyDQi(O(gVq>GDB4CwpLW!%4DoOV6DTnNd;nuq5y1k &vYFof!L6?{GaG<;|9U9(SYz$xCq_Ifz7nwGr5|`&t7CF2-x*ESA z{-JjxJ)~bR# 9>_=mYiZy-&33 z-@U?eYcRD9&yWQFBBHAa;nw}Cc$7P^wwCK!GXrzk4?4bSQ-RiDY{H1OfpfQNmxuK- zA3${B+qZ=blhsMto5AurZ5Il^knNGC%r=-3ZJt^G@OR`llBxY*J~OeX(&EtZ8OCs~ zQyPTz411l 5f#IJ=PK~btMI-0%#YZhIj*^D-Q>ZEkvlsAD1`CIfmA-0 z;_`0onz7xXLmE{7fFac`m3(kC9K0ddibn;AJ$S&d8AM2@6{_uJXZBi!W0-L>Nd5`C z^yiip_@S~&6Hs0A5J-Kula(yNpHtk7X%1d &gbf1 #V9xK#%)p8cce0_nCryU#- zms@@5`&I8s6E}DQNp%hi%XzTEt;QkkY^FdQLXMNataI!#@igKk)`CFdMbEp%@BSQY zbom75W_6K%CVQ(1I(cnaD7R%8o6BCa#_wW3lCO)7MvF}-$Q$AJDQtfF{G1XJO@-B; zf}kR0{z|R26ZWRE5)H2)%+%Ri-66}_0RPR`Zm+ vUtURb_P|e?hoMFmi3EdbcI4 z o2 z$?c{bF;A{1I`y;%&>gt=fU{)TqY1*DZTt4Sdg;LZ$A?AR=hoFXQD_(riwa?Lkr{IW zS2D`0Zl5X{w*>V={^di}5C8xu&B nn^t&0v{-R$`5CO0A%7viFM*)*R*AeDSO3wdMl`6U>UdkJOF >tSA?Y zrJ%tq=|z>AAa@_9Oj>0zXh6sN{r(~V84Wq2?|ke&BfSQ_SweB9L#|NN-aP=7E*AO2 z(gQCGVZ}d;_~md>(Quk x#r{VD1S;)x&$sD z)}-FvqvN@@EcvhT<~_uETGw9|pYaXt%ji;vro=%f1+S!G=Bp>EnCs0V&mKb}y O=-COa4>&meb#=?h?vE_t!r`C@Fm >l;EBJ6srz%~Lr}jNllkH>CVkf+CzvF$rKn+o=bMP9LaR}*i%hI3ePazHxm$PX zmj4f%I#>db*m#dOt>?tLc}O!IRCiJjHiLI&Twt=;Lt;YKZcYbV!L2Sq4%x35Szr+0 zGBqUZwtUmxNRJ<9pv}uD!Xe%h9XAgdcTaz0NKIdFL|pO!W}{ymgapM&Ae)GlOL=ub z3SsKK^qx?$hfS!2L}ArReHCZ(aw|`g`P*iVJ<)c=CiSjCM^c{V_)7JJCpPuG7v(y@ zpJgvB)o@pydbls`N0FT2Vvk|k$nV3bih9nieT>aCUKJ|Wq&!w&V`HsxeoQT^vm0`m z(l~U9s=%+eRL0H#QWnCrttb{chxLX#?Nu523Gsr|>*uw*yJ#c9e$DyeammrvwX0iA zC-e9X`_Tt;e&dS`I5&JW{>VtQ8!gL GY{izObJ#iEXttyHJ zC>SM_%|YB#82_Dw|Gr>msf`eZNXN#TDEf?Sqv2B=v (jf9F zwJL78#Mf4mB4&)KecYjd6Ad#=@`zlh01J@e R)pf* z?7-Scr2c%++Xw=Umv~j~#h`xd|Kv9)5$wSvVmZx*MTqut>Sw8Fu}-8BG3bT z_C~7%wdv9H^Rm~gFb!RPYVAS?@Y446AUJlIIe bE`6=>y z*sd+f))H^ytM}Q4i5IL3^eJbnlDp;t1rV%x^oBMRe*&;cX5UYf2zm<{rEi``Na-$W zu*Y4ARPh__MC^I6@P#A6l!SRoonI9AV)h*gwvg!~h5VPm?WLSO&{deb%+wwR*>jPy z!z$*rLiHRONTTpNxpTUD*oHWuHzaeYE5=GFO#lx392O)MuSSju zw)B7FwO8Oh9sw&B19#q{11>S5H#d$eUQulO$tw4cy=&*RbC9=0h;QCO210R-!ViL% znx1rINJP-aT`Mk?CMg $;XcDdHe|sQDk$R#6F?j)F+JbkT zF&w_MfJF|N?H@;iT_N7%GOLY9xU{5(ifsblcP~F&0D>zdXqmGwI=^Bhbj7d5AD|GA zya|#myM0`9@R5_PzaQVjZXbgfVvr;EemC5;NW!64p9mA8IFWj3vX)e |M_#d)k=Fhf z7sG Er z3e|pMKK8%Zj<%c8`Zi;0{7_yGxgQv&sr1YLh3`eTE49ZTF$@Hz`+4xN9Ao(v(*2o> zK3ReYlYhY@XrpINZXjc-#r=) lGq?Lf>+vdN&xp*3vx7*4-zp-u2)a1e^5D)qMS0qC&Zuqwj z kl)$I*?48eH(OZ0KaAhyB52hyPKO4IS^6hWlEU1&FH= zPrQ7SjT|0izo%d{1jbzv_SgQP%Fi<~C!C6AqZ(MmqsAY`y?fh^vX4zwZ%}Ep?}jnT zhxMdzW6O7NAOf~v4cuPl!xv1HVHgUHB)r15+~;J(#03QrFr?>O6`~kPF?o;|*0Boz zhfvf4G?Cy+fpxb?0Py3jYPon5GM=%0{81~z?J+U(2*feF+3TNFVS3M30BzKI3T(or z&9CAT;xeVI_jD8m);n#>I56mDUSo9@!Vd@eK>y*!SynNJRxMC5y=Mm4%$~ntheYrc zubKXxGku5_O4=N;%bK|I4=VZXHqc2OY_8NxHio 9vK?_-j<7#`ghECHgNa-j%J^H1%u zzROn?wGR@qFW;%4!if}{TTw&`sfQ_p7!%qu;`ZizvENZx9eyONxeXaE^eZUsV_Bvh zOwIa@iRConrK*T)EWa(!f|7r+lHDOtzxqDz=7GpS;i~j^3JykhUjAXX$r~zg@g*~G zr$MdfCBYS+Yh+=mL#$+*VP>~7X(shvenJKUip9wCUMaM?oO8$uul#0@IyviCEok`z zeB&C7^X5J^#BH|Q-G=~qBZr_o&@kZjEwi25(NC;y)npd4EIBcw*gm$nprQT0$+eqC z5J&XMSdXa63`YgQE2q!XY6j& P6cQ+f-}=(pyCGs-|laZW+KsitZkc5jaofKD*R(R?nJC{jlhV z!kLw{H~tmM$-Kb?9Bd7#Yb62W(MbV%o#$K_x?%4q$q>T%W!w}|w)Ygk(vqxC7M1uB z^?HMnsH_3b5&J>qF`g0NZ$gV6n$i~Mo@J99W#4RQLle@aOY-L=VX}nzd%EtP0AemT zfYS>e(wtmh2ktFCUGve{-|%6HiwGfV!8GSp%vp!4tKOJV7To8%vH6>?7Rj%xlnFb> z!!C+*gp>(0aF0h@R8RS@xDzt=y}VL?d<0$fjUSn>w}q(Crv+K14TO=Al`byQZJu{D z=m49^eBGbBzy>1f1#~um^Kx0#&1s9+!wZN!>J>oDKIk 7lt~ zD29Jel|H9}Jwc8|ee8=Z#=;9Z;SUx5D9Ho< zX;k$A*BB}Mf+&6-@586lKjJkrN8g}E &;gTW&n(+s}A( z`_J8D2*CiT7L;t}9wWsfE&HPIfB)b>z)-~P7p7OhLrzbAuXcyMYQNzY+Dx{G;s;dy z7p7LSWA6@E?~~tZX2g@z-qYN*NZ)v;z3!$07uJ_wG-I_xb*cWQ5&HKY%+1}TGQ@c7 z_nM+x!RGzSPtudU8+$Yn8^m5($g+)|!5bvt0P>{suT<}xbX&2_EF)%B`uG+*u+F?g zSwL6V6KOpqQpG*#Sbj8-v_2uu5;29<*XOaapZMc-l5js)CYX{TZi@Z{OK*Gi sAl^3zObVrXW-1Hay%jT(*czp$Xf0p-E3`o{X84gzTo+~?S8M82Yx7UBk^5EU& zojt1J=@P#jWuuA7s+p|s=DYcCLZ5Jba4vHdmy_*UEbTSN?G$t#TH{w^uZ1VSVc6V~ z<}HwsZ28L-z2Td2#}C7OI6TG*j*AQGqUv>3e3y@d(Y&kIlnAU#MN(CH4+~>=El9j$ zjY9sgwt}^@qdH(rHXid*SkE|M(h;X|Ldj0a4ChD&DIEBO pabX7-+{ERDHZsrKUL>$H}*yo~0i) zH!5f=>34cAJ78A;^ iY 3 6Z2LvK2RW0OE`YQC;l)1#(2P3&)^hbTBZJF?`zaX}>bF tkyK-1$B~!va k z`yWTzY(Zt`K|@ Xu?TM+b3|h4OJocnY)3H_mz$)^T}dbKUoCBlI*e;=4npE01!2 z9t@11mGWMcB>{E4l5Y80bzHD=BbN`uh;Wgn!wB3rgmSU7vCPj`XCEUxzQ{a`AY@96 z2<5x)C+NI#=ZJBaxPom7=ub2WXZHuK fEJ_ z<*LJka}{-eY;$9%K@A~*rQ-+nxS|1P-XY$UD&6~AJ4l|6=N 0!Y z-f1Y)vO-BQe;kOucd|#?mU$T5uFkbD)k?9AZ%?8YvKSl~j+~&~5(I8+755A(Gdhm0 z#mUCn$f@+e9l3H;=ljqUb$tC0n3l#bD){3)^Mz8t6_I17Fp%Zduo8v==ppMP>A6+N zZh55@m`uA}hQ{0vG e zw1jb=MZj&+A#*&9`l+S)$6pM9_OOQY9!3k#+YAOZy(b~5V2-&Xg7 GxMdD8(0`}SRj2x>9RszuChzh?uJf*T6aa<#&IUzWB8bv >K$RdAW>p?(yz)Cqu#S5rXZj*69nGaXq1KQRzJICnz!nKV;2w$2 zMGC |NTpjij zQ+EV7yzA(m;rA@TE8LzWU#lLoAj(!yEL|2^E7A9JXw~zeyta*(xUn@1Um6L@mrQNZ z6MQ!+ya |?Qy(NlR1-ju5|yX8*Du%NYaRO#=7Gw=ACPFi}P+u zfa 1QDt#goO3)>8 RR_I+9yBNn75Bx%SJWj%J5n@ogbf{@mNVFNT7KP}t9>}|W~YnWjA z;gC@vOn8v-Df~!0LHmIz5lKYtLO{eVTEC9<0o#uEjhxt=!?k19ua|${-K4Qg0`gCf zm}Do)7@K@cuBC51e`ZG5G)h?1Kjzr)Pv1&}w+QMmAV0aB zI@qo`?Xr p_GApe-D*qFdED_XHFHsB`Ep2moyQXSs zvhG*$6ej&2Z2;?Tf^RFrz+q _B3tkawy>!q4~Gcr~X!S;)H^$8N)14vWIFS82sZuX^um0G^)*)PTz4L1Y~+ zbq~)0;;AwyZjua`D73X&czHfKDF+jUG0|d(irM#5C@s@Ifvcp-^@or2k41A=Twy4m z_ynJFB)t2PWFV;c PMqoeY_P1M#Gcd84ivxJ-9}}xKnCSE0#s+d`~O#E1LJh zf7!vqi_DS=C6-UqmV#9NeoxhuakjSF&1b?%j`#>`lJrG}UQ7)NWfBRNSZy9w`fuSA zjc5Z_f744mv08J+4{&1s0e&r?QJGqHU5Z ?kRo&e$G)Ra( zrhHT=O2b9>(G1^Mf++I75BTu-$g9}9&C&5)pC?QsH#E-m$}e<5f@}f7TdvO{gjOK| z^NKhHRo brGX&^zHJrd%XVX#_6k)AIEmhXOwaYXrQ_o zU72k-ggfYdJv}~Mh^4EcJ5Po!TA+NY{QBwh+9$1Wkzp`%)e{;09zGo)c+#6Yuq&!W zbI#eJUlQl@6Yz@%BW0IvB(Pf3?0nldSx&k71TJ^q0O0@Q%(tP}&4Pb4#InZtP0Fx2 z2XnFPtTJ%ANHZ`Oyq!Huu%G>C(uF<8 !MU`PJd!L&^8g(A9nP$?}gp_uJy%c$+ z>c94yVOT(hRGE6o_G#z}6LV)k;>AUuoXz9mO$hCX<**NTrDgQU|ubk_jSMr%uxn zz@N?62VIQHBz~_%Q2cQi%`dqNn{RustMZ8SQlywE1wos$7%^>{2!tMymCdVdTnKh6 z?3h0Cqy=SerWB2?F%@)y!U}5ZG)TNyRQq4bbiYvk_!zN=Y{*?=_tv3|tTgpQfVAWR z$KPo+MI+2SwsEQif|QxGf;;PkR=hA%_qYY7pTEdHj{P}=XIt@K6QXA&xbah#ku}Aq z5WUx{RTeGH2v5^#&WQ!sXbBUX7Cb2zvTBtk#*7lJ-Phxj5Ms8FmZb?=$okujEfbrI z*!AYW@@0Mxs_p#?kX08GO{)}IY}3Ug_P!m0rK(8%21&^MtVF?!4SWKm=Xz;eCG8D& z*sDPyuf?MyB@LUWZfo%K0s(fq%!@NmH>cOkd0A-8%Ojd3peOhMsVh{`L7<>$!w@YN z_YQ0VhiHXNBl=7H;P~DMG=cZ2B{G-rd6Qy-N*Q@x&^yhO%%0Ba56~Fd;)aW4-Gb0R z+VUz37>m4buNje9yKZRsvuP-H&>jxKq|UnBVcO2Q$-%Y&Nv)(?w}D{lRgn!&D^ !OM6{H0x6>|!2*!9(tnWt<&Gu6|3X8Cb&>>Oc2JYXKZBi`uDbLKC>xLt zae;4(v#CGkr(9 3lgCZIOEWX93FOKA^QV)_U=c&MUe z_163H?3dn;(dQKI{NyC(6@1=O$)tG~^UIH}+U2jR_-~# tz-p;C)qi&+jK`Htx~LYAJRXfL_wvF8vj}4$D#yg`h&2sl zrQ1?O<4u}VJ_>=v*QfJ}9t#BW^KJSZOl_GiSWFk(6x_~#;d~O^)EZ3K)9!HR-zPI; zzFdIjLeM7ily(z9Sg3>`Kt&v0lbRp5apb*;*3KDydH;q+Z<7(EiE`>cBF^Gn)7A54 ztnBffeLgKG*OumYa0eyzGwJCe$wDMZ=Ns5fHgM8}jB}L5?n3(s%S_FEnd)n#iElUV z$l2YY=DIYk_;2iiTA~b7 rIY3MM4{Y~UY92!oFMXcfHmvD@%%AyM^+HZl zK@7W>?#kBK4Nmp_$UKyrk1_3ur8m02nOAEmjZQQ3Qu%6C_6$)0VfV5_d9Er2*GG}U zwfJDmwpNLY4Lo2}LMMB-AFzk+Xj~FtX#)gZIIXn7j_XWux%WG5ZDteEDDKO PDWH0Lr?34U*8xXb~k?9g2YUTT{7x4X* z_Fdv)B^koA=BvK*zqay>`BarurS32GC)Qog;033QE}n=qbPB`QLCMZR2=NEMcskTX z49D6)vXPj>vLx5Qb3Xte?Z=VKuhmJy^I(Q!*~mt>Gj!qiaaJD@Gj4=>-JHFrJOzYZ zzmivzH38ITZluw_zN@*T9n`wq%VsMURu1-tQeW}&ut2sYn0-7}g_89vbw?)OEJ?2F zP*v>L$G@#C9Ak?6`sb;2Dta# >4KjZNrN&55Y3;gIurvd zhl_fD*-2kAtYuXu6pe~_8p>!NA#gsYF((bUUw!(g>xL>2-zoBb<$h0hYMssX>uLy) z&snEIW^RbpfiwzlX>mC*l;{$}9bal9#f_nvo74ae?UVKrN{?c4%;ds9gL*x9!f (tV-u|iA0WU z++h}`3cj84`=JJL5^^_nsEj@IZ2iIa2%iakvs0~7Za;mL;e~=xI=9&xvT;CI<*8^; zUlJ`85$^FL>onVhsy4w-;=y-VC`y4J;kdGATUZ)r4_A95N{g-Pp$pem*L@&-^Um#W zJ;YwrA>MT2{jVmI4?f+R2gBrk)&OPh?c$%8{UY-FVV9+*Pc4A? ?Z>^0ZIcetU&F=u2N{W9Qu{^w^CaTz{z8B1Hp( z-pHW}(hFvfdwl(8j)|CM=hVNP27kZhO+f10N}?R+02!c3ZU5Hxs> =^yVJ6d{w--k_bOFv`uo2SYAkzck#hdne50Y_%4op_pLi}X znA0PPu4X$+T#CxeAF%={wG;U@u4d<8E{Fpj(uk7N*h*y$aT7NYXpdkzJx4hVf`d1j zcMUW+&RtXa`S |Q951CJ6C#%RB|DF z#ib{t+1G9EV7A@+Pz4)H@Y{YYi4lnb1G?-u3u1q!INaD%|5w=h*Kh@RAMo>efRS0L zVm3H$2_qBHUf>Y-RA02tPkotGL1s7G-7#>`i6-zuFw0$K2}Mo^H{HG=f2gg^UEaQi zK(&_Cu*LMCtG;}$1S2SkU%I;ikd}?os+XdXyF%N};{s{STy40Cd1`sLL>}5U$$!vv zq0IrsgSgC|x?<$AIL@6`9FY6ai43sI=vHGrx)NSB%xEZJ5ozpMe&bT_h{dp()MYoJ z#Y2zHtda(@<7wf3TripEbX!9G0X$zqiZa38ouv;w+fitdYZLB5UgX5vViM3qp%T25 zMVLDK*m6RwH!@J9ymojsPCW3&cc#IEHvVlv?uDJ(G4#^ye<+5C<^rUV$?^|?gpYT` zizz|pOP83Jd(Wu_H~0ijwb@1@KkS%8w`;Gxs{KHSp}2c-Zy03O5FOCN(E;yQ=jMpa zZnH9pK|#hS7fVZA^iANQUBwAkBYAy*&l_1f&zU=xAoGh|5nc~*nPi>{Cl>gg8N~?( zRn5+wrQ3-h1Wm=;WY)9GqnI48;W i(c8<^#ZLL{a*W6Oo;O8;hm0Z_Ba@ama$}@rVEKrx mvlI4Ab5M%W zB~({qx~OkDPUwhZ{^R_Oc}`gQ+^x c;#hDc{K<4V3Ms6ySTP#~i$-a@>oIgFJPD4ptEgN0GlrCLd z1V*tUYJ1aTd?{tPKg{yqf0A9&VSGj%3viMRE%&uE*1N)?(;0gvr)4)PN=wN=8xQ>N z#xJVYjK>fn9aT;X894NGasH$zFXBK3wk>}7^SqJatO}QD*^35c$&K_Se)hev#&z3# z@z{JZHpb6p*X&T&b?Wb? (0EvvNIko z6+3uMA%LPWxlzrAX^vRWYPXe5`WQ!p1NCU|yBPSJF_2=V+YOAp8-EZwzkU@I3!bXJ z?zf<(D=hqTGQ>Zn8!456zx?5ROq}4#@!{tJ_1a77enf-7G&{T-W0U?VI6yy5;~^k~ z0XtW|Ipn8DSM ZfX=o}cOXc>KmRD!;Au&JU^&eF# P& zYX{`F2FXGowRU8%i+99^(OZn-kZ61AtKcCsbe50gJH2l(I%-a5ww-*0?MQA;vR&T~ zw=5m0istH^Wq)+yC&wD~X#G>aR~uUU`CDw3j$%y^24`YL2uQj-jbdJdzPUY2U16Zy z?FzNbTPy705=*_*Ra9KmxcEK3IV*O zZ!6w*aO4C#1`-o9VfY8Hpk=<5RbrNo5qi#cVs4DK--fy}(WfwS`G!Ud|Ap?{$TzZ? zMMPZF;Q&04MF!7KuCbMf1>mx ;#_jzU%mNlO8w-Zw|gLb z;P(w>h`9f{rTiY96@pUv@{P|%OmvJyo7R;}W9Jh;N$@xtnGKQzr#HtoXIzB-&bV`S z=>iIDAgO!un$d-30FUWD(Pn)%aE*xkNW_} RJ&zNUhiOmUjJ-;{(8j$mSdWF9z4r{;di7p8 zMe@a@ssJ6cxBNyclnib2$E_b6yJ!QeNQsh!^A0>5L_|r0hnrVjS06RYtcLkOU72w3 zX#I1?;K%IdkaC-YoXs<={43Ih=nd**5`OgEy5&F8QC`atYIgCxzGb0`*Jr_u<974F zR$w59KNBQ7;g &?KmP1$y$;C<5O@b?SvuBrU4!IV8899rDqF3g4;}xh6nNsn_`w6 z)#~@3oRz@qMN+Ud2rafun3Cr~p60 Nv& z#o{@HQRvZ8A>BwBVfdVe?@3V|jHY$`0bhKlQQ~xbpr0CU$eUcvfRPWEbmIc#YhIDa z|2^3ZP`Z=fyq!I}pt5_?5! ;>=- 4Y^nYY?De 3*1NgQX+vIIym|ceS+K-o7ZtUfY=$tC+h`ma7 zmbW^t20aBvj_IcI5yotQ#F(hv3+dRWU)Hg}Q1dlpnV%OaLmu|HH;3 $=)wlq$L#+$T|M`iNNaD$^vX;)kr#F=9|Vm(bN@V{ z3L^QR^fI3Qw<(H$i91wpNd+tq`Y`rf`!U9LRX3i_{jW` iOrV0SDbJJ{CX1 zXeN40Wc%L_z?#xVTA6{qiN0@wdv7(zDNr8%jYb$ph*+RH1O$eNp`muV45J|P+y;03 z$0;ALfeBG&%p5at#YR>X`-(g=A)Gp-$Y;cp!|Ocgs0Xh3()J2}o$PsBg}yu;^t{~R zE90~#UOwp^-#I;=m`S+_GVS=SzFr`nI(t}UfJRGn?4%q$h%Ii|S!JRB;7&i{fr*yx zCDPYyyuaU$+w>Vu_p =|Iu;tQBwma&KhRTEs`m$@^4IhAu!9f0-RVSYaNQ6sEzG{}_^R!& zC6vmLh5B&D^+!@InOfYzm*F@7Px(A}h52!<+x&NnR!s}n30k&+7CLs@Dm)ge++{Kj zg41!2f}$LN QI_d40 zhUH(|?RBgQ &Ex8LL zv@a&bP&%|_=dLOj*O9jCYs-H}FzX W8ic<_+sWdFZ7uS`jvPY{2wL97Q{c_ zI?4p=k0W66Tgm@*_N@KT;5-jPe^%=oa3M_mVL}obzn`yvKzPfN_jFU7)O0hqF-Yzh z&RRyk>F|cu7AJ}Q2|#YOICnMQ`wuC=len2X5V={q)EKhQZnHh26pp>Mv+Tw?N5Yi7 zO@~(dpQd47X(G8-&DpRH;$tPBbOt{JQgH0YJ$F1G7d}+J#J|?OKEGaB26t5ZzZ?<1 zPTBQa2ER~5)js5^AzRB >fICq1wex(5W@>s5yEui=x4i(C(L5v(-qH#+u;ox&MT z#8t=VPxJeX1F?*7U<;dgHPl_<#c zIf6hF+aO9w)wl4igI9o%{dpiT1VdSb;RusHq%iFQ_VMJJt0i~`7|*TdMjko`{-kvr zuY6N}|NJ;=Vh_`> N54rUuFS`|jEOZDAjw_xa$X zx`c4EV3|s~g=3>}P?x@9?156UYd2)4|4aDA6r~ PgcZ-nHYBMk&?&H-{AvH7PBx^Pi8hu zdX&!$fbU_xl*kwm6tqzCW;3@NktId^^iO5}aXVQOEcY_9AHD;`x776DN}K0l-KI;b zf^>GB{rvk;)JUXhFk6fCH%!XYd?@1x34I6(<|$sye^ri>$GyikgCS_ 4)>)lic} z #9-y1!&&M zsT)aVC+~#@jyw!YKVxnb76O_}6IIUHb%aG&Ylu*+ZR5A%Y%5#W48A$I#JYJDah?7r zk2*B?@=wwIhm54$@mKf9*N}osp0*FarPYb^E75Ig#88+TNOb^GwK?RDjy)$cDz3c; z1ZgLa0NsIInW1IX#Pok11;%GFU&(xX6>fq;FT)9diCl<9nXSjUAODHRHRjC6ZW3n@ z7ul|Y((3 $uT&t_7v;T^}1wH`sW~OnvRSpO8H9)dq_8u z;S*k=)U)~SZNhb)w%T8muU1n<*k+y|m-+5-%f^02T^g~|Iyx}`9+9hYcO$*m8y0Xi zutW)Cv05xH;WtUrueY(o14c+idaE!8`&~O()^bqrPk^Y86q(H0{k$vQ=Vmw5GIg0x zVx%Pkm?~`;@20;;uJd7h7P{litngmTyK?TsLh-U5f1+-w#C6DN@B3PNBKf9RR(p!8 z&cKmARo>Vz{-g|gGWnlpdH{+=U|lJxQe&8TlIFMk+wms`%=eT)*ufFm3CtkxgY25hMGR0 z@hPpll*pM@FbvC z`4%NKJRNC;PlVUt_efA*j-g8slGoo3V)xpA0mCLlwaPN K}XAk_0!Cavh zSa~ j9hvlGw2uU=l}s)p z!9^Q$QA~}>#~8?}cw8!$^H|Krp_Ky-kHt8%hc>SkQL6J!$G-Dy>!4H81~%`L?|u>q zkBANT S>xTTi1J4EN`3dE@V!2kNOxPHx#K 5lhWvslRpdc^1!=32!n3=_@Ev10bEnH^ppD1;r#5Rd_R`ou*ffQwv zx(CJ07>h5EyAq5R$y005*%?*=yFG7qF)dCA*=15*s2tC``-u?aZG0L4tDDPFMv$vT z5l(>D8r#Fs3qXN8@x+bbm)_k#m9!PWtAL9Gh#qeK9M_7rHBq@Lrb4qPLBDYZoFUyZ|$EVH74n`|yo` zBC-y`TYRJh#wt&L8flSnLFrKV>H9Ui%*Q|kYag3M*J 02PTgFbejKvF$s`6)3sjiYs{AQHXF|D?VR GqAK*@PQl-ssVgU%NnZ`rrkc}0{+(Q0t;IPmC$0>dPd z`5Qj2BwGoj<%KR=ej{i!trp(71#|@Z>?;U)B49DkQ`p&Z078_u%)?MS+uG7~?!bUn zC*>UP;PM}mBi(r2>pOtsiMWi*D3pIGDgBcIul7W{w$JKp6}ybzPx_7kz&O9ZWxHdV z4brW_9m|=HI+Rg2*O?J8J{$qcSm*dRN4!6_6{=)c$czO82ty$ePm!c!ME`MHVFd5J z7LEZ*?Ozx8 Cz=k=KO@#Hb9SL}|&$d1+S|cb=wp)RAi~;98tl zoy T5Gh-2BWeTPAE%!A%WuxVJIUlN^41kj&$x^TCdRx=OWutJ`JLcOK|k zgucu%|DNpsnIdy*g#h(D$($r2eby8`M`g`3pyKQIG+Cd*_Lb-9z*qlw$k6-f$KsZ1 zI4sXQk~)sY0=MM*3zeVN`O12}ar$}y;MA28GJUn?t^Q#`0(a0h8>CkZuHRoD%W4&a z!t`}`SusVvFM)@X$<6Mkx}m%F_WPFvIKd##nvn8)twy^kqZqyGP89$y2kUdM+T|~G za)dn{$rn4OAj1jfNrv+ziq~h9D`>}hd=~G 4M6lfB*A~a3*?@g z5EBAq3nM}VNJ+<=)^UXxhk@nkVEah<&=Y6=OcjOWv$`#1kDeS)Sp<2Fb@e=QG|zh_ zJlHW{(X3kEXWj2F)y<)X;wZIafAaZVH#C$|M(TCxf8C?-@WZb!M5xP#T5>N_@Vq_a zLJ6141q? j2IvC84pFvZ40V004NuUa@Z*a>}6GT B_q^!%%7lb^UV!ep@8jvOTh@qw zwrv@8^$V|csN8tDHKgzLcej?v&9|V)Nf%B$)dKgs-8vBe4WsJnbTpx_VRm)7Z4TGG zC67Ohb%ShCfpU;}!JFXbqdL%>2k@|U;M0s9vuraRF+St?EbKN+#K*06-=s&rFVOIf zwg4ubeieF}Da?DzpAG7JrEvm{lYd5%7Y;)mW4}gZtb5s$yuK2ZGkxJYopK;w1f>rW z)bay5_lk D88$8Lenm@)`Na&O7iK{2=OZFY+W5nzZF*E^`R`~6U@ zaR33#h;a<8Ed~(b=P-B1`ABkUx7MOAZJAI8Bs#~4K)GLplhj+mb>G7If8CM*xR$+< zo~U^Yy5a+{q 6ySz7D@w|u#uYyfkMd+0%o5+~5S z9-WV+*!CF3W#J#Y4aLB`XKI=fE<4|7yJEJrURSrx+??iut&bhZ0A?iRX!V%ZBr zvU%Mrh~5KR*PaLg_(b-Xfph~93N5s_gB)b67*hb&T9!=?4KmX&_fXWY@4MtS9p&z= zF~A#@_?M(_-QMl=jR3%xc6wHRKyu$C&D!(A#ZBIWSNE(+x1K}Lnn&NW2K}$9=)LlC zYEu>}3EM~!J4=2~55{#vsyLgFfz+by$>Q^izsW!^klOPYY!u%!*lyHw|5{)dtbVV? z1so|7@Ym+{y<;bo*{boah$#|zECGx}NI4-TzeQl2vgf1<*p$Ax@>LOu6$+zWj`Eqc z3Rk8J^pv&tDJA{nZ^}#ioq<|*YL~nan3 5|*5?rVA1; zp!@@P1Fq!)-V&%Xww*zo@qiVHcPvO)QwH^~5kD*&QmWv(V_h$xTH1Mk5KtL8Cm<6N zGoEYjn ^oV`|bhXs(?q}nBSPK=Da?n0WKb>qb8anTic}L6( z<&-tq-`v57#(v1U^58?p*k4SfK$VC8$K+9?B&VdEnH`sisCmihE`th*g7qEt-)&VG z@X+Pq_z>2;Yt`{UmK9rtu|EME!?lAk^E{Esy)pYs9@krS{ywHx7}sA20KR}hUyQt7 zJE(7^^#nPNDeUR_d}n1Q>pC7`>&=hALP#R_UjKFqMe@p`Kanwt@b4j3M1d$Ut7Itc zgb&B^W@)#-WgEbN01g7^*iUN%T53#2RNUY1|EuMx4LCuaEg!i;+ynBe?*r6YuT?%d zE6Sm2uVZ90+d%gETjYMrotCW6)Me|CS+nMykY( (2mCL0GW?4D7Un@fl2veg7F7KjGo=g0y6m#Mro^R6@ayYuWI5zoIZu zdByYAbX(3X2CtNgT6Yj9Y&D^U`6X=1BN=q@c%VoBi*ja0N|~FIt0?;ph@uA}C8C@c zyX=VjRm(D#fE|&9xcF;OiXnzTrj{x;H}@h2Re&K=$nwNF0*cnU#oV~X?Z5~eNIsM3 zG?b+POuXXuc^UKC+|p301kE@gBuils;JWYcd5BTI*mG&n0(srDh{_LJxQ7nBDBGha z?o>gZJb#t9`fi%OUV4RE{6YZmrAmC3ZZPh2BHfeTO6ys<6P+^w*r)0A6%Px|p<<`w z Vv#+PrWIina?Qc4dQr35a}#&K-F1&q;)l6*k-5{ |OmoYh5+9_>zYt#Bipy25-|AAa=+pzwz44m{O@2N0I}h~@H#%d+5-AF-E; z=dvLY 11AWP5x-%H~;8 zVCX=gDIc5deMtPQv-yRw9KoM#I7Z_5x=cveDG|T^;u@5)>NNok>)MV@+WMy`k0$ht zaXN<_y{zUMGK_#ge|0i&tSdZ=tPb0Gqa3@LX3O#3bVr#t0SjODto;4-en-auCEXzY zoA1|18W -3=S+YhU#DNQR0|Ep)tpvQgiVAvLrJmT(j{zgx$3O!e&{NR3v zzXk}3LLPvac?pizjFb_8=7}@FW G2U% zD>Ak325@bL`UTX!T);qLM$Q=tKrMv5odPIm-DcQ(qs$=7;pb0W zw|$;S`(C-qJP(?2em{l>zK2d8g@?(7VH)f2UO5Wza(xcokg?yam?;3Ep&O2F*OpJS zx+gS-{I~wTRo82k^&R a!Qx9ER&y{62c$5deGvnt8YS?k#iAfCku)ux3u9RV6#y z1PmVh!JYroAbEp@q`ds>N?M)=7qe65@?Q4c#igv)D(rGmzn|C04^Th++v vA{7sX2PowF6&Yp1<|Rbvlyi`KBQUXu=qAubs0(P4!L%_{&%#i*cPDdK zKHeGwT>Jx9J;J6|XfjWLxlb8L?Yi8Q7rnu*)}npcx2yh6DWU9o^B(kF2 M%JWebLx~0X+vJMOZ|n%hwxA+TO^UGg*16uxa}0Fa}<( z-$*Yh+p%p=+ncR?0akA;f2XnhegNRT_5ZyLpOtx$Y4;51d U}bqfRtypm)r|_gTei-q9b%63Sv5R$L{@C_;7IF zkE`&;;2i`nIi3nn-2M6^=Fs1rvJdrP7{eOfhcJG%=0&L_1yaWfV>$hpPiILj-Bs m*5~yE51mO8GeR=?}FhH4+ zSD+>aN&znfCZOzBa3ZATf_-O{!nl?llrtXk3M_=W0C{Z=h*AqU0W}eFS&)&D7Q((2 z6e7@d2hr}7RhRy$ZvnJ8fVgEM0e}GHI3%UCs6yA^#vTyZnFQJIZ{_r+L@P(6mo2q5 z+q^tt{p%$
UJM`C);fq9DVnV>idc|GsT<>v_ koi&aS zS3 Vgx z>H0To=3eme_0szRfHxC*iwW<6ew=c;3r(HnnXElQhNtd&9)9<0HYlwVI=rwrBa`hH z?PCWCqZ{Ac^0p{vu5VK?eL_## LimD2dt zIspyTZ^`3Qz_oJOH>HufVrw9xf@_iMfiwS@HdH*V8N4u%b}TD^MC~%50z6m7z892Q z`{jJV56dH{CZsi^Rz|8Vjxnc%H4~^ZPzWg#mP^JZWf0fqVIW3D|EQ6%vWD#uQNk%N z9r$$50NQ>%5pmhCjrX;033Q3eo#!bf^Qx$q#XyGt)`HC^Jw6G!;V-PE0TlW^c 5-6}FqQ&-NXnn(Vz_H6C@j2w!1qd||r!bq`aN4X|VYKzi$ zc}8UO-*r_SF#5iirBJc^{Y=h_c$j0O_e(tT@Vt#*Y)jkHSBwD|1nX(Kg9&figBj}Q z*}%-&x;MiCby{1#?=#w?buiRv>(?feuM3EijBJs(HKmIz?#-QbNrbMG4Ng|6w-f@T z2KoUf5LwHPy3)5O1*3b74!VC9^mOJ@4@$k)6XFm?iRJsCedaJ8 zN)1HxU_XrwXo`*G_+R6rT*=(F25Rk>=p@-HXjk-!f~(HI z`~3Xdg!T#Fv;mbC>>DF<0+x)5icgOZjnvu$>=RJHsLa^6g6(=mS{Gp3fl{z^oei!a z2KH?OaRD-rGEf*GB gpZ=>1efh5a5=ZtzJIn(`-?h>-rO*Bmavh zVwT%gFACX{>aw>oj<=3nzua9uHhJOjj+NuUQd{yAyN$^D8J>AjpPb0c1F$#&8ecoj zJkD=SZv+7MD)td=y|#X*yx$$EouqNy9wrM9@AQwcB3Ivmc6P{iC^PVErgK7j9t=z; z{_z414hyEcC-n&((Yk9gx(}_bc>dpBs$fPWl6%X?v&jlIq&8E^G&Bq#e2AqBlF_OR zl0^r`3B}l?)!`J2KPKjBrmmpP^7A0VJ!cO88*Re?y8TOu{?`3`=ZY?6=W^Y&KJymH z_XV<+CnSIwwQmE|vNt{26eVr@^9CT(f-MzXYQiO7fZPKAw(EwR6LPX)xISNjoUtqk zI~e)0fRIs%kk%D7=XRa&(k}dAPWatkf!Z(COA9LRQ5iH#pTV_I`wVYE-FB{J?-qYk z%w^jex oi(Op$2$bbviM&n$%BKr@D)#kQQ2tXutq$Nb-sztM_;pX+W^5#6b3_NtiaKt zrxPL(?fnQcJg AMSs^tKh{h0u^T5h1xz1a(%5DYFp*|ioU#amG97G( JF3Uaxzw_GRy1 zEO0rZr$K@#QA)W{TiL8v04eE!^)KXAXQ`3q6_ z`UIdX6^Sx-06$%KqzXJgT|p^f+pZ`(V_67XH!N!gbHU|d1yRNRT-#@WmyD;a;Q8|g zE _ih;03Dgf25zpID%HP3Ag&0U zn=)*WE}?3xxvTw VKQaiL-nLYFj@Yl6MV_!X#P~4lsD4Px(XEU&%KCS}KfhElNRs z2iFb&Irkl&yM_j#ZqfOG25z}L!4u%`j_(9ErQCwhd<1_#p2qS_g8=nIIf4c~a7mC0 zehAGHmU+je-LaSDNL?$%1VUaGVy?|Y&}Y)VKNm1EUy%}laK+;fgqj&?&By?jbV1I9 zy4CijzqEo&!G0}xz|sk-?Wi9Sawa^a3pi)wB_X9A5`jltc)??3q&UeWu#VNbCjuy? z{vjYh0vYvt2<-0a?*O5F78!b5pjy1_0`c_kIEU=J3m!Q1u?@E|_W9YzSUdm%76f=4 zt=>3^dC)-mcOP#7?J|!PyeqgL*PNf`24Jn a#by6d6IZtsLfKTN)&)R{L<%qPnu21F8Ow`ggra_9baDz+wf;dv$ydYjk>q&?&gX+hM{5%Q=8$TQ!=8j4oNO@~__p2mx$E#pLpH z7Z_$7Tj!*84g?#`vy%!TZs5eCFe`3ckn99(RL}s_y{p1pc|1TH4=@hf5i*YP=obTe z9^bo;gSUwK#WLErR*yus_s`m@GV2 {&EsV!yMP3&?ZC5-$ZJ;IL z;nM{RwXgqisbB&=J+2@SYGn{AO1a{xUa@VAy%M&aQLY=dZNmZrC?nUd)McLPKs04c zDK7wX3-s%3Ov2aBa7I5h!6g0B$<2%dn4-=*3GTB|CA|kgf-L2^02A9@>IL;UqRch< z(-e4AW+opD3mDQTWrX|N&q4UQ#+fY2+SB6e;gC-%uq8NG-F9jR2M`g!h7f01zms9x zRuOyH7^$@$yJzfTUk-jr&6(lL4`4#GPx6nTVVcJJhI$Tm#=W}dEui7c)B6K}GxT%H z2%5h;JbSGYA5q(ls{H==yCpY4?{YJZ&zx)-SH kq%Hz~fIl{_J|e`n2Pz78I)3Yeg=MoDv=%GMEW VUN4}Oi70W|H Hq zy)0XT_99YcV8<>002)*ddYMZ0^Gtq*zdZn%usxJJQ^=!Uc|mcX>qDBi|83K^+X5IZ zVS6!W(v)#J=x^kl%(0 ;)k4Fm`kR6C5l@aT)9V{siig_>eQ@63_ 2dm>8uJvV2`oMNqTnnd{!~{kL__ z3~o08CR)~qrg+irHUM)w0@#D`^ge|CZ3MaRV7$Ob_%3dH*> N#Qv_bQ%Hk7+Kcev9rLe?s+icFe5QWa{h@j1Xzovu^PqOrHluZX2 zCpcu(?E=~cWlKZxaoNw}D@5*$GFP`?6}V$4bgcjM*+|@->6V&`WBQAwue1eli&-xr zwHxJRQcT_Gch>Q$=a>xQ8NGwjJVl2ygn2R%!`_!#rB+XfMwe=Iv2}suta$YjDEe2O z=mbJnyuCsnkTk{#XiLnYya0)C0>CMBlMKGIu3jNZ`#H{2ciB%DM!H8E_)f0HQ94=E z2g&6ClVKRQU_~*Au$MX6l@9>hA7(JznSN9FXfAFYM^hf*D}sPrmkUDb#|5KBs;2 wOs^MTCiL#d;e^3`xd~T{P2&p;{X}^l2Ouzr_Vc>uXuQP1gK);f &unW_6m1tZ H0g;Bt`WWsuB9|qdXXIxVO=N9^~ zZ>4 }He9u6 pCFNpk4M-ybKk**EbMc1|poW9Q8@j&-Fq=0>_UI7}BYS(}1_R!_S&zWqVDA03n zru6SvR*few<|fK}RQNC2s!rUVzQ6VNm!;)hYkQaEJ1EG{53X0DJpBDq5>P!(9@Uof zx?baO&}v2+`|nyRlqIe@jqH=UvL{DmHTh*l?%$@EFn|JY$x8#0&nqwa z+h%Rp1LqO(SO*U@3}p$_HjcYeZvuA!0V)rjC&2T1Ha|$f5UWu3BGbqs 2(?z! zS_nkkqWwD$Q&Xnc+f9ICDgXH6-`W7ID9Gsn<+9=V%Gj9z-ci;CIbBd|i!UsNkrJ>j z356CUF32fkd1UN+!c!@@JUk+o9Th8ndaih&6=`MEx*=1>x;!J}0i-wW^^f#$(UTA? z-inm7c~-dgPzXj^mah1+d?~OiYvT(5^_rx9n<8cMo*3hApKI+M6ht&Iz^aJbxY;z9 z>8aaQg!Tm_na5<{&QG^CH{&z&Y}qmi%2gF7#X1NeU3a5aaWcXy{{akZ39`Rp8G9eG z&%^*w{`u>Tedou_2a>zk;JBt`?Vbr`@;^idy41&G6e*+ZABSrEL&tnDenzrX=Dd{7 zx--)Gj)~}d1OPtGI(~-o?qL$2WV KM;mo@OWgbf`Ve1Mjh;TI!y#nyyotfL|SMu_f%lIKT<42cH* zKtak3FpLY)SZBaSydTUXwY^OdWGqU6!kK(P-SC`}opO`5RpF%6C{`Cqi)?4*iv+4s z2Rdf$N=i9{yTUZZ!bB-EnlfdLLr4Tl3o%y~kWr!ZY)_y6YDN7IFeOmg!P_Sw6|5ED zvSXowytS|Q o*?g7yVv!V04HH9(|{ zKW!wa;-#Edq?EbT4M6Iikj68K=GW1y4hW=nLW1Q4gzW!|;)W@pc&fyZqC9V(_myW* zF9B0AVC}$X+u>n7c8KbLt5;|=w%LcYdynkGDpyVwj49G#F}mso;RH;6ACg<#?8>T) zP}yPc`bscxGi|Mbcm?ylu1JnISp3@efXb0N$e>yGL>}An@0Iwm=sXKDdcvZkA{VNo z+?R2gIw{%p+tu?bgVNJ|mhRPm$GX3hdjM|C(HB!#1TVDVC(GF8jEQ5O;eFWSxrYvp z%6{h7@~$s(i{(hW>>Jy&*~GF1%*QTvG_Axd@{bwA{(h8bfTHo%xpR+$)x=?83`~~p z4}6J&&dQtn-qAfkdsPIsYR3+SyrFqlM(OUl*_6Kl192()h-q(WO6B2qh>~v)+O|UK zR 2zFORftv^$%0*FJjeppfzHPS(r zy8aFlfZ4xuEpn7?u7oLIk7L~06L-Gl?=^cx%pPV)FC7pFYuyDHD<56=T{pw>4mCJd z$n$_M5Yr40NWC2E*Y;l0VJZt=$Tv%8bWh&DGJPi=0FQF+L^BqIb!VB`pt-t&Lh0x> zlo{J_lTDTHJ#-9kS&N*MSIg7`hfYA4!-GKbga%iClTdA0^@e>Bh9Ug1`&PL`xf_jE zleUVZ+fkdhj!t}S2REqx>=v@?FrP8p%Ss*}(vU~CP+Tm4dK0>$Kot-05wlE$uUH^0 z0$rN#d(PYxzU;{d;L(9Vi|B94r+o@H2AeT6w Wqipa+!wC)Av=?K}8S9&p_k)O }SU=N(s6Y(FljsK`qK^CSMcUXkkx$`yOr@x$c-pSR!Qujqmc9=ZnrUCAO5(!xZU zz=gYVX2`98Z7e9Ig~6 =(MovS>kjL#IvDC#I(~ck{Z-MI|n)MF=#L|YW#fI8a z%HUcK^So_mc!?ilM^wHXgn86T(w^VC3c#Z^CX=-N&I2u;4_;||fzp3UxrT3yK%>fJ zk;-3VSu{wL?R;2g`rKs{YQ4w7w-vSpT{)GVjt(!(RQ8bvHS>E(04K}G#5dmIz~1 Hk1^&+40pAG#0FD#;rR;tp+)~u9sS8JRd!TPx{`f2a6i?SctIk&sB6@pGS+c7S zYOSybKfV08f6o+oWXjir2-0V5jTsOcdIazOH_OT1*+Mh{L{_{lqJ#F7AMvsx>0CHr zFxyX?xchzGD(JlRL1820R47>;{Tz9}yoalJI>_o%S9MqNZmYmLSs_+tBi(sV0QCx_ zlu^qL*#>E!s%?kuQ%ZdtRjCk&m{PkVUjYkipBOS$AdLf{l!%ZSc>3wz{MY`$|MzqK zXMa_H15g6z9e<5~56kk1&riPvA!FGW?6e?*fTg1BJ090Z P7yPqmJUy$;Owfuyd zS8Sz#67b9kHU9=!e!!;+JmsIT5rc^FAAhRQE0Oz$jhMMW{JrMcX&*l#N?c3fQko~j z_Vn3;A;XqTFV6kiUh;ev?~08_a$g423!5mlEq1rG{AY(}N=>~$Ewj=UQT9wwjq6oB z6Mfw)Hl>)qcT~oGrtq!4egPE_J0;DEhf9DE96*M5>wCkZ8w^4F`_n0`ebCg)v1(;o zizMTwT@${V!gsjtC|l*3upx-_$+2S3rcqu;7M{O*rGEHM(k}}D?hcT6P5RR6#`2T3 z<|ja~(A{L5PBJ$k{TdA{7y$yuHhe_y(cNx}G$?w9UfbWc$Qj%PilK?P_h*aJ7HnT% zB#YdHz>#T#!uL%DdEl8Uowr|o;17#HH&k(Cbm${AA024p@aGt) ySZ!L z4glQ^-9;yn<7eZ2O1UXvQ4ZeyFIKFy&rMtAyfjySt)QG$STkJ6Wxr~;l_j79m;Tw` z24rgEKw;)(y#T;}<-h!&|7ZW}zXJYK|MY(dTWMeG`)Pl|Wm&*jkO4daSnCGn1V+Yh z@)f^A!Vl#K>?ru0GM1e|>4MLN!E45!QNqL1XM9e7hQFc)Vj;4Y**dmkJ}_} D zNv-0(jRT88fHk30R;NGv8zEz2u)`|OaZYd}Z*xWG3`|b+PPQrO0H@S%3f^G?X) ndCX)x*Fvc02rr}+%;%DVXJ#m)j z6~N&eq=V#qdo^F7BQFlp8`_=Kd9$6d4RViXpkS6?C#EUnX}i8`)XCwwSB3{qgZ9ax z>1nq_fDIr*ELUyX6x&>Ro-pV%IiP{zT=rQt+KdQUQ>K<*kyqfEed$f&4@~+}ib6eX zSEvAzJ!xs*fKO}I3D{m%KThLlu`;B6vGe|{m-aL_eX|&aY8GJ7X-z4klpR0|TC+O` zT>L<{`t!0lIwjbQL5XO&eBz(~=C6MEPyDC ewKQ9Z)zT23q zH>MB2eCMFM#&!JAwg~JrK_5Ty>d4d@#?V{T!J^f%k?CY7M2r}y1+U8N;ANT%pQyy# ze5dm=HqY$CNuw6@iZKQWPqd{=9w?{+g_jAwtx<51t7VX#gFIE4NLG_??^NDT1l^nU z$0&2}Df8MkzBKRqq;~=U_cZgR%zOvNzlh@Qsb@r*v#p5v+&`^rw$Fd2{HK3I)!X5< zSLDY (;-!0A7tzSclusl3;cRmCC zvLm$?N1tp5Y7##oya?NP5?kRkNdpsY8%30L16 >-^f>RWQ=OfZFfG45gZx0LsW#nBTv6H=41Q#wr+S`Xd2xsR>$ z^oBC8-JgGR*;|0)>!xo60KPB wZUb z${MHeCANV8m^CHcKL|w`7cxa4AVK;Jm}L&`rw95KzO|GH!g|#yWg=?vcJdk9Zv7MG z%w@a!@gbtbfVh$+Z#(*@;H`TEbc=!rTq;T}?NfbOwl&&zM_yM-lq^t>S*>VF8MW@6 z-$Z%IT=rexNuL?4*AWY*Tb6|Y;!<|--ak>itZm<&^>fFRmkZar1GQ<~QuZEr*S12C zl3qt4Cjiotdt`ml387y;9DxGM-2l+Ij&V+l!uO{W^r$Atf(olc1%AFAFn3tUaSo~n z!7YZqW=1cM{SFn7Q69yH4>2|_k9y+N^GApGR?>n6gI54UwUBNe1>M-jK_)vn=MAh; z4k`c{jIim}@*R3&RNALX{2nlIBhR$nw}6^2PhTGZ+~tM=?(6(aPrcLz4aIKcn=0h9 zfw@B&jR4{J-stgOKJC-k<#BNYB<}il6DW8>e2O3fTE>Xb1+V*Zcg&xGH{OkS#+M^c z+W;RH_F*1)VBwiXj=v_rt(vC%<*Rv8sk+q3tbX5kaGwf)G{1?(cAH!)?*qk}@<3Ob z0yqj%T8xH%zkSL{E!NZ(wOP96vTpGO1u13ZWyN-V){_G2UC}LqO6&TFZF^z@fpR8h zX3EX0z@<{9ikuc^a3V^TKqzGcAyHZ~OW@(Mwwr?5F~lC&moh2}0mNJ@xD@2|qT2;I zuh_TerpWt1rMz(6_uik@|7N8#YOS trR%_*|2u$FEgvWRfd)m8vk4r3*Rt{oT5XUo)p??3vNU?x;`;X>=R6+kfM7h8 zu8qKESMs>t!?vHyb4Q*T8xEiheF&ggfp% DHr()IHzP;=ntI!F6qo46sB?04u14-?^_-^J>tJy3o zZi=oe<1vZV>H$ctrQPn=w->}MUN*bdw|(KSUGM9z(*>g)lar4Ii3MEuz3 1DQ8;N3yBv4fW=9W==|cQlm*Vo&3_Fn6lkDmpKp3fBiol5)#FnIxb^Xp z_2 2=>hY0W-b5VQtA4 z-Lc|8rPQjw329L#dx2+lb64Cfvee7MC kYIOTt?dNu~9-CB=#>{ zJz*dTVIq6M5Og0SOnx5nh#=Ah<*aUk)j_@ummdxl2LYrDLU yqC^O6_fVH)gZz+2qKqn;5i#JA_;ze2@lmmH=zQwXn7U9J-Z$?Qz;i+u;MlF z$DIK5V_)4m7iA_GrC#j5r`@ml)4LjT*|ds*r*`N0GRT!5;NE9)6d-KSSaO{^0IcfegiyaZFcWhWokD8 zk}B-*VJLO0L%k{JLn(Lt%Onzzr}Kj~{N4qVLct|-ybMY-g0`=K!f8dX$j8Lv9}IAe z&0rH6VXkT!SqlP6{JK)X;c2k7$eu{k>W=Kr3s;ieGt-JLm(X+8R|i52jKj&FBTEj| zvG0p@^#BMw|6_J-dt_OtcG7OhH?%RPQN-Q!jQcW Fk}K2%ZTii$at&3nRUtF(wVblbpb8f9w9LcFDW}Dl8;|ypvh0+Y;zRcnj7a zSyRiL#R5f`Se}3EggFsurA-+Z8#ll-C7ZnQPf8uNSVoBcXXv_Uneq1$kMp SJzUm2x&U@Jo=-!$zC%7rD@ffGW zc)E5ZE&;=He~KWeG7p5q!bHepM*~Oj>@>5`J+94ZvNb=C6XL@YD>dx3+lwHFyxj8g zNQ=nQkUo-^K~4ntb>7?X^| uRvDks 9DEeQ8HUo&U4AaxgXQ^dfsuAu&59+^zGUD9aG zd1)8bs277!%HA!0`6?hNFRKV3uBEhJ^j`devTe#cN(rT00cN)!o?2IPG7(O4tghcj zP EzQ1b#7U-dbTU?U|y7)~%OBVZIF7 zb5ifu6d;T`i@Y2;0Tk|muGs?twk75|X@HkR4!B$