From bda62ae82b9efea8e250c8b535ef75639af3e844 Mon Sep 17 00:00:00 2001
From: catsworld <519418441@qq.com>
Date: Mon, 15 Aug 2016 17:05:29 +0800
Subject: [PATCH] Solve conflicts.
---
app/Http/Controllers/ContentController.php | 18 ++++
app/Http/Controllers/GoodController.php | 12 ++-
app/Http/Controllers/UserController.php | 89 +++++++++++++++--
app/Http/routes.php | 23 +++--
app/PasswordReset.php | 10 ++
...12_100000_create_password_resets_table.php | 7 +-
database/seeds/UserSeeder.php | 2 +-
public/css/app.css | 92 ++++++++++++++++++
public/img/banner.jpg | Bin 0 -> 59269 bytes
public/img/logo.png | Bin 0 -> 486384 bytes
resources/views/admin/index.blade.php | 11 ++-
resources/views/good/addPage.blade.php | 39 +++++---
resources/views/good/editPage.blade.php | 9 ++
resources/views/good/goodInfo.blade.php | 17 +++-
resources/views/good/goodList.blade.php | 20 ++--
resources/views/includes/foot.blade.php | 6 ++
resources/views/includes/head.blade.php | 8 ++
resources/views/layout/footer.blade.php | 0
resources/views/layout/header.blade.php | 37 +++++++
resources/views/layout/search.blade.php | 10 ++
resources/views/user/editinfo.blade.php | 11 ++-
resources/views/user/passwordReset.blade.php | 20 ++++
resources/views/user/register.blade.php | 59 +++++------
resources/views/user/resetLetter.blade.php | 1 +
resources/views/user/resetPassword.blade.php | 19 ++++
resources/views/user/show.blade.php | 13 ++-
resources/views/user/userinfo.blade.php | 11 ++-
resources/views/welcome.blade.php | 9 ++
28 files changed, 463 insertions(+), 90 deletions(-)
create mode 100644 app/Http/Controllers/ContentController.php
create mode 100644 app/PasswordReset.php
create mode 100644 public/img/banner.jpg
create mode 100644 public/img/logo.png
create mode 100644 resources/views/includes/foot.blade.php
create mode 100644 resources/views/includes/head.blade.php
create mode 100644 resources/views/layout/footer.blade.php
create mode 100644 resources/views/layout/header.blade.php
create mode 100644 resources/views/layout/search.blade.php
create mode 100644 resources/views/user/passwordReset.blade.php
create mode 100644 resources/views/user/resetLetter.blade.php
create mode 100644 resources/views/user/resetPassword.blade.php
diff --git a/app/Http/Controllers/ContentController.php b/app/Http/Controllers/ContentController.php
new file mode 100644
index 0000000..1ecfec8
--- /dev/null
+++ b/app/Http/Controllers/ContentController.php
@@ -0,0 +1,18 @@
+session()->get('is_admin');
else
$data['is_admin'] = NULL;
+ $good = GoodInfo::where('id', $good_id)->first();
return view::make('good.goodInfo')->with($data);
}
@@ -145,6 +147,11 @@ class GoodController extends Controller
$good->good_tag = $input['good_tag'];
$good->user_id = $request->session()->get('user_id');
$good->save();
+ $new_good = GoodInfo::orderby('id', 'dsc')->first();
+ Storage::put(
+ 'good/title/'.$new_good->id,
+ file_get_contents($request->file('goodTitlePic')->getRealPath())
+ );
return Redirect::to('/good/add');
}
}
@@ -219,9 +226,10 @@ class GoodController extends Controller
public function quickAccess(Request $request)
{
$data = [];
- $query = $request->input('query');
+ $input = $request->all();
+ $query = $input['query'];
$data['cats'] = GoodCat::orderby('cat_name', 'asc')->get();
- $data['goods'] = GoodInfo::where('good_name', 'like', $query)->get();
+ $data['goods'] = GoodInfo::where('good_name', 'like', "%$query%")->get();
if($request->session()->has('user_id'))
$data['user_id'] = $request->session()->get('user_id');
else
diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php
index 88869ee..a13f79e 100644
--- a/app/Http/Controllers/UserController.php
+++ b/app/Http/Controllers/UserController.php
@@ -14,6 +14,7 @@ use Illuminate\Support\Facades\View;
use App\User;
use App\UserInfo;
use App\CheckEmail;
+use App\PasswordReset;
use Illuminate\Support\Facades\Storage;
use Illuminate\Session\Store;
use Illuminate\Support\Facades\Session;
@@ -29,8 +30,7 @@ class UserController extends Controller
'username'=>'required|max:20',
'email'=>'required|email|max:20',
'password'=>'required|max:20',
- 'stuid'=>'required|max:8',
- 'nickname'=>'required|max:20',
+ 'nickname'=>'max:20',
]);
$input = $request->all();
$test = User::where('username',$request->username)->first();
@@ -41,13 +41,13 @@ class UserController extends Controller
}
$user = new User;
$user->username = $input['username'];
- $user->password = Hash::make($request->password);
- //$user->password = $input['password'];
+ $user->password = sha1($input['password']);
$user->email = "#".$input['email'];
- $user->stuid = $input['stuid'];
$user->nickname = $input['nickname'];
+ $userinfo=new UserInfo;
if($user->save())
{
+ $userinfo->save();
$new_user = User::where('username', $user->username)->first();
return redirect('/user/'.$new_user->id.'/sendCheckLetter');
}
@@ -60,16 +60,17 @@ class UserController extends Controller
public function login(Request $request)
{
$input = $request->all();
- $user = User::where('username',$request->username)->first();
+ $user = User::where('username',$input['username'])->first();
// if($user->password==$request->password&&$user->baned==0)
- if(Hash::check($request->password, $user->password))
+ if(sha1($input['password'])==$user->password)
{
if($user->email[0]=='#') return redirect()->back()->withInput()->withErrors('未验证您的邮箱,请查收您的电子邮箱或id.'/sendCheckLetter\">重新发送一封');
$request->session()->put('user_id', $user->id);
$request->session()->put('username', $user->username);
- if($user->privilege == 1)
+ $request->session()->put('nickname', $user->nickname);
+ if($user->privilege == 2)
$request->session()->put('is_admin', 1);
- return redirect('/good');
+ return redirect('/');
}
else
{
@@ -93,6 +94,16 @@ class UserController extends Controller
$data['user'] = UserInfo::find($user_id);
return View::make('user.userinfo')->with($data);
}
+
+ public function logOut(Request $request)
+ {
+ $request->session()->forget('user_id');
+ $request->session()->forget('username');
+ $request->session()->forget('nickname');
+ $request->session()->forget('is_admin');
+ return redirect('/');
+ }
+
public function editList(Request $request, $user_id)
{
$input = $request->all();
@@ -149,4 +160,64 @@ class UserController extends Controller
$check_email->delete();
return redirect('/show');
}
+
+ public function passwordReset(Request $request)
+ {
+ if($request->method() == 'GET'){
+ $data['method']='GET';
+ return View::make('user.passwordReset')->with($data);
+ }else{
+ $data['method']='POST';
+ $data['sentence']='';
+ $input = $request->all();
+ $user = User::where('username', $input['username'])->first();
+ if($user==NULL||$user->email!=$input['email']){
+ $data['sentence']='无法验证你的身份,请检查用户名与邮箱是否有误';
+ }else{
+ $data['sentence']='已向你的邮箱发送一份包含重置密码的链接的邮件。';
+ $password_reset = PasswordReset::where('user_id',$user->id)->first();
+ $email = $user->email;
+ $token = sha1($email.time());
+ if($password_reset!=NULL){
+ $token = $password_reset->token;
+ }else{
+ $new_password_reset = new PasswordReset;
+ $new_password_reset->user_id = $user->id;
+ $new_password_reset->token = $token;
+ $new_password_reset->save();
+ }
+ $data['token'] = $token;
+ $data['host'] = $request->server("HTTP_HOST");
+ Mail::send('user.resetLetter', $data, function ($m) use ($user, $email) {
+ $m->from('519418441@qq.com', 'Catsworld');
+ $m->to($email, $user->username)->subject('');
+ });
+ }
+ return View::make('user.passwordReset')->with($data);
+ }
+ }
+
+ public function resetPassword(Request $request, $token)
+ {
+ if($request->method() == 'GET'){
+ $data['method'] = 'GET';
+ $data['token'] = $token;
+ return view::make('user.resetPassword')->with($data);
+ }else{
+ $data['method'] = 'POST';
+ $data['sentence'] = '';
+ $password_reset = PasswordReset::where('token', $token)->first();
+ if($password_reset==NULL){
+ $data['sentence'] = '未知的Token';
+ return View::make('user.resetPassword')->with($data);
+ }
+ $input = $request->all();
+ $user = User::find($password_reset->user_id);
+ $user->password = sha1($input['password']);
+ $user->update();
+ $password_reset->delete();
+ $data['sentence'] = '成功重置密码!';
+ return View::make('user.resetPassword')->with($data);
+ }
+ }
}
diff --git a/app/Http/routes.php b/app/Http/routes.php
index 0aa9b66..00275b3 100644
--- a/app/Http/routes.php
+++ b/app/Http/routes.php
@@ -76,7 +76,12 @@ Route::group(['middleware' => ['web']],function () {
"uses" => "GoodController@allow",
"middleware" => "auth"
]);
-
+
+ Route::get('/good/quick_access', [
+ "uses" => "GoodController@quickAccess",
+ "middleware" => "auth"
+ ]);
+
Route::get('/good/{good_id}', [
"uses" => "GoodController@getInfo",
"middleware" => "auth"
@@ -92,11 +97,6 @@ Route::group(['middleware' => ['web']],function () {
"middleware" => "auth"
]);
- Route::get('/good/quick_access', [
- "uses" => "GoodController@quickAccess",
- "middleware" => "auth"
- ]);
-
Route::get('/good/{good_id}/add_favlist', [
"uses" => "GoodController@addFavlist",
"middleware" => "auth"
@@ -166,4 +166,15 @@ Route::group(['middleware' => ['web']],function () {
"uses" => "UserController@login"
]);
+ Route::get('/logout', [
+ "uses" => "UserController@logOut"
+ ]);
+
+ Route::match(['post', 'get'], '/iforgotit', [
+ "uses" => "UserController@passwordReset"
+ ]);
+
+ Route::match(['post', 'get'], '/passwordReset/{token}', [
+ "uses" => "UserController@resetPassword"
+ ]);
});
\ No newline at end of file
diff --git a/app/PasswordReset.php b/app/PasswordReset.php
new file mode 100644
index 0000000..36b45ac
--- /dev/null
+++ b/app/PasswordReset.php
@@ -0,0 +1,10 @@
+string('email')->index();
- $table->string('token')->index();
- $table->timestamp('created_at');
+ $table->increments('id');
+ $table->integer('user_id');
+ $table->string('token');
+ $table->timestamps();
});
}
diff --git a/database/seeds/UserSeeder.php b/database/seeds/UserSeeder.php
index 58f8f9e..74564a4 100644
--- a/database/seeds/UserSeeder.php
+++ b/database/seeds/UserSeeder.php
@@ -14,7 +14,7 @@ class UserSeeder extends Seeder
DB::table('users')->insert([
'priviledge' => 2,
'username' => 'admin',
- 'password' => Hash::make('admin'),
+ 'password' => sha1('admin'),
'nickname' => '超级管理员',
'email' => 'admin@admin',
'stuid' => '00000000'
diff --git a/public/css/app.css b/public/css/app.css
index e69de29..1ea6f3b 100644
--- a/public/css/app.css
+++ b/public/css/app.css
@@ -0,0 +1,92 @@
+html{
+ overflow-x: hidden;
+}
+body{
+ font-family: "微软雅黑 Light"
+}
+.button{
+ box-shadow: 0 -2px 0 rgba(0,0,0,0.2) inset;
+ border: none;
+ border-radius: 3px;
+}
+.top-bar{
+ box-shadow: rgba(0,0,0,0.1) 0 1px 2px;
+}
+.top-bar .menu{
+ background: none;
+}
+.top-bar .menu a{
+ color: black;
+}
+.top-bar .menu a:hover{
+ color: white;
+}
+.top-bar .menu a:active{
+ color: grey;
+}
+.top-bar .menu .button{
+ color: white!IMPORTANT;
+}
+.top-bar, .top-bar-left, .top-bar-right{
+ position: relative;
+ z-index: 10000;
+}
+.top-bar-back{
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ overflow: hidden;
+}
+.top-bar-filter{
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ z-index: 100;
+ background-color: rgba(255,255,255,0.4);
+}
+.top-bar-bg{
+ background-image: url('/img/banner.jpg');
+ background-size: 100%;
+ background-repeat: no-repeat;
+ position: absolute;
+ height: 130%;
+ top: -5px;
+ left: -5px;
+ width: 105%;
+ -webkit-filter: blur(5px);
+ -ms-filter: blur(5px);
+ filter: blur(5px);
+ z-index: 50;
+}
+.banner{
+ background-image: url('/img/banner.jpg');
+ background-size: 100%;
+ background-repeat: no-repeat;
+ position: absolute;
+ top: -5px;
+ left: -5px;
+ width: 105%;
+ max-width: 150%;
+ height: 100%;
+}
+.banner-content{
+ margin: 69px auto 10px;
+}
+.banner-logo{
+ width: 100px;
+ height: 100px;
+ max-width: 100px;
+}
+#top-bar-quick-access{
+ position: relative;
+ top: 30px;
+}
+.page-content{
+ position: relative;
+ z-index: 50;
+ margin-top: 120px;
+}
\ No newline at end of file
diff --git a/public/img/banner.jpg b/public/img/banner.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..910bec304627ce39dd03f9bbf3b70e8038ce4673
GIT binary patch
literal 59269
zcmb@t1yozzwl*BRr4&kwTUtE07AK`G7K*!Dfda+dOYz`N(W1fKp}3S%+@0VKp-AvQ
z?>Xn5bMAldH@-XW_!eXBY+(vQhvvbN~Pi^#^#k2R!>=
z>}tv{z`?`C!Og`5cvt|u13W_iSHt-KHB3y*f1E+>{i|VNVPRuqVd3E5JbHxt(1VtP
zx&s#4-x}Z_4GkRw6AK&X(PP{vXaJ1AUqfyGe)ZojJ_DemVPK$RVqjrmVxoreL0to2
z5@J1n#VvvTLfIIH)`5t}KQ{Xj-P@{8VwJHIdR`O9ua9v_NXf`47#NwDK`eayuLT5!
zgx|fFl#-T_g{Z2jYiMd|>zIBtGq?C;Y31bX;_Bw^;TaGZ6dV#7291kPNK8sj`IefK
zo0nezD=aFmuBol7Z)j|4?&|L8?d$(J@N0Zxa%y^Jc5WWNw!X2swY{^uhdBLnc7Ab*
zyt*btO&J~aU@&q1nlc)?8>(XvVq(4G#(plLjAQKZf|kes5z*V&?5fVkbi67j#3qho
zxFqy^a0bL*v;Nzp|7Ual`oEg=Kj-|{nn^Qiar2xnHDlTJE_3EGigK(TXW`rk>m4x4+r=3()$Ysr3&NW+S{`hg
zmewYm@#0JjVhvFQY>+0(MglC&7*-V7t!n$c$io%t
zQlFjozW-hvo%em)folcT1HcVqy53pd6f$F@@dwiS^@0&_6zShTgYy6=Q#Hg1>y}O}
z<8-^qnaq6v_)G1$dmGTytt;eg-D?~0JODZj^2U0jCeNZm*NW)AAe5HE328?lo|68(
zYz~fCVz2UMwPe=&tsMK26G<$NeW2IeCDcMDusr&SI6~Q<*la>DHk@5WEgvi)qx|7!
zG>R@U&>%sbOeLDavvEfwsY;bnj41HPX%Pu$nV^K^s8*ygQ4a94+E>Eedq0RW3CIb*
z#{~H20kEI{OzkT-gzh2-Zo(g&{)#5yBujDgc4rRCf${#W|1;_$I6?Mz$+O%P>?_mp
z1nENsLa0)}XsTWZuNkwV-FQaBEbi+uR}Al(UAfIW(88yV@7M=41<6Kd`8i)+SXAcP
zuoD4na?zp8fQ}s0=6~O%og*n^$!H7Nek%YlikK?VzmPz;ye)5Jc03Krmq|`I;(gZd
zY_#Z;u1zQd{VVb5Kbp040*YZ3f6$Fp3hh
z%8j{`O0UwstnF5AXJ>J~Vp1g*qg2ax!++lfI-GFyt8Z)25Y$VHf1$mvqPi8qb#kn1
z$zgF}+N8r7)lPH^DX_!wW^Rw03p*|6RFPy8c|GZBobK$bdiWOk0Jumn7Fk3NM_~MtdJOT8^%8Rl_*brBinheE7iB<9Z|@V*
zNV`|#IjzYulk_+BnmZS#@zKqggOo2O36d=j;?tNHE*ZewxPj25#0W3>;GOmh*x9_zgFRX)-JNW2@zR&f
zhD5mpDL8Y-_V=<|Y6O}Jc}V3wuQ`|MTk(8-GsAnLx|UQrpSaQ$9maZ>wH8VLIapg(
za+;lvL2{Au%c2aRQe{b+e-f=hnRE$~TWFd+Vj4z^#rdv$wpD?nkN{He*VH@7XCQl*4~e>Hzf{pQcP~z45_X3u
zCaDvpZ%z|UA9}Rph27GvQUkk5DzEGrrq;bLNvk6#>v)8*r7&;Yh?)qs@jqW|*lc@zEOKyRmM}Tt0eqMCVIR{f?F314R!4
z98hsjy_7|Xq-G$gs=w2OV75ByJ^+X+OOiSz;-kdt#-vFhUON2_L@~eHOnyd05WFqr
zl49;!--E+$&o=WRj?=u+)=vlng4|bDQ>R}<#YHsp{S@Uc)pk#ooT&RDlERUr{i2C{
zFYlsx^tzBIbF1gQ?n7hr4^bDgi_?j8(rIJS@3h>IWy+QBs0cecCZpp#;0fiAGA+O4r6_iL#j+pQ3_A!s@s0()<1U(p-;gZr36cRs$ONvVFef|HgQ4o*;dM
z#cUwNm`ns1MFkb5whooCH`w!B%sF3h|Bt;h7yAn?$o|v9o5zwI^RGwImF1$Xn9-R3
z3OG395niYv9tTK0Ma7*I@dTrB)KTqN?Z15loabUEK>;6>qfO-`0SrX7N~jT}#0pU(
zbmZCq7#tq}b%xkxFb~@m&86z{rqy;_WYPmbcJh1)zgx9wg5L78`8NUn*2o67)x2;kptOgfa$dqLO>DpRMFQM>2
z9v2D=V8q`Qdvh~XggCc{d*Y_q*mcgtSkZXviO$=nf@^gLgRUlwhAHczbZ?N(<>)q*G7T7pN6~j-P256a(+0hN{F7+AUIe@D0a+i
zc02$=l00XiwIw2r&g)cFiuO70=UkYTR?`C-EcTpIZbO
z=kqv}?COyR*72`l7kv7G#h;6E;6b4VoDkEVN1|$n)I2g07uhnB9<;r$Ws2Rx%Xnmb
zSQ5VYuN7{D(@Yt!7s!&9@pY828AkHR?DbTc1}G1b@b(J+l=Ltel4Nr+m)Qg5>??5U
z11i|G3OB<8G#JDAsj5uJQ(dtmZ0!0xlZuKT0A1{>GP!N7s%b5^@s=hyO21o44B=C+>x!bXgX`EBDAZM!%d|icyJm%5j-S5-h0iNQ)vaRetem$dOlf3hs@wh_`_>-L@`?P
zy|kIbF@ST!wzE(N%H5fr@66uw0RQgG+yd9jz<4vpl5vHBK
ztgX|nptTjW9{e(Ez9cuCoVzIaqdyE+$*kmiVmsk*#a1I7ul1LQIz{5%w2K4b
zMUw5aA{K`&$m0FJPMztui8gxo3iuHW+aF=lPg4Dpwgy4nXkML62HXWR9Yw#D6(wlR
zX|^UWtFT#Xu1yt5$7
zonq|2WBqNkj$Qh~42gz;@P!H
z!prN4FXuU5o^g(<91^aSI&OLw25a*f3$}8Yv$JUQ=cf$)MBrp8#g~E9GEhlyhf2|kI
z^_pDDW}`^hBBIxx4ksNT2+)+TkF0ao8{z6yE_wGjydpSAw$JH8Wy8^4o^`-$-bswp
zgj?Gchf*cuvj#~Lt=c+scZL&lkQ{9BO*aP6v)CAtb-fL1)
z+O2uzUy#g?!!XNjDj#c>z3uhm4$Rugx{{rHR(GjoN$9DZd%nIw*H4FwrWcsvQ(GUB
zhlS$PXIvVV)A+dMsbYSIvpKTT<>HmF;yvrwpn^^Z`$4T|%^^Z{*yq8Fe~M@#$0}}R
zAPanl*%_Zh@X|_>A=+jif6R^5n%uA?+&`{hgtk3K6a=h40PrpEnNOAuG^YhDo2V5a
zJaH9N0maQ+EWhj}sGtpc;4i*oCrs-{WhcE;>n9D75!da(Uk0EfN=i?MVsI$mQ6m8j
zXkzki#N_qpWK{2IXl%*&*T|m~)^%Cs7-~zjrR?1(XG)@DbB|@kN0y42UPi+qPVyTNR^G4BUIZAgi~z
zu@NdnU>%MQV;yVhLlv7mR)y8~W1gx8Tq0`u5_uoLKQdsOpbr^`#epS0xbGIQ5-$U-
zKE`^fhtZ;yyJ1%Gz5ltwuLD?j*(Vgju6vH@jNS;
zNQ=m3pr5|{z%l{TiPYhLo?t;rk~#gU^DeDb(`}s~D3yH}_A2g1(c>(<+NpiG(kIui
zglwKi-mdt3t4VRrCNeLJ?2N4AnU?#Cvilpdg^QH+#oSpBIq3eEKA-&$_vxUm**XOl
z!nB}Iy`OUp(yj6@M5hJwj9bGVi2LM_5XDz?(-dICjt|p=!S(znd063HLpC!+xHxqkAm9%
zOgI=V@E#Ajx{UZv7*L&rgo+dIwVxy*gGagy=T4;ycXfJ>i01aDJ0qI{36@2E%0>@{
z^KjWEP%ONxz!SF#Oq4qv`W0^}BzW^l*c$;^u0XQ2u`SyI@)81_
z)*r+rvu6zZi|$Y|3dF)?`JA$|Ih@!NIq(YfHkqPo>o3$f?J2NlP$3>uyM?zp}t^
z`(VM~-fKJUzR3O=pYugPc}}r%5sOnzbE|%>Pk5(^ssiI*hz;Z+Hk5epHnH
z^<4k?jM4h;r=C3$mA(<(CwxIQioE_c%5(PsU^&9!XxfuF?URNasCk!+7~htBy(?_>
zfG+^US1?;S*KA~+#W>|A+u@AuZ5a$)*k6e1BfV=~*;{;%a<|CK7rG5VCoAF3vo3ac
z)~OmlEM8u5u-O_ng(7|>g{5Evdti7X(4F6()?USK5VLf7S8FvqK5a9QR@V`ot~(}g
zG1wM2)CjEkee|pd|6}D?0!LH&B>iHOonNrBCY#M!Ug!1rnBMlAlzuDFr~W!rg4IZr
z_6d*^0fhWl`mgtu4hrnzUXSy5Iw|DQjejB2MC7rm5M!qfLSIzkeH`LnFTx$?nfUO?
zK=@;Rg|hwVd=NJ@_6$7_
z$|957D~D$=#S??6Y#OilK8LS}E_y!RC?*V8C#H#xB7w>n`*3Sz7@qwaEwp&FK$MQ{
zZU6XER5jKs7J^g8x|cRd(fnx@Z1Dgf+w*(sZCc^Zy4D`z!ue#MhIfYJT$df98CE;k
zqy?x~mdRpiz%eBexkT$HKf~Ic;g3aR!ELh;x}9$GM6>nn;dh)eZ3c|hlSWrLiB#Sl
z&(RyHHR+&5H$vVrldX1e6y=EEvmprcW^i|Y>Q3@>OJ65|Vlf!A=+FDlS^;0-q5Jwm
z6;;Dr$0A+h7cXE3MW$T4O;YJ>qPef>8-onkUkb0)pl
zFJ6Q`04khe;5!B$Ym<{kx6e{c1n(-2S>6J#Ri*BT-*tgsh~lizMzlRcC`6b0UnVU(
zY;%%dt@_k(QoFq@IV)Bvk#dCTr0*(-^f@@horlY2kC#Ad)pjO>w0`81oA>HV<3S!_+HfjTcf(Ik?bCPeh<ItB_DnP|f%G|G$Xm&J~Pg7l@
zq7k8@vv>EXZ%a@QlL$d$aBF7mex7IL_3Dz|JKex>(fS
znXZ;*g!zaNEOkF^JN!i*YRKIokv;>4`vn_5YZGw~kV1wae(PG!W96p(!0D(eAzSmi
zGIJ^A#{HOVH?&!Q)c8tDqqdFY{`WHW39F8KfOfqd2{J!L-@rQcn*eX!&1PQG(#OTv
zryGec?aod0nbD*GYjxLKI1CZHo4nUs?8`j;3RG1&W#*O63pN6N>vGEtU9r%v^_nm#
zj|6d8(71AEpJs-%S4HU%ec1y*VIAh$*Ndlt$a^LgOUtbOUa7bk8@)IJ0NBAH+G8%a
zlpSc2Z4xN4(^zpGPU+)@MyNm`1MJV`awH^)l+gZ5C(q?W!>)m6;k*00?l+Ufmp;u0
zPq4pi>Y^zY-SEcu(xh7-ncG)FI=MI@crRRQa2vo*ArTT+~Enm
zErX9Rjr?njuS)8^uYSenaxZhdU8hd2BU5+z#6PI|RCA?!3g%u_zx5hoY`!%^$pI}}$I*61&a4I6JR`uz6FO+00=sUmvsEwyQv@07PSQXqO?wntI
z-bjzpYo$qgBUX$AuS*}|ocx;lIgveC+A2}d~9E=+(^;P-#R
zV_eMr*(hlC0Y!TK#hUg1VC4Q!84wzI9^GH~Oj|fs-V7Eiqehdign>JuFFYAhJ6=1{
zNGR%4m1^3XJ~^B)M|Y7ef`Q@;`pcyG^!IvVCmnmCg)NWD=v}C)EJW468Sg`*WZZ`Y
zD_=zk#|i$C2~&K3C|^m!cc>yw!!3*F^YpL&ArHM5_+c`(UzS2GjEpRAmR&MR{A^Q)
z5cI1y7`JxAU@J&rD;>x4&ELQWeq!JK?<}UCk@>GAS9Sv4wF{`E05-&+QfE@O+9c8B}O`D5v
z?>wZ0kVX4zFc=Q)fB2Hs#y17MU-vi)YVpq7~
z7%M{D@c4siuI~xeX-Tj4U6H7D+3XGlPPZbC>?Sgx@A3gK_e_QoXkIy&)-(X*xh*Zp
zY-A#CIoa><j(ShM)-p?qyyd62%u+qhW%J{PKGLyMy|!WP-wZe{mfd=qOI&Ahq6?RYu8qJS
z00D==+&5)FMFsHc>(%K3@dPJT!%$xDcP)MDxx{&v%2tug(pSa`S!^ora^uXLHE;5T
z$Nh*QCG(T<$DrZE^!7+Uvn&j&BbR9OZ}$}YV;L9MnSt^#+JN=n^$px_e|d^eX&T?E
zYjy(3Z}m_1doQoMYp01@t=EdD94(;nlStUpN(jX1j
z6#UC|=6U6$a2oQUWVq)d}9R|lz3eMMP$Dc;2_m9h#@gc74rK7fbY5>MOl*g
z+xPzlIsWIRDJ5N)=aCaBC(HH;N98vFs3H$wCnoY-j^<6tnR4FMb5!OqHt#PV-I&Zy
zI5YC2;6ET$G)Im7_f@R{?u|5ETaLBK7w8(n-_g0Pmg8Iq&Sk5*;x07g96X)ljc*YW
zYb=AZR8AR7{SdBWR_*EI)NyiDPD&FX$-m^*gb7btC=kO!5)u<-bW_Exc5{EV%AMq1
zd`CP0po}xOZr?34U)Gzy!;iZDaUiVT%m{W)nyz_^`&!&)&cuU$dMg;k$m4{toC_hU6?3Vu=cuQT<@#hBG}l5{Z@z-Rea3jWT8_ykM)nJ#-%3Vhqvcy
z9*nb3@Oe7?6%?b}DQ>@4+z6r;?M?svbKRFs=W`b{;%Oz7{dHtCUu(3>RXNvAw(t#C
zdraU+mipUBa1F2E1Asuhw*oQVJ#yq&Ff4QrzWuC5?>m%Q?&AliuLj?kO5gHbM(~*v
ztlNF@6&gKkS+e|7P#=n;k*+)cri%I8je5VT8i7F9K$g(uHzik)SlDr$DN;j-m?0&ta5A3_xk9+bunh_g(
zn6ESO0I(+TpBbweSVI(4z9cI@s8CUG7=Hd3Tj;#(PwuW6q%N|Cz*q`BQKKTb#1
zHLw(XLaFos*noiHh2oeGfYCdYT>ND|FFl$%J2b@M1&g77t3$#4eD#0kpArkvS2Ge
zf8`|LNv3uiwy&=4k?*$#;%wBACGb966xmD)zXe`9hoeT#_9ea*R6<8`c6a#Aq#NGK
z0}HGlbmZ~k=^@P#;3g22IB9;}q
zE4~T`CzI`atram;|3L$C406TD{NPczA_PAZ52L=L$Gk3tgYYy$
z;C(thIHtS{3ZBNjY`<`owq2Q(T3R4~GYU1NfDka)!C{pU-;Se3i~8
z+>tEKiOdicsM=Iwdfoi5Wyy^zn-3LFRf6>N5OEpWQ!Y%z)-5b3`zuz3M4eC^G
zzndNW@oh|JIYSj|Xp=eIkCI^CZ+9ASq)ptBNT8CHA=+CxWW$
zl(6GVLlz^SCsIG1#+wEC_KEt~Y;f+X|1#C0oX9s_%!bAtw;&%UW>}eMxjOJptV{rS
zi=_iU|1e&V$cu%A0{FYVa>s5Bi%#5DsGI!AS{ZGnE_wj8CCfJ4--c@bfzg9&?_q6z
z_3oPQ4dKD8?i>B<_L&ypPV4}j?BemdY9KkJX^r~3zxf)_`$X(G;bZjursnP|Ka;@%>(q*y
z6u+XM)ZmLoD!(pCIOi>9%>!WFc~11njmrMf17N=W`PmTq>koe4wYysc`){k=z1(_T
z`IPT|*qA1KjPBh46
z?6KjZL1O;qbkp(hmCg|w_ZRDG0x`&zp6la~7gDk3kLz@M8m)goEa_$7l2K%WVcf6G
z6<~mLDpxg=v^8(u@o3ehGeXmb%JO-h!*@yLAb=4-
z*ho`N1BbrbIK!Kmt(!a)MsdVnabSODWvw6@Yn|y733JPl*V=OGGoOukn++}b+BI6Z
zQ>4;RTc!b|+_Id1=6jS@JHmz74i)F#0g{V9a!+3C4>{Wpx0Z+Ki%;)Ev`L4Pm1zv-
z5^l3&8eL}nA;AM@=UAJXJ1ioH0*aGuLl-xK9JgT_?%usmH-BYNJB>nPoC}BkSdnJ}
z*9_TeKUwntbcyfC>oA{$?G
zh~dY0WG$*RqEg_m`Ut_}`GpT@Zz@lu``BNS)e$`2Pcny3`jw8CuMB1ifoE}yJIY%W
zT0@koYTD{;5PI*3#^KX2~g1gi4zKAFWYOU-*8+up4y0_#^e32(JRC&PBOnowqfF;9Q5d
zN4;Z>L3S^h9q+vm+(R}m_whvLu?N*umAhW9a4CYAPAZcZznFb#Un!ZbjI3ZG!QyH1
zoER>2qZDj4_yiP413n>udgBKc-<7KgB+49r92ccBhsV
zlvy+X8pH_hyx%W(VY&kp-GzNwy+r(@l@+r)Cp
zZ?F^%ZBzR-b|q1IxbCSQ=CS2SJ%mxpIgylB*^bE
zY3n;SkP&7A&>~?iHa`9Q(DEx|zs;}Hs>x=%nnn4<#|~J`t4Js+bS994d>h1re@I*ALnqfrS9_;w(;ZG
zs|_6Ueydq^H2`ff+9&{U$8uj4W0cGR#L<0S*iaIdmM`@HSj<%zxBlgLMR>s5>V~LN
zJDqpCr^bY7tSpy^4K4K{WL4A2N~yos&|ZGvu$yGvR43|$
zfwMPVyji>k2iB}@uj$O#fqk(6~7sl6`#!!%7>98oL%{~)-DZ`-SJuA!({fCyB&-svllqTI_nn}h>(y#
z4ERXz3dxQ`$05C|nL4*Kjc?(J5PQ4OCtynXV|UQa*vj&
zkL|eYU34hc*Ok5H>E=0%)mD5#gR`tg>AcaB7k|)m
zLS8_y(y_(QE$cTJVc3?}B2^wAesDCF7gf#D%w;4cf%7t8bi+YTk0XAqo$7wbbF(4X
z_m%!KGPje|@ruHrwKH{H_Nqh1PUh*&_xv{|Z`P|;FXnA?%}VBUt%PkRN$V&2s^9T(
z&j6j25YD`$jRa-MkN+(s`tM-U|KuF11X*QN>J!?3*d;R^pYoeWgPEW_)t?2`+p*JM
z$huPZ6^&)OQr*zWUl0w@4Sm@E5c^5-`!@}u9V;2lSoug#wU`QGRU={kB09yBg1#Rt
zGRe@Sz92~$bGD=q&h9%SmIz$sUVvLp%-^MdB`h?%S8x6Uw*8+zzsCmrECogbNf?oq
z*_QRf#D!C$@@te?2SeyRe$<1je8;;~A_-NZj>6Ll87D8+P)aaD?-NLf@05Ho6Mpfe)!@*>`20YH07Y~5m)PlmABBsMSo6>DQ70(+0?kevjm?4#=N>KRP`1s
zhW$St6*{$(Obr4*x@gDqD`|auL(;U%hB+uE7cYXa^FX5b9s}tEZx1n`nz-eL50aG~
zejY9T_;vjCnyf|apiEEvQlvpnaVF~vNRS>Is{&Cmgg5<#B}7SHvh8Ba_x;F|xA|5s
zdn$o@swxrmQ;TYczmv;i@k_pcn%^v~_iRhE@FOZ#AJ<9@!06m2-#ylg4!y@kj=;^U
zz>(sZhHP97Lq71d5c8@=!`3Y8mu>wK)}NX{KBpN-A2=7kYJE=RdC1
z>E?QuI2r5Sn>v56V#r<%)crJNl_-hyc@~@QmNVf{#-wJtVr
zS6I8?>mfZ`jYuyDpAHO?c;#CamRS{qO5s65!%M`?DO*~p$Alq+_A1I{+Cq~>);Cn5
z&IyON<2F(>o@Y!a(j6)6=ke=)q0IrPTH(0Y=b7t_^CLn%u9bN2zkEC`$(*BYrjMkP
zL@1XFOW9qFf;dF&si_}LaNl+yGn9PmGQwlopK0eW`9bv|CGfK*rU
zz
zI=T!a#zyMv&iS9SFQXwVpx>5bs)LB#sZLGTBI->kU6wPu+VxBRT<+heSJRt)MydG`
zxn)A1i#ckoE+gtsIi+bK;q;%&OVKoNUip(_5_V#$%)Gh*Blq=2`7<YZ+*tBIeZk$kUmXqyHTj
zil{Kz9T32+UFn6CIwvsf+@GQRx%sF6iBtcd{tu>kT+&xwRADd8p?WFN2P>8?(`v+MT%%f=M!!$hfI;F&PUee{7}`;?{bwDC3@+thlC_wWvi)9
z8llMqWaSI_SpJg^RT;(pzg2F5=;H*HHxsA%l(fG^q5Dt9c`4ygx}YN`F8ZJ|NXm`tB#%m%rP8eJ$v}Es8#Yuk7J35RBZQWo4Tm9!*V}R}`U+37@Md*Tb}m9aU;gh4W7d?g!h-)^JTjFEhLFFg+~8ih+b>F3_BBQ8n{rKg}=0;z~V)cvQ{tEsi!+@d`Q!XUL
zRUxl*<04QXVdI*)@6_(+3@`%rrE{it>PJy;ZBn_)JhxnHMw}2Q4YHw6oO6-`Y$+$N
zq3c80br`TBZ!ubEE+&
z@l=XN1vj>E&ceF6kh0!lE^8yt7T2)lb3E4T@ElhV2k{>7akdk-i%M3irNb&X?`f8i
zblOgLC96vc`)`^xZu(eVe?Rw+Kjqm}opUc=rj62!{8cmp>QO1Lo-dBfhN!Jfl}IuV
z+ZqxVcQ&x|7dvcl@^o&+X=jj+c_a#`oE8nYRmnCv7M9W76wxPtqSji2;y_qOM7sX1
zI1*p;BJl(p=9O>RPSi>kNf36+z_gJ4>D^<_+H>$OiCyKUf3yRx1a^HJ8S+>j8NFIY
z(3|=ZI_O~=$>-(o&Y@_{w}H<-MVD`<=)=
zn-_;^+Vl1rULC>NHa&6fzTj8Rk$zV$8cRa$AxzUdhlM%NE#bHS_Fd5bAM67n##Kh8
zJpqt^yxf2x(~Xi^1Kqx3bLAN;x*YGz8^3>3gd2gI^y))|a}k}MllrSyhzMLqTuGu0
z^1RtzW&d-S3VvQDJp|BVFxZ?d?uH43D_?}Ya?ra50$);7HTqsVIWUU@M!
zsTkScIS-6FqpWy}jGJB7(&ID#^p2Qdv(XHPx>^i0uC}R>S_XQHFPACn#80_5zBfLr
zt}m%zn_wzb*rv7=pI9q@rYW@Y%y%~HF<%PowZKgCdck41sg2mr*yQ5UB!v8<^Q$H4
zGRNlj!xt5|pW0f+`Keue$=uDL{X%_9Do4+y-W&ZU7qBNg5dZyyb-ov3&Cm?j1EPaIzX+Vxx$8HX-Rd*sVnI1K?-&39L7@(ljth
z&X48w<@~8MX9L6#X#l1YM{&Wps!Ag5yBQ;AaV?lo!LB?9dMiORHGudRJe5^XT!xel
zhjAeso?}&V?Sbo4N6rqCCxV$Z!yblK?w%0V2LSq(Usyju7_hdj{OztE?&`$#(;3w#
zPUm2&w;4Yy>D%whkNe{?X-@j$Te5_8_d$tj4}cmwJ|5rpAXhD#1f@R_M10vXW)6mD
ze-_mJyh?yS!PO2m)8!s1;1d=u!=Ts0!tw+cO+f;^wj(t6^i>vT=(ct=>JA=J;Bxl*^InW+6}Psb9aX1Qq^OFj|FnRnq~
zOY)h|*C0i`%WLg;k9HRws-rqwBghf$jwKNwm-&46NPUcxormV}~E(DctK^4LaA*e!G2lZgx>V4J9R1VD}O&
zVJJu%Fjj3CR&n%u&3QmJ;B}R0EhM%wO{MAwhst_KgAtltBlF{9pF={#>E4wlFEXK+
zYOM$(oB6p$YkLoRBNBeM)rKy=aACLJC(&U*qV0)!xVMO1j^u?0ZR|F;a6Dh8S`9!(
zui-bgBJtdqx+;{Lw@ag|pJQN0IAI&2US!Zqm>r=qf{X}ClrXdCE2R5A$sHXSJ(
zQ$(T8+BC5h&}_r+1N=*n{^k5nS{NHj00FG~S-CTg^0x>05u3g>IhhGv3%+Z*Vsl}F
z3dAh!fu}9+{U;V=t9G*|g()4+oyw{p3sDi_VuSGSBCm9+0dy}d`v~Z7~LMZT+rC1Up
zbhF0Gz`m}%%jHslYi>bLUr&Y>O17*`9f}(Y)lP}u!E(q#XXo$*-O3~S`}IvoteLms
z-<^Dq@h&m7p(~wH#-=tCyb4AeC?lB9?Mc1{cgf3r7^4RjB7^@ZjxtqN^VN0)_L}3#`y{o1t9sis9Ya)
z51C8ql_
zrF6siaLaF7DT?K*+=4!NtBXL(eystIBKk3K2!ER0vmIfnCi6~sdu>B==r)*stRyP)
zTd(|(qhD2fSUG=mAjv#-w!k+OcX4xvzwRpMZ)3kjy$}Z8o5gcpYwpbQT^gdl}e%xKrEB+UMiM*=0g;2~!Z=ubqxF1ThAo@(14kE5G#*GUuQ2<^Sav
z?NKigEENLy52Eg^2!%DSljpeL_Wm1U6KWQjAf8t$?}b&pzU~Q0igS;QrzULN)TZG7
zGXtm%m-|nJXMgA7{v{#(Z;#Q+?NF~kpsJ_bLm-M|EBi4>QoZqSKt%*FeZG<5boh`PkhtNeDemVJN{7h{BC3?b2C$s5cStNhY@aRD+s|sACWqNd!WKz
z;i+_wMLKd>De=AW3;jp%+ZLWKQFZSLLPbKA9M~hr`uTjhv_u7Y#+9~nA-e^fF5#>Q
zUu-0_Tc$Sd^k~|PU4l-MZPUj5cN!61d}Su9VW+2wmEn_H{@lI#9`^o_&o&&!F^-t2
z-VQ$_9_>$3ow7nAO!Lj|@>Oqmg0+9e<%eZ5^0u{3z{ncsR~8kW3=ekvtkixtofidb
zS-zd;CvO57-YN>~}leLXe>1--iyXOSX0gcX#Gvb&o&B&CC250N}f?yO;Mh
zR)p=MKuG&VEYbqO_{@01+b9w)W^+xuOrlsR$GGUTWkxR4*Ck6{KINh0<54oQR-)0h
z6@zq`q|-3GAS76tQ5>2KM~TdKIXnUfmTRX?V)ici{~v2_9o1Ib?TbPwQYZzAdt0DL
zaCcfLUZA*p@!}S|EpEY~MT>;s9^8WzFJ7Dk_XG;0Mc$kD`}Y3MIeXu+&pqevzZPSx
zj6kw@o@dUVO@aXUVd#09g__{@Wenz^n*5v2|EFhxELo94U>TfbosFIAe>_z@QiQ&^
zifEiV#gBiRTyfVstFR|3@ywI!0iL9xty#}89N?T)K+~z-6fxK7QXZ3JuPz+7!GcP-
zt|@9k(B&@*x}MgdImT|^_04FZlq85nw6Iy5fw^W`XbY}l%a52}{;BTYL8bq$s}8e?
z35hVKqWR}%!UwZ>5%WC9EX5+mLzN+1WrC}6aQ)HL~3!>VR?6L>lmuAk}%;<6ZH>FC_^QTd@M!M_iBr5+YOdVxI*&
zvU;@gB?Mx&e36TvDzwwG3D<&~*okL+9!JuYJC_?m#O^8C!g>>?o}j+^i4ik0s);-+
z$cb;f8EN8CV{}lQftvaeGp#W
z+9UCd&{5CF5u`Mg%8~dCCpAS0vv^3_C?SHAoAw567pK=pkN7wh%lTe%*HYBCg_4sm
z=q-w+FQmm^=x7Kye)FkvkL#fievT|%pW!i4&(qcK_DRy5_W5O+sCKy>5|?n?SimBo=CQC<+De1s~FVa5zl_m})h_b{s0;88J9mJzegK>eMN=bqyMGy#^pI!WEsWdAhN`uyC#f
ze+v`T>?N(whyJx2LEhAu&-@z6VN8h#k7%
zv9E(}$1V%*LnQR3!P01NL=VNdVMukvm~&*^`_8YAJ(TiB1RFdg=e4NsXPEJWX|jmQ
zfwQXZt%*cL8nTK#ZML&xMkm>CyI*gf;IvUDmRJINt}yb*plZ{;YbG*u2>6iSIXO}B
zs|azZi;c-@09kUpYp&4wVQ+#!wbyY0nKq0*q1cf4bIF$E{2{MOD?4Z)Y#JIl(sM
zE$VkSUAjYLzX2q6a84(YOL#+SuNkuwk5JB!4)q)l!ZC8LN5Krpu9_+u%MGGx6O^%9
zgGRYoSD!+v>T`1?P1%eey4H!$K;ky~ZxjhDFyU4FSU4Z?oqZj?*yKww#t(^~-#9mx
z72npU*A$-{DDI#w%dP5KO`8v96HL!op8;sJ#`5Jr_};={s}`U
zXum$dY&gHlpME7Bl;Ql$NVBcGkV6A`lKxM?;*{f?uP|0y6(A{ompRG65_bqx)d+NS
znJE7~3}7+SB8A?FYqYLBIp6v8`ySmcyqQ95Esh=EK0n
zkC!3x^g;W4$F66o)X?_kHiGF#aN}1}2rt&ePeZTDYSVXtMng3KY*7EKm-b$ze6_gw
zaT}PTTPfXJ8t?gNK0STpz{JbnobwUeGe?dc*{;IQ-)mnKddWvwi7}8zj?jufMCGR+
zo@*EmhLKm_KMbas@3iKNX*wg_-+20Bc5t%%D(1}XxqkX1wt#x>a%eu|x!XF$1;}N=
zbtRa;USf@|pypNO#JSp%9_MJavq(TCf+O@~&D;7nAFpe6YFYO0w2VEyMq^Ei{rRFT
zr9_9xsuSZ0uazJOUbL>e+ve=?X>CoeGI6Jl79c;KLCyHf9R;~&RV~PZMeEV+3v_I)
zxWSERbTFCvhYfDz7n@f<#ktS9K#z9oi&Yn@l@fH_yc3>Yq^F8hYwLh@sy3nX$I1ll
zHpVEi+K8Jlpd^sztX(#ztG;e%(36Z=Au0dH^%$T+p=CgSSYUGt*pd34v%Tq4X|#HS
z)u#?COM~m%F8qIAxe`hLv@JE(94N!_iE#{re}nmgcL{VM$s?s1&1MGziZ5g
zAPi+eM{5=wUkCa}K|98b1qyf(8=BcFxlbev-zj=|g)a6`g){avxDWDRP$$anR+45<
zcyL%gG!F&2`i2fi@I|ik{=lF&4n53h%~}0f_SsqyR}*5TaH4R
zRGRp@=0+C8Q#&!Raw`@GoktkKowY@l;p~d}zPAmqmNk)ZCQ8(7IwJdS=(&sAX-11A
z##-Q_i^6L}0(vDOv6n<$hVR;%J2KUCAWpn&3Sr_gV=P_+N)!(Qh5&_A;DD@tt$4Yn
znok(HbT)OAoWoa6toVmS+xfn_6?CmpjIBIJ!pRK0}
zorcVu?Om2P`JHSYzmxCRwvP3&EcNv>yRoNK&%W$QKn573l8TciP|hI23<87zc^nAv
z$X9E5EQ3qCYA?uiReSfq#*6oPpMIa6k)gDm$xN}*Q!khe_wHuRnyT(Q=>7b$kAQQw
z-Qe0<1oc*>Z%K=mEF8NNc*?<7ogb%PKaY^YK<(I4oZlnH2A9Nxq-Yv~Y4MwLxNm
z`Dzc5N(}(xbz50oS~5zE5i+42&p>D86XhhD5AHrtKzKj1L3SIgnJ5?8sq6mXj75XR
zQjx8SY?$H^L9dx$o4r(W`Bru%+7loS4H)RwX$6&cHFpusgN-5
ze35eS%Z`#|WySx*2>q)f|M$xL->#m_luakPn_2@uyQR>9qo>y}lRD7Yuw+QXDSz;a
z^@6S9-VR&v_>&6n>q^_fzp&`HrhhRLqvQMXiBOgUD~$G3`G5ivQ}8(d(1VN{b@Fbp
zke>vG5|5t{RFACyG}I<{`|p?O$AV(kISVrshPib(4V0BeGoB^Ct`X8kv!M7kPiw;v
zT1#gpEv+*(U@_`$`~}7wP2vu3My}1CKN6nj6}J)oUi^UCN2b_0!$eyA9!6Et`W%u_
zMlSJD0W_yxHN~1_^0H9qkwLukFfT7ij;lPjI;&ioC%}6yQCtaZ#$#}I*mN*D>XCU4
zIy5Pqz16uZ>3$JCE6W_roCg0TNXohxZ0r$x^p*7zK4*vuNR!I7vxI-KhnF>&0@Uw(_
znhorzRK!rwny3MB!pi#aQ+FMS?@Bn|*sGln!kWT**G!ltR}lUY@O`zl^80-?>D^en%3-&a~CmKhi`Mr)WN
zEm%NLx&pjr`xjvH`f1Ra@?%eZ&cDy0y>z$no`vyw`7VjM`I_B
z@?Onn86s|wvcsOI!PrIe7tY}z0J;I!<^UH_1n^5VK|*~
z6~P9J3=xJ+&8^Xj&|rA>;l1^P29Dn?O2MT#ckU+cm>8O~D?5}!)GuZ_bXXsqMI-Ss
zK=Q8n@aUah*1d^>C&g?h5344j5(M7`|p#N*+PQ_1Pkiv`)K>w!siYnQ-Uo!ti
z3rLtz%k45!%^1(vpjvWz{6ccB6mg(N+BdV8P_-qc+2u+X$d143PPnvdt(kiu-Gi-E
zrB|%;G?S|`BIAr`C`0(hTxGk7WU1B+)ir;e7%Jm}LPuM)H?_rU&hjk!CBj?U6X#^A
zI}^sF>!@_Vpz+#q(`upqjk>?EK65{h8XL;zLWzNzZY;%)>C94_vr3n~ZUm>Yb>&Vx
z&-hYMFrhuQc3|E`!OJrVr=5k_ScjL)+0s#z>*^hFSY|D8D(S>u=WQ2A9sUffqp{0;R
zuq#+W-$E$yk444sz7%I1%~TdoXTFmBH$oI`f_BXyiNQc~k3X8McWuEcuw61V)AW6Ii`@=jn8ZYzH&@uQ(WzR1Jzpx*GKAYzZQ3(QBrQn^s!UC4NBcgsP~VEb^HPX`
zPr57Do!7ZC`*eAudck|jS362+}7n-QilD}2H<2_WVjTGWI_
zP=eN%S)*tcCHj@=DmeZS)^53)4g@ksL1nc1^XbBGI~L7_=TQhit8M#di5b9`C;N~Dl`6^~=T#ErbGTT9gJ=o-p|UCwCs{!Y
zwBPQ*Ueb*$58(0hkL*)>Dm<z>jtWs_05pcx3Wob_pX
z1&)W|_M3?cB#;UF-2tDan3vVcqFZX5n0W50Lz(xphYDTn3UB3R*cUGYPU**5)R*+P
zBN@L$@IsE?wvOyX0o*8yAbHmHTOG1tpguK$xC?tTZPTS~bT)rF
zi?kLm6~p8*;^nvd{T9BIRiJ`mJS?9Qc^Xbw@v;D7Y{K!5!e)Jq<)*UtrmJG!2B>fq
zfmYrsAWb4fTMjNPgNhWsAkKNMpZ>N4zPT8P8F<{hy8Th5x_y{Yi~8}~Lt96~LY+!q
zlgdZ(I=X4WBO2`XXXQ1P(g2taIHFpqiDO8($6tIxIhE6^h3fL0kc*LTK=LKjvwZnL
zG7o&)?%UVYtzssDX$@mg~CJ=f!MmVbZ=-am&VL|xcuDy?0P?0Om<6p+hHuE98)E510}7#jQR
zlM8d*9+1F~>Sz#E=RS;FfhwaXNI7pdWB%7(1Y7Bpf|-bu4F|?W
zA!8<-hgnmGS^1(N0d{OPHy9v9M|kp=R@z|QCh4<}nz9pMJw?;oza*4iclVv&B8^Dmp-3%0Mb4Ad3
z9^X5Y(Q)e5FY<$~)hTbho}N|%aIry8JWWCw?`j;HQM|Fm!EewmwYQ=(zPj5^*`;9I
zasJMa#5uS7&&{I?xn#{g18a6t?B{{%e3{g^T%+9pviLN!3X91^@qViK)ZCRWgLJ*G
zgWP*O;6bC>Duh0}0HxF|74%%Jl;2J=C#4ybr6I#(5Zk(OfTO0nT
zbIP+USPGdjp5QgP>{^2e@!m0L6E7~SEKC}<*01~7sX@Y_mu|S4{h}KOH+G?$oWyYQ
zU3^$bg3&$pE#>Ubbp_;Jzrh5R-33+un&|QGmQ->UnhD$ciEP~b7DQ4!GnG|iL(42Q
z&uV}9A^*zYL!zR6?yDnV?QcY}J5MHi^CnB?!kXEKW4am8!e~R7$$XQ=^99x$)_C&D
zRi{5ekTZxctw2*;AIl{D!v+w51wJQ7dM|`leuZ{L-ko+5AvaW-qcDY+GYkab!raYLGUFra?Lnr{FaPIz1&8O8I|MYocSX2=@#f=
zf$!Tl5}`(8fP;JLI?3Gn6Dd>gSnHPG1h7xfSJuDCIsS$9@bId|BrL9z2qgq-HYDvd
zW_WP!RiK@fC`(C8nDaSaESj1++KD
z2!EL7c8+j|R8pT2u>St!KOlx>tP$v=Q&L}2-_TI^kkpGnrVqpU86MAX_Qab|&UbnY
z!`Ccht>%s~(aui#Dr9RP@$-m0Tg9e^^c#%}8vF-ktT1M1Om`bGg&*6=!?Lmxkkevu
z@FTfGp_M+t2;LJXSmIyZ=qzsb7Zy*zXF9d
zdy2;B8vo!Q-KXKqVKloPquZGJ=V;J?8LE}o{oKq6E-bb2WXZ&I?RWgm3fOLqIr9lp
z-*!xZ=D?hm*hIK6ue~vWp<(qc=i2f`7EkKw^^d)&gN3q&0=q}*SpqOMKf@++fA;GBeb=3|yK~$2I{mK?JWW
zbgxo8539h;oqP8*p)(lxz7`>h+>7=JBO5qyzUK4xwnr@wk=CBBYqi%b{l=D%sVtV^
ztTS18or2qm@s_v7^?WDvr8)dUm+`ydR_22Uum0(LMa9HeRa^SAEO58==O|H%?BT`Y
znDX%r5lOe)fIxtR`dRBrN6ZONY5UjD%8%W-BXV&;BC8Wmt%||Rwq;cu$KeT!329Yn9R)7#nEmggy`-ZsToswu
z3}pJ9oNy9iAd5=0JhCRyw(zIYfm8D8D3k;Z|;dC>ps0eJjJ+>GvX?
zA04>t^$zlK&A910KV|zMBsjtQIL>${xF*jz1@t7+*l<91F}td$T9fk^sP@aYoMTV8
z=shiRFTDE&CUE;CGo=EE_lM_|(Sbpw+hV(pAbq@RX1@&D=nv`mySh^sjW8#Yx8t>)rR)FoJ4t4t?`p78g#8@_qZ@ybexUzz5Q&%vPAI?G*h
zCqR
zwX6Z)VPh(DI1bvJ(0Yxw<%^Skbum&2guN>m@UIqq6W8+EV2yxv>sp1mWuvA!$K9Q{
zgv?}Rs9y1D#S4!9in88!QdoGL^HDCK`>PhC6PCyGbampG
z4O3B?$4H(m9ZcfF$YNi$8hVj~4!cp1OA6L?fPe3%xt0Gh16A?c{ra?XQaBhS?oY-;G2_i&+9<5GBap(u*Es+
zLLVE&F%cFPQ^DpbCahE$kkFIYxcV=RqAFk4v
zUJBMS*_wKE0MJ71yzm_&wX0o=aq#}%#$Q=hN9&DYZXwJ$q2J7E_>+~!_!?viB
z*NKqL(OxatT9J7JS=9cHp{i&4#wnB@-W`GrA0H$v2I{NQz6)*ohW&%E=Mt15F*gYJ
zN?@XA)Rz6AXD3?B2~Y#m5#Mlm2d(iieJ{8SEP*pH2G3Gj;^MV=%xHHcn9oaQxSp`%
z7BvRB5sH>+FJpLNT`+(ZL$3Ufkfi_DpHmdyp%w?i@NdOtHVjbq_3ouZlnI`xbO^65
z1A^D9!{3gJSzhKz`f^PQAIST%@vzW9IK`IODk=5|J<|_0g%KI6B{Qo2uKSj(-VWms!GCMXsPZ1;o{43zE9>y
z8bMRv_Xc(|P)#mj_C40}kJ?)gD%ogCcP@d@GpUf4(^{dgXfmYjYjiBi1!3QX*p&7y
zb=0j%aJy7AZM}5$Q0@M6{l41=X!!O8JZf0GqdL$avB=4SdG_R2HC6xO+oq4MQS0l%
zaWs7xc!GuyPs9}i7j=!WW7Twu%$ny3T3R8&qCd&2PKAB
z7?biJ8FteX6h}ienNFCT0hzwfaZhh%cb!)3lUp4Cg^_*Abo&@$$tJgQvgGct6KW~^
zoKr4nEr~1C8iVI^&QX594Mm$)tQ@xc50gaI#RTiae^~6UQw(1%WDD(?jFaElM)0+G
zHIki!;>~>@7k+x^z=D5Zm}O7du&OhlqvkwG=`^-kspdQj5t&yLQwjh*$h3{hXR1cr
zb9q}*N~SD`Jo_Ww^>!*!j@-vGuKQ^N>Sg)?MMQw%!duu>U8g2%bDmI}TC(5vV~~qx
zt9wi+^BjiZnPL(fBEd6Nxu>3YFuJuac_Wy7n#Q8nqN(qf>6do8`RB7s1M)0JxQD`V
zIkc;24Hn`M@O0wgbh3U*bp0kM!cQci`9UJCI`c=b^3Ma7OIp!P52Bp=$%p5)$E%#7;cTrjsA(`1l_Zlub{)X9OB$g
zZR{^}Va;yHpRamg44;g}w$M@Y1|zF^N5QfR2ExU0<3|cyu&zA4HRpIJ7tuy&&G-Ih
zUyXU7S$9Gs*O9MAt)12+*xaUz^5+@p{WM0el36Sk75WhE~bxFN#NS<)NEn
z#HY6jt((Djp^k^{IH8j<%dM!|!4Q)$24G~~OUowFBYIl=aTe&uomZNo_1sGgWHaq@
zBtX;G$m)bZzfa&Lr@Cj@Is~Z#y~D^)cU&GqY5LN8B;gUr-&D+pu{Fks!)2q<_-Zhe
z^+vuQq-#klVk%yH8807`EU7hK${qWbztj%@>-|zP!X>C19@Xji3>>-JchOloc#1GrUY
z_F^^!QsggrU2HKzPw<=$!j%#TOne0rEP!1uthfUJ|J9Bpd($*!d>AtE^R{Lx1#_LwW5
z4}zN@Mb`{_QrL~z6A{T)X^jlWO9)@1Mdnp5Q@4wf-PcV!%OwP|T6fU;?oj7IWFh^g
z-#p08JWelLI8#hn>F)qH!Tbn1iK)P?ZUXd~C6YOo4NZoUJtu373nyGzQJh|C)!B
zQXO$&d5_e5XPDbH_BHDvJ9glh4_EW47~aI>vk|NG$X5ECemP(5&$o`gs(1<(?^bI9
zqjbtz!f$5}|Ayonh5x%0cK_*p=%Ey1&R7ZyaU>@HfD9kd9E{y@*3V}B(G7a=Gw_#X
ze`ZP`A6#AK?`{$Y%ERt#@-GGNzbkqF@2?3z@EisT;_gY%`VOTQ=;l)wpPsLqP?ZcO
z)%S@C{Q3bb_}E#6Qz8l~cjdBA4lj6GZdrLszyJK%Qcn<%v-%+bc=ii&8;q87Ksmsc
zl}_F{E=Pq2-IbTFHE(dTD?Y5cX+2-DIlZEsyrrG@35&@GVC=JDF&0mdr}Y7aE3u|V
z^$~Y*NAF|uO+`;4Q7`Il22SLJd}}%zIY&JMG|XI$w<-(@Ii)ou1xvazh`@BKP?j^E
z4<~@)EP)9jvzJbfxu1Uq%U2|LTyj+;EiVMkx;?$NbfsNVL@B^;M~$V8i%GHF9Ef_4
z5`Rv?C$v$_C)CISm}%WoJfuCk&HRB2DGb-O
zl&ps29d;s;B+LW~XI?skD}TO{O@h1d2`Ftyz6YriOoo1V!AX14LMZ@4mat55`?(n2
z=k-TQdWBux<`$zVj!>*Q5gx{_e1Cw4bJ-Z@355-&h^02VD-L}Q%qN;dn<5tta^)lM
zSIP!#%!_k>zjqs9?q~75pVvX_Zsw_9rO$#-+dVt7Lgx`9O*+LANrA%#tjolB+cv
z>Y^7k>gAPH+LN*vT`V6d4kOXb6E`+~&04*I(ZX}7kxTiL_io?o4~0&CM9(5>hqdB_
zm?cFQ$YFs#(YdBh&ZVy+ewmNwiPt0{hU0Dj1}$iS;MM1KGpFE~Ka;iq(qB8@tEQH8
z`?cV5pSvkdGhSTis`|z+SVspXDrpIM@1+KJg|pAJ3*NvR%=T!J?dveyCx2merd8@}
zT%GV5-m?_&TN+KA2h%leY0MAlnP+gE%VWl}-D%q0lb8Gl&u`I3{%(m|mT-htbmV&a
z7zCK5hB@PZT(bVQ`@Abiqh#j2)6EY{(GGrqhRT6{x%50iXUf$9D`BVHB9+DjkIx6s
ziOPns1;(0^JtY1tDw_EZV@lb>d!ogro+Jyb7WWpXhZwL=(T=qLFi_P_P^b)ElHm4i
z%OC8s11;Y*vP-pnSqx~i0;poBjt=3)G%-x-RQYVBrkZE2UeQ8%Y0ckpl>hf(&Hq77^1rA|m@tlzg@28k
zdJf9%nfb~n!`b!mKkStcGE*_I8AtImUj$|}NVV^WXcAAt0)Oq>iDz@%Nw-}X+gwPT
z2vN;`2nC=LOFtavM|g4=-9KrYf6zAxd*J`61u|aeN5>We#Y~a1k>vqVVdTy_PMLOo
zC#ts1sotzPUl@CyX=Sl{$4%q22=AzsJbyI$G{GU%U?H`!v1MGlQqwz6e3JKFi*Vr3
zjpZE2w>dh8SYa9aJ?+MsOLeJ(Ds~ss@9+%9lT*?M(`pr}2H2mLUkRtCX_TzB%(`2^
zyyBchGuATJ&l=eO@wfd=FV)F%1#6+hH@i%hVf~gwB3g8>Sph8T3IVvCT*oTs%}rhs
zcEb|O5;Z{sa!~(4IlOhW2fAbPS2kNdq)g#`4iq;Np_K9wKoP3OX+?rnH{t#nzPiE>
z(X4qI$rTs&;OdvHM4-Gr#^Zy-U>}xg#jcb85^5xF`t^pcMxZC4O#Ghxo3`r1d>{U?
zrkY;{eTQO?H)j@zg_i@3mPA-fpj!I-|I35>`=JI+D`I(sN}&p3WJQAY7GxhgwjTij
ziqmem&5eHMMV<5Z_82c*5O)9&PlU~52c)#>TT=_ahVc;ui_Xe5cJh@Dx_00NeXhKU
zkGlWWU?t?Gy4SXsy(8zsOyCrXS*sCJTfDL09McKD!FHLe4u5yyN|C{YH_wyC1POA0
z`U=Mnj$H5xQ
zki%2U%L(s%p}P`k0DMjJ;?)ms_gjbZ72-zIgO4i7-$M`8`3(}yQu^z4lvJv!-4TWZ
zBuUE=`4nhH;R~+EtEFuD5oQewW*fn)J>J0_Dq|hmMBvj#3JSGYhSC5t!V}|xetDGd8HjfJunsk
zV&Sho7W5}^pt`FORQok+X`kA@7qZcxfXP60qyW-)ru2swIWDP1m
z$8$U+hMaaO_V<1a*rN$a3u6-Z68jZg!hR?coMOyKa#ROLtGSOW-s==*+5*%tQ{tk?
z$$2my<^sy~Sh?*W8Bli|_SB2G9Z8VXReN`V$#f?UvQjIJ+JXtx@75;xFgoIxM^g5x%OjjR)P%~H{d`zuZ`L64f=7Tdkh`n1vA<{l1*h&
zCUN7-C86P~~_t9^_oiISaWB`3vO_2u!7
z+nE2hkB>nZ>@3!T3Y}KeR}FN&mx@{0$$a4{(ph|_ARHE8to4v7m$`ul3uMW10MD7T{ce6bFtH5+i0_u%%&zs`x3G4-Gu(|AB@D$pSjkts@R2vX!4
z?L~cl1ksjv6<$chQ7z4GcOcrV*1Ml9pys=$brI^cAVUdnxFRR!ARnmw83Emyo$c5y&Y^d-9;9vR@l!yR{zN
z(=o7epU=7_b~`q{JC=Js-ruaPeZO0j5lkM!61M)X=bC;u?%r_Q4TC9+{|}e#f1{Qk
zm)%=k_2^%wJW^#XwfE-rS{NijVYX;yh8@Er{ey%`_bCB0a$wc4Tzy3`$1naptQ8yW
zJ@BU>aubC+@k?xWiSkMBx7TBU$7Lg$o9BR*8tSY3R_OG-$o+)m$*+17)4}SsL7suC
zr>q-v*j+y(Ex$$yD*7O+IOirEhrk>LcavP&5eNviIJ`o9o%i5o!A}C64^}f4eWAA}
zsg)nON43R9Z9!<@q7NP;zF{NUbMj4!`wNTg?Alghfo}`{FmutM{NU%0Fk3ks0!+Fh
zqK6K~zx}qoyNEgLI_Zz2ExI}6NEu=IIg}6BqSF%gFjzCXZ`m;QBaAWksd+$g+OvF@
zppOa(Rv&sPGvyqn5*vkN_D;wUbwLCc&w8#;rD#&ZuqRxj#~amtS?i-->VE3EZS(nU
zNAI7&KVuo27~FxaRvh8QJ;vw~dc7Q!q?wxGa*reDz)T8+!8RyEIc~{OBr$HC7*Kp3
z+BVBq%X(4!Q0%!%lyS^DTziqe4PQDJwQ87qKbcRp*vWjO6>Kpb{JPcxn0?6eqIaai
z?9|CEqWevZd2`t)-co@gqKmEpaj55H?_;OPMgiM&;z_>{FHJz
z4WMuFUW#;8Tp5ika>!Ti=1F=MbZBax-nKNu|AE}G2!3M&;g|2rmbOkYVaO`Jfekth
zr1xg}mJd(MKsV>>_6@a9Di^NDB{xal7q07KxNi6orNLfkFoKT}Si|>`8Q=XqUG*5v
zt#;MQ`_gEuC1We{m-4HURBN9Z`SA^E;xT5(B;s3EBoq?eMDMfFBy$31?&)rm;FF#V
zwec5n9T8_RG@!4a(X)aTwwg8BSgJ6ZER~
z!Ed|H13H9Jnw!!(O>TY$L`i7QK96=b(nzzK&-LLMhqw3z@9LQTAy<95q<11${-|qE
zV?!3;%%NC1XRBvuiV_$<+=F{&3eWE;G}~VuU-Zk&nlZ_m+ezjQeaqv{{ayTYy_4|l
z{wc5rVHn@j>~`zF3GAf(5JhtQ{eE_DRgJ)1Y>LUuS>Qa`kR?^fNUjM%jUK)cD4h;R
z0BVQH2GOCuD`mZw-)dIRXfwy6&&A)3a{kCu17;C|x{TXZZA4T>)4ZC`mly(g>G_TC
zeYuu$D~57l<%2pA`Ud+QmKr?UeA;GN19D4y2C_Wu=p1D9z#nOot`aDQ3A8mKL(X}=%;@s0qda_VLgw6m1nY)QGO||m8O-kEKgr#CN37U*m_)J
zZC+Of`bO4dSvx?C2I@>#6c|XAdVF8R`c;rvVLhl6sLrr)dRH3`)9XXfXSEbl?L-@>
z%@$9b4V_-cyYhY>+ut>EhB_kZ$p(L@N{YO%wz#v_S%_~@HQCxPiW`_ywTq)E$+lOS
z5pnSQfK^e<7Au3rsNuo%C@O5(Wy^JVpyMwriB7W3w&h`%hgE!tvTkh7c#qwOQyAIH
zR}2p+U9OhV4Z%c6gdCxh*o12(I@_{7AmzLEiO)QyuFVN=iiUX-44Y5r-P7JrZxG7T
z0RgakLS#W?r*E}_?T1R9iTr4fl+{(T_MiemyBLX-G109w^Cc$ZFYxnRCGXFD2mzY7
zQ=l131ifCd`-Y9X3%kQHykfrP2V&CuF>&xLNjjolkHh+a1K}AwVNu+3TIS#AlJC62
znk0{dMF_}3wwz$J%$9RjGrp?6NqFWO98r{u$KY8+rjj^emJUgy8|z1G4=+U@lsW^d
zq+aqn2nWFVP%vNNfgk}(irJUWCt^4vTJ({%QEBr*DyII6%1YYTFF3MTo
zu-x)OyIWd2a|YTcpl!PD5X+6<3j&n;4*`T8B(K0B7v}m5dtj%CNpI=y^nEK-hNHaB
zu4iKPgo`%-;;;)98nlxLm8`;$o)`%e&eysSf_{J^O(km=<`^yEuL_Ib
zAQ0w@r=wdoZ_2hWckJI%n|DRFi28GmCZi|&JyT36^sNPe2~;og*@<=ZDqgRthH8A6
zJsxJMo-nEJP>XUw}~uazc#b8f%A;94;@HnUKD#=>Mq`t=dM_&&yrTM)%Wg)aOyQ3M1H
z(so}~A6xP4q#s?sZ24l{ho9?!e-v&Jgz`5*4W7A!g@|ZIrUw+g^-Aw2=tg+lixRau4|?9azCdjCVP@!Mls~_5NQ92v8D&nw
zofrp_S8Am{L5-5Cedl%iEEu84tcXr2cqJIAM37Byn
z`1N>k0KkfVVWpu#U~Uqq$Kgcx&4L3u94V*GM7#J%(ELDi#i#n+Uh?#=0DVgGlS`b$
zs;BC!vBiLo>Qm)e{zM=-gBX*wul(8z{Ybn3Ta^OZPzfLl
z|LtqEYWblkvUaM%(c$C=1A{woMtVTT|Lrhi*?pf;`d)@TjdUQUpYbY~M-h$8R3UOO
zx=64GDB#k6J!P+txKUblh$0s!xb!iyY8qytcRc<}333FpR0wdyA9$
zEkQB}=&4V_X!B@LcMuj4gl9+{&k)8AGYTPc$W
zLud(OBv_IBf&m9+a>oZ-Bb^#IYQWJwn54|Yr$Xm;ZwqHp@+3}!E0*(hR<`p}`Cd|d
z+HFG(P|*e!U2OoDQX(ln3Xl;veesUS(
zy6b*6)2UnR^yex*fcP?Rn^Rcm4SYIfj%+kl=w}>eoDr>VdZBo$8c+Gls#()g(6aAy
z1F~`q{+FtgkXa6?aKeabUiJT10=WN+dsx3pz%rcwgy_EgDhi+Z_$>Y#1T4t=IlpPW
zS3)vW_|Vx$82-~
zP0Vvi(d4Hb%Bu;Fg2ga=FGuh1(v-VQ>Uep;W
z-XD@koU^cLQVbRtt?_G?zwOHz?AxK#jk60Hy2OH
zkdS`N9D6BrhXtm$tNDrm9C0>PX3Y5JL}g3)*tsGVY}p3HSv>_`1{oG-4vSVtPB`1N
zs^cAM_gAD#G{mcc-Q6|$G!-X*vx(Uqde{q%IoWu%TDKNZj+l}kA93vZCve5^52XvXLrx_^3&?NPP==AxY9d5$T2g~#WG5Hy)^Wc0t2>n%0g7slqt;d^
z=M9BQ?iVewMe+<_%JrzoS+jL5Mrdo=o5e!qYX8u60IEaM8w=8Vsv3+j{r_Sd7$xpT3;>^Co6#?rnc2RF$yaxj
zB~vBk@gMubCwW}2eXeHNni2%-C#UNYe+B}q=F$x~&!GTzSJ(Xyi-Iog^}EaurR^MU
zM1bLgvW)1(Z-*wb?6V4i%%=BRk~~cf29=1KIld)lMAGi}Lx=thPQMl(yZK
zbcj9w6dVt3$wf;hbU(k#@ANMN24_0GN1m1-_Ef*5wGP#{p4aUq)TzoHRQuVu*afR=
z+i)Rz>QObM(L4q_pUTSnl%&(tv!mkm<_bfqysYu$J^ZcPxq<|G^=H$xW1SPhckQ)Y`I4u*A7Mkz5xl0eYSP
zxzYamC5h*@zW!Aoekc}mqVKcE*e8mjPQ@)z#=BOrbi$yu3^FgRO?xdc!|_JktEBq~BttUOs`YbV)z~?Vxrz28
z^Ly0bc5iqtbR>8Wndpqs{x=W9%4^PCo0y5vHv>Ob-XiJ8hy_BYScW`q9$&y-Vm}Q2
z{{PVS-eFCx-L`lT5J8Ic4qJK=k=}`jfPjGX4oWZ5iva==kRnxjks`f=(mT?n_uhka
z0tq!pz~9>6-lyE(IrrY@eCOOh@+_WYB~P+=*L>$3bB;0a4k2VVwIjOJW3&MMNVgy?)vgq=??2X~oGVT!t>&$d}YY#B&
zdFXDHy6Hy(nq#e^Lad{Nilq`a9R=flh>9sSZxS@
z^$KhByGOf}0h)jK+*?+yad#CkRfr9hmMLUWdXsCPTv|%`+MNvr?zoZ3@bz}Ka-+AS|IcrhTS1h{
zJNBR~-XbI{T3Tomac8V&m14%pD_VBzos#r(OunVSa1`Zc9LXT6k+3M(B&_p(A_@qD-(%$u+Cm`LXLIte}czgpXpnjAGtRNPy(CQcelINo_`D!4NO16luP
zeNYqqNJI|0}2nW^5uCRlA3`U*Jr(Ew@;BAsp>J0T+COysG>y&ZNul=1=CG4CfS>-X!}RM?_AeS
z#H$!cN@TtL9GMfAM8{_etF`FxV$!Q9f4#2;`_L_^N~z61cm^}5EYbp>ZIWCMm=9{b
z3I^c31+4eL{H)0~08jn(JLEv;AfV+l>6bs)+z|}rgyUMxwo2qWy#J)J_;x+%BT$Ql
zbQtC2V?Y3N$5E|vuN`;tj~1ExK2y)b{y2(QwYO@BZkwQ(9VMxtxvb#c_DQ0V^!$b%
zbaNOLsLSxgcUnc$N?IKT*P%;-<;r7}%LxcWb9xMuv=6eZZa5(>wF?PU(4ryK3LUqp469kMHRV}6f@`^U
zEO>KJn}wtSdZ$ewTh6FC*g7*a#0731S`O9UFkY*lH+7lsrIVn{bE;s7Yt+-jalcp5
z*pI7^pJh?1{UN>ZYx`m=tDP#jHVJLhs_cH^%9fKzi{Qpf>qqL^VFgq2Pwh
z{L^^|XTKReIylD&64~`DQ8K#x;FC`DkL6&7kC$=NQIxM~-cdT(Su{qx;E0ikn~0m3
z7Oei-sfQPIZ(nNe{^rfyg9{tfvN@GBJ-~lKhB}hV*}^O6ID16NhdV8&5iHVNxB;$s
zjFP0<_^;q1ho!~i!_zP?T|@1D_o|HH%^Gy?k6`smy>urL
zn_5XrcD4d)&vUb=e}3F1;y)eTQOpgV{p%HO`no?Qz#b?aXqYAbPy@Q!fh7N6=JwAa
ziwK_nqn%1ztGV~|zG3rN7fGlr%Z#%~o5%NC#_8iqg0v%NK2{%Vo*cPPpWZQm1buq#
zHFf35!vV3;H)XTkgR|R363_GyklKN&(42^{njXy}Be9N0@cgRP;gQG<=B^*F*kHu1
z6d(p$g(-tu_KJ@peHd&cf1sC3EOTv0$l8ZifntMshjgf(-W;826w>HUjf<+CRbc!B
z6-?)ysPn4ljJ&}&DFCB$>soW@F&wt>Ffagmv{e%D1?|T6Bs$fv7ane+cqx@&FA;H~ENWhct8*fIU9rTKDhm)ylYNkxzo=XmyhrkHS
zD=UuQwlkqQCgFHw^3sw_X%ydHba=n`sjBPwW+5?%SH6HkpATxrOF49&p$1jryYkQ9
zk~Kbdwn2Cl0xav$?O$yKIuh-VUlgydARK`jf3Kd-^qU7!L95=xk<{m*z&nq(Wz;FGrW18F
zXd_BO@`6f?-1Ai2O9))-M(w#p=8PZLbBIez3+M`bDxjGyxi^(DdlF@AFPm-xtfTm#
zKg*!c(%f!17bnpJEYfdfbf<&B5A3I3eO41GsJmO4ZkrAf>U(fIAS;S0>K+UCc3!2O
z;b@tY7N}rvQKhwS5cn1s$Ji~4V=J+^w>wjEO^SBdlck4*_0f%{*H59#dW>Q!$W&=g
zW&4(>9vv$&N#Yvjf6oRCba!9S-sMTJ-Z|p32mDUtCohn&Cy&
zUu&l-zEpp$4;sDqitSZbB!lLc-SF@`r7_<@yfySa({6^&JP-213u1c9g$2BHHI`Mx
zjTd#+>!P-&8Gf0HHi#pkV)`U$Z+3VR9bSK}?$PPi{&@pWW`*daEJpD^R&PG|`c;mo
zRhg(&K#uNaI{F#QHBTi7!#%BO;?yL@Eyl63d$+?;&%L&
zYNpj1>DZseG>%x^|FxrT=|W%&9lKwirG+(ML-4H1qt~4Y>!$n`h=?26VXdU_4iLJ_
zZ$wHpOtt;n?NE@P4*)|KDup$F;);mZbExLY1}|#*&t+;T^`{{G9N{n|5}x~=`_4VQ{;J??3Km`$m(mgNhjV*k(dreB
z0~_dBr}n7+(d=CBS`a{9?Jcs`+<(`c99C>!6B#X~H)Ta?wnRk}FJd8~WR@58fXLS{
z)JKUr6e!Fma{~KcoA3@k@!}-($2+{O;jiN)u~l9$Y!q$I@+M)=q9;$A?gl$WcUo-f
z6X##CK4Lc>8IOHlG^Qzr84#Qcm*s-WA`2@lbI@UZOiUBURjj8@h|1%N_2d_qhlFL1
zBD=)~0ewR^W@>;bJGV(34Ztby0t3h#nOMKZTwdQhsDJnDgso9ow{@o`boej|A^vGO
z5gVt$VGj8lbZCnlQ=6?i2R|@(T$PM~_aCY{Rxa1|FPylacDjd3Y`VL@>ic0iHt6WL
z(ccBbhH^|E3&XJOiSn0Bmg&=Gj+~t{w^*HDrU(vkfYu3T#eG|a62=aM9pN?QFIm-f
z@_0PDU+E_4EH@=7=uHHnO^n=aW;S|!YR#xB=x7z0@)8{e)F}@n)e}rwtAm4EvwJd(
zUev4ubva2_JLAMr%vE{q60f1gE32RdRtpkoYe<=}rb&{68DOpcBQfB{-?vv28Kc0$@nX?&ql=RYpy(u)
z|4~%s3yh5#xu56XnfRNPlM8q^aDj@;&;0o{ny2~S)*jHSM($BL4&(%hZ#5^q`Xhd0
zLjJ|Z(^sR)-+NUR2(%;OqY5b5?b#N$_0`9kn_p^uV1sYb4D_z@Rb*CpEhz$F75hKT
zCjaev@J~Ijyc4rXTgl-@rx?rnZMQfwzJH#;==)8fw8bqxT4<9FY@$K$k0A#3^mRrY0(tZkCD?RES%ng`q5M`;l
zfmU&fb|98cs@Nzr<-~DjIr{lZI-&zOFdC@JxDAr<#n`|KX=bOwy~+Egl9M+sbws*s
z%}w@trvw#mKP~24%ex|i1l>)bl;{q3W!R!pA8FRAdSt1&VADGJd_x0gRjb%1bpQMewRyF!d=wo9H-a{5f?
zNpu8g)vfl+lH+PTDblA5uZW5&Fejzg?wKuOGV&@=mp$ajZJY1=#qc>`G(fublW4`Y
zB1XR%JIUDQTXp9-yG05(Nv$YgWXk8c)->q&nrH7;J#w|zBi*xR8S3+fJ-Ce68lr(0lAhe=0+=0!m;MyT=T`G~
z$cXn&6cAaT&0a~D=vdI`m*qhncb(5b-;_T7R&2cQ8xq)jGAY3pF>6|EL;5~c-RBQ}
z95+)Lcjj-^PqT@cqSrnJ{MHWK5
zQWs|uTFPr(?0T+}BpAg|I-P0nUc1AwTwpKaJr8IRery^En7Jj-?q$Zs$ngaw_~%N~
zohL*&E7wk%hX3j_c_49C;Sw6a8`*bz2U!)7%LA+RJa7!fMqAtUr)DFmmj(3B{UwRa
zRi{16^7TVc79H(%-gm~^4L*4oi1Wa2j{BO?L5wQk9tzw&@=R;aj2K0gmyfV`cV7!`
zKs?J9b>y*U3{0pwY#b`cYz6f`tA!TB^A7)Pk9DQ2zR|z=EZeQKDBdc)J2YB=H%5~E
zsMNpTT!BLG?!Q*+|5CO8caQR#FMP+b{{9ru3U{S1fnH&U_R|Ln;{hTpOm!5B`B77T
zK}@yh5}k$Y5|Ube@Av&**z{n+4vTEX^+nns`leH>Tkl-
zQrIA0O&ZHxY(K&)HtLCEjp=uYduzuX3WUQpl-xtRm7p(#!s{h0z|}
zhaS{-Regz_hz656gf0B}I1s3_H9}1s==SO+gy-e1b{gASKAP%SG2DZW^q-b}f3p+O
z{~9^2@8zf+1Td=$<7oC#-LFvwAMHveGu8(A&Pf)eRGp;O&4cpe`T3458mE~njS&r6
zgHZwBs`XWM+8K8R(3aoZ$&hE7KDp~Z`=%kH~bG=)xiMOqC
z&K+Hs557fMWcVN6edJ-9>DIx3+Hi>lgP;(SxpMOPz!il8eg|
zNUQR)Uy@N(E*?}RUryisetXO^x?jPt6Z~cE(ppOwEcv3F`FO{Wop+D9Lhq_C9av^l
zQTw}prS?E;A$C!IW4ozh9_FKeUG|a)3vN@Z?V$=%l^^_Z)rkIQ~yX-(nLsA$nX=LlVLBr4F^qk$jg@r
zt}4zaIYt9@czl+8KBi~W-IVg=fxSAzuEPGU4h84slHQ5Sp1Ss)JF1G!c_ky1eO0|x
zu~|gFLC;Ys-Qv&Qv|
z8>32_~}g9I;>Z^L}{ss{Ys`HHnJ7
zArj+E+1Xc)N4C0fFu9!>+2rH%F;a)*bluEm>UjH~_r#gqJcgQXDNMc{^2Q*YGs|x$
zvdPNZxzM4b2Wm*$Fq=3ie}M@n=7Vz>rngY9Yco%&a{wFXJ&{@g1`pNWlc_h>W6lIs
zY%YJ&@fk1dZDe=h^Ns4<=L_VjfzyJ;Z!zCDMds$`jqK|`8O$5^I^w91iEq9t2B2DC
zIH~e2hn#xR*Ph9~ZSu&l+Ja-v&OVh%*U#wvx?FoBMiJHp`03&&T|1r5^@r@71Q9cC
z>W}wS#Gtju&AvZA5rXg>xN@7+3kt*kyxDl;Z>r1l%|pCpxf-NwkUQa?rdp!?D|ar$
zGZH?z)xXTJ74P+``*{7_uHPKZi=tN3B^=2&QF;FxfO8*nUt?3S#b(oLww
z$&WnE{|&mIW-Hv*uA8c9)U>f*a4>l2uT=9BUKWaxw<#=#
zz4z_7*y+p;ql<$HWXpezj=k1HKH~g(yY*IQ6M1|;rtb|Paph%J0mj_PQ?Q=7t$E)G
zXU4SVsl(6|(<$q8H5U}-;|Ciet*qrUK7*5q3^n_<+?2H4=geLRDV|chURN`56
zANv1{fB^M|l}$!b0q58L;PJ_+S3fN>B(?q_CYZMx!G#6L>F53{|K^{n4gN!2k(0`j
zY(W81=KO-)26_`P&LksCh}5?K<(vO&>?4~bakR5XN^`q8+sJqDqdQL#Xg$0xmvE*(
z(4>4}UD;7?6?JLLp5_m7lWQA=Bs`pif;LPIBTC+S_7SOW03m|`n5aF%gNMe$)I6${bfbgG?sPYRV~Vei-iP8nn*u+*CHDpsD+!IX25C4eWtBPOn?okN&z&LVxnjPKk0JuKQ4s#H)4WOei!eOl`-OT
z*`%0%8BvVV<|g;a(c7jz3d--aYhbtdq!dRMbiQTM&1#&
zZE!z{O2%WQAwn2z3Ob;DUC2X982ax|wy^_m@vfESaX*H=s}bq4rQp>ufWBl8?17D?
zcQ}q_+|u%^`QLIGA)&-|Y^&J!728YTdhY;>#qv(kvD1Rj7~}qk;F)tx3)5E>u(0sno)*dV&?%+b87OlleSeFP)xc0K!{qF8Bfc;H`ECCv9^53H6ovn?+vdKxBDF(lLa^sT(<@
zyJx(&2i5+`asnRM5k@Mn?EZrS=fA(6|JA=MT`rQ)k$xM@c%2)uL;?vtt2~*W(M%M)
z+Yi%%Mm&P!aWub4bXJDm{+d&(0YHJGn8npqF<`FXb#Yu@LE1-YPs%nrjV%Di!lm~|
z^UwVAyx(M4>~|$e6H_jcM+OWgtStZxLcM@j(Q6ekVe32HW#EuotO=+PNI#Q>d~Iy>
zAad{4XUoD}`LUYABp>-0QLW&z$%{|@bSdxLDRp(M;x#~e2CZr)&K&JLKvk>fp3!D?
zp_*&VR9U)9QkZ>v%RhiYK$^%T_vt-Q`8_fG7z3kAvJcfWITjZMXQQ;b{?#jS6u)?
z5GeMTy@zOz4Zm6%oRB#YaeSwKX=%-`j9~|+GZp1jddS7ao=*y7kKA%Wl%#j>6f=PE
z?ljxM9bDVVFNGWhdgUZ4X30L(Yelx28bzAww=ipGRop`{@m_w?zzY4WnPQ@5*XCmu
zyU=;Dl3|b3KrkcccsH0S7SL;Iu}4Px;@3~*Cd7RBgJWc049Kiz;vod!RU|+7WdDHj
z&(-dMhSVJCl}Qmv_jjahZ+a>R;|(5WiALDvr5U_Qnil*j6aGh#Otk!{E2P5X(Pw-!
zwFAB2WV*a|#ED;gKyh6n9EkvwG`3UI1@_ddb@!^+$Bx-|M;+B~%Gya+C{z(z*Uvu%
zHp@I)eyS5UzWoxlwuQG?>v56VF$ZRIp@>e7=vY|5Q7J>2X-rCMyLEy*?7mY
zROqnp`f=#vo^iCTPP?R80c280CS>>vy&=74?8!HxigColDD
z^M*!q^b%{+o8!@*-Y~a?pS}@7CJs=(oBXrc`$ZVtsVY`R*(HjY-=GXd5R9_;{4>eo
z-1C~2<}d?fVHssDx%yGycw(sF&W+Pay(_VJu_2)?JDuUIs@Boq`4-6yPdaAM=jVEr
zG1rLw(!0YvKxj377*Sj$gEmExU*w@f)v3_
z$sFZv5$_z)9lOi~^$T-wZ++oH}f7snfyNDB?+wza}_&rAx
z9Y_LEc%FJ21C_m&kiN$LNyEV5=#NcChwNymS^>noJAJmG#C*xfhl*O8r8PYEVGNbi
zw@?YTO$M8$5?PvniS%pAxd6^Zdx6)OW-Di!c!AoRoXP}dxc#howRdE|fmn2_DI7*l
z)tP)ZdoX0wqi)*yW8yjMAcZ{l5b{VwAnoYBVikk1g9ZC#!M$77WT)sd$Q$>!+Q2?v
zo1=n%>A0G*u5eAfPvsld<^K#)Xy|M+=OtBEdrZDO(nQ%d_!x4hMXpyH=@JO#UzZWy
zlck#cGFdS?ImG0?
z*r^bdKYmH8C%UKAvlb$EU*~IwLkX_{xuPP^a}h$PV=cuQe%F_AY7!&|FSXURl`m<|
zb3ZX*QPlqBv3(5S$+cS8e+mr#hotPEN%G1&B0I>0$3j-|W-!_TONB8U5nc17+oo$T
zM7wbuKN+O(X4qr`4wN%Riir$65?p<}dOug(W!1}&h$B1~bc)@sJL-ovz0un!!dpr}LZRDN|ARER0PUezA2U1I
zhZ96I0bq7N*Rcj9I2uWUvjCUS5M%gtwB;sMB+R-3GT-k9xc5*@#D49i=zJ+@o8Akp
z;`TnGzq11v5a$`K0DPEU4@Vvih6q~5dpv{Pe*}qFWkhfK1C{a&kDBKOw&YYwdyAjn_fddbHr>10fw3Hr-O4{^z*vV5UXtA
z2BWC5`X?pRr9#{=m8xr5D0eebJDBYJ*nDJRyREE
zr4&z6ebZJ&3G%tyU$RrzvywNv+-6Rqi`EpTTSx0mbRkw~W%1G6?VcI)lTDJExvQO8
zS(luub(gz#t9Ov2DI3wmi@c7G;(Fk?XK8HT*LXMMkCx+o$`UmV^sDsAjS5*>x3mhB
zB~&!L7b=-aRPQThF@2zTc(1tk@kd+=%@<$(PH(WK;Mv_bVEDVhy0yFeQkpJrZhCs0
z9UY5r?VQPT2&0!7*3*C7q_)C}At{{=OynqV8cBF7x9g&43B~Zsu?trm{YT}L?~?=u
z_T?&b8)GA=5J=0-hLC{AOU_~4w_Nx+=p^zu#sey2nZo>Whg`NbB~BgJ1q@8!bc%ehdc7e&E!-WyE=3D&=`-8dCdwz2
zDc%b%ZQ-iryWyt0XI#t9Z?Ewi#Fp_4Xv})J
z{#Vn+|I_*TmtQg_{*^w8`%oMwon}%3@$_C_dS6nsNVLc@PF&l*1bv01V)0K0s`bII
z4KfY}O9juuXi8XMz9qbsU7XR)+MCW9(@)xz>Cf`VS*(P&L>QbVvkDWYEyr(bzra%q
zGb+-bN=9J)9Zz1_bA7?h{RFt*{Wr4r^f}SpUNbm_Y{)e8k93e1#f0>8+tJ9|Ulcwl
z*qB|%an4f{L)#d@0oFt@;=Yg=2$z;E>pPZ-XkvB1q&e-*tj!8I5K839IyJuYW9GcT
zvfce20qWU6KU1po%-EtaT;vxK_WD}Tu^tI2q)X0uj{Bi@k-ecyttpx4rh8fO>!BzH
zhKMz^)4CJu##r!~If31TB1=uf^LX7?RUWcQyMH9rO#QBre_l0#;%Q-8A<^fi2F=md;Bc28;TeM^GU`-$~pnMUS*^kpyx}v
z=e-!6Q5MTLZNnOb^Qm4|i7_=mTA#6a4@~|WWIge&d{>_weXxPS8S!v(y*^iCq3Vj|
zeVhY-85rfne0WxQ(wH69d|QBug>xh!sk_Ku3J-Y$qD4f*I`snV$*3d0
zSbV(Sz0}?E{+95uG00rF8EJ_DKP=!&iT{Vg9y+`m4vU=hADA
zWe9zVBnihb`hu>#YW&mXqdI-4$8h#FK=~08XKZ>&6oB1SXoV`NqB?nz_$ZkvJGE!8
zQ6eueYFn-YkQ@fyY3bPtT?;}kPJ3<%8j*$V*HHP5`=R4rcFRtQpIIzIHv$i~6@%H_
zJ~y=!*^eZw+Z3@m`s{ba$AFmRxYM7t_ZDTP>}6
zX4RJZtWv4{1_|0SUhDL7hSo8E$fk69zzgx~slS+uB4=B0NDXYr%D?0KL}ZBam
zEyz#?NQU%a8+6p_hotm@@3wm6;mU*O)wXh+%e*XEmRXg40C0u3uG^R}pbQ5cY2+EvVss#_y;T?Mye
z+3=D!*2r$)Dak~(4RH3OlAFE}U@COyDL~o%EA9Ai9<|8jg#QiSmdpK=wf+9iJjJZA
z(7VEKIS!z{G**iY#B5$%$@_Q_C0=+YtBzKi@P`E>QH;ZjY`oc==wBWh(fj$$fzle|
z5y_mRJgxj%J?LI;-X|QPx*|
zac1>@EA=U`fuHkbJ3>Y1>HU8q-@EgAE(>D(UGlPzIbw}*eY%|;z4SctDT+Zf`PJTK
zwE`#zj^~v1!b^8)D<;$3aYE3a_roWsHkuqI53h`EMFFebUkRH}>DbW_6^?Awi
zb2z1h(ql-7`97*=?ZMu)YOxCH{(Ex8OPz!dVMj9}Gi`6g>mD>RHz35*e;^D{gjZYMg`mlvl`!6jy7wcNNQGhl$
zNi?B-4rEh4T@SbQqs=w@5A5rUIY-5fbP;?11qgqErNm&V
zglA#*E!c9DXz|ZBt0awU-(L*QE!QRxJ&n*`^))%2@9-jUN(zi2
zzUMfS8Af%ZThUex%UgMhroH3UaWQi6+CN?6LfoO^$jB8(r;83U$7-OX>v-uB%(|-H
zbb<{V6AxSjZF)OqA~ixiJEEC^H++=kF|P
zj9S`8R;RQZSF4bjh)bc5vQ%Lal4a^umqRbbQSb(U-!`T0{3ir1!q^xv$wPpOzSNUN
z$CG<{c?&{g
zt;gki%7t!pl*n7+H}8Abb5d2Jn1t}uwKJ$?gxhLe?&e>Wm_gf2NC&bes>1qSdoYOd
z6cXtqx~7(N2_#&2z?u_ww9F3I_z<;Wi%@R#ZxD*u6X4UM2$=B=1lViA#P3ZvEtDgU
zkYA*cjo#;m@TCl4kg^!b#IG!m=HUqG}D-fh;OvlC`J=#
z2I)STVU<5tf-a48J
zZkccXiQx19YZ8+0J;mkl_+O&)Ltzm4i;;O(E}KK{{Be+)$SAjANz96U1&9r%5~ElU
zw-+xX-2Cxdb%#TYZ9&qnX+Wh`oww{xt;b{@Hzl~
z>_P>f^MiukTJn