From bfd2f0ebc7db5623516da3f3122606c0a86b1f0a Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Thu, 21 May 2020 01:51:04 +0200 Subject: [PATCH] Add paintings --- mods/ENTITIES/mcl_paintings/init.lua | 276 ++++++++++++++++++ .../mcl_paintings/locale/mcl_paintings.de.tr | 2 + .../mcl_paintings/locale/template.txt | 2 + mods/ENTITIES/mcl_paintings/mod.conf | 1 + mods/ENTITIES/mcl_paintings/paintings.lua | 55 ++++ .../textures/mcl_paintings_painting.png | Bin 0 -> 229 bytes .../textures/mcl_paintings_paintings.png | Bin 0 -> 46837 bytes 7 files changed, 336 insertions(+) create mode 100644 mods/ENTITIES/mcl_paintings/init.lua create mode 100644 mods/ENTITIES/mcl_paintings/locale/mcl_paintings.de.tr create mode 100644 mods/ENTITIES/mcl_paintings/locale/template.txt create mode 100644 mods/ENTITIES/mcl_paintings/mod.conf create mode 100644 mods/ENTITIES/mcl_paintings/paintings.lua create mode 100644 mods/ENTITIES/mcl_paintings/textures/mcl_paintings_painting.png create mode 100644 mods/ENTITIES/mcl_paintings/textures/mcl_paintings_paintings.png diff --git a/mods/ENTITIES/mcl_paintings/init.lua b/mods/ENTITIES/mcl_paintings/init.lua new file mode 100644 index 00000000..df29395b --- /dev/null +++ b/mods/ENTITIES/mcl_paintings/init.lua @@ -0,0 +1,276 @@ +mcl_paintings = {} + +dofile(minetest.get_modpath(minetest.get_current_modname()).."/paintings.lua") + +local S = minetest.get_translator("mcl_paintings") + +local wood = "[combine:16x16:-192,0=mcl_paintings_paintings.png" + +-- Check if there's a painting for provided painting size. +-- If yes, returns the arguments. +-- If not, returns the next smaller available painting. +local shrink_painting = function(x, y) + if x > 4 or y > 4 then + return nil + end + local xstart = x + local painting + while not painting do + painting = mcl_paintings.paintings[y] and mcl_paintings.paintings[y][x] + if type(painting) == "table" then + break + elseif type(painting) == "number" then + x = painting + painting = nil + else + x = xstart + y = y - 1 + end + if y < 1 then + return nil + end + end + if type(painting) == "table" then + return x, y + end +end + +local get_painting = function(x, y, motive) + local painting = mcl_paintings.paintings[y] and mcl_paintings.paintings[y][x] and mcl_paintings.paintings[y][x][motive] + if not painting then + return nil + end + local px, py = -painting.cx, -painting.cy + local sx, sy = 16*x, 16*y + return "[combine:"..sx.."x"..sy..":"..px..","..py.."=mcl_paintings_paintings.png" +end + +local get_random_painting = function(x, y) + if not mcl_paintings.paintings[y] or not mcl_paintings.paintings[y][x] then + return nil + end + local max = #mcl_paintings.paintings[y][x] + if max < 1 then + return nil + end + local r = math.random(1, max) + return get_painting(x, y, r), r +end + +local size_to_minmax = function(size) + local min, max + if size == 2 then + min = -0.5 + max = 1.5 + elseif size == 3 then + min = -1.5 + max = 1.5 + elseif size == 4 then + min = -1.5 + max = 2.5 + else + min = -0.5 + max = 0.5 + end + return min, max +end + +local size_to_minmax_entity = function(size) + return -size/2, size/2 +end + +local set_entity = function(object) + local ent = object:get_luaentity() + local wallm = ent._facing + local xsize = ent._xsize + local ysize = ent._ysize + local exmin, exmax = size_to_minmax_entity(xsize) + local eymin, eymax = size_to_minmax_entity(ysize) + local visual_size = { x=xsize-0.0001, y=ysize-0.0001, z=1/32 } + if not ent._xsize or not ent._ysize or not ent._motive then + minetest.log("error", "[mcl_paintings] Painting loaded with missing painting values!") + return + end + local painting = get_painting(xsize, ysize, ent._motive) + if not painting then + minetest.log("error", "[mcl_paintings] No painting found for size " + ..xsize..","..ysize..", motive number "..ent._motive.."!") + return + end + if wallm == 4 or wallm == 5 then + object:set_properties({ + selectionbox = { exmin, eymin, -1/64, exmax, eymax, 1/64 }, + visual_size = visual_size, + textures = { wood, wood, wood, wood, painting, wood }, + }) + else + object:set_properties({ + selectionbox = { -1/64, eymin, exmin, 1/64, eymax, exmax }, + visual_size = visual_size, + textures = { wood, wood, wood, wood, painting, wood }, + }) + end + local dir = minetest.wallmounted_to_dir(wallm) + if not dir then + return + end + object:set_yaw(minetest.dir_to_yaw(dir)) +end + +minetest.register_entity("mcl_paintings:painting", { + visual = "cube", + visual_size = { x=0.999, y=0.999, z=1/32 }, + selectionbox = { -1/64, -0.5, -0.5, 1/64, 0.5, 0.5 }, + physical = false, + collide_with_objects = false, + textures = { wood, wood, wood, wood, wood, wood }, + hp_max = 1, + + _motive = 0, + _pos = nil, + _facing = 2, + _xsize = 1, + _ysize = 1, + on_activate = function(self, staticdata) + if staticdata and staticdata ~= "" then + local data = minetest.deserialize(staticdata) + if data then + self._facing = data._facing + self._pos = data._pos + self._motive = data._motive + self._xsize = data._xsize + self._ysize = data._ysize + end + end + set_entity(self.object) + end, + get_staticdata = function(self) + local data = { + _facing = self._facing, + _pos = self._pos, + _motive = self._motive, + _xsize = self._xsize, + _ysize = self._ysize, + } + return minetest.serialize(data) + end, + on_death = function(self, killer) + -- Drop as item on death + if not minetest.settings:get_bool("creative_mode") then + local pos = self._pos + if not pos then + pos = self.object:get_pos() + end + minetest.add_item(pos, "mcl_paintings:painting") + end + end, +}) + +minetest.register_craftitem("mcl_paintings:painting", { + description = S("Painting"), + inventory_image = "mcl_paintings_painting.png", + on_place = function(itemstack, placer, pointed_thing) + if pointed_thing.type ~= "node" then + return itemstack + end + local dir = vector.subtract(pointed_thing.above, pointed_thing.under) + dir = vector.normalize(dir) + if dir.y ~= 0 then + -- Ceiling/floor paintings are not supported + return itemstack + end + local wallm = minetest.dir_to_wallmounted(dir) + if wallm then + local ppos = pointed_thing.above + local xmax + local ymax = 4 + local xmaxes = {} + local ymaxed = false + local negative = dir.x < 0 or dir.z > 0 + -- Check maximum possible painting size + local t + for y=0,3 do + for x=0,3 do + local k = x + if negative then + k = -k + end + if dir.z ~= 0 then + t = {x=k,y=y,z=0} + else + t = {x=0,y=y,z=k} + end + local unode = minetest.get_node(vector.add(pointed_thing.under, t)) + local anode = minetest.get_node(vector.add(ppos, t)) + local udef = minetest.registered_nodes[unode.name] + local adef = minetest.registered_nodes[anode.name] + if (not (udef and udef.walkable)) or (not adef or adef.walkable) then + xmaxes[y+1] = x + if x == 0 and not ymaxed then + ymax = y + ymaxed = true + end + break + end + end + if not xmaxes[y] then + xmaxes[y] = 4 + end + end + xmax = math.max(unpack(xmaxes)) + + local xsize, ysize = xmax, ymax + xsize, ysize = shrink_painting(xsize, ysize) + if not xsize then + return itemstack + end + local _, exmax = size_to_minmax_entity(xsize) + local _, eymax = size_to_minmax_entity(ysize) + local pposa = vector.subtract(ppos, vector.multiply(dir, 0.5-2/64)) + local pexmax + local peymax = eymax - 0.5 + if negative then + pexmax = -exmax + 0.5 + else + pexmax = exmax - 0.5 + end + if dir.z ~= 0 then + pposa = vector.add(pposa, {x=pexmax, y=peymax, z=0}) + else + pposa = vector.add(pposa, {x=0, y=peymax, z=pexmax}) + end + local painting, pid = get_random_painting(xsize, ysize) + if not painting then + minetest.log("error", "[mcl_paintings] No painting found for size "..xsize..","..ysize.."!") + return itemstack + end + local staticdata = { + _facing = wallm, + _pos = ppos, + _motive = pid, + _xsize = xsize, + _ysize = ysize, + } + local obj = minetest.add_entity(pposa, "mcl_paintings:painting", minetest.serialize(staticdata)) + if not obj then + return itemstack + end + else + return itemstack + end + if not minetest.settings:get_bool("creative_mode") then + itemstack:take_item() + end + return itemstack + end, +}) + +minetest.register_craft({ + output = "mcl_paintings:painting", + recipe = { + { "mcl_core:stick", "mcl_core:stick", "mcl_core:stick" }, + { "mcl_core:stick", "group:wool", "mcl_core:stick" }, + { "mcl_core:stick", "mcl_core:stick", "mcl_core:stick" }, + } +}) + diff --git a/mods/ENTITIES/mcl_paintings/locale/mcl_paintings.de.tr b/mods/ENTITIES/mcl_paintings/locale/mcl_paintings.de.tr new file mode 100644 index 00000000..98387725 --- /dev/null +++ b/mods/ENTITIES/mcl_paintings/locale/mcl_paintings.de.tr @@ -0,0 +1,2 @@ +# textdomain:mcl_paintings +Painting=Gemälde diff --git a/mods/ENTITIES/mcl_paintings/locale/template.txt b/mods/ENTITIES/mcl_paintings/locale/template.txt new file mode 100644 index 00000000..73abae1e --- /dev/null +++ b/mods/ENTITIES/mcl_paintings/locale/template.txt @@ -0,0 +1,2 @@ +# textdomain:mcl_paintings +Painting= diff --git a/mods/ENTITIES/mcl_paintings/mod.conf b/mods/ENTITIES/mcl_paintings/mod.conf new file mode 100644 index 00000000..ea1d61c3 --- /dev/null +++ b/mods/ENTITIES/mcl_paintings/mod.conf @@ -0,0 +1 @@ +name = mcl_paintings diff --git a/mods/ENTITIES/mcl_paintings/paintings.lua b/mods/ENTITIES/mcl_paintings/paintings.lua new file mode 100644 index 00000000..d606306c --- /dev/null +++ b/mods/ENTITIES/mcl_paintings/paintings.lua @@ -0,0 +1,55 @@ +local TS = 16 -- texture size + +mcl_paintings.paintings = { + [1] = { + [1] = { + { cx = 0, cy = 0 }, + { cx = TS, cy = 0 }, + { cx = 2*TS, cy = 0 }, + { cx = 3*TS, cy = 0 }, + { cx = 4*TS, cy = 0 }, + { cx = 5*TS, cy = 0 }, + { cx = 6*TS, cy = 0 }, + }, + [2] = { + { cx = 0, cy = 2*TS }, + { cx = 2*TS, cy = 2*TS }, + { cx = 4*TS, cy = 2*TS }, + { cx = 6*TS, cy = 2*TS }, + { cx = 8*TS, cy = 2*TS }, + }, + [3] = 2, + [4] = 2, + }, + [2] = { + [1] = { + { cx = 0, cy = 4*TS }, + { cx = TS, cy = 4*TS }, + }, + [2] = { + { cx = 0, cy = 8*TS }, + { cx = 2*TS, cy = 8*TS }, + { cx = 4*TS, cy = 8*TS }, + { cx = 6*TS, cy = 8*TS }, + { cx = 8*TS, cy = 8*TS }, + { cx = 10*TS, cy = 8*TS }, + }, + [3] = 2, + [4] = { + { cx = 0, cy = 6*TS }, + }, + }, + [3] = { + [4] = { + { cx = 12*TS, cy = 4*TS }, + { cx = 12*TS, cy = 7*TS }, + }, + }, + [4] = { + [4] = { + { cx = 0, cy = 12*TS }, + { cx = 4*TS, cy = 12*TS }, + { cx = 8*TS, cy = 12*TS }, + }, + }, +} diff --git a/mods/ENTITIES/mcl_paintings/textures/mcl_paintings_painting.png b/mods/ENTITIES/mcl_paintings/textures/mcl_paintings_painting.png new file mode 100644 index 0000000000000000000000000000000000000000..afaaa935d26ee4ab17b77b4cbd5f622eb0efe928 GIT binary patch literal 229 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�G~Mj%_vu9v+gk@<9e{NJ5OI8;-fOf?QhVzF zEY<;>Ie+e;_Z&I?d3G|}r$AV&1F#W50^i3^PWu2XmJy46A3zE$HUhBAfFqUwES8ao zeIJ0004z2F_|lc<494+&df)P7whzE!8L8O!0oVw@MgaCnK-XG&+~21c$!u>OfOP;i z2^e>-zB53-|j3`pwAQKpP-2J&`-1eR}88>F_60%0A?Sw?f9RTZoA~lZmUG>f|DpI=EbZCvwu^nA9_@M5-u{lh*hc-o^j-~) zKe)`Zf7Z>J9yaAqyjG3kP^#%) zxvL%_AhjrnoL~^$U0qJmM9W%MZHTc;g+MzDC9|htO8p9ui+*?)NLyC~BtMuAp|X#H zXRp6{pU43uxIceV+Xp1#QSC;+2#pV-H!9k!1%-&L=rv{Ov$9xbj@VsBXFzeYeJ8p= zjP3FkM;Y?Q$XOW9n3jX~o)o;%V(Rq^czQD-(FmWt{k`6&=X-K00#uYB{=51(`Rcd7hbQj+r<@KW3HSTb9XE;PLgi^O^`TJ6ePdy+8Or0`lS5HC zg2AA!$)ox=f-Z@E>Xv@Ub0hZUue^)O^Ug%evZdx{!k=Hf@y{qb`dFa18-@GN24NdQ zr$8cEIY^Jzlbo)0)NC6><*|n_DsVW6&NtVve~Q#CP?f1Xe&IVsKjd|FPlg*g_yqRn zPhNXDfZVbI^C2BItstG7yNq~a85>GR?pXyOk+wcWiqa%lTvCO#T^k+c6gkVwkDi1l z9{Y#HucL7sYZkpn8{;hask{9z*gB)s)NOpzN7yQhgZ2v0c|CV7K#9WI zwjPhEK;n2gloi$0W?z0U`uqEb>|de2XzUz71%{@vu@MzTWrzofm7{vys#*w__#Gqt zA;kxPyxX`0+36wlL^>Vq=qQM$2%&$EYu^fRM z%RYd8A3#6}Jqmo@k4^+x^1>1$_LDz<3dB=4K1tE5%+W4<)>M>~ghAGPu*Q^e`cO2Z z7^3yQ4ImkXnILVhDMx!tJ5K%lmq8x<^DUUn5wf`z>1ks@SCgGO8UsDOC<myrtAh2tv*;<<{fBkv585kJAgU`Q%zP>(?%F-fu(a_L< zjEoEk9pUV-BN4MbH4nwbsaVt0hXYH~9FDECvy;+NUcwf1UYf*I+UcgDGR z@UDNFbCH>r3NPj?JPj{C`T$5*Uqsiy!N<(Q+uX8yVhLJ0x{((MIQr-OoahMbQXRUO zV4IW&a`b^^o__#_`dz!yv3T)fklfr{kcy&=*eJu17!c`5F#PrXEo`e2&5RT+ircA-IjqR8hy}oGZO+j&SG3tAE zA=KYt`roo;i^LD1(f;W-t4+C<4&5wX_Y4xo$2rI`sISAOo(Q6mTBEYq6TwU1@u0SJ z0>h2+Kgqnme?s<(0Q3xiLiVOrjY!=+=Px>{*a*F@t{#MCrDv6ykblt)uR=Kl+UlGa z-$t(U0oeWXe>0(H*VZl~{AJ_D z;=$*a;oOCD8A&jzh#p}cIN}3Ed{~IQyy+!Bc?>#0Bzn-9>@odo1{2cmtfTiphtW8t<`h`qfEpuP3K_48}EDW}$K zV8^7RzAayZ9Z0+W76bt4D#ESKv9z^dOEBbflxBL;3W*=9naU^lywFGZEY`V*2R} zr9%BzmGxrnDi}&5>#!COate$T9Af6P0~xamOg*0lG|Pn1c62B;c*T?nU1uktbN&7b z@f}WJPXw%bovWP^h^w&PGoQfzhZ{bhk<9!1Cu*-L0H8=RF@ z7AP14B4Lv=!yEBP{Uk@!z`9A1b=Zg!5IPAtlj@o*xW%tkfOC#)#5+AFqxH>a9Kz*C z;klrQDPZ9i@}UPG1R>jaRu1-+RRH@w008^9=fN;K51CU_0Xg}pL2Ma607E;}#_`mj z>N0bR0Y=z_{qpA=K=y|105$`e>8Zf@+MS)3L)El z1p7XK3s0Ck==FqNykGkjaoEe&@9V${OC3kC_xJZ#z3qRv`hV@+mBaaUVEaA*j94u8 zg&_8Q0M-Fmf$h_;DElb?ecBu}nfLck$lgW(mbst48^g)sTh1SL2awGB`zK&;9e~9; zfHUXM9Zcr^{S&aaTZ36F_I&^&4U5IT55P_VEQy8KhkfRr9k1cH-P}_5h-(ykA zaQ1)AozGz8VjaL2uQ;1GKpW2N$;cXidw(0X`;YW5gtQVCFiV&G1I{6|x`J{zo#F|6%7Wwj4QvD0&03n$58E+VuaQF+X5f`Ix<#nFdv5 zhL!J}GBbl-w^S4$x)C8%chooJ9=-cHWiV>M{2zm<+LwTR@B}l!9MjIiA}9(sWB$3e zrv~qT`UM`2d&*|?PL0CcX)RTx+=EYU58%^#0gNFVqvfyz(-FHjOq-E^d#aO zGgpkM-aDgjvI!49d~%2ORZ%r`c_|co|KZyF?8(y!pr8hq|ZFT z=qf+DEGldTyYlNUd;LqG(}@1UYj41#N52NPU2{Y~`oGPtzc>F$Cux)xXl=qu(bp1? zA-F`b;Mswmwvi2_!WKXsd^(iio@$vY26qn!b>xTjAi&$QU>0C-)>5$JK~)LnY)PBj z3TJF%BbPI5TUk|v4w^K?^4Qe%dkty~<(p9=0*}Ua^s(qPZ<++aWV0)QUku)^-wNIj z>F>;c(n)XcKJCR8MXJ_YB zA^(=aa(1pfSC^NHZ!;c4BYk+onSqVM)cJ4kR_y*3Ysosnw!)VrM<^y1v`9)GMug#h zHbZD%-@2xUaAQ~QuZhNZpYPD^%b$Gl?T7XE=RfJBSQdnuM)Jfk!8~d(COF3> z7+Y6&Wo#QceGIC1`Ceb&2()coai7KIT4Q{M6VcS+Z*T9pf4JAvjr$|a7nfHmLT6`9 zvA3<$TCg4tJUq-eU$XZWKyqB$miCvNSzHZjkSxh;KQsUTFf%jr1P%ud1Pn7X(|hkS zGc(H9vSpMkmRi)^#gLriTH%VQsOY|Z<38wtT8@nFN~n{Tw9ejp?S1yKn7}km>h&tY zk!8N~o$vGf|M$G^O_G=_PcaIGALMz4AK7o`;^F6W_l0mpTAa+-EV3*KrUId;A3!Fipkg7=YziSe7jd zE&|#HCXnShCb`IH`#u;3X&jSa;JO|~0iJ7PkrT&biU}$6f+Wv~Li3$-DTZaTyu6I# zxR?g|{&5m9?hJ4o4-7*hUJ{Qr`8c*u5cmo$d@rEi>$B|VTzdN~4?glJqhW!Sn~X;z zNP)tbY7X)mK!TucPyHn1#sq{@?ixCitUY{$0%8 z@ZW#M2btjaeCQW5heIEKfdx#Xkfofs^l>-SrmnSG4aL$0ShlHnd>n@4c_9mKO)M@* zVUMDaEQz4-2uePqQJ2AXpJOMF)4ScLQmas}*W_UghCOKrlh3~AkmQrt-jc<4Y?m}0 zQ>~PUq7>2$*RW`JJG^=EW$KM3uHI==sir(;LN6YZ6$OrKBkiG(Dj}lhsi{dTO;ZdU zS%1g26@E-%Dp!cC;=V5VtU^EUrtkGUpj`X(yvVmttbWMj3kxg|M+pWdnOuBXO6>$4 z$FZ!k+<5~UwJNJCO`7!@p6lS+CN`NC;tcvd-Mh21OPUwlcmMsIICh+)cOAudecIc% z349MD&GhV@o42@f{W`;bAA_7qU=f8KETiDswJki?rBScr`2pYm?kR5E+~)1GXR*m? zxB3_b_^ykU7bHDZt8Z+)dpGS$+e)#oC<&V<1es)>w1cxJ#+F?lYqj4Fbox|k48OB z3PzDrt2e0Eml%)wB;kNKjCH@~Sd2#lsqxFJD|9+t2K^zWazLqCrPJ+j;ruzgAmG;9 zw^&_UWi;s1%X8LNmhs8~wV=lNi3*BCzH7nuzig5)&TV3^?CPc=5&4JpSk- z)Rue(;{oF^roFqP41t71(@-cg9*^`cfnUONJqdyPW&!@=Q#OD4bUKZ>XUR9Mz&ohY zXog@S<@~w1=MR7U1r|{H&317e34e;CO;eKq$uw?ubB2QfgI=Fbr-L8(L{ZG@ktO`V z!!(=p`vax%cJJ(P^ypE1KhPwy+qy}mS|^TTiFrklvAfe!Twd}#daVw3ZfJ^0o zmSHM&R}QLt`Ac6SPYp~nCvZ)gC6{bF=H}K_9((u!ymE#9FvqbB49A;aW@Q1$i1{3^?`?6UAO|9gvY zdWXXwe}M&pa#ithn#NelzJX<1L~%?Ic$3&)N_sgcQ!1AjkH+--J$Vi7P6vDFu(DjI z-YDVN4i+X^nviE6X_jI+u2$;h7-U&0*WD;X&cy8x+3EJ!+1{2|=b4ZJFQ0x1-*vDI z$Sq|k*sM8x{d|{)H_O~;k2&+&Yy8gN`fF)-T0HgCV`N#vSHJO+bct%EjA23?jph1- zY6N)xnaAnhdW#9n8P{65_CI&t67lBJZ?e3TL&V!No>s11$Mp9p*#SNPMv{2o;$8c2l10**CZG8_6)!PfN~eCiV)<;Kk$vivK}6&wpLUb;xX*Jg8l zg(5eUVJMd>R4WZmzbx|012$n6vbG}Kglr-oOkDB_@#LOQt?hm}`}h3j?@aUVio>PG z&nWTJ=clCQ@W)?Z0j21!UAxZC&JNvPk2p>Uqlh@k@SGCiIAJ`Fa6E_2%}tiqj}XQM zyWJ7(caG68rc|!5arB*QODlv?La#q$?Z_${Ye#tcu}8S?-g~IkD%2`vHaCt?EeCYk z9ZIevQa1vJ$Bvdcy%lqO$>nPohKzbU+`Z~@->O5!wRq@}2K_MS`t6A4j(I8%K7VDG zH{LkU=f3bw{`>nr%$4gm7z~E^zR#&2oS|AR)9ZCf(uh`Tn~k+4rZAaxi~Ett229B| zOT1}XZodUKQ_{^U@3OeFDY$v!9rpMOEEWSzP^pxazAKeV#BoHY)7G`oI3mjnx`Ux& zc-IL)CAJo88^>5(S>uK0Uf}V^pXS8zlRR+m13dWP!#w=Zqwjn^!L{qRxpMUuufBec zt5o>=)o#v@0|O6!$8gNqm6Vx_svBM;xt=Egexejn2)^m7ujblP3WbGB~WnV$fJ zdBV-Q+bYc2BP}-v5l%z{SzM{_bL7+WQ&;?u$6sIpxx&6;`>Lw(RD3gW;Tug=_nD4I z5R@2>L-O2UcehJ(X_@=)yO(F4e3HRvM1L@pTHhayX|+0RZ|{=Cxk7|Q=Y1D?yAe+u zEm7nq;ShGZF(;cYzwDtkRVN0nOQ$oWQYzy*EAxhx%nV0xQ|KBfH zO@M7$3PsX^M7{2cuv!mbfa~~tEnz4zY7v(Nql32j+ksPM;j zT(UIBv>k?n5w&VbDtoEy%c|RUj%8%Hp2vUvZ~u`v4hei03<#r)t?O4PFtIETt^UhX zjcJ>pReivztq8|4NU{RYwYc81dFARhNs@CjDU>0AoIC9T+cxm3E+%X6)PPyazB9)=p1}HzA=8s7%l88-LFVYcs@~l1`R*zq|H!rFeW zxQ_W8`|Rh*^RvR5+-*d@`Ew%Q{PTx9zOcZeAAl5m)3g-pC#v(eBmlnt>Pv`#qY)qb z*!xBD{wP+%k8l`LtCcA%a6L^Lym zxF((9+__h2)SEp1*i)1%0eOsI?o(YSmwSqN;?3PVudL6IPu5lydGq9(-h24tFR%bA z+BtXODvv&NzZ!QKrlm^0X*VDYRO256u7tvuPM_lC*I(!C#mk((e1+|uE(Pirz~#%A ziNc7t-uMA|GGu!gzuU$OO(dp)!hzl>rW{y!4rG|bNf*!eG)aWguO`7zM*YpXRX zwXzlzRmx@JBvq-hvIrQoJ3a0?dY3c=t^3b)yz9-xbh=%>d+NJ<>NB6)w z?T7e*OQRal>5b_RT4YJeD2|}eT7JDpVH9%Xqw$DZy{7XUo2#^TcENCzt;q76c4wE9 zC-33v)r*|G=YFcSDsQ~@8jj;C3lOWGp|W=xaNgyfwXU;dT{`jq19J-c%!)e!k#C-O zvc_{b^zj#1pwnvc)h~XHo$cHFi+_9y!*nor!X8?!v9$6OFQ0ye<0tRYWRYfx z(whdTC}_SV*wpIE;>zVdphfp=Lyq72;Fg}B#M#rH`?JKGO~?JJfAWi^$p5Ni=eaJ! zefZ-qu)y`pZ=uE>ag5q~8gide2VZpuHE>*0dHOWTCEq#u)wLDUxX=1>gKvEO zYa*g)8FKSSqXcyq%GK+S+uZ~!hf-ie4!z+R)37C!a`eNQ~`2>?j}z^a)eq*MMkVQt11fW_dQ8 z*Rl+Pvd`N3DxMeY9Rf^A_sg6I_*Cl*vv@8)#vApWeF^mU-oL}IIWh#w6E}Ru5{rD( zMjf)e|KWQZa#e)GAAf-b3o@f1sXDxMW0yEHD3!|U4QQDmMGor$eEY3i#A(iEqs+0Y#n~8D^<9k(Vx!Px z^u);q&)(hSpMCnQCZeK1jY;#OkeFwhHB{CcCR$u%P@>Zv)2Nq8lQF;NH@?72ub=14 z8&|aGXgp4+H_DU)2V=E1ErG_~Q(0ePT7N%n$VoX4_U+2M*IN52@ebaO`S8bIU;(k5 zT)FikFD8T+*$hLI0fuc6WhScBa|*H~r(SZYyC%Q#M43PRXJ4Rw=?WkC&^1mamRtzO z3m9jaT=T-TiIR|)Z-kU;0js{lpf}=NJ7Z^@sfCwqXBbAxFe&)n+by;_iN*)D`6fqo z08k)JpxG#?T-kF>hE~DKa#?i%ufKVnTiaufG|K$iU-mSo&Rk|NY;)tr4l9isaU3fB zsr?Y9WSSE0fF>If=YAMIa`6$xQs$FR*}V6qs`H5o|{RGZZ49 zw17f!JQCar!{knT%;lXCAAGaJ@A!*f;%~n91}_dR>{^}r(h}WqLRMI+5=@I+!e6I5 zV5c={(KV7gzug;AFMA9N6T@>!Oq(Q+!J3R=tBe?B0TddL=V}Z>Z!jWFa{7ZYyRAOH zWpebchH4dZbuZ4;f%seBdxZy1)CmGxDaaR3zlm$-a~{CVQrp>voU`q>WHDX%b^mit zeLrCTz1ini*&ByF{sIdW6xyPTB2&knJhQcfPoCu>T$-fn^do^zi)vDG3N6st8AP;4 z8N1_*hwt9xc5fuTpxUUaFvm9nmY3>m@3d$%%S1_{7Gidq6Xdzp5p1^y=pAgWL!iiV zwszXMwu9l>#8HM}Y7(Fz2PTuiSYAq+<|+xkdAq0c6AVTnMc&dL13SAN?m4l-+ZS%I z++60$wOxMkGc((R@6jVqiyf}t-qyLjKF^-}89r|u=J@aV)Ytfb7mMA2|J3jKb;a3> zS2_L07M5d>#H!;*c3+J(rNnFTje>Z?(4rw!i;wo+3rdT=&bN4ar(z;F1aPijYGd!POF=OOa!w-5jH z^Zd1AYpc^(TR&&_?4NnQKwx@p_WoH5KL6b8x!LDMY+aip|2{BSfJHw5R~FbXG6{U9 zWxd-VGy}t=TsBpCm!&zDjfh=XCWcw48}HOT4{Zn2%tX*q;L*=Vtkz51+8vVRCL2pN z2HkR2w&Op~D=gUE$ zeZ^2pQ`i`^L^!cerADkU``iy=~ z$Uhlx?*BpO7gzw01vQuu##L{CQlMs@m{=G<7^S+d#vPW0A2`$Ja2;F6vCRg)XHTrM z4k%Q%+Zlu+qU#uJHmr%Y7hx%293`|nBiijAy?zf0iIDOb#$l*dPj|dU?M_kA;_g*@u|BnN{TNA?q3rvaNx(=@AYIhx#-eTfUKD&-u zYL|l&mSyXA-}b22D%7eK^1`52(;k4dIwMR9)>kX6G)pYieQFg)T0#)`$}F7S>Y}D0 zVXXXq9Bco66&s~#L9OIzQITWY(j+>)A&p9jX1#$E_>^l^g#w1-=^e#&3_xB9$Bs5| zY*Y0E!(mL8z}EFPVVFQ+Q1SvcR+>y<&JgEkMDRO%)Y*%Ope2+)I%dhK@BJCQ*UbOd zzQkW(u^P}YB)(}P2qtcMEl?cox+aZAS*^hm^95-m-Y7aQheGIR7f%cVsyg~`tx^Te7b z{lVls;CpB8Q@nQYI0uh6^ZNn|sDP$gDXC7RS`FmN`@TcTb5#~x6fp)dm8wOWglg=8 zVKN+r^!j54gP8Fsq~fU+7)er)r;ryGX*MCAp_1PW6Abkaz_2`;%_d$@(q8_KWlMNm zY1TQ?Z1VggCzN@hD72|Z5@$;NB}u9(!<|;l*4D1}DL8R#1=}|D?&DERx$NQj4m+J8 zOZ7m+KeAlm!j+q}x`RFY0qB2zAL8hN1EA;kAgQ3|_aL9n{}{9O-o!un-KJyCzQY0w z^m-kNLXALF<8NxS{+z)$!Y~S1QO9wJ-`%#mS@??Gn^m8ZWsx~`EZbKt!CGSp@2!Pb1S1=#AOQfn#8KLw_7y#iwWb9>jYfq#+XHTIcl7@fB^h__bly34=bdvcTHW#99>CAsQj3Tal1czP z`|Z~d8H0e8Kb*Skf%>`F86JVz73{r4=Xf8Z3RNN|9lChIB^ z{^%C|`YRVE#MdzceV)BX6ki1 zekQO@Q|I#{=k)(#?=PU_I_~s;_;aDTdm4sEBPL6-Ei=SP9ETH!lMOR7a~y_EcEicW zSqN^Jne3QRwq!BGkcOM4`Syj^Rj=#(``j~{9_eSFrFn8HxBK3zTRq2mzFbv@v+US= zlCiM@W+X%=9T$VR_?(qodFf_0t{apGf6PqJF)^NH|Dhqa-MfdIZn+!Bs?w7T6ORU2 zw|bCFCdI~$>xg$GNhA_X%+4`3RYbvjFnwo5HYVo~=*px}n9UUssMczJLE!Jp$jRCn zk$nkEI8$ioXofBp*~pYywbqcwfi3IlrrNY*kS$;ucnB*%1O!byG~&^)+`DgLwo0Ma zAeo5Ku*JH4i+I>#@1Y?)z{6uaR~0;#={yWW5MI7liUrLD*OmS7JQ@}Z)#?nN%*skW z{Q&{txd%`i7Ra%>EE>X*lV}W26l5#|G$v+?SdAuAvw1Xlpt{kKH46%+BGE(TKMUe3 za?2|zQpu!P)9e=xs;>|ZN>I#;cf9GRdS|Sr`tO93GmbP%7g( zVC!Jn4e8s1s1;};R|q1>t=42nQlmB^#gm`qCr1PgJ$c`;9VsXzTn*XB)x|}QaXtAy za9qHU>l=b0laLvZimu&mUJg@deLy_`@eNU2hn(fGl> zZlXhZVZZ~vlIq+i2h;# zD6KC)n+6&nA#Ocj0f?*SX~-c6!2yQuffODljwAZW`T@$0EHFYtM?r5V86Uf$j~86A zSze$2$g@!p_XKV@Jm$9^6#0dwZ_)6|yq}o&v+ARe-Y~ErQE&Y7UCd5R`2BkSm?i6A zQCLDaWYC>X%TnJ+G(x#v&1+b(e1QJJ zKJuj!hmMW2=fDu9s?EkV>*XrFmAy$;4s@ey2BsdwaWpD*2%3WYf}}{zE{%V{cwnu8 zj5BDOX!5&;{49HU9<*jnJOm{9!S%qCeWdV_3yX9E!!+a-&ydd)Ohwv-iey%-Ux&c5 zjT>mioqzZfFX-OP?{=PGVJP1}#krf$LSev9w)YSEq*A?zhO;=kt0V@ z)`=2G(T*5hz5OVNKL31tWGPm#gi{8uTNkWd#QFvLhDmpX0bx=DXl&gufWqdrgOWcA zTQ~JA%B5CgRKGJ%ZL2Yh|GUk_4)l{>;PR(DSqOo7$u6t_;pdCb3d$l7_glWJKB`yS zKl*du{hctkq*?F(J$?uQu!JR?3Sv#XAc9zPqTI#B!@nGU@d5SrV;sYTex#n8``4u1tRQJH+oBo0(;> zyG#B~bzhY;`~L$h;r}+qMhkRB0>n&>NWi2kl18A`v{4ZE=eyVXJ(fwd?GLE?YK*$y zw!iwWKKmek_k!d7D9=pGzuUhSpsn9MHdExT{l^&WPD+8`hYA2Hzh1QY(tQd?PYlm5 zJWg{>fHM0P`Iqp2shaQ1ao&b*b{?ML|01qDe+A~L2<0c1AbUBN=c-J4u|CKtYXOvC zShsrRJT(9l_@S~3^FakF6@-8iO$eyVH?n2ej~s6X`Og5hiz`=oF{*h#?TI8D>hLbIf&y{S#|bf*?-e_xbBBv z=9TaNEXR)>XW#A}q&hM<<_uP13(KuBxx{(@-tC-q&RKMO4o=g(cufxz9XnLHkfo?{&|CVUig*0soT@)U<8WZ+sc+3kO%5D@R9K*9*!s{-?n#WXpU)Bzm~Du7(f2V#T4=*4DGssN_9@|c5K@kr4u*M)BiLowL0cv zN^Ae~`+r42Xjnlo6$2>F%+L;g?eBkASyfO;d`XpEUc0U{b|G z)wzm4z^P&#EMW;MSZ0PRq$3{t_WY1v{`|W<@vA zq~8eQNeiOMig<*5bsGb~@G#J5da7bqG#yX(&^;+gNC)FohVNlu-PL$ai%e&XNGVOW zZ?zOQI&v`B4Qll{(z=UPuA>J7NI?Pw(lPXUgU0kRp8eX_aPr_`cHVXaPkQ`Q86wD< z6-kD7b+hBo-(v06uO$_~jBqlIrCC_vAYuL9#jgf@^rfp+8c>i+S_2BI7)R9)C}OEp zpkMR*tOC(bSO9G`zk07CxvBzG0!s-gA((`PqOuiBSPYh2fRJl(?xksV-RBSvYuxy^ z>*?y>%41*nDzdo>E7CeOSC`toSZ~T*gsZO0RK;SpW+T@IG#xZo!&5>)`uZUMPt$Qd z%oglR3Vr;BPbz^TxV{H<2WvtIc=cHMHb5U6lpkH?bE= z=LtXD_e`_}$0_3b@zr15BGw|b{zg%dB(%N|RLcJsfXGgCF@_l3v5q zJpwxNneOQ%VgVY4s7tY!JUNWrFbEkM&1N0Ll>P8*kBQ^M1l=luW(m7iB9%zezkVxI z2X5!Y%mkxD`zY=CJJso%8F++6dc{$CI(s>O+qDd=IG@X&_(D<#{+(Ao=`jR${g|#; zl`F1%0(boGYb2KsoO(;JR!q&z0Y_1YPEE{9eC1!OI(|{g+e+r@;rWTD`uZ{GF9Y`N zHmrn$m{a^lu_oaKS3tO>Oj#8HEnx}mP_Zgh>eFn!=raELmr>kufTO#1(34ump(D4D z+fir3ruCSq4h+}A(RCTnO9euVmum>xdm4a-Vd`kEI(11!|22ZHhaS|ZdLe4LGNt-q z2n6UF7^G`%5@)2u(6;ZAT6-0VOdl)Pu3+!z9=W=(V_+p(I>zyv?&iwpyb5h z7he1@Uiz|k5!P)yxysHV7BJCFgN{%HErdJ_R0R7RDG894f@9fKN)^Ili?2|aM!+N% z3v=GqOZfa3zD_iifj|&X4=}v)j5li0vYvZXnk$^jnn^k=jC zhDTG$uH&L-eS_TaEqIY{5RWui)ps7N&VM6>V^o?A8m@_3+QImtlWbhGi9V~0o#-WV z-lN$6gIl2!%*BukP__51rnmThN}?+A`z;C~0Q~pWXCY9;v&BLQEH%dW?nUo#yo4n* z>Ncat_R|rKbHm^NN>Fz&fZbUNK01YL?x5kMox2Ur26pm|C?)!qnv!N(Hn)kZ_>F^!|UQT$m&f4G`{F$KJnwf@oJaxsb)GwO0{MO>=z5 zhgkOTuVbR2nJ#+gd7OLc7RK`@`RjN7gLAKV0$ZE5X(0|Eja~ z1;HPRU5b}Vcb6b??`BBHi#T+cI_chSp7G3wamABAO28{~;ZIcr&4iv>RUg=L z;kpi2G!!Nlj?$A!u&g^u`S38yGjSS?3Ipjd z-5C?lc8Qns+y=ix)laJSHZF<(YoX``b-_xsFV_lSZvb zI^<#3Es_D7o>wTj_j#nl~Zio@OWtufGA!Fi6MZgo7q~ zuKzB#{P2qeX|ig~CN6vNdwAk&K1j7*!k!(WksYU5FJbD)LLmLYIImBc+BCD{g6AQs@Z`~316|8Gd+;(|`46w<4R3h|xsyk@eFP z2k1(tcQ}o=G$eK|{lET`bqeb!<8#4&(RzmOwzm z(p&_zM_jboJCpPE)e+nZ^Bnu_f9C%z(6;|VE`Yz!LhtndMis#P@gHy2Si=8Vyx{Sd zdWTNrIXF3lY3eeUA5WNccdzH^PkaJTe#SG{d+;yZb4QM^fAvdDP0iBTnZh(pEX$I< zdbwPq-mu6QDwHc#Y|AE@*v`6j&m)yeW0-~v8qQ4TICf%~V(AbBW_jnE{)0f!;yKTL zCC_`&CA{dlZ)WqBbI>%CH@yBWtX;d7fBV)qn4B2n)o*w&pZxU8C{5<*@7P4wx;O)? zH?wx@KhQ;y+3^uBeB{;4l$)HW+5G9d-{i5+ele~Mj_cxj2GL9x)x$sH#DvAv@sp%y z@10)&C`5FZQ=we5Xhl2{T+}m#csPW>OttyY#|G5j_Taz&!L%Zl{{H`h`D3QW|6c$c zm;3pd0qE`Pq*Sfa-JRgli?;IeSALMMfB9Q{?TcR^95o3BLn?M6Q+?TNj=S&OM^9%; z9xk$KFu^UieUFDf{JC`XoF(h`>-B~V7M>WHWT3B$`}X|@pZL&k!KiZOBc8_dUvdGT zxaMnwV|{$_bDt;E*@^8s{QGyl!P)E2W6Sv$^Zt)qj#G#e)s}I^vtCCkQY9Gjxbopo z#WVucni|=1mGnSAU--u_@UX`}n}f%Xux9-xS!C4H+lMysZMGdxv3k>^Ir?v}#Ow%} zC^(Hettf*;!**zgMyb~JS;#c-3kf3>Ch@SR@c)7YXNJ-pe?VaWNQn6m2}h~bt3YVp zX95K;0F5SVFS(5QaBSOM5R!cm5bsmiyrO}?x4!Ti1Tv{G^C4HLb1KXg%bY3R@rfVL zOSBd%Nw{vJiL|N+0*hT_#Ipr0JmLBYw@svAg?lGHD+^LQQ_H)>{r~Fu)mi}0Lz>AL z1`}g>mM!Z>b3E4doJ$Bn`XGP&)9-oi^PY`@+L%)m?rdJan&1BMcT^h|#ub;ccFiSp zq*h|pE3%sJ=y73TgqY128J(EKbEB9658VvNTA8EA??vuH+-S-G|JAoG5oV5!63{GaxnTx+2igAnAM@c4 zyqed4?mq}SlN3+naO!b_>P$i{l)!70_{ax8!0F)4ANn)`Aa4XcYvC{CXRrMMEQ=4aI za`?yjA>JeU`JssWUopQQa>XCAcAs#>p;*q62}XJ93tvPu7$X>lBgap0=+GY4uHAyl zpxCx8U4U$%K>zZU6moUOW{$DEZ;;vPEa6Cixnh;Q`;U=`cQ7QfeelZ#knG-{3!j)JGlC(Pa`*bg7G6mjL$aN_OqKQ6gA%Z zhHEI!l?aC%jvqcuZeo^dxrS59@`UHUf=561wPbhQ#O^x}lOG=aq{v$~Ei0>o3f+D^myTU?a zlt57LSAxK2T85Yp4MF}zqA)!yg@7Wyy64B*trv1^*LJ9bUz53os$U3*dw$|S=%%$G z$U>_lmDW5Jl!k4A`rh`SS4HIiiuq;Th?ziH0Ji6#qtUcAJZyRN_v_yHGT!>8k6{=d z(=)T&e8)GalwVCx&oUV=C=}-S!{2U|zW(HF0SA|2Eyc>^9)G#dg zO0C|wztvg2A|SWw)=ixg$Bz+<4#*?L4b9}*fB7=DV>2+YjP9NYYt~*xBsR;hfBh}2 zIi1e#X|CAxDrUxV#Jij9Jv7RSpUcl#o(w)21R>)%D-H{SR=!r>my*?1o1vPH+>CcH)y$8)JyD&RU4i$#*D zB%1C~s|)@JVKB$+M4n{NN@})AbuLS9#Kf{;d~AwGUc6Dp21H8Eb?c0dj#IBT=tzd7 zCDGfRV%73qcJICqJLXch#<}XUbJ)LYl#?U(&>6XaLnn@Nai+lTJAOfLUzqWsIp)fF ztXd5Zo9(xJU!F_&*WVuH?|=L$y4=dFMzt}+J$LTqX_uab$s(Z$-Iq>Kt~c<(ALR23 z5%rGKCV$L#Po!TI`A-f_;<>P{+oN1AbH#=}4v$W#6_gKp)upLva*q8oW#|nru*qwC zJnF6Q<@%l5+0@mGz_lNF*D32!6n^rXKcVosYu-WYegM^q#rU{GxC26NfNZuzG^rB` zYh3;0s~J6hoI);3qf)}wLj*!$sli=aMh|5val@(;4u_~U8kmMjBv_(ucM>p~G@GtG zrw=WF>o%#@Y|xrAfM{DTXbxc!Qwn+LjVxAqhKSLD=i1E93^CZbft|U0m3*u6c-&`^Q8)u33I!nT_@4#=|%4TE?xNGee#V8cuaxiWF%nog>vSp>{-etKS$ zU656MR`=ia&UXp{prZIP09daBiHJ<=iF?9A_`(;zh##%ig@^(8(3bcLg4BNUqx||z z2WqUc6qG`!%Agy9{89)Ei~c_Nh`;#fLI^Zwm78$7+Wx-!G{KFG2Lp?ioVpP6+I#*<{BiiaN_=($AF#Pc_)QeXMu++Gr#^yT$ax+zs8=a8Wfh<2Xz~m|6S(EJTS$a6^54+NfqTge ztR>wePUsC$6e|IBuv}rvS7iCGr$fD3qtVdFbm+K%YuBmN>sa+N!H|w^H_$Xkrso{T zk(G$L5k}WtG;Au35|-v*1}sW*73z%;n%hSpeUgV?>2cq#7*1u3Y~?V??oA}>L9*E_ z^+t_gz>uj&GiuPA)JY}`Rt@%Za;D7eR1w!Ph(t5^_XF?~UXoTcg}#A7h$K-^K|n!# zWgW}|^*+%~Su5ZV_6bcd2rQZ(g8c0utOQ{Rh$cP@!6DxJkU|i?wJje1rQ}ywzG_es z^t|`V^Vh0P%w>8xG`2V(T3J<_o(x-P7i65*ghE;mW7Hb*q1;WjI*S(cz_pCAwrnT95w3-x-L zX2Zs_>x6<9k)TIkUz}((gzH#@f(9c8a?Iv+W{Z88y2XhjtLcaaNM$nMxR|<5Bp9G0 zWw3m}WAmmMMmR(+7iH%@le_O3W^`FrE1IbNa-R2onPZQ7dt3Wce>pZH?Tg26%ctWx{`0)z@;{)qx@A!-6tS}>7Xd4Ge^ z;d)zlp;Q>Alx?)DWNSz2hcx={H?f757UYk|s z*O9yUVrT|dvr05z;u;R;Y}!IBS^>|)Gz_MvYFzi18wf=b#G-jdhZ`K&eH-C$f_lT2 ziYzRC%X$4&b5)L1wh@kW6Hmm5#Wad@9;H&2BS&V41jE$pbsR6m+^mOTxN?)we6CKV zGDmKvL@XX+Vq%t=EHr95x?xi*3~{s=Vdc6Wrl$(@40cIZAr=jgPI_QgNp}RP6-=h8 z8g6BroaNDMI8+-Z;Nmus(1q4+X9WnqzE%5+q9K+33&&C72hO}PY%cL72Hf0MyH^?Cf*;YGbeXn!dzIzz33 zWYHz4hk*S3AyyyyNlCbj=UXeIwAKlTB>bHfpScJ~;l=j9AP*oln44iOF2>FSRX59`E}n#>%4i)Pkv-3GSP zkb%6KRU;TQu^M$sr4pq%Ar#7_G8&a~ncjh3`Z8b|RXUSREV1iPLYHxcOva;73vm3T z&CG07rX_XLrO|LnCBztqO3gw*Ured57E+P_`6B*4)Qa>*+eiMD6>uujE7FRlQhP!O zh-iPS)))6gYbAdot|3sK^8l0(5Sanx3MlP6FY#L;BKUqNLN8w#M!}y2P}*Mz3t<7Y z3X;>QV^5}I>Us)|UQyT6evg=6v{sXN&u~@}wmdV;>t6X{#zsaF5M=-MT{GM;9z-FM z>LQitLgDX;r<1$B&V|o@+8PIUh zXp&AD;2P8_Hgj`D>QzyTP{Xz?blt(SYci!*ui8{C3#(aY=brt= z8vOGoKe}LAaK1c#YeA3F;MUxAt;8kfix;#)ksnY(K(xha{Y63$S`b?hTtN`qFF2I2 zaLg6{xgK&ezqKtEf*itRU*8)>;K=T~8CA-WL={T60fukF&U)_OK4U$eJnVZw( zLZGJ8lmsoz)-ZGn&#^Id9bK~sM_lO!h#+A!F8P?4w!@)2CO=tIx8F`q8WjT1RhKGl)>u7F;p#%HzY85oC&hG66 z48tbXWpQv2xwK;@Uja9@JRt2zN z)u6CIj!e}d(kV5*z`ciunEK`SSO~9q#|I?o2bK-;tDpUZKmP1L=NBx#IsMguCbCkG zP{ZZKi3+-wWBZO-R;+cY*DH9gL#>u)ZmuMk*;cA$_U%4Fwpe9)+QPHv&}kA3)G)*f zynd5H&SYk~&e4N8(s4L)RA=9T36e>JP$+<*yX@H~(sMQ^N2{0t7uOYTLJH;VN1)|ji5acqmZxg44Ule0}QZ2AT~dIrOUqdK}%r&!4{J(Z=a2kGK? zhH?Q;K~xp_kLe8*Ui2#W%J9i3~LHPWV{M*0r`S#?$^G->A zaou&-O)@apetthZ8kR$$R41GckS{c-S{gICB8DC&n>8?W4Lq0rWg7K*7Fj<)RcC@MWO8YDSy{#26RpqoGH2?JQO$_h<&Q4jG_}SOLmF?g8j?4m_3U9yW6O#0oTz)wp z`^0DY*^j>OUkpS$DDAIlI-0J@LYhjYK`3O%*jF?hp=p^ofE#oP#hWxOSElD8QHu?m zgFO0)X||pnM$))`KmIL0~W>QcB=iY08XOs21lpjj~JkcfxzsAK2> z9Jj&ToJA;P;(9hsr$IDcMGuPLUI-Hi1PpAw!m?%1k+JFO(TRj(j7?e0)gw%d*U04^ zva?l6#VTu7MKI9iBBw&7i991vW8s5ARL#G_Yv1tZw%LMKD?ltUR(SJU-?petMU3Vx z2t*dxyz{+hy^hab`9VH${>Ah9_Fb6{@{J3aoH>hX?IIE@dnpZ1385i`fJy@{dLs>` z{UgR<{CMv*ALX5IewM!}%YfdVZbANe1q7i$+xZplzHOhM`2GN&|JwFF>hBk=9iD$~ z9D!P4mc`=X^}n8x(5Y9doWDGUfT(P1g>Vg8an)0vqsT9=sxDyBi-E-7F4h7lc%CZ* zfo4zy@8sefk{xl1r!9PEt9)Apgnv=vX>_LKI1QfZ~Z`gpqk;8{uzbkOzR}6t|Km1Coa9}#sB|o3L)@Z*N$2Wg= zI?Jko3_FjE2{y`VLJ?)BKc)(QWFQgBY`yGJBFiAjf8C$|#L&TAvMxYu7~+SR|6jkO z%G1Sv#}CcBJFAPQHl8&|wovB6OIC8zjU!|_b+UPlN=c(ucd4ALfvdB8 zg^3jv@vIQlnuz|}jEt6v#yq;a5{!>GSg|6>z%rdwzacCA4sNgDQs;4(uOgFJL+*l; z^j#lh=bw?{UvWbSeEK8ToYFl|F#=UO zEUwB5P*7GtYnH*ERutq^LO_sJ`0s-Fiu@{&mrMsK<}GqlS(>)pN@#!iunG!__X(l0 z=m4M~y3qK-1!#2xuD$lNitLK`vMmOxuMh~Lec=7CK;htl5l$D1=xV%bzUMxixhpU? zJ}$|x{QSaf1wT}9ur@n!+FP&-^7mwt9L(#SvtSp(Sb?&&m zfUXBf#JUIvpd%e;Y6`Yq93_=;@jOGgA~LUUH$BG2^0K}^FN2LiZv5*s*M4D?yLXf+ zR2%%|_apqADpFDvpISq&+tfzQoh8_?X%cc1r43qd{Y^?;8&w?F~lW~Eb zm5-8^!F&*8RKyfb5LE^5L{m^v{oYPpU0WM1P#XV~&;5eq(C#7GP8Y4D@9*nW8vpds zW-*R1=>_@QL1_QyUOEWSE($NKAMsff9trY`m59oWKjnB)Vl0G!umps4uy6Za3kolx z`NxO$@Va+=lNY`C1E+QoG*1cuOZdlPaaXN@uIVzM=YcH5L33rnknJ=XIyOgkTDTAa zDrHM9=9!r(5=%C*3DB8Jvia;@V#zKJAF2|HXp9W!xbwy-46%fGHcQ=2Ff%htENrlO zU6hx-WCerE3|UDS4uctV=lUzPnT?LY5=p0?$~$_ntk+n-|e zZwjKUfK~_%F50!V-!Qywzi3hzd@E2nyL!2(*qe8L1;h1N759`7Xk81Sgo>JrHMZ}} zvT<2ICKioyh)StJqhVsZaq?v-ZYQOh$LPr%$*vk59VUG}@aV@yxZ+`*tXO3d zFavTU(pbWjML|Im!ls7Mea)tZ;fd^pjfV(cHW{BRFqyNkEQpwz+=KA1yT{P*NJK$< zAmAyWpQ@^FcxGYk->!O4jZrlOB2J*7Vhamd0YV7)o4^-xV|?At3G%mA0}AawuMqH; z6D#ujE5ZE4{NeY%%fEmBhq8%a-tYeSV{uOre=#P1+rDc4sX_&TiOFnhTeLP8R02PIQ?-e>Ddv_}#fI=(zzx=`1EH(9cQS-_Cnjy=EPs|Lk|?eZTnITU`Lp16&u+fn-Ni-q1aWMuG%_A?lWc z?wQmob*dGU?6e~{wQX7&$*?FGin3;97ZEMMvgHw;^W0?|o;*gb43m?2nqH7xzQDv( zmcD+mHo#-&o*AxqLWV1^juMF{$z)8ferklrJu$_K!6dO@N?IYQv`#dl(VY&_+hb6* zngqig)M{msT@b%PE*v^*U4}>~K;5!&U5#qfreSI1XFV(r>P>kc&+!n@=hgm^q+k2{ z-2{I=-+$kqJy057%(38#Kw$+4As|`{R8(I)7utNmYCyjrP)(43v8g~M6wdUyc&1!| zc2MM>@1FAQl`v45fYVv=C&sGgpKq~v?kir)v!45WzWRcdg8WJdNaBko@QZJLLiV}( zxi5Lpw*(W}0Tm;#Jx|31IC}Ib`DO?O;TDKphfW+nD#`!xkALU1=J#Bre_SY((R7_= z)1q9qsnzNPjUY{{DWmCbQ|v4pBB0s0T9caXkk8gQuy2n0_RVr~s>*FQ=h?V6!P(~r zSa)`iH@@LKHl3Sh*@`%ZXA+DXeE1XVNF^J%4TGQm`Y1bgHo5(dAp7=L$j@r5S{r2b z`UsoPPO_{gLw8r2V$H^B=nRkN2nS3|O}HFEvNI)y#>+BhplJq?n1SaZwS6!cz_B!J z%R|FOK%@ape=tswUs(l8lS^{@vjnwbTPvVAJEPVIw5_WLHd@X{o?nIJb@H$+FwWdFe;LBqtg zLl~489jkEl6E@HBVt7-8+|4pyy5<56U|QDAaHm##*4N0gz-5{)wS^fhp-DA9Nm zLkkfIH;6_eSWRenLXdehn>92&faiI#p=k)1GSZJFw&_-Rf3d1h`R{GZdPUWrup0c& z{8qrfUHf%q1&F!kHN#u?@@rk+uL!Lc3yF$BMS2Bg8MOBE5ns)*sDmZ;&&(olf%4_s zX#X|>w!Y2e2ncI`!_guLh?Y87nl%DH zR_wmBSor2wcpyeFdOx8zsB;1EL%9fXp*&_s08I!EQCPI-LsHc~|7c*~plJbI+r{-< zf&mlH)@d}PaFG8qb&W<BEj$>4k6zZ2XDojoyG{AReIh3l-@kRqOPI62zn z;ISf3(<7BMDdz)(A~vQGLUSzwW>B6~6KN3H1h;};}% zyXVRZP;~)v9{^C_AruDi3jwuyZ$6X$lzRgBgv1%09iZ^y7reml&o7$%uYc=D+1%ZQ zz>e#$6XVsGGlC+k|ND7otxy7>J^2@D`YUbfC%?D~g16$CiF=s2bg)&k3IWl&7GG5A z2}{6V|1bJ4dP^`7BS`6;ECf|UAY6pL9)q>9h&newTu(W_f~JG#NI`(EYjmW7%;haW z15XpdKyhF66WafQ13?7wf&>GeTma;{U^q?AKd+xmGR)YpL$bTd&wqB3aHPrPco2go z4&ZoIB8ebjLQIa=2?SiWZjIpS4yCL~XO{<#M!gVcv^dV%l@YezZBdymNzI;0it`36 z+@?!!SCWbR9G0zP^zYjYPs`$XXKE7&g z$uCIa|Ni-}T`LJJAg=Fz-OE%zMIuF5^;tX@+FA5fW0fV)8r4_F%&YP9&9APasp6hf z&VOj4BH{zGfXJUl6wlRM{`vhD02-z>jS@DtOd~cMuB_=72gF!TlM}}q96DZM zV%P=OBbRM5J6)&Jbnq$$dy5-`|!EcF>WEQ7AXaq~hqBEz5}GQJwLV zMQOQ6fu@<%surfu{<@9?8nO;RMDs=SrS_EeZ%1w=2-LlKpZnjXTn#m^pPOVq|vZsU`>;zf=9p<#PXySP_rwZ$Giot4(%^F++s|))IL*P`w#*>7 z7L-eMOcRsSpO@ zNV0yyQ4jD~x4esJ#Gp_V)q??~D05vLyD5LSH2XE=`#cW`bH3cYB5^yYR9-_|ePh&j z{~7@mYw$skQq=(nqWa5r6&8I`ka{MF@0+I$fqkS^pWB%6VyxeF@I7x!_TE%%(Zu(U zTQtGjykC$-5MG?4cmCNMIYWrlof07J(t&MG`Du@oUS<6Q+k^S$_a9u+UI-YPylNUU z7#IrbqViM<2gkLf|16%njw`Kza5zGvpyBBr0X@u~UE{p!Rjc^R$w@rTWn{ELz|^sA z5hT!>pjrXKo{8nxk)IxW?-1EEV^+7p>$0W zOKx5}IY+(T#57EL`yznLZ+|yQrD)NxJ*kn)l{%o&l<7G!jVE^=_BFxi{r^EGMi2Lom5HJfnQ#l>KDx=cP7l!C<(m5H_{mlFp9CY6eZ<3PizU`T)4GYCqwy)yF^{6(LivJGZtcVj5} z-ut6J`eSflASS1VKiDw~?PiiC34fVc&@IXGPc!phhGpj6XIQ4^z0Aza^s~nxOHBo< zDJ|0j+~YVWPRXT0OA(Q3mb_3g_JH^C!GwcVv3plMT^TE^V%y*1|c%oG=^~(lP@ea$5hd`d{Y` zcLvbVdsxTFx?i;~yBWmLv7}7$o+5^KzKJl#w^~mX0W}N|QOtwB)tVuytxv=VAz~pA zV~?01YUq(w6n`?3V;fKA;RAwTE}X<58C3-oHIH+VY1-q$J#yM(Kw3s9a})h~^BSa? zg#)Wiq@na51%J!vWY_$cVjS;ue?<|*N0 zj|)awD&8l$-h)B~Zf*+e<5=$<)0o(-14}B12n7W>iMdda_M!r(`&9q|#1PSD2q8F} z7pOwYg=mg>NqDE2fe6hA(vrwIQ!9Aq$hA_d;JqGc?c6yfLL}__zrw{H9|Eyk;e5w5 z7eX|uWYj6~ zg_0_Ka za;{h|q*Msut-TZwsD)HAR+TC<2Gm;dZ_z8}tyLOJ&h7l(9Hmy~d1~YK!^j=(44`2* zC89TyRJxVNsbiX#lhC8##Q+cD5OrXVqOK*5D1hO-VonI1YY8sS;k%9ydYlV**P-e; zI}22)6ljUBT5wL95qNX>aMtz}SpgN(o?0t8UA9)lfXcG$iSZ0jN*XEiK;^- z--xoLN*9g8nDD+5qhbnk%G4s%47ms~M#veldNN{f+}_UZGc+@t8YyR%v>*V&9qxeR z1Rkt9iU?~J#$_Srna&9n(CA4hpr>Sa9@J0?h&t3xDelZL=h_(O{E-ePfuMqSinCKm z>SI8C$5KE|FqfN=n5#G|Z7q`uOb8B9p;kcF)I3n?j0l){Oe2CPsUuY(FFPu*EF;*O z5Vv^W;p~k4?g|$=(l`<0>c2c8R~1TuZXH?X!tQ!ObmHNI4W`O_Uq9!IZ_aHGOTsvv zsu*qNlX-JDP*BVqUSWM6x!y0tuA>eMhas~h+L%_}JAoo#O5Z#BcuId49E!Ac=3MDQ zWIs%to%KLvniAu*;IuNA0_xaoKq<{gOD#|<)10V4a1Ie+m?m=0NCgl?g*)8AaROB6 zoPh~m4b{Lrfe1%BI&+LE5#t8Tf%;RqY7SMynvfMenE*b#MZ>}h^BvwwOJy~s*0Ig) zo53vTzdt#UH@-;OdC}mGdyOw-Y9`J5O z7dvRlS15U*3&uPiSoa-V?ErY~wKHmkl;Pqq5c-IP$jdhe-ubo-U;Dw;F~wi!>So}L z*ETp0(>QV1&vd;9sVqsTN51{-Ti*AMGrs!G7nG7gsWJ^d9FbXu$+<8=Up0#CNMB z&(P4}yhod{0HRP6xmL=2LoT`PVbLQ@)N~EHN4cePKYn%Y4ikR^7$sRbFSXwgkxbU-M-@D)SIxjBvIIlc;dPQC`OUmS` zT;IZ!?PM$|w`T*N|LSu@z(lDvV^Ybr;H*$<#YBkF=zGs92F_QJ%_?y3yk~B|_iGdQ zd*0ac_~Dk%ed{^5hq+ZxX(^Zr8?Tg-Fs*QGTk6+J^nqzfq*Tc1w4a=u9DwcFmQpHr zxP#*aKK-p%6ol_RJMg)0zhq1ms*nqms;DYYcL(C-NX1yb`<&oB;bPC_?dN&N8;?+f zzxn5XC$+oCRFVZg->7kW^ShyYM(#sKweNMAg0soFy7YAbR zStg;P%>d8NBjb<}?YP>HEMrEbu*?Wy(+7>1dgE2ZYPu9%`?+`qp?RjH!f;SP=y*yX^s6Mp-Ro=4jikKgqkUc7k0 z{xI9pVKG0dX6U2%=CysVzk%KgVr;ojO0I=uFNN!WGMML0%^6 zet<*5Nugh64%aikxSbg0rJYY|p_GCNO^p8;^H@=>_~@BaWm*ciH;EWmhzP@N1`%?R zW{68xT=Y0q5FwU|IZnx1D=B5D8P^Q3Ko!I(P+9l!$iN%-R(S7NZ33596V8;I-NI6Y zt3%>yzvE`VPy|-@I!vXBI;!ws<WF_KWhPSC{y3Oa9DLaw%+k&%2%;`0Ic8Y``&(^hxfMJ*T9$--ucdl#4aKN>Z~Pr@UgvCQF2OH6vRC0d$105o}4eJ>42CJ zVvp|(Vu#v<$R$-4UVXTYU7__ES)NnVGfKWj88AO0!$4-D3lodaN7HhgcPrlg zvM}DlH?ImmxJ?|E49+-Ah2P^p;6h*=Va}CYDyj~&$MufTIo|zv%hh3FcQtWwF;bF% zRJP}#RSW1T)zh-D-!C{PbU`U4x3zLE2o(XGHy&<#Hk-&e7cQ?C_EW{VN>Js^{mfxn zNOL7@0b8Xv3a5v0FaKkseVPkFEwr&5m#xu?1k5#q* z=4JnDt83WZ$LD0`n{PhJ`Li2D)^KubM3!5OwIo@ANfJzKiDDyF))o$m!=V zlaKaLF>r7fznt;RQ`Z@Vir>BO7Qgx1PcvIqBG-d=L|TjVu07nHRdhZGIVYx>j<`3k zXgZ3{oqX*GAJz zplcP^?oF7NExYrQvaKmAN0J%>!Z8pC(oW=ABGZ60Hmtfp-2@>Vn=;`4pMpS=IR1f_ z;CKw^8Y*WzTnR7eg5KaZu0AY^#qSTbBBO~)_=z6^I~{y^kIJ$SkJvAs^DAt$M|4fiXppe8v*hN^irNK{&AYc(NcD7}0CXTW5k@QV2qNW)BTd@RF-FVxLO{Tt zBDK<5X!Tjv-?K3;$V@~(i$yUkmX2PWFwRpk6*t#X2K^Y<1||zha?-Zk-kEWGe@W%U z(3Gk_806CHx1AHSFG~|nt>>H?Wh_=T9g4}K#i_vI%5!_Nplt*HpU&QN!p3m)k0^-a z1R%5J?SW-)T8rGQn_51|cMcY)VB~|gYBWh~WYndJrTR@*o(m^OGP7PAj@Vw$dFz{A z#w%X&a?&*WT=k0t07{Woz!-=mKyY0k5$j=()A;*eDcD?a%?~y|3@o96f<* zSqtai>6q>Fea@U1^5|o`pIK^h9PCzXY-TiNEv=FY4r>*?JRwglr%&|grH0*uius~t zRW0cc3Y=G>I0n6x^IJK+%n;+DX@$OQyb}f^wn~y|-$bM)FqW$(TTAnafDY1m(Gp3dSROr zn`>OYd|4_|5OOd<87n56mW3Y!%772zD+Cqcu_#~Qd?Z+GP(zgbdl&Q;KGY~OL2d*O2L=D=L&Co@tEJZzh=?Ed;#-H$VPmCX;V{sj(|YM zYT_(rZEM8VMvuc;#gk7R;+>WWfYM%`Yot8u<3z@6MjJNAIcH83Y_0d0&1>4v>>2cW z5mhx|SQMbatZQC!c1`f#L`=_Sa=y_9RaQ_2dGOxOuY6sd`bY$8Tt-nTT$K@`|oRZJ$0v?tDi5Ayu~cLx5y zBEaQ)|9rAIP5`-ux>YQyKprdULA%g$|1&eGUgKUyC;H!#Sxv7<$kT)(k69ZOY^;qq zedYvf8)Iq*s_k&PqtlusG6K$6B^*3nA^+OXumQ5Vs%jJ(hzU&5x(6ypi`m{I0Ny`{q8OrBe2e?^_Vn*o#|Ybc5H;GuQbp2<{$lKKJkIK zGpiaxKw5@8O~gbkn~v$CVRJBG{ajAj1%Zcl4r|iba(CH@lACsct_s}Sor`BvHqbRl zTV#y-KWp|$(EqD0bDRL=1LVAxUcYW2@*Ts>a`}WMkW;mh$jrpbZoe$U^ovY3=0>9t z+goFzB&O~>s;meoJPN0z>SCRx^Bpd981FIOBHMjrB&xt`niBHy6(oXDIaXdwaV z+MBq^J|tQoqM#DmgMI45IZe~jRu!N8&}+DHV~5GXOsK{Ejf$tPuS8mp3q@5`%v)$2 zNVz+$Skx7hRf!W*6jn*+M|M>jpPXS7ZmFN5@;?^|CDsM0ev(ieHPhu^kTb{2JM` zSUN4t`oL+@HewVkEiHX*>1ZV>BtBrfn#FWUf0$xoO;Z|*QGyR8rd^5==pr!jX_VS0 z>h2@!y$zHS_uLm}W&G#b1>Uzf)5GV1x?W-WYc#j^Ik!D#bJ$~df5wZ?jk$EHPr0nQ zd$8i!odpkEKSbj{w+<`IKp?2Gs~t~2JLSYi%GFat9F8|$+NNKmoIANL3rt16WYsEE zfTV^?=SIxt6|s%Ea&Ck1px`UM^6LnnfsVfW$A3jkz#sVPPqDqZ#ym6R{V_Lg-Qi%e zq-{Ei-15#hyp+>h1IB}f%`zjLc?rqcOH7~qOY+3As2#zQyzJ^r5TPllL@}vSu6`Ztopp;)GtJDAEWU zE1rAe8ZUe0WgdIzX~v_RD=$8eB$YuQ*EZMC9o9KGI1#*15V!PPVC%$F-%=VU5C0Oy_X{Z-RQ zVrV$$bFWH7Yksp0HeAt2DYvb}%BC6;Wl{D5z-a8zY+PV!W(uc}BMw4=8>ec7!4iqyCekc|{x-^T#0a96N8ouRDniRyO!|sk zy)Fh7rz0`aoa4~*JR#^bcLtaw5+!w|y;Tq3R-?zKz28{~Jh|>Or;f|CBTf}oz5=Nt z2to?^GUXD2)6dx^u2ZBwS0GoNK?OdqeCndyJK^A)2GvrT;b??rRr#6U{d>Or(>{{j z&8z(NKR?Ome)5O%?B&;S?s=zaY`2)Ilm+xNwSS2l7q7FpP{uJd0VqvX@>DB%EVsb< zD{FX@fTdD_1GNJ6M_nXCN)?_Tab~efVi^N}C+7*}sx zW6<*`xDJ|bpprzo{xafHkoYlXaf)1dj(oLGVQN2(U5|ab#lGdk40;oS@sQ2+9UiF_ zQL#-lj&YTSz^a7l^^k#Kzi4`J`434g>nt$4XG8Y6zfOWTDgFeD`Po%VM7+n zb#l29m=>CDfm=Zk=4)HA~pAVYGXMO4t z?X4B=tTyHM-r8)FYYv#1DhfL=i8N-WODrzT(;a&BdLxb>oF`6v+C7gTOwcqKPa?^% zipu1~fii3D5l`ISVX>5>T+k&eiQ@qDRM3tpj(J<3x#3gnlpfzR{&xu=P!zDdRG~8r z$Q3IXw#BVxf@VypRZQYEqFOBqjkZv5ICx-A#$t*HZ|L8{zFSz9Dd3ZZ>Xba8JN-WB z8t0#Uispd@+FNZj8}bF4X0yqyn>U!Ql|eK~WLm$m>$<0hrvkaNl_gh{3aX`LQpcnOIv^Rn=+ zZ+hkiFM8}WXO16c&>vtpCH!^=+fnq|o0v{fj6VoG5_AMnXcf_NB~Xff<2trerqkLH zWZ+9*{34z`e;(JdrF2@^+~)Czjxy=2V^kLD^(V~DPGc0Oah)A11(VJoW*EfeTt`rR zxiseVBWF-rj^TJfsaT*`sgVRehFwF~n>2R2B*4D;X?9uz+QUAz0yw74{#sFxfeZB# z;Ur=-8Pn`W_~VF$nH&W-d0QF&|Nnh)1nqtF0Q=8(6r!H{z^f8*P4#k3tZM!)0C7Rp2@bq_^9^+6k4mGMp2>yRufT?Rv=_=2yzJd=t_W~~5SfNzNQz;fuo`;*u35+)EHHZO!)1y?XVOx3ny#~Y99YF!U z*GnJc!lg_2lK_Ad$ItNBs|{9eU1M>!MJ@@6CpqF_lhVRLmO49_j>*zok$v?FjolUx zzwEs++%kG$jv^3s8$y*Po2K|Z;0b1H6)vuAb8EZJ zY{BK~ogFMgF8Mcg$eBaJtSgnOT)(}_RH+2Ijaewu@At*%G%^gnD^YiIbBB=^ za_4S?>cL~Y?8RpZv)b4x68UW|U0J8m?D3jcKf#B8)cZ3E!L<|xSH^2}TYboyd)*;P z+!MWkPNPAZ)&H6!*@Eu40(uEUB{bTaYv7H$Y-}eOMg?07sMqtt_Ddq4`_Ij-0rRyI zhxW~oMk%v1WuCiwiwTBAOv8=@4AtFiVH!})Ipn>7`c#F{u)}k=*M&^A+h}9xCO`Yj zzk{6#pj6A0iv|Aq%})u6@*iIP7QXgdz8~T-lhztezJy8wYWwz6sfQF650Q)p9DKnX z*hQqgF!N|i`VsWD@3M01mW=xvtvwg(eF6`0f%gM#*%tQiO=#>p7n;y*`u>0 zR*^S9eT|1tFXJnR*S+CcuHIS~@=QkbdHBo$O2?1lk2HqEA>GlK)2AO|W9>EtH&gG) z#!&G3*FD9d={(WI=eZ}Zvs}wDJ$smV)TeQGON{;U^-a>heI0W%CC@#X3`q z0lOPpY~5~%&fdryquVyE?tpfG$iaPcG;VJQ9X5y}W-4V~{l;f#blYf&!bEWR1VNud zu1JvR+=I=eQn^T}RA)5q((ZJr zWc>UL$*5*Ud{dNpG!aav(;HB=66WeNeDM3fFDe?L={EU=)ADtIl2QP~!v=<3MTG%s zyhAi>W7#gFZcAv?6~|)#T$R}%&s?=iLMk%m-AN!aV+R*zc=*sXMMH65z9gu?yIW0G zZfvtyuW;`9@5k2d3)uPM+rjAn{hxRG>7L=g^RNLETHTORKI7_Z^hPmZlCazJnV&2F zt7zqJb12{Q2_Nw?_V1hL+kf!4*}uHRU;opaXm>ne_3fW6(YSGw7ro^9Ou`9oc+Hcb z!^YYsPEz6G%BwjrS7q_=0si{8f0=T{<+X1*FI@PMAF{L4q2KKZpy$-_PiEA(!^*W) zf+Q7*t#RKI$nA7}jww6GPP@mg)lK3ck&byb%}CIAkLN$YAO78w_(3SwKOTAXJVm8E zr081Qe}4Awub~vest*U2+GV=$*62uFO^ z_x?oI2N6dkYCPy7cslSrDXUtWcYsWu91&iv)%RhQrctTzu|Zc^vrtruwc;Gs>_LGp zRu>Kf$oq@a`-mqVb7POeU_@`&Cm)B@XR6#?-NZE%t-eQhIApgwVy81?u9jo1G32ja z{maZv7g^sKv1o}Q@(ws+{Cnq}$N}{H6xT5&(wSN+vvw3hu^k7Y$WxE~h@%Il+1cE{ z%oSzn#!|h&nG?r2cH{^@`3t|#H-FWq@|I_=@K=BTW>&YmY&2Sebx%?yO~ch~PnvSq zZ#P)mXi7h!Hy8^i-dC9nmLnsv{q-vQYc8+*r`OUQE9MR@a%X)x~ABb5mTtepjONB-8!t_L-lnNSfU1j|g>F=)!(KQ$Du2|HQ)M*Qh!+FFiZQ z(|6jW8p5@=T}?<$wyDeLFEjp1{UC?6BJq{R5y@l-ngX(pzLH4_PL(tsqdIqJZmzT4>9gA&aJM@oh-1+#OjCpY z#G{_GdGyFUqtS>P>kV$K?NH8}Y_~=kp-be^uB~+Gi%eL8dABR&92R@VF9-GnL4uS? z5Q$*L^UfT^u}m(lY;ox5F%B+GarMR;5sG4^C|Z6o3GJaTY5UsxI`w*$6Z@x#G?TMu zk8=IWbw1)F-=C@JX}wMmV=@W2+Uioy z88~J^RD#DD+pd%oLr)Xg#>4&R10P?Y>}C!ygi@I>sLxc%Wve-qd*1H* z0{U5+EpVnd#b(Q+-J8hQPm~JpoQD7QPyhEEz;@f?`KR_XT`6&MeV3b?ExzcJ-kVxE zPq)`+;K#h=c@NU=Hkm|FpIKmgV}<@WViX1}6)NBsexXs*jgp-@4)9tXZ zZ$Ew%(rGohbn%ABj%{wY$eAXSiO=HP3^Q3DV|7br;H9D~ibhEoiBV>Rru)y@MoU0Y zFFLi4BlT>F$AlmXg(kgF($J6;UC2eQn`hYH!g9(oTaQu=Zy1OQ?^l22=ktYM`YnPC zOvT`BDj7qsFipNt5L$H-j0wkmkmMm`Fz{$LJB)(~dDj)EHM z!W3~dTADBtorYK()76z7x`Q#2v6#9zk8GMF4hY5SR*#_{iSvjP$?kvxdr^PS0mymu z*b?o5$FnyZy#I?%aOU_v?ym3f3val@1IPFAq3`=RjqN5cfAeKN`omtz>t6c?9yz@X zhJl?c@jHL`_re-{@S)QTx@{sqW-3=AnFJ&XbV0}IBE~ttZTIXef$P z!Z>Dab(3PT$OnJm`*H3?XSw|BQ*1QaT)A?A7r*x>bM(j}8{4}izQ@jPhxa-6xG46P zb2;vAY%>f3tT1FU@r0e2QIId(*`kukm+2bgaX`;c-U{2`1TSQiIeY4pSzBju_oIh$VxuO+(a;B2gX5vIbjv0bvyK#b5sIeC-#1 z0)8Y82$B9qlg@pH-U}zO>_#X>v5Y?tEELg`6a~zd@)$+|x$fbFomdHBX}j4ISaZ=9 zr6EeLg*TB*j)^QI$+QAv(F_y`^HhnX?rqu8(BqUzm~vownwk16hMB1rxoCP$(r>4jsUx>( zx4TrTCER>b>iZ1H(;p0FXF^sAILc*yw#Hn|loee{=?uLw_4+h7@3w_>q;w_v{&`zx zY1$!QUqZ9;q~VC9zeOU0`<^uT*0=kz2xKNN^k8~}K=ua2Ng`2RB;ArkG6KWk z-&BHSI4keHU5&rkehvTL@utu54n2E{K$_5euifnsB{8n03qtSZ&)i_UIgqVC4<1`$ zn4!sfW2(6^AMpW?@a&}(F5PHwczK@ZKe!J|v-#m){X4$=b3cOfPrrq7P8W2c(n680 zB2}U_(A@3I)|x^kPqC1r+Z&++O4CKo%diB#Dwz5s^A)ab_K>c2E9A=UZSu7$S8hJV z!c3lh^%7gFo6=A;i)9fvK}WFjt=>@9V(*`yW~1#f7CgTz(eb_`b9Pc7K~RUXc3d}P zZhrOFCgw^rllPJizhh;ho|ZICYvm&K`V@w2OtSgYzkE5p;fPcrQ8yz~6Z!6 zLIaLt$rPktkm)lTWN!@;T@mX@IU#zF3bvYUT-z0$z_-HIe zfISBwYO+Zx@?AtpBpUWv9oy`USel)t(d*IZ_Gxz~962yWsx+=&+u+)bZ9etGUx+uF z@Txan;Hirne8{;6xOn*nqs}U!yH7@Gxx6bQsYEGess+g)h9h6<=O9i+Ff%5>wM=Pn zZMKFYb!}*g5RAq_B)EeNu+$q(_=1o9K)&^df1OT$%x8Y$`|)GH_%|Y0Vi_9y=E^b- z%;#NZ7v=~}hj9?F+wAhd!Fev-*^*s|_d|gNxTI+a(@-h-dD2vP4JuC1^avdQLsoTF zD<#U+iolOGOt~K_mRdbayQS~phoN-z!+1h}FrZo~N-x65NKVeQh@qq^!N~1tH0xB~3?_Dv9WhqnMk{QOX_Q#DOWcTYavtwLzugv<;N3Me`=Hj8qLB zcG@1paX_;-5Dq|Z+>sKikehz{8~cCJ5xjlQo&yjeO30$GFFWd{ibbh2CsD}I8;R7^ zaOkrzU1VdoFI3@;MxRqB7kKq^Hz+w4x7OOc?BOF)*FJY`o9C{!_@a+G$*V^Jy5o>4 zS&AW|BaKE|wDiI-6h~v2pi*5n;MkTfib5!)nYh~Olfs@JzAG^ z*&79neOd1rtxFU&4OzGefQnO$ToI)qeD-2Suo>+N#kY{p ziE%D2)Fso1iSWEYp6nm@p)ca0vxoTE-})!kw%UB~dp)1u|JygowaisrIB^U>PB|~@ zxDkGWEjs!l$SI^bG$Hk5@?cKJ&`UGPZws<}rWtT=by}(*5D72j#WWp6T-C5SdHgWS zosx_|sJqG_B?6T|l#nXPIEd1SIGTv$8JhmDn}(7kl0HbSmXqb7X%f@#PgvQEurx&& z>x5yJZA5b0Zr|NyZM!WaKvE_5R0-ZeR)xvSJFD^Ee-6gy_ng4nB?HJ()Hx7kK%nxyvDP>B<94nh0X~1Q0+*--yJzsd7zkT&3a)sPmb-~;1UPkm0 zg<^sLh!IiKd;0oOW~Au2jz&IbVde#=FAcqK|DIoxw7Z+J2+2l{Wk#NtZ9J0H+p%5F zo;i!A=aFh%#ZoSau3?%A3NVg*$q3Rk#-C&*fRYSEX-brR;wZisy+a`w^@f44F017{ zhHNK;U=reuBmVg1&qygX@dHq)NT#{2Exm#`NhA}~HJJjuQyc%=`Rs84PzuYE)R!=k z&mpN~qDVzYPRlgvB~^C|dD$0ubf3lQR?LgfF7sXwALnQP=;hKV8;m95$nP^HIwI?> z@7!&Yvoj7o($KPPLox_ML%P{%7I{rg()S>WWV7!eP$Uw;B2>ZV8$SO7*zOEuY}n}! zxp4kGPd#@lD_x}Pu8eF`u}*z&}LcQt&51-ioR(b%M;gBd< zsf~fao}~eq?FjJwM0EKrxle|a2fClhZ^3TI!?0}9D3ORgi4&|`fs*YKjK@^V6(HsB z{^50e?q_@i8k&>}%Cy88q`FKfWHYi#V(BGVc92DQd5IGp`H}4V3{wy{{N@_{$Ig==j=HE zP0PkqVyH%%N+}@fHl~K93?!-qI^{}*NgPo$63o=+^FH_mtZm$7d(z~EkDlVn_1oxr zAkDOq9|?3d1HkmUUN&BnS-*KNY{d$}0HmfX0?Mvj!b-^LT!H96wWoLVf zBPSnWx3NXP-Qej98(hD&Eg2OGDb-L)rZbZ$qF!`)>6v9-{^T`j^aVj6>PfO#G|e&$ z;WJ2iB2CbDe&fHt4EXnr|Gv-fIf4JW1CS?%q3Z%f=|^KpD=l4@NUdu~?P?mX7;}bm z|FD;wqBZon-Dq-gZ3BJ%F3NXF5=1yOL$o=1NNr{sZ{$mZD_iB|I3{73QZ5w*46BoX z0m8Ev2Oy~`Q{|#KjCOa3k&WC+d3JgpOLH}*rlwe0nBpJbc$Hcy#|xkL7@LhA?d~80 z`^e*Y)$5<&!PEQLY_vJJI74qZ5U6h^z1{IfELDrhA?sa?nVl-K+ZtloAtS#p>3 zRLVZJYRqU7b7;9Nx_}wp|8HOZCRxt$LGSkxFw0W*oO_Sw^Tbo<>2|ub1_Mf^l1PcI zZEo`quXvNlslE40AH(;@SqUJ>Nb!Xdl`S@Jte^o`uCMd#r41xYNZ*W7O2($CN~E;$ z{ZP96g`CF9P9Mv(IFvB~k4&?%+smlk(p=SLCqs;;GA@S?=%VlF$H}`<x2sOE%Y6h7=r&1G71aGJX(AJwFT;)hyBr zG&YtQcIHruwIXC){Wy^b+3O7m)3Fe80I9o`)T)|{-7HI&@n5Bo=THCTIU&=an*_1X z$-{F*-Zr-zLsm9+dGLXgD8t~!$}W#Re2CSxE2J|e)LMh%`|6;Slp*(@Bm2s1H^%}Y z_WTTgkUi!|MvMKCFM_A8<7V7|jDRGw^-ga{xl&|dagk!RF3U{Lo;t<)`WF3OUkq(D z37DIyQB8|%?>6~^Km7+85k7L}uuL{4zAwFv48Gg%4W*NR^VUX&%aGBhp=sg-(^N@` zGoB=D4+dEVCZo)bm%*(a$=qfuIbQM18qNL)*U1r^36;D}&zlHhQFK_A8#a&V$F7L^Ci$ z*{L{^ls{|WDTUOYmToZYkEDT>qzIrWtFIk5FF5(3=Lx2r?0Yo;C1W;S&)9bsVVp&5 z0p>_nkdcY4D=83*9Sy6Eh`>WS;LhlxbMW@o_q+P17SzqaMEysSi~EGs`Q z-rnWh15?NWp1Ik=&`btli+nDJ?Ds>QkI0>6FNUrdkH^C9({-D*&0Xf_XJkBx0yHoz zOHz2-l5N8jDTKw#(4NCsA*s2hp+I^crjg*A5o2HB$ME_mZ%J9x>kqko=MJ?>UZ}suH&{W2e=%)m2fM_54K!=PO_JYTBLs+p}J&M;?8I z_sq-*&jsoVa__iD@(8Qj(;Wpl1k|i)S;2kYwM3(QsL(V-2Chuz_(huNGa>qt>-`sQ zVS+gC=|^yUt*eKR_H=7&?{fnDzwz6Dra%3oUq5*Kq#D92F6u+lN&v8edHcxW(3;kz z`b8n1IYLo+mLnu$EWTDt7_2JisGn^RD|R;zRKdBf2gLG$)jQ8~y5)9yLxrHogCv`s zon7`M9QdH!#&fTaLZrxPEiMxaswjaKfN0s5e@@wNCy({DsHCi&>4(4lYxSQmeuEBDQ&nuzS$8F6R?y?xhJE<@{Y)-qB$m?E zTbpW{9bLO|M_c19!gi-NF3`sy=HkEh4R6<-J7WYuk!9x4tQUIOt6zhve`Gj7GrD=_ zwzjsn_wxh(mmHg?=5byW9r1qaM&rF5vNPp#-u-+r;~M#noE%|2`G&p>5C5-+b?bds zG-L1oQj5h*p>5DehF%Dkn2@wLE495_kgcevom_?cRssM5cp+f>+v?*)9XkihD1lw8 zpj;lHWJgZou~xMpnMk2gQ;Us5%cfB;%ke2>d6zQU!Dtv&T7aJwW@5}^q`*5VcYuU4 zR>l+1NQ^vQb?-Cw;h#(wsORI|DJySX3-!Lp9S*KV-H=z{eC$%(k~Mha_MV>ehBJEf z{xwxic~2a?Z5s*U<5VxOUkpt1T9EEbJUpS_^j-b{61^E18Wt?$*l-@9S? z3sKuCYc2M_9sLdFs`fu}akt+_HYXp2B_Q57{e-^a%f3i^v#7x|npPFz&&(HcS@aEb zFoSX*FwN>}fuNhrqh=wV(aCeY`~6p=xkdQ1-3uzq1+Cd#6UWkG(u9y}EiW*++BPu% z&ld2fNI*K49^g2w`04mVX$T*RRsx`P;M-Ji4`>a1F%hN3Zg(!OzTiYHc+C{Nqa1iz zE&yLyiI{m@eO#8~FDSZk6&=KHc-Bort^j}NS+3ro2Tv;SCG{|QKJZ(Sz7EPn9tgxqUh5b98%mC1l0rd`SjHF9?+)ScW$dJV+}*Crm9(Kqbp*2Cy+TA>YCK!P)9HQ9!*s<#w{`-A9?seUA=x2 zKsKQv{P?c-ozck$9#W&A(Qu@ZJfXygPp<3M_RJiPJ9FarMRzD!k(4@FM|~nHjdGvw zr!$|>yEd+~7h-6I(E0z5pVXkg;^S9lYy^G17T6v)>mb=klV1 zUjg-bN#rUNA!mb);V@Iw!^UFET7;QBG$f8R*wFKz0`+CaP08h=65h`OCV0;X^d zUy9_I8x25s=b6r48ta?(+nGJ@jpw2Or`qss8#@R}DVjC*4z?CE1nK7kB@F=K@u6x9 zRz83rAEY)HNi(egK7Uw^C^Kb62|*Ch@a7YU z6tHPC^Bn;8A}dsMd&)v-t5@bp>|u3}$4$#|1m%=M76;I*ct*xs4Zed}Q^U8{>6p); z@#++|gO7IrpN>S!YCvQeDt}x(H+L55^*gdACO8ApW)|!!RFbyaun$2g$$S&jsG($z zZNGCbw1!eqAT$&_v4e3{@*YP0fhN-l!mFtp5{DRQ(pd((0{f(dah|GzV3D7inqZK{~CYM0g@NIyUT7whkmO>z>OKpERlCS4l)RmfA zthfezTS*P5K?ZQ201-KoS=UOe_6Qm8(#o#T3jQsc?6QmRpy(3ridsrg{EjQV*~H}R z%dskpa3LUMtVJQz>3gUp*@+c?t=}gsH<`~d3354=am-b%qeqY8;g^J9D610lgB2Is z2MNggOoGgt$wP8fpx(lSp~t6E)3oH)c%uKc9})O}kHy9%d$HjMW1%9ksiSbjv00!& zboIXqXo}$FteSE8cinTbpB=jxP2;rpwssPbHtd zLsF@ok7LD;L0&<%sEAfb0pUg6MHa`MN1q1*>HN8Kx_JJQzTvCCh?N{4LKcTh$d3Y^ zFMaw^`VqeI)WxVl@GdG}>*v1x|LJXSJEdpcne&YMkN34cD)t+wtm)LbimeRrhHb|wy{-kX!pzz&bhchVfVFV9lw(jzQHtwT;E0!JhqmQ=7k zT3>~;(Av)SwtQ3S3!XC4mpt>h-tgAT+T6UQ&8;oX=Q9$R5Mop`b_jvuaO}h?y&3b2 zevYyhW3Vbh-U&M!;mC7DS?Gv7-P_}ur~#cmcR~N_sC4_rbv?1Mq4Q_YYH#P3cD8Qm zzhC}Vz4&dXh}sa5k<)Me_?N4iPBpJuHvRm{FL+S*$L++2eT8Z!?;WN}mWimue6i4x z!!5yAw9)`jlUooVXPT@D1({Q+v4txE8t@1E|8|`*(QtG`p_nN9@@jo#QUg5rH8p~TaG{A8?z16roI;q4we{{EAHe^5 zLyDs0I=t!@x$z-CzV5q#)(6l7J z>lLlYr-Nk((41)!HaKM7dnHPazXbl}y>OL$GU;1JEbIVfUNYAHEsK zi7y&Q3L6G%Yi+*;v;D);Gr@Vb-75G^-W-88KhJM;<3YH&gZ%(#)VXnCtnv1q7V`?< zK~t6cg-34%RMGyvb9Ym9LtGy<-n1FQnn}IK%xK6#2;?IK%#n_UqY+?_>B0CvIvtvr zW^vwB_>B;hZD@FBO%pVkOjUSm5~5Hm&pl&$+j}9RdV*0fOV6Fxc(8Q-C{}*2LAX>~88+Z+#zL`1yRUy}c=RdR|!le#erU)F1TC z#GrB!w7Km#ODF}-7`xP1lz_Z~XqQ`G!fCvZ-z?-A_a=;55GDsg z?0u&%(4F`du@Oqg>A@32ojf|Ax#~Z>;O+XSSH7DU*|0_WU7UznmhYDfKdi6#Uyree zL7M-HRstY7#{fp6KviInLIPwG2us`lunCbua{a+b=D16tM1L^ZD6R7FMmu06JU`hP zbj>{|Xqp-y0>}8#5Kv)R#1wE}CWoVuIW|e+sh7?1b$INjuS~GNyZw%CZjM!#Gk`vw zEqJDR(UEQIGR=Rbr}4c6R_gkphy194XFfTh7^g z2y%+Yt;SnBgcvjLG#U;NZm)Ug2I0MToxQ1ldg0wTrNv2#-< zUIOY8WO*jo3f>%7u94x}n-KAh%$J@70xLC|LQ*VJ0#Oqz#aLV$xZhOhuoM*DagOl? zsb)U@;Mgc^3huCS5dh)MJG;7g?G|8fs@B4iIh~Pgm*IXNKZN&z6y}8YsWE4FO2R-^9TH7|ls8O&G zqCIoz8rMH?|4Awu(c381BpHA-E{#G(ffJfM*rn z+#KTw6wHW?EDi?D?gVEWTSrQTZHqPb?1R7O>-9i}~rj#W3jAwhgHJNC8 zG1FubGaX9=OVu`vH_pG~Gb%M#w4(g52OrpkWhJ25)d!P*+!A<7Hn^8us?2MYa^n@m z#|m{4|0Sr6I8Khfo6U#4?mK4G1o7z`_R0e{Cdu%YYrYi+3z26 z93PUF_wN_WT-MVb8$J2_A3OFT=Ks*=%=~{!EBbt<{{bRE*X3&H