From c1492ae9c71be9867bafcdf19d54a0ed22c2a006 Mon Sep 17 00:00:00 2001 From: David O'Toole <dto@gnu.org> Date: Mon, 14 Dec 2009 05:35:15 -0500 Subject: [PATCH] split forest up --- forest/README | 30 +- forest/base.lisp | 119 +++++ forest/enemy.lisp | 178 ++++++++ forest/forest.fasl | Bin 601983 -> 209657 bytes forest/forest.lisp | 1005 ----------------------------------------- forest/forest.org | 1 - forest/forest.pak | 9 +- forest/monastery.lisp | 117 +++++ forest/mountain.lisp | 121 +++++ forest/package.lisp | 4 + forest/player.lisp | 223 +++++++++ forest/quickhelp.text | 12 +- forest/startup.lisp | 326 +++++++++++++ widgets.lisp | 8 + 14 files changed, 1136 insertions(+), 1017 deletions(-) create mode 100644 forest/base.lisp create mode 100644 forest/enemy.lisp create mode 100644 forest/monastery.lisp create mode 100644 forest/mountain.lisp create mode 100644 forest/package.lisp create mode 100644 forest/player.lisp create mode 100644 forest/startup.lisp diff --git a/forest/README b/forest/README index 86aa463..b154825 100644 --- a/forest/README +++ b/forest/README @@ -1,5 +1,11 @@ Welcome to Sanctuary, a Novella Rogue-like in Common Lisp. +This is the help screen. Press F2 to if you wish to return to playing +the game. Press N and P (for "next" and "previous", respectively) to +scroll through the document. + +STORY + You are an archer and initiate monk of the Sanctuary Order. Humanity and the four continents of the Known World have fallen into a dark age, where undead horrors from the deeps of the earth have scoured the @@ -18,9 +24,25 @@ wilderness toward your destination, Valisade Monastery. You've been summoned to Valisade for unknown reasons, and commanded to make haste through the mountains instead of the safer route to the southwest. +GAMEPLAY + +Your monk and his surroundings are viewed from a top-down perspective, +with North at the top of the screen. You can move in any of the eight +directions (north, northeast, east, southeast, south, southwest, west, +and northwest) by pressing the corresponding key in one of the two +options below: + + Q W E 7 8 9 North + \ | / \ | / | + A -+- D or 4 -+- 6 with West -+- East + / | \ / | \ | + Z X C 1 2 3 South + +There are four inventory slots, activated by pressing 1, 2, 3, or 4. +One may equip items such as a bow and arrows, or consume healing herbs +and such, by pressing the corresponding digit for the item's inventory +slot. Firing the bow is permitted only straight up, down, left, or +right, and the arrows take time to travel. Firing the bow is +accomplished with SHIFT-direction. - - - - diff --git a/forest/base.lisp b/forest/base.lisp new file mode 100644 index 0000000..ac93747 --- /dev/null +++ b/forest/base.lisp @@ -0,0 +1,119 @@ +(in-package :forest) + +;;; Status widget + +(defvar *status* nil) + +;;; Turn on timing after SDL init + +(add-hook 'xe2:*initialization-hook* + #'(lambda () + (xe2:enable-timer) + (xe2:set-frame-rate 15) + (xe2:set-timer-interval 0) + (xe2:enable-held-keys 1 3))) + +;;; The World addresses of the levels in the game. + +(defun generate-level-address (n) + (ecase n + (1 (list '=forest= + :description +"You are outside of Nothbess town, heading south toward the +Monastery. It is cold and rainy." + :level n + :sequence-number (xe2:genseq) + :height *forest-height* + :width *forest-width* + :fireflies 200 + :graveyards 2 + :ruins 3 + :raining t + :tree-grain 0.5 + :tree-density 30 + :water-grain 0.2 + :water-density 0 + :water-cutoff 0.2)) + (2 (list '=forest= + :level n + :description +"The river has swelled beyond its banks with meltwaters, and flooded +an old hamlet whose name is forgotten. +It has begun to snow." + :sequence-number (xe2:genseq) + :height *forest-height* + :width *forest-width* + :fireflies 100 + :graveyards 4 + :ruins 10 + :snowing t + :tree-grain 0.2 + :tree-density 30 + :water-grain 0.2 + :water-density 90 + :water-cutoff 0.2)) + (3 (list '=passage=)) + (4 (list '=monastery=)))) + +;;; Text overlay balloons + +(defcell balloon + (categories :initform '(:drawn :actor :balloon)) + text timeout following + (stroke-color :initform ".white") + (background-color :initform ".gray40")) + +(define-method initialize balloon (&key text (stroke-color ".white") (background-color ".blue") + (style :balloon) (timeout nil) following) + (setf <text> text) + (setf <stroke-color> stroke-color) + (setf <following> following) + (setf <background-color> background-color) + (setf <style> style) + (setf <timeout> (if (floatp timeout) + ;; specify in (roughly) seconds if floating + (truncate (* 15 timeout)) + ;; leave as frames if integer + timeout))) + +(define-method follow balloon (cell) + (setf <following> cell)) + +(define-method draw balloon (x y image) + (clon:with-field-values (text style) self + (let* ((offset (ecase style + (:balloon 16) + (:flat 0))) + (x0 (+ x offset)) + (y0 (+ y offset)) + (x1 nil) + (y1 nil) + (margin 4) + (height (+ (* 2 margin) (apply #'+ (mapcar #'formatted-line-height text)))) + (width (+ (* 2 margin) (apply #'max (mapcar #'formatted-line-width text))))) + (setf x0 (min x0 (- *room-window-width* width))) + (setf y0 (min y0 (- *room-window-height* height))) + (setf x1 (+ x0 offset)) + (setf y1 (+ y0 offset)) + (draw-box x1 y1 width height + :stroke-color <stroke-color> + :color <background-color> + :destination image) + (when (eq style :balloon) + (draw-line x0 y0 x1 y1 :destination image)) + (let ((x2 (+ margin x1)) + (y2 (+ margin y1))) + (dolist (line text) + (render-formatted-line line x2 y2 :destination image) + (incf y2 (formatted-line-height line))))))) + +(define-method run balloon () + [expend-default-action-points self] + (when <following> + (multiple-value-bind (r c) [grid-coordinates <following>] + ;; follow emoter + [move-to self r c])) + (when (integerp <timeout>) + (when (minusp (decf <timeout>)) + [die self]))) + diff --git a/forest/enemy.lisp b/forest/enemy.lisp new file mode 100644 index 0000000..43e4794 --- /dev/null +++ b/forest/enemy.lisp @@ -0,0 +1,178 @@ +(in-package :forest) + +;;; Skeletons haunt the woods, coming from gravestones + +(defcell gravestone + (tile :initform "gravestone") + (description :initform "The epitaph is no longer legible.") + (contains-body :initform (percent-of-time 25 t)) + (categories :initform '(:obstacle :actor)) + (generated :initform nil)) + +(define-method run gravestone () + (when (and <contains-body> + (< [distance-to-player self] 10) + [line-of-sight *world* <row> <column> + [player-row *world*] + [player-column *world*]]) + (percent-of-time 40 + (when (not <generated>) + (setf <generated> t) + (let ((skeleton (clone =skeleton=))) + [drop self skeleton] + [loadout skeleton]))))) + +(defcell dagger + (name :initform "dagger") + (categories :initform '(:item :weapon :equipment)) + (tile :initform "dagger") + (attack-power :initform (make-stat :base 15)) + (attack-cost :initform (make-stat :base 6)) + (accuracy :initform (make-stat :base 90)) + (stepping :initform t) + (weight :initform 3000) + (equip-for :initform '(:left-hand :right-hand))) + +(defcell skeleton + (name :initform "Skeleton") + (description :initform "A foul spirit animates this dagger-wielding skeleton.") + (strength :initform (make-stat :base 20 :min 0 :max 50)) + (dexterity :initform (make-stat :base 20 :min 0 :max 30)) + (intelligence :initform (make-stat :base 13 :min 0 :max 30)) + (categories :initform '(:actor :target :obstacle :opaque :enemy :equipper)) + (equipment-slots :initform '(:left-hand)) + (max-items :initform (make-stat :base 3)) + (stepping :initform t) + (speed :initform (make-stat :base 1)) + (movement-cost :initform (make-stat :base 5)) + (attacking-with :initform :left-hand) + (equipment-slots :initform '(:left-hand :right-hand :belt :extension :feet)) + (max-weight :initform (make-stat :base 25)) + (max-items :initform (make-stat :base 20)) + (hit-points :initform (make-stat :base 5 :min 0 :max 5)) + (tile :initform "skeleton")) + +(define-method loadout skeleton () + [make-inventory self] + [make-equipment self] + (let ((dagger (clone =dagger=))) + [equip self [add-item self dagger]])) + +(define-method run skeleton () + (clon:with-field-values (row column) self + (let* ((world *world*) + (direction [direction-to-player *world* row column])) + (when (< [distance-to-player self] 8) + (percent-of-time 40 [play-sample self "grak"])) + (if [adjacent-to-player world row column] + (progn [say self "The skeleton stabs at you with its dagger."] + [play-sample self "groar"] + [expend-action-points self 10] + (percent-of-time 80 + [say self "You are hit!"] + [damage [get-player *world*] 7])) + (progn + [expend-action-points self 10] + (if [obstacle-in-direction-p world row column direction] + (let ((target [target-in-direction-p world row column direction])) + (if (and target (not [in-category target :enemy])) + [move self (random-direction)] + (progn (setf <direction> (random-direction)) + [>>move self direction]))) + (progn (when (< 7 (random 10)) + (setf <direction> (random-direction))) + [>>move self direction]))))))) + +(define-method die skeleton () + [play-sample self "dead"] + [parent>>die self]) + +;;; Wolves are the most difficult enemies. + +(defcell wolf + (categories :initform '(:actor :target :obstacle :opaque :enemy)) + (dexterity :initform (make-stat :base 20)) + (max-items :initform (make-stat :base 1)) + (speed :initform (make-stat :base 2)) + (chase-distance :initform 14) + (stepping :initform t) + (behavior :initform :seeking) + (clock :initform 0) + (last-direction :initform :north) + (strength :initform (make-stat :base 50)) + (movement-cost :initform (make-stat :base 10)) + (tile :initform "wolf") + (target :initform nil) + (hit-points :initform (make-stat :base 6 :min 0 :max 40)) + (description :initform +"These undead wolves will devour your flesh if they get the chance.")) + +(define-method run wolf () + (ecase <behavior> + (:seeking [seek self]) + (:fleeing [flee self]))) + +(define-method seek wolf () + (clon:with-field-values (row column) self + (when (< [distance-to-player *world* row column] <chase-distance>) + (let ((direction [direction-to-player *world* row column]) + (world *world*)) + (percent-of-time 5 [play-sample self (car (one-of '("growl-1" "growl-2")))]) + (if [adjacent-to-player world row column] + (progn + (percent-of-time 80 + [say self "The undead wolf bites you."] + [damage [get-player *world*] 4]) + (setf <clock> 6 + <behavior> :fleeing)) + (if [obstacle-in-direction-p world row column direction] + (let ((target [target-in-direction-p world row column direction])) + (if (and target (not [in-category target :enemy])) + (progn nil) + (progn (setf <direction> (random-direction)) + [>>move self direction]))) + (progn (when (< 7 (random 10)) + (setf <direction> (random-direction))) + [>>move self direction]))))))) + +(define-method damage wolf (points) + [play-sample self "bark"] + [parent>>damage self points]) + +(define-method die wolf () + [play-sample self "yelp"] + [parent>>die self]) + +(define-method flee wolf () + (decf <clock>) + ;; are we done fleeing? then begin seeking. + (if (<= <clock> 0) + (setf <behavior> :seeking) + ;; otherwise, flee + (clon:with-field-values (row column) self + (let ((player-row [player-row *world*]) + (player-column [player-column *world*])) + (labels ((neighbor (r c direction) + (multiple-value-bind (r0 c0) + (step-in-direction r c direction) + (list r0 c0))) + (all-neighbors (r c) + (let (ns) + (dolist (dir *compass-directions*) + (push (neighbor r c dir) ns)) + ns)) + (score (r c) + (distance player-column player-row c r))) + (let* ((neighbors (all-neighbors row column)) + (scores (mapcar #'(lambda (pair) + (apply #'score pair)) + neighbors)) + (farthest (apply #'max scores)) + (square (nth (position farthest scores) + neighbors))) + (destructuring-bind (r c) square + [move self (xe2:direction-to row column r c)]))))))) + +(define-method move wolf (direction) + (setf <last-direction> direction) + [parent>>move self direction]) diff --git a/forest/forest.fasl b/forest/forest.fasl index 56030c0afc3dd7c95133374332b39af33cfb0305..5358a8d152132d4d92940a0f1a1aa3f9af5e175f 100644 GIT binary patch delta 38914 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 literal 601983 zcmeFa3!GI|-Tyyl?=vtk12ZBh;_cuZ6i`t_ybX{8jF*@hWRTR%3IQ*LLcn;-DQ%!U zZNVZayV#RsWf#+KmbbiMiKS1P`E>R7JXTf^JZ0jOh#>#Zd#$tf>^XDJuuypF`M=J< z_pIAzeb;60z4rIJzH6;rpE<2@cJshYX5OO97GJt>!TiicOBP+0IqaBA7G1XBnEA^V z9dp%!<Bqv#(UJvAm*t&t3ol)|_%LOeyDZbP=<@k<uRba>eZjm1mtDAENoM@<M`eyX z_Slm%#~y#mu_vA~@uW;+OQvb|*@7>+JafgO%jV9Lw|(iQmtUNjJ#|`h=86SNmR_o) z@#BsicihS2#*ZI2f5C;9&b@r#&ak4Q;@p!?XpvJVDg+#-xY4Ja-qbqn^l6z>W=}o( ztj1|G8c%OJx_Rcb8M95y*=MvhHBL9)Ijv_-n>oE{%&e~dvz2kG=xEWIA__Q5)GQj@ zma49(9wpy&QIqI25vh%$X`&f<|LJl`@9GC)rl>6+1OKx{sW3?EuPZz^pFoXMVR(4; zw3#g}Gh2^tK6Cb2sW3ex6;`IxVX#js>=*V+ch$jgk!Xo%foQ2{nJ6Q=N<<vIGNOw` zb48blh#x0Ph5fS?>1;(;<`{)85y8zNh?_5hBk_cjTnS&4Pb;iJUul%QP;{w?8ZQ>5 z!m3$a>12n~g@aSo14bnKm#fe!!lmbMXNrj9D#3v898sGHCiFdNTs6{&;~Ev_Z<|%w zHd+;_&Q|d6=u}uUtGN!2AmIjAauaqXIPP%fUU{pCIEQNsYeuJ1;oxja|6p1>tE*qK zo%qia;i|oLUL}qcxQ`OU+R;HO9Fh(4W$rsVOoc<UVOG~#RTwtDG8OK3(xB#$La8k+ zY926FzkS`oq=&)alY;7s{-fkiUYWNkOs~>UYGJ8coyTTG6^tmFV%?>nLy03Tn`-Vy zXSz$t<)ttx7an+G>gM#Pv%#mbsn6nm_A`1YxQ&Cb$~Nubllsl-s^ejD_eYET6vS1b z5bg)s4P%~9cV7`l+HoSPdPo(yC>kQ=3=!3Wc*3g>8AgpA16*2#OIB_={BO^PT^iZl zO<Twkep5#3r~X#`Oszho##I%L^b1^FRUJo~NE{bnQuQH&lb4o?b45slhr<%@;^0Gm z<sDL(w^$kEb**-J;pJ`w>L^}yebt?olMdE(Fr7-AdnP7jE9yU|aQ3itwm#dxwTjA7 zAPsRh27U^MNo#+a=c<NF7zD*+!*n*AZQ=PiqP2>GxKEM|fTu%O59mh{8EG$2vTz?Z z_ahb{?71owPMC4}NYPQVss{|=j^knjA{+G~BWzrgaS6kO$ACMM;<#jlsgcH!ur}OR zEC=icoag=+J@<C#Id*h96^_>+Fvtu8$BiG93MXU_H@8{#aMQivsPJ%g5#!+T>F~(V zU?#%m1O-+4zHg>M?xMt_L)@r=r5aTt3pF}f4GT?6PN889YM340CNaKEPK8q%`rTSF zcA$E%#NSO#>6HsMtoU*J6)VrqZtdJ$6IJdb==dM!#zueHc~<4pAo|0~cbJs>CMhAR z9H!rU)B4FB8Exu`82?OEc|eim`+z@Gqo1hqVA8Afv$H+D^WBwC4h)93%xX1*3>TkU zo129jgbN?vmTOlk<ORIU7syTJ#qk&c)tS@6Bh$@Q$y?IB;<!X^JWDsH7{2yRg{P%g z$)o$|blw+(M#=B4F-+Wh#tlC_A3OtbljW}-Q9D@<y~1-vja`}a4sm2>q~LLZ1#z$@ zpF}EN3u*USc<V`(Qy5+9f2p6Tt!emycSU!F_~wchi&9~;BofNwYPk0CQfR3y93N>A zy+8v%(@<)Z91E#2>62R1v=KN^qPnV<>Gx96<)W)aWWG$)U7535t6ld|I`yLMu%W$< zrK@MxDa2eNg6&dKMwDbp_(~B)xO8Mh@K=Zyh^S6RMD-Ts{ZtQsdp>-jT;ejKbMk)h zlnri)$ngOS--|>pjc`U($akUQ92S0HTs^2aJjaPrVO#4!x}#Bawx~(O2s%^bx`;Ts ztu;-DIaG`MlBMV94fBk=`8SLi0(I-?Es@REuTlb|%iF@y)dOMyoh}c@R<{_573N$@ z?gFtpPecFPMd#bW^Bvi7=7!6T>mFbY_i4O?E=Y%Ox43sQq`fQMHOyUR*wHS>o+2_L z+Cf`eMWoZ3T|Ew|@ZF&q73ZeH3md9`SuwUwxk~)mQL*#YbnS}U1<B3Xo*x6FVT_JZ z$M$IAFg$j+s{zw%G>nEZ)*0-`U1LW%?3j|+Xc!NLVK}}gXm`ibN0r@c<okgy@Vmai z&-(&z_66SL3*<TUYBdj@7jT|0kUQCn<Eg&D69v>eX^|eD^TO$sdg>O3O?v6PFaOe+ z!iZM?+rW(T?s4bA!QUM4NX^1m%MifB<fKmSF{D!Bz~d*5e8lmV=0SwRq;N)S72^p{ zq8nFes~dS>9yV(zxKeagI5WH=JWIZ-Mc0J06l#<2{i18b+2Iw<l~jo*nf$KO;T)xZ zK=eV;bwg9(_0=sydF%mE07DUeYD=xCt*a$9rgF57cq&Il!O;qa8uCd_@5dVxzAlY) z;#!R^S1eaJBRsRUALUaHLoInJkIGlKR8u{YlATLcsoq;fz$p^=q}F|k)s9-b0g;*l zcY``5lNFZ4k>1*$@`-^tv5-TkPNfPd`l^<mOZ_Pba?PVc$B8CYx9ned{RxwY?!%Ab zM?M-tf8eLm+*ni#UZl}5^5K#OZqlr-0W^yK0^|CTCechVl!H)mW7R16s3muhD*=vh zfa9drK@>)z6avgu$XzqwWToQZh!2;v?z20MEY`tPp}M8U6-WJfLsNg+MeUL`C7vu& z{SxBa$HOz!;qe=ny3w9Vtpk0lSKTroSrkPVt1TMm&w@gE0F`KMYn8j<=xO?%x^nN} z60ROFI0>PQVlY>>yE9wBr5zFuh|$$8r60cbaH-U>edq$p<{sga(yuV5d+1XblTI9d z;^_b6y_DB25kNj0D~q2SuW74WG^T!D1JA#yCX_%0;Q)6yaFxOjq43@+>QV>OFYu>f zt|M^I6S-$7{BXED{B$@Y9j*vF_fLgiRNgODw+tcO)sH$;3VEr!YbPb{Y7hu>;YY&G z@CJ>Rw~O^xbnER-_TyAUb3ZCVg<PfG{gzIvPrfd;cMMB~-w31dHu>*tj_*q<%w5&o z-`(QGB=0-?s^F)^=Ud@d_51DcuJD`TDiiY^*nihV++-r|4yT7>nI2B>mkPh9vc50C zJ>kdHfnSjC-sZS%l$z{9THr1}b)ZYRG~t=yZOVCnxH=u)6yBy@dZ0Ot=uX94zlUqW zPZ-#Pz~mL|A?12Fysfr66+WVhth0jaqs(vqFn##oWs4SP7B0AA!NQEJ0GFl0A6b#} zvGA71zbDR>6m7lfZg1G_)g$KsDeL{ZoO~?aeC!wH&2zXlADar-HyrfaU~ER=5`R{z z?J3Dl9wu;JjIEM4FUIEPY>sh8ime=}#6q<{H)lg+)Y_<VpZQTm=hnBkhf(8>&aH2) zT|Qm4wk(E6!^TiZ$L44v_i;1`=`}ZFYcy!0@w}Xy_F`0dvi$cBC&Eh7xjBj)rEqkW zn7^fSC(N(f(YaI1H>)4w`tgd6CN}b0$+f$;Mn4I0JX)9SKPjwT@fBr?w#C_Ovluwd zbVMRULfoeg+(3mbkGYt_)w1^Okr7^!g~uR9B{l!S>WaElZ&);uks$_OV8Oj{4l!qQ z)UhF|oJ+M5m#llHW@t3b=m#AyniAJf+iDA5pd7hrFGrP^l65GdUP{Y-20GbPqFs%@ z3}``zx{3^YpAw@Eq1r(e)aCkZuv&Ix9-U`wvXo+MF@M~8!J`k6cjH;F@7$>gq7kk9 z4EB<rzpC5L3-|?J;1#~W%Y1=n`2tV(1&;Cs9^?z`?+g5ko+_^nf5I2I&KG#MFYq>B z;96hcwZ6c`zQEbOz+-)ZV|{@;_4ImO!dHEPTYP~}`2z3r1>Wfk{E{#5-+Y0e^aU>Q z1@dC>x-!UwUO=V|ynwtxynsgvsELS8;ktA<-OYG!J_!qEh{Wi`;P9aE%o9_xTsE7x zG-4R!#Q)|V22<X-jUt4$bl35SyK_aC=V_7LWulB|zKA#5MIv5oU<hYKyuI*)y+lMl z@EOquM2&erc}e5KWJK^F?08)zKfITU-~~_8Tpbq6PhM9q=U%Ni(p-I9nW^x_>JcGg z0T-@GR6Sx4UMkcoqQPg2fDlJdaWfn(a(#oKdt&;el(hrP3Or?tV(KeWQiZBpVhc0e zVL4rdA695qt>!YoY^I39NKLm^A`-bWoB-c7h^EgK(d>C5n$ByVIGRpVsoiBF;%Ig% z{D<V_S2Q=ZRrG3W-Bd+3ifG;p5$vfCHK3`ko-hJKJPH>sxUPQV^vm2gSCcD3H5Q0c z;cMY))Yg9}kd+lohEg+)U74K5W;Q#e+3bF)aC<m9Jg0iZkmN;}qP)->xf0R_Ubou7 z&g_Kx*QmvWf?7;d@sBD&lj#9hDIM-GIf4{*3R6KqWLK=vqRntI=oPLFz0#8RbG^<G z(KB4xj40WZR1k`pQ9pvTe5s&PzYSFtsj*0NCH}025WUj*YE|uu9}6T=IM=>8nzKDR zcpnAlM}rQM6HVKv^O36gITIN0aC`sg(G75%zw_9e8n@=o+de;6XYGj5S(4p{bZ$d- zKWj(lwzn>Ozm*4vM^^I?b2EpYo3_>3291C^Qp}7}FiM`JQh<=_D$%%I+@r>=^K-%a z#_g29zHuu~=SEkzZh_L+8U4k`Z-|Z8==Vim;Aee-t9^kvUm(wk8p8v`ZNvlBDB>34 z_HuJKZL_*6x$}8Qxz&j0b{m`;Fi7{#e&ivqdmwp0!NG?(@)Cxpdypyb+=6&8#KVuY zwl!$pUcG&ifRj@}ovNc}=iKTM>Eu061Bax7A*4>Ptdw_Od7Jyu5DKG`;3=HSHXHjV zF|Jw70}fY+XNtkqbr4}1<aq3x3icOcIm6|ITe6yc4-Sx5=B!`@QLE$NfeNO>EphlD z!lNrw!NKyZ64Q#*ltbmMpQ@j!;hDi9a>E@=`&H(xwgKtY75zpD>;`d$1}aXqCbjl> zlZ364!d2BR`_V#LN-OAcH<}PfdtpU<sn(KKtmh`R4ro*ooz3t~Em}mdr8X2t(ORO1 zEl}&PR9rt&xz=<m1(F*iBlct=l7`1h)?NgMD>nRO_^IZQ%DRSxw>8(mop&Lna<9S< zOsNWox9Cn7BX)9-iB+j1<uq3o>&$S6xqs5Z5tM(6utys#6{pe^Mzax*(o7Bp$0%J6 zV)?LCFrI98g}GoP9!)X@$KmM+cc}CU@+#(dgVAi?p1LIY!opQUQ^5&ht_if@L{msG zQBFQNsFz=elSt_>7e;kDSs}qs0XK>tDyjGeIs2!ANjAhavhS)X@@cv&c#GV0XeYRW zQx!-BjrwgEJT*0Th&rdlU;Yg<h_^|RS)<n#oom`|Uk>(7q1lWB6x(wugUOrtO;KVh zBN{e}La^1sAgUar-{Nx_bqOrDQ9NbBWxlsgKfPv3l36ASU?;H5Ypisp8rznrl4+yl zoKlY$)reNF!H~=81!So40wR=n0bfz|y?}rB1tLFqaeTrT_@FQFZeQTdzQEPKz??5| zp)YWrFL0JGkWtd>%47x9%bAIcfbpVR9SqJ^5REYW?^p{A{~G=+9lmI-2D}Ow;u&Sb zmwGBSZ&Tj-FY9M&xTSRf!UZn?o>I^Z{EZ@B2ykGGmLkw<*7drCuH#5vBx)CBMDs<2 zFBcslS|-Yf2rtMJn2d-tr*16G$6Y3Ou4u8SAs=_OTvrA>uMoj2BLa^f7t9jTrJ`#@ z#21$3@}cTb4!p;SQo*??y)7&1KZTP}bNUrmbAt1PvzpGnbX&5c-<-A+oDXLfM+Wbp zE)(iMXPj=G$5aWOr&9%^^IRZ6I(U1W@163Y_PmSut|8L}YZAG)BGLq5E_F-ZPyGwk zp2Bvef_GB{i+zH*@}+_c_1n<@%l@j*dz8VbJ}>V<)u(nj;-Z^8&#OP0jXywbDts;3 z$@ALfw=1oLCRMxqr%JT!>Y~ZK5sejMq&(&|WcViDT}uW=FSp&FR`RByov+q>Fc|Y> zZua)v`?uznz8r0de!UxdRp)Ez_NwS@+au=cqbD|sXN7%*<xAKNUYow%t(!Roji;DP z@1AZhJ5N6HDDiEw`_?)TiAbS@xo6z{LL3ZSW;a|I25WdQyoR;EiiH>OkG{a?e1Z4) z0zc^sT<HsBa8j#XAD6xm|7yD7B3)NI#z;Lh`<J->Tyw5JWUjwl3AyhRIGk?OL>5m4 zO9*et_LJDZR9^JCWkjuxgY62U&$;9)2&2zkDbFf#l|Fa1ys<ual>(+dsC50DN(Us! z=tpZ|3&$^`zy*hqXhik^8-i-|e)1rq7gL)08Kvo3rJ^($?Zs$0!BOO5%r%X*dX3R( z!XJdU7zL(7iE8@?<Vb<}pd6#XT!RM%<~lqbhKIWBdW97EAp^7Og+&_eqf^mnAIp0s zJMCiyDIKOU;`U*M1pkN}t9`&;@i)kk_K~xpkIJ#Hnn*shj~nI2+Q&)-QUMctW$h!X zENdU`8DCr0KGYQqFEd39;k**vaM-psr;yj1ZJ{slpRav<L8Cyxc#+UPZdLFkJKR=} z*pJy8UIB;-?p4qzzv~yo2l|RMCvOlY9vosS<X(;RFEr&g6;uDoeo|DlmNZ!ksc=K( znxq{aSYHrwxhhF6)PPbDaKR(-z=tqtW<A`9!Mn=NY${o)B-zMrvsN+fP^x6o!dYGC zpC{L;F&X*iik65Lh%zFVwoLw|A|!?RqGb9-3TH(0F?g_-h%OX?BOjCzkp>1;=W@|e zqKpVU*tsJ3Qx54Di!vheC+h;9_#{8_Qg`xaM6Mq29VluM!2`Zv;R%Lx@;S9DBR^eA z8h+~H>d!q74;~U%4!q#$!tf%_wZZXC1-GZvOO?g$x7K)%4fhRCZj-20G%fGvULi~x zEnzYgOq-~+AD5jF^-kVJt(C=Ykk$d*7huUvKEl+CIKs0<tpni%qEY0Y4(=Gj#7`F) zWF;YLMt*8(V*9(iF4np5Z5?>FenC(kL<^H8I`lZjza<rXi_WVlmWgV>z!gkJa8$Lm znhv1C#DJp6l12Udlg(37!FMTYP^pZ47FSa$7uV5^$TQ`q$D!&G)jW(`Qle=CwWR}- zHKr}#s&A};lY_W^gA;Kyo$E+Ru5ZH`)(Bsiuhq<nlZ%4febqV$o^JXcKlxl$Xgi%p zm?}9DySX0?0F9fxH#Kb$vN2oI<_}VID_LkMErh5t8C=!f)x(7$7{^2t+7F3I_*adr z1LzKz(E`T|KlczBN$<Lzn!3>?BmWZ7rJ^fD3-aNNTrhJ*OGTNyd!<}3Jnazv`J#-- zjc!-V&xmlj$fd!5naJ@13vV#*O~k|BVcm#!nc`fT@Bl+z{I0(6JxY`jIliv!ixfv) zsS`xJt2d*d!)N3t9jwdi`hYsP_EK&}L_J6+59Px%Bce_4boC~VHo3M_AM()e7w7%( zbnPMkI8jDK{mvA*GF^QfFW2YrX%~?<BLYtu_`woSm^#Bd6+DvCt!EU(R)uGZ&Jj@- zVeS}Bvvu^7W4B$K)dc;M(`?LXJt{7mUmFv2$s@((hlI_n*pKAX#<vf_A+hnzaA4zG z@R$H;lh0;YuQ1bLk9WtLIjkQmoC<!T--hfb`;8r~nw9u7#+5Z@+gh87)eKf=$M$sX ziYEe16qVfGtF^v%S8sHNjP(OLU&UB|#*WTcwa~UsZ0rnGbgmK)?0k*Hb9Z#Uro^q4 zO0=8YCXZB=qKTvUHFlO<)7JG(FQ-lTX#M7zv`iG$B-gYd*YZMCInnr^&t33b-g46P ztMyIKW<nV7nC6<EUf=X&m3&cUqX|F0zUhZGCfsDg53g@};0Uv#mW!5ay2mcn%{6`3 zuAR*_eRF-&9aotg3}v~duSAuMP`RcrMwJ&B&llD=eNG;gG1r7|c8E3eb4N4c-M>LU z^TUIW#c4SBcsW<}C$3`Cp!qoyef=iFE6)$3M{`=^@NiY`)K_y_sBArp^PZ?>YfhbN zBBPd<6aE(y{>=&hhJ^oxg#Y=3|G9+!R|)^K3IEdx|C0&-;|c!{6aI%2{s$8NdlLTd zCj8$_`0q&gzmo8OG2#D0!vDF1|K@~$jr{9R)%h}Ysrlp0g;*9mIUxGEnQ+uiT~)jM zi|TawYHF8%!20Ui4=@)d8pJ@<%^-Su)8lrUG#d?L9Ev70GDQ>L$FEtt%zSCnc4JUv z@HR_NI*dn;#`VUd71t|_NB3?{o_n)|?E2}C<;z`3R9x}s>5VNrckX;+58kbMWJ^AH zITG^^-WZknV3mHNN}fSIcTwfXjYm_<yYb|GECq}1C$G-1Y&4vB@<yBRS`#kv<k{zH zH=n#qOqp{H&+?NOwfrkTc^j|aZWiMYZ!wef1wTGh#h(~5cj3ZC^WL>c$5>soaM6|T zT5#c2JN1U}nu7SPFYp;(;5uI*c6zTme$yBD1z+H&e1WTcfgkV%UhWHgr!TP87dX`y zc!DqRXkTE~7kHpAu+A4a&=>gMl99ab$ESUP_xS=pXMs+QY}Uxl8{%vcGMJkXXq#oM zLPJRd10i5f6FEFG9Iq$hNJHqJEg}wn#Nh`=9)z*BHJ|jY>2hD-`+b2+e1Vtx0^jWm zoaGCg;R|f?1-``>n6<!v-mP(nX9bGAhA>KbJyLUhfh^PT;&_HHkOg;M99aSA1w7mr zc(5;Us4p<>3w&9Ry;oyi@C82W3w+!c_<%3)JHEi%e1W(40zc&oM0fD&@MXS0rd7N+ zHVUW(WL45`%(O`Lh!k%HnZ5@qN}IqJ2i#!xkO1B{yf1iH1p6skX5<>d<P4IN4sKIi zw!b+bEtT!BxyHfpjbk|&lGs|sGLchfGJPqLNi&Q4kmZYtv%WZ0nUy*uPQ^F6O6$#G z!fJq_@~l$LG;uSGICBhFe`o#QPf;gThG*nwET;<BC`!I6-767=EPskumCHWdWS??? zoci09J~f<eCvF*hVMLG9bFF6PWSV^R5-dTq_V24e^&gu=wFsfrth6R4xya3yox=CF zd$)tp9-M7m{m042bleirToD@e@gk;BQo$i&u8FlS1(FkMRfQ94hf;~r`6Hx)47tXd z)@H|cFEKN@%w*a~0o*}S!C?w8lU7e;SM79_MYT^8(HZz%UuWc>Dk|0gTEH$Qb}<>d zY_%|5zYPO!uNXU6*-HG`RnD4-Ykz-YGx?rAJ1VhgnOT6uO0wNO59$-j?)8YS^aU>W z1zzq8yu=syE?*$m-K*7;e1Q`L)ChJgw+!bp#fLE+rx<$}Q@Au-7Pe2~xFaot;Zf79 zG0Ac!Sm$^-_J}<0R0LlhLLD&@oIpx{LJWT`A`m>9OmI5XNuZ29j}&*O<1d`yhUY0l z2M6m%6?#qK26^R7B4%57g?V5Vo@}G1$k|V;|4IGOBporbJe(2iPiRH>;Ym8v<AyLd zDg5Z9Fq#yu)JBwGJZU$DAJd|xbT%HsP9^q?Nm{9^gEiK$psDb<nJTlOsS%tOG=(?o zppiRuObF+KnDanbyu?2Z;Zp@t4X4S`=*7Vk;l1H~wpJ`)Y9i)={J9;$X%@}idOPoa zhJ36kI#X`Ers%B-q=FgxEuX4UK2?MBPs^ujRPmCWDnjmZLyH@D7>L@|mQU5_vwO;? zYV_GXEMN6{A+sXZ3&>^^FCg3ZynthUf#p**`n=ZVQ#JbRo+FhiNpg_{kN{C7v7B+S zf^IXF5pv9_8u|TH)g%1R0vyq&BG_{m)>0K(zf@CfQ^VJ~DpBz+6fG3Bix!BqWL}uy zKz=6jV`R#0t!7U-qA4aqgi+oU!HFPF)=z6)V?LfVC!{j-i=TXFh|JqXF7Zwag&%LC zaEp}H=1R0X#{!mQom72e?I^jtq*_J9qo|S<R$vIbbhJa4mm(2NX>|78-8$!hLQVB5 zwIaX83aOlOaN&*Xnup&Vh3U3lO--b`y3=fUNTR(4&So*m`{m1CYwL1t&$`tAL168& z3RA|JCP(L61lKA@YZc5`5alZ4n7c}88_nTLMw1|kzM$Ro4cQ12PrndPce|HAX~ESh zMHT&ET+!>~tM61DOkIsHU)^kAZi{TCxiPX~xGh@|EE7DNHg`j|pSd5hsnOa}c0KXx z>GYt?RFy+@sRNgul{v0n?z*AjQ)e*L*Yzbh;*&D~@FE`=*Ddrne8Cb&TU$i*L3WyI zaR7Ih<LtN>YEy5vr25+^E*+k0FKK$vLG(5CaqV@tJ|*pqw$|6{%Bi`-T*1j__RTgg zJ5QX4y6$yq?VIIlPE--&{oS=}QQvU=xLRCi;@@;3onkUts^$&4FVocn24U&qM&iOa zmm7$FqcAGKP30~g{pcQ+kBWzVsw4TBExZw~UBi=isT)aP1Vh&<7&0KzI`A2h!{WML zpi<nY$x$a2tfXkOsBD#dso*C4Hq<Q*#|{;=#GmG}G?8`1$ty2-a?BIaAEIA(ZmhZD zpmW|fdu4monExFA+i21uxoZ!q>3lTZxiQ`T_w(QRuIPze#}9Rc%(ALn`@@^Ul?xsh zgKLMZoL;k45FHwsYkDEq^4uo-@rP*6bDe)lzw#S<I^yJgR1LcvjdK9(*)V1;8Eb*o zH@#?`%{ce-^N*(I(zPo%9&BSo)}|Mtn!0FuT{_qDeCN8V2J^v*Ws4ik>X>Eo8qATB z%Vsy2RcgzoHJCLr%O*6K#c9jx8_dGAW&3WRH*$?T);F3(NYSr19UC=0pKIE@X|!=) z+>|ly%bSK9ck8A)<8I$n6?HtnDU8~m@7z{VyK13U0A2qY6>V2<Y|bfd*!3Nz`t5&< zrtQ!=ijjk#9GJ>PI!p85lU1nOI_Yu7j@wI`KWKhK#A!Or7#D6Qje#ST$mx;o&+h^_ z-T}32uTPGn98edlPv95_)B>eqKrM=k9??mi{cBhJO3;rszM6e)(hx0PR3Kk}`vsB? zEo|cUP98WJZHwl-Y_3`NF_<;^<3Q8G<`-&3FU38<LuJm<EUe33-X<Hhzr68E-4s$b z7(95sc}{7Ndv?3c=x=(L>&2m`TC-gvftUWX#TWQ13*2=h&02v0jGk`P#3dht7q2<4 z)mTy6n)SY=f6Et$H0{;!`MyBJbuW(0w0Z%tnRo%QLwN!JC*=v;=nH((7x=IRdfpfN zHR`(afH<Mc-48r0#JM*v_X=-Z_Yy_E;J$J3__?p(M_SvO+kI=yW>od6XN~vRsux;n zYr3y*O>2CC-uCzHs)W}a^|CK;voG)kU*L1Tz|Z&sy^Y|A98%L6ZH#yqp4*&8p>l#c za-U8q<7VaN<8tD!9`OcjtJ1UXRyoxp>ZXcCqli0%l6F@mGMc*Bec!MvuArmG3v#c4 z?9$|Pzkzw#oQ7-HkI*`yE%>%vqZD#h+k*s{Ga&E~h;8^DCK@%7z#{~hIv}u)08<DA z9+fN3Ka^v3^8X0Wmh1p69(YV%_FM4o2wUUe;|j{Mj{N;&c~_|)wRfMb5_a#tnOX^c zqOiHLn6Cyn3p^;heP8A)&Ra`v*Eg;D4hSxn>15N50i6^)pdamQe-i&FJ+8$z^A9k# zuYVV$*k*ooZqtRy&HQ(Tw*-_abJtJFNBFxo{FDn*w9=n;;qTcnmN$dH$A+KDht1&t zKUYBg`m7wOKmTEqa`s^S;1>itoL=)wg~Xoset4HT8333$7U0*4<5+;-^h|SS0{oWf z4tqP$2xr@Ko%NjJbdCR?95MM%IrgvsN>u!R$x)X+Z$rP6W7VtQ%ZFj_4{~F}-U|w( zf<NlFd{{vFumCd}8*#IISin>bfJjqrn#)a|*zU<G#Y+%a=nI_Z3!LQ(ME3KlV^%=D zwqMaG5HMaOX4khW*vIU8d`dO4Cq!>C5g05{#-4NL+Z0p(qSAD7nR!v^RiO#xO^Qh# z-8C>dp{$AA{0YSY+3mb?ZK>Hu&v|5&J3A!qkWWW-QK{td#HI>5sw+E>rEsqcln!2t zGwqa*<x~}+;=6`A37bke>6&{43A;svA0el3nyOSIQu+v>>Sv~<0{L`wv3?sWU-bBJ zY5u6<2UVOouWRcYIj<|86Bs5ooEO=yDT)K+Pfnxk<!J%U1DWrj?pn!s({loUR?EDe zl52f|i!E^1b^lj8EUH>Jn!V9EOL&@^!OiO)ZHX3x0OU`F8Yo$Eu)@fawQ?m(x?r7x zd0BEFdGoU5zVaqz$sr1x(vT$wI$07_{wS!DgG(<NvqqUzonhoHB}EQ2QsjPu6q6!( zyiM~8rASyy%G%#L!{tcuI{+>mYdaJVi>gN8=`hVvKOLx$A`db!dn%Mg8u9O7MI-*P zL_aSY<{3E&@K91ZOnbyFqmbYu<yb)v_KH7Djs(4W8)C<S9o0t3hoE=3+*r^%LV;8; zTEAsMuPo@51wG%v{Qr-F-YFUd0>+Dkpx2;aAA(*QF^4xA6D=hKyvbrwe|e=9@L2Pp zwXbHb!mNU5P93SN`mpFQC;7k*2?>@+NN!q)qL7|=@f1o_NKw3$h-aRMF!?4mhmIAq zN-AdPn<>WGvZ;y_-X_IMIHoDqsRg(+r03VT$>XZ-nnxHk)3VivR26n8EuNZ(<eM;{ z7^bjS=uszXBxihygXbIV1|7vnR*G{i2<}PgqRt5Jl@r{@&;9&7z|U#A_~tt6O?5i{ z2YbZob#;bfbuNuW{$|}H*-_o=HmVCm{+}vqUh<a^K6vy%twtuZ`9z8NW+{zp6mgwA zrG7R8+V^9#eA!d#XHkn&de)-8Ubn4^o@SkS`H<?vewG$xOb2g`8MVrXCNPuuH-2Jo z;Z;rrXHkUF0NCr83flDBaM0zIV>4=Ri9fT+;ww?p*3MV!YF8Yh#^vTboa=ZX*M3i~ z>A7gm!@K>>k^)8G;k*`5r3xg@f6vW%IR+lAq^P3=Flu@^*Yv~OoW~o6jTEkSMgO#p zmT%gADw*ayAWdU~d=*$Mqu=B%*qXcG$!N|!J)&RA>05b9X@45M<mcV^_7`(=ens3b z;<((LXWiErQ<Jec*DfEd0%b-wkoBkTATocd2IoXPE?eZLX*t<l-?k&)B8s!;<SS>g z(NX)0hKo)($#YQlIWOm?rlKoS(PQ=ti(k}Liykv&w{u~lGg8rW=3L;Df3|Gjo$uQb zotZK=-f-DprSKfk8a+DZc^$kFJu&8Y(d_Nf`?p3*U+&yo)48e2_V><*GO9+Rg`1;6 zJmOKKYvD;Mvd<R&uviPRZYPi5H<!Sth0Lw)-4=F#X?`LNEp>0{>zMIP$f|*oz-XPt zjgGiqp5=(>md(kJZ$>RI=4QMY4Z;qdo3S}JO(&f&(&VPS5H&rQoA!L(j6RyU?(ap~ z<3>(ydc3{C7BD=T^JLWVbkzQ<sOedA0JY`vvf-lJiq}Emw|rEohw2ocxWpTxInNfx zy%^~^(%OrwqNdH!sXJI1f+wXo-I%ugp{V|R7}FN316@>kEfwG`S?UWB%2E7o*Kz`T zzjJ5sCDNA7_QtJU@r?LIkJtxn1<O0!f{oq!9#O+EX0_UDG#tpS*tq#MofPv9_8I7q z8fM<2$=Hsfi5Ku|PbcD#n#WC>7AVpjQgf;CXw}DM#-rB1&v<l5O}jij4yiFy4Eot$ zpVLeSudhlK_yfPsPBdts^_o67&KEew7ntz{?(Yk%@&yLI!0j41y}IWgzQFv^Cr;!^ z$|pQh-K$0X7E&OTwyo*#Eq$IZaGEdhcnjRK?b)ICfVzFpGTmsIGN4Qqm7W}b(iivx zUts>Eja?W0VPB3{`U2nU3w(z!aGWoYi5#zor_vY5)b}30FE;EJ(>=Bzgqy)G2w_`* zS3jNe&#vhh-<s~bTQ%L~axpu~_1i6`d*MQHG`-h_;=2O=_vv1!>FK^T<qK#2HTAqu z*}cKEZf`JsMGxT~Z~pU^X``H}qS7y#$9;ic^#y*x7kHg7@Jb8xd=>A-1%B`Jt?^p~ zlsWk0da2mS4q1azjI?s>3a+9b#nllYYn6p>O;%Paz~NNx%aETUVN14JMw*-D#b)$r zlAHJ;CYT=krp3NfW8W0#lg-62s7VE%QCvD*-Lj9HtaB4}Zq^HNut|i7I9)`%+o?bt zdIjm+UvagNG*|?6i`=~7>fhu|8m>OCu;~~KSJlpN1<HNHgwnX++`-hYm%(Z^;7{<g zMn9S|yA^*a(^a)GU3Cdk%yh+kl<E0|=_>dv;9J6T!&`JEZc{*IFdre~)t5-Zc=ZK5 z7_YvJr^7T!^K`c>q{y!rm^EHmq%mH7RnZu)zSb+*8Lz%hN{4BYxZR<U;NOsAjaRT& z{GD=Syt>PVzA48}&V5Thj91^58yl~_qks+_*KgT)RW@G5hJv>8Dy6>Pk2#G!Uh>vL zU*J4n;9gs$^q5A0fbk+>yjrhdY2(!)A!9M4J@%0zE0cb#?DdQF!#5QV;+4SL?ko|0 zXH?<!!N5)&mJtSbnDQ#&)k8XQ)AC_nKhEAm8vF<o4^Q&&>d~n$b~%)+WhY8P*UO?c zq#*bHYOQlCnu&35GKzs6MEhJ0SW^wyySH0w{}zQny6F)r1cEqOWX@6Jljl#>BrP&5 zg8Fv>to@}X*_ocUm#4^WcJ4k+LF4Mtm6ON7Q(paTstc0A&y<)BeyU%a=Nb7hv;3U+ zH~u~NWWBY77xu=)@*nc0f?w#jp=NP7migBbfAKk1wJVMioQY8V-$S2*uU*c9UOVYo z<30zkdE&yASIHe+`JHY;jZ~GBJHSBYznZv$uSz(+`HujX$nlSL;j*_!>)3YI-tW3= zULCls`Hg<Zu-G>d{VMTLT5XAEz!Q7aMkzk(P}RrK*c$yLCg8{KTscTF6+3@cyYeQv zB|j6%sT!^#lX(m@W!}4&_u%@rjemcA=gv3UjT^tK%u%WDL*K3HYxdtYr|;XLyC*fz zKN*`(k!JUQ2&-81oNRFGqNnV=9nIFa4u*7Y<68%_cXV!h>#`<W;?QXFMB9NfaO7sl zx?pbBq139|G_vu!9Yv4I*1UT#;-_A(C&Yg*;4!|yT3_H_^-y{hou36`=<WNZ%mxfE zjz91Pe$p5Citc@{qW|g(<U1Tb9PJUvyPW=*q~2>=!-4`Irfa|G3;e7F@(SRc$Sb>1 z#2b)zs(UNuPio#}H5oSA*5o(B!Km*mez|Wo7x-55O|N?OK9F~#TIY2wp7#ZQ-xqkN zFYx2Oz#Dvl^DWTxe%XtYHq^kY`zHvfNt=IYT(hE+j$71>OO0k+UQrx!)mFJ$rAtuS zzj0REL>-Xws$%()s{?N%%tXj*@~jeb?FPfDRDY`O(W!Pf*mi|YVN8V7xQP%@`H7Go zf_JY;5I5b?AdWqS&(RXdc8X20=?)_oo|l;G2v@7xi16XLn(L^L^bqh3SM#Ikj+7$g z1ai!*$Lk=O^$3aSF!k4bL|P$5RvMU{^{_}Y>(Niq%zCh7#Vy&j$!^x8ij)pckQ^YN zpd4UtXFOo7_-Z+t@u;z(L2|5k%c>M+JZj~}Gaj6iuLF1W+c4<V)Yu_hfZ~5vC@m=> zU{7a(fce0-du<QnJ#9{ySU+v6dEuLLA&fD7q>@T45Xei9+oOpvC@zTEGU^hiu`*i5 z<sf(5i;SI+5PD}ptnkQE6PcFSPbMW-uvl@6&v7GU_*wEt>Zb8})DH9ozOGhyas0b4 z5V6>c;}gEX2YrFanqEcU><e7&3(WZf{|`-L9HvJ*U=T=5W7I2nQUwQL_hb2yTe;aN ze~XB?{NdMw++aJ3ER|CZms9@>rB4lKcBL<pXOU>G=rWPE0w|q%h019PBK@HE<DVhY zXHKUf30)#uAj*iAiU`AkUWH(ZH6xRENn0i&&k|8aM83r$(ujMnh`eA(%ZOY#q`UIq zTP&XHQ!aG52ws<pE*62O{EW!)qUo-@dGeF)%7q8%P)6j!_~8k5oJiXw=&sqp2+7s0 z1DX`Y+|3yx{9Fp$Hc_LfS)}28tnz3k<!1^dUuJ^}XHt%YcYKofQREtDE?sgy#N;w3 zdGoE7_$2Rf3NRCL43S+m(^VEVIZedH#7}LYjEMM|B5FykbriEQ+F6hB^68{y{Wc8z zh2QDjwJW|XCU5ct?*|$Cdn=wjW;I3v(PGa02lR@~fJDQ_IMC5O8Sd_3-|Lj!Yg~K4 z7x*1t;4QwuPx%57)Vvz=K3^aYkrzj9HZS0*zQ7X<?>;d$z~%;ioF5o?Y@&!~F5# zGj%dIW1OBt66G|?369WDctsYeY^sfBSynhpXdZDzPq$7J(e?~-o?|7PW}VZmbA}uV zmuJf9KIfaSBb7Sm`z@robH3xz`mMzFdCvDBW9pj$uID-5_n1SxO_2z%%^>1Kyjv7f zom+`C)2uV)L#8}SZY)#IQb23T^;<r~yL^au`4Df<@v3}?x5nYwB18#9i#ejRMMel( z+h60b*SP<elqc{BU*I}l;N8B!+kAm*eSzgeymhCPzI(PP)$8tg$`{DlmtGw2^aXy& z7g#>TTRm0!TC)gM^4t{?K#Zu8(0s2{Tx`Hc$VndJ9XuYg_RMTYOsX?Ij~BUGx#~|B z5+nWqR|_{*p}d_VV$33q@ynjY4aX#^cwX`~id<faVAra^>O=aGzf}YRRfI6Iu=Zv4 z=afcDB@T6w(Q~?p_*OGHN(u;Vm2K^Z4o8F=WYO7R-MT+16z_&z76dq^=gCjOXNo}M zrx3yvO2x=eUgF5-aOkzIl~f?fom{L+FyeFTq~Is&)z&n%A+Ix*NZB2ugru@NxKP<$ zu0FEM1_r>Cex_)*Y@kp<l??k~au^x*Bl1Z#X0?1$HKvUEP{S`%+BXQ34pzi@a`K@d zf7HZx+xR1eb+E908|qHq)%m{mgx=Z}9Q=}-^FpNmyKCdOGn$&79H!RhwOtjSob)ti z_ON!vEh;6Ns!d!QO3vYOo;Y*3gARsUqpYzNom;WSHty)$sxQxT7H6)hdmH9RU>(}@ zG)kVrRROs<TjSbU9l8Y2ZIwHSon(1S`OAE_ea2QMiuK|8X)>HMpPQSeEmspM>mWki zreC)L;XS%saiJ#*Q?hm?jsI~jX2A-L|9-raO9VboB`Wvf_pEN~w!T-tP5pU5qPmkC z!L+N7Oap5a$~SNiE)giUSmKSY7})gf675>{R@+T=(PV}M+Qc=~;XbBi%*!M$-Nt4u zJkaF1`M`Cs%1oojKZEfN_Ik_K>GAafa_W&6kQ1r|bVD11CD+IeZ*F*MoAsuRq_^6V z;67F4-YIT)c7t)-T0TVPRrjNPfdf2&yJc5@P4~4|HUHoX{EaV=HAr4Xf7b$ceRch| z_wh1pTXU;#=^yb0e!v$v#~0Y_3q0NzIK&q?z!$htz3FuopZ5jc>kIs}FVK5t6Vrqm z<9Vn33)%R;AxXl@Jl4iPST_DU6^B4{mt5KS3ChNAoYlq&*y3toI?3Xj3Z#P%xF{LW z4FfIo{1z$L{l6{GDs_?U{@;~1Z}&$w55B_>LKk-b!Oj!~%G&({V;V0!2)2~Df3TVI zyj!`8nfr}wmo)bWN9b;KN21EG|2<`tH2!@#3f%*nyPR#G%#taw3=49f9Am*x*yc$R z;(j@@%|Bp6KagW(&<EvX9u=`9o=1IH0Uf@p-?D8U@vpc!zigZDsmygt3s2aAr%_Jd zVnx|DuP!Prb<Oha$LYSntbm%Kct($Qz#x#Aq4>Fi);2%LY4u#d_^Qf}tl^|kWJIKF zY7f4v|CRckD_SO6AX*|K2TzcWk{0{YnBxrQ7ky$T7|bt)(NOm*Irb~twQhL+wW91- zw)>+(71Q~N&o3~jbJ;j<K?@9?lav3t_ROxziv(OKT9hZ+k_y1E$ZJ;DDRhG~=P#9? z24_UYI)QZ3U<PCSbdt+Y*yRK3I*<y`p_hy1i!vg@RK}G@8hpu<5s^+l$M0(SUHO!K zsmNh*$(s?uAHJl+6WL*$NT+bq==@TFfo+Q7sxz<Q?tp3XpDj95<aCqZL&{}W7O>L< z2=F<g*`g#=R>$WB)?`bUQj(J`b%m2HzoRPg%7WjMtM@m;O)j&t;12@CD+^vwfQgeo z64^Cqy2^45p?3JGA(RmnyL(c>pOo3IF8H&2sbGVC%ijjy)hNGQ{plrCbK`jdd2+mf z@A3ump7P?z0&Xwh1OYYFzQirl!?^#lVtO0*8CxW$ktpYX$b}W3r%z!HkCF2V(bkI3 zGozTT)_K)B+vI3)d`(Wb75_JcN_?$*3u(@Z9}kJ!iS5&hUuQ(x9pHLc@q_77>y07b zl!_t$bwIHpf2TsKc15Kk%_L|_J_OJ}ZY+R?3TVZue#?gZvLU~0$oCv_%7%Q6xyTnY zMNZy8G-(pGl@0lQD`RCtzV4FJch453dcF9c@&%R+`F(acm%^*VPxJ+%iF$F&8}dg> z05PIULQUrI!q||HkW<8vU)0{*)0lsx*wphW0F3!VrmJG;L^PT4s!`M`a+--#ycyT< zW7TGS19zUtjBj#f)2<#d6m^^!Qc>98$npSkl8cg(M@thA4!o<0)70P<Tq&V$Qt+%A z+uV<8Ifhh^3}l|vJQ%Fw1B@hU+#;fkWb53hOrCJ2l<I(q*XouY>-S+oLv&KJD+YeF z-ss}e88@kFNu6<@LY;BEI@%iOjq*ynVCxL@#q>PMrxVC!<kREjlac;K${E*vmNMnU z`}rpdlMXol(&jlqK6K3!O?<bJ{v?G{!O8k<sM~kfM*0o<jBf3UhgI^P-iZG`@pL9- zvu~>C7IBuWN9(%n@>k1_{Fct0*yXR@(YaH0<Z<E?J?-|T>tx^Bl^ntL&~Wu|^t4X) z%`MEPSBi{{e&?{Gs_Ig%T)U%R7u^|Utu;Tos=Jh{Y$^Yq>aMNb8ef&j#b$o3GWdo- zW|hIq?#N*A>A8yFCLrhbk7f+G{#8B$+CCt9bb~lmjQ??Tb~Nabzf@0<6Rm4}<oW)& z83RUL_qL;M8NV)C_sH{nRQ|EQ8UKbM<Ja9gUzwtHul(+j-v^!B(zQ1(C*0n>K7oP8 zY~(kF=Ng6ncTDOf7g%6i;zCxQOwD>P2>5`a;|pUJAS5n~y$_siowX8-6uM=MZT$fG z3n$1o{*6uj6PuK@@y`h}`v_xKH~Zr8^|HEq4bH#UrSk%Me?0bnUyh&l1-APF=U5=a zCcWhbb%w{}B-tLY_0ROJ(hGV_y!!XI7P#xW8%wr1!=D?c*sFn81a0QQ;TDA^h<LU0 z>R{Mr*q<(fhkJdrt@*HTZQt$-Ji!;}ZGNus<hWaF9lVV!cc{O-uII;nfj9U987Eb= z=N<AdWPzToceH(>TMP6)vOu4$I4sa}NIQlfVq}Xp&T5;kjplDtY}$x3Cd$Z7)^}8# zX^Tb6P<@W#st>8<=57+vRZi;TLE%Q{0YL6y(jC7W9C&ERV|l4&=ZP1V?YGNar36{F z-yv__vW>7BoUgEH7?$mQoDBrj8?kKfW2ONwQ0`)uZ6gpBwQOrz@SVye=UsAS)qXcD zVyiY8C4|kjkPGD$TD3_MVxAmXwddQ=0y$OyyGTAJ6)%<>PbyxbKq|OYzh$d7<80we z+r9tGJI;C7coXy1iQhD9y$9T~Ra^arvRAwxXDP+&eZ<S&3z!v9rj~2;Xa@`e33dJb z3R<hSF$y~sl$tTrGK40K!b9AE*g>|+DIbuNy=H3O{Hb>U5h$xH9M4u{+mov2kV4h- zgMedm<#q5Ho4qDGwp)udS&XgndZos;$`2`k{@6+6u5FdY8kGu`E3>s#u8>db&h^{S z?;4MfY)b8HZ{5vZ&{6(quI&$wR+lEWKkx2tWsKBb7ahB@7jUXCaCc36H`2pBOna*o z)62BS=3Elw+(Zs*zvE6)%*U+raqFy><M#9pRO%;e^cp#OSFV-QZPvS%Pzkf%O46KJ zFTSZiNo=2Hy&>j({wZ)h%z8Rk=I(HMIM%L8lg0jKK~%p_%TdKXLxy|9`vOxZjDDXb z=7I3x@V46ORPZ^AzJ*9Lsq%UGct8J}-1z<c1qF0Yuzt%%zp~M<Z1nRS-pWQljqjzU zjq>i@KD(!E^y{;Gw)n~pPx%7NM!!BgoCn!Us@rQuzaL2e2@q8hTEt@t#zsGcoMJ}5 zVq$ntqu=AoS^qa{^s@*0xjm@4NoW=0l-|`Jjq?nVGgYAmHHpwyQUN@)@z%}#P$<+W z!lnmsQdjjdIhTmqMVE`_ix!BMh?qjUEFUI575qdz&CjkgUZ@P0ia4Gs6+EGglJ=e? ze}`0}Nv+j|rb$Y36{ONGy-9vflTvRam8g9Sm8hSJcOUk<Vx2C*^l5S#QS)c=asCwL zB<y#TQ{SmNFr)X3FzMi_IM2`JL;rf##CO~8{zG9Mq^;kE!G8;PeP*Gt-|_7UeL_?p z&)n@zwk7sC)-FFsJl%9n-hSuKCQcZedK@`*u-Y1R2sKik!Y#8UH>Jk8Mv?0c@lI|^ zeYb27(V#I@rS~S^kC3=W%yW-ZfHluuzwXq2eUv$zG8gxcTDwhxk8MzHOoH!NHRzE| z)f41Ij~bI;Yu+UIX!K}o62vc);G>Uh3!+C~`F-@#BYz6qmC38b>hnH(k0&Jm%?mw3 z&QfTMZl#XJzDNcIne*a;CK?tPP1x?!gGJsvda`oJJZf{)nGMg(d&p>6(ufyxk8grK zbL;%eZY!2W(rgA!SSgLElAmCe-b#$XO(Nz78%1s+-mQAy16Dddnd9~T8|@1`)B<;1 z_ubiVTH{;#OM1Y(+OyFY_@pn8g%e&yf7}-s`2snwz^mw1U*H+Oz$1NuhgqQKeX*CU zx4+h~<ke9u?-1~xTig8U<vjXRMaUk-r??qyeVVmf2Hzt+nXcW}7dX%t_}^-&PkYwB zV1b^O$@3WcpZS*leP7_6zQD3cylw3Sb(X9vuS@K;GO{&^?<;f2PQ@WWS4hUP`>%-! ze#{R(8OM#2v(9RpVW7?|R|XDacMJl;n65*4@}}!bdGn@gRIVVcu&Ds1>wTT22Gkod zUGHnAy89`2G1Ilt1$vmSD<oJon`MYi>W^un(?sDdQZ}l@q&Z-@j*SX$kxn#Fkuq#o zTc<`&w|yJ#$~Q=nLJpQwXx}DDh*~+aZ`aw-K60#5Gekb-&-axZ&z}!fAQcSLZ`r<G zwr}fh<VI~<i#p>qc9-qj>Z#K2^m)GhxYz94hwIS}7z7eCQ%5M6I8hyq#JzmE{OEZ3 z4bMZ}h&hHVl~cybi8nm=W5Q^OXhEJ(N_mKM?6+`s)AMAwGpht>Y2MAqEzC?B@pDCv zDPiKlGJ&)(PZ_yPCOI6unXwut%7~aRB93&*hUa3DD+7M6P8s>(3kDwZMHvz0IXstf zk?68~JUGhFh%OY77tDJ_d?z*)97zYvZmmMpb7CJo(J10QfHv49YBeY2QD0KH3z)&P zDXsF6f40c^S$eMF{}{0^viW&v;Y8T6R3lzZFrHk!H$R(PW<kMm0>ldnCMdv!*6~E{ z`dD>Z*CwLwP%4<HjCL`>3G!)WyMD_XpS$me;%dNh^_|zy%T4G7<WBbj{_{6JH*(AL zSRFA<F}+qtnDIrT4vBK6lZ%bdJaq~;S?4sO?ZOG37bTo-oinU+rW`#>Z<W)%LSi(b z5-TL8lIB)O#6#l@V*6YnG1Q2S&ER^hkm%m{Y)WMfL<^vJ4MeL#s`gAG&BXLs@*%^` zk{io#Z3?7<+4?Q7fhezmD6fI=9PP?$AoN~9wkZA{DzAa)vwO;GAo}c{ElTy0IiB(b zme)Y^+2K6MULC&I)<9e-0mO(Z2~G1V#aT_WhE2PLnhXjfdIQs7P9p*XwyWP#{UYQp z5?v|kRxhs++v4fR36~1qUow4yNx!ya`tc^cqhvZpQ?2M$y5{LVD94^BHq7bC*D1=L zC$>+i22U3Yls%NC8KOQrp}JTnprWF3qTZr%c6ZE&sJM3?+gY8vmB)7A^4-c~J9Wiw z<*^<8VdYUre?*S$=>1$r-=HYl(dMggv(*hr9XT<FvA@gmQIlm#B**N+p4!@v>(C<N z6^P;u3vNi}E@lSYW>VtQh0HaHy;4b1z&|f+awW?Cg$np8Si}nWP2?JD3Qw-+H@S=g z{xJb!1^nX*pn$I?a@PuYVJ)>1Tp6tbzD7Q+1=nvw)om4HYgFwLfAQDc+pjFLnt%L1 zqRL^)S#nhe8+*-1%8dQLC^i~4(t$?d=?3lYvj3Zu-D}Lt`2w%=1-{1@$g}EI$Mb!G zoI>Emkw;ZFn9p+;^w6olpqL&yb-**BPlBOrk|^g^V)%d<4}rp6*13&nt5fp`DB+9N z`I2?MEJteW?Q*(x>KvgGI`zMi=5*@#QT+<Bed^Tv8=d;A;7aJ!rc`w5uK|j6>aQ!L zYTrSm(W$>7A3F7&a$}wPE(LTTuzt%rby=q_>(rh@PFbhcn9GY8fdYvZp#p(|8S(OA zVzDWtc=wcbYTYHJ@18A6^?LC?<qIt9)O~h1m%^*V_nJ=qtOO7vsw8yk|4>}KuK*z@ zxv!vlM1RbS?)h>`HE|3>`d%1~N@_|ycN_dl{OZ4^Rem~R%u0p1Nx{{MWUIl^m0GPY zz36&{o73p83~T66lp}TMlggM>hlVHBA+4SNX-etY`c-m9>llk)!*_IePW6aEeN`HP z7b>i|q`2S0!ANn>$(KFT*5J(U&C;d@gIR9${{#p+RKe;2`yMWCbP;w}x`p`%!t{%4 z4oWrYG?O%HNOP$LL>y_sZ^T$t`7b%PD$mQ8ZM9WtEvyR7SFX|esKoDtGc`)&{XKcl zw|URc=gkJy0|xn2m#R~x(?wJ<Taiss&<ikCPo(t;buh&=UaOP}VU{a7PRvi#KMJdK zc&^?0Fd!BDS^U!K#xs-vlJ2A2^F(x;%S}CYw;MN#x9!Hi$TzxwD%eD6UBj3*q5n@4 zQ6SffFa^*c{9H>aMQ4G}i2Ay-Qo&}5n>1dF$o^ZtRPa~*HdKEt7+a^TCH`U+d0D3O z)v9H~I$y16uhwpjT*r&K_RX6PHA}*yb<r<3^^exwmlhX&hD@iit#8^~T~U{MBbz$n zW%VfEW=95!cHxeUXj?Sr#SPS&jR5+jSyXA%@ZLvveJ52>kvwUQO70xCxqn?sO258l z_K!!xW&1~u=#;enwJWX^_@j-lPTH^bBMaq?#J6L+JHPGPp*_R3D^3N|-u*eXxXL4` zGE)zU4{G@}?D`JVbG0iTQ|^4DdLQ}r2PHawcK1Y8cVX_sa@@?(lKh?qeT`!b;dqNn zqIP?E$3axdjoa(sx@AXhJb9;%L2KW>@qUg&YuXwOVoA-D1H(fH$7i6K%?9=$G{5hS z-KcTT>rFP#0(qKwpcvO1MQ)JXgPRsE@U7BIx}Uu2zR?%>h%fLKU*I*q!1wtA&-Mk* z@C14;8)xFQZOw!|%alVh+Sb&2GF|();JV_wz6t$ypB!mQzuz)#lrvT2Ug6x~J(aXu zeStSypl3Dr;z4B}^sVu`1=NgS|NeQgB|JCSPZuTlquzSil!TZnQvRfnj_Vj8e>lC; zASx>rF_4HRO{i7l*^(WudGH!}k*)?2l`}!D-!`!lJO(Q^ZNx<rWdzAMv6e)ZZ`a9# zOr(>?hR9n#RaKfAAlU}{C~O2QmTwPt6ZxR*^6l0>rCnz6R|SWO-K2n<&o(x0qgpZ) zPVN(2lLhH1y^fYdFienQtGyBXOdqAqx3_|$Dd6WC)Xa~%Yd>X_?P7oO-=)6U7Z3B1 z!|`-Dx$yvn6gk4cf{Adk$Z(aI9H{8Dk`L;YY+5A5!K8GUriHhdYbW?2iqz#iRE|O! zIi{5Xg(-fd94!$)%!caaSdl9$A5)>D<i=B>hbxc@j?izz;HjxyZ(uEXp6Khk#GEH; zHlNxT_0Y&19QGh`(fVmyjd)~a7QUrwcbyI;SNF$L-3xx$D8(B~gE2YSBVH4)@9ur9 zbx}8#cWzt`@73bxnI*GKq#Sbus@e2dI#c{<FNV<MmP-50(m!s!;8972BU-)QW!_`u z!Mb6*I9B)qUs3hFIR4!ih)C+i@d;nxgTBDKeS!JGyixeRUk|H&Ip%zU3w?p}e1Wrk zfhb8{S0*c<-W(@u6bKkE67vzKDA>n*L^W?$6luz$dyyrb;^yQ^-onHMztpJOb4Fs4 z*w=qdH*a!Af*A-m9l^{5GZdPCU;;5Yf*(+1{$aFE+k~f`c-UumYS+g^#1uH1iHNtz zmmOb!JyjXst^J#-Ov`4o^U%mo6(}7{jx#mNhpBfe@m&YdRdmN`qTSJTcc(F0JxlRM z_nj`Emd)z7Vc^G7V+X6)5`Rwjt*TuyOD&YPnCsZe&hR()E$|MVGF?ogy}rY|6Ka<~ zruvjr{GL>zdoT1ls=z6JcfcW`___B-uQ$g(N%0$M6u%zZ$#+M?d$+EJp5$E%qi_2A z&)#Pu|4lvaHMsoA7wA3gf5w+1>x#VUc)11cx_^yMvKNJYo^h`lpCF)y>^42scBDDi zNQV;tW)rnUH;jb%10=+stuR9T9Jvxy335U)u^Ox1CO2(GccQE~?-I`;5h4CudGbR1 z+vQCP@#m3?u?`{r04KzQ$_w$k^@`{v)T6Gb5$}LsDN+6avs&N+L5hj;)Xj8Cp(roe z`JGCW6#p)=BE_GN2PyvDcsfkG)TMJ3QsjjOW~F$GG*bLLMI*(}@0IMN_yweNm_~@( zMG6Uiu^cP6!(Q>1$dTNBsSUkHj(z96S3czSg>qxL{W1ko!R7ib%kBB2Qkc{&rb}2A zqAa%;%!HKXcHJ+fCyM?L$?ex^6bKkE5_0?X3MRhYi@ez=;thvbeufBjxllx>Kg{~v z{tM)rD_SC2Cb~pK4pd~FLoD`PB{9bt%<?`l6AWfWpP1tf=EHqrCK}8~`o!?EOa(Ux zV?Gk3K{hA9U2{6Zy|O;4DAt??oXMXZY*P<(sZl<)dc+X=r&NE^zx1<{>*+CURH#7M zt?*-ZgGY9tE#n|p#>%*ilIy8U@~X1D4tBh5ig}q+u8Y-|5i!3L_z;)v<0jjb)pF|F zBtuM<LD+rc*naUh_|LR?TLB4H>8EudH%+UE2A(4-)o6Vs`7mxcZY6H7jA*H7k%-6b zQqg=-Mnw8tQS$a9{z4IHNNf({ZqJP3t`@<sT}0lD=pqqV2<$jfDp*4UZq!e6KX=t= z1lk!5X%V?oz3Zo?bh!@e*7pucs-B2ZpA?_&mB61;NGHslL9WCJb0(Kr34F5v@k-!N zD}Z|V86tOmws(^%)+nOV^d^t8j#pM@tL}YHzEp6Fej5h2dCcgUBk6{#szp`=M-zvM zd*bZwV(-_3fk?-jII<)*{~@Qv`T)}jov-t`sKq-vU)SfNzN9QpxyxJYoU&M>q+-Q! zcbVcCiHcV(s$^8?^--f`Z*fJL8NcK#Ui4BljOPKyR#&C?#FAwu_xM232tSkD@#;@6 zIo|sSpZ$F~de89vPA&AR<8OU|&-eoG_66SI3%tP>$e`fWYDOe4p!dYxX}%m!^#z_N zptQg{dH8!Q0{^CBdM*Mt-;cIyyBWHrZ-9~WE$e(+PVfo+XjM4Fx>CMlo$nIK25d%5 zMc-|m@5#xZOdqVp&seJD?_1{{>)b0x8rFSsx|fW9j8KUs<9CtfmW;>mrTdBPbIJH2 zMhScXT#qH=JrAn4$JI*!_<?|`?1OToi#<d(j;l8{Ljio4n0Q(FBNn}mNHY)ksC?*T zKa?BmWIs|M6+EWj^0M;svhwn>a?kOzysTWKI5IS1XR~OI2+0mfue_{$7Z$tnvU1%e zrSG0CO7)Urp7I5jmzDR~;am!@4o7zL0;1=50a*$qY49%+KmtUS#B|Um1!FTVLQZm7 zxv|Suk1((7M)62$mOah2|E-+$oTQGq_5+#-2tKHvP^-wVliO+*dc(nuUZ=~?s0PRL zMCfiV9Y2=i;6_dH>oe6>_>{R9>C+s1Z&wK&qv9q7$LiNCoiTItY|d3gQYAk$sgi3Q zHmlLG2LDyutTnirOOu?Za2DUDe65o0mTdSUIgPaUcll)Xy^SIhR$q#=>!-8ze-IBQ z0$vg{9sDiMx<x*e`<IFDGN1LPI8*^QM?{#;Xc6IeN<AINY(z#>SoKu!KNMl?yZ?|c z6}+O~hJBx|9LtxMOZ+A5yGzxU+?>t1jt$YA&AV;iEx8J4By6<`XposV=zXGlKa<}5 zS!6Re-?7;me+ySUYmKv0*oTc&lcG|<Xr09kH>a470^0tv7CPr<Y&A=b#waE??M1sP z_g*?EF|nX&kLx?OvpA`C#lE_W<08%cLa8DXXV~BPeKGXQRq|B*xGW|vlFO*~y1n{j z6&UrNn7J@4)~3SRu?{QlJifad4KlMRy)XR!;<smx@}EzI-Ium&YF9o(xU!Mo-b>-X zq$PXq(pZ&5SGeHnm;9!}Wy-8CnA`ky(PSRjsC~0pDaHevTwb;ZuhYiaS{rVcmA%|{ zKlPm-4LXRj8@H>8QRCM6xnO<ccEwbzZ`_L0xv^?~&R{m~$HMYbSK$j>qCN6Kg&tR7 zbnVK|sTL(Wava6B=R0y}G?|f33-xGP)U?4oqNYEGDkA@6?#ccPcf5)Id~Cb=vvMD* zT6lXcduQAz-5s-BYqT+=@b2I_*?8M)J9ow_K;q8`Bt9)*=NFk|OzZ{ldh_!=M=#*j zzCb=%?8Wi>x{6-FFZu%cY>YVaHf|E35%F~MTI31r-lecNKO%mdZ*BYe0x#AG=+#l@ z`vQ;m1s>=Nd_^PPKfUYku$ADNPZc5h6xWQe^96eEMmgJ;<FOXF>wEM~FUT6}Tcw9I z$a>vh-?PA7*WGUe24h{@n%jI!&-ntc^8|WseX+Y#-s{P9?QCD*TYZ7vYq^K|atwTd z&+8I--5S621tRi#alF$P_z_>=#TMv!`|j5$IIj?hVPu+!Tb9=eaSShnoi;XIeqKB0 z7Q}-g9)6^?tznwZs}J&P^|Dn`VbKhGEYUkutJ_8?g(Z52gFxRkF<PZZf|jKjXSIcC zXY~<^O<U!d6ss^BpHayTdP|HR4dh(Mlw!sxhE;uI<*rgAv^D1_dGo9Km>md?BolRI zRo|g*bpWXRmlcfCUbq9N&sBPdrrB_Fv{)2dr5E>0a+Tf@y20ZQ43ASz8D@@=BZJbh z@L|cGsR$OE@x*kPN=tb^&Y~w6m|e1Gk!H!>@rq{2-o#$XZpq#WN^vXoPQ=gRL&H_f zPf~<zNGHot=oC42o}fWKtU{CI##W)p3Z#N5`Yo^2E3edxr^edW{@r){*x(B+@32u% zm6jLh`Sv5KoY%<C%fbto6;M;NXK55L<3(a>c9!BwPt86q(LLC#fw<>HY@0IGKd)#_ z#I_D~?<=NL@w;_Qyt8;;@y>JV6YoIMNdr&Vz5Bq>eayxl$s2?BN$Wt8-D?t;>|{Gf z<g%VFzganFmy6A0-_Dg1T_*(}QZ4On9=lpVlf``1)GQb1$(vU?)pb0b3-8vU=zYY{ zKuUI%Cl?i`K{S+_LBw-?92Yo)BR{RE9x;%)s=`9aLL4k80*rYl>r1AEX%q=7aO9yV zS48!QYO)sg7Zbluqh%o=wJ}BTcG9%=67^PcT04`R)@FkFJY9J^pFNNw5kj~gyO_&9 zpIl}x`yKLWZQ7NTlUSQZId&3T0>TBtq=UD|dEO}>li2Sv@!elPeYe6|9k1Vp5zqG@ zdx+{$;?K=Ir)yW7u99<eH0``$_otnU&%@L%->S}wr|E{N4pI9CO)!ndXP0x;$(xw; zEit20yZk#br<!Q;!Io2EMOcCbXKBpY{!m63cU(s8%6BUJ`lkF=*P@d~wae!SW4FH+ znRlI>EPoW`cP~dv6n_0SJ7N8WN)Thf^*%D=A0*C+5A&$K@gv|Sa@V>!(P86>k`chH znET(HcvjcxzUgsJ3E`c?j;g9lx$5;^r&r0tQlzc5YHOT}M?GmwaJ$6*rr}JVJk2$2 zcF<u>u%rDvyU9FE*>z9yUpwC~N688PxSV2B=$cgC_#QKF+d_4E&z?6>@jX9pJGA!3 zK^mi@K_!a)v0grVqu6WDh$?x<7P<eK{OaA+#X4={WAs?55n(u0H`@h^6jG5WWHKXY zpAXscnVi{Ds-Sz-fv&=nv2kkX>CJ9Q|A)->_vbjdhqHuATF@>RKP+gK7r?7<%DHy= z>_mB$bA?GRW96ppX$)InYlO{0#}sMbebbA^5{BWe&=R)sqP}|czfyhl=z1l_y)cS0 z`x>^Ee^fK_C3}>KpP1Jk=uu8xFg<!H_3GWDBNFB9=^nkcwDq8N`Il86+fbPgE~9d~ zb(&<dlm)?DpMsax#v$8w?$q1m2-zw(-tua~n$T@IDB`mlO^rz*VOQv0&|F|}D4F0T z=(gzX?geB|wHI)NFL0+`on9O{;miy8BVXXHzCgCNdlii!;RQsR@B;FEFfU-OFK~b_ z@Q;<AML+Hf{Dv=ZtuK%T5nkOh(-+7@o)^a&Uts79{4dE1UPb@F7wB!~`-CsYD|~_H z`vTj1f#WO?{i#Xh^f6R7#K8X@3*(<9gm_(}`z`RFTieCHwVmz@Jlq#}@NTt#!0Gv` zidM|kb&B~k`B8nKwlxENOMg-Fme*zavnO!3>{Y+;WV-f2U*O%oz>oR@FY*QEt*g7f zk>9k@bc}D69+d3ob#?Fd1%Aa7xLdcuXFQp%^**ZbTwjjt0`=-47WsGq_wfYoRu8cn z%B%D}znSe$-=c5!1>WEboNs}<exmmFxh2%VtNSMisEP2eX|BgkFxpSYXJiHay5cZT z-XT|pJ%TcU;#ixgiCAr6vVwj?3F+Wmk`0FKXVzzCoJ|~Cxow=WjGDN&xg1);OvLEH z+CWE~v5}e>RpKsEWF!5i+*PWxY^2|oH~;l{V<Y_*nV2NSMw)RpQc!Q?>+>079{rAT z7c-BVx!B~_=fl;iK30J6-0VQvL%)mn=Ga(zw}Lu8@OyHU_<a)Z3POoJvXH_{X3Klz z$OOuqSK+tjNfP2dIWlwJZ$l5ru~W!DkPkEGgK}dtC$o8};9>oizctUKYI1QX(=u*G z!yJidj~q<S+`N%v1V?%fq-ziK1-`C|dp*W~_XTe71(t1>>M5*67@p8bn3r_Mq_(y5 z6!N+<%&U3<r~3l40&2+qnI7$cK_Fqfd`3Zg%E(|&w4l0F8_^r~ycHTnh}=%OqG^cb zG}W9mQngIJcG2ac`JyGFxgv7$B&C99RZLf(xZ@1&KX!@Z^^*#Iu}j?X2KUQd;wBp0 zuXc%J36MUCAe=ja<Tvu$Gdo7QSI2J^WxskiY*)QWFQTfV?3^K@ca35rmma70N#|;~ zo_1%N9OlaVe{p$LSXJOr?CO!0KPRN#W&JOcb;|Q{>Tg$i@|=)aUG=cKM8u5iQc*^9 zk%&vXNOX;8frv|<5rN?rARQc+pF18*MwH~UOkr@OIUHpXcKqQ5&vBwuKrO@B0o&eX zVeL{}(!yF_Xkq;w@c65KzgI|K^`nu=ulku><}8mt2oRs;@qz+aO8-b?*I+I~ljt-N z`X_!a9h4E3>he_ZCo!<wd;Tn6D%hakh5@%%_#EGuZh!yYJj<i|z}+!wLSmvnaa@Mi z2=obM_X4i;1upjma^raweTgsdUB1AnzCc#2dew1)fEu7*;+E-g3dGBbDRK$~XF2dp zNW=pn=YQk`oB$z#@E`JbAJy=mgi0LMu!S^tR6{&8yh3cBM>W(NQFkl29!E6<)1|hX zV;D@SEb4m|P<#x-HicB%*N8NW8Me!ZB)UUxEQ!9ZKq}a&-|{gG<zpDi$1r$~BIRQk zG>py`6&Jw!`%WqTCFR-SPxu1Y`2xKsDZO`Vto1Frd<;XMch453dcDh^@&%TUVd%5N zd62z2{6t?Ms;C#o{4osm10+)+swDK~tm5Lez6d$VV;J;xHe^F|1BM{hxayN`rBsBT z>w%9D<I)E+1f1Kjht65ZCe@|HISbUlu1l>cY=v8!TB<1$>Bf-Th;(D+D{|HX#TK5m zaHOE=V04`IDEUynjwb$%pS4g}{ZufHBFtF}$H=G6C;Ba)wV?H{lSk<$EuXc}dmDb| zYw7l?=xy60J`58*u~FS5P5ESg7xy{@^FrC8<LP0B8FSFZM0t`6a+yRfpS7@Q=UJ6| z@@#<eSqpo%Kg(w==&@y*uWfDltc40@rVy~0nr3R5jWW!MHj0o2Oh>ILpS7T_K<snf za;E(MJB!fDXD!&Cw>M(>tc6`1xv^VIa>{2d=rJxmq4Z0odg+tj_XXbR3;c*L@L~&W zlfx6Ti!th7=&Xecq@fwju*X>oS*<d9r&3sD^ezzQtOa7U(8xGB>#VjgtulJI67y#* z0I+8*7@t{DWHN1u(Q|>Abwngk%!RmGM>J3FDs`dO5iO86f7Sw10Kt5PO<h?>lyw$X zQ28$?^_mvw^_8SP4_?R`bIZlzS8Qbw>T~|{Ncp1`E&<8W3K!wQ3Ueu*4pT?z>hDoV zk?%Dyd$fW@nxhpKDw?AeF6))-j#ju_Deh>6MflCp3UC$k#d5Uf=zTV{M2?*nSSlZu zo@H`lOHaE3so)CzmXB5_AFa?WQI?NZU=FMFt0$*auUF4PU*JD~dD0CU1p>y4#B^&; z!IIOhfjL^?a6x)brG8W~_1k3k;EY>NLEtom=NPE%c?Lhnd$i&wh31q4K98eiCBIXS z<g$`c$$3&X?!z~K5H0Uh)S*_9$K>dZ<TR6`E9KMX{XbDwV)MQ!%PdA&B|tie;tV&* z$CT*DOnmpw{f{f03Rdg4p=MiZEE^3={3Ukob8wj5^}gqJ?q4jPZtlx`I$B36CYF>W zw!BB{a!p&KK?kdz(bbwmdrRj|J|uJXj?SI>kW5y5qNm+PeC?vFUCEMgv&TGox^r_) zZecdPQe^gc7wj@0DP(dnX8v<Ey?4|<Dxj;a{j{iV26wK2+hu;6qLSYtMfo+~m0@Zx zIit4+=dp^;H%?><apN-WUe=z@;VtpT&UhDSu*z!`_?7xrz+Fp$Z+hRxGq$8g)w}Nz zjN8Vm?(g&kp5O}{;tQ<s1n!nn<-JVy4)vi|4}IJhc!Mu+z6I|3e)(71mGDK4hj#F^ zyAno8U-**Z5ahosS6TwWaJ7xqpnki8>A<`aNU`q;gV|y+I)VHvV9)`+Do<Vq_`1CL zy#z)F_!^lRw$TAbIUNAh8`(=R%1HcoD0eZ5-@F}q>?JV!1|+k8LpkK!DMz~o?jnD@ zYk*vm&%bFQ-;z_fYk(vnzAZ-*{C8~VyK?Ni>u&jw;J+s~mf*jyfVLv&x4dh>ydDa+ z{JWP;dDlSkRXN_n;e)<|*WJEA@7-LheL3cQf&YiZ@*nHb4j2RyV);)Lw7Uk(30y5| zHdoh4#25w|MQ4hTkQ3|A4|gNuld!0q^6zro`tz=;%LHB|Y8PEDS|*w+x-=h71>l)H znbma+rCcIfAj*iY6al7hp{1gX2!<?4#}C6~p2Z522P}l2DKmIFepkz%5s|h;<jMn2 zIaChq>Aj+ih<wDkvWRmS@{SXwf}hfm*}+l$)VoLPN8|2OiYl_a{qRCP<Y}_T%iDiO zuHMVrO)jHRJR?B7y#412piVqXWLF)goF-AJ<?Xw=vZ>%d#K^9!_=S9_;FtO>FLU3O z^t)Vr?j_st6nFu-tG$5#{AKRH<Cf{M%>56F>9NdRiuo1hS=VDhqMR4V#lm-<9EJaA zoj(z6zlzB7ql7<OXM=S%%8^9$7dhQ);-4T?Vom(-NpoxB<Kb!(v3;(IKir6Ho57V> z6K_goHuk>(#cSgKs*tMvHzLg(!He=CXZ>AnEN8u>Kq}ax-}0LH@|yVant0FAuDm8* z?}gc-;?j3{O?;o-Q(hC_XZLJTs+Y|1lrONnCce)O=Rx-B@DqK3Oj&qw%&&>xf1vag zM3sa#I9zd78|;UscaEr0)SRb;_IHHS{zj0ca>{{nV(l;O6fUR0r2^8ew%3r<_RzeX z7KY}9R))%m`gozpX=Mn{Xmc4+A#->TKUb90>Il0EknXfN;_(yb@RUdVr6S78h?3eS zWe^7E>Pr~@OtEG}@Fb4<!DE~#6&ysvXP43lk0{g#4+b7<goh|pL?bl0j7E5<0I^1x zQ2>o_B#~V;yV3{?uWl+hOc|{PSTA2H$m+MO0hTpDI|48##IwsRL)+R3`qf6~aojRJ zG{9pO(^~`N`Il-$qMY&MLIdRKQ203OOpp`g)x6_@d}vbG87>cJ1P2f*q2?V!np5-Q zacLs4eX4m!7&Y$%a3$0{Qz~lSiGX4??<9p(>63{xYThaGq2@Knjn%wK3Z#O``Yo$@ zWi_v?=6OmdWi?L&>uk|XQM0J$uv=F1`s|*vn%8IdY*DJ0j_{N(u&n0w+2K6MULAg- zFK~C&ytxuUjHr@O^Db1JRrAbYQ%+G}nNOSOOc51NsC%QGx;LM!l~WeT$<ESAQ(gT~ ze^7}~*HEWWp_YnL0U+so*@|p)R(po)v;D(S;o;fQPUkV7h1bH3i@?P?&&9AlDmyEC zR6!P_@LZzQSmC);0TiD15V`9Uo=UY->!-!QDn1M4(}HRJHt4e$W963mvy1VfZJn>C z+v{^3+oNIo2+HEJiNo-8e{^AY&tjtA_v}rBDk@?9eKfO&u)b6=y@hoyoCI7F<t&q< z#W(G8x&`uigh~kHOGtA9d3@(wL2RD_`Di1MUkR><K&}PwcZbu%v7D$WVf-oqRIRJ! zD0B_*d&BzzQzL}+_Y)Hf>(^Rz2a!ft|A2f5>mQUG3+vY@kP5EXZ&_F`3+rWJ-E#mc z3+ozKc~zE$_3oLW@;OC)-W0DY)$8rP#TQr>*8A-6^L+b}2ifb&>@{KiOA<f=M3scF z{$&NNuwH{;h=9(N0781J=x7mZzL+Xt6oSAcg!eH{c>fBlDyMu^PTp2CqpJpRyU3Y7 zkmZr-Gop(`m^c>Y3He@Yr<LE@at@&u84)%QK-fK;LI5};B8@doq@x%(`-zLA@MJu8 z6w;g`k&z!Bb4B2+UFB<3VrJJsN=a6q{wQAUuPaB9MR{YKI<iVR*&K8SoMUz58|3P} zD9_|F8p)jk#2U$63ZRjElgOUO9!(Q_rp~!gP)0=G`&`Ua@GUX48p^lj(~@remQ6Ed z(@e2B!U?*or0xBHTc(G$_mE<GYI`$egW++OK1HIOhslL$h6haHN364sXqNKv6e;>q z>-<oTRIVS98XIeFCsaZ=e2_G!8^#0EW5o8U8;&u$;d*dAbi*J%r`D8;{`WYbSpWO6 zLaOgih&1}&6Y`<|Jt;TV|NdP8t>o2jS^q2Re`Wp8QxGcae;R6Mi;%i_sq-@L)`ZH& z8g)nM?kO8<`s|)9O7&7lp7I5jjWvCCICrX7hwnB0?<EN!MpQ}Ye_Ir1^}j)5Rl!CP zY6HZmbB+j|hfxP@j8O<RgT{bwtwc)%Ne)nFh`OrLrk3Pskz6z^_@KcNCe3ML`VavX zyC&UN#-;g;C}Z6jUs1-^G!>%aREjEe4J=hW${}fRgNr^pU^viB*Q~xd&=9zEb9hZ0 zhNpt<a_m=L#yW*~hobCPUizaiQ$>0Sa($c7qmOjicA9KcDyk(;ZxeQEIHSvat-7#7 zQvn$1%B|+yAlC&nr23EnEpmvOAtH+IcRfTr?VQwFNfd|m0f8`MX+_}&Ds@SY&?S*h z`#*|G9(ZwNp-!8o8nI4WsgRDYpz6t^D@-n<)Akb})@l1IfKFRQWY-{yry8X;nicEB zR4_o9t^PVtzEn`H--haK6`sdk{6q!5neV7PG+zwtH|Wiw6UnnIUWzyNjsheDUbpEk zfs0XN@~DYiuj1Hf7-m|rdN9)yv%99iKPkJ{kn}5G;5uL61HQoT_yRxa3tZ_7WU%t; z9@Z9n0lBNafT#KbPZUtv_;4P89@_W_#q`$388D=;k|^guIYFo&Y2E?;lzy@YNXtD) z9sv%v&LO0&b|XS~MYc+5huXA^oYnz6w!9x0+jxALj$(izj<JrnM6gO6l<_d-(4hnM za=Nwp*EQ&s(&`TY>9qQIn9LH}r&fQY(dtKm>!H<$_ZX9|DH4_ba1gOde}qD+<!B;} zN<T(ERQj=UW0n3$1yaFL`Yo&UWtG0H(tD0;WtCn7AtD!pVp*l<RnfM#Y|`!XrYM_q z`|KWXxexWpOZfUfWYRrL0*Db+5-R;H#l>eKBINY^^h_l(8Oov4`WS|)M^qNmta_f8 zc(xeV&rP9`ZZYb5Fj6tnKZC6*CD_K#14^zQ;Uy31oZ0`6y>Ee!syN$c&u$<g2>~UF zD0VSH0To4!iV0{4Q4q371cfSXgF!_R5D17G6$8q;f|o*T+t06UY-?@nrC#bC1?&B8 zy|q<~Rr`UWML`7w`9IG)XHL#;_H5or=;i<0z?``~^Uj<(XXng&nVHX7gp7X+1)OC) z0aP&qI|UwQXQ#r;zq)|U<G@KL!v=iLFv%v_xaF+rR|s)%ucxC$e(n{9pQWWWrKKgy zfPyD>qS(A^67Qvd_|*K~1?hUo?%v3DkiM;pq60McG?td>;^_$CSR3|J>EIS4Q>pe0 zR9!_a@MM4@&bPfn-$966@OPQsyt|(ZW@9*g=1uZu`REwt%~ROIFA4EcxO5E<Ip1S7 za;QxmLLp}guI2f4s?8vCixv;Yox~?>rV;9d&F$U~a@{*<S0bkv*CEy0iWV<Iz+-mz zVqW8B*$J`_!vD%W6Lb2yO<Hsw_DwV!L9&I5zJsXO!T|t1lHaL&XeBR+96kYmD|uFn z*^pPt?uWALy4iggRin*`=w21@2rZC1WU453(*k$ku0fISJYPMI7?p6A!)rOgV5j$m zRDbOF>s8(4<yzo$18n;yclBn5RP(5A?MMK@{LjMg*^DI<9gfi$j?QP&Y&_oZ#?pge zUOgLe?rk^+KK3@W(Yc7?z-Mk**nlAW6x){1N6_82oSzS89^yiuTNWN<#gs(3+m@&O zq|k<EnX@0-P$Bz)OViMl1uVynz+t*yG8BID;M^Yr)P;bMWp@rhwsRma2l2x3Qf@6` zat=n~n9h}Gbh<A?_(pWZ#Uyom_(rK6Uz0|}@rk(v9%K-gn%uZ^0Rxl;T*g47)P&Lt z5kunT0y7(+8>DQ2-h^asfWD|zw%q`IF>@N_mO<?b!~nk%p4kbV<dMDv9`;d;o7h$G z%$FpA5Csoc!}kOaOA!e<%W%!^gr40AU4~$p{$zJT=K`Z();f+{)u8Hr1~{r@rl^+s zj?-4nX`HH!r2t~!{~1OBhvS8B_WyH4184tcC-jp6NuJp^Bc<epTr;zOI*b7bJE8YQ zVmMymJcD>F!l|abXs+*U!lz+O<ODa$sQ{(h?pEn?WX7ctH19HA7UB|<11{OE{KERn z#X65b3UfHOrEha%dvbPb9|P-PE``gSg0MN9kJ%YA!=%Kx{fZN7rzuttO&pmYr-^N& zlFNCsGrmKeN}A9G{?F0DeqMp|_M6!!!X$KM4g6AbZr%oSa0^QbbMPC4pc`AldVJfu zv!0UoK#1Sy-vSeHe(ja{9YW*{Zk6<wo!xIk9DDcTTE6ECxdZn>@qj<Gm<&tFiWW~q z&G89q6ZqeUE6VB<g)Eq;>d~|+w>~bByhj_lBpzE!V)Z)?y{2+=eA2f1c=tq(EI~U7 zJF@TAw3R!upR~PcD|Teh15G<&c6WAPn_hEeQN^6>CmMn3i$JQ*Y~fbUwTl-2FF`?- z{-}$u(tboXq^WclZ@jL%pYmdI5k-p*C7)5qw=YqNPVCgQnVnd<y=gN#@ddnr@#<|l ziixcjhod=js15Y@VWLInSjNiO&qIhQz{RI?OccrkZQYg=Oj{C#R8OaAD>oyJS8uRw zDCUnc@M(f|^nm=uW&m#TfEnM9#A<`vC&7bB`D;%!Y)I5>j*s4)sM!=By(wO`A(2yq z^mx^J_eJDO?!WcV+?Q<8RV*I#l8wx<FIo4*&~ZRMS+$v+=o0OoLNtg>XOB#QJxDdp zyDF??&?9*YqZD3`z(;bc<p0|rNiTUM92V0(60-aE_e$<G`(wWdUzxxcl7pW9$Kk#n z-K8y)q%CXXRh!d4H1Cz0OkmKE^a#4QlZ=S+lv;jZUa7P{u)oA7Z~Nl0@Z3EUkCk?* z=u)&e?sV#ORn?Y?J&LZp1i`^O5`XeevY5Q>;^LHqqQ&Eg`l59s(^c0Rm2Pw$yu;R5 zwCJ~?44qz&sx!TEqa^>o_LXZG`hbXZHq}1JhigBCmD>_0^+;51u8%uUR&GN^>mz^H zeY(XbA#&e<!C$l<WIOQdv#t?!298sYp_%sS4-Nbn^3`2e_%-NkT=$#pBv*%W&vgxd z>xFIsr01TmBzw=c)U!vr@e~p{fTZOjY3VXjA*xyMIhc2-fOT46r50GG1@5i|cGUv^ zfr*dmt`}*63$(yJwZI*iAgJ2-wifuR7I?Q7_**S7p#@&91)in_mMekEgJp)|=U%&< zyU42^PO%nPpauRD6CqXA|4;(kb>q)<EYS+-%?Fi4S6rqA&No2I!IIPE1lw}4Ey8w@ zL+71<ylObBBVswuiL2nqYtYp$uh-Uoq83=G1(s@oy|lnD@WEESMjvZ|PiTR^&;qa4 z0?*L`>$Jd1E%0b9u$LBCqy?_Uj9&E!d3K))c&8S4ix#+83!JG1PSFB~X@R}9z#dxQ z7EJ3^9sY(E_<|OAn-=&>EpV|Gc(E2ZK?^L?0>7mN?x6*K1-4H02>+}FzN7`-q6OZl z1zxEIUSfc4e>ZnpNqxSyNu9O8?f6LRo|qPRuNHWl7I>W&xI_!AH^8=^*sj*NvjwW| zKO8_PUh*IWG!lAqeBi;*Yj;H&#rOH}p<-tgCu@s$y~%`;Q2|mTj%Y`iBT5v5+2~;k ziJ?lq8v?FMzB_{MDT1PsFJfV;2&j@j*sA1-`X;9c9xR6PJy1HG)?G9a{!;{<PWZ|@ zd6@Kb&$RH3(5LT)vha3?2eo=nQu59dWO-=0i;)QJ_a5+4&l6-85PQOd9=w-{?FG*$ zO?o3lJ^0@6Jw5n7h+u&NuG#YhMFEf^jJ9%{?0JIeO|75R{^VC`f%j;E+4BU^Q^A`0 zQsiQc9fY5@!$H8O+&%=+VCD7%d~Kc9%I!l@sN^xsooKdt3NTP^hp!KBjCCcO%yy7P z9s|cWr3$VRj_h_d+z7bvM2u~NLB^Sgv8=)&MdwsdYCeLnv*D(}&4G);)xphn-Awpg zGa7~SV~CyWrcH-W7lk_uj%Dchc^m{6g`*mSX$^2uxH>rI(?#J(oAel_Pb|X=+%U_r zO;Nb>;TUI`d2mzVn8&)XTRv_smd|eCy;ZtCyNKO!yz3ZdR}m8v6D)p1>Bhp*D3%n& zb^v;H&e#2Vb*R46+TfO<ZlhlJ8o-LEtZzfbeiTcJiv4JWV1N4?R_U|9l`5;CX1@u< zsLCG#T*NujD|ZY+RI`^$`u9ShCpNPch-0UHT+0g|a|Z5);sJkF%?_K{3sE~(l*Su3 zPzlvxn)d!6YX^2$(+*ANUT9CMZr7?e@5Oz5bg(TWdUwA$Yu_|Q15^P;i*5%kOUczT z1gvH?wa;A=NNSo#3X0VMXoQ#m^Cb&Z)CJPo&!g2dF_fP|svdL746P@tHbt0ZI;kfU z4@`Wt<D?v8xZ8tytt}c}MY4CNRJEl&tG)x(JLyh!|EB7xkM2x91inS-VnUec@^{J~ z))=@-IR1)9!L`U1cbZ2!3$LnbO1%w_PX*kl1-_^S-me9!x!Rv;DXMoTIa5n<vKBaA z3p`W{+)WG2(*i%h%cy!OUep2~(E^uife9^;-*nZFZdbFp6SOUM4a-l#M^C<x4kaGe zo_r9P-BXc6W_Kd|@bzAF5~2~zvTXLZ87C`y8UijWI~hU0b@}OtOC@Aw2U%8@D3_JJ z5OudQCclUc3bG;}B>e1mKq4JK%TK=Ckk5)d{IFqVdEEocZ~y_X`aO7HXX{AlcIPs- zqfwd)W_5~zoB_{S#KurgWz4#n1w=hOu(MN5>`ZuOf^rr@WM|KY@3FJf5W!aSxMt0| zvu52M_feZQ>mH6li@XH+iZO5;#5iB!{H1n999PwcV!9T1h88$Z3ml;ZmI4UQ_hO6! z4#x{0=i7*=Z=YT=SnLowl4obc;5dV3hcTTPYW%UlhePWjc4)nnq;iH`2Cw8Z3|ib@ zs4KxUT~`l(D%=dXDBKh{=FNx03K^8+aC~xje5^BzvF=JZa%rrW?TF<ul|97A#i=E8 zYv624`3Nz@Hjx@O+9mCD_49_3>tBQtvQdd_SyB;`m7%0Y$99k{9Sz5#woSI3ocPA_ zi3%#g(!2}H0LOAIP3G`!NW-R)EpO=s-Y3=ZBjHFteJ`+GWTRP&v?p&2LhKi&vK$el z!CKgxe8TwXCUECqraulPGt-ConQ3yiSF=yO?U<Ib)F64%ev@-4CEGDA1Hjvk=^8}H z1z*d=wzn8&zw$olGQEc(=Q<EH4E6O0g`Dr>THfQc(7-)VG~mxN)RCgat8vpivqh7f zoYEKdq-U2cvsc`Y5T3F!plvK4(<40vN4C>%f}LU|T1HTtTR#asn#Z;_=}w_1EUAv( z+32`7>2a87yM2`gwQ|iMl1wLcNEGummj2^!!3S#Z)>QAH*{X5<O)aqFxk6gcs@k|r z3tX%Ps=30`v=oPFfn{3Y9$H|&7WfI?DOHDmpanjm1wN<+a?y&ajcP5xHCl?ZwZQ3G zpn5LEFPG}BkJAE=0uXbd+xXc?+Su$4q_p1HjI$E(T+D>`dzLymJP+&|Cm2Y%(|C6o z?{4OEzj00`kb95u{s7Ne%sl^oXgQds+-m^$8IQtN=ZaKZXW$+%fCr8D5OG(g;=T>s z!v?U@c#jabL~tedLBoI+J!*1RF()oLxED?Ukhj`+j~VZe@UZ{n<M3LxQ@ez*fKAeG zXP(_o&6^cI!PJb~sU2cANhdCOJ2l?{S}j~OLq%P&Upnw;^V9Hf-_Ni#&(o3ya>4bp zOz}2fd(NPrXQD{+UqFb=@{902X89#VLe9&$W;b8UZoZb?d`&s_W;b8MHzin<kljx` zWA~^v7PGX|xs$a(wIX7mmZH0%O(pI)vwUd_5UPpIMlJ9~Eik*EI(jPj=gJ(_li^HK z1tb%%0v-q;=BA%x0^)G0;*-;Tfv9Jp!bwi@=4%m7l*t-X@IziXzqg3qG%}RrEgQCg zc1dnTtXg8ZB$X;{qwI_6tP1-$#JaM_C|=@QZ^ca1_%c2Qj>0V#aE<_N?f@aChKJ<P z<mGTAIfo)BTje;<Bh(yD7R-G`h*-t!L9y6OxCXc=Tpb*_lc{h~IGZ=u7eCVtTP*R! z&4-%<*B1`ktfP`xSN0;i%=RLMZVWSxcVUHQ%@K$yyqYQ33^`we0;Fhb!pTy!L;X@T z-?nf&05>Kn-BX{PHA&G5!7vRD721idgAmMAK43F^W-4q($zy0Jy!YTyo)-o*;&k$g zMi8QmE{EyKGCICmy!mRlgW+o2FdsK1itHfD>7sC{w-a(YgP@VobwLPwvg2C5dv0VP zg;D{3Rz?S-mwRw8@d@kWSVTQxefy1Gf|kCYL9)J`5sJ~0M5A5UpNp8^q{CgBZ5Ds` zAyoF55VMkgh~D2lxqxpu^s*Bj!bS4e+9u>(WLhzy*#-_jK7ZBm2^#_zu-}5h?Y@Ve zvVfhVl6Ma<XTd^ScelFxdnPv^u=Yd0N$sWw%UFB$hQRI%w8~i(vfTv>ACXtWDyQ14 z!%z1d0vq25LhbH4(|8eU%Ep#y+rNwLcLKZS4)m#clX@kF@|T)uz}w89t~8Us*?85a z1WpKN0JcohU;GWaFM0<yeBE%nS)sRFJ7s-#OSGHn<9Hc<t}5VsEpUbwI8_TgT?;(g z0PS~X44y$H9EVdruMV`AI!xQ7C-Gxe_3uh8@IEc@2U_4#E$~b&@FXp;QVZ;(1*-YN z|Au8(-^XaGdV89*K#tEUifUCvt(GEphE!FpHc-=Q7?kVIIYX>nz6MuSGoR7|)y8c1 zYbpLv3tXlJ{?}T)9fn!2%(jzuQ9Tq2_`{JytG6SFAYUXYSmnhGn88UtR(X{n8Zq3H z<ZLuKn93i?92&$Og#fz}+pP{k&^3r7!{{81xYSRpjYF-~22t*ItF4&GR@QMD_gFnt z<oM;Fm(DtlY)0xHtFpWcvib_-!5(fXi{6ggK867b@rN<cD2)b_b1Y&=JWgO{*HnX) zT~jNO%w1E5x5~D=rdA=xZk9TNVcPi#RS>U60<7wehlkh+@Qk8hBtldajDqhe3Qj~M z<c!8OYgL!Es*`CO=i6DUx;CVqaqS>KT?;%z3nbH{`dCtop#qiy2x;A9i~=%V_@s5; zL7MOMLrO@j_=qAUc~{^c3`ZePB^+4+N>~QMl{|zwq_M6WY{%*Ekz`JIWPa}=LfS); z)f{F?*Mc7~qz|*Cr+B0b+9F*8GHmTcOOE?(7;=YOa`hg$Tr$cO7h3*?@;iI;%yUf$ zkFZ70l%m7Vf>-jb&XhrpZSFh^K)w%ka0}q3!p(*YImGcBHLkgwlquC~fQ!NrOc23Q zIL2rA!p!5lb2gkM7)99P>Jesq8XU{fr&N(XF$`PU=ON6xi8~iA3di`FZkSkGPZVLw zOKm-D1M}H#rm<bT$tWC!YK*fjwvB@jhKV<Cd~|c91~GrlA!izL#ELN%X67ik7@fo_ z5#p0`EgZY@B_d)x+`({sRIJpNVmcce>m2mD#dZ(MAwB+-SSMRT-@g0ItAgWe!TK1c zWo4|8)T-f#u7$HLVM&%^8uNHhmRc;|FL6vQ!QYp?M^bmLD!_%3=vWs^jrU0m+d|5` zXF0zvmdhZs31!1<#Y`i)SQp+TbJz%rU?~a9fh7#F+gXNTdt;3Ay^YDiAf#*&>=-&W z%DYX3*-=8bh}TrXJiA$P;gb?Oj4dH0-Wt;wkI5dxmNxIgq8YZ`%lnef!gT0@LX`4O z{^Y%ow(VBd$-0GhAw#Uq$}kvDZ58i>7?xn&E&WU+Uqd?5xBZQyLwjRTjCE!PZ-~ug z=dl1g)Zyl_&M#o)f;F{`g%EUiD(Q_R|MJiy{IYmTz%K!=#iI36mKr1jkKdwIN{L15 zWdL{<tqT#MwES`=Hh1&C2KF)8#~4NXg4zvJWe_mZ@kI!QoW;17_x)Dqf%~Iaz@L?l zM~W76@3a3X3)WtV;)BubM=ro6QARN{cDLny*u|5Zo~+s+nP&IkUdT!#X)j0=i<~vH zIjUP3_BRcx>1Rc(c?c>=-6GbvpE2L2whdMJt^vg@Irk#H0$hA8w^ICKzPP}xG*xGW z));7_j6dc~WNokVJqo^8A=1XZawgKoz1qrpW~xkD(pJY#(pT0$Q)QCbR%Mg*m2s23 zz;1ksnQc{8_phvMY6n%O`q@p>S9S!ULBBjzW#_eB8AgKhT~rz8Ntu2oz{=p`dpUDa z#P=)p{puH}>K1yw_b-@Uql(@_gIalj9Q>4SbVw90b}5y`8E6@8+H3Bfk1wE#naR-t zx8ZZ6qNv?!bH$rlis~&f@6=NKz81Jd3p`f~oT3F*X@N&;fqQF##adv27WmJI_U+LE zpVR{H)dGK`1^!eEyj%-hpap(g3p`N^9I6E#rUe#jfdyLN$6@8$^R^cFk{0;57Wiu| z@TXd!TJb$gOOci@sxf?`7FezYs@2iEYbl1cz%R6l*^jh9^#-JmYbpLp3skGjc`}6R zS@YZo6|hbVoTvp3(E<l(f%|BIJ+#10A!YY`q6L1S1wN$(KA;7vH%Yx-OR+%<oUR4d zXn{kuK()Dde=SAz3PVRr@jcA<RlmYNX@O5@f!U>q=qXAhDVe0`j)D?OC#&IVR~(P4 z>d73Z1s(+;6i9CsLjISu6!9ITBriqennG$jAd6)tyuY#3I3!aSfcP5Yz02g$NTwnH z$$vNAd+=hB5vY(iQwhhgvkdcgfIdL3GaZ+t^@;mB=OC%HlXEV;eW4ux2LgcqpYhhh zbI!vhsZ=L_sS>J(P;i|o@uBfPV!;`_{0v+t2(D*%CNAN5QUXaIBL?pi=FE~DD~tZ8 z$=SdhF(~)1sqE>my|h27{?x!fGu}p)Iv<y$Hs>Uj>WNaD4E%HBeZf*;h?bK|bxkVO z6{Ws3@Xf~C!cwzwNh(#8RO&F4+G^lm8E+d)&EdsO*v{}=Tr!a1!}%Hz^w<vLb?Syv z4XLFHlPYJa5O65v7%$9H^Q08aE-3X!Uc}_(7_T!S3sMR9gyBUO1IRUA9&s0@;<^IY z)d2F1S3ulFg3Cc=g(kHdJa?fjW%<Y`G8x^C*8^S=Oh$Gi?(&LoQ+QE$v@?}t0#>KK z%{;q0)l)d`&hi;orye0zEj@`-u1=M;s{b<>HY3GsWg+$^hL2m=6CUor7in>=sx+5o zE_*S>TdUgJp!a5?tX16yA)27{f$y21?2Aaq`4+C(wW`^*s@b)w%8zq)tt!6z!IK=d zP4b7@3GK65;A$=K9xd=DEpUYvm|d%y@$K1&T-6l$MJ+J9RyAXX^M|bJaIzXIAl3CM z;DG>wd8xt##NkxMXZ<z;QE#m(CppP$Rl}AAA#au6JJ6ydd0pxWAX>5t(i-lzz7?8x zGmXb;Qdt_h9~I3r;iw>t!qvkuJ_GImxVdmqxU=Ev;O4<ig^R*5P8{`tQMlP~Ok)`; zLoJ;-2uI<V&NPNe!(s;^4BKI}w0Zy3_V{ru$1?P%z_C7?&vr-MG)vdt2G+s+RQhKk zjWp<{!$skk#{OWO&a`hN+Gp0?l6ixf%uVQ3znM%~s+r6vlyJ9CuLhY)I6gbOPBqB1 z1ykP9EGd)NF$lr9=GUytcS5<;CB`*107RS<y#g_WXkRmy>CHVX?@Bg&6kH6BjX4;u z#tpMkBjLuv5g&!~H#p>+MDnuz`Z$C_PA#tG`Kz3P-2n~w^V!;5fY!s-rbG8$r%cmW zj$lD!G1}nm2`;Pl`XD94+S0{0vqaDV(XWJjwEJ4x{SZh?y93w%rQ3Ksu$dIhd0pT& zb3jltGj6fI4y6n&?Ap$kL%Ng08g3cOTsM5mWv<ezJ(;N3wf!e)N$%y5G%IIQNp@go zuDcC~>$bW1dL<e(94>fvSA|ziHMk$H1rF2#J8OX(@Ghv@xJC<nLkql13sj5Gmuo2| zw7|0rkQR>|*~Y+C!g1u|sA!EYYsc;MM*DTzCVhc=RZr|=E%1FU@KGgDxvXv|$ki^t zQ%Q8ikF~(-w7?}=AZH2a^R{1uUA^@?TcCRQhXaWD;tYIn%}3sxa8`!pZ!?j`<!`g# zW3`)&o{uOueYf%1jB}0K90Znu9M-rsAn2Z7#)+mg7jYraHEv~gSpiY*8n>j$XRGyX zcH{SQy!**BqW+jH%m<ltOWS15f`iQ5Wo#D^#${~t7@&M_0RxTFF3gE8L=1@+3Ct{G zGe}v+b}^E<jIFU%wq3?{338mgh!DAyVOhpTsvv$DJcxA{n%L#=%=D`XA<7UJ!S`f{ zixCMqSKyjG>x?sm)OnU?(93VVYY>Wlx042Qkje*}CqE{89H@Q<eYK<N-df<-XppMv zPqo0cTHv!<;7Tp<9xd<&E%16RFs=oXlTvl~8Cu{tEpUVuSPCFU+aKbm?QjtAapyN6 znt?mdoq(d8LR#jE(+W;67$>9U91jA?y!nrjQt}p5ec;W<<g!2v&K9x@Soo<RtLWrm zE{LJ(Cn#kOK8tlpt%MWzN|y$9jEd!3qRgoBWwKSQfGi&?AY1HQUVsaKX|a5!*_IPy zCrG4|T4_x52z(gq1LjI|MZT~v?}oC2sc^GhKMH>uoRtgAK$voYxp2fXk7;MYMd6sv ze1;p~SdR3faJGz}{vf1>oS&hez@^`h{`G&8j`VZszKx}R4!FCqR9lZy!NA`{YQn(( zg3TCQvXag4Z7juRlr*8C@NR;~Wi`J9G~zUSMSq15S^1lp-n<9jVm_1hvhr=+PRRK+ zs}%PB7KB31Z*VQ|_EuPVy4o__TYSPMIbCg2yEmHh9fwwoyYnB1#_vb!YLP_EhA&oy z=XOi1D(zCyrQxy57HsL-@NgiH{3U)g9*<03GtscgZlKhc<SD`MakCIp*t6Pr5Og5j zU-;?v6S_EjZ2*Z?Z8rNurIL2(E<P-jf$lgzUH;n0hgWZEgJ{E;Z+bdey95qApv&t_ ze)**{x20`dNAmHf${t%iSYhjpzy|mmRc0Gyw#Z6-!X4SD)etTOz8*h9JG`D6;x;OW zjM6UetbuI`Jvi;sZ5}lVziibv`y?&!1TC;c3#4#c)y6xuz-3zCL0X`CbE7SInQ=4r z^ScY>6zb#qt}#uj#Jf8jj&mH&2-q}!S@?nHSE+WzWm@3rTHrBS;9xCKZK4>_Qv4h4 zUG@6Cqy_#?3%pDVoMnJ*zg4?h?7<gC)mcXZh>7?Un24AO(L_7_eUeGD@pQr)OOJ#U z<SE1{1$i1iq#!o>45E~R*!Z)IQws7N0?R-hQjixAba(m@DaiAPOKp^b9BHK>M7dIs zHYfS5BqLohLIj?Rccj=zy#)H{#3P&sI=oxoxp>aSu%>gqlOwCOUq&8mxn5y;%1vHm zfO3;RG0-S?0)F9D#E|%!z>M6)AVqHSI+7_jd81Xfm7BcDoJNOt0&0Io4Di3eGXfNn zNBUpkL4fj>iM<WaOn=`&hys+q!S@6xYY+)J@8X)>2PnG_kna=nsdjwG%39D<!Jp#k z+I~Dk3nY858oApmYuSiVz~Ok|leKI@G=r=~<P9-2$eVj0oJPL#1;~^nFmBQI;gSe2 zm*RrGx1Gxv`M3)t9bG5|sr1pZ8w*h)LJ^90-W)5VaD$={e*rP1h~=_9Oy)<H&O$g> zV!XL05mt;r(MBB{#TQfI=DYC)@S|`{w^-)SaMKu`4L1lb<ZS5%OOP7bNW2;etbpB5 zwvo?^Ut6YIzXIZr+2{_xIOHh5ID|rouRzntK?*HRe>W>+AKOVmWFKE61mlJItkY+_ zz&d49ZGN|R026Vxd1X2k8KFlAex!MK-VfW+UZF?2w!>Z<M2(;$j1X+JaV;-OI0Jj4 zihw_#9m5H@5$velq1$P14uNL%wnSku>Q7Yms84ii+WhT?aH4X1)8-S47QHR`o04Vf z+-_SG=ea19B)!<|0sE3(5HPXY;CjiP*8K>DT%=}meDr47>(~e~u-7r)rPdpOSP=<T z{DC|$=i0V4<{)@OtpJ7GHg_OD-Y!AL^=N`=8jMHEcoSv9q_=SBl}Pjpa5}K1>&CU( z<2fcQxt=fI4KJc<G^Wg01q^F}+woLY6#s019Q*iVB)`Z`<zQlmQKol*%KcB;CY`MX zPSFC@$Mp5qQtY7xs?SV$8@;T0Vy|j}cWZ&a)dCl3f%OL1_FJ{9Sy{F~)vJdC2v&A) zd}_>R&S>zD0`IyH()bPR!@RBd1WF26Ic9*Fm3(YqyDy><GlP+wjV1?Q>u)iKY;6>Q zWvB^k?S2UQmHT}Wmzv4e9%b2DqFlB%?R=^gD;uQbKT5dRQjkl>#ma{rO8)QW2(#Lc zFfywp43JsfpMgecAK1tP5JO^rff;7iAca{SfMhbO16yTVX7xbiSS9~K42zPVR6+b; zc;Hb7nb;xl%rxatgvg@~hVSvHharM3hH=d*`3K{@@_!6zNoc?9#d{$$tK>%~aGK4p zn|#$)WR?8rieL`)-_LlCz)#!ZAmC#>s}XIB@vOmpjrBe1G>qp7AX8Ev0psb+!Mw^j z3YYL!r-9x^XHO=T@nX($O3#@(dlL;ieL34HG8Z-0!I85+7Y_FFsKn_BEr~e?>KTN< z-}OSRr4u8iC8b@${lfc~9_{Dvz;?ZW=|z8hQbwY*kIhTHDFvH%A}I))HyWYR`KIdm zDOI0=I-Ag5csCjEF?juRL(UksADfhSa=3+tGYV0R(KQ~`7(ylcqq#y@LN4vnP^lw* zS{e>-EtT6D3o!3BQWzZ$`jv21aHHYK;PYcW7LGsB7~BXrayG;;os(1g#4(-u{27z$ zBrTRBhCgpkUP*&=iM2m@b|DQPN=ne?(nxq>X;o>&xeNCuCr6=ad)nfJlDusa(|5Ys zFskie0NeZ`ywXnG*QX~V#XPC;2ywPBfta0Ru6Yk*;q2{)oKskhSP`6xP{^5xYxy4K zk%7Gd3-|+b-Lxfl-r%K^UmEai;=RP5o7NS~+vn6%PF~uOJK&wce@#^E8^3s;f~LnJ zP3s~JpPu%e?<Ss&H~jIV@Y1PIq2R^EOGgxJYFd{YpRhUJxG9d4k!sd|lmkYpS52aN zebd^=mv6?a*RJGqNeu0Q>yy>n^09%OsLQ{oULPr1d?`{tIuSMjiJG;EeR30Haw9kx zsp-*N6f766eD1*VLVo4u?pt0+u6u3|iXS`0Pu%|G@DQnelpmkG?W4|#uRd}T8=D%} zcDm#a!yz~HOjK_scMlCd4qIw?Ki;_JqvC~)(uRij62rHnseN&zPbeyjBl?1DeWGw5 zc!{bWO{;S2;}Xexw4qDlF{!nF$D!9$ZjMjdRv+(fjv`8<6aP7$zWG4!lNd@~KGCo? zkyFe@!#bh*ec|zWOFYl0dQH3v@&vws_p|0CdBXZcAsdxOFfkl;#H%+Y3OPGSlYfBZ zZ}8>`WrT58QgYh&XAoRaOCAXH2`)AzhE@`agREKv7yMbtAx-?5wh~-auV;%tvz8b` z@RKpN8fp5FJFa*#0>16CB7$-?QQ-^y?u_}DLP%e=wo%|L)T710#Ai6sE<*33tVd{) z5c14JQVDgS$RfRPCGE}5J>EX?p_AD@IY=wjh-cju#z>)e%V}0V5lB0QAv?lKPHc-7 z_-6xbo5|ei)dGLgHtB3FP;IhNrlt5TEwH;5xE@1;ig$ip3w&M+{G%55Z(Q+ynzoJV z4ZwKfpsK^WYk}$&?`tshsj7Zd3%pqiyg>_$Yk}=GacO%5+0|mI6ScSI9^R#FanDMO z?VJ(YnR6AwOtaHL&L)_~DI#af<OG?<e5NtXZ#8Gy6X9x?zly8sMR{Hed|V5BSPP5; z2wC2xnAr-$5}qg%e21oG&I7oV_5=@e8ME(24AvP75e|>Y$uW@C#64<qE@w_Pq*+Z2 zY%Dz*0>MQHQXsgPNpXon49HY-zLn&Id%FTDu0W7UU@8S8oTbHFNen0ZOAv5HgI6Kw zw|I#oE;mBa;L%nzNR$x`hBvhm1CpUJH{;zVP7X-0h?Nj>XF0!)@o13{UJXb(2_YFj z=_bFO%K;!E8v@<P>mDIzDNyLEW$@6e*N_&(h-e>Wh}SaOXj#bX4D@=zhzyZ15g>ja zX%rwXPtLQ_!xc<!Y<Z-t8#ng@B;&FE5FX0j0MCdOSrO8I1P@}xADh@u;2CD?e-NTr z@kaQbSn+=m2{}K-HEa5kHGT1h%j^+YZ5Wqw<W+qgrfY#`Xn|z;R8{j^rUI4%h|kFH zF$y>wFMJZnI}r_*K<*o1W5_^~+2gk~jr8$ukSO^8c`$o1C&Y|IgoRjujT{R{I~RVK zox1?1Wyl&t{G;{|zvPgXA@=}iM1}>atx$*y?`3Hb7v6^utU}mAzg39TCtF(F4?x8E zgIC}Igt!joL8gE61J+X;9daIG6(X^E7@?4}64&ya4>}F(inay(`OHD?0puHQYhiih z;$qNn4=RX|oDnAMV%A;cV|Y{Bp6u;3gZmb4O7)vKUkjx4Th;bmJ+)@<scy~H06&4Z z%e>V_13Uy1z9*5!3Exx9<1f)mc^VO%^Tr9>GYGm9xaSb`>vo@I5&lv*fg55ca74Mf z-Btres|lT*wWTiJ9wM{07eFfAtWAEM(Cc!d<{Zq6w4P%RrbI8o!&K=dc$lrdOd3@B zKF<IrY_BlTC=CbtPlzG$Re>3$uR+S3?KLEG&h~n%Y&&gx136ad`zFJp^d(gg|1&(y z&i-Oze}!j8p|=p??Cfp$-t6ohL}06oYkA>up|+R5B?^1sB}gOu+=gVzePw4F^JDLs z5LM|)3XE~G6Fp<ZCBoRgC~$vImTD0vdV@qiRszv!8AY~cm07Ap&0xDHiajhjEU%uy zh@{ux`iqq5ir}yq(-4v5`i8CS%5HR^YDieA1@arCqL^LTjh+hDH<uz8Q?3p8X*(PQ zd{eGZ5e=MjIZr{TnP!sp848uubvCxehZg`NTRKBuE1Rr+w-70Hyqv*{Y!bb9ERVA` zPP*)JYKA!}8w<zJ2_^clPmXn-fB=<NBj76G2&#s2sOFVTpfQe%<#F?oEHo3Y0WJzx z2R9pTDqIw94%}Qgn?4WWX>c>(XouVvE((`Qhc?N?aYjuSg{y~Snx)O~nQ&3K1#td$ z5X*QJj&(82c0}P=z7EdD*+%Bm5jzMD+esI}Zn_uy!QKyXbWu3=2Yu3DIfhf|vJR%R zJj2AY&B^tAj(VJ5=A-X7HFqC{>;vG=gNwqkyGWKKc#BcEv*Fm?whL{ZY4#T&hj06r z#@lSXE%2I;N$q2{$=+KOVLlI5#&+7a+Df8s9?u73o-N0QvJ9V5TMg_BOcZX{_vu#N z@1Z+;znMDvUvnQ{;Xc3}72v1t=Z=m^<&L%iXSgHTJb^#p7@UGL`kEz$Gupwr29@++ zT|Rqx)@3#cz)Z0dbdC{cyH_TJIGH0y(qF~!;2O9i4g+^w%X`;#9=I>s67c8aXx_~s zN3$V;|9v>KX_qcqrb4ZCpVxz?odLNU^}()uFHnab6+6pC5NhYnaw9yFFyH1YO&zc$ z>C(cD`{z>R({lO|+PZ~X(F9DdmSUvt)M>}dMT_E0kj4CI&@ZQ=xwV5)pQl0pIu-p< zi0FX6;`$UjlWVy#PToZ4Oyh&pS=`_qE$u#mv<u6CN;4(x586XH>+IOg0=!A;5LVlW z=Ro~^s(#;S+~-~qc<0whCrZ<2VGYEQO<!{j#H{U2Ut<l#d}P{sjLzSze!yqfKI0DL znAa6&+HPP2<lkOfs(H_R_vFd=nnMf8b>~CLZK3YrrUBj4@(?es)0KDxPqWinxK6UI z<7cf))gUjGOIUaL_6(aA@T6cv2S2NEC@#0gku31-3w)lm$!|@IpMyYJskdOPc5>3) zM_{#e{%R+iTL2Tp&PqQnteb^xC<Dpu=_glb$R%>7X1a?&S}&ng>mK1`B(O);{qm~} zja!tKAZG)?1osC)k^Z#USOkUA8e{~4b=yg7#JH_uW<Jyc`N2|Ad{_%?)&hT|1zxKK zPS*lY(E@9<Kz>nG{TS5(bF{$E@#9og%@3~%_@EYes}^{z7I>u=NTXlX&8Uy89HFI1 z!(>&}>LV+=X(?{Rhg?<lhXz=S!K@l?3|uALcsTNBmVd5Q?ofI#%G54@LtFd9THxJE zpt6}2(#)HbL{}uVz{|D3?`eUjYJrDqfiGk7p?Wo*)dFwU0<Y2nr)z;{7+~A4?@sGi zPSG}LJ*G06{#CxJoaEOoe@97l#S>cK!&>0oTHv)xV7qSoawX9fQ<T7V)jnQHbj1-$ zV7qGPnhedGw4$>X_%U846~*_pz`tsN_iBMZ*8;E80+(ok^#<7XX!4(?@r*$TV?<R( z<9Q6EqGORpjps@5!!e0MGssj}x=AMN+r}Xp3GXd&BSB}55vWT@<m*ysqbbxC3tw1> z`qGmTScX2sTG$B)`t_ybNru8R>PwHY`ck5dzSQ{|-z&9>^cYc*o`TZpRHP!K^Q%b1 z*TYbcx&oLD${8Xd7`C0ty8nO)l+%cxi(HU85vkCeP9o{soiMVYE+s)|G{22R=tECq z!7eP=l^4-@G7E^);X&s)*~GpB&&U_Qix735--GYzJnIk%Ia6@W>O3iFOBJwrVhM^Y zvkP6(36uzNCeE38ZFZsSaCF1TaAV=fs3dpK8Awrm+bD2T0Y_+or2s<bIR`&&hl7Am z=Q$VAK%M89F7{Ky+v1b1gku`RX_TS!K&|8;jGWwPNw(6Hm96>vb{&WU><_9!k{CC{ zNt~|`F|jVZE5>Y<td2cOks<eC@^(358_3U{1ZVj|g5+(4AKp7wXh~aa71Bq-+54c+ zH0IlKPBX^eidZC-ZmbK@Y#yDzXIM+D3){ekS`@?f6@cRCb4<|vilg#W#Ze<V&nS+H z{KVNblC<5fP$XSSN}@=*3?V3zwz6)YB8hc-8!s&c1~%kgnadHPBB_b#&BgY49FI2e z$?*xYtJw85ZkTOkxAK;WkHTfT2N<}sI<dH0j1UajaV;-8D6HIo=^5P6H{F0qmOrM^ z&|CzXc8nJt()|(KhR+O#3b7!C4UYygg5^YOwZ(xx%0`<b8mLsEd?0b2=@Ur&O=NoF z<N;{0-PO7u!l~b|z$$(yRq&anY5%4ED)?#4SVfR26t~Ec4X&soNu!r4k$k&v)dTGO zL{1s5{^wwqefE_7s)i8LusKmkF4S&WCHLKv2`v^>f%knEaQ2~lt4LctoeoqgrCUL% z6vU^lk;F&B{>be3#~)(S@VfKo7=4PDSM@o%LJQ<te-*_^TA=!1E^fe}s(O$Xs9q@d zK3;EC)qm6iZ_@(#K~q(Ii55upnu_9RE$~<^u;UMQq4rdDGk@0t)mD8!*HZldUq)~f zW&mauVq^s6kP-X>X_OKCl6icKB?a;UW|)<50)eF9S4g3xKyo+_HPDSFLFS?Y#fBp{ z6H58OuMu$N1HVDgFCVyt6gVfMe4yOQ2Z(a*sWVQE)q;a^5ghyuWYY-_WKQN69Eg>5 z%W}BzjbQF?MPWz*Zi5Fw!R;hP6YJkHKojdb7-*Dxfkfc<h#~P#ff*BPgA^0%yO2y1 z>$_WJTNCShkYi1(|G=<_8%Pzz?}djJ-DhH)dze}10|-&v@F09o-0%=0A?IOSv*L!V zxB=s!@Lwy`gYmQ4p;J8=-=n3NHL*rdk?AGB*ILq1id2XjUcgV=;UM4>H@t{wptu2N zS(ACJgd<}~pL;9uy+|W#cp0QhKEyN)vWDi)vjCb2Hw|tE++4Uha9DH#oH3B@L+JoP z4RBF7g6iP7l4vSi6z&o@*39tPa3n}v6waSVI@aL19^pE;^IYE=?+!v7Yh2I(?%y>i z2MrMmaaw^l=dcxQDr+I*#X$gTV1RC&cbMe8nl|rn$$JfX7`b1E=QM(Ma`y|%nT6cc zj=?VffQ{)KL*4{9_V#c%`31s<wBk8*tY2DD;g?oGcwn~=`!fg`p+&c#XEzKK=}v;P ze2QOAgAd1FNks$}Zy|(JvZw_1pOVGu&F)#Q+ycuG-v%_|{KYH!4nmY${Eg|&J=q-I zP<!PTLAMcd*03s(S-gu-$oV_2<wYN=HjU0LTFkwe;uF@!u@&=#we2^n4PvXuk}Osj z)vV`nSbLh|u!<I!BKfMyEfxC}UAY&6*s5AA1zT)Hx!<(e3d-=mW(VlK&|};qO7^z` zM-8&^(KvMql8?T~YPFG4VLujVy<7E4QlHo*F*<MImRYF3A<x~mYVgyE@rlA!ALbtp zFR{9E)tWBx(RuwYJLRAo2d_@7UbUtO6rcE~gxBsic=i4DtYGz*@2>j0vv6xKkS)4; zC6j{sV-z6lj|uDfDKS=&?k3kpXdp5Y-Xec=R%jqM*OLkVl7*Lnt-qE{sNQBp62&5I zX(a^_Q_s~n_bl9S7WNLa;vbkc4>cl@wPN`vH-(qf-jo=lJ|@RiQDCwz%wRQk_Nqke zxvt@Fb)&6cuNoTniPc~7#aX7}lDM~p3V62`_#-WFsTMdz3p`y5<UWqL>wkej<`8X@ z)PjWj@RLzJvD*!>?VA(@bT|9;=6A+^TPU5P#GOArn@${G!SQf{TmB<$i{`hhMa676 zYhukD=*PnG>&Mp6XAAg~<FAO0-`1nxn9nceNpSW9(b8I;Jg4fv?I^AS{+|~3nilw+ z7Wj}7*e+9%+mu9CaO$M`8SQEl2R?1pqdF2m%yxHRoHdh?iI~UoJ>k2>x1H}A-xW@n zG1m$80MI?Rssb_&2XV?c!c6DPO;RA^kPOUoBFNwgRu)JVgflV61+r*ol7Kv;3;boM z1@;bk2>Lhp$z>tVl_<}su<{I|Tzdyu^%koLFLU<8+gu_1zS9Z$Xku5w$mnx>h}2De zDnx{l4@f!@2CI}?_N@>X^9P;^3-bp~j-?urWfZU?-dgGL;TtiV<u~4MEFsG$xeHJ? zWI)<cWW4T#QRpEzL7_(vrZmb8qsw<g42io7%m_UUQiL8okxZdSajR@A^w@(rIQa@5 zsO<?4@LuqY^n>J)z85@5KYE+k-tf$nb{~W&{oq0>Px`ShBG|PZ*X;H`+3kN?zI-b_ z#m`qY?qmfe=qZk=9A{e#A*O5l@eD0+oEFFlg6a{L0*Ft?V2lC|#|xjJ<S;}t2ui}N zgC7@8m(mDFjzIB}{V`FbA;$ZK7>eQ*;jzs*a{#BbqXCXRL>F?1<}z~GVLYcEX;b0q z;O4?nJ`r-th=CM?<92iDB&1QQKsr%4mYD{}atsfGi^B0cI2(@XteY+h$7b`{aVA&^ zM;z0laIBNGZJ6a3xbZspoFdR?eKX)#SI9XM?ZelJJKy=`7DN4V3vOO?6z`*d_|*K~ z`Tjms2q}iJqzEaFVO@ht_F-K<s|u-0HZCd$AmSYD6{tXnq6zLi9ck{tig~x+L^NR^ zddL|@@*<8n7NL-H9IoYs`#Wv#R?@U3QnZ+M;2pAQ5w~*Q3wIN+)U!iRr1tn?u_542 zD1A}0S<tICr}z>@EX(X}ij7;~6koXJ!MqntOZ;4Op#8udep+RS$mY;w9Rg{2_fSlD z<F=It$PO_55cA(c2ihF0`@Pv^*>Lt^Mxa}#cQ4)%)kt=W7I?K5*rWwss0E&)1s<mb z9;F2i(gM3`ft&EQsGiIxTHpr;*fwv!(@Ry})HaD<0@Y3OlLlbhZQs>gBU_+q@!<gC z(?0=Yw)svNrT0*9Tc;q6T-~Yg!3Hu4`*`u<CKKxJiAW_=Xu*>hClB~-1eSp~c)-&U z^y{=wLtH8&4>;8FfJC`GAor9}tFDI%-!~bh)A4=s?enXy$H-PTF*J;GHGcj0{ikcu zXM?f(F6e=|`W`&+cXgyr#!gyB#%>Bz8s#p)a-Ct&^#U`Dok0p?Hx<cb?9ObJZ5g|> zkYlykXEQ9?Y*GdBY4E_$onvC>!ZTn0=?IaZI}g6c&&@z2<jll1tIZyahno5U^*(x> zDP)c3(Fqga#>4TakTsrfW7pSzKa+MDe%cNP0UwjL5YY@wT1JcTG)!9)$d&ZQ7|i`z zyHOln2{+n(M>s#_<ex*RUG~f{-yyQV{PawMqm6vp!hF%j!STf-A@W?Tgz1)$b4dYi zQ;hb_fyZQ3=xpuwjb%aSr`=H9DD0KB2k9LER}UA3n*ui#j$d#(hG)Y?;mE()JjTz1 zBfrP}wWh(%fFouQ91O$JDflQ}X}l%yn)hWR$d!^x6wXp$$vU_>aQ<2sARdJyb>=b5 zd_R}zr$-F)8eAOnOl#t%8CMxE0S_OFtKot5{5Xa69G1#@E(Ojt@aH#>53Lf8-OI2Y z5EQKFHKZi0=(VhSP|0U0tSIaDc8a<Vn258?D|0<U<VL^G^lxt9pXna3vpTC2?sNr0 z*gGB9^1|L>C3i|CVn=U4#Ut44cPM!SDnH*Py44^ve`@(W62gPp4X0X>2+~h~8N!|M zxFmE)I?ef8k`IQoFY{Y(Qnd>Cwh6{iJp!QL*4@>1cNY`+0i@EfLAX(Vds9Em)}S6} zoTJ2_c}8?ls}HrU9!v_YTV342tqyuXccOaJJN7_lKA<5;P1^$<$Yd)G`&(4%!iP)L z<H$LNSHtnARSCy|jzg;*?>pd(<aKz1RU8Tr<5K|}v_SQ)2_v->57PoE3RT@qL<?Ml z7g|N}Q7!N{THya`ffs9mv$VjN7C2A~R7*TQ#P2}W;je0e&uW1;Yk}8kflIVNPN;C# zZ4V6pX_Ae*@Od+H4kOtZhDqGrNTX!q9_De9DJhU~NCt%Se?UegJWAqbD#{#)IRpT) z$Grql%yAzA%g{Fvb3A~cU(9ho;!-ok9K)=bgD6+baWRCuYB9$!5pz6<(&@w;GO6;5 zIYe8{iF|k>4vcw-0WS7mWK$ltDKdAS7`_owj+HiTv7jXF5jPDd))>&ENPskA6+9GK z&1?!r<X$Kkd5kHIa^IMe{t+=GJ}xjL7%@l@j68v43Pzr6m2CwhPa($&MxJI^1S6yh z;?KZCQ=T=k=ir&S=<^6sF!BO?PcZT#BG>>P*Q{V<Fy7bH`Inu_Wp`3155$R&<%2j8 z$_hsQ;{_w{;-~F!5by~`{*LI;ox&rbWTl}gIowLPm>afJTuyEI)R|5kj=A8NeXJd` z-zS-zVIRONc^ngp;o;Al^Y}%qgPQ@z@Km_zaAfXh!ZAJMunbk&IF=U%Rk&0*VO+x} zJD2dgb73KB?NI|L>$lTu#@RNuhf{BILu@<SNl7)+?0rykO{{Z3M7V!W^ZbhEV^g{R z|6_~#hfgzO<yyqRxAU(2Dr6}oD&%zlM8e-T=noMg$Nmu$laFg=yC})w41w)r8`-WX z9NTW&%P`aV3-kAT$XO4fhEx9-p^)<luH}V~D^9%-J@N|N0`$n<IEK>ZjEZ6gjApn1 zK_7?eVaY*1(qC|WaZS}ACt7y1?MINOX%3<{z(tku$^DD#*5Auu)xDG%)XLnzTS*j? zucZdrbfK{K?3x`7ksaSNhhM8^%)iGYQ~__&0+(um+*&|Y^%N~|k`{Q37I=sjxSJN3 zrv<8+p1<L-tNL-Z7O1rYUU8R};t#aIrCK1zdevR4^#?S`QBgcj3#9otG`%^yVU+!L z7|c*)8B)NvbU{kVUm<T89-b4P8*Zowe;%GEA1=(XnF%i!o_x5R{BDwv#{}-A??|Ws zsm?zz<c8;!I>2`|#qx<-4iu*81qg>PugKpwm!H_6&js_si^8Lw_egAU_=<|~mEk3{ z8oR0@oTvydrDbqulDZ~*EzE#@U+Hd49a#arL-_mQ<unnN)m!^TN=r(+g!_f}FFjUx zs3PKi5dLBKhVW0r%{Ykj3RL)`@M!3N7dwT>L}R<d!)^2+^jA36^GeAGF99#Lo5|Xp zS-%4d)RTeR!gq%61|xJ&ctm($iz3;Cit=F8Yf9|_4-C(qEOUSO0dtpRn|d+jq41;O zn~L&b!fVjInJD7*y%8cyvk!carRjr6$k`Xy@_qj542+`d0{+a23f|{VK8;55+{$7K zyV-a+eoEZ+R+wD)znoY<mIzvMH3F}aA<-*QY`%o+6Xr`;$WIPebIF+ic0m`v9{vSg zvcHXdXfMFd`^Prz;LiIOY;W3uo%d-i=CzM6OQNij*PLn+N%<ZpWNA{-;$NdsVyjoo z+!iMvsULdZ{DFJya31F0^o1gMkBU@|HFOOSk&jEM+yjw^NHngOGqzg85@nN+?|~;9 zaBG}JOjw_2T${+LV{QB#x0=e}NH6v<PCZCI)oUujRhtqy(^#};x}pW<tgNBZ2+FF@ zBQ&K$Z9|IBN2Z*u&_Gm5Timl14s_8jVJQ+sxaFX(M|dK{x|58dm|6X$vk|*RD>3~y z9;AMfwv8uff&H{V8i}etDC&dMKg6#}Me$iJaJ3eAj~1w&D3W_n-Au>JvQO4lP2HBN zjcTFy4*Ysm6t`%B8@0d}wZI3oz}vLIUuuCr)dJNs%Gp|q{4l7V3@1`5Am@K7Aip3g z;DG>QMmZc45QkG0pWvkmQO_cUQ@Nu;M}=+(e-i#@B)mb6u*>hArx6Pr6*)Ro>in=Y z^pjHOC&Q{iwq!m=GA<{ez=IP*NLMaG(AnJ8y<j>;pu7D*6Jb~|K!ZHY3Aq!xUp{hN zs(j>l6m@qJsKpKP3m${B))1OTW9B%LRAlNl3L!{X&St$nBYoEESw@@)OvE|CD>E7) z%2~!pddnGFHHe3t7_Q~{^PPdv9|ZmR&d@p<HGe}B2Jd@cjC$mIzZU|j-}{!sf{K<^ zV2sk03Oq2#tBdor)EP*ixx%Ta*uP-CFIya7m%s(<MT<E~dW+WmOY&)?fOEi%z=IMT z|BPuDYw80H{1>7fwqu9#Cn{$lN$Y%*v<__Dy2&_oDrp(Mvy2P!b+fTBUOLqvvK3E3 z1$^BAYjNwG>yLq}grl61Q+X>p?Euq+m$Xfqss+|+fhAgCA1&|;^o^>2*Jy!n7+~8E zLR7(dCjia|#zB-m%khCxaLw13u6Fq!aaA?*H(KD&l|beCagP7B%db`vT`^Y+Jl6n~ zy}3sv;C%Jzs4}p<$e#hzI2~Y*vWMB@{9LiuC&KyD8D=`^F|T$xTcCOZhXaVu{+YYs z6DyxAqgX!<iuJRQM#cKs%#$_bOo3uuyqNLg28IprrXiDy2W+u(5YMm4KNS_Q{k*4< zaBQnxqQ*A!K6zifSFh}Jl%+!cJow9y0m0Tx1YLzZry$M@#HGa)8y#nrJ4Cq(`F8EK zf1C)DW}$RCh5QLj_bcR`bD44@wdfEcosS5nDYM~0gfxd)-mdyAiW$UQ18IPlx~o33 zfS3mlva0zeb^$yy<5++Yg+&*__k=|kArf*f#x<+|=I1l3|3)X&X1BQ;j&9&U!oidS z3+MYBc;r*HVmd;qK~XK(AE%|r5l&TgDS#M{m*S`Ga1ijZVapJu{@XbPlUY}*U1<lt zYnYic>{@swuYm@&+PSk4sDqmZHv_I7j%hRDX2FFV;%T+yYOpEvx4P$-0Pyoxm8rbd zbu8=Yp07s?oDu8xb4F51bkE-hz|%c1M}$1l3MMx1#_r)W;)j9HFG%-Xi#&eh{2xT7 z@p-chEW$z1=$(IvP{_Ff*YdpAIt}cG?0`QXd-Y2|d~)Mr^aofatOyo9rft2mVEeLA zW^6x0cV#3HYNhSlR(4Ouv{w(i3dL2g-d$SYjauL}THtIgu;YKiyG%EC6W_!n-P|vc z(popipCG>f%!KzVct#cHD&Rs$yxHXant4@tWiaQs1z{-Qj3$dJHVz6wDz;w`Y*lRD zkntO)W>m3N%B<+O#EFW{uO7QkR9;dmRbIa%$WwXUiWu5`8xuutayvqt#oPhko5lPd zk&tsIu342=R^?T?xoLe?<(13NTjps@R^^2*3ZCU<RbCmpC#&+x*gYGOtC}sns0C(K zUKu-_KV(&h?=qFw>zIJZRK>?@y@51O<;6)(8kJXWEt;N*8%b7o{TU=n7DAFvb=T9- zUr~?cQ+rXhWprPza_c-`{S4UfR0fO`jdH7yO(C;ODWO$vwbeXK(EdsaGC_L_A+T?= zS*K62C3On>_BH_67~3oG4npMM{wC=yTCFvRhn#nDEze)5)oKk#wcl{ts6ZXd#*k0P zBJ3NDdqm|`fL>~4Zc~sbrjAPNf%_tmNii1o(au~dP%-A!MOLttVk}1(&(<qmsZubC zBdkOnz~=I%C{z7+tV9j$`-Nywihe6i-|sU0mRb6$*KZZ#^;3;O?On)Oi+-S7gR-bf zILe|ZyXZju)?e^OsM<bL3p`T`oU8>7(E`;Pv)+bc+x^=fwN)2wGe5>7RQ37$N?^Ox zR_d9@y~^5G+@=Lyrv)z20_zP>`5^y;G-hAn3uiuuMq@S{8nbOkqsDAIeC)2pC{|O7 zcfHBPYSXWgN<Enc??7DiNnT2)-9ZN0uMqrY=pSgm!U($BFV03B2XU#L+OOeO2u##B z(S8jVIZp(o(`moto1dip>cpuEwO$ZJ<)9R_UY%Lk(|WN8rWak12-#3Byi~0hvw+Bh z2d!6E6U&EZrXvLiQC?IC-;)=0Lj>D1<C@ia4aRGc)q0^5vRbb;#6=x1G9QO-SAG6Q zXn~~wLhBX9Put-j;N!&lA}U(1i5T}>tyh&D@b+V7&ae`Ap4KaG4v5Wwn+Z1`?o2p# zLLD3pG^WCZ9F|dPzN%6guTqxvG++G?OQZRcQo=gz4}honIsg&!P5qguUv+sh8cpVI zEF4WLsJ5`P%FzgOmKkyefT+=a4MZs99Ej_Gu=Wd2G(b_-qWy{{W3t*WvxVAlbPL}J zz7Kp4$o#ixy44EoU8emyl5b*?_UmY*wAOy{XNY+KGvN(^XS84WoE1g$Wr}eOQj>ID z914PTT}KgYbzR;-QO?wix~?jj162?gpzD%asp}d_kf-Y!h8UWDEE7ePavVaOyHvvW z<}Sk#2{~1`W_4XzT~}7urJO-zbzK<OPliiB&S!O98M`N|>&n<Y8<DG;$G@lrW_4W| zJDfjcRfq2~UDsKdfXGzE$6=j~G*8#XNlqGFS00<*7XOi~?>Yx$ONKzQp0d2l({uUO zaSa5_uj(3+%5jlchIL$;)?tn|om6Cwb{<0D*?8)qU)?433ePqJfQWOhS70VWWZPy* zdW*X2e8ge;jca+=A&%0@a0dj<-%#CUwJOD;(en1LAt&Y2X!#d$CF!a%mI~BWd8N`W z;tJAL?TfqgbX9%PK+#oE-6gszYOnkftPa!$rQ0<%P*-&^+F^Uu-KrM4DrsE-+uGqr zw<fQ}^0sNML}i(|x@XX#s^NpX`Ko|78elD|-o<LFA8MO)kQUfpT~TG5{hM7~)y5mx zE;ZHF=x^0aI9Ch&uU%ag$LGO(ON_2)1aw7LA&t7C1bnQiViYPP@!}>Ex}vL*N?nl! zFGbwwifqa<q)=CM4SZKubRB}Ou83cA=UOR*3w1>!tmu@eZ=x$2A##%IQ97NjNIsa* z6}fAnzE7B^6=Ej7!pq@7in0P;s#b_uK>Pq6v_d~Lu^Zr-ulA1+qGaXA@IA@OPY?+? z|AT8*E0om=xnHuZR;Z1+#B}YTs}?2iGOf_9_-Q*F1bjTpZHSt^K=X#;PAJBvU5%Z{ zSnUWm-eA6~H>$RS-yJNTGwk>9N?t*}>;ZZv0@L7T!%;`XIJ;>994)N);|e(}6QDPG z9soZVQ=Q7i+{v<@-smpGz=N=UKMx|Mga^4B08ejp4<ckh{=mfK(;iO-g`gEvnR*60 zUxS#@7u|<Y$hjZa^1N5HtEHMz@qgHAsli|PZ2a1*ELw^CQB7Iy(gJVP0<X~m`F5(> z*zvz`zDugAkJADv=YZb#k9-Z2ltoV<rM0q%zdcM3m<jJmct%+y3!`XC>-?;<WIcr} z*rq%UFG+E9I}-x-A$**9R&nHw6wfd<qvEJqCPdE?7oa$jTB$gCjv!BQ^gLp?jTe|G zLWvg<;`HVv_}=v9Wkf>GE4XGAM_I*DR&k^pg0hMu46P@_Wfey)W)aza0W-c7Tac^z zzHih5vx=jP9ZvQ{)#3ahtAM*qar6ZyATm|)F=1aK%~Kq4l9NVp)Fl%GlB_V=0tzMh zn8l@8ASG;9bKaTghfFNmVaN|TB!r38R(NLHK<t4X!(P?hYmrScFcn#}P2|{E14r(T zaX$-Lg}7a=K^)6eIHJ5dFb9MO;es6q*J2@;pXWP1mFL@rRv67y0jsB-7D?GfTA8{B z_wY4K%j9qeLf{rZW_`W|TCA_62?Qxi?9>wzM`ycNCWJV7Mn}?HlvZKHLrw(O@}m66 zK=?s_zO6AHM$K^?=ZF7&dH`RaDBK5LqN+#Js@(dxMDiYO=#qGBEveP-IP{vz&GAXw z>f_x5buTkO)6>0(mZ<^z8t;YTsVkx^%3W;*R9~Vp=)LAck>Hi;2e7Nu!3$=UI&vzb zyRGzEr~(tSw|gb{P9z#pkI2*tk_&k#D#Qept~G)BG_O=T+JT!Qjz$Z)DdKoe0t*s3 zWvF}b)A50c4|klDV{XN?%bd|TgiUMM^zT>~=5>$TiSCZsY40{jdpO1S_=Zx3gL_H; zYRFk1OA7(%wBzNXr4M1Z=|o{AOH^XV@lH*fx#M`{_NL9)al8kpCMI@CjLuuQWfuCg zA<unX2S1${pD0}QVgBLp600j$t?3dUo!9TOQx3Xu@an|sRcngy3O(^p39sF4@ap^P zS;6Wr-(B^0r)g_J(bDQn)pGCIj;R)-j#QiYY}G%UrYCxOU7hirT6gny-}aAGIhySs zW3on$7YW5w-<TKiqg4T)FhCA_)o^3r_*llnainco1SgBMiZhMQHEub+LVU654u|9S zjxQO9Rf@nkirYF^XYKL}w5=WUpU~QnwzaR}<<&d{rOK{C`szs~(G|bb0&mg+FVzC4 zX@RF1VB2qBeqNCU@zvz3#5ljwe6{%MF^#XUeRcV&F>YS5n6^ppVf4{Fv=wh?f%j>F z*J*(lX@Rp1&~{xLzi#Euq2JZkUabXk4`WrIe@hG8Lkm=&v-3V)B~2TZKW4MLshan? zS6O>@ndmpzSalF4*Jeg;RR70A^?wM`I9)%Kd0%0+E-7Y<Rp!ACK)kr|t~Uj`hMd93 zq&a{ka2N?p#FRi%jA4M};ndT^kw?RTBj7K?6UHLaBN22B1IVp8Wh_o^frbIcTiqB@ z-^4KBc#(r2h0^H^1B5AQy@<4BA5}S^^k|fZ+<pi=tSLQ)v^?tpQUFI(jzoykE8wMC z4=@Xeq3~cmFwDe`g=aXZ;}DW{8Sp*v`fx<BE(6!B^?=OJx!a)6lF*x9k|{H1p8F5c zX*udeCXt#!Y(-z~__?<h_%+(5s`^tckSwf<;<H+yTDN$Qmf{Us;PqNyTnn781)iY= zj?)4;!&g0-QUIY_9FL#2!$H6&xSD{du^uQOXUR>?IgP1=vrNg!2#<%eq94xmh;=Oq zPOzipsU(#%Y$Cjp33y+JhsQQ|Jqy6uaCLC=;HJXOftw3A6K)0^(?Sl*(VAdfbKmhu zINQyLy8bNqly|Wpi7`%06pra6$}kC%FvEN{wh}gk6|pf<IOZ|Vbe5k2XVV5D9C9Y1 zK_c6V6;>g^-aZ>w2{#HZ2FLE<<ajt7F?=eM;INVGK~TXuy)h-mP<$GwK}a?_1kZPL z+X<;cveSWUF^rhZQiDoPVkw`fOG=4h#CHJj3?sga2!&kVV`B1Fvb=+8xG}Da!q-0R zkW&YO#yDaMLLui2T+8z(gp?<BMA7_RXdDrEV%x2_$&QgV)RU4Ganv`CUU>jc^YT6j z1DNX>pcf$K`)nkN`F6-|xcsX41UJSeLnJ~U-Gz@vuNwWAqYPcD`t7R^*W6!AvAY)N zZX(0+#J+l!2#<&3kH?NLwPr5Ai-aC`qb5~HEztrwf~Y8RI8g!Bp9YG^RTPiY0$sC{ z+4w;xo1M%>O0wC>Se%~8K^lV@GvPI`)Hoz_s6>38@#e#GzRf%o$ic|9R}QAB7nsZi z#=DT&Cx_>S8)alf;fqYh#l~xd7fZ`2+gFIM6vtX;8LB|}OHl$d<;&o~&?Vd?r){3X zSb&ww9OhXo7w;>!kf|B1TuzYL{pG}&(>8B)kI8iR0cHkGT$&j0Ok5TrhE^_SqG&O$ zK!|hjE8%-{@Fj?ZoH(vo6PK)sOV-3iIoxGUTrd!FBFYIUr+Adoj)&tQS-T>;HX7X! z+&$T~(HXmEBXU)fju*AS?Aqvz9nLpZ)#1C$#N}2@KxC@olN8*BG|$9^^Qtr^E?u=O zWwN=;9iUb+6Vo`FyU4^bUg6NRgzKU&iJ&c)@^Tq2v94C(#Cah3Y#HL<lglEj!6EQe zxL9E(q~+-CU|GWwQi>^-w<m4VB~8w~8RpYrK5um-+;}(<6F8UPHfUYbyDP;b#M$kr zNRzaPB`wxOjB^NXvcfqOSLfpHm??KEIUHfXfM8^*fZ%S{(m#A^es9s$aik|XYel1d z0+@^bfs|w}dM`o{GaSvjePRaIUGg4?Q$&9sFcIe-ugv`jQP}W+q_<eqJcxM6c?j3? zo-=a>_CoQ1Kc7WSE^6l4>-gVZiyDs$FGe+TjyUDBspc@|?Cyp!MoPP>_CdT$p50F6 zw!}$25|x|l<Ia<n+t}JCD>u_?T4&99+O>}QSP-|(8rlbR5)C-sye|T&wmc~Y8{fgv zlz~PspM=pz)!PE49e<MimQ(JHR00*J>yP+^&9;TEd?FACTazBVht^v#pNSgHS)_?s zurE2X>1*1T%-Y`cHS9}b$h1|MgFVys08elYqTf9e{mqc8dGyQJz_j!es|{$M#Dr~$ zp+n?htWVTzj*s4)sM!=By(v+%AwC*Mqpo+$(~`?4zA-OO(W1v-Hj*ghk2Z}h&G~3c zhYOk(Zv7c*D_VMcsO3hBIqJ3Xk{2yLE=>uMSS8Z)R5={a(mdav`sn0vg!Jn>XlBKo z8-gC*Szcl6&rO*&e+1Rr#0aY|X<@wccXS{ju5R}pG>1FcJV8hlw2<h)JrmXyZQHTq zn+_D~UioS#3a>z6PZB8mAsA~U3I-*ba*<qLnrhlG3B!{Lc#;-)kQTUy7T84#d=F!U z>SlP9fC~64E$~_`@NzA1k`{Q90sebMt6yQ%Q}yVJTHvi(;5AwxPmWNv@hmN{N(<ay z3smp9ujb>`)>ThnY*ls7ty<tOw7^ALpxO*;yq4k-N}$rn$XE=j^(Xnt+E+MQ;5+yX z;wiR08tk-v-<zhUN_fNJ$m5Wov0T)6gsb6dSIos#^<w?k?qsqS9FAd!j5*Utm@}<I z8hND;nMdAEQeecy3~X&8UfjTNPV`4ejW~A^%pAk&3TC6hVBeGV%n-vSW{~*D^kL5Q z3H)W~W|%W=K+x`qkD&8UUdXD^oN1(0&=d7d%$Y`t!sAnvPG`;}93jk^F2UOh{mW;B zd6r7d1gE(X9yB7G;H6qBF$;*#;lWbr3lsYip5aV4BSbC97Wkf)WGf;e=PO*ZmP*tq zr%t8qY`K`6U)E9yoj|r>Je(PvvX)Bdir}&P4CJcDZgO=h;0P_S6hK%i6+o8ba1ijx z9}AIYER}M}g_9&dLzH*X$&-c8Jl8U5lpXkrSTtu?cX%azFe@7#9^Krz9>6-dvs^b7 zK2`f6hd8sZNfQ{%@K`65kLEbIR5*)~;#|SYmAqV3h|3a&;=EkN%Y39^MC$=6kmvP6 zeSUe~s8o60ZmiAQ31xSd8YHdsOX8%I82t1Ez%%&a)`yhA?ZL$6ZtN5G14WfpZg>oQ zx+q*wpM{(~LBJUJ^g<})?1gK2k3P=8Jy0y*&nLe77-Rn~H1P4pvwmobSkj<*7}!Lx zg)aAt5j-r#UypEVW)1~Q6$mCi^N<`u1I>3ll+dFzvrT$sdU|K0<JzPrLaQM2BCmZS znrhtU%6T$&O{Hnz$~A*ndpc;MnD3EvwaA8AK<(W~CQr)+g|)z~=rh%*^S&1Nx)yl9 z7Wi8&aG4gkSPN92S$3M1;xH{xZIq^7H=^d1KEdm%dMQ580-w+VAJhW>R|~vB3%o`P z<cCewJ=3*7^(0}J*{mIjk3h1`+R;c!wpkku6EuF#@jYfHydm(MyYbP$cil}ohDrRe z1I(|yeD6z(z_65?G8M)fO58)hIgjwtts5?@7~;2IOxgI&M;*hAcdYS_gIAP?LondC zSf+JjEWk4DDCSwqG;bC&oT(Wt(?$uSRz+O0W!mlGd%`2a1H(7A{#TSAaz>y8nq3VK zH+?+I-yeR!ktWiT?F6QHmTV&pdK42ydw3#3<k3dM_jt51h=iOPT(g#J>9sEIYWrVf zbWLpaKI47x15AiQCUwT*n_y9AmQEkzQ8AN&^`a@^EZwhn^gt6>RpWYhNqQ<QQ8o$r z9(b|=CvsA87BOMH=%wmdTP`j>9h!k;PqfdTXdfUg+($e2Q%k@<)XrI+)dE**f%j;E zH)(+@w7{$-8wQ?W!Nx}9s%AkiYJpixwu~LlN1^KQU1rI4J|-Xzrz$>4(riTK97Rgr zU0KnIR#r5JnK{Ge!Yg?uVq`_RypMC?rov5k{kiaG!p(rgiU{D%>b0^;Bt+rPgd?B< zj)kIdbKqvdO@rf{oIVLf;p*T>jA`e&aptj7mW#qM&Q)*3*t8%)*1^Eccd@qN#Ih{w zq2MbDM>?5qZV>XZ)&n<a1YzeuzU7?DixG*<W^gVq4Y*+08&|wJzu-h#7Qh|c85U|X z1&V=EHCzoGCl}5ZOq}-!IrB+-9w{V{;4ENBBx_+3xe(D<w@Tp0yN+SXw?@N_f+JnZ z01t+v=^xXGrFou_$$5ggSY$X7*@!W41jX_go9M<ECb^U0NM@`Xk44DGFqe+ypzF98 z?T&S=L4++L3EKjKSe&i$j0C6SMzAI_x2+BjIhTMiWQULA{qxHXPfV2^UJ6``?C>&{ z8YFM6Uv?;^M0U6k08e&!IU<xDHZife`v|m@t>$f}lO3`{*x$sk>ufjJ4hlJoK*-1t z7b6sMuE4dt&ohyM`vD&C=aV7+7&q&i;uiNn5v{CGCe4tLmGxzz7GYJZIcTp$aX&yF zp=oHMYyhrLR&B=B6~e`<Ha%Ij;VFp^#`XSQxcG?pgob4VWfsb*D!V{a*${nYM-Uox zXR68!?*PNDbb>)U+jkAo(B*s)+Q9OcAdiwil{T>QcrXe8Cr=<3!Sqjnj7S?#pde8^ z!Jsr^QK=elVcS)6@M^niq1RJG&oEbQb$OjzYuQwxnep*>T|TXCthBRU)6VnU7G!=k zgr5AuI^Yr7ACdH9(0lFc<ltZI`I#D@C~k1G%N9sac)i<Rf%hNq2C3#ecW8k(Yk}8k zflIW&X<DG#rf`gwVx<;Xss-+?1#Sx~AK|B3AkE`dFU7N3;P14+pKF1Ow7^TWzy>XF zq83=I1&-1J57Gilw7`fKxJ4`VcuNcXlNNZl7I=#mc(oRIi56I=1y0lgc?6^CS2#!u z?4bqbYk`gy_(4c{Gk?<pJ6;WXhqh|<o_q_n6z6Jz)3m@bT40qHSgHl~)B@ctH!3lO z84gFLjSLzYHco`c!&Sr8uHY&s)lcDXTHxzi;JsSl&064(wZLn%!2cihrOy<DKTkSZ z<~gLa)|XP01#KWR;XTh%+~b1+AjDrV-iz=YN`8`brac`Bhf0ljsPr%xbiQQZFB|U_ zmZGRAL#cgH>Q4s#s_|Z9sc<)xG8=|aT!faqZoD^)_a;FiLwXF{BeMU@1d5W9>Iy@h z`4>~-uf}_eIML-&+LQzi0sOW>y<@z;5ln%UbDybY4HGWl<)27JweK>_c8Efl5+Wr2 z-FWXA?|niVdFg{1k^KR~dALDGL_~fqbWT!_=Adu>VTk;n@z%l%b7vNcj6iCg@jirC z1cT&{nC<O`LV0J9&iPp)t<Kq#hOTF7MxFDCqI3S3xFnsk(~A#`YGkREYUED{^3=%x zL<|kyz(i3ae~J**$e+RY)W{nVf#EQ&Sv7K2jhx*OMfugvZis>}eemojt47Y)Jy|t! z#_rjuokhN=1!mRA89SUmWEHcr%hbrdU<WT#6`vY;FQj=JqHvOvv?0pnJvw#D?=70+ zOlq^_jZpRm$&$g40B|FeCQ#r8D2w2WEuOnu$YRESirE!3gu4Ul*AR|Q)ew@R*)608 znLsjwWDZBT;R*1`6x!WG*wdMsiwRpFQj`hXz6e3zC@UO%yN0k0-Z?zq0w&_@<CTdb zM6F|ANng%etQd^NZ2KV|a!PP5?>g8Sh`S5=^QjEif-Uaob9jCPnpVk0gU{f@RsuIH zpkcK~LR6DM=e3wEC(`V^(8ot2hx(M%ofi_T6GlUNA~xR0Yudt%H%{E%v;`Y)`~&cK z4fY8^=XOerL;h|}TbVy@d(&3rKZ|73JZ#KB6==}WIIR!TIXDBl12<qux7kYat_Uq# z9xStarq-fulx^@euY}`kO)c0da3b><x6`X%i?p&i^&;pS@SIg6+dM7s94+v8El|C% zxto@v`ZS1F@$6LH!*^N*RLhjE(^6cb1=bs2+wZBI0klUY;Cz?uuw8{Pe}8<hnZ}`- zalYd*I1cH2&nLq9(-~$u=`pW%Ia{FWtiu7sYP_Q`Dw`qPtaKg?!NSo<<6`6?%#)SQ zOu-Uo$-tot#~>OppDoGR=;f3%hYOf15LkvPuz-0Og6;xleo397h)b1Rz&zU8W)bBs zVCHUFw6|L3?1#6m!YRSk>Bk_xiskT=zl#0waXA*H(=A|@k5kfl3=i=O`!Fxx$q_@J z<4_d#K9!_!yYm=wux~BP;d?k79)ufJ@SG=E=4oEo6v+Z&1hOEwsW$lI;hFE}2?$Z( zF%rHf@EC<i$T<<$?AqqRcsH_Zo6!liE7szw`pv3G!j)Qz_h^APXo1&jfpINxx)ykb z7C24|<hZMPGNk}wG(8PJZHI$^kCiwb(O_2MDJYbk-hd=C3zLyjQrFcm3)~<vj9nAC zN22T_5!;;&<Hx~%aQFeSlOpl~{Akz@3gZmZYKI?}N;n!h$;1gh`4Dc%7~73Gq<kVA z!=y?Ssgb&tqEidYF6USIxbXZ?bDZebZXC;b4p4>D7g-qLW5uM(ns^_yr(|umCj0SY zt=jwLJvuj{CTAYz_s*%IPMw+ulHl2JQ{kd;bKuT}W1KG+{kd>6;by=^;fP^c9o!T* z9(ChPXPCxBEYkoNg|h~^%x8T}n+C@?=|$n{;p*VdavkfQ4L1l5hdbc0JJ08!(K!S# zgB7p<!#Jz~faU@|J%7bEpTweYtlU=I7vYdI1?6J0gJ(73<KZ&B5za61e3~P+2_(<{ z3OV&4gKzM<yyS22m{iVmDsYA~E##A(02hO62Pb+KDF`QeHtQTz@(JtoaiXlVgfj!q zRHgwFanAJ0oP!WK(Q_reW&g_Qh=-i>a4p}ru4|jdt4}p;i4-kfiJIdR)+F$MC-<*h z<Jw2!*WtH&^jpRnYu7;F`a~fgXqs&b`>>VO*ys^6lyv+3ImmZe($@Pqeux$swy|eo zXg?A#oB36*ht;fmplr|7M!z3e*Uvn11&N`2(Gm@~qX7u`*Q${PeI$xR?@-gLmvmtx z1MXm~M-`3a^r2<b!3^zm_jp{){q6!uZ$Z5t+gv83*T8tVKSQS7n3DP*Ss<mmJxaao zj+Az1MAOLX_v2Mq;U}GuV$W!sIt6ca;C7S~*+m_4v@5<YE$5!>Q*_NQ<Zc5x{~s{) z_j;(3NIX*B%Vu}qNnZ!;VrhYQGVmxgBl%?DmVF;;*u+M>b>k37ee2d0b1&AQ_pFn5 zt9XPQx>Db>439AJnSF?Fpy1B8G_aB1!$;!Z@I2O?%kzJOdhR9s#=J)HBbCUZ^|QPr z^1}OG68`#aU%e`a3d@_<`YdD4di>`>w|?sGF0kf2X!qSrTW1HpnCqr+&)A@jcp0-g zuOsT@6~e2?&vV*#i7+mR)>VF5(=4s?z7ee|KP}Zb7qlzx*ASO=%rI2XTQbKlE!=t> zhQ6YuBXAAu+c;`&-M8mw><=R@ZT)Ty2Q6;99Mty*@Gf)uvW2Zbnv@uthTtpLKup?C zoLyI9UQf;$@nzvg#I3(99r=E)-ntW8)h<Tiz%S4~d^#QS1xkAKKSP%kE&ck-3_q)z z0r4Ka_fu#@YT(am-K`+#$(K{N)J?PXZXhIGMoU^tsGA6_g|doud?`=KV?L<`a>A;r z`o{*yDLUB#%N&wD7zKBVo4#ug@fxFTZBz?fh>4=={^x3e<Y!eB$7q55wZMEW@FPqN zRc(At3w%xsd`t`csR90bU$}AF*7nl^i?qNUm|Ciy(O<Q|$F;zRw7|Qxz-zR?1zO-N zE$}QYuu2Pj7xQV=lX*=G{DT&FjTU&G7Fe$ZQU#*A>tnRQH!)jRQG8kp{G}FnjTU%? z7I=;p$U{L?cdcH})=5k815D{vRllVLK5Bq%57IlWbH7X5q>)<S5G}A+dy}HD-9_h@ zJ_8Oy_3Zvv3%pnhR4>39s-;L?Np&-OYJnTUXs9T@tOY)#1!`?K+O>=PRodETYJuwg zAct!y4$uPk)B-nxi%>nq*R{YuXn{9sfy=ePxmqCgCAjOh2hsmDgOEQ$Ibt*^#vo)2 z3_>198r3XMFpqjXNx|0l%n+5HNx0s4aq;?h4LMIDKLT?{!O3B7LJB4%PqCzIeJ^=G z!EkI!A@6DA(T3z1_{-3bupxO4LB9>jvn)=14{b=sSQ`?ezR4!|V`QDn^C+FphD6j# zup#*c+6Y6D7YOq<!DlASKwg9gLy?!@rEY@HEFfNn2SbrpOzcnajC$);glH)88hp=C z<aI<s&KtO94Mhgy1;`qTpcAr&B5kaD{Vy^US&N^x!$H7jD6$UGU_+6^p&m(NDDoi+ zmCz`eR^?(j5UIzzG8L{4j$s^G0uZe{cuZD)P5#M9tcIgXegvE~1*k;Wez2HFIUr5$ zxH#Hxa#xe8?q5&(a%^QG=}~q_`t4Bne?khP?*Au3Q1_2xoj!HH)F~TXZ2%zReC!qY z6d~&RKa=!f=q6)zz7cV(F2uDw_q5Q!0yHS#&u4Ys7u7-?&+`P^tLqO`BD{iXJ*jmu zBC>PqUI>WPni~Jq@hy;6!lMP9Ltjg)A4%{A-OZFbP>-N6*H%q)cA8fli6^6)M!t=H zPyt`n0`JfQ)oazS(^6cb1@eckdJz9<^Uctn7}w<2Z04Iam~T2r<9svBypQk;mJ}Eu zO9p0$5oB;)X@NP6bIRBm0e8xni=cnX*adN^h*QQIJ7pxwoicKCRGS^w$doY;rPECr z&HY521Mt#12jddH-W{I96J<2UJhCfm=FK5Ts-D<0<m4j}UI9En3Q7KUX9~x(Mrk`H zlHHJqsb=S+SS&gMmIl9>fWcX*g;_As&C;F+OycZ4|A><QnSY8E4cLq>4TPBjPP zN0d4gTMcjayrr?|9jXXv62qwhKk>CIp2bx)+-7Z((NmmyrSHda+J58=OV#0}0Kz8u z0Q|Ha4g$WZW`9J@c}ty#0(B~!ZPoEC1?TRa8?yuDKo-dvb|AbGZW1;;{bsOYcZ;Em zI1Hx#<CSC^S=s-Un{mXtRiT!VaFuX&O3JCIokB8=?-}zs9VMRcoNON(%N_1UEs0YQ z=ggBg!dYyrizUiJqv4oKLMOmE2SnHgzR$LP*5$9?PK8-7^DJ?aa6X6ioa~VzJBDEA z*T{S%&xD%}cP3oOITU>$TYQ)ub!GpLam~X?>uk8GaC2Ng3ZEt<GvMmsm{;e9qwxL2 z=OJ#(+PrB<W5sk#vowfhqey!;TojHbD5+^|Fw0uHY+n?PbeYHSTsYfq(qP(Ia4f^T zsOwt{<7dDzUI)i}W1RRwa3N<fItcv5f^af_5liJS4g;=bE8N3bYLL8yehxuO35Re5 z0Nz%(Wr&bHIFgCY1$?=x;rN>K!7@C?by4`I!to7a8ZlTQg@T5oI2s|Wio&(L_a)(h z`yxBw&&N^lsC2)9FFw|0zf|D_GH<p?*1&9MD>g`}M=w~*BJ70P&!wuMhxgvKY05xv zfSz8ih8}-cZEvc|?=Mg*j~0^Tko;T?t>nC~ahVG}pi}oy8@tX9G0;RAhqX4al?FTb zi#Bk4ZFoOr92DBX%2RwwaD8#j(CalWRmD^6uc60pO543Y!9~fLAert3+qKHQ&}=zT zHW^oMgJu4{%?8UqW2SjsQ_P!vuj^ETf;L!A6m!&(-aSu<c`rhHw`)BIzdhBbvR(^3 zO$)5n0xPt@K3ZU*7T8G({9LQCds7R1MGJgd3;dlHc#{^mNDEw`1)i=2o~#8Pp#=`m z0t>Xj&RXF1kn&f!MhkpR3%pMYyi*IjMGL%I3*_0#szItw3p`m1JW>m!2t(CI^)>-v zEyaJ}6QHX4Z7opEh~A~8_ya9)sTRn&vg)qS&;mJ`RZ%=n3p@%y@R!p#KTg_u@?4}O zZ#`-Db|g;-@f5S+O*h_o@XQG#x!ojv1`~u$boXVP$%Iz>H#(4k%`zm;H{NXG4#Fio zue2K~m}8RXGFkS3JXrFaK_<Pyc=MS3)b6+(VzSBEq4a!{eF3vu?S*+5Dqmm#7aH#( z;tFsFvSA}RKhU_?c#X`HGgFr3NctsAXtf<==cMf*`$K|vsVRS%@fO09-8#uOf%@gf zYl2r)gd;kb?QI7+fU$rh2+v`j-44=Y@E0>R<93iSk$GN0T)=jaQY*KEypkYqJIE!7 zp}}z`ijwClgeZwj!1pAPS0fT~mg4&V*!vd1sEVuq?A?SUgb+YbM8RMd1$<O$(b@z{ z5>~O02+=60s7UZp@lAZE6$7o?3-}`aY`@xC)M{H>AJzJz@@zvZt=M8ki!BOTBDA7V z4H)GA`<=OSb9b|woIvum-}m3Z?7V(+=5goFJu_$KOj;deS{-Cs9i(!+POF2&cZf@U zcG-sWS+22hj$YM}RtJe@NZmYXb&%~g&kn?@xTaUMz_dEZb{m{MRn_1pYJpr-R8c$% zK=89qf&md$B_J<(3Ss`%95Oj^>L97ZC2vsX*+_54AadLB8eN`7s-iDp&diNE!ihqo z3t7?1OxBr$6%FMS*s4>RO$uCuwh>%ttc0QP!dzGvjCDBE4Nq`*iM{gze_rGd_d7e! zAQQ<6eA%;fzZ4e=#_TzShX2W}K1ZQ|!L2^0CoaW5PpEA5$)$XRV=YT%xB8q7cd!jW z{6(e^u5SrkShzoqc?7ohNFK6q|0@78ofrHBFTusN`=t`zs>Wj({2^yKev1$Ik~5O) zj4A$PA>OF*$UwIHxV6V$bsm6hTGuVP@*TXsY(=rGj~2}PK4GcO6xX5kEx~`=7M|h( zT;VU6cV~MgU5`k=q_Tovi=)!R5E@*T@50SSO_QOQ!Q>cm2Z%Ia%xIQyw5;LFS@hV1 zX3<Gfig3}S!51V}zRldL9V>?h6fUF3%AuZw>)+2u=sU{Yx_466UH(B}Ii%ZLH7xMP zOBGOkUrdgc;$CzWRn{MCf$FQ1H)|>WRSR6N1^ydPKX?mbR`SacwiJfkB*$NhnAzQ` z_FvuTaoX1SHS$ySfhAhteOlmrEs)Y*RT(cgz>eGZKW&%VoA}n450lxYb~<*c{RLs% zrM3Y!_NLJrj+szwQF{wsZc($SztYbwYJY=cA=&|_8s3J}+oDFM!r90le*U;c?R2~I zf~b8t)o{8j*Sv$&$+oD;S2j*FCV7YO{rra=Xq%7>{K95f*v;`SiTGz8m=quO_YCCk zuoBNaFbaq*u&|8PWPI<#GK|1hxVZeY4Yt4h^AC7J&Oh;+-iXFeUwR`N8X<k=;s4H= zhrM{U9S#D4iB$%8_mmSW%&8KmM$RvgK7L~5fJD)qxn^S3MpdS0w&d9d3I-gi)if$8 z&!<Z?RMuldj2vo9P)_MwKuD`DNp2XEiJO^FiE7C~<P0u_nF&(}Qwwt?ObrafrhD!} z*f+pj1v3lgVwgghi(oE;;TM$n>tG6DZh|3}^p1tWo@i9lnZY87a>i`#yyA{7qDYxk z$)j`Vz|Lu)7pKI0UND)!V35ut;W|{VM9z<35_kj}GdKyHlsF0Ofh1-U*fa3~wKEaS zVJevj=E8-E;8DycFcD-vMdcy$RqY8(rjzZb$%Bh?!Cnks+;1GJ5QX71`7{_#Lg{A{ zkpHKf4`)2g=`h3>!X%a#o2;3I+*8mSE^MsEZ*k$Bxg#Thr}zs@D?i07Fjl?6#sAKp z7_oD!0cKjc!P|S2Fs%%39^>{Kw=M;cIvb-~V%4ejGM)+2Db-n(Akvh`*8#bO2UMu- zE~O607QYT`_|!$)jT1G#n#Tp-%4RwGGR36UD-0%?D-52O$f1mEt8?pzi1Z7|uI{47 z?H4ko#>{g-3wk|cQ7F}vS!P@PU?nU|SF5_J-`&4per69)PSpgzL!@6znflgl>$sv; zo8FyRj!H>-woe+$4acwn6G%rlD)m#QXtIH<SeG<er}R_)D9bh(F1{$0dTnr7m;Y$} zlz5XTqpZQ@6z+0tUq9tCjMb)h`1&d1dq+EuaG&*4rYLF3epcug@_+Psw6CA?F1#70 z<xr@p>?C^qlrQ9Qr|HhB7g4c{8aH1w_?5O`0CP*5Yhq4gDX(44Xe@1}Ro|3T6BA6+ z8&njTYJdszUG0*$r3Sgit5KZ)Ac9PFu|s$|<LfrOgs&T_ovhdS(3uA6jwWZ)7Tc8z zeoI=~QTMksWXq4obp^{(i*9%g9P(O^fFp5|<Xw!@b|ilYwA$137(;x@PvbRyK{~JL zkt$EyYI>Bn{KEFso;s$${zIt~I&)ZO_Q1Gx=SX%*xM1FEM3n8Z9UMnk$IN3;?S_=i z)pXOY{m>G*7g{0{R#Zjpq5mUF5tC|0^dV*;mfluet4m_(br!1Dm)3%ZQ2|$Jfel*V zom$|fT4041I93ZBq6H4r0(XKzQZ@MNTHv!<AX!0G*7s?FcWQx`Yk|31U|0*>4faY^ z>$kMPR}4_OCfiM#ux{3two(iH01Tn3q2AL1H)?@Pw7_$;zzJI5ky>D1Eigw5+=kDR zs==3Qfj`m$Z`T4Z(E`uc0?Q1r<F{wO6(Ee(7Kw++RS)7tE%3h#u;WU0r?R|>+R_$k zfz)BHYN$<G;8HE{el740EwIJ_|Gm%XU~Ost0q$1S^uN;rpVk5wYk^&UFr!n-0@a5& zzNoFw=d{2AEpQK}7pkZDh8Cz6V&AW&xJV1+61=K1|7(TV(=hipE9ypwJqbeW^AScN z_63X+)qV^yI{oN^l0ONcfIwW3bW3>5B<&S)E(9!7?j<uZJ4_5@;L}M;l>7+|QSwLE zaKv3i8{+U8usw13OgMw$@EZ7~ycCB|vf^-}JaIVp)TuSLOcHVU#Ymk@94>-}RwaLz z5cW94`H}@sG+fG%Iw=l>CYQm7z^@9-8I2dlLxvYZcz!v8GZ8(jO|;x)3B(nMadOe7 zKwU|<=x-ra5Wfl*#O7BU-!-s|*yLKcC^o+iwl6lH4Nu6a#cx_{PJuw;ijcp6axfy@ zEUu;p7f{Ty-n-4yR>~TLY5*9j9Ul+T0zcD^Js)a;TeQHJwZNCOz-P3;`?SD&w7{4a zNNK6+S<lb{xuU9~I8F<U0Eqp_-@vQwa1aQH&A$n6O0l`K7Hf`41m$-iQBe)LWUH#c zi;%^1m}_D9SqnJ?QCv<TvuLN{uHb4U3JQcL2L-~A+5Q3X!+YR>7Zc0oV9~Qt3W}7) z(moX?3e%2!*kx*w56_1yGOFktW;-e~QWVJ!4+|d=k!;J6Up)x%8?penOy^sEx`l92 zMtrA)Z$vW~!R}q~hn&0dTbxs)QU#b(FmEJshwL?0x3f#N0j@{c?Gmkb2YrhX{K_ir zU_>VlVJU?ycL!+=g@>92qdSGrumnO~xN83&qZ5!yB319)duR+5@O3Tl7g}J~GpepO z>q`t!IVJ4IOUbLXB|ZT_40+$jn<}rh6Y2}swRp_o9g)dkSAT#Qva1geA({ah0-jVN zFeLmCUT(Xzz{T{F&wLOLkI#G<&Z069Epues<wNjGcH}cBTRxL0kI&>_*oM#S$)ed? z$;W_N{0PZg$$tbA$(T)!SW>kV8Ui^8W7p*)gn1eQr3h1;3}lL!M-c-q^2Y}E6Ij@t z*%xu(P)Qt2<WFINxqJ+kGk`@MXv-^6K>Q3*U^9Pi@Q=eXqwf=Nk<EM(w$Elh1y9KN z1%8WrmxV_5!-GokXLKK>6vUC$p&(AiJ~I&ZcSX70OO&ueql^ezvp5jS#*?9NJl~%_ zvxz@W4G>2;(G+92I}r)?N`~#zsv~JMx2pL0jDja|z_sJEuU2WaY<3XlQ3lu4i6Ch; zMHxf7VDN3R_l40cLa$N{TZ6U03@z{zlw6hdhgx8oBSlMb`x&>RO@!g7$SrDQi>ey_ z7jdM&#wg%$ya;flzkxS3M=Hvz+iu-#M4|-c)i<FrX2P&Ju7<%K0svX%)jmg>sFJ!W z$dQsYT+LMGoEjPK(_q-n?XaJ}V+vtEUxq7*3Tnwi&Z(^dAk+D+pWyd!k?;J2gtw}o zeg%G93V`3V3hEJSVrR6(ZfTBPx6|F>zR`&tH2*Q|W?BU`-k{VYSPf$F$@urPn=FCq z+jTsEU^m~w3u@kGvo2Z%M)R)-Bcu5@#tEaz5HOk&fdOVCyks;j@NN3ZXubo7$7pVb zGq|9+34Y0ljAoT(G>O_571UL-p!qIRC*v_?bPAsD396vxm<l%XJ?5N;MO5&Te>Xu} zNX}O|O(NhFn_z*Ld>>Y#%4tRcu@x40$!*5>4_Ia>{U==HB|m`e^OD=)2{|9)H@#%3 z;3U&amI<uV%i8xly<~}&N<Cmt*0v)#DAj-(0T2VKgDH^1K_I{&h7p#MLBvU)Q;?Kg zF}XCFBny~Si(0e{JEgdQ$>TWTSP6AZQ=5V)IB<CU$Ki$XMjZ77rj2ABpM+hOH>Cea z&@G1{2hN4bNid}_Y$6&?49CHcTeP1s;>o2mjOlpLgjmwb8`76f%fyo$Nf1hymRyPR z<uH!lOw3_I=Fj?*fX$coRG5;9VMg(}v8hV(=Jy^3n@wl)WOC-qvaq-;ALA@3TLrXQ z7AQ<!+=GZRm|)3??p+ni?THpYh@{vWOiDM4KtB_(7$k3-fnmh4NH(5$)`m;KBs?C5 zaimo;(Lc#!Nsu(BMz-PUW|*xZ$uK#~Y{OXVyg?ztU@;}WNd+i;-uwbSU`E(<jAao? z*ETZg*=iBXc-kd-Lu4hJ`Or^{Ef>Rxvrn2;qrb$F6J_gruz%#(?qqAn(l7<7kQ$fQ zxt%b$cyvbMWaa?W#5-@5_?omcq2WS=`3fHh7bY}UGoQeDE9T>$w>k)zOsBt}W*}Te z2O&k#i~K3WPwPs2TnRyBA(j;=063V*G3%PxgB^o)<x^rk>1P|{4a%ZrAA)UEJg!5L z7S>?D1VdN?Ue+w{ytood5R?TR26UznF?BA4e|UDt8Orc|KQETp-XZ635Hw<iBDg|M z1i!^YmSvAT9Q8`^7dS6A78UB&^I}UgQ3x)!WN@V{pmccvg5-pj$QXLTmuyANN1<A6 zbydF^o7VF2%JA%i+?CjLo?S4nFS_}+%6F9<Sn$mraE{vR{>h&6a;LT2+AkPTFz=h7 z=?i3sdgU2Cj1F1w3m$~&W`TuYj1gWjjMD8K_yWy>({w(NgG9;`Za7GmQcP2o#rl!c zOLC%(H!IsLjIt9WqfU4})LfJ5xL6CGcuM-45$V(CqNFDSPoVD(=G$5mJ7x+jSr4rV z=O4$Q;`}ebx;|UF)YhIj*23WWralW!%W5qB^w=;+mhX*~?yVUmiDx@&a$^<S-RSn% zq%eNnik8^;?8az|tn21;FmT(R&)`1FShTr`S17sBX7}nn{2d!Ym@PdHHr8!4YF^^{ zN%m5qyusb%75~LPAW{<^Y>GcPq4*M9zqQYTbHnb+7!DmS%ZZKM6}xdy<Jb@h1*#!c zj!oGkRX|Z%+=^y*xjAj|ZPt7F7^Wzg_Z8@^F~=_@N#oc(4EG443hrvW3|nuBRqS*p z?6DN4lEO||7e49L*$3>sW{-PX$VATmCw3zoT<QL1#Ku@{OKjRUBxh5;JmPKlj28En zX7{?C_1k*YZ_P1%b+5eY)3%ucPqI}(w$(dhWg++6ki4%rB+}#{)0JMaXGyV}-SMFq zDmI{kZC@5Lk#ko88H?_8H?&*Al_(*~#^UWvT|76RJd0auX<xxo4CWWuoe-L{OB!+R zGz6MweW+X4Y^4FfV6lEDAvl;An*c>WQxWt$&tG{js{6X_B6ZOIGmWu1f!G!1frXjp zSNzuBg-=$j0te@|;knxM)h$bz@+JPbS<^`=;XN^jENjb53TVWi36SZ4RE~5Re2@^J zz$DRFzTHr|f|S4y+Y-y;!nsrS@@;5-+a)eTq1@6vE(JCyEY8N}*6%u}HjHxD@A^u? z+)635SKL0Xyb&UhxP}?9+Xu!jcZDe=a1giDlA?DM=%fU67Y?;eci~Wwn{^X%Skp6n z*dKaljNF1kr}#79MR!Wr9h>cbQok#wb~Z)swL9HExy>#t9%;r2&N`%*>IH59;C>xB zAC&MT$Awyd{s7!T3;DyagXneWb?B9!LG%u+P)%^o!`E8{%+~^cim#@M;t#aIIxVn5 z3p`W{%+dls!B<aJ>pyCNcW8lM)dD}S1rE^ySKuRuT3e=fB6@Wx3}+6UO`HW2g{d+d zh5Iv(7#hwj$TV9#ab!psW@jN}tQlr!B6JhSH2kbrEt>c5E<pCby8u)osCfkU_M1Ly z)>Shuxa#_u*Iqp9sv9ntdC`pzn6zxpG8i^Do1Tw{pE5SPJidlYwZJ3yxim9wd>h|0 z)ho123;c-|_>dNOn-(}j3;c=}I8F;J)B?#ss2W_YWbf^elHzhL(7W)W;}K@Rk0bq5 zTcojC;Fq+(QA(ilyagvkRf`VoTB0RFG*3yiVJ+aQzSXD&{zMD>p#gT>W#n*I?x}!t zl;a|njCQd3@hXSm2ZyF=(L(&H>N8slyxahl#q7q-Y%GDQYR3bJ#qbNTkRt0+vLGp& z*)kUn1bgU3U5NMv{R~W&-;5CQ3<x2oBZ@-Ei%6mee;DHQ^Id(d3xY{T;k1TWF_RRB zGiD$()8X2NN&7W?fDLAc!C=*{hOu%u!)7=WA(Ula44aP<x(Y9aGbqcvgo#*Q$}-Qe zvP_~pS>`XXD&J<)oZT;1j29z*$&>r#E<@^MvP{z~fz5JG4j4_RUoVkdeif-8%)Fe5 zd1ON}=8=tA45^bsVqx(L_;}hvVCKk%LCTShs}Rg18&|i9wnsLuL5w}JaV_0)WP?;e z{5n{Wf6g|(T3BWk@_M)^|GWXVFaNv|o{)1Be$(<#u8Jj2T<vV!+evp4A?UVtZo4l# z>4s_t;`EUXG<0gt_CCa_2ETi>z?c>|OADN#1#(SFRhe;GU<5!6`QO5;?QjqX$Uj|p z+mnA*ASq`Pb`qFG{<#1oib~LvDgTt)iXi+HVG}o~P?Gfdgkkl}pd<-$8hcQKlsth_ zV!rJNl<s6I*&%lqTsWX{BC`t|(2(qcLYcdP%XAj{>F$Ax8|Ch0_`VBe63ZNN7BLG^ z;@1FI$oV#Yi?d6#XFak}k$pew;g45FcGALyD<e(72g;6GvgDU)1%EzpcCl{EV0Z!t zIflX;93i`Kv9A4{b$B&8=C<~G9&s$1UiA{LL_4T}Piuj9X@NIufma$}$IaH=`mMPh zp=vDe#KjNszQ}v(T!XU?_Qb`R;6WE7hCJwlM94-shJewO2yBFV2wrZ4v%rVxC-e9t zI6UU@Q8<GqE*^njvLo|&rez+9@|Z`CYHgUun^-i<K_;HKI8%1R{TL*YagZE>q-sGX zvX1n;^A(ce6z5C?ftUOV;Mf!QQ&{jlMxx{_1w_vBXAG&68i4uxIeZ9wTwsQ?G)Unr zpFl7<%O~4JTh8(+#5mtT&OrTwZs9CR6~v#01<vvr<NGBnGXy^i7dgx4VEdfq^YDb6 z7x0@trC}tZ!I6_gus>F#jUeLT+<$+0%k(J?G-7I&F}(?|-R9{wCUgyYxWn-xz=ZxD z-Y;f^$L9^oVb3px;kSy0yyw|4e2|RG%*^EATx|#ESC};G<h8Jh{(<<i@ac<tOo!uI z&s+uj2AJz$aOeRz?#(+k3rj^=TpVHs{47<%aH$;Z>Lyx;w{GgG4zjB}#qmc{86G~@ z40(To58IfwFjZh1lcbV!8S4PZ#9gGqqrL_YdCfmFaB*+)@LaDt1%}0;d!lCwVW(<~ zkn=hS7~XO{Tp{NT{1#{bBV#1FyA*%s5M2GP%z}B(0RrCAA9(u0FGtpdTTIR;<_iy) zxJzPoZP%y@?Z*<V_~dQ(qvh{8^}m4-d#G2Y*3u*hS}Rq|#5#~s0be#i_B;C=*#7Jm zNd#ftq;qbrDFibvgGoJtou>t|Z>j1(Rtr24Kujp#VHb?MV|Oz`;_ui!J$${qb>JBo z3F}>0&Z|s%y)!0^m!^l)fOW@6Kg7L<V6Yp1H^?o<YBJXQuv%}D{R4d|Zj#-^ID3<< zKU8dGXuCJbRtvMXjkx%mWWS5yBK&;#1xIovtMw0p{F`L|2_H)T0R!bN-wqeqpbugD zY|uyWgq$7tP2VJ&zDYKHldN)7dO$1Syj~0BJ}=dPI7tgURSO)Z1s<verf-tP$0+qz z^45^@SzoOMs#V~rFH@sV7gc}UtNlRl(gJsAfv;$R>6>KHQmOkRV^q(YJeCSbS(OTS z6oBB`4jKghi>yju1~w33z8HW^PTWnhRJ4>gs7EQ%lQ*Ub&dcI2J{km4ML)pkMRCAc zNXes4!tUW_S-GC5|5Om*ysQ?c5awbS>*rc!4NM`-*I?LQbWex5)-%M~Io+{vha6_= z9FLig^9BA;*DNM--#{sX6S=d36S;ug;Si)Ya)(~bj{H9P|4A@b?obMMvbuxo8_d+g z^$mdw@&}jM2ILRSw&+0+fVC19r;vvMigO`;(n7d6EgUN07luGm<OYYsA99NDTiojh z&PeX1P4Q>vcF+-ZE(#E<-X5#l=2ma-^!-06H}vO%ter1<I-;=c8J#7?cI1M&_n{ss zRjw>WWMGrCTvF@SZ8z5)1h-0yjKbSB++TJL4?~`A?RGbR1RVD2RVhe+2DEBqNtyYn z`=0qRk~wbY;fvR9=BeZ=uOOk{kfVhhs-4)7-7HZt^6Jjt9J2K(*_VtTv(K3umc3gN zFbeS<X@Bm#-=dlE=!UBC?kzlH6>yyv_=FbtT`iDD)Kq1hrv=W?0;$JNmG$vjpjzKg zUoFKPE$}_`J5^=g(gJ^}1uoJ8T`lku1MK)+`cISB72`W4A2o+}(^z@kS&-M2Acpd~ zF|Z-Bq8FRPBotr6li{VX&Z53dKZSK;;qZiYWpH}JIx;9uDg2Tb*MrZp>%l~M!n&JL zgf_yuTUf4C!n(6${ihrxk_qb$C27_xAgl}j%3Mtwz8?a)aR6XxC<+U{Q%L4<=Qft2 zP6`TM;Zy?|56hX$qI}bqN1}i@4N(xReFYYL6JQzMVj^5zQL2FLuP9Z*6LL<+Z(6XH z7OeS<YgNOC+M$M03)Q&kt&NugUj~zUf|C}kwc9+CwGB?mkm|`q0K~LzIz|B*F9OrL zix6f6Ydt7D8xKR~j2{+0#DGBUY&(F~FiF<QGhr3IP8<YknU}&b6Xsf&i(o<y<2kra zUVJ>KO9Wg7a~(_}j7=~d?pZL5<IIj<wn7*iZwWGtGdkjkrzwPCJToTU*)W{>*|0*m z8P2dPV2CS(p`SBKx^IG^pEFISD}=FmPlucNkS@c_O!8t@?2K@=6YGWcyfGiMwv3`b zB04ycJUcj%<aF*5rt&3%m%;~$Ae%2J5tLLS5xfilUn2NbcsTXDoPmo)u>&6xr8ea- zbWik5A?)!m46B0SL&Sz+Bs8<dE8xOjV*D28y`G_&EkY9b2#9o25@;tc-khz)9X%98 z+D>8Owl)kSqz+h4+LB}40W!HFh?A=TC?NP#y%d~htAM}K0-x3bzpn+Vcdg#3rN}O> zsx|w)3OGXxWOr3j9IFMM2q4C_TiCnfgp73vX)9#phy;#_k+8nTRFffL<ogW&*Nt@> zgKsnMc2;kRnS&r~s=A#qx0i(L!*jzEoEh|`kS^ZJI4fQB$IW_%wkuscTe!=)#KlP$ z!_SFmQL?0HaUK!AXz?5Hq5R)upe!=o0T&s;7;K*r{1!YR$Hi}2w3rqxrbUa&u_!HC z#2A~Jl~0Qn+ijk-XtCYq*@0LUNAQXk_<|Prb1m>;E$|0g;J39vHLo^ROOY?Ks=>)w zseoj{RX|U)_&694VO0Wi&?gY)ix$b`BoQrUCQfSNMT$=$RnZcMlTlx!SeeOrXDQ4C z7*2?sp?UaOjGxLJPMjD=4C79PIUR<RCbnnzOe2aMKu_WXk&{YJ4mmL-|7$0VWSR?M zf)ia%G	s9F3VoK8*q|J~&9b5OKuXysm`XiaD8AA&kw3e$wh_(rog226<tM`XHJo zI7OWjoT3I~oxcR!J7dNEVjCzZ>r8wYU_YN@Dq%mLXLh5C9%Xg`8K-2&Ggg~Glr!QN zfXj5A_0zow7iYOkB>ch<=!t;ySMZ0Nm+)Jhzr-2Y56M&f1q7ToB6m3$wWUih!8rnC z?bOy2a6)s_!6;91eM<#%pF%xS%1bvO(vUmU^^Q-0+)$A7ufmb5Bsd?25-B%}liygm zm8k|)NpT)+R6LpKdde)X^s~g>^fHB}`X`DQB}=IaWyqe0w3|hYDT}!VMKCQBEapl7 z1I27Q6UxQ*RrJ|(5E92rKYROf(B7(nvIn}D3b+SPQU%<p1+Fzf4uKpJC&HA%a0ECF z<}4V7S54k;39b5e)C;s_=ROiuYgA}~BeXys!c=Ab85&Oo{FfHEO$+3ptIGOKEif(p ztXfp9ZLAXj#7fnl@ez|RUYzuE3Z$Q}BZkt?^{^rKwB9%1rP$N@-=v>n&%eO25JaKi z;w?Bmu_u`)X9IuuS*6%>ie0rQYM;fPQ)FT4uON|3?8&@5u_vz{hGg?^MEa6V#)CuH z2n&l>Zxfv$*<=(D@4$j&bCdCHhGjU4cj4lK)_bu11+Bls6LPlTH!ayrOE!HrH7(if zK>8Zfj#->ws6H8-0jYr9CfVGLQNZDN5tvne3UA6;W%xtqNyNubB3lqrM1Gx<$XSr< zg%_2`mQn6cm3^tB6DMq}Iwx$LtZ`DviQW}3Ghqs0I6<_NHu|l5I^1mEjwWzSLu_y| zcn$o_hiRGr<uIgm6HFltCy~sbhT(-U7s1fa^3c%D<pncAWW_l_48aPVYMh#4g1858 zGeOMd2auD*D2&|*n`Cmhmnmd&m~jYag+-4ttH9)tS$P{^BjubNhJed-KJ(K#@N;q) zmhdo=o5^7&{2?a`zs0#vg+}&9Ia2%uCx=KbyI))OW%uixI?)JSd*X}K?c0g_pr9L; z_ch!3<A4DuDaD;;{+I(_U|*`4%+3DqlrtnA&ord^+qol1k*3k(dmO3DTr%+z!W1ND zU+GV{hA}O6&t{D<<UBfoc_HVUFCN*s`Zs<0S)0j`YTQuoL!68UtD>mB5o@@XVm~d= z(E@j&?Nya|O$&Th3;ekOc03XMPupI200sgXH5@*V@HpoHSWbWbEWu9}^;z^M=0N!1 z9soD217YE!)~R5`4}z17_&^5TBi`^L6N+K!V1$w%x2Qq%lOI0>j)iD7@Z*Ew4D#cL z!Y^eaKR(s+<3xG<ICXrr*@hTlnNw{;oGSeI5Rgd5k8{+N`e!;GKYkdIk2{}dMs-pa zaNC6lMBRt7AXJFte92}hQ9vAyDDdM&u;7cpGK2UqxX6zm0o&)tkAx@W499PpA5Zh+ zX?|Qg*8X4Q$G?P8K*oyzKVFQmz)r(5v=8Mi+{8$(I<V9596LsiVUnzqPli>*J!rDi zkgP0OZpuc;@?vi|;>}LOQCzAdk4@f~{CFV@d0@+<b9W)v(3zM#@N~~z2s@E5!^q1M zV|i=ZOh+EN5Qce?HuJE;np(J-H`9?O<Cvxp#?BG0hMR_QEGy#~XZZ0ivqEP$f6L6s zz!zyOeBjO(BRa^PpA+QH$ugHRmA}KVjHyOSvqeT`Mv5ZY;bGw;B9cmW7?uOz?=Tz( z583M|13TVfScb9$A0GCyBcb8QPlYSwjK^<r?jso*jy$vWmTuf#7`Q*1+-yKv)7c$^ z_aeE9AzPpY&ea01)B@QdRb{+D3*@s_QKaT*74Ucfu^3v#E)%zH?@WZW-L}Wq8|()o zVO28~x9#yIf&VOHoz37g!q<bn;roJ!DaM*=taD(2**O<h>mI%m`cmxSJA-j{51&6G zoyX92_wbz~tl2c;;`Z=4)ax$W_#{_u<2#=qe;eNg@S)fjGEk<<)8QhQbrEcz%bEcX z6d&U^y^SxujW4~8PdVhIxA9@jJp+bc?TIkeFl3gZFjWodZG32k)XkIL#@BB1>_DvQ z!~cpF_<|PbEmV~PPd+8}BYap(F};ni-F7?*vEbeA00SbdN??K)LzpjcA(NAA8(-qg zAzlLGB304uaNIUNBYA0~5#%})gtI2jvM9-*B!tXwAq;0{bThsX<{}u*(l|ro49?85 zn3<?~l(QV7xXr1<l&i$~To!+i!>{NGS=_JEBVY-0%0`x))5$`Z8(>%v7OD^?**-p# z>3n30$=qtxF%oH=mYo}%%s~{wL;t*&b^+iW?8QrLQSgv=GL`U<cQL!;i+<1Sj*ri- zs2&AHRu97B^zm*$q4L~MdJkNj65cD}7otFBezyqzkkf$Q;)31bk^PZ8#h;P5$n|&y z^LR~143|1Ws!+YN>oks>2C`P5;%&%Fq9`M<J8tf44kv+qQD%1%?kVh7znk|I;yTUU zxTkP0B7G^yU}C5eeJC7BcgK;gn?H=WM4gufbDv{IQ?lI&xpQ`14R>v>yK)Pl8KZvd zp6TW<e?RYdSni6_<r}kO6LN>$cGl7Nk6PibSiZ3U6o2!9xVQ8hwc>g9Tk5@B{*F_> z`^JI=%keN$>Mc11S@FhCk=-Pz;!!M?Y$SAVME$>9znAsDaZmkT)c*iPcJ*bXxLEf* zGOE42RZ+ZRK|z=6U2}OqD^<0}$BqUpsNq=JI__r3lh`b^J5xWIR8N_!-8P>wTzE>V z`2OFu^^vCo+xEdygr=-%Q{VmBvv_{;J&OUgEp`i|TtMkvUa9)xUyIjM1-wiPyif}) zF~E*xSo^)1@dRy=UdG#{YK;|I;P<t_JG8)CwZL<<z+(-t!v~S<=ECiGQ&lbI-5<xd zqzooCBlzE1iqr#wtUD~WxvZ_5RQ;+I1ZHZh^-r{pszu+`0yk)Z+_9j_T75!Bz0gXA zP5&?tWH;h0nT9jwau|vYIAdlQyBGbZ!H_o`2NQ*v0uv0Uo8hF#xT-~G<5$%NUjz`0 z_S4|Agei;LF?ue<0?#0Zg6dxqLB3T&gm)Degx3NA7x^q8nTEk-kl}aff+X8wo@2z6 zERPHcKaUWKwqJm~5T$`=dkLJLXqyba^CEx9GE%gCt`*x5wa;5k&z1GlUx7q2(Khq) zwwgvE<;GUimx%PYnlc^?@KRV<U|mM^T)Y_pB|3}(VmT~`wpSS6N?3+rUIiByU4ISR zUv&KqJRzqMziH8STC^QlH~UcgHk0pHz4k9_fiG!+&uD@7X@U1>fiW#`mKHce3+%S7 zrf*;ra5!EBRzBW@*NC=zaW=uP0oewAIVQpID?pom`^Dgwgjnykiu3H)xq+mzPJRnk zWO7;fjLLpY$!`w7AyZ-aJt1}bZQ=Ka)ELJ2RJq}k@mElVpgfWhnHXGrIL|IV`~gEH zmjeDqoG(e<$g&(AnH)K~bpb(=h#2{8#QI|7ci`cg!6pXAUz5g9D2vXj&=kUG8wwW# zfS_4^co#051i)``*5r(lJwYbLpSS$58<$zs7R9j7a)3<wsXAr=lI({dm=8|%Hmi@( z9t(>2+P}|g#)(9?AtYWTYJ{A8l=zG>8rDCI^-oyNo%n_$=mWT0C7pkvFNLIYE90!B z)9;Ae8QQL-^E~-de@I-sr1NGx6p?gFu9S3sM367(+yNg-xRZghO7$<e_|g3sw*S%n z1fG!7jNi1RGcD;%OFET9PFm85p)~dMKP~BOw|UZ%&UTw;2Vzwp{#UfXw4}4$2Iq^c zYH&5DHA+j-lXM;mB@4o;1o-{I2qVAmJPd{z$C%{8xoMV#AHvuy#6HB>8WVfIjXli9 z{s^%i_kV$nER@KThr%l2fwMB9;rs+n@a>YF^HX@7qrv1==9i)_6);@!<ivvfwVe)d z8bCgq;nZz19){Bd=;J(yVY6WhVJ?HY&U15ibrsAkm>Mr^I_xV0eq!k-j$%)yr=OzG zV_|S=0Hv?&&9accXWn$PJe&h?5>yGpIF^HDqHV(~vsfFJoFPmx0R|$|a@0Gx|Mdbp zYgveR&RT{c-_}{n5%597CJ*`qHEc>MnYbJYfIo2=4i6_TBN({&AQp~=J_Uw_V}WfY zI3KgKI~JbBq|Lb(<A^JSVOqu!%P@9j;zG_yWMU>WN5K_xj>d0s{@EdoYLm=@c>_@; z?3eXqm{&uFcS8MVl;K^yr~Wg@@b(}RE8R*sW7Z2%fiq@q)?fs<ZAmN*k{C*ie@v|n ziDAh}%n6bh(H;rEtn4D9{*&)$V0soT@c@bi1tikHR@Ezk&Ae7x)fqw67tpAxf#z5( zkY{&P6brP#TrDs|3*3apRF&~fEl{l$;sGti|Iz|EGN~#vO$+4fs-k!tfSA6Q@Wqas zzMqVcxaqqY%deMl9dlsD!}>BT8Q8I}ncoxyjWsc)j9GyoXJM9vmoeb+KtMSI_{Bh4 zeio2+9DJ~%4CGd6j>zzzVyshPIYo@S-ier?@y0q07B$N=?)H+rA=zB$I2*=}V;q(_ zHZokapz<S@YF%Lr$=G!T{}VTnq3y0KTp;TT6~vi!g&%|$haU`o0~vlNJOSGD=Q$G) ziGo(bLcLBW^he=X_?r?Dz5~iyCz+_pjCu@Wf+{+G9)2qPw6ioDPF~e0h3E3b8I1Io zC(blUs~ITE6KBE2<%zRl`^ytk;0ZZX@ta<rNH0&MmnW1XWqNr6Lnm254yhbYt6}(^ zA&Z#ah~2^Fjr8&adP(Zuvjedze&rP{Fugp{ZiDkts2aT6mM7}KfH-7T0?QL$gV*1P zO(rL}5j$^CPtIsra?ZDCb9T$&h@76C?Q+_V3msEUV&k`M&q0QAyFC@>kXa4KAY>Fp zpTQaXg^4qErZc;n`)SK$mCU3n7}&vjQWeH+E?igxpzuAo1|a2-HGp{lWIDI|3BCar zmjS-X@Wlh$TL!2AQI6RhyScW)1|+@^Mq3%|qi5El<unFY$oUq2i?g;U<eHFb7R-AN znQ<uq{|8gJX_e8G_pM)^QxnSvwT#?lwb|ar<C?w4-C5cko7z$n>*LS5MHcE$?{i4e z+>Y4I`(H&%CSD%9KEjV-DGVEw4R{ued=&Rz+vMLsO7)t~)&eg#z>dq_-3n4z0#((H z2M|-#d(b6Jho2h01}aZ3#I}HY5ylN)i(upCHS2AF7Ymf!0`_e<xy*(wVE4gUG#2l8 znarP@|AJo#atqjnb|I4}ZwuHN=u&O8n^?sr#UK<vL=4AU@ExR1w);z7)TzPC)naD2 znSx2&caaFzf5XCj?|UTiIBFx=bCP#IL+Yfc7$m-L&_58EGaAM4kl}@xJwAY7s*3qx zn`oy9P#_i~#>vf;EFYwsH4>^I{tyB%J$)D!d_RI^#-m5z;zaUM*#1QF$MA%lpWwGR zf2?8+Fy+So7Cawr{Fh@8=JoFH4mcR0FHuodV|g<zv*ssSg@+<4Q8$!7EDS@Wth14T zIZTkK;@DvO1P<8qi{j_QRlMi>;3u$t*ER{)^At&XnVPs+T=okd3ox2`saK23ewC_s zfeLq2z(cga&rm8A#SgVWeza5+(>un{Qe<P2&!{NVP_^S^Es$S%6~zdE7;<04t1W{- zfJIw^FfEJ5A-)vGvS!vMi{{)0Lh;PlO9=6qF)kD)XU3){GGk1agc)lucLg)Hj8ugg zTMkzeW=zT<%-9M5GM%M<f|YQQ8C%8hu3^U7s|@!1GHYSReghXa{NgvwjHQ_|yk}%Y zxq+V_IQ#z5&2YY(jH_DIS!V1NbTHH54Kp?!%-C9lkr{gxHrN;I{Uf{{GxjGqJ!b4R zID^dCI{1YknX&1X86(PL#?I^vGd5io;{S})$(S*DQ4^Rk8E(joy^ch%*24lb_6A9i z8I$bEjJ?T_Iw>kRq`w&S27wu7%pipsdkev2#{SwS+A?E*LyTp{HqtH37^#Bz+pxfl zy<>cvV43k~GhAfG-i7TmWADKea{i9rG&7c(e@ioCskn_aGlqfiKbaY8#;fgc5C|}1 zyWnk)86(5Tp`8pScX$K`eump6pd`%LryyN49tR+~GA7%2VkKq=&s~s08bt$@xydr% z&KG`NxGX{g9n=%E?Wc!1GLkGHZI%KHZYLq5;B5M$L>_MsisSKk$?~*cvtXqZJl<YX z6&^1G`$@p#oy>9^+j?4n<tXCBnIE<gFwpGmr*YsXn-^yIzO#AS`h=WJWMtSpZhr|m zJ@8wcH{R*+GTha&=GGgPi&bxQ@qa(p+%_iH{2Z&^@bQZ9>;vUse0IUSyU}pB-Mp)3 z!8~3C-x%GDhn>-M1l;~)9W}sYJte&@arC&@Vdxzt^tK7TpOZv>U;egLWpEgPqElcf z<J+oD;OSFan5<#I1ZU{x;J#b2*{$9Nt=k4SkZYD>Mvz?XMx1MpP1xy1xBGV-JwFgJ zfpr5UU7Cp?&WbZgFjl<{VQ$@)1^Eox`)a}blW~mQt=^o7L$;gUx(%(k-#`nsT_`PW zL2ca9=9-w(SlU8Ljit@B>YMEPY3l-mIr_GyXZWy%y@PI9$&}Rx{^)M``5bzYY7$wb z1e#;WxpqY0n!X(wIBIY>;kZ=-Q?+O#o)>cGdrna5rB_+L?2zbDLiG2BXem5pFe$$R zohqq!uDfeX$}Kjk#=k=gyiN<`eneH)5iOAKo{HisJQNl1MJ@3E{&M+XjI8EcH8ngg ze6@2B8XHrQAqd9e`9+wo9R?>qYlTEoagc=I@HHba<&k)t!5#{4rXyc{iP>Rduy6Hn z#&DIr2o7&zHw@0;#4ZBAl!Ftyi|oXXC^NCE?5X|!sh8p}lG)#p$RgS7Prl#5+26!$ zmVhi0nG+5<6)+rKI1pgh*8OO=5ugTZBrHq|k0NbO3y+|K)54?afP!)`2bj4X10Mp9 z6_}Y88l+4MKZjsW3y*6PZKs8!5M!r>pQl@<g`^7N$HT(3@C(K_8kS*UPJoNk!V_Wp z)50&p6LL<%Z+cpoo)&ujx~d_)M(@4e$(P<|Ay)Ol`S-8Ue+93$!$BZ0Et~*vXQzc6 z`z)_w$G#-f!U~WsYQPMz?AY&q=Q}5d90pYOU^9|+`U(tFlW8Nx${dcZ98)=#GNcrS zES{YuI$zI31#ZJnWlyqzECVr2L!7m3nMkKnMr?)<!4RTIeJV_457M@~(^xWYxu9`s z!IC<|dtk&&nA6^X2y7e9w=F=rEIIRF7#UDbpe?`2Jo%MiNlWtP4;b&cSq|b^4yGXu zVr<PBX152}Hev~F9yWiLw#2CTGb;T!9k0x1u?Qy_Ca0T4qG8syDHv{>hF3tXN0ps^ zkcXB`%wlnv4GrBaYB<V&__mylr-?7q6j&3(tRN||5=DFV?mY~Ea}eX4#h(_G2s8KV z(HA1vmtxhl&q$oPp9^q1Gk3O(t+jo|ikbT~Qk9we`EW&UHRZT9z8poHLWqmR=?ery za{-HA$FA@-{+tIdYIdPdaXMT@Pavrf6_-ahlH*h&GSVY2w<p`0os8YWb`3rQR)Q_Y zXT<PGmUBAOgr%oPvZb#_GMq^a%ycHxa-1q!q2XZ5X3&LJ%*;P9_=uSm9|#{SN!#AZ zp2Ek-cy<G}CyPNG-zQ=j#$qu&i&RvOdfN<=y(s&gLA}YqKaONOBTL581m6#qY@cco zHkrs~C)@i;oXx=u*?c6v-?drEZj_lnNIO35cZT7xWLRJywx+L<yBQ7h1(*|HiZ*!< znXhmeOybzQ-=$n>GB|**FEimTy!|FxBt*kg<lP;9NXVIm_aW1XA=tjDS0Kc^`&Yun z`NvhnbnOZpJ5u7f6mqU+)*@)V2Ck5EEq;rKG-QuF9Pku>(B^^Vx9d+@Fm3*bm!Wm@ zjryiu*B^TJS!XP$%^C66QGanuhQw|?v{(Jg%=)Ix+7Hh?{{r{rSl!(ET{*LJVzswz z4KJ8^2MFBSZ^5`;&49$JSI43|V-?%CX36>uZi1_SKl76}Wv|Rq*)S7bW2|K?Qe$)p zEpzHF7Hw{fuDS~yx-t5+iIqFy<VLuUquVnJ=50W5(<4j~-Rbt~<Bsc-8LQY<zapnt z?r1BRTaUP6Ilnghx?(wqH+x2L)=-4bKBHI`(PozyixSV-#}|vf&e=u9S?r&)50GWB zSm~a|(va-wd1LEXH@XcgbX&hD_S0LB6MNOx;bJ#$Efjmn)`4O#+uBF$HCuCD;w5fw z-M0GO83hX`VF_){rzBb1J688ttoBhi+8m2Mv~_^J^sdP*--GrVid(Hig>&j2CAMJR z&$Cd^e7-kH77xFN$XN6_w|ccZ_#{B=+FNHfDUKoOy49|Hcc0IJFR(ZmygY;>RZ8HT zI(ec6b9ZC{6<vc4fTt6SKH*3F(MGhm(Uw?rEp*i`Wp2=38k-f#TmU1v?;UV-4w~(E zTv$EGF4V@5_*-SWN)9ae=GWk~3!<;OSsYh`OQP;>w|bd8M6;H;4y&R1d<L}U)3f7z zmIU%yZ_3oit$xC-TkDP<#@32HBzi?FSjIm1iEG&n@+!C$J3n5|CF$jn>=G<V&&9}k z+f7`Oz8S8@=td;VXyS$0ZpGR-<OCmCD#*=(d>y}T#Rg06AVhtubXUo@3U2QO=f}~F z;evTPFjl$Ijbpa&-TU=|JKu$GPTgkX`7NVblm8T6CV!{kb{;QrqZ{0@yOwXsso#>l ze4|s}oKrB5>Mz~u4U8IpumA>gy?ok+lXew+BLjIZ-|G}S-i!dOQ=hcD;2Zy9g5{w` z`w*dP2+b4dczlFU+ePJDZ+4@b>z8H5qGq*ut&J#{KR{NcHzux1i~OMOiB{aoeO;Bd zeRp0Nn?Ik7NRpTEXx68zl@YrYtN5@Fvd{5J<jn_x7vM)MM%^mEehdDB`nmah|C5yN zUKAapmu>9o=iDsvHo;fMN)ga-n|&!lp-2&?k!bDecqzhk1jfp@HI{FY0WNDM=@l~2 z>~1E#rc+p`=qfk=GDL7;zjvib3)ThRnHF}G>h*qzyW4+>THM-YZgh#fK39-_!t3MK zt??UR{&eKk^cp4r?0)&zv}TAtlV9t3^DEKiTfHa_!8ZlKYu)_1fOlt{H_O(80*Y2Q z2FRwPKV{As({?uHi1RUw$xWB+mK!+-LDz4O!~an6+3!PZdS)K}hx`g(oT1xMS&8|J zYN}tR1)iV<9;pQm)B<z0z}=V-s%pJe3G9?;<TWMHh9w4Q`7k^CCU3?MlbuOdDRVc{ zp8LClsH?5g&064jTHr)2@I)=JmlpUA7$i+MQa+y&JkzR0>kLulL+>W_#aAn9)-X;9 z>{Ju%1apLTRW^ZA%K5e-T8c(4gW;T#vo^j|{Pgmrio$4LCiAe?bO+I2D2X<FPYbLA zqonDm4c8c8SG7E+!%&^9&7GWP7e05B`v+j4RCRwt3!JD0mTQ5W^{dJ_$N-hkryJE_ zhqNVr2OOfRYD*1JS+)LrkNNJ>@I5YvVVHf7`S2OWIJ^ADFvc^CZocotm`%VVwI$_- zC{>lzr%-s=wTfb%78uq7KSljjS?|yS|E>i-3?PnKJc&glS=$Ovk=wnUr_i_ZDpCqn zM1p}8>t8S(SM~D-h1qNPRJjHh;d1sfh{Q2i+XL(<Ux9e`2EjZl7`50%WIZ7Lyd-N^ z1{0|P?#0$3*bfYgc#3DF2)_cRpeK}}!w!$jlB&xZdlm>RMW8I6)3b~o3XAAjP7j4f z^sJzV%jxv2q=$>@^sJ(XOY8Lf8g@Z$$oUNez3mW<aAP~f46M7ahLhVNe#>at4#5y? zhoB|RY+Ps1D^W3%2BrTU!g#s5Kq+4`G1wyUGSQ-(UgCI{kRP`Oaa_IpJ?w>O6r53f z1x`;*J&!*-e_(P7D7brKhTT0uRC~K8_=?+Mgs(V1^=)=f@E&>7+<rfjPUEmw$TOA) z=*Sa7v%Sh-?nB@K=`pZ_`!#3CmWw|El5EQbD<Dre(|HIDfDIIXB9a>@*3!WZ6zk}y zvrD|M!H2*<3(RbwFi6=z@j8OJfnt4|XuE;p4aU^9zD?o#<q2{#hxx~j@Fqa$7k_~T zVjEzYeHP3d;cvmhK8wE^-``-FMdyuhai7K8u>E}&@4y4?(fCa(+D|Lm_dmi_4Ikp& zQ+-~zOrrv(cj|jX8b2oXyJoqbs)iZbcI3LKs=>!;fe`@lJ^vR*0f*y7U`xiw@V2uh zBaeC5Z#YG?<jzj@!b)M=r4A0|Nw#G)gM88NFt&2H{;^rWoYfycvUgx&m;{(`JWPqh ztpwZ@Kmoq&48VB)OC*gP)ha!&2}<!HL8pFwSiIaXa&!^pq4L8R&>Ws0a(1BvM$CUe zXX>I5^?yprBI<8}D>Am|MHY5!d|_piK8jOr3Oa*Up($fw(Sz^}$7gyE(q}rmeR`k4 z#SQ#>8NT>nmYbhTGALYLBA-M*p9T3Qy4lazjO=^F7kak#*<so+1l17{VhFB~<KVYA z?|0#jH}Q)^YmGZ?XZ^1J1@mr4D_}Q&tZqZBc71Fb1U{YL*6&uViCYFg3^cuE@cwYR z)oYfb8)ev~;9Cz&3@Mnm8NBLq1jV9jJQ0e&s{TCUJaRvW)2&|HhFp9|!94EB@W`zd zIoCR`jJ^b?0th3);q0<8D$CnV@1X>4bS=dg3342sdNBA*!EXaHqlx^Mn?HcRZ4V7} zi^yTl?gx-t!Tfp5Gu5Gh&9<ov=ASR(mo16nmo0Af7PoF)E3OA{RxsJQLjkGIOne@% zi=3Ij)FRoL3G&WX;34AQL}^E?x*4VPAW{Ky6J?wfs&0ckIU`2gi5BSy9}r}CmnoW~ z7{ge~+Kp}nj$$-J-iHGjavEa<!V^zpG~F(86Nn=CQhRa}blf=a+NQ6Iumh-3K~&Sh z5)5=}ut?xrMGkc7j!`^@_e=HlY0v_{rUhQ51y0riPclF|=io=V6o!N4zOU04X>%{= zj@&84RXv}-X@Spbf%j^G*C~OWT6;du5bfG$Ik-DYn$sO6{TBu|Ja=XFyGi=+fGGsu zp)wfqZpoS5*-D_Y2aG{RRf|5uucqrOi5fuxKf7H>)Rgq`t|e+pdcPs6>;c`l#9X7S zT>}|Y%sYmIlQi7z6z6HMw9YT_gEc_%tAubU=A43l4$XOkvaI4fva$?f6wkMS5?15* z2j9`8>n)fa!<ZeB8Z4L{3nv%MKF4TTFk=W7%p?M9U&q0lX(l2PgP94FAZ8Sk$f}rx zfXL?=gSD{ZVS8&~qu~s$g?)jE$h>nctj4Z|5#_Cgb!rmTW<AVrF=qrxj>HeNWt~WO zs#UKVS@rrNAjwv}SX61rpxUp;g}NLmI*I8XmyE>!C1%BQMriV4xM7tD1j}S6(7|Q0 zF?7^PGhm78WcU#HWr3MxGJ}+5vatx}GFfSxXuC{S#+W*(B&e0c2lzNxW+9B^5gvtw zg|JhM?^IZ3IyN3IE`*&1+g}L#3Opfa0)EpAVd;f18B{p-q!+?E_>#xaNSg0s!z?Xu zh8Eau3t`hR3OF1u0t;d1!)tDwEEvOn0TVYxfZwitk^SLEiT#HkD*Cy(j_JJnXJ*>Z zz=b56b@FsrMaP3FDhr>!IR9DzFN3)rW+n{%Bz_6ZbeP#N48OtibGKT^Aq{>VCM@p7 z+^>QugdzA+7$zu$VaXGThn$O;c=F;xrVOI_EoaIrVXpJsg|IJ%VGb-B;~B@C3Sn5x zU=EC9c(Azi+k7mIV-bdPBq)i)m9G-#$M|&?i}Mz2^uu}|?*a+RZ)OJ9`}l>fVLkkd zG-tvG?HFv>pmq#NB^uB!2Ef0P<`Q_gtad2_7Y`wC5rs*%tj48IHYB-QHkq~gm>I`( zg)qc)wwr{U%TNHb)b>@lLeAy*EzUn)p{i2!WrR`P;12D+D1<1Mlx3sV3tR&GGVQX+ z0DQ&`b|@X~V~1Jnh}76Ksi(h}E4%4O{WdnzeShzyEZJH5k)J15C0M@pa(f|1@)(WZ z;Hr)Lkvrg|Hpv4w)2N0fD%(&2DSK1_9W8Jp3a_I0x)!L`CGdSM#rw3tJGDT*@v2&P z{YQguvnuPcTHuKQVit1?U)s2<XzCCWcNI<ebX)+#VH(USBVm1wsU{$p12FtwH`Z+o z=0!3b4G}!YShvHHQ4uj5A~Bn(H!*XKHID#}l>l(yj5tXA4HNfGW8DD@EP4!<Tsf1= z&l0Csr7#@JICh=w`R!**uAaGoNm5*Cdn@DY)ieIr&1Go2SI^9psmOfdQe8dsEkuHi zUjPf0SxBh4dWI2l^~{|n>Mr_u^~~LLBwRfsh38D<9!C0C&)jR0E@Gg_Y8v3;<lx(| z{mH?9!4q=s!*BZPne^2&>8odyLumTy84RPT7eUiE<F?y8>8oejZJr&7RWUNJXo2ag zXWDIWzR0QuCqt+La^j-`@&FK6%q3tz9I`5bb%|fW>u=B@lM}pp#;FDmm^Vn&gLHNp z8n5GgDJU0lw=*~DoDF+%N#argnfl<gpZ-FaD_~}NhD!u?Ie>1v1W*WfdrJxyN1CL? zrGi2j&b4hA=~~+4VJl%QKU)QNAq?}p%5!s_iEb`!Fq~zlyB3Cd6vEhe=7)W~Xawv) z!a4*m1`V!5TpV17h+IgCz%qh|htJL%bO3vfEeT6}vS(PT&OR2fz$-{unAMeVVSS@F zOB2xkDWxe#F{sNOkW6Q}pXAqYG5j|Yej!qtm4-(6v6&dZ#XSxPjqHh{rTBwhfCV$R z;Fy2GyuSjnkGJ7?m+7|EY<VYWnx%n0=3))E)>|5oQ=eR*2%h@<pSUx}?vCK|V$Vvw zParS1z=HU|t6}J8SL6a-1q{PTfbo3z>=5*maMhwLJP_58@Lj-Fz`M1;JG4MgzGo|% zx;6gOuHyM4dbhj^&NXOe=UR6D9g&MMi~bX0C=*-<8<IfleGOjjkGK9m)6bXtbvPEH zy|DHD4LCh<ABSIOJ%9MVQQUX2UFRjr(+Gbvv&A~?Lg#R}N<^mR+`<B-lGj}<ljJu+ zBAL97c}azW^16GxVH!s>IBH>1{1;f5{%$b7w_rhtcN@!6C&k6U@>c`-8!Tro3q<v| zMx@3lAU49nT>Ne0dk2;oh&I8+S@UMt{;c_3ctXy5_)Uw{(jqng3z!zE{eLJ@YsM(x zaJ&exuDjqhBDKC;gXD*>6o%Xq4c%Oq<cE<T&yLn8J<-}FcF6sd<g-q0fmQTv3}h6o z6<iHM(_zRc($GzL6&XHeLN~+65Hjor&u>I*q-8{G16kTsgbEQy0+!RH+j6jsyTXej zr%8^J@uX!rP!<fkzM0wN#a}3euMmczwpc70t5WFMOr5Ms!QvA;3x;Wl=VzR03OzSV zOFT<d2xCiqE!>P_Y1uriNg<4lCq4Q#wK^8Kkn<U878LO<3&HP6_^5k5$XQ<!<g6*- z+skJ0C43o&2?xyQ8{~i`l}PwP0QeF<2OcuNVFoTP><S6r{`6XC#z#R6|D6RFG~?s9 zIRD#PN#Dh&_WvD8Upulwcfe@$9Cr+7%r&uNc<%SbfpmulA4jWr@E2fRpS=aY8C!eS z#3Z<W>%ax)hTWC1Nqg#-<;2GBirr`(SMO;YE1JA&MhUgq&YE0zM^^|FZ^tuHG3GZJ zV25n<z5S-onswET3$D6;=Cv2ky6T1tW?ppTN!m;XYJvT<z&&VTRsA+<fv;<UY0)NH z>I|6EVL0vLT=GnqC`?sDw~00n<|q{>+B^gyZAF{>JYtf-NLYt56-Ar;kikFL1P@^_ zMVtHzAows7TnNhviZAo9OBz!Xej9)q%4pdSLV+hXI38}26&Wi63v--duprcQL^3!x zJi*xwa4M1IAcC#P(&rkEU}(D{%S&W7b|i5kvP>#&l#D5E98R1sZX5w0YBQ37vVwCI zT%0%^4cnhM9Rm;csp2;+ZcK|C)8a<u2PZ9V#AhJ&=OHa_Y`1yR;>LEHX9r?cY~L$d zU|QVRZiDkhRyFvET3~0zja6VkgjETw*_?qeU))G0CyBVRV1MSs@nXknWEU@X^p``p z{4pKoI?oiswo4LSy<|b!tQ6^Txg(gToxhO}CqGVqB}^d<%fqD;x|z-{_RvjQW;ukF zOfFWuG`RR-#ENGTEMmn0>>-x>XX#G%%>Fb#nA0iDL73C2a3v8hN~t{Y;yHk1I%oSy z&V`FBEayr1g<#&z^2RjyL(cj5O^X-bZJxH$eYpuw3n#gqfui}9hp%l<N-a=Jix*op zig@}SyYU<&pNDD$J{~}9&$tx5TV91Y@#3WrFJ6WiiWk2M8{$Rly&PVO7p;F5{S+@= z0mnl2kI>0i!Rd(?Iovu|!Y`Rnym+Zy>n3WS#fz89g!XEXNG4w7yWO66k)s!;-q*mw zboW~0yAD>Xc#$M9u*^1)T3CtVMMeQ}JuHY9Z!o?aVVQyGCb&3Dz8SVZOTGo3kaH`3 z)8fUnc+vk7rp1f@ABq<jVia&VUIbXxJK^<NRca*+vZ{H5lHT8VHpbji7|T}i6Ocr0 z)!iUn^lCO_ilSRm6hDf>$JSfHM6shNbQDF7<_fPjGclqiyTZ$%cE%FtO!*Z(SfT=} zvXA8n$kSQApd4<l_)=bJ-Hf9lPsngv3GkJby%@*@tQ8{(<PtIyTOhY0F^sHh;NC5{ zQmgIlSwBPFgSTg07GzW@rMnj`WZ2Yxl(MlJq|R!v1j*XjvaejmCe~Knvbp#^G?1#W zrr(AOw`WN?0=H+e9HKT0Ry}CY2WvQP&-yQ<2;82v2wqUU&!_kuxXkTYB%1X0EaxIT zpU&Qk^<B`7pj_Q~FIE_9<u(H=6JQgvDQVc`L18B!I&tg>>=b<XeDJ5j5No@C1>AgO z_TsJXy%%d`NNUmj_hQwXjQ;2D#ad~ePp9w2;?(~0Fmf-}gWf~tgDr#U@_VuBO$J?i zFV-e$Yut<VARN3G>p{E^-o04fJNS_Q4n7PQ`QINA)3x_vB^z-<&LhlPl-fNCSIGG> zev5~^s=OELu}<8J^^kWj)&sm3>(Tgov7r8~gL|>o@z$rt=xRK6sE%7jD{wE?8gnn! z5)=C$buZQu?_R7m3HM^H^6tf2?cIyDuHAdFo{rT%AzB0<OL;HW6Xss5ceBtksqV%4 z6Cz{LWzgrhzxQIT)!vJh0yw8mo@l|`kt}a?oxK<9IX@!TMwolC)_3Y&tYzRcynC^p zfzzI}PH`{RYS}em6xwa*)V){}Tk|RHIG<I4d^XxG-ne<FZoR!1>#=t3#oC<oUM%X= zG+Gj$gv)AGH1}eykGmI(dM6F?MnP`l+tTzp-=vDo_CBRbL{al2?!_vH^W*3i+>135 zE;qWxyBF(F_~z7YGxuU;Fse2AI~YNk9QR_q4kxatYI85vQifM=W)$zm0s!}7ZE>e< z=Dk=af}Fh<3ko5(@m{Q>nMFtUVlA<H6?re#Hn|sT8&ngbX>EkP7b}Hg#^+jb`*AOp z>D2SMvnA!dSTooFU4JiDyh2d+G*5%)TYSQSYoX*`Ec-@OFH3&!6%RFJiDH4a2NWJ* z?V?-ocnp<+?wD!Jqjs&m535D=I8H}kq8`VTM0unpNVLB@W~LAYE$D~b>1GMJ{s;@G zZD=YGwUE&4$gP9+IxRf*ppHshrv>Gk8~v9r{yMGIxQ$ERx+_@RKJoP96n2i}bz0vS zRg$<r>zdXKquW~V&*F7jTUx!mP77e}p0r9U*T>zTh5G=5w`&Ei&`P{c>tDDy%ezkN zRdGIzp}gt14zJU~y@^`gmh-^)s}}rj(gLs00?*e1PuBv+YJsD)z{8cmPU+X{r6k(0 zqlY{kJ1gYWr4+_aU#y~O?KME=POWv_L3D*7%F>m=aQ;f3oh7!DvnbqE4Nq!;_iBN2 zwZL<<z;RmO=d{2qEpQuHAkFL8ss5I}rE5|8mM&GdO5f6DRt>o@B;yrqE)<o+aFK|n zYEk-@uK4v-whF&V9PRC5tX*CkhcLDzx33dt!|7%?zZi_GT9m$}E2rbnXZn^d^p(`y z#lwh&RQi1^X*pbJ3*OS@JcX5PhvEpVfo~;(_i?4ZM+uiuY$M9Mcj_|8wEqD=W!nEF z>3hU$wCOU!kQ0~OJ4F}N!Acs?`T$-Ez6HQim>9?nwllG4*p)cBcS=$r?nA_Jb?_tD zo^*UCoIzc?JD8l6rF8r<D;+1Qy?dvUtqrz0p?hEmM0mrQroC`W)5pv-)rsEAMCASn zAjw4Ttbnw)fA3T?k-T^6UvzL^`7S!@q^@{`yWvCNrvftybq!J!>b4-53U&9iiM9%L zKSPYYP--vTEVxhw@r*)|%7<XV=fE;Dm@r(F%4fp%rSe(u;2aZv(^C1gRNj{)rKR#6 z%mrf^y2;M}COx_XF$&0d5s=CsjIeg3^10-Z5~aoTbLMRMr6dyhLqN9ZF)Uv}KTTQQ zkOHz`Ohzt(3@h0yVOTvk!-!$Lm3)$ABd)}0z@kKnb4(V0^YCFTnb?EnVx$Ezu>l_p zT`A_qDu??5ctzDc971OxysR?w6aZOpCZsXfT$LOG7jLw3{)W$AWfrBZw%S}YAZe!; zzsUvs>BB-eH{k12VubULfH?Hf@babL{a0TN%HbjWj=%qkvbZ7<$hF>obyy*aEc;3O zYMNdlq#sI(BBVbYF5G+dITmtkW~3;R9Uc}wBEmuzg;5vWbXAWc!J=>wfnM2G!pD2B zijY3jDfH<@;3|42A3yhjWKn)^M8{E$RDcLs16Zs&<^IE%92Im1p$$`P``|O;v*9ug z4W9%)bw?J8H5`_y&<MDS4nwv@_p<<W#TTGxB~l{uO|ZBPVk8nkEeC!LfurCm`eFfo z*jI}lfGeIrq=G!v(M-@<=6v>6mdo}b_6~-z6S7xNf?>RUK^TtmA6qEa=U|!akAth| zN66G<Pgi{Q=BBg=N`b<U0y?l`!lU+ipW5-HR=|2lW$5y#<>mUDS;?Q;VwS?qracuV zBFy9HLb%W$GV=yy24k7ZJVERwJ`o^KV(gXSiwH3_Iteab<Mt(D7W?}X>`PafVO}LR zQibPcX~x5x4#O^A=-Kx5V`CCee{j^n?FNO&R;0xxaN$w|{1zYjSRX#+RDYr^=}{40 zuC`a8eT;UGRj-QGt&2fuFl~)ny~-Wj7ZmJ$Smk}|m*>>P@-aSS<Swhtc2~;kea+tE z?ksJNO>L=(^>M3LFU>);M2JG=-EQ?d-v<H4$1B3K4{}#TvP-fH=6x>Tmk37Sj8(7W zm1u1Utn~@FAH}8L)XPu59?n?x+UF^7_0D2HM?y8>tm9}EXMF)y;4HQT*Kf&LFgCk! z?5;22y^M|D6F7H`%g-948%fR`Fn|=y0dEmT)P(a5(fkCW5?tTZXTfP%jisL+i_yd_ z+Z!w08=wo(L##CHzG}oY{i$L)x|*_%=$cqLBq|sWGM?{`pMXTAF}eW(8BJdzL5MDJ za(r8_*sMtA0vORey?4O2>^>nYKx%W3SPa*kA>EC8ECT+lq0EVG<mDt!1(L;&@F?7` z>=EfByj%EWDz-s_hilCI^eyt3USe`LYZxiv0a!|W@^f~J?0arAz6nU{j@=WBqLSO( z@gYn3US?E^a9mi{9F*$JJ(h_Q!oHK+Hf%fcPsFWE5_YqMty|iH>)p1XoEg$L>sn>Z zF8XP+FKwJVs+0IN_%!Pq_yIH(8dwT~PUlu^jExV)q8s%TW{^VFp7;b=Bls9la{Cw% z4J89^bc2XqH`Lc{7+5fWi6<-L^Vr;U2l_p!pcMEWi&7Y=GoE`U->7|m?$`DpWjt<B z-sVmU+1~Y39>U9zc?*cgqFYAo#k+uxkdd+XRY=kb=JG3LRI|Hn#hf=Gwe5phJUSHA zyKXiMKt{?@D@o!~KQW}Eqlu|qg~G|pw}mes%2dAHNJHDoNK+8~5M9-j2-49pLKJUw zfT&1p6W{2q{ZQ|<w%!Hv@_0X?C$dM||B(HE`53c%<UA3lZsg-SFZJWP4oUXoaoq}r zj}MC70%Jw+H66mj@HO3L_Ln4S*$lrCdU?}Jkh9&eqsOuuFScpH;A6o9;c&69kL5<6 zXz;NFh$ek3fk#ln;l@6KJNO6&kiqG?&%i2t24WT4@qJ9Zl@i0@+QhJyHlJ3x7c%i{ z*?O1bcDHUPl@!WFj`C$WjgN%=TRt%Z;~$WlUx9!m*LR-8p|DGKMueHcicj8-Rj;=n zw68NLRnDt8sCG%tHD1ok-*M*brt*<nEBsN>tzM7dld3lq%)hqFFaPX;D#W5_^2sbg z+u>|02FVVFGhF`Jrh`al;2S2N5WZhN5v-ubjfwoQwfL}DHTu??_`cO{(g5q_b*<rU z^>%j*Sx}CiiPwZqMR=@yTVwf_Bgr{sO%wm-#`2BEe-eu~oPkHVTfIv+ny$v%We0!( z(-CPlRZ+v{OiAC|SiTe8Fr%@YAAEcrF2ir)2;DU1(=H)%>Mp$NcmWf5g*AR7vPpOP zL-*Y8HDd?L-cOilr(4%Lrq8Ws#4ja6Ppy)PCMTgbnh_C?THLc2U8iOs2(pE2sl5Y^ z&cS2&9l7QL!*$n=mpynll-lQx{dZTeIRhhhe5XmM?_(%K(>FgxeY37XI_{uZ*xT~$ zU08rX*NboPqga5C{*_pOgf{*kZk2DNL7GlWC{!18>g78V>KSNsv_AeuewPDl@;`5$ zcXe14<KB+xL#%pRtZqvT?^dc|cRD8-T|exO<*?iH1({IES<_S(Ccg(DrwUoMs8f<L z^JT=_zMGT<bXz}y&6dx@cW|3rXuQQ<Xe=X9!bh-a8omG{|JiPPZYo_c?NR*}>uPMV z&YayRR`-Cn)%ts~)!H2!UNE~?i@RQix=j}@=%4Fx7B%4kW^OqkIJX>7bG!*2Wh~=c zP!-<e?%vv?enn2KYS+(VWqazIGHX9<EE6SSEx}pm%kE@v!g1rC*rZUbbWiJ}u;+c9 zg>X5Q{*QQD!{{2+JMJd{u8fNioWu^2h}ItxFsF+HVXAY+qPVwzDSE|3&v3D%9EM?M z!jM5b28Lmb<3bA;Z5YOQhS5zN(@cS>T691k-5##CD$i<eT#ZE&&2FHE!?eI`E%05e z^Qp34t_A+k0J+4(7Gf*gmL>0)u$ir!ZtJbkmUgHXxISOmP;0cnC$+%uYJu~$z?+mn z<@Pg9SgRIYY=|l!d@ff?*+D8jo9Wm=_}U!<a}-R~qO+AHZ7A)I+&{tUh3f6ttORzd zL0>gQyS71BC`;P#m=?%oBuyiAs_v7zqwb~3k~SRG9l5`ag`+NSr^fCe`g23HYdhW# zx`XJw-BEom4|e&3y0AN{Ke;=IMwQiXDAEFZX@Q?%1yIxS4I8w;Uu%KSYJm+};5;p` zRtubFfL;4uo~q4#RM+OtZ+z9F!mcHHlo0Kut<uN2(%-tOK~0t3?OLLyO0OEC<fO}B zI3M9WWFib#(d@hh2QRe11zO-0ovKeaG4y}NLX>J`_=y23A89w0_B?HAkJADNX@Pw^ zRsRmTaMPu?VFenkuWVE$(e+(R)VwEL?(f2q8lq1qiME~F&$#hAleXg*w@M2v)B^Lg zz`sL)pnADp)dGL11>U0t-lPRqYk~cgz)sCu9?nuWWlRg4tp!ff0>7jM9;O9;ie-OQ z2YN>fd`SuH)Wi9il4!#WE$}0(@~SGn$^exkXg91+F4mUxb|tV=Enm~A>Ua17F~f3o zcMv_TJF5SM?kMT7?jU+_cT_*KJBV(Fgh})2b*i6k=nkT*yMyS{N}>&yYk@<xz?P7% z<r|(gzzzq!WPH;sZ6*`;Ig{x(9;8gG>_diGUW54<I%bEpRuUZva#f37>RO_vq;A&| zH6^X<6wz+faa&^wQVOdKCiRp#iddW`e5Vk5!jHwz#H=F_VxJ$=aeD2XfGF%d-wZ1} z&e;Sj3*L8OJM2d|g!UfXnG3lG-lO(+1T4rll#e7(PCRh$Q07AJi1lDw2s^;Q3JE)E z2!4*i5AN{%Dh?zzA&{Hr-)AJxgGh)ulgKz6QWOZz1Z;&jQx0etjGV?`q$7tp#KjX9 z5{q++l8$E}36ax@5`xVBfe@Za{3q;%8TbpGydBQqnZys^mqQFZllWD8CXp!bOrq+{ zOPlkEC$jpf&KG_)b2!@VBjl0ne4*cb!5c##cb>+MrttlEL_3)7ap#xTzmsJ>AABzK z{Qe7WSRV@n2NFM|g9j2np`%VJiYML-9|Cs?%p6EGNI8(W8^Jt~_-UJHdmym|F-|$E z2-F_B<v=2-g7{~!peA^)@nsA}#&X^y1Q!n^I<Wl%iD7tfMiIa11BvMaiGfAH4>Ocs z=q*~{%Ua+|THrHU;C)))Jz8K)3!J3|&d>rUYk}jmzzBf&dL4*Sz~OiiIFNV{yr~Z) z4#_zcN%`>$ir`D(x2wrX4kI26l11M;0H0J*4}9#!7hnA4ki$^t=@5Q?!k?e=hc}vq zCp(YP{WJdj96yy=<Gnojd9|Nq=TXM5;Lqdyd4fMr@#h!(d4@l~<WDVFROcbM!aMNM zs63z?MC^CEG*ED|H*7#w?i3itahaUU<*XdzS$U>C4Te}AZae~?1?N_L4ZK5-a*FYB z)V8uGNf1WE<YWsb!B`T0n>~!;nNyaP1<aEmCQ2+H!?}b{LM#Ib&}JAPh_jZ3nZ%#T z{NbT@qi<Q1D4)P@B)>b(UwGb<M=hNp@K*L>iI^FQFk=#|fMKbbDI0<DY&<rQGh+~b z<bv<7kqS?Gnq!`#mH#=^2iMI#56gLhKQHoU34S6@B!q9+VMF16$@AkARtSIipCwKU zj(9oi`|vzm(WZW|E^IxJcX{wIClBNeWg<DN*{7pkc{0jO!w1W{vA(Pa8<LHPA{3FD zd^aO-L7B4TA5f;u{EMir4_3XgHihwp<)KQX2pkPO99~d7!l!s7Tt&@DBSgjJ)hp6d zx_=~WlqvU+_aM^G__F1Nh~$MQM>6E4h=k;|h&b|ML~@-$ARNh*cL9o+SA^i}CGSHd zN8X4?Z+Ryo`SMmo`pSC|=_7AOq+s|kT*yZXs9I+JA$;(*QS4j7-o*}(*wffCEI!%W z!gTCRd@#h?uFg(HdPNVi1vB#xW@3Wv6QQ5IjbXMh`<<CQwaolD4aas<*;Hgy3c~`h zM(h&%o#7@v38=WXBNuDKrl6lqvELc2G|e}_X28;y!E{OKA2g*Oz~{hcV4I5m{VsXE zA>L`_&tF95C&JJ!+GMJ~&qTNfx2OnjFCNlCY&-S<+h?t9`|f`A^Lmqs2n{*3TjE{v zpjJv-LYs8CY1G3=l~0T;19PLBuOVM&y7~0zXIupgy9~qG1pEDD%f0qwA(#mVTI!Oq zRqm4ZoMAFKly4DB&C=VN*$2hUSqNrK9AEMMuH8zL@t|ZGvu26CXumUj(5oq%klm9R z2cK0r{CtiKXH#?Jq}lI`%gxI*I90~o+RQ~J^FvZ)-YrcXHkl5vy_Gd&vvPFZ@8%5S zISxMw$K{7|l_iF(oWtP+gHQs?upDFH;=0Mn#4JA0wy^y;vP0WWUg5cI`S|FGFN9&^ z5NGkWPui{%a=y$g<;?zAxI#`Tev3=Lcfd$ymEsR)IdGKV`jZw+o3B59P&d~*c5oYy z9o!MG;r+Q-^yyf|9b2<xOTJruNB#SmpS<}Jk7&rTgvO|7ZEuV=GpI4T(^%V$waw^v zUtNOoHb&PNYi*ABJk9W1401Cqs~LV{V|4wE0J&KM@EeP+YK$(sG(`Ww;$MQZfyBSa zpO2$=WERYO6VXjq5fgpd?bXK}*C#Vp@dOS%6w5*Pg1KBsE|&A`1#^!R_b|{Zn0u(W zM~FK|-0VgLb9dsmSk8_V%-tyN(GtE!-25sP%zaMWW5oTCxJ$)-m$><O3+CP`ZjNuW zXBB6$OUyp6SkC&*o>-j4QDJsTaTdqD*&~YOEZpn^x4@Ty;}?yka!A8{qp1M_ZuE&* zbVJj(taC}z*R6Be)*B>t)z+)TUcdDcu{UnLK<v$1&lY>j*3-paxAj!9*KYl?*lV_) zDE8{DpA&oA)+5E<zV$G%cWylh4_c1ru@KF^&ig0ocV`qV<k8nTpYmbUj&q~vG8<xb zkHu<@@`#5-_wfTRZVHHg&y8-6MWGQNr@EhmzU5f-J{~}iE^?zAW6`_Z==xZ6J~idb z<E{OLTfPVVZYa)!gbL@>J<1#k=KZ+<ZIM5nbuaB(<7U)1pHmyg;p6(|uN2H(j>uSa z{hYc71Uz>x!O@3sl-#Y};0~UNRGrXOVb2f^z!VL-xHq`9>%D`8y$}#MpXdXJS|AQ4 zUIup?l?Qd6zW-nKZatzjfL&3@e=m6|pFI1Q0PpJn$j&FgMI8Xydj+^IInbQ1OmfER zyg&uUTtO<e8_aRP#5$)WF(gQ$wp|kWd~!*i_r`oaZ#4EzjBk5-_ScBFt(R2?Oz;e& zXn1Hn3D)9{nPUopbLBWr3OA3F(()=c5YE6;cPpNY)71YadWF%{zZR~>s3dLT0*9M5 zk5t;0Z)8X1<8fR$;+iD!N65ugu8%t=#tiTX@SfpRyc_{+qZK_>EB+jWq!kyC$auU} zx%IpFR*m0NzYA~Gy@+Q`53<({V7L}F^@kUH^9?wcj%B)6W!#E8YJ4}sgDuVj>7o!m zNhZf9W^!F?CYN?56MML?KaMrKV`S*8-5EIKehmxNA3woIS-m~}$a4%wnDM_ZaKFHb zJmH_}S=@{gnrCsSJLWrV4!#ceGZ!i;xJ!=L|4_W!-ROKAfcBmd)=}aLk}88Ceg+YD z%)@OmfG&J=6hDJylEIH9Kj>;$5-Z>A<rhiFuVQsvAO0ZM_F?XHwf9oI%RZc{_rxG@ zlHN0&rE1&9uSEP(E+ur_KjLB1Tck_2B}$DG{)^qVn?XDO&sdtaUx@cnt*$w{3T{!9 z6+kyY{fa*9FsbsqrOWaJPipgAP}awGIQH`=8G}9-IBxG&Y>!RYp1P}5r?^vNwSRJb zem47jh1^kbpnds&m2JDoFW|CW<hSj0k*|a2Yp;vcAikZai9sVpH{cfAb`qxU1}!Lh z*K`Avz&?`t6_NJ3!Gi9{Goc$i({<foO=~wOVmC<DyI<_lRZW={Y|2c2`cmaNvCH!0 zhkz<a<Sj;?c#Bi;8gHR^(utpElD0$A3dH+;u{~Y``Z3~o4f$q6wGdua=mGf^s0a09 zEEj*Pehm414QF7hehjx_ZQLlHmuX+o5L}JXZGdMqHRC7c2aNYN+0u{sHId2qxofkH z;*AaNCOn>4UFz229#3hl-;!3_)_M@}Hos1BX7Q~ht&zx=Rc}lDn43$5S~YLX--#Yw zU$-u^VBQprsczQqlb6!zsFYNjR=s{HpT`y$qc!Z!l>PQud^Fsvv)#(vIlHb##<jWb zZzSEQ-@0cm%wPU~-tn;96{X8JX2&XXhuwD8(f5y9;jUP|v0zw6#&13l_m+O6Ry>dI zpY&UI_wv6x?w|b3snjCXTXQmV?-IQYHg~)=P#2N1Q~goe_Ei@3YH*b&)PF{<^6EYH zpMk4<0g<K$K&jJf#8A1Guh9vLnD90veZHx9q$_-i(CG9ADb|Ad2@o~p0=(a~J>8vE zFXAC*Z0%patJl|^5o=;+w8U;{j$OCY-Qm7rCyS*m=)!Jkb4|=?ENuZiqp_5)Q$~H0 z)puC`X=ZJXdsd4ZxF#JvET{HxH|s4Rle_~I12x?bZEL0(BJO~<2^{k-e@8d*H|rnx zl~!3N9NvfGMZ^3{9BBGo;()TgJ>meL7XsPmBlMXO0u$@CZhjU*?OjH=cq!;z9p}x; z^^ldl-Jly&_CPB8?hY7%jARD+MDiJA(|`~8@sJOATXt*}iy3WcnudGH+~{LXUxrOJ z5u*8liXe<Si3G1iBnwLxA-L8bfwbaUBU)VvkOZ&bTEkjhm6{!^4bSycZr`|H3%pwk z{F)Ycl@>Td3p`s39IpkQqy-jffrGTbzFJ_87Pz;svQuo=0^ipHH*0}^)dHU}z$(1j zQJ9G^r7&m0oCafslvR`Satkbok<~Etb5Z;lm<kw%k$_Fic_jTLT(#)O+9I8-1&+`H zsX<cpzJJh134C1({Dl_yZ3DDzocckC-kfeaE;(6S+F_k4t@0Sjz)lhErY86kR-sjW z<q-o^KClj(fG<(iqW{+Bev1}(wi2k^1W&n8)uJzVZQYL&qDL!B+EAbceu717)w6s} z3w%-wyju&rQVX1^1(s@oAuaI3d}TYntp)y83w%Titk(i(7@+dK?WR%Y5N&Bc=p{}6 z?=9^krVwNd%3!z)<a8K*qxj9|_g=p74Yw$Pof>Se=u{JQIMABG<{V{78^&mXhjpr$ z-PEtvLh_&*@g6e3e{a7!Pg~mKw7^5Oz)!F$qH3sjw7{3N!0#)8oq9<wHbj-rQ~8pd zp)6^`30mO5P8GA8UXtJDDxdxR2B>V*ZYpiHwzMO(!2Vhw)idKIQPyACsWus+9e+%I z-?h0PgRfN8q9xkg|62>ZMGGv}0*}@L2Wx@7wZJSb@NLM)RO9E%THq2b@Ml`!Lt5Z% zN?@l(<ZBJlu6=nfP?ofzOba|t3+&gm^%*IzV@R9(3J4KZ{q1K4*j3GLiupZl?$flu zF<Rh}THrt}aA%gXDgUAcKC1=Zpao9T0*kf4gS5a;AYoGVw70du^;+Q5THyD!zy>Yw z8ZGc#E%0<L@bg;W5n5ob7PtpOR@JlKs0FUm0)L_feqRfmqXpI)pmK=pM#T{4X-hmt z3(W3R)w)c(Q#n3nQ{;oT8S+?Fk9tcBd`%1dy%zXuE$~-bAotCxYR$9AD&YNE;N4o_ zJT34hE$|90aJm*)tp%Q@1&+}IM`?lFx}bW5|Ih-t;{pfgcMbIp@!%49xdVL!Pge7g zIZpNLX5>f)JZu6!ML^!5g8ez0mp3SH9I}qWkPKg9j)|wiOoFjuOfGd+!sHFgJp~q{ z?a)d8L@&&eiPWIDd!=+ePxY{+u&pR{D%|vw2D4|@kpiR%9nL(m7|vBy=EH3L_^^o| zk1*y%oL!BLI7pvm;#nTX+x+Oy8<b5lB*)s=6It}Lh=?XNmdfU8Z4=#-Z9xbL({M5! ztel05E&`OLr<A2vvShZ&ZQYoZIJQe<2-5bFw0WI5t0sC6khHfX%}<rI-K@_+`aY)E zsnWBD*adI4BOgDFXk0+@en`$Ic>wJ2xGd9)sfdC4iTWc@4x-aDfF2Hp^c+a|WV#Mw zFcme>GmsuCY@p|0dZ@U8o<a2RlsY|!(DSGlb0|IBs>GPV^iYojJwxcBJ_mXZqlbDO z=qaR!`W@&QN)Lx~dJd<D`X1;hf`^rhzz#>DZeSQ4J0h1uEz%KiQZ3Sv45}2b(TT(e z=tPou9O)kpZ>B>%4hAD?4jAc(h68bl{sVD|J_T`!CJ1ry?Kf#TFc_DpO<*jvDA5|; zKje&HPCWcK5{`v<Mo^k`G@L=DNk_pirv|As>2j+yi6~ELQipmu+9*ttaZAQ3j!#Yt zfA;W)1A@Ha4qsz=SDpXI-n#%sRh;eP*|WPO5JEtS0s;oIC`3gO0c`@BK)h5E1w~Pd zihxQ5<&vN%t73?{9>La{)?Vx-+I#EW)>{?PuV|%S`q_$#Emhi*hPEhF5kdaX^Uj%* zvzy)U29n>`@B43Hc5ctSb2)S7%)Il?JKgBY<xd`e_|8b@mu@V5(ex-Z@JPlD3*l;R z=y2ee9vd3e;Xp-9M+1^h5fhI^+7Y$mB`fNMr;fXij{$W&^HI#?0jOj;iVmt|I+l*O zJ$yOZz>X7`QORVGqLOJ0f~k^eY@2ASl4%@c;_~8z?+M@2+JN*)NJ^vG@*R(a=$t3O zLI$6MWwbf5KnO2`1#M2{#y1|8IU+g%E^2c+5w@?*=_Gh?h!ekAZBAKjPJ!*s4={|V zraqgsz?ZeaXSBe_w7|Qyz&o|TgcdkY3!J3|PSFB61yDW07=W0Ro`q4s;dl|y=5#i^ znYB3$IG_?qIZ5IK$xe(oVXA<shG9IziQz1WvmeHDrp9Rn4JV*!v_74KtV<5W_+J^` z))Zws*1^=m%z;@76LN^jADmALq{v)3w_*;Q1lm&Ac$T8Psr!|%=E7VCb2$uYUIN3g zMKH5rLe6y1u8E`;G=FdpOD&ii>&od8b7g%wed7147s?;}e$7kOL39CfF*=9_R3c4h zv?cWv(QvxP_O+8)mW}O?Z^R7dD!Pg;gex{u+Br6|^*bx&oXC03MF2#cFZc;AhHH2@ z<jiDvQ?Z?AGBZ}351EzVBVeP@%}hC!XJLphhN*<<jLL?bOIS3~NH7bokTV;<WqAjN zN_!%U41aRF<Ywp;C~SBi5V>)4mpcfullycIy9nvL%ZVc-*LniR7e^mN2(>iiJY(*Y z9R_FcNOBj8{EMOlj0Uzd*w=;6hR@9|p*lhOwFmmVYTWq_@>K!v(gIg$feW?3D-3Y& z%_g#{UC2OW2~>?W8bFNZSK&1<ukCr^g;=}H!_;~K!uU=vWZe1uVTg0Cbx|qWB6uPZ zSx+p6lP!w%L>-(ZC*i?XIzPa#Q_CbA6u6$4XV()%dFzQz`!cjyci5#t8Oo77v~p>1 zHHwgKX&?jGc>x8jrq=v`U_88r1(yclsPCMIpD0#VOJT#h78Z20UI$AS1WV}Pf?ydP zacKt-iNlA$>jh>O1O_P!f*TOb1;LGNqV0lUIbt00^MSgFZq`(&f_OawFsoky3%&+e zX8gVxF3#$2f$h)gZ-po1B=B2Sa8juB06xR?e`X+bGu>#*BSkzdH=ZM$8O!>*Mg8Fs zT`OxRihdPWl$ppmpdpA#J;d&hfgJMO_%3%03AoV_#Bz{sGhX&~J>3()@<Zb1Gm1%i z?=8s~U6P)rCT{cuQVk5;N%zYR&>f!{f@h_AJrB_WKSQZh6hF`cvr~1n6lX!4i0}i* z85=)<oQO<qoQGdkga6M@)xUvPTLyu^RQ;O>J3c3TYW{${@u&$WT>P-Jo-}-q`1&vo z<2%Rg`F7mChe@Loz6~pOU1fMm)3Iz7PL1cnEQTqD;dFTp45!bvFl;aSi(!bN|0<XT zFgBbt=$;8P8^+S2o7k&iNUs=%G;J91i(rT=hGCqgML(yO#4;_hq)QC*V!EX;BVj@g zE5&cf8BN`6g;-D;+aw|9JFIz5Y)SBYGCy^y{#{ZU9=^Z~yx(Jz(%5ye($-nCB#~Kj z6JjIb^9}S~csOOgkAY3SCL!x87*3hFPM~|TXNqB;3X|^1g`Dq$fSKz40IrbpL;RNI zUYDbq>eiisX|6vO_dzBy76<08JrNcdi(OB@5C-8PM2ng$8L;=%MfO~5bZ@C%81@_$ zkdIOY<PM|?Sg8f_w1<k~XaF(4x}VSD{4ge0kyQx69O*%Xl)U3`!MZqH8?Gx4PYExP z{)aC%BVj$nRA(TVJr4edjrEAJ9%bxJ<>C793TVIm7JUujo6Ezugl`Qe%EPynhu!k< z%JT3k=K;pu5&ja^n1T2BF@~O64z0rBuY~X7`tx-sd6G0=6xsiRxUYu47QQ?D^YH!Q zhr^FL--sgUiSUyqS59tzNzl{b)!};!^Fz+#@S(g<Fi;kbPr}8C$5XKViO19Mgq&aD zw`|}$PH8b4CjFn8cqDg6nPqt0EDy=NzKE0DK2DZVqAxA@!KQK_o_H@9hE!>kt4wn2 z?4_UU9Sq)LW)^M%$Hc_xJKO@!8WN{NO%YBp%Z#93um}hg;@9B3_=)v<cwYRP-SvBL zUVKZ)632vsqpLfng1=F|*QxUxcTFs}JY3koO$>KuO11dXKM|<7sh0oFLI;FsYD=xT zPen41Z*l9Ocxp;Y=01quJU6~Y=5K9b?wIos?}KL;a9f;3;E;VBXT15|rk315FkNH| zyYa2bGsZaxlo=zxFd1fyW*#<P3Q>p3&nGlxkg^3ST4-`{qjf~3wBque)Vo%DgopMB zOOi~4TPJ~{TB7+(Xl7_V0j?S;evEFX0)AHuT%rY1<$x;dGqu1|w7_9n;6N=fR}1_* z-YQkCU)BP-zo??977MvoOR-T4T&4vs&;rlW0;#f6)jXwI;2ylaDvF<If!nmeSGB+= zwZQwe!0&5;YL?kowG=s9Ry8<33@YGRTHrV>kY5m0)<*z{x!IqGVtK@=N?>{P9=v;5 z9v#cnFy8X$O1nJT#H7&)e}N^-qrI&uNC%fR5uUQ9xH5H3@mGLa*A#zal9V-tB#|}6 zX2kkyie`AYruaJp_iasKirE4JW=*jLF5JL`-|U(KPmtaC3>YrWIB7Z?hEuw!jg|OS zb;pjbDYo-jB&{hvLP*k@qICtq{)HJi5wJcs)(%*$D~R{$%dmp@H{<LI!td&zFtptj z#Fesw*hyT56@=u<6~w0m`74NB@S&i)87M1=&*0(;Vh?P81(8$2P8h;(b_J1LLBw{{ zZ^^D8@+vUkRKjE)lCmp^cAF==f@rsSvMY#on<u-1Xt#O(FRmblVFDskmB0$(Fof-8 z1u+^86<9%BWmgcxnKU|K1T57Gf^;C*OL)o(;;PgYL@7Y6D~KbQBxMC5Nn{0aBx3y) z#8L2Y1u>F=`?i8G#XK4W%nITdxF9%--|Pya-B*Sm^DbFI9M5Nww1W5?LNcr%*uO9% zCjwTPvC3h!t{@JlFT)Dr1jgAFgx}T2Gql|m#8t9_m_S^H6@=u<6~u`I`74N%;6p(x z7$_@<O1QX!m<ZcnK}>=t<W%7|yMoBBAhIh6<w%oVL9{z!XIBvIHcxg1(Qfl(R}k$s z&;P|0#9T~3WU3NaL3|NmW(ASYRRRTo$XzCvnddNtyA1m*7%Q6;SWPUjtBH9e6P++0 zmJ!z~;_(ZLL$M*Pm=^uq3ttRV3`0>XZnn>Zp;*<Wo|`zvaYvr%i8rEC%)p3Fb#D)B ziyCsSWQkH1EDKT>ELV}LFGjV1Nm3Rpl0+6P3lZxtSQf#<1<PUvHuc$?7?q}VLryJ- znZ-*TTp?!(ezS`gbOClkcFg~W+aGa0i=@TN4G2kEyog8@`z6)^jD&R~Q&FUfy$}B7 z#=6N^^^EmJs;;0f!*b?&#@XeJ|E{fIXuHdq1+tuJATGmlMsnqH=4OKY<;*Scp}e;; zP?j?ZxVW6T4Yt3Wap4I$x8pavoXIX{vdfw5a;BZ3IV)1t?w2boQq^wrWJRjlZJz&M zi&Q;`35ZNp0?V0)5Y~a^%&}<Qz;b4xUCum0GSLZ-!YcV8Fg$=VgzF*gYNZ%hu41@I zp_?n2C7#U{%~F_R7_NF4#}&>j7{)OV9$4Yw5xPm|N*J>OVwsdHAl5GAJjMiPIoC(I z5GrXxSnx>6!qm0UF9`S7LcfGBRw``}JXIp8WI6OW0RD3533#|1dXj-n1A@z;(~xfs zOce}QXFRb!6^8S9iZNN6B7KY_t{7%-OD0ptr;wppGCd6!#QpJG*8PV$rM*BR!=DlN z$ARm*>pFM}#TW1%1k!S1We6Ruhf$JFtPHcD5y_yAo>=(`lB+goR%(GOv_SSgRo0hl zffs3kUA8T?mR%-kW%m+7+OF*QzF|qkNLasNDz5DKR>A+WvDU$I?!+6071eJExvAWd zB^D3OJj{R$E4&vOXIFUs@bd~o+g;%;loj5q#F-V|cfw8Kd&4*5l+M?~r$bdwgXE9n zxvv3(g1%1Z55kG?Ev8_%;t=ugOw@lf>Ss7j{01H7><y2n$k`hyJQs?;XQaPS{DVpQ zCIe-mxE?Mp6yJjFFBIQ~C*-_?-|Rv$yHLz76qTcBcHawMhs?~r?7mmK&6C~tYPWf| zX=fg<YJu6aH|;h!Uu4zfahw*|(X%&uFadEmRS7H<u@=HYF%}B{BRo)MXyZcTLU)J% z8U9x!yw!OzOtq|{aJIeOFfKmEMUD@}oUg?~-;6omoZx_L$rmwsf`%|>BqoG4y?8F1 zs~WC)Cc<!~L&Mb%S4ehcQ~|d=(7`stk!k1sJ}CLoAXDy~i}RyczfA${;QDP*>iR8= z5@7vyZvKE?%z?*5xb6yS;M!Z2FkOt2icIXf!3Awx=P=)ZHZJB{@;nGrc~34d5eEt! zyfk@maUIxQ!rwq+n#EZU_(M)Ue#^Rl(NQhV3L6eX&b&Dr|2wJ;%PlBE3DcauelvvN zPPyKDHZxfB@t<+Mcm2-DvdQL*u6I-Re%^`g^5)cZw_y)L@$DjXe1Br<aJ@BGqrtPt zX>OnwdTp<k{vA@v4fL{(ZF>X#FA;C^lQZY3=e^xECc2-CJJrX_Lbq;<+{KN<>)YL` zt#X823K%%T-ii9fnx8gjq5D<09*AyrsfM2q(5NclTUy{RwZN}vfs3`kGqu1|w7?Pr z<d{+g!!e`+h9ee7uufFg#@>wwvG<(1@-E&lp-!sazyUyC+W#PJYy&Y2n=#vHV_O7m zY=aQS0evvz_}!5ZsF0QjsA4-55fSrQVh}!ZHl~<KrrRVWG6W&i0X-D<Dzp;xk;LHi zbheSP;FK^CzZ=vUvdD5@i84CdoX_~}fU2BT&QSD<a?wlXYhq4Sx3)-_BEyiHOcCdB zq;QVl&yoC*&r_1RHI^1LfP28*I1Gtk9S#eOkl`fpfD?|uic3O#5=R(FDJ&-!F-{Nu zh(a_*0dWK@a9oZwzN287Pv}Uv$QwBtw$B?m1|A5e<2S1ijT5@`I@GcX(adDAt;kDO zcQHCmW+uTb#Hz;cDO%tpEfB9XPyAQHb~p$GRvi=JHQQ4Ma@(mIhD!lX&?{hA9lHeJ z=g%%1C`-q98^@g}`Wa6;o_2u6b^xtnHqi+u!z#(e*jEWvV}0fWcohtp`7>b_!_>me zfmsBz6ozXQ3hOc6#$E0C86R>;lLPXUrW08jGW<!P7{+Em2|s2+0wgro^B2SBzLw3L z1z;Ep#c<MLIvZ|jvv4*K(j>kZhHi_YpL=bLqp@+!d!A=3-AmwSWr|@e&eG=-VfywO zX(Zx9&M9aJ=iU%MO1w$JX%gpkz4<LGao`EA(iW$#(oSVF`nznW!G|>#A60OTC8=bW z?ehTmyKJY!!`0Pf1~v_ygyK}eaHotju^P|MXL%+JJJK02X9sL{9L6zSF$}9s4AWM? zoCQNX<Fy?z<W!?TW}#ODSI9X7zh(Kkp;9zTraylduCU=vV7hQ8ZsplzK=(9Cvqrs? zD0Tn7=gcS-TDc$E#f_(l3(BhcqcFk66mcHvNmj>=vVDW=AooM7S1Opiqq}_DKvgwv z{ap+EgBJLx7Wh*w@D44Iuehq#e3w-~_4v=%Mn&-?EpQxw82`V(w;^eR@j`?oZ!mHv zks~T5kBo$M5mQk~AIBH?FE-XpSWd%W{BVRpG>4m51b|BnV3x6F!@|zq99Z0gybUQt zao;2cWY~k8!8p4I>3>5mWoWy5kc(xyeHn4G2kCs7xyk-v_;J}hlw7%acsW7-=HXoU zQ1UM_P<TvNz{LsjJlOsOc|JUl-^Oot^Dw)4nB6>74pZ69Lkz#1zi>X&cG;BOJZ!gl zvYUtPHjjFC_A1DzW)<1Z!*&~-FS4o~Iq6aX$!k&pJ;i-@Vge#lmB2FoD+u#94>`$6 z+B}?wsagJjKAo|qO5R*-L{25ML7kh6=fdv#H8|JDSHTp+(EUHL-e%r5U&{+HYj8FQ zwn>`~;ab*4Ery$>7>4Utu4#j7S%wFz#gzi9c%>I^*%f4C%z-I}vGFF`uOeG4^7)*D zi~QQ)B0qL9S>In{0cA7xVD@BN3>MdJ$aY3I!DRaD%t<EG-(cxRmYmPh1vYG@bQ4i5 za1Oo+NW{6@Px39e7=Dk0UyPJy8UJngp@|;9Wx2Cew-@CVHc+qXKHgrGal`W+G?-a^ z_cj-Qh(c+u(YeWJc0Rc(4+`F9+C050Ev+G$Xm#QyW&Nj-x;*!sUG86Y%y`~?xfxmJ z$R$YJsq7^`7@5d#VZY_vr2>YXhJ2k)++mx7N2D49|B8H7z<0I4H?+V9wZLy^fnU}F zZ`A^48{pob*niqhOh3mfE$_dx5M9Apgdg0;REr(J`w_#<y9Z!n-_Lp<gg1h(j`cr8 zKS#KS;aG)cz~<hgaC#TK@|);9!XFMY+}x|RylJAm&An@xZR+OUbu5s*P$~7U)mmXW zJO&c!cKDc=R48z#Qut2qTZv0p`MJRE-Y=Lu5X|8m!M}tB*2&|>_XI%?I5)D0aj69c z*(VVQZpKrvoE0qREw-={1;o>c!WQ7KV8QncEHfxS3l}*Yt6}>bj_2SBIcxBnz3DW2 z)2Tl@nA-S(b^zL}1!i{((Ndg(odMI9E1>2UciC>?8yE#-ya+5aevdHj7CICp^7i=Z z>^S-dMn)&R39E#H5S5Nx$^8>JF{V1-=g9O^{tOw2IdGJ-2-cl;h1Uky#Ji5uPtI;R zd*%$-&VIQISPa97_e>Z&qvqxru}pIX3}?tpcO*<P46*djhAD>Otc79oU`U&E=x4m0 zUE4A+9pi|p_2QYA-K<M3i=Da8_prsVZTXp=Wn|bA7=|-H?q(Ll1mo!@ZN~S2Vg5|Z z6@ZN!33o9Jcg}1a{VW5^%(555SUL=2*%@YO*!r@(q`@?7L)*5rZTZ>$L3eS$Pj@O! zwkPqn?QEG?KIY5vhn)53ElvqKgcHLL)-aTe39e!4f@>Jwz4#VVv~E<s4IkDPqnIkN zwvbe^QTYx4{zl~nc(|;1mw}yg9FSe*444|23YfEC&W5RinF_<l6LS8D49yDWPjH2t zjrc7qC{tWJDEF_1P(7|-%nD)wuGbk`{~52>S+KkQGhDC3S+T!kC=#Z)K``x(p;?-^ zZAttnNMZ;)JVuz7grCtc4>e{49qnU}vRHCE(qrACF&1<}GAOWRnY1urdso7+&G`)4 z4x^sr-rj)+qlH!L3SL&M0`5S8RKO3lz-BFQofi0OE$~-b;CHpauW5lCKUD2FLkr~V zsiJrcfY>+P%9l53-}FO-B<-6zCvpg@;19oU*be1q5EE`9VQnJ`ZlZF$gMYiR{te4H z4GA#Y|A-Lmke<%;Jf+ERY^EL34+yq9r2ZH9V}`c7Ls}=xl^w*H9nz`H&781&HWyCb zZYCLXlk^kf{7urG@S*6RGEn$ByWrvyVmEAm3Go>`xUK-d*-g^yCTVt)R5{dSH%T$p zX8w+6H%Z%Vp6n)RyUnu=v8oULt6E@oleFCi=Zmar@GjdVEy3bMrYZsMMGRs7CMhR5 z!A(*euAGEYbIHb~1UJOEW;qq+G#D-|XaLi!_>#9t4@br&;htoPR1ZSA&g9P&{+z*| zsr;$Kp+Yc*g<Fy+H;j_A5K-<>(Ytr#@>9;%a0>HmiQs8YhZjjX(?~(iuTaN_v%VV( z>aZ@H!ooSxb2^U_`3wFW(4WMo(|JCB&f(84WFWWOVkQ2Se5|Q2ZoRm9N$N^`1gd5B z68mbJt|R-4m}eeA>N3wf60X=XQ=VnX<teGhV~oXOvvBsa9(5evE#w>pxD!WnI@j~3 z6kd=U>61Geu9C?}Cltly5sgLU(Zs^?aAJ@bMw`SOc|ft8;oU>dF-RLjLqrM=Vv|mT z;c9|C=48*X*RVONJbwjj;@EqLWp5(0;1n2QEwg~#ioLGneO4(_aIhspFkdJpB$yn9 z{m$fGlSw~jLc+{|#93Nq$l9?6`<>DACZhqYE;}SMuuWiXX2b%}?01GGc<8Z6c)E0r z;e{b*44zrUNd)@BScI6aH4ZLr8XZqeli%cgmchcYP}MM1Fl;4`3Vh~ly<*Sa+sF}e zPGGj>qmbR_;KF4R_$?b6?pb;mNM!hfG&(pyOHNoh<7XpYhG6(x_02t(3_SOovsTvS zjrilJcii&9iDd(O);}MqZ;sS`aKVKaxi2T;_tk%rSDTlp`)*5k<(waZz_J5YPU^V> zki@h%5>-1A)!SRl)#UE9?e%|;eEhaMrVmQ+>{k4&ty;&6fDN-LQT5{5s$KLy#h;I= zwnqvZz5-Os6>ilIw`Xs6QtwEjdTaffys{`cPqk;32`8v_VwvoM*N!fetEg*B%H*JK z?SY$t%1Ko0URx28eBNp)=6T$zT`m2@ezB#u*y~#Ia3gX{*sa@Izcc6hFD?I+@H$j$ zbt3*+OVRSUl&kJv?!?_-3k|`3b*R{#_J%uX1TwHEohSCGe=cu!q5uP1PWRPyx$g6l z|Li@-+)=S3ao(=kiQYa#i;vljzv1ot<gu7XxGkPce()fGVN_)Rx>dUpRWBr_t+(<4 z(_V1n>)kPI9k*(=$On+Ym3qD`F>ON!Q>?ApE-hHS>!atwwFkM+;oj`r!iHnI=j7bD z^phSqsSelLDyeXD4qimJdVLb|W7N?g{{h$9sx2s1PV@aNXaO5B%|Z3|0F;y2;~C%f zWcFIb+XjvDWq%@qpFlghYuxJ1I6I%1w$<Rw5pBL&ZrvMb9o#Q&&u5>;^nvr)ayDYx zmS;(FGfa-T{acRW$JehcV9=h|3vZvWXU`sY+U8Uovfb>)UueZ`!5QtfRU4VC`DP3d zsqOP3SR$r<o`Gv^)h0n6C&&%9x$i>MZ55xC-&S~20?v=BHsbE`1#r1l8^>?mv*(7w zJ1&85d3=-coXn_dKlyNYnf$%Nn+8du4em*wJhwToesk_~8=d+c5MYTieA))LYJ+=f zfBv2{$c=AwXKXm(lfs)XK;(0KoWcioAi%BObi#{;H=oG_&xO|d4}ybN@V@WFwC&5| z@|qVmjKXZeE#N*<n#Wy0N}a8jz^#6b-SA-Bg5QmrCOD|@mPR<;_-p<nTKNpim8mn< zqUh|5(_VDr+x;}R7m`SnAKf$^v<hkbcFEL1H@ed{`5hF43Ummh?V$V?Cnj!LJ8|>j zGGt1JEoNZrz~NSHs$U&RRBZxH3<Ryke0(>1>BiJvio7=__0mg$Yp<8~!RugpX)atD zdg;4iznA_FPSZ=DfUC8a{uDmHm)^ms)?T_0Uayy4Dv8?m(i(<m>ZNa>WU0OMC4{Ma zDV1(y?4>u8Qdjp<D#m3KpqJjpu~gkl|AB@{(@P^H5}lF0mp+3u|NDBW{peQg!i(ot z?3kT!)>iC74Rh93a6crczS(|@jam|sJB!XlOqw_KSv>N+v_bR77{T4D*W7|Rps}t; z_|RT8Zgei`U4vb+6YKYIm+YF|^?R^OR?99lZByXGfgP^->GQ58Honovx;x$ILPFc_ zoE<JbvyPE%6`2(Jb?A*zM85q?flU4OyYY3c<3bVM_vU$0u?=oP9B{8<7(xn`d)|T? zytu7iR2$!gf`$Niy<3oI^+s31ou-kgz+-QXyk%$GM&?+yF=LwyW#2By&?Y_nEPLx3 z<ibzTAdg8QI<G;hlG_Jgkw9~Co3X~*YwR}kmFmxa8(P;RGW3;#R&6fIXe&qAx^Wq# z?Zwupm?a4;$W_2=wZJR1z%OWl)mq>LE%0b1aEgdDc0UE(oS$kgVrg?(#;@{3n4@6I zVW!^IUrDqvM+<xlavG|K^RyQD6D{yIE$~t;@O&-sbS<!43p`2-9IOO(s9)qMi8lVL zyYg}WmlpUV17v??za_h<0*34c_TN@vYh6D-0%@k+^(}4g@vg{yfj0LkT40qHI7|x+ zDS;j8M$cdojKQFDpXE;tQFe+-7&6PqgJMVFQimNy2D}cH^s7pujSIEFnOfjvEpUhy zxEqUA%^2LF7W$WxXyZ#tV25&l$`Dodq$1+jLHPBX1j7!(wLianwAo20fkplk&1e|z z!7!ekhzw|^vm=jmsJqTp)~xXeEwH;1*rB%Shn0P&zjaYVv~%COtx;V^ZG2e^d`b)a zffjh37I>}_*r8{6nv!T^i4xeM+=~p+|Jk?hAuu&Gqgi8v7C1`@>`+@R0;i(W-@1zo z(awGAKHn839j7d5;{Yu%ss+9c-h!%w{6Y)-sunm*3+%52ZVM?Z^EWN<DJ}3}E$~h) zFkyho@uLe>a4yi6*gJr!EOFlo%n>;8q~RQ6A`HXqB$V?BhB1zF5xcX?c!n{)3Wk{J zFjMd1&ZDX`H*0}^)&k$s0$<kxU(y2a)&g$^5TeLG9Og+h;PBwXc(t4-AfezqiJw?G zgdBdvXbN^XPcxjtCJ6m8LJtZ#KY<mV6gBCdXZ#ENS<RpS!Ve%nWqOLjL-_Y+gl~&2 z!4b@#!^tC<_cL0QurdUPF=?6n#6@`(2@5AonjSc|2?$O<mUuBnUPaK~8fwEtaz(;K ze1$HE!q6JtGvqwTOhk{XK)xCFlJPLeL&WgVC+t;dA|CpL(>wG@86W2nCZ`Yx4}C7N zhn0vjhdygmazAZOg|@bSYooKFd7P89GaVRRA`;lY1SH*oQI=C4RK&Rt^#rlUiF^PJ z`WPLQ%6@{5xRq;p5<Z>)6__)IH8#lbDx4jC8o?1n|Ef*2D6R$K8OFq=Q{a-Gd*o?` z??J}TA_ARfH7pQ#4wg|Z%M1~|1{ThhK5u+4z%mjQ{{<I?!ha3h7YbhsPsn)@zu9x8 z*>k1-S0a0^w0%xaV?z6Rn5PBK(gG<Dp!yz@U7!NS0K_NkZHxjA$BTeu<~#6al+1Mc z4MB>-07;gr+<=gheo;zQQfktOOp4}H%2LYV)9^N)JUs;IDK*J)QLeyn-Z=y=e#pul zic~s(!otWIT#O%{Qibf}Rs;lPAFoc8ePrfF_VK_|P_HVO;EqED{B|zXLAl32lCsD> z{s}I~JxW;ua*r&FTyz2JedGfxj8aqdaU)U$L?7RU7en=*eTwhFRWcJ`Au6s&tR$8j z9tN35HexKtxdb0^h(7Y9ZY*kijwqCkMTX~xocBQ@h9W=$@>H+lr@>|;(9cS9a>rg# z1#>b?1q_)>oGdb)cs3T(5NjK%8g7w*oW;B&1%(6=z}chaP7y#tB*F}s5i!Sl#&Wfc zWaxenISvG46Gf76qAAazEC=)CyTS6%%`#5(+$;zEjALagVTj?ZnsNKpD4rl?(YYYR z%99vdj;+4m#P3B7hoh@B594f2WF@`M^LK=p?$`ns=UQ6?bK($$i!kFq;14<f#BbSw z{i3B5*UIqMD$Ka91Hz0ic*2aUDa`m{vM}S8MAha*^(HIKSiK1%jvv33sNVPt1>>IO zk0-vkwrYp*iOAgAs;%^SGL4%eg$>_BnOiQUXd1TF`-a>}p@>_(5we3IRwn0eYb!hn z$D=$6$6`;y(UWMb+`YEaNHo6PG6=#$E&U*6)p8*6r)*GS+K!goXGBV9XMKEQ&h>YB z@{9xAD%4^_BECLR_XcDt6Od-8+McLdM+rwMW!<|$3CHE}H(2z-hHEiFbVar@jZnfI zM0x^}g)5FGvg$Pmeo{VX5T4XNiAVN9Iyb(-jgEjLgDPUTsK`UrK@C#7KrB;)T;00# zK%*BqjmW|(4DVKCVLZFOTZcl8N>iweB+d+y7}G9^0*)wYBs&fOiO!KZ!k(jlW6v5$ z=x%p2<;mBybMgdNyEV^p^j5ck-6Bmrk3*j9InnWqZ!7TGAMy5SWDxi?(Zk(oJFFPp z1`2+lm$zQU!yzpwNyqUsF>%w{i5rb%ojl&*3^bB;U91HwgQ!{UXf#FhFLps5rfz-n zH(@8sb%@R^kql}5F=47H5+&jQ+&dR0zk8tt@f*Mo4*m9n$;M+?@QZ6doK?i$^}NZc z0v>*)_+=wsh6$L^ev+p)PS*lY)dG*#0*kdk-pQhB-?z2ECk@cHF`I==#b#kgP1%g^ zqHQ;iv%dFdbn<^fX+OhwsCo#$(*mE?0w2)=@6ZC5YJm&1z{y(RSS_$r3oOtALt5Y_ zjQOf({f+@D-=i*Mgs;(-n4efx)jZa^vTB{iF`tCt$8gO54VS8<|I`Biss;X03;Y9s zSo0ShhIJ_y6qaqha|i-H<<BnsfZKQw5I%Fd?@&Y(@#i4?AogI!R)G!KkB)7ztHG4+ z4=0(@17I7bG(*6Y7OTd@V@-SrLL+9yFEQIB#;BuWfYDM#*YLcMGmvPmat6V%3Z(}} z`A|569Oc3AOKr$ezS?q>iSpD49)(h;XBa2f8|>F&rpm-CzFK(2LjXy~D`tC2y9JdC zJ^&W(h{3|L9m;g{ml}VG^|Q&*mNELNbx`;t(@~gVHbgkc3^@!T&V|vOoPM~93~oG& z;RHS49LqY!r5Uhp9DzWP<ViMXEMp#U#u)(l<ic2HuAq1XAV_eeNpKVsu=+v);Uf_M zw(`*ibqp-C_#6cn*~-Vl_Swp#;R!j%;Wx`x&a#yQlhzNk<I`p>@MSIV87=TJEl|Bj zc&C<PLJORy1<uj}r)Yuv&Z)j`F#z$2IT@pX!|@`(Rz3yZ%xvXp7@*Ryl}|;Yk^?a$ zL8p0BWD%&(gqaI-B}~X+ymKDYo{yjMCOJWJl^1;l?8O2*jj(fx06UpV!-7ifu1RGl ze;#PVP99W=<XoeXJIb|&UDH*-&2=5)8BPr2xF#VJgliNo;b^$lo8TFyVHmNb!KI$R zyo38Z7!16VSps1@SHlIBdTfHAN<AsFsMM<gAmW_vCpZHxYSlYa!Y@Ic4P$T${2^y5 ze#`O>R4MBQAMSk=XCIYyTP}oQLCH15hT+!cBI3Z^S#Hq~<Y*X0!K12O%wGW8pkFom z_ui+E`@PiXaU0c}^c^&W3ix#`aG4gkPz&S>rfRnTGzHf)@EVwR#$0ZD4W_UcB8*em zix|hTLPBI*F>#P^xEOKJw8|;zOgLAe{+N=^g44UUR)icbAqBpXoRVH+r=&!AQ_>}T zD^oRF+j(ahU-hBhPEh!;*flcmoQ>4!=AH85CtX|1fv|O4jAE8IhdE1)I1XZXxfB+{ zFN1|S<mIq1MO?;0#iiVU%tavPkY9x5+(?Qy@kb_yi~`~cSeP8nGrsw-%!qX*T$~(U z1>2t-E`TTGEW~g2I$L3$_D0VM982~`OX0&u$>k1?f34>;<-D3|To|GqX%5i>KSQZh zS!ZW_XsOIx-2aO+zMJrBI~)W8GroFw&2_egrDzb&gDSj+VdKzkx9d4)O1GEFbg@y9 z2uISTb|h^e-DvpK`~kf+bh#(X`5EVF!JToTJ=@T}*3!PkqwTE5Tj43yzRpJ8Dv=Ws zuu9HFe5G?UoJLI)L>pGnBTBW8#3J439-Y!Omh-#IVdlUT!_0)43&YuLvFGMAm2OU5 zXM2Y8{iQI)FpRH-VLFD>6vNPerRQcm^I@2!w*c;$p5KOD0zb<_{MDYD{!}`)yj)J$ znfGOIlg>z(ki&*Z(ic53l>F_wE_G^s8&b6Di+16|<n~mi3h0ZLR5H1}9ROcn^h$U* zvt7l&CQ+7Dg<_lxa~ezy4E^j%>}s6MajMPcxAu8(Gmf}o&s_ogEYHwwyJX0@0~wjg z^OxWXIbX(aS;4tlJ<<J8t@iXp??z_+xL*WMMkUV~^+Z1#Br&9Y62lnX_Q3q|Ac+y} zk?_mP7G_z;@JrSy>Z4`fPW5Tw2B-=+QVZmqMn$nu3+%21=4gRjhpEc=wifscE%3Wq z;McT3jvuPZ%+Lb)imNCd10dKF-{Xs&q(k~%ge2>brT`XHM00@0WS8-<?t>*GJYqQ7 zBk23a`T=9AAigGwr8zJn?uW+u5#v0?(m#efNwM^5=9A&--6n#qVrl;?^b>}*t62Iv zSu*^TxXg;BC1Z*(|BSe&!>hyh7DA-#=kTHE_cKs95D&n``TT>h{rUVu@IcTTzgfl7 zS;f*>#nQ_0C#zT*1289BoRE=6nk?RuRV>|Z^JEoEx7$415UZL6ys8Ce6-&3<;Czu) z4L(i_<bpy)kqT8Xk^2KCATm`6a2?)6n7_}&Nlvn2>3r^G*|j0pf?UmT0?DC>Ye*Yk z0eAj@Ttet%WohWPOT^?O5N{*nl2aYot4dZK{l`2Mv-N}nk3UeiGxnlR06fU-#mRzL ztQv<1Rv{ansUy*L)H-J>xZQ7Ruk@JZZ6I}-<-H3Rmf{mwp1@L^<tZsaBa$=zM_?el z;ivf%TwIWEWO!45He99!d9@eE@{%9J@t^o&&(=N=oS$I!BI^DgTsQ)O-?IEuozmVQ zmEjMf?nYR>u%Q<!n1D)0{2$Z@aH}M*BbsT=T79Fp^2M_aa&n<K_M<h_|GLKLfBiBV z@5XDX|CP5vuC3a{GBzIux4)jo84s+dGt%3fM309G4ZS0T-WH*EKS>m@LTQAC4+T)P z#13J6TcKg<KD31qwZK8vvuJsRmRKmvOw|%A+=9A|$y#FhI;pk9Zf@1HXSBp_O4Yw< z^mJ}$#r+zp`0PXLpk_mkE>zyPs+W<^FmBoW6SlgZ3vo1hk!qZx{%Z}eLrNYt;(386 z-x<DdoJUo_@ZBOKEJYr6uS(cBmQKCvw}vPQRl;znOFK#HP)Q%}ijsa`S<=Q^wLq#} z)I6m|aw=88m=?%)Pet(sJP;M|DJ`&83;bWZ&ASud2J^i-&l!wS7Q%|lu+#e~g84n$ z#b`M}&kzVJij^?&5LVoc(1;@+Z;9DvV(?Y|j4|8=-UA0e)z}3N9q#V}bJpSHz%Q9| z?_!zVLLkaJ>fWK5h<dwtnecwX$R^!(@jI+2wu?*A8rb@c5XSTD4jp6$Md^r3xiLTJ z1|I@*1!m5(8>F0P&qFZJvv+S3ZO^m!K#bEpB1H1(mJMW51@WG+uz_4)e7#_qsYoGQ zWH|MP?K7PEz!P!~z;AW~ncuNgowfG+U6kEGM(ea?Exe3S)$o}W8AMBE{Q5Ue(Y7OJ z_o@bu0f?ns30`f7gFs*@7lXH*rCcxOk-Bo=N`n&@yPV^!r~<}r5wdE|TNnnD7jK6l ztCBl0mxrLC;qc?$A34d+i+w8d2X`kSW=3KYVL0{TWY-pe+t=leTy3Ac)EjXya$MgH zKXReZ^%xGFm%GdI?-XPhT>iyVmw$(&SZ4Vr*P+<F?7CG`S>;l21ap$5U@2T!3Q{9v za4E>Lm2iWXpUxwIi8#akG)KZ!a!xLOu1B(xYvF2@U`nbLh`d4~_`V*+<io?~Is-6h z<qs&>m&b|k$k8AJ>ljj#3XFoQB$11sdKQMR<iZ3G>~oQQED}V7jv+7_{^7Y0W@mWQ zK$fes7PguvhFfxwv03Dfg)8KY!*AIEcjlEIgra2l3oLR6qS{!8%K2ih3GI4GvB<@> zBg2ux|D2e$E>86FyAr&#g6qO(*)p49ysJMp`N_<ZHbXM3zmt}<3-E53CGDkf*(*}y z27`hjAf9GPdtxqvJLQf6EYR%P+lJp2HoT3uUDlvj?)o)z-%iZfm6);Rqvv@~#`9)j ze;<&yO_Uo5z7FT8J??+oRjNB<*RrCNfWn3=fWrB6HW!xDNq25kke0d4U@V++H^nYX zZCT%Be_=xpVyZSJs<s$WSuXBz^d9GeGqqP=G;HUz7e+5>FL&p2e{+%=X^naMRITsE zcZ~W-)X9@akUCe%Sjxq$SEoGH*<LB1d(WxgIlS=pC-InVTj8uT+6w2oGxV(wQN_+F zMaH&zmIJuoy@Hn+wfnxgtxdcGcdWQ|<_?3jZJg=CosG6z72f`Bo}A9q3Lk_!s}*`= z>M{PEE<N3%b_a}S^OBnj&yK@dnsMPIlv-F_{4%Fubqzzj9i)ts0zRXFAf|0%a}UxO zQmJcuKK=xR2bo-5ET5jSx)-2ZOLfPmukJ~RZ@0Qogt3>m!Qq?JDeq*)w;^qtyVbaR zYKL3B9XC)VCT?|&Of2=81fEv&aCYIUUCkfJeH6HnqXGbPK?jEH=DQdydJq`)O0Q=D z-_txqLaRLFs$MxcrCTs1$?#{tt9gYDp8}Eq8#KN-;}dz85ME!w`DU69x<=xmz=0Ei zG#&JZ2yXX@rE9DmqQGH`C~(-Ev9Xebi2J47ozbcxq19z{B?wp4@<&sX^-@joN8tTc z0sClyYCYgDW1^tS`lni;s|8Nh0>^5BL$$zN_}r^%y~zN%uHgI7IjrPYIz+UK^flb7 zZGtaof#bEn{#xKCnD5{*?Y;H)``FPolM_eBN|?;+`&+fZ1zKQ@7FenUa{8-kHr?eM zoGMJcYd1bms#oTHE%0pv-22nj71M0f{JKL#yXf7zQQHJ(D}f!_R64msP0;-mJl-mp z8qenQ;K!Lf96ox}uA`MDZ9GT|Y{67h)uG-qz|QR_uXF{`)g2<*MV*hD)>Q3E27(HB z;(tQ5wqu^HD(#C}AeB9UV(0d&yE;U)i@HFKwh4x6fd?vq%7Kc@v8i|M!J<O*NR>p( zh3LOJm#8VJR_T6+O8Pxh($4LFS9OSJ7xllv%4g8{As(5g2Q)sc1^(CoJF8L6+^12S z`*m92q7D_a3sp_Ap;S*`G=SKKy6tf6&TvP;DFnyc;Tf*Ts_9sFc~LH+R^}U+Y=4*o z<Z*}<+>R*jjjUv9?k7oz5inpJ1PsJV7$o!?twLx-_JRylwuXptWY0)kvY{mDwwZKL z<9`PsqJ*Cj%=1gMA&>B7*q%JXSK#zcrHeemo$$+!4doHyRvv*UPaa{Px6{<J32~84 zXhfFjWD`tt2J|O6kAWQk`GT(^0fZI4#&i@`xQh-7E8I;-Tq=bPps&M+z;6i52rC$* z2rGOO!4y{bR-0%mtZ)xvtgynj=@wxHQU&qvz=E*Cca86Ru*_Cb6I>KlxEHoBtZ*MZ zI2nZBtgu2>SOEhI*B?_GH*3eDtgr%FDl?B_mbM+cOjzL;c(ol40s&!#U&5PFSizY* z2r1f%9XyUiC5^e@%E<jNP7Psa@aG1sGaW9poipj3!k?-95q<i@!D51-f*ewWpn@Da zzZ!Gca);Nxlsjk3FGUvua_7!8gi`oigb{c%O}R6jB+uv1IsEa&(wCq_L5=&@r^+R; z+(s_pz)9@eFciA5atT&eg8iO`&r&Ie@FXeAHvUs^LF2xZC7^MiWhr?d-(^_!pbP6> zSQIFD8Yu!A_n&|lL-((Iicmn5Q}Q5^3Q=)+f&sBSY5G_<qhmiR&j4!p`4nQg@*JRz zpHCtdk!KNe<Y~l0!|~;R7Ib4M7u4`iL{Wlrvt;v=^T3G~TZ*l5GE4=`G#GMR*;?dC z5O)d;u?!=Y>Dj6!6Y+Fy224l*Ga@mX{m!7?WFT@T%$cR(b7RSv*?BPgok`eaB8T@$ zm>G~bn}Zp$`Iz~BXY@QfNTgr@+mpSM8Q3<qHZx)YX!bk9a9A?z@HGj?A@k8Nv`gOi z9x@+nCCukxSV}evn`ysG`Mk;CK>NZ{XlcKRmI%@Cba^X>AA-Au@IH7K7kKaBO9(M< z^>5(fO!Z~KEWjIO1YOp_A98++-?G7txuru<und2#7Z=>#fr|@Pco!Gk$cqbZO}@C` zMTi3=s<+yU3#M(Y|9j-)w}ZD9tTWdYtY(qcRy|G2m3s&vbg{PTg)gDEt*v_0#O?}Q zX0SC<*suY?%|B!c2p#n7?M~_)NmOsCUz2BUFeqG6k2voZgT>x02D8edLl9bfR+${g zsGV3Q>icU)mqq!wYD>yw_qx`*?Vw`!+6r^q!CNgS$rT2>T8<a{(UxPxexYT!*gIN^ z#eTY_pV+HgdW*fTCC{j5i*KplnNzsxOl*{TcOvvk#DA8k`;pv+a3AkMkP6l{C*Onc zBXbYJ{ZZ7jK=#cm`pkB7>UW%97j`Rl*YEgz;fik|GEw!oJMBex5Vz1fAeUtKM2p5F zog07A?CPcpBn2fY_}*j$E|1F-EnKk;1H4<cj`AS9=ixy=;&(OzqBXmC4aBtVB8E`E zrDtMZEV2?ta^F*QWM1!(`x{C$9c&N%B#`*FN|6oXn$8yfbvMefCwRQZ-RVwS&55BW zLiGluXY~0LwdT`f@A*6($Y;GN6NGghbmOnNV}`M{s_qk+oobe`H+}*;?GPuE3p}tP zPsyc&+~<rG)CvrHH!kJzCh}$1R&7MGoaPaDAKdEKl8~qS$O=Jj66Blsb*nd6at9-d zf>5^=-qaJ$kE%9?3mdj!e8EK^<G1eFb3@@Be}Qj#e3S9K#HiNfKZTdc-z&U{N3Gqe z4em*wJhwToesk_~8=d+c*u%e-;gF3()T#XiFo<WbW^6d&lfs*GkmqxIoWcioAOJ#I zC%jmA^S_zkxzJks5Tl$`20I=f;iFcnX4$n6%&K1<NmQAWORw38!rP1RO5xmD>Io+~ zixz*d75DtUo^Y~#x1o~FU%**H8VQ6WS)Wc3=$Oq6)_nYD2wAz+FC+=HJ%lJvpzQ}l z#b5C2xAGm-FXN>eUqR6!KVcht+T(7N6OZ64V^5@^;WqgqM8%Xk8$W}2)xDT}B5fuD zgO^#%A-!S-n#(IlulZyas_F%|U@jtz0EtN5y%Bh4Al8OF*ZU#vPX8s^<<_lstDctE zXFlntygqJxo!<br&qQ9$zu(OaH@F20TQfwTDX8<j1vR|;#`pGu7vQA<@M~^CJm7^; zRKOdx_26N*RyPL7<|994&KT3SH|L4-XBd;4FN08wC*{#?=quHq{Wi3&M`Y+L1pzq` z6(6l8SIKaz)B?w9fro2>{j|XDTHwxZ%38N5fgR$s|6WP7@o59(?2n(v&Jp*xrz?oM z+A3YE1*+vdCTl5<(*k>Hf$v3i-Kayo;|)Vp`Ov#)%S0_MGN~(?U^^y97`>EDpcEPS zvmsi67pW44tH|KWpX)WgWK%ozu-0`2(MOa-8^5Im#xYS+eGV2HU}v>F7e7<)I#-)J zXPTY(+)eKP!URfH_qVh_^>s88wG_D|SCw&q0V<zQ7jD$4ue*5<GelL@o;5&a)jI7? zn2G43=1!PWZAqzMLsccUs$S}gS5eH@0>fG$g``zkZ_@(*rUiZ<K<wf691b=x8BfkL zgYdH!KREe)Js7nGh~ai=FCygRH$$*7OUvAyE-tw{U7`{u4K`g10f~U;E&%f1O$?5Y z^=4w(j+HpM6P+#|E$c%Y?5+b~uR`%~P`odk-VHXgF?%5VQe1A#UT-&MiSpEizs3rr zstbReRpSmNuQV7BJ9v)pdf8|#0*Q1Rt$x$^_nIF><O9wd%qT8p0pI*!1Y*Oq9}BXc zxoxmnN)!<N5rs|B0kGgZ1eW3P4TOuEqJv=jo1%l^2|0)2H+w%!_I?;)XUp`c@dNGa zy;%#)?w_KiGR{XEXKCA!oG#T+K1mCV0f-TL6h;9VF9Q3g$098A{;Av#({}%KG!m7J z#puWTVR|e8^_eh>Jwx|pFmqt8hM}Jvl#s)8!FyvOmm~Np7{cZW<Tyg)&KT$AD2CUZ zl2OPfILh9Tx+^*cNzAV3A(f!P?tKajdA{7-;`FfsrW%Iv3@3(hc6WzMa;_q1xbLUj zH66#CW!Ln0xNv%#Z4x}aEoBv*+9v=IamM-yJ_i@Ic$G=`B|||-)N7T)A9BXyx2*fv zP-!m|Cc~ecklKtbmBNN@$d)><@qho+YwhQSG34o49%9i5l>7hkoiazE(N(YM8Z?9o z$PF$PFnddlzpKwVKi}}++s?O}Z@gI#a3!K@)zJWAl>9v2J@cX(A;TLmgFPK#oWV|J zoZRWc5OYh7#9_`^jS%mani@F0Y3G@62IT?IU^)&1oOa$|r=3LY%PloG$c%FeQm317 z%4pN}mKuK)<}Ec-nX}Z0BQNHYXZZmfe-Ust0w4!C%~<EaYQ46GIRJ7lEX-M_!*Wut ztzi@p=fT39^?c*I0G1gyzW^8KtTSNybJh#t!Hq!p%?k33LZ?jK*6@ee{)qIB=z@i0 zcUF>4oDQf__5JL%HE6%gbGOG3t7^x)wZJ>Iz=Rga`ID-Q|ML^k1$ea`4g!IR=t6ii zPel6-L5j8$(M3p9axuoKN~1MMB=UZY53`ZiyAQ7LHZ0=J{jQL~qaHPpWOhVK@0~;7 zZPgp({0Xm-Gq@N(RCkEU=V;Ilh~$;rh(=DGf3gr}{@I7~PJVqjx1`N)PX&zSN-O7; zwWKKX$~w3pjVHxumBzEh2x`=UKpvSz6v$hGL;-=k#qeSXzS<{x4O}HN0T#OAvI2Qw zX-5d%T>`E{EF>b1v8eGm4qG-B8IJo3mXgGcsF{f0oeBr5%a1UdfPOo*<|2i0C&REQ zxIfP6HskF_n`!tFx6Q<<I;Y_!vn0cU4vTk<L1K=a$B{_=ei9+E*u+=_qE-_PsY5wZ zuu@#Au|jn7nUf1iH!DLw<5(HHE@6LQ+<rC6^QI6*lp<pbk{DZ#t-jyH?*;MU=q)$k z0eiw^UjMlfA*NF<hl|{`n*?*>5QNLxr5^r}vjV?meJ_rd_Ct9x{Iv>`t?Pg=*$bX9 z*=h=ty_hUawj}}eGS!=`Fj@7c`sT>TZzZZX2Ia{_glcWo4kK2!-B?>`J;k4osy1OU z^*xli<x;nLGbI7~hTKV^h+Dm}{<%C5D--Fn+6p5>R(q5uKUVC?j~%#~^-WanUR!D8 z!rpEf1X+oeeu-(@TMmR4qQj93lz+738mX_H_3@24*Wcwyd<_thunmd$`b6CuBKP&0 zNJp)s^p}*f?%ibRuQyog!iHakISs&LNO#lFj}Ykzj}@+1L}b-#)L8^!oI%5oWM8Dg z`Y@|F^h}L_<B6X52?%xgvy&nZRR_Hr?E+;Q19Eli(gV#ZGL71f*PT`=ukq~q&>G`0 z`BDm%k;GSmB>1LxoW!&si4)o-Q81p-ZAJ7B28qs*4zg;0sDf!t1pUs<l;@A|rgu)B z;L2Nxr1~}G=<sd<dsdoyo`5{r`9wKPng_}wezyOZ3tsR+4t6f9hh?}66*}WN`lVA8 z#345*d&FTnF>%w{i5vL>dOZZgl%?F|iiG$bXww|E$D=8l7gLu`-TLO~uzjU3q64P& zr&T$OxFkY1ukRU^Ng=;G{4VjsTLEJ~zO72D_gmLRH<J^oSHfhTOMerOR5ed^wZQAN zz*$;gg%&tS3*3#77q#B|gAlb8T_g_jm?^~GpHbpJp|qYD!QM+-q^;H-46~}P_mLL( zJ1y{OE$|U7@D43-sTR0E3sg%^jMY*s)dCB&K(%DUrjW8zykmgMSGWs>Hr8lM%*ni} zzc1)e)jCaRV-h|ThDrNxxKt(mrxy5EE%1+8;2!`4fB1e(92~BRoP!R-Pe1&Gx5-)< zjN%6nPDb&Aj2BS{hCtLotQr%KCHg}M#icG}KS<0rv4rbjTx4AsG)}BPOf*+qkHE1C z#eh7+V{iuL86JgSiUr29l*aOw3G{f&M-4?;QbihyS&IxJ4MIqG%)bDYbUbFiA%Z8! zhmvFoe_}!$KjAwe#35Sjr-SSKOHyNq92IBC<1FQcm_rnH4>?c31D5lXL_Odf%TmXs zZdjN;g+TC{pC*1RVw|HS3pN*{fcO<G@S2}7zGq>XW$S9V$ZLKMw$E!`15e0#9=}=n zh^%~s&w-knm5->zFq3%}pFpf?z@DcC&e8(8np0)X&x;Be0}vzo?=cEE94`WF=|8}0 zZc~?aG(Y}UP=KpUG9AdNwBZb+p9?Im_03)8CClNo<MDb@j81q9R%~o#3>U2jq#Fcj z7|a(_Jb)<hmM<_P*xO8Vcx-I!aF1UbKFmvSF$cDH5bfXFy#XFlc$b0gYf}$afCXm- zX`ctfIIbLvVQeKCzqiWc-ZErt_=10e3-^`bx6B!vQ`!y5GyM574Rt+|cCq?Z<MI5N z1aW_`Tq+asK7;Qgu!JJNmEpzV+HhStuKCR$oX55gRx9<ngja-5citqy43_}E$2jj2 z;H1a5i4jTn0Kbad+dRVIsPSJ2m8*cm-w8K`?+xFKY`-2pJ$z5N!C}GimHI0ze6#*W z=nuk)@GTM%z7?Ou%_gduQ9r}y@b7foAAUIeDD<&B7M>I?4c~*LEe1vf^7t<PgP<qE zPnyb6UCTci;$JlUFN5C7K-ppV04{c(4`KUX#cl9}obC86JLD~=v^c}#La=#amS<BW zoWb$J`D>%Q9y)wIoO!lUY%#PsVwRW&Ex$t$(S}`8xPo%nhC)BLXc#f^E$$ey7Tp5A zh}2wMFiIRoc`^BUL50y|O&LDvH8>@EV*MVTlD%ek{T`f>ZNUt}uZD2(#t5@6T0tVI z>_lEOhcl8tL?U}0t*2KjzAaDWu@tQb-2x|MSp@Q}QqR^U=Z%Wh?K0|$gL(TPj)ADX zFt^*n+%aT0`Cz`sY%0-yoQ~YIEiRNRM`y5DDJ3^V`npAIU^l*1a$Gx6Sm<taCIYGd zI68+(`_k81X)k}%EaRmRb*TJYLQ~q)FY0_mA{RHhkf@ZhEZ<3fckL0$ge6HP!Y1>- z?3nSqoTF`?f<u5-tMUMy8s#6N*QvfD-_`<awZJR1K(%VVDlNs19%bNLQVElJ#t_wJ zy%{f+s=;5<0x9sVqWFjw_&qI<Cu>z%U#kUPsRd5a0!M0rpWy+kDzifi{7?&gMGJgF z3;ekjc%K&dZ7r}-3*;!MYH)H<RKRgsAitw3iqzzb+1Ww(4m+Gy1SZc1Bg{;m`<4P# z1H%tfH4G<b6)>Em9|dzd48NTGOmH0GCz5!^TQ|i7IKGfpQ<y18g*C#V2xJv$>cfx0 zRWM6n_)RK?`5erZFbrP=QwwuB426z~Sq#IlVwjOII9dT>m^mE+t2LkFC2FALQ_zuo zTImilbO$HVJwfOmDs($kewKYEOxyAon|y{O<#U|mGgR{FnW_Al+oZ(Mj3v<=D>R3- zPcw5l4>L3mPol|=7jlLR&5Z5AI`etf!R-BcjxhO@CgpRi<a31Nlks_`%cmF#O+Pu( z&^;=N?r5PqQs{Q5{F&S7Xp_$|upD;4n%s%Vgv&6#B4@+cr5QK)z=k{)pr(RL;h77= zPEX>+FqvKk#+gcuMp|_K<6t@LErwXnOvEzx7|zT=Xe?>4i|mC^=IW0#gpMZ-KCiu0 zul;9sf+6-fScN?ye-AqnA<y(Cw18csmm~D}X!z9p0Wxq+LDac0RWNL6wm1i>eHpmI zKXHbKP=|iVVqB;xL^>g70*hhCofF|{3UPc3IVVYkH*i!)1c%U&Qz;SNn?6w@PL+sB z65+kBRT9Bo5pqtJ2=ARcMIt!ThMZF+!h1<hlL)H7f+(~^c)k2|iC~9=9JEAu-Le`U zDW^Oa$Ll{e3}snNsMi_JU;qnZLcJ$@CIgt63H2V)6a+Md%y2Lj?nqNlzV3Xy>?>^i zxiEbF>F1DE40DWUo8EjD5~35HEws!lKTS`InUkiWb&jERE-Z%ylF~L6%m#q37{{Xp zFuH<GH^j~(9hRtr#F9&Pz9Du2tfmk@iXrC<KFwSfY9>su^@`y)wVGklUMOkV!y$SN zcce)cbxg+=E`~Aqiw%Az@lobg0mD9d7K}-M3DY|s;aLQBV*~*lxR`(m4R|)eP2KGv z#mCDGnK8qXGoJ%69_OV(b1I@q<7^lffc_eokaL;P%$)<zl`y11H|Z6_n2KC(Xw4<9 z5MS|-^F_GLgXp#p0c^0jFv(@O!lauAtMH(ZGavRi$BZHM0NXL-N`xODjfKMh2oDr) z%(&3F(B0vGhW`}_Z_OWY;Az0Jv}_gDfUUw8m8PQuOa6d-R-Ru3nre>(8`*|4jDBX7 zd<o}56tsj_web>84ol8>{Df}<A8lajR4lb%^phfUr8`rOj0;wnkBuc`T81+{8>76k zrU$2dj6WI1rlCJI@0zGhUG1eHMST5gS$qilQVCd10R!1PNS-9v16fRl(N8x=PPV`8 z!p>rlfcP)fRs~smD}YHA|6Rh|aGz%WfMQ$P&UmC&RM<X0&2t4e@EVpz7<)@ug^?vI zS%s0U{9>;PB09{S%4-3OI9L10u7j(jHxiXltyjsh_-T_kR?U>lm<AOOAAx-1K7s2= zfE)iM5Auhu6awUp-T+i2e1s|Ljqvd1&*cnk8q!_|u#cLLo==U<LVPjIX)vAjMnSq2 zh4JKC;euQ%e#?42>69LTY%=`${OiJo8K^fnp17;A!)Nl`Xc6eA5s&Kyn&wVWw=Dzn zqfjf$&#+eWKqbJBbKh>hk#tYr?Op&OxFK{e2rd6igh*FBjpQus3sa#8?C}UAscg<N zId=&s?S$8B58ShGw|iR1MArTj%(VVB?%EL>6EmQ_ZI}CN_vI0PcF)@7Ubn+tyd7%$ z>Ra+m8TN<<F`#&pC&*4?hR=^TBCMBDOPdJSrm6NZM2bd6!};sya)5&5-xkY=^w__K z>&s7Lkn7vU(tV|0MSdCnOn+#2sje<V<!WcT(J@HuE&xM%Z2f0sNH5r3|JmnjtKIQj z8M;w&p+#m=>eU;*J#~>i7e~?Z=3Y1v2jtJe{Bdgd^9p_j&>MuPmh+u2E%Zh7T2<Cl zw7}yHkV7Ls4E$nNz}U~hIbQhGDf=ze*i&01HAAowomtfy4O-weTHpm*;EQNLRT;mp z1uoYDXB*(&AFaqqcA=0JOQ33l(Ex(~bvHj3M?}IWM^^FcX#$+DBNP``Fw%Tu<xFYG z3Z%hA<r@g*m-L&A<}^$~AT1;jI8*v9ghgZ?V`8?6CG#`mlIfbDAtrPW(G(N<HXN&v z1;m8D3#WJfl-r%oci@+jaLLPJ*y$>P-jx)cIyG%0Z)8P{%Fr9z%&j;zXhKQSi5kfq zC3u{5a<@sS0A~Ok0ZxOl6EEzr-h*YreWXM&qeXN~k1!Z}uHT0b`>Q{Ig>BUzGL9Eq ze2)(9nEr^4xU>>xHa~_Bfj<$Lx!}Se<${Z!BA6Fk{H#s1z2M^Kh_M%3+)p<fK&XQF z0|-Eg9)tzoL$J(@=wZ0HEBgp+e^>TVctXx&_|2Y+^*@Gz368&u*dJXXdoC7@z%>rP ziu_7WZG0KOsv+$eE$}fd@NO;ePAxE@1<um~XK8^`v_K9|ss@h%h;PWR@oLK;5ZFUm zi!if?B0?>8gsVUbK3P6thH;kY2^%%QX-D;!m^wP)H?YzO8xa{0HX^E3*yv@ZNf9<O z2}Iav9in|<qu;_qVWU?V*yLYkkZuJZ<Pfj|9KLCj56U=p)nb@T6%9GBA``PPdkwCT z^E!U_OR(s7B$z5#^acV;-ocmL3KrFLC+C1`PPRR#2ecXHzhQ8PS2Z0-|K%`qV2WYb zvFM)(v&gd<RtrN6!-`=TMn8Kj%}5wXrJ*4BHvGX@Z^FXNVLdF7bjs(0XFIbUStu@$ zSuhqNSTN#5>gh!$%^>yk-;A?TPYq0w7cLrw8O7U-NRoQu*}LH9n`n^~euvOZQcrIo z65qQGuu!LW2{lqrj1Z}(KbojN(NC$TjdY0AQ>$!~RDoaWKQq#oZF<ineV>8C0@(x? zzoLJE?SDo83J(OX@LM+Uoz9nSa*GC`CCu_VRmMkzn}#vE?GeC9XivMmEkfZ$VrL8) zR92=5!cAN%X1bYOgqwtTTiyUKTKB(>><R7|_7T^dvFk~yt#Uh}P9F<&IUwjM+wN(r zbsDg#ayco|P3(cGHBZjmlWyWT8k7X`K^)XtrJGV=?ih|0K6r)!yGBENpe`2SNjJ@8 zZh80#RMkKr-Nflc8|kJw1XH?cE|d06m(&yb@>HNhZfQQDfkGsyL|TYQk#4FZDy1yx zrJE!PrJK?bPL*ytv*XfDKSsAxeWIw@Uj<yE1<uz3&(s1>(E^8QfdjR`TrKeLcokLc z__7wbMhkpQ3%pkgR5LS{X(@Uqkt*<lRKjo;U>A5C75pz+<5^mY<Q}RTT&*~E4+^59 z_=y&{O$&Tg3w%-wyk86az80v~PDaM5svS8&QUUp4PyyMmRKRgsAip3gibnv5xqd#R zm>f=30(1SI2=jH|aFUa}Wmv#cSHbWt;LL!N&r@Oews7u8n_>Q20(bs^ZcN4?M$_ht z#IWRTz(QnRvK7JH2ITA)oEvO`wIC!GYu&-Q8UElFSS(hu3U3(o&X9uH2`k!{lG+`w zOvS~7u@7^Qsoeo^#YRhcW24)aZelDJn?+5)2Lcyydi&`p&%u>S5yP7f;R=l{nr@}S zd5mpswlc>d;)`MSrGAi+V=+Wk%E53!$uEA(qFZxHdw^tyKeL74ehl3wg$-PoW44um zN{#*2^%%$PDbU2wA0&elmM-2cku3?lC+x0l+{rMuU!DecC-Uz926C!5a+wymzySAN z_O515Qy58AH3}_auqj4IGcUpP$*N^6-nF4jvk0#?PPg)<$EvdgLF8A*V25jb?=W~h z&4-7<>2aQi!|5GR<xu7v4!@LvoM#fWYfA#X1FB1VlW=)>l`|9>mkSHk8G?9ZK7ugI zJWf%)E%apdSqfA-<}pVAsZ!vaD!9J)2z9I^k3c-EBVl3Dc@(LTCoBcxN^>Mb;!=LJ z&Cv#ZjKB;}*dT=`JPN_&2_M@g+VX@)GbS!o0=47d1AGiD!yG1ggpY-V#qv1gJ06x9 z`%Zw1%i7Pu_LsF~@PwRl{ALfbW)HHqP64t9S=(PnB(y{6JS~uHJk{VlMGNdGAGrpj zfWz@3Ft<Dd-gf4eJ;;0Ihm9ZM8W=mrOr4E6y+9~=<~Ri*B^6+2R8DE?PCQ$j^Ha{M z((xsGO$~KtqMn%mOw8E<3q)gy7#=KroSd=9cK#47_F?@O%~@DCchQ{L#WNRORyTjn zm9@q5=Pq76_sYv435tAcdU2LaGPb5R6Ov=*w${NG;qike=Xx(T<eWoF-AIMipb5?j z!~ZO=>A~+bXE!9ntVo)TV`n~0OpK_jw9{_fEWNWQ#`-(UYa*PgGa;+TCsGr&Ggg+= zPU;<Ko6B*oD8SDb@q-W81t?qo?S=kq$|J!-a*f1toDRcs(9bfkEG#E8U`5J>R{re= zv<D<1f>};J4*N)0UJ@rUVi;a-N+@MLALVn-!%tK0NJL!*vj}D;%u<+RVUB?bITx~# zMa-0C3qECMHyi2Grcki}F9xtO{I7CDkVNLd%=64uu&;&*IWtMH2Ok0-4Eq7=$7jn7 z*a)`GS$5|$WRib-FSa)0Xo$D<-CIMJ=igpxpBNjz8ph^p^CJz?XE@_oHm0H9#<AkI zPcn=co8CSj+rg~gK4{WTP0we;^p*zgng~<cCYIXw?2q7FK0FI##w17rENo50CSdj0 zJd@izEiR3@lpKs9A~wBsv33i>Q<jpigv?TME}oLe7M4!-m#-`Wv$gHy90YJdFPkr; zSt3T;!HaH&^YI=FGZtnX4Eq)&aqn@?LOwDiIMe9jEA5<%pIE40$e9NRreX6L_<nIt zj*MB6AWc3Jylqz*-~wYUgk>gbi{OeaG4)=OT5s7!TMUFz)%wS7aCsDJeF}AOmArsl zgh)v-YMe?Z7ORe74Gs(}+kQ((L4;BduusoEC)+l*JK6S9EWfYu%e9o{IuWHY<)W)? zxnvQJLe-nH-3x0t#8j?D+JJi6tKmf}U+2?aM%v_l8rpPuv}06BI~~z6him&dfu<8d zIV)AP<`0nXj~y3nRrzLAz_5F;2Z^R!-c!zTj}h!6_Vr;8C&<3?#PF31zQ#<$A%GZW zV%wJej97-*H-zn9Qi4hhhi01_QDjf8s#ovj2r<3oCRV2*7eD-#ip$p9ao$JwK;@4s zh9$~Z>jRZ{u7rp6cdlTlw0Fe$A_HeJ*A;Mixq3aU0U;*Wo0;Ngey((-KFK3vv+&P! zE?8vufW1;p%C{hO;8}XqZ}q7s;2K^Ka&ChiX_5=**)Du%ZJW{0HnR_hZI{Y!(e~kx z<1%YuvD^+<$XSWsvJn+|r6WN$!yi~I;I1qgwQ|O5dTq3IFIX+Kwf&KLS>ejsp4;o2 z^Pt|fxeSdcj1IHEG|&y|MHquI6+3U-C6tS6hlm5aOvA*nb?wA05kZW=?-K(VX!hp5 z1ZPg^#r#eGw}17>TUNAkl2?UYiTIA>+u5tO)^Cn{ygpI2MO5XA8h|G#yZceq)=1su zE#rC3I(FL1d%I`%jzE)b{pvh`%S3NL?VvK*VXN)4nI%t5u@|SebaOv$aoj)E$G7BM z|EuMnkYHWD=)T>Qn6a^?uaQo!`v>kaM}rQ5L~BUy93C_VboNDc?FmTdg7qb0wW(Wh zzA6V^LYx*M3RRhRnjPF<Mp3n@9d_HXsQs)yG&o!Z4n?LMPjG{^^as8VsT%*ew_CLp z?TP!)?e=Unvzz8;XZ4|GPzkXp*IXpN!F``~c-8DS7B&n;U-L`M1&JF6Q;=g@YU9`x z{}m3TI8T$}@?Z+HUAvb&@`EX6YVx?>36yG%CIzL9q1YK0Xcw-awgYn+dR;y*&>mWN zGle+K&M!1edqUc0LP-07`kfTgK67{dPG}AJEeeVo%T3R1y`TLl1mk}8355+05%8RQ zQg_qH5M7_o!qx4PXT1<^*<r2|2ex_T>Gz{Aupw_m#M|b6p5IKpeY$RRsn9|Tr|U^Z zh9FJvJpi;QW<EZS<X(?3`^$CE9I_mNK`yb?!;6;@NzzuSL5hJYCB(7Cg@W#hXh|tm zF~bx!T<$+sRSmnCdF|pgjBoU>6koZ4w~0qrvMyDdo8N@bf0gDSP+p}k!;$(bHLnOl z{r;U6dUz1(zdUK7zkv#2zX1N5nHD-f2%XYyS$q3Xe8(CI9shOyj=6`w(eL4xeYpyU zFYpojzIeALPDiI{^8vGk!vMrl=EuMWn}&NDRMjG1nD;MU*|+=b#8J}$njJ1WhE`e8 zaj=%;%2%YNX!d9mJjz(cw{mKDxBGTWxB4}CiK(Cb9Lm_C3BK-wwMHZRuGyo6Vy&~T zdtwGYbK9GF^aS6Q0dj6)6<s_xaS*-Yk_gci!&xGGFK2xfFm~qWud=^#z|48`u9|hx zRZHe9x^&)ES6?(|_BF3yE}-HD-K7QAYJrz)f#+#~XK8`eTHq;K;4m$4pcbgUJ^lmC zy;YC!RW0z>THt+J;5W6vrCQ(uE${**utPU;R~w>xedYH5h);#G_>F&vD!ajNwZIp& z!0&2-w`qabX@QHhz`0uB3@z|PEwEGz?4bpESJ!ituY@75M0i`UIXAZJ`>BmBm_Mt= zhWE6<XSBc{X@TF-0>7#S-lhefqy>)C0zbk$Rn_4C&;no30y(Q!Wqqd>=;_(tdpEmS zOYvMSaHJMEObgtKxw@)({-Oo`L<>}_-dm=nxL6BR>%t$crPxOc%rn5fe<QnE9OYjj z<&%HS0F@=~G(GbZF=TTcG4-xnwIyAy1uoSBA3*_BugASw;5W2DE&)|pyINp_7I*`I z5I}ktY*>dJ@9=czdb%G*-_0MO-XO(s%|9{qq-a!<$}T_@+XfpEipW1RvI;^p@6oYM zb_F0a^getPSlYzUJH-p39tp+%!Cw#>!LF-C{gr;6pZyygt6oIOO~J#Z!b_L^CgHGS z>nQF_1qcObhSmNy(%%iRg~0cV@k4Gsc8#`}@P9CzZd6XPhzcqS#6KC;7ahz*pnCs8 z2&}EJJPpXEX+J=~${`azgcX#z+6=!mJ7unJL4~Z$6@lJqU-iy^8^J99K{|f~ITUL< zsb&(<V)i1U^>3ikiD<EV$Wx9u_ji{T`iMx1VQr&>Vpt#3fup&w(DplEA@CChK48SK z3{u3fb|RQ!Sf93uwqjVj7!#LbgW7KR0RIe@5yK*Rgztd`F|3>;#212Pc1|3)D25e= z?TcYW;0ZZV{AR_lvSL_)g~A8u{;DyU%q<o0Wi60W!zzl8X@PfZfp=<wWD={&I8O_l zr3I4xsmgki78nB%AH9Py3OF1u0%BPG;5Em255lnG%XC!0%|#^_mt1Tf1yc#baL$(K z=Pc$_7#l{LVg6ziZqjrp3S;z<-3qTA@&_<ytB<Vh;euY;J=WBsr4a}lh^$JYSkYCA zxQ#OyAA5(_d4+dokaTjc2E-E(>W|dUMW};F_&Ar)wH{0wNRWI08bJvX_L>Y5BrJoG zfH-JhYo?Hh7|dMcK*FJL#jZ9byt;J<-IkF1=k+Kptb2|1JS>Vs6tlW<w$Szb83Zpr zIzxQIL*XhpJcJ+CUR)mem=g<2v&KT<osbH^5sVUoO`eg0;!0#;d&%i=p8~_)L{<iS z8bu!1scrAFEDqYX*D<~d=42SsVmh_h!}BOM<SdFNB2lLk=P5P0m3Njn@&`mxMOx(Q z-{H{mc{rNI6M*pAcQ``KgBt-CCw-;Fw0}`XHLAh3;2Xy`kyT>*6vOOmCxhrYiy|Tm zN5Tc+bNrSa7>(@p0^NNUSqN_R@4y~N0(;BVTkPGr*t<7d{hQq}eNZ!3?sLHHwcMST zEy0hfwnPdWIJIy2Jocq|SMI<(cXA%~{Wr_L|K_rS{)nwDEh`vAdvKZD>0tN&KW{I{ zZOO+b41@qag%H5D`uOIY>mM}R%yoT52w=Tjfcr+G?zKc*uECWu)V=Rk2E_r^clajT zj2Dzr`xW$`*^MgiAohAU%2y<~S0&2KTKDjGx#LFx;a0sN`?_O@?v0<|9_Md9S`)54 zShnwT3md}7>9)#G$`2~MWe57N&GGfNdP@?xsyEYxs+9NYaC!T3qb;et<5^U0-$}vy zwp;KC$kHqL=)Dzu<JziCAePhoIDRr#qL-<JTTnq%+oSQ@5X`M<2xY`K_`9#S|D5Qm zb*AM+Dr7ugPF$wyR_~CzKu%-A({TkZyK&-l+)K+h7<-el5iNBsW<X#gdfKLEBM9Oo zEQilHflQfi>#pzZ$6>?Jik?*Lg1$PpV#n-+v$kRv6RoY-K?{;Vvl9iB-f2CgjhmO7 zYedl<ryT2ggb!WS%N$!bZo3O<b{u5`Qg_Si-|%5j&0yY90z0%-^Cd%+9}KpC#@$gR zQH*|I)Wnq~ZB%nc&(=~rT??$#0!J%>$`&e@7V4)Y+V~+x8ddL5UuOD{mSX4MbaIh4 z>+xFPaay4I>QRp8ss?{b3w%HeT&V@F&;n-|pz`hRLWO*%YfF4&hf3UOOlD354U_rz zaH*dED_Y>MwLtY!|28ef6#!x_dp3q;S(|`?dl=n@fg7EO=+v3LEc&p9IfuAk;PsLP zAOg-s0N9$-VYPB{xh^Cp_dKFk0}aIabRUf82!7lJL~oNt4LG`AfR7yA84OK`7mQsA z1xNQnghm`$Kr#rtT^n-|V>r#f7>-paG;||g0%wq0Ium}WBe|tqMA@Y?fgZPXpO?vP zxTk(Ans#E_fRR0$S!H6O%EFE+66XMwj)ls_jWln>xhN_vc`1=(q0XX%EY!>Bh)X@u z>X*ZZz_|i5EL4LO7U~xfOcv@DZK5p;bsl5ltzCjD7Ez7)2nO{lVIlcdunbF;*&%!Z zEU;7;8s8#VW-YcDF0xc>Vf!rAI(S0P68vUas#%t5E4wRuvb7Rp6nP$Y0G<Z7&kbzk zXrcNH{V!sv-ilGc;dl{XsV3lU=VWW&Oq>}mR=5yjt8t}BoaOM4Gsc$WvY#!?MGae- zVQCniE{afcCKis=okG?n4sSL&ylbZz2B%V3Y|*KbD6i?YuNmX!&@;mS7WQtFL&Apm zN)T_#B~g~1wO}bJ|6A;tkh2OH@J|P#h(V=&oCRdypWcBKhJQM+vl~#sSN$?`7ryG9 zEcvLCAuRc*R=%oNa=FF;Jk|G65grNq3eXYfOMdFR;G(*hMus;Hodg&gip)$taz1AI z`IzmaXX9y^d;9t%L(W%OL}B`U4K8Sl#&22SnUT`I$UeiLQ3WH4V8{x_?E(p0+lfOr zgUH{oEQyJI>YuZ`hwiKEa^2^JnK66MF?Uq#NSwE8cA|F%W%PwBz5}wj3Uv7%vifkG zVJ%ekgIBc@!8hK(;|%o#oZ=m3fJlB3GKL<0VS16{*M{kpNvA(&eTH+>N+ob8DlIKx z<D}sa?Zl)p$OIe0Lh-)SVJuM|eu5mHB&OX6LU}L&;^=Af{1Cc!ypu00Hic}Np$?H< z#{Dcq9(6kcIuVU>!A#IKhCAg>X+2vq#hfh}j%t}E!l@Cjq5TUF#;{hWn+p%5;Qdmn znW^F5^eYi;_!F2qV<Tju^`&&Qs?5=rw5^$m(ByQ4%*_Ys3f0xeJTevYCupU%owg!V z+jU|wo6k0<6#VNPA_sl;N+|h=LhFeI9$+wM7j#$LK8=@AHB)#*3;c-|c(VcSoxQN% zS2^6MEmDyd*i#D(Yk_~lE3bMGFKL0i*GWb3t6JcVS|GP{RasxD1%6%&RP*#W#;VHL zPYc|Rp-e?_gBJLP7Wj}B_+u^bIxX-jEwEY(oTLQ~(gJg}z|SzCs~+LMwZPZ4z^Amp z2eiP;3~=uQY*z~jPt%r|N;<%Cd=4{WGn1e0sdWf0!Z`in?7afU&fLLRdY*|qrFC2) zfMfUqg2*xaFWBIN(F=~Dgkr()Yj`OGYEf(9cfN`7+7EdVA!HoB1lwaAz6@uOarhf1 z;-Z6$LuP9khXi_z!%km@wqYo)L1w7$Z<%K%4x%iZ$U%GssB|1e)<Rk_s3(tCsK}~z zdiWl2XJ2L7)-YM!BKS2X{dsp`JH8G#f__INxsU7UAouaV>4-~X;c>kI9|C_bFvEQ` zNZ~&I0m0-xzS$<)av#?-CN5P5wYT5{{B2l<+eq>Ve+L$o&Kuvmu*}l(k8qLO_$Syt zw{aspkSE4(mfM)+HU`*fAK<-KeHFOeRsmnu0@b@Zk7+61tp(nx1tzq>|3%!!Z5Ra{ zju!!L<92xWh1+P^P4=+3<uH<~$dB`RF#M<~xQ!p72qmxOQoNFf5K>MbG<CZGWUhxH zw~HDBTKSMnDf+F#&`y`jtSqO?YB}Qfl;NJ7CN-*AhNfj;I^XJr5ww*TnLoHM1q;aw zBk#;sf)%r0W`@yU3G;avVkg2_eCn6H+#yp_xRy;JRtG}<2$<ZH#bj%-HJO-%Y=-pP zI1*%`$|v_k3uP3}V|i?iNs8FX1?{C^228=WWg)oZE2*d!F=IZY%~oZdnVK9`n_vFz z1#B8lk5~gnS$BKQR^Aj&eztqiKw$Cy9Q`6FBI|-)1{QD5k$8^0z%_8brDOWk#(_Ae zYsbQ*)2HV5x0nNcY7X+l=Qs>2=^#wRgh!3l4VL*n=fVZ`X;Pzr`ZQA`QJ<CvL_mF- zN1?k<p$A+>eHw|Rs84IBW%5Zu)Td=+e(&r1tYCf@_~q}#@{5`^DSxt>HCz4+YSs#o zHXv8r6J9iaZ=ZG_(iSyqLOWT_n&W(Y1R6g?p85d<n#?>kYXt|lH*~Pq1{v+_@a)l( zVc5fM%kljr*1pHpaI^OdGoQNL@|g=$@%<o*XujE`Ml@evzD9g0&4tELNmhj7da}M= zoex5Y=}`y6Rr2E~emH!J%a^5Yt75Gm(O$({Rjh>=T8|u|Zmm_tT7QIkxq7{D076Wz zhcE?of|*?DYTd{%^xILfHV~-;&(Whk$frISE~;2N6m}PEaoDHT(eD-n+gU`};ur!K z6pG`wY{+Z5rH7&MGW_kI3bROCRcycMwtuSFxO<RBlMRbs%CSGg-~QDjD4+cwpo(ov zV#emqQ^l511J#%DUP8=wd3-Z>p9)vhVHNJyZ8rBH8@9W5-I7tw))Q^-ZR}WeQ~_;j zo`x+B4{bK3<Q}aw8%cdl3B0`ABKCbz7RSM+osA@@z~V+SwBE@cO1eBDM{Ku|qF^QZ zS#T(G<IpyjE(;&U$zev6i!G!v1hm~kIyGXm!WI(8VJIH+w~#n}uv<t{<ThJKLba{h zv5)a!Owq7~<WY5_Gf9rSHR-CK@u5EmS^=eb5VelZ0io3U!#enYGbv0vC2h&)W-56n zZs62^8mY^3&oK(F+?Sh?CB~Hu4g7t-hXfmV{{Mqw%03e|benJXwSHl*b0G^$ja_wc z1mA-vhcjl-Qv7yc``Jju4~p+os^uL^WnUpr<yZq!2P;4ke_L{eEPvNPZ5fLaC|%li z{-4o|whOA~(ws?<-NnFWBX}L0fbq4T48sAzPV?-fVQM<fXfrSmQt?Sjw7>yc;4;h# zG{rUo`CTZ~Ji`=(ZN|wgC%l~OvK^<v*s1Z<#tHu^B|cnR;=KQq5`Pd?_Ost<flq0H z4{L!HTHx_o;L%!Oz5(v_72bbMYf){HzJY0rYGnAb7I>=`I9m&>(E=;Az+x>>tpaN! zraP*3d{Ya2MGI65fZU~}c&iq8jTWdr5mv6Hs6FV_c#xK2ffo2@%o$bB`uAGkBU+$Z zO;^2^qWWssnOceywZKtYAT+}KXUrk8+PCudK7V=yvnkc<ajzEmzexMmY;fKjGDC5A zt1sQ=@K(DUKsdy6DO30wx5yCYIjzeOipa|uNsU``>DVTGQb-?s5k5*=TmjqJfg}<F z2>?bw?n2_BsA3+xl)JF_`NWIdg$=n9A(Xqg3bv<=i}eU@RygFvhX0vX2Uqge!$JU2 z_C>IgwjLIn@LGn`oupYynyn6@D|=5^0xKx;v4CJUDMdcW!?hwG1ny1bgM20OvF-AR zZcg<%_2)b+(_Ua3kq`f2I&+XM9>z7yJ(KW<u$n3Su@tCu!XK=UJoSL^he&%k7h>v$ zhkh*p5bL;(=_%H6H60Y|SVl)&8U)Q8hYx|*3(Sah7^H}G+<;(;b==q{+KP27XG~lw z18O(H2Y5X!Bi2Fk2wwpUVjT^}cQY)*ZodUCignxy+ZXFdz=LZ@@S7Fu$cl9Y7S>s@ z4h%S%`3_`BslJ=@w7^+fAX)0FtS4!KF#sW1_$`bA4#$gtSjRo^wj<WjjocV+PBJgc z;i`f=&0(<bfK<u0o|(imdKDuX4M%!QieChd{`?Z~VOWt3igD0i3=?ul*@|z-tz}IG zjG!SQ5~Lv^3QA-q^j#1NZ>#Ce+OQUrJ=^k|j)I>Q8BRk#ZTsP38dAqGH(x4*0)kD2 z#R#QgY%R=8&z=i=alp-9K)<bMG29`i=}1(NDjc181^D4rUvhBS;c+3ki!Z!0{f&X6 zk^UH=aW8351)8&nG#2wGoR6mU@3FJBU~O3|HhPo)SXehQy#K%Uz63t1B3nOwZ+G?( zwg3WRAdNs+gc%VS5+n&x)+kZt0S+pgin2=(9q|nY(54A4h|7#9#tjr#aKROqQE*UU zp6lqFK}E%Jd1%xD6nWoQ)%W(TUXl~R|NFo9BT#+oocik2zTJDOitoA^>)9|fV5Y*% zgkh@8Sl`JIskdld#K4wi<A*mmTF2vu8Z_9nxBV#4bKqQBn>rT~y!kRKBH3r%1xXcY zj1ObMG8_rx#FxBiJjrEz=EHd7MrjOzFXhd6u7z|pWUG(+wORQ<(6G*wz%V~3mGy^l zU>Q0ReAYVp-j7rkS?3{li)u6T;Z8%pltDwkv31X9-2=bSO_`I8hvx#o<p3wqO}Q67 z4qZ2800KAxCXsH6+n9pc&`r4y;bBg3KOV*e@d3?$P(L2RLr*duh7GzYDn%aMl;tW# zN;hQ#5FXu>h=h%<ghyc0x+xSAqnolkdCoja35Tq;(;oq_%_Pbh_73_M#4O~@<Dif; zo5=hqA3u@fYoE~kC-vhgJao=H4O;;ZiBg%PY*B58<tkk&f1Ux(lRptT&$@CpQ_gZ% z&cm?9%86cmNIjM3=v680G)dN53zTnOa3k;{Bk&9(Fh4tDi;IB1*pJ%f0Q;@yUC%Gk z^JAI#;Ygrt5zoN{m-)R+^m3Iq{-~zOdUC75H8f4OfE&>?iPWjB;OM-6g+4l=v(ur{ z78~VyG)?{j-yThqi1cl)^j9hUI#)Vv^`z-FqL;^}=`nKS()2pGku*i>!FF(Tns(3! zHl#+<L|Y@$^jG-yq$wi(KV0c=z}6M3i#PG~*S2&9#FG$jZ@1eM^e7m1!R#g-wMpXh zVUkripY;}lQd%%?!{)Qz!SBH1>#_^k0+ak5n)XNnEtrQ;5%DFj%_#k;vC$V2a%4@W z1#^CqM1XzR)A3Th>0lvw_7L|0sSdU4tSr1(5qY099XG=*$sf{DGj&V#K7a0#M-hY2 zn4Mw#Z|og}Nk8|W3z^P0;9?G0;i{dH>j$$zc{VRQsJs%Q76Qcz8T&z-XVxWCEl6?0 zf@%S4xC)C^Tj_2TQ(RM0o-^^1$=a0R#2eZroUJQaYzj)&IA!_v<+44x`Y72_9g|6} z?EG*sHC0U66SZuuED|ciEpyWp2b;cUC<`u{Q{m;45~Sr{Q1sHd>&+L=0~?<&54y6v z`NH{ROui`X2^~*qzKnBaA9_5SyRy9T<h=3F<M|{$#UHNx<b`KimN%XY<Kv0+pm{f{ zo*nJVMt&}$f404!SMG1&i+6mQmpJiM@shT!tGu#8PP}S<maL%(WnELRtYj*3KFGpZ z3rYKzPXeAiSf%2P&giCk!}=y%ycz(Vb&iVPZQyM3bblTVFdSYwOiA9^__jI1jUVb# zM2e#k7rDF;$DpoL@kOtaur4Lb8(tb!U*5b6cej4Hd2^o%3(8dq>j(1YApriL<jo*A ze#o0hTZqq_N9xU+WMjprSinaT5iZ^Y5vrZ3Bzp>3ovNEm#5z}mx9fYl-t0>zYmzGq zNqtU72T6qm9mt=RNDf@c5YP!LK{CnwV5<{qNY;{~l7B{5^*BB_Hk^gOu+E|rfxNBE z8tMeT3X69J;vga#cRP|eN0ka=1^mw_yA|Mo4JYb(Z~h-loSOef4+c3@n@0hVqGCv; zBN+RGm$`gJR1Px|rUb@$<>Y(`OQ<N=5j}+HMewIs8;XE`mjeGR1>PkEuGYYxl@UXv zfn-X7J}GcF)(xVp-6{oc*1!fc;?VWZHb|p1R0=#%3T!6@2Bg66GK2;3u@v~66nL)` z_$MhaECrq`1&)>ihf0AbN`dX9z<?C^BW4MrM)!^s_`DRz5nU8C7rP?h8Y%EnDexRA zaJ&>)Bn1{qfm~yYvL{0dOpyZLmuka5B?aCk1+JC?#h0EhmP$NZ3LGv44w3@%rNAaq z;P+T<i)zo8Qs6EraI+M+MhaXe1ul{T7f6ApOM#JX7Mz-v!te_yzi4v0ItGT*RZd?k zSM`-j>>&k4_DeJz^fv)vrT9z=+$jY<B?aCk1+JC?uag32OM&C1z~NHh;orr<9jT%Y z;3vFb5COlF0>6*~w@85xOM$gg;7wBC)l%SeDe$*a;3z3@h!iN^D3U3axF0XAM74+K z4vT=hr9koR>-S3~-YEs%ECq^pl<>8pD0{|9fu~A=+}bP(dXN;@R|@PQ1*S`Z;wy_j z)SECG9yH&T0=G+n>!m>P$*MI{iHoJcv!%e3rNBW_U`Hviu_voG{KDv$KFRV!pRlRD zAO(ugS-n6iagr1`P6|9t3KSplda_jF228m{ecSC);2)(xekBzJ9hL%@NP)ax6WYq> z_JjtLQY;&1&%s8U<zQo@&3RyRqs=rtu@i$Nw$~^wbm7hi$?Y``>H^Z-O*0*q6+E|H z3pRGsP&X^dZW>c1a3+L6C2$rVhDzXU&7VU)?UCIyTM*+&I_82~(@mwx2%4&HNrE=@ zG%wUa%%k*=^6?YVMy%5O`Q+1XY~)c{coDcYy#_77qhK&Hpw!|e$kq&knZ4Y|!@PAi z@(`#u@>q4bU{@5`E38iNSfsY8xVvlyg5|wagEG`T_ZLGzqFpw+EInIn)LE*xF$czS zj}61+eZRa)DgK|8*CZt+7w0|w9yq`+#RFS%7BVny$x(6TmYmDTS*VhRvif&W+;gK~ zdP|N*sx3K-z~+{m%j2A#EjiV2u`)291Zpwu++?JrLiiFeuoGt~9-ywkL#ysx2^)9f zgz$8C;w%G!8&U8(FlVr@usO0T$)8fY+8wzcA^uuWUbo55?dom>{pqe{IPWNMpWy*Q z?w9MMiR0y_9bwtjl2lY7$o=Hk8GN4g)0YAwx^CHtuua2xE*6PMal`2YB35@wi}!lz zEAxU=S9C-MP%84>iFEWjQT5qP)HiiRS&4w{q`;pLA(6zdrNG@%;9sP`XQV)CG>8&& zqZD|p6c~~Mr%Qp8rNGfr;1DS=2q3rDpjD_&z`MN$JY0K!R94%xLZD8CDS<f|rW}TI zI`VOmd3);?VEg%Q^xqV;ZV3AR#OI&>7|<8m*8t>n(6>@%sy#HTZ8|kH_^ys}N5W7x z>7g)m^K0KLV0C=oM&E%!wRi+iC=KFrA#W#6q~4iuHm?sN3aaI2=x*(H`sorpA=o9V zh^##*#r8Yk?6=2j?42Me;Vv?3TQe`2;FDm6!Bj+OxT?rABlyCRFB+ZaxQHA5<-;UP zsL#3^VzjRDTG+5<1HS{U6H*HC4l>!F?qs3cT9s*ZEp0}jDDR=b@%A{Y13FPZ(}-&m z*MnKW^;D^Sp*_#8DzYyx%IcuXfIB~!EGE+_TPB5NU@x{uSZgS7iM_PQzQVrJ4i(wU zitKQaUBj{UUb<anUtPqJm|;0Zbsrsu7GblIz0$r8&IPX{^tj^U&er=0z23gTzR|wb zuC;Hsmm=7ka9HhXdx^z}W0-mX4-8We5_*>%vae7M_LUe+AJR?_(`h|M)eW@VZ$E5r zw7%>L>n8gNodgcB8|nCzz1hA!H_K-|qP;#!rn<Q5G1xfxJ&vb4_-z8=v!1~3z;^Fi zh51Njl0RK8?(ozMu*fYy`l6zAFe2j^E`o~SbO{DfSjL#4FS5o++L2P?M^YY+pe3|% z2DdN5eK9-2o!y8kPKnza&f)Op92dtyY?DW2H8cjga!U9DTw`=%^}+E~c6h;o>Vv~` z7k}<^gkwzOXcq3v>JSc;P)N)Wt8PcPbC=u=PvQM$s#yQMibgtB?p^JS0_&c4uq4FI zLKQZyg{p$~;;5LgT@ZUk+#RK65b>~ZUw#E}!EBl8qN!x!a5ooj=n70=Xr2O#Mhg=b zW^j1n9&^qz5ll5_nM$vT=PbIgi&Z45A{x-K`RPV=h7Lumw#LRqpG-KfdjuU3th^)> z9PKNf<z(x#(LZ_43X|PBbT?|9XxP0)3OxMRO;<>RE|&req`<aPU_c7ojYcKP@U2qd zW+`xk6nL8yxKawdL<*cK1&)>idr5)f=`=M|MMe0H6!@AHxJe4UPYS$43cN)MTqOn0 zkpjm`f&HXFj-#R?><%F2VDDpqusE&oOsD@7q`O<4bE<wm%$Tv4^S}J|o~*X1oJMlE z<n+>+a*_w9WV6S9{{B8a;l^}(&`!uK;LS?7(A5486SdmZ3*mn@3|Ar(VMw0`<Fg31 zO7U(#t3wNh#*j*2I2(kMq8S?o%}FiCP-4np$R~y)_b3?pb7qd5>9s)|yfeM4;O^Zr z%#EKPLO^8WXR?G3f;XCEsmFY97p16~+sCj4d#U6Hdqt=CPS9n1?e+;Ue(NLG&!@0) zp1+&?pTCbVS^Rz0XADa1Bm5_9KI?P*4opAVSI8Mul0SEDpS$EsKyW7|b*meDTc|sS z$b$@Z9P&}H#Lgj{{TZ0iaQfNjV4v^xd=ryLcNd;_Ci4p`s^jfQn^9<IPL4XuLM}&G z*<6j|L)R~Di8?B3(d!Vd2)J4bTqy<4lL9Z$z=pH!m;TDa7>F|K*8rlQ{2mQLH%R@S zoXr*Q$^Qj58|+>@@p_b`^#OmB1A32rAn<;GFUR-88d>E22y5gu@fxCk;18QS7pD~M zEKUiGocENp+ZDe%R$UC&u|Gj-qIbut!x`s!cdXOG9vH7MQdBQ&uWseD4uXR<YDzEl zcG!o9dOLi8a=Cc5$XTdTguc%P1*TuY^xI*LRBwj^VDs&8YMit4b~p_#&fDR1+SS`( zN`>$YJh1G})KnH8x|_|0jSJ))JlzFy6A(Tt7r#f|4s)iE_=WP3x5LTw@{YV6Mx}8k zS{(B@+2WYTiB{#R|M|DW`Doe}I|0vhwj)UWcDN<q0y~p5&IP@5#8S}Yab!S0re2~l zc@;3kIYav?5uW=-xfA5ay-|+56TTW?r!OyHJW}xz`b)fqX18xntJ65S<=lZ09Obc- zw*Eo9F^TRBaRpm2Ilv@Zz16Nzvu~CJONLJ;+7*6IdYL%Nr3;T%V!X3DWK;Z57^cga zQzv`VN^DWq^46X4q;UG7IOdr*FKK6RjEFNeV*WZ2Lt@;Q(6sY~wUgJJmp_1HdFSQV zz&&<e-VM>$^YYyKa!xQe?@mc-Zr%en%*{74c+cG230}?3djjLP3SB?FVB_5UIPz=r zoCQ&$ckoW`vnn}RPJBL0eQEGny&0UEpZ9^yXZ;Gl12eby3Y)-dl0VP<d@&OAGw0{w zWY?AVh0Jh3&Dv+<wd@JiKk>Ef>;u(5;k7ImcY0=z-L#z0drr>i2r_oy(Kp?PheA+B z^*#z3dZ2nA1ieeY&jr(p0`sbBP7m&_{vum{KJBwLR2cr}!BYdj@Jv4vv)Fq|<_&cg zE&*0x?`vVKRdht1C?4b++0O>W+_CQ5p{}+{il(A0MG<g{1~xp)KICi9&y+^#dt{O* z?ypFJ8>PT|rNBF-z(rEv6b)>+ApU<_?v$W^(S4j=?yv{Ma;Fq*E_cf4+=V~nKr=`= zV7W5{q+g9JilxRSjj7WZ9L`%#3>QQv!LkB^@zrlAtlkCD$)HvETo5sEXAmVYvLLE= zz!WcvRNu};(Qrskv?x+Ny?0Th6lys7>eL+z8$RZZAY&n#gUT1=)kw`Br5_b|s5R0s zTDV3!g_eaXkyyr@3JT283Z~ac8mZPum0)v?bXuIVvqm}{F3uWh4DD)-M5z$|TRgBv z`ZrCD#X}Ew<6z?&X*{0p8tDuWKI?b*J+emXgPIpRR5|_r5e*v7{y3vE7Xe4sNXQaS zloMyqWVnb1!qHM7XO1F?K>+b8YX+LO#ZJJpMw$r{Yb0p9<nr@5qn}9Ig;O2!IiN9l zoY0cygqHpytDb9Nbvo?XlpGi|2an+B(hBtopGyYLk4s=!d02@kg5pQO(0v>XmkeAH zRlqp&W7@fzVH9fvPDClmS%Bamb_C|H&EV)e4dz0a86G?7d>Ek6(_M%My4HDkpx3U# z17inXca01Nqi^S#B4+{e8ajD?7?@9}tG06ys9=xa=wOd{Uuxa30038U=VB0CG+aVv zZ3iaK$rLBSq+|1&nZ$hOlNrRkCoUhx$qHw^MVgC@SQ(?hbIJ^Qo``^6SX>GlG(GV< zFfcl$FcYvOe|ljN-cPljf)KPC^O^yv)Em`uK&y~sgLkmXfAH*p^Rk?U#3E(P5;qRk zAyHKpe-A@)SmzfpnNT&d=lEBEgBeFPI0f%nTs~_(Ba2nko{u4!bpWF#5qK=tk0p4Z zek{cU8cEhiUGb#O(JV5O=p0>6H%I5l+bFJ}gQ0V@12OTgcvXetwB$-cmClj%Pll=W zg)TwyD19LnJf{;O;#_^9WuOrEFqvv)yBszS^)-09L;VU6KI<y{4s8G4;nx?^-)bV7 zv3}&bM>94w1`0!+!AqbpGz58}M_DKgbt49PHGNr+9X%l^4E3eF5#OrQ`3Arqr!b_1 z$14ndf!6B|;jC}rzO0v#vkqBlJ+X8YhStK9t1#pwiw!mQI~5k$j&N!Wv8{QRhEdfV zykk{?M>K}m*?YBX93gq^9-|sVv9NGo_5v<=f(D1teiMs}XberHb2@%JN!3E|eXWlY z5~DFRm0)T)vp@BIXY-^eqS&J%LB*aKgvMm38`U{Fl=w>@DKN3dkn)mDaID7Asg2hd zT8C;U>U`Enf%Bz6@r^{MN+pW7Ty>U8Y%c|-NrC@Fs}f~6Zx0s%pO*q3kpgd*0#`|a zmr8-Nr9koCsoqkFg;L-_G-FZ8?2`iPq`=puz$c`@`=!7;rNCRI!0V;Jxl$kp22sgy zHYNg!=Uf~?L=w9Lh{@RoOhD9B#j_yU2%cV$<ZztiM7A7;lUq(+IT_%y5~iMo$Vxan z3z0`DF)-*cJg^W^vps7hW*7e2tl5A~ggF<6BORr4@h}VKBAA&l`7rQ``4S~y!u2>F z*6);nj6?#e046^lMtj_(JwAa4=4Magkzl34D95feo+8v;X*>-ocBSF?QY(#T0B~0t z&w}7eV>6kx?GMLFqcMengYyxvUST{Bo6mXyzyAkU7%wxK#tLIAI7wC*EPGS|BJg-c zKmLLTRv6pxFjg3kkdb7Cv4w8V3d395U!_C6D-2a-xWagi(Bvx&6+BlMuM_94Ft&q2 z+;@<vRv3SUjVp}*z|&n}ya58o-{bel3PYc!9y1|6vclL)4S(mT^&=|`bpMsBj;t_{ z4X42*eob^_g;8(z99d!1n>}@K6-`f%tT5`$$NxnujD47ZsHuu)g|Qzzy~1chRW7b3 zN?@Gr0bE&d9pFrM`L>U4r1|=teu7Q)&fn``ca|AHQfz=<Qd$t=EKr<93Pn2FRTZ#v zK2A6Cyl&((7zRf<1^G6nRepXBUj@<$?I$-hrQ6on(CSNE!C1V<(IIkm>V%kboRhvB z#*3Xa<H@XJ=(IB(T&Quu<|x9GR$1oLB5wfgh_sYQ^;JKsZ5A_{Im4$TjUS7cOALWh zolpn);kDq5)_99w+ln4$!c2pi7kN&^b9%&nN#sckS9<v{6g&%NE(}+G7sAjlveh-v zTt+C?)&O<iMrFpvk2F)y6w*E(hH)&i4nj&+hh~f{8BStI^IMgZ7`j!!)K}YztOH6| z)5ZvM>Y2AL6<Ke0MPiOqiRqBZwKZQcGkiwgDK5s%35u934JFJeX+mgcvYfKf&<sAv zX3Dt5iS|+$!bsEIdbb;X)*#X96N<%UhBY+@KRh@k5+0+&Xi*ST!$#_aMWGY~?Z+SB zx5CwrXT0gjDG2KxAEe%kA8I{T`+@Z_78O4BU=@Bg0^*rXsw|XBBy9|WrQ(#7^M#RU zZ%&mejhEW&^T3}9!y3n>KmE>tA@9P7nTV(Jp224|L(R(S(9)|c$Y^*2WpbEi784`l zM1mOdnX$uR7-70G(nS@SPU$&mAdDgy6b<1Nm(?MSxtOT?Q^myd5-M_7(DY4d43vR8 zh2i8k-Iz0UXGO{CkV}$QLg-8}Y$r4n;jN)g$4eaXMHTAeb!LZ?C9#pLut&j_Lg}JQ zlIfy&a_n~2#Z6K6w{>G0VspeOL7*9LZ(3M8YMb$^Llw+4n8`2~z%;&`+Z~4(v|^l? z=T5dTsmunJ2ScZulOnp&Fg;HCoow{VV76Iz_rQ-2VOX_3_B@v`)xYP@r8)T7+XSJf zI-xTphC-SlRHQf5%;NKo{+J5pG-JqAIC<x`yNfV@6j|@2B8a%^=p>gym;@(FDpFaT zOfc&-tDKW)OQ~F4ibO#{xGoQmPSG#zHv*{Mno&Eg6EXs?%eq-MEO<vzKw7<{2*MUD zEZ9rmg)zSQDx@>q{mPrh9}BwRhfMseZ-t++Sq!Bhm}Ymjk1a65?7}c`J*3t4DAfG6 z>5Mfqn5l7EESn%{79XP34PNjlq)!#Q?hI`@!YFu%q0tr-8spdlD8KToef0$0HO*)B zBHypyv>gY#61<HzR0;U&4coxdGg=q2wk7#fU-qwDvNd<fR%DU;v91~5TGco1W2U2$ zi&UpL`mO<f!_x}C;aI)d+{N=ek^>##Emmd{joaMCCwhH$OX!pJFhQ7^UY~qD9UEq7 z%v0g=r$Xg-B)xiSTgzyM1QLsQF&r3>IQ;7x_Pjk@zCBdFR^JDdAPK*1Sj75p`T9`# zW_|WW0ugN*7V%EF{GCwwgZgWD0ug^}(O@n-t`Evc;JLP8&s+32^8}vHZ`kw3aQVhi z`A+@$JAsHE4U2d`92k?h2)}LKV9Ixe%Xfv!w}k^7ITD2bXu~3Qhs$?|%HIg*OrVJP zvs4y9gt`Rm=)^%xfcvxTcXq?1=yo`f(0E0Net^2D5bje7bS5xf1;2$G?e^T@TRfGp zDirfHSa?TTIkYg~eTE|Ught?+M2?!9+LIAI3{9U@k|19mL;s@tn)c!1DtJ=TFIM9A zzFhV#Ea-j~Dw_9fYPwNDjPnMe6M(9wW6U7BsvvZN7=)%96~qr1nPO6bAP#FPR=YuD zJ6EV72o=k0=8hn*&vHdzW5yDux@t?f{Bd>Foe~6hk)U?2AQYO;QMA0nnxjwW#^or2 zIIKB(mK%hdqX?o=Ioi<`;pXVhaQWusIhq$j7EcNF<QilXE7}x0r#Bx1bB@Pjewu2P zpJz@9DR%W|U2BE~UM~5eS2{|o^kAsu;FLbf^E_)?21l(DJ6!%^s3eUeNJ$oZ@RHnc z`TL=g7VMBpTC-0nX&26`f%I@`vnkd6$IlB)38jB-hlU?W+A1qBX>{weF5t~>n@5wG z&FDCd9!=&CsDh1b_<M3ZLFk5$Abw5(yHk~Gn8v^={KgLP;pZd0>S$~-YF@pcn~X*u zsNRoFMl;-apa^fGgsOVVFR+@3_=!yqR|>W$^+^<ioZILVy?UesnxX_oCoh4WDo2%{ z_#IYT;OL~f_)f}ASZy81m@VOj=(5)_S|~VC6F<Mc@GIT$gW=-)RQL~3F2{pAI3AS0 zLEXIawV|>v!sXjSWf<BX43*)!PSv`C!Z_@~Bsd&Mk_Ye5F%tMA6j+YHF$F;2m<T}y zO$F5kE?N;47QBT@wbe7xkDmW3F?++OqFL<?k43ZE8=j43wKu!~&1!FWa0?Fdw6x|> zOiQ~^`F75lM<PO@G4F>a><m@y3gK|BoJ|OZqo%mfn?OWNv%`sEk)amNZVv?>TC;l) z3mP{F-RuxVwAo>rh#(GWysdPDK#O{s@~V(is0Di?g(4khnz(}8VFq)wXm*?$lN~&K zI1+?(`te{!Ty`LcXm%ikL(UF22zQu45UO^f8HpNWORtFM7^SMlig=4Xb~2^gXW-~o z3f<lB3g@Vd9>E#XU}kL2490fE9=2&6{n$)SHgTN-@%2qyhr#_>7T#`zQ2)fW0MIDv zc_-4Gn(E4oc&pM=@us+Nj;hS{#ao@Cm!MNOZkqlxWmWBRuX0rdD6Pr!)8aCCx3?yr zu4=Bz;4)4@&-Np*#$|FF1W{imAHb^^VJ5!~sGG^r)j|BIw}CPlR~PM^)uUGnx=7Fy z>LS=19`!BMww)46UXygOLQQ%rGd<ymj%a<hp04Qd2Oogo@GxHp;>&;hyf}=WnY<qr zFQSy)G@_#Xsw&6b$$KMs<DO$275Q!e@}DcFjzZPFN#{zB1LZ`xc!!prq<tfn5z$vh zMdvQ*kKMsZSACO#ROR|6MaP%HP*3oIcY*QFeVpPrUM=4KQ$=oPIOhXcoWqkork#T| zI%qWP&lHLAdY2lnzf>gVwC{(?(B*usNW3W69x8hyl1R>5C997+P)~F|VOaPMp2Ahz z(V7O+rmMQNHJ!!Qk*qH}*$u`WG`4&Dvax6<g1#(SpYSCn5KgZX>2kK$H(>0ECQsU3 zUWFj)YsvHA{wzNUx~=Y6W+HaSho%SpH85(HcQCI<I+SZ(`Tlu(UTdXll$N{XLv%FD zO7|7D%Dv)kSe<&iBOKTV5#Fj38iVOtXU0Ch&ixB7cN+||oer}qO@%if^Wp=Lwk^{> zW<`^F!gZ=_4^?G->=>(1fJr)a=Z!#Qu-Y9SwJS6NV}Ks3cB)FNdg>ksTT)ATxrh_H z;y@(y#*Nk=(O0r*E7jSxe6)fL5NHDF%;m;4fe^ze&f#y>HcxM(=epjkRvWO?IRl6K zBe{rK7=}<(n^8h}>ON>CG^ykS4wlQ)HkWMM#0@vfi`t^D9-Bz3<g+}X`pG*|;OkQ0 z!&2bQQs7lm;001(g%sFd3Or5<%#s4X!wN}O)>7c#q`+6Cz$c`@hor!jQs8A$U~eg~ zod#B-lPrfB2~z@dI?ON__e<_*b&f^`KPVE%PtSbPA8}<cJtL;_y4UeJKvatNOMxq- zzy(s^c~an5Dex32u)7qPCk19mf&1{qK~yq(q`+-b-~&?NO;TV;3Y;nho+1SfmIC`o zft{p4el!vlVVV^9Q!}B&ol@XaQsB)};Q3PEL@BUX3e1%PZ7J|kti?n{_@ETHQVP66 z3S1xs&eFh2^!|r$1Q{m{z5g!}dUt8)xxYl{0cq&F@O?~Fjb4-j@0S8^kpfppflH*o ziBjMQDR7_^*jftoNrB(tQ=q5_Kb8XD*TBQu9AA=#e$Ouv`Wk8I|1JfdB?S(X0*j@< zo>E{?3QUm#KgtnSwpXRV7p1^8Qs6QvaFG-^K?*!s3hXBZc98-*NP+wDQA^Zc?2-cC zkOE(n0-uxuZ;%2PNr7{vzzQj_zZBS23Tz_<=1PH|<HNS7QoJbz{#goqL<(Fl1zsry z&XfYbz=v*8_Pi|x?vMgEN`W^>fs3TT@lxRFQebZ>u!R(OAVXL(f0F{=kOHZiAgUBA zrNB$2z;mR)QYo;96qqjs{)n$8qU_lv1^!(Md`=2{ND9173cOJYoF@gIDFs$YfrF&L zzEWT_DR4hN?xIpOxU^W=eB$)!vnHQ4YyQ-^=S-h<(OFX`FSuR%<-28W);JC36qu1P zV_^8cS-nqQb-5HcT?(8a1rCq`3#7odQsDQ{^$@kUol@X-DR8qC_?Q&9QVLus1<sHH zCrE*(OM$(mz_wCgmK6ADKv*euNP%0Vz&oVC6;j}3Qs7J}aH<qoA_aDr0^3P}SyG@S z1^yixIHI0nixl{{6u4Fjyj2SPy%acA3LGZ|4wnK;q`<Zs*x>Nks86Xm($K$#%93Po zZdB->YM~8}+Am3gcS(U)NP&~3z#&o~wZBA7EKLgh2zpN<i7!fl;&Y6ykV>2^1rC=2 zkCg(&rw&p1OO}sP;2J4#krX&V3LGK@=1YOp=M!ZQbyY>cm!-hlrN9~~aGDfI9Tibx z21tRw1`wxb=J&>4Z|)`c+b7|0bG&bg@H)bwCaB%H6Q1t&wQAdXFfEuJ^x=^E+@QsO zxf$3s4|pPHyA5{GCva<xdmw`e_^rV2oPeJP{;>)8Ey3@SfZqcAt_k?f!S9xU-wgah z@YN9rW-6No1GxUAdjd~Q;i(5bHAe=So^n+N`It356ZmWbpS=?BbHG0?0Y4l3-U;|w z;P*+u&jkNh3HTY{|2hFb9sJ`H@YBHWn}DAR{s{^A0r2}J;QPVvpMY<JKfvI(#95KQ zF*q&283>Nm%9G2@!7MUh&A=%pjHlB$h0!!<we(qo3?OPPcqbC-Ew@OCAwq)<coWDi zF*rHklp35YaLNo$COAV3P6jyT1}7bylMGH8I42vNRB(nGoB%k(3=Z%18E$ZFa7Gv$ z3!IVQ7`fvMW(Iw@eP~p?Lxyswh<8X=4yVLBq$!6};~j8mA;K6P?+{Q9mGKUK<#1ZO zgRLA+k9V+?!<cvnpK|zZyhDm|_%}MFx%Da)Cu)o(E7fHMz#2zZz-9Tt8c!Avb<#D> z2I~y4y3WJpM|j%poEoTmN(<F$0=@7+9LK3C%H&KkJN1e(vsLXpi?VRr)!CF)r+d&k z)nV#uqf{4Jr+dme)iJ6go*c<K(3Zihpb!1;M25lRq+*>>$U)UbP13=rj<inon@XJS zDeIhv>L1lPF{(4H(|sS0mNEr538taLoXk*pwo<Gkd($aSl#~rARGnd+?)&OgSC_zV zmJ&SG^-CN4vIErdRb5`4?)mC;M^~r&wL0C6)#+ZVPIppux=*T8U69UL)%Db=9!N9T z^B@e>0kQB@9|MN!YFeUB=-#DHbtvGgt^(JUX>Y1isM9?`oo@bhy3N<=hF+&zcb#t1 zb-Eqbsm805q#CU^8?9gf-PbuxGs{%j5U#>yF+Qp_^B62kHD7fqmTIr+kSx_edGCjA zk!zSF)dbavTB^-uQi^J18MLWZl}?*#M(PAG)oxhwy1A%`u$6SZ(r2BEr@Eo-JXls> znt>_BH1gE>b3FIPIlAq9aQg?;i8=joG~N29mAQU@_df#BG$rLd`)fPhztjI>V0h|# zshL@CWo^p&F{f>_{>_`W$Z9#h<uQ3jw|cGBH?5y-^P8idKB}PYH*F`k%WGfUescTE z+h2IJ{}_L#$2#robXh^u&Tn<DK6XTxi@RiZy}#?YZtr)S-D5=0HND<CZtrpJdk^Y8 z;rNMt7o2c>zX$q%(*L`GUln~@ymruiC%!ZIx|05-`%1%QU530qr1GTSpS)-2q~ZS< z^@oaSl}}bK8uQth@VGC={bqdgGZ&s&cjhf;%{{wpVv9)|COtd3=af^X%$>4!>ffej zpL6v&bEhpo|K<x?O+RDC>oeY;y=_6xA1?Vr-lA(4HNAZP<%QK-tN*@u*^*C|riW{n zXVeU>nO<}Ciq=;>dd*GObzJr4^<8c_aAW_QXRqG7de|+K*Q{8RS3BqSZ|~T$_J_6I z)?K~sfpr($^N)KL-n-%6_wKdV7px!kn9sTZ85&IK6!`qI?XMx%r-QW9afy8P5aek& zOeqZCMV}0Vl6T)xlgCAU84PiicD9{sx8Tv=Gbz&!W&~4u`m9+X`e05o8&97#2fy2R zG7uI)DVpM8%~9$FgW^>&QMZK#^*e*&1*K7Bu0egy8taDlgh8z{sIWo3)5Gg;nL%|j zs1Le(kvAIDe1qy~PyvIgDfCJyGN?8N^(ot`o1z^C^@u?&HYlDu67{#!pk6Sj#Rhej zK@}U+F$VQ&7jFo68dN`nYHm;;9qaY?ut8m8P;(5b(x8qvsINMEWo|L3fd+Lj=tb@{ zsOJspR)d;pP^TDFAA`y=sP_uI;XQ3o%MEJ2L6sX+AA|B4)R&!%5De;Wg9;hc6oV=; zsg7QmeuFB`_qwGT)VgE5ZkHO=nFiI%pi&L$lMY@fTMX((gSx<=Mi`W3P#+!bl{wd- z1{hSTL4AsSm6qH7UN)$E3~HG{jWeho2DP`HSLP=M^|C>&GN>sAHPoQG8dSibcDMD0 z_l!Y>4Qi%AonlZ0232>ISLVA0^@KrPZ%`K-RM4Ql#(5giyxwk58w~0igQ_y9T!Z=w zC%8ssK4(xh1~tH-S{c;0I5jUS<!ytSVNk;js=%PW#V)X@l%)nW%Ak%is2{LLDeCVj zg9;hcWP>U*D8E7d6+334GB+92%?35spvnx2J9(l~at-Q(=3cjl4eCaNy40X5461`c zeT5wc(eSn#)b$26%b*4u)G-G2VN<WnrwwYUK}|9!zd`*Y*DK{2gSyqA#v0VG4a#p& zA2jjGq-t?A?Mn@+(x8qps3kdGe<KVk-Jo`4dyy**iYN9&LoYU{qYdhTEH83}K}|BK z9tM?VP_IFUDjMDfgQ5;t)NO`A6&qC0pz1Qb{@ymI#|`RQgPLzpy$$MMx>x3IgW7CR z6Ag-LEYURlE6q#2WKgROYNkPz8&nsA`YP2c^Ff1JWl*OXR6m2tGpM%$UYWNU)KY_* zW>5nR%5PA+{a%^R8Psxvsx+uy8B{Zaddv38+-Ojh2G!M|Y=in31r#l#s|;#{LGepZ r6!{81Lqw?+1~ti`N(_nz0!012%vpy!^O$5%gCf+4gXZ>5Ng4d#Z&WNd diff --git a/forest/forest.lisp b/forest/forest.lisp index 4aee464..b169844 100644 --- a/forest/forest.lisp +++ b/forest/forest.lisp @@ -1,162 +1,5 @@ -;;; forest.lisp --- forest exploration story - -;; Copyright (C) 2009 David O'Toole - -;; Author: David O'Toole <dto@gnu.org> -;; Keywords: games - -;; This program is free software; you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation, either version 3 of the License, or -;; (at your option) any later version. - -;; This program is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. -;; You should have received a copy of the GNU General Public License -;; along with this program. If not, see <http://www.gnu.org/licenses/>. - -;;; Commentary - -;; See also http://dto.github.com/notebook/developers-guide.html - -;;; Packaging - -(defpackage :forest - (:documentation "Forest xe2 game.") - (:use :xe2 :common-lisp) - (:export forest)) - (in-package :forest) -(defvar *status* nil) - -;;; Turn on timing after SDL init - -(add-hook 'xe2:*initialization-hook* - #'(lambda () - (xe2:enable-timer) - (xe2:set-frame-rate 15) - (xe2:set-timer-interval 0) - (xe2:enable-held-keys 1 3))) - -;;; A map of the journey - -(defcell sanctuary-map - (name :initform "Map") - (tile :initform "tiny-map") - (description :initform "This map was given to you by Wythorn before you left town.") - (categories :initform '(:item))) - -(define-method use sanctuary-map (user) - (prog1 nil - [emote user '(((nil :image "sanctuary-map"))) :background-color ".white"])) - -(define-method step sanctuary-map (stepper) - (when [is-player stepper] - [say self "You don't need this map; you've memorized the way."])) - -;;; The World addresses of the levels in the game. - -(defun generate-level-address (n) - (ecase n - (1 (list '=forest= - :description -"You are outside of Nothbess town, heading south toward the -Monastery. It is cold and rainy." - :level n - :sequence-number (xe2:genseq) - :height *forest-height* - :width *forest-width* - :fireflies 200 - :graveyards 2 - :ruins 3 - :raining t - :tree-grain 0.5 - :tree-density 30 - :water-grain 0.2 - :water-density 0 - :water-cutoff 0.2)) - (2 (list '=forest= - :level n - :description -"The river has swelled beyond its banks with meltwaters, and flooded -an old hamlet whose name is forgotten. -It has begun to snow." - :sequence-number (xe2:genseq) - :height *forest-height* - :width *forest-width* - :fireflies 100 - :graveyards 4 - :ruins 10 - :snowing t - :tree-grain 0.2 - :tree-density 30 - :water-grain 0.2 - :water-density 90 - :water-cutoff 0.2)) - (3 (list '=passage=)) - (4 (list '=monastery=)))) - -;;; Text overlay balloons - -(defcell balloon - (categories :initform '(:drawn :actor :balloon)) - text timeout following - (stroke-color :initform ".white") - (background-color :initform ".gray40")) - -(define-method initialize balloon (&key text (stroke-color ".white") (background-color ".blue") - (style :balloon) (timeout nil) following) - (setf <text> text) - (setf <stroke-color> stroke-color) - (setf <following> following) - (setf <background-color> background-color) - (setf <style> style) - (setf <timeout> (if (floatp timeout) - ;; specify in (roughly) seconds if floating - (truncate (* 15 timeout)) - ;; leave as frames if integer - timeout))) - -(define-method follow balloon (cell) - (setf <following> cell)) - -(define-method draw balloon (x y image) - (clon:with-field-values (text style) self - (let* ((offset (ecase style - (:balloon 16) - (:flat 0))) - (x0 (+ x offset)) - (y0 (+ y offset)) - (x1 (+ x0 offset)) - (y1 (+ y0 offset)) - (margin 4) - (height (+ (* 2 margin) (apply #'+ (mapcar #'formatted-line-height text)))) - (width (+ (* 2 margin) (apply #'max (mapcar #'formatted-line-width text))))) - (draw-box x1 y1 width height - :stroke-color <stroke-color> - :color <background-color> - :destination image) - (when (eq style :balloon) - (draw-line x0 y0 x1 y1 :destination image)) - (let ((x2 (+ margin x1)) - (y2 (+ margin y1))) - (dolist (line text) - (render-formatted-line line x2 y2 :destination image) - (incf y2 (formatted-line-height line))))))) - -(define-method run balloon () - [expend-default-action-points self] - (when <following> - (multiple-value-bind (r c) [grid-coordinates <following>] - ;; follow emoter - [move-to self r c])) - (when (integerp <timeout>) - (when (minusp (decf <timeout>)) - [die self]))) - ;;; Water (defcell foam @@ -298,49 +141,6 @@ It has begun to snow." (setf <clock> *earth-rain-clock*)) (decf <clock>))) "floor")))) - -;;; Icy tundra - -(defparameter *tundra-tiles* '("tundra-1" - "tundra-2" - "tundra-3" - "tundra-4" - "tundra-5" - "tundra-6" - "floor")) - -(defparameter *tundra-light-radius* 14) - - -(defcell tundra - (tile :initform "floor") - (description :initform "This frozen surface is treacherous.") - (categories :initform '(:actor :reflective))) - -(define-method blow tundra (dark) - (let ((snow [category-at-p *world* <row> <column> :snow])) - (when snow - [update-tile snow dark]) - (if (minusp <snow-clock>) - (progn (setf <snow-clock> *snow-clock*) - (if (null snow) - (percent-of-time 3 - (setf snow (clone =snow=)) - [drop self snow]) - (percent-of-time 10 - [collect snow 1 dark]))) - (decf <snow-clock>)))) - -(define-method run tundra () - (let* ((dist [distance-to-player self])) - (setf <tile> (if (< dist *tundra-light-radius*) - (nth (truncate (/ dist 2)) *tundra-tiles*) - "floor")))) - -(defcell mountain - (tile :initform "mountain") - (description :initform "The walls of the passageway are slick with ice.") - (categories :initform '(:obstacle :opaque))) ;;; The stone wall @@ -357,201 +157,6 @@ It has begun to snow." (description :initform "I wonder whose house this was.") (tile :initform "ruin-floor")) -;;; The player - -(defparameter *arrow-tiles* '(:north "arrow-north" - :south "arrow-south" - :east "arrow-east" - :west "arrow-west")) - -(defcell arrow - (name :initform "arrow") - (speed :initform (make-stat :base 25)) - (categories :initform '(:actor)) - (clock :initform 8) - (direction :initform nil)) - -(define-method impel arrow (direction) - (assert (member direction '(:north :south :east :west))) - (setf <direction> direction)) - -(define-method run arrow () - [expend-default-action-points self] - (if (and <direction> (not (eq <direction> :here))) - (progn (setf <tile> (getf *arrow-tiles* <direction>)) - (let ((target [category-in-direction-p *world* <row> <column> <direction> :target])) - (when target - [damage target 3] - [die self]) - (if [obstacle-in-direction-p *world* <row> <column> <direction>] - [die self] - [move self <direction>])) - (setf <clock> (max 0 (decf <clock>))) - (when (zerop <clock>) - [die self]) - (when [obstacle-in-direction-p *world* <row> <column> <direction>] - (setf <clock> 0))) - [die self])) - -(define-method step arrow (stepper) - (when [is-player stepper] - (assert [is-located self]) - [say self "This arrow is still good. You add it to your quiver."] - [stat-effect stepper :arrows 1] - [die self])) - -(defcell wooden-bow - (name :initform "Wooden bow") - (categories :initform '(:item :weapon :equipment)) - (tile :initform "wooden-bow") - (attack-power :initform (make-stat :base 5)) - (attack-cost :initform (make-stat :base 6)) - (accuracy :initform (make-stat :base 90)) - (weight :initform 3000) - (equip-for :initform '(:left-hand))) - -(define-method fire wooden-bow (direction) - (if (plusp [stat-value <equipper> :arrows]) - (let ((arrow (clone =arrow=))) - [stat-effect <equipper> :arrows -1] - [drop <equipper> arrow] - [impel arrow direction] - [play-sample <equipper> "bow"]) - [say self "You are out of arrows!" :foreground ".red"])) - -(defparameter *hunger-warn* 700) - -(defparameter *hunger-warn-2* 850) - -(defparameter *hunger-max* 1000) - -(defcell player - (tile :initform "player") - (description :initform "You are an archer and initiate monk of the Sanctuary Order.") - (name :initform "Monk") - (dead :initform nil) - (hit-points :initform (make-stat :base 30 :min 0 :max 30)) - (hunger :initform (make-stat :base 0 :min 0 :max 1000)) - (hunger-damage-clock :initform 0) - (hearing-range :initform 1000) - (firing-with :initform :left-hand) - (arrows :initform (make-stat :base 20 :min 0 :max 40)) - (rations :initform (make-stat :base 5 :min 0 :max 20)) - (speed :initform (make-stat :base 10 :min 0 :max 10)) - (strength :initform (make-stat :base 15 :min 0 :max 50)) - (defense :initform (make-stat :base 15 :min 0 :max 50)) - (dexterity :initform (make-stat :base 15 :min 0 :max 30)) - (intelligence :initform (make-stat :base 13 :min 0 :max 30)) - (equipment-slots :initform '(:right-hand :left-hand)) - (max-items :initform (make-stat :base 20)) - (movement-cost :initform (make-stat :base 10)) - (stepping :initform t) - (categories :initform '(:actor :player :obstacle :target))) - -(define-method eat player () - (if (zerop [stat-value self :rations]) - [say self "You don't have any rations to eat."] - (progn - [say self "You eat a bread ration. You feel full."] - [stat-effect self :hunger -900] - [stat-effect self :rations -1]))) - -(define-method use-item player (n) - (assert (integerp n)) - (let ((object [item-at self n])) - (if object - (if [in-category object :equipment] - [equip self n] - (when [use object self] - [remove-item self object])) - [say self "There is nothing to use there."]))) - -(define-method enter player () - (let ((gateway [category-at-p *world* <row> <column> :gateway])) - (if (null gateway) - [>>say :narrator "No gateway to enter."] - [activate gateway]))) - -(define-method emote player (text &key (timeout 20) (background-color ".blue")) - (let ((balloon (clone =balloon= :text text :timeout timeout :background-color background-color)) - (other-balloon [category-at-p *world* <row> <column> :balloon])) - (when other-balloon - [die other-balloon]) - [play-sample self "talk"] - [follow balloon self] - [drop self balloon])) - -(define-method quit player () - (xe2:quit :shutdown)) - -(define-method run player () - [stat-effect self :hunger 1] - (let ((hunger [stat-value self :hunger])) - (when (= *hunger-warn* hunger) - [say self "You are getting hungry. Press E to eat a ration."]) - (when (= *hunger-warn-2* hunger) - [emote self '((("I'm very hungry.")))] - [say self "You are getting extremely hungry! Press E to eat a ration."]) - (when (= *hunger-max* hunger) - (if (minusp <hunger-damage-clock>) - (progn - [say self "You are starving! You will die if you do not eat soon."] - [say self "Press E to eat a ration."] - (setf <hunger-damage-clock> 20) - [damage self 1]) - (decf <hunger-damage-clock>)))) - (when (zerop [stat-value self :hit-points]) - [die self]) - (when (and *status* <inventory>) [update *status*])) - -(define-method restart player () - (let ((player (clone =player=))) - [destroy *universe*] - [set-player *universe* player] - [set-character *status* player] - [play *universe* - :address (generate-level-address 1)] - [loadout player])) - -(define-method damage player (points) - [say self "You take ~A hit ~A of damage." - points (if (= 1 points) "point" "points")] - (percent-of-time 70 [play-sample self (car (one-of '("unh-1" "unh-2" "unh-3")))]) - [stat-effect self :hit-points (- points)]) - -(define-method die player () - (unless <dead> - (setf <tile> "skull") - [play-sample self "death"] - [say self "You died. Press ESCAPE to try again."] - (setf <dead> t))) - -(define-method loadout player () - [make-inventory self] - [make-equipment self] - [equip self [add-item self (clone =wooden-bow=)]] - [add-item self (clone =sanctuary-map=)] - [emote self '((("I'd better get moving.")) (("The monastery is to the south.")))]) - -;;; Dandelion seeds - -(defsprite dandelion - (image :initform "dandelion") - (speed :initform (make-stat :base 10)) - (categories :initform '(:actor)) - (speed :initform (make-stat :base 10)) - (movement-cost :initform (make-stat :base 10)) - (movement-distance :initform 2) - (clock :initform 10)) - -(define-method run dandelion () - (clon:with-fields (clock) self - (if (plusp clock) - (progn - (decf clock) - [move self (car (one-of '(:southeast :east :east))) 2]) - [die self]))) - ;;; Rain and snow (defsprite raindrop @@ -605,182 +210,6 @@ It has begun to snow." (setf clock (+ 5 (random 5))))))) [move self (random-direction)])) -;;; Skeletons haunt the woods, coming from gravestones - -(defcell gravestone - (tile :initform "gravestone") - (description :initform "The epitaph is no longer legible.") - (contains-body :initform (percent-of-time 25 t)) - (categories :initform '(:obstacle :actor)) - (generated :initform nil)) - -(define-method run gravestone () - (when (and <contains-body> - (< [distance-to-player self] 10) - [line-of-sight *world* <row> <column> - [player-row *world*] - [player-column *world*]]) - (percent-of-time 40 - (when (not <generated>) - (setf <generated> t) - (let ((skeleton (clone =skeleton=))) - [drop self skeleton] - [loadout skeleton]))))) - -(defcell dagger - (name :initform "dagger") - (categories :initform '(:item :weapon :equipment)) - (tile :initform "dagger") - (attack-power :initform (make-stat :base 15)) - (attack-cost :initform (make-stat :base 6)) - (accuracy :initform (make-stat :base 90)) - (stepping :initform t) - (weight :initform 3000) - (equip-for :initform '(:left-hand :right-hand))) - -(defcell skeleton - (name :initform "Skeleton") - (description :initform "A foul spirit animates this dagger-wielding skeleton.") - (strength :initform (make-stat :base 20 :min 0 :max 50)) - (dexterity :initform (make-stat :base 20 :min 0 :max 30)) - (intelligence :initform (make-stat :base 13 :min 0 :max 30)) - (categories :initform '(:actor :target :obstacle :opaque :enemy :equipper)) - (equipment-slots :initform '(:left-hand)) - (max-items :initform (make-stat :base 3)) - (stepping :initform t) - (speed :initform (make-stat :base 1)) - (movement-cost :initform (make-stat :base 5)) - (attacking-with :initform :left-hand) - (equipment-slots :initform '(:left-hand :right-hand :belt :extension :feet)) - (max-weight :initform (make-stat :base 25)) - (max-items :initform (make-stat :base 20)) - (hit-points :initform (make-stat :base 5 :min 0 :max 5)) - (tile :initform "skeleton")) - -(define-method loadout skeleton () - [make-inventory self] - [make-equipment self] - (let ((dagger (clone =dagger=))) - [equip self [add-item self dagger]])) - -(define-method run skeleton () - (clon:with-field-values (row column) self - (let* ((world *world*) - (direction [direction-to-player *world* row column])) - (when (< [distance-to-player self] 8) - (percent-of-time 40 [play-sample self "grak"])) - (if [adjacent-to-player world row column] - (progn [say self "The skeleton stabs at you with its dagger."] - [play-sample self "groar"] - [expend-action-points self 10] - (percent-of-time 80 - [say self "You are hit!"] - [damage [get-player *world*] 7])) - (progn - [expend-action-points self 10] - (if [obstacle-in-direction-p world row column direction] - (let ((target [target-in-direction-p world row column direction])) - (if (and target (not [in-category target :enemy])) - [move self (random-direction)] - (progn (setf <direction> (random-direction)) - [>>move self direction]))) - (progn (when (< 7 (random 10)) - (setf <direction> (random-direction))) - [>>move self direction]))))))) - -(define-method die skeleton () - [play-sample self "dead"] - [parent>>die self]) - -;;; Wolves are the most difficult enemies. - -(defcell wolf - (categories :initform '(:actor :target :obstacle :opaque :enemy)) - (dexterity :initform (make-stat :base 20)) - (max-items :initform (make-stat :base 1)) - (speed :initform (make-stat :base 2)) - (chase-distance :initform 14) - (stepping :initform t) - (behavior :initform :seeking) - (clock :initform 0) - (last-direction :initform :north) - (strength :initform (make-stat :base 50)) - (movement-cost :initform (make-stat :base 10)) - (tile :initform "wolf") - (target :initform nil) - (hit-points :initform (make-stat :base 6 :min 0 :max 40)) - (description :initform -"These undead wolves will devour your flesh if they get the chance.")) - -(define-method run wolf () - (ecase <behavior> - (:seeking [seek self]) - (:fleeing [flee self]))) - -(define-method seek wolf () - (clon:with-field-values (row column) self - (when (< [distance-to-player *world* row column] <chase-distance>) - (let ((direction [direction-to-player *world* row column]) - (world *world*)) - (percent-of-time 5 [play-sample self (car (one-of '("growl-1" "growl-2")))]) - (if [adjacent-to-player world row column] - (progn - (percent-of-time 80 - [say self "The undead wolf bites you."] - [damage [get-player *world*] 4]) - (setf <clock> 6 - <behavior> :fleeing)) - (if [obstacle-in-direction-p world row column direction] - (let ((target [target-in-direction-p world row column direction])) - (if (and target (not [in-category target :enemy])) - (progn nil) - (progn (setf <direction> (random-direction)) - [>>move self direction]))) - (progn (when (< 7 (random 10)) - (setf <direction> (random-direction))) - [>>move self direction]))))))) - -(define-method damage wolf (points) - [play-sample self "bark"] - [parent>>damage self points]) - -(define-method die wolf () - [play-sample self "yelp"] - [parent>>die self]) - -(define-method flee wolf () - (decf <clock>) - ;; are we done fleeing? then begin seeking. - (if (<= <clock> 0) - (setf <behavior> :seeking) - ;; otherwise, flee - (clon:with-field-values (row column) self - (let ((player-row [player-row *world*]) - (player-column [player-column *world*])) - (labels ((neighbor (r c direction) - (multiple-value-bind (r0 c0) - (step-in-direction r c direction) - (list r0 c0))) - (all-neighbors (r c) - (let (ns) - (dolist (dir *compass-directions*) - (push (neighbor r c dir) ns)) - ns)) - (score (r c) - (distance player-column player-row c r))) - (let* ((neighbors (all-neighbors row column)) - (scores (mapcar #'(lambda (pair) - (apply #'score pair)) - neighbors)) - (farthest (apply #'max scores)) - (square (nth (position farthest scores) - neighbors))) - (destructuring-bind (r c) square - [move self (xe2:direction-to row column r c)]))))))) - -(define-method move wolf (direction) - (setf <last-direction> direction) - [parent>>move self direction]) ;;; Bodies of other adventurers @@ -1036,437 +465,3 @@ It has begun to snow." (play-sample "lutey") (play-music "nightbird" :loop t)) -;;; Monastery approach world - -(defcell hill-1 - (description :initform "This gentle slope heads down toward the Monastery.") - (tile :initform "hill-1")) - -(defcell hill-2 - (description :initform "This gentle slope heads down toward the Monastery.") - (tile :initform "hill-2")) - -(defcell hill-3 - (description :initform "This gentle slope heads down toward the Monastery.") - (tile :initform "hill-3")) - -(defcell flowers-1 - (description :initform "Gorgeous wildflowers.") - (tile :initform "flowers-1")) - -(define-prototype flowers-2 (:parent =flowers-1=) - (description :initform "Wildflowers of every description.") - (tile :initform "flowers-2") - (categories :initform '(:actor))) - -(define-method run flowers-2 () - (percent-of-time 1 - (multiple-value-bind (x y) [xy-coordinates self] - [drop-sprite self (clone =dandelion=) x y]))) - -(define-prototype monastery-gateway (:parent =gateway=) - (tile :initform "monastery-gateway") - (description :initform "The mountain pass opens here to the foothills by the Monastery.") - (sequence-number :initform (genseq)) - (address :initform (generate-level-address 4))) - -(define-method step monastery-gateway (stepper) - [say self "The mountain pass opens to the foothills by the Monastery here."] - [say self "Press ENTER to continue on."]) - -(define-prototype monastery (:parent xe2:=world=) - (height :initform *forest-height*) - (width :initform *forest-width*) - (ambient-light :initform :total) - (description :initform -"Morning has broken, and Valisade Monastery has come into view to the -south. You can hear the monks singing in the distance.") - (edge-condition :initform :block)) - -(define-method drop-hill monastery (&key (graininess 0.3) - (density 60) - distance - (cutoff 0.3)) - (clon:with-field-values (height width) self - (let ((plasma (xe2:render-plasma height width :graininess graininess)) - (plasma2 (xe2:render-plasma height width :graininess graininess)) - (value nil)) - (dotimes (i height) - (dotimes (j width) - [drop-cell self (clone =hill-3=) i j])) - (dotimes (i height) - (dotimes (j width) - (setf value (aref plasma i j)) - (when (or (null distance) - (< (distance j i row column) distance)) - (percent-of-time density - [drop-cell self (if (< cutoff value) - (clone =hill-1=) - (clone =hill-2=)) - i j :no-collisions t])))) - (dotimes (i height) - (dotimes (j width) - (setf value (aref plasma i j)) - (when (or (null distance) - (< (distance (+ j r0) (+ c0 i) row column) distance)) - (percent-of-time density - [drop-cell self (if (< cutoff value) - (clone =flowers-1=) - (clone =flowers-2=)) - i j :no-collisions t]))))))) - -(define-method generate monastery (&key (height *forest-height*) - (width *forest-width*) - sequence-number) - (setf <height> height) - (setf <width> width) - (setf <sequence-number> sequence-number) - [create-default-grid self] - [drop-hill self] - (let ((row (1+ (random 10)) ) - (column (+ 15 (random 6)))) - [drop-cell self (clone =drop-point=) row column - :exclusive t :probe t])) - -(define-method begin-ambient-loop monastery () - (play-music "rain" :loop t) - (play-sample "monks")) - -;;; Mountain passage world - -(defparameter *passage-width* 49) -(defparameter *passage-height* 100) - -(define-prototype passage (:parent xe2:=world=) - (height :initform *passage-height*) - (width :initform *passage-width*) - (ambient-light :initform *earth-light-radius*) - (description :initform "The air is oddly still in this pass between the crags.") - (edge-condition :initform :block)) - -(define-method drop-tundra passage () - (dotimes (i <height>) - (dotimes (j <width>) - [drop-cell self (clone =tundra=) i j]))) - -(define-method drop-mountains passage () - (let* ((offset 10) - (right (- <width> 17 ))) - (dotimes (i <height>) - (setf offset (min right (max 0 (incf offset (if (= 0 (random 2)) - 1 -1))))) - (labels ((drop-mountain (r c) - (prog1 nil - [drop-cell *world* (clone =mountain=) r c]))) - (trace-row #'drop-mountain i 0 (+ offset (random 4))) - (percent-of-time 10 [drop-cell self (clone =wolf=) i (+ offset (random 4))]) - (trace-row #'drop-mountain i (+ offset (random 4) 20) <width>))) - ;; drop monastery gateway - (let ((column (+ offset (random 10))) - (row (- <height> 2))) - [drop-cell self (clone =monastery-gateway=) row column]))) - -(define-method drop-trees passage (&optional &key (object =tree=) - distance - (row 0) (column 0) - (graininess 0.3) - (density 100) - (cutoff 0)) - (clon:with-field-values (height width) self - (let* ((h0 (or distance height)) - (w0 (or distance width)) - (r0 (- row (truncate (/ h0 2)))) - (c0 (- column (truncate (/ w0 2)))) - (plasma (xe2:render-plasma h0 w0 :graininess graininess)) - (value nil)) - (dotimes (i h0) - (dotimes (j w0) - (setf value (aref plasma i j)) - (when (< cutoff value) - (when (or (null distance) - (< (distance (+ j r0) (+ c0 i) row column) distance)) - (percent-of-time density - [drop-cell self (clone object) i j :no-collisions t])))))))) - -(define-method begin-ambient-loop passage () - (play-music "passageway" :loop t) - (play-sample "howl") - (play-sample "thunder-big")) - -(define-method generate passage (&key (height *forest-height*) - (width *forest-width*) - sequence-number) - (setf <height> height) - (setf <width> width) - (setf <sequence-number> sequence-number) - [create-default-grid self] - [drop-tundra self] - [drop-mountains self] - (let ((row (1+ (random 10)) ) - (column (+ 15 (random 6)))) - [drop-cell self (clone =drop-point=) row column - :exclusive t :probe t])) - - -;;; Controlling the game - -(define-prototype room-prompt (:parent xe2:=prompt=)) - -(defparameter *numpad-keybindings* - '(("KP7" nil "move :northwest .") - ("KP8" nil "move :north .") - ("KP9" nil "move :northeast .") - ("KP4" nil "move :west .") - ("KP6" nil "move :east .") - ("KP1" nil "move :southwest .") - ("KP2" nil "move :south .") - ("KP3" nil "move :southeast .") - ;; - ("KP8" (:control) "fire :north .") - ("KP4" (:control) "fire :west .") - ("KP6" (:control) "fire :east .") - ("KP2" (:control) "fire :south ."))) - -(defparameter *qwerty-keybindings* - (append *numpad-keybindings* - '(("Y" nil "move :northwest .") - ("K" nil "move :north .") - ("U" nil "move :northeast .") - ("H" nil "move :west .") - ("L" nil "move :east .") - ("B" nil "move :southwest .") - ("J" nil "move :south .") - ("N" nil "move :southeast .") - ;; - ("K" (:control) "fire :north .") - ("H" (:control) "fire :west .") - ("L" (:control) "fire :east .") - ("J" (:control) "fire :south .") - ;; - ("1" nil "use-item 0 .") - ("2" nil "use-item 1 .") - ("1" (:control) "drop-item 0 .") - ("2" (:control) "drop-item 1 .") - ;; - ("P" (:control) "pause .") - ("E" nil "eat .") - ("PAUSE" nil "pause .") - ("ESCAPE" nil "restart .") - ("RETURN" nil "enter .") - ;; - ("Q" (:control) "quit .")))) - -(define-method install-keybindings room-prompt () - (dolist (k (append *numpad-keybindings* *qwerty-keybindings*)) - (apply #'bind-key-to-prompt-insertion self k)) - ;; we also want to respond to timer events. this is how. - [define-key self nil '(:timer) (lambda () - [run-cpu-phase *world* :timer])]) - -;;; A character status widget. - -(define-prototype status (:parent xe2:=formatter=) - (character :documentation "The character cell.")) - -(define-method set-character status (character) - (setf <character> character)) - -(define-method print-stat status (stat-name &key warn-below) - (let* ((stat (field-value stat-name <character>)) - (value [stat-value <character> stat-name])) - (destructuring-bind (&key min max base delta unit) stat - (let ((color (if (and (numberp warn-below) - (< value warn-below)) - ".red" - ".gray20"))) - [print self (symbol-name stat-name) - :foreground ".white"] - [print self " "] - [print self (format nil "~S" value) - :foreground ".yellow" - :background color] - [print self " "])))) - -(defparameter *status-bar-character* " ") - -(define-method print-stat-bar status (stat &key - (color ".yellow") - (background-color ".gray40")) - (let ((value (truncate [stat-value <character> stat])) - (max (truncate [stat-value <character> stat :max]))) - (dotimes (i max) - [print self *status-bar-character* - :foreground ".yellow" - :background (if (< i value) - color - background-color)]))) - -(define-method print-equipment-slot status (slot-name) - [print self (symbol-name slot-name)] - [print self ": "] - (let* ((item [equipment-slot <character> slot-name])) - (if item - (clon:with-field-values (name tile) item - [print self nil :image tile] - [print self " "] - [print self name] - [print self " "]) - [print self "EMPTY "]))) - -(define-method print-inventory-slot status (slot-number &key show-as) - [print self (format nil "[~D]: " (or show-as slot-number))] - (let ((item [item-at <character> slot-number])) - (if item - (clon:with-field-values (name tile) item - [print self nil :image tile] - [print self " "] - [print self (get-some-object-name item)] - [print self " "]) - [print self "EMPTY "]))) - -(define-method update status () - [delete-all-lines self] - (let ((char <character>)) - [print self " Statistics: "] - [print-stat self :hit-points :warn-below 12] - [print-stat-bar self :hit-points :color ".red" :background-color ".gray30"] - [print self " "] - [print-stat self :strength :warn-below 10] - [print self " "] - [print-stat self :defense :warn-below 10] - [print self " "] - [print-stat self :speed :warn-below 2] - [println self " "] - [print self " Equipment: "] - [print-equipment-slot self :right-hand] - [print-equipment-slot self :left-hand] - [print self (format nil " ARROWS: ~S " [stat-value char :arrows])] - [print self nil :image "arrows"] - [print self (format nil " RATIONS: ~S " [stat-value char :rations])] - [println self nil :image "ration"] - [newline self] - [print self " Inventory: "] - [print-inventory-slot self 0 :show-as 1] - [print-inventory-slot self 1 :show-as 2] - [newline self])) - -;;; Pager and splash screen - -(defvar *pager* nil) - -(define-prototype splash (:parent =widget=)) - -(define-method render splash () - (xe2:draw-resource-image "splash" 0 0 - :destination <image>)) - -(defvar *space-bar-function*) - -(define-method dismiss splash () - [select *pager* :game] - (when (functionp *space-bar-function*) - (funcall *space-bar-function*)) - ;; TODO ugh this is a hack! - (xe2:show-widgets)) - -(define-prototype splash-prompt (:parent =prompt=) - (default-keybindings :initform '(("SPACE" nil "dismiss .")))) - -;;; Help prompt - -(define-prototype help-prompt (:parent =prompt=) - (default-keybindings :initform '(("N" nil "page-down .") - ("P" nil "page-up .")))) - -;;; Main program. - -(defparameter *pager-height* 16) - -(defparameter *room-window-width* 800) -(defparameter *room-window-height* 600) - -(defparameter *start-level* 1) - -(defun init-forest () - (xe2:message "Initializing Forest...") - (clon:initialize) - (xe2:set-screen-height *room-window-height*) - (xe2:set-screen-width *room-window-width*) - (let* ((prompt (clone =room-prompt=)) - (universe (clone =universe=)) - (narrator (clone =narrator=)) - (help (clone =textbox=)) - (quickhelp (clone =formatter=)) - (splash (clone =splash=)) - (splash-prompt (clone =splash-prompt=)) - (help-prompt (clone =help-prompt=)) - (player (clone =player=)) - (status (clone =status=)) - (viewport (clone =viewport=))) - ;; - [resize splash :height (- *room-window-height* 20 *pager-height*) :width *room-window-width*] - [move splash :x 0 :y 0] - [resize splash-prompt :width 10 :height 10] - [move splash-prompt :x 0 :y 0] - [hide splash-prompt] - [set-receiver splash-prompt splash] - ;; - [resize help-prompt :width 10 :height 10] - [move help-prompt :x 0 :y 0] - [hide help-prompt] - [set-receiver help-prompt help] - ;; - (labels ((spacebar () - (setf *status* status) - [resize status :height 60 :width 800] - [move status :x 5 :y 0] - [set-character status player] - ;; - [resize prompt :height 20 :width 100] - [move prompt :x 0 :y 0] - [hide prompt] - [install-keybindings prompt] - ;; - [resize narrator :height 80 :width *room-window-width*] - [move narrator :x 0 :y (- *room-window-height* 100 *pager-height*)] - [set-verbosity narrator 0] - ;; - [resize quickhelp :height 85 :width 280] - [move quickhelp :y (- *room-window-height* 100 *pager-height*) :x (- *room-window-width* 280)] - (let ((text (find-resource-object "quickhelp-message"))) - (dolist (line text) - (dolist (string line) - (funcall #'send nil :print-formatted-string quickhelp string)) - [newline quickhelp])) - ;; - [play universe - :address (generate-level-address *start-level*) - :player player - :narrator narrator - :prompt prompt - :viewport viewport] - [set-tile-size viewport 16] - [resize viewport :height 470 :width *room-window-width*] - [move viewport :x 0 :y 60] - [set-origin viewport :x 0 :y 0 - :height (truncate (/ (- *room-window-height* 200) 16)) - :width (truncate (/ *room-window-width* 16))] - [adjust viewport] - [select *pager* 2] - [loadout player])) - (setf *space-bar-function* #'spacebar)) - ;; - [resize help :height 540 :width 800] - [move help :x 0 :y 0] - (let ((text (find-resource-object "help-message"))) - [set-buffer help text]) - ;; - ;; - (setf *pager* (clone =pager=)) - [auto-position *pager*] - (xe2:install-widgets splash-prompt splash) - [add-page *pager* :map prompt viewport narrator status quickhelp] - [add-page *pager* :help help-prompt help])) - - -(init-forest) diff --git a/forest/forest.org b/forest/forest.org index 6993ad6..fab984e 100644 --- a/forest/forest.org +++ b/forest/forest.org @@ -1,4 +1,3 @@ -** TODO Split file ** TODO [#A] WXAD controls ** TODO [#A] add 8-way firing *** TODO diagonal arrow tile diff --git a/forest/forest.pak b/forest/forest.pak index f1ce161..34d6102 100644 --- a/forest/forest.pak +++ b/forest/forest.pak @@ -114,5 +114,12 @@ (:name "bip" :type :sample :file "bip.wav" :properties (:volume 10)) (:name "serve" :type :sample :file "serve.wav" :properties (:volume 10)) (:name "help-message" :type :text :file "README") - (:name ".startup" :type :lisp :file "forest.lisp" :properties (:autoload t)) + (:name "package-lisp" :type :lisp :file "package.lisp" :properties (:autoload t)) + (:name "base-lisp" :type :lisp :file "base.lisp" :properties (:autoload t)) + (:name "player-lisp" :type :lisp :file "player.lisp" :properties (:autoload t)) + (:name "enemy-lisp" :type :lisp :file "enemy.lisp" :properties (:autoload t)) + (:name "forest-lisp" :type :lisp :file "forest.lisp" :properties (:autoload t)) + (:name "mountain-lisp" :type :lisp :file "mountain.lisp" :properties (:autoload t)) + (:name "monastery-lisp" :type :lisp :file "monastery.lisp" :properties (:autoload t)) + (:name ".startup" :type :lisp :file "startup.lisp" :properties (:autoload t)) ) diff --git a/forest/monastery.lisp b/forest/monastery.lisp new file mode 100644 index 0000000..5980e6a --- /dev/null +++ b/forest/monastery.lisp @@ -0,0 +1,117 @@ +(in-package :forest) + +;;; Dandelion seeds + +(defsprite dandelion + (image :initform "dandelion") + (speed :initform (make-stat :base 10)) + (categories :initform '(:actor)) + (speed :initform (make-stat :base 10)) + (movement-cost :initform (make-stat :base 10)) + (movement-distance :initform 2) + (clock :initform 10)) + +(define-method run dandelion () + (clon:with-fields (clock) self + (if (plusp clock) + (progn + (decf clock) + [move self (car (one-of '(:southeast :east :east))) 2]) + [die self]))) + +;;; Monastery approach world + +(defcell hill-1 + (description :initform "This gentle slope heads down toward the Monastery.") + (tile :initform "hill-1")) + +(defcell hill-2 + (description :initform "This gentle slope heads down toward the Monastery.") + (tile :initform "hill-2")) + +(defcell hill-3 + (description :initform "This gentle slope heads down toward the Monastery.") + (tile :initform "hill-3")) + +(defcell flowers-1 + (description :initform "Gorgeous wildflowers.") + (tile :initform "flowers-1")) + +(define-prototype flowers-2 (:parent =flowers-1=) + (description :initform "Wildflowers of every description.") + (tile :initform "flowers-2") + (categories :initform '(:actor))) + +(define-method run flowers-2 () + (percent-of-time 1 + (multiple-value-bind (x y) [xy-coordinates self] + [drop-sprite self (clone =dandelion=) x y]))) + +(define-prototype monastery-gateway (:parent =gateway=) + (tile :initform "monastery-gateway") + (description :initform "The mountain pass opens here to the foothills by the Monastery.") + (sequence-number :initform (genseq)) + (address :initform (generate-level-address 4))) + +(define-method step monastery-gateway (stepper) + [say self "The mountain pass opens to the foothills by the Monastery here."] + [say self "Press ENTER to continue on."]) + +(define-prototype monastery (:parent xe2:=world=) + (height :initform *forest-height*) + (width :initform *forest-width*) + (ambient-light :initform :total) + (description :initform +"Morning has broken, and Valisade Monastery has come into view to the +south. You can hear the monks singing in the distance.") + (edge-condition :initform :block)) + +(define-method drop-hill monastery (&key (graininess 0.3) + (density 60) + distance + (cutoff 0.3)) + (clon:with-field-values (height width) self + (let ((plasma (xe2:render-plasma height width :graininess graininess)) + (plasma2 (xe2:render-plasma height width :graininess graininess)) + (value nil)) + (dotimes (i height) + (dotimes (j width) + [drop-cell self (clone =hill-3=) i j])) + (dotimes (i height) + (dotimes (j width) + (setf value (aref plasma i j)) + (when (or (null distance) + (< (distance j i row column) distance)) + (percent-of-time density + [drop-cell self (if (< cutoff value) + (clone =hill-1=) + (clone =hill-2=)) + i j :no-collisions t])))) + (dotimes (i height) + (dotimes (j width) + (setf value (aref plasma i j)) + (when (or (null distance) + (< (distance (+ j r0) (+ c0 i) row column) distance)) + (percent-of-time density + [drop-cell self (if (< cutoff value) + (clone =flowers-1=) + (clone =flowers-2=)) + i j :no-collisions t]))))))) + +(define-method generate monastery (&key (height *forest-height*) + (width *forest-width*) + sequence-number) + (setf <height> height) + (setf <width> width) + (setf <sequence-number> sequence-number) + [create-default-grid self] + [drop-hill self] + (let ((row (1+ (random 10)) ) + (column (+ 15 (random 6)))) + [drop-cell self (clone =drop-point=) row column + :exclusive t :probe t])) + +(define-method begin-ambient-loop monastery () + (play-music "rain" :loop t) + (play-sample "monks")) + diff --git a/forest/mountain.lisp b/forest/mountain.lisp new file mode 100644 index 0000000..bffa9e4 --- /dev/null +++ b/forest/mountain.lisp @@ -0,0 +1,121 @@ +(in-package :forest) + +;;; Icy tundra + +(defparameter *tundra-tiles* '("tundra-1" + "tundra-2" + "tundra-3" + "tundra-4" + "tundra-5" + "tundra-6" + "floor")) + +(defparameter *tundra-light-radius* 14) + + +(defcell tundra + (tile :initform "floor") + (description :initform "This frozen surface is treacherous.") + (categories :initform '(:actor :reflective))) + +(define-method blow tundra (dark) + (let ((snow [category-at-p *world* <row> <column> :snow])) + (when snow + [update-tile snow dark]) + (if (minusp <snow-clock>) + (progn (setf <snow-clock> *snow-clock*) + (if (null snow) + (percent-of-time 3 + (setf snow (clone =snow=)) + [drop self snow]) + (percent-of-time 10 + [collect snow 1 dark]))) + (decf <snow-clock>)))) + +(define-method run tundra () + (let* ((dist [distance-to-player self])) + (setf <tile> (if (< dist *tundra-light-radius*) + (nth (truncate (/ dist 2)) *tundra-tiles*) + "floor")))) + +(defcell mountain + (tile :initform "mountain") + (description :initform "The walls of the passageway are slick with ice.") + (categories :initform '(:obstacle :opaque))) + +;;; Mountain passage world + +(defparameter *passage-width* 49) +(defparameter *passage-height* 100) + +(define-prototype passage (:parent xe2:=world=) + (height :initform *passage-height*) + (width :initform *passage-width*) + (ambient-light :initform *earth-light-radius*) + (description :initform "The air is oddly still in this pass between the crags.") + (edge-condition :initform :block)) + +(define-method drop-tundra passage () + (dotimes (i <height>) + (dotimes (j <width>) + [drop-cell self (clone =tundra=) i j]))) + +(define-method drop-mountains passage () + (let* ((offset 10) + (right (- <width> 17 ))) + (dotimes (i <height>) + (setf offset (min right (max 0 (incf offset (if (= 0 (random 2)) + 1 -1))))) + (labels ((drop-mountain (r c) + (prog1 nil + [drop-cell *world* (clone =mountain=) r c]))) + (trace-row #'drop-mountain i 0 (+ offset (random 4))) + (percent-of-time 10 [drop-cell self (clone =wolf=) i (+ offset (random 4))]) + (trace-row #'drop-mountain i (+ offset (random 4) 20) <width>))) + ;; drop monastery gateway + (let ((column (+ offset (random 10))) + (row (- <height> 2))) + [drop-cell self (clone =monastery-gateway=) row column]))) + +(define-method drop-trees passage (&optional &key (object =tree=) + distance + (row 0) (column 0) + (graininess 0.3) + (density 100) + (cutoff 0)) + (clon:with-field-values (height width) self + (let* ((h0 (or distance height)) + (w0 (or distance width)) + (r0 (- row (truncate (/ h0 2)))) + (c0 (- column (truncate (/ w0 2)))) + (plasma (xe2:render-plasma h0 w0 :graininess graininess)) + (value nil)) + (dotimes (i h0) + (dotimes (j w0) + (setf value (aref plasma i j)) + (when (< cutoff value) + (when (or (null distance) + (< (distance (+ j r0) (+ c0 i) row column) distance)) + (percent-of-time density + [drop-cell self (clone object) i j :no-collisions t])))))))) + +(define-method begin-ambient-loop passage () + (play-music "passageway" :loop t) + (play-sample "howl") + (play-sample "thunder-big")) + +(define-method generate passage (&key (height *forest-height*) + (width *forest-width*) + sequence-number) + (setf <height> height) + (setf <width> width) + (setf <sequence-number> sequence-number) + [create-default-grid self] + [drop-tundra self] + [drop-mountains self] + (let ((row (1+ (random 10)) ) + (column (+ 15 (random 6)))) + [drop-cell self (clone =drop-point=) row column + :exclusive t :probe t])) + + diff --git a/forest/package.lisp b/forest/package.lisp new file mode 100644 index 0000000..ab81ba9 --- /dev/null +++ b/forest/package.lisp @@ -0,0 +1,4 @@ +(defpackage :forest + (:documentation "Sanctuary.") + (:use :xe2 :common-lisp) + (:export forest)) diff --git a/forest/player.lisp b/forest/player.lisp new file mode 100644 index 0000000..599f508 --- /dev/null +++ b/forest/player.lisp @@ -0,0 +1,223 @@ +(in-package :forest) + +;;; Supplies + +(defcell arrows + (tile :initform "arrows") + (count :initform (+ 6 (random 18)))) + +(define-method step arrows (stepper) + (when [is-player stepper] + [say self "You found ~S arrows." <count>] + [stat-effect stepper :arrows <count>] + [die self])) + +(defcell herb + (tile :initform "herb") + (description :initform "This healing herb will restore some of your health.") + (categories :initform '(:item)) + (equip-for :initform '(:right-hand :left-hand))) + +(define-method step herb (stepper) + (when [is-player stepper] + (if [take stepper :direction :here :category :item] + [say self "You found a healing herb."] + [say self "Your satchel is full."]))) + +(define-method use herb (user) + (when (and user (has-field :hit-points user)) + (prog1 t + [stat-effect user :hit-points 12] + [say self "You consume the healing herb and quickly feel better."]))) + +;;; A map of the journey + +(defcell sanctuary-map + (name :initform "Map") + (tile :initform "tiny-map") + (description :initform "This map was given to you by Wythorn before you left town.") + (categories :initform '(:item))) + +(define-method use sanctuary-map (user) + (prog1 nil + [emote user '(((nil :image "sanctuary-map"))) :background-color ".white"])) + +(define-method step sanctuary-map (stepper) + (when [is-player stepper] + [say self "You don't need this map; you've memorized the way."])) + +;;; The player + +(defparameter *arrow-tiles* '(:north "arrow-north" + :south "arrow-south" + :east "arrow-east" + :west "arrow-west")) + +(defcell arrow + (name :initform "arrow") + (speed :initform (make-stat :base 25)) + (categories :initform '(:actor)) + (clock :initform 8) + (direction :initform nil)) + +(define-method impel arrow (direction) + (assert (member direction '(:north :south :east :west))) + (setf <direction> direction)) + +(define-method run arrow () + [expend-default-action-points self] + (if (and <direction> (not (eq <direction> :here))) + (progn (setf <tile> (getf *arrow-tiles* <direction>)) + (let ((target [category-in-direction-p *world* <row> <column> <direction> :target])) + (when target + [damage target 3] + [die self]) + (if [obstacle-in-direction-p *world* <row> <column> <direction>] + [die self] + [move self <direction>])) + (setf <clock> (max 0 (decf <clock>))) + (when (zerop <clock>) + [die self]) + (when [obstacle-in-direction-p *world* <row> <column> <direction>] + (setf <clock> 0))) + [die self])) + +(define-method step arrow (stepper) + (when [is-player stepper] + (assert [is-located self]) + [say self "This arrow is still good. You add it to your quiver."] + [stat-effect stepper :arrows 1] + [die self])) + +(defcell wooden-bow + (name :initform "Wooden bow") + (categories :initform '(:item :weapon :equipment)) + (tile :initform "wooden-bow") + (attack-power :initform (make-stat :base 5)) + (attack-cost :initform (make-stat :base 6)) + (accuracy :initform (make-stat :base 90)) + (weight :initform 3000) + (equip-for :initform '(:left-hand))) + +(define-method fire wooden-bow (direction) + (if (plusp [stat-value <equipper> :arrows]) + (let ((arrow (clone =arrow=))) + [stat-effect <equipper> :arrows -1] + [drop <equipper> arrow] + [impel arrow direction] + [play-sample <equipper> "bow"]) + [say self "You are out of arrows!" :foreground ".red"])) + +(defparameter *hunger-warn* 700) + +(defparameter *hunger-warn-2* 850) + +(defparameter *hunger-max* 1000) + +(defcell player + (tile :initform "player") + (description :initform "You are an archer and initiate monk of the Sanctuary Order.") + (name :initform "Monk") + (dead :initform nil) + (hit-points :initform (make-stat :base 30 :min 0 :max 30)) + (hunger :initform (make-stat :base 0 :min 0 :max 1000)) + (hunger-damage-clock :initform 0) + (hearing-range :initform 1000) + (firing-with :initform :left-hand) + (arrows :initform (make-stat :base 20 :min 0 :max 40)) + (rations :initform (make-stat :base 5 :min 0 :max 20)) + (speed :initform (make-stat :base 10 :min 0 :max 10)) + (strength :initform (make-stat :base 15 :min 0 :max 50)) + (defense :initform (make-stat :base 15 :min 0 :max 50)) + (dexterity :initform (make-stat :base 15 :min 0 :max 30)) + (intelligence :initform (make-stat :base 13 :min 0 :max 30)) + (equipment-slots :initform '(:right-hand :left-hand)) + (max-items :initform (make-stat :base 20)) + (movement-cost :initform (make-stat :base 10)) + (stepping :initform t) + (categories :initform '(:actor :player :obstacle :target))) + +(define-method eat player () + (if (zerop [stat-value self :rations]) + [say self "You don't have any rations to eat."] + (progn + [say self "You eat a bread ration. You feel full."] + [stat-effect self :hunger -900] + [stat-effect self :rations -1]))) + +(define-method use-item player (n) + (assert (integerp n)) + (let ((object [item-at self n])) + (if object + (if [in-category object :equipment] + [equip self n] + (when [use object self] + [remove-item self object])) + [say self "There is nothing to use there."]))) + +(define-method enter player () + (let ((gateway [category-at-p *world* <row> <column> :gateway])) + (if (null gateway) + [>>say :narrator "No gateway to enter."] + [activate gateway]))) + +(define-method emote player (text &key (timeout 20) (background-color ".blue")) + (let ((balloon (clone =balloon= :text text :timeout timeout :background-color background-color)) + (other-balloon [category-at-p *world* <row> <column> :balloon])) + (when other-balloon + [die other-balloon]) + [play-sample self "talk"] + [follow balloon self] + [drop self balloon])) + +(define-method quit player () + (xe2:quit :shutdown)) + +(define-method run player () + [stat-effect self :hunger 1] + (let ((hunger [stat-value self :hunger])) + (when (= *hunger-warn* hunger) + [say self "You are getting hungry. Press Control-E to eat a ration."]) + (when (= *hunger-warn-2* hunger) + [emote self '((("I'm very hungry.")))] + [say self "You are getting extremely hungry! Press Control-E to eat a ration."]) + (when (= *hunger-max* hunger) + (if (minusp <hunger-damage-clock>) + (progn + [say self "You are starving! You will die if you do not eat soon."] + [say self "Press Control-E to eat a ration."] + (setf <hunger-damage-clock> 20) + [damage self 1]) + (decf <hunger-damage-clock>)))) + (when (zerop [stat-value self :hit-points]) + [die self]) + (when (and *status* <inventory>) [update *status*])) + +(define-method restart player () + (let ((player (clone =player=))) + [destroy *universe*] + [set-player *universe* player] + [set-character *status* player] + [play *universe* + :address (generate-level-address 1)] + [loadout player])) + +(define-method damage player (points) + [say self "You take ~A hit ~A of damage." + points (if (= 1 points) "point" "points")] + (percent-of-time 70 [play-sample self (car (one-of '("unh-1" "unh-2" "unh-3")))]) + [stat-effect self :hit-points (- points)]) + +(define-method die player () + (unless <dead> + (setf <tile> "skull") + [play-sample self "death"] + [say self "You died. Press ESCAPE to try again."] + (setf <dead> t))) + +(define-method loadout player () + [make-inventory self] + [make-equipment self] + [equip self [add-item self (clone =wooden-bow=)]] + [add-item self (clone =sanctuary-map=)] + [emote self '((("I'd better get moving.")) (("The monastery is to the south.")))]) diff --git a/forest/quickhelp.text b/forest/quickhelp.text index 63c68a8..9d05f8f 100644 --- a/forest/quickhelp.text +++ b/forest/quickhelp.text @@ -1,7 +1,7 @@ -((("CONTROLS: " :background ".blue" :foreground ".white")) - (("movement: arrowkeys / numpad / hjkl " :background ".gray20" :foreground ".gray80")) - (("shooting: CTRL-DIRECTION " :background ".gray14" :foreground ".gray80")) - (("inventory: 1/2 to use, CTRL-# to drop " :background ".gray20" :foreground ".gray80")) - (("pausing: Pause key or Control-P " :background ".gray14" :foreground ".gray80")) - (("help: F1 / Pause and click objects " :background ".gray20" :foreground ".gray80"))) +((("CONTROLS: " :background ".blue" :foreground ".white")) + (("movement: Numeric keypad or QWE/AD/ZXC " :background ".gray20" :foreground ".gray80")) + (("shooting: SHIFT-DIRECTION " :background ".gray14" :foreground ".gray80")) + (("inventory: 1-4 to use, CTRL-# to drop " :background ".gray20" :foreground ".gray80")) + (("pausing: Pause key or Control-P " :background ".gray14" :foreground ".gray80")) + (("help: F1 or Pause and click objects " :background ".gray20" :foreground ".gray80"))) diff --git a/forest/startup.lisp b/forest/startup.lisp new file mode 100644 index 0000000..e55dce5 --- /dev/null +++ b/forest/startup.lisp @@ -0,0 +1,326 @@ +;;; startup.lisp --- Sanctuary startup file + +;; Copyright (C) 2009 David O'Toole + +;; Author: David O'Toole <dto@gnu.org> +;; Keywords: games + +;; This program is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see <http://www.gnu.org/licenses/>. + +;;; Commentary + +;; See also http://dto.github.com/notebook/developers-guide.html + +(in-package :forest) + +;;; Custom bordered viewport + +(define-prototype view (:parent xe2:=viewport=)) + +(define-method render view () + [parent>>render self] + (xe2:draw-rectangle 0 0 + <width> + <height> + :color ".blue" :destination <image>) + [message *pager* (list "")]) + +(defvar *view* (clone =view=)) + +;;; Controlling the game + +(define-prototype room-prompt (:parent xe2:=prompt=)) + +(defparameter *numpad-keybindings* + '(("KP7" nil "move :northwest .") + ("KP8" nil "move :north .") + ("KP9" nil "move :northeast .") + ("KP4" nil "move :west .") + ("KP6" nil "move :east .") + ("KP1" nil "move :southwest .") + ("KP2" nil "move :south .") + ("KP3" nil "move :southeast .") + ;; + ("KP8" (:control) "fire :north .") + ("KP4" (:control) "fire :west .") + ("KP6" (:control) "fire :east .") + ("KP2" (:control) "fire :south .") + ("KP7" (:control) "fire :northwest .") + ("KP9" (:control) "fire :northeast .") + ("KP1" (:control) "fire :southwest .") + ("KP3" (:control) "fire :southeast ."))) + +(defparameter *qwerty-keybindings* + (append *numpad-keybindings* + '(("Q" nil "move :northwest .") + ("W" nil "move :north .") + ("E" nil "move :northeast .") + ("A" nil "move :west .") + ("D" nil "move :east .") + ("Z" nil "move :southwest .") + ("X" nil "move :south .") + ("C" nil "move :southeast .") + ;; + ("Q" (:shift) "fire :northwest .") + ("W" (:shift) "fire :north .") + ("E" (:shift) "fire :northeast .") + ("A" (:shift) "fire :west .") + ("D" (:shift) "fire :east .") + ("Z" (:shift) "fire :southwest .") + ("X" (:shift) "fire :south .") + ("C" (:shift) "fire :southeast .") + ;; + ;; + ("1" nil "use-item 0 .") + ("2" nil "use-item 1 .") + ("1" (:control) "drop-item 0 .") + ("2" (:control) "drop-item 1 .") + ("3" nil "use-item 2 .") + ("4" nil "use-item 3 .") + ("3" (:control) "drop-item 2 .") + ("4" (:control) "drop-item 3 .") + ;; + ("P" (:control) "pause .") + ("E" (:control) "eat .") + ("PAUSE" nil "pause .") + ("ESCAPE" nil "restart .") + ("RETURN" nil "enter .") + ;; + ("Q" (:control) "quit .")))) + +(define-method install-keybindings room-prompt () + (dolist (k (append *numpad-keybindings* *qwerty-keybindings*)) + (apply #'bind-key-to-prompt-insertion self k)) + ;; we also want to respond to timer events. this is how. + [define-key self nil '(:timer) (lambda () + [run-cpu-phase *world* :timer])]) + +;;; A character status widget. + +(define-prototype status (:parent xe2:=formatter=) + (character :documentation "The character cell.")) + +(define-method set-character status (character) + (setf <character> character)) + +(define-method print-stat status (stat-name &key warn-below) + (let* ((stat (field-value stat-name <character>)) + (value [stat-value <character> stat-name])) + (destructuring-bind (&key min max base delta unit) stat + (let ((color (if (and (numberp warn-below) + (< value warn-below)) + ".red" + ".gray20"))) + [print self (symbol-name stat-name) + :foreground ".white"] + [print self " "] + [print self (format nil "~S" value) + :foreground ".yellow" + :background color] + [print self " "])))) + +(defparameter *status-bar-character* " ") + +(define-method print-stat-bar status (stat &key + (color ".yellow") + (background-color ".gray40")) + (let ((value (truncate [stat-value <character> stat])) + (max (truncate [stat-value <character> stat :max]))) + (dotimes (i max) + [print self *status-bar-character* + :foreground ".yellow" + :background (if (< i value) + color + background-color)]))) + +(define-method print-equipment-slot status (slot-name) + [print self (symbol-name slot-name)] + [print self ": "] + (let* ((item [equipment-slot <character> slot-name])) + (if item + (clon:with-field-values (name tile) item + [print self nil :image tile] + [print self " "] + [print self name] + [print self " "]) + [print self "EMPTY "]))) + +(define-method print-inventory-slot status (slot-number &key show-as) + [print self (format nil "[~D]: " (or show-as slot-number))] + (let ((item [item-at <character> slot-number])) + (if item + (clon:with-field-values (name tile) item + [print self nil :image tile] + [print self " "] + [print self (get-some-object-name item)] + [print self " "]) + [print self "EMPTY "]))) + +(define-method update status () + [delete-all-lines self] + (let ((char <character>)) + [print self " Statistics: "] + [print-stat self :hit-points :warn-below 12] + [print-stat-bar self :hit-points :color ".red" :background-color ".gray30"] + [print self " "] + [print-stat self :strength :warn-below 10] + [print self " "] + [print-stat self :defense :warn-below 10] + [print self " "] + [print-stat self :speed :warn-below 2] + [println self " "] + [print self " Equipment: "] + [print-equipment-slot self :right-hand] + [print-equipment-slot self :left-hand] + [print self (format nil " ARROWS: ~S " [stat-value char :arrows])] + [print self nil :image "arrows"] + [print self (format nil " RATIONS: ~S " [stat-value char :rations])] + [println self nil :image "ration"] + [newline self] + [print self " Inventory: "] + [print-inventory-slot self 0 :show-as 1] + [print-inventory-slot self 1 :show-as 2] + [print-inventory-slot self 2 :show-as 3] + [print-inventory-slot self 3 :show-as 4] + [newline self])) + +;;; Pager and splash screen + +(defvar *pager* nil) + +(define-prototype splash (:parent =widget=)) + +(define-method render splash () + (xe2:draw-resource-image "splash" 0 0 + :destination <image>)) + +(defvar *space-bar-function*) + +(define-method dismiss splash () + [select *pager* :game] + (when (functionp *space-bar-function*) + (funcall *space-bar-function*)) + ;; TODO ugh this is a hack! + (xe2:show-widgets)) + +(define-prototype splash-prompt (:parent =prompt=) + (default-keybindings :initform '(("SPACE" nil "dismiss .")))) + +;;; Help prompt and textbox + +(define-prototype help-prompt (:parent =prompt=) + (default-keybindings :initform '(("N" nil "page-down .") + ("P" nil "page-up .")))) + +(define-prototype help-textbox (:parent =textbox=)) + +(define-method render help-textbox () + [parent>>render self] + [message *pager* + (list (format nil " --- Line ~A of ~A. Use N (NEXT) and P (PREVIOUS) to scroll the text." + <point-row> (length <buffer>)))]) + + +;;; Main program. + +(defparameter *pager-height* 16) + +(defparameter *room-window-width* 800) +(defparameter *room-window-height* 600) + +(defparameter *start-level* 1) + +(defun init-forest () + (xe2:message "Initializing Forest...") + (clon:initialize) + (xe2:set-screen-height *room-window-height*) + (xe2:set-screen-width *room-window-width*) + (let* ((prompt (clone =room-prompt=)) + (universe (clone =universe=)) + (narrator (clone =narrator=)) + (help (clone =help-textbox=)) + (quickhelp (clone =formatter=)) + (splash (clone =splash=)) + (splash-prompt (clone =splash-prompt=)) + (help-prompt (clone =help-prompt=)) + (player (clone =player=)) + (status (clone =status=)) + (viewport (clone =view=))) + ;; + [resize splash :height (- *room-window-height* 20 *pager-height*) :width *room-window-width*] + [move splash :x 0 :y 0] + [resize splash-prompt :width 10 :height 10] + [move splash-prompt :x 0 :y 0] + [hide splash-prompt] + [set-receiver splash-prompt splash] + ;; + [resize help-prompt :width 10 :height 10] + [move help-prompt :x 0 :y 0] + [hide help-prompt] + [set-receiver help-prompt help] + ;; + (labels ((spacebar () + (setf *status* status) + [resize status :height 60 :width 800] + [move status :x 5 :y 0] + [set-character status player] + ;; + [resize prompt :height 20 :width 100] + [move prompt :x 0 :y 0] + [hide prompt] + [install-keybindings prompt] + ;; + [resize narrator :height 80 :width *room-window-width*] + [move narrator :x 0 :y (- *room-window-height* 100 *pager-height*)] + [set-verbosity narrator 0] + ;; + [resize quickhelp :height 85 :width 280] + [move quickhelp :y (- *room-window-height* 100 *pager-height*) :x (- *room-window-width* 280)] + (let ((text (find-resource-object "quickhelp-message"))) + (dolist (line text) + (dolist (string line) + (funcall #'send nil :print-formatted-string quickhelp string)) + [newline quickhelp])) + ;; + [play universe + :address (generate-level-address *start-level*) + :player player + :narrator narrator + :prompt prompt + :viewport viewport] + [set-tile-size viewport 16] + [resize viewport :height 470 :width *room-window-width*] + [move viewport :x 0 :y 60] + [set-origin viewport :x 0 :y 0 + :height (truncate (/ (- *room-window-height* 200) 16)) + :width (truncate (/ *room-window-width* 16))] + [adjust viewport] + [select *pager* 2] + [loadout player])) + (setf *space-bar-function* #'spacebar)) + ;; + [resize-to-scroll help :height 540 :width 800] + [move help :x 0 :y 0] + (let ((text (find-resource-object "help-message"))) + [set-buffer help text]) + ;; + ;; + (setf *pager* (clone =pager=)) + [auto-position *pager*] + (xe2:install-widgets splash-prompt splash) + [add-page *pager* :map prompt viewport narrator status quickhelp] + [add-page *pager* :help help-prompt help])) + + +(init-forest) + diff --git a/widgets.lisp b/widgets.lisp index 54e12e3..88980a8 100644 --- a/widgets.lisp +++ b/widgets.lisp @@ -613,6 +613,7 @@ normally." (setf <x> (- center-x (truncate (/ width 2))) <y> (- center-y (truncate (/ height 2))))))) + (define-method resize-to-scroll textbox (&key width height) "Resize the textbox to WIDTH * HEIGHT and enable scrolling of contents. This method allocates a new SDL surface." @@ -686,6 +687,8 @@ This method allocates a new SDL surface when necessary." (pages :initform nil) (current-page :initform nil :documentation "Keyword name of current page.") + (pager-message :initform nil + :documentation "Formatted string to be displayed to right of tabs.") (pager-height :initform 20 :documentation "Height in pixels of the pager") (background-color :initform ".gray18") @@ -727,6 +730,9 @@ This method allocates a new SDL surface when necessary." (define-method get-page-names pager () (remove-duplicates (mapcar #'car <pages>))) +(define-method message pager (formatted-string) + (setf <pager-message> formatted-string)) + (define-method render pager () ;; calculate geometry. always draw [clear self <background-color>] @@ -746,6 +752,8 @@ This method allocates a new SDL surface when necessary." <highlighted-style> <style>)) line)) (incf n)) + (when <pager-message> + (push <pager-message> line)) ;; draw the string (render-formatted-line (nreverse line) 0 0 :destination <image>)))