From 8a6f6717039307935e77d8a537b11ea453cc2377 Mon Sep 17 00:00:00 2001
From: dengwenjie <775747758@qq.com>
Date: Sun, 29 Mar 2026 15:28:18 +0800
Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=BA=AB=E4=BB=BD=E8=AF=81?=
=?UTF-8?q?=E8=AF=86=E5=88=AB=E8=83=BD=E5=8A=9B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
README.md | 2 +-
all/pom.xml | 4 +-
bom/pom.xml | 4 +-
common/pom.xml | 2 +-
examples/face-example/pom.xml | 2 +-
examples/ocr-examples/pom.xml | 147 +--
.../examples/ocr/idcard/IdCardRecDemo.java | 216 ++++
.../main/resources/idcard/idcard_back1.png | Bin 0 -> 1020634 bytes
.../main/resources/idcard/idcard_front1.png | Bin 0 -> 427474 bytes
examples/speech-examples/pom.xml | 2 +-
examples/translation-example/pom.xml | 2 +-
examples/vision-example/pom.xml | 2 +-
face/pom.xml | 4 +-
ocr/pom.xml | 4 +-
.../cn/smartjavaai/ocr/entity/IdCardInfo.java | 18 +-
.../ocr/idcard/DefaultIdCardRecognizer.java | 203 ++++
.../ocr/idcard/IdCardBackParser.java | 335 +++++++
.../ocr/idcard/IdCardFrontParser.java | 930 ++++++++++++++++++
.../ocr/idcard/IdCardOcrUtils.java | 68 ++
.../smartjavaai/ocr/idcard/IdCardParser.java | 15 +
.../ocr/idcard/IdCardPreprocessListener.java | 29 +
.../ocr/idcard/IdCardPreprocessResult.java | 26 +
.../ocr/idcard/IdCardPreprocessor.java | 227 +++++
.../ocr/idcard/IdCardRecognizer.java | 44 +
.../ocr/idcard/IdCardValidator.java | 79 ++
pom.xml | 3 +-
speech/pom.xml | 4 +-
translate/pom.xml | 2 +-
vision/pom.xml | 4 +-
29 files changed, 2241 insertions(+), 137 deletions(-)
create mode 100644 examples/ocr-examples/src/main/java/smartai/examples/ocr/idcard/IdCardRecDemo.java
create mode 100644 examples/ocr-examples/src/main/resources/idcard/idcard_back1.png
create mode 100644 examples/ocr-examples/src/main/resources/idcard/idcard_front1.png
create mode 100644 ocr/src/main/java/cn/smartjavaai/ocr/idcard/DefaultIdCardRecognizer.java
create mode 100644 ocr/src/main/java/cn/smartjavaai/ocr/idcard/IdCardBackParser.java
create mode 100644 ocr/src/main/java/cn/smartjavaai/ocr/idcard/IdCardFrontParser.java
create mode 100644 ocr/src/main/java/cn/smartjavaai/ocr/idcard/IdCardOcrUtils.java
create mode 100644 ocr/src/main/java/cn/smartjavaai/ocr/idcard/IdCardParser.java
create mode 100644 ocr/src/main/java/cn/smartjavaai/ocr/idcard/IdCardPreprocessListener.java
create mode 100644 ocr/src/main/java/cn/smartjavaai/ocr/idcard/IdCardPreprocessResult.java
create mode 100644 ocr/src/main/java/cn/smartjavaai/ocr/idcard/IdCardPreprocessor.java
create mode 100644 ocr/src/main/java/cn/smartjavaai/ocr/idcard/IdCardRecognizer.java
create mode 100644 ocr/src/main/java/cn/smartjavaai/ocr/idcard/IdCardValidator.java
diff --git a/README.md b/README.md
index 662c42e..9512b03 100644
--- a/README.md
+++ b/README.md
@@ -510,7 +510,7 @@ SmartJavaAI是专为JAVA 开发者打造的一个功能丰富、开箱即用的
cn.smartjavaai
all
- 1.1.1
+ 1.1.2
```
diff --git a/all/pom.xml b/all/pom.xml
index bb154f0..07b1f1a 100644
--- a/all/pom.xml
+++ b/all/pom.xml
@@ -6,11 +6,11 @@
cn.smartjavaai
smartjavaai-parent
- 1.1.1
+ 1.1.2
all
- 1.1.1
+ 1.1.2
${project.artifactId}
SmartJavaAI
https://github.com/geekwenjie/SmartJavaAI
diff --git a/bom/pom.xml b/bom/pom.xml
index d4af111..70ed6fc 100644
--- a/bom/pom.xml
+++ b/bom/pom.xml
@@ -6,10 +6,10 @@
cn.smartjavaai
smartjavaai-parent
- 1.1.1
+ 1.1.2
- 1.1.1
+ 1.1.2
bom
bom
统一版本管理的 BOM 包,同时支持 import 和全量依赖
diff --git a/common/pom.xml b/common/pom.xml
index 80a80fd..aac1be4 100644
--- a/common/pom.xml
+++ b/common/pom.xml
@@ -6,7 +6,7 @@
cn.smartjavaai
smartjavaai-parent
- 1.1.1
+ 1.1.2
common
diff --git a/examples/face-example/pom.xml b/examples/face-example/pom.xml
index bb240c3..36ef05b 100644
--- a/examples/face-example/pom.xml
+++ b/examples/face-example/pom.xml
@@ -12,7 +12,7 @@
11
11
UTF-8
- 1.1.1
+ 1.1.2
smartai.examples.face.FaceDemo
diff --git a/examples/ocr-examples/pom.xml b/examples/ocr-examples/pom.xml
index f2ee663..0fe67f1 100644
--- a/examples/ocr-examples/pom.xml
+++ b/examples/ocr-examples/pom.xml
@@ -12,9 +12,9 @@
11
11
UTF-8
- 1.1.1
+ 1.1.2
- smartai.examples.ocr.common.OcrRecognizeDemo
+ smartai.examples.ocr.common.OcrDetectionDemo
1.5.10
@@ -90,19 +90,33 @@
cn.smartjavaai
ocr
-
- com.microsoft.onnxruntime
- onnxruntime
-
+
+
+
+
+
+
+
+
+
+
+
+
-
- com.microsoft.onnxruntime
- onnxruntime
- 1.20.0
- runtime
-
+
+
+
+
+
+
+
+
+
+
+
+
@@ -113,79 +127,10 @@
-
-
- org.bytedeco
- javacpp
- ${javacv.version}
- ${javacv.platform.windows-x86_64}
-
-
- org.bytedeco
- ffmpeg
- 6.1.1-1.5.10
- ${javacv.platform.windows-x86_64}
-
-
-
- org.bytedeco
- openblas
- 0.3.26-1.5.10
- ${javacv.platform.windows-x86_64}
-
-
-
- org.bytedeco
- opencv
- 4.9.0-1.5.10
- ${javacv.platform.windows-x86_64}
-
-
-
- ai.djl.pytorch
- pytorch-native-cpu
- ${djl.platform.windows-x86_64}
- 2.7.1
- runtime
-
-
-
- org.bytedeco
- javacpp
- ${javacv.version}
- ${javacv.platform.linux-x86_64}
-
-
- org.bytedeco
- ffmpeg
- 6.1.1-1.5.10
- ${javacv.platform.linux-x86_64}
-
-
- org.bytedeco
- openblas
- 0.3.26-1.5.10
- ${javacv.platform.linux-x86_64}
-
-
-
- org.bytedeco
- opencv
- 4.9.0-1.5.10
- ${javacv.platform.linux-x86_64}
-
-
-
- ai.djl.pytorch
- pytorch-native-cpu
- ${djl.platform.linux-x86_64}
- 2.7.1
- runtime
-
@@ -223,42 +168,16 @@
runtime
+
+
+
+
+
+
+
-
-
- org.bytedeco
- javacpp
- ${javacv.version}
- ${javacv.platform.macosx-arm64}
-
-
- org.bytedeco
- ffmpeg
- 6.1.1-1.5.10
- ${javacv.platform.macosx-arm64}
-
-
- org.bytedeco
- openblas
- 0.3.26-1.5.10
- ${javacv.platform.macosx-arm64}
-
-
- org.bytedeco
- opencv
- 4.9.0-1.5.10
- ${javacv.platform.macosx-arm64}
-
-
-
- ai.djl.pytorch
- pytorch-native-cpu
- ${djl.platform.osx-aarch64}
- 2.7.1
- runtime
-
diff --git a/examples/ocr-examples/src/main/java/smartai/examples/ocr/idcard/IdCardRecDemo.java b/examples/ocr-examples/src/main/java/smartai/examples/ocr/idcard/IdCardRecDemo.java
new file mode 100644
index 0000000..dbf6aae
--- /dev/null
+++ b/examples/ocr-examples/src/main/java/smartai/examples/ocr/idcard/IdCardRecDemo.java
@@ -0,0 +1,216 @@
+package smartai.examples.ocr.idcard;
+
+import ai.djl.modality.cv.Image;
+import ai.djl.util.JsonUtils;
+import cn.smartjavaai.common.config.Config;
+import cn.smartjavaai.common.cv.SmartImageFactory;
+import cn.smartjavaai.common.enums.DeviceEnum;
+import cn.smartjavaai.common.utils.ImageUtils;
+import cn.smartjavaai.ocr.config.DirectionModelConfig;
+import cn.smartjavaai.ocr.config.OcrDetModelConfig;
+import cn.smartjavaai.ocr.config.OcrRecModelConfig;
+import cn.smartjavaai.ocr.config.OcrRecOptions;
+import cn.smartjavaai.ocr.entity.IdCardBackInfo;
+import cn.smartjavaai.ocr.entity.IdCardFrontInfo;
+import cn.smartjavaai.ocr.entity.IdCardInfo;
+import cn.smartjavaai.ocr.entity.OcrInfo;
+import cn.smartjavaai.ocr.enums.CommonDetModelEnum;
+import cn.smartjavaai.ocr.enums.CommonRecModelEnum;
+import cn.smartjavaai.ocr.enums.DirectionModelEnum;
+import cn.smartjavaai.ocr.factory.OcrModelFactory;
+import cn.smartjavaai.ocr.idcard.DefaultIdCardRecognizer;
+import cn.smartjavaai.ocr.idcard.IdCardPreprocessListener;
+import cn.smartjavaai.ocr.model.common.detect.OcrCommonDetModel;
+import cn.smartjavaai.ocr.model.common.direction.OcrDirectionModel;
+import cn.smartjavaai.ocr.model.common.recognize.OcrCommonRecModel;
+import lombok.extern.slf4j.Slf4j;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+
+/**
+ * 身份证识别 demo
+ * 使用说明:
+ * 1、先下载 OCR 模型
+ * 2、把下面的模型路径改成你自己的本地路径
+ * 3、把身份证图片路径改成你自己的图片路径
+ * 4、优先运行 recognizeFront() / recognizeBack() 查看结构化结果
+ *
+ * 模型下载地址:https://pan.baidu.com/s/1MLfd73Vjdpnuls9-oqc9uw?pwd=1234 提取码: 1234
+ * 开发文档:http://doc.smartjavaai.cn/
+ * @author dwj
+ */
+@Slf4j
+public class IdCardRecDemo {
+
+ // 设备类型
+ public static DeviceEnum device = DeviceEnum.CPU;
+
+ // 下载模型后,请替换成你自己的模型路径
+ private static final String DET_MODEL_PATH =
+ "/Users/wenjie/Documents/develop/model/ocr/PP-OCRv5_server_det_infer/PP-OCRv5_server_det.onnx";
+ private static final String REC_MODEL_PATH =
+ "/Users/wenjie/Documents/develop/model/ocr/PP-OCRv5_server_rec_infer/PP-OCRv5_server_rec.onnx";
+ private static final String DIRECTION_MODEL_PATH =
+ "/Users/wenjie/Documents/develop/model/ocr/PP-LCNet_x0_25_textline_ori_infer/PP-LCNet_x0_25_textline_ori_infer.onnx";
+
+ // 这里改成你自己的身份证图片路径
+ private static final String FRONT_IMAGE_PATH = "src/main/resources/idcard/idcard_front1.png";
+ private static final String BACK_IMAGE_PATH = "src/main/resources/idcard/idcard_back1.png";
+
+ @BeforeClass
+ public static void beforeAll() throws IOException {
+ // 修改缓存路径
+// Config.setCachePath("/Users/xxx/smartjavaai_cache");
+ }
+
+ /**
+ * 获取文本检测模型
+ * @return
+ */
+ public OcrCommonDetModel getDetectionModel() {
+ OcrDetModelConfig config = new OcrDetModelConfig();
+ // 文本检测模型,切换模型需要同时修改 modelEnum 及 modelPath
+ config.setModelEnum(CommonDetModelEnum.PP_OCR_V4_SERVER_DET_MODEL);
+ // 下载模型并替换本地路径
+ config.setDetModelPath(DET_MODEL_PATH);
+ config.setDevice(device);
+ return OcrModelFactory.getInstance().getDetModel(config);
+ }
+
+ /**
+ * 获取方向检测模型
+ * @return
+ */
+ public OcrDirectionModel getDirectionModel() {
+ DirectionModelConfig directionModelConfig = new DirectionModelConfig();
+ // 行文本方向检测模型,切换模型需要同时修改 modelEnum 及 modelPath
+ directionModelConfig.setModelEnum(DirectionModelEnum.PP_LCNET_X0_25);
+ // 下载模型并替换本地路径
+ directionModelConfig.setModelPath(DIRECTION_MODEL_PATH);
+ directionModelConfig.setTextDetModel(getDetectionModel());
+ directionModelConfig.setDevice(device);
+ return OcrModelFactory.getInstance().getDirectionModel(directionModelConfig);
+ }
+
+ /**
+ * 获取 OCR 识别模型
+ * @return
+ */
+ public OcrCommonRecModel getRecModel() {
+ OcrRecModelConfig recModelConfig = new OcrRecModelConfig();
+ // 文本识别模型,切换模型需要同时修改 modelEnum 及 modelPath
+ recModelConfig.setRecModelEnum(CommonRecModelEnum.PP_OCR_V5_MOBILE_REC_MODEL);
+ // 下载模型并替换本地路径
+ recModelConfig.setRecModelPath(REC_MODEL_PATH);
+ recModelConfig.setTextDetModel(getDetectionModel());
+ recModelConfig.setDevice(device);
+ return OcrModelFactory.getInstance().getRecModel(recModelConfig);
+ }
+
+ /**
+ * 创建身份证识别器
+ * @return
+ */
+ public DefaultIdCardRecognizer getIdCardRecognizer() {
+ return new DefaultIdCardRecognizer()
+ .setRecModel(getRecModel())
+ // 身份证识别建议按行返回,方向矫正交给预处理逻辑处理
+ .setRecOptions(new OcrRecOptions(false, true))
+ .setDirectionModel(getDirectionModel())
+ .setEnablePreprocess(true);
+ }
+
+ /**
+ * 身份证正面识别
+ * 可识别:姓名、性别、民族、出生日期、住址、身份证号
+ */
+ @Test
+ public void recognizeFront() {
+ try {
+ DefaultIdCardRecognizer recognizer = getIdCardRecognizer();
+ Image image = SmartImageFactory.getInstance().fromFile(FRONT_IMAGE_PATH);
+ IdCardFrontInfo result = recognizer.recognizeFront(image);
+ log.info("身份证正面识别结果:{}", JsonUtils.toJson(result));
+ } catch (Exception e) {
+ log.error("身份证正面识别失败", e);
+ }
+ }
+
+ /**
+ * 身份证反面识别
+ * 可识别:签发机关、有效期开始时间、有效期结束时间
+ */
+ @Test
+ public void recognizeBack() {
+ try {
+ DefaultIdCardRecognizer recognizer = getIdCardRecognizer();
+ Image image = SmartImageFactory.getInstance().fromFile(BACK_IMAGE_PATH);
+ IdCardBackInfo result = recognizer.recognizeBack(image);
+ log.info("身份证反面识别结果:{}", JsonUtils.toJson(result));
+ } catch (Exception e) {
+ log.error("身份证反面识别失败", e);
+ }
+ }
+
+ /**
+ * 同时识别身份证正反面
+ */
+ @Test
+ public void recognizeBoth() {
+ try {
+ DefaultIdCardRecognizer recognizer = getIdCardRecognizer();
+ Image frontImage = SmartImageFactory.getInstance().fromFile(FRONT_IMAGE_PATH);
+ Image backImage = SmartImageFactory.getInstance().fromFile(BACK_IMAGE_PATH);
+ IdCardInfo result = recognizer.recognizeBoth(frontImage, backImage);
+ log.info("身份证正反面识别结果:{}", JsonUtils.toJson(result));
+ } catch (Exception e) {
+ log.error("身份证正反面识别失败", e);
+ }
+ }
+
+ /**
+ * 身份证识别并输出调试图片
+ * 适合排查“为什么没识别出来”,不适合生产环境使用
+ */
+ @Test
+ public void recognizeFrontWithDebugImages() {
+ try {
+ Path debugDir = Paths.get("output/idcard_debug");
+ Files.createDirectories(debugDir);
+ String filePrefix = "idcard_front";
+ DefaultIdCardRecognizer recognizer = getIdCardRecognizer()
+// .setPreprocessListener(createDebugListener(debugDir, "idcard_front"));
+ .setPreprocessListener(new IdCardPreprocessListener() {
+ @Override
+ public void onAfterDirection(Image image) {
+ saveDebugImage(image, debugDir.resolve(filePrefix + "_step1_direction.png"));
+ }
+
+ @Override
+ public void onAfterRecognize(Image image, OcrInfo ocrInfo) {
+ saveDebugImage(image, debugDir.resolve(filePrefix + "_step2_ocr_boxes.png"));
+ }
+ });
+
+ Image image = SmartImageFactory.getInstance().fromFile(FRONT_IMAGE_PATH);
+ IdCardFrontInfo result = recognizer.recognizeFront(image);
+ log.info("身份证正面识别结果:{}", JsonUtils.toJson(result));
+ log.info("调试图片已输出到:{}", debugDir.toAbsolutePath());
+ } catch (Exception e) {
+ log.error("身份证调试识别失败", e);
+ }
+ }
+
+ private void saveDebugImage(Image image, Path outputPath) {
+ try {
+ ImageUtils.save(image, outputPath, "png");
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ }
+}
diff --git a/examples/ocr-examples/src/main/resources/idcard/idcard_back1.png b/examples/ocr-examples/src/main/resources/idcard/idcard_back1.png
new file mode 100644
index 0000000000000000000000000000000000000000..7ea0dc4963ac4fab11e891afaa5368471dd251ca
GIT binary patch
literal 1020634
zcmV)PK()V#P)4Tx07!|IR|i;A$rhelQXvEgL_kXDO%Rb1KuQQLfb=dZAqfylj0r)-jx4)^
zYZno$=qiYUt1BRj4RviSioGuuRFrjbUF^!65I~oG<$LpebMJruIrGms=gz$|0|32?
zFO}w^ngHZU@?|l>{;Z_r6c*_jKmh_YfEzI43*=HxR8%;CW%&O0^7}L0)VW}=gTqy(CC9at3Z$mb?7i!;3N@>B@p{T?30%_LkRIAh;5(^9Fwlp
zXQzLqlleEz^bt)yKXU}DVi_#t0I^(}%b)XqrsIE?yj;cb7}l_=XURfhlrh7+J<6F8
zro`$Hzm=p%L_(|$0E&x+gZ4_y%u$e|E$P~
z=cx2C?JN;*NFQ@7%!*5dm^NB@iH}wBxSllMKStFTx0B{Z4cX)VqTFC5Zw7IkydZYCZ$UnsoGN|1M4BHJ
zr}7i8%;twisrp5g%3oj3F0RW&6M9huJR-2QuM9jAD317Jb-~7)T5th7f~@wzvWAgL~oO@ahMv
zGtS06hU55RPk2n|Bs?HoC3F#PP8S!+MtM0IbV2=~q5PzOogdr^YP#b7xHnXX$~Y4@
z01mhd9EXGZ!jWAe%N_DtnHAP3?Y~9v)f*bJqc~Ae${30t#b$I*4Lc3j5fx>wzs`@!
z*YuHmb4OZ6kI(%o`$BjR8*PbwhaJF9W5=p)Z^b8!jzs0Gv4_P{;~Y
z9Im_&;GcsIzdn6n49tNIjK>+Sa$dj>1cFcy3F1I9m8HL1)K*L!Bub@&Yo`Y9Q1+L-~)mnB!q@A5Pif1u|(_D+tVSx4ZAdNhBXS5ij+{k0k(bKI;w*j
zp;qX4l#O!GFfk1-|FYSQpldy~Bw(183n5a0Z9q@wfn=i7&vH;gxs|-iV*X
zFXQ*|KKwI*MldAU6Fdn#LJ}d9FpE$^C@1VB93-5A-%>Z>HIYbU60M2u@LNnKW)tTU
zmk~D+8;Hk85<3YEiAJ-qbj1Hgz$zf?7{K
zMZH6PrKYB4rskm*ttM7mq*kG}PwkA_eYJP$+Uj=dT=i6Sh5B;!UFyfwZ>qnd(P&mQ
zKUxYcpSGMet>>~-m6K`
zw9@2i@--J|R%ss6ysp`=#n76d6{(e{wM=Wb)>*Bm+9Yi&?LcjzcCq$$?GxG$85qNy
z!DR>-OBg#Crx@KjL>+4#o=&z-na*CF4xK(-ZCw}L1l`%XRl0|DyOz6V+CVN$L=3{%MdlRGmJ5uYq;I8-LT)t*eKXYYP7-Vgi)_C)7Z~A
z+jy<<5#t^chKY}f*krBAQIlsZT^5Ix%c@|VWc8UEnueGvOt+bKn0_#`Hj6haGHWoq
zYfd$1n`fA>HE%QTvoNukY%$NG&f=CO#gc8AWx3w+wB;KsYpX=7Z>^fFo?7c!^Q;T4
z>#XnC&}@8dX4+KST(KqEvTbv0H`!jaL+xDcvh1qtF4&{?ZuVmPP4=DR2;)4)Nyb%=
zyY8Uwz;P&WsB^gQ$aD;MEOKmed@$Jn^_5|$-p%aQGv`qNZ
z+0I$uT;+UaB5h*O#Dx=^C%$yCcM-X4cDdooaGmV>t!ta>CpULDnOnVEkGq9?n)^og
z>ueo%6nh!_j0eHP-(#UitH(P}H_v>}{hoh#Ie6uG?e=;)$$FA#(vC?Fz0JJ&-rKyp
zd{{ndK3jddd`*4%zSX`D{LKA?emni1aBMl*oIRWu{!acf|AYQ-xSrhk++zV)KyW~5
zKu4fU@;JqNTpv<7UpuS+&;JLxaLI@#YA*({J^Ne@`UM;UL)ID^5=*ckku-LH5
zum|CG;j-|S$>`+J$!jLxiLi{2L^MT$NM7Wc$h%S2Q8S}{jwVJ&MOQ^Xj+qcMFXnVC
zBX)Z1?%3CH{&6efZpYiiE8^P{=n1I_wFz$$0}@v!b|sBZnxAw&*&tb*+?+y6Nl4k5
z(my3|%DO4tsjjIdsn@1jPn|vW>@sYV
z+b!SW--*BLSUPd(hNYiNg{9}poXX0}J}wh1JNNyB?<>9^Se~)GV};v_%`1s3B`dG3
z@?BN4T5EOT>W6D4uW4M%T3fpIuXWScoh^4M-?E;%Ua`KbBD|t`gT;oG8$MQMRbH*~
zuWHz6xN+&mH=Bf;E^YSPT))L=OWBt9Tg6*%YzyAjSZ!5ZzMZ(eVEf}82|G^z!2Y3j
zr@_v$ou76|c6HUn)SRq!udUr}xO+t%TBoS%*^|2G;@*J0&GioT+Zvb+W&6NB#lB}h
zru}$rf7t%E1MCC!KUw~?@gU=1X(Q4&r?IaotEsCwxw-RD=%Kb2ua<*9JN~?@)wH$h
zuph{1WubiPN0ZN6&bl
zX+7(C_Ru-@xu)}O=NsEy+YkQg`s=|Cw~odO?iZRbdR%PjoYZ;blJBMCmjf>Ua)o#0
z{MCr7o!8>8-MF55z3YbX#?za*H(%Z=xb@-oqC12;rFS*&mfthHSN)sqZw*~;U5D=n
z+;4vn`{4FN!Ncc|JnMcgeg2`hiW
z@zWoEf3)`{^>x3Ly&U*+*(?25yZ&V
z6IPue2MgS})Wbb}bT8c9TnAv^4gjp6K0OtHC>j899sr#7wV>i8I2VWGXMYp1Y=1FUai
z#XWfbBRC3Cn5voi5*eA*rS4_`WEX(|s?g2e{onu3|Ml(Lw}*!Zf2s8LPTzcLdndeG
zR37+bTibyz{O_79*C+m++GRj^t9)l&d)RAR=whSnpZD+IyS>UkvTLO|Yd?LPJ{Ju-
z-amYM9~<63eEj&+!(aaTuMhw7um9)6&p-d=0Xqov)6=(y$H&KquV24BeE$5~!EZF~=Z8nd|J%1GiJU(C{L?Su|K;JsPajA3h+lM1Pm1l+5@FC9C)9mu@4U)^w+nWyKhvV#BxmP|C$^0LDSFZr|QL
zsc(rBas8mIl0WZ1xK5sa`=+?4e6N1|_|wmpt-&L|iJ|bs(L6=>?t^4loigv^#|JgV
zulxt54ZimuBoCP`%`N#48iyYQhX|9gXVjhQqs&3yNl4_-Yj9BK&_ZXuO
za~ly${y?Ty_2uJNjoUB&eEst4!>3RG@$l)lzd!u?_rE>-`nP|7`11CFE#1bVKADe$x{&8YoH@d{W3Fc6k*vflpndryzxT1&<7MmWL?>{rc0i4#f-v^Zx0$PxhR87UUE4hEbOI*1E8B-F
z@r3P3bM>|Ddi=2WI{%Y$jbk4As`uX$^PF?;ai_l1fZ*8U5!xXGSf_b64o+fc%Ix>n
zoCe<`hOG2d5~`&NF2dX{u&WL1go(jWMw-p2~t
zOs#Tm`+l+gLU%uU9lqYals6@x)iUOC9LI40n~#xI#*d7Vv`wV1t{>QA%Ryu@&%m>N
zKKx|XRZiNgytQp+eT9B)haP$^3`P~N1ieK$%qDMR`$C^l!ATmA`&+YNhV+>E(qItZ{F~D{yF5g%+^=)Uf4BNFM
zw=t~vhH`bCXI6aXqrJb=|JpZBE^N}>@{$2=|7#v;+JuxZ!fT(
z9-p)*|Eh)h=UUi#p~B=sr`6}ZRwD1cu*v9{2NW!Fu=%qV-w)br|Dr!H>;$Xz$kW4D
z7T-Dm`5^qGP6+(_|Nj59SpWR+(|`Z(K7sJ?sDmgSGd*d6&IyB0pFT_8Z`vV#QNp9^
zR&LzFA4l=F+~Omt9Xpljt8c2;WOrM4`ZVQcjbvQgR_rx$Xm49`P20fXqx0mPHhygO
zVHi9o1_r*-ABYZ3P}|9Y8wY+`I)}yndjTz2Vj*vYr~fuGSJ20TohkDhxvi5u?^HhM
z;QpIFluFo#ciO44!+Q5&Ea1h%!i7b+8053`yDff=6At}Zk$+%84!;iEP>nw1yw}2>
zMg0d(TG=+(!SR6*0exEx?t%P&ieCGny23Zu6g)~<_Lz4V_S}>|M6hAe7}WHMAp7q
z+o5}I8U0fpbBd&l6o0O~e^mOO$2Ep(EXCj21^)Si_Hmos;+e`r=bR)nc7DkXFKakD
zX0aeo+fRSlfuLVyXjq9n}x@QX*mw^dGlQaR&;%2*9~cAUc!K!Py$i6rW82pkR|*>cQ!e#vgk;t1=|a~+y^f*eqiDS-H;>xns;-E$
zkpHG7`1|)P)-@i;JFeJq0!s^d^Lfz@%{Y5bk_*ONB)K99-G`4X`enxl`UQOH{UANy
zQBAD9h^NlSffF!g^D}u3FWc1%a)S>aCm*q^IgK&xSULkLhrjuXd!1-wtUi6yM`P_t
zcfWk~3BE5r(FY9kh%mFmsMwdXY$!h{VtYq1t{e{mDQzPJEq^%S(3+in@SwSZW`9+U
zEeE08@%P4RU+f7@Vwv_z58QDb#^yxH=(4b>^k^%;htFMB^b`ya%A3HOAXjtNoW_yA
zxA3dHwSA^{rCZzU74+?-+*xO?0uI{5gxuRLKraGJypjP_Rd-Xl=D!2MS3vHEMMv+i
zmGuxe_#I36Pe0uq*KJ~0HC6kTtct|Uj9I&sm#b}U1~n0f4cjIGJ^q2?556Nm)m)xntPcK==vA}-S@)jN3NUVxy@76-euny=FqcziSWb|jsd-ktrkV^O16ijO+JGatHto4oYz1$@)K
zN`6_}R`(9LA*M|9>3AIjOn+~%T}9^#{uxoOerF8U&Q-m(
zWA`+)=;t#Tm(+r2%o3T1B2KjT`7$|2HcY@;J9ev4t-07xs$S3IJ?(Q^m{qYU|J2&r
ziD~lqTyFJ2k4=qoLBK#n?DGX07W5TDgWzQ~#tMu@qp%M^1-p
zwRgvMt8;JR7Zn8S#P)@bcsQuYTgzUwyRV5T1k~uw#gh2^gV~McosP$ey^}9&%mc|0o%cQeU^F
ziC-rQ-f8X40*u>uxdQ*c{^$RE`1I>7izq|X=>Ybbvp}q@B(sTjI!VAiaBK&aR1M?K=*8Y%%{GVB}ba*6Hc_X
z)jxORu+XY8_f_^YKk&$k7VNr3{<9vN`TUzsu4$Zp(Va2hbn=cVp>)hS?3S&)U!iT?
zY@a*cF=+&f;6@+croM_la6V>JoLLZ9CJ7>7;kIZ`_Ev*_m45^a%Ssz~e5oNY>wEUJxNS2RaNae9K=fvS;IZ>W9(0DG)tq2r{1ap1QK
zjX(CrKH>7B6!Vkp9*0t!2csKaoKuqNK5{>yU~WC9xC62b7vJSucnffEbS$Fj@}x?P`J?aOa&=e_Q5;uASJXvji+
zSdY=q-b$vTesa(f{OB2+siD$hxLH4Nwr9)=#Si2@E1}0<%E&dh8o}XY$qmJH8%W^_
z*6TnlgGy#C^yqW68GeF0qQ3^~I^rMY?0S}*G7Ejm54LaW6Tj!dL`oRpxRS1l{#l^c
zf*sj@4sEo*i3VP+=4-*NcG2jr65SG?I#;&6AUA)-p=;+@;$Icdh}55c@}
z*MePl$#8P-H$DIUS>x0+mdkt~8Eq^7P_u_OlGExLPsO`DD(2zarh<8fycf;ri^`Fi
zANJAo8`G&BTkHmXTzQReD60ddBem<%{1MHB#g5AI34d)ZawBK$j};%fi}^GG3&D3R
zGl!!hcDzI#zS7-%@bhf6oyFix=NiK^I^g%v9?@(z$@uc3e26a32A+2&yqeR?$Vh2k
z`jLQW3q0}*$nJQ`fb_^d)86p~|CH7kP7#gf&gyIIyHkb9a+Q@U@!uY6U+_J2BlF@z
z7Gw-6cD>Km1$_E-`sQqz&84=<6&&8^UdV*IfWT4xD;!-a<}I(PX(-h<-BusF4_(np
z2aYhZ$YopcYuiNa3qJT)eb@L*o4$*zwY|hP@~_E_s9uIX{((bQKApDLqp!oLr}roq
z6Iaq*+xi;h;;xy7`%_gF1Y(ST7kd=17cTevMO$7bo-gq^eS5@v)_+H|&w>4O0Z-O5
z;PvMYzq1FQSS0gDvcP*ed*0{=Zl%$caZx>L;myJNm(RM=$kjp?K{}v+)&ich(Q4=)EquW15L9>;^IYwdGCgiAAD%cgmGk%kDYPsq1oo}cT8sd`
zGdu|RA=^bi$RF&!fDh~JDn5@1+wC7>`H52ZhkT$PPe|St+?FWYO1;Jg`n||jS<|3$
zh=A4Gg?t+wnO+I2Pvh@;=?duB+qR5)UmjzD@q8pCqRi@br_%fEMyq*NZx|
zAgAuORB+2Yb&V8XS!coSlQ}w>#o{8j=zG2%L8E&y^;!&X;l+NjA$O#XY#3lv!uS#5b@$qU94yd08>UKYm^Pkjj
z8vznXx
zo#}sQBmCVzWc^-8PlpB_0N1JGHU1ume>P~#k!N%MF&P+9`#$GbWbb9hPt6g+y*BZ#
zh2lHO{`iiovlkl&pA*;z!-T3f7KV+q&;T+?crX^ll%ol6TO3r}c5?4%Oj*ao>70%|
zwtTw!FX)3-W7PzU7P&P-o8zx3r8age12
z{X5QNOPBS@wdoS>gRE4|3oyiMU)lpragu
z3SWpmk%?a;N?;8{R^+K#@*(E4ZM_aKQdBjn;VTFmXHgcuCJs=v^-;e}yy73dLSdiV
znu=rlZbPdXEci6FYZ_P(dqop9ml)XZt_VtEzqq^i}k|m1Q`1L>k{?C
zNM0KGq{TZgm;5%$ub)4A@y-Ij#-6m`7q$>*pOugm$_L<_B)}}k&oP-6`UP}CW(+or
z;f-P_k`*ZOK-
z_XXM&FUTTdZST>myghcwIU%pjYiL^SS>*>Gc-qk$`RjZc{9Bi?BXau~Gt5I~#*jIB
z+RTVxt9_&UIk_!pMjIu1_%H^Fi#EJ-n>n-~CJ6!F^!IpAn=bpHvtQ=N#3G|?n)+iq
zh>Df9j=J(gaQ9Vn#>bTs3uSn!1gP=p!9De^HeK}nG^d!xU3!s_^962OX<>YaQixQ_
zJGWwAP#5h*A0qq4zT(>UjuWpU(NwzIwis-gQRptsEF{9%(y!sIHU`c-fHZjO$2?$e
zZ3t3OAIq3JQ`G~w^Cx2jK_Nt%><
z4T-~~U-6X%!S^fLQ0`I*6$#Z4!(D=a_(q10aR<(`_|l&nYN^avu^-eCz%bl0rMI^`
z>*O0y4=OAwLuvNN)Lwc@2rgI76R${cbV7twAu3m=j5n<{U+r7DvE|||U9mfHN!%{^
zGOv!dnr{gu;)orivvvpec@4}{$TxcT7
z#D!;Gf76w>S|R^cgICW4YthbCI2HtcvDH`%OnH$o4;0^P;;Dlsb-3dyY9B;5zc?Tm
z2iAH&y<^X<`)sv%)MVtDK_$B1bA=Ej5t4k_;e(20PmV8dwIQonyc1hq*Y`vW>TOV!
zH5YP1hJ4XxFi`L9OYIkurs{**-nvp+IbL;gJ`R?pG(Cm5yc9Y3%vSYD)7!m1DQ?&L
zVUZ>iH7ho?Q?gV}2yvvvM!YyMBZm5LQi5CJ{S$3|SzP5+J)h21cikGVB;#dun#mC0
zg}N8tdS^r8&!XMWy|XCiE%dr#&q*!6eO_#+a$;k{*utCBA|6!W5?EDXYas`FbK|5O
ze`lMqKEbA%#tG-xxDB44fc(aQ!Cs9OuC((rM=aLs3j1#=b+w&^J6GQQVchDlL!bK9
z2rMSP5^Cf1#Zk!s)m$oo?tZvt-`M|^;lD%xsh5gdweQiR;TtdRxItVG0E2R
zyw{KTZ^6jl3)=*!xgOl{xQU-#eqh~ZX4%Dyy-!`hOX^X2$Qw(p5*>2>DBwC5X5YZ0
zG<~Drncs=8?^F~rxsbl=^tbArCvw7L9W8{`9VF%6w2m3|NwCU3AZ{S|n&O6`imYz;
zg8q(8Y&y5=Efl9uElXiIi`#L8j-k)7>tas0$&5}uwXM-v+o4;_O~S&k!B>Vm+ZDfa
zDdhMXeaK@*@j~DQVCcF;Vl_F_vuhMVfSNcCyTY2ivSJJ%Go3hCqj@_Sh`|M}c
zeZ}(Q&!%Bv@1L9VqCm@M4&phAKiRh5pXWfIRMCU$b#A8^{M<1o2P{L2Bfata!_W2N
zFcwy_M8{j>eBZX9&;mri3IA0u)%v2l1RkICvvuISfVV*x)+D*pk868nfNl<}6}xYT
zwoW!wEa8nVs7=ENl++IAOs(4r`^pnO%Gi4b1Acwm>n++Nm@VAdxXQ)eZqJH;X`7eE
z?KiF=%Xjp-Z@~-ZMLQT4*WkF_ofvDuE*zzQ($H7US*UZ>UA~Ie3v?~YfwB1am3jI_
z|9(5XVE)-RmAs(t!^h&;-b61GJ_-hl#7Peplc%+jhHN(X%D5=1+us#uCQIVLXc(I+
zQa?AwtXjSu-ivb%15FV~imT`Hr|_N(&8?
zbrq8Cs;laPqn{6fQD?YNyLePw-HNwp@dK@IxApOMT`IoGrz-4Erw1Nc_LUe3Sbfwf
z&+DPBd9&!Ek5;drOZk47e)ZJ7=RTbJ;{SwHEq(=`GyAuCGW4sw@78uF9!oDD=zKh%
zeeK5hQf3QLjca|Mcw}638LzExvYVhaj`LEp
zw|G14OY66EyyY0=*vXGKvY*$yh;FirKHx$KvDoYp!r1IX*umVhd7z4SjMbgYd-$J8
zQ)+5KbKIBCDofqt;}7#a$7}dL^ALvkKz+{(lvuVw7n+Hiwa5u%y8|tN
zrL?>S<|$-JGP*F^rGBvcnRK-yJS#jhZ+sa8~ABQ%iHur#)WNDBeaYewu-@7giNvchJAo}G<4RcC}*uz%5Qv@FEQ
z9ezg2SKzhtF>MQulggQQ*~xYF5I9OQ`D>BHY{vIHof4`i?3|yXn-DWY*6tUwO18s^Z>@9UoV+ct|7~}$wOCH-hG>y0*^Wt@X-1rJU{=&36|oQ
z4Wf|hBYQ5qkHN>MZVa40Y81+X1$$JM7zLb@)9eH~1g2I))hYp3`%y
z?5#~s<9qzuQ@mA+j+xtA>$CJR4&z7qGwrFp=G?tS9eaPB+nZbr%WC7($YL{%+I@d!JjX(z
z>md>Y@N87mE|Ej-paB;0t#2BzRU`6h8M{MN^Mw4-AIHSH(i7BHg3TTrTWzltm)*p5
zBi$+=eP(WJRwcp02zW|Bf_We%{6ZDS0MK5vuI-I=p}Peyn?iM2c0IRfS8k_kdQ(Vz
z>hhrHKs?(KKDb+@qe*9R=%pAi0esPwc>jjGnCS~2_>UO@JMd@vBnd4!qc3MFEgzsO
z(6V@EL8aT1fBIR!8~+!Tx@yWtw=%PU@>NqUsNQ>2l2&y^@#!zWJp5Ik|M5Tm--pk?
z%3}TW93<6svY(i3al`WSZH?zjc?-XzmjSppW3t0mLj-;BbF#hn8*9Y6npt*JzbbE0
zVGGtP+8DKMqNqSsR{+OuV2#erK^Ioj5Z4Abi`tEKlOMjzvZ%dy7m^GvZv~euPcK|e
zw;yV&M0Y*Uu7e-pJ}7Ur!WK+8exF@|EIiuC8GZEDc*hzVeVkA1$SjM6eQD*&J1?lq
zBA=JhAGylTZSxu*+ZA^f^+S_mf&y)PSCw2)-NrE27Ls0ZUIO4YQ1?w)
zT3)JmOy~@Z(nzoiR=2yG47P?4gUQOtEZEs`I
z8HTBrUf<^u3S)bncQ^Di&Y!Uz**Dp*%L;E|I{9Yp0=I}Lxmk*gqu-OGWVim)E~@>v
zGjy+VPjIDmD0j=dFcRM@G2ZOGq&buyv2ReG$zS1Xd-bQnt=<`Nk7=|4t?-VgzU2V@
z8|0O;KXS3CJmexTj%;wgh$FbPDN{!vDR;C@zQU&MV*!CU24D-^$FT+Scj|Sx<
ziBs^caswkko$gErGVh@~<6q%x$I!NoE8#tDAC!x*4X}C%))#YQyW3-@jvw(QC4?ed
zwgPN4;wu`(LW=+v>p$t%`43!u*Fyfo&mSIsqSQkEqZVlF__(rHR|RWv^6iVR#cR>^
z>#zUrMGChHv*@XxrjdRv&&Q8f|0fB30g
zfu}3V|LG9Evw1pF0KBtW15qUY4t)ddsvZl2pE}h#YYrJ_&-qLRkI>`_I}3QBxa-86
zTw&*t7al43QZJ%=)LkiGKkJSeUx7zf-Bz!PPHiwpXd}jwLFo;dRdcQeoDzGI!|*(D
zFwArBbI)zN5D_^;T-lk%GfH&Q7b*zQjkhSM88#-_=
zXHWgSmhF-_7Pv?)o1Q1*9_sGpOX$1zNBp0_6$<@QO%W;i+&>q{28&)o~y!?4SeK=cG^+n*8>4DvaOqk=II})mdHNAFl2`ROjfReBW&|35myb9~1nM3H>daynJkI-~85YrG`s>
zV_SLVw*~xI$Xf=t1c_ep=8pwCCx>h=Ii$9qZAZlDv%0N}$p{>(
zDl*sOBR9Ic)6K1>Ox2KPp!#muvn81P6wpAAV@K?}DJ6K*?pvrM|@lq*Q
z`QqPIq92IdNBhSaLY(Rki@H@~PyihrKT895)rcjvL2FewjN*;pU|XzKzcW5?stl%&%<{Mc_ATw;Dc|M-{sM;MLQg>!n0tn
z3ndlp+))WUGQiiq@7NgV@|aU7-XeaHwUtUN#s>dvy&lMh92BOjgjBVBtfsk(?ch7U
zAD~_ZLhiN^w>Yx_d!^BK@OP;1?2`QWpYp9#))oCevY+Q;g-=l%ar7a*#PzVgm94*r
zoLl20c*^*UT||(`ZRHk&K%jcbR#LmJ=s{YCZ|&BF&ga(V*wJ+QiZ81S)~&$$qdR8u
zSK-*VWdDMk)Gb@QANOYnCi^|L)#&iV(6tPnGPn-w^;5ip6oI5WPf|mAcO60zU
zyzC@aTd>{syLVWIuoJqy+nbL+By%KXRGmP?Y5?l$B3BQ!z|i8tSJ!>}GS3`y)wDi8
z=}P?1zvybbu8ty#m*73<^Y~eux&qH_)W7`8zdZc)U;d(Je0iarehQ1LllFjhoURhe
zk63i+>k7G}9j6*;{7TtS<+F`Hv!W&dM#B+*mqi_#^gnfW>a;s=)u+DXq9Nibb0!{u
zp$)X^eO6nmaro1>u(OC{fz6_RynwD2
z@GRTNH$!2Nm&TVZz{m?$5!P;f^)psy|G8qylm=WBgbgKp@H_kMf^^E
zne>L=&Kq*@BtM*>Bv9MVX!lf&;d@q5dZG9N@TL~*^W$9fnH7Y3q{KP%6-@M}TuIZF
zXZ^I&9|X{#@So|ql=GhzqEX&DwAYEq+TV$5;r3Z#oIstX(;?e0f!4GG=bU}^ayCq4
zO+v(JEBe^R-5j`pd>v|gJA4Md3|p0zz@5*vV+3h
ziD!Ma_qqI2(q+vZ+PV>n$VabtGIX9ks~uBX+3%}!s+LTA)s;W|6|5GP#bG&gHt|!3
z7k4S)AlnOg?TxuQ$`#jop%{yKuFBVk9D$EpC320mEBlMsC!OF_}L$+Fm~n
z-oPmn|B4il;`4Lin+W0uZrKKqg1af`Bg?ZngJCNSw1CoC2ZsY)TGLQjssj+4b;Tgy
zV6m?^>L*Am_uCbhpLFa@)_qvl!=*3NPr3j^Amw66vW$
zyQnzhaPEq{p!yVyLs_U^6GW
zdsp+D)vqt`Qb}ah3+njo_RnJDN;`*oBNy;d
zG%9Qh`iY{qaW)p)`}6POEWEyZoJPi581-#_P~AA>D2Tbr1RnE^lgM&^e
z_#xlh0cRXart_eQzh-?S+o~)7hB&FPcv2J^mU`E!_O)1K0&Wth#xM5}Iw~oJ;Y?QK
zS6TB^_Sqigi13Cr-8x%4WEC9iBX2Olv+0|CTv*zprb_9?MRI-0p;m2(_qgJoGP+HS
zLH?`+A=1HLZ6$wGvsIuYGMiz8{=PyZ?oG^!cF>J>lP`88q=zoF
zZi-5NzI$8)>t*H*>?<2fa$R&lEc1s3?XIEc&g
zVuH%F6Hjue>g1C>!J%krls%gmdy2{b)DzYQsf)
z&`zrx^DC-TPxWEqe9>pi1uUQNNAGalk+=-PX4!5xA?P-?1_k}jw$Zh-NZ3gFPg@5Q
z^u2=)+I6fUuNJx}+Dx|Mv2RDtRN-2VlM|Os+#uZIwqvXu%FuOA4t&98Zzgx6b|(gV
zMqpODwH^MqF1KSR1aD@m!oQ5gUckg9{z94!SlJ5Ie(OH;diDifUagZ79mzuX))}i@
z+NIBHG1WO{T2x!R}%(E^4kgoS{AuiFbX@<3;ywa7yw{9cfAoBhu}c|jur
zE#i4=crE@OK1esW4k!0;=*k9JPpgm?JQfF9L&DIGS_Pz?aCcZAdTv4wy
zpICemM^moEqa9o|J5lMI<_!uLsh170bvrhWZH*RbWg0+zEV$L(9zEz4bK%~zAlG7@
z6_pqATC{V8okh7z(fX=93Pe*^(D`XN$)e5Tojh@y6F%fY>1Wc-OAyOX`6HAkTp3G#
zV8t-JOm6K$0yx>kPyEa8N#pb%9o0|XMW1Zc=(9Qf3s|6Utoqx4YbAUxUzYBURP@8n1L3Q0U`OWvn_
zS;nuFqNvbbk{TkqZ4e!ike@?>)+&6N~2BNHPXi=Fnyh}pvyOTG0jHZQd;4U3?;<
zmp#5c7pPZ0OzMh-pm9nlPB8RikB)=$$nOoN-I{RMg+9vC@+J($(!~?haO}oYA4%TOojF{L!)pvUEbJ;df
z@x{gwoP}7;oxDr*J#o2*=29|{^55tzG#~|Oi}Hs8ec@SI%}h!Cg7qrWea78
z=%K35!|JK5ZjT>r_pQbP0b+q}MlB4zIAke3;9ih(l)|F17Vo@dP90bM$W?O|^(@NA
zm3iz!E+sj}T^d=iJ5T*{Z>5VnH-wb7+i;)xbmtgu9Nr(W6Y7+os;VN$M>S_`1u3&WPo{~&0i>EAHurCS73tiglpYjVnHM^Z5
zvuApfR^k#j(r;}%xQgF4sfYO4AItvp>
zzvwO4pLLsWznjA8!3fyWgqZ1Ip96m_Ui@}#7Bl>0oo@-&RaWh3KXCP(*@4^2q=yYL
z)ctmPZnsCj6m#o6S75*KlUcH-Y=+}Gn~gkXuwqB=0#8i-(Y85U?YP`iDL-qnR^1ia
z13udPd|T0wD}2<}#KBoSw@DJ;JFen*%e#mpHJwh
zuQxpXF0o$Jk6g4_rAtzt)g@zYmcH9;IS8!rLk{aBwu~oEOtIxwP&f2dSLC@}URU4w
zU3T6WuiN5zG2N5j9uR*=3u5ki2%aIci94@GZYbVbe&mkwb`%$eJDcgZ3vy39m;I3VLf?6Dzivyc
zeM{s)gA|W1Vz$ODgp?xOPTyRr?v&NH1JZ4B-Z_(I#AZzln+-P6j$YZ8!S(NaDz9
zOS|B|B9B;JL9f;wv}-Wcfj?QAoo4}KRz*Hwx_m=P0$d>!EXfI9kWe0%
z>|(U;5sY2lT#?IM!nWn+724;ZO6r)W?qu8#A0#}lWAWJ>TXGF6M!q>FA~^FkvFvn?
zPl-A3VnHm;m0>3z?}nYWd(;E7ANzo;;@+?w!=D%LTLy5fAIV3w<*R6ZH$RW8VA{N9
zp0W&?M?IjcRfUM%g#$F<)-rVE9r_
ziO02cVz6ni{Aci$4mq|%24Uyf1`P{`ji1F+^RX81ESgzx)fLg=p+D-(47dHpt}Ld;
zG>jEi&ElQlJiXHu$M>He-ha_g$9?{&lK^^o-50^N!28OH1nJOf&kH=AEhxFNaZ8^O
z+s$62Vz1zA9lmd4uSpKS!e<(Nb<*Gt8Q&OqscZB6L=%>FYl*=n>6QV;6+zbF_EsQh
zSey}Ua79H${UMn9TeU3Y)k#)X3%a_R4h$bmPd}>7E%Kaj@mu4;vv}8vyzZu;EgE=+
z;l3SSi*?`W0iW`qR7syzVi{v>c+IVe_iWowqAkQkfQ_d#kR69x8bBe;t6HJX897u#WTX`nKu_@&teRmpLds_@^dzCT$
zD9kNOSNc`{ir*4S|UJa^v9rq@}XFOl73j5K(@xT^s!MukQqVldVO@;I^FH}{!g?rx#C51Zix0+Y*`
zsSECxyV4Gir$}lq7g@o^&T*uWiQ?XX?G1TZ%bk7X1MyZu_-|xe5+kME-{M{`%OXzM
zvET=F7Vq4~?l$ydWZ%OC`lzenU-|uMUTUYUew*FZ?F)U}>ikV_*8ajGT{1pvQK(Dq
z`tUYw@jw0i@Uwm&{+nJ{$B6>pZq2jqqJQK{yB9!O1gU)T!iNPFvES5Ot)TPj7PRP6
zh5jbrRiQ6Mb_;C96+zH;`s08=u^rH=0Tpd?@-<)uVUeZ|b|({$aV1@S<{fLTro~hX
zRxiLg!J~ya2ghPIf4!Wp7U%WY1Gmr*oMf}8H?J4yMQ6*@_AT^Wfw!!(&$ijt9LfpK
zW+$rZ@6FK$Yt^3r1nkMgMh;T~*~CZRlBO^Ab81@!7Z~o<;n-_jLfqFoX8X#YiGMW#ehxf*LO={sz+qfZPoQjy`q;`ouGm1It#Wg1BP;%dk`P_O
zCidQ1Nh$Hj>z`>yNdpHgWkH|&jW5+-$Wq+s3j(d}z)i#VU(rwb{4M%ZBEb?-KJ4gH
zH!WMGV@F-Mi$1!~nG$fI_d?4(G#5XaOZv)2kPW#k(%zB-J0wQCk(#H?MLuG#cM5a1>l|H?-|C8K*<
zgd2s)w^kw7?}63`YM98J<7z{8vJE&YuwBD9`eU-1OB&ggYDu`1Q?_5iOH@3I;4R((
z$N^yaYz__BMy5)5Q-XVr2VGXL=U9tdik1`=izFUZ9FK5!o-QO8^yw<
zy79m=f|p$B?bJK{?@^!qS=y!@_>3QTQggt^Iv5>ARV6p
zHiJE>Hkv;2Cfc>o&?qu3MzkQIyI8E%?do;=IxiHXkFt|^_wci?-g6th*4S4!U#+y%
zM=fyRe6KglDgxM`y5z3~V-uDthc
zTbFN@j-B<6ZYSR_3C7tUFQ$d%gcKTePl~=Pziffv{B+xsPC(TabJ1w9&~_d|uY4pg
zzvwFaC;v|SCokA*;je=;Rs`BA$6a+OowfG4_hb3Jjp>0RU&P;G823Bh9>ylubnRVUIq^=b!0MJvw-jPy$+o}
z4Hy{nBm2qZa>-sTEym~t>pOm&*tCkCW=X0&Fa8}%DtZ1E!KS|l#GD;alKAd2J4KT^
zt0wLo6Sda70BgXKopC%7H+4?ZyK0H+B;MN#e*gGiQSPY*Hxtm^)dl1Yeb9@GoyiZ+z4Vc@(nn74yGdaKRt4WPCX#ilyqj%{N=z38OB35xc?*e;36d!rF2-$u
z^9rP$Jo;u_m@`Dv#@V?vVH~4L;g|_nGA2B=?xS^xkiVnt9viy6lF_|8l6nctad_EY
z{CaQMk)R{krNBP}I5yc^#Z{UKT9-M%hlm5?isr*;<<7TKOYv`UWl_eXW`F69v&^k#lxcBk6?(_
zx5#?|KW>w^Ozf2m{j+@b7Pr#gN)bI{TgAZb)NvH5k=%9u4h#HDI&~e*7ha2ao@ZyV
z?%U+KC0-|+bS0iUM0~|v_^-O+PIT=jc1jsKE8?yI9ow9qx11xM{3$MM^)3FKaB$Co
zaSuBF8NWbZwDllKf5~o=uu0$|+bWIV6;;Itx$~KHw=M+YWAz)cxIkY8JeR%;qhB(w
zdG71TrJgW8)4WB>Kb!YPApLSLJ#N;l}^~KmbWZK~#HfGY@mm4Z3SG{?s@k
zH#g$jx6G#<_M__Lkbj<2bG-AQ+3Ng~VXOT=%GTdYFMh}8WH7MY@fv)}-^;Fl>N$_V
zeuSOVP0aH-Cht)#nKE!{E|4RpXTX^6UpE#R+PRY?iplfjG3A?WhY~nt9T;g;OJ}6`s$zT;jc^yP1#~X
zs>@b(wFA`HiEr1o1>LVcu54?9WO7W2ZN37a+qoX!eboX)*9Kx-P(aQO#}5-gI#C
zRWH3mH8dY}+xyqY_gcts;8R!bqkD~?Z^70Ah~KofUaoAike5uJ0sA7|+)Dq`&%fx+
z*Bm5$(}G9~cWz16mCdhw;2n!9^u#aM6So+EPwoiWzKhk&E0a1msEKGnZK8}`knrt5
zYkSA-gRl4(&Kg!_{^UQfuMPPxNWA
z&5Pyyth(-%&?4T8cfsna`FMF9j_aQs$cJEXvA$kfhs=tH7w>wD{0A2EhSfs8`bJ_T
zhwa=4AqR~K*Do0Pw9TVXuq=Q<)yXIMt{}Wq9x}i!mKQ84|LVY-aj0CT4O}_N&%o({
z5xp_~)5GUaJipFeC-qFbU#7@H-ZG?6xyc00LB8WtHOC^u+4^z1{%v*UE(J*KikodS
z7ErZxuB&Z>q7g1(xX3vz#YB-j1@gepimwMW8rJk}&ny{G@oUs
zZ;|oLkI+?~gRc+p3F|f?jrrR$Hw4t#$`~Mt5`IK?sH~KRh@dmQzXq2F>cA5-(+=FA
zFJ9sqY1j|p*fu!$j!=8w497FdvL$^K|EewFv45IUwV^kBQ5bXLVcP34MvJOhS2>Z_
z;bmLpUhucd@W-#vukFCEmG(u)SIFcq&%^gFIn#&S;!0%pny%ZED8e&x!(!NX)&6@g
zZQr^s``Dhngng^a!{6TSl;kRpth!wCsMA>nwE8oxO14$*+D@!fmdw3B#tq$_ZmSd8
zJ7$8g939xycJTH3#)PFBGFq_cI-+g;
z{O+@_zVln`A6c0Jl~J&8C6WbCZnJ+B9|73JnOa|M!^4Uxiz7WB47KEak{qsNe$@$s
zU;g?Rz1R-DS||#~70qAuJK3Lp{Y^i$#R8tI{oJ!ZG&!Urt^sWwXN_oWR#4ryw|==i
z8d&)Dyc^%3I?C%+z%D*AW1Ya};(g_uZDf>-@vm?b9@@eKw_Z1OpkQVi+#0XNdhW2$
zqWvQacV9i{_IVcaTEGjhA71yuoGa`ox1B0|JG|)qo9&3y1OdNaLMJ>E23O#z_(J`N
zy-kRjMatj-SHu-v_Z&1okhGpK(tDRmKV=GD*rxz
z(p@0Je{8EijzG3yJGqklKt~=UO3HBsrU+qx
zW52<}HZeyvY%jY09o`AsLwX+9<1TwVd>cga{bCb4rUv>zri6G>yS4j*Zg{cD90YFD
zXS>d<_8zvA_}v@y+w=6Vo(&TZ`t{kyN5(Ej&zACi8QjOuSHWnlzv4~IQ%;E$U*Lpc
z8&?KPxyq_C=2Uk>=hn23GA;HA!O6-ZK(c}LO;xpRj6&;Aoq#ki6bL`qhPnkaX{q67
zHstJmoU}z#QIQp4IV>Y_M>T*HJ9v|D25%$>)mvOqJjxNPYF)FYRQ31(iMAnavnTKX
zW*kE~G$siK;aT5B&P&VHp1b5IHr{P$zv(-_b|-14gv8_`4~DDL_sMf!!_sN(J|30t
z=e*w^b2%oOPMMu|2E^_&-+>daEclz0tvaJnpk&UNMK-#9Wl|l&L7&VId-|8OqInzaVbSm
zWz4RsEx}*k#Y*p+YE10qb7v@UOg=I@<7u^bwzYttjaj?RIBAb+G3vE)j$}U%mVnVa
zf832Yd2(ynU!AJXW$~f~^?MdCTC}{^E$uAawyW@RtKzMnfb)WHtXl4ISK)c*%ZOS?
z>Z;{eDSfAf6IV1pYjOVJKmJ2{c=NqvYJtRw0T%6_b@h{5n1QkR*=r7h2=@rN@9Y3H
z+Flfa4gf}NYrCL7{`+Y06|1Jr8ZJALLWs`Tl5{UQLj
z$NP479Y|=g%@uSO?zMpDR(O5*`M&WHz-A%y1AJbvv#=LfK+Dj9!BI{?2bpHEbd`cgS+Y^
zT7j=^*Um(NwIIUhGwiPw+xQck2D+;XpRJNnneS3|0jqq+RJ`9k*Sisa@_OPrhEI*t
z6Q3Mk^bFY_|5ABncDYyOlWKz$vlER$Ig3b(;xTH{?TY+`x>XUeXre-H|eu)
zFUS#o(jNCA_-T(P!Or4(V8<0hR|oDC@g`(Udf4)(*!qFMu$f!9xU$Ie<~-Z`{<9W(
zTD<+`{V#Tjt8^@k{N_!S9QbgxLhG96ZSF8FinQorhxPbbx6yyDokf!DqxNe4-Dj@6
zYr&tZn#w@_z4asm7MB7~`8?zPIMii7Ud1zP8+DI=)kn#0ZEn={8U5quIayV+Aoqvc
z;s)Q;w)uCy0_uPJ^#POXX9KL%Z)Q+E%Q)ci&Tsfs2fAqT*xHVqSva8Nx8ub==
z-6k)*lHK`@(dgtH0VN@4iyhUd)($pkh%tX`j2G7zLgLC6KdSY8zt46O-$koBD{(9N
z)v~`-M`u>Cr!0C!ZHd`;v2!GN?l^jm4y+CzeU5K6hVPSdM*Dl_#C?_?Q<2weFCSA5
zr~-y>^!e&z+9`_z+I?=&-s0v3yl0~=*NUFLkadi`(J#nTvv@}tIaL-dbfn$yk$UJl
z+=k27t|oTAT}(RS4^iLu-}jDe&zJOX!ce%?p2C9byy3aOOvW6`?{ctv@_MOG*njUzNm8oRSi)*|Sce`IF?SHbGL$i<1
zwHDF2meXfxxb}VeG4QnCBKoVW=(u0@j6lMZXW}a#Yus;oCizrx7Kll4QH#88Z(yCc
z<2$_9KOX7#KpMN-&1O%YVcm1B%E6jK%uH~>$Dlq?k$BnO%a7KVm60{=*p4Kw2#n2;
zq%%VvKhmb$(YxKT`}&bQ_`BSlJjI?xHCMmiX%YWXpL%<^pG5KEh!@_$AK6;o5&WB5
z>8t}RPs8*X3#;5ute!*+w|YP7<7cc{kZqluB=_#l`mh}?lc?@WY;m)AiWoGM%Ld=o
z4Sb_fwa3g-8~Um!BhQJa+|W>B^=R8S`GnsFaYa{^?gPK$$dz6l5coEB)xWX$Wqf*
z$+x2LI9EM6O#gF*+yx7C<*!!Y!mBP8!bG0&+&VuC_r%NSbW8jr&$jDIyH6sCo@d-S
zdBs(D;{8F+yyvZsV{@LNN;pMSK1X^eh=DuBI)T;|clv6;6}#Pr2yKQoRD3J!{EnOn
zNiF%1_EKJ&YJwv@N3e=5eNZ2mYt*St1KWo$G>^9v0`U@WI+!rg&*|$aXXU;0ca6>3
zp0f6}9o^_B8zM4rcJ0z2#{&E=Uc&*bh0mM)+FF5bW%NhR+TI9nRKg#!wH^3cuKLnm
z=^}5%Z*7eSqSdb=1{dC*Bfd+9aVbR`zAGhe`gmQw&}{V16@4kZo(K5e^;L`esA7}%
zE%a^sbk(wGG)t<4k_@QX0WQNyqDcc~z{;Cqfx&nKe%NRi+iWOv%$U!kp1n1eV+-=221A{#n#
zlK%4xdt=kc!_ZAmGL-QKM^~(RZ*~UPi=%_dE~ZTJbN23>4Pd8Yde9=;2mVz`Fe%iE79c4#FJuduXA
z$L
zUy&ceJIhQC8@T~n>t+SJ;{(KNdli7?#O!Rl#ozf7GY-JG5~-E@!>8YVbN}$>d98|6
zmqv|PUhtJ2&3*^cB_7pfEh9cjOq1V+*B1Ra#29_@k(;jcJ1>f+B=-J7`^i8J*yRGSM7eLFMX@FV0AtP7m-v5%pz126BdsMQ#mG=}v)7piO6
zQ$l@xtFa*&Tc8*#lV`#w?A5g{pX0#cPkgO@DJ|s>^Te@d*ms6Ivvbl9>BpiE*h84|
zfaD(l)Vjystlr+26G&M(Zv;o=$pt89KTW<4OMTN6bpoUcO>%_tKHI0h)FR`kz2ZW%
zFW0EXzs-92%Qy^IJV={yKF12swcRN#Yy!4g{7>vQ#2uC61^gY1FCj_Cy@dBi^CZaF
zapcDizoqJZR(IZwVQ?zLx=P6zXg>U8T%Hw#jH{G+I^BLJ7nd>Yf
zA_yyNm$azs!vbAMPn^veyHiTnLpeZj*eC@rf=l7Fe|BGb8yFkPwFpG5OI>OvhinL?{+u7)t
z2{as8^C9jKrR@#{%jE0!hP;gV83*yXfA{=d_kL>M)BPb@qo1B*OZPu9c@Fbz)g
z;wpFDlrgnvFRLOuFE)Y(_kedZfR+5>Go1w%?WpbxIm&oLkV|1p9}A+IBaz96g?qt>
zPQkjc(hVG_zdHK+*4Me_qDSvnZ$Ex#^SgBw#|d$p{+^)kQd{+QB`eOu%Q-{pC|K3$
zW}!{~z9xjoNZxlluGQgD%4!>n`0p4nbk(O$%GY=pv1mp@lkK_wgpWW<8()VTa{Uo@
z@ABn5XaPeWGpywvO1%x-{6XnrTlf36q)UqMujSsqOTIG*ayEOd;*Tj@Uu!rQpHjhaQA
zuX2vt=*#<6|2$J2<_BkVU*t0O+KKe-4ht2rwVm
zR#32~XoWMcN&$JMoh$M=;C-jI&A`}NV^BNTl0$nG&|NPRhaCX=+F=tX7VIvShZQlD
z!UK*9SK>!o`B}fyu2Of8eAREX^HYS6dZYXomEp^u!c=SCmK{;-8E?X6_YsL{I~
zSRiB0&)iBQDN<3DXyZZm!0;-yYSo%gRLXJqu505;a%EB@;g+n
zd3vXMO#e~l$HXPLHb-AQM?(6xWgNd9$Hhd&EWEF`D7o|!N$_gAQO;|>u7K%u^fr!O
zBJYT2+Ltj=RDq{F;=LD!?K?RK;q{)J@%@s-ki5K={$86xXMIYM=v{5aZftY8v+cl%
z2>tFQx-auOJ|xy_`^>D+2cLHM17FJ(|05&PZJTzH7#&mf;8U&?@qdNCZ9Dri<<~B+
zGB=WQqB*di>8b8Y9u^5O@8;@O!d%C*K=BJ*ul4WaYOsZqki*y`Mdf2pTIg5rW-#Q^
zCND;Jy|DJUt!>M01YI-sevj>_v$`IIzBf1j0Aing-cxL?#9#v)R4zNV^y%$vUM}Ys*&WC#&{@TsyAY+_l1%jpINy
z3wIXh)P2H*x5TsXr>I*;y-0`8cPdC1XfN>ibBRYFH-a~v;z2fbr9n%iHeB-JY|rNzM*#3V9J=Nf;I6IwX1C&%RXYk4uS(r%F>)Z-?81(qw$P(%xA;fg7H<(SSEc?v1!)^_MpMo-EW
zo`_93jWS3xvB01rpvt_6tIywHD_5EfRZC34W_luo|0;)MirUQ73{cfEDKYLy+Ww;)
zc(PU_OP|W!?03Ad9~c#;+P;@Q>-%cdbu=-s%`mgso-)c}({`gsuxQ(;_GYne=*x--
zngKP2B%sR}__LfjgJ0?jSiJ7yYrnkr9~;fMd!<$F@7T=_0qZtt>*eIS9;E@=(WAcZeqKB
z=&=_Vavk#-L}9z15Su|?(~h0Lf^T!i2>XgR^TF2NxwSDDp5
z^JsBoFb6uh2E>41k2Sp*I+Y!WkWT)WJP6@^1EBGnVGK;WqsV6Dsa>XkAQ!9jB7H2R
za~0kTrw{slc3v{)Tj*;MpIhm)M^bUiB5!}^L=id1o8o=oBDg0Xj_|eP
z@`1iee*W!I3wPfoqUYN`X#xL*pB*%gNl{~89~PTLpU-;|S6kvddPQwC%q9zxoMix$IIw7m@C@OlX9}%p+Bc`#n
zEJ&Ziv)hE;*(ha|9Yqxzc06z1*jX^70}FgcfViIe^2T;etwXSLwka9y^mXh?8OjSe
zL7bG&rnep9Vhrqp$o1P5R3y}p&^x-Fr;
zPSvr|-R=P<)X_nfO!wRNsKSi
zpHxUYgsZd_AG)<%hg|fnbo(~JzP4TByL}zo;fE3j@y@Q*=nKXv6}}#eotz6k=CH{N
zns#J_xAMI)r&BTx$g03%KeBc#d%FrXBjeg^HcqN5g8j0j%hsAv3cva?g>*{_`lq~w
zemYdObkque%l3It545Ns_7ltj%>vrXrz6vuI-qeUhoRuKo_HbHV|6OOt6k4G4!U))
zWJZga8|8Dz`(W9`GWl+e?^$7zNB*jfozu}Kx{b7UVp=7Ou;OfAL|~crfuRMD7LBZ!
zwAePX2z=F;-)XOx&~ckQSJB56__1)`p7As;SKQH|feVd(60V+gXYt;La&ll8>;f1Q
zO}SB5)@t`*ZwD#$EdrCcNG!H8l(9n;YAbyuUz3X#-H&>9-Dj44c8CQ$x4ajOJ3bzj
zgFL(bjoaaMSI8H=HU5jPwCAVa=1Ua`TgBC-V~ReaTY6o}6!2`dP_F|f+IcR%`pX2i
zJipf-FQ8>x+XbES*Y-Af2QfM1
z73!V9#66;&5m)tv^2e3w3oLMW8~PS_hkeg_jbiz|DjtS`
zuf@A+-pTI4%>Wa)B3bge5dLf$h3z)ZU*)|
z6MAkwkMnJ)SN&-p_UVaAc%Xj{Z)m5;qlD?Osz(=m)FX$~_+gvu&@NkPTzSp@_vl5M
zFSD<5tb8pA@j3F=cHsAvmAW-!Y|(D9e2wgT^uH-hv%7YZn@3mGY(9=TWouvMI!D5P
z*Z8@TwB3eYM{8sUp7yy#KL!)~cG~+qareZ(lW=#V&q;SPZG=ju^v^D@HiGX`!DiHP
z9Hv)1`*?;prjHL}x>)jE7VtL9mT5wg!p$IB_l>i~%pcpti}K`7JLF@0zLR4iBTkh`
zo@a>JmRMWGu*XLZ#t3U&X_FQ&i$@0%7S2j`OKuSK>=+72Bq4(m}?uWCZSbV
z!|5;HtDvuvL&=r+v4H=otLu+iu=B?FuX-6Bzu*2%i+$R@+O7pZC92CJO0{L*#bQG=
zY?y95H1>nOs5<5NVFYzeNxaCZ5_9`I2HmFIQQTrHn|Ca)YRGf*yN^yJIX;R9CpUag
z!{}Z(t6Ea3K9DD}{w!d8cHfg5%2Rtq9iO*6uUzWw@8RDne{DZk=gNO?POW^S^F4gQ
z1;5o>oStjr{q*V)r?9^+*s!Hu5>)oNUuAgm-VBIP-)4&+X@8&cY@A@n8SeX7@|IF(
z6kj8C#2~`nEF3S7?O9H+=R#`oCv<7QBnl;u{dzg>eO%_Fmk4Y;mFCKRDZ$3o&b8fG
zxA7fVe5GwmnFFXZ=2WBZI}XtU(Vbi5UbE#+Q5QDf%l9g};cWbfthewdvX08=+itVx
z*s%5Sz53Ia&*`%xd%iae`)q3z{m~7Moxgj@z7M4}TT#tR@scywa^t%!;ORNrRF*Lt
z`Jla~jhdWd9HwL7zRg4frZ%B>?ZCfR>0CqUm8}QWel>ex>-Y;X(4L6j_;&g^(5W-N
zt1Pc&94wu~@ye(Kv!LH^CkppOTR+5(`OM_r!QjKbw)dk~RLiQZ_xGucAXL^*fA4o{
z@f6)<-Sjay;IZ5#v_jTyiwcx1-ia6TwK&(Jn>I8oxF2+Tyz$Uv0WUrl=v+DH4f3WJ
z4EhgVxQiCNKP=+e>2vkHKBiM0+cBY@ZI=mHfk`r!lCI^`4|G9RyvN`-9wunj*fw_7
z+6)RU4Sjsuy6{@0b0rI(!{}OIBoe9$>fH;d5#IJIJN|M^5iqcCBmvL%71Ge`JemqisR~SEE2@6HP~3`eNYf!`hChw=OHz
z%*|!tndhtCZXYseM^hdmCBdFav5f&PF?coi}8OL)s~iXv@A57Cz`whd1rw
zx5E+Xa+N!}VJ8E^E;9mvp*^_BN*OxJ@-|Ztbnf5eQ?F+LJ_~)wnh)~Yg|~Ra&oli`6qV}x?xuc{}GG@}motMXbuRk_M@#=@+
zdzO%nQb_%0@tyMln;aXu3g~S`Ry6hVZsZ_17SNgsy?C!h_%~lMXL>B$J6&D(v+dBZ
zm}eo*f?Y?NzFM!_-}y;5jGHf=8@xl7UtG6ayw}xs9K)u>n3&t*VRr9>s*^L7H#J7&
zj}WZ2Srl)vFcr_1*JQv|O5a9{Le;reOIeR#uz=TRftAH`S~~B4zJ&6=O^DD
zc?q4~AkP(dJkCx9rdqsX$M6AN_C_{1zH0hxQ_&bZ9B1+AcDW`QNT1sX#{|5z_GW_0
zfY*yd!f?9zlz#L)sTlGIhWnX58lOg9{Vq|?N8X9SAkk(yigD%2k)|$X)Voucrb*@j
z&z+#M<6OWQKJb)xs=JHq+#0cu*j*EZO?_M29d}PX{96tT`CI!!Na+vXijH~U{n27*
zM{9!VL-Zhr`kq!WD-e8DG}@j2FypMRq;TSJ4E>>}?*AFnL`l4naG=j@IWckgP}u9d
znwt-W977{s~XS!d)0uAInfW!BO_*7Vdq$mMXYDw8|`XSm+-uLS1>s(KQ;z`K9s^>h2_h#r_(n#X8)Y_~nObjSNB
z&BE1mDvT3jdnh~n2s|ASip|HYHpN;
zAhbERUDxP#oEhZ;@b5OIt#=!k;ox+YpJJmckr!0pX4>Ik2{sy}*
zLmMbM&$fHyo$&(ix~L3dFR{NRk|#qV-f{qT{b=tAq?Ypyc8zQ!=1*U9UsaZJ2Vv9B-Yb^Bz;*549{Aw~yHU{Qn4)
z#DMtrxb}9Bed_7gm-yfHz+Zi^NLo7NS`R_${EjS@)6S9Li}-6z?D@b?xeiuxS7*kr
zvD}SY?MizU0NkH}D7q6H1dg07PLTG6ynVS63uOEO7BumL9!>n$*qpT!ohx3RvEBt=
z^Y$L5TRhn8erEi+&)(kp>UzcV9)lark?mbZ#XC`NjBi+-`S1dv!`OJv*hu}zw-;!5
zHVgisyZo9t9zVfdUBHX;`|YgMm+K@DgP-l`AAzA~>kWIH7-zX`IeZntnmlV8Rq438H!#)
z0<+&w0Bx6}g9hFXUo(46@Ou)qz)Oj*%xm$^@3H6Ox6Au>c)f_uaFx1c-oN9{;+-RH
zcG{ePu$`O`Curxmvp$b`
zxOFc4dE(CH49pfU#hsbivvVc7a{)h`(;KYvk*-q*y5HW|q^mY#@3pz<`g~vep5E2h
z=&cKD;=8K1^j|f8@Ne>lFRzt(OXpkQd&~)k+aoS#{ZE|nEhTnb_$p)$9J64D=2@HV
zxSz-3SMoC_WJve@S$5qZ#sogTgRAA(4Yq$^bng^(NSeF8*)?7ii->&|bJSj8hGe4e
zU^p=#`JcPUp8U8|-O+Z!@}}U|8m_BZ1r>R&%F@>)8DRZLcwj
z0lR2!vG|y)VL(FSl4J>)Dy=mM2mUCjw*7i@zU0++61WURP$OhgVRG4o#E_J-W;0Hl
zX6^i;OIe+hmS(IlZJ=ERfv37fY4p^0BT!ZuDH{d9%4_MMbSI~AU-YL*Wy>n(f`5@;
z%_-v$J%BseVj;%lH?^3BKf2$;96S&2G3fCjIz3-pw|R!Ta!KEt+UmEhiD>9n(6{-?e2
z%=tYORfaC+ryVNV1)Ke29AkR~)tXzo@QP=`QUNnKu_Jr7J{MiL-Z3d57kyGz=(~3)
zwC;l@bMOO?&KkkkEzNP*SSYZ7GfpQ*g+1$r`^5wo%&f%pEVtQ
z;9}Gx(4}CG-456qm5b$D#knCzm7J`+oH3ZXCQRf4r=9Xr9uUc!A_mC-C`afQXZauk
z(^IF{2lFg~6w^_hA-rzeG2X{DlI`O`mG9IC$alY?bM#jXA*a~z#O2~|##}~o4m0Cu
zahY}SPYB1S_Q8P>T>sa60_Rvz4h7YtQ$Br%2Il8_!SsGiNJAr5bxGLLKWS34)h#w|
z?@3G3rLL5VMpx0_bBnuZS<-mHKNj${VAq12MX7IZ
zuSGlyc=o=v02houEy`*8ARE1=XD6+X7x9A0NYt}K;5PZ~>N_ZX*pB+FF#UT@7+ZhB
z&nF{#G|lAzk0^uphlRN>x0-}6o?BCZ1lNZb&*{S(<5{TlTzf6vzlf&ZIB$N*VnWNL
zh8%n`1RQ5BY*-l>|0wf;A@D5N(@u%p+RA3b@#F3d{bdQ(ZH*fuf-Y`211S;t?*0P{
zUF;86+Tq*EzQ@~utr7tZbaz$8lcVHz{O~~wU8Bv9I0*5iU#aj3C_|K`W`oj
zvB@3HR~62m=-njk6=D~$OzA!qtoyjJ9#q!+@wmUxS&Vzl2f_r3Ey3Puhi+f4LEewg
zIwae3>{}~;VOb#99>#auh+Td`q~;A`ItemuI#v^GS!7ZUY%`vax6@!*P2iA`EW8Le
zV*mkSDVm)$bEBaSz(?{r^Hv>$uRAkzW8>*|1$D|}{g>FgMeS@9*NzdtR^Kjl1%jw9
z&Y~876MG0fcEsFcvi5ak_Y#YCW_IMwdgG332uuA2zjLhnH0qJs#T?og!d1^5Htb2d
z^r`i78lSjQS$v5zcd2nukUppp)MdxeBg0EJA(;IR?-4(81Q&7Xnlzj4U0h3VaMe2d
zp0ZX7=VbG5jmAp9w#nCu$%?7A=e2J4G1&qo1|w#p-0Z@Ytub^A?giXrmj77FR^JUh
zJIBC%j!geTw($#aq|-1FZS)(%&?)CUl>*-!ZT8s0m1*Kn<9%Y!zZHAZ-Z{E!
zoG?5Od~cp?V}r+4y;U@}o;WbgvM+o6)IfA({GSrtL{ttZ2`^O_HPF^5CoZz^Qe;AZl03~Al?xOG8qJux!})E%CmG!@^x>QvyZR1o}szo
zJHWPZy+&sLV7SMBg{vaFTcm@aZK^{kruK7IK3
ziSM3Q@eR&JC#&JWxJ(Wm#kpY`n-(6)0EQmXxPWIoWI$iVyI5?4)M5&a#uWE}Z*M|g
z?N8?64P*o?LiF>`{^%=lLQN{|OOCx@_3Jk9)rq{H9?y!pR@cAimiV8v+Wxa%pVjwI
z!j08<4$!(3V)Z4r{5Z_1rOHS94Ha{O-=oEMpo&q!hot)fc}TnGOU7v}U__(aTX5_v
zJ8q8QJ(3L4OQ1-LzPu$)MaSH*rQL;I*)|kCY@(wRt_vvz<<1IpLd$A9#X1+b>gx~e
zPguN8F1oB|`d2pGnS0V)7O&0vtCVa&JkT=9T`O{+`wSk2u@MD{VJ3<*n
z#~HJ5U3TUxEwlRtw#2`s48?F}fw2<0HAXwhZ>f
z(YS%Syy#dmzJ0IuuV&yd;U)Xs(WlzyzJ@0?e@H&t+x0oFwc{Hc`x0-)cMEub;NI8K
z^}VQ%*#5!&BIZltW$1G&@|QvkB!!o>+jMWiWHN5axP`xhXF_kudJ3NX_9^1qA1063
zuk5d*+%iCivL%Ltl}FsxPGPMRP`#k3V!WOb@1u~4`A_=JI;-#gc{f(f#UCCG^x-;I
z)G0E-^F4L0n2XoNIR!d6@zG`l9=ov$n2U5su&bHM@VV`R$vXtx!EG6+GixyHGcLh=
zWD>J+KXy4?b;|QyQJ-Tg$^CA!~;wZlbgU|bnh$zxnr9E05p7(35^I(rtZS2ow$8H3%
zi;oq@F&6x=5|7+n_831Cf76V88jr&h-HAdULv!U*Xz#U=e~;!0xAQU1t#t0|JGXPi
zy$cw&a;#$WF-|R)BH2THp|j@~WJ0(ZaTKKJ1?+b8m_YN)mVIZZEo;g~8!&H|4{YbS
zKkjzkr~H=K*ZK0Sg$JLVA2nZ@r{HgmpVf1pE^FdPf7cAvaVzSvvA;T9XufvqI5i~+=?DPe9k`4{W41ObJ={0
z*Xm_Ne7W-NZUKKw@VAHW!DPIm8wX!w*Ume~Yc4OvPP$9%+kw0MecUyGBOaZm$ERqI
z4s}}NTRbB>2c3*>wP#&N%C5_^CR56qdgr5qS8eK}Sj7<#;66}si#u>XRF1-t!doo`
z`*_eCZ9O#}esNLAQ*e*soI-y6MtkY;3Oux;^8@U-{oXu+32u7yVvHN$qfe`?b~JX#
zF;;7u8b19V{xDQr6#*k^j(zgZZSpSEwI6Uxw8lI&-cOU~$?_V1{^chmt%y(U={OD^#DC(htyX}=m$6|ZD5f~R9rEDd>@`nf*!hsSj{}?g
zz$jWWA<563Zy!evE!)Aw0zLJ<VK~q@8dlU`A>cva)X^ok0~x
zc$phc{B$ZQ42AyM!cn=9(ZY+n9mUA1iB(7(0tduym@8
zzNI7hvWfjZ@)phN_0K8OiQy)_WL@P1HiRekWK87xM)WFj1r0r;vXvH^Wp_Rk{S`Ln
zz)_}&-{H-AB_BhU{UtbluRLf9hrK||hk4~fxu1SxNjIqY9Qdu)^t=0sS0$=hcl!Z8
z3+uYEi_gEhcv(@XyE)f9#rCwFzxSv9*h{S27XGvib?DlP5xAY!V~IuAl+L)tCc>bF
zuD2bRe%f8v^d|%_XuGT~C-4sIVqXgHy!ZMw6^habTG!M2k#PkJ?rXM*vPZJapJg
z+Qq-n7rgS|Z=`_7rJ36CZ?*v08ffT3iX1qTCUZ0KUA(((W~fI(LRcJ7w=kCXA%)l0nZcVv+B-=
zYOSaXSz=A-gZ)^w=R52!;H?#O8SD>$>P}ajEQ~G^hMjJ(F8VvY#4{}?%vwKn@ot!O
z)BdWTTGON9Rjl)>@h{_h?fE`C525?~g(t{!>-_j$yy)vfK-q=KxMP>%*YE?M>!49i
z_(Dmeuagrod2STShmH=x&HvI7cnoL+bmtl64g5x4Lvp8j{s5$VLybRFi`4I#>jrvN
zcgaOD`5gn6xGP=2`YX8r*OIwp@bus=neV_;td|U7hCBy^>C&tAwIQQ3N339ZDshBk
z$FleKTyV^&yos=vx8*Z&sC>7@47AyfJ0ij3Qpv#IYg;?sAsBpDqC*SrDqL4Qh9wXq
zha=~fO;b+z27qHg-y)}A6{nsXHTS^fyZt90R!rc#w4pgy^h4_iVRRfbZqR&{#xp6&
zv={R@(T9wFl_eL_ryO5Q-sWT??{tvKEBqPXVR<#`kP{=94O5IV*UX#e6}yNXoAaZ(
zZ+{;`BO8I~&j6nQC$-Ms;ll|z08`u;N9q-Q{O`Cc82B!S_=V0n-^L{?R;2CRMNyxV
z+JkjLUF=_dt8*slVuJPWSZa>(rK`u{_!gt)7*_FTe-HkxZK8x6+cE(2Y2QyO*nR12
z_E#70IbWFzFM~igDtU{a)4y(57dHAUat{bEcn_dWe{iwKW5>QQ-hb6i8~U`^?|BxW
zWZbfEhxbf~w8!m?*Mao0tSkEiOM4LcfN|t8pmPzxV_W}j)M!L^I1mA)OKm5sY
zdN{{?<1g*sPyrvOzFtc}YG;s+2eF-W7v?;ZnD_WEM7|hwmjA#Z&ixPDtv#WL&hih;
zmjjC6I`B}`uwj!FJMOgH#x5AQ{puj>j}eMQ^}nM?|M-Jf*tzvR-({yb{|MZLIy64>af;Eq!&pjiv^?p8yN>mY(xPE9&*VIU>W3O9?-2bJx!5
zc+skWr$DbF9v;24!v6D5Kl=5{=N|=AaW8)4__!rz`y`(^!qq$&Jx=CoHUudbHRJ=3
z5%cT^0)iY{3ijM0czJC6O0kL!FKN%YI_7w}Z9kEDpiLqSW#79%ZZy8CQ^*6~ps)DU
zfp&o0un+K`gK);P-Sl?eLtpxPnCaI(gZ#pI{?xCZPE<~GhJ&!*exTGOJ!Lu*vkXm~
z?pX*2uf9Fv>v;Ov+#hqWtO)iuZe^x(t)^H`r&Di)}N9%7Z!ljm>`-^@;&=)aUG7
z#_JU7dhga3>Dsb1*&?EJleAEE0(>CwD5X`Qb3;kizrPW9XNANlp(I~OYv
zPCymp>_*ur#9hSGx>%>!R?(u8qfr0!gN8-xgSBsYr--jx>AC9dg<+|n
z@T|ffn2L8H`~W)Pd;sEY^gWg(X@O^liLIwr1g4?AASMTToFh9tmPesYu|5j(${P-D
z-0lvp3D=6df9{Q+d}9?J9vARhZP$0*zvw&ftjr^iXxBr{a7r(U@d{~KY}Iw3UWTU-
z$40uxn;m^lFfZe@F?k=K;hW$PZ0-JmXt`pYaQaD(
zjrZk43F~LL2w)D?c)#1`tmkNsS+{Me58ar0&Ux@%LGQoZlPiv+eED?Hcg68ZZ(1J!
z06+jqL_t&>ES4hA{=bvl=d>49d`W946W6wxJ35vz55JC!N|2Z|lhb&rTY_fJ4g5iu
zV2Q(I7r^`a1pLMw?9trpcK^m!-BrKltmfdB?a*D}u3&c+z7QGtw(|~e=sF3oM|_>0
z{*|1a=HB>_qlEMT(73{UPsBIH5g$H7_d@zPBg(-?F#l72imiQO~|EDfwpMu)a9}7BB-1hTCx&yGMCt0_z(_Yba
zzD|49$5+gBJCj&Jr4Q~6J{13b0k{0Ja_c|xKce50>l}+s-f_6?ocMnvNO9*JX{ck)
zG{kfS(SlP|OQ!pde8t);>EBiHO`)Db+qZ+M==KMniuo$wdAj@$ra>MbR9;~pMSQ;V
zj_rl3Td7>s3s$m5q%f(O+xs!SxAA|%Wa|w$p@#7WsOJMxx{qs?}BA|(%7#u(XL$gbOkf$A0HpgGH*!d}(coMUs6vo9zyzsk1M(GCmvYmXC4X0d7o#_cO$4bmf?}{>$s=Ba@SPiJo`Q6
z4%BHpdCIcL!$)W{o{K3UybVvr=U?V;p1f^j8QyD8@oU7fV}hjK^uvq^S7-Xzfal0G
zyr=
zZ=iR+vgdlgon{D>=F4Jv3TM
zucCYu@W^qIu7k9{*DgG_kEU3s{lp49@MYHY!Jm`1^!c~&LWhkyXA^-T
zgUE0}$Wvav)t&FJ>t#W}Sy87L7hOG!4t%Y)|EiYXZ}&s#L}#}w8-4oVDs3b3>%+qV
zfX;D+%i;~r?eH}voM_~O5As1<9AO(H;m+trN%uAZqAOY(3tW?JcFsgkLGJU<9DPdG
z6;XMx;&jWSD_)|5efMm9M&1=aFki~C{G*;lZ|TVkQIeBv&{wW9s66t18~m7{(DxRS
zjP2T9pj$(|S>}x_z>+$bZT1fRO@wuo)g9X8U+|nM??FoX^yx%e_VxI9Up~?8fcSO1
zfU$Bv^tqU&Susoan3~lO^=sTc_~r?WG|goWdJA;7caU|Lav-G-9-gHCk-qbRV;}hX
z{=R+>aS-FLUWW;;SQGA9b)+9D^A1OMcym>{{bf{WFq
z=O`^wzGnMKp;*`5_z^>&|l=f;;U!8)D~Rw_g|Z2fY{gTiWXm
z3b31^ONJcZXhRTK#(R6u7=*x|&k1-VIBoc8^%`JjmU5uB(2il-aRyfqr?x&9PGAEf
zy<;8c<$Om~-+6fi?{diBzu8;p4~cg4^X>?~(=-XT%iG6yg>J~>!Er+&rre6HpS;l3XMV5UT&%8w@R!un2Xdjj?Q?$i7we8&cqV*yL?>kS
zKUzh|9|(11@Tdw9M4A?9I>4Bziu1Y+Ubnw{^;|qI-m74zc&BjxSwH>8&%yBoc`dnD
z(O=7C_Enx&I8ib-d}rjDAlB$q3mg|bSA(33(xEqvLam$I#5xPcK$2ac-yFbpm#kcn!>DlS`G3s`e
zJI(KXyz(Kl5RYoS@R_&fktXwME*izd?up;Wr-y9sN`MV{)r?jQ$WIq{y+Gu1L+BNk
zq9w1-nf$J1zD}6zimiJaf%p#YG#3!qz4Fn+gYP9Fa%%)nE7TbxWQmw$=}deDG2n}K
z2-#&NbuT#H0z%EoizR9Q>^`K&BKzI+lAD~<_-lXl=GdKscCAhq
z-91@*Fq*g>rBp%ZKFKGt1-KyHQ|X?*C8+ffpg4IO%;af6lM=vGmY=!Jc_0fqbuKjH
zC0gQ?eJ1_1Q|{IYecFzGN!$~vVU@&eky!*?#hd#lyQTI7d$X3838=X&hwsI3*_q(H
zOwYHV_AJgkyw(^$X!m@(=l`{|I;8*27Vx*6dInwxz}j&V)MxmfrO5<6OaGhD?a6jJ
zU@JbU+I8T}wXJ-3vMaIX>jRKO$@kLpVMBzKq$H}ZI;+g2fH%Hce~(=&@H~Ky+u(Vz
z+McJx*J`?ob&7Umh`;~L8|J$}4;~sFtcg9iY&qb^?!d3w&`w;FGhyjW+&HLk^-n8B
z-VynLP{ii#s2T(33L&>rxlggK0{!#npHxWc7J7|8^IPruIXHg1omKcM;#J5~;7izd
zdhv&U#J3cv#c$hH@5X9AeN|BKBZo-~9uqLjL
zlwQ$w`B(TyGRX)2=XOeB=AVqHwtAELZpUKDWeK>lGca1z_A!Fdn+@DO|E}=S9~pZK
zK00^Yz46O%TcVLH0p@i@{D?@hF1CCcGIN+XA_ZbBuPuFC6zA+U37c)QidS7oD`M
z!hb(MX>#Rt_fX>oT7|~9w)|OF?cF6YbDa6!+e?N^pyapwFp1*W59l1-BmYvw?+BQf
zWQxn~ZJ(08-Jj#9*UO#hvf$3X_q?P!{uO;JKXW6uR$d=}t|ps{hdEyIx_#`sHNVU5
z-5;2HiXiH?l~L6cF4fmPk)Cxf(icctO!T_Z4E4v|DTi&RVQkp)8T}jA6hSPp-7&pI
zG^yXelelG0Gu{mj{?!(2lkjGFuQue!IQ>0>|0YLUi0}G9{JZb__%3rpRspZX^@sRC
z{9Y!v*;zZ-0PK!;y1l=A>EUJPUa!s*`m`N4`&+ywymjvJWB)xoVjkg}s?qKKUGX3B
zUIFi*%Y&CrqC}J8mmGm?#(x&&2&!A;Da=hz!A*=cR!3sgQfwPev0X(w51*qjhqivg
zjn(*3w2#6*V`RI)Z-siTvSX)gz>Lvw4#QS0gMl#g;_bqJ#IYfR{y~;8qZk*$#qKQ5
z$9K|+7fgAvq{PGNL`U)d^G_<)_4Ig(cy6QjE%Ji6#SY&rz!gjcau
zz;jEMV?OXEHf6o_oU*LQ34Nob+vzvdHyO@6yP@q7{_Xaklj4z1@VE4yc(Y>-|4w*K
zQkQkWJFP~3B|gqG(rwvoe$8*mp)HxonMzIQE2j_zO`f2SEbWdr?I`{ju-dZ0MjB{~
znq3BNdDra*kIl;ybG+$om;bD=ov+VHmtnfi$DI}$VDl9LBNn0Wp%JyIVn^Dr_BQ+-
zmVW0;pCfwu(5);8*SYQVXY4Wm3cqIYk$q5>@9vdti(R;aPrbyGfxs(f%M16`aI$^v
zPW+7OIbKHEx2sqJJHjL7Ijf@!>Pkm~!=M1*yN=N38a{iSqs*JOy=V%3VFytS{C>nY
z#OR*!M;Wp07=vO4hAXiZXjxnMcX>}vHDN~!8^YZqw%gtNkot~9c@TJyMPN);79(~|
zo!)d#jYs)$v=5m_IY%wajwAfuDDoz+RYtGudt~Ae9ywRKkUjD0M|x;|XQs~$3nCJ2
zMa4VE(awdeX>YO2_o-(<_VFZCC%7wFft4x4mS%en2W9J$)$_Y_b<4ZCYr=8tYO-$YWY?|4va2JtjoxO=CUgPLOGftBP6GwIw71X}9eH7*OC35fc5lLk~^N572lRqb|L0A@TqIw2oSd1
zECBDU4xylStYUW|&Pq8e)h^Cib?5eY3i!`+wH<1&o(s-**!?|rt+N00V}ANgx5!I|
z!X`ebVqfll-3gJwEg^KD5MQ#AEHZFY#i|T8~L-1py3buDO=pD(R!EVYw%vZJ0gh{|F^dIam4QekMX|d!RI60QD#QS
zj{G}@h5T>4b>7`dhUVL+Uwxl15Q35b6~%icZ%KRod)e{4ZLyoyTzbnvnQ^TUmpsE8
z{`FSAA7|`;Mq>Or(3Wcl(4&-hLEniuKw6G8I6hnepwDeg?&<`T@2IN)*Hh#nVs)Kc
z;e}9rpn_fSPpq)Jp8}rcJQe<`RHob(Q}$_VFe%iZn+
zc4|ZRw%A#St9S7uq7F9hsV|QUI5;@GsYuZYJGZxUtGiF+)qY`xT`flnU4e5kX*&N297xmii0g87y5}xfo`Jpjr(}_;t_t6E;~C%OzTwBUIBZ*(;RZFBewo6{=j!Rfp21N4$t;?
z@4}Xx&-m?rElKKKsXP$0!9INh@rZyVJ4_!6_=$A;*p|5E;w4HtmS
zciIb*cLOEV%a4Ne2UnJ|ah!Odx!asL!P4Q3EiK9c?AtxuPW$9IHjp}XC>qK1kYDq>
z0`!pjSpwoycE}zv-Hq@ob1gonwQcd`9b&8%_*ykU@F7U4c%sajzy4bVwUpv?B_R{|
zGDDz;qxhD*>4EWrzfA08fA7vq{fquz
zb<$Y{Hz%Sh#QlId73utWHN6V@?_7-Y{q|A7!^d6_<*6#o8Am=R6dwhYtCd+YRs~t$?v(m&dVV%=9hRuM6*fH1}uj5np`-l-)(p
z$nMyd+&)t0H0BQDi&2R!jMMHLQpykc)aJGKr;Ho?&w#ro(HgeRzv*M~j2-wpEItYeO(hFb=p&;F;OS
zn=|;u5b3@ZhaRt8E>_0U1MZ2q-qL3|Pw*e~-5Kn99*w)Gd%kzNxAZULcSqnun_epL
zj;?1>#I*J$juB6D-ORaXCETN%_J}Cw+qdZtJKu?H&zTVH@HyVZJ)E-$Y^`shp8^|#
zu0QB60)2~qV}Ce|=FpN2XV8eAV)nx3JkhR!VO9s_E
z4%1CH*e8$WE%FJU#3CRj_2Q(QJ|z|fy!sT}8WXP?t5{b-&O_%|ZRbVd&Tq7T{#oB?
zr+C*x>3-4EVODbCDZV-h
zux!z>S+4w$gaTZ>!{70DNUzvWFzGvOL*`pWpX3_wb);VDQbvrR7M5}HC-m9JGCsG;
zFD}|-vPBTNkrySq>@F+(6>W2Nv_&XOq^Dj0Sb?`L>2?dp#dIA79Y>G-JJRs#A6lbM;L;u~zX|H@cSm
z-apzHD|hICFA-;g3&??7gP9)}v^ywsdW0V&8fBRV*J;y?jPo-4MPf}1i-H)WZ$So2
zP&miWlto_2e7Uz=NkA%o?JWXH+hvG0#7Y3YH*TR`t?^2sWkygYOPaF(aS}5S`
z+%|`|8PC;M&)doV=KNp_>5aBqa7EJbSjTYyx@D4dxj45m3BS{!lw@SK@T*%rYKX3v9ZkX
zRgi*tTRUw+-5M|>Y?xwKY|}7IO^=7U2Fgt4Qyk3O_h&-{Ej^A$i&J>hp5|2y1tT-~
zItW`VtxWb>E?w{u5(QF!QtMq4|2-g-tDdbKkr&K&*G?1YcS}o{DeNZIxx-
zmG%Ry$MpVF=Z
zEXKC|>GBv+JA&l!FJc$s6z#2Ww{8Rp<}>(`Tw@A&73l@SciLzA
zzW8xLxXazg7c90Ny7J+QqV3<;=y!$gb}-&yyTWTfdmf8JL*Mn$m>JKS$o*AU}g`_*vHp0v%i08a?@5
zQDlGib1=+RFvP8=pf7RwR4-sf>z?3jShL3u`o2wkbEb7Wsrx&B2p*m&ZZXNBDg4up
z0G?=%w%oHinX=+y2*+P?m1C|9BCGj?irm=5n6SaU=AmTy2&yjH3vxC*a>$F_O1@TN
z;b2A(r~U&qnwAFSOu4AE;DtY1(IFx>J+Sat;v@n}MEchC1Mg$#_n(^Xyybax1+&TD
zax+x7+QjJ@e8md==qx+@l^zWpcEIF-UZ%2XFu)DG2$M|}m7|h%La6`lae3