From 13af3d7302e90268bcb30923fdfa61e5a55d4060 Mon Sep 17 00:00:00 2001
From: Veal98 <1912420914@qq.com>
Date: Thu, 6 May 2021 21:59:59 +0800
Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20MarkDown=20=E6=94=AF?=
=?UTF-8?q?=E6=8C=81=20+=20=E6=9B=B4=E6=96=B0=E9=85=8D=E5=A5=97=E6=95=99?=
=?UTF-8?q?=E7=A8=8B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
README.md | 21 ++----
docs/README.md | 16 +----
docs/_coverpage.md | 2 +-
.../community/config/SecurityConfig.java | 3 +
.../greate/community/config/WebMvcConfig.java | 17 +++--
.../controller/DiscussPostController.java | 62 +++++++++++++++++-
.../community/controller/UserController.java | 4 +-
.../greate/community/util/CommunityUtil.java | 9 +++
.../resources/application-develop.properties | 2 +
.../05ed9c9c900d475b86a66bee7c39642e.jpeg | Bin 0 -> 89202 bytes
.../5f84429642a042fe8cc0db924a606666.jpeg | Bin 0 -> 20980 bytes
.../ed84395548b045b386ec2f1ca6dde32d.jpeg | Bin 0 -> 89202 bytes
src/main/resources/templates/index.html | 10 +--
.../templates/site/discuss-detail.html | 6 +-
.../templates/site/discuss-publish.html | 51 +++++++-------
15 files changed, 130 insertions(+), 73 deletions(-)
create mode 100644 src/main/resources/static/editor-md-upload/05ed9c9c900d475b86a66bee7c39642e.jpeg
create mode 100644 src/main/resources/static/editor-md-upload/5f84429642a042fe8cc0db924a606666.jpeg
create mode 100644 src/main/resources/static/editor-md-upload/ed84395548b045b386ec2f1ca6dde32d.jpeg
diff --git a/README.md b/README.md
index 7e34f5f2..88866230 100644
--- a/README.md
+++ b/README.md
@@ -10,11 +10,12 @@
+
[](https://gitee.com/veal98/Echo/stargazers)
[](https://gitee.com/veal98/Echo/members)
[](https://github.com/Veal98/Echo/stargazers)
[](https://github.com/Veal98/Echo/network)
-[]()
+[]()

@@ -22,7 +23,7 @@
-> 项目上线到服务器之后可能会出现各种各样的 BUG,比如 Elasticsearch 服务启动失败导致搜索模块不可用,但是在本地运行是完全没问题的,所以各位小伙伴可以放心下载部署。
+> 云服务器到期了,暂时不准备续费,未上手的小伙伴可以看下面的界面展示了解本项目,所有代码在我本机上都是正常运行的,各位可以参考配套教程自己拉下去部署,并欢迎加群讨论技术问题。
## 📚 项目简介
@@ -33,22 +34,10 @@ Echo 是一套前后端不分离的开源社区系统,基于目前主流 Java
- Gitee:[https://gitee.com/veal98/Echo](https://gitee.com/veal98/Echo)(Gitee 官方推荐项目)
- Github:[https://github.com/Veal98/Echo](https://github.com/Veal98/Echo)
-**在线体验**:项目已经部署到腾讯云服务器,各位小伙伴们可直接线上体验:[http://1.15.127.74/](http://1.15.127.74/)。已内置三种不同身份的用户:
-
-> **各位请不要修改这三种内置角色的密码**,默认注册的用户是普通用户,您修改了密码后其他小伙伴就没法体验管理员和版主角色了。若想要测试修改密码功能,可以自己重新注册个用户,注意填写真实邮箱,否则无法接收激活邮件并激活角色。感谢各位的配合 ~
->
-> 另外,为防止**恶意修改密码**行为,若遇上管理员和版主角色登录失败的情况,可以下方扫码关注公众号【飞天小牛肉】回复 `备用角色` 获取**备用登录用户名和密码**。
-
-| | username | password | 特殊权限 |
-| :------: | :------: | :------: | :----------------: |
-| 管理员 | admin | admin | 数据统计、删除帖子 |
-| 版主 | master | master | 置顶帖子、加精帖子 |
-| 普通用户 | user | user | |
-
**文档地址**:文档通过 Docsify + Github/Gitee Pages 生成
-- Github Pages:[https://veal98.github.io/Echo](https://veal98.github.io/Echo)
- Gitee Pages:[https://veal98.gitee.io/echo](https://veal98.gitee.io/echo)
+- Github Pages:[https://veal98.github.io/Echo](https://veal98.github.io/Echo)
## 📖 配套教程
@@ -77,7 +66,7 @@ Echo 是一套前后端不分离的开源社区系统,基于目前主流 Java
- [Echo 的发帖操作是怎么做的](https://mp.weixin.qq.com/s/OsCd3Pcl6iq-0znh7PL3lg)
- [Echo 的帖子列表与分页是怎么做的](https://mp.weixin.qq.com/s/R5CtsXaS9hIOOePxQZcZhg)
- [Echo 的评论是如何显示的](https://mp.weixin.qq.com/s/0avudnypPu3EewzoU3sEwA)
-- Echo 的评论发表与回复是怎么做的
+- [Echo 的发布评论是怎么做的](https://mp.weixin.qq.com/s/S5bNpzuZFga2u15ik2t2iQ)
- Echo 的私信列表与详情页是怎么做的
- Echo 的发送私信是怎么做的
- Echo 的点赞模块是怎么做的
diff --git a/docs/README.md b/docs/README.md
index fcec1197..dccacbf0 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -7,22 +7,10 @@ Echo 是一套前后端不分离的开源社区系统,基于目前主流 Java
- Gitee:[https://gitee.com/veal98/Echo](https://gitee.com/veal98/Echo)(Gitee 官方推荐项目)
- Github:[https://github.com/Veal98/Echo](https://github.com/Veal98/Echo)
-**在线体验**:项目已经部署到腾讯云服务器,各位小伙伴们可直接线上体验:[http://1.15.127.74/](http://1.15.127.74/)。已内置三种不同身份的用户:
-
-> **各位请不要修改这三种内置角色的密码**,默认注册的用户是普通用户,您修改了密码后其他小伙伴就没法体验管理员和版主角色了。若想要测试修改密码功能,可以自己重新注册个用户,注意填写真实邮箱,否则无法接收激活邮件并激活角色。感谢各位的配合 ~
->
-> 另外,为防止**恶意修改密码**行为,若遇上管理员和版主角色登录失败的情况,可以下方扫码关注公众号【飞天小牛肉】回复 `备用角色` 获取**备用登录用户名和密码**。
-
-| | username | password | 特殊权限 |
-| :------: | :------: | :------: | :----------------: |
-| 管理员 | admin | admin | 数据统计、删除帖子 |
-| 版主 | master | master | 置顶帖子、加精帖子 |
-| 普通用户 | user | user | |
-
**文档地址**:文档通过 Docsify + Github/Gitee Pages 生成
-- Github Pages:[https://veal98.github.io/Echo](https://veal98.github.io/Echo)
- Gitee Pages:[https://veal98.gitee.io/echo](https://veal98.gitee.io/echo)
+- Github Pages:[https://veal98.github.io/Echo](https://veal98.github.io/Echo)
## 📖 配套教程
@@ -51,7 +39,7 @@ Echo 是一套前后端不分离的开源社区系统,基于目前主流 Java
- [Echo 的发帖操作是怎么做的](https://mp.weixin.qq.com/s/OsCd3Pcl6iq-0znh7PL3lg)
- [Echo 的帖子列表与分页是怎么做的](https://mp.weixin.qq.com/s/R5CtsXaS9hIOOePxQZcZhg)
- [Echo 的评论是如何显示的](https://mp.weixin.qq.com/s/0avudnypPu3EewzoU3sEwA)
-- Echo 的评论发表与回复是怎么做的
+- [Echo 的发布评论是怎么做的](https://mp.weixin.qq.com/s/S5bNpzuZFga2u15ik2t2iQ)
- Echo 的私信列表与详情页是怎么做的
- Echo 的发送私信是怎么做的
- Echo 的点赞模块是怎么做的
diff --git a/docs/_coverpage.md b/docs/_coverpage.md
index ffa5692e..dfadd844 100644
--- a/docs/_coverpage.md
+++ b/docs/_coverpage.md
@@ -1,6 +1,6 @@

-# Echo 1.0
+# Echo 2.0
> 🦄 开源社区系统
diff --git a/src/main/java/com/greate/community/config/SecurityConfig.java b/src/main/java/com/greate/community/config/SecurityConfig.java
index c17e83bf..e413d477 100644
--- a/src/main/java/com/greate/community/config/SecurityConfig.java
+++ b/src/main/java/com/greate/community/config/SecurityConfig.java
@@ -45,6 +45,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter implements Comm
"/user/setting",
"/user/upload",
"/discuss/add",
+ "/discuss/publish",
"/comment/add/**",
"/letter/**",
"/notice/**",
@@ -119,5 +120,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter implements Comm
// Security 底层会默认拦截 /logout 请求,进行退出处理
// 此处赋予它一个根本不存在的退出路径,使得程序能够执行到我们自己编写的退出代码
http.logout().logoutUrl("/securitylogout");
+
+ http.headers().frameOptions().sameOrigin();
}
}
diff --git a/src/main/java/com/greate/community/config/WebMvcConfig.java b/src/main/java/com/greate/community/config/WebMvcConfig.java
index c83f9f38..fc270bbe 100644
--- a/src/main/java/com/greate/community/config/WebMvcConfig.java
+++ b/src/main/java/com/greate/community/config/WebMvcConfig.java
@@ -6,6 +6,7 @@ import com.greate.community.controller.interceptor.MessageInterceptor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
/**
@@ -23,17 +24,25 @@ public class WebMvcConfig implements WebMvcConfigurer {
@Autowired
private DataInterceptor dataInterceptor;
+ // 对除静态资源外所有路径进行拦截
@Override
public void addInterceptors(InterceptorRegistry registry) {
- // 对除静态资源外所有路径进行拦截
registry.addInterceptor(loginTicketInterceptor)
- .excludePathPatterns("/css/**", "/js/**", "/img/**", "/editor-md/**");
+ .excludePathPatterns("/css/**", "/js/**", "/img/**", "/editor-md/**", "/editor-md-upload/**");
registry.addInterceptor(messageInterceptor)
- .excludePathPatterns("/css/**", "/js/**", "/img/**", "/editor-md/**");
+ .excludePathPatterns("/css/**", "/js/**", "/img/**", "/editor-md/**", "/editor-md-upload/**");
registry.addInterceptor(dataInterceptor)
- .excludePathPatterns("/css/**", "/js/**", "/img/**", "/editor-md/**");
+ .excludePathPatterns("/css/**", "/js/**", "/img/**", "/editor-md/**", "/editor-md-upload/**");
+ }
+
+ // 配置虚拟路径映射访问
+ @Override
+ public void addResourceHandlers(ResourceHandlerRegistry registry){
+ // System.getProperty("user.dir") 获取程序的当前路径
+ String path = System.getProperty("user.dir")+"\\src\\main\\resources\\static\\editor-md-upload\\";
+ registry.addResourceHandler("/editor-md-upload/**").addResourceLocations("file:" + path);
}
}
diff --git a/src/main/java/com/greate/community/controller/DiscussPostController.java b/src/main/java/com/greate/community/controller/DiscussPostController.java
index 9368074f..7dee75a8 100644
--- a/src/main/java/com/greate/community/controller/DiscussPostController.java
+++ b/src/main/java/com/greate/community/controller/DiscussPostController.java
@@ -10,13 +10,21 @@ import com.greate.community.util.CommunityConstant;
import com.greate.community.util.CommunityUtil;
import com.greate.community.util.HostHolder;
import com.greate.community.util.RedisKeyUtil;
+import com.qiniu.util.Auth;
+import com.qiniu.util.StringMap;
+import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.util.HtmlUtils;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.File;
import java.util.*;
/**
@@ -47,6 +55,30 @@ public class DiscussPostController implements CommunityConstant {
@Autowired
private RedisTemplate redisTemplate;
+ // 网站域名
+ @Value("${community.path.domain}")
+ private String domain;
+
+ // 项目名(访问路径)
+ @Value("${server.servlet.context-path}")
+ private String contextPath;
+
+ @Value("${qiniu.key.access}")
+ private String accessKey;
+
+ @Value("${qiniu.key.secret}")
+ private String secretKey;
+
+ @Value("${qiniu.bucket.header.name}")
+ private String headerBucketName;
+
+ @Value("${qiniu.bucket.header.url}")
+ private String headerBucketUrl;
+
+ // editorMd 图片上传地址
+ @Value("${community.path.editormdUploadPath}")
+ private String editormdUploadPath;
+
/**
* 进入帖子发布页
* @return
@@ -58,13 +90,37 @@ public class DiscussPostController implements CommunityConstant {
/**
* markdown 图片上传
- * 功能尚未完成
+ * @param file
* @return
*/
@PostMapping("/uploadMdPic")
@ResponseBody
- public String uploadMdPic() {
- return null;
+ public String uploadMdPic(@RequestParam(value = "editormd-image-file", required = false) MultipartFile file) {
+
+ String url = null; // 图片访问地址
+ try {
+ // 获取上传文件的名称
+ String trueFileName = file.getOriginalFilename();
+ String suffix = trueFileName.substring(trueFileName.lastIndexOf("."));
+ String fileName = CommunityUtil.generateUUID() + suffix;
+
+ // 图片存储路径
+ File dest = new File(editormdUploadPath + "/" + fileName);
+ if (!dest.getParentFile().exists()) {
+ dest.getParentFile().mkdirs();
+ }
+
+ // 保存图片到存储路径
+ file.transferTo(dest);
+
+ // 图片访问地址
+ url = domain + contextPath + "/editor-md-upload/" + fileName;
+ } catch (Exception e) {
+ e.printStackTrace();
+ return CommunityUtil.getEditorMdJSONString(0, "上传失败", url);
+ }
+
+ return CommunityUtil.getEditorMdJSONString(1, "上传成功", url);
}
/**
diff --git a/src/main/java/com/greate/community/controller/UserController.java b/src/main/java/com/greate/community/controller/UserController.java
index a936661e..4cdd1c0a 100644
--- a/src/main/java/com/greate/community/controller/UserController.java
+++ b/src/main/java/com/greate/community/controller/UserController.java
@@ -76,15 +76,15 @@ public class UserController implements CommunityConstant {
public String getSettingPage(Model model) {
// 生成上传文件的名称
String fileName = CommunityUtil.generateUUID();
+ model.addAttribute("fileName", fileName);
+
// 设置响应信息(qiniu 的规定写法)
StringMap policy = new StringMap();
policy.put("returnBody", CommunityUtil.getJSONString(0));
// 生成上传到 qiniu 的凭证(qiniu 的规定写法)
Auth auth = Auth.create(accessKey, secretKey);
String uploadToken = auth.uploadToken(headerBucketName, fileName, 3600, policy);
-
model.addAttribute("uploadToken", uploadToken);
- model.addAttribute("fileName", fileName);
return "/site/setting";
}
diff --git a/src/main/java/com/greate/community/util/CommunityUtil.java b/src/main/java/com/greate/community/util/CommunityUtil.java
index a8f06f2f..feff0883 100644
--- a/src/main/java/com/greate/community/util/CommunityUtil.java
+++ b/src/main/java/com/greate/community/util/CommunityUtil.java
@@ -60,6 +60,15 @@ public class CommunityUtil {
return getJSONString(code, null, null);
}
+ // editor.md 要求返回的 JSON 字符串格式
+ public static String getEditorMdJSONString(int success, String message, String url) {
+ JSONObject json = new JSONObject();
+ json.put("success", success);
+ json.put("message", message);
+ json.put("url", url);
+ return json.toJSONString();
+ }
+
/**
* 测试
* @param args
diff --git a/src/main/resources/application-develop.properties b/src/main/resources/application-develop.properties
index 99d3f560..2a2a77de 100644
--- a/src/main/resources/application-develop.properties
+++ b/src/main/resources/application-develop.properties
@@ -6,6 +6,8 @@ server.servlet.context-path =
# վ
community.path.domain = http://localhost:8080
+# Editor.Md ͼƬϴ·
+community.path.editormdUploadPath = E:/GreateCommunity/src/main/resources/static/editor-md-upload
# Thymeleaf
spring.thymeleaf.cache=false
diff --git a/src/main/resources/static/editor-md-upload/05ed9c9c900d475b86a66bee7c39642e.jpeg b/src/main/resources/static/editor-md-upload/05ed9c9c900d475b86a66bee7c39642e.jpeg
new file mode 100644
index 0000000000000000000000000000000000000000..580cd3023040a2c2f9fcc2bcd360d43052ba8014
GIT binary patch
literal 89202
zcmb5Vbx>SS6fQWp1q~7$0%RE6-3cCSAh-ny?hF=Og4)~$N~@$004y77w~ThAPqo8MnOeE
zMny$IMMFbH$Hc?L#K6EL#KC=oM?(1S9SI>ZF&QNTH5oY_1u-!V3k}@|AczS>O3li_
z%E-aM2x9zi5Ck+dG)#2Nx0sl38Oeyr82^7i|2hHq=m-HwAxH@C0f_hrNcafUcBS|sO6epyYYdKAJPpp
z50-IDhE2T=PyV__DF2Vi0soEvYQU?KA0L2-_&;VxK|*@9@zuarB|b6%Ey{m06TavA
z0(MTwttOHRq?5~@p}5Q4`M!Lz*O
z*Y|evO1Q(ZONWoF@J>QMz^U~io8k8%MbVK`#=L~W)>u{1ph!kok8fbze=Q&{lJWnN
zwk)qgJgqBuL*QLfId1Q)wVqa%IU@*|i^lUDN7}h^BrupvsQ!t9P+bP_KSfCbLxxZd
z;eSdUAW8kd53CITOZ$KJ`oFc{$=BY>d?*@=RmBnDQZGUM>SBV_v}j7Ci}0<-2s4FmL_A9SQW$S6R(G
z?sI^LU{ODtqn+%KA~TCq0k5`T{|HAICb)0H8jWHj$>fQv#U-#Wla4)!>09-*d(WS;
z%3efqp+>gsVkNdW<@M8IgcD+UKj9vaGBc9IOBsSH_*t@<3fdcU{{T#o(wYi2PiU7Z
zcl503z41lG($lo+HB43wV=cdmmM6j*6(D9{9nVhh{$e_XB&
z76Ms=^8V*m`ER@Ye+hUufR;jO_E#4==SR;x!*0_^9c$hG`9Xo@8zdysv4W4I^_%8)
zOzuHHQXcjW2U$%np+?q@6ksmUH^{G8B96p|~iJUwWGIEa%=N+a|VQV1_DR;q!%!
zQnvGhy?vd+mvh;sziz4TbXiA+4Fuk%{IZ6i(Fdr{<YhhWF*Qb6bJb?RB?xknipP0jy%p8YSeMY^$iG
zBOQ~&kQ9G+?Tn(z%5pE;iIXXR_{lR_W_v|hHY3dD8nwPPY)QZ_7*ZvmeZ({2{Yi{v&q==jeGu`&?hZ#oporc6%K)9U=VXX!_}`Tc0sWD?e2TrBY2X}Y}FgahVPdHe^QBO8qG$ZC_XkVnOl|Z}afmD`hiua6`
z1%~~t1<26v0s_|h{QM%9&LgQtYi={oWUdi>d$dDL7@v{@IOpHSK@?t~DoiWIj#Gjp
zBNo7MU5uI;A+W{WdOPe^oz
zn>foXn$~!6fra|hXmG(%!B^Y*myaEhdWw57>v<{ASI;#f)zrmj|4U-oTtB67c?ho_
zwqAg#hDOyIc*V<0^w7ZgEy2*T2uvK?
zTCPl`Zh{Xkk*UmC%Uj_={?RQyG?cJ}CUHR`(!+H>uTG%oy{$H$YZ8jS2h#6i;W?^o
zrq!2F>VZf9e}H+Hqp0%~%p?M6feC(`r%TZ(z$js~0;
zZfQ$DU{tO5trA>;7LJtc{4nVlSUGr|V?ESid
zaSx5B__9sNN{`+3?jL}9;j=$x{l{2rX9AVXj+Wd)He1Y3q1Seq@pnC^W$U>14{R~}
zqik;#es><>>5n#IXq@TLM-QPltix!7%fYqBHcKz|!sp=f=TmF>Q&kcZOVu-`jK7*7(}
zon|I=(3sW5MP^WMDme9bHLq*`fl0iV9yAnWeYEh=f(gk_xgkK_T|S6EYKM%^Hd31r=$
z<)AoK6WRST*tG&$-ZRt4RKK?1nEtv?Db2(JBY<)8`hE*YRYRbBfZeXb*-)&A@BQ=W
zdLZchx;hD>T`S#ua$R(ev8vux#9?o~&!#HsDQXg~G2TV=<9J7#Jh|$PHM|J}wz>#x
zu2t}U2y6e)*V}~4<08e7gqSDfipZzuEBg;XmFyrJKixDUAG>K_F&&y~Er_W=icB49
z^UMTMNwAdrWztIf*6|F-GrB%#`|~YC?i42-q9$+vr4ylw5TgogY;?tx8smyjeunX>
zfN{67e^mIF?H^V!%{#3H=Nw^)Tl+18lT@nms
z$qq>=YO3IxI`I>UWu^K?Hg#CjU*rNkJ{`3~uD#=JII|G%g=g3YUteQYhBOfpJ{!tD{Wmd^
zdAl+pge9!;S5~T@lWtVkRaQNVZ9MZ!3wHRPiCAq9Y8{$?eF=!SH5EOIYP5Sc&RdJk
z8gjvkvE1DZ5YyMVerDG&jPz7Oayaz1rP;{Z9@}4i37I9cC}UXrbTCz755IS~pS_LT
zZs5b&E@IH>)HXbK-zEBLcn|6s&XZ3lq~&pqFD|gd^RJT2R!JUB!NI$*&?^y&Wz|oW
zXVf+MP()paZ1iVsq*aei*6dX~C({~~3*74{5^!l|1~o9yxw!spd|%QhW35`0JVQfN
zH2CpN+|s8E`}Ny~P1F{WZ@!}=RLJh}(|oJ(mj)8#$#~>61bH54IaHr1%mSXk5QADs
zohJ8g#ASxyNwvgteRjo!k6xTWSANbME1L()c2%G0R=6GF=6Ha&D}^SdxNN&BJ%ZDm
z#2(~JqXD_wVRhE(=W3FD*aU+%w#g$b?nX_D!;hio=UAMSk>w*9ZUs9&{V%IdgPi>-kxXwF%gT*D9a`IIxmEWVUqxwDq&f_4ka$@L7Rv=)P)IhgXx
zc(zQP))k~pSzc0eiD$f&D2^>l^2j(A#q^Gg?M#U(8IIvT9%+R)ltZ6B1S{bq2>@3l
zbmYe*H2&njC>xDiy)ZejZlQ=eRBn7}C1v|?ikGQHmPTq>L2#%ru%!=D14}9fDlFr<
z{)`p9)~qf8aF(zYYk9+AjAq02eB#$Cika$WdaT%cD~cy=y*~18mghw9XG|*KYgjO3
z2zkL>&QMn~ekMN6e!ThzcwqVmc&Q89pD0FWZLjzh6}S?Hjyp?Kb9FRGi
zRF;IElcr%>h4xHWqI$xMD>va_kTPyKN87K72!(YrqtTgiouc0qg^SB5kvX3{Ko1X=
z7*duT#XQIOyIdx1%5;e!S;Jy3l($Z5tt27bN
zEdEVaf>qui>tqCeVwS9y2jkf(GjiMv9a2si>Y!W9x4OQjE@K`qbS#C-E3|2fxNzQK
zh$wE)u#Z>@gp%Lz0&j`E1cxU{T^BV6Y+6%EBr>lfl@d@R0VwmyR&hhvDbJetUHD5?a70K&YICMA4+4~8HE9l`5Wx!UHJ&_
ziJyyG8_USwcD_q8e(S}!5d8d_{>t%5q9yHtfMRm_V&P=YTaFz^%t0>CBbz-~G#2uT
z%^BLAl}L}Mg+jFfLQ0=)7FvQ1KAfF!6A~X`i!AEV(*qq{)2l?i=R9Q8OEIy!de&T9
z20&hUa-z
z5mAUM_M^BL7lI^c$qWem9y-3>X(biR4;4{$3|(x|^mH+7IS{lRh8HkksX`}-0*Fxu
za>Qw5!|-oDZ^ih?MbBit-O0??-$a0hyiI2HoG0*5-v=Ny*jAc3g@s*&Z%?|{J7!Pv
zZu+kR&r7gVdWv`!lhS!>W^BO&zm6xC%*(x#0#rw{nxx5x2eGFT>MD_&z7b<@?h$`@
zyZPHo4oA@^a1@+y##{&h!~;tCBi0nGuf}&;CHoC)s02lu*Rh7E$5lV#8jh)aZ;92{
za~jr|!nfkmm3N%)Gn!L>t6{<@55&u`N`(4A+*%ZjP~w=p{(nZPxsRea)p#jhB5%7!h(
z^~sn916^hQkVML9I7rOsU=ey|7wXyY%dthqMiYdw4M~*%>HGtThZ)Ua*UdS;)%{SW
zZXqt+C1?G(O#Tcnxor$C7py*pWgXB}{{xIUH@lX4FW5VVJ^3_QD}78BxAHNksr=C(
z!j8vaJgM;es_UlD;C(YrF6>_4y<)6-&Wcz3t=8W1Q1u9En}z&WdP{mm$eXG~#gxry
zfIQ`3sd`jmH(NtqO}ASEO|Sc>Mztwydbq86r#umO{~LW4zq9b-PEDOPvm}b{JS)u(
zYxV(q$tCGpA;ba7wroCAevrvXVe@C`?~Wo!Bv9~0-7lEx(6#xgWlGvw>1*VaI!nse
zW-|`aoid6u_A^$?W_tewL*q~5-uO4b8}a#_maJd1ei>rf+ivmZHOC)v`mCz7hYph}
z)P}zRkE6f!#>b;B5x7>NLLbzeg;Wy59ICAs6m6bqrxo=U1vOY{bpde)#b)F|NySvH
ze>{i#l(cc+SeP0vXK{4*<#_P1>$#Y2R54)AsSHYwJ-2JSarPWppQ85`r_8L{{u;dr
zOHma@r{Xv4N6cTv)6%NgSKQZ&)`!3vG>P-D@RU)YwdolhV-sKe^gUB|kOHNI;IPda
z=?!HmZm)lSLDp&ga-GIzj|bI*E-8LWZbzrX>hn~*NNMS`R#YX{jlSNnj0GOzuNWB>
zF9N6>7a^L~m?K>rt)W7XvWLwk>Q9FwYjwrI^X-1!yLneqkeFGMwv?EOP8QA+d)fxy-&>!PIpR~f&upyU&=0VSujcQpxFM$5V(wJ
zgD0Y>1aMDT#TiTc!1_~t#dYn)`;sqI;sFhTK%W9Rkb1v6TBH5Zht(K2uc*OFZS6uI
zrJ(h~b|rh|EmZ^ip`}F~4U@kFeB!a7zWRb*S}R%wHB4kTn!BeXE@mbI$RO_u88kA(
z=_w&D52wtYFTF6PsfDabD!v*2r!JtR-h>tOQW^++cnPDVXHKmD^(JqvBIwBW$4<>b
zmW9Bi3vtEJd{DA?+^Thi0sm~G9K*1IlD=VJ{9`sW94V)wp`xTHL$iQ|8`@g1M#@W+
z9_mO~)pGOdClrSfKY
zJ526b(`oGlIGdGsuK$TU=qeR$%&8HKww@IHv85u--(4n7VOpuB%T;x24SScii#;xR2dR?9nLvap~<5HUR*so-54`19Ix0&jrn4!gxs`10E
zQO5FHc@+J`sdra5yl*#Bu~#-b%J}J*^y;k9D*%-k2n^%s&+q6Uj3<987M7|?u3MT8
zUDmTOA2P|OoCR4jL-TGZ4D}05j9HHrOzEeI8q(y^od9`U67)D}hc5g@f3(^dqb0ug
z%G=Za_`{d7Xpe+|fdoL<35+bihxfyUbHK+Ro7goXC5
z?sro%Cn+>AuO+4f?K$tI;Dz9FsdP7;#p!jA^{$wiN94U1XWGF~v|0viE0xgW0q7V&
zf+7R&2AA5sh9fEj`Z!6j^*M(j(adS##i~qzrDOh##Aja1^Tl#FXTgckS74x3`1go+
z8oek2?N?{azmCgCEWxEA(_UXI;tKU`HB!;Psd6ZKg){YUzd^KR0@=nnvIBLRbjT|`
zblipY@35kBi~mFy-vNaI!r6+YcGdL*WEHsF<|9R)>T1Hw8Iy86y2Drcw$PI7_(p~1
z3Oh`-+BRe2q`G{S2lf9*NP~vDP(%{
zB{lKAbB5D)BpTTIM89)5ovl==;z9imlb{M+UQ9;#-nM`J6c?_?$J{2oQz6>DyzeeN
z_*-=H8!Wc>HNO@tSnGGhJkMt`N}JA9vn
z=3M|9AmLA9LTqM?l6`{sB<>{N0tVG{!|$9cm|G7p&B)gPq^wV^h>hYkC*=Molh^TW
z1;-9!yrF%~_mtp2QYkr{N%@Xp$?kgCEKG&0m1$RradU@z79*CS>p@OR5u*nOj2m|Z
z@kv!dq!Axf+d^_0C{j9R29*~_(ifqb
zt!WZ2+di<@*&NMC`GsF1Fr=%#zkfF5j!C{A{dZ>}F2A8oA3M*X(ERm>qqVBt>qf;c5^8lU(ThajSvA#aGjH
zT641JT4yT3*kY;gaKl*&o!PpMAw=L?a8MpvXYi4Bt5#vo{8Ifwqmw?UkrL~DiRU7h>W*b(?QimE9Nv=X3S&;zjSoLjG)R`!1
z*$%4uEUP&Z*N4l|wKoWV$I*Cnfd|ThtlGlIsr9TkHWy9-nv=vHLn*%+%I~^J@4pr{
zRPakA3KpL7rGELSyL}tdz8QEyk^je%3Nq0m7xI%%QHZ*3-i%aYhl_saj==j{f%)a#
zL8Ql=H`5^en5o`4k72fvRVWV9PqZK}8n^u|h$(qdsPZ46B*m!A*g`}*ByyA@(}C92|3jg&|FmE_h^NwEi4Q{gj^H>EGlcVC7Hle*ll94A;OrO$-F--*@vfznN3#
ztO{UR)Sz1-U*c+;+-48rvQ>VS2Du4#nP$(>1tpBwBp^Mj@Rj4d+uwDsnNZEjN%c@B
z?1+mj*<~*@$60i`mxF?Xc<^)|A5bkZHcR>KKR{mGTeDVcTbVT&>WAuNeFL}4u%AG&
zcfd151*8^lw~7>imxg(``-!BLw8uN=!tVHaUF+N6aGL0taJm981$dpTP}bc8_tcej
z3Xl876`G>sN*S*(Y&j*;if}q-psjYJCtK|QF<7$4!*jUBKcz50qwtPvxmLUwcojMe!=DU);M8|Cn6&Z
z`@Z7WV@WNv^(<3#eKzfU)YmLUnK{lC#y|yu`D3tP!iGuTioQ{kG|%XCCMK_NsY90gefYLws;t
zP`o(P47I!;x#d5AVf#M-@@o+Rv)Ylnd@vnz%EKE!!FdlqZ?KC!380CnYJjw}+H841
zSHv@hTi*a}*FBE+0Wm`cQziq(5{O!LBfgd|Rj3sQ!b(p{exqHNYJ8*0
zw!`hIm+D9$!DcP@l!3U2zOD66+sIN4dPc_U_`XK_f+a}SvD~%Qa?Xz
zeAVCq9n7v!o?GY1bb~5JH+C}jYP6C-z0jXJgOX{Tx_eljtuCcQF{*kS!WD6H8Q2lu#pYRD|LrxGt3b
z2H9Mj{`cIIYfBM+{y<~wPSY{$AK*%{ZD8X9F1O{Jce?Ot#9&*ZqJyFm`R|RjSTbR~
z=0Mxrp#mkttS~j^+gu=^(Bkz_U
z+x!iI-#I114f36%P0J%;^(YFViKW0AQRFLvrYV6$5A`Vx-;A3ip8DeK4kugk7#f3TNwm^)OnpF~NfVT-#
zHoNTkux6|}!wr@aXS23YuJ*qQYT6v6C#SHdqoEIB(~GxBq}9IB?#&r)m7X)vvD?xe4<%h-K@r=mN-@*;Ot
zqNALJ_C8GHI!u`~>BWaIfOG^vyLxK!mjdc^vw0L8>xA}RIVLs=LXn!fu1}`w#~Yo=
z3^O?dih+Wl!Gr1OsXMaSw>?UoqMz3TFD~N!yWy(&N^G26lw4sNLwRA#RGLf0}9i@
zIE2KxLmA%N!43DQ1%-`v(S(TAt_-4K^pe^9CJ_!Ci$*8ppp{iQaR{
zY|ABs?NYaH@fa7P+ld*7+4Y&Re8)Cb)d$SnWQfik2e#$*#>7GlUA~2@zRjyNii<-W
zg|}!}3MW~A5!I>Xt)DH*uKNzxV0#Pp=lPEoFYoOuiKjO;1xf8Yq&HphT=251zERA{
zQHALl3}$S%tfXzyU(UG&y2qRl4@N6l3NTrG(Gim)4?dV}^qvtfCQpFz=C}M(wTfCv
zm5tl1Nrx_2HL1vjlWDgtD(v*TFOedz>&zJ{+0`E;d`qN3SF&cS^9HScNh+XgrXzPh
z3&0@#IhxKY8p*N4tsyr}=j#C8$Ypz|=(GOuBUKn?HHksBnc6h=>7}@TODrqtgz^?v
z6PDK!mZmdgAQh+>W{N)lREpo@D{5+#Fx@7#3Gd*7-^mpGhKtP!jgQkK2G<0tt0BFk
z2a56+b|L-)bnmVt;HJ2?q#WNT4jHzM~*eh%4M}S
zeLmJ+$w=g1*vgAc8W?uj72ilFEHhD`!s13Fhwmxn*1s0@Pu#zfd?NK=dITj!CvTf-
z`++=VQ_tV0959_tu!r!62*Ef*x=iz#0fX24G>0}>bNw4RO$oMh4c|4lMAj807MKKf
zz$%X@K)WqdX0yB@%)8cK!OUg-4soeZnaXA{?+2WtitJN9_D|uR9I*UR8hp`YrXm3@
zjVKpeesv&)6}6>?dB;ZC%t#wicr7
zujSQ=u(@K}BC2VL4TOkpx;DtlRq$7+ZrnB}n{FN(I=V^6NHmZ7C~A5AlHItwSPpT0
z^_u3GM>tB@P}|#xtv?oUmk&0e@S_ppa|80fG=d5Dny&X){iJ`T<9UVpU8G;39sgA=
z<`xpKhWF&)Ij8SGDqyU*plf7SU>>x5J$O%DxQN8l-_Bksv5Zv-V+}v^Hu#?Zk22{S
zio5{?&s;A(hLnDtq3>w@2BSTVEG@=ZJ1L-L>}{b)E2^t^NPlMLQHFqK$&&
z*ZrTWnC!)`wWlV6Z93N2-p-0mn&oni!yn96#RG{bw(gMJR+Glr53#vVI5UGbMZRXb
zHKpR!huCL!p(ym<_q&g7~ilSMR4QR**%yysvGN5}RDrKFpI+M@
z$O=l|@S7ZbGbN#Av3xyv>4~x;b&nHnB?V3u1&c4|_q#P7)a`t+-tBBWpUNs+u!T~e
z)-2pVAKpDkJ3AOA++N2pk;3x>nI-7{zz|TNtE#q@XeXfi|aI8H6Bz#u5nJ
zI{IAiU2L7(e0LrtBua7fw%dT}iErbfZaa+a&WkDS8x*Qlz*yG9v|@C-qX;Z*J-gsz
zK%V+g+W}NQNSm|Z-~4ev5k88TB#(i7(=RX1w9Qg8Vo@^ODs*^MsboZAZg1>}XU8{Z
zxk69-<0NKKxcC->a^y1}osFO1npkCR-A=30fRpDX#Ter!R%Tn%;T~JEJ=z?+esUHL
z46%={#e09=>{Zwnj9<@Nr~GwgU*F?xm-WtuQm}8g@QB4%ou7RwM1ivoL{EBc4|z#|
zW)NDI)t8_AmuO-zJAEgZ0x!f(;Cd|VU(Gxr9pf=cE7lr)yGeBx6AGV5`$
zAiv^yy!$f!od9nUaW-gsILW|>+BKPHWlyEv#VB`{`>U}dTUp<^w1ouoNFO`JfSrjs
zu2GPK=h%n!haXdmHlG^3<9y)8rwqW`IVo!+5^H99*|kiV+cg7EmcLh@^7%~lSmdST
z(mJPt=N2_i-B1XR5uHfgV{VkK%tpczBSrqkPq+iLEX!`YUaMv?zo7&3ZQmAZY4ov`
zkiz_@HW99(_bH;2{3}~Q9L_%-UQjNWgGf*zB3~C0@o7lEl85$V3g>RG;|V=>nox!D
zdg1U7{ygk}jgw{BeVN#)Bg3Q&|INE!!ET^rL*hqnqqV_E*rc{-bf>bEZx?e{!W;wf
zsZzk#wP+L>X;2iUS>-
zmhxpZmyQniUY&0)vvNtR!jxL3BQL3uQaEa&p=L^tLuTcHd|db>9e!O>$=9o;W&jx=
z8cL#n164HvR0z*{?A@>R&gzA3(kbfUwrC1^LFIRKDU)gdNL5I)jRL8CHw~6Kcsr+S>I=jB
zy+cAL-DbxE3Nc~La@cYys|$KgnJ(*oGa3bH2+!*t;me-;tK5PNRPs6dkMpZ`@28qj}boO>d`COpzoPAhR52nT0gR4k^t4g*`D>C&j~(
ziV<;oslK=B6<|mTJ#t4it8hElHV=w?+!|TaUG7ic7&q+T2_=r6BPRDfJIr{A0s0@f
z?YrPseBZEd>8%@WBQ&V!O(rULyUUSL5vVzS!^S`oeLcIcI
zkQs&_$2lc(IZ_hKPk>_f2{z2r44IjSJYktKFMH=D6%MYW5?7>$TqN;X!m<8LNzhH-
z#4I7}W9Fc|Qn=&Emya$vj(2eexA${$PPK9$H%>z$tZ{fZd7#&WqyW}QuKKszLT_#n
zE3acj%HRuZmy8hKkCwa!K5rTLf({KBRm0=K$!4p7EgEXNzZG*#Dm?0f
zhC_?s&_l6XEhP|bI!LZS^kOMazPXX^)4ula=na;k7Nl6`@!WF9;rYs6k_pXUHu}~+
z?H`E;iMAi$ZVYlGlOW=tc2Za-IW9GeB|92|m<&v67PO0IGlyI}<(p7grTziJ629gt
zR(*8Y4xwDe$*tSl^$IiEte=6O#$+@Xtm!#tk1N^t+*6S4^}1gL*Ts(#lbK7r0hbYd7-p5Q=Z(=Td`!n<#sqE$R;}f
z-hpFKNx|cOz&au{vT1iiFL2+?P@jtgOhQb|fGP++8?($D72VGiRdtOXU?OoD
zXumM~JQ|;G8fI75gSLFTT`E0HWrMD!=trvEU$?ZySKjndpCf01cKJ(rHTxn`MS<-h
zVE~i^iY`E(9V2Cz_}RHu^2d5l91n37AH@ppF3z;{_jfJJ1+R$ohW)M@6yxcYXU^Zz
zSsc{^h_q7ox!(Ab*rBtP;=UH5DK}>X8ZfZ
z#H-G3I>B$~>aNw`eXKzs3^L`dudw)Sgv$X;+5!|c9nINkOe~gz=?1DH*yc^??TaSbjO__)T$&8f$r0(0IJfcn($L
z+EYt1&=gq31txBPsBw8ACs7fcKm>=Q&hqbOumU#pWO^&}y)I%U8p#PB%
ze<^>=vSe~^`={0K6LCa~$`;#^^-1Hx7;v-}qcduv8puv=d|Jq0aLhRU7O&G8XEs1y0ebb+o8w%qo?V
z!X2ZT?&>Q*2hY`jxm0j%O8ug2nbt!?@I?C*
zC-FsG9mVn8258%om6>0;7N)$N_n8#3uK%LEBM(ACK=N(bemXkfmzH%AQeQlGuAFoX
zy&b_i=3ik+{@A!oVW7Q<0!^6(YYKAz0wL&9hQB-H^m`_^KWaSJSLQief)vsFWI$|G
zw`DY5+2Mw=sUPNfmY7kL8C=&?6SSMw{(Ko}mvQSztpCtg04FYd`SZ?RmU>=7#h*#N
znUAue$7O$H@b^iDD{DzgmfBFdV)!nGXl-Byq;pJhyMo96vF||=3m;;vy+jv2tYNc2
zPY*YDAL9!0uVF5SP)soK-rIsu;QQk`B3J$d#OLSLv(n#5Vs2z_|&@L@CYMX;kpwfC-e-HWE#d
z?uWi8-e*8!oEl*DwlDN00Wlb~d4tas!KD4MxGQ^3Aqi`*;YX9FQqlcN(TRO$!iWBF
zjD?0u946^#gawrRrb`8**AQ4QBjast1j-PmqopZ%|68)I>x^I#c+-et>{O*dJs@Vh
zFap>xc<3iq&nVk5IrQU4afgh?uz(5%2>39+^Xh2&vmv+umAYTe-gA0+A4|#<^|6=U
z=W&rs$qrI1Z{Glcqlw^Wvg_ann~%O?)8QUYftT4ZEXZ+N{j)Y}8L
z{~0PN-n+J-O83K@uga-Bdh3t*o89t*>&s~+n`24ei$X#3(LH$GN_)}l%`QRGZwBRt
zORXAzO@N13c8s>S_kiD4M;Z07eq9p7OTw}_y%$gzGuRe*mqlRF@rAv+=SW{5DFQav{5;M-0D;PO<{f^Qbm7)BFlsw|WJ}X%A?|0Zoyme+A(|E4Kv(;E<`M3x
zk_Utoh9Um|`eJtkMWgPAMb3j9gs^hznhjwXPDT^JE3n=mqd{^o$)<7|8mrJ>FzbC3
zLy#F}Yp-R<^mzzY@R6bSA7GZ9)alf>E981CQ|VeIsP=#lT5RumbrCx3W+690mnYZb
zuK{j4=A}&HriAefn=mli(}LtLk*dm%l4oy(*&R4HD2?I@XXO6;{i+F`(ADMXhDL$_
zm7a%tK%BxN(me?5=HM(id#K_Rk$3&vL!l@=odf#oE<*c$Ye!Rc62XED5a2`vs>}XP
z=x;?dPC+WAzaf@@{tk7%J8lG!J=$^_^AE854*&$t8bAC4tS1?L$Xl{b7o9|M*3};Z
z=3t=6iHAC$O^gah1^P6LXx9JsMQ0XOkY`dK>oaZPj=TG~=qX%kO#hNX8_BucBJKG^
za{sl&0YwU5zysT}yFh5G*KMo~EKZN<|GCy7?YaLt++iActiz)&<2+yhm@(}CWf=uj
zT6Q>oG>qk0+lmj)DD@RPm^ZgHsh;~)(wDEs#-y{SN^IL+O6R(x$AA`10wxX{muFxA
zp7_Rd#&q%KP66N9m~Nkg5Aj{|6oE-udO!b)+G^KVr
zc1~ggWOg%z{Wj8|;YdnoHiqEQIAla`t@~&;dY$EHr$=?MZe}8Eh;~UQYNIa8lHhHU
zD@0HoNLT1=m}h;N*4Nb3#uYuCq0?q_LhDeiz>m(yZ}G}`KvVFEFG?z0!0JDc_Q~{6
zr;>Ijch9Tg7j0hb=UEDN?|v6p6fa0B$9U)CK`3P3gu$S*_GQS?o`R6pDzFopf}d
zcU{QTNBEyRKBOtjD6uru&B+$Ae8Khpu9C6o%28xvXzQMUo5Umv9scTu9@)RIg*d5+
zy4-szWTM&g@psd{t@&3sob*|KeH=}To;EJJrqw=~-#Z4d#1#Yqfp=Ylnu~-lv`ajo
zbmxY`o3am7Ur(x|KFNhPblHNxOC0)cD$Ltq@U8?6^nxOq^mt{PAM!PoUO4ScMSBG*
z-5B9mR`wfP?`XD7Zb*sD3$^stbXV$k^Ag-ATV$uBOgSmVW*nlAhQJ;S77}M?ZsZ8D
ze|fYjlBW6EIilc|pCvTYr}#;Fixk+d1ke?$z?{?6;$qjD1T_j<)(*UquuJ1Qbr~l)
z2ck+Ly0>|PWM+)s!uiSe<>ri9ec-uanV#?`YomnED_ZmA^(naDwO;8<#Hx&77lpIT
zuq^&xIg{82M!DUF(SGpEo|19S61URJo19hGb+mr~xqpDDs}k%xxrItHFJh0p
z+~Vl1&Nq(*`McR;f}?)IQ^*y7i}x6aBXF~(MZY5`?DZlgaxqnr+21oGV92ti*@~^2
zlpE#MNvW2o==LkNC$yBUGQ*c$mhtZ5P{{n}^<%W16WelX^46*aYo70PE({j9lM(Na
zc`>`pSf_h!(fv6s4O&!_1ZNl!3|HmY?UY9{-y5@gAWL8l&9EDIX$|`acqe`i_RkaJ
z{{843`BvxP31TLGn(v>fL@8G5;!^zuZ&)LLaoU9YoIH#|Y>rjhAgX@&XxaR@eK%F|lKH@KPcy9L#eqvS$hqPZDoZy+7PWmNl=hL!I{3TjC-e;1wUo3p
zUM9spSK5;T+T*TltEeyL!VRRHpF?qk}+zH$nhkKd4(A>zc(ykS8=k=h;)a^5vWt
z{7k{_m2R=fTbm~kB**MuAPTaNZ|1{heR4K`e0gh^nAuYFdKI(Xfr@oC4|%xxfRsf)
zGDr!=`tD^y1=qK%0{+u`*apPcD$_y$XhIC|i`+%HGJ}z(_cww?m@M==}8t
zl%2U{=ktr^d8W=+`Z0fQJIig>Q<<$6P(Y?8D_XoohY&SOwCYQG2D2RBZ2gD}1U$TX
zIuRqc9U(2hCZAh6R#M_ViH?IyUyLi_9z{nd6$i%|w#>f7$Z1O@$29IG;_8~$rJ6Ru
ze!UNy$xxeo$ou`=0BPC9`{jiL2r8TvV*IvRv}5E$F}4CUpY3Tqq1Rs9Z5jtkXv%Z&l}k0x
z-$_}eTD0DINydq-2o|0mps1@S>6+o-`!Pw7g%hgztL*uc|-kxJi#>E
z6l98uaV&ms%Hw9!MZm?(;4`kdC?^}m4B?*sKxd>y7zC9S5N%ylXa
zk-fgrj`k$@;;5dImc?uEl}+)*=-Oyv9e@07e!BQFT%LFrUy<|RCVI)l%vgE`cRf|r
zDjf1l9jF?aOv(A6ycfpL2X85u10ED5;bWf5Dj6xaZ~OYci4GK&n%pF)V+3K6Dh49s
z$*ISb;eLi?66__P+8^9-Hajn0zoL=Fy8qn-XNrS~HgoYL>2}ey5=*Fxp-K_s_;dU`
zIHfe4@gLXoJKT6?X<}*F^Y_Vd#U0=sd$O0;eshK#Gqqmq?;ZHUYyC`SY!HiX9Y!gr
zCVjFu!QS+LaP^i^ZMIRjZjhoyN`V&lVuiN2Yas+DxEF7L;O@m;g1ZKnBEbr@xD|JI
zm!ie#$@`tX&)H-DNXE$X^U1hn%{A9G6Yfw9{ehV&=~mr>Vznexvf4?yHF-kAG1-BW
zU_aO1T-jb$4r@|Mq`p;*jcIn%e~WWsy@ijB+Sf3fu)HumAV`BrN^nxv3L8!F-@2na
zh$Bx+7?wwhMp@DdAg)#K>1m{&IcxJ
zm@@`HIdo)!G&JN+DtMs6eN>#-LPHf<(X|xuS(=@3a2gQYm
zz39$oRx0V0F?YFBm6b8cpI)v==Y+GGAn6tjR`4qA@}sk(Vfw2bX6D5zF0Ko=QF(l{
zAd@CzJ=aOS5dPqHvK=1F+CMCXbeu&eBSC-VgbBUKebhIaPz_&TGh^%StMu0v3qNY*
zt(>^0Wa70lhF@sJza9S->wHfrGj2R@!|&3QMN`
z%v5s-T)`73`CJMF#|}#hf6FNpkDX7hFgsG~pxqeZXP$!h
zmoY668zbJ!^+dj=0hltqP+E<;V42ABvhDRoT@GBC-8?`j`)27oPujrlEnhx7sSo-|
zN}A##`0CL4ZnynhZ?-ft%r=VfVaTK?A2=dm=TA8s(}k=S*`J4La(sVXMG-r*KL87W
zN~2d_h+(oTtDC*$%g2MClM0XX>TVDc)shJ^enUX>gLnp+l%hY(wf%m4cZ~r2mB70fbrXZLhvZ7)GIQm(LD0
zONOYvV59y_jVQBdqayx^uea>1$N|J$)ypf*4#n81zodP3v}U%BboDqtC05tc%gvof
zR?%|gHTnk>)FG3f48EZv;%M0P&I$ow5}PunCCw5n(R}NVFLBqNFA>F9k&Kp
zJ9VkT;;D^A4`SWlxCCR2)d@Ui!8{rISqDYO_&@kxK(fw9XN}}Y)BQ-5H8+`QJ-@A;
zSFRW!GMZ1K`FeiBLlfmM_EPjWQ!;Jczq$|WzrnTX+#ii|iOst~cVqB!toCw9vS>8m
zvFnq!VNqAL<9p8>>h5!`W=`-&)&JM@ZiSKf!27c&xj|~4;-%a5|Hd8awOnxB3UE)g
zX4}-n2U`4MUd>SilAGXvVaeaaz;{zWW%2ur6grS2wok7Q{{j91H0AyQ4$9j+*x$--
za3`Bk6Dtxje&lYhP>I&
zGahLHtLY6x=frijso5ahvq_;-PcApg_RGkV`wctXbNtJ$;)PT`w8<;Pa&i*wdPq@H
za^BT0Wf7rQfRL^A!HhAeogbf@LGf3*N7|wD!1|~01!fe+c#!BB3g&1c>tD+0R2O|B
z9_rN8Qko8xI;l)oPdRXr0x-HL36OLVV$KX8sKa=;E|aVFUAHH3^?!}XDrzTR!{|iG
zCAs=O0iK4N^93SUuIYfZ1a)4Pt@x>EpL@AiTzMnMx!v0JX}{I}O;98K$E&|r`n8F(6}Q#ePJz$E8dTVE{3M>2KzW;rhHJC|pC60c8AuR>?2HTJ9>Q6jpNB;m`dC$220Nom+x%Vsr1tEu2
ziUGN8zu#{E+20&^oYJyL-M{P}c5ztxoBrmFpuEOanVmDCEdBtivQIb}Rjn)`f$>2}
znDN65=9%#`x%iX{{w1<@Efo($+SKMgIMRfXw&V6u_~!4XGApm(kalTp1}@4^gTZpN
zIhuI&GmNghBL8)W#hd}YGm
z%R#GOhMsjJ=z@dTt+-0YJFMhHd6|>bq{ud@#FYbB02WSsb|WJ;!8C8||G_zG{c3q+
z0k-ukayuffaTqVU4B2vv7vnYly$ObwK@ap5=Fo$JIJP!Eipsi+C(G^>ZC4^cO7bhN-s!COgB4cjlHqs@H7saT&QCqq=j
z#$hb-&Z*NEvi2EnO6#&=Lh?poRG$%_Ais+kXa-rXRQDx?qdnDQCirhMEEyGM4!T|i
zaVd>VlJ)&!!e(Imvx5+t0GIL3N2-EP1@^NY89>e5bMJU}4rZN4jauNgELS)Bm=0b6
z1xjXpREFK7bdYo|CW#hZUIjdo&wh$TAwqfBcpRVsIztS(PTISmLb?3kFp@x#@UfG{
ztV((>*Ns>of(}v736{@I3UOU7{kz)W02F0^N}ux1a@}DzGMMFpIp>rEMOdM2G7VE<
zL8#Y1K#Y9DX}h|UUgP1c8iwA}Y%zn!1;KU4!IgN5qru;wC4+-Y#;mtOc%+SNY(In_
zQt*h;5F92M3q(j>5Ng%^XOx%td}3Ai7u7shDoa-&f8g{VggJe@H6|r@
zOrOJ8QhkmD!=I;%GaE!yOea!wdYsB$QS4I7v!XwnPw`K^liFQrFic3^>ea7iMWZN_
zhhhmFA%z?A48Ej%Y$*()cmTBoPT3rDxGeR~XxPgkb*_R)_H?0-@S=hwtX0IM11}Wu
zsl=J@0hk_v^#FYxov@3KA$b&wc9L5%)-SRZky3BzTVMjB
z$KF-26PwnkPjeRIH+SH;?OQimI~jzogkrFXR=fQ6)i!lneF#ZK4XP9o$~VhDnsO5J
z$BEyBmCu=1z_PqktPHHEV8;>$h;zOZvR5B6p7tjwWeJ+&IX#d%85!h8k=tHiIA
zaF|25Mm$=&JNWh@GsB{OcbLtY#QwPX)52>p5!o(QQD!e3sdkXzQ3<8@GM3UkPN^lE
zedXY*z$yGr%Bh6ZF)`+h@3H`%c3qI?E3LZfPE+&lPUnHD38^r=>kSg|sCFsel!9mY{eiAs@cgws+^w5m^;9
zYtAqg#Vc9=u`1{LTjt{Fibj4lm&ZEls
zD?g^4Hi}%{r8ic)Jea>TON1?}p-&&=QA&i4)_Z
zf@p-?>-sdhl7xc)
zY?PG>FbuB%p3$|o{rDaE<(nyI?wv$#flTrW7Re~vl(Jwk2(Ou{tRy-rftjx3Q6uxE
z%$KQD>9U#>MR=8a&pAO{)ZDLNMST{H
zV2~P?oSfjAuy&Q|ob@wjuZUUTbC|*z;&@a>Tage;_{$7kk$|_&>@u)b+y=kCD8Gtc
zP3n8vIjt6F^g`w!qOUZ%`9B25)$sRs=uw-o*g355|Z
zeMMoF0?eb#yO12|OwQ!&aCS|C|Kq9M6hx~24+iX$3~B)HsVe;n$DhvTemg}$tZl~<
z3~>Il*Q<^d>%2_c>~1nSrah~#si^~DZ<2*=^p?ZXFA|S97gz5ICag
z%h|gnGnxAk9}YYv&$|mkmrm-6MI`Km6+A!x#YWE^(58H%OmlSnFozkTm+RR;QsE?r
z!~A?(d@aawVD&7Xu)<-bPPB_W38I8)3sT}$QOPHN7;Na#ws7syHJ_{fP1#sl7a7Z2
zZ7NUOytKUTiJ>d86xrfyvFA!9PK@@babnd!iBGr~F&c+-(C@rV=54ws5logjb^UqN
za(+Vej#*_WJ~d@r0wmJ5{KLw}nVszNKN6^mZJJJmIZp1n%xG+b)n2vI_pO7dbSsK=N$gw576q5h
z_Y4rDQ_`?YCVv1LoP%GfmG5^xzObD_W`F{R*_GLKN?{$a-|O7}R;qr4Buek~QjcSA
zZaNxG2sipe{9yyrS1@UO5zCi+X$u0i)dH_?3UOv_`niq@XJ!$ORBB8zD4-jVFf19s
zJ%|2!HA`k!5mR+GFLYVs1GZuxsa7X*U41M6sSVJWtAwmEKOxmz%+yD9ec4BJ95QGU
zlQ_ggXRyw4t%`Y$b~Ek!d*#|01lkSxdXoZNFbKg5`wQGd*sqp|4O-(>!Npw@lfEy$
z8XHKMnL)`8OW}W4lwlM4W@bq@?nG(6096Ct8t~XO?G7FoW5Zr6Q=`sirBFNlz~%AQ
zZcZ+xbd~1@HqX2)E0|K}&4@SnSe8Q!YVr=!R;ZBTes7O~o0*h*ul?z!EezW6?sV#r
zV~WrHbE=uBbBoz(x@gzt{A#Vlvr{+*vFyzciAu8wRB~|FsyvZC+nR4_q#G<
z-DRdhi18u0jzybS@Ts3=(?(Ymj-V;ATVb6SyeN2Y6KI@s?N!}PqK{gHGJ%KQD28ky
z-p#mI@r2x67cFE);L*aG#ut1QZbMkiwjxQ&4cth&Dc6HqteQj!qVN!VEo@_3S+g}~
zZo=|7O(V^nst4->Y`_t=f&LA>H)>Vy2`ZN8Wt(}j2c+4c;|Xi2roe9ABj^k^tSiR}
zw>Qalt5zkNLiBDTpy6@ST2UNb*GR?B=IQ52vFOIP0EI6fZ?F3fv{pi~tA-6XnR=}u
zaE`LCWKP@%+pZJ@Kc=q_`Kn5t8IX6*;0Gu2)8c7-f&{9#{9crF*lRrBab@sS(|OZ`ATMTmBSW
z`CJ%uS}}0Na}UBqSDWWfc=$%jLAi2a7<%%hNv@Ue<*-l7%P`#E<`!aqfkN1aA02=W
z);G;ntjmai=dBgxeG
zrALXwgf=s2Gf@^!;i~+^$mFC0{p9>u8S*3g
zx!iH@Nqn@Ltwf-5ZcYR|!N&z#cl_IuFm2KwsJyBJ+|cy;%x|q`Q?6i_12jC?ms<6=%t^gitk6ef;YIjff$+&SxZ2_2szHzN3H6&GkXSASH(%L1jIbC
zNw%eplhQTl*>xAc#6PB7K9wJ3b~#zmVYPr{JgFOEvO^m<3Rbwd?fH+x&nX<~q}j-5
z0|{KogU*$rs3WHAGdVim>%)iN(|x7BS8EaqRqlRE;W<-Rkdg_GkXKEBfquzdmZwTB
zz3E-$D^@Svn{tz))B?6P6g@;R6l)>X_i}<{XJ0|x()N*`$xbdSQVvt&1*yMpKhzYC
zMn1oA*u>@1!)h7pS@1JaKugBFF9Y~E$0Dp$g=QQp1ggGHwSm4Lu)bjP^7|at@|}SM
zl^k*0snbyzfoK4X51SY3&HWLgeLk{{Zq;
zB10)0TDV1(XhX)1jZ(4CGFD`Lw|}N=DWs#8`I;PQl;1iH#5tO=hw(5oB~$0!<*l20
zp-o$sQR6((oK7GVw4rX@N}n5%f*!rrn-g65I#S08z@MO&(@(W(_*u0I31TA{2J@lB
zCG*nNz3h8u8byJs${2FYWWNrKZm<)o#?6(oE^R-@E@r#VWHDjO4Kh!mHnOL6z!sk#
zc6vLgATp`Oo;^`PRTZXQq0ZZ4lRsXf+;?THlIqkV$q;n25GRj{KJ3<3Jp-lk)uQll
z;}vZ20=cCzcCnJ#YI)O%Rxh!%sq?A?2YF2HivEjOng--+ALT2Vo}-#}HGXBMZ83k`
z>X*53*q^$Lq=SxrNGlECk^{KDtH4wCYo3Mt7B5*PL+)y}XoFH2ktFy0gB#boSz8Ks(DTdZ|PP4iOZmb~IWb(SI4nn?R!pjcLk
z{|Kb)mbx9@yOspG@U0GD@J9%F@bq=4{Nv
ziAH*=y6HOrkc#5fBCB&Rw-0+
zVly46yk}<4Ojghq3J?oQW*DF8V`s0@@7Q^$j8b?80xe6-tDEP6uu8AMwRcxd}=srK&7)Tu9;i@#rWucBn_knn$m%TjrAHCBX^+
zXo9?h8QL*TzU<_($(zv%nJ1yca?PI|3c%{))L+y`8XX!++3j|l1p52_UTe0rvv!-X
z$(NLLCvta#Nx`xwdF-oee^|D@NQ^oO$uQ0ypE>I@!kZ`)9#+O3jpGOuA!F2?mR)Z<
znQ)}77mR?}<`wtN7Zn~^8IfmyK($4cc)iMRJ}nC}jSd+J5lBuU`^HIgbko-gYWBkm
zRAI`KkD@xh3rKRYZfHRA2A8xN{f~E2-L_nTTT$Adi%>yTk=3^;+Z9ivQw1FCJIO8%
zf~;mw>ezye_qHm3eXU1fVZP@
z>j3lKZ<@Eqa
zoE`E@7^+fve_6XM=SwH9hq$k?-V_A6^G4m)1kcxcv||8AI8;YZ-erU2)3MumY5h
z$wn_06^sG8{qox2q}Y|@$iR{9z;`O8Z%4uE)yc&>~>=&ZyY8%EWputp(68xN}uV=pV8O_bo&Ixza6r@Ajd#slOKB5)#;p}M9127JE(NceHCn2OVZ*q#DFurYwYq?}ahe{lxZZ>H03W)bUhabzRom-~E2d
zEV#*=^1Pa7W=ihx-F0KAnyCT~=YR$F0NL25ewSB&!>awLaJ%qX7CqvuaAS-5+CF|e
zanSJHCUX3pJ1cqYZH19XE`R#r-U+X#=!M8Cl`Nlp-!RR~AkEXd@i!Do2ST}FHPs}&
z@He%}ZNDESe~jA2e5gVEi_pbq_LQhZ
zzs;ijWY*-I9S~YN<`lYDZ1RU`AHQ+ZuhyZ;3cZ2O7!Cg@K!goHoif&63CuDTA^;}x>s0x2b>>xSU(X%4g@!Hv}
zzsawe6pn;2MiXgZXyD_2ioMQ(H~+vPdIex|XN?V|FN$mPs=P<}sluiMj`@4-FpWb~
z=zm*D>lI4q6~}2|zS%%)xl?I5EOtrSPkeg<*^SDuUk{xyL`EI{a=`h2%d6tsv9vg^$xP2ttVxNZGm5yu(C0t
z7m*MZ008cTCyI-H9Npnf?s>Z8U|ZE8#X))PP#V!p%o^6^V=jr44DN06v#%W!^-QdO
z3W-5Q2OI
z(W=xkpXyF{gwN1@wnf_jShBO-o*r62Wva&gST(T}N0L7jI{p#RCr(u^xLo_|c4ky(
zrI=^rr!xFn8e}j?*&zZyZTk4}^%HUIAWb^Y6DU%zatGE0dcj1j8oyp?Bt->PY7VZ#
zdCRIgKwno7K!5Y}etN$A)ec7zGaFv3LQK(J^l5HFKU{;n0=ed|Mx8Sl^BiVIi8^tF
zzp%uFU#YIPQfHhtvbdA3;7UU5P>CC#R_%}QBWcKCq$UZ?d+*p4v|}jHhn3a}
zvljPyO`HgFFbp!4+FmsJ%bz7O$~&AwEoKcgJH)Eo>+{>Q^C8&JCcVs=F5Fsf4
zZ9e8#QHo>mnV=c#p!o&j%vG&A-nZlScvz7iH%5j9$#N-0fdK@_7;1|9sury#wat8{
z;+fy0w{8j=svI`Mr201rhH}^wW{sisOEx=H)Ue3%P;0~A<<(PoNao^Ic@r(55gNg+
zb~HRN$nX!4md7^Ej3)fWwe-z|%r~!1t@`O9oE>ZqKDl|1Q4-fnlu94GuUA5sf-3W)
zM{cGF8t1ZtA{X0pHcR;M!8T-l?(+}wbPzu>BlgzJFUBsEAlA@|yB`e|$4
zO7wiffPDN_vu7d0((8ep&Z(^tU*X%>crKKqp)9AEFvTs#Y3FZkR8e_mPd0AgcZZ(X
zPYg>*K+JNAOEK#|`$EIF={*!52yEq>jdE~2zl4vE=WoiX9w+Q{?B&tWfr_X4RbF64
zlur++mwU2ekRboc!2{v1AE`q-L~Lq8qAGf*#B?n*Lf`Q!>?
z{J8L7$Diyh;ICmt`NIqi+Ujk?0pZs^EgO0iB*28qjwbxW2)!bQhl1
zE;KOw!nEC%1KyzUNW0Jy4C@~%CfUBM0-D%$Y?50vBy-qkvmr+ZK%y_Cc;ZMJimPYT
zEBRQTC)n6TBsShc&l5*Ba@&W$t6*6*G8I3s(re03c59z^F(k4I^6gCeg
zz>Uh1z1`Ld*&zfnf3zd
zR922&fujKxuAj$6NJ5k=WcxJ6NrzL{N7HVgErCLB6*k<2EfK-J!lgy9g6=Ex-v29l1;R{9PN3WPQQs;p$>o
ze)~5)zRsjI@!c|`=0NszH1x8&C+61?@W{K0M{mI>y)VuKy|a*pKaq3X<IC(!_(Y-;YI*hYo)*RIVGg=&fEk?rEJ0M^C0@Vpr)Pdi{NQ!?5r4
zm4}68ST8R`jNZ_&MXp`yb0%~qRbwjucbP~Cdg;rHEb~`M0sI0L2p4{2d)six?Ygu}
znN2hbWQ`3{Qf@gu=q(>W-Z_E
zO2;aa_jh#3U6iYAV#(VYx30N8
z2E{!QAp|{8ji-CQ@;RZ<-^V$WYgr9l;HU}eb25bkEtIYyFp(_Z@)b3LYm)$zW@=2A
zvyG+R@Tpya69jQ4q=4224dfw^!%lpRUnu`p>9~M|E?G^D`V8);%`E3D`uo^{Vef{!7C79|SG3R4#NybpH6XzMS8mG-uv6uS#7gDugp#3(4dNQ7#{|
zGv!)-kXM!uzd+9C?%b-+n5nZD7uJ73w=3oUK^Y}OtikvV8Ek{mcBdp6{Mf>dWfJ^`
zQtddNOJzr`%fnricFt6&ZzfN@;_(#L7n|Q0lCMyLXgdhNxL!KE7vNIOfO%$
z-&Es6${?}K*JqLyXvtT%by@Km{bR9f^74Wy#F3KYDhETU><
zE6FfcS-R?tg+Ix+h
zUvW$NIAkE|*9}*p_0886&YR}G=wpP12xq;vj93~SH{N62jTPhPF
zlk>?Dhs%ND!^giEOG!v?_hMOdrC1?VYv|J%bf2j;_|w`IJWlnGTVpMqM}I_M^1b(9
zXa8shM;q6qD$TimL*rrR!1-(m;CWEs(HbHnfzXx`*2uxm$tV*YWq*f9$B{?Z0LPL;
zVU+_gdTD7`@gNMFm{SyC3RwSdz0LX+h3!?ZLdHS^u&!HI@u53s^wSI;-ZE0+9-Azl
zQSD7}B`t0-9%PFQG?6$J;mP$iyYJtd)+$jfoT+y{j(+l8&Gy!I69`6N5GsInOu3CV
z{RIH!8BJ2*+@7`4e&YS_#4I8TnAJ&j=_Qo(ew5#pgNUayu<
zXLE~=c6W7~arnk8*LQ?U_BNH56i!6XGgQ1xj7&Cy;sh%J3aq+ZJb{jVff$g5k<(
zE1-si0Y_PEsPhtZajc}E0rS>MH`5JcY7DvSv(BF-W>uiV3q?@yd&+W
zQkj;a+ruhhVqA~d(5voK;Fli=vMaxqz?oVPR+dpDEE#8E$%MGgIEOg#dK9t2xP7;FF7E3S3YPhE$4jrhe{r{`Fdoi
z5|9;_ah^MbsA)ZX=+WoFBgwC_Uvz1+Od#v0G}74mDo0bKI*d|^n5F)j5@SXX%q?kxlC}Yo?Gj|hFJ^4Q6$ClO)8(r+bR^U;Pa78*6
zF5?~YTxGk7>71+PYOm2e6inQveBlIxQ~&UYV%*x%W}fC5Hy9z#pF+HTp7igjDH_RH
z3^UnJ+dbfSc`!R*iCt5R$0x4O4Y=l&TDTf*+j>{vwNChWqvdIo%W~_ufOdLm26*|D
z6m(Xj+p4?;M+A3`Ch`xIx|CDc^ITRETQQ{ZNorxLYR;ANn%36bjUfGVhNcRIOJl+L`#Lm^;sCa*s$#<
zv{bdsYcVYoe4*Gxbf0aX&BpW#=Hw~myV}e=RaqELBwAviYx2VTd!g_r3F^Ze41cuS
zsWE(>&q_2<))ya^snPoVsr(DF>xc+8WuK*(c(?e&g}n})Es
zDM?6(fM?htyLr5~d7Oc36>_$T+*#@%>|MIDE*!=a2PVJ*k`
z+NuMi_RRHj7+#5`0TMED;I*hI18f8iG0=IhqhI6;p1QM%eiQZ5_+xCX)zFdYXI)o@
z`$TNcXkIo+z;cUUvJrdr4?vYt_%W1$CsbE<5Q>d056nZd$D$f*g+b{`!*-Md_{EA=
zS&kfWgw$F6Z<(7)NpPpDEUP(fc8*o3xF;d-w_-{HZG4j%{vqUEM>U*(4u;p7$mFxB
z3bvDk@_&aW2PdNv23OFye$Lr@--={!SnJ=m8F^%uS{Q&+##4LSzp`#042SlAP(;#x
zcsJa)+7FL>CvQql;`L;{Sv#q-WCWc=I{w6ymsiHR(WnHF1Qup(!e4bHaIDnWc7Ol6
zB%-}7pgNryJ+bnSb1;h>lL
zgUUvAR%2hAl(kz`Hf5_1hSv1ESof|7CW8{RB+8tURQi_mSUT&aHt&-j7f}-0elR@wp*oi7H0_C&Ka+qPSY07qhb>d_OSP-M4%PgE5T)RTX`p;
z>B9YP^UoD-^{y@Tw1>pYZ>Sc2e@IK(VjZ@5fgr4QhGm_~x>p&Iikoq=$q0HXxE(I5NGj_^ri^To-@h*Qv;-fU>1qd^g0y>^y$)Li{;rGJ(^Ky=MJiTAgY^_-$t
z-jiA?ocVa2Iv@vmLPkgCeva>H-uGiK^-RU&qJ&CtOWt1w$m*9QRYWSJ@MsS~!
zMrVl{?8%HEoX;(6J0`)bb0l-fzOw+u6^T**rp&0flv1Je+McA54=Y|Bg6S7N_Khk~
z)$4UoBP8kTNxLN?;pVWs@VT(lJTbPxvZAntm#uxa*}jalenJcl`N}U2x+w8Etl@Cd
z6>%EHUfR;Z=1LL*WiU?t&qJSHy)e0H&;^WbtOByx?D?)8V*RS)NCF>oO9cP>J#EcMvXv)#L?-^+?k1xAwy+
z-FFKc9p5|N^Mw*{`rLb-svoI;y*hp1ySN@#m50-e!pI$5B+*h9A2i{M3oA~-T1l$G@>pa7NA0l-Cq5+uVoBYC;DEj|CEzT6=)^3v>qPGcYF0wYqvWpJO^346D2jZq5A67_9q
zJ_H?Y5}Q*CcjqkiG0%ZBjJeSqS9h`
z#RC5$1B9s?*=)XNi|&XPXd3IkS5??0Ha4FUPV3-tSmmK`1o~UxIi$bLWl||7es^vauD&4h8yh(?
zGa~nb`D~|bo>%ScNL|lX&s1~sAAt8&cAK)FJP}w6@p3B1GJm#fBHULB$^@2J@*GA=K%r}*gVs`Au)Ks|LZIQLK6Oczi!WcQA?1xFXX6@pRhTYUCkrC{
z^B-WT;*niJEr`C?s;*!1E=E4
zyyLCDCSG2X4X4S{=0V66Ii+g2@VdKsLx#hY7@L+D_9-5JYfJM&k%JgK`7P$lQMd(y
zV+M|`ydy6F@XDEai%f(2M2Z}A(96Oej*=Ku21?eV+3ksz=S-7-&^_vhMK#Pw1ds%O
zN5Gaqm#P%a8;_W|);cm`#~>>*1*SybEz*bv4k$%!7SaaH!tus4E?%|EU&t2WXmn6I
zGhB2`*pt>($ELWRTlmUT?O)dqc5;BUbdqhg6&7)pJ1tzs%hMNq{|&5&X@RrE2$
zTLY-m(ulu2xL+Xhi#BK{ayknkO3pjFEMk!_#-@+%mktNWqg?i3U87c)B&DnQRORAueVUW*v6Y3IEv%(x~FdcZZnI_Vv(^{)JBVLMUBs2_Ou`0vvqx2WBo!T&9zJo
zb|kM*DU{PZA2jVZ5!L$(>ryTR{WyokFL$7>O
z;!8@84jUlsv0qBmrq5u_I)?noR6B}me#3#m0nS`lS?Y>j(q!0JeqSZjQG)6#dYVZb
z^{t2LD~p~K%#D?n(2u^>Bqa^P@qLmUDoPj}T;u~-M4YH^tw0k>x*PUZ{W%jPVJv`GFHGM^ZX}F0&o>U57i<68U!9hAAH)t+;mUX)SO8S<7GQSn
z;Jceigg3NTC`$gdQFMrYYSR7@>#wtQaiHR&abr`{0?lfsEs;@DaiO=+h(%i5U%O`h
zCO|A3yNj7+qU|6IE)8Gycy>?Vl^F-TD^q$ItHh3eV=Oc_V%c!dJ{eKJbw8*_CFvJWRd&t`!>S6(qbP^t9KB1FibiH5@w$}{+{W{Vo=b~#r
z)H-EFUxH?JHVKQ|f5W6UVP&-XeKJ{bSe&nz)gIw;?o`L>odQKp+B!~SM}Bk6nPS^3
z3i_U*81gGV-P%N&uBV7llFEznkz4&3Y+5q4ykD!6YRZ17E!lZT`?Kp5MWG3p$glFT
z2hm7+td%c-Yx9eVOqs}iU`!>~AU!Z}AHO8Z#{-o?sRTp5s^qV{aW8_dm8*5Y)DA^m|Nw+A4m
zX;N$nsybQ9=J%zSMNGx0|n)Ex90Ec~gdk}Q`MW64-pL?gN8_TPw&CB9MyB3Vh^p|DSlYJ;RO%$b8Uz~DX
zvVww?jBZn{XC^Wlt*wdtL0QT
zJL@F59g*jPewxB0)-odz->#@*)}Lgm-ml67ot7#Xwybsi;rUw!yp@!}y%k~SscdWZ
zNhwctdra(Ltx3mVCZOw|z`~qn^i#-^;*-uy3Zo6hvG|M7E(&$d7tvl@Er-64Zkcmw
zMVkk*@8_tzjU*>^6v?Q&sN{~))cCtsfG#V2Qq~i-tfbzm1Wzkl<%2k6e#5s;`l+j_;
zvZA@{4=H21yhXvHgJ8yvc59La?XlSTRrQ!mVRiB$@Q1*2ens7Zmwg=>blEMe?0RH~
zw5hS4L3&vuWigKKdp#DT3Fo$bVvClL+d&X_W~XrS_a{h~Avm<^BEXf<@Wif@*JC+$a)*CTo=06o_=WHv}bjKcJBmANdKDZxy(<$x+W7hsYa{
zTm~lFN_|(x#`zO81??rL(6kvP*VQbhhlJKRr1|#tB&FT~q+;c0t^N=>IJooX;@CoE
z8r~r_J^8&=y8|M|VP_^Jl9x=Z-Dlud^|P-<&%s$2S8qj&X=UATnWBdJO@
zlTn`}IjW*u0on_Jw;iyN0pd5v4&BixmuAMiHiePxY{INfj;{AHa+emCB<<7}GYhQB
zZgOv5mB&8nxr?5*OrX3q*C2IP~<4^F8z95{JJCT(E40
zR2ibOnXOQ^smY|xX*UmbF!E8lCAS6
z*r(DVHDj~;QSGg@8ya6vNw~ktTu9_)vVW9tjg$UA0BOsE8d2>%rktC01y}33{jOt*
z$1*|PC@0e-k>;<3Lv&rWd`s3X>N(A=I#$l-BnDg<5}p{!$o)~VKL9-H^2sEV)YLk9
zJ|4Zl-249ku`Z_feVJcM>@8zUNm7s@Xr-j20R8S9_F?=essbyyI
zssg(ot=z3g_+f0%haXjH$giG-H)Rv}5mB3m6g8|TOLv|e-Xgb+)f_mX`0``(uX`@G
zm3WvH64fOEl9bK2NKYizd5GnC10$Wi@J0b0M{0DvSobHUG|$N@u<4ysrf0`geNz4U
z)KpO-9mzOxDE)Ta-1843u^IHK^2ka`i2)<;5&*9TmB|q+kffuP9LrJI00#N=+NsN>
zm7Xce`p)Av=-r7+<+t10a3DB7CUB>qp{*9+ZVZ^1|
zlkwoTN!eZ_sRtPAwrRhQ7j)P-TXRYj67-~^-q6l66|%99=%mzY!=tTFaRxoRPd{*T
zP3gx|B4@NoQ>-~W1IXKBpeO{D5%4(J)Klqaep8n#C5Z|=jI^naf!#|ysr-_E8j>)~
zluFi3sJSvPXST%Dyh_k^TVzpmip*%Jn8JYwQgU2)k`BNnMCZ@&tM^#_9Q0MyB{nx6
zu-u#qQ(>n|s9rkdwVdE&eUdSsm1=zzcy#8R(+=v3lw_vwb!>Yw9NWT=)Nj5y&J=d&
z6HmNRK=B_1$w4*7xJe0+%UaH}iw1=ei
zkrJRvP)u1o#c3f&0Z387#(H6W~YE9T4Z>M8!fdCR~tS=e$L0wt#iF&Ors@aBl(>tNYw6z$;+Pu
zQBiIpYL;}KoqAe|RV~c78NTXXI^)Q7KOx?wrm0&s2=`=mTN3oTmsv+#x{r$=~B$1ApL_fV{_3ZfWSy)^mqo{((t2>+buf
z<_M@4(Q`#A&tsjhH6crLu4q$?t>cdhH`-H&%bbk-5)X4%F1yv%?H8q`U#_J_BOIfZ
zA8lns01^*;pW07DUDYu3p%{A{J@)#xIs2TKZqgC7cM^3~svL)9u>dr~Z#<9`dD4}T
zKJX_HT7*;;-;?u-`;k$9y_$dE<1j|5yu+5uPE3qFy4
z*1F;qn@nXAO5Tu@%Ak@EfUdlyXJUN@Po63nX5+4&ocTnSBt=NyoMm_&$p8a@KPrW(
z$z>u)I7f*~lFhbUgA!S_&X$E-iVBc9JU<;Hs**YqJAu>76#P0=Nle(a<%p$;ZB2*F
z7TlPQ{*p7Jbgc>pC|EzZ?T~h~jN6z@i$0`NYrDc35?dHd);b~JJ1g#}c2LhkDm}as
zIVA9n$A%tSfB>lOan`i1Qy8~fx(^-0Vn5AZn4gzj`bGR+Hh)F)=LBH
zDYr?IWX}U)wptnR$Muv_52k4$9n!-loyri;lbW@s7iV5>YH^s%xeW&lMUpw$Y<5vc
zMX$Lk1P;R#`N8c?tTq0!Yfs45bFD~Q4mi@IM{fk6XOtl!AZ^TZ>C<|)c*Ud>Z(->i
zJ&C6wU1s4joLe07LIP5N7&s|ta*PlFC#X5jVSEYD&uCpjy+eMFI$YM;TT!9GilyV6
zV69Fol_PA7XYX!%R)X0SV@ca%$za^LVXjzVPFr}RJgGbK%8W6O>jHmeIp}RSbhCxa
z)LNQl{^06BLX@sX8cF?BX9S$?Ps*G1MblC1H=DIR3Ra%e?yL0P&iWjcBL`%yNF+4h
zo(hTBWMtH`-w}&^R7YUAP@bxBWolQMB$7|;@~YO(J&|)yMEl5bDkrTO72}^;$C#R~
zUfNguYP0)Yk&D}Hc#c}agqFa`b{fVW9~6u)`zESA5hSp~_IKS2dI8HT&+@U=x)wb*
z1MsW%cB`_)ydu*kNir7VW4J>_Otj+1xZA7yDN?X-l6UV_HxRg8dbHh{yl5r_mReE%
zA`}CRq>@zF2ko|Ua5|?uRjQ@N)>5`9J<%CvCCenYXGU#qTb@x|#v2(eDE|PiK=S=y
zJ~Z(e=A_3%@tjMnIl5dy$UhI=S{6IhYqA!W(&Tx}OE>t%#S=}4?>!*cD1fSpJ{b5F1Q(4AESRCb5OCYQHL)3>{Ei>qTT
zwo<$Y66#1N#2DC|a`}VJ(`;5pQ0bDkYRdfgG&DU2N*Ou%9(2l_U-OryFiXOszK<*K1^H@RiRVLIa2-VB^U79-|)`#?@#o((^vX
zwwqmEr|36mqJx3C=qi#;ydvXxSqcHF+eTXTzY|e=yy>k=7TppQ#l?vo#z8}X0HMsF
z3Fx7@2d_@l<72++3tp~Pk=Ibzk9REi@uWvkD3Fc!0Do0m;B+8?TDJ6?tFP4VW>?iI
zvd>KuiYTJ8O)#LGQ%R7M81rILD;Yl0)*;N8Jn^{{UrqH^pWyg-Fv{a`|_7eb$)R{{Xqn
ze7kq4qtkT~{>DWvp{HNmiS6{_$v@INpZ85u`aAys%GS~U09F1br1!|YSx%apdzGi5
zvuh2j#JA@%14JCGr#Z+6L;k%%%gZ3*$pTos3Ni3ILPK3
zk($JU-Wng$~NjTpJrrT$6oUa2nvtEkvVdWSNzbz?Yeh_icq5y1=3CZn`I^EIQ
zR&Nm`c&>QRbbD&$aqu}^xDnL|?h)pGLww;lT(Rz6$AyKW
zf{>*13=$7FP<<-Ti4}-ZTa6KvGQ(*JLueQY9)g%=M~KfAm2S2&)O&r7%-m+!X*f%3
zb$sXY13k{$r@@PHh`7_^wIzl9rrk(V
zPsslOoYu`L6!^`>?n7l1))>!W)3%EWT^4u@#V(wzqjIj}B=*nBo$*22r2>|7l-^|W
zBp{%%6nRKxsSGWd4I$Q6IaG%d3RDkJLFx~cdBTGd0|A&ZnT*iR5Xu4u{)1}TBQ%tX
z$tdklfp#YH(dF#Sc>X_t-;a!VoTHl`9A>?#X(=3=1r_W^^&XM2>N1tyEzLgiMiS~t
zLx6b|B#e(N=C^EiOLdALvf3fF6^^AS2P!*mNy$Gta>W>_UZTlEW0SzeOcb{z$h1*K
zKuT7+&q|2eHr+ln^~AjC*vV9Rs3a0lk&*a~yt;YR=YmV(9;Lt;Xe{ed85ACnsGj9P{H4})d$lOIH95KtJ8X6cBwXW
zy0ylaEje2$QO_Cgk;b4^<7h6eqh9lq(i>^T=}V+Fg+I5Sk_H(YH2P81W4
zRbvV%`#YY8sXIsNy;Ohvd95bQV2^qnKhd;)Km`6Mtv7gUbA+3fvrOt2t-5;V5GF(A
zDk}*c0nSc$&f_5992*!FgO0N86e46
zvf;au<7rlyzv)>##miL1?$}m&f=MH&^3HR(?_R7y)SAmzTlEgIix$}m)ZZn#*BFA9
z`e2+B>E*gczzXU2qt!(^WgO#z
z6#~qi2gW#-#9tY{H!949NSn%$;H3y5DI^ns63Q{Z*;0KCIHTJ*vwU5q*r#J?_-+F_
zco;HB!40G1`F*3<77Yi&m-R%CZCoiDdrP`W<#AobDl?b3Mit03Mo3$&;n6LeCcQaqL#6w0P8@ap!`bK>(hyi
zXR*gO4O?=;Ai`{O6cdmgSm}X{v)2Ud0W|nU&EXA{lvY^D#QD>8hNXqWT{P+OrI7XF
zLJobFI3Sdqd4dTY$x43pU-lbROC6dOuG-LM95zzRO^(S(z~8ysbLUX54Dj(f9>(+6
z2ZY^8a$k>fn0G5#B=Q5)q!NB4l6wJ<81)p$kRfTi6Ut`$esITW)b)(O0KE3yFq46}
zIUtUesazFt!J8>NW-OgjyXD$@7TkSN12k8pZB
zOP?JoLr;|ckpT4o^}+J#TK0QvTRo~Jw%*@|5-VY*)1Je*^CaYx)Yk5B3GG?7Smi96
zw9yzrM2YcIB)tVaAiFe6O+fbzSN)}0Q{{XlM`PF@_FSlJUtL51(R=CoZ5grAm
z;L=J>txqSEHlhX;q5)6`!ra#I>3e$L51+b8g;>0d5cTT>?qZI8KXSS-;r{hl?d-jIePrv&v<)_&5|dy;Z<
z*Ltk18cNfzevta5%lvgpi)3avX@a5n4{
z>IK-`xy41mxFkB)ija_!FpsoCf{qT@1o{-xyv^jTsQM0+)%rE9SsBQ88@=6&dx_*!
zNKYk($lPF%o?-|)f=YJS4eAKj(Z7d?KuV#{aYL$=F+iRDFh2@uv+xq~r2hc;lZjfE
zSQsG@Ut3`(;-Tla!DMJmVV;!L0*4
z>I(-9G*yNgqg%Ayw~a?7%oKSdP>-(RWyQJ&}X
zt{xRi>o(TAowTe~Lv@UC)VKS7owd0-=<-@=AcUtr^NRgcj_3aXGv`(B3v^}6jC#RZ
zn^QETX=qLqw#v2-5ONw%r|Tb(^vj2wH^1?I^wy)+h1gnY2lOnbDKDq>8XZDT*rErV-9E%=k24Xr8sv*@ijb#PkG9I7&zXM*Ez~-L)IG8K
zNo@DwTWxPYIc!F^$84#^I6_-O5;rHd02Ro5N7ZvU-L7NVtfA&~t+~Rl7>~Eq7nS5l
z$Ur@g_{jnt#ZE8XxQ%cTr#S7qP9b2T3m91-edi8GI=s38+kMN9lGm{QF{)!Z+NpZ;_Cl#)4
zOVjszW}s-SCIh81c{-TRVJ=_}qzou^$1Q9qZ-d&fd4x%2ao$fePavUS_XH994L1Xr
z$umaF;`X@Jj$3YxM}uT>wqq$kt)Ue7nJMK2l^$MiQln9R4O@&pHd@88=iawLlA`>_
zSS+W)N(fn4C)@;NV4Utd?N>(+Z4BMGTWF7LTh_NBzP9G7+To7#?=+$^TpR8%N$cxU
z*mj51h{%+=FO(z~J+1Y;3i^d^a7a1agP)Bn)F`ZAiaIG-^JH_nY0D((=)7r^eNA|6
zc{3um8$^WnL(Pl_5=U|}HXx4gjx^bIsSYJ6aiBm~kUdAkVfX`HF+v$=Hjl@;k9sa@
zCe=5S?S@uI$CTstRcTGl<(AbdwS;ZglZi=RF-R%^r<=YB$^C+{x4rFF__8yf6{Ige
z5D)m$uf0dukt~`nTiGj8kfoz1BqZQgw3|Z`8BckfT)4BH)?5eAnCiDs3ZwZMq1eOWjsR$xv^&h8)%RgCsp
zc~lQWnquNDhFmMGZF8nsF5Yd(%)AsxS03Fi`?%-lPbbVtIDcQMir6}va
zU5Pjw@*h0a%c?Irzftij<)yTCtAk^D*8zv$ZE(>by5h=;uv88J3TwCCspG;aTPEKn
zLw3IF_BiD$Tv&8QqfAApFk`OP@=S=pB_t^FoG9{z1K8uJ6*#l$>#n}y+q^*3nquc~
zwAxxjcI#}0Lvmy|f=Wt~q5uGuDSNm1oV2Xv$!r*aKN^u&wD5AM)3MzOcE7o9kPHadxFMoA=d9;B$_u>^sP5NdT~
z*6X%$qUmXqt{l2)i*2P+rMWRI0L$TMNl9C6pb|NULDb`@IE379cTO{>$2
zB(4fnj5#4-jHsXNjN@Q7>yuRV(5`g9SFv}eO32*3GR4JLyg
z8^UCvYeL(E&cvK9WVLQUPhWXk_4iUdhH3#0&8PVLYHIx!bej&kw>Fj}sh1RdH4Nh@
zC+recf-rNCbBc*-4F|=(CTd@;Z_ur*H5tVwJXsRkRCW$hL6aw&4LD>aa3GN$=DHT@EsHs|ja3jWh1r+lPxW_1%s8
zjlI0`-Yv=JLXtbH00I53Q{R5H>to_Jm%KXLQLboh_cjeYlG)FePT4+Lt5-vDQq8F4
z$g|xXZp*2nI9Zi!lCTMJB!l6o?BY%jP4VfyQ+#xK#jQ1reIcXm7UMmKd`qR>sK^DN
zI<^)DPBXs!aGyHN)b!0flbiWXT`yA9DJXX_<2)%#(=o1)5zi*mEfWGr<^?0EBfbs^
z^aiY$d|=^A)`;_@Ot-~bhy`(%1!{G*9;qQHJA;vtw~^>;R3rp)V=2Zr-kBAowCbNz
z%CTD1;*Ls{6$dB2#AEWT%@0$Cn!iqKI5f4rGFq9b#o%zA$Bq`lcgBp%@|1*}2=>sP
zZlABqzTMBANVsFhTR#wQ&RVqnmhjVTv|VyT?KXzmPhfdgcPC&5d-)SoPZN~wy8Umr
zrb*Mc*j2DsMQ
zE*;NbYAdFhgC-W6n4;?~ypWtZk(_Qo8Rs|$Y=Ke@6Ky<4aBAIYa$V|KaZREchbu9N
zKWCI2c^nP5-#M*290x6pPlmS28)|duXk!4RFKl+lZM)MxCKH^hk91EREbEMHeoqVi
z)@6jBit0X9E!Pv6$C7_u22$2QyaakD(-OxJXeP-lZwV
zdz!A^x=PcU^*6Lyp18h?dyGH`N{SHr!ACN&z5r5=+w|$wNA9+ZozCwE+GNR{t*=uM
zw6DZG%@Rfq-7sJQ7HP*CzhN{{VWJAsj(cAZ1bHtR|YZN&2>N$5er2jRV2pGdp?uTSv0eYWEABwjADTZYR$R_c;}
zl;u4FNhdyd9dT5yos8^D3<&Zw;m87CWKb4lB{
z*8Cz*!aX*Jl&yEDQW;?lDB9U@e;~jaQ|j_kfH?9Vdt=bVUb(ibSL?}&hoYmT%7zjKMt{OLo
zu*PBYqDiA1>OD_)
zjRF*OY0F~Q3QV_@Lf(*(?;#24$dFD+>)NXwXK{tZJz;9o+F#itGi_3uO~LF2T2a9v
zmi7y91pA|}UYnY9Wb??`MPq@phISbIM7~M-^~JMoxAHt~NlJpACp@ZoeY$6psr2f4
zDINqkz#$1{GYHuT7)lV4&<=oLQ&y7GcHJpuYT0RMhSGW6d1o#@;l^BAyQuzK0ZklV
zyM0T;i{z9kLHAkqR(X2!xORkct0mMy9r7o=7xQk$RA34B%EtC>A%9GVA
z10y`AZ_2Hhk{Ov5sS%t@tU8diIFpc|M#LY&s_L{>>0kPbg2ta&UZG~TY*JB1Dw$|O
zN=_*$h3#LbS$MSN_S%;ca7VNwW96LfQrA@M&ef7R*%*CK1N{`romZ!nKu!A6N!tQr
zWRvJKO6I7rHb8RuYC^ia?>swQAXTt?JjV5T#J$YTeu
zN}3ePL~^k%#Lrvt2kQHpbl#DOZ+f-=0CBjj4rb$%_njc)Zn)?=s{^dBgj_NjQF1TZ
zj!)LQ!hgLgYR*GI{{X9RJ%^qKdH?{$Z17KqQFI29j@!&MyZn>~E)s{lr7Z8r75b^^
zW%3L@~-6IH3%|#;~wV_>VwZWe|C1b(6e$=)-K7=a!
zcY$t7{?D~YLuFq8PW4J?iNjdxYwoyl=H6}fn{~OQtSM3Awxf<=)hb%DtRFukRPqo=s%8CSs9!wKuH=;`3O{uzRscxOFg`$ZrLx=P=?zY~HjBD!?aWpfdQbe&tEgr`
z`=~va_jk{7BAtrN!EkFsr%z7>e6ZKs!P6AM{3nAd2-^3PLS=+yc%UOJl%vrtG>x00oyF&6B1
z4mUVaNCb>$6;ahC!$iwf2Zs_js$F*5t@M@ID`~cfl>uvT;Vr4giAs+6#!^Z6Q>O;3
zp}TtTi)l@^{C42m60wCM6M4eA3>Owuv*(daF!W;@i&wJ|7u&_}O<5i0nB>?Cu!%`e
zS0cD@q4|(E$Gx7_W>%%r-x}>~mu{Ypc#_&vE~mdLh7aw?`BN*N*(Nf`?v4gdCGp!#
z=?Dl-x#V6h@3tIjGYcH33Qsar;=br0gN@a=+Z)#@aTUE~sazVnRkZPHO8F6l;4t4*
zgrn}Gt~1o+p1C`Ee?w~My4vw+({^TVH(N`-`rHkkM3Q+{65_dVp@Wo2qcw!3%3;zymP*uAk`?wAlCQdV1a>1Hb(z$(x7`iN@VpwmH&sP5
z*q1NKJmLl7RfkAiE>`xuSxlgEf-;nnpgD-|jOXQ4#)Y`(I8L2O#3_??72#^-_=DH-2C8od_i#k#ih?pf;e%28Hs;dmw&ZZzxda11R4W)^#K_XLnR
z))UkDMF52D*bMEltzH30u|KQtT3d;h*cS`ji5?_*mo`%SjyM2GZ^T&UIRF&zgT6Y9
z?G71nuHM>Oi*khfV`0lB1SAfa=19l?0BUHta1)95+0D$l$h4|f1|3|ERVT|ODDC)p
zZClaxcl_AL?qJW-Q2BF{qEW;BBVxL)d9`VHF%yM1&u?umAn(jeicuKy!c&3V*R98k
z96YhIq&ccB2|@-rA+N{BZIaMGhAW+7{TFqdxe9jYdb2iFxmb1AmQLMrf!o%f?f(Eo
z<&~t|HE0OmC}Ixht}sgf0KoZr)WvZ)<;5L4t!A4k=72tRN7A2QUW&
zEa%}`=~`R?Xdt0LDI|Fi2tS1;ui*8Uhx6^MK%Y8emsrx7f7(hyLO@0^5(W-c=S-R=
zN}tnln|lI8La2^_bA=$|ABHL$3%Y*8?K5h~OP!}DHpwCMAUxJFo^%kQ`!P=d=9g|@
zagpEG&Z9+!xHWCF6LGf0n2)m|q`8kGM&t3%;afvu50yuBb|N)#v=RZg%2H4>li@Gk
zLEqwPLz-43c|@my?szO}t9Vf%i=llW_DiS=$DqhHW>rPPm(vr77szCgZZH{?k0Pd&
zP_Ld84O@n)-SroA@8!S>@V!lH-(tB;lCD-5itCOO*aVvQsD~3>LvSppxTv?M+_|!w
zqnOw>GEf!dg5W?={P(6sWs7eSB^pVmn9_Duq=J{x36SDXRI89=d}+zSTI#vR3Ovg>
z_#g9%+HFEZVQn5{9*Pu?mN6$D=Di`WRU-zlDKrwMk2+8@S@Ie&NG?oyMP!uw;}oeu
zC#8F#Jfqf>Y@}D(!9z&u_`0n=?XGxk+j$!RjquEa{Ze^J&q6k-=IK{m$3iPk`)iMS
zw9d89KvY?*sh2#!BdGNoABYtj;dRPXy*j&P(OJD&9yaNm*~+;-!<+6xk;-%5dVA(M
z@`xA8@$Oc-&d8k=s}AAr~sQQLDR8s7HuQbTHvz+OS!
zcs={^t;EJSYSZ?}8=9_KP#F=hc#2czpo^jc?
zkKI@s0&opjuFcC2xn6ME{=@@Xdri{(h?;KMbC-XB(2?yH;G*LR$lQd2tPG9z!BF3G
zmbh`XRi@}JcG!B(4fyj1<(Td`w*t1o*dHUle`QQrx!yE)5hLooJ8p7v8fZtFz*aq>
zC#psPI{=NqJAv1Fo=N&fYDKc8$Km>;r70>alQCSW0B%X})6?TtW7wr?d!Gd}4koL<
zUL&=tqHzNCXjTM-pgdj~`^gIn2OV&F^vLU7BgL&Dt(?;KjXT2A9^YX@9t?(1=YaUf
zKwKvzC}$vGk`74+6;03jP-{slU$R88#6bHg3^=tPnO;93^RAK9SKGz2f$}et9uV*B
z*;65F@X~xaMW9IKAgAq|W2HER<|KU`HT(Vx2H$Cjk?yVYGa+89!B*b^QrkPak3njC
zW|P)N-t=kA=HD&?LR!yGO_HAb9f8RQaB4Ew5jd+R4YE=-YC*X?hFNdfSqGU!j?Lp8
z>P2$2>-|x7us5uy+a*S`N%p4aHjY=E1f-PU06ysKIΜ*Gh?2<7>yUp`eB8YEVR1
zi27O9b#yCLp6>OsKBIYRcuJ6_;g_;8%n}a7s0@%m<{i37wC~aX0EqS*+$*J$^{mYYjCERaqXlPZ-a<)5%U$(#J&)$8olQI;^dizA5TE
z`#KiGspLzK4-uW25hVeX0zq4@@`dC9kF;})4q|tQrfSvoZGGZP)by^aH>JZa30eb-
zw|0~-986*gSJYdha&nW@1tcK#*c|4Y+Tj!!GJ-W%7H^Kr04Zoq#70pavKFpz`E*N(o$5@NomP0y!TS`tHI?NIp2J22HSH)%@M@?adv+BKTF*myhwR3
zB21MgGFu5J2up5b0C^uF>zy+wxOHy`IAc1+KkD1uX77q^OKNnBzlxa$Wx`c4h;U7r=qfV=zDFP)7KNY3ajm*okgc@vEXVj(p;ZrZNON0
z&;eRoAdXYlrUCwm-n{r*b%S!!?Kc7lwyqM4cj1iwiDR!_&U){^P;-s)ddq81h3;$g
zbiHi9Vq|E=WlS2&Qbf|$V{n>>90kDBZMHq-tb>3&wg-PoHNT}Bk1#Va`C~vH6h|ljj*W4B%PXCn;ZNR56-BY)~eQX
z?6cydhMJ9}$zjGrrH79%GDr%?gWEav!K>fs{b!M3;TE2SHI=b1!*S;uaV08Aan-B>
zlei!#50!PjGf!<5xY%-?Q&C;>PPdYW(Ki+w92Kd`7w?KQ_*k#J5FvDJffor8^zLH~{(;)xX4j9j7if+4rf@oQFOn
zb;vWIpAF&=lA;baUc;dVx$f1&Ek~$0U3%8*xk
zuGJ+alv31YJR5eHldrcWYK>VT$=8WkbsjH9Q=EX2&||RZHULzLp_*QFsSu-^O~sjR
z6oBo%W1jj?^cU9|J7+s!ROR@Sq6CYa2{2tda!5`$^ibIRLB=Vw?n_=0;PI_%ox&}$
zF@AH&X}*KaN5}!x{{Wq+gyh@Q#ar~WCEX_i61Agf>~!77It+Ed^66HNgyCc>B)0DQ
ziR9jI{Ziu7`Uu_d(hqUwN8wCzQCVc1%Y;Jomk)0G#3p8>OZII%tSJyv?#Yxtrhej2
zm;QBl+HH_**5;sEVlxgKL)>MQ@`2`kPjXI4J?nFFNhf+*uPYqCB52l;TX8I+e-L)8OMT*gYd~eg=MMVdrI+2E~lKr-LYKawP*k~MBsh)IPCDbR4%x4D%}UAT
zJg2!m>9V_wB3S9$d1mERoMKw1>a7)GP$n~y9k{)|$H7m!J{cyadXrOIw8g2*o$gp>
zDmDYEomc84cRPH#oDJ)q-MzVIyGz#k#!R)(mZt@(*0qljwp4b?dL=l(>D#$A9v;Vz
z@38(9mU}Mbzl%D#8edMj+YSM9mX$QZLHCk6730Wy_s6YRA4V+<=8n*w*KkLLcD)qJ
zb+rsB4S;+!5!WCoNlv7Ph5TD<};fs
zj+|k)Xo#-cZ0l-fs&%s4ZKDeIPH()kz7D{IcfcfL8MC6&tu1?ezU2*esp@Rch1lNX
z6_jyHMO|zsvP_D%9+#bb%
z_K@QSifQ*F$GO`d*-bn!co&GG
zO|DxqnLl~8XC8!g2jfl^5Y&H0hayaNR)Ey+Kz{{DjV!1UzQ8(