From 8a770de8852b6d91c9742e7c6923002935b66c0f Mon Sep 17 00:00:00 2001 From: "Raimon @ quifisraimon" Date: Thu, 1 Oct 2026 12:44:07 +0200 Subject: [PATCH] =?UTF-8?q?-=20[NEW]=20Minimapa=20en=20el=20editor=20-=20[?= =?UTF-8?q?NEW]=20Diferent=20marcador=20-=20[NEW]=20M=C3=A9s=20habitacions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data/gfx/score_font.fnt | 20 +-- data/gfx/score_font.gif | Bin 133 -> 136 bytes data/maps/rooms_background.gif | Bin 3233 -> 3384 bytes data/maps/rooms_foreground.gif | Bin 4444 -> 4834 bytes data/maps/rooms_items.gif | Bin 1434 -> 1434 bytes data/maps/tiles_palette.gif | Bin 0 -> 944 bytes data/modules/score.lua | 24 +-- data/stages/editor.lua | 52 +++++++ data/stages/game.lua | 4 +- img2pal.py | 24 +++ tiles_palette.pal | 259 +++++++++++++++++++++++++++++++++ tiles_palette.png | Bin 0 -> 500 bytes 12 files changed, 359 insertions(+), 24 deletions(-) create mode 100644 data/maps/tiles_palette.gif create mode 100644 img2pal.py create mode 100644 tiles_palette.pal create mode 100644 tiles_palette.png diff --git a/data/gfx/score_font.fnt b/data/gfx/score_font.fnt index a355355..dde71b2 100644 --- a/data/gfx/score_font.fnt +++ b/data/gfx/score_font.fnt @@ -1,11 +1,11 @@ bitmap=gfx/score_font.gif -48: 0 0 8 8 0 # 0 -49: 8 0 8 8 0 # 1 -50: 16 0 8 8 0 # 2 -51: 24 0 8 8 0 # 3 -52: 32 0 8 8 0 # 4 -53: 40 0 8 8 0 # 5 -54: 48 0 8 8 0 # 6 -55: 56 0 8 8 0 # 7 -56: 64 0 8 8 0 # 8 -57: 72 0 8 8 0 # 9 +48: 0 0 7 8 0 # 0 +49: 7 0 7 8 0 # 1 +50: 14 0 7 8 0 # 2 +51: 21 0 7 8 0 # 3 +52: 28 0 7 8 0 # 4 +53: 35 0 7 8 0 # 5 +54: 42 0 7 8 0 # 6 +55: 49 0 7 8 0 # 7 +56: 56 0 7 8 0 # 8 +57: 63 0 7 8 0 # 9 diff --git a/data/gfx/score_font.gif b/data/gfx/score_font.gif index 67ee28997c8ee6ebfc24764f66c2ca90778ada08..b582dc0a73f0fee909b1abd9886a090b946a1007 100644 GIT binary patch delta 121 zcmV-<0EYjC0f+&R7IFj%0000i00000Pyh%300Lh`9-yd(>6lyT9eSgDjko_KOVK%;%ec<--9jEstAv^DRz)6a25oYfjMFZ8BRPdvW$jCR+M?HT b@a3U;O)M+TZ9YeR(`K(IwHd)qKmhOV diff --git a/data/maps/rooms_background.gif b/data/maps/rooms_background.gif index 20394471d4f0a386b5412b2a0089d12d5503e11a..eb0146893fdea87201c291380a3c0d36e867a266 100644 GIT binary patch delta 2589 zcmV+&3gY#l8Mqp-Hv@kZ2xlXlk03*e97(dI$&DEqszlL{B}0V;Co*Xwai+x1M$#G^-a@j@cuf)D734G!@WJihlQce zHcxft)!97Qpyz+MKD+z>P0baYMFT!mo>%*&*WYsg0pQ?+4w?XfQ21NHZar|jIM>K z5qwnP=i^^v@s}GxJhJu|OMNjk8IcCbIHNe!>E@+p{6XdZNgL6*M%SWpfr!~_wBE#Qi)M2I2^5ve5= zb*iwcV&;Eds|($bRHtv|x~a1W3ItKFA})!Rou=K@Sh0D!cuit(B5~@67MBVT&DRZa^z8x93G)ZKbU;YQ+_~g^nlV+jy1@`jThst#6GI#fLiB zs~4^yhlsyUY28NMm%4nZ-xSxl$q=BJZ2(4ySE1*5F zC19BsZ!8F{ij0qgA|#;+N3z3^>=1?bV!;dlMOVN)?M-Rld)i&%z(gxtp@~n7gA;$5 z7>AEgQHoK#A{3c;LIU251@6iRjX2dsFagxq$-!T z88*gJH$4Q&4wbO3_UKZS27#t8ap|6cm~nE$d*4%(>B^93@|#qQ9K^RP~QjHvAs0I(W>}%#w?6xMv);!2iq%b}K3AG{`OQB|+dwtV?h?C_R7iu+Uf5 z6C~+L<~Z4tJ{U5^Wf~b-b0pYEwk_y-WU8nE^;FGEA#f>XsmvZNlpq92XQVOQpGr*{ z(_pG42N?%flF>!Y9>RJl_!#>g{dZ}U_gJ`HdP|gA_%Eq zPn4w=9K7UDN##yT{ltm!|Z7Oh%Vf6=r7WFc6Y zzIYX-O0g?IS#kuXB<(IbH z+6*&P0^8pBkaOHZ?AvN`Isa~`b(mU-3?2=pj0r=|U_^h`Y#D(#`7bxn?xj?S zkrqn%Su+U_VldQS8RwbK3;q=uZ;Q&Z*;FAv{qM7=!)QKQEM>a_u!~d-MT7_*dfL2fe?RlX9-1;PLb{T^3I9`QB`W1?ld4 z-_U5s^3}YI-{~&l1`o%g zpB-ydd#n+riayX;7k$>Fx_jm3ltLcX=*cP*dON)SVw9nc_!F|ta4ybIBqcr6DQbQ zHjsWa*cv`&6jhRiUD$j`0WMScA~2$BK|+RO1QR2;g-?fsv-WmD2Yq$*985unQ_^)T z7Gz4tbOUE`ZwNs_qlJYXNQj4s0ycvd!`BrYm8cREqKJ~XVh%)oWe9^e6A%D98Q$LQ delta 2436 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 delta 3648 zcmV-G4!`l@CEOyg3IhWmLz@ef*LPkWr7oq(61LGXP=BQ+~gbHC*SZP%9-TE033!t0x47&D1-0GJ=jf7 z3<)5A^OI=oaTrtP75GwKDan5TUw`z;pb~-tkx;@wGkiyyX5IM(SQ-K7!3K8{*@x0_ zrx|GCP7ysc1B495HiJqCxfMYl91g^Wf6cMMM;mQ02!KT@vB4E_N1bRSN)b3HKuRG% z1{qc{&;)>d1I4stl@Y+;6K{OrC{O^~foRf|y_J^QO2r+ynw5{y1X+Jx2>~GCKp`k; zl3fvm#M^Z%bw{I*1Ca@!PXHjc(wS+hxt4;*vATW|43lY1WxX zp$Te|9;KD&(wT}bDv+ZI!5}4Mkw*V8DMSH4hpDU+6vUBmBYj$ue!vOPLQ2)8s_2W2 z($*Sw2eH^(dt~Mn0(E~r3E<_RBXT9GM1B}+ESrJODkBPvniRma$qE$0LBU=NAb@;r zI~1Ybsu^Xvt2#SSaws5cu4A_nB|x!T=@%Nd^5#~rn&=72s*EwpxbAFAI{2r&4*%#K zMiVVL5osG1yReA}I*g}`FeDd1ToIAEbh$v~OQ z07MyVN*VKUbIv)3F!Y#MNof)YAYkR6Y(y7SFqy+;oKZ(Z;`^hgA~Ic|Wdi7nP+tD+ zTrmK^y)q^5f<$I41xzfZ$jNC`4e}moDXX@Jj^KD>{Fq8we-Mg2R?j z3@bxK>BN8a(Z;4f_8Ow?dFO86O}x_z*YClz{9Q#A9Ut;$8e7DXh@x-o>-gfAPyYGl zr$149q5(h?x^v+SdvJ}9F1ADz*}oEyea%k0|1Oyby4rvD9J$=@B<@1spvo3N0JemG zKY`%?^rw=ESO!aPSyzm3)*0_;1Tg3uRA=VpK$b|bffOWG3HO%<=m@1CGRTQkB7i-| zwZvw1Ysv{9xWWqdP=zTRQ5yf=60wvdX9iZ08vr~MGaIf%X~}aUv5qH29|lo`RRm%d zg($S9K#6~EOViG$-mr!Yab!b3#G($O zx(@<{6Uq$u5SU$cW;fT%pW=oyI#9CklcFqSC-Hx0%IGYpB@=^y;&2oIHryzH{1F*0 zm$}PBHdA9hdkK2<^)sH(i7!tbBg({Sx5Phgb8yZoE zQuKeKV8Cb?=37mHe5~CO;qfmXQMWGr7qa-DzEt$(%qE}R)KCVsz zVS^e>>JqHBge<6f30ck}27$Cy4v!(y9Akev*N`ftKzxJGcG4g}mKX}9VKC8CFG`kP zz9d#Pbq{M~3Pw7PKp^qrAxca&5VM|$ENw-Js}zNhS{0-&U8U1XekmY9andj>p=wL6 zs?eV>bg-%|6oIO#SOfn#Cj$Oz3yTEi$z3vZC1**Kp@vH!qhMB40idi(SY=qoB=CPH z521`eP}^761~w%bMOBHms}=x|1u@7~OaQ2ASu)+Rt_)#I0=Wvk+J%sU(Lz8b8N3cJkM&KNPl8~ZRwRGK74ZWb z3{zchMWxXPVc$=ZlVpT|;9OXujGnPXrk1|svwPU<_`1`UH|WS_OENW^2eJnjHkzNb ztz4gC-4Z)d=qFgoWL#~=nGnypC# z*TW{si-)ob0Ht*(EQ&LXfck&eA3c<@W()4NM_*kKYSy&fkDYZ&zH*fb2&%EsiKMX= z$m@xy+D1=VL%(Yz=%KhFjz3AKP^gxW>h*KpKgr9rM>_%cp^gvfX0x|Vts|2_u{-Z1 z%4gWH2K>})1!9)G-3D*P8g!+^Kd> zWDOyw2<^|ed+rrW^uPyNLVg^4N#!c^7M>nv?#cXoI^Uk0nmKC#fC9tb76pq(38QxB z@@PGl=-I*cnKVm(-vYN{qc)ujKD2aB>yN$P#)_;F34GXrxlZ{SgrrhX>DIxmtR@D~6*7$ts|AJ7=ryV6=*sQLI0HU7f)n$H>CrWV$cBaZhW3BAO^wDW0QhowhHVfqE45LA z5U?IE;wI9DdJDFO`qzf{H-lXUq zi41}u)n|VY4i`Q37<^!uVG_Yx4TO$_QY`z{KVf!Toh3NMhkRIZGC#2gYJdj*$V0*C zJTL$P-56H{0Uuqq7I`rlB&9{5m=a>8jk$vr**A&qH+e_$kxTd?IP_}1fp*@K7u0kT zQbSY7{|7NA`4m_35T^!3eKiq%5NZPEJfMeZ76*R-MRrQQSb78qdm|th$cGS%hckTe zc_C?kZ?Kb0LlZ)SXOs97DRWdRnG&lPZzq8>9w$MGW4Nk5PnJlx1-G52Hn=w5$spa-m^2E}HDE)i-ADHM5WB*OlIjmQpyrff{k<)8z3+-O(Fx5bDNQwZ8VA! zR6%F;5?WnB6NdE=ua|+WF)L07gr@@(T@j{X>P5$AlPuANj6{_aAb2f-6(BH?9jH1& z|6`?xIswFZjg2*&F$ambDOxKbC9HpkZ!0mRS{M^x1SkH|O9#obeP#_WUps}?R%o`>l)a4ART zX_hc#Ws34#GT%kDA-C67sROrQKsb~IUyjO1B$GR@mw?TBGU(!f-EyTtS>=w zq4Kze$O4%!I|4lGv+=f}LJKgo&Jt!&dUy-MY;>A{G%9!4n3x2@^J2Vr2n(wc+~3zPe4(hE>6O`*v@7_u?9m z#HzV6L>H(y)KJx5TZNOACCo-aM%)01fQo^nAfGIdloZt#6XWCM2vH9-|NNYod#f`a zZ^%vd)KZn^?@F~^)K}Y(pE$Fvv@SORNCMHSsVzYD66~CUtZYv=uUi;hyh~4>cl7`Ta6S47cgkJm|2K4L6nUHs6~;B zmq_)4S()Nb7EUgp19d=-1my_^j$Q^v76yk63mlsTlsslQI5xF%i}49fQE)uMA*AXv zLn6Vcl~YVNh9|=#k?mlwOz8{(Ng)pb1(6O0gF=_b3=BSOcUXj6Pl;$Tu*Fy!IdqH7 zwT$hObY9jo(>UYOipa%oy|Wn$)=iixyrfTZA;Xt9Hy0o4KeE~V+$!E(-xO9es@xKL Ta`e=7-<=hoU!9c}V6X-Nwf&FV literal 0 HcmV?d00001 diff --git a/data/modules/score.lua b/data/modules/score.lua index 84830ea..fe76619 100644 --- a/data/modules/score.lua +++ b/data/modules/score.lua @@ -1,6 +1,6 @@ score = { points = 0, - color = 21, + color = 28, ypos = 3, surf = nil, font = nil @@ -17,16 +17,16 @@ local function draw_text() font.current(me.font) font.spacing(0) local txt = string.format("%03d", me.points) - draw.text(txt,2,me.ypos-1,27) - draw.text(txt,3,me.ypos-1,27) - draw.text(txt,4,me.ypos-1,27) - draw.text(txt,2,me.ypos,27) - draw.text(txt,4,me.ypos,27) - draw.text(txt,2,me.ypos+1,27) - draw.text(txt,4,me.ypos+1,27) - draw.text(txt,2,me.ypos+2,27) - draw.text(txt,3,me.ypos+2,27) - draw.text(txt,4,me.ypos+2,27) +-- draw.text(txt,2,me.ypos-1,27) +-- draw.text(txt,3,me.ypos-1,27) +-- draw.text(txt,4,me.ypos-1,27) +-- draw.text(txt,2,me.ypos,27) +-- draw.text(txt,4,me.ypos,27) +-- draw.text(txt,2,me.ypos+1,27) +-- draw.text(txt,4,me.ypos+1,27) +-- draw.text(txt,2,me.ypos+2,27) +-- draw.text(txt,3,me.ypos+2,27) +-- draw.text(txt,4,me.ypos+2,27) draw.text(txt,3,me.ypos+1,1) draw.text(txt,3,me.ypos,me.color) font.current(font.DEFAULT) @@ -64,6 +64,6 @@ end function me.inc(value) me.points = me.points + value - tweening.add(8, 0, 0.5, easing.linear, function(val,progress,finished) me.color = (math.floor(val)&1) == 0 and 21 or 14 end) + tweening.add(8, 0, 0.5, easing.linear, function(val,progress,finished) me.color = (math.floor(val)&1) == 0 and 28 or 14 end) tweening.add(5, 3, 0.5, easing.easeOutElastic, function(val,progress,finished) me.ypos = math.floor(val) end) end diff --git a/data/stages/editor.lua b/data/stages/editor.lua index a12e654..806e1ab 100644 --- a/data/stages/editor.lua +++ b/data/stages/editor.lua @@ -1,6 +1,7 @@ require ":modules.menu" require ":utils.msgbox" require ":modules.items" +require ":utils.palfade" editor = { @@ -148,6 +149,8 @@ editor = { else editor.itempicker.show() end + elseif key.press(key.GRAVE) then + editor.mapviewer.show() elseif key.press(key.P) then sprites.hero.pos.x = tx*8-4 sprites.hero.pos.y = ty*8-9 @@ -343,6 +346,55 @@ editor = { end }, + mapviewer = { + surf = nil, + pal = nil, + + show = function() + if editor.mapviewer.surf == nil then editor.mapviewer.surf = surf.new(160,104) end + local background = surf.load("maps/rooms_background.gif") + local foreground = surf.load("maps/rooms_foreground.gif") + + surf.target(surf.SCREEN) + surf.cls(0) + + surf.target(editor.mapviewer.surf) + + surf.source(background) + view.origin(0,0) + surf.clip() + draw.surf(0,0,160,104,0,0) + surf.source(foreground) + draw.surf(0,0,160,104,0,0) + + if editor.mapviewer.pal == nil then editor.mapviewer.pal = pal.load("maps/tiles_palette.gif") end + pal.set(editor.mapviewer.pal) + + app.push(editor.mapviewer.update) + end, + + close = function() + surf.target(surf.SCREEN) + surf.cls(0) + pal.set(palfade.original) + app.pop() + end, + + update = function() + surf.source(editor.mapviewer.surf) + surf.target(surf.SCREEN) + draw.surf(0,0,160,104,0,0) + + local x = (rooms.pos.x//20)*20 + local y = (rooms.pos.y//13)*13 + draw.rect(x, y, 20, 13, 68) + + if not key.down(key.GRAVE) then + editor.mapviewer.close() + end + end + }, + itempicker = { surf_back = nil, pos_y = 24, diff --git a/data/stages/game.lua b/data/stages/game.lua index 2f6635c..3ea678c 100644 --- a/data/stages/game.lua +++ b/data/stages/game.lua @@ -74,7 +74,7 @@ game = { score.draw() view.origin(0,0) - draw.text("safe: "..sprites.last_safe_room,1,96,28) + --draw.text("safe: "..sprites.last_safe_room,1,96,28) --draw.text(sprites.hero.pos.x ..","..sprites.hero.pos.y,14,89,28) if key.press(key.ESCAPE) or key.press(key.F9) then @@ -86,7 +86,7 @@ game = { console.enable() end - draw.text(sys.fps(),2,20,8) + --draw.text(sys.fps(),2,20,8) end, change_room = function(x,y) diff --git a/img2pal.py b/img2pal.py new file mode 100644 index 0000000..9db4f92 --- /dev/null +++ b/img2pal.py @@ -0,0 +1,24 @@ +#!/usr/bin/env python3 + +from PIL import Image +import sys + +if len(sys.argv) != 3: + print(f"Uso: {sys.argv[0]} entrada.png salida.pal") + sys.exit(1) + +img = Image.open(sys.argv[1]).convert("RGB") + +num_colors = img.width * img.height + +with open(sys.argv[2], "w") as f: + f.write("JASC-PAL\n") + f.write("0100\n") + f.write(f"{num_colors}\n") + + for y in range(img.height): + for x in range(img.width): + r, g, b = img.getpixel((x, y)) + f.write(f"{r} {g} {b}\n") + +print(f"Escritos {num_colors} colores en {sys.argv[2]}") \ No newline at end of file diff --git a/tiles_palette.pal b/tiles_palette.pal new file mode 100644 index 0000000..e3cd589 --- /dev/null +++ b/tiles_palette.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 0 +206 195 177 +121 128 126 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +60 42 22 +118 80 46 +125 87 47 +115 77 45 +130 91 49 +122 83 46 +190 187 178 +238 232 214 +190 187 178 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +121 84 45 +125 87 47 +85 49 37 +79 43 36 +9 5 4 +86 60 32 +28 23 48 +28 23 48 +0 0 0 +28 23 48 +17 14 29 +28 23 48 +25 21 43 +22 22 14 +13 13 8 +0 0 0 +130 91 49 +120 82 46 +130 91 49 +97 60 40 +0 0 0 +0 0 0 +28 23 48 +0 0 0 +0 0 0 +28 23 48 +5 4 9 +28 23 48 +15 15 10 +1 1 1 +17 17 11 +15 15 10 +240 189 119 +197 145 84 +240 189 119 +128 94 54 +255 0 0 +0 0 0 +28 23 48 +20 16 35 +28 23 48 +28 23 48 +0 0 0 +0 0 0 +24 24 16 +3 3 2 +1 1 1 +0 0 0 +240 189 119 +186 137 79 +77 57 34 +173 127 74 +146 109 66 +0 0 0 +0 0 0 +19 5 7 +20 16 35 +3 3 6 +116 173 187 +116 173 187 +5 5 3 +0 0 0 +26 26 17 +0 0 0 +240 189 119 +197 145 84 +207 156 92 +222 171 105 +227 176 109 +99 73 42 +37 27 15 +138 101 59 +162 142 125 +128 111 97 +153 134 117 +126 109 96 +153 134 117 +153 134 117 +170 149 132 +0 0 0 +24 7 9 +17 5 6 +229 178 110 +190 140 81 +197 145 84 +67 49 28 +36 26 15 +2 0 0 +20 6 7 +0 0 0 +124 107 94 +140 122 107 +141 123 108 +153 134 117 +55 47 42 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +22 19 39 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +26 8 10 +1 0 0 +10 3 4 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +21 6 8 +26 8 10 +33 10 13 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/tiles_palette.png b/tiles_palette.png new file mode 100644 index 0000000000000000000000000000000000000000..c8c64ba40f6ad83d6c4472ad0b8f34cc5e00ce90 GIT binary patch literal 500 zcmVA$l<IQoMO z4lb51T0|F#T8l=lEln*U2_&4kyWI8e>l8uIAzgj;=lQ(w0`T_bQ)$FB_JcS#IWEsk zq|r2iZHJh{Dy|!FVeSt3-0_Fy4_}josY_G;4BWh&lWIiaQ^m&fB+o0G%$&~h>PrHE zYOPE*m8au0iR)top-&*TaU2iJa#3_m#rGw-$w5X(R2+X#JYL-tJ-NqEy8(dheWzZx zP}K;gX`n33PBU|Uf`!>>4j&yx!fH=SCXSI!b9ICal(DeZnMbK*5wA;2&06MPE z)#4L!N0QvVQ8?RMmz^qZ*J8J^&SGhq#nQ5DHZ6i6B$G)1NYPqZk{{Q;VZ>vY<`B`S z%I$kAym-IE^^2!SpDeJkRV9;3va?&~Q04#tBc{of`642%>9QLJtd-{YT-ip8M!5Ch zHCr`{jUR1B2Q(U9R}|;3$%HwC5Q4$D&izNvc=K*u^!@kou@kay=`Z|_DE*oTV}=xf q5mDv70)7~hi5a9c{f|rjXMO!r5<0000