From 4e87f699fa5cca3701ef04fec82a8befc3050275 Mon Sep 17 00:00:00 2001
From: xy <2795152558@qq.com>
Date: Sun, 2 Jun 2024 15:42:23 +0800
Subject: [PATCH] update Super Mario
---
pythonProject1/.idea/.name | 1 +
pythonProject1/.idea/vcs.xml | 6 ++++
pythonProject1/data/components/bricks.py | 1 -
pythonProject1/data/components/castle_flag.py | 9 +++--
pythonProject1/data/components/checkpoint.py | 3 +-
pythonProject1/data/constants.py | 34 ------------------
pythonProject1/data/game_sound.py | 6 ----
pythonProject1/data/setup.py | 5 ---
pythonProject1/data/tools.py | 3 --
pythonProject1/resources/fonts/__init__.py | 2 +-
pythonProject1/resources/graphics/__init__.py | 2 +-
pythonProject1/resources/graphics/level_1.png | Bin 15313 -> 19247 bytes
12 files changed, 14 insertions(+), 58 deletions(-)
create mode 100644 pythonProject1/.idea/.name
create mode 100644 pythonProject1/.idea/vcs.xml
diff --git a/pythonProject1/.idea/.name b/pythonProject1/.idea/.name
new file mode 100644
index 0000000..3eb02f8
--- /dev/null
+++ b/pythonProject1/.idea/.name
@@ -0,0 +1 @@
+mario_level_1.py
\ No newline at end of file
diff --git a/pythonProject1/.idea/vcs.xml b/pythonProject1/.idea/vcs.xml
new file mode 100644
index 0000000..6c0b863
--- /dev/null
+++ b/pythonProject1/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pythonProject1/data/components/bricks.py b/pythonProject1/data/components/bricks.py
index c4e421a..b644ac3 100644
--- a/pythonProject1/data/components/bricks.py
+++ b/pythonProject1/data/components/bricks.py
@@ -133,7 +133,6 @@ class Brick(pg.sprite.Sprite):
class BrickPiece(pg.sprite.Sprite):
- """Pieces that appear when bricks are broken"""
def __init__(self, x, y, xvel, yvel):
super(BrickPiece, self).__init__()
self.sprite_sheet = setup.GFX['item_objects']
diff --git a/pythonProject1/data/components/castle_flag.py b/pythonProject1/data/components/castle_flag.py
index 4720e52..738f7f3 100644
--- a/pythonProject1/data/components/castle_flag.py
+++ b/pythonProject1/data/components/castle_flag.py
@@ -6,9 +6,8 @@ from .. import constants as c
class Flag(pg.sprite.Sprite):
- """Flag on the castle"""
def __init__(self, x, y):
- """Initialize object"""
+
super(Flag, self).__init__()
self.sprite_sheet = setup.GFX['item_objects']
self.image = self.get_image(129, 2, 14, 14)
@@ -21,7 +20,7 @@ class Flag(pg.sprite.Sprite):
def get_image(self, x, y, width, height):
- """Extracts image from sprite sheet"""
+
image = pg.Surface([width, height])
rect = image.get_rect()
@@ -40,11 +39,11 @@ class Flag(pg.sprite.Sprite):
self.resting()
def rising(self):
- """State when flag is rising to be on the castle"""
+
self.rect.y += self.y_vel
if self.rect.bottom <= self.target_height:
self.state = 'resting'
def resting(self):
- """State when the flag is stationary doing nothing"""
+
pass
diff --git a/pythonProject1/data/components/checkpoint.py b/pythonProject1/data/components/checkpoint.py
index 4d52086..ec63a39 100644
--- a/pythonProject1/data/components/checkpoint.py
+++ b/pythonProject1/data/components/checkpoint.py
@@ -5,8 +5,7 @@ from .. import constants as c
class Checkpoint(pg.sprite.Sprite):
- """Invisible sprite used to add enemies, special boxes
- and trigger sliding down the flag pole"""
+
def __init__(self, x, name, y=0, width=10, height=600):
super(Checkpoint, self).__init__()
self.image = pg.Surface((width, height))
diff --git a/pythonProject1/data/constants.py b/pythonProject1/data/constants.py
index beea4a3..183c70c 100644
--- a/pythonProject1/data/constants.py
+++ b/pythonProject1/data/constants.py
@@ -1,15 +1,8 @@
-
-
SCREEN_HEIGHT = 600
SCREEN_WIDTH = 800
-
SCREEN_SIZE = (SCREEN_WIDTH,SCREEN_HEIGHT)
-
ORIGINAL_CAPTION = "Super Mario Bros 1-1"
-## COLORS ##
-
-# R G B
GRAY = (100, 100, 100)
NAVYBLUE = ( 60, 60, 100)
WHITE = (255, 255, 255)
@@ -26,31 +19,22 @@ BLACK = ( 0, 0, 0)
NEAR_BLACK = ( 19, 15, 48)
COMBLUE = (233, 232, 255)
GOLD = (255, 215, 0)
-
BGCOLOR = WHITE
-
SIZE_MULTIPLIER = 2.5
BRICK_SIZE_MULTIPLIER = 2.69
BACKGROUND_MULTIPLER = 2.679
GROUND_HEIGHT = SCREEN_HEIGHT - 62
-
-#MARIO FORCES
WALK_ACCEL = .15
RUN_ACCEL = 20
SMALL_TURNAROUND = .35
-
GRAVITY = 1.01
JUMP_GRAVITY = .31
JUMP_VEL = -10
FAST_JUMP_VEL = -12.5
MAX_Y_VEL = 11
-
MAX_RUN_SPEED = 800
MAX_WALK_SPEED = 6
-
-#Mario States
-
STAND = 'standing'
WALK = 'walk'
JUMP = 'jump'
@@ -61,21 +45,17 @@ BIG_TO_SMALL = 'big to small'
FLAGPOLE = 'flag pole'
WALKING_TO_CASTLE = 'walking to castle'
END_OF_LEVEL_FALL = 'end of level fall'
-
-
#GOOMBA Stuff
LEFT = 'left'
RIGHT = 'right'
JUMPED_ON = 'jumped on'
DEATH_JUMP = 'death jump'
-
#KOOPA STUFF
SHELL_SLIDE = 'shell slide'
#BRICK STATES
-
RESTING = 'resting'
BUMPED = 'bumped'
@@ -83,42 +63,28 @@ BUMPED = 'bumped'
OPENED = 'opened'
#MUSHROOM STATES
-
REVEAL = 'reveal'
SLIDE = 'slide'
-
#COIN STATES
-
SPIN = 'spin'
-
#STAR STATES
-
BOUNCE = 'bounce'
-
#FIRE STATES
-
FLYING = 'flying'
BOUNCING = 'bouncing'
EXPLODING = 'exploding'
-
#Brick and coin box contents
-
MUSHROOM = 'mushroom'
STAR = 'star'
FIREFLOWER = 'fireflower'
SIXCOINS = '6coins'
COIN = 'coin'
LIFE_MUSHROOM = '1up_mushroom'
-
FIREBALL = 'fireball'
-
#LIST of ENEMIES
-
GOOMBA = 'goomba'
KOOPA = 'koopa'
-
#LEVEL STATES
-
FROZEN = 'frozen'
NOT_FROZEN = 'not frozen'
IN_CASTLE = 'in castle'
diff --git a/pythonProject1/data/game_sound.py b/pythonProject1/data/game_sound.py
index bba2e31..3aa12c8 100644
--- a/pythonProject1/data/game_sound.py
+++ b/pythonProject1/data/game_sound.py
@@ -2,9 +2,7 @@
import pygame as pg
from . import setup
from . import constants as c
-
class Sound(object):
- """Handles all sound for the game"""
def __init__(self, overhead_info):
"""Initialize the class"""
self.sfx_dict = setup.SFX
@@ -13,8 +11,6 @@ class Sound(object):
self.game_info = overhead_info.game_info
self.set_music_mixer()
-
-
def set_music_mixer(self):
"""Sets music for level"""
if self.overhead_info.state == c.LEVEL:
@@ -25,8 +21,6 @@ class Sound(object):
pg.mixer.music.load(self.music_dict['game_over'])
pg.mixer.music.play()
self.state = c.GAME_OVER
-
-
def update(self, game_info, mario):
"""Updates sound object with game info"""
self.game_info = game_info
diff --git a/pythonProject1/data/setup.py b/pythonProject1/data/setup.py
index 5267f26..a46338f 100644
--- a/pythonProject1/data/setup.py
+++ b/pythonProject1/data/setup.py
@@ -1,13 +1,8 @@
-"""
-This module initializes the display and creates dictionaries of resources.
-"""
-
import os
import pygame as pg
from . import tools
from .import constants as c
-
ORIGINAL_CAPTION = c.ORIGINAL_CAPTION
diff --git a/pythonProject1/data/tools.py b/pythonProject1/data/tools.py
index 429a69c..5981628 100644
--- a/pythonProject1/data/tools.py
+++ b/pythonProject1/data/tools.py
@@ -97,7 +97,6 @@ class _State(object):
def startup(self, current_time, persistant):
self.persist = persistant
self.start_time = current_time
-
def cleanup(self):
self.done = False
return self.persist
@@ -105,8 +104,6 @@ class _State(object):
def update(self, surface, keys, current_time):
pass
-
-
def load_all_gfx(directory, colorkey=(255,0,255), accept=('.png', 'jpg', 'bmp')):
graphics = {}
for pic in os.listdir(directory):
diff --git a/pythonProject1/resources/fonts/__init__.py b/pythonProject1/resources/fonts/__init__.py
index df77b7f..8b13789 100644
--- a/pythonProject1/resources/fonts/__init__.py
+++ b/pythonProject1/resources/fonts/__init__.py
@@ -1 +1 @@
-__author__ = 'justinarmstrong'
+
diff --git a/pythonProject1/resources/graphics/__init__.py b/pythonProject1/resources/graphics/__init__.py
index df77b7f..8b13789 100644
--- a/pythonProject1/resources/graphics/__init__.py
+++ b/pythonProject1/resources/graphics/__init__.py
@@ -1 +1 @@
-__author__ = 'justinarmstrong'
+
diff --git a/pythonProject1/resources/graphics/level_1.png b/pythonProject1/resources/graphics/level_1.png
index ea814d9e64c8c275baffe96f439b63ce752970e6..d261f9e4830fc51cf13210d6220c17b98e1a4ae5 100644
GIT binary patch
literal 19247
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
xW}+uA{OZ2-gr_rknRsi
zc1~oS7PN8}O@Ko*AUD-}RU-qJjEuK#lwM@PqUzId2ivKvo;x)XAnnVy)?Vxo(GF#IxC=bc9}Ik6Nu
z2=`|Hh_$~`!0+9-;fMskS07ZKjE^_^D!-|#12Q)IT{t-P+Kh~f!EZ(W$9({U*Z%V+
zRUMvU_LR?U1tR(NxnuI$zkiIvO~J70(Zl%babEi!%YO_KY#m@Fe7^|4Zz1Uvoq5xZ
zc~hseeNx=m2~C)R(~TJBU!{cA6MtVE0O{WX>bx6YpH6P4he)-gQ-9OpZmRMHRUDl}
zy&DYA0oL3Ru$9^aW<%Q=BuF&dOAejRmaNMFOLQ5*=s{AdASG9lyFO^{5G1~J(LunO
zSWuUKUgSJ?4lea#XZx$U0Z%@FwJZ3ogq)peNG_a7~@a&k%|RdJD(*n2X|Y$3kBfy
zX4aML;pth4iJNT!#KqAOn^qioU+k8dbwBYOHb0GupS|mdrROf1BO+;ltuX(CB^1gR
z+1Z$PG@dr`f-x`;*;^uTgSZ`_ux34Gub=p3$ixJwq?scx3t(U8wF!t2U6cMcg;^q3
z{Y)~z()lTbG<1;+<~R!&i}ke~a~xqZz+&qxA0});FX;(5;Uo@@8~u@6>4C{R{M#I3
z**CvVigv^i+Zr;xZ#~-rOw5clWKF~U&C$O>Vh`FJkx1rVWU=O6wTPvD<77iGNvCA9
zdS-23mCkXzCi6?5x1g0c(dn@d08<`0t2jV|{HX;0)7P0BsqBd|qtfcPWw8Xc7*I(N
zkBkUjP#(0IMt%umcJ6=9X&gZTJUTllk=V=vUt)nR(L_M81J=SKjw~AYWa`!q+F6`3
zU#XgQY7R9(C~vX<7DV%a24biaWui@dUBG504(FTE4gi`v2vEhfxi_ZYrr!~Y5Th}B
z49bljLMZPSgGBCrXn$v(@iDyZEMkoD$6GP@!?VQDAH5Gc0}ur%HRBhfa=n;R$KSZo{(yg`pIxDHO3uB7t7
z-={xwVJILV_t9>!2)yfX%1x4E9X85+WQIP742u9t0IdYC
zCsDQ$imHyIH&bifB+%|TX^MM8^JLi-u1DbiW?hf(=?J;Pa-aOP7!^XkB6SfNx=p-R
zHrYCx9xWd6UobcJkpa8HiLCBrb8ur$ewIjl4wL*!{+Q*2_?LOs{pp|u+zng>kJ)=a
z5%LGt3H;GhC5vyv{kPeL!w+(O<
zfu&v>jA-h=jP{%bPX*yhx5fW7>B76rGSo=3MNUHCjdMt;#%Ouso3EzzyEz542Q;8R
zmbudpx*7G7_F+qIP%nV7;L$lLadafPOmrfau~b|!kaPQvffEx>_5XB!z;q)AX}tgf+y?4PLOjK{&Xj=v6T#v(0=EVhj*Y^S@$t{ow!xw)
zSX+eHtIkn6j1w4WB#hxz<|KXAm3}q$SbG!A3%ru|`TDo3ImpADo9<_EI(pSk>h0i+uKSpWb4
literal 15313
zcmdse2{_dI|L+%-P^i;EC8Iiy78xpO!H`xe4izd!RElaucIK-nbyPa32pKK*Ju&ui
zIFXPROA%9HMl+_#j2UMA-p_Zmp5Hn5fA90$`+x3pzmLZ(pY6T8-pl9x`OHQ8U0Y`=
z&r^mVXy*29n;gK4C3ydK`ZVxA_}vOq@FM5$uyrF;@KpN)_%OxGYNr(h700QF4^D-k
z4Po0iS?vyXWA)+Uw6}-qzh&SeXUr?vf)P4|yHawe)V(OA{5arVQ4$f4PErS)l|
zAjURm;@ZZ0a=p{yWP+gGl-Bzj$z1ZqE0gudYx@`~Gv}aTf?M{_Q!`BERI@C$P$X
z4NJN2zj*xsLgoAQd3WUh+LXkBi?-p7lxL^jcRH=5o4g00ik{e<>pvgubn6tQZN|b6v>fV2!Q|
zaL}B$V}tL@d!{<)`+l0GY8JR4e08VdGRW$<#2$v+iGZ-ISHe3|s7{QI{BHTr6Bk3u
zZ=rW@?_1cPQkNf_wIA1kff7l8jb&xTEF5Hn1MBSmkIB{og})k5gM*z|eLB${34qe7
zzq-_TiV)39JoWraL@|=1^*7->j-6^>mvc_xqOfk!bVcp9s4MLj8>GYQEmwS73FYW|
z(}c>5!%{V9$oMnUE?~92xy-kVwSA-Wvm+Mh{#OG+uAD3=Y&RtkboO-1X{^vb-I1h-
zu?9Mj(l{Sjp3zPD<7W=fDlDq~2=d+N0Uz
z;*Pjpv$gU!59bJH*#iCdWz3^orWA!ccE&j~)S!_yof9X-=Z2DVWD~oSvl|HmSOe;A
z-r}1;hcP9Pvhz8i?!g^AtF5~ft?MTIM(F4;FR9vRei6k<(Ip}ZsJ81?IzvUS$D
zxyH>`wTT>h%(I>bWE{BaZyhZ|S`ir%-RA;P0fuL^23V@AZmDPIV9z{gbHRCJ;~-z3
zr=z_SDlIF$Bp1>FAoABWq2#rsOp-^YX`{>-_;<;edDAAp#J!jib*8B8@Kfs49r~MP
zqlyCmRaypd|KJrgn4Awow2@3M{PXdN+wX!DhHUo8sL8waS;*I$#2A^)Jn{T2hZg_S
z{t*$iAz|FCO4XvZJg3*w;E9H+HZRhGT7C&zvLO6A_F+OsE!&G>Hjq?8e3*^1+*;!*wy0*7{L
zXM1(43$CXFllDs^_Cb)$bc>X$R6Y0$+-H~vpHg=yII3Leeu@MA
z7FCP4cnu{^sL=Z7#O8}1bv7T2v>#;LeWgLnn0{^J+9lJM|G~`fGE-Md>h4vX&tjfn
zH65ADs5E&?lAxHSU8h%#YUki&ulZ6U{jT4)_X~>M9(Wx&2`+7zijqPYf<^rb%
zy0?olX}AH+>|4kx;M#0%>!%8EmN1a%_rQD3SVXo`;@WVwBjkk^03oj}Mq-%^(GH34Zt}cBZKV38r&4lBsGIpe(Y6*u
zeo~oDqSca{0ncY7T-~S@*iyw(ecN+6B
zJ4Gi|7$j5nPyB{yMw&piE2SRNc6-mRxQqz$R9<`XxRU6g0ty%h!L%h?x(zSvyrX{p
z?5n+YZ*^}xJL$tJdsV&S+1`XZKAf&Sq{`@|pYONW0rV;E}o*Itb}E?BJDNabD3
z$Da}4WWg%(+Fw^l46OEtf8Q%6Ho+AqZe
znd`T#1VYiUG|nkFtF=1T!|9LRGtR7At@dkjY0jp$%DJft^OWm$H)`W9PRtMT~q`b&(qINymLZt+%qwEf-?T_kWFXwHzF*vKTG{)tNfBsrK!fp{imNRGOY8L
z?D{@^>kJ*Rk`q49RI-OEf8`H_J++K
zkHJ;v@>O4sOHcUIck0M#HM~JbY5|=8i)eRiSe_~hT$mDjcKTmOy9&@$;}+1@Rp6P;b?vVy2!wQB>>ls}W@_~7B&sn>Zv2gN
zFJptqMO#X=%3=?c)B%SuolM=MzT&KWqdH@6zWJ?OpFK{Ob6B~1vbk1SH_n7A)g@+V
z;}pP*KmY5Dv(OorM6=|9@wqxK33ny;?NL|AwK`MG$~kD2c!5=!U&glZr#BGY-%qdW
z_^%An!v)%$XAk+XJiJVnT&=1+Z^CrS+Hi+N8Uf|gzo-*YsH+*&cBEI<17D=Cw<@He{%z8IqM1@N7bf=tvXtT^ht)z
zpkp9y{5GNG+}a7hk`Ug5O26_F0;RU^Vw=L%=pSgfeviH=!%hSHh$feK`^T1{y3IQ_
zXv$hTzr*>r>7hd(Ci;`T3;miFWt1qY<<{(XYIoZmb|Y0F+bcmO>&z=Y&HO=1{~i0q
z^x#vqiy64LrPK+Z2qjKkTWOG~S6#@Mdk^Q5*s`KtF81HxE|@XYa*&{0@ZP
z_|F2|@qU8GZKK6vbA2Syk8FE4Z&Tu;bofB6G~fhGzu$}-#T88qceXH|yd#Qf8347{
zioV~QM+(LcM2|JUzXw{5{749Qz3;3SPakc~=0dHEVVY1F&gIj73s~?SlfRw{XYVX^
zs_>lk;&oIE*zM+eVRLGpwEjP-$?X8~|E|en|EkHv&V{jYXNxA57;N;my{+i(_CvA5
zDA`&Q)7cYy)qyUTNc}f`NrT37Yozsy?iXnt%QEJ$Es%`LX?4eU*%|&&2zjg9R7fJM
z!H2uJGWEl`FZjvVm7n4*YVr!?jFMl*#}0UFekXmtN^Fc9Xwx<{(CJxbu4Xy=2g-cQ
zQ)4e!xR~t@)roxlgPXC$DH<;7sR+&*GlNS01^2s}#`}R$ZqS%@+dSBr)mItHzuS{L
z=O!gQ)P*IZMuqyl(}1A=hN@8hy<{en+t!=BwKL#5K@6WpVMuACA&{3{`f2Zg|Rz8pg_lL4oWYmJn;H)mUO{f3`3;GV=Nre7>
zvz!8jZ%bQdil}{se4$G0g?f*>cl;hxMB-$|Jed#s!OqhJFp^hBB+M`^zlB@#oMU|w4JKHtpyplI*YlC!vRCS2S?kx
zdboAIci5f13zNnPgqYzc;NAH{iI;wG#y&6nXFb!8g}YJ}-2;CBM_${R*vLRbsY{qn
zq{|QBDB8kXloruz;nS{QH2(*u1^s6skok{(A@bb%+VPB@+-d-o(;LD*74=jF@J2S5
zI=Q$=IUf#}Dvkx9#WA<7_z_<|tGly5(_xT@ME~6yoRw74-g7i8>wJM#IE9gvBUp^)
z0Y*=zU%4w{H~ha6D8Dc3e3PVe)<75m_^I54&Ryj1L(q*OEXi$em?eIkQiW&T*e+WI
zBvs#rM&3AT7`a}=XL=LJx%zRqeN#FPSUzm5o~my2W|T?q>=#MLYw_o#rM6edC>Ffq
zUjK(4^Zr^G3!in3or0?6M{kn%_)aVg;({eAeab(hU4!w(o1_(K9nI1kq((@02Fx5@
zo*^B4i;A~td=nq
zN;O3y-<9!vVyrdvPm0*83*l~7P{r~>ME?*Pr&^aA=vD~(2)RDo^&*CsYTbpq6119J
z=LZ61$?NLS*P>tQd^z~5LT=RygxIyBOyXu9b_bEKdvZS&muF6p$~Cw^kK9o-)>YTb
zUxOz^l-z=dPoD_V${x|H0a#4;#`a@jo{ysYrsqVouIye>rf)yZe3yKlom9mECOQeJ
z?Uj$ps4S)GGg1{O_m5C%5x-iXI0FQ*C>fZ!-f+~e8p}ge`D?;5Yt8s*QFq0We$!!f
zTM?S*L=Fi@r#yKZ84o4vBU7_+l;sk(SD!~OJ5K-8G$9ts+sF_!^l)hyqXTP^tV2S0
z<0QE>XUo|SHRGmeT>UoD@RTRIDO1X~ijbs~Z#)xE%M;Q7)9=&2Fl|DSTQ-)@H#IC3
z?cdLpx(YIu>L7h|>h7@Ck6)myaknD)e*4{@9-rZ>e8HS$GHTLAMs1H4zng6{DQsEW
zGf?@3AcGzLqua`(uN|d)8BnytOHD^wURv0V>&=Xy(s=x?0Fi6Y_zAZ{c*}YjBlW8_
zQ35%W06=JY}i7R)lUC@Vq6|WLsR6rV}?3P3HGxmA%w0Gxd!zL?gx`%
zx7O=j-y{>LZ0$5q0fZpuMB4j5e3kSjRfjgX-+HQJ_NHRN-Q`Y%m^Z|Pf&(>w^#2ek
zjqU(9N4YJ$%kDJXS0IA~l2Eeln;otf
z==117>4+q6|8Y?b8mnFcK(F`;XyAPd`TgURamli=!i*z$=8J0BsrK0KP4KwDv{R>K
z!{?k+Cg%u^+m@;i@hI)vm{;SGvsJrR+N6(BNCB}YC@4JaWblAmThLUi?oz$!@clu=
z()x>?Ef-@3)yxHjOH-z3?V8s5ZvG(~>72{%MI!jSK*VH0Q8>vBG)oO#2yuvhpDW
z{bDq}aWeKuwzANn+KSh4F(y(r&aM3UYvd`$?#+1_AaPH-a!W#;7V?ER|
z>%m1GGMRFSN$m~W!;J+Uq=9^iAbu}{pNTLi(DlqQnK`KCxlBx}%m{+T+e^o@`4Jmx
zfP=4QO;B%{-1Fm^k1!zQkjHHpYgP6hp{&u`?Ct!FeB
z#iRD16df<>?KN~AUr<>b?n+HlNPi}C6}k@X@e>y7La=K{Jv}7cvGkL$uu!UE8Dc{M
z&PT0o1O@dr-IO8N{DybBVdiGi*Fi6KiwE~KVMAp8K1-***gsP3HQm(k`E~QhL%Ri+?|3?pja4EI^M5|KiMxC)$hDvcfzNyRvOT~=r8$`Kow|Q
zDBVf`C9hgJWyt+ZQtb4P`+Vyj1XGvZ`eyl-ny5KzWK~?yJ@7!MKgcFS=Fd?I5?u8$@6S3^7jR0z?1d&5GgB
zexAnZ!&*=OC-Z@D3cp!X=tg{aJ3_?M$BBleoK0v(CZoJwkNGYl^U$P*WW>3ms&r1H
zEjsJl9Qrq&5`GAszXpPIBRQ8UDXR>ua$fo>pdR)&wv3=wtp@twdf_F<{RLxwRd)L#
zdaS5x-bQ$NPcAb^mu*xzjKifbSzy=a&F=ayb)xZfzQToCS@-;mTDOy%YIHe+3CQiXXCk3>K6XH>An7(UT|yi(bD4BUR;et
z7Cpv*|2TDkbwn>^M|Y_lb6=a$1uF=_kP0wFF14XO4Y7c4O!jwxt?RqkI*`On-t^};s(?dso
z+?MixzHJu}V9>z+r2xyX<`
z0DC!F5VVAQktmKPes8x>388a*XS+QKXH+D2V{hxVBDMq^@G$!y*jqbrq*m+G$B|Oh
zP2jl`@3?Roj}TK-?%PWVOl0s~W9Rjb@8pel*0Xwu(X#DaP@wUn!jQQ-i+R6Hk6d}~
zC$i&lqtejPI#-pM&KU;)6|m|Z;MWY$if^6eyTK|aZ0_UB!{}v_qGOu=*uB*w@roIa<4xA0LsaR0Dmmn}K74hO1{**_hH(Fl%CdC?cJ6I<
z53T(6+7d&Q_4@9ICzP+)8)|y3)rT{`-wd$V;>+6t`a#8kWr9->KBe
zl$6lcJYxNI>x5j#v-jP5ag7B{4pZbFZ|1&TccA{j!>WLmA&DvCHJzsdrR_kCrbvf|
zSYAw_$T8CqYi%y9Ygz&nl{*0r@(ebsM{2KDOKs3=-CVVwtlbYFabBh)aQF#9%!BAD
z07{b(H^WP6R{%1tJiait`C3e~rsZW4dt_4~Wqv0ZtUXc@wXzw!c54+8FP_=3rDvudo)hB^jF+mShgPhD8MY|7-L^pX&KN*${DHL<>4a^&=+xV1Ef9XkAoY$e?yHk|fjSxCdZMJdCyWaB
zkHSnkKZ4i3D+pdHl?IVuN7nP+56zE`QlUK?M^);nTGGAl^X|X_CyKVTMbRx3
z`_yd#uqyfyqgtSZHN0H2wso+-0(4XF5}Sq;ooo{j!xY@ZV^YF3N7gt0ikbvI#i+J0
zM2Zg;Ev=D+NI1_^xTa)>bwFP}SEP91gdQdV>#7CP54F{FaodWm_reu+2m9&Gq5Qhs
z>Y!PhJULe*+QRAO_+u-^85f-Hq|_M?JS4>)4
zE60dhNT!2GlTAZ@1H0q9nwB@5#ooW`{*|qQr_Qt2w3ftaw?^pZ_r09cL!F~C{Vacx
zyvlTrBLj5|X~cX-a{_wu!ZSi*0)D?OQWRq9i~?rrEK1q&lfV2kEkTF=r(ntZya-e%
z&*5%~@KFvP=^!CZ52F@plPxW5Scngrfl{JJsdQw9Nl>3#QU{AnL>$@?#fz?x$-{|r
z`nbc-N4OKe>$>)wt02tZew);wCBY*tj!G=Tj&}m#G!=*EQVWg!uuU#ruNHYnScB+0
z?~~ZL!X8|It$PR)4q0|bBG>Zp{AkH(&r67-5u(4BA&d``%)7@1XU#~9-A9(%O?MG&
zDSh9<*oS+EnCa}gyL=tkf47)wWIWCL~m|@iD
zKOK&RaTvRi2^D{vPNdsH`nYMxwjkFw5s5QF(EC5vEer`HMD^gQcV#fksF78iAr*bB
zG#?U?UW(zXvWQ0}C+btHwf9q-)Y|WuzxL{5G@tfozTDzKr>jd-jfE6x0%>*+ekmi0
zUZwi*pt4>W<(2RrF~X=*gmJUu!WlR35+8NNbqLl)Q<}u^Et{io-O5K@7@kk)JKk!<
z>!Js9D?{8-PhHvdh9n;Bm%1C*H`^7u?R8Ss+(iUsQtHAo>DZGniK0>=eKrlrg^{01
zNza2N@mjeEohZKjo=S3Hnh@*H_PzehqDtv?0n8CJ+4QO%o}Y_keuSemEN4b=Ds0@Q
zG;chra8N}t{6viQl#HkCdg2A1d{}~2OMghY)}h$`ZZ>VNgD5s1S1iy=dM{BcyeGi<
zCzecdP!UaO5W^uh$KX27UtOeEW-&@=yX{Z=aWZL4^G6N?h5q?|%uI<9A5XGrck*Di
zzpd`3Bz#(LcuYzWj>9zms`Z6PUgJk(9Yz_!aiH?Di!x(V-`6eUD@nlOU$@Pmyy
zh@-6q;_M>2bKG+rxh^Rjm(NQ7nX-?wXq&^k8a2fbS4H@QE9;j4qT#zByXOdx@(@s!
zo-K|lAVbVFQrbRz!d
z(-N6L_^~>;gJ)DfB0d;+aDa2pnIXmr#GZPrOf&_*-K$M*VuZd4O&;J^?CeAwc@#I5
zwDT5%PXSIbM7=(BPje#Rs;mCbgGVvE!{BtUxSpNz0JRO)aj9H9rV(+yc{Benk
zr(_-%s07?A@_&*|OfLXRa()+-gcLe4_=C`a$3yIaMiQkjVv*RxlRPrePU1NiE
zytYoHq1`{H<=}|3NHD+AuFD2dBq0q+D*~kOGx@CI)bJCnGBW)sO80;6XA0{Kr^olv
zqQ?uAe1SRAJ|aSDwI2c2%f(muD)}$JBUuq4-f`^GIQ(%Gw|8V986Nb!#1Bj8;OUPG
zO@feagmxoLq;S*c!+_TZnhxUm$f8!zRC&Juw+_%Ks;xDpr1WBnj@#FuGSAsDA^fwZ-5ZV+o=t0!|p-ahqTgk?COVR&&3@i
zr;o$0yz;p)$?E9KJ3ZP8{tu%
z3jGrmcCg;zB_}}n|FsBrSahqQhv{Y1DbBs`8TpC4rs-M=B3WAcX(;H-Ft85BHf*Zs2QkCVv$XR7s^Nm{9^@5^@HN0xlv1)8c6sSt
zg?HF+@PbyP4d*bwia4|n_PFdy@%sQYU7q2Mc#?7MAsIQi;*P?&bKQT6sbbG#e!#Cc
z=HV;GA|eRkj-`lkF9!NBxKa`NxP~uYo**R&wcJNw*e3s^J`M3Dr}N;on+ykFZ;Pn=
zQ#{+zxgEzTPp8^fmP4=8UTw0fVCD#y3sC@Gqhe2s=T}o
z@tg6f*ciaWgbNRQZI@s^dPu2lURPhP4g2IvU(>`YuGAs-)5^__5X{G~M^WW>C;C|5
zY-M)G0a>-uWBFFBoZ{x=Se}!B%n#)9Dybzw4QB&qg2vVRDs3?F0zm*Vjl3
zN{Kg&q?t#gzv*z1s#_v#f&e!tyX(M?pa{Mm8CeL1UdMVDJ_~0U3s5_8p);v@?LH|8
zPMk~0=XVLDaj%IE_BdQV$(oMW!ze^kY6SZR$AEso4X@MLLWBXrx;MeuB2!onb_jS+
zc-q|kI2#N;PFCc`A>-}K%_y!J*1=$p?}B`dy1))dV9`7NJiy1njXy#z@EwXoUw3kA6U|Df#5|VOtM`Y6Vqf|cTy@*>SA7%Quw1=EevJ#qlnAq$dVd~
zeVIu+5?4D>f?J2g;H8D&>^W3R#Qc=FW!S(+L~+m-@`Cj2h+~w7`$v)V2uXm*L|L)M
zs{0Iq8(CgUwO~aJzi^wMK_28gy`M-Hnj|qLYLxC6OhY0Ze$`*HtXTTj`Z1Gb6@ZhN
z?a!rj9o!kS8*8Nn>BJjmGBi!&A}485rn^)vL^%SK&1dgkJJ&l)o0D8f>>r3A!Dw$o2TYNs-D7>89Zx!1=^tOhWrX
z=^z(5*f=p`B}fiV;)*>|aqQl@Da=>HFiI;qQEAhN9
zg4rYi#T;@1_}d_xnVv8%poe|^_-&z(kPxsILOeCr
zz^34+)j}d7pQWf~3N8|bPn^5qiX+4)pbz1i?1j1&OikQI%%Lub?sY)$s&VX^xngY(
zyaJe~Je+}E&i^AJLDtR9t#&&~N$s2JcHGd=&^T!LGLzj+M1VECk{cnbKY#ugIr78h
zDR2)Ww_85z(;f%o!6DDbElpPw;uc~t)@~N(tHWo62({ZaGa5a8C8{uz6*#nQ%oztrVBpD*8=VXTmh
zVV_m-CG<8|>FO)&8kaGV=HnKu38@nOnZw{`nSNFgbu0MY(l<$e`PS=!*c3i>YQofV
z>N`ynaxEBzKDijaE>`y7B}Iw?9?kQC)dt+4u|upx1e#wC*=mZ!vYy}d#gx@DQpBt-
zr&U#r;oikCMMiIRIIlrxa@tkR8S7kRrHLQ*g4n*9rIY$*NGk2i<8G
zIH)MC4i8{CqO5Z`uIO|@C}5}w)WZzw?I^u!n8T?uFb9GMtBMVO=-0l1lr(M!kg17k
zAw+<-GTShCa|GABA$r5dur$|=du6Js#mahsK0pwTl8@S#Mup8SEt$;;hCHVJq(HFL
zgwK2-;ojM#&rDW_<7I0eH3V
z4a>!xj!$6!Lg^3Rv1a%Wsz5877p#gleTSRReNbBPlC5mT
zQ6y_QHeMG?=@5gfW9i|NGSDUHD(deNkPF{=Zw?0&Li)epi)E+!FV@zMANk~eA!6oW
z72N+Tma_auNAbmtV@=syJ75A4liVevFY!Z@fWmz5k##rxaMcNdUNcIeW#Kn=qwe>6
zA3N!nw=@en;4oDi5JNzFI^C8o`J2n09P<~=kt=Qf4}ZRnriO=jj3NFavu!o5<{{OR
z*H(k%zdKV9CNU|bw?X5?OC9J+0@gXP4L6-DC15An85&ail~N;NWZ)UV!(I$VQ-8(6
zPO`YyR1Plgp=j$*-b_K!=I|A5L=5VE*2r88kS@1PBz6Q|>4$HBZGpL(n!tz9DUu-?
zgDR~Sx@4A+kZ^yV7zyXZ21=?YBlu+W{5*Q0Ae$JZezHnTMG7l#Hja|S^tW_%(L6wA
z(~x5~_}y6Cm%zc{?36i-AzFlVDHcls4XE{^HXNQK)}&035FsM>dWLh0fY6?Ss(bt9
LU7HFvx}W_YH1I;*