From e0626aa1d807d0a318017db5e719bd01d6fed738 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=B2=BE=E7=BE=8E=E7=A7=91=E6=8A=80?= <9145550+jmkeji@user.noreply.gitee.com> Date: Fri, 19 Jun 2026 03:19:27 +0800 Subject: [PATCH] jefe 0619 --- .idea/compiler.xml | 1 + .idea/encodings.xml | 2 + .idea/misc.xml | 1 + web_group/pom.xml | 13 + .../com/group/service/GroupRoomService.java | 219 +++++++---- .../java/com/group/service/HttpClient.java | 220 ----------- .../java/com/group/service/ISocketLayer.java | 67 ---- .../main/java/com/group/service/Message.java | 47 --- .../com/group/service/MessageResponse.java | 17 - .../java/com/group/service/NetManager.java | 107 ------ .../java/com/group/service/SocketCode.java | 46 --- .../java/com/group/service/TaurusClient.java | 355 ------------------ .../java/com/group/service/ThreadManager.java | 123 ------ .../java/com/group/service/io/IOHandler.java | 251 ------------- .../java/com/group/service/io/ISocket.java | 113 ------ .../java/com/group/service/io/LagMonitor.java | 104 ----- .../java/com/group/service/io/Packet.java | 20 - .../com/group/service/io/SocketEngine.java | 160 -------- .../com/group/service/io/SocketState.java | 13 - .../java/com/group/service/io/SocketTcp.java | 156 -------- .../group/service/io/SystemController.java | 177 --------- .../group/service/io/TSocketException.java | 23 -- web_group/target/ROOT.war | Bin 8860056 -> 12569572 bytes .../com/group/service/GroupRoomService.class | Bin 28236 -> 29094 bytes .../com/group/service/HttpClient$1.class | Bin 1032 -> 0 bytes .../com/group/service/HttpClient$2.class | Bin 762 -> 0 bytes .../com/group/service/HttpClient.class | Bin 8601 -> 0 bytes .../com/group/service/ISocketLayer.class | Bin 874 -> 0 bytes .../classes/com/group/service/Message.class | Bin 638 -> 0 bytes .../com/group/service/MessageResponse.class | Bin 383 -> 0 bytes .../com/group/service/NetManager.class | Bin 3267 -> 0 bytes .../com/group/service/SocketCode.class | Bin 1509 -> 0 bytes .../com/group/service/TaurusClient$1.class | Bin 1703 -> 0 bytes .../com/group/service/TaurusClient$2.class | Bin 2658 -> 0 bytes .../com/group/service/TaurusClient$3.class | Bin 2736 -> 0 bytes .../com/group/service/TaurusClient$4.class | Bin 1038 -> 0 bytes .../com/group/service/TaurusClient$5.class | Bin 812 -> 0 bytes .../TaurusClient$ConnectionProtocol.class | Bin 1194 -> 0 bytes .../service/TaurusClient$NetClientEvent.class | Bin 526 -> 0 bytes .../com/group/service/TaurusClient.class | Bin 8164 -> 0 bytes .../com/group/service/ThreadManager$1.class | Bin 653 -> 0 bytes .../com/group/service/ThreadManager$2.class | Bin 652 -> 0 bytes .../service/ThreadManager$MessgaeThread.class | Bin 721 -> 0 bytes .../com/group/service/ThreadManager.class | Bin 3978 -> 0 bytes .../io/IOHandler$PacketReadState.class | Bin 1366 -> 0 bytes .../com/group/service/io/IOHandler.class | Bin 6525 -> 0 bytes .../com/group/service/io/ISocket$1.class | Bin 685 -> 0 bytes .../com/group/service/io/ISocket.class | Bin 3048 -> 0 bytes .../com/group/service/io/LagMonitor.class | Bin 3064 -> 0 bytes .../classes/com/group/service/io/Packet.class | Bin 365 -> 0 bytes .../com/group/service/io/SocketEngine$1.class | Bin 827 -> 0 bytes .../com/group/service/io/SocketEngine.class | Bin 6112 -> 0 bytes .../com/group/service/io/SocketState.class | Bin 1139 -> 0 bytes .../com/group/service/io/SocketTcp$1.class | Bin 652 -> 0 bytes .../com/group/service/io/SocketTcp$2.class | Bin 652 -> 0 bytes .../com/group/service/io/SocketTcp.class | Bin 5242 -> 0 bytes .../group/service/io/SystemController$1.class | Bin 927 -> 0 bytes .../group/service/io/SystemController$2.class | Bin 974 -> 0 bytes .../group/service/io/SystemController.class | Bin 5884 -> 0 bytes .../group/service/io/TSocketException.class | Bin 512 -> 0 bytes .../ROOT/WEB-INF/lib/fastjson2-2.0.43.jar | Bin 0 -> 2001287 bytes .../ROOT/WEB-INF/lib/httpclient5-5.4.4.jar | Bin 0 -> 911620 bytes .../ROOT/WEB-INF/lib/httpcore5-5.3.4.jar | Bin 0 -> 908601 bytes .../ROOT/WEB-INF/lib/httpcore5-h2-5.3.4.jar | Bin 0 -> 241692 bytes .../ROOT/WEB-INF/lib/slf4j-api-1.7.25.jar | Bin 41203 -> 0 bytes .../ROOT/WEB-INF/lib/slf4j-api-1.7.36.jar | Bin 0 -> 41125 bytes .../com/group/service/GroupRoomService.class | Bin 28236 -> 29094 bytes .../com/group/service/HttpClient$1.class | Bin 1032 -> 0 bytes .../com/group/service/HttpClient$2.class | Bin 762 -> 0 bytes .../com/group/service/HttpClient.class | Bin 8601 -> 0 bytes .../com/group/service/ISocketLayer.class | Bin 874 -> 0 bytes .../classes/com/group/service/Message.class | Bin 638 -> 0 bytes .../com/group/service/MessageResponse.class | Bin 383 -> 0 bytes .../com/group/service/NetManager.class | Bin 3267 -> 0 bytes .../com/group/service/SocketCode.class | Bin 1509 -> 0 bytes .../com/group/service/TaurusClient$1.class | Bin 1703 -> 0 bytes .../com/group/service/TaurusClient$2.class | Bin 2658 -> 0 bytes .../com/group/service/TaurusClient$3.class | Bin 2736 -> 0 bytes .../com/group/service/TaurusClient$4.class | Bin 1038 -> 0 bytes .../com/group/service/TaurusClient$5.class | Bin 812 -> 0 bytes .../TaurusClient$ConnectionProtocol.class | Bin 1194 -> 0 bytes .../service/TaurusClient$NetClientEvent.class | Bin 526 -> 0 bytes .../com/group/service/TaurusClient.class | Bin 8164 -> 0 bytes .../com/group/service/ThreadManager$1.class | Bin 653 -> 0 bytes .../com/group/service/ThreadManager$2.class | Bin 652 -> 0 bytes .../service/ThreadManager$MessgaeThread.class | Bin 721 -> 0 bytes .../com/group/service/ThreadManager.class | Bin 3978 -> 0 bytes .../io/IOHandler$PacketReadState.class | Bin 1366 -> 0 bytes .../com/group/service/io/IOHandler.class | Bin 6525 -> 0 bytes .../com/group/service/io/ISocket$1.class | Bin 685 -> 0 bytes .../com/group/service/io/ISocket.class | Bin 3048 -> 0 bytes .../com/group/service/io/LagMonitor.class | Bin 3064 -> 0 bytes .../classes/com/group/service/io/Packet.class | Bin 365 -> 0 bytes .../com/group/service/io/SocketEngine$1.class | Bin 827 -> 0 bytes .../com/group/service/io/SocketEngine.class | Bin 6112 -> 0 bytes .../com/group/service/io/SocketState.class | Bin 1139 -> 0 bytes .../com/group/service/io/SocketTcp$1.class | Bin 652 -> 0 bytes .../com/group/service/io/SocketTcp$2.class | Bin 652 -> 0 bytes .../com/group/service/io/SocketTcp.class | Bin 5242 -> 0 bytes .../group/service/io/SystemController$1.class | Bin 927 -> 0 bytes .../group/service/io/SystemController$2.class | Bin 974 -> 0 bytes .../group/service/io/SystemController.class | Bin 5884 -> 0 bytes .../group/service/io/TSocketException.class | Bin 512 -> 0 bytes .../compile/default-compile/createdFiles.lst | 48 +-- .../compile/default-compile/inputFiles.lst | 31 +- 105 files changed, 185 insertions(+), 2129 deletions(-) delete mode 100644 web_group/src/main/java/com/group/service/HttpClient.java delete mode 100644 web_group/src/main/java/com/group/service/ISocketLayer.java delete mode 100644 web_group/src/main/java/com/group/service/Message.java delete mode 100644 web_group/src/main/java/com/group/service/MessageResponse.java delete mode 100644 web_group/src/main/java/com/group/service/NetManager.java delete mode 100644 web_group/src/main/java/com/group/service/SocketCode.java delete mode 100644 web_group/src/main/java/com/group/service/TaurusClient.java delete mode 100644 web_group/src/main/java/com/group/service/ThreadManager.java delete mode 100644 web_group/src/main/java/com/group/service/io/IOHandler.java delete mode 100644 web_group/src/main/java/com/group/service/io/ISocket.java delete mode 100644 web_group/src/main/java/com/group/service/io/LagMonitor.java delete mode 100644 web_group/src/main/java/com/group/service/io/Packet.java delete mode 100644 web_group/src/main/java/com/group/service/io/SocketEngine.java delete mode 100644 web_group/src/main/java/com/group/service/io/SocketState.java delete mode 100644 web_group/src/main/java/com/group/service/io/SocketTcp.java delete mode 100644 web_group/src/main/java/com/group/service/io/SystemController.java delete mode 100644 web_group/src/main/java/com/group/service/io/TSocketException.java delete mode 100644 web_group/target/ROOT/WEB-INF/classes/com/group/service/HttpClient$1.class delete mode 100644 web_group/target/ROOT/WEB-INF/classes/com/group/service/HttpClient$2.class delete mode 100644 web_group/target/ROOT/WEB-INF/classes/com/group/service/HttpClient.class delete mode 100644 web_group/target/ROOT/WEB-INF/classes/com/group/service/ISocketLayer.class delete mode 100644 web_group/target/ROOT/WEB-INF/classes/com/group/service/Message.class delete mode 100644 web_group/target/ROOT/WEB-INF/classes/com/group/service/MessageResponse.class delete mode 100644 web_group/target/ROOT/WEB-INF/classes/com/group/service/NetManager.class delete mode 100644 web_group/target/ROOT/WEB-INF/classes/com/group/service/SocketCode.class delete mode 100644 web_group/target/ROOT/WEB-INF/classes/com/group/service/TaurusClient$1.class delete mode 100644 web_group/target/ROOT/WEB-INF/classes/com/group/service/TaurusClient$2.class delete mode 100644 web_group/target/ROOT/WEB-INF/classes/com/group/service/TaurusClient$3.class delete mode 100644 web_group/target/ROOT/WEB-INF/classes/com/group/service/TaurusClient$4.class delete mode 100644 web_group/target/ROOT/WEB-INF/classes/com/group/service/TaurusClient$5.class delete mode 100644 web_group/target/ROOT/WEB-INF/classes/com/group/service/TaurusClient$ConnectionProtocol.class delete mode 100644 web_group/target/ROOT/WEB-INF/classes/com/group/service/TaurusClient$NetClientEvent.class delete mode 100644 web_group/target/ROOT/WEB-INF/classes/com/group/service/TaurusClient.class delete mode 100644 web_group/target/ROOT/WEB-INF/classes/com/group/service/ThreadManager$1.class delete mode 100644 web_group/target/ROOT/WEB-INF/classes/com/group/service/ThreadManager$2.class delete mode 100644 web_group/target/ROOT/WEB-INF/classes/com/group/service/ThreadManager$MessgaeThread.class delete mode 100644 web_group/target/ROOT/WEB-INF/classes/com/group/service/ThreadManager.class delete mode 100644 web_group/target/ROOT/WEB-INF/classes/com/group/service/io/IOHandler$PacketReadState.class delete mode 100644 web_group/target/ROOT/WEB-INF/classes/com/group/service/io/IOHandler.class delete mode 100644 web_group/target/ROOT/WEB-INF/classes/com/group/service/io/ISocket$1.class delete mode 100644 web_group/target/ROOT/WEB-INF/classes/com/group/service/io/ISocket.class delete mode 100644 web_group/target/ROOT/WEB-INF/classes/com/group/service/io/LagMonitor.class delete mode 100644 web_group/target/ROOT/WEB-INF/classes/com/group/service/io/Packet.class delete mode 100644 web_group/target/ROOT/WEB-INF/classes/com/group/service/io/SocketEngine$1.class delete mode 100644 web_group/target/ROOT/WEB-INF/classes/com/group/service/io/SocketEngine.class delete mode 100644 web_group/target/ROOT/WEB-INF/classes/com/group/service/io/SocketState.class delete mode 100644 web_group/target/ROOT/WEB-INF/classes/com/group/service/io/SocketTcp$1.class delete mode 100644 web_group/target/ROOT/WEB-INF/classes/com/group/service/io/SocketTcp$2.class delete mode 100644 web_group/target/ROOT/WEB-INF/classes/com/group/service/io/SocketTcp.class delete mode 100644 web_group/target/ROOT/WEB-INF/classes/com/group/service/io/SystemController$1.class delete mode 100644 web_group/target/ROOT/WEB-INF/classes/com/group/service/io/SystemController$2.class delete mode 100644 web_group/target/ROOT/WEB-INF/classes/com/group/service/io/SystemController.class delete mode 100644 web_group/target/ROOT/WEB-INF/classes/com/group/service/io/TSocketException.class create mode 100644 web_group/target/ROOT/WEB-INF/lib/fastjson2-2.0.43.jar create mode 100644 web_group/target/ROOT/WEB-INF/lib/httpclient5-5.4.4.jar create mode 100644 web_group/target/ROOT/WEB-INF/lib/httpcore5-5.3.4.jar create mode 100644 web_group/target/ROOT/WEB-INF/lib/httpcore5-h2-5.3.4.jar delete mode 100644 web_group/target/ROOT/WEB-INF/lib/slf4j-api-1.7.25.jar create mode 100644 web_group/target/ROOT/WEB-INF/lib/slf4j-api-1.7.36.jar delete mode 100644 web_group/target/classes/com/group/service/HttpClient$1.class delete mode 100644 web_group/target/classes/com/group/service/HttpClient$2.class delete mode 100644 web_group/target/classes/com/group/service/HttpClient.class delete mode 100644 web_group/target/classes/com/group/service/ISocketLayer.class delete mode 100644 web_group/target/classes/com/group/service/Message.class delete mode 100644 web_group/target/classes/com/group/service/MessageResponse.class delete mode 100644 web_group/target/classes/com/group/service/NetManager.class delete mode 100644 web_group/target/classes/com/group/service/SocketCode.class delete mode 100644 web_group/target/classes/com/group/service/TaurusClient$1.class delete mode 100644 web_group/target/classes/com/group/service/TaurusClient$2.class delete mode 100644 web_group/target/classes/com/group/service/TaurusClient$3.class delete mode 100644 web_group/target/classes/com/group/service/TaurusClient$4.class delete mode 100644 web_group/target/classes/com/group/service/TaurusClient$5.class delete mode 100644 web_group/target/classes/com/group/service/TaurusClient$ConnectionProtocol.class delete mode 100644 web_group/target/classes/com/group/service/TaurusClient$NetClientEvent.class delete mode 100644 web_group/target/classes/com/group/service/TaurusClient.class delete mode 100644 web_group/target/classes/com/group/service/ThreadManager$1.class delete mode 100644 web_group/target/classes/com/group/service/ThreadManager$2.class delete mode 100644 web_group/target/classes/com/group/service/ThreadManager$MessgaeThread.class delete mode 100644 web_group/target/classes/com/group/service/ThreadManager.class delete mode 100644 web_group/target/classes/com/group/service/io/IOHandler$PacketReadState.class delete mode 100644 web_group/target/classes/com/group/service/io/IOHandler.class delete mode 100644 web_group/target/classes/com/group/service/io/ISocket$1.class delete mode 100644 web_group/target/classes/com/group/service/io/ISocket.class delete mode 100644 web_group/target/classes/com/group/service/io/LagMonitor.class delete mode 100644 web_group/target/classes/com/group/service/io/Packet.class delete mode 100644 web_group/target/classes/com/group/service/io/SocketEngine$1.class delete mode 100644 web_group/target/classes/com/group/service/io/SocketEngine.class delete mode 100644 web_group/target/classes/com/group/service/io/SocketState.class delete mode 100644 web_group/target/classes/com/group/service/io/SocketTcp$1.class delete mode 100644 web_group/target/classes/com/group/service/io/SocketTcp$2.class delete mode 100644 web_group/target/classes/com/group/service/io/SocketTcp.class delete mode 100644 web_group/target/classes/com/group/service/io/SystemController$1.class delete mode 100644 web_group/target/classes/com/group/service/io/SystemController$2.class delete mode 100644 web_group/target/classes/com/group/service/io/SystemController.class delete mode 100644 web_group/target/classes/com/group/service/io/TSocketException.class diff --git a/.idea/compiler.xml b/.idea/compiler.xml index 902b116..c6d8bfe 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -10,6 +10,7 @@ + diff --git a/.idea/encodings.xml b/.idea/encodings.xml index 31ce7e1..07ea0aa 100644 --- a/.idea/encodings.xml +++ b/.idea/encodings.xml @@ -3,6 +3,8 @@ + + diff --git a/.idea/misc.xml b/.idea/misc.xml index 11b353a..e743370 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -12,6 +12,7 @@ diff --git a/web_group/pom.xml b/web_group/pom.xml index 7b0b3bc..8f84f74 100644 --- a/web_group/pom.xml +++ b/web_group/pom.xml @@ -14,6 +14,13 @@ + + + org.apache.httpcomponents.client5 + httpclient5 + 5.4.4 + + junit junit @@ -21,6 +28,12 @@ test + + com.alibaba.fastjson2 + fastjson2 + 2.0.43 + + com.data diff --git a/web_group/src/main/java/com/group/service/GroupRoomService.java b/web_group/src/main/java/com/group/service/GroupRoomService.java index b849c1b..9f7d656 100644 --- a/web_group/src/main/java/com/group/service/GroupRoomService.java +++ b/web_group/src/main/java/com/group/service/GroupRoomService.java @@ -1,5 +1,11 @@ package com.group.service; +import java.io.ByteArrayOutputStream; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.HttpURLConnection; +import java.net.URL; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; @@ -1063,6 +1069,8 @@ public class GroupRoomService { String key = createGroupRoom(session, groupId, pid); resData = publicJoinRoom(groupId, session, key, platform); } + + /* robot jefe Jedis jedis11 = Redis.use("group1_db11").getJedis(); try { jedis11.zremrangeByScore(grooms_key, 0, 0); @@ -1093,6 +1101,8 @@ public class GroupRoomService { } finally { jedis11.close(); } + + */ return resData; } @@ -1106,80 +1116,161 @@ public class GroupRoomService { log.info("sendRobotData :"+roomid+"groupid:"+groupid+"robot_host:"+robot_host); + Jedis js1 = Redis.use("group1_db3").getJedis(); + try { - CompletableFuture future = CompletableFuture.supplyAsync(() -> { - // 执行任务 - Jedis js1 = Redis.use("group1_db3").getJedis(); - String flag = js1.get("roomsend"+roomid); - if(flag!=null){ - js1.close(); + String flag = js1.get("roomsend" + roomid); + if (flag != null) { return null; } - js1.set("roomsend"+roomid,1+""); - js1.expire("roomsend"+roomid,5); - try { - Thread eventThread = new Thread(() -> { - while (true) { - NetManager.processEvents(); - try { - Thread.sleep(100); - } catch (InterruptedException e) { - break; - } catch (Exception e) { - } - } - }, "tstse"); + js1.set("roomsend" + roomid, 1 + ""); + js1.expire("roomsend" + roomid, 5); - eventThread.setDaemon(true); // 设置为守护线程 - eventThread.start(); - int robotid = 0; - // - Set jsRobot = js1.smembers("robots"); - - String wokelock = "wokelock"; - for (String key : jsRobot) { - String tmp = js1.get(wokelock+key); - if(StringUtil.isEmpty(tmp)){ - robotid = Integer.parseInt(key); - } + int robotid = 0; + Set jsRobot = js1.smembers("robots"); + log.info("jsRobot" + jsRobot); + String wokelock = "wokelock"; + for (String key : jsRobot) { + String tmp = js1.get(wokelock + key); + if (StringUtil.isEmpty(tmp)) { + robotid = Integer.parseInt(key); } - - if(robotid!=0){ - js1.set(wokelock+robotid, String.valueOf(1)); - js1.expire(wokelock+robotid,2); - TaurusClient client = new TaurusClient(robot_host, "games"+robotid, TaurusClient.ConnectionProtocol.Tcp); - client.setSession("abbccccd"+robotid+roomid); - client.connect(); - sleep(1500); - ITObject params = TObject.newInstance(); - params.putString("roomid",roomid); - params.putInt("groupid",groupid); - params.putInt("robotid",robotid); - System.out.println("ssss"); - System.out.println(client.isConnected()); - log.info("=====================sendRobotData发送前 :"+roomid+"robotid:"+robotid); - Message msg= client.send("225", params, response -> { - System.out.println("abcd"); - }); - log.info("=====================sendRobotData发送了 :"+roomid+"robotid:"+robotid); - sleep(10000); - eventThread.setDaemon(false); - client.killConnection(); - } - eventThread.yield(); - log.info("sendRobotData :"+roomid+"robotid:"+robotid); - js1.close(); - }catch (Exception e){ - js1.close(); - }finally { - js1.close(); } - return "执行结果"; - }); + + +// int robotid = 0; +// Map jsRobot = js1.hgetAll("{robot426149}" + gameId); +// String wokelock = "wokelock"; +// for (String key : jsRobot.keySet()) { +// String tmp = js1.get(wokelock + key); +// if (StringUtil.isEmpty(tmp)) { +// robotid = Integer.parseInt(key); +// break; +// } +// } + + if (robotid == 0) { + log.info("sendRobotData 没有可用机器人 roomid:" + roomid); + return null; + } + + //设置机器人占用标记 + js1.set(wokelock + robotid, String.valueOf(1)); + js1.expire(wokelock + robotid, 2); + +// js1.expire(wokelock + robotid, 900); + + //通过 HTTP 同步调用机器人服务的 225 协议入口 + sleep(1000); + String url = buildRobotHttpUrl(robot_host); + String body = buildJoinRoomBody(robotid, roomid, groupid); + String resp = httpPostJson(url, body, 5000); + log.info("sendRobotData roomid:" + roomid + " robotid:" + robotid + " resp:" + resp); + } catch (Exception e) { + log.error("sendRobotData 异常 roomid:" + roomid, e); + } finally { + js1.close(); + } //client.killConnection(); return null; } + + /** + * 根据机器人 TCP 地址推导 HTTP URL + * 规则:HTTP 端口 = TCP 端口 + 1000(与 robot_mj_hz 的 Config.HTTP_SERVER_PORT 一致) + * 例:robot_host="192.168.0.32:8722" → "http://192.168.0.32:9722/robot/joinRoom" + */ + private static String buildRobotHttpUrl(String robot_host) { + String host; + int tcpPort; + int colonIdx = robot_host.indexOf(':'); + if (colonIdx > 0) { + host = robot_host.substring(0, colonIdx); + tcpPort = Integer.parseInt(robot_host.substring(colonIdx + 1)); + } else { + host = robot_host; + tcpPort = 8722; + } + int httpPort = tcpPort + 1000; + return "http://" + host + ":" + httpPort + "/robot/joinRoom"; + } + + /** + * 构造 225 协议请求体 JSON + */ + private static String buildJoinRoomBody(int robotid, String roomid, int groupid) { + StringBuilder sb = new StringBuilder(64); + sb.append("{\"robotid\":").append(robotid) + .append(",\"roomid\":\"").append(roomid).append("\"") + .append(",\"groupid\":").append(groupid) + .append("}"); + return sb.toString(); + } + + /** + * 通过 JDK HttpURLConnection 发送 POST JSON 请求(同步) + * 替代原 TaurusClient + CompletableFuture + eventThread 异步 TCP 方式 + * + * @param urlStr 完整 URL + * @param jsonBody 请求体 JSON 字符串 + * @param timeoutMs 连接与读取超时(毫秒) + * @return 响应体字符串;失败时返回错误描述 + */ + private static String httpPostJson(String urlStr, String jsonBody, int timeoutMs) { + HttpURLConnection conn = null; + try { + URL url = new URL(urlStr); + conn = (HttpURLConnection) url.openConnection(); + conn.setRequestMethod("POST"); + conn.setRequestProperty("Content-Type", "application/json; charset=UTF-8"); + conn.setConnectTimeout(timeoutMs); + conn.setReadTimeout(timeoutMs); + conn.setDoOutput(true); + conn.setDoInput(true); + + //写入请求体 + byte[] bodyBytes = jsonBody.getBytes(StandardCharsets.UTF_8); + try (OutputStream os = conn.getOutputStream()) { + os.write(bodyBytes); + os.flush(); + } + + //读取响应 + int code = conn.getResponseCode(); + InputStream is = (code >= 200 && code < 300) ? conn.getInputStream() : conn.getErrorStream(); + String resp = readAll(is); + if (code < 200 || code >= 300) { + log.warn("httpPostJson 失败 url:" + urlStr + " code:" + code + " resp:" + resp); + return "HTTP " + code + ": " + resp; + } + return resp; + } catch (Exception e) { + log.error("httpPostJson 异常 url:" + urlStr, e); + return "ERROR:" + e.getMessage(); + } finally { + if (conn != null) { + conn.disconnect(); + } + } + } + + /** + * 读取输入流为字符串 + */ + private static String readAll(InputStream in) throws Exception { + if (in == null) return ""; + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + byte[] buf = new byte[1024]; + int n; + while ((n = in.read(buf)) > 0) { + baos.write(buf, 0, n); + } + in.close(); + return new String(baos.toByteArray(), StandardCharsets.UTF_8); + } + + /** * 删除房间 * diff --git a/web_group/src/main/java/com/group/service/HttpClient.java b/web_group/src/main/java/com/group/service/HttpClient.java deleted file mode 100644 index 6106162..0000000 --- a/web_group/src/main/java/com/group/service/HttpClient.java +++ /dev/null @@ -1,220 +0,0 @@ -package com.group.service; - -import com.group.service.TaurusClient.ConnectionProtocol; -import com.taurus.core.entity.ITObject; -import com.taurus.core.entity.TObject; -import com.taurus.core.util.*; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.net.ConnectException; -import java.net.HttpURLConnection; -import java.net.SocketTimeoutException; -import java.net.URL; -import java.util.LinkedList; -import java.util.Queue; - - -/** - * Http缃戠粶璇锋眰澶勭悊绫? - * @author daixiwei daixiwei15@126.com - * - */ -public class HttpClient implements ISocketLayer { - private static final Logger logger = Logger.getLogger(HttpClient.class); - private static final byte[] NULL_BYTES = new byte[0]; - private static final String _Method = "POST"; - private static final String _ContentTypeName = "Content-Type"; - private static final String _ContentType = "application/octet-stream"; - private static final String _Result = "$r"; - private static final String _Param = "$p"; - private static final String _Session = "$s"; - private static final String _Version = "$v"; - String _url; - String _session_id = ""; - - final Queue _actionQueue = new LinkedList(); - - - public HttpClient(String url) { - _url = url; - } - - private void __sendMsg(Message msg) { - byte[] bytes = NULL_BYTES; - ITObject _data = TObject.newInstance(); - _data.putString(_Session, _session_id); - _data.putInt(_Version, NetManager.VERSION); - if (msg.useText && msg.param == null) { - if (StringUtil.isEmpty(msg.textParam)) { - msg.param = TObject.newInstance(); - } else { - try { - msg.param = TObject.newFromJsonData(msg.textParam); - } catch (Exception e) { - msg.param = TObject.newInstance(); - } - } - } - _data.putTObject(_Param, msg.param); - ByteArray buff = new ByteArray(_data.toBinary()); - try { - buff.compress(); - } catch (Exception e) { - logger.error(e); - } - bytes = buff.bytes(); - - __requestAsync(msg, bytes); - } - - private void __requestAsync(final Message msg,byte[] bytes) { - OutputStream out = null; - InputStream in = null; - int code = 500; - HttpURLConnection conn = null; - try { - - URL realUrl = new URL(_url + msg.command); - conn = (HttpURLConnection) realUrl.openConnection(); - conn.setDoOutput(true); - conn.setDoInput(true); - conn.setRequestProperty(_ContentTypeName, _ContentType); - conn.setUseCaches(false);// Post 璇锋眰涓嶈兘浣跨敤缂撳瓨 - conn.setRequestMethod(_Method); - conn.setConnectTimeout(NetManager.TIMEOUT_TIME * 1000); - conn.setReadTimeout(NetManager.TIMEOUT_TIME * 1000); - conn.connect(); - - - out = conn.getOutputStream(); - out.write(bytes); - if (conn.getResponseCode() == HttpURLConnection.HTTP_OK) { - in = conn.getInputStream(); - bytes = Utils.uncompress(in); - if (bytes!=null) { - - ITObject tem = TObject.newFromBinaryData(bytes); - int result = tem.getInt(_Result); - - if (result == 0) { - ITObject _param = tem.getTObject(_Param); - msg.param = _param; - if(msg.useText) { - msg.textParam = _param.toJson(); - } - } - code = result; - - } - } - } catch (SocketTimeoutException e) { - logger.error(e); - code = 102; - } catch (ConnectException ex1) { - logger.error(ex1); - code = 101; - } catch (Exception ex2) { - logger.error(ex2); - code = 500; - }finally { - try { - if (out != null) { - out.close(); - } - } catch (IOException ex) { - logger.error(ex); - } - try { - if (in != null) { - in.close(); - } - }catch (IOException ex) { - logger.error(ex); - } - if(conn!=null) { - conn.disconnect(); - } - } - if (msg.callback != null) { - final MessageResponse response = new MessageResponse(); - response.messageData = msg; - response.returnCode = code; - enqueueActionForDispatch(new Runnable() { - @Override - public void run() { - msg.callback.action(response); - } - }); - } - - } - - @Override - public void connect(String ip, String game) { - - } - - @Override - public void disconnect() { - - } - - private void enqueueActionForDispatch(Runnable action) { - synchronized (_actionQueue) { - _actionQueue.offer(action); - } - } - - @Override - public void processEvent() { - while (true) { - Runnable myAction; - synchronized (_actionQueue) { - if (_actionQueue.size() <= 0) { - break; - } - myAction = _actionQueue.poll(); - } - myAction.run(); - } - } - - public void write(final Message msg) { - new Thread(new Runnable() { - @Override - public void run() { - __sendMsg(msg); - } - }).start(); - } - - public int getAveragePingTime() { - return 1000; - } - - public void setSession(String session) { - _session_id = session == null ? StringUtil.Empty : session; - } - - public String getSession() { - return _session_id; - - } - - @Override - public void setOnConnect(ICallback onConnect) { - - } - - @Override - public void setOnEvent(ICallback onEvent) { - - } - - @Override - public ConnectionProtocol getProtocol() { - return ConnectionProtocol.Web; - } -} diff --git a/web_group/src/main/java/com/group/service/ISocketLayer.java b/web_group/src/main/java/com/group/service/ISocketLayer.java deleted file mode 100644 index a28c35b..0000000 --- a/web_group/src/main/java/com/group/service/ISocketLayer.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.group.service; - -import com.group.service.TaurusClient.ConnectionProtocol; -import com.taurus.core.util.ICallback; - -/** - * 网络协议处理通用接口 - * @author daixiwei daixiwei15@126.com - * - */ -public interface ISocketLayer { - /** - * 连接服务器 - * @param ip - * @param game - */ - public void connect(String ip, String game); - - /** - * 断开连接 - */ - public void disconnect(); - - /** - * 处理事件 - */ - public void processEvent(); - - /** - * 发送消息 - * @param msg - */ - public void write(Message msg); - - /** - * get Protocol type - * @return - */ - public ConnectionProtocol getProtocol(); - - /** - * 设置连接状态回调 - */ - public void setOnConnect(ICallback onConnect); - - - /** - * 设置事件消息回调E - */ - public void setOnEvent(ICallback onEvent); - - /** - * 网络延时 - */ - public int getAveragePingTime(); - - /** - * 获取服务器Session字符 - */ - public String getSession(); - - /** - * 设置服务器Session字符 - * @param session - */ - public void setSession(String session); -} diff --git a/web_group/src/main/java/com/group/service/Message.java b/web_group/src/main/java/com/group/service/Message.java deleted file mode 100644 index 11e57d1..0000000 --- a/web_group/src/main/java/com/group/service/Message.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.group.service; - -import com.taurus.core.entity.ITObject; -import com.taurus.core.util.ICallback; - -/** - * 网络协议消息包 - * @author daixiwei daixiwei15@126.com - * - */ -public class Message { - /** - * 使用文本,不转换ITObject - */ - public boolean useText; - /** - * 网络协议指令Key - */ - public String command; - - /** - * 参数 - */ - public ITObject param; - /** - * 文本数据 - */ - public String textParam; - - /** - * 网络消息回调 - */ - public ICallback callback; - /** - * 自定义参数 - */ - public Object data; - /** - * 网络包最后写入时间 - */ - public long lastTime; - /** - * 网络包返回匹配的GID - */ - public int gid; - -} diff --git a/web_group/src/main/java/com/group/service/MessageResponse.java b/web_group/src/main/java/com/group/service/MessageResponse.java deleted file mode 100644 index fa79180..0000000 --- a/web_group/src/main/java/com/group/service/MessageResponse.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.group.service; - -/** - * 缃戠粶娑堟伅鍥炶皟鏁版嵁瀵硅薄 - * @author daixiwei daixiwei15@126.com - * - */ -public class MessageResponse { - /** - * 娑堟伅鏁版嵁 - */ - public Message messageData; - /** - * 杩斿洖缁撴瀯鍊? - */ - public int returnCode; -} diff --git a/web_group/src/main/java/com/group/service/NetManager.java b/web_group/src/main/java/com/group/service/NetManager.java deleted file mode 100644 index b4c119a..0000000 --- a/web_group/src/main/java/com/group/service/NetManager.java +++ /dev/null @@ -1,107 +0,0 @@ -package com.group.service; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * 网络管理对象 - * @author daixiwei daixiwei15@126.com - * - */ -public class NetManager { - - private static List _clientList = new ArrayList(); - private static Map _clientMap = new HashMap(); - - /** - * 网络超时时间 - */ - public static int TIMEOUT_TIME = 10; - /** - * 网络版本号 - */ - public static int VERSION = 10; - public static boolean debug_print = false; - - static void addNetClient(TaurusClient net) { - if (net == null) { - throw new RuntimeException("TaurusClient is null, it can't be added."); - } - if (_clientMap.containsKey(net.getId())) { - throw new RuntimeException("A client with id: " + net.getId() + " already exists! Controller can't be added: " + net); - } - synchronized (_clientList) { - _clientMap.put(net.getId(), net); - _clientList.add(net); - } - - } - - /** - * The process events - */ - public static void processEvents() { - for (int i = 0; i < _clientList.size(); ++i) { - TaurusClient nc = _clientList.get(i); - if (nc._kill){ - synchronized (_clientList) { - _clientMap.remove(nc.getId()); - _clientList.remove(nc); - } - i--; - continue; - }else{ - nc.processEvent(); - } - } - - } - - /** - * 返回指定的NetClient - * @param id - * @return - */ - public static TaurusClient getNetClient(int id) { - for (int i = 0; i < _clientList.size(); ++i) { - TaurusClient nc = _clientList.get(i); - if (nc.getId() == id) - return nc; - } - return null; - } - - /** - * 断开指定连接 - * @param id - */ - public static void killConnection(int id) { - for (int i = 0; i < _clientList.size(); ++i) { - TaurusClient nc = _clientList.get(i); - if (nc.getId() == id) { - nc.killConnection(); - synchronized (_clientList) { - _clientMap.remove(id); - _clientList.remove(nc); - } - break; - } - } - } - - /** - * 断开所有连接 - */ - public static void killAllConnection() { - synchronized (_clientList) { - for (TaurusClient nc : _clientList) { - nc.killConnection(); - } - _clientList.clear(); - _clientMap.clear(); - } - - } -} diff --git a/web_group/src/main/java/com/group/service/SocketCode.java b/web_group/src/main/java/com/group/service/SocketCode.java deleted file mode 100644 index a35b639..0000000 --- a/web_group/src/main/java/com/group/service/SocketCode.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.group.service; - -/** - * Socket code - * @author daixiwei daixiwei15@126.com - * - */ -public enum SocketCode { - /** - * 杩炴帴鎴愬姛 - */ - Connect, - Disconnect, - /** - * 鏈煡寮傚父 - */ - Exception, - /** - * 杩炴帴鏈嶅姟寮傚父 - */ - ExceptionOnConnect, - /** - * 鍙戦€佹暟鎹祦閿欒 - */ - SendError, - /** - * 鎺ユ敹鏈嶅姟鍣ㄦ暟鎹祦寮傚父 - */ - ExceptionOnReceive, - /** - * 鏈嶅姟鍣ㄨ繛鎺ヨ秴鏃? - */ - TimeoutDisconnect, - /** - * 鏈嶅姟鍣ㄦ柇寮€杩炴帴 - */ - DisconnectByServer, - /** - * 瀹㈡埛绔綉缁滃紓甯? - */ - NetworkException, - /** - * 杩炴帴瀹夊叏寮傚父锛屼竴鑸负闃茬伀澧欓樆姝? - */ - SecurityExceptionOnConnect -} diff --git a/web_group/src/main/java/com/group/service/TaurusClient.java b/web_group/src/main/java/com/group/service/TaurusClient.java deleted file mode 100644 index 016dfde..0000000 --- a/web_group/src/main/java/com/group/service/TaurusClient.java +++ /dev/null @@ -1,355 +0,0 @@ -package com.group.service; - -import com.group.service.io.SocketEngine; -import com.taurus.core.entity.ITObject; -import com.taurus.core.events.Event; -import com.taurus.core.events.EventDispatcher; -import com.taurus.core.events.IEventListener; -import com.taurus.core.util.ICallback; -import com.taurus.core.util.Logger; - - -import java.util.HashMap; -import java.util.Map; - - -/** - * 缃戠粶鏍稿績鍔熻兘澶勭悊绫? - * @author daixiwei daixiwei15@126.com - * - */ -public class TaurusClient { - private static final Logger logger = Logger.getLogger(TaurusClient.class); - private int _id; - private boolean _connect; - private String _gameId; - private String _currentIp; - - private ISocketLayer _scoket; - private ThreadManager _threadManager; - - private EventDispatcher _dispatcher; - private Map> _responseMap; - volatile boolean _kill = false; - private static int _tempID; - private int _protocolCompression=100; - - private static int _getValidID() { - return ++_tempID; - } - - /** - * - * @param host - * @param game - * @param protocol - */ - public TaurusClient(String host, String game, ConnectionProtocol protocol) { - ISocketLayer socket = null; - switch (protocol) { - case Tcp: - socket = new SocketEngine(this); - break; - case Web: - socket = new HttpClient(host); - _connect = true; - break; - default: - socket = new SocketEngine(this); - break; - } - __initialize(host, game, socket); - } - - /** - * - * @param host - * @param game - * @param socket - * @param protocol - */ - public TaurusClient(String host, String game, ISocketLayer socket) { - __initialize(host, game, socket); - - } - - /** - * 娣诲姞浜嬩欢 - * @param eventType - * @param listener - */ - public void addEventListener(String eventType, IEventListener listener) { - _dispatcher.addEventListener(eventType, listener); - } - - /** - * 绉婚櫎鎵€鏈変簨浠? - */ - public void removeAllListener() { - _dispatcher.removeAllListener(); - } - - /** - * 绉婚櫎鎸囧畾浜嬩欢 - * @param eventType - * @param listener - */ - public void removeEventListener(String eventType, IEventListener listener) { - _dispatcher.removeEventListener(eventType, listener); - } - - private void __initialize(String host, String game, ISocketLayer socket) { - _dispatcher = new EventDispatcher(); - _responseMap = new HashMap>(); - _id = _getValidID(); - NetManager.addNetClient(this); - _currentIp = host; - _gameId = game; - _threadManager = new ThreadManager(); - _threadManager.start(); - _scoket = socket; - _scoket.setOnConnect(new ICallback() { - @Override - public void action(SocketCode code) { - if (code == SocketCode.Connect) - _connect = true; - else - _connect = false; - Event evt = new Event(NetClientEvent.Connect); - evt.setParameter("code", code); - _dispatcher.dispatchEvent(evt); - } - }); - _scoket.setOnEvent(new ICallback() { - @Override - public void action(Message msg) { - if (_connect) { - Event evt = new Event(NetClientEvent.OnEvent); - evt.setParameter("msg", msg); - _dispatcher.dispatchEvent(evt); - if (NetManager.debug_print){ - String str = getProtocol() == ConnectionProtocol.Web ? "WEB" : "TCP"; - String data_str = msg.useText ? msg.textParam : (msg.param != null ? msg.param.toJson() : "null"); - logger.debug("Event [" + str + "->" + msg.command + "] data:" + data_str); - } - } - } - }); - } - - /** - * 杩炴帴鏈嶅姟鍣? - */ - public void connect() { - _scoket.connect(_currentIp, _gameId); - } - - /** - * Kill net connection. - */ - public void killConnection() { - removeAllListener(); - _responseMap.clear(); - _threadManager.stop(); - _scoket.disconnect(); - _connect = false; - _kill = true; - } - - /** - * 鍙戦€佺綉缁滄秷鎭寘 - * @param msg 娑堟伅鏁版嵁瀵硅薄 - */ - protected void send(Message msg) { - if (msg == null) - return; - if (NetManager.debug_print) { - String str = getProtocol() == ConnectionProtocol.Web ? "WEB" : "TCP"; - String data_str = msg.useText ? msg.textParam : (msg.param != null ? msg.param.toJson() : "null"); - str = "Requst [" + str + "->" + msg.command + "] ->data:" + data_str; - logger.debug(str); - } - if (msg.callback != null) { - _responseMap.put(msg, msg.callback); - msg.callback = new ICallback() { - - @Override - public void action(MessageResponse response) { - ICallback callback = _responseMap.get(response.messageData); - if (callback == null) { - return; - } - if (NetManager.debug_print){ - String str = getProtocol() == ConnectionProtocol.Web ? "WEB" : "TCP"; - String data_str = msg.useText ? msg.textParam : (msg.param != null ? msg.param.toJson() : "null"); - str = "Response [" + str + "->" + msg.command + "] ->result:"+ response.returnCode + " param:" + data_str; - logger.debug(str); - } - _responseMap.remove(response.messageData); - callback.action(response); - } - - }; - } - - _threadManager.enqueueSend(new ICallback() { - @Override - public void action(Message msg) { - sendData(msg); - } - }, msg); - } - - - /** - * 鍙戦€佺綉缁滄秷鎭寘 - * @param cmd 缃戠粶鍗忚鎸囦护Key - * @param param 鍙傛暟 - * @param callback 缃戠粶娑堟伅鍥炶皟 - * @return - */ - public Message send(String cmd, ITObject param, ICallback callback) { - Message msg = new Message(); - msg.useText = false; - msg.command = cmd; - msg.param = param; - msg.callback = callback; - this.send(msg); - return msg; - } - - /** - * 鍙戦€佺綉缁滄秷鎭寘 - * @param cmd 缃戠粶鍗忚鎸囦护Key - * @param text JSON 鏂囨湰 - * @param callback 缃戠粶娑堟伅鍥炶皟 - * @return - */ - public Message sendText(String cmd, String text, ICallback callback) { - Message msg = new Message(); - msg.command = cmd; - msg.textParam = text; - msg.callback = callback; - msg.useText = true; - this.send(msg); - return msg; - } - - /** - * 鍙戦€佹暟鎹嚎绋嬫柟娉? - * @param message - */ - private void sendData(Message msg) { - _scoket.write(msg); - } - - /** - * 澶勭悊浜嬩欢 - */ - void processEvent() { - if(_scoket!=null) { - _scoket.processEvent(); - } - } - - /** - * 娓呯悊鍝嶅簲鍥炶皟 - */ - public void clearResponse() { - _responseMap.clear(); - } - - /** - * The net client id - * @return - */ - public int getId() { - - return _id; - - } - - /** - * The curren ip - * @return - */ - public String getCurrentIp() { - return _currentIp; - } - - /** - * The curren Game ID - * @return - */ - public String getGameID() { - return _gameId; - } - - /** - * 缃戠粶鏄惁宸茶繛鎺? - * @return - */ - public boolean isConnected() { - return _connect; - } - - /** - * 褰撳墠缃戠粶绫诲瀷 - * @return - */ - public ConnectionProtocol getProtocol() { - return _scoket.getProtocol(); - } - - /** - * 缃戠粶寤舵椂 - * @return - */ - public int getAveragePingTime() { - return _scoket.getAveragePingTime(); - } - - /** - * 鑾峰彇鏈嶅姟鍣⊿ession瀛楃 - * @return - */ - public String getSession() { - return _scoket.getSession(); - } - - /** - * 璁剧疆鏈嶅姟鍣⊿ession瀛楃 - * @param session - */ - public void setSession(String session) { - _scoket.setSession(session); - } - - /** - * 璁剧疆鍘嬬缉闃€鍊? - * @param protocolCompression - */ - public void setProtocolCompression(int protocolCompression) { - _protocolCompression = protocolCompression; - } - - /** - * 鑾峰彇鍘嬬缉闃€鍊? - * - * @return - */ - public int getProtocolCompression() { - return _protocolCompression; - } - - - public static enum ConnectionProtocol { - Tcp, Web, - } - - public static class NetClientEvent { - public static final String Connect = "connect"; - - public static final String OnEvent = "onevent"; - } -} diff --git a/web_group/src/main/java/com/group/service/ThreadManager.java b/web_group/src/main/java/com/group/service/ThreadManager.java deleted file mode 100644 index b9e2078..0000000 --- a/web_group/src/main/java/com/group/service/ThreadManager.java +++ /dev/null @@ -1,123 +0,0 @@ -package com.group.service; - -import com.taurus.core.util.ICallback; - -import java.util.LinkedList; -import java.util.Queue; -import java.util.Stack; - - - -/** - * 网络(读/写) 线程管理 - * @author daixiwei daixiwei15@126.com - * - */ -public class ThreadManager { - class MessgaeThread { - public ICallback _dataDelegate; - - public Message _message; - } - - private boolean _running = false; - private Thread _outThread; - private boolean _outHasQueuedItems = false; - private Queue _outThreadQueue = new LinkedList(); - private Object _outQueueLocker = new Object(); - private Stack pool = new Stack(); - - private MessgaeThread MessgaeThreadGet() { - if (pool.size() > 0) { - MessgaeThread msg = pool.pop(); - return msg; - } else - return new MessgaeThread(); - } - - private void MessgaeThreadReturn(MessgaeThread value) { - pool.push(value); - value._dataDelegate = null; - value._message = null; - } - - private static void sleep(int ms) { - try { - Thread.sleep(ms); - } catch (InterruptedException e) { - - } - } - - private void outThread() { - while (_running) { - sleep(5); - if (_outHasQueuedItems) { - Object obj = _outQueueLocker; - synchronized (obj) { - while (_outThreadQueue.size() > 0) { - MessgaeThread item = _outThreadQueue.poll(); - processOutItem(item); - } - _outHasQueuedItems = false; - } - } - } - } - - private void processOutItem(MessgaeThread item) { - ICallback _dataDelegate = item._dataDelegate; - Message message = item._message; - MessgaeThreadReturn(item); - if (_dataDelegate != null) { - _dataDelegate.action(message); - } - } - - public void start() { - if (_running) { - return; - } - _running = true; - if (_outThread == null) { - _outThread = new Thread(new Runnable() { - @Override - public void run() { - outThread(); - } - }); - _outThread.start(); - _outThread.setName("WriteMessage"); - } - } - - public void stop() { - Thread thread = new Thread(new Runnable() { - @Override - public void run() { - stopThread(); - } - }); - thread.start(); - } - - private void stopThread() { - _running = false; - - if (_outThread != null) { - _outThread.interrupt(); - } - _outThread = null; - } - - public void enqueueSend(ICallback callback, Message message) { - MessgaeThread hashtable = MessgaeThreadGet(); - hashtable._dataDelegate = callback; - hashtable._message = message; - Object obj = _outQueueLocker; - synchronized (obj) { - _outThreadQueue.offer(hashtable); - _outHasQueuedItems = true; - } - } -} diff --git a/web_group/src/main/java/com/group/service/io/IOHandler.java b/web_group/src/main/java/com/group/service/io/IOHandler.java deleted file mode 100644 index ce90f90..0000000 --- a/web_group/src/main/java/com/group/service/io/IOHandler.java +++ /dev/null @@ -1,251 +0,0 @@ -package com.group.service.io; - -import com.group.service.SocketCode; -import com.taurus.core.entity.ITObject; -import com.taurus.core.entity.TObject; -import com.taurus.core.util.ByteArray; -import com.taurus.core.util.Logger; -import com.taurus.core.util.Utils; - -import java.io.IOException; - -/** - * 鍗忚鍖呭瓧鑺傛祦瑙f瀽 - * - * @author daixiwei daixiwei15@126.com - * - */ -class IOHandler { - private final Logger logger = Logger.getLogger(IOHandler.class); - private static final String ACTION_ID = "a"; - private static final String PARAM_ID = "p"; - static final int INT_BYTE_SIZE = 4; - - private static final ByteArray EMPTY_BUFFER = new ByteArray(); - private int _skipBytes = 0; - private ByteArray _buffer; - private int _expectedLength = -1; - private boolean _compressed = false; - - private SocketEngine _engine; - private SystemController _controller; - - /** - * 璇诲彇鐘舵€? - */ - private PacketReadState _readState = PacketReadState.WAIT_NEW_PACKET; - - IOHandler(SocketEngine client, SystemController controller) { - _engine = client; - _controller = controller; - } - - /** - * - * @param data - * @return - * @throws IOException - */ - private ByteArray handleDataSize(ByteArray data) throws Exception { - int num = data.readInt(); - int pos = INT_BYTE_SIZE; - if (num != -1) { - _expectedLength = num; - data = resizeByteArray(data, pos, data.length() - pos); - _readState = PacketReadState.WAIT_DATA; - return data; - } - _readState = PacketReadState.WAIT_DATA_SIZE_FRAGMENT; - _buffer.writeBytes(data.bytes()); - data = EMPTY_BUFFER; - return data; - } - - /** - * - * @param data - * @return - * @throws IOException - */ - private ByteArray handleDataSizeFragment(ByteArray data) throws Exception { - int count = INT_BYTE_SIZE - _buffer.length(); - if (data.length() >= count) { - _buffer.writeBytes(data.bytes(), 0, count); - int num2 = INT_BYTE_SIZE; - ByteArray array = new ByteArray(); - array.writeBytes(_buffer.bytes(), 0, num2); - array.position(0); - int num3 = array.readInt(); - _expectedLength = num3; - _buffer = new ByteArray(); - _readState = PacketReadState.WAIT_DATA; - if (data.length() > count) { - data = resizeByteArray(data, count, data.length() - count); - return data; - } - data = EMPTY_BUFFER; - return data; - } - _buffer.writeBytes(data.bytes()); - data = EMPTY_BUFFER; - return data; - } - - /** - * - * @param data - * @return - */ - private ByteArray handleInvalidData(ByteArray data) { - if (_skipBytes == 0) { - _readState = PacketReadState.WAIT_NEW_PACKET; - return data; - } - int pos = Math.min(data.length(), _skipBytes); - data = resizeByteArray(data, pos, data.length() - pos); - _skipBytes -= pos; - return data; - } - - /** - * - * @param data - * @return - */ - private ByteArray handleNewPacket(ByteArray data) throws Exception { - _buffer = new ByteArray(); - _expectedLength = -1; - _compressed = data.readByte() > 0; - data = resizeByteArray(data, 1, data.length() - 1); - _readState = PacketReadState.WAIT_DATA_SIZE; - return data; - } - - /** - * - * @param data - * @return - */ - private ByteArray handlePacketData(ByteArray data) throws Exception { - int count = _expectedLength - _buffer.length(); - boolean flag = data.length() > count; - ByteArray array = new ByteArray(data.bytes()); - try { - if (data.length() >= count) { - _buffer.writeBytes(data.bytes(), 0, count); - if (_compressed) { - _buffer.uncompress(); - } - dispatchRequest(_buffer); - _readState = PacketReadState.WAIT_NEW_PACKET; - } else { - _buffer.writeBytes(data.bytes()); - } - if (flag) { - data = resizeByteArray(data, count, data.length() - count); - return data; - } - data = EMPTY_BUFFER; - } catch (Exception exception) { - logger.error("Error handling data ", exception); - _skipBytes = count; - _readState = PacketReadState.INVALID_DATA; - return array; - } - return data; - } - - private void dispatchRequest(ByteArray _buffer) throws IOException { - ITObject requestObject = TObject.newFromBinaryData(_buffer.bytes()); - Packet packet = new Packet(); - if (requestObject.isNull(ACTION_ID)) { - throw new IOException("Request rejected: No Action ID in request!"); - } - packet.actionID = requestObject.getByte(ACTION_ID); - packet.parameters = requestObject.getTObject(PARAM_ID); - _controller.handlePacket(packet); - } - - /** - * - * @param data - * @throws IOException - */ - public void onDataRead(ByteArray data) throws IOException { - if (data.length() == 0) { - throw new IOException("Unexpected empty packet data: no readable bytes available!"); - } - - data.position(0); - try { - while (data.length() > 0) { - if (_readState == PacketReadState.WAIT_NEW_PACKET) { - data = handleNewPacket(data); - } else { - if (_readState == PacketReadState.WAIT_DATA_SIZE) { - data = handleDataSize(data); - continue; - } - if (_readState == PacketReadState.WAIT_DATA_SIZE_FRAGMENT) { - data = handleDataSizeFragment(data); - continue; - } - if (_readState == PacketReadState.WAIT_DATA) { - data = handlePacketData(data); - continue; - } - if (_readState == PacketReadState.INVALID_DATA) { - data = handleInvalidData(data); - } - } - } - } catch (Exception e) { - this.logger.error(e); - } - - } - - /** - * - * @param packet - * @throws IOException - */ - public void onDataWrite(Packet packet) throws IOException { - ByteArray binData = new ByteArray(); - - ITObject obj2 = new TObject(); - obj2.putByte(ACTION_ID, (byte) packet.actionID); - obj2.putTObject(PARAM_ID, packet.parameters); - byte[] array2 = obj2.toBinary(); - boolean compression = array2.length > _engine.getProtocolCompression(); - if (compression) { - array2 = Utils.compress(array2); - } - binData.writeByte((byte) (compression ? 1 : 0)); - binData.writeInt(array2.length); - binData.writeBytes(array2); - - if (_engine._socket.isConnected()) { - if (!_engine._socket.send(binData.bytes())) { - _engine.enqueueStatusCallback(SocketCode.SendError); - } - } - } - - /** - * - * @param array - * @param pos - * @param len - * @return - */ - private ByteArray resizeByteArray(ByteArray array, int pos, int len) { - byte[] dst = new byte[len]; - System.arraycopy(array.bytes(), pos, dst, 0, len); - return new ByteArray(dst); - } - - static enum PacketReadState { - WAIT_NEW_PACKET, WAIT_DATA_SIZE, WAIT_DATA_SIZE_FRAGMENT, WAIT_DATA, INVALID_DATA - } -} diff --git a/web_group/src/main/java/com/group/service/io/ISocket.java b/web_group/src/main/java/com/group/service/io/ISocket.java deleted file mode 100644 index baabdea..0000000 --- a/web_group/src/main/java/com/group/service/io/ISocket.java +++ /dev/null @@ -1,113 +0,0 @@ -package com.group.service.io; - -import com.group.service.SocketCode; -import com.taurus.core.util.Logger; -import com.taurus.core.util.StringUtil; - -/** - * Socket核心基类 - * @author daixiwei daixiwei15@126.com - * - */ -public abstract class ISocket { - protected static final Logger logger = Logger.getLogger(ISocket.class); - SocketEngine _engine; - /** - * 当前socket状态 - */ - public volatile SocketState state = SocketState.Disconnected; - /** - * 服务器地址 - */ - protected String serverAddress; - /** - * 服务器端口 - */ - protected int serverPort; - - /** - * 网络链接状态 - * @return - */ - public boolean isConnected() { - return state == SocketState.Connected; - } - - public ISocket(SocketEngine peerBase) { - if (peerBase == null) { - throw new RuntimeException("Can't init without peer"); - } - this._engine = peerBase; - } - - public boolean connect() { - boolean result; - if (state != SocketState.Disconnected) { - logger.error("Calling connect when the socket is not disconnected"); - result = false; - } else if (_engine == null) { - result = false; - } else if (!tryParseAddress(_engine.getServerAddress())) { - logger.error("Failed parsing address: " + _engine.getServerAddress()); - result = false; - } else { - result = true; - } - return result; - } - - /** - * 断开连接 - * @return - */ - public abstract boolean disconnect(); - - /** - * 发送流数据 - * @param data - * @return - */ - public abstract boolean send(byte[] data); - - protected void handleException(SocketCode statusCode) { - state = SocketState.Disconnecting; - _engine.enqueueStatusCallback(statusCode); - _engine.enqueueActionForDispatch(new Runnable() { - @Override - public void run() { - disconnect(); - } - }); - } - - /** - * 解析网络地址 - * @param addressAndPort - * @param address - * @param port - * @return - */ - protected boolean tryParseAddress(String addressAndPort) { - boolean result = true; - if (StringUtil.isEmpty(addressAndPort)) { - result = false; - } else { - int num = addressAndPort.lastIndexOf(':'); - if (num <= 0) { - result = false; - } else if (addressAndPort.indexOf(':') != num && (!addressAndPort.contains("[") || !addressAndPort.contains("]"))) { - result = false; - } else { - serverAddress = addressAndPort.substring(0, num); - String s = addressAndPort.substring(num + 1); - try { - serverPort = Integer.parseInt(s); - } catch (Exception e) { - result = false; - } - } - } - return result; - } - -} diff --git a/web_group/src/main/java/com/group/service/io/LagMonitor.java b/web_group/src/main/java/com/group/service/io/LagMonitor.java deleted file mode 100644 index 5eeca79..0000000 --- a/web_group/src/main/java/com/group/service/io/LagMonitor.java +++ /dev/null @@ -1,104 +0,0 @@ -package com.group.service.io; - -import com.taurus.core.util.Logger; - -import java.io.IOException; -import java.util.*; - - -/** - * 网络监听/心跳 - * @author daixiwei daixiwei15@126.com - * - */ -public class LagMonitor extends TimerTask { - private static final Logger logger = Logger.getLogger(LagMonitor.class); - private int _averagePingTime; - private Timer _pollTimer; - private int _queueSize; - private int _interval; - private boolean _run; - private SocketEngine _engine; - private List _valueQueue; - private Queue write_queue = new LinkedList(); - - public LagMonitor(SocketEngine engine, int interval, int queueSize) { - if (interval < 1) { - interval = 1; - } - _engine = engine; - _valueQueue = new ArrayList(); - _queueSize = queueSize; - _pollTimer = new Timer(); - _interval = interval * 1000; - _averagePingTime = 1000; - } - - public void fnPingPong() { - long w_time = write_queue.poll(); - long item = System.currentTimeMillis() - w_time; - if (_valueQueue.size() >= _queueSize) { - _valueQueue.remove(0); - } - _valueQueue.add(item); - if (_valueQueue.size() == 0) { - _averagePingTime = 0; - } - int num = 0; - for (int i = 0; i < _valueQueue.size(); ++i) { - num += _valueQueue.get(i); - } - _averagePingTime = (num / _valueQueue.size()); - } - - /** - * 启动监听 - */ - public void start() { - if (!isRunning()) { - this._run = true; - _pollTimer.scheduleAtFixedRate(this, 0, _interval); - } - } - - /** - * 停止监听 - */ - public void stop() { - if (isRunning()) { - this._run = false; - _pollTimer.purge(); - } - } - - public void destroy() { - stop(); - _pollTimer.cancel(); - _pollTimer = null; - _engine = null; - } - - /** - * 平均Ping的时间 - * @return - */ - public int getAveragePingTime() { - return _averagePingTime; - - } - - public boolean isRunning() { - return _run; - - } - - @Override - public void run() { - try { - _engine._controller.sendPingPong(); - write_queue.offer(System.currentTimeMillis()); - } catch (IOException e) { - logger.error(e); - } - } -} diff --git a/web_group/src/main/java/com/group/service/io/Packet.java b/web_group/src/main/java/com/group/service/io/Packet.java deleted file mode 100644 index 574fce0..0000000 --- a/web_group/src/main/java/com/group/service/io/Packet.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.group.service.io; - -import com.taurus.core.entity.ITObject; - -/** - * 网络协议数据包 - * @author daixiwei daixiwei15@126.com - * - */ -public class Packet { - - /** - * 协议包ID - */ - public int actionID; - /** - * 参数数据 - */ - public ITObject parameters; -} diff --git a/web_group/src/main/java/com/group/service/io/SocketEngine.java b/web_group/src/main/java/com/group/service/io/SocketEngine.java deleted file mode 100644 index 68e07fb..0000000 --- a/web_group/src/main/java/com/group/service/io/SocketEngine.java +++ /dev/null @@ -1,160 +0,0 @@ -package com.group.service.io; - -import com.group.service.*; -import com.group.service.TaurusClient.ConnectionProtocol; -import com.taurus.core.util.ICallback; -import com.taurus.core.util.Logger; - -import java.io.IOException; -import java.util.LinkedList; -import java.util.Queue; - -/** - * SocketEngine - * - * @author daixiwei daixiwei15@126.com - * - */ -public class SocketEngine implements ISocketLayer { - private static final Logger logger = Logger.getLogger(SocketEngine.class); - - ISocket _socket; - private String _sessionToken; - private String _serverAddress; - - private ICallback _onConnect; - ICallback _onEvent; - private Queue _actionQueue = new LinkedList(); - - SystemController _controller; - LagMonitor _lagMonitor; - IOHandler _packetHandler; - TaurusClient _client; - - public SocketEngine(TaurusClient client) { - _socket = new SocketTcp(this); - _controller = new SystemController(this); - _packetHandler = new IOHandler(this, _controller); - _lagMonitor = new LagMonitor(this, NetManager.TIMEOUT_TIME, 10); - } - - @Override - public void connect(String ip, String game) { - _serverAddress = ip; - _socket.connect(); - } - - @Override - public void disconnect() { - _socket.disconnect(); - if (_lagMonitor != null) - _lagMonitor.destroy(); - _lagMonitor = null; - } - - @Override - public void processEvent() { - if (_socket.isConnected() && _controller.isTimeOut()) { - if (_onConnect != null) - _onConnect.action(SocketCode.TimeoutDisconnect); - return; - } - - while (true) { - Runnable myAction; - synchronized (_actionQueue) { - if (_actionQueue.size() <= 0) { - break; - } - myAction = _actionQueue.poll(); - } - myAction.run(); - } - } - - public void write(Message msg) { - try { - _controller.sendRequest(msg); - } catch (IOException e) { - logger.error(e); - } - } - - void onStatusChanged(SocketCode statusCode) { - if (statusCode != SocketCode.Connect) { - _socket.disconnect(); - this.disconnect(); - } - System.out.println("status : " + statusCode); - logger.info("status : " + statusCode); - if (statusCode == SocketCode.Connect) { - this.onHandshake(); - } else { - if (_onConnect != null) - _onConnect.action(statusCode); - } - } - - void onHandshake() { - _controller.refreshTime(); - _lagMonitor.start(); - if (_onConnect != null) - _onConnect.action(SocketCode.Connect); - } - - void enqueueActionForDispatch(Runnable action) { - synchronized (_actionQueue) { - _actionQueue.offer(action); - } - } - - void enqueueStatusCallback(final SocketCode statusValue) { - synchronized (_actionQueue) { - _actionQueue.offer(new Runnable() { - @Override - public void run() { - onStatusChanged(statusValue); - } - }); - } - } - - - - - public String getServerAddress() { - return _serverAddress; - } - - @Override - public ConnectionProtocol getProtocol() { - return ConnectionProtocol.Tcp; - } - - public int getAveragePingTime() { - return _lagMonitor != null ? _lagMonitor.getAveragePingTime() : 1000; - } - - public void setSession(String session) { - _sessionToken = session == null ? "" : session; - } - - public String getSession() { - return _sessionToken; - - } - - @Override - public void setOnConnect(ICallback onConnect) { - _onConnect = onConnect; - } - - @Override - public void setOnEvent(ICallback onEvent) { - _onEvent = onEvent; - } - - public int getProtocolCompression() { - return 100; - } -} diff --git a/web_group/src/main/java/com/group/service/io/SocketState.java b/web_group/src/main/java/com/group/service/io/SocketState.java deleted file mode 100644 index 6b0046e..0000000 --- a/web_group/src/main/java/com/group/service/io/SocketState.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.group.service.io; - -/** - * 缃戠粶鐘舵€佹灇涓? - * @author daixiwei daixiwei15@126.com - * - */ -public enum SocketState{ - Disconnected, - Connecting, - Connected, - Disconnecting -} diff --git a/web_group/src/main/java/com/group/service/io/SocketTcp.java b/web_group/src/main/java/com/group/service/io/SocketTcp.java deleted file mode 100644 index b0d0ee4..0000000 --- a/web_group/src/main/java/com/group/service/io/SocketTcp.java +++ /dev/null @@ -1,156 +0,0 @@ -package com.group.service.io; - -import com.group.service.NetManager; -import com.group.service.SocketCode; -import com.taurus.core.util.ByteArray; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.net.InetSocketAddress; -import java.net.Socket; -import java.net.SocketAddress; - -/** - * Tcp协议 Socket核心类 - * @author daixiwei daixiwei15@126.com - * - */ -class SocketTcp extends ISocket { - private static final int READ_BUFFER_SIZE = 0x1000; - private byte[] _byteBuffer = new byte[READ_BUFFER_SIZE]; - - private Socket _connection; - private final Object _syncer = new Object(); - - public SocketTcp(SocketEngine npeer) { - super(npeer); - } - - @Override - public boolean connect() { - if (!super.connect()) { - return false; - } else { - state = SocketState.Connecting; - Thread t = new Thread(new Runnable() { - @Override - public void run() { - connectThread(); - } - }); - t.setName("mpnet connect thread"); - t.start(); - return true; - } - } - - private void connectThread() { - try { - SocketAddress remoteAddr = new InetSocketAddress(serverAddress, super.serverPort); - _connection = new Socket(); - _connection.setTcpNoDelay(true); - _connection.connect(remoteAddr, NetManager.TIMEOUT_TIME * 1000); - state = SocketState.Connected; - _engine.enqueueStatusCallback(SocketCode.Connect); - } catch (Exception ex) { - try { - if (_connection != null) - _connection.close(); - } catch (Exception e) { - logger.error("Connection close error", e); - } - logger.error("Connection error", ex); - handleException(SocketCode.ExceptionOnConnect); - return; - } - Thread _thrSocketReader = new Thread(new Runnable() { - @Override - public void run() { - __read(); - } - }); - _thrSocketReader.start(); - } - - @Override - public boolean disconnect() { - if (state == SocketState.Disconnected) - return false; - state = SocketState.Disconnecting; - synchronized (_syncer) { - if (_connection != null) { - try { - _connection.close(); - } catch (Exception ex) { - logger.error("Disconnect error", ex); - } - _connection = null; - } - } - state = SocketState.Disconnected; - return true; - } - - @Override - public boolean send(byte[] data) { - return __writeSocket(data); - } - - private boolean __writeSocket(byte[] buf) { - if (_connection == null || state != SocketState.Connected) { - logger.error("Trying to write to disconnected socket"); - return false; - } else { - try { - OutputStream outStream = _connection.getOutputStream(); - outStream.write(buf); - outStream.flush(); - } catch (Exception exception2) { - logger.error("General error writing to socket", exception2); - handleException(SocketCode.SendError); - return false; - } - } - return true; - } - - private void __read() { - int size = 0; - while (state == SocketState.Connected) { - try { - try { - InputStream inputStream = _connection.getInputStream(); - size = inputStream.read(_byteBuffer); - } catch (Exception ex) { - throw new TSocketException(SocketCode.ExceptionOnReceive); - } - if (size == 0 || size == -1) { -// System.out.println("socket----报错--------111111--------"); - throw new TSocketException(SocketCode.DisconnectByServer); - } - __handleBinaryData(_byteBuffer, size); - - } catch (TSocketException ex3) { - if (state != SocketState.Disconnecting && state.ordinal() > SocketState.Disconnected.ordinal()) { - logger.error("Receiving failed.: ", ex3); - super.handleException(ex3.socketCode); - } - } catch (Exception ex4) { - if (state != SocketState.Disconnecting && state.ordinal() > SocketState.Disconnected.ordinal()) { - logger.error("Receiving Exception: ", ex4); - super.handleException(SocketCode.ExceptionOnReceive); - } - } - } - - this.disconnect(); - } - - private void __handleBinaryData(byte[] buf, int size) throws IOException { - byte[] dst = new byte[size]; - System.arraycopy(buf, 0, dst, 0, size); - ByteArray array = new ByteArray(dst); - _engine._packetHandler.onDataRead(array); - } -} diff --git a/web_group/src/main/java/com/group/service/io/SystemController.java b/web_group/src/main/java/com/group/service/io/SystemController.java deleted file mode 100644 index ec47b8d..0000000 --- a/web_group/src/main/java/com/group/service/io/SystemController.java +++ /dev/null @@ -1,177 +0,0 @@ -package com.group.service.io; - -import com.group.service.Message; -import com.group.service.MessageResponse; -import com.group.service.NetManager; -import com.taurus.core.entity.ITObject; -import com.taurus.core.entity.TObject; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -/** - * 协议处理控制器 - * - * @author daixiwei daixiwei15@126.com - * - */ -public class SystemController { - public static final String CONNECT_TOKE = "$t"; - public static final String CONNECT_PROT_COMPRESSION = "$pc"; - public static final String REQUEST_CMD = "$c"; - public static final String REQUEST_GID = "$gi"; - public static final String REQUEST_PARM = "$p"; - public static final String REQUEST_RESULT = "$r"; - - /** - * pingpong - */ - public static final int ACTION_PINGPONG = 0; - /** - * 客户端请求 - */ - public static final int ACTION_REQUST_CMD = 1; - /** - * 服务器事件消息 - */ - public static final int ACTION_EVENT_CMD = 2; - - private SocketEngine _engine; - private long _lastTime; - private List _handleList = new ArrayList(); - private int _tempID; - - public SystemController(SocketEngine client) { - _engine = client; - _lastTime = System.currentTimeMillis(); - } - - private int _getValidID() { - return ++_tempID; - } - - - public void handlePacket(Packet packet) { - _lastTime = System.currentTimeMillis(); - switch (packet.actionID) { - case ACTION_PINGPONG: - fnPingPong(packet); - break; - case ACTION_REQUST_CMD: - fnOperationResponse(packet); - break; - case ACTION_EVENT_CMD: - fnOperationEvent(packet); - break; - } - } - - void sendRequest(Message msg) throws IOException { - Packet packet = new Packet(); - packet.actionID = SystemController.ACTION_REQUST_CMD; - ITObject obj = TObject.newInstance(); - obj.putString(SystemController.REQUEST_CMD, msg.command); - int gid = 0; - if (msg.callback != null) { - gid = _getValidID(); - msg.lastTime = System.currentTimeMillis(); - msg.gid = gid; - synchronized (_handleList) { - _handleList.add(msg); - } - } - obj.putInt(SystemController.REQUEST_GID, gid); - obj.putTObject(SystemController.REQUEST_PARM, msg.param); - packet.parameters = obj; - _engine._packetHandler.onDataWrite(packet); - } - - void sendPingPong() throws IOException { - Packet packet = new Packet(); - packet.actionID = SystemController.ACTION_PINGPONG; - packet.parameters = TObject.newInstance(); - _engine._packetHandler.onDataWrite(packet); - } - - private final void fnOperationResponse(final Packet packet) { - final int gid = packet.parameters.getInt(REQUEST_GID); - final int result = packet.parameters.getInt(REQUEST_RESULT); - ITObject tem = null; - if (packet.parameters.containsKey(REQUEST_PARM)) { - tem = packet.parameters.getTObject(REQUEST_PARM); - } - final ITObject param = tem; - _engine.enqueueActionForDispatch(new Runnable() { - @Override - public void run() { - handleOperationResponse(result, gid, param); - } - }); - } - - private void handleOperationResponse(int result, int gid, ITObject param) { - Message msg = null; - int index = 0; - int len = _handleList.size(); - if (gid > 0) { - for (int i = 0; i < len; ++i) { - if (gid == _handleList.get(i).gid) { - msg = _handleList.get(i); - index = i; - break; - } - } - } - - if (msg != null) { - if (msg.callback != null) { - MessageResponse response = new MessageResponse(); - msg.param = param; - response.messageData = msg; - response.returnCode = result; - msg.callback.action(response); - } - synchronized (_handleList) { - _handleList.remove(index); - } - } - } - - private final void fnOperationEvent(Packet packet) { - final String cmd = packet.parameters.getString(REQUEST_CMD); - ITObject tem = null; - if (packet.parameters.containsKey(REQUEST_PARM)) { - tem = packet.parameters.getTObject(REQUEST_PARM); - } - final ITObject param = tem; - _engine.enqueueActionForDispatch(new Runnable() { - @Override - public void run() { - handleEvent(cmd, param); - } - }); - } - - void handleEvent(String cmd, ITObject param) { - Message msg = new Message(); - msg.command = cmd; - msg.param = param; - if (_engine._onEvent != null) - _engine._onEvent.action(msg); - } - - - private final void fnPingPong(Packet packet) { - _engine._lagMonitor.fnPingPong(); - } - - public boolean isTimeOut() { - return (System.currentTimeMillis() - _lastTime) / 1000 > NetManager.TIMEOUT_TIME; - } - - public void refreshTime() { - _lastTime = System.currentTimeMillis(); - } - -} diff --git a/web_group/src/main/java/com/group/service/io/TSocketException.java b/web_group/src/main/java/com/group/service/io/TSocketException.java deleted file mode 100644 index 3875a23..0000000 --- a/web_group/src/main/java/com/group/service/io/TSocketException.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.group.service.io; - -import com.group.service.SocketCode; - -/** - * 缃戠粶閫氫俊寮傚父 - * @author daixiwei daixiwei15@126.com - * - */ -public class TSocketException extends Exception{ - - /** - * - */ - private static final long serialVersionUID = 1L; - - public SocketCode socketCode; - - public TSocketException(SocketCode code) { - socketCode = code; - } - -} diff --git a/web_group/target/ROOT.war b/web_group/target/ROOT.war index c50d09c6ce06caa37a8a60460594bd99170ac521..8e97d2c14700a9e07423b55bb1596a543b4b5da6 100644 GIT binary patch delta 3839292 zcmX_{Q+OC%*M?)Gv6IHOZQHhOV`AI3Z8Wyc#!izoY|=RS`@IMMT>IYlbFgMkH?CQk zN4XHk8DEfyO0wV(a3CNsARw^iOG$`i;QtdF@SoaA{?iue|C9m>O8cJ~K^gzEF(~_g z&H@$s&)cBf{}~&M|9@`D0rP?fhxr#UktA6D3x-0L*#Ct|tz@YGf`MT^(|_SB;ScD4 z;W0@J?!Um7D+-J9?{&R^!`Iy)6A+NEO%M>yi~~0?@(e*FP{@`aWjQAQtL)H%0d0c( zue6k}6APIK1f<*<1cdAVONjx;-JHp3cH`t8GNDdzvQSYlr2K7R2G|I%QE3*kpv0&w zh!Nl3o3|lw4CEdU@zHN97|s|y4UgN8IyaAc`siJeO#mAZuqi|CL;LqZIc8e<8BEuu5j|%r!PBhbsUeC2Ad?aExloPnc$_2v z-y&*Mz`2uah%z2s@?~VPcoTg*ljJyrPWcFB&+`+opU?&+}$9Rb3OT73xs;_04i4YAxXUxbIOlUq70ow z7FoTy;m%+pO`SuUf=(Sh)4)$sLDo?lA~}<>hLgVfmXSwH4xQ&l@MSWrV<8((?vtf!3jF040Mo^BCnPdEZI3+f(XG3+`32Ob(#1ailk*X1z=mwm3F}^S06iD8}W^ghAY?dFX2IE`iu{m0tR41d}K30d}%qvznxtU@?gM^#079LzZUmK=;fmT-_x*JhSQ zEy>hA4ob)OmU>nR*Iq=RNUz=466)danH>cY5yh zg^uZ@C_VRlvU+;1<0NFc-ml?47ZgDx))Nz1!t3GBdl*?l>&X%>UpB$&7iR=Pk@w2G zDIM+cmErdvBb1ls;DWg4#0G39Dn#+=)6cqSg6V%svT)+Hnn#nzb(&X`l^N_?%(}?| z&1WXrdbSg10X`}G!<3riyVMj)rFad96NTeB1(LF4O5J<(C1P)y`C%fzdp2o`U*6u~ z)bq!S1?H12^xpC0^KHl8>3l@O9O4%!KJ&G4bc~MhZ5{2B)3&5_2ls#5$I9=sl3rh( zE+HU%UCdW&r>d(jUea31zaQf>yINZT;*~wrD|&_ot81GZdWva15o!uNWE#UQhNiBj zTcBe7X1_!r*r`>pBqnlyZs6zd^z~3|^9ZUfi;;h3C2cA#4=LG__K(A<>x!D98y8ws z_pvYSst_V})LYdeW+)zYcqdKV({u#>V6V9xwpXXsK`Bq0u|r&EUxLZT9iFuZ7Vpbm z?V$uItxVjD+LgTJxmNT9=v(>tl338f%kgFGeQhsGrCeQ8wdItBCAKO>6RwTOL=Fgf zB)&be!@P8x21YSIY4E2hF-*BE>0fYH!gVNPl&qOkP)21JF52xrqHklauwW)iuh| zEp%+THg{Jvc2=3i3BMb8qVqAWD|RC0Wqe!=jkys1f5@ z>!8%HrPZ3pwM}o=c5wG3n@=HV&%{he+t}(Uuv)pm%F8R36@nd#(ZkXo(L~kD%?h9; z)5ksFC(Eo&$}q8_ss=Ry{81H3scO}xQ?hd2Rn&~ECnx1S!E|`iW>d~>2k9J#lv95; zzSZlW+Qcf0ygG9+<5*X_%9`=AaKG;7}hiR4*>A80>B6 zT_&VXA!MW_;PW1+XkSi!!{xeAwyVX=;4 zIO-getdZ9PQ+E-HuU1Mf*BcdrTpr(w6o)$rPArctFRHh+fp6n7dPJVJM3!iwV$dL* z(W*_b&Zg*Zr>}GOQqo|Sm3>C1EyBNg`FOf~*^rHMnuZq-{E!$j^DVK@%=o~b=ZIUj zgKKbd7gC9bLEE#JC8--x*mPc%mh7tk@7TMguW`$*|xvE?_EmO%(}Nx zH4yz^l&1q}ppOYab+-MquIfZSg?f%NecFVVAFAsKtnIuhk&MJGW`M)Up~7nALC>6|+?~ZT->J zTNQ<4Yj-NXO1LIRh&7K_$G|QsE7zg5vao@<))gfW5OcV+lI2`#wsD4%Y$vTr=v3z8 ze#&G$SaoLorg^-e(Kn}o&MUTZ45!~p@37JoTk#H`DO27-lQuCo)81eoYVJ*wsI(z* zw*!@W(M6pz@XX{}uP<3j>1E@IUf>q-koPrB;SD^ux2K2C+}KAqm4anflUuNFqjx2( zo6)ofN~xFhv_0_|wMfp=fB26eeu&LlOVgMZ;7&wZA&Q3N^~;$RGst;#N4L)|#JKON z<=Z>HMT_CApEJfK-E&{r(_h&?u;c3}7_x37&mOejL;kT~F*0vb)LR|1kj7_DBCM4N z5__9EJw7GOuBK_{!_>vlL^9y8N&4HaU9Z9kpnZw&^!}pG;!GiCu7Xe`2@^#p%rdE@ zZeTxg-`owmK(e4G(n)UKTRF0`vnYeTb9$r5zLRS8+_K(oF3+o_=TM~+BN)>l77?%J z-o_i{(AiK=6r!rL;4G@XYzt1&&o6&muJn-S&5&DllHH;n)3VU56gWluOImt3#@km7 zNcq~@d)bf<-wezhOu?Kkjg5M73ESx!BuvAYZQVn4g&VcgJEn5}ytn8||9w3-OswWG zt$SS8-Xp*3FztSiq`OOf6aAK}yz0(QD(~Gvf0G2TofO!4H|RM|z1ey9`vu0H6Us4) z7z{1hL@<}Nu`f-5;xW^3ej97KW8>QaQjs^CMIBo2uuF+&#vxanIAw#R{~};V>rZ31 znpbR(Bt%HHj-p>FO%C6qsDA!TPneo*_mgvIIyt&$Z1)4Rm47Lv@0haZ$R9?~vzV?p zUJm85cjoUGG@Z7r;>l0QNK#Ql18X~Rz4z8R>-OTkuVNb=olPki#sWAI~(`{pvhT#`E z?=}4N0?l_g3iI;07i*@~U&2MQ{bn@1E*?a`m*_aQEw+&A`19UzM#rNgqku4);}?@K z+uG0jn|u4}x}U_8v1UR2As}j)Ky}4uRqQJhTWr&vUeC-JCmTFNA36D1bi_13M#2#N<6GX65NXTknP}Mr=+-s6u#qbDUgBX zg`xbJ^qa{i`xoRF&IWnP>B;GH~ObN#g}Y0EoXeur5FE zO<$s@1=~(6?+Zp^bUU=*Qz_{%MU{6|XS}BKb{1$pn8T^0H3cmRdL;vdQSnWu8Ba9Z z-*o~^r-4bwsGw^ceDmp><9_*CeA1{Bgx}D{ik2;?RT&$SlCT40;d7Lf^)>*~o4 zX~^J|-!G`Bl-JRnu&2#ySl?4Dz2^rhJM(do|IlcP5ehDEwvMWH150k7GOBq%*DX8X zWnX>X)F)?-&(yj@HHoNvNtRC7>@JVJim}ZhS!B9Pw638`v#0F`riw5+(1Mz( znm*sL3!zZMPY;FJRO#DsYr{9H#Sl*>YS?w;TgFiGkWQ&rT2`6Zw>8SDXEaFFxT~`vJEu+iF|iY)HkY2OryUt0c(NlIxFM&aK!b zcu!wnd{~9AWPw&_(p2%{IfgZ%pBPq|vjX%7S_s39%{-vW@@)xqW7TlFajHit#)8U8 zi1cJV{ur>&3_V*KXe$Bjn+0mZ1mE{sSA#AJ_36~rJ7+Zj=$2B-YU$P`8@-GLMcp0n zR|U9y%@*hZ!1XxR-rG5br=QD*C{aV-QAq?LjYmlSciunr<=GB3GVH^cNG)rc=vyX% z*ix=bDJr#yy5-np>lQJ@oQyB%i8+mWil{__E}P?dc{{y=)ksaNa_rL@E!qW^)Aabe zsK4OTQ+!C0X6e@b(>x`ktSKK7-1iDb)i(Fa)&w_z0-c9-a%Sp#Prj&H2NoN1_@|({ z)5G2$EynDu~kD+vD&&I(x^5M-hsxW_EFtu%HMAVSlxtH=p8`ajuYpk~OglE_!qn~lM zN@&~zbCq=>)ngiMwVUqI1{n*YYA`B|?`Fq_?{{@i{_O|tCL%w5Ot{3%02cqx_pZ^_ zfe{PBoi0~YTXyr^9_~L@`s|Grm%Wlka<^L=aW>R{`e!ucZMY{j*wKcR%oP2u z7M=9l@~OvkbnRA2_SjaN+HKU$Ha3ruVLkxBw_-=*$_A2IFg&)ra(}$Nu z-+a2sOO%R-*H14;poX|iZT7WHQ`)6xtrvVrX?~e4ph09S6{TQx2);F0+3LHxpW*qB z-mvRAm^(4Zat{&L^jjvMk?9@F?;il3<{hCpTWcT*y$9hzd*<#F z1@-m0Ri*C|yNWvoxx^S5OYI5Fhu0bP zbBa(=-?MwCZ5ni60WE!hWJ|2ctAjmLm@qCq!dzMyvHx zj*dM7K{T2WB`fPV|GqvKuJKZS?684j&(|*LVc6?7Svhz9ZPQgz`7eier~--(&TdNV z>SHJV)bNu{jZXp9WWOokyyP!4YphbAu4ZHRa9!=j*xwO#^}CdhsQ&qhasyg_)gVNy zw6Pv>he?NPr^Mi;h2s9J3_nAblm3d9nX0amQit&7}R;vcIdpMpSX}JZJ{xp2!Nc^#QYj~-Sk1uSu z0tKnsF1|f1`=`@`tZ|C3+%1GXL-yJEjtQbl^Z8@rSXa?lDa-s_6Y0qwkt>sSw=l_pP4J?p&}Y7_q*xJ7G@S5%H`$;&3IU9=lo=y;OPdII^2al&5;{fdc_YAR}Z<%G-`Lc?83zo-~AG z(*G=n@Zb7SN2rJ}zg^~1t3sy{M{w~({nLN6$ZsDgm>j4Xzg7y+!|dKAV$x{8*dmvh zL_vEbF<2@ssc=&%tp1yxt}#S#z(dir<$dsZ8dgG|bZWJ+x`#l}O~IU)F(Nb%52L3} z#5!K{I#IRqgTxc-o$m0v8qpf3bSoTlMGu--72b1Mn>cEBQ7yg>od5YBLJ0BM9&+g> zQ?&-5Gw(@`BE0yHKPC1r=IeeRy_x3^$%an6WxNnqTp`~!Z5K{9pMgzj`64Se$RE;u zk%%8on118^;6Y#lK^1zS1tk{`OnDZd_m5ycgu;#|fe*-m%yy*v{;4QlWc>U;8qpJq zE3PyKN}6<1xS>QHOlu1r=xE@NY7g*)X2uEunk@)aVk@pO3MH5tW2iHP(D4DZ2LxBX zfEMuD!t+XdBkofUDyJ2VUpJY$MIELd!RyKd`?~PjuVrXU!BclLI_vJhxzB}^^{Ipq zF8_FNARLo1{<9HZ>Odb8ZZH!8g%HMXXvx7(Cj@+$Hm5|w5w~h?TnQt@HI;gZF;fEI zgfIJriD9u{8^)BMW5Eb=#e~!!L+y{1Ui7q8rT`aMjuW@@0zO*Q8@NpS z2POfH{u)Ddme>f-Q|Jl(U@W6eNTId?>mP#29}{9gvDtw33hkeZr<8R1{0`1J_#KoD z9;5we2PA~oSc+-q&Mq+7i&C@;Er%Cptcz_*nKH+yv(TCW(Si$Ss}PI%gz*vxMA>dy z0-yMvZM#3kLaA@bTf~=nZsq{q-7Qo8J1{9>uo4NIpMjQh+IQ53i_6;0w6a^|+LLGs z-PwXJA-U@~BRao?T|c=xr&N%(lolFcR=EBPAM>vl!&V1LN{W$qIshgg3iKmw2xbyY z*9eAKHn}y|@azYQJ6j+f*S7#W3?ZKiT$Nb(J%0ag_?e;v6p^5E1A*w2Uf6OOEwLAC z1s@W@9cHu_nXg!}0IOIISIEGik5K}P+hu@r!dQB~*Ss~SS7 zqQTEnJE&B{h*zjq%Bvn?eiEfhth$h(l(G4@?Ge&&k=92|x~&)U^17g?Jf1-{@aR&g z?>A`Zs8bTTx;(l%8ttB1J#%z&;S?@`@T_CN$gOf?1^r?f?|_9_C)d&;EPy0kEzC}F zqe*5XrEk*c;wEtV%>dNt9Mw(X_oMv^q_TXsxBF==mbcJ{8!xZZPJ2i@+Mi5l$NE0* ztjutx;jD1^c9&|(L-{T5Sw^4Sq-u7EYGRk_#S8lBaK@#?*YO%(G01oTX{-{KxPB$OAauJ;2UQXLf79kVzs~W z$l%4+n30QMkSWvWf(tR>i9Srs1YwbUmL)D=$?=lOt%T@Wl;kH5aVpA77pQ7PoC_H- zh~dOl8$`OV&4p?}BKSaokN6e%?H$c#ANpRhUx$H15*l~HkdeH9JJeV!o^qhc z3%B*KYav`ygcsO_rFCM(k5C+>@xzH9_uPkgr_7D~3QB<(nk;6_B?%v{GU0g_4n1IV z#>{1K2xA?IaVmd?n?n^G{MigLmxQ*j=S`MNsTlm{1h-SDJ_7#a$SLXl8$-I`5cxfH zry6Xh9AXgdidCnMe4y=$nN}U_%v*cjT2 zh<#wq7v=(xR~Nc`X!FH5eB%DmmS`A6xn;X&w85eH^-2xgxwD z$2+XIY%eH#ouu`1X*aiRyoVPuFDwRPkIl|4dJ$Nva|w!*>|U_W*&&S6w09~!2w-GM z>|Wgdv*w=hno3A+*D}SyJf0XQS~uxdGsNua6J-FZCZ?up14Enb_d?~-*~E76X!dfg z4_Y}%EFHH&nTb;L#gAa;5#cWb+e3Ffg`XaQR||V1mmR}=k7x+LP(4Mj4cKDJl+6zj z)evr3pW97w)6m_M$kcNo7EBR$C*UJ)jWD^q(01`d(i~N@q|ZaSs#>eeb?a0Kd@_XSG1ag-`8B~)ky>&tRYI3DqX=5~rL zr{PN;@nQLq&%bxDM)G>lApTq;?Pcd!B8mb)h9|6%hkwRIAnw7O%@m{Lc3V9&eStNb zwoLOJ^w75;gRe37Q7N0T6(JNwaK*{z6=MSW9_9|#StJ^&CXg6~{{E9#+@n*tyTrQyuZ=(Q0 z=I*4Z5rRJMJoK>eTn!U>jUuBw7yRD54$Cy)mvVU@W>V0v<)jWSGtrSY)Zy%RR3@Zw zo3^j^-xkF{nUBzW$P`K;3lM;6^zhty4t9}cfO$SWX4pWB7m%fYe)ewTfO?i zdDUEy#!>mqS9YglJfWK!ZJO@a)#*9jAJt>{KOxm)2juWp-(F|*j7H2ha%T<#)NJtZnw_$dL!p|rs zT=|9xYS8L+Qq}4Lp?%$%RMi19Zjbb|?^&|}`4WNyP3px9^I^N}iKpLqp6bC*+GUuA z_+JThDf-VK-ti3|U4AT15He8sGzq753lcvX^X+SiK2`v*qT_ zh3FDVzL`p^QVA8*8;bd5P5K>UI{Bqz-5S(rEO0vBclgmXqHS}>mqY*o_!XQG@VUYA z#}VHX0oG7;@uFHPIP}q}H4(vz?@Fz(4sJ)?yFt64d-D597-5#^2S4gNz`|;b&6cbj zWDpKdH#+r{*6MQO^Ne!3*Iv`F(Vs1?Y%}C+uM8HZ?#UBcn3SZ9UIz0b48wKIkJ3r%1Ts zEi!DdpCUZ0j@)y6^Jjg7a}_C|n()WpGxx?KH6YY`if>=)*C9Q+TfF>?7(_Sc{F0eT)!Gz4m!GU~XijB-f7` zBbUp{rnJrz zBZ4cS$k4Lp;#sOcF#M3Lzeq96n@u46iL##!u2cVvyL@s1BuXCOT0tnb`vVHku1=+_ zOJ7u)rI5|qB87H{W=e~uK`c-Hp>KWUOd|cfqPa;q`_7=3Khm4iqUJvhlPPv^nql*W z7RDmneowk565^M+&Q;ECTlS^g?8#tW2&JF4%ip3e&OWU}Hg7Xf-TP$6D)xQhj5`l6 z`h5ipg})^Mc4g!0>z3O31*TZ{J!?O~s{aP7CT8|??O^4BwYmP3g=A>+`HP-Gf8-kT^-TvV3!tN-x#-h1edFE!W6-Bj7`z z8uAT!cz*XXq{NdNzc-6-0&JdQ9us69bKa0EjK?(vc){oXI-9}bayOM~!n`hg$6A2z zBeS~45Kd{Jc6kpcnZBVyeJ8wtxm!nb(}NQfPQ87cM90V%xB5`o5Vk$nd?pQpzeF(x z7mrRT0@Ym%5w|)}dN`zdI0&#hBAXfD&WwsM##}Q&Vi-2qhy~?CaivC@Dxo4FavTNo z`v!jpNZWki{~haSL=Fh@zw`YaA!rORV?#$KaY_A-5FMeTLs93F!w(-8Cryt|)1puq zL^-6R!^$|2awd;Q?Kre@7K}&9aU!~d=@pDW8s*s5^otk1<0qs-K~CoOYOEcIy8oU_ zf;?K~f})Uu$faLDgmdq~C$<~MdIHWRD-i4o9LI2J_Qgd^0sDME!_=o@Vp55aReSGX z*kKaXOmC^&K?qCAP2+R|-7jDeYBcnU6$X9WsW~byowIzfb5=O?>J7#$9tkC=4sDeU zkD6?t+i@YW*`Z8xnBfxG#}4ks(D_C)qbhJ?ZrzTk_=dHjEpch@{ElpT20Aeq*{+9y zm{`eM7E?R}O8-C-Ue76tJhsNcJK1cCm6|;r6ZRW=8PmP~bwPO@> zW}jodNd#>3Bj&T#_y3%_KL>lm_gU?RG3Fp28qUf;XTMPOIS2$fW-2bfxjuYq`T#Mz zd!w8`=U_J>q;)V|))4Ho>K3WF2QT0f@5v zpl^c_Q3hF-2>2lhN)DlCM#aFr<*Uy1WRU8e@}YU>9ZFAlPE`l-SjH`%fJCZn?9GAn zwn$e|wYuE!cv7*Hdo;`;nwo~3&m(PJj?OR1%|`-6=jC2zhyAw&4p@6JH??jn`S^62?9 zNf=S@Dp(VkVexGV@=A`epZ1L@9lPx<25uKt@u>+x#_PV>5@@{6a^pk`;g`(ECfAB< zO#H=?bMl#zC~8ec{dJg!~9+8yQ37s6yT>M>sK!H zL%s~7-}H0Gt}1M#_8352N?jpZU&*48^vDH&&&N3E@s2ku(s$Hsgh_Pf-p1ft6?&P|5-& z{-Z`v=smHNUkc8qdXtS0lD|>wFVu26rxa>2kr#(dJ?DP%2Nc*~z7_}!)upL4v_ed2GM2 zDldaWCa^z&#T=G9w2x2c9xKRiaM*Ro-vmbql*FzC9xrx!E?K%K*xtV;#^=BPDE#`; zr$*%mlVf$3$I5DZ|4O4!{OJDb{+ojS*#F9Vlg#t52}uEHRZ(B?7cev$&p7nmJQD5l z2AA@yG6rDoN#4V-xV#*vGScpY>!kV3aPeVE;W*@$-vPw#|l`|}*| z`z!gbQ+OE)F>zWWeC;zUJ&Nk>ru6xJYPig%plt@z z=1WfCRx!}qH*-NKgVe76`4#%q;P$;2_iqx$XQ1HUADB?wKS2S%VG5(iZ5FO!#k)VY zmS&58PJ>m(sV+kmL$q}ywMxZSlyS(W=P~b`=G~fu1IGLF!+wH(&7>RdNEIL0X>7_T zVyV^v8_FHRs-G_;l(w!+^OIW$DzO-n(KZuH=V7H~tA{2ErkX6DP#C4_1%c3lVIuDc z;fI385CKR>ceG%phN6f8qC!`O3*mc1lh2M^;QbM{w}MW1pCEX5{kNE(Fht3+@2Ef! zkrS_XqG1vyL^-T5anw-LP)JH>SlUob1RN1SNW9dfVP+IFF@h$BX+Yh4XOI+<5M%J% zGclYo;^wEQcKBoh^+{t9?ZzzofYLImG?fu^&K3=MDAc5+7A;;ZgD>$#SB^r!AaV%P z6fEJD&!wYRIgY&qtpRBkth-P3PC1wdl3!?iadzB2zC_ix04J{3vqs^4e!b!jz?Dk z9TCWt&>3UU5Gp%5L@M-PdRhqD{X@^4AMZB}OkuTDIV*;+I|m8QWE{z%DQ1?YZKmpI zkK3xX39Shx-!Y!`?OSc#ZQESmOaae=W2}yplU-2rSoH9B2q@4h2{d36n5(c8L}5S= z?Rv^SovW}mNIqb!x4dm%cz*;YRV)mmQz4Bzos=j`JRdSW~j8SrT17qkoJn2TrEHkyn7_{)Mr-Gi|B z`#O+LeP-J1YHr%>_u%xe1dN}sM51dA-xKTn<&exb93NcX6&SzzpF2a}1Fz{~-h+I# z&Xh5%rNdf|!Z-{WxRxh>!fA4G*N04<@Z#u%0{eP1!Y3G9-ptTxzzt8O-?}jOrZC2B zdas9)!i+Em7v!e!)g^};fm)F&wx^P~g7WrH^inqtN+!+6W)jZC>00XqSFNCw;WtZu zKBTP2%yAr2+I#Sqru8z1d64<0V&nJ?|g?{#r0OCdBowN~!or z8uh)}Tfzq<9mpH10kqE@P|Ercn_WY)J=FsU{Htg`(1;JEpv#DvOrojf04svjMa}s* zra;=8P82w5^+Sn?gH#Q9+zK4dpz%pc;#RIT4wzI-bdRB@LA^t=^%Jrtl1R((Snsh= zo)1couGrRzFK}8hLevCrpI79=m7Fwxw9L=1A7#6>dI4|DfO5q|)4ML`pdy=m{1G~r zL!H92Hwr04FOtt??y_%-X&vPyAJTPLThmlcCHqRoZ7k_dn zQ~OQxK={yxPfRaF-GrTxzMg!~mq20^(W_i5R5|i zgs@U#N`_rWqpFFen8vIImoh=~=mf{c&^tc+JEQ8`WX;N;OI$Y9jhgDQ1iPw0vBl(U zszccWV9l=k_W8(!uTb$E(Q65%CnAvRZ$ZH}ED);p{5pZp1?9QVa_{+Nek_{bqXhG- zgjobd0L&ei^!SLiQOOhn+Az2amlS>9KQsoL^f+o%shnA)FB4Wc4&{Et3C21$k=CFD zvtMNng>ir+4&i=u$EoM^yJ9>fk;mOCnm6SOaC-BwrV3Gx7JS%H$0YvUbwGeDo}9`v z&6hdMg_%y68%tIxK5^aWUfkLxCh>JiUeKG9xM_J33o)s~y3}}xsY`$S5UQe-Y^E4FV!L$6!j{hv>b#UNwgbQP6?v1sX*|MG=RDi#1X=G}_ZYr5 zpmT)nYL>FAU&tI$(0YT6>w27sR8NAgC5wG&wMe(*)gq%YbdJk=Vk0(`!N0Bj7U<(- zNhOlo=_e7X*s+cblhf%YNcJOC#p*P=yD+iP&V)AvpT+mjG3ucBn~0BRQcjnGBO!iG z0Z*hL6AG;hi1kgMKuMxqxEwXDmDm0i00x%QT~%ZV{NBaQ5(|F5%7zs?a*%!8L<%s; zy;D25vCjijze4u@0#CzkXF1xiX^g3B4=K~GDNK9lZ^Sgm`D_Kh{}t600ze4w9Dl+s zyUW+7f1;uP*$w5yiMRtmCVEdu1S`^#6fh4m$iCgnzDpeaecm}H;E(V4=pXX~;$2XQ z{WWV5*PR%r9m~{Z?|POz3)U)XrEkHVm8TRnprgf`gE!9#e+yx-b>qwklX{?RBWfzn z2rDiezK#Fx>HR(0_GdT2mHF&S_F;&!7!qOku;;>-;_Oa3JHZnb=A9q&Ru7(hk|0}p zI0TLPm;3mM{$7gRz!8t`YLrF-Q1tk0bGzX)IGFc~{z}Yn0q+)p_V);z$v+LZs z7;k3!w!cs98~#k>@}zK|*M2E^<`RBg2(vJ0m$?V$5z^yj!m12qV6CK)BgL@!pcc!3 zVv3ELDR%`IQpYb(hOcn+h-vE8lU#wgf{O>dcMZT(^pu?`v^iqf$sHmVP?sFWS4aG_ z%G@ZW4<@OiQ)jd9r4FxI$)s18J}_HNNT`h1D9%3gW<&j6oL;0R|4Vf?vtB{0p9fZU zbyBOIVbGt7ph967^1{td`D`D~ogu$+ZkToT#jENENQY8h-Gz#uj(+5PbLq}!P8uU!8{xY2^qF%SS z!B2A^{; z5Hx=y5uCvU@p~`Wh~9B{i~n)@)g->!SZf4*iof8Cc#NFVO6W6-zotvD9E48l^<)UW zYs}j6_V&a$m0m!gT7+tohPO31J;;7%4(&@57<7i9sjlxnF%CW@b)v7C+OuRBwa=u-_WtGFZmFbg)_ ztCB)NkPu;{A+^t03yi4YmD>*9!t-17;l^`Axy5TX88Y={Vcf47hUvlJ4fSMvIyrfi}YXRez=8>xjh*0JKsG4^{KAlD1C$I&Nko z9XjpgqUrXFsjT4FeE-zJ*Q@pn*O%B02jVeD?g!IfeLg!<%$C`!fq(>K;M7wH8mZJw z2?^oeVc!SH0NYyaqlSbeq*{F4tKrk??dPbS$NRQ?W^@0ilWWl&s3d z+rYy-Vl}R!eN$2tN!pZ=wZ_ZZt}rU~$)34p{iZfQO!f#iqsAzb<^zkQ$~Zjv5WrFP zRIPac2tVTX6dOcztl-@$K2q>p(B~HJj)SiXI-#CaRQDet_!P+B{GsX>>Wzz8;l)$p^6hlA_u@>IYqJB4lsrn>)h(Tpe)i?@qN|AUc z^a?xdGDe5byv59|jH?KX**CK1!>H+@io=-)w#2f!wWv5n7%_u7B3+nS{<5}d4$gZl zMi)#*Dwkv1M>CgiL?lpPo0T(zW!EF~xwL}Ht1~NWTO0Mb(hI0k4@s9}cZ1)bTixv}?HiB)}M^sl(D)s9A$ujvT)p3+dZg3S3AFcZeSkb^I=bQyqP=L>Yjf2dkyCA>sjB|yH)OZ^P|HJHqv9y=kb;i z0rs4nfQkF{VFDrZHM#!0tLhBH;NLli(NN`dy8Cr5ZM3c@e$oFA$FG!k)!_|KAdYMq zjCW6|9BRi?_A1bueud{R2iGRE&vvT3XY4Uv&oRIJeY(uO`Jt_Gsp$jP>y#S;=?nif zf*I5jxHe=^t3vMShOV)|qpiDU7jb62^c_^iE)lKg(o4GTZ#et%KL5;+<(-deAqz?k z4fp+6aZ9uPAN7{&K`3&Jw2zGY0Kw>`wFA#xV(>v8R|?}s8SnWZLVhb{UhLzb9cM;w z)=KD2E1%4TQt-|GcqteWTJSqp5I#|u%an&O;}BUdA}l%77s(j7EF!!Ht^wER?O<0p zVg~lPQ*RRJWh~u>k=d}sFmg^D{)Wx*P>lp(kMZ%aZ#Z}XcGzv1GQ<}<@LFj6AYPyx zn?Bc2kR{q-1BE8aG8g6^ync4l`qq21iq_yu%W^yytl(_M9y*P%S6~2nhUlU z!fXs4zvO8^w-HG?B1ZFPs3w!1!W#b#$|7>|z2-aHzCW}0Ua(Kh=RJLiTik|e4*7Fj zW;LQM<9l~zxw5sR-{=Ph^6V0aKWiCY+7CW|p*wWOXWWTjB!(6g01|le4bv?F>K>B+ zOYq@NU#{6z;0N~!FNx_!;L`gS#1TcZGg&4_VkHII=F9#7>M~mYwZlSr6q6~^+{MUG zWTE=1RW|5JY^6piih&7X7LUPkpDH;qJw}y!N7q0uTfQ49CUE&zm`>s6fkep|D}kTpJ4w0{|CfBApZgN59oiu z`~&tMaQ}e+2f{xP|AF)mwp(6cZwF|e^R*ciLyc7dmw>o>D!r=?kx*>7q5V~)?d zW~tqN>wiNztKoI`?d!&)f8Fq@*YY>E7C_}WGGsub%|t3rcr2rx>958Yy7&5a;%KZ+RDxNY1L?%W!@Anx%xXl<4OfnFBIcRFsq>mPF(d z8AjHlrGs>t3CK5A6x0$}M&uNuWmVRZ86BP$ELy01NKoX%YM2=H$*#S3&_GBs*^k-C;mHpD9tQE)PkUfw>xjhk5wrM?H^;TP#fA431~J-C zYh35}hQ-qQg@(iG58cwgKmt5h=)8gi#+CGybRq5o7(^5bAj5z##pk-2tL;{QbYp+y zZ$OUtOJH?$cl(a9g6UeYzdEI^F0S{;&Vok{1vB6HM;@3-YTb`5^(-4fv`b*^43mLJ4_J zC@y85ce#2&grPd){q_xO;j6JPE1P#|b8~A0cZ)Y0kC%+*e&X-)*M^_Cv{*tKhg7_3 zHT=RGENOViZoV^hS4Rh`=gZ~QCIez76gL(F^&XB(0e)K_40E;B9|QYooS?m?J)7RUMgv%p_7D`{b`C*c*%jI*S(s z-b^hm4$rLg7<*#Vx=?ghf$Q*#6MjCX$&=h^uSz+s|Df6}AFzI^{4u?D-l+?1f(ct9 zF~nbP9)=4Uy!72hA17U9tG@A7Bob1TUDES+ST@Yp24l`|)}GuV)cy@DFX|BbaJeB# zw_>QKhuyZl1JwasP~uUGyX7qcIUZ;XjSb9#Z-ccEYeRc^FBaB#dwA%I0c^kA0r=V0 z<-};{-dj|zKLF85$k?5zwYy@vIbIXISL>Os=j)tN-WjU#p%z~kUbz+;W%sK%;W0IU zhxGM?y!yQ@Vh#@*hU!2OEezrT;6;@1k?_HVlGyC$?~yq%cw>Jh%6p>9925gbAI6LA z2e`*47f>KLImF28N0s9__L2PU*(Jn=n$H5@gAHuc0r&oTd?!L4;p~yD`WN?P^4wRx zR&Ku>0mmkpZu`4P~V_ z!jmdH%JNwL9an!`kG#uw0!q-p1Nbmgg2PC48yBZhFtsS zK(4E;dsOqTZ`h{?u&vRk)DjI-2uch5M_OpYSn3Z%@kDnbs z7_LdZK?aOqy?J^H42E_@PN!-q(96^am^AmC3uf>d`I|82;`T-_$ubuLIWsW^gVfd% zUJuqX!oA6GHtivii(r+>CqwWO?Ab8!43yZTn((>jA;j!S_>^l)2R-5<3bib-ltoHc zPnV_6CQpAlQRVnT_(31zg>z&@=x>ymqQi+N9GXcOO^RoJ3uY z6l8z8r#DF!C|~L~lY^6SBdQJ+4M~L(em<|FV{tJcD^!y0c>Uf=&c-_i6@VO#6HUM_ zpvIejXxzKVUBk)g(QRERPVH&+RP&aFy`*hjrqrESw(5i_%fv4v&M@E1)&gP#E&&SV z`mVxC7GX9kF`9)Uju6=cPjEAefTEryF#~^QH{Q~G;8&9vAaL&EAT%dGMG5n*Ri#~0 zZoUqSC^4Z!VZ=v&kobasAV+NYu2)PREvy;4{t?<8Wu1 zhOT|GP)R}xDHJ%_K_L{)=Xw&9v-A?b=1fQ90aS*$$|$g5oJy)iBiX3cU?fP0k!HD zIeS{D3L^1m+Mjf zU=$D4p&U~sXH|sD{Rewf%3W2~>}$Lm<#fF>?IZ>1)LO$NJC&rsbqqwGj|hL}bIIr5 zK1(w(HO2N^CQJ5jO>l!EH#D<-Eli}ikH4_E{Sno`te*L`RPV)-BO(%Odl4H-=2skT z^wBqqoaU1_8}?Ry_obwJg;rlzn-sI zPNsvTQZ9MOO*6FvMl)pmAX|TM`uU4+7{5uO^1X8cu5RV1{%X0HH63-3D{yiT@BfYL zzjY+W@4AxVpnqE8KYfAdKW!@{6lG=P^c~FvZLDq0t&Hszj7_YJ4IPOU|Fr5>#xnZW z#((=)$<5Z-h}O_b-@zeKWm{2G82OX6bvNh-1gNCAq%UFN>o;jl%SwOg%W5@hvD`S; z#!3ygT>-kz4J8Cf}=Cw3De~&QpRF~ zVpRhI3Yc=OPY%Hd-Ku{pEcdbka5lveK#+Iz0KD;zp_>h^pBsPDm#U*ee zhX9w4qz!|XPB)=OCA>Lv;buKM12tuqv;t$DRBdMP^wyu()H9=hm~75yc(bS+#G`z7 zAg3Yc99#>|1Eas}qO%X3HW_1uzmarb+Dd5(c`t?TF)Nx7-e!M7ogj}mDNoAgMIz>d zE`L#N)@pt(!$fmE<|Z3{POT5t#~#vKm&7PRM1wnaP-MdyppUJ5@i)6JBV9re7fN(`AkFi2x{wrFU$Wa_aC@_j`UF2LyPk=<4t)fF z*b{%{sQwpiTAYM192Sg(@Z9GWA!@%|uoD!^#fHd;x2pJwt5QFx**U zHu?wTvO5Cg?w)(e4qA-y>wrh_CwVH{_lfJ$Fm72g@kO?-cN(_^E^yPV~~_dc>*2U@zly2hp&O4K-P2?G(|6nh+ld~)O-)A{q_cd zGr+(qq-z#z8yY!6F4KlcDR1=WxCwunnD&0N@CYCJK+i>VOr{ndnuqi`&=pedknX0{ zh#NjtnR3$mUTopw67hgb&}lc9Znmohy?8uU^UE<%-Q2UPAIr5i>6M(JIOLU`A=}JX zeSNG$trUxEGfWW{5D0zMANSA=p1JlLIO~8$H)PIkYZz)#2T6GL>%Zmuzb$_we~5bd z3;fCTB&7ejH2cflGg$+RKUrSkKTiHLuQ#egyJ{Y~dHZN`iYD(%W~d#o6Wamw#>KG( zLVBGYNC@nZkPMI@k`;uLkVv8qB-^N@NGHuG4I;oN$ha)jxl~PtVp8OAbsmk;ytneT_eNez~}HUngh1PwvYCsTEd1 zNBWvuR`d`-O9%QX#slDq_r>|#A7ppXxBG&o}75yILc}Ke4kog@fV4cz5 zI$3^%wIY*5;Hbw-QyEfAV4s9MHYG$?pJRm*>1XKYu9G)b~Z zF&%Cgss9eqFEl2Qo*FctD^=oXiCn3<;R-4j)rs_sX5y#6fLAGIV9%BiU|)_pT{&e{ zAw&?~IglPYl9Uj2s^2QGEzS)z{@ue6+$~C7c>Ucz)yTpo8Q&7o$l)L-{#er`l;T(; zCHNIeA8K9dJi-W3-RplBZmPDPJ^`v7D{AsRfHPx!0GU&h6wA8qW7N`J!v(Y!1TCdy zMgUp^MPtmPy7+obXV^SkTMDYnzxLuAXrWzW=yNh9wR3F5L7d>_x?#We;Ri;aeM7pM z{w`sKlA4_Q@sS#L@)Wjwim0Vl7J5V^%psJZnJB3jd8yzjqK1FxSZwn463L9JdW+Bp zMqbz_QGaMNX;i?hucWk=NiLE$6pOHE9#f0Lt{y~Ej$-pg>~XKN{VVwLK$AKW~9qtd9X`%ptB+41=2qW0z-@d6EgPNW`5Ays||lCca^A3`dmm9N2igE8UC8?MZ1!h{Zup;F$GnHrWxXyaRe7a*`eOh zs)osZ!t){mlJ1E21y0Hs=dycY=2$r5tHunz>X?T8@R z)Y~F$Rn5@nI$1_>x0r^2!4n@Qs^|ZpK&)BBDNf)CNk@OLiRsbPk(fnPz}T;3vtut# zJ?31kofbfRPko}`(VDQ;seq5=46if3CFPJs2alF~3b!A!zcV>HF!OT@%W~|nFMYjBkFWH^ib|BjVi$EoLS{#vHG()8j5WGoPoWk02#v#P2FGTaF6VeF zd|mpZDsUS~C+(ip66K?IcQ=>lTSs>FxxLg7exgrL-!=3!cyq<|y1nAp6;3+H9Qa@x zo`TwveNzif<0hWQ3;k7|B95ilgf#Dq3Pl&&etv)5li^|V!$@2syU8wKx4#XtZM}&h zX_4Rt68afpBz2G==UA`>Et~Py9Qt{eNwL%bYrZriYX4s1&clx(IeQUZSe#nxUY#Iq zI)FZmkKvXBIy?Epf)@+jM3b?dH$D_6HWOa$#ZPA3Xo=(&HdIYQHXP-1qR-zoqzetk zJwbn*b)p2#4eKsbN_Z)AMgu)3bztYmbK`jLI2fQ6lQ)b`-Bl=O>W9P%=gGvwp+RcK zM3lO#lF2!gDO(|!5n!Wlf9`;JjG}?5&}MCqQ+w(a1zI-|r4dP4y~y}J9<_^9@v%<* z=I?8N;p0=a(<32HfOGis~LTx6WQ%Y2tZzZ*aIsNK)w z77ej~TV;hIk&y`}kyJ-cP3e_g2i$tEeIi`pFs%$R^+%V#9FR|8O%2;-29Eeq!38s# zg$1rubOG2)DVooAAN&nl-;e(O(1l+yQXE57IaQKE9fB2)E~uZlbakJ^ivFi@SLJ_s z$N(Q)>AhK>nwz)->CBWOd{vWO4jOs8XKG!A_P?(YAj%3}#c|er>LHt(3y2Gq_i)m$(kyS`mUM@r{A_ z#81_=u+s3;tLtkGLG|9QgRKOQ{F~+m`-DWFnf7ON<}TcDR2^#8qTqn)0^+1xQcU72 znja0uY;giqp$kxST*F+-R9MnPmz?>z*ljy{SvO&5ErgIhHTXZ>C2f?JWjlZ4=`67m z4}6?o7Qqi`6;%l{Yw2M@JFpJD4*MzzzJ}rD;;;}czu0av&0@9&Ym>Ya8}dV$0GE!K zCQ0BrVc^hM4H9fwjF~WkvXc7zYbr$^C_nnQB6s#2T4rhnjxz{Fpf4!^Z%19`N7#l>2iKZ+FbE^he$3iS*1tFOEHf3No~*172Q7y5%+vX+@zRnqaAW7?h(#T` zjre!*J8`C)aTQx!j@MzDDFvV2wb?R;`z})^OXu zSEg@uZ>z`UC%b)rGP8ffDNjO!vfpKYFh9Idf23t6)q{NnF28tonjIi#e@%WVy9!FO zYK?Z@Y1dS6z&SkUL-48-zIxJd^eH379bPiamxXb9=R0NCIcZ6U)^*D`3JuFK1*Jy! z(JD8#{8Y{?E{kfEMJX+#QYtKCZ;}gj6H*SV^YmO2T~DG7kJ^9t476j$avhmRnY+^@ zFH}Ac=RD`}dK@eM(2(t9Oej@dE(aPegQj0-M^Er z&H796gf}SQ@(Z(#3wGTV#*$NN5yQ$GJ^9}88gk2tO<;evxaJW3EU$^qAS!=2cq#{n z+n03R6bpHIe7pk*RCL%jaYC3c9E|G)#^ORxv)&Mut(Y^i$xe&tty=Yj*?PvYQ-hsTOjVbPTO3%$*e9R6!pgrHpvWH+NM&Lz zS{cW~pDcNvl<4s~vXk0r528PnlClIBXNKyQ-zS1>UbZM72lRTuT2!Tpb|R`x!qAI; zQCK(~NRYChANSAnCJF4oOd{%$rk>oSu9)X72{p?WtGG^CrZ{PM!|ttQF&%W;jtXF~ z+5LawdU&72_fe;pQ1v|uOL48nnwgwf1+~ack6u12D48e%AFD6bD5$)5pWUFa0Wch6 zTT8yM!ryE6srysXG*Z3L6$!S zcrAW!ngTuYKzB(H@G$jd-X=EZm0g2lZV`Xc-WMoWC>+`1DKz9PYX4;zd`p0~i^^L* zKGsp#BdnYiUbYZO0&3G2@+`%Fb~&F|rlC|$_2@0Z_-YjvH++qpR~LzNqspg;WgYp+ z@Zo#yi)iA*H-7*ZbOx?gd{q$6SJGHLTbMUGzjc6;Ls|{QQd)B4;AT0Gf**px*%*Hb zoFEN~jrYs_`(qrPpId40Dj71pZ>rX@9_u>cz(=fj3ZIm;3&Oo<$gAPN$E`#EL^I^X z(JI4uG&1ecaERzdM@3|ziC4qwx2t-u3Nq|B*I>Rqo33+oi#&uc_Ro>jbiE5V_j|IE zPh8x6ox8Q-l}WF(3n#qvi1*Gt3#5MyM%ehW4u6{Y;n=;Eyd=w@ia}4WkUm^J^@O&t>zk7cSgxFx~ zGT-DFyyEruFDq5EzJA;>py#uXHV<Zf)h{(&Xs`s?aQOd8W3QXm!?!p~0oN=ahv=VcRfogqpUyCRp2&Re zb5)^RbeIm#k>RJq1IUnK(fxnBSoyKPkRl1VgzT&lvX>V-JYkqh@3T4kX2n(@B|F7# zej6Y|2U20?13SZz5q0GQsttqJtPEkgJ0^|7)pX6}`33Lfot=C3Co=b8CadYQvj((S zg`sbmO}nOmf5SQ_OxF}}k2f8pKioK2@plC_*ItI~yAj_4r^jD2Zg+nTZ+!CdhT_q4 zc#n{~$I=W&r+CrH&y8dMh7|P<%f8(f|G=)^L32&CsoqVd3{X}2o~2TMTb35CTk8DA zx!piKTa})qVX>8;FW|l1$}gHPjLhZut{}Kd;Dlh>FZ7nDG1?6Dcr{asx+ku)m|0CR zyVpoZwK!;z2+&n2lU#qW(8uY*kSU*Xk}2m+wvL_eat+iPk1=yRx~m-1SYXZ+3DHx& zfmvrQM!{fF1`qaRyx2ePOxpsk?uF{|J)F3=J#b1X-kD~bPez#Yf5jjEku8vv=pM}k z+8ooj)z5>uy^()A$&=VX`tf+Z9Xa>T zNJocs*m84rjGyW`>EP&OscmEDqA;(YNK>4`AZXrPnI3jg%d| z2Gx0Y!GNt-sYV8ZX7)t&3wo~A^MZ8YE-<(0+h>PF?U*g+uN9ESS zwV8Hn$&B-O3#n5NPnVfO{C-8wMbf0E)tygk9+lUcmeqgpx}P7PpuZ3jG-Z!_ebRmTSVY&RGpN#;YRjZ`KoxQaubHOZ?TL2{&f?BBynnApejUUI7F zw-%MQB;kK#)0)7pOTp1v%z(D(&@6NY)<9okau#&U`0f@7W;s=K9BMpE`);NiVl_wF zt8-kSvUl(tsrNJ76-*MGohv)ckBxuGK8IdsAihQ?rw76xR8#{w;5;$7 z!%Apm8|;MLEANYnp>-KC6_kW`5~3GlK8=#uvCC+|9Zr-(lv93P>QiG>V>ud20yB`A1uBaU)YT07kbgdz%>lh!~gC$q7R zr6!auLF%4YgCS}hlhjda&(OEG$c2%(G;y>`X%QMd7Kgi=GSmpkYAMXHjK4QvCaj#Z z=qB{n_C&Ilii&J!U6Uh$vAeV=6ccckK@@)p!m77Ue`Z|#Ip+~E0Rd!PRQ268=MfjH z&9`k=yHK_|uQke)QVCu|&U=v}chSSy@F2rcH|bLc<$4Rrc9EwomV6~emn0pVcwkYi zoz*32jGxW3CH_G!7uk#$wt)-bR+|?`x++Avq83J`;9vFE59Xus!?|I7 z-KH2bJUE<1*>b#~Z(qP&0V0Ni(>Z@UMQh=pye<^+oj0@UF~PL<&NXeY*_31oaaVzH zMnJe5a__=15}&apukVS_n8TxHs^?4%p#gMHNNrsLx)-93Bp>=;4i~6mAbq}QUDdOQ zaIV2fU1lrIK{~w4w_BKR`GS_{A-I}?59!GSaDvD6(NfrX&E9#u6VI;*7Eyl&zqSd4 z%#j4+=7fXTeD|S-P(RH21SGzS?QgTsAxRHugm>w% zK@;Eh7FVZy)lyEb87S<|EupasR~>iNOKObKuq+dMaLJ#u4__qN@A`jibMqA?1M8;F zXLe z{a5}4II{o8>3=5QN)>-gMI=>pZ#a;o0MNvAkwRgi2~dczW<&|gpD-agq(y;id#IAZ0AOBfhhb$R*PboK})of=}0=PN#*Xo;Yb)0ydvpt`zK%ChZ|D8cjk{%>id!KxWEz8l zTvfO#_-20yGGB-pL~FoFW(a(YfhpCg*E@4WB?@)_nVP^52#ws7Bz+FksXQpg7QIVo z%G>{A#Z7G>8RmCT+(b#9e!89bka5<&JINr+6Mj%jKsh6#Yhdm$2br7Vc!-@tA}U9l z)mdQOnOzA;@R>zFwoRqm)}u^dUt$aCzEcN(q2+&cNabCYQA<73WSL2J$kA7dXF@fD zm#@J(OQrE*>W72^%bu2z4xYQjC^53&{+DJtt%EqxY7nK~HT_gy`r`0nvAmo}s)i;T zYC}bwzFvW%poa29M=m0EdY)9Flc8{KRwCL$L)>&qQb~LBxIlh6vwdHE9^d_TKW^x7 zf4+Y{RjR>oAJ1j^j@7wopIyQathPfKeloc#3tQil^H|2Ub~Sf`DxbmSmB= z{=@ftz-@Y8?i{Whic4;(zi(T{Kx;KIO zd3j~x(AspW-m$uFM)%;(IMX1%J%yA@n-P$SYiJ|MXvFsU*{+WHSd0+pmWn~2t5AO% zgkIez1{t>uoN=x$hAV?n#SDb$B$)-=p>!I=98*^sk8474@?fakvbq)iT7`t_ih4To z$BHolhM#@l!hFs5@fYI`Xs-T(7rWr)ZkT;V4`$oxj`r1GM#4^q=Ix!?Aj+`fsQ1-p z#4Qw+4CrE|@A55KeuS9s=E3h^1z~^q^+R~_)g}Bz1EM*S(6ZQuE)$P9{5SE%w~1WE zlRiVN06Z{zzw3_58E&Zq&|s$(bvAAXU9CEMvA11vKh!Og_*@76l;QYYrHOxXBO4d2s63-v752#n?92G}h-D-;xJb4iiw-#nkPrYU5i6NT41qV~E)tZT1F5;-r6SSQJ+8z-ot zwmC3?{o+BUuP9KWXKFT{IH6P>HNIFI{97lDX^@$v=N#%Jxn-eLkXE z%!$~o%ePjl*Rhaos(`SdPPnv?Wo>^!|9!7-Xj7N|4HyV$<~tCO`2VEW7yR>^qm4bk zqBQZ}RUi|a|0+HT>wx*6$QjZZ>gYGvBHD_ST*3Suo$@dfBV1`y5Q?zi;m+xqzN$8|8k^2I%Jp)cy3L z)RkaMnDu>MNT=jOBIkq1!}lPUvvLtpR+3}UUuFNUnR7hMq#EQ)#&arTlqNmT-gZtZ z5v5!wx3V0LYp0&Ujd=yQ0HMU5UiD@U1x@lJR~!|3JFAuO@*RKLX%5#<0-5b)ovvI} zJIYOZ@OmWN*D0D_Gc)5<#u&w(Kel4F)5$>`vfl_FmiYPLwx1V?`nf18y- zv8B;i>uhkYb`=)slvG}nATaru)%?Zmj#=bWRx~BnlLD`S3lh7=mF7n2M%pQNi!j&) zBgzQr+KC@|K`(y>ng#ROue)0G9cM^1wAvYXN$2;wsmn_9ugz$}Ji*i=N|s%SjdyT( zzV=U2;cCmT+&3tVe^!SEjtZk9JCzLOv8t&3%Wf{?lymU64%f4H@-8X3pbEdFH-T{ zGY!=(p*AahE*m*jzhAMfen3aAbkBq!Av5p62uHF9<{})En-7SOVcMa_cdahy0CJ@l z2^*m}nP=ZX|31zlssf?)uz`Tod4Yh0|0i)KV*@Z2GB(k7vT_u(0XR6?I~o27yZ?-_ zNlj>1rNw{7&*fBlQ(UrCZm}B(1ErW4d>enbk`AhnU%&9h%H!#K^u+WSL(P;H$06>86iBRF$xMOc4}LN|Btaxb~4g>7U&2MnvNKmB0@3^Fo2-dvvx_P$8Z( zif?~T6)1U8I@Il4hH+RT9+QbIlANhVrl};GS!Jy3_V!6}DtA*3$FK5`udB6lwzBHW z80MP4Iixd|w#ieapII`M2EEBcr!Q5OOWF~&a+BrCT8<9K=-kzjKibr}k78a_@hGi()GnXF8;OM+=4y!-~gPYx4)wDk+11 zTSF%%x6r*>5ZXVRM>;1&59xKk6NLgs*(!>%w`Gpn<((+vgxGcEukfGp{7DnMr-s#! zt)$nIlh=$1d8c|t#*#)!6tjw;q#qEuj~y{U&d=YDam>6>op(4TyTC$nTv-4>sSkgi zKHcD92xCCEG|ce7WzX8E^+1E4Jr}yfmfsle z(e%)j+45zNyvQ&pG8K+DSP}F){H}k6pEo2J!XaL|pf{XhN&1AdE#?tK#*h)`AW}EI zykhbJ1?~J)E8LNO7yg33s(d^xDC*OK(>Osb~=`tge*&!$K{WHZz(^miK^7G?GGBzWnYX|I%a=?Fu5j*X9 z+M4`+jtZ9m6-K-CsZqX+ETruyj^MMbS$mOtmr z_n>EY(tX8jOyK)0XhamAiVeV06hVwkRmFaXd|M)RE(4dT74=VleER-s21x$+Zq3(Z7V(rr|w%=HP2#PnIO1*EWTRcJIXcfF1S6uw^L=c!F zf$Iv93`Jsxu;lvVQTf>v)GZ^5Ldb5jD$wDzEU~ z^yC5@o4ceQ+Nmi>#5vEI_h3h#TL6u;hkkb4)~+`sEQ_#f6Djy5zx5Tztns$QKXYY~ zDBL+)3~xUzv#yR68B=|hY+^Q&`)UW0=a4?o-9&XTOQEuhE+v0^U#U$HfR_ZbYtFBp zSIW;*)6qqsxOMVP$gM+b@zvKK@61l5b3bFL#@SjR{+0*sX>SjLlU5|`pVl|qB><#GBH%X$14FBBdrHfc99ReLq9CfVgT5=tw!|BKw ziY%d2KmWx10_=aY!RZXxoTgpAFjeNt$ft-2Y{8H$SB+aSt4qnVo~$9#Zw_8#cLZ!h z2c;}9a*QL>HjZYUMH^DKjf{K?Nt6EF+dH1d1!86jy2;1sit<%hqEt>#hQ8EpWl;;| zvDu6D5)UZijo)gaPd#nJ;N2_p8Pa6^+}pAKXjFtVB@KU2kn-!?XswvvQ2%s*az(pd zeM$F!hCOz~6A07DG|P~To~y+(1G|Z?(pwUN`XUx`VO)&CDDy(b+cN}zcQlC^;-E3d zy>z(=<%PP9%_YJD=PGvmEL9C)-vHj^6wbG}+l%lnrP-1xj z9HL$yryYMRF%U~0n2TTQ=e@Zi=i+TIpLfgMTQPmm*J{fa0jjVgCRN|*O_?v^1%UO^ z2phdr5GXO-p;(nHB{H^n5uh`I%{1LrhjSQMobrRq6grN9AvQ{)`P#TG1WLOw<9F>Ckm127khXMh} zn_7M{s>!<}+qe|DWFirf;}ekVZmYDD)BPM1Gy3|Bya*?wge+s3-T_(g0RqPUh}vOn ziXRpZu_U@a2Ho(w!sQ4EM=qP(HFO~{pO;1O%b2Vwy3do4HtW@hkTQi04Uf>X3u3Ic z%u;`Vlk;;#qs>9BAZd9Gg&&i*DA1=#9DATjyw zPnD^VB#1|+{^p?B`kYxSACCR66#XN^&ncjX>?aouq4MgIm_Ja9emltLW!-R!E=hl` z^=ou@P@e|udizpfnAaV8iqif-#V~xU2v0UPYl#(@mMwyWzo&GUr*(4QiY;r?eJIh? zJ{b`v<+wp3(i1vBe9fat=ByJ}%Yd1xY>VZn|MZm6zI?ZMe8FWrS#6s`iLydfVaOH2 zig-{Xz&(q23xRjDPb5+ex0!akTn2w$V^N4crHb-Yz9m{B$zMF_UWz?GaG$!&*rDG) zO&dEXlg+pHZ<}APfBkjJ^!ig;J8mi$Dzl7-Zi_Ef+qj{;q+bv&t||8ejl&0vEZTi;}|%I zBri{c5#1h=Zm-Ai@{K&i{_8?_%hikYYokKDZ0BVyzoDr0qGek z*&N013qI-#_uwsusU$&)swDMHgBqFBPQk;fSMsr^dpUc-yr>mX8%byMUS+6ujqGo0 z%06)QSn;D2PLZ%1_AceA?|So>K3ED%tJDjQQ>ODHDI&%-b!s*E;agTw{4ep2iV(mBSb9Lk0>FJ5=MI@7pukUXkjZYsn~|Sf*z99 zW>9>{l+U)no*I9!_E~xxuD|&oo%G~1$yfY%r~NNK=zJ;YGbaJ_IM%6H+8AByJlZG-D!NAf$D5ZlEtFY2TqgbSHSHPFJ4R41nu*l9tcnD+#SZ9?&3LdR0G8?RLD>{fw)L)MS@+~E@j@U)B^xHS$#~*!m zs&yp{O%FeRG<}3z+SR}rFdDGlS*=>^1AX0DNi}~PN7L{%F^GR1s8`c0d=kOj%bt-b zjV#U2IrIsin4(fwuZ4Rju2W`nmfFiLDjr`6Jp!aSD=Blbo%aePGO_57cs9r#5ZSyK zHRD@LDK_4eV1}3tC2YPQ-YM?0thqiFOdlLC{ABy_3*_~NUt{$Jzx{h&;T0%hk6K+DQ z^I;~rqxJrIdktrZHDWUf?%v0niB?auBa?s3zNVrRyBrQhWJ1t&4`f1pEi)r4u2cR+ z8~atulMZ{dA=3ViJ<6qsm#T|~-C*1#0_WQnD#kNAD_x~KwyOQg;-Id@psLbwW=mA1 z%Em(2k*MAH^Q+Z)+|Ne9F4rVPlOCU@i*!hWa333BcG@OE7Pa*Y>g1jE6)|i=Y+#i3)vZeYY!rcXcUG#?fo|%=pZ~iL2>Vfd0i;Rk- zQhJSZ-sPjQB^Zt@nNejGrMP!vYXE-)n4#$)UG${`^9*Xciq1p~uD!MEvGFc=UG<5s zRViS!-)yh({-BeC1+@rM3kBKmQ#oCR!AvTj`B~k7?HTa25AGbG3Ac49(qw;(AX9`G z`)eL!$N`}r1Ew1kJs=RKQyAosM5v%1JwuWKdb|c*SMMB~TGUTX*`LKzI~b+qhq#t+ z;tQ0@uKS)IlgHKWJvas-Jd>EtLCLlukB$hYO%8(3(5ovN+K!-A&v1*Fl@|4Di;%>P zFh+pnA-PqYev8!5J`@K+y77OX3ZncHx3D`t_sjACSc?j6pR*NvdAxg9zZg(q&xNF8TxZd2ILvcmIQz3h!Cd z*tG{U2)uIkLn~6WB6J0i>5sGIX4XjClfQJhVy^A4y)@}MVKIcX*rf{|oh_yki0bVU5UK#i2#hrqQ#5`dht5 zN;~Jq`QcWdPBlso`#gWv;g(EH@*xUuI}j1~=*F?UiAY3yHmy&=BsOR>wN%}s?p<0R zxn}d2HB^F?b?(8hCQn?dMnJ;yAuRBff@Rl-_*Q{-l4kLEHe@Zqns;%>ph^l^&Ey4* zfnKuEPW4-IlQPOL9t;~(T95>-4GmB1-x8GJ_(LzBt(?aJ457C z)6_=1l=7-<*G!o7q~;T~sL6$sZ=5qX@%+nuWHS%IaAP)5etw3lUi58ihVgL{zvi zO6!G9agYdBaRewH6$VB8BQ;nTzhd~=gp|^M*!kn;1i?zI2{mjcu<1cZU51>I*th7T zVJuJ{W|sV!tBI6s;br{5XROB9##1!tBNW5T4n)2x98G_q0T!iJB7E{H%rHoI6brD8 zV|K~X5R%-OCC+t9B&t|tV|3%sB@%PSuZio%%zU1e3#)$Bm{nnkg9#Cx2>0WC@Z&9) z_Iri9Sn2x5jreqO+DZ~!iOQ*V5*wi^smOGIT_WQKM7Dz@BaF%wnyv7DF1}}zj65%o zn<~wU;TnI*qPPhOZbmAC)I%(g<&FkwK1tMeh6GRbmSA&BEBGj*K1!x1y8zwi(+pJEiUjY(gTutT$JQ(icrgLG?@Tyf`bCF8E3*^#;lYd_Os zUa{hi!ifiu?I68}3HL}EcHmp03*7j02qHfbxNa$N_m7KjIK9PUJWzf1PS|cW5zoe5 z!-=+fEeishZ*a{Yz5X9g-YK{e;NKRWNhW`q*tTuk*s*Qf#>95A!-;KMJNCr3ZS(uz zI_Ke@@9ExKwW_+RpMSl2t?Je5Vq_bJgpi5*D?Fq<9!mhoa)FAOD+PftDuuVecw{FGbC9pExvTRRZlkAC;roV9;d5RGuIJJn6ElEjeD%fw*OQ)(tbaP z5z@r?_1o0Q@XsUy9P9I!a>w1Iz)$zU3RF6}Td_3l+jW*UA05SxF3t0l!wjibYk5?%$Pm{-OCw`}JS4sv z-n3`8>B_%yOq0cWGss{fAo+g||6KoqU44QxCBQnXds|{=*(xAQUgm4-cdlbL<>h4+ zTT+1f8gEL;!8cCWka6ygqcgdMswdhv^2YA{STR(4wIQYaA(Q6OSh^qdML2DKFx_pT zUW5iP;oXgC%6KmDlZ&R-vf<>H=yiFZ?mnt)i=4VrPOkwwR~=$p8qR;icD!K@%Uk}h zR!T(4mod?-zIf({?suh8HY374{IYK$;9G_)sXZZ(|!sAL}mlJzi@ zjq;fk8ip;l!`M}6(N2dA#+|hZP)= zgiOw$)v~&fN8<>$J*78)A7+9bbHYK9$&G*PBR2cm1hvmqDA+DD-cv3f>$h8WT2(?J zQ0{4|rOR9wy#r?!5MGeXY+0gHHk}}rO6`{R_l|WzeTRj0yhqYnbFPS=`i2wQ!>Yq% zBEy6=&mZ~Qo>zqleuVRXxF-;@QfIVb*op$M3 z1h$NV_*j!$1wq$;jk33VeV&8uNYKLI?0Jxcoc99qX;coWM2G3K(l&izj}Ffn&^ww9 zWHf$VrX#UHuYh~v*w~1^7*2QA+XYR;Y?h0qOV{cHZ4sD9kJ{aR{&dGnyN2j!x@^eE zZ_5n!{uO`0$D-Ia%JWOR@TDvn-5l)l86A2yM&3>v2RGeJ#fL^lGe5eZrxJ@PeHVVY8j zUTB7?rhZ7EagW^I!yIg=9FS)W=5-&IhhIV3C}CB%xe5VgMIfA`A(9P9R z&Ew95MStdi9Kqoc8s`e(*$w~;;gFItpIt*Bb=?}l)4dI!x>+I7Ux>3JTV`Xizlf(K zMee|4rqpC)wV76RM5oF4PTT4h9J4b3VeJc5xT)|fhD&Y-%AQ_;9@!!H0S03D1Ggd=b(_o{b) zNeU#Gf3lGT3H@LMFkzvx_WdZFxN!GivQCbu?p_0|t+8dcv^}9ha`yO|8T|fI-JpD!7@`df=_>dHZWKsL&YD%ml{N=P? zq=e3X5m@obKQg5+DeV5&OlO(_BBR)UOb;grx_rjE7rM6UgT$rcV&~EJ9%~DC;rvyT8nfoig`fFaRraU z$W-}xO~=|&gO;gYXEV-SotSt}TrriRVnc!!Po`^3h)S*$R;k$wJq?grlk*vWG_2BX zzEN-75@ig5DA$4FgaYKRvsj5zt`8$Ig+x|YG#trJI&kD80C155@d@2!29JK@6M|$! z90vDG*i+_^Z=c^g$W^zb1D!H#LtPVcxp}cOa^^g+3NXv{ZWX&>75n%NQCIC zHxWSvtCQ|9k7hjML(I~}orT7K`%NFxJlydZoEBSlO`0<4j!l%ZFG^6=b6!VT@sOHKg z!j)w~Jovnz3TP+J)Do}f$_g(`UP-lqq`IzG3Bg>208bcE{O%C@IS z5#-D|sdBZORwU~i{yXJ=qDZGh8Ofq!U0XJS%b1dIt|MNu2(#>)nGM#b2ypQ$dR^HX z4r_T6rN@7dbBdX1fv%b)|WJ6GBD*?2;JC|=*1Zwxe zdiumlHuM`gt;r^TdsKz5a>%1B<_gkFzf^stL1$x^ahj%W9y6N{S$;^hbv)q*1u?yX z9CXf2NCxP!4>qhFdfo;nc(Q}~Ox^|N)jk9MdLxwuEWn6`9A$RlE{VZ6(*#xG?qx^p z+RB%bIEUT!-|ADMZpnU0_^vaR31@aLY%fbhJ)#7*4cLQ!YB({tFw^*~#Lnd9d+)!; zG5l^-lIw;I*XY(Sun5lb36N>C06JC65$?&k`dqWH+msAXb^l7aQ3`8FSxB1aj z$3#qo2oIWn>0B?jIv;tc#0G+dbBocX;;i+d`}T|1Zpsy}Zj(&rLw^{YExCd{`pisx zJcthd;`_UbNI89qs);7=LS#WENVNq0L{}T_6S3L7fH<2q3@V8ndfAd^6?D`CCS&*& z{dso51wDS+i2Dabh~e++cXyV@Gw;GJNpFw0uRYp-a{DVGu?ow?6~}^Q+Xk_ms`Tz( zoG|c{5g6+ns7XJB>(2sY%eVf9vR}AhE8g&%8n?HVzWSK9w?!RVjxmS7e`xg|Bfh8) zDeb1K2_PKuP-4Fj=dL;{jg@?gExLc{ZPHKdBOIdMm2td{YbKpUS;RO+40vHPfC*Z!+9n_HyN#-W*DFD31at9 zT=9bv-`w{sGknD&ING8?Fwx|VgMWTe*Df5ls4MtmVkTFXJpg33Wkkq^g&MHtVvEz> zbr$OA`c0E-l;=?cthQjJZ0LAMY-W9Y{kE`J3=wRSpZ(K>V}Zb`Q9l&?b#?pY%|OJL2Sf+b84 zLLv&_Ry32?F^6X%{EOeBIQ>WZP?^%m^0hvCQ8DO#bz!;zztSInR6RL-$rXr?GUYFS zeHIaa^uGgpgScgNAz((-g;%gkkIiE)DcT(TxVI$xX#ec0*m3hu%sZ6|K^{V8R9+Mx zx`&$SFEn)YyX$NcR)LZ5Pd%K)b`D`GZQT`ITCt;6z5a@*EG|cw_HyHsE?_2p4~Jlf zOl-x%FZ8jI#0krzn+t?$&CbAMM*XmVD`$=n!w4lBHLd4-v z&NO6M6M1rv`3&A5V}Wz5HTkfPXz}-7jRBmutD+&e8J$yN^`VC^WI5uv+?K~4-cW+E z&-W^~KYFPU_t3vAz3~6GiIi7*X8O7(w-yRabT0(ND}bIu{{0W=eMsE-{g57iYZz~B zGZm2X5oN6y(UY$4!ddgPRTQBWL_+iF+8U|oo9lm0$Ve0|{FoXm-Fb$bie&4ldxH$K zC-LHNy+v8*qXNrVv`&<99|+Xp(n{u!(gj(8qJw%Jm)2)kulLMA%6eSq91>`w%adn{ zN~1b$QS7@_1v7TOG{L*73zoZoM9*v$(bf1KFEIYKx%w zKiMz>4JY$1Ik9FRrw^3QC3CIaIn8J~H6M24uq`b_ZLY0%0(YPeIAJqANZ%#ZF4@rf$t~`Hv06%(fJgfhJJ>B*m1~Y`^MbIec6L1d?68`4c2@@Zfl3#f zwl-+^kSB+)$FDXzYJF>ei0!sefWyvf5UukC?Mn?FRLuk=CEAfR#=WO6%h@go5G|3IhxZ`sBFl5C1b&PI0s zrPGSl*6mT0(DbsDsYtDL=%bpO^PFt9~F>aj;q8j%VafNpc=aXOd9qwxNyxu&vX`~ z+irVf6;qg#dzE2-7Xk)#;*A*w+E*U!hdM3od%)1o`Q|?Yy(kQ=S~X)GOlhz-l@Ra) zDSSZxsp=3d*UZh2MWD(P{W9~l7HrMD?P77-zZy!W5HUOn6rTh#-LK9$e&n1oR229} zeRMZztV{Z!K))5j5l0kKEOOZ}7t6%xX$(+Vq`4iadelaL1KNa`evE;36)G7^G^(z3 z;49%8SxN_yGI2N&-)=6Az=)(sUcr6xl`9TKJ}g>A&-12%4!0smH2pyHUt3sg*!gQi z!%{+yA}}sG&`Gx3iEoQC*scHk8@okM?=w;7#P-VlDrKeY49e&`>Tq;Xy_>ANfNHg4 z+qz~s)S~=<`*NVnpfNL~(vQlYSKjMNOHC`t>vtUu*sf#m-OZ#Wryg#1GC9o;z>Be2Fso1-Nn9?=1_(`#oiBSbFdHj!med<*R>n(_-TG+`A2lU4&nIE8NEV|D!9@RPTh^SAv3?SweM&55r|fi((VrOTY; z0|KY7ZjC)AY!PG8VM}%mZ0jdwpHJv4=2o!J%ioE={2u;vz^GDGF{|K+tsv*q6OO$P z-|+5#b*=;eqW%61F8)56pb8#Tmny;@6|0R|w{Qqa}O4!-i$m_q(uAG~#tJVLidi(FDH;qdd)De7tb)dubbT~7Iv!X3Dh#{4K zd|d|L7zbwK4|8={J+-r^!kCr-b|4-0sTi|dR!^Dq{Ifg7{H-fbvb5k#Jd<2@)88UO z-g&{I?Kdbk@Zx_prmJzqk=TeHm7Ck^0{J&e{^5ws3wFl>)8pLa zwdcFWz}RoR=j@JQG{l=gcm4_y(lI@M34%ujhFs=>$MqSOw4r(2w|jYP#ae7O1T^Z> z#SGEzFr8XmUdO2f%Y?`Xd||JjMU7$il)J0jv{d?Fb1>B~kqy z+dE2zPThG0l!i>KJZ`Hmq+8!UR2GaCmZ8;Nt}I_OF&x_@Rj1_Gpk_Cpt6_9EIrGFF z`mZdQOCQOzWM}hHWi>-aKu{-tQ(OBb@C zSjZv2Q#4og=^XxUf7Ijy*Q47K;>frwXdo)(kujlBhrzi)0#$ug=gJ0 z+KmspZ7BNjJafBMb?PeCJ8+LyF4?A~wlycMwrU%7H>tG#_ z@nclW({w$u)YHI!IUY0C&zE?m$Z9g^Pq)Il5n}f!QtQy9HtU+_CQm!orZrT3-G^|G z_~D6szgleX=3nAkZj*BD{^<}|2@&@dMD+a!vyf1DaEV9|RMTjO`o4JMcY(b{xZWGK zd1{^2_I)5YyNfuBivRV18X_pRE!xqXKYC2;@BHI0ToW#T0_x-4`TmdX;1duM09zD# zqA6moAi1(tsem%M0FH2`@b^_6nHztFGx!UFg%7f4LBGsJDib*szVEQ6Vs~v%;5KX0 z+MLh>_`_rTRLlpe5rWU#2ntA(t1ax<{9#o?M4If?d4+Rp3X-r zV6NGv29>sdt#lUK5{>82^&WhQdf~Mb?$6^_q(#j;c2+1=aQd!)mUhTxa?MVxl zN23dHUn_KZHV!`HYNL~%Mg&^oot}9z6g7b%pz_+Pz1S9~vDrj5tmpdC*;%!in^Y;y zO;n?|o`&DNwq%p02*|cgVU|kGD92>xX}IKN zNhO=9j^A=K3-3VUXXMbpjL3^jz4=iH(_pO zyAX1Jn)Mj*Ml{GPD&;?RENlo%@3DQoO6;dSbDT;pF7c#{nsVR<(YaA@Rd^YTvrxRh zNIVC>H>^YQ*3XaMf@XB0sOce_W&#rNga1Mv(=8H#E3s+Gz^?{I;V z)*Lqm7m2dyHjZBwkQau1G=bgR_8~ESJ~|P9K)ZeOQ8?^t6Mxojj??Dzhw+f&(`I8M zY?gs1b8k8ETKpE9hfEV<7u0TGOY59k^5hpY9cM~FrX(uaa339rS2DH~<`^&jMx0;~ zKz73d(#moR9hh42MTF%>&@j-DU%?C6-mz~%oK^iL5ES~15|>dL|Fo* zep8_SIzKb^&{#%T!L3180*@l$sH^F2U0iIwuF*q22$=SB&}K=V6mtB$y1tfVx!&}c z;6BdrIrDqw|2zlJ`e|5J84m-N@8P94B^2PcDDo}x-6stXnhawA^_J9f2GVh8`ZRSgY8f`jxTmQ3FE|(o>Oi zR@zn5(pBFhpooiig1EG(nuMIcHhT6#MB*tfv9c?0lZ9s+`f~pkQsfAwP zEu2>6G%2Uk)QC^;w^eiW_4Ctz`&{W5)&?tgl$k?{xtTd>$2bVYBreSMfs?hYqDNF; zTqMB*3X%so`sFob4ij*-)U*(5ZfnYm#-|fL`l{FURJhMZ^e6>u@bJUKxk(SWg~(I9 z(4D}&6S>+o`-EJG2kx{9c{S&D66jnySPG3!UE{J>&=lEsig2QK=*)nBKZ&n!3cyoN zWeV5@<@)Fc&d9mxojOz@NT9k&_-!`OyoqB;?33|h=9~Wp>0>;E39vD;4Z;O<_fjCi zEubFo-@Q-Ai_SQrvtz&OBp~`BJ7-3R|TGLhhx;8xT-A zz`bFrLrF9tc=O4pZ}ZfDDV0%A!qT5WeIno4O%^(3sB7RlQqYD8PERWQ(FJ<~{47AD z2nc}zN0y+}6BOVe!1@7ImyI2Bqes$JaJt@Ls$4lL$)Byfh!n$VMmPw2@_>RMG!ejDN{jzj4||LN681+L=S{0 zO}0v-42Fmzy$#mt>1!ZUwbG_7sV{jMvYilM!S2gqIe>m~p&8|>FA)bxi&)@n5*-Xd z%Y>5}fefTflAcnOmO&7wO`B7PK)8qPcZD_YGb&0S zh$2zUmk`5Boy0kR!?l20)JL|)P_g3ZzjzXxz3REv<&?YBg+&M_McPQ!wN%iN?~ z2!UO5#x4-EHr)^$F!0=nMyi=|u*Ym71|~N%_alyfsIvQHC-LS_1_9{W&=_ESs2Xw7 z7^-Xb9{I}1IY$;>^D)L}y846E>UeC8C0T#n0LGZV2ZDLeem?c~;@OII(c|yjjH*Y{ZCq?k&T&*TpHW-52k`*iAm+7JDR?&qi zqY^-C!Nn1k>7kURpEzjpE%q*eKL_W4|3K7#s>3EQ7Y#Jso+C2;Mq4OHt&vifZfPvc zQrssSfG1W_O$>uhQam2|D+hFpWtVv(;xh&n-e65pSRwJ!Ftr`x(AYHN>W~Q-fz($d zMCddzhpxyUAN^UtB#$`3xzr3ks4)^1M)Y=^{!V^ZNSRy(ECn6!I1pz{=hu}n2|sgx zJj6li|G|{=91BX@MGxtJ5!G0n3t4=tgnGlZh6GM#R)B?=HmNT!(p%}`w5Y5^IY`x= zka7ga_C@qK72y}&XF}9A)-~7$qBu*0i&8#8Z#V4NAxK)|d7DZe>ba|KiCS7JNDd_` z+O-?;I5oe;?|#h$1@uXZq2XQ~iH*g71~W_)1!&*E_(ttmLBE{`!_##jb=`I)G~nS} zxd25Ch>VKQHj>6RV82m+rpDg91Rkb_PTGUr=PFB3ad6we&BLJ!Zu680!x*&3h`E zI#YB#Y%c`{z19iIe7HEQo?k0a3q6V2ng>jbpPS12>w(9x)qRb;%=>fdNdW5 zA|A-)yAq;vH2){5qi$g?W(w!DklzHf4cfs*o|x?S_Op?)v+SHw>x@ux6-H*o+;~zb z{7?B`be1)cNkmrCH#I7W90&I!^e;+R_y%J)%6M@_PtvK*)Mi?!0 z(!AYw15HUa)HI+lUMqdXP|GBp5E1G6g6YZz_sn-2xxhyxhIF}-M%QX3xmB9Op(H_E zsFI|n99hzc2tz1$osP19V2e_5@;q^kj(qY&8T{q09MX#{_y{mI7TKn|rU+zaD-%9J zsPfMHs@djyuCNw$g^Bp5Yhx%$#mqiiF}HM<=Gt7a<;S)elJb)JzsrGNfJ1~8VyyomUi_~Qwqch`R(L?Howznp^+?TFg8pE z`P32?bBEc8cfveyR5oUgMPfelHI$g;?O$EJ5dzjd?s-+InWBg$469KGo}ss2 zYk*P~FFjeZABk~5EInOJE$hQ;mo7D;LN_|1f_y|Fh)n(Z?unCQzeh-~8)*^J0QilE zE=L48hjXS`=`otS?R=N+4K<+aOnhSt`_BjDM= zlJdFQ58F05WOf1TxNAVy1F-y=+t|Z9 zTB)fMp$}ZC0e)xjNRrfEo*u5bCP3& zXzF|B4CIx6Z--UE%E{5ciWlaBId`VI>PFkQTROGAwl!|NY9a%~siZPdpgeCdx?-&y zdHWwPt1*%W7}+1LWFfji1YO|E%-$ZPeD6MzjO-#C$-jxiJRSMBMnWt_UWkWeg?U#Y zeS(q76Kzds$Z*d<@Gn1-ZBdQmzwx(Lbq4*Y(Dx93?stM;m{2`n_lmwTU!5G}1`5k% zMH8V2K_gx`IYMw>-}5)?3RvqY>vWo-3d5V^sWN9n!3z7V6aqH8E-$T1&#H}jXGOAn zwtrvK7}Vm7jQTZ|y8L=hU%*7ajOTm=2dWy=k`&b$u3!$);lUZ{8fjX;`8AQ{055X}o(a;G&KSqUTc9Q2^~jW3kdj_oyy z#Fe?d#_<0`n51Q(qA{yE^>ecd0~`83CX3@X7vn!XM`AiCK*5J$E98DG9Y zT}mJ@!YKPO*I&Dm_0LKx^oQn!Lpp{g!9mA=cgv073%jru0Ah+05GESDO~H1HuWMW; zpq5&^%lXnBD!3E>i_Xbg+RjdI=HH|g>)5LxWHH(9)tx8)$Y~JL7j|pbOLQo&BV|9x zX92gJA+5EF;!hLR>w z3KLtbe68=c_+ivQN1oQ~yG`B+Paj1Kn!iA_aznIEW=fQ6*fuJAMcch;bsAT4aa{C- zpq#zhUftx?n0E=C|qt+QA%cjbuq1KYL|8^FeDz8yH*I}7Pf@|)0SKzd{dfPqz9=3`g z4~sH_*3-GF-@ovG*(~mS!a7!0d6!P47I$MrXd1jxcXUDFEuliVl^{zWUYjIE0NW%* zz$lbuUPB3Yl%VBR{&!U)Y-SaIXH!*yC|g-+Hazx|cv!PeD@Gh^#dzL4O9ye#6Ck@& z4Tbj?c8py`R+gL(4+EXRsVsf4!O*!;$`h7%(rca!{TxkFn6d$CkPRSf0h7<3fV3Ah zK*y{yDUv|O!Ud&{BRScScQx&B`8iIH&^m~`(O-tRu;8RgD4s!n)F|VB#M}#9Ues{h zRRVHp)8(BO;HU^WO@oX^jK!AoCkFw|d4)!9?x%`lFK*@0!~Zbs5L zt1;1zqxNQz1ugeU6__J`S_L_3eqpFlZu+)+ZYWJ+g_;;k)J`p_BpZKa;asmBP~@bK z7!|0CQKB$?259bOj=x)Ycdt8S8VaRf9FX195?i~Up7gOI45Yjo}+y^gjV^x{7 z^HV5FuQ?R-wiINB?hztKt+`Ul?6vZfN~}sq7bXvB0l9RtgJ&XtJ&s0fVwnn>FHx)E zZF{RoryB=fv$Z)ZQUsQTS2Eo62jS_&zl=erqp&r&XrB4bxci8q+@Axc)N7$V%zr>=jnm?Z$L<*B#RupK9_N z)aCnOW)`qY(pubq)qd?%YJ87Ea(fic@cR#?kH8hXYunx^NMiYH#P2e=y;vI$Qd6agn$3we&L?mTrPKo zMcV;AlRU_aX}j^gShV@KfnJgCKf-bldA4{fMcq zJkqXm8x8lFM{&3<5r1bFm7Jy3yNM&;Lcb<%<6b!J5_7hs$+78*2)Q3c3y?fnymN}y zpyYpPdYM7_HuOpRXdFE^INdV=e6R|nt#cGXZS1Lk0DOlbJEAOY622=Ko) z7rtNtzSKP;bs`oDvbQeT)3}_!``kgj^tXiaFBS`LHkMJA1(qw~U6?=QcaOKV_ju(` zaf_b89^tu(h7d0y3&8muwDxS-<*AXxW;7x z=JjXN|1rhAd{|}G(5g4nSYLYX?MBjmMk9V90NoCQ^`9L9WCId^M37d_|N#^gCT|MECML(-I#J@2Sqm9Zy( zYN~Zs*-Q7;o7p0E=C^LThv4P{LxC5R@1&-3_<}xr4^FV2$FD){^MDa#ViY%%UKtXo zap4lazNFwoq!0mVc;N?9Ir=WeG*W&@LnlhgrxcfD zn~se+%S^tSI$7WQE2{DMx34j*@%Q-tu4Pb>2kh2`DYC|A(^w?vkRcX&Ij|ak^QK{2 z0m&^|ci8krU}Z{?X{S=dv+ke))5&Jcr7+Fu;CDFI1@^wTG1t=$^e29bYCYb6ckic zGjLRLW=;vEkh6}%Tdt{;2@~Zem-7mm1(kQi)3jtdFP2<~ooJVyKzc9dK5~U-N2ZP8 z4>ugv<Ntnz`fgBAvgZ2#MA%Jq!ppx53`jG2UXzZf>g) zupHM}AGaOa^ASo6zA-qAE$Jd{9u|e^S5JJH1M$PFL3G98GyHTC$l{EM0!Q zlZdxX!j)~GMPWVsgsIj#+Rq3a7xELjJdU&x;dK^>L`d=I7)wHb91p)}RYc=z`Rbxe z^uS&hZ6L4%dy<0l4}vQ3#WE7I77>L?Oa4g8Iy9NQh$r>!rVKJ^-QV*eIFrjJv>u2r zY;Mx3ahkB3>{1x+;^r->smbheR1t`EG;C-(l&}s+aM=p?l@XX|@#AofaMByN|5*%0|wuDz+vXq6WTb@WjKIMsqqdQnAU9{iRWG_Em# zYSTHs->Nl2f{MB$?g=TTmzgE!;wo(pP!kVZp`pkD_?>caUOkE1tX}>?ZQq>a@$fP} z^trjpjr!r?b>B)o=Hmv+H-{;M@XcEc+Z>0r<;?^vTnpZ%kYZl&$X`iGvx$H5E@>0k zGH|rTMe&<|*z!+ffPpv1PePTSVln0I%6-!G+eq>yM@HFmNDP*U*=tH{>DoN~GYd-r z(6oRF)2ap}dFjnFyXD8q!w`;ug_q#yu_psI21R|f{aTLZF0_zc{73AIg zZJ7@CfxK?20~>i_i|(v7fpVo$E6f5#i)vbxvh{#}K#@zjdhen-BwJ`vwv(DiQ=Esl zYBxils{)p0fqcDAP(|h+{xz-uCPVA@QY1ZC&U?%Eu@Tv7qK8??#nXrJ@i3tT!haI#=G7VvNvPsxB{J52h5WQbJVBDa4J?-v z!)nwKQ@A56-%?_vrtlN{CWv~Ilh^-q|O@HWqOE+orK@! zoRFX6P*eJ6CiGSPSEkUTW&pT!-cOjF$ZhwKa7cYitHY0k(F;~UY5=0LGUYOYC@Pe7JQk60y3b4U8r_!ITj$L|~f zZ`^%$GdKn(q*Wx`jz1LBsC8;d6@pqlN_(d>XgsBm_CoN3Pksj{|3a8aENj7l7 zM_)RjCxcGP$S2QTpn7E{vFWK(kpF_7mmh0G9_|VP?kW@-@oLP5_R`hziNMf*8@Zg| z%JPTD!5jn3CS>YR?pqJk`=j=ya_lp|WhIjRRhb8oX5Leodhu?NS z$2^K}USPuGUor-A5?@;Xo!UMR7Jntboi$?-(si7SCyyRqZTFy<7q?bw*K#8faz$5W zkewOg#m+<2Q<9DkcxlF37BeO1jnD4a9T6qWmb{UfQ=?^4cX9UwnGfPFV);ZD6Wpa( zQEzF(Kice2Cnhh0_XOsDSIHz?3Dm-+9O)crd&1JNEE7KNHoqdj{x-ig`?ls>Y({v6$DJ)GZtO@@RYA&zbPvJ`4WePu&e~xrq;iT-v~wr z_QSS+y*}070~5cHclY>V7q3#s9(QmqEdcA&7G~*c@Te~lSSss(i82(`6~sj?{?7VjQek-CQXv)}$Ad|FEgbuQXQ|-q1%#T)+Nn{K!ZBDw2=m1tXjo%z& zs^4?w5t$uqk8Hn~dlwewk!6$-xyoJ|_LQ@ZT>-~a_})QN_|nK$Uj)U%B$EjP>2fTO zT?y?e;*=iW)C zSCe0kuX+CD=w|ye;y)E)mK;eUU{5+Act3!33o@qtgw}a~n)H8jm`}yr$Xl>fWLqc! z33d0DBT7><=F=%IdNOe`Sf9u49f2?wU9mX%so2vIsT$T1j$24ou+)bTROgX5TwQ6D zY9b1Yc(8`>W2CEt6F3WasCE&COaHW89#*#OKZs@+QIha=X<)T%x*Je{YLk_BxJQaL z*r*muncz!*uBye?{X036iTWSX{m$ocykJwx34vf%7aSZ`<|mEmY>m$tRu}dDq;r#U zfza|ia>zz;{=ZO-2ns%WfuZ&RST9p!ibimL)-_bVpoK0W=ogX+opN`Ijk8OyWh6(C!^!MxO$=VIM& zT6_0@Mf|lrEj=kEX{&_!Y1T|S>MMeyFt5<)SnS`y6XA?PSRVN%0}vDyoEJ#Su_B0M zC&5d8C>=KGZOfZBviHwaX6;cq=aCb{9nN^;&iAW!I!k}^Vmnqs5ypS7{SlKL3P^sS z1awt?x33E4I>jZ)e4K(?(BHu6T1IAY4K6T$S_7;&zT=8`P7J=I{b6830LT?8JgtJn zf3@jifDp+GUfpkpK!1o_u?v!|jCr9^mtAXs!9Xa%&{@Swp+T{M-Py9{ib^j>s=^yH z@C^JkoH9WBuqY)ibE#J0alQE$BBJi@QtiA$(?iyaX^1R|kSo7`%hH^~uEpw8QvBC{ z6=cd;tM;4S+vP%%y2t}-$Srj*0U;uDtAD9~T6t~bL+9gTxqqJO>OZ#X;(7Bah71m1 zReSyzBL3AM!#0iHe+yYyVeobkZCM`3%(BP`GIkGTCtW(d1_6BwoXr2BcSz{nf2^el zB2*DqOPuG3S#KDSyNRl4T<=%VqRO~`*|@jDoo^<VaE~;#hH+ZK>+FyACgEX@es^MjdbYRFONv1&{&fGa~N>B*{KC!A~gDcmaLtR zkR@w0$p9`-FIH_Y>bBj>b@z47uUq4?ys~G4{vIa`oJH~`(uX%6>xbW$dMXdz2FI%9 zU-7?c`6SSr_ic1L zazx?vo@Bo+c#wOJd~!xhHTMDhY{)i+CXm7oYG=a{n_vT&SXnDb1s0co*&bR@G@YjD zulUKw&-Mm_Hp9%*fxF5UwHz-t*&gW^y&p3s*j67i+z-k>hYnADR}2C;1?)_U1-iQ=gBn1EEA7H2OR1l-Fv$_f%tAzISuf2w&KoZ@mqrmS8PcN=4- zKVrR4Ys+@t8Gy5kCt-$vY`-EI*rDGCe_>rHAHlw1CxR0chMQg3JRGP%gZu7$7IDbO z#L1@)^2a+#_~jK;WZUhr6}HZfust=#e8zq###NJ}{jxDrYi3DB9Czp*8BD*?ga9g8 zK8P~CW)CH;p-%}`bL&B%jmq6(fyV@vFpshz>^P(zHdPhGT@o69Y$DzCfrgPLu&m)k z9Z`*dZ|C5R=c)-*UM#83j8NLcj*ow9LVqG`P1fwM(zL`N4@+&mD(WC>P6t+`=c%8Z zM;GgQq>$TlO58)?0QOa_v{E3qamj(q!&rb7s@k@n`6_VY1udjSk;^d*+zIBgbupr` zkvwAI}&s zi43dB))>;*LJ`U-iDj1)t&tH2ToBK@O6}$zeV?P8cryfl&?#n@5^LgeZ&bMOc6~6* zZZE-kqKs)YkUiLKTEqHo-+z)-9^2)FWJ1$cwf=<2D1#+A&C9T@elQ6WYcVktk6(;W zN*kj+MqB&W^v@Et<|hs5%XvUXewy~M6P}qv+#0e=*8*~T7I~4C9!l)TSNiBAzJ;DQmk)TmeKd-Ja%jeHps6J~2;&;>>Zd;^R_U$B&~Tek)2-x$=9rQSC#SNo$~+hA z?(5sv&2wm~k*PyGvAy8`2QEO-zuPj-G0wHW6cG7;1~J0W)=vqJ>MqiXzcg)}ZyA5$ zFRW(IvcG>gtHxhXGAmfV*aK)>V2Qho3t0igvGC%3eNFZ;F0zb^`BQ3U$+U4ZrjjQQl}M1R9#{xX8G26PWuRM(Jg zYFvwd&?lJ#x98Hd%;HZY+h6Vu#LoW6WYZQYSc)S?jUfAnGaGD-R@DaV)Z}db)(?MB zj)M|&{qqzJ%h+S0?48elhH&oQ@|&g;>`yI(zV=nt%4hcWn9b8G zV+YH0?js*}t!Qte#w$Z;OrG)D1@{pB-Qjgk*OeiiNWwlzR)9a3}<*vHL8Fc*eKzU!zZu#5*%5;L`_$(y>kkYdo_(aOyfBcX7TYgjVBRSx6kzN9iezlI|{|U1L5Y~ zgYfr*Kvhd&zL!3`%u2O6(>g$$lcb)18TlLN1+pX5_pierxQ}aigg*&`(6hDYpfxr0gcLIHg z$}j#FDE!8p^H6f8bh9tS|4t@`;Qz3l#oF%*ztAMP7CM0|g#D5WaFIE`kiW2G?<}^> ze|gI(ah$9U&h6n0*k8j>DNNgI!*^N-u5FD92 zEk~&lp5NVd85>ti-O^5OE_P$W)BT*CsU`2wc26=Y!!L>11-7m3%w$$noI#oB2nDHx z8VuWAU_&B)D-OXqROOGd6Sc@zTo$Mgf2vGgFv4Oz;&DuL)`9#Wl^1b74X3UhEId4x zodHEiM6;I3QjQk2n0o|yY!z?ywa>GPLYMp@za6O8RRV~bx2QwF=#|y}MGgFNUm1a1 z<8N3pwyv=@XqqCleKsMErm>4AaAEZK%@CeSiA5(RE2k2~qV}#da@W*VR1wP&f1Oa< zLzS57%Zk5Kl0>gSCl7Q?@_t#WdtXDN9-R{LcVmFjEscY+6l1B1Fk}1;feO+DDZ!h{ zNFji8BY}Pr(&d4M2KJvuC$-JqnZ1@Bu!OX$CXUp{>uRbheXQ3&G%gWSdt&%Sd1g@7gj}te@XXvoIa*1O33C$ed;&TE?adPE9i{+KzUs~O-@G4 zh%Aq5I18f09?P>pWnF#1{v0Kdba*S8!tT3wNn@~%IeScWOM)%iUtP^r`2Fzd^<{y2 zvTD3xeHRskAQ*B&u5k3Xb*;LX?c@ivFdteEZ7`n`~W_*)uBXZsSMQ-BgTU3-Nu3f-kyS0KC9zt;y2*JSk>HN4I^4vI5hwjG?6CN~u#sLoAJ&l}5W9Mv4*hRP4Tb~e6$#mAE>b9<)1OeTscIEcc@7O{DfAx3d=`(xNqir@* zyQLyh5{COm0cgK)XwPx9(bKzitsPP{Gg35plL(9(i=8jAcaQ2M-bc6*T;<_!!tc|v za`@Bo)Ms^F-IB(ooJ(xA&xYPpR7Gl1wtIP;vZQeAUf8&L;93kV3R@pvyv^`Lq1XZbeaNfw$I1ua(4O+;IsBv0{nyNTp zp0sDsw0uK1X3JKa!>2o;%aCS_&kQr$b;@Yy*)wf{5%kwD;upy^uGQ>J!W2Hoy%#^? zj&R2w24;S1cpq**c>g;XV1E1P>=t;maq45zxFyOj#px^Re@o!WhUZe6>@;Pmh8*}| zNjJ4=s-WXQLfEC68EB}hUdG07PQ~5f0zb9z!E;>gf*ZuBj``SIh zXLkm?a(4#&?KtQ4)V4V%BXIu9U)u>`mKn9N+m5WIs_yNPRje+Q14lfl{R#H_kkC#H zb#Dmh(3G6DC&#MAO-)Ci{Fch9OpwS5cNW(lo~w}9f4}vn%3Yh=$_ClF?WZ=P;A(?9 zVW?7~(zSasUu}8c?K6?_<=5V!@$O=@d&JL;Y^4vM^3FDB{4Qd@n#)<=Be~V*lsy*_gENiNk2P&e^4D1}2Kdd8tkbd0m0wJd+aBdn5ae-eG*6Vs{fCb7pHA@qvJ-P2=F0}AIv zT0b@?IhbQkk4X;Z*n?Gg=V^RsnjJpESrX@(R!4)sCOX~VsSgAj>ua4G`_MK!X*RYU z-YF%z+OO2{45@8cimyYUh2N)`zlU#}#Gymf-kZDjUhgC0Jxuak+4wY3tJa|!^GGXH zfBT){6(4GaS9G^2r-%_2@8-EIyD?On@@+!G&BLcbgl>$w`l>}$wGsO7y_9&%{*rFr zf;BiBFKrB#R+cPm2-F694_8r}L(zg;B;=iPc2AaS5-ZmYBzikQAT zv`Har@IOSYA&A!Rhgy41hZN`?FCN!Au?8dj^M8q0t&w5B7&1h+=NFtpHsb*Zf43!l z411EWB+TdS=@vLfE7RWH7p@*#V*8w}qdvyoE75xp!q3Sv!(Jjtl5}sz{iV%0C;51M z6d|)ByE~@@Y8UZ~Zt3=mZqw?5Q~kV0*EO=dx~jG+IEqX#+n1hD#T&yq#qmA{@L<#{ z`Hw;JI{i!Sp&Bv`IU>vaXM$7Zf97VI=BFM=H$St?cg%OQ%r6kSwzef@Zl+;=#SQ*t znQxeHX1a||S@JOI24?A{c4#nm@j6TPh}b|qym?)%qPvKvTz6$=v-h}=2mlCrtWfiL?4&ie{y+TY3$+! zg6hnN+4X)7KJ1$xyY@p*##aY81xwImxzZ7eqT!vrxW4XqbqYnBZHfO4R~CblZJCdm zk7pTGS;ojrx67L*UK7)@Tpjt#6V1%Z5q(REa^tdGoe>IKK8z}eJ$(+rDy^+`-k1zD zn69n}J=%Klfvh8E^CvMuf83WKOxM0KA7O~MF^~-ZDb60ktmcj`*<#8lgMA?#Gyu@S zhvRVqUHSMxDf-QWEXbzcapFty75#SMvp@lj>*!h-*TbPeV1kQEZlID;K+otmt6&4j zf=%F_w*k`b1M6;8`$qcf0YQHcqtWIVH_?@4*Eeofqn!r*jI~sgfBRZT{TlRJP*B*f z338?tHbIACtzaW`@o7G-kZyZY`F_QEflur2)0?1R9o3dmG258hMo6yE8Ifi3#vG1xi8k;Gby9ox&D@1hnL+p=;8(>fbTtf|erUI+Lt{w&} z*SMPoMs>BGfD!77L6Bh(>}Pk;kTwYSz-h+4#(fS5HxdXs{q|FY95Rhbh{yyyP!UjL z&p~Piul=y4E*81P2$pWRctJ zrkm@La2QRzR#NQo>0bBX;xsBZHeV0vK7((qwbVAP3C0v#KJ5|cxC-(LeI6fmx&=B? zReChhd9V+ae_9)1T5-BBeJiBf)zX__rq6RP%-ISV>bD8zt)eci;&kqrOSt|v@NI$x z1cyIoVG~q%-A%B#36{_!E72pXkO!~jKlMJ(MrbU~PzA-AK9|>Bfapsn_-KF?{O4p} zrd`t_pwiHn(FA{(wbG4if8FkL@tkRD&Q72O0MJAff8RiJwvpy+6S4n;&=VelLU3945mym<3Nl1v~@Q@GLEu=cxVPU?sdvv-}EN4X?pX@Fv^}Z^0IL7oLFk z;BEK-zJd?oJNO5t!x!kI->&c=_JVH}Pi!F$DWN%i0FIzpZiGxxE-Gjdts#gGr?PZ{ z;u~X=fAJuRgTe5H@sP0@(g>25oEA61a;M%`Fi2i0uObfq4*D7o8(RpM&geEC5to6R zIU~e(boHq581o%n@rn`Z>Tzlz)zuTmR$f_jwas{vd6ur2KMj!BOD%2_I%1~cPgj^f z)idKMFpa0FWC~b2Ak)NAJHcZb&)`nzYr<#~f5z?r!-TR<-E$24s&nUEBpKZ%sY58G z`lj)$2_sD7Z>Bax-9Dp)-7qL})+h@^f)g?eiNjZJg0trp_S*pGu4^VYed5g0NQ zvvda&dlL-ZqtMR^kDnD5$XSY6M3fk&e`m(aVeR+|kB%=oqc5e=852v5-Vgi7jI2}u z4vfOs3Xf=oN3@Jrjn@>$R+I|p;FPGbom#Jlr{xVeO*9&BI#8TTP_V%6q|j&Czh+*c zPs_QA_0k5oCIXRS13ZvuF+57pcM3z*$#~p>suNy>7b_S#*-+6^$~N92NVO>Vf2h8K z&wlnggy!gN1>ZXkeAf_sth;?Se1;95(XT&gCZ8S$z)1w)WCh?vyI~kWUzlt@JfEbA zP*)79R9BY~%V?^eQs~q=hqUNxU_=4!bBJm`d!3%yK)=gCi)9Ybw-V4U)|EEUrVX^o zK>Ku`5eI5NLA_8xJ=1O(hPrbYf9lR*s5^(D?i_}?v#6(fx@y7j8w6vng5QjSzjGM= zTm`@B!2g~i`uh(2mpDYvQGnZEV>7sI25pR@bWRxNoG>fogc&qPK`+%6L$9eThF(|o z6wFbO<~ZzO_Yq;=zk?=*i(xjTxP}&5I+dS=#kxpG{JpEu1#=1DdJ7VZl77~2^kJ)K0_Ax()zQ)rw+U>pS#}!q%%o< zZYl5?Jg*l0x=Hnt#p&Jvk2k@S5tUm^vIFo;QW$4J8lDXu@LcFhBY0e;V;;MbecvT49o&6=s98loAu_idCFcS05N3DwVO)_y?I* zI&_6&jgP2>0llFd))VPX7zvY&k4aIwU_6W=f=im_QW$0Ylb(8r@rEfCoJI;dN3B*% zO-B!B1e^?pPx013sAa_6q69?{u&aBa(EM&rcMiVwPe>7p9ab&`EAje{# z5S{f9_0=prvlV))U$W+lUCvbpw)W_1BRpU1UJLv3&8uXs+7;;P4ZFgts)8)?cs)KB z8G(S`=`1uSp~*g ztmlF`WHDOIMwViuf1%v&gRRhsn(~!0G5LbWjHwy6H>1kZeQs56Efo4JwgW$21)Y8F zt>n_UH+wxd5)7dV9=`Hfv)IH`CSP$zp)Z5DGu@{@0G}~iei_|$taa%LS(lD2*`Msj z44=;CB`LptK8yNhZ28a0>X~CuW|2WzoJ|XWcs+Xq{O5l7e~wHxuC{$E%vZm~Ili3D zMY*yl&ztAXy&lH7bBSiqFd|Zn)K=!<+FcK<^pFL6 zu$l&u7CjBPQ%&7A$g*c1U2^bRo8r$jp(O_wdzw{9kFJnS71EHXpx=u*TcNM|C33BX zZt8L)df9Amf5LrMgGH20+lbxl+P!V_zlZahs`Kt_7TR>&r7((lIs z0@w{0unC9Gb7mnIi)b3S{_tEJ!Ix=Gcrg9aq-?-L9$t@QS3`FjQ#_O~T}_>7_hPAi zN8(Cb3z{s-K=K2~t+>>iu?jBqrLD&)HJ4o!+tHEOiP~T?+-NHvWTW~E1X31^O843YjmhD&6_cp@GyLt_u`rN<5>b$ z5qRX55geNz)OekGGql+&({W`6vEM@EEpj&V7$nL=^_i}iCm}cR?@AS^% zOIGlBCG>>>knVVzy`iJ>LtQYO>??L&-1q@0n?pho#0>#=l7I9*J9(pX?E<$mIUF@gGPR&y)K9 znhb^vISob{-x%LQmN)|6G`^!=JYofIG`^>v)5J-5pYen7BUs{YT2lKNKS8=If?tfE zaRRkHh@4OkjAd$*33|TrXlFogV>^wTsV#$p)VLYi6VOXtWoZvXf8!UjfA})AN1?#j zL1me26okwjx^m1Nx^m1Nx^m1Ny0Xn3x1OU+79DbQw=!r9n65qR&~&`^nnTlh+M_m2 zwfV5cfv+4k8aoMsG;Im2Gk!I8fu+^L9VQSg>B{gS2gjx@`TH3TW*f;+QqU=5$R71m zFr0qrDH}t$0EX-&_nt!mf8YNKU6qH=uKo@XxB~{5FgCN}4#*`Vsf%S;?jFWY$fp~s z=iLQIf|uh2PLQC~gd6OR!o481=h~_PR}xfmFh4+c(>v3H?XdqYqDopD9RX|yy>BT! zXWPwqwp4{O26F}Mz7q~KK_iQ9I~43I55ZqyAkv*_V$ODwMqP4pe|qQbg8jhL`XB&Z zc7R0!Y`rdbZ#-j~(#E7Op|u@c1mmwn6XO}gE_D4fL@Z14r{QVGX*tVrS~AI> z?t!+a)zYPwA}ZJ$9WDu(*O_o4oTSX_Oy#?}E%OS)ZROw%cOHnD9>!q@YA|_r zAT!A7A9 z1^o*8k(b%O37?NpMI|!iFjhTgI=DqNHw=IwkXL6P)Gt`iCE zLJQIrlQB@w2p^%akbqeZ;BE#SpL779M+9P~Pb(-af0SeaH{naof@QLXX6!hEuSUUQ zuaUGcENOORASy(bX8ZZha2_7cOml`Sr{SbCT$lL6Eu-O1py8H9#pYTJ$5*CBs!Ajr zI9=iSiaoIPE%i=bs^Q)QH_Y3BuNLcFS3#~%pGStnc2%z&<#Z$Vcev#_Y-mNMEOL2W zDx=cPXLwzMi``^LVupY%(2?D&%F}m~fA7PS zpF=&qrre*VuB(N|nY`5ke4cIii2DpyW^ zHeawapMwNNmgCH4MV$F8$C=Ob?KgaRwxdxf9O2=&_}0t7S@zboD2nd-*&M6*=EES?aKsyw77Ar95TpNMf$bm22)XWaW*GsXtlX~S-x!aWo&>8i*v}?f2LLIQnSP< z$Nh@!Y&LWCx%`KDnZ#obHOwHy4LgObn0_m95C0PS-3uZuF62L#&>yjstTxfG&Xzp6 zo5b-dOO70V7Aw}-0rhmQcoI!;AR6nI0f*-7bogQTIe-g>uB2K22B+m3@t|Lvf6fT6nkjHKRW;?&R&aYR0LH|bo zUaYh=wKxH;CiS$E1mYRwE1d~l-~R9oR|UiM`}q zSRmKoV0kwVlk0Ifm5q{3I8AQAdGZ1D%S~7fUn4x@oo7E{!_k+U(46x+#9`+&fpJI~yOe~O}i-7!6ERkP{digJLlKi(g zU4A3}B)=uk{(JJ~e;}{@N3lWvBp#I8#ba`Zc#%BwH|4M5A5{LCCdHSUCcf5mu|qSY z)J*BpTry2dlN~fmcGc2lPc1_Z)H3B@ElUog@)4RYOSF!%e^l!vkJR>&0j-Oy)w;?* zXx-$WweIqAt%tl;>nU&0ddViOx7?!jkxy#-$rrT(`G!^~KhgTjFSP;k2W_DIMH{5K zwZYm@tw@`tjn@`y6SM~HQ0)Y5qIQW^s$Hi|((chFYxiqYwa2t++Eyxmmg>Bu&DLJk z=4fwdbG7%hf5Wv;v?H{ywRzfhtxQMlXx*zV(z|KZdN2CT*Xr~s+Nt_c+8^{4+PV54 zwDa@}wafI&wafLJv@7(7wCnUIwCnXJwHx#ow43zzw43#hw6*#-+O7Kc+AaEz+8z21 z?M}nc*0U)@X4epyNS;fEnMoe-Xy{~Snb~ALp5o+de+{^pe6bue7Yr;QAHFO3>TcY} z@z7ml@>Q#P8F(k0ugcQJW6(pzA#%i87^BLv#TuBVyzESIBaBzxc$Vx6om79hWWV<} z^Qc~qlrY>R>z!JB2UG1RfZXE5A@bx8P8`BZ-2b48K4cT$-=m@rImG?zRP-TNz5yqy z=tG{Ye}#|j(X>louo}&)od7e{j)83Q=@&VXhF9TuqMz1}B*^5R{{Tfd}n$z3s)SK$V>`i@eG~=I8v;(@5x4wg{X#BkYb`Z-< zf3r_UZdYp`>sQDLd*+#*9F879M-xBVMHX~M*xN_P-KU!NWA%5G?dJEPoBcC$wnHBG zu@eqNQyb#>6?_~NfYCVOC(w5i1(1UjP{u)&{eA|WD(@oSH?QqM?3l@DjykBw20(Od zV;4D9S;=+6&~`))WO$QnfE=V@@&JtHe}GJOlFd|LW+!x0@s|BFcflmyInqW`fPNiz zK}8aSm}Xxh1ILZT=|F#0lEa$eI6{TQ#rbAG#{(-PIiWTakOzj!;}iXwxnQJ1b!`)n z4IAb0wb-l><#<`qnQe-8kS zzmaN>ET5(IkxSfuzVg!8f|$w1!nv!!&U566KPe+LFXwx&SHRrrjql)`~oA$)%AEfA_Z6vzpz$d&R}8*}0-dRDp-OoV*(bt~iabP#G0Y z@!9z<+iF_PS;zEk;K~(O6{oZJ&+pVcI8AT!HnvO&jbIwt|R z&`to7p|!clc0;^b*Aq&P~+@55~E?{I|n0hDVW!LiyW(5QV1%eBwokJ{&O zq4ot_u6+rswXfhRD!W1Z58R@C4ePXTV59aUJgof$Tea=*vi1wSrR{(ZwVm*Z_A7j; zvwNO{z4bior+cwf?|`%Pe~vg;?~JGDUGQ}JJ%h^6(+4PSd>Zm#C>Z8IlIU)j4Vfxh z?}ig0U+JSXSPqAngXpOTOJSsn@8>Yrg`-sGhoe;IhcpSEFaBfiouI4l?EN0})Q)^} z8SkbuR2j#>O?AZ@#|6h?PX~gB;W_gF>dymPVXHZqH3_^7_p2;{e+6&BddySV1Rpdg zZJH5D{;PgJrG8aQ))jUwa|qSqc+rKBdB7oP=6LPhZaX0hao_DMqVsl<8Ilnd^)2Ht zFUew2$$?)MPi2l=<|uX<~8NM`H!FO=JG0kVv<+@^8w3g4qn@BRe z8CO%WM>dIji#T<7Eo6JGEdO=jp`R0Ognr%({YJQqZc46$3+Sip1~}X2A;06^c}3}5 zc!D>b3md3Iv9UN)^^xPtl=T15tR58?%~=bX;oD;_nzISYf9ClzH;4y|$!X5wEvn?u zY=t4@0*Z$>iY>g-vswHQz}-}DoqUG&5Vev%&#e1kd-$nGq0PDTD1nqlxOpu{AkibQ z6%t5>*HQv0jRlgW1X3CcB*PI%h9i)OfZbTAt%ezV{TK-%`q^rW9gnKc1FzseC-dz! z^oL{t{mJohfBxNMVfIv$c$S3^3p6Es?)IjUgF21+!gOu0>J(jcLG{&UN%6uwl|PQ{ zAARNq@e)T*d>QwOR}0veb+$9yt$L77SLu?wvQ%XD@Lchl&*I=LOZ!rCO5aeaUlqc* z9)@$icd*agDBiX+>-&MNm)t+0NU2rdu;Qr+B0$=uh;&Wf-HW-ppKhG9t z+EmX}BHvIV|5){_Ff7WEMY-NwZ_f2F+n4Rl9bBA8mGeR(znB~6@rZdzkEld{E)nUr zy8*>|fAOLCSoCp{;gv8CKpz1f{a`ZOM?tPW2KLj(LVtZ64A;lQSp86#tWSbz`ec}+ zPk}OhDlF7zz@PNP;2M1v+^o-r+x0oHNk1I6>GR+vy$s&c=fnH@k?^^G6nv*24cqkv z=+ckDOuYhg^Z<$e#U%QxaDV++9IP+F(Rwvbf6!}44bwm#F^o#I4{bJmyUm~*f zOGUPRh3KrW620`*;vjvE7_DC^Ch1p+x%$;&zJ85Zs9!4@^c%zqDnC`fRh*^YCeGIH ze-xMMcZna^FZn0j!M|`M1AwJe06`$yjiGS;li|_R(#diHES)jiqhw1OggY|c1 znf{)v(BGGf^bh6b`bTmN{a#JwH|jsANN!x&X&A*p;-FCBN1>3^^}irln?WYvx~4 zU@c^cF>tUNBU6l~F~;D_(qB-@&|A9B7VbGeC64^K5)YFFf7GS6qr& z_U3kR1xX>sJX72OKdB^pR!AM&^dTjjZc~M>EN9eD!KECw-q0hLJh3hWPT4N{W3^DH zcH(t-M5D6i{S`VOU~c{n*vB*{f28e%e*8pKvcHqoW*6+Th?e?)2ONRFz>HlmD9Xu7 z)CW46-8_^gp@@7u*G|~iPH!JVZr4Fku1#BAs7A=nO`pu6zfv!3B!oKPeihuDge_(r~qpLqT z1ovX;fgURVy4VVZztidVo8k3=S;{?Yhj6(__ce> z8b0>};ulqi9GE8YYjI|wFEh55TlFM~u{TQH4zYH%JBqE~Qu_%Dn`9bwvQcJ`6GS)J z#aX#B&zI%Pd_Z>KE_@t`f2X48y@4e4H^AeOjO8-u3hb$C2K!$K0}KHN(gGQ2XfWO| zV4~rMX@&=88x|a8WWX^-CR7?(P;F#GqmctA8oBTXBM+`Jy2ABFH`r_pgssLP_{caA zzA%QPZXAMXMhWH^W3ZDk7W*29VX-kgY>gjCi{6fb4InXL$H2A{f6tWClFP(S(9@hm z%P544R*92z@)ou#VUvMrP-ISHNTaOr5-0O) z_e+c3u4PWQ<26tMf94M8Wa8)jXhrTKK%(vM8#pFl8_u+1ZqU@#XthtH$1gBp2Mnc} z&f1tkgIo%iIa?SGCPaA)#9SvSi0gPC!@*rP;%fWO39C=*Z@=78P^{s)Vl6sxBD*(1 zMPWEu;?p>VSwQvWzUzpz9ib1c#a#8{#W3Ai65g2J16(R}C!v6F8f)^aH3LW>fVZ66RY9Zb7znEa|YbEXP9%ylM0)#5TmelO_m9VDG+m?C#9iJu+BVg#&B(pgMW z*~=m6zG{~~e}KQsdK`Po!Ch9tVf-@WsM-i!jAgLDaXc;0Q)zjwq~&=UOfpV~nZ_UCe+c8O@GA=YLpO7_Ifpo6B)HAF z=HZ0OB;quts!sMnsR~v~8g;CBggH-9+8?I0Km5*)UuicH+C#n*#xtkNfn$hrKND0o z*~&n}SvcDvo9>WpG81cRKO)w&{{7a=nM@*bN_kYYu6SRHQlFAx)Y?8s?)nY|;=LZFOj(fA#N2cenaz!3AOnM4XirfkwgTW(2yP z2y_Dx=qBi3+zh?Q?k_U#g3-o0V9{A>tf#ejUzk80ps$=qWYM4(5yh-d&IqTFX zf1=ERFuWOM?kCDTK$LlqSmz;HSDRs=u@#0J+sKS~62_3-Hqm%CigkKBtkWgTIs?O$ zDUPDdq%dVBg;{5Om@mCue6(d*^1eu`u4SI&utjQ*;?WKkWW zk>N9$Mw~Eb8m(B@Tudt(r4j#+32VIpbPxQV4Jr6E@>TMTFQA+8C26~_Nc?c;JF0FM+S3NdB*$t7oPs=SyN9frR_WdyzvS5Crj96y*vair1>~!UK;z zV08gkS!KOY5nWI~P=YrBAps%?e=0%L)ddf5l~oai)m0Eh1wnpQHAmhf!FBiZ`F}qD z7}Dk z^=_737hy$DhEFQoij|T4(Yh3c@*8W0M14+TmpNcKu~MHz858L1@ogD(o`d)0QK+RA zf|PN{k}Xh+ZUu4K7~4wCf1vKr_(sl?&{|eeceue8h=Gl5yBPJRiP0)j9IPTEX((|Z zha`!h@uLAF74%|yv+1MeU--7#G$dQUHF(;a0;r@#2RA$$cQx~eb!(- zr}L<4ff$IRIuP_=RMW@vVi4K_d08-?H)A)*u{WS|W-!$w2wTnMwpl4{%S>zASZv!HQQPi9p3yhv z`#hr*8h#6#W7@csCgw*?%#U^o^P?u_M@`I+nwTFoF~3O@fAiCJ6tRhLv(SSkzKKoD zr01L1mv0oXH#BP4w9)0oGej-iba+GWN{Ri9f*~LZhJYv-0vC-lgN7DqGf-DC_!>Dg zn@mk+)e|Z1hRqap!{J(1vR#iTb}3+r96LOs*bzD-rISTzoxFlN3Agy2)W#u(ROVvx zQ|wf)&lpn{e{|9dx|~s`voBUWbD2IXo>ddKm*{gAfFjGm+-hi1ug}AK4!h$~hE)f! zg$#S5DeNhNiNQWh3}M*QO<~V+ZHt21Y8bYpDQsztsK_E`F?+4(KMUF=8=wSVLCX?6 zVD@r-r62j`QpDQ^#AU4q98$cPO@vdC?e`!5KCJ(Zf94R>TXCG9!PWj*D3L3mqg)AH zY|Yj#pr`yxO9q9k1cCIS%j0Zk%V-I-X~* zvV7rn$tv*wI|yaIRnNAAId~1N1=^eb9L!MIU*xK_i9$4;cm}-zDT?-NiVy4*_W}n` z{zH+2ryswFZ>WZ%dVRx~aK&)e=<5kw zr@w~fF@1eCw5iwMXspw(FGBsDYnj8Sx0<5n`lxppRn4d^O;HPd)IVy15Yv)+eQO%Z ze_11j_?Qp5rbS%Swx%`J_^9oS+QF#Lo1%95sDCqR7o+wxMeX)c-!dQOGV1#y_HZAg z7BXu85qo%mP_%Hgs@D&WNm-?%{vG0aY6xLyX^5b2hQWxPjF9OFzh8#Kh}|@@hL<|B zevgdInz$D;a;U9FtVvsq93Pd>s6s}ye`ty-^ieHq{9s-Ll{5k2Bf+3H)F7jMHMFib zIv$P+rl!%EL0uS>I1;FgK}R#F+mS#$7<3GSjy)2H0szQ0Ij(r?)lKpuT<9;r6pL+? z)3ZV=Z%#a;Rx6$*hR3~JryBC=jlNhb*6H`IA2VtI7o3<{a55MCiVIFjEf~ZFf2VQ5 z;M9VlTri9aDpLzaa>1x-D5y6^hh6fE&Z^;EW8N|zB`R{Mu}_k>d`v%<9SK^-V@r&4 zYK;q*8y8pPQ8KA5@jTkU&#gBu#k#T^z>bq6atfoc=6G(Mad}Pd-k|E!{@bdrOyhh| z;nnPEJ&O#u*deif0kpwStuLM@%y^#8?&>sT1@Qu!mF?<{-%$^7;LgrHJDda}oCD))!g6xIFF0a3 zb|crwHJT}>M&G~_?T<|-nm|;YF^NHcs)jzypP1I68kc|LmLqUJoT4j@e?J4%8Mopz zjp0fjxP$fahXA`Ax`}j(=LJKcJ%hdHA;_m8K>irD#%<(aUf{nKe&*}qF?u_r*kJ2+Z?568)UaG5*^SID1GjyMF9@P&P= zEnu2$!u_@dwRRq?vh!h$e_aT#*m3yCZV5Z>R>HDdi%h$XNZReiv33VB!tN~2w!4Vm z+etCWE)x&i-Na*dck!Zqta#P#DR$bu#csQgmT4cS71;f>W9FezI`rG!S`ZoJ9{a^M%{cHPi{RjIA!?B+> za_nb}wswtCYA-hW+Dna->}AF%d%1D0y~4QKe%|<zsuQ8_EYmEo&7meBWOUC2& z%f>Q$ow3$lZ#38&e~eG?bG!Yv@s<6K@wNS~@q@kD)a@;1w*8*j(th9UY40?Tv;SrG zx4$&cv3HwS+FzU3+I!3i_BZBa`&)CWz1N&(e`n6Hzc(MY_nD8{`^}f^gXSj=Sh}NI z$}z0Yj%^_!IxValog(X2r=>OBe`#gSbx<33+FFl0t*s}W zj@BZlv$YXFX=i>ks;FH8XXz}Q3%&z&Hq@fLcdfh*vW;cnX_W6J&v*ca^3Hs&F&oug z+L@1;*-`1&aB@)k1M~|@XTVT-J<4bK=EHc$Z%{rfFek&s^0)GLSUMHXk-wJ%P-mPD zM`?>FG~K!pf4cI$c_e>D?$Dbecj!%#JM^Yd&a^g#awc92UjITK6gY4b_Wv^KG; zx5HGPFK1etSPE54u}1(?q?XZs#->2dyu!Mi-J!Ge7xiqGIJ5P2dIn3JIp&q(GC5uh zgj{PZjAb6g8l_Nbdnko!i=kW{fNs8{@B!!~MM<}ke-0fwwCg}WZQ8WKKibm|IU}%$ znpaYYKP?WT%1<6^XOkavEOpmf@RpmLK>o*(D;uE&x#R|$*K{Z7HqK6CEmtD`*Gi12 z61=<*a>($%U(&k%ib@k0-&V*A!zeI+^E}D zU;GXDfAZhoZ$$UwmG~hzAuZtk7xw?sz-vPAK9%@ihM8)i&OC{~|KlKY6-HDAUJMkZ z8`;1V=H9EsM~n;vPH93U%W93OjmiDk?%?!I2^@}s8t}=ZCzdP#4nK8dcX0T52_o?2 zME;sd!PlG?gzHj9yJW5QV6vHSI*x`uL zj%o=_l){5hT+WqN@@L4<;o zCTfmDZsLvY;jjQ_B96*b9F>WY+5QM=^dcKti^zu7g5N`&Mvq%e{b|81mP`@1IV~Tz z-3eNJ3$<9Q4lHa}!EKnL=+f1t9M zaW6`zvmlSi=}fYv#JG*D6p4CcMiVQAQj!Nk{lvy|IYvSjdPa%_5d^ z9c*hcmNm7t7Fi)i3Fb}(XnIwG(f zY~VV4+rsP3BHrLSb}{13bVOiX*vNJ4X2jdgBHpDsjLpoAf2453*y5Le5ZWiOh7Z$f z2yGJ|hqehsY)?l7c8SkwNatg~ztRAqP2!86*WG*tZ&Ij_V@tnEnSsVIf4`F5p;}&8 zZ+sJ}<CsxBixu;~GUBIFgfz9_D+^^Gl`gDU_v9J{j~ zWUfKPa?`BH^D8BrcPyUQe{7|Z5n^z_nUkC0jQI$Z5f?hAaA6j-s5fQPemXUTJOu~O zbZL&5UfLWnT_47VGLt8w8B0g_6Vc4Cp%{o$8x{2S*w!3wYxK=t`ZxP)U*qL)-Q({n zr1@wzF}DTt(QL_}Rt#!lZVN$e7}SwPs3EF2JUhe!*pi}JmEYCi<~-G>MVy% z&I)+XSqUFFt6;mc8V=wBZ8&R1vGcO%=&Tb1ob}>V=M{00^P0HAd0k9#-V}E_e;3ux zTjE*gZPDOt7H>FPf5cAbeX-m5Ky#fBwOr>TE$Mus9qVk@hB}{Vqn#bvwa(|-1m~1} zV~j4$)@A#&ZQHi{v~AlqPTRI^`)S*@dD^z^?s>ntH<|e+lg!+tlB(4HQ>oP6YptqE z7R(j@iL`C%LrTlio0ix1T2c4azEdG$_@cN)8%?^Nyl-W&W9duNy@hE4Q$ z{8ovde%lHHCvB`$Z5ztgq3}*Xj8kh4)6$iN&XFtAwJS}u*H+Jn%nPS+z{afm#Fag* zt30FC7D`OYfA#o?mRtT^1kd{G0^j1_i(FG&htc#>uh_HplT5N}4>N|=iOUN;o7_V^ zqudicJH7o_Hi}O5EagqdW0x0f=Tfg6&4XLyiyGf8BGyVV+{b7cl;9ipv+G%tMNc z4-W4Y&DlG~ZFy}m4on|RxtAf>4id|XkaiErEGH0JfR??G8-e(Mbn$??7`3( zgkSMHq?WlCTIH2%-8leSK)&iu)%^?Yis4>OZBKH_2TKY;NL~)G{YSsN+)XC6ses@| z|J!D(f2a6J@DS)iF3eznLBU&bo~L17d+t2VvMx+jsNQM`(o4YQ8%fN?W)V>5^YI*@ z;DJ-ct6XGzeQA)T4XKZa-V;e|082o$zcnovc7@;Bs9b!PYI0NKXH$pE*{kV2m=IXK7R} zvneaf+W9KWD*ahJxX!-*a&f$&S0C`E7GR>;>L|~ji)A-%3a;%$4%0OJWJa|;)XF-5 zWJ?YubWbhR!H#eiiEp*0+cngbu%T2x-L_+O^5hz@Uf3!&CI4gnjBD4Ld@LKUy5t^k4 zJ7KCgmS!FL;RF}S(xVe3gfHpsv;UUt6Yd0UOMh4pCe|w4^rt^j3wzN*uf*2waKw0; zm@~X?n>WZ%mNU+1AcM`f!ZCPZ%;XLNH)wW4igC;H^wQ41=DKQb@C!$!&At!oT8wjc z3k+q`&7k3fe#&Vl=RR3?45VJ#av!H8%4Y&KEO{xpp;@P- zsbyl3yAl?lVrs>wlDZ;pYE4n8V;di7`48!0*E+I3sQ|HUpk6qxFal_$STIzzblF`7 z2%X|$cMQAbPg>sNkD-MT9xH1RV2;^0^M67E9kgootRUGPw(8fYK_9$bVH7nJ>iEP% zZ@Wl<+jHA$zm_hxg!ulJ0Qdd9&hGo68C`Uw%*>W?P+gI{?Mtut`K&CHKodOL3^ro* z$*wic9I@}Fm--i8;O!ss0_yv?*vG))s_FULkmnfuG6hzvjFEp_ zVky(SmT6XAa;@ei(XkPDd%TRq{djQ4L1_a2^3+Q2H`QKh7Dj5PV^yE7ogR8?(BYmK zT~}H-PxEmK8ot~im?G^-N52K+AC#74o>rTw|`_ z>_q1CWyezPTgqHc?I-~4*dCm>mYPx;|Lchdm}W{~_k1sYIBalKD!lNPseik4AZF6r z3;Nu}4)8X*2ZLZ6GkJ6@8_{rdO!pXavG>Ug{ky2k)!9G@3|4xvyHmvE4Ieg?TEIfvYoX%B?e% z<}!O=2EbTmSqDLsUCp1%lz*7mNZ{GJ-Q@;L0qjgUX`aK?4Uv~>c+2HoA&Vp*$z8wD zrCW`mJ@lbPtC7GT1}$|287n1J!;KxOqApQxHz)ijjKA_1tios?<1&m`g%hXxQ>e5G zL7S9nA6+HGW=(8RMy0@%^5~!y8<3tdMIX*Nsk?X%?8e>t$+^m_QhyFeXWdNqxrp%AMk%(5BO)r!WUn`JJeLT>dbJ%;u&=UqjI*rnQPt{{2NbKokI znqpz>_ul};Ve1JX4N`(bi+ZEKQ-%N~_qmDD2u##hPC+QwpNTeteBM6Y@PRWKE*PD8 zhOt4LsJA(Feo}%FYnELVuB`0#p%;a*odQ-I($#DtSD}nNrhm-T0E_NRR6tse0SivW zS!Q0=+I%EeXv}@e$t2ftt)ngV0xwsZ6H65Is}jG_u~8NIK#~)FOCNgPK!g+je)d@K zwELSyyy6pIxMCj>sHq|0DMZ)-&G^~j>% z56a4<9DXzg2Y*de0&^{$k{)5t!nJw%5}90-(|$b!+_-_taSEVD#at;hS;~SE53UEe z6~oT~`9+0O5A~&_@OSP@g6_@B@&%6yoR$zN%T_ql(QWnkYKPad4SR*9HWhDuo(^}$ zW}s6TXym#U{`8M`EaO5nGM+;TSE+s!d*-3;<7>#*k$;n@U83$fw=1AE+Hi9?!*3IzS4A^&dI)7P#vuh%4R8v#GW`#gj3nUFH#^=_U*v z;W>r3BCO}P7}aEhte5y06=lP+mbx7pJ%O%O5C($IYZ=w2gRR(La+MJJk=bz0mvD88 zj{CKmfv{EBx?-ws)t)%LD|7w*D#~_oo>*}eW`7}t`DkoZNt~9A6pK^CUC+7ZCFxMM zROxDz|Llu2>%gkaHXaI}Ts}cL#cMLM=aUk89U40U%a!~pP*E#FB`N^rrNtmN9l&x( z@y4ZsX$c(F?3dw0R4Sw_q%Ks-_WvXWRiu4`EcFDVD2LlG%gQ}U(lE1xh1gperx;iv zI)BPbV25{-*jQGup(;AP72Fd$zRUKLdVMP^S74`$p2!KB3;1R~sSs|Wam7R>l6ING;|GL|I6BUO(K{*I+<4G9Bxd>FO0VtDRP1OEc+$&k(Ija6#oJkK4(XB$*2%-m@;3>HL1@i?@{}Hepyp`T1E3+ zgU0<>D6zL`sGLx5M0Es$5Yq+j+J7y!o|jM}z!5=NzF-C^ELDOpX6a19e~CpR#{68f z7(Ya)7@ep&p>~<@PkhC2GK}H{!T7H)lDB-nV)>`I$BOTQBg9(pRN-QfNupGURAGRh z1(yhQ9j?`v@FbB^z!74FLf$!n2D~2~|07+P7LNBKL%}zD$BV)RF~tMAi+`{23+qj8 zEM6xCvT20Kp}1i>L)Jy$gZReYxmW?#0}5`T+KAmRX zd(Hl8dPq%AT0$7LXf6+t1+D5J6rQ$wsI_>o&)h;Kt575EP;FDv17NkVb}yd&IeJ_& z51xZQ67nzaeXzBGI|>hu=q>?m-m#!?oq{zb@eO;-5>7TLQH63yVShx_+%ECPRlMm) zU|I8OKc8dxoC53Bc?3Nk@r911DE#>FAQODpCQazXEpkwr3>c%~wdSC| zr{=w4kjZx}ZGn=^`w{Mu;2Tu`?S=*1GRpAsW-2X7{By!2m;i>6hqnt zk)MgihoGwzf>;pb`%dA2H*lcWw(FAZrMW)i7A+JwvuQ@7Y^k6y-y*&F-@jG=f=Z9| zb)InID&5zo$4jK9Dsm$&RIG+yk^W`t8#c|>`|e^!b(uy}OMmchYhIuR)-Y^dyv?Jh zq+HT6wa(A;o6#qxpR@wtHwGw4V>PSQYW_Zv+1>9MI4=@hgRUa5x`es=vPpg0vXNo` zn~;iUPkQKHbc@6Vs^wL*2X-Tad72XvH;9ROk^^(ltuMY81lW^l$NrE(y6irLkw_T# z6&gx_%Ki>|6@MUtX3gr;S!j1*52BL2D%7B0u1(!+3hj06X+|vI3cd^MhTay zZ4RiLS+#(S7sen8n@Ekyn!u(I1_o?xiz*zd5=GIEsDBU1rhBn=i`*>0=Xed)reTox>zVf$a*bOc8b&D#q3++&WzNM z57Hr6a@KWdxK=EITJf%?u?oGNu++_gMVGtxb}k}R&V6Wro7rk9zi5s+?t%^!Jfn%* zM^rGd!hh>&Ddb#RbP(;U^%J#&?D@uvtpn!-xWHZFCHDD+61&wx(TS9|fuR?IDeCW$ zWj9$@U(i&WY-$;Pr5=AlTl4O(rMKM9jSSEG-|i8vRB%c|1X$<5m#i3^+Q9_`tSDfb zz(uv_bqM!(tM-JdP&Fmj8hcTh-Ll$oF+OpegMS{O#oO=Jy?KCdi%h&wPXb?2TvC$7 zuT6S7yx7Qo>)OF~v|;a|O8n&)4DDem7i{@nWPTN{Ajp$kKm%XmqGZtKV8sWU9sSbs zxkak>m#JcCYK)E2IjgI&Aa6E@3x=rRGoPD(UEe3{Yvz;2UCMdR_8B#bbUKsh32M0c z8-M)}*Gn4th?gdP23J(akaegnsLyT))qN+u_z@V?2uq$C`W3-LDzg9;SHZV`GI$=# zcOJmU4RK#>ToARK6(B*g}?-ZIP%^60ngW! zXh88tr?lKJQo6zq|M|xDEp|shFbq*S+J6e|B`%v=kCA*Dx{x>3vX!8Ia>)>XAOcE` zdV?Qn%^q#T{*BXRf*}K`3}!_(=3!~pRv|Fj5>8yxHa}(=om=y&VBj2xLIZCPwF)J= zfqRfkjY`LatSJ4jGRUkDc6?>{A62A_O5zn&(dw#54Ry5o8fqh5)uE0`3n3Lzlz+m= zwF=BpGw$54uRdHVsvMTrh~-`PqC3hOLYlR0!n+1nsv2X5F3#VQ6EiK(K_Q!d>UQvE zt6r}mtOyfDYiPOqfuH=$CqZH6Mh7YfZN4-FTv|YsL_#!Ghy?lQbCc9k9^n%txhdkj zG;!`~_;=O3`_(89l<(sEB` z&@((L$M1J$&0Mn%LS|y?2lr$k*rnhGBqMRWE-+slk5CQ6cW4nfG(qchdF;^ETmP^{b@jsb1)h09~dxxwIGA{?&t4YWd}wefl%nk^VmpqM5f|1l(<61Z?` zSPS;!lqQxD;)$KH)*bn^fhoZY@yLjE*^QM8DRpA^OtvwYs$&f7QWS~3Z^q^l-N|$@ z+q`0X5pZuGDJWgdBP7qNQ-5(PvlczNYS_EYivtLjA|LbRpW^ zOhGqQUl(09ZC5up>MUrAy2|Uw;ZxIh#v2oT_F2C0Zoi)K#zMY>?SI%$^-{nO%?Fe~ zLwS)i3*R4}Qvo56=o>mW9h~V7@i2l*ffPTWIQ`dX_!}cC+kV16Q=1g6zxL39L#I3P zHR5dFmk|R87e$Kiw;D5;ae?J^WT@w-{&lTg1@agdkG0e z+iz$~Pbn?ORpM`vskG?FqWO~YP%yaIsU)Ddap1uK?;yEP%75+yt#$rSoig*lz84f- zhh-KJCMS4=PzRSmZB0-aF zn7Ayhr91Uwy~c`Do4INRHpd{w&QqVnU$J=KcsxeOxsQRmzWp`n?F`fw-eUDM>ef}RF z+AYU$SAY5NKtM>OKtNpoFAr@oOH&(@e_3e%%TD`$PW;P8yIBLqTV*-p$8Wq(mK+0F z7!phr1T4KP+&>=~GCp`d7;z4&UW7)@?3xrbDT5J#wWa60NLRbHc_Zx1E{}e0y~cJ9 z{!XZ52<+`yBXjY^75O~?%oPUbXkTBr*YOMbg`rSe45F_oT+%kc+i3aof$hY_$J=>^NAx3jvP z8%ltn@z~DN*~an}OIADYnkDHk<9;2!V^)@{Fs1q5%(zkP&7m7c^CDJb;T)^a=*IL? zY{_SwFh_xZSc+z1XKW_b1+S=Phhw0pR(};LjDgXiXEL*YThpR5eJYN8#tS4eyM}*Eqfyn62C$*UDu1NeH60kG{Gvxf^|bPenv-leQ*S;$Tc}6bI-C>W zwGrW}9l?d^ah;&?x-=V}vcpT;XBMmih zC5A3Y{1!)i)K+%FRD>ZcL)Thv1IL_W3TK?B?jYw@x6n?R2Awbqo|wG#VnmmxE>gr} zf=vR(X45~eKX0ra`9u0!1_`i!t7GOfaYjDOXwiRGh>-m6=G>fhjA6}#ckIb7?RHfmC4dXLBb4ezG$ zsdcKu&I2Iql?H#4LpyXm8tP0zxfv(k#EE#59oVTlAh_j^a(FPs=jcksA(*=p+_Xiq z8+3l#Q#BJPp877zw`u6)OD#lA*+RH@h2)<=6Y5;q;0@iN8zfl0gMZo-=7p2rb=G93 z@Yc}ePfQV9hxl^zBeVqnNaE%X@uE9d6~|w+O+A}EeZ|-`SF|s1#OaOw^lXFlG)9V0amv2}N=z=_3glAcjNJ5A-IIGT2A zy8i{7qQin%<#ZcwALp$!s(#lTk!+D-3Gn>f>1s}K=sTWgR^?#(qP3m;`NZwr-6oKeSs&Mwf3kdisZKVu zwZ#55HsYcf6n_p?rD$EWB?IW6y*97gnui(P5v8nr!}KoS?r{5t?ZBkU`kFp*RNQ#J zUa}D+MF#I{ShTL0$T}H*U-_;paxUuci{kkW{nU|TKaZkh7c)qwP2uw&7)?)U;ffo>Xd3IRBwaVYWud z<}~$mvVRq6ccOM9r&=}5otO&Q%wWyPYqsl97XI42Di%UNZBVFeBMT{#^ujQ-x-lqB zZ2ZGDN^4TRR5N#S-XKzWrV^|=LfWO=pGNhH2d!E(39VTH&r%7Q9_)cORb=2sqme`Z zw9pqrW?{FM)aDwZ4RCm&-1O+EPG~;2$&YN4On;Z}pHXLAY=!I4A;ef{^;JtxDpw0x zFIO<+fS)ASWrvwP8wRFtl~lXl5+!6j^%-n73KroAl55{F*`uq?G#Rv?e+3BsA9@Nb(~fAoi*M^=N?ilU!8Oq7ffJc?B&FC!NLT+Zaj1@gP$x zfUh?DEUoUuIMv+Z`%cIBA`i!#U{&wVi2L*q-_I$CfKB8_&0J7*U!iOwnRW$!*1)&s z&P{J~er9R6SMKaB>9-5?qTtLZ>%LGqg@1?ZS=llKyP91@JDP#lsLFN`&-UxAsMIo; z`lW(=VAttQTDHGed1 zYDmgzC|B)UR2WwM*EEjYo+o8un~IXHGsH@bK~%wy?7a7tZ~;_;Y^RE2^5Pt)Co+-R z4ciH|CUoSjWGO*%z8Rv3q5ip&y%5XJ zgJq+Gjowyw*z(fY>ld_~1N-$Fw%**K6ZbEM)ACRz&V$oiLXS#mauDjX8Rpg ztl2!;92jlt+epqW4NetfQ=CF2qTpH^$EB@&A=m=;1Lp_%E+iYRyOz|H$OHFCw zm83p6UM;=fDlCq4L$(9#EwDCBg9_sItp#H5WCqB1P9VsMgpz2DrV`-~$|`D^0Z^JM z>*c`A`4V)YRo-XtaN5=;@qcmP$m|tR8%wC`OJHmwNkQ>8>9uw2MNlW8~bOe|9_unJBGJi#0C1ni6hD7AT z(utDNam;08sI$_o@r<@TONU_N(*=>8{f9&(rVtf>MMxuKQ6NDfCuJfr`IHIEERi0= zXJKNPWl_!5g;OcEp6hgNCilYtw`z3NJv|qdZ=8C98dd6`OjR4QZ+RoLkeD2EC+~YM z?LuUamIM0fhPLDm0e>d@>|l4#ux4uMQ|0d1@GPN&(L@jrp5*^ENSKzX7@v~L%19rd z+FFz-J)U9R<_gK|oy{*LkLjef`s?|VA$6QXdaRo~)k&4{5}(`|?kV8thVllCd?zSn z<|3Ae#g8|R%No&cjy>+~bjO_e&+>ju?gmyyXLOhe$XN&qOn><0#=Qd*+r!F>hPI>+ zDaMD&C^O_|MVOHV@Wx4H%&xN>Q{PT5X`PqGne+IS$GuaBykisF^AbJ$i@kHpe?@o& zkA+DL4JJ<&u_VgeyO1U^N4zzN$_UnqM%#?V%YedQq5GlP_&sCB^7-H4L`lxEL`I@n z^72A+R1LD`Dt|Ea6zbuRh#tvncIy*}8V{nlTcOe{N8Ojf8#``s_GFB_bmHLPk1B`6 z?SKEevmtWD9}W+6C_dp2rWEirMCBLKJ7w?vJVK&1JrKwf@hIwuJK#8Y1?{!6!X3?X z*Eb#b_5?dI8;IR&c2o?)V2h2iJ}Cz87HsFCU!NJz=YJ`%lbFP%S+dDt3sQ)ZK9ltmn^|50R=$n2e+72Mt zljEKIyfdyT%-dyor3$&n#UFl%UY)(u?fN}b>;A>&8@01%`k6cM4Vw0qX9BNRior0h z`Px`Ls(&wo)y#+orbr!jh&^#CcNuT3DT9H0AR)~zBN0WXt!0B{V=6HzqI;B2Ufc}n zX(_r^_4gfnrHc7&vv+{aUa)jUjPiwnORF~1u4w1k*0h3?N& z)MA6h)Y|Ih_l?F^l=j7WTB+$-deY|Ax3SuflYhPLS7cK)wsT_k){kCQZ%boM4?A6q zv0Q=a%P8QReDb@4sZ6N(gQ4+#Rr?DghASiRi<3998TD$fiBG|Qq zR?Y821K)BQg`sw7hs<(KG6FAcE6#8~`VUxhSI>mZJ@%}CpD>!jnsRtgK0Xt(-U6fU~k?sycRvrfS zj3FFTBqnIAnq%DIdiBl0AHGB|^0I0UMSnCZe?pd6>M@Lx0c^CSFc~mx?f%WKL}~uy zSs7cu#M=!YQ56u6Py-@$i-mK&oj!|$Rpx+2UKz#p!?3J{0;Z!rU`C}?;>VINk z|8MC#oVuZmqK-S-8wQpdtcnO8fmWi&2$j|xjsdxVO$|+4OfIIZy&>BWFl@rHWuxGA zBW(VDu0OxZy$D?Pe7_R*jrE1_zJyV>xWlFC#Dp`=iFX0ZB`|yS^5Hvk^EvZ(WQkPg8`V3!8-1m|yO}2Y)D4B`Zt4oKCcqp-L?^W0TfgYW98(ty^8l(i$;4 z&0K`r$~AwbX=|vktB}%TTS;lNJsa^Xt{Gi$^3cjB#Yb;`{|@QWq83d})uyB0@YK^} zVzKHm)ExFP8RpwmG83jLpK$WFWuupAm8h|P4$b(3gT#FCbuu9~vLY)Saeod|sz{B& zN`ox*J`a}%)*FpK21{~Xe@jR`hWYFiD;?@%MqP0{i5*0NsdaD2;7Rs4{x{4w^x-NO z=*n5pMj1&+Trpu9(F!Mu;1?sIp~8qDEK|0XGagle@*-{4=Y{4nIobBE6XkdbZsHvT zyfP~|MYS+sO`3CH?&Y)Moqs8igA6yx5tm|2)t2`?zB93k8qnzSW2ZO+vg=j7nGC5Xk>r8k@L>U%5 zf8OVOLv9(#vv5CZZ-%)@C26N)sze&AS8!Z*njtcqnF&XnyS0OVNaLDV5B7Ev(D z?s3lP=F~@qBcvFbvwy0!D?xeFy^by7^HTbFKG_*yFzL<@s-{Y?6*f*)Ne%k<=f0e=ZR^nxJsPbKX!a>SVT z5Y?wqCd$a0K@^?!Y{;bZC_>U5s;(my7cS+F@k>3|vlBw`mdp0tx0!u5Cqf3R;u{ee ztk-@^X1kj%9k+qEqt6y%*Z`u9FtY6c+okwZM5tjm#c5) zbt_7V+|4xD4u6}Tsb8c$Vj3sw3j6n%j5=A;Q|vFTd3-70ostJ}S*A2abm!TR^DC0< z<9z$9DG%_se!7pV5iflXLDhK``lYUvyzKl;yLgwd5&_r#47&)Aj4hzg=_9=1i?#aI zHzo1`{G?;l3vO_LL0Qt_9^p?wzHa*;nAYJ-qT*YAz<0WL+%W{ZI-oiK+MM(qH!Cx7)bC4?HH@ zuzsB}UnXE9-Mt2!M_9g(VB!ZGoE{fmGBcieM#OB-s8UwH?4RWA4{&93N=p55eOvBk z*tg-_-G3aOT1OAET4gcCEk+DIA;O>r6a%a>%_txH z3yhTsB~%Ma91uK+s6s$s6Bi_DWQ2~8oPL3iB$KogO7Ep2hvFmIvJ5wF`)wdp)Ptrjo}b(>wv`yp-G4g z>O3(e1DVeIURC;DrvmOMbot;()b{2Evl7H$Np|==*$}%)DKx+xMRe|^A8|?&M6tCC z=YMIEvD77J8vGGU+xNI3>#2h^(1fB1H%m^f7mQWU>bcLhZXdU67QfmlQS~{=>|?Zg zRz_>VS6_siNB%%@R1xP#g6gxu<|U;!Qy)5KyK&m}45=4>z3cyXgt%MG!hnVV0-8kx z0%H7sA;iCKL;nR4T>l0IHEkOeRaD(Fx__KsVL}Bh=oKO8O$_Nh1TugnqhZ5!p|WIk zkIjsBTl=&*^o<}_`CDdj~ zb3pfMPUEbmc^=ElN}j+cWIh^!dqS8u1~lnPzCu2IV)`={6OBzU+)i79lza*Doqw7B z0&Ah!0tad?Gs&4Do(mMJtF|M}7Rjx%tiuGS^{bJX_rNL!ixSmOq6lS9(>}_i2}u7@ zRS9v@anl}5a43Xu=Diz>CCxF;>=2114bn>pGYbpTqzpaHGs_);egQ;n`3|%3{AJ*0 zbCF(K3Ko9Ai0a224x8D6*@7^CO@B(f1_j}$ecZZ4ZjCRrRq_)uPIeJ1m0{5kdD&cb z@GnxS9HA&={A5ZuXn>Tvgi(~Th4R24a*AAmF4P8TWwuZla*On(19T2PZzMK`71_B0 zgF>SgDA>xGAw-O&b6!FwDk89|N!buRTfBKwp!;R-Ca6e6~IHsD2}em$3v)aHg&m_mulXA(n|bUk{8f`V`~ljj76pF zW7#XBFfQ6IdR#0RL6o(WoCGfgyHR|c%}VSzM&5i_JculAqhu||P42i!-h5Pyf=pqn zaFJdqskFn>~^+a>TiD6(^1 zv=ezoqyDr|l!iCYdCpf>vEbe7RwaMQ4tF|x+PdS{YKOSkCm*ZE@|If5YdnRC>`*fe zi2gSWTpGYxptFYYvFdBmCn=a6UMr<*V|l8mii4v?1nLuZy~(U)Ykw z$*eDZPi@15AggvE;D0({OZs!1J-gTZ$#%S!Daz*rj*NLce9ivsV_>DXQw7VWC~8Z# zHhx2~P|q_wrF<1VCJR#3XhB@N3B0#>mF>(qMD?74rapgnz_$gzy0I zfboE6gd}A{M7{~K@K{Hv!m>87`P-`)-YDqzO@Hwbh*Q|hG8PmOI*9V#U-P0{ zYf+%ZxFX>#?yw|F=3y3t;+Bo@2grZU!Z;(VI72U%Djpt(+5@c!Fj{BHDxb)=3+1f{6eW$TjrXTxf5c)C-C%;=|ll z2jwE-Ik+ijW3%&Scux*01x0$XE$0>t;>*rPa(Uv-96>J90dh5Aa<)i0Gt8MM=vtHT z_f@gDRz&99mZIHm?U9yi+>On_bl8lneDDJzFGY8wN1esvhG}5 z1v^O}1M@Y&1xF+O>tYZn6)WxQx=-822J&` z>bQT}c(wdk_3S@wyqaOG+S+7A-DG9eWQD_Iq^AKwHzN>VLHu8S&EyJt9eo{~VUB5btUlP-H zhFwW1_(jr3o%8cd_sKSwo7wZnEQ3BUuYaK2C=dvCpdu{sP@PKUDy*HhsNSJi2uIg} z*p?=%PXFWp8#|q0nm%QhJ})}ijelp?2;zih>=A&eOa2D;LD}x_W(Bs#Y;$(ynxUiU za4BVxgDWxj6%M;S>r{`Bs@NXX>gM`2(p=}K*qOvqTYb*X&LoY68T_AMr1^Ytrhj0{ zL6sW`tOYGbVUfzZBX{X2*m0Lq5*{qk6sZNI(YnwCN-?Gp#`PmX(qR^PT&GSdOpvpw zj#z66E6likZac;y2BDSl1VNsZo)5H85zlUxvTSy?O%sjNR&$l1$enr)b&hjC)?lJG zMTW)1FgIH9OEzoKJ#_bZ^2xt)-G4(@!q-~&8ypbbBvpbu&xxq&v^&M@D#bo=)M=Nx zrmc8~VkP{pRKgDwi4~%A14^Kw5j13lzAIY|M-Ev5woJh^fnKuebKHN~bBd(40FH6L zr3pi2c0ib;e=3kuu4$U@Z;+3m!JT6`4;I9^UcFqoe4y5bC7F0yEiZBj$$xb_n&TE8 zcO)gKt9&ew`DU<%X>aZps&sw#8CViqD`OLr_6XHAu4;?`_C(w@tu3gYJ=-qQMvIB< zO5Gw^X;62VR2|AkBs)QE;GrAA+Y6#ai|OeZ(`F}1{fE2mlxT9I`~g0s&Oj)SE2?vd zBZ$LzLJUX=MCn7xg)+PJrGF6$gP|5}GsVU;v-!eWvc4cb-Cbw`2+?8 zv5lYiJ*(Ut)=ll*hv#_{$BxkI~$LGWez~iRvAYX)z?nqFDZQq*nqTl zJP4g6qzG_7d-6IlWjdIxQF2QU?KlWbmhPsF#m6|qHDf3O9{Ed=#splr39;U9EK;gqo@j; zC&A0LTyIlWE@y^E#pLo zh`syCH3&y6K4c+g&-qctzZ2O;79$BB`OKSLI?-Z5mg=ITkFsq^+)J}^Kg;XAV_18ku1!Tmj){qcan?w zu3)CnZD)Zhd6@G8Kt^aVROsC?-mXtizI&44t||Lgt%YX-Xh#4fg@;Q1*awqn0M#d@ zKt?K45Lk*l7q1Fj<$()|oH$O4&W@y9TC3@lQ7lp2;D1@XqExb7`FsSyjY7KOa)V5O zrQ%3uo2Y1mtawlX!vZE1)(~eR?hmr?Qae{FP zqG>`t#ea#6$eJiKzQg3T!*LYTXZ@Tm9#y?T_weHgLK?G#_rEy{u**cQu^6dtsR*TA zMwXvjTaW8rS{a7TqPIV6^oiy&`^HHHWkjNt36^MV!Ufp%e?kcn_DMxoTdzK`-Y=93 z9PGGpYDwZsbm-e<6a%&121s2XpaxYcuegNyF@FP~%QB-Oxi4732hVS^C%GYZ5_tR| z;e^#!)S!P^9?i+J#xJ|V4cBOpB8W+pU^(h`L{@KEwqRN+7Cd|`4WwACti|Ab*fX$V zW$B2#>$C>=-|rD&tSi{wvk`JL9NBSPGqlRaVuLoA4O5p}V>7&|cwJ`fIWkFsj)H!l zpnv=j1nr?D_6TEeTfz;O?%(YJ8QYBU92!#?j5ciq{Cb3ip45BHN6<`6#e+G#t+>V9 zSI+u$q>7sjc7@C{j=F4rM2y=-L;ga}{~ITns{4i8lb^CDU92lI*>ukm_cDqdC|A!y zS;&)$&+&fHfj5dFtLk~s^Ih1+yW{fd=6@b%EFhS9{tB+E>eBn06U8qefI1YtYthgi zZBT$Pk!$#Mh04w*$AB5Nidc@^ejYiqOdJhnk)rKugDK?J5G1Kh?wYGB3v$jmeOv6* zB%1t+QxZkUJkgI;l0IrY!{6m`_m9}Ex} zLo|`Tp+Y4OMyPm=NL45!@R&fNCh|~)jemBhZ{IAxKwO_^F@HktYOu5C zwCq&r^L)Q^jULy?vg8X2lS54R6OD| zvK~otJ=M%c-KM`=2(3YY4Xr8J%AbxOthTfQE zB^W_Vrj9IW*kRgGy`E(@V=ML#7tCY8($r>&8S82>z#di-Y%c6?!oWLC-c6YY&oCV0 z!^jl@#~L)8VJgjv%u#zxoS4Ig9N~7v+(Py=!4+f}3<=8ZyXHqDbALfc+k))}b-pV^ z_(Fy-!3~Prn*v@p%-oIyG-E~)+a=dzR93aH0C5BA|we%464<1pHO6Ro$^Zl8vbqU zxMhh8%?>Y_Zot{W<9~f6sJ3-HOiVPzxYqh#O{vCa@l1L z!BV1|MCH;=V2T3|h2N-lziqULMmWDgOm_Y5Jf_qG?a z(>?Sw$k7GvOmL=>k(yNR!i6HefFiDDz7%elpkkS9RQINR(H|j3-%UD2?Ie>jyp$MZ z?v2A-d8XWdBV^*sZ#5bmOIW$-uq=sG)YWKF#m49HBV?=5#{BGHJ^szYcFeRy{(QTl z(xPLU38Xh=k$-~K+apJ0!nMp7Tit1L$}BjAwMn36tfh7xR~pYytY|ust?J7X>7;*M zu58bx!gH6KrXlP0+!e>Bd~mH?XSd$~odqeN#iLC7VT)N)q2|T__#(CCC5^rPPU3Ux zC86ID^v#W4wcRX1axC_aJ6At_d?1N;UwrF(VHc~yPk%^aj#9KH=7SAOY)R~Ht+wIu z=1y7L*S)TG=r%zbI2#SkH&N}D{3Ew(L7Ea1?0YxMz!KDZXxZFnHg zi+{y7+{%`nX62s7YeS@lsT{qL%_O6#8ex^Qw#f5@dWh$g{^|h#)X#dA4%lPY6qsw1 zvDdfoHh*f^VVOHl`^5W}>s{R${%c$(&bk`O%GYh=!|_yyU!B-2+pBAV$E<GdCK?MttiP40BkSU-P=G~znvy~VSN=SEX z27e7S8d21~Yp|>qamCR35%QDP8gPf?VVw*7Xj%^X!5d=~#Ump$X2mIdliWipJ)!2) z=Zp_~?E}6K10`j<1LM#Qh~@x-QuV(aH1@+(Ms>_I$SzuoVil0aXCdX6YM@{4#{~3C zEE^Pqfsj`t;9=6dS|CKLz==uq8F(2+bAK`Nqcie58hnZ|y0?koh4t4?xHrZQ?yhzc zf<&A+q*oiA5-|l}hbHX@>KB~wP7hhwC79KsMB-?SB>qMu-XRnN1KFlUW&?}B4g@1= zlWxC(mR|~{I1hHqZ#GX+iQ}vkDCv!S!s5rcVfY6A?}eYjSd`5K6bPse@<03SsekO^ zWNBwE=;UPhZxWrNs_VR=g2T_D-HViDj+k9EA4%==HlLU44gOB=_t$|uP+q>J z5i|xYDlICLtj0@W4+%&w3HQKRgnytDXZS#;9IdGO$V@3i&^5>U_8G1e1Cfltov?t1 z)N5IT4`mOA9N~aZSSf0Y{M&^V#%L?SDloU2xpr z(hwbeZ%^^ySGG6BbtRu9=M6YzX3R&^J6>nJ$$z=jOv_bR1KXvWNf!+_uowEH##O{$^_z^wc-&Xefv;Be z+#S9&h4YG()KlwEmJ(ch1!_Va{4xZ7h;G@aAcwPPz5hYUIYno}^jkiij&0kvZL8zt ziJsUtJGO1xw$-t1Cmq|#yl3XDne&~Qi}}{7tGcSX+P~WWy$ebL&42Av2@K5g4&<>& zDy05!s%cpFuegIgl?#M6H>Hlml2~0w17(PC17*M-u6N@Xvq%NGh>KyhgOa{gq`gVk z6_mIxX+Ht2u$m?X|G=XY*qCG&W8z#o*@fyzoiBgrRolQ_NEV_5J;7jYR;V$tLqrY zrPfBni7(`mum3IXvG1|G%1d1CeOup*RUNiLI{(V+rQ{?vl7BDbIhje-E~!F(6>eL( z09rt$ze=hDY$Z=i6ikJjm==2#Grq|Z_rUD3P1U__K3!;dYSSb0)xhF1e^01cvkPJF z!2I%0K4XX=N%t)Dr!YUYWy4F2$xmkyU+qNgxuVp0c*>$k``e%u^hvYCzN#31kBAxe zNzBzh2CnV4YVBH;wcURMowWwNS0@2iV%aMz*sar#+jDIb7DLcA>2oT}tlO-^J0TJt zF_`PJtA~Ii+STtL|LPmP&cc*-K!AYwpn!ld|2y*tX6FCIGz}~JEH!Ljg-laMet3CY zR26`>wziYSnoedBwSO885t;l{h>(TF`{l80!V=P^i*2Q8Y#}GiJ-ULo;$5phw&XTbGcgJa=0N65=XOzK`t(!LM(iSHzaE zl<)r@0LT~KZ-aj`raZAU*5@~AP(9Sj3`M@Gnz}|${yAMgf*IrXn~RJd8jT&LPu@w1 zD0j9lNs`7;S(BsF8$X(-7VItIqAU7dbg}%C6r$qm*}+%%bzDw0FcKXmve6NZmG$H( zE=ZUkpUKYFLUo#MRoFt^RP~KINyTYl4IeXa8)SpC5h#BWiY!p_ix7<``oQ7=gKfU}o~BQKmk14WNhEwS3*8DN8qH(*0N z#J1kIZK+*rMtgwwjPcpoJ&+ZE!>q=`{+{_${5TD7T;bh@!b`JobWGdqoh^n-%j*1B z^hS2o;{$&}G;ekl`-2LOsKRo`t3@=B(yF=(a6mw5<#zrB> zp`9MwY^Qu6khpz}#lmxl?tNeR&Q8GOC_fw@@sKw{EooURg=mrGP!tp4tT57=Efq?utZg(G?@6PqPI`YL)s0SF`^&zlCqi|;&7df=#>1Tb zNyT;P>G;d0`}RxM2kQaScZ(p57u3Ow=n7_N%m2lm=n8tM+rKSV#jPiF!DDZSzv`RQ ztWG3Z3!Y)poaTU#k)Gn?qbOC1wb6zx^I={^Pr$@bS{?mF89Z3@T)*ham0{tyf!_5C zrkQ`RPK;PpXZ-c~O}69;a#INkckP0C9(#v2Lv)({s4+ zyi31+mR~}v>`^qWLg|`klo9ipMrUUi-7!11 z;ksht86o)CWk(im`_oU)N5B)&()6?7KK6e+za;*At=_aWSR+Qo)xGPK9CM^A>tWs1 z&6?Y0G)93y>qxQv;0;H=Y}4=_&oxtBzL#&Kg)f?&IMMtJ=AO!RlsC%S5S zvyILcvkKE1ZIikUU|+lI+fUK29toIQ8Z?aEMeg4KzedAD!Ncg1v{$v)u@|}d(XW3J zUXMDWuY}kJY2V0mQ7pz`TX;Yp~k~ zD5dz|#%{D)-QqVyr||cmscJou^+bPKPV|IclNzt7xMv*ji|R4UlY*OC-?D-bG zgMW$ty!d-(X6K%yj}D%s@pW;h!6{KgvN(^mw(0=>%MiUjq%B-iwu)jIS#$`(Fs&`H zZ3(Iqj(MCwG^%MP4r=U&XaU(2J$)_78x4Y%4yCD zFo_IO!1*XN3Vz05>ByD!UFeI0d$3fK0A8kPeBN+Vr`BP#H+w;dc0>vLgz-SGsqWqT z^gTVz0WF3#ZibT3lej)|GKYV3uYH%ETME+~$*ag-Lj=Ero)=z>8^j_ttVl~DE`kXn@s&!Z6Zmx7>_e4p&m?0FNxBz zk^$^#l^bNRkjb}CYR?>i3#=tsMj2(M=x@t^^W^v<02?h+J@Y0 zz==&hyOLit;3hShx6Dg53Wi=9st z$KChhkYZ!TsUXnA45$iKy`72}jD`fdAWm&Jdxpr=S#o`jT z>B+6>>AC3%vFS-(`yHd&Cv&++)M}?t{CZ(saIQsgVZHa`WZ8cq9;r(}nP};`cS`=t)VrvX^{9lrot!|})s)6N;5M&)Tp%ztAP@o2l zDc?**pRXEifJ)pH5Vk0rYV1EOA21e>+VW&*x4!-qxIi7_m(RKi%i~(Ynhm^=^OOD- z;cZzsxuEcef{T9|BkMf5co#VFxPCwJi}m|C8)7%{D?k~X0o}wN7B8YSQFw|?qWKp+ zSBXjWm^F_JQ`%f}P!9A{tioT1^Q7)DveL;q)4%0GDabcshCc%(jrMH)pSDj1pghKg z3JdV`ez=v!vs5woj|g2CaTJ2f)3X!c)v-ue@*Q5t0YZPUFXTtd2`q8$M1m!SgM}8x zOGg)=`3d-HwBGXK7Y7}S^JMZ|k?CfJB5@XJR?7+yGQn`vA)*i-M)7FD#-pssOrVn> zG9-$gOwj?mm}N;E_hWl4#8X+zHvVM~FY4%zs}lb8&J^WZr79z8(y~HPN&R0*Uq|BP zt`)1nnBadLQRnJp$<0lwSt30`D%Xzd#N~C8!+LBmswOV7BofL#Ar?4VKQxGFwp0Tt z(5L1ZYUOR|IBYT;JJp5-#@ZEZd1d(1o#$`c(V!~arT=bC>O#G%*{*5I>yU zxsUY`sL#b{fK^z8!HLAu+e)8YP63SK?PmL_!76``oHHAhSBpcgLP)5JIV3>L%kMdl&)3cuSF_ny<85XqQpgY*!n~<f>vsG;JvLapvZQy{BER? zxZ%LowkU=A^NwXc_uG1(dBGf#;rE>NXl)XQHQb@DUBAG<1y-Xb< za7r_B(FH_CQ!5JyR|8DKz$@&2yy2`mJ;{HiG+UcgJ?oJckCr4BdYUTXvb$)7p?FG7 zU^!-QIA=b21heRl3+Ea3&F`naHI-*IO=QGn7bb-7F+pW&r{Lm7(oAm`xh9j*qMoOb z(&d3KPj1YjAq+sNp5T=xYR$WJ_*|6*C$5lgD3*29u=p>>hMNFj@hovMFn zK4U%`f!mUkQUC?08)affT1a=dL1Kh?jyO+cOrNglypQvivsuN9A;EC90Z?i0^Zo5aYr(on_i#gD`se7iQ` z(HG6XS`t*cqt|!Cfa9h#*JM3)*JQrX*Nmizfm@@M-s;)_ZjIm08vuBYtiOMJ)BVuK zK<)}d-e~HRZTktn3bVOCk+oY}AFO(5!w|Wh2piF^&!lY5?jHoXUId+=Io#u5roSi- zp4Gx-x?#rYX0JXQ+r$SE`Gl)H2ts)_eV<#vC5T=AFbm~)K3 z6~@DE@vCx;k}o5tVp|`4{~9^MszzjG7~PZPbiJW3MyA9nrYdwqk>si>cu*JY6~%is zV-Aaql1r#$(_qcY;^acJ+XuD1AH$E@XE@n%%d&gcau+lJ?Y$WqjXJzuOt}5X;jRy? ze+m1g;VwfeQ1Z{~?Dc;ZTEL{KFe%RA?oO3b;ZC<5H+RozBRZFeV70hKGh&JFi?);Rde^G+7+hC7&~Epe@Lz?=Vc>r{-w6x^1PJ?YXNo!4 z{->+{U+T2gYPyQJl4$%tIU+CN$+);2GQi-PRzr*zg!00v=?U|P9qe&%-;#Z!E_EB6 zyCu%qmA^%czCtRLcK~W+e?@x$43-Vl#0^h8U9b30a=fmm^}j#9Ab*Qr zgfjmY2LFLB499;=mt>_D4KNK)Z8N>;@KUN>duEqBLEoBdk=v@^OLgsW&P&y8?`LW< zTrcSyzj0!5>x*qOb@0-sZHuwEHdDCZ>Hx;4s(*Yb3AXnFZ$0@Nv-wxr!_&rIS*ud@ z|EkrPz`kY&uzlK-Z^>CQMgfD+g4D$FSmfS9(dskCSfYQRz*}tGEF5A1@Yz77^zjg; zfM4LLYC8Q`gO0uHF8fUnRt;uSkJ-9d8q76BCHpuvtdmb?lId}a9S0~~T6+v8C{m^> zUc{Sy02tefw%`r8g|9uF8VifHDay{KEHz&f)A$Q+3hHZ>WlEio0AS}VSeW8{$V7?#%Qj-Me z-d;th+|VfS@tMCfC<-2{YFszKfbWYskPF};c0;@ew?N+h;2)fK0W-oH4mIu;l4>)6 zKW8yU!(A=VHd@4*uhd&B$+YlW)oUC#!WR}U=?et4CEh15T8!0_MCrP zzKK$&=$S)PL;8yU2yCJ_j>)eo^&2b}L`Ig~$C}ee&ZYDUxUdiwBsv={5>3iEK;x2d z)605jBUX`?H4Jy9f%XnKLE-ZUjR3XByq~fMnonvZXfyYtkOCgTC4=*+mD`yJb9U4 zLs3O1rh47|*+z8EgNmX$rT8yWxB?`?=}mgOl`1#!9NuCBtcYJ$(BD(gFG8pSuYrQz z3CpU4H#<+@Gvpu2ZoQMe{SAt}laGH>c^?+b^sj#P(jnCk6MW8-q!9&F`%-`F&N5Dx z>W^REsg(hSEINujrJqMAw^KcNf9VjWeb+}Whu!T%bS8;dEXeR}p1gr949DRP)BNwS0p z7#NdmeR@TuedgUaup3dxZ{Tr&@!`r%G;zXAR;C-|k>{H=$~SL(+!TK*i!3mqHi8Wl z(>p&nyR}Dve~jy}Z70i;fsI>Qw$h@j;T)HJs-@KL#EfLJV*3=0F0-}_>ByAwl(c}c zt5(uCQdnCwLM$$V!V|Nr0ZpmnHL2>X-vXO2W3eqZR+$A)RPS$qXU%<;Kbycb)9> z5stO#F0oZX@HoprAK_-&oQjT9Khg{`4)d2F)WvdGFf!6axeb3(lw7nlK^I?@X}LIB zUu&_(0Ea};BpbaZ7_h1&{ORNQGu07<&U)qZb@t8JsUUg9Qfyv-URxSfa9Md7@z4-O z>hCVs@$3gfSkj%1t#$f2`Z_~T7#r>FgocI|+cmA=#h*9?Vv5Mi^d0!P1tl5s3~Pk* zb?}I&nBd0OQtN-KRc4{u%0EL6OhXZURvGF=2Nn2e>b^=6IWpuZH+Ol+NK!dDpRKo- zHd>qIg`C~%BQ+I+6ld0`O$0Zw)KBKwA80|m14H-;o_@eX{1Nq2KQa<#ox!diLXr#T z$9bxF^*F$@l_p2wLsyB=Gn@JuqMfm5KwQjaf{VSSP>+A68XG^lhED${ljfF-1w{+K zr9g4_jht*YF6WY@!}78&#Aj7e1?H+eiS96D$X{CQVx0UPeNf`Y0zS9j47=(FWQUC> z$q7WkQY?r-=^nLr&QnOT&XG}FNwYBr{tzZvPuU)}x3t07gO0_D(Zg>n28zjQ37r}8 zi?L!(c58p0WJh}ZS1k06t&v2&&=YdK*&7nQjKjvxEaW_3sqg)KT2L}z@$&_yhvv2+ zM8jTcw`4??QNur{$1fLnVbwm>;guGst48y21 zZPg3jLHU3y&Be$-Ib^6BKUTIf1dL8v51i`03toTxOGrrJOG)1VE}nlYtgO7D@p!S) zfLJ}xbH3KmQzp*#Kr42LxrU;hlLl;Jy&MbM3WSnmK!&MXM#^4^eC?GEt^c&DoTBvtYl$Z#)Wjt*E1->R z1gd{@Mebn7U7v{_u?DiC5UfpZN7XP-T=ATF!BkFcvApMfggjY#0mtv2>uk~~#pE*T z?vQ8ZEP&@gbEV4y7Yfm06*d$ z1y)$qc zvmnL9I4i=`nEb2Xx~KnhDi6)hz6zL-(%6{e4^E@Pt({k6C_wvS!VBt8=+u-#89L!&6Yrd zXP!{Us+{4G9+fu6*#ybV49f{pZLUzSis=E|PiiOouts>u-h|IO#7L#!;k4L|mywc; zTpT*_pXvrbJNG!M#30G}FT&gm&|T|ewj6yv@9^Di0&seR6^anig2D*Q_1_={nzBZyB}PQwrT_Ydp74mtmO6y6jN~B^ zvU_5hWvA&5&D`doPDM672z)9R-jj)P3+%dMd-u?mB_J8@sVzbg3y2(%PrgB|o2bgN z=@oQ>_EJH3b9276In>qsJ>q|Bi7|w)ztTM^f9i^sM2I#F4{(G#8--#ib?elmHGjph zx&h;7-BtoZd!k7jrxys#-cx`QLu`bf3)gbFUJ4R>bYVq$HXw$o|NT8|v3KCBJ8EWIQLQs`3cvul42S=EKD7$Dd7 zgX-Zbh3Y%ihPv7g+qKE?U`-2q44O=$Y3!GavbhVf5Tk8kdEuMOr4kdL4wV>j;iP=&0EyEO z!|z?H;}XmZQrHWv655o1Y%^@D$V|}8C<(6aDC)q&b-1=~sB%>$h(|=XcQ6#}>}$U) z7ROg{UHa+Bu~0WcPGwrDQi}Tr z3x+fw=Qm8VY?p7e-)^y3?vN5NCout^=}Xo{@1tGwiA2HMzujz3vTd6y+z!0Q31?Jc zKOR-V1DDZX&3k(9lu^OrgZArq5^DbR`lWRAS@2)sM~vh%&jA7igdGtCMEu`)%8A-p zTmJ(>7IwD(d-H$422aobBPaE}g`^o4DMJ!#uBJMKM1b71gc2bR7EGdv`b){`KitMC z23roA>S`asi%zxm_2A=SzR)Q0i65%eCWe<(CpAhdm99 zMdViv1M|z|S=l0DGPtEIdxm8Z6@7n7ZN))&0= zO-7BH82y6IhT1ZeNxJL(ztS|1?`a33m*G?Lu*gxoS=5D1S6kb$hY zNm^%Jxw6D*Vf4Y44{WCgN3a#fumzy8pTq(*G+}^y*vh0t1eYqOX4Dkic9W&XeIh+e ziy`h(Fbj7%PLiroPDdG_>1aL1(X(ZuY#1Q~#ovFrH$fTuBQhGTFlJM=GQ}h!?XL-2 zUVQ#42R?KFWz#C^+^=w`SU*b9moIT#!q!RH@vxeR0gHYH=uQ*9C`qjGd*WQv8y9>5 z6hfYb71T)9s>{sOzYFuONw{mY2fvz>J!6ckBEeP;p+;1BJ79h^jk&`uYKs4Dk19w! zyYqhzX1*9aIE|~*m!L$5oA45cLZYFaGgU>01#$443AM#bvX_!T47Ho$KY>FzbHa$Y z1rvo8wB7gTI6BmInv_bHwoyGWz*mbZO8+ZGw&*D<(!+~0HK)ZB7m0N->=j=wCNZcC7MVo zXB__NC=x)s3=&Dq1dK_X+WwW@x{ z?3CHSIn(xpyozZew}-7K2Q6TZ?Rt22%EvG8$NtgZPnWQ-HEG1RG+p)eWgf0sFcIfh zHJ2TaKbb0?)4{jU)@z*5CV{1-ug;;xqOlaJLThM6Gbe%mC>u{wleSwWOgYX3>8<2~uJ) zl2_V=(&7_FQD;IdQ_U$qd_u zh7-ep)8z1ERI*Yhd(3Xk5w_j_74{*)AQ84+XO{%Io4p~WJUrq{Zt558Egcra++W^~ z?zdBHs1;7O6fatsKonRENLhc|fT>y6A325kxk}XmxeSss3xCmM+F%$Cz=14%wOYn; zwWp*+ML*q<8RG@?yQ4IMHbC@-tq!wl^(f(`tG4?x(eU)=#53sh^P4ZUJEK}p$6lI9 zE76!b#ZuaW&q8=_ri1+aRddD9a-kl+!|W@cIcP#{Nx7U+aX&H}$|!&QaXeo{9}>m6 zPP@ZP1abT%?%`GEjAr1I*uR43M?wH$o;TF#){}<%7`oMZes;5&;yW(Zw}@?(GT(_; z6>O)EqYYdXY&d^D>ES%=y+aJ?i#A?)l2o$rI&D3Fa?Ec~@T^JLH9Knu!dOe95yR!> zTp`1A`9q-0oPU6SayqT+bj!+U{Wg+kS{3_RF$iS}*|bh;}N@$!!jvu%$; zf_7VYOVJ{FaGzOHIUjt4*+0WX(Sj*1FpR_;tIc;&OcxFKLLa&Pq9v~T;a0Cwz>7Hc zyGekeToH<{G-&;7?9-!5a7s-se$@i?7q5=zCR8oms>5n`%nW~?YdpDpjw0)=>l?xc zkVGT@Q4_<=Z`h&-Fr&|1P2Or>1NFHFVR$hRRc3wVnMhTM@V2EmycpihC3NOY8Wjk3 zO^mF(>c9f2%_=a8Nm6F|BR7!h0huS z_mC}m5JO9ENLz>^raxo|0yn^~Eb2~GhZVltlr}lf|@frQ|me*DLNwZ0T`j2AP5 z>mY}5sNv|t`dNDl6Y^LW^v9w}%`8}v_;TsSwq8!#q6OX0pGO#Gtm=GCD=|2?2`1A| zx?U%)ocMqIwiHpbeK$S%z@@B-L}6B^O@dr2v0$w(Kf25)Q#xMkb&JRKF=q~7Nr$%N zxl$w#ya4{=EO?6=%vK)r*#*7dmF!3 z8uMbOtbx-Jfg&L9dP;{!e}`Om^n7b8Y{#m-{=e;O??ogk`7IJ^%Q*rS`Lhy~zi-w4;7R)NtfLFFMBdB*x zV{Bf1y9v-nHc2*5C7fEM*&AZlU$CGvUO!DQmi?qiUT49Xf_4WZL3ie^>9Fj z!Zpq&A-A`){iv_y+IB*h{Rslz+$|JAaq1$si#3xPxgL*MIAZKxS;(jh7E6gZ>j-~1 zTTSZhA_+~M1cKYR4^L#47Jq`=>Vf)X04DG`<5F*AjOQ*m&~O#lZw5F4>7RKDB-9JB|`6Lx(EG~9qlvm;7YE)H> z3YYvdMPoYtEmt^dT71y*FKTNQp6!2-*2GqI7E{=&>aZdil-$Kzgmjc_=+$h>GQR%p z@&nyFFu=IKZ%)uK4(aGl;X${1u247c)gL=2={s4mMgqlypEv?#2cj=b{xzC&?r0O+ zT^Km%czNhLjyhS8$4JECACfNKaD=5~NFM&xPR3;<{E17i(puTM8S%&7>WhETM+-ax zq_wmH9(EI=n*lRtFMQJt0F2b^$uzT58LvD%@zMkR%W3tudvSby<gLg+w5{dmbe z4RFw8?TSKP{gqpIZ=a}MEP_&aAqQ>PhI?-#Be>bL`wRr z$y~~2cZE^Jo35m#vPE-sMH7FJSQx%0!t2U;pkgh*t;}On!m$zuvuO#5a{nPQ zQSEG@gba1Y#@QHND-@8smZq)UHJ*uPsiuh`Js9+8Ss@xA9T-63&f;O@N&{qqWw*@! z-D@obDqpOJYPxct^Sym^884;L`T(f;gZVkmo62o6!GIhAK8Q`~DYAc!jGtS9IzncY zgabfR-ZK>Xskf1w9J1z2O7z!stcq-@URPdFOKNbrzG$DvPV|TCl)S1Bi;3ivv*${> zTtr2$iEo3Nv3Whas4sPg!d6?!Nr&xLi&R9^d)31OE#kGHq`SaaRJn6B&m1I;eKwPn zlUIx6KqKehnlzm008oFzkV|VC%c~Y+hU;$pK%S$Vp)SF6HkF7YgSoe-{>e9J#}x!T)N6q~`Y*2AlV zCho|X$!kY~J}sRt;II*fqSTT*w`NJD8z<8v4d^NN3AS}6P^`t7A(rP_>p zG|%qoHe1c_Bzk))e~i{#zTve~)x82R^S6Ymy}OXCCxHD1?=E!Qu>9^nWMg#<8U5a8 z3d%omJ}@0tlnS3@XPbfwPY6fXccqh`(PjjkKYc<>dHgXiivZ!3TU@sd2K*L%Y9 z)Vu8PV{k^~JWjps%^txH-V0~sBL{C}h9`y6HcwAr-ARAS6)Ag4Bd(kTt;&bZ5WJHXwl~-b)SWTmi*hx#GbIY1AQn+iaOqS`m=dAvfMO$0R zTz&jIguZ|Eu=2!|&=yz@;Y1Amv*r!l>=UKeQHpH2ztWtG*uj>uzkQ*<{gOlI#D1hd zqsoiqBL2{eM(3c`0`~aEmb>)|X8T%vbz|@OrCZ}B-V%?mb{`N`4DO7-&Og}$<%Nh; z4BY1)cdHd0x?)1+2aUADK^d0hc60bKERnzxyDxwCV;DO1cf(_cNPTATQPt^zEkcBs z)Puh0_B6pktJnrWY%!dqAYot-W}0a4@YL=G&Qizul%T%E_tXr(j zvTlF5Ug5T)FuJ9I<0dxTy&nGV_R@{(#+mErntak8AmypM$$)09)~?s3Gk@@BmGF;{ z+SLoD#`s4xQns0GfpEfUqqQG#D5L%Ws}1IDb7LC-0Yh_mrnP35S1+!3$|)+&QMBLn zc>n#x%sf;655*dfG)ghl8ui~53s8aKl}mq0sb0$D_e`jLijbo|u@xBm7_>6>ePydK zjBJku6K-Xy31qbtHIHs9%l2T3XqdlA`-JV|7N5|5>NCB&wU#Bj3eE zB@w+4^W~8+KPc@KI|5; z?I-pbes-c+x;#5?ON(O({`5k_IW~RLlUh~rpiJbbQv}}M`BSH3WuN5HmJTi`M1X{G=sTivCLfL0^Yf1w=IVgB6z&J%GzD&X~|$n@C8 zQC#b|!5@wD2cnWuQRlA_{c7{tGOj6uO{jVhvK zMOBzb)_I@-!Il15Dxc-gI#UiB>HFSpK`VY9Ei3J44bS5+Ee4aA#lxO0m?Xojmk+)Q zkSG>1mXq7#9v_ybWQAqxsp4?97)$>HYnliZi{?zs+wXxoGogPl+vhKEMOED10fBi7 z{7J}s`^#G{zxaaeQ;d?N-qLiV`g-puKjc&02poR1JFNW>_A>im=DZ$heJo)H^x=qZKpwS&|V5^4kq7D`8D{8j>a!ZD#>s^?OM zKMn|Ya#VNJt;lLB2}`dYK~ax*r-pxF)uS)huVVfS$gRUFYTCY}IiqYe`@@~R40=*e zJ5*D=WTAgx!V1lsdfpv3ld#`iS*b=IvdjZJUOIrosl~VOt}&fva*c1uw|jUT^To#z zMa@U{W8oItWiE8wKASD9y}xGfbRQ9)3V==SR#!k3!m_XyBVLp4Y0L`%d{=h+*K0-FjMlXx|FZ#1Y`Ba zhc|!XT$|YGmo>NSjNFCqq9w4k$?Y%nJmhK7DTdFLXjLoJQnbT)-GUdxKKzbe9rBWZ zoxA8OJl$s$COFQ(FN)$simvYbBg|Q|kKr@mqV8uPQRo*?`&RmrChRxM z8Tpd^bnd=mf^})=uc8~98A(|wjRFkE(Cl7`1_&pP<23FbV^vvqWUVDYX!x>p3x z;$+n|#x)Nbd8jTC`O0|c$si8*73=A?4(kBBTDI{HtsNjKU~7;xL$U2+YbYT}t#yA$ z8Lssq+!#MZ-$K*YvjkxN!(O}4q3E<+^qBa-<)pEFECZ}X{;Fv6-+DfBUBd43VZ(Ah zh{dbu%jG(Q-*gBrXz8y7H-%2M5oh4lVE||lIYC&YDoPOHK8ClI6sq-CsG~nDZ4Q77 z7JNPBF`o7Y$7<{ku}90;rgffB|7CxA_gvc$wapPqdg+)OH4~iqt9YQb4GYt5jPcJ= zhtb;_BQ~{iT8h{!+ap<&uOe*ujvb!K*u5|vM{xF3xSmqYXKCh$mbmkz;S$ASdcp<0 z)*kKFZ@t#kkPH^x!1K+Qexh+jD(*nPt*^^+mzykOaIKYH5}55kd4;A?4&s0D`UiIT zqOqx--|ilqnofx>1>n(|mjR4wX6c2sr2$r5&9W!>%!rng0G&y{etrH)$d{Bg^d5~! z^qE>O1&bLS0D2B)?bNwL<-!gXPxkN&qK3?c#Gh%{XC=n26^XdsS~MR>ZCbU`%S0QnX*Iih9ohkVpUX0^(Dve<}6qOobTKFG_5X( zek<30b(#}$!$z*GU*WsoApgoXDG#(lxo{vLU^xFDpV|ChArYXn$$x)(Nm?G>s!Ql! z(-U&rlZO;?C@6Tw;r<2~M4%{S!el{Wkd0J7tY<4?(=l0?WV6z#+ElA$w^G%u0@bT= zZB@Z|^A@Yst(&X2+$y%Js+%jD8L0SAy2p%(P^I51?s<+m1PILSnlyKJdabqEf zsIh9$fJn%<_wk}L2%0L%SR$Zmb4Ek4bd*IH3NX#n1FMD;pTvK7EiuB&H&08q_Ed^O z!7qk6_$5*HXUf{cO{27$zaLxXrBGT#&t(dSn_qa3=_RdxGuaI%M$aY)QZCYck|^O+4>UoB-*761d6F!n2k}3mLNCg)o+)mQ>ea0O{wL{F7GwdpS&Lcp~-26@I=wS5n+yDQy;UsBZocQ*(Zu zdRceo%fcKo+|#2tN%&A!up>#C!Faf`0Q2k)VI*ZIsRZ8|knE>VL$5-<;($XJR~3C3 zJwYVg&n7)!AW|6+G}B3pm?rDdDJlrxYWP%x3l@LxVOXS#0)stJ6g$}dMG1}U)#~#{ zro1CZIn(b(=qne~`DuVwd}8(#Ss5pd^+3C~83jR1dJ$QcQH2v(AKe&7NxEt(_n7z0 zC^(Nmv3>sLgjb!~YejyL2{k5zX>7Q5ssLdsl}^OOD*IF;M3nu09+TWjOa{AQ#SE1W zaS4A-Q!-b-R2C9$*u=CNjD}fymRkyTCSM!I%2}IUz%zu%Q9h$E7X!duHW&HYw0Y8e zR|qM=G{~nPYNb|AG2`bC*7&et?lB*X+y#fkfvFchpiB%a{l)y8Cg2a86CRJJcBY0s z`JZ9F$hvY6{l2`IDVWxM4h1};*dLO>p z!JV-u!8GCZ(boM59s*?g7I^ZZpTVng+LcZ;afucRx(oZ$qprdD?os@#))Fh^?^S^$YiS`9Fb-pxmlj6j%S2AB=^9*MU{ow%xy3J zCVvg;A3X1hcNHA~V0K2_1hgxYGv9wgn;Ze%@$Cxx9A=lt8@`x33%5SOgu9`lTWR9+ z1c_0H3OlmL+}w1SC*SpCak)qxl2hgLmXzcY3e{K;HhOc|ZS|MdL%3|lWeYJQ53E+_@Vt+lfp=xhND*jT4Zqyi{a_dm45h%&Oa;d*49 z9Ep}F8=v`d#L57qXdIrnWoNH+G38%hpcpNTm}PAVUHHCHFp55W9ja&vEigS1GOotf zr!H4mcLR2=hlL(`c`^%T*}BR|jGHC8QbzZMAQTG9UrId%b2*{ayI6mp(E~~QVT&QV zn5)DE_!ZF5TXii_QKOjod>XKZr?#1L8xzzQ{?wRy#Au-GP#HFde;5L$g{dz>m1_B# z>=DZK%1=q+^$82lSj7Ih^yJSSacp*-Zr3@fqFf_UBqYMLRe|-!5X58hgn6$lTw}wX zvR`A*O$m&UzDsF5v>boi6blB^hbN($L99@`y}ahufB#i_P+Z?fTR%31Hoo^2hg1!0T%#vqRUeoJ#C(Mc22`%<^fO=xX=^b&?fSAo8#OI9Jm zgmoTF#MnO}2j;IVPi=+=NP1LgW$|OA!YrRdMOp>ROB~S4i)-vDE@#}Vqye#$OV_6N z@z*A3sn=70>2`ngYFZab-Pxv+Z2kzcggyz32m21bx-i?qs&`5~M7>YUa(H6G9$)Tq z(DZ+Hq6>2FKC;VJM>ZB9_KIu*CZmAHH1rhBRc81w%%}%irP5`iaFa)Cd^zlz5p<^D zFzq!j<^{#$ACvGW3wvy1%1#3ECDa%M_ZBp3Qj?{mFF}8UB1?f?K52*Uh_(=^G=e#m zY`1C{^%bLcY8dxwDK~1`FEkS`G^2iW8gqxKr0+D-o#}~&qT7?}D+q?n=RB2j^|(%+ z?!avYx*Kj~^UdYc&1iCdm(KboGs=`?yxahNjt^?*BKw4yc2wHj0Z-Q~T{D|J>Yb}%{S*u{bi+t{MIHz=FsEjoaO{%$~<3g6iwtBLU39YTTFNNOgl#_iF2R_6^V zAemTrf+gUXsWbOZm*tMe7>LAB>js;(Jr997!RS;ROq;pEh~ttwt@%L{yi;_;Lkivs zpFV$c8<0ob@_r9m3g@S|rw{MhzTmT9Q%193Cn?^(V5A8_vmm<-jd{{d&}HpkS+HqR z_e*9Xds#iW*)5%}+Hm?B!B9QBb>6FGLyAF-ti$m1K*< zy4FUMJY?!+l4!HV%(xG@!Z2hkw}(_G5@LU9Z}@Ya+nC3_G}29BAI_B}#Ss0vY9#!$ zKV9=DYAH$70@Lq>R~IJ=27mv`x|E%H;mrU&-^!W;2#z7U5%`arh+Pk{TNK09NZ+mi zvge7Po2EI@tquqltAFwv!Xq3Q(nn>yBP#5X>4%07N6FC!iqQs5nvgYShueP= zYDSiv@oS19?eY0z&d<0vg}m%ZyQ4DA8Es26Ub(+ZaS~>8a%_aBsY&fnKFm`>bkrB;lZ}OG{Lz@oEG%ZGIBWz18b>g77xM#?Ld1 zDqP}Rq%;YS8qgT2NH3W4tmKO*K&pRbt>H&SugH+&)R?JWuF^>AbVsMF z%Cp-ugQBa-y4bTK99U4y@I^^5Pwi{{Fp8IKEYCR?2bf|QX-5(k?&TMnBRIA5G`@3{ z7UFv^54RPq+@K_Dz8$ejh+F&*&fXz97pQ9z&W&x`wr$(CZS%&-6W!Rjv2B0*iEZ1q zZqo19Ur)N%Klr;R=d87dXYD~%o!YfKdvFZ$_FWjKLz5F-7UrkcN4VpZCcP1;Hr->* z;HFPGsERuN;A%(AywPOGtI)~sCZX*pqaJ6bisJw)*@a{>wEmh3b)~CCmOknLIY7q0 z{pR2&DmJ_4%Q&Is_g@g?#-Dg5)c@pvF}M^Hm-nba4%v~qY+nC7%7@k44drYo$OOEM z_tCcY!rcaPN@4DDb%X@|4oBQbaCw-;*6{-IzoJf5EygZ`u$EiRqm>jB3}4_tc3G_l zdn(tki?m~DgS8K=n1!pDx5Z`md^WY!JvgK?VPOcl{Xe{6Gm6*!y2v0P0+b+sAguov zdak^UoBMy$ooyXIVfEA0AA*cbJ~sVdB1@Na!&LCZ&*8j#aOmO0B3atIaMMLm2 z`mtG3$)nwz3Pd(sdQ+`g_HmmIi?)?T!<_TiwKfXZX4%^g+4i2Ff%Z)fUR@4Jr6#lQ zH}K5Np>yADL1X_;wr=@mcYXYSSLtpAe?Wg9KSkl;j4c^2nnZ@yw+n0;+`vI@_&fAI zC>kwo;UPq(rAdADA_f(AbM7H|+N)ibw)T8`ChwKQhJl{w4mtsFUp^4uCPI7X@*XVN zP@%6Y@Fk<)_(J^)x{s9;g1CDq&tfF$E-w}dZaBaO9wMB(m@?d_P>t4q|LAU8`=$47 zY8mcsEv;3jRj{vLaCHq5RP0c*MNZycA+%%%JC}F!Dx)Dv_;vkDoH)?L%5k=Fz8nit zq$a4l#06FH%waSB=o-NbJ3s#-M{V>tB2M2+`Zu8$HeQ5(CQ10fAwRG3yCN(HtA26#>j)t;RgK zx$8%Y4i<|Xx83o8E_bnDJ+e=&Hh{pvJOYuaYuhui>?JVuNQ4;VFwx^4#9$Z26G#b0 z3Z*>D!c3G=5GdsF0FRRS=c~$++N_rJ40k#M)t5Ig6D(Y^DvUCJPlSVo%@xe})0n^0 zF0@B|pxeC1Ol7ELLNC!DQhhLZHDM*U#7=CqbIr4UD~eG>21RM2A;PX;ui>sBKSb`> zM~VAK9!244Xj56%P?=+5v~}v}w#4JwoBwfPj;In{Gfa_m85g%(^j9Qa44ONVj@uoj zUovfqVBoz_R-z_|DUTd>jjNm>jokCl$6vH{s1yn(;aA&qb`+c;v?Q3={yuP`myE zp1ady>g#&8cg^C34GSep_x=BCKOLXj3G-;^phPvbfxc>gm~z2tY0>r|Q`@i09`VV# zA~Zkfj;ZcWF6687xOC+~k7y9`^p)WVS%lzd%7XAE$g4#ZaW1T`mmTS0BG%M0+hH{m z0)dcq|CO?MHV1AfAEJ2_h+8i`=LT8#=disT+B#Z^Dlp!gKVJjRt&XN z`)pByhl~GzaEL=f#thSQ&Y-gV>3ZeOKRJ`B9wU4s^RE}}NVira$HIj)pOld8?maw+ z=^yAY$q-EOXWk%4jR^q+1Y}vlpw@gNrI8-|q$id-Co5rHT>(1Y=tOgO8SzL5VquwP zAR%tktBYv-;@TOq!`4X=3CI(p2nDu%OyttvpgGi7A`IZ3q5Z(~L2aJfl{#9`bKk9q zD5&mm@(rriI9NII$5@R@E3UBffR~EVt%@dpmB48JUPFJsIO+u)j7%=j^lgJ9t90Kk z%;(&!;k=+3nFG#0m)YUSM`IWQNvmNd+NmLeK>;rtwkKTly)|CzZWeSlk1!}IMns3U zL^AP!fBnwvO^aZ6zze5zA+9=+L#RTH>SU|RTcfy#Q&bw@%B(u3(OrAE3-O}J#-9Rz zx4U`|_VtH=0NNu$3O%#AlC3NK-V7%;Fv;@UVfl`2X7LHJ4s&Z#-BeN{&gkq->C3fV z*6}&>+5q*RZB^8Fdc4v8YOMW0`EMIJe-JH*62sQ7HuU7_hk(zeX9uo&j4Bw_B{gv zFjPsbO^c4~RAN&EYB2>pGXrtpo`1v}uD+P(U}&KL5czo?(qeC=EJC(h+R#Z1T&`u>AtjDIg5Qf>S>36XVjs8 z%88mgE%Ci8ai>hGKV2PgS}d-d-GJY=+|*|}(VVo`V?mw}&)?+`R?MV{*%n718~XVv zE8KL@KKEqKLw{OwOFhEBQIO+;(*0lIrAHQ>5s3c92Su#GS>Zb`!yma!!l+#VR3^-G zb@37WYtAZm6icHbCU+H>bX;103h~iJH+r^F(qisRNpF{`WK6Wu58t5^X(>OrXv;62 z{DAMEAff~CHduE>G2)}PlL|~3a?!kn_GK)Xv0LtWOHYXQYX(BR05U;x4N7CH0Mv23 zYbr=x?gbR+_qPLSkFDa4E6>lPMFZsyhr2mvEmnKJuiW09f(pjQ@z}$E84JWTvUf>A zN2$lZj>p=Au}_Mp_mVgx5DYax7OF&@>V{;vv3us}Y*Po0bs2y9s&sW}^>pc0S%EUs zrF8+jnnnqx#VP`DG6>djxJjcvljFD?4{w}`KpS^56JOp)n`QNd|q>(We9t zl{&d^>9Q88lLr^~_+f#6jQurwE$}J=hwmn*ISm&pE2>bB#{o=&UVFZ79!g&-RHQt)E^SJp0Li7i5z>eT zEiBj(gUfWL&wKEHg|lCIQKRin%%G4?`2IFBY>{^N?+B|y(eS^2jwgU_hW|PI19|($ z{<7&pK*U#M?Xzx4rv1fBjXc|_A>D5$PBjl$q>*@mi&0F#~jgxdW z)DZX-H1TYI&|J&YR(gMglQSTen%WS5-2`l&=U)JW-P?DbCSpRI zD2#)Cw#WqQv`JMgXogcmxFv(?G3UgvY07jCR&Wt1I;`}NoaR$YXP7cz8v|XQtd%Lg zna@{N@f?{HR?cEXTe08Rj=a-=E&4uLnh1giJFlX$*wn|3F}nDBgHdyzr_ieU)j(7= z_)Q9b_h%6ZiJe!vE_tUp1Fiiw)$Kzq2_;4F^Y)#ELZe9^>{OZUlI{-6PHgZxQdz@4!qN% zxBQ4|Fg;;NuO!AgT&Ws{gZA(D-a_9C!O3HPN~8_Ub(U+@L`1XA+A)l2u&YUSGA3H& zlNtQ61>|=m3SYd~`;&kAmhoe7XKLc`@29EzG2^`nEdK__tZCN5Do_t7XagLyXYV&d zvfoz`?SYD06BvUD+t3e{P;D$b`g4&O2~W@1%UC`&ujSSu2!5o3ML- z(wC+$YD3GhK!hG|0;oH)tza&fKU>`5Y|a@chl;eL2F<9ibGloTK0!nd!zi7>y5;YW!vs_M(o>n3l91^>?hX^)*=1iX+9o& z@8Cn-wub>Y?Ri-ky=*GOY}R~_O@G6GoPPQLItH}nT9QcX0HI^HQHBjz;d@1+SXWKSd4ul+D`bv^{ZZTs(A)Z5ZKt zQ(WLLWgov;BGS7(hi*Kua32w*g54@sH7wiJYrVH4rk(Y830xX= z>Ka+G?jGWk;MylzZt;9}WB2pjh^%1WbZbZg zXN3AeM7Yahl@yYh?48kAE)zd2H`KLP%w8CW-;+^viJ1R#kmXmSfb7X{Qy@t6FDOm} zC82uM&q*jsA-VWmG9fe+9SOj@N5KUgc_(}7#3bw?Cr#K0FSsy&(>I1yqifa`T;0FT zz=|z}ouj02i8qR=J%^yDPI$uUgIn+4YPXDLN&CpUv8+m|@+~7{B+~o<4hk06SCYOX zo-FjDuOerbcpF{Rrw1EIGbQgwGiW~w7YI}K7>iDIFFH?=h2b=m2M*9yR1n!4jQG0%|$67uc-nsK%0W;r32dII=TY(|@2d8fofg(KK zp$~U-;p>F)KuY;iFjzA~#!|04=d+`KtMekf!_ZTdcmyYZ`^=%w-g9oiT?SacD=wasI7Dd}of5&2ppyQ6n@%_0$kL-zo8Pp@>*J z2fIi-`YF?YvyrQKKT!Ys@9fxD7=$Yf2naj|2#DnW(-hnPxAEW48(jT!mjPwl#Ghk~IjrOPYXX-4ao2 zKuG~8Y;Q|1(Q{4EhgBa^O&?zq37%(qgpxw<)K-pvpW$oHF3;;!Nl>3NWdHS>6bR3l z#-7@~R9^o=6o%bgp=AC_83(+ziJIMm!M*e6iTxl9FpAS%8-;;a zVv3D_=w|H7k)O2~*c>r!pvTv>WkIRbdN%WCIo}2-U|IPuI1I-He$w8WMVEmsFY4U0 zy;Dl0x4+Q+-XW`I#9gW_F4VV=--!erTpe8$gBous_arKLuF$n?ov@g7F&b_PPUCh4 zvkny9EFvV6*7C2o@wR*NlC4Aus_zYfrfOS%);t*Kdqfei*fE%AwaGUbpqj!m&7u|D zzjc+U&Mako(!v94%y>f6t~0`rp=7r{Y%|0xRo(Mstw1fX*tICLd`=FL3d*HG>BtHK ziwQfGhi<(|G#}X$M{CLACQk8N6+0a|#RzUOEeyq?7)(3%PxW8h;4NhjB|%#Vf0yll ziWI(Q+O)!8s-=iXk7TKuS!McVo8n?eE|f`)>V5}M2r$;3T<{EGna(8t>f%h zG7VZyGla)$Z9=FaG}$(EL}Qe}g`XBsj@7!O8EiSG)MU zk)Aw|iTNT^s-5AfdXjd9KX*AvICX50b1~bnH<~U9Q-`s3FA(Sxa@etL>ntd$BW7Q6;Q-O3V_|a$g?eIY$xSTX+*{Yp}D~}{_fvOfw4t7un8aHx) z6Eos5%yx;cJ3jU;JP;S&;xa=2y^4zrs6s^5-Y2&cenVZV5+iyPv~Dfmfe=n;)LBb?5_oAm{*i#lJ4ML#C@$dPXaP+^-$1LW zs)O!|0C=C=NY_1~q!_1NT@l=prHD)8r=OwE6!`4tT~x?x)f#o_4!SO!R6TcttwFhHCCdXoL?-gE%~bVHcTx! zdHf!~@CU5W{WV8U@4|$CEndtOGLXhrOfuu)W;&~VGSMq!UAq|l4M$XX6uh|r@OmIX z^Q2y4DVf~39{()k+q82+g?$%)A!3}|FUn7#&5Wo$f@MVT~% z3*T#+QW_o zYGpF`#K;riChz?R<(fNuNHtrFrgP=-nVfX|u#R=`Bk4(`cek5w@r*@EPv}$sA`^Ts zQK1h#AuI%{^<0cj2x-(EWm^Zr85zNSuCd$SW2?R!*mdE5ElzVP;KAhei|>FLXb#4o z;laa{&9Q?tsb^s-Zz?3qqdu};$u>?GCe_eEJph41LV1z>+{9^#hT^hn3JwMV6?IcY z>S53)P;eo?Twq1nF;{X!Spgj$R)1rQgbP#_F!RLcU9@iD{29ds z^VkSohY7Sp7LT~0Q{6F)fHD3Hf-`#*t9_L3xuUm6fY+Ey z544#BeAn$|t~-TSc!f92nMZP0k6=_l*TL|O?_5~S)8BrB0K8q1-#heaMtxs^Uh> zW@pIs_ix6ZG~sSZEI15wx;b=zC6T(jj!6gD6WX_bUp7Z*jX#TYl1!&8zM^)d`d%o# zha6PQU7W8HDG4Orm>9W0<;63;IEgMrv-?`L_LgExcn@>kQLXW7|JZ#5kzE@0UiBaR z8*TuPe+%JA^#>evWgQ-H6hGFK6XK@xx9EE%(a_4F{}uL7t)$U-kH{|ejZiEEMdDFq zx42S&Eg+;fX@CX0=&7pqo94Y(F7CS^2%r97wA*-x`vnHK{`lfoQc8g<%E+@RzSGRW zj9Fa|s`||SfJ*bc`#jH6JSn}F)jXcMKG9Af_Hr@5KT4Br9?Bu3(qUvj4{}SO7kJvmc!Ew z;bSgJ0DQ@?I&|n37&$k{(t?p-DqvN_$se!a9b)9CR0yVohJ6YXC$|P5dOWtRcCQC4E7U;eg)`mF=+~;#YMIM>B)AcrGO3+N9cI6Wcd%qT9|x) z+zP@GN(MpShrxDxc3TMR`hd{ldHN@-x8{m31(hz18hz+t4+<-OCw#@yopj`rHnzX>F}b*VPO zV?OYA+5AsB2WH%8LT`TcWR1xX?k}K!Pgr2R_W|h$AKqu&s_K({{_}hk94%(vIhRzx zyCoU?T7lp)DU_7#mLysgC1!t~1T@q2mZd`Q?j-z z%h3*goB<(~QN4dSK`y&N6wdvDq~0lHZ+sy?|3`+uoFXi}&3{lGDk=yF`~N@B-Tw?? z`fqIazv7rQ?cD#%aHnX=>P3jf3ZL1(hlV^B%FHjiG_0D8Eo&-07p)Br$CV6&lQC7y zhL)#VU8t#Nx4eQ`h3U`kP=nilOhF9MQq#JyBB=S};ZgHl@$)g+qTd47uq*gFL(YOG zw_43+wHxqqnA6kOGs_cn|Lg{WduIh^0V{Wq`L{e(_C+T^)4hM<*z1_}e0hFGTgmH^ z!y(h1(W&H-2h1_NL$AwI$FJIYLiRTH<>^{>_;EVW+Zg*U>u#W~zO%W1#eVQY$($fp z?-^KX?@FDibR$FU?I>NE{O$ppx}1#PTvDxH+hOSjLTQPU;ZO)FGGQH^=+BDbFj=hH zoIX{IvDI<(E6Y`5)g2p}23)8|jYZ9dG?o^^i8X&r_g!A|Z)Inx-JogYkQ1V@ASonf zMmu~uU07)hHFl_GEnfqFQ(eyv39eRFJFJ!)o6U4B{aPMwy@a;?9xj^P@WV1&c+LDjxC!@ zGPrRXeTyY)#k8g^`99Fsf1n={jo?f@gUv)k92Ilk{0c=RT3F+mAo(9J>V`{tbljO| zt4(C^O6i_W5l6Lu1XpG|L>uj!xVltkMi%LM>eO*I!V@ih9uCU&=Rvf|K-b!q{efq6 z1z#rN*c-|aX2k#>`rz{7kS)+GJDQJz@E0DkL*`$S$(ZZr`As*q1Zi#4W+f9F8oZLG zWhc^Kk`rs0W3M+vtugh>ks{;>SF8BevE_yfUx&nVGCwxf@CPH~O{X2TIBM$o@Wag>cyYi$EQa zU=4xL)96OWyyjhdQ{fM7_4oz;o@QRFGty7_tMvG@S($;$GnmhU=&oWI99%n_=}!QA zDJD^HP+N3=-2vhFTTL5FrJJ0w-f(g-jWp4yjCN|4v;tUt(nd!p1 zrEPD#6SlXu>_v7;Ci6yWqH4aLz%laR5*M&do*w`#M=o3TFBIG5ybm*Of2t68YmL6$ zgQ-Mz;As4(tF3jcUqW{;PF6N4d-)Rp5O=!4$Ftud*OrTZ?Eh^BEHPj*VTik32K6M)N z1oIbY16`)#T5iMYg_rm zf95Tr7ei1C1R?Nlx?c)(b=s2BIXeXGtVHd9D^h%%qRMitQiRfQ#z)aElasc#w=ALByl2`aNC{}|>tPZpiRdNGZ0@;y}aVMGFxO~dnb<+%wD8EZXVLWa2xTOdp@vC++wYVQ;tqhN+ zs&ake*tobKb*&uTPwaBvd98YPGTU6g!p(jk(o1EDg(P|PBDr=?#&L4KOS+JMMN^X0 zQZy*SXed=aqi=*8N`F|AoFt#26du5v>b<#aa`(PL&N|?;s1IY|^}G>g>N#N{lChMQ zh#K)m6Od}jzl-tW#z0q&h##qfXYTpPZ-XuwlO%VE|yXhcwI#3RuDM&!WbszUC6RL90!_P1AsbBXDMWYL)9(i7mU;%GNeQEM@+x)|hK z4&~Ee+SS~gD>L&zCHd$?6(V!@f5IM}m3coO8fi)2D@q5&U{r;RQFlnxRV%2MXBgnF z@jhR^y=&bA%Neu@oK?H_&V_z5{_a=2W|JUVf{2OKS^m znumqs-2>yjm(Qr$#ABmt-H~cfeiX;>ieP14iVVQ5vV^CQX@|gnP11zNO~BwP@jmP0 zZhOEHnHiuO(i6J7oS~5pne+CNZ)|k=;{67|n#{I==DV{;LciPIZ2j<%4v^@h`W{kW zkZijXr0$qD{{0TnEO@8Pmcjtm-Pu`|&IYIF<3e2AleVNIjknQY^*>7Ncqj526@MER zcfz!J-Qndu1c1(eowPUyEr|7mgqYU-s|S%*MI@Ht`Au#C#wx4VS5h0QvLaz0?aiRyG-u$l+qBV-VYgq5VK~ zAk=fn(Xi!zEf1!^qd!+@Hvo1VHZAJm^Szk&w3KW|)bcuw;kb8ma^9umv)!I(35I82a7)kiKUBW%f1|4z&eXDO3*(4fTR zvA7I8P{dfpF~&%sjVrTf-VMdUqY*-&8H&!7&YjGE4R0vB4-HeKW)Et}gjh+E zCS@^b9a9;@c&9B~u7;g7#~IVY4jZ7~YjiGRFt+CUb?>aeaLcVC*_=ZHD`wH@7w7h;=f zyNot=6gy2H4Uq!xz$8r`&fK_K6a}z8I1wSuz!&e_$e?wpzKC2SD``3(?Upm@E+oq` zGwdA>lOa8JQvzlJeJRMNuYm`Mta@$$;#DSpHE<`y($X5PMzU;EHay924-IF+CbNWV z;5c*UQ{J|)qa!VcC+~afRFh;anXnlR%d2tAnN#Pfp;W~$i4VFU_7Rt6XZ&?WHB2u`jG{PGT?tEtnmDmhFRyI}b!i{&Iz@7S zq!DQ+iqJAncoENE`~1kfI}92gt}V`8@)MhdmIM(OhO)8gTXnPF$4Ppc;D2l_!N~)SVMh zzy4QhRR~&z!8nZj;?A8F%f*QFcz%q3iQxq&baN1W>6{oHgTXl9>uH}}{O*57avkU- zp0xpl5CEU@`p}VuPNl3wuS8LlJ7)=3Gd81c;O-uY|J%}N8agN`{^niO>8Gqh6p_&$ z`)7AZqiAv@Pu^ZMS5zI``z-@A!b7WP@OXiOr&rc>NxTpWnNew!Y#sqL1pzjH+XX^N zVf1Qdhjy)J5yBi7qjp%M+7^R|d4H?Wj6(p0*rjyhW)<4fV6qj1Acmc?mJ0oaD8Ch( z=+dKTP$5JrbOLi)zt_J9zSfA zV(q7bj7Q|Z#a#f42HpEab%5ZIEnO>}KNwPzxM!<((l2K>?irGNRBNpQ?qThpT!lxEQU&l?uUu=$=*~k|RTPH1Gn}!arfq@XCzZRBlLx zQsOWsULwhCU}W8-Gir^0i8SxLr4fnhS^s>*4PGvMJVUc+Ac4w7`E2*q_no|Ekd_94 ziMBh;Q}W;g5;3j`QnKlLRz~sg6IKX$YBpujxV{cXBfKQ-M|ofBjpbEpNXwmIajnpU zivFF7l;mK&9H*&Tl^x`;~L5t=1M;m%zTw6z=mIJ(&0cR5lP7`pJi5C)xMgP{#{h}AXyHCKG z(Y8#rl`2LS1F0yD)<>1|?L*UT{~;CrdM60hEWgMFcyb_7UrP8kV7$N*j2Bqy?bqP{ zu-gA+X!B2F-|3BiudJ2%2|F_RF2v=ZYc(T-Bwv%x4%Ay&G!n*lcn}&u(VYZ}_LiqC zx%bhA33-)|=k*hL)uOMG9=S~f)*Eqdro`At4bT==9BoDxqCgD=PJPSd3*p@3&D-3mN+47aKBEWdk<;bp9DHI(6 z^CW3Heds2bF0e;I9lLT2wbBZJW+jQ&!ya3c#XOL}om*`kwgj#8_7I`$Fjy?wOYCtz za%ZrNY^8O7ffus4rvhdub zIb+1$<&Sg7r=aQ{v1TlZdhGE$E}2aE+HQ~{g?BN3tk0WVDhscGcHsx_Z_{1egaIL; zS$mE2Nu5R|c3&JjqwF3ZYbk-6^gKDZoXDLpIp+hIN#E4>9E_N|F>69k9d9HtP&7nc zt=tefD{aOPH7=zm$0U@0GDZ{HO*{<@&J z-;Qa2E-nEu7Fb*@N;gxk#N<5bH9(kHhZm+cPxO-TA=(&66fw2_+jI8~N#X2Np2r;z zs$dMkFx0iO`Ua;WrYr_C6~)>mGN6=T#+)sVIY&)iq3cv1>|;7vE{Tir+Jl4Fpsg&l z#XCNcD%$5J62j`=8Q0yqG}uxvvJTDB@O%Y-p-#}8)E1wo#F^X^Zt}CmSXNPA4ahV= zk=1lS52K|sye#p3haT2<6f194u1+3{r<0Y|w1`<~@Mbko!SSvTN$f3r&!werhvLem z$K#;wR3#RaS}=k8aa|{aEt9lRW%wDBBDi|SL#Xworh|f9z9Lty*juVHc#7P@PnN?zQyOpotw)SfVSy8kxeaqm@T6y2lP zgk@*Wt>(+~DtQ& z;*!h=l;^t_zWQeH@52YynHk%tX*U$CN(z-B%vh>GmCWBKS;?4}ByEG_^x$8jH3>9$n~RADDg7Cy%5l}VpJP!W z*da~nX}VItmd?iMDb$W%?c-lTu7jP8mWIyRGI~+?6K)??2c{K2XWB&AN~culFNsbS!^KYUu~gD z7O00^ESDJmFw@7OAyIxc~$% zv|T3b=%bBr0OkG@1TmOwg9#zvzI!ZCU4D3dD=S>49onh@(uy>HV%)kPo&Di#c`Jx) zwjD#nH>_l(emF*1I-xNJ)Ku`gAa_GYucb?-ZFoPzF?!OVlS0w!GOe9Y>^}ucIipI0 z8w-XLRk*Gdsf0&wo-HXIpT)3U@rth!s<*n$;i7((sjv&P;bHRR-jSea4V)hqC-El- zeY<>IJUQJFc+cK{x>US~mkcSdyebCu7jPhB(rw9$=_~JwkW|{$$X0<~JX4)1REi`0 zdi2#l?M6!^Mrg}sVrA8g!A7uhXv>rvu=K6~Z8>OP`dLAJS?fZo;t{V&ur+jc1~(#G zpEWuJ%5@Q<$tk#i9XYOEH1<(uh&DX@QJ~p^kB2vj&#PeA0Ju9mVB-?@^aThWG^{T3?9fB z3K{frbRjx_|72$_mJo0Tt}xXn2Z7njtbZ62ye?QrV56LR*JBs{dAm*r@{d40ZFg_e z6qA?a&G@D1wf-(s^A1EpXw${1!C$z331a6WNXR%kY*H4oFagr9M2%4kgK$jONaNPj*0o@`YG2W})rC07B##PU7fk z9(w9W@%bDDR*#V77a+8ypLm`U+h8xSa^A3;){l^7`YN@wn#o+QWB% zHBVT7TarWvp1dJ^?yUU3?MKzI0wVLw^>90uWtHx84?$x~47SoGlJ68g7|UEJZ^~Tb z%70b=b!g5$^-&o=>W$MAOe1PsZG4KM8DR)7c>=lKw`ZlOSP&kp382p`F8MpSXMR;s zW+PO#>+L(V5}xOxs&OkjOIko;#-w=BkBp{&$HuqErZP{0jlvsZL&=$G?C<=^3(mGB zg$?5&Wuy7+iuT&x6v31XREZT99+HJXay*8ryVbA$5wxuX<7EZ_(;pg@L`Lhoi(*r4 z3tAeBh_%wbK0_TBfAb@-(-EX>OfQ1d&SF{H0L{Bp@oiU3j4UI~GB0(UDZD$D3H?id zJQ~Ekcd8Cw_nuD)$Zailk6o|g4%_h=`q)p)3`ixTX5SgGURjuf!lj7z<|*UnEpx)5 zp4T5c9{nf-%|Hx3QkC1)+L%o`zY_XD74g-*Wt1qTq&pQLZVrx(xz z)7)M?r)V(FFn;4{?Ddj_8^KVwniU>@)2s)Zij3?sgJh+h67M*SD*JqtT=~cXjtS!k%1Fy=Dyr3mm~%rt3~jw7R||F-h>><|J*W1VzCFL%v?2-isRoU^l3D2~DEe z#mO&TRY`%yX~kX{X19NosC0N}aCgG^dqi++?nDz1aA@4bYu{kp1K@)SHBw^l!LL&&0KCXHD^fR zY42_e=esJ7cz1gg^eg^2RM}U#y8YIT-!jd-&M?mGvi?$px4JxYugw_SRI;i?NgxnD zC(K%~%~TYzX;HV!`ur1V^XrZo>WU1WH^CM8X3yARfA9wz>g6yal8SqOI&YY_nYCDO z#NQHY$Og|X4;>Z0BhDL_YhUMtZ}vV9N_#=XKW4uhfr+KP+3l9ZF@Q*DPe^Dm0Vl<1 zfas3)8}J{3WeBu-qj|rFgt%jaJRM@k>??-xPA=VN$covWH|-XqyJM^Y-qHYs7BsvQ ze!T~D!UdH<-61JYRmm9%5rrF4JudLgmen`YWMhU!ln0dP8^WXF=aK@@Y(LnT~xiz z^FrO?k`Lm6*t59q8;!F8r{Cy$kH5Sa^OZN^*<)45fiAiJSf5^hTk6S6j-Mz(jBt&2 z_W1<%Uzf#6XoRDTjtSV@@%cmpiUv8j$-QD?)cwbrm z9jwqsJGKoS2f0DGNxn%*v_tGN!5G<(6}H&{nAZ-z0gChwdpX#9$~A$Vg%@#la0ggf zW>gSBCDc{OjQ;3<82;>?byzw;8=7*o|3YGMyMtYxdPM|Pry>Yj%-gBWpmc3jKX8nul*eT&O+%0iAYfYI*6 z9>eZ|=HyIXl&Mbfah;FDy>cMWQXSLVYyQ|qSlgr`37taCT>|Z-VT@rBv;;zw90G7w zY22E+t>~nGx2}($byk0DRepEz`q4l9^wzv~OM(LNSZiZC?iJU4Gm|a5W93B>J9$9hU?*RKXn=?WmzW9*}W{`6y70&S%Y^XBxXRtNtRvix!Cu zXH?d7uLsMjm>(*%*ztyyD+M`C&NN-9Pg_L7o;|vVpC$Wf4LMx~@nr?WP`un6#i;^e zAVGKLt2=(=g`u{;{DfR{=yxpF>Bb&ZpLOFb^OwpsH@nlq4`lGVutP-ap zj2GLWZYBTM*9_9Yk-jv{g@glJrE{=7q!n9hA$1hNJ~o@SaIc-;ri>^P_Afu(^Q=;)@lc>*rh0oDubuVr_Q z{WLX=_G5JnM;?ul7G?vDwS{~)i3j6<@cYDCVoFAq?^3!btUA27_#TqO*(W$h3r|B9 zd!(<03dT?7?$FRFJ$Lk~BO*wzD#T7kVQ(RWDUN;W$!8)ykzF|2BSPaR4tT3Mp}CD5 z6dZymH?Gwx83OGRz2Lte3x|Ru$*aK)TiC^QLN^up#>iM@B>Im#OIX!L_W`qi-@@Wg zb{}!TNCo|=z{y#pjK(iS%(4j+-&6m~pZ{ZBYjYrhvYir|2ztcsxr1DnzPK~ywPVwE(pw!d zr78P;RkYBAw`FIEhAzcNiJPT=@66|v&+OGJQGOq&HqZ_f#Bg9Td=G)_}u5n`ooAK~J!?X0K%9>b;N_)WwvIoHLv* zgbJQ4Q&dmr_Re>Eim>>PsBUO&5fK=C(>4rW$+oFl1__1B^rg(S{r;)NzkkqklcIe%D%gnnO^2Isq>Zqc^4(Vms53Ab%``lSFP~ zNhSNfj#_%KmG9lA8#AAO{QWgR%wzQXGt0s7#fi%AJ$95DLys-@lP}?K9jX1PvMBbb z-@cxWgrSCm7YP*|ClYS2LQPZdoj?mOQN1F!?9vV_vu&++$=|zp1A=zbF2qbu_q@3)z_eZDn;GC-isTFirTi( zI3Q&pz}JiA<6&Ip{f$~yS$;Mtu*{|{7+T_YEC19Cia-%_2+oJXJS@EG2eKv2LbgqN zjktAE1`>tgd{zNR-e*+rB3y77Ew;+YWz=L?y|yG=d(n4-8HyY%h7_cZxJGj<{&v>> z%`!3C4@5^~D)K{rgre&ypI4FC zf{;AqUoP+eg!aET|H7x($PG9Mh!i{s2>1Vm16$O|$^O58z1RQU`#qX=YIqvhfrv8N z&~OZ^l*SAt4CMQ$vh%Pa?8YkAAPx)a)osbrka&BMFdecs8FV{8I`6pc}v8 zk%nKNEv}n?i`*f^G@$NWx8hEEVzVQF!HKPz={&-biR}wh=K4{Lkjcf2E3cJddrcuH zv!U5E8vY>DiFRZCeHpb*6YUajI@Ye$5KuP7&y>sNHb|wqbFTU5r<)1nTG-UHq4Bk7 ztXTK69I%rZseAo{eq{(R&_xjiHOF$ z#`Z1u&a$wQ>F9S*=(nX;Wv4SnsKOqwOEFxZc5C-hK<}P$el9E`mUK}Y$N=cIPb1q} zDzdnLAI|X?xMT7!_*^8K9HxZ0M0_uvLm8d60M33vphW0R+XYCnj5=SN>eVehp<>WS zQI`(qWn11!6s{u<<9umM6JpSLX-w@C?(d}nERhRr5~eX6GF$^D8GXe@vfF3pbkGeN zM<$0Qjf#>H>6J57rW@rm)kH^7cS;po6r@6bO^6q;X-Is32rzC*Wo#}b=gqO5Xrvl* z`YVOM3B|4+*Z?a))W67@tTJc4<2`%V?Crdb2B2tH8U~yX&ph+jFh9$2pc3;NgWIr0!{Y|AVu4?9K(+ zl7*A(f7rHdTRS_pZQHhO+qUiGiEZ22v7Ox0=XSrNPxqI5-Z9pfwSGX&s+x1I>U`bJ zdEE5kzGK}beKnzwIVkP`MQFy$Vj4nBwoJqi-2orLL|vpl11~d5s8PB>W3yeQjY-Bz z>FhDrG@-A}OgyUH88v$|mWR zf7Y9gFBcNlLJB+h$lYx%2cy}9VRa; zh4>N*s7JnrbPEmIryq$O$d!tc@q{S(V%+X0StG6x)I&24v+<_<3LWy0)eU(>!k4&0 zTo@Y*C*l=F_od<+7)=g{cO4T&YbR$z^%zWeU-EY zw@ZL2Zy&E}PZ7#2(=tG4MxHWUaHy6Rd$a_@i|8CoF?$%t^~w<77s)5E9(=JDHqOQ< z)YQc47pHoy7;Kj1QY<`C{FoBu0ks15&+E_>=?UY;cVU{|pSZw_ zdp97_*HN8M6;Ir8QJL5;ttGOo$`*kO&E6D%e=U3+&C;f0+w0%@tG{ zo1w|{1`@EKg85SBi$1#-effQ5-n4vnqN#3S-rxLv9ClqVIZoF;YByURht&Qpn9A`a z@rw#|#0YQD+SsV=V5(t;d?}tomrFcP6ZN^x@Z?7G%PCMoH_XT>(>V|^@hywrYYB{A z(vz2LpxSJvOU>-iQ`Fn8fATlWG$fvn0wy}ba^zK$8@%!g`2vfKaEoA;*Xx4y6!;Z! zL(Ww)amCTo5y83W^4v{f7ct3nlP%D>t%Pk`+-a7R~Cyf^!eB+-Q|VQD#1=<|KJiW9^Q$2 zPRZcuM0Z-4if?#}14JzrZOC&z#s|XKtVL}?)y&kXodxS#^{WCs;Ru>L@VopW<41Da zQ&bUA)A?L`R}zXN!M()|d#6QNxmhm1feOS7}C3|_@0jK`@(1;Sy~TTz*u8;uv7P=+ z+4c+dIh$anv7PNnw|tzjWoX_y0FK*ef&JU=9J*q`3Zww6L)Xf)Q7Ew81$*RKXx`i2 z95dBIe>+9JWVgD6{DzYRgA~SpkjNBAktgFr6D58cTV6S|kjHYp32x!KPt_?q6pPWP zDCSx{Y?K)k(z=FyZ(JYh!?P}CpYEyCN@q!iY_TUaxLtq+GP1R$#rBr6m^{Z0&ml^8 zZMRNrB*B3gwC=J!xLHMG#B9@7W!$sk&~}C~f1*0ixYXj%Bs=J~3B%ppL7oT{ z6Pt`SV@kxw1&KNQT558Yb@yK}C`X8;N9x5@vT+wgi-uEC`8mZ1aB--Q>GS&xYIR4< ze^k43(ks%MP!aQ-s_tm#7xGt4XFYa;=zvnB1_Gb}t|T36bB&}Oqv+P`o+KXYHO>6I zMRlnV{LR`?mLXJ0?<)*TNaJbjr#;A|kC^fl@l_En9=;*CRHSBtCdAW8F=n1mYH4Lo z#1h>yXQU_41?&v=`&Z*f#G<)yw-V!nf24Cc8OlT||K(J5Y9!{rG9DRZH%PWL#~$4V zjM!|*uF$NB(BISV=8gcwf7)cSU@-eK$LM!Z)65D?7J$L%lR_V+dU}gD_PWE+^eEh0Zd+O|x6};>GRXKaC!cbT}F&w*4 z2AQk+HdfKa(4^BO6+15B_GWe4e;p&Z{<@WhI5vQlr^T(j7{_MKKK}Kqyy>f%uOmA2 z8OEG;hu`0nYnj(SHQFw=%qF9bHW+H^@W&(Ao1eG10ulylpZK*tT~EsXcWR>~y$IWc zx>qVmIP~R^BXSeSM?Ew|eJIUs(5@Jf~Iw`_|%~pL0V|d;nMyovd9XwfDm|mkE__7mD2y}3|S6Clk@GHR< z2h$h&C$1L;SDSpH{-n&-f9RnvTQNdI#3tWXZY|~e29WEE5t_$Z+m6Zsci2qXM}zzz z?~q_RsD0<={-42_x=|4NI+{~3iHubd8LAFNCf!vj%4Y?fR^<1sgQe}C*kZl$xw`Ce zW;GFwUz=w$uBe3(_jaN{bmf0&EH&)y2IyH2NIoq`bz6y?>qEDNe@dU%VK4V*1n)nr z3=a;l$X;V&co@=#S#tirGtdN%u-~?IQP?AyMKC;)K7iUDVsXH}g?yTIi~dl(tMCgx zouWf+gGa{!>T|$-xP{M+q-)Aj#iO@dij!8|jE~5R;84Do;Rl=-3`e`Hel^VxPwYeC zXtFP~=+|p9u629(f9&f$#O<&XA=_@XqW1(GE%x}R6EpQuBye{;(NNjzy^VR@{wq*# z&p?Z}uU>8Xl_4Yl`QC3G_DQ_gG=w6(NpWDNC&m~w#1NC{U})zDiZY2O0%1O4^TWCz zc;SjCP9x%h1*&ny#la@=eKg#O#`;9FZ(u)CUzc@VoWpZDe`EE1SvON_tl1BihBT^s z=hULbSD0@}VZP{=3)fEC{s;E74t5w|N;gI&>Tt6Y zE{WLP5bhw=A5oWeX{H$`8?7dKAsaK|?-`G5>hEun&plpl6K-^N^2(Yx;*Gq4o!zU) zcZAQyTqNbaf4*CSw9}t|onUMY$(0WR0|GLK|M$WyBy63T*#F7H{=2LlPW||gM9k4X z3=o_H>d3&MNJWD5;8E&>DEVr6n*qog4Wl9-x^ZyyB%RLn{O7Mvn0K+qRqjRL(&sxZ zzcatZy!WWZb1n`T(589mGNX(DzAdk7zEkfRu9uzPf8XEdYCuM>P0J;#kkahA0fM>1+%rWwPZGE}n+v{_to`96bTJ!0 z1`L)Kvn`jy#?#?e=#k9=iv+dlEr*LDMcT46Q|y}Bch!Zdj*g-Zqm7ks#?))uj<(~p zSR2-!f4=l|!-R6S={t!@2$=~6D;o^Tm)T}qt?VW;Jgyyz%-hDiD1R{Vpoytn|Dc^A zJcs0z6QisFaLuf5F3m?MRiy(~)V)i8dCgVm*G2lAA-AttgPZ5EoF4Npi&J7Ow}TzX zI7RFMb)r3%bB5~%D9O|o$y3^tUL^R?*tw%he^RpJ%-Yk2DR&10j%3E&F650~p<^L0 zeYk6o9uG~xMwM|#p#o+y7t|fKsku#30J#j1xZx#-6=f$><-pmBh)PIeg86L;9{2N& zYB^p9~NN1Gx7SmW{ zh4U(X5}0Y@(tYQhv5)7GkyO$!!F*+v10CgU$w%ZJl?T|m6m4`}dyufK$0RklBd}up zH1Y1w`-Kc0Gd@NEv5?mjsJ4{pN=$Jae_*np6auYmc_MA%lrZI};H$B_Y1_cZh;m}~ zC>CJctH*Q!KAY4_Q76Q1?sC?p?5KXcRP}d)aif+5pAcn6yh0XPuJ=R5EGFwG+9l2U zo!m_)%mx4~K+CJ2AL9|72B>p)z};z{(fG8cG5S(Z3?-Csai*~FdU=uPY4G6*f88b} zbT}6Ea-fAf+A68ZAGT#(`>n(QHFbsiP3jNLQe`ZUCVl0|tdxejSmwO0($n$F8&E;r zcX|3BD{Pd`+-&K0wXmfJybeUG`qSqS6ng_lelQGo>b)Vu;_lHC7njR7bV~P8KPcyA zEu)i5W-yU53=!gbo-3>lFOF!me>`ci4b5f~O;AIbVBsu#*blb@{SYdCa3@^oZ6n|> z9M~e8mPi)GS_{8~($1)aiaoY}KqkvxDPlW+LELJb9J>zgGFTQFk^~PLhna3uy3r4d zrFpQ-0W01!-CiF1TUJ27O`>n9LrQN?#6ZFRwY;2`aztnm-n_VT8sY_Ff1G(On%&}V zxc07uTu9GYVzVFufo2#_JI%}0aaORa$vIv(O^eqZ{!ZBwtq;&IA}TsUik>r(TvbX% zW`+E&z!DMK0wKvqV&W=V4NmEmR0&ld7&rU4UJ#MwF=VlO&@0E)%RTJm@u9f2FCOLZ zN1v|HFH+$!!M=Qk&5f6BfAHASRr~wr7fdV!z7c!ZTc+kq?iuHpntk4i*u^rd#P90; zWwvf~xSGS5UHpU&ThcQ_>|z1Tai;ToVCKzVzCtdGn-l>g#SZE8qP+= z{5e&GA3x&J@k|9oH+ zri+Fhz`Ql^rpGyff9ZQVJ)4{aXyfC!Uxd}D+NF`#iJw-I4{Fhee0^GT7_D*a9%#KG z>y6*6{!g=Bs#KNR83G8%9pV4Mul!$H`#<3RzxE41+)zfbdW0BWd(I%6~N$3Z+1c=$;x0ejS=6VOr^)LxzI1x z$EIr9(@a-ne`wI==gDPiq6*00s#WJ0M7h`ur;wH9uAGnP`hzy*oa&jdxO#8;)M-SI zeWTHZE{uXdUoRrYq6yl`;WP>qMOGw_O^+IFMSYPT${w(dpo-g-$@)+dZDVnUxaP?b zEL;)aa3VU9K??^lAFKIW5QHvO=P!NggGZPA-x>8cf5!?fTiew;N>@Y&k~|JN;$@87 z_FdIxv*|=DU9wIkF%DO#S7y}>baR+Gv^Yt%E|<#$$M3|eYVi5UQ8FlglDXd8O$&=& zF|j&jC9-Ntc7wiHe%!tLYz^#|nnaJ3lx?})EQ6lW6jN!rJqb7n7v2!xfLj1HH0#`H zyG8N@e^^s_C0ZIT-rOB)u7R)PYQeTVXD@qA%w0{rjE4Lx{NL~c#@Psw(}v~)aluBB zj@$%dF=ubtNLH1IXbq|kwrV3`TQ*LuB3F8|v8N*Lkt5HhrfWpCjFhfXXI!!9>Ty&Q zcr#IHfaCc&%&3;F*iiJ)e|~YS(tW;d8kiC_g*g2QRROL8u0#hF z9u(E8L!Y)tF_f9J^duoc1^j}{K|vFfAe7(X{@Z z1~VV2V@2|+%oQxzu|6!MAl!@U*siY1D9{Ff3|8%B2RJ>`nCnGy z0}sU5%<*akMy2b3wd$^|NnbcUw6o4Ge;x~piE)pX)0W@Adu8Rgnpo}1l$|ZQXrUG& z?Z#H_krQ-B&6X$5-vYk^nX=f{?LOTz!YE4&OVcMv!tM4qv3rXSRlL*ot%07~Tlzy; zZxrqGe}HZ1u1Bq^i$!?Zy6NX0=JZ%CB_=_=h>bFmj<>2cIO&W|C35PML|ro-ek+>Y_BKR!rzmsAzAA+#w~BSil1JHpA`_i0ETkLbr9J1wT8K}wqf=XUmDrb? zSM7pIRj9RbOfs+%;${Bs1lF`1fXJzYQN#+9bm`nfd&R=2&XxbI_61xOVDI#tMjoso z&(&1g0-h~*ZSt)vtzwZ$N|axQe@2W;)vX+QZ1;a>Pj#vl>JQRmB%Zj7j&$2>Z{Wr2 zVj500P6aZPIxKeIq@B2;UmE_Z4(NY*yG))=#AudXN8qy5KK+WGCAg&#GB_LE9Yj!_Z9#fBtTvI@XMD zx_E8aKscaq&%$B$sVuv3Wuu{q2REE}iyDaWPWFU*X z2Wj~AYpo(Mk2ux&5{%#>e=yEtV6=PB$oBRLb6D<Ue& zL=WsR9Qkt_ftfsK zNO}2s0K3<;b~g9+9$6f?WKC1SB6wS)4^pC0yL_wNkMLaqqmZH`nw0ei8XN#AI9q`{ zUr)F%yjdQ+Gw2Rr>Ph4b{y++HJOySavK3SV*64iEPogdAwr)TZ=Iv&{GqD;d*8qH$ zIqXj})6Es9^idpQf0_ZYeKIW8C@fRw(56->E)8L9-5yu>;I^6ra^1cM@o$mhS@);* zU`Ai5Y!j2zo(Wp76pd%>ZE=R6_T)?O{Dgq9^(2#qa`l1 zjv#uy2S0hOMS-Gj#x9DNK2{2Zxv`m-cu#^fJy`8N;ORC{f4v%7R2YIs^lOwISq;?pRCdBeQ!MHUx`PWn(V@GVj1PYcZWCM0ZRPRQzNk zPuQRQ5Rh=)e{}lVM(Mtv^B2uN&{p{!$5{k>DSZZ|$6l7*_EIj(9LlFj#4*ZN2bXe{ zY2R3W3O>!DF~v}RCb{IJDFt)?tL?6`=Lhi*p(X$a1jP4mb{_w?PE*xV!&XE6js^K; zY>0fLt|W5+HYaWgf4@-noy`B-a{hOr+O);zM()eOUh{@fQO{eJu^BZzyO;)|M^hVT*wKQ{bF+lvjst~&-%Fv`` ze!sEgn8bmk=x7$Vsy%Kb2S8`?ycCG6A!BVz8hnO2-f4M-rBQ|k+_d6XTWv-=JxB7e z5m=Bm0k#|+s_5Ii9~oT5Tw9Q1Fvo?CFC4-ge>#~hmYbBE$WR4aGcXs6kaLzeM^^;V z1G_j)o^M$i7{shlAJRLbPxi>9%_mos_qR-M#HD+Z5YI6yi!1bcPnJ?wO;VXLsGVrP zG+GPO@XY2Y3S{9?=+Iw(2K0jErCS%RQcVKW;EYp+p?9iWBo_+mPpDQ5R^2+L=^2-v zfA)h3ogD5v(jaHu=O!@*6$9}SHQ6%u5sjOP^a1|9e58m9g+LpgB(HK=qm7t{;mxGG zzXiBnEQPHQ6(Y{nlW2E35l2v^1vYVMd9+6N>|RUs1bpa>eoq-?UB4JJe}5QiYw0O$ zXhNxBaZ-``-k1^WeiRQ!hZ#0QGV2oof5RIYZ)!cQ5m*(h&CVvX>KB4?0;Cxr;G3U9!XOJWB917k#zOgw=RO(f?=lOfC|0}8N zVQHU#Ps5Q5anX~|qb)OL9aajtU%-`DpFB0tsn~pe zN7k&Pa}-Im2Fl1hnBbgE7Gjrve|ks>0A`Bjc1~a+y9P)GJHAWfJcExXJVZdq2%j_7 zVXc@ZAzVC7uZkV_OK7~Jh^|kSOJSQirf4|#-Zqe>Ri32kjjmGQF8`AI>QuILw&_5R9Xp!1L1p$-BqlW(Sf6h(Ppyv~j zyoBGw;xB#B-Y8XRi+8=n#V7I!lp}(Quyt>I!5VM0Aqkj0pS}e{Z5$5z%8_+|nKTk> z=f(I2#yhOdLtL}%`NqB>jb*&O)RN|P?io0HUc(7)jbmEjcL?Tbc8b)!x|u(OM2KU= zu*Wm{PE#}9mdSl*f=%mRf1^0~OJei;9O6uZmdUE~1W;co7 zA~Z>$ulRpD^o08DQ~cFa{L}rXgC9#|`bpAHA;VRm!l6La`G5ncfl1hb$>yO`x7(~9 zPfE9x!K`*wyp~A3XTvFJdbgI>wp<-$y{2qN=MB3k59Pb{KH>h=3Y*hpnR5UI0wRP4 z0^Tm67Bc> zb$|iH(f?&XP}5&D7)2jiK-UXULet$8KW6V3X47iJr^1h{k zEI$jKu-9R!qS9qrdBv7X@z~y}%xXDLE_ra-mgHl6oOm~~V5qY>&!oeH)oBu)u5W_f z9o;}iwVo`uG2Y-!)vcYYRlYlK&E*m`@!i+s;9xPm&%s)0k?EOGf(bb;31sCtPH|?r zQv~WcQ<|$Ye*_AGou7#ZsnVboijx;O(>O>8o!N^Wb^tZB-=)vVvN55;kZ2D3Y*OiA8$>OpSyQFct8$J}8e`1g;lRBgnx`8eqGYe6sTFtIz zc11(VRivX*f3yJpqDr$w=h41zr4?ENs^9E`4CIT3%WXu5zsqekO40gJ7Yq&Un4+CA zJKQ7otKh$t$S=umevHP%8?rlOn->!sONQu#yxp?#y%x(^ zw)lx&e=HUgi9#j^)elrM4%ADQm=-lTEVE0Kr&(SnxZ7}2WhK@@*gCB>Rb*pSSD%>e zl&#H{#JH)2?_}6856o1f2DEHtU0;Rw&DY{8h0H>V=5l^0r>z^($C2&pAd~USnzb5G z5cR$vd9noxTY!<=+&QCjVg(&D9AD;VIKyG-e{GUFN}p_h<9D7UofI$ zGOf{tE@6wIgzKgAh*)IvsFe?Gm5x)_pr6P*8pc&VLM+)N^d1sSfs@ zf670b56572Mi#+hmLB?oVm0DRH4~aTh!uh-3~L2bRkt~)i9$FaaBVPDe>DG1S;586 zm(sl1)1h3*90l3uBh_+YG)*Yu0T8D`N-=(g#)H1h4e@(6CfLo(jLgyVdPNu;6P!L9 z+psvcjiHuacswq$m;)7Yip4<<@XQaHf8W6yV9_v}LB^F+V_abi0*g#M%NurNzjmYi zK;9(O3AHf5G+^dlA@u1`i?7 zO~`nRQoWf-uxxB?6=FG!mJ$*Yae@RjJ zjjqwZC-y18HjMEDL>xO@=cVXZ`D+u(PR*oi;C20Cv--%%V=Z~8c~bK)K+ls&L+TbD zSVjDl+9NC^_@yQum3k#A4%8 z%0EXREj07?lstYe3H}wzdcm~*e-MHL0WHJ+KS0_4w0)%Qj0~)mEo@Bw3(78(a8yu# zwgnpv)`8%X6BX%Nn@O9=N{HnZuYQ%o9UI_4qvuJj^)F0^nsT%>_txCFEmN!few~hU zb~YC?%f5>`9*l|Na^?}@ah6s9PsxiD8t@x~?WHRS%uKrChsILkGbMjl^ zy{~h7STZ?t%&_0EGWYkee_BHO-^Be2vDzj2EFiG=#inj$GFn~6ESDq!PfM(wTOcK( z1L#Z0(5tvo@TPD<1*E9>heO<8e`FueRHvHXWP1Xy+M@~t>$6e<2Rk?$e^lgGqzY zSdAC}C&y<)(vzw(kpYRa&ojj+O20Y{&R|;#dIt$Rt&cu^o5jN^IsH{b=R}J}(r~JKZZ% zHqX6zJyhXo+6j~we{?AtVFQ*+rWd`G2bgm0^K9Wvl@2vSVcclW_TQ>AOLqJFhlZAv zsZBI$!Z`1O10lHPZwN;ZgmSJRG`Uoz{}9M3MBcOYT)Kb#?WDgI8u1VO1KXi;zNUtF zk)oP6f(7LO2H3i-YkF)WZ~o`8vy0WO29>RAoWYbSA0% zrtv_QuBDkqfBf-tX@BLBALN^+tQQEmjDi~pi-U80Q9N2X^S)rqE)R~f(nS&p#*%zf z8IWJE%gS_;4PAD~z4ZseQ()oN>&hy5PPUz2XW6QRtd?a|!BYt=D&CZ*Gpy59xH3#y zqwe7ArowYe$6A`}g!`=tlsumZJ}we!X4X9D13|xmf1%qWHX2WIlD*r}%g+rap~FJn zjvU(AvUIuzzMS0JNOsKjk(g;|#)1tN{M7M9c-p~17R&H^zk^&;r#KAx(4tUo$w)2*j2Y{!}-w}gDW%W1NK}#l^K;BH)L%dyllj$|kb$kbwGuYSJ~XrHCi88UdbcF&^V1dI1#@VYEv zQ4(aq8-IbO)eb1 zek&;LF0y_-NbL?=GUD4)cD$5cGY!QiAz9hg<6Mgm0wJqxe1)rdp}t1Q@*CT2wxCOjSK zOcz<_(h3hGJ^ap#H9F+8lCms7T@U}BWVf1`Kg651pYT#pAZo=n~mN$UMn-f_O4;lQ8L zFJBCpgLSMwG4ekGxPA*`N**b+8?lHx`KS`cBK~tbf>;(bqnqww6SvsdV9R3dXo1uZ zL&r&d>2lwO{BKcjM+}|gF9&YjQ7`7rXXrk8)oEkBHo@P(M1JDgGV-bNR0coDe}AQZ zM05I<7$Ra8zsal%ax%%R({7O({G#Qy47X+GK2Lwpd1jbgVOaF`2W1rICq=aWuun$_ z_6Eoe&l{pTVC50LGW@Ge!PDav{T~C;=dk||+X4UDPiANRSBpZ&3FV&?(p@s@(4inu zgs7D92pfcX3(3TE`E&)K$bo2|e{1Afu9K#1w(RA8gM9^UQ=G#I3OC)iyYBlTEU|}9 zvZ?Ggtu5R$@v^SF*$=+|F(m!+xZ3CY3e`{6%yx;4sm-2?{ zUrHD>2x#JIHezUSEj?AM(B|+~()aUZDV0_!4W zEimUDu+2adwK7;jk9pnlm@=%+cS1cDx{}Xz7UIcMpN=>6R;JL_e}S+YLCRX`ozo7u z0)(=>JS%P1tJQG1qQ`%wVT2d6ECY9wAlhVn*Kc){KUC|I!yB0lJ42eY9vPc>rh@EN zM%4aw$5>sngIgzc5>2uu^~{0I?`H&*o_0`|U2u~-28Y zXvqT5IGc)aEiwjdemZWupMFP|NT+PccDbn9+RZyob+|eWJW?kjYDi(VS-Piw z;?atJkwuj=*dcjuHvDC`}+ zyD$ZqZ#oh-S2We79s0U#1kacCs3V~&oDa9hw{<;=6>2@=79BsM6 z?54NszHIHu^cYQ)#)YyAV8Vhs<@zd&CwN=3M*wk3?j0r!Lyw<2K_(`O%@uztc~{c3 zBt%0wAR}gI#~AS8KU^C=CHf{)D11a^vIv84FaIPze>N{sqe@Xw*pT2AOnFxHoZ99m z^9lEOq&X+yHK12K7>)%d;~Qr3{7!GgclYv_dqsam&6}^9dPmrh(o5N*HgsCQsei$^ zOs$(&!QJ~9>o|+!-!-_#ypx<@xmsCh~X! zn*(i0Ud^1Eah@=e-&2?LJzUUJzCi^l-nBWk-Be*GXe=~zo zWHh{}*eJRSqunn98w2VG`Mmv}{LFk1>g<&-f4|82+N+yDRLqtHZyg?Qv%Y~3?J%1C z4|T263;Bzkf>GpLS%p(qROF(Sa`H+!B^5|;;+B78m-@P}h(%0fVxi!pq62yUfs-#! zVpyu@$N!v=uCC>rNBRedqQLxnTPFXP$&0$!8vS1kT~?h`#1TW~gA4p)NQwvrYJh_k ze*_0IfO*hOn?X9F3YtLJV0^qUQkkI1Xv``UBU(Gbzbm*>JK>d3qLhL#W>VwnAlfLik>45>rc3%P3=WG>mp2`1DXiDcIbGym)y^bxb$0m>wye|wKh=x+>3h)*UCTH6~ev{|;R9__SYG?^%N z%;h?Gkv1Q|!Ii76Q`PE8teK|hc!kr&5c_YRT2x)zu3iSst+mQaYc*8Zs$$x1pE9Ip z;gD)P{K!s3qCGfN>&(na$gs=&QKc=9J|Um&WMq#=Rg?5OFCyd z$18Sa+TLsbEX`b^BtiLv3OIAR;45pgg39=4jHO98#k|Me9kV|KBl7vZ{G)=$(k@C` z`JIx8nP@gtVi0TaJ`WXg_nxMbf3`a8Bh?&yRbkKJJY^I>dNmnF^ssOrX@De!-N>EV zFv$3m_<@P6oNwQQ&Bf6!b`=-aQdjJ%G)lb^US(!!EZ!$j1aJoI&fS*Aw%xJ=Qk;4! z9CYiVgt%AU;)w?*46A?qd@j6@-2$S-X$c$mS74}x>qZ4bi=$~fz9s+Kh?caJU#idAX&y|2>g$UvoZl# zhbKY02f!XK1;!Ze`(QuD+uy4uIZL9}Cz!}T&!lmTst(+?I;hebaM)#c7rV zM{%FH{XES(Jb->7ft!UtNOk2o%dx za3G*ixc?t6fsBFue_!TIQTzA@T|@o0&2r6pB!_FDiy=-9V@Du_4xCd3T|`HgREQKQ zuaoJdg2~!$UnfLEyZci0#?X5$q~@O+I4}Zt37yCK0rhhkxs#KJAUNHTDPLPzXKh>$&s?$NIj+H9%^}x z#Zpw}XsNKN%shhzxwRDD!qw2qG%nSpbv#YESKnFzW>XA$15wDP%=YgLcc@{po1n;o zeAIC45AmAj3}FHkk*TKV#x^BaXTn&@RCSS-X<=FSe_1%Z`@T>Q$jrW&e}Ri7!NQl; zhxQ_tB`6i3-}Mb~2p5bf7G`d&{{83uMl_+|Pdy~sYP&S7Ww9H%kSPk3nzk4>cg6`x zUl!L%VTeI&#g&^Pms{Dcf=y#SH}W=_JN;2R{1W;#0e<2cFp8W(GRXf9eyYd-ydnfx^EBAs8d_)bTn6mY9mzD%go*LQ^7P=fk(Dj!_ z4WXiXme1u%LhkkL3L-2KJ5nmY zElR!N26#24xllF=i;URlvjuTyQB+zgCpUMhM;y-DKZyYsrt=EZ)#SGV=Q+y4(47&y z3Yb|-2eyMn2s&$&xOPuOAJ`3ywwWpYfM0T$fx|4*R0Y((A^HjiH_&O}1?@PQ?=F!p_ z1_ZW8?Gm{0oG$0OTY*|=<+xbJW`{283XSD`%9QG@O$A5lwsS@-WwqX&LgmYxj`^y4 z<5j~wOIpTD&ar$8!jTp6of@y4RSj7_ly#05C_}r_h#&?Q=#LA67mSl_CD(7cFcN8^5!121<#kZ#{nLRqwn8Hv` zni|WP@-{l%X%YBlZL&~0EHMErI%G?h$=zOc%uB~JDFte1x+S=D43Dyr5Ze}&I71;U zqN0yp8tMh(CL)f{5ymL2bXo)}e^e>bWpa^(v`5Oeb0REyw#H7fs0|mAlg@5BA=5Qa zncZ0=WLoE~=$U9yAeb*pkU)om)>H7R5%AmD>M)0&NM?zl9z7B;^Qve!-QOEym4LlbhJ{#!?j1 z#!@7ZN*Ic8Bp#i(Lj%gmsbe5&Q~y#gV1lNj|AxAu{4BQCXfnfvqc}J;*VNfm_5$Tt zWX8qijcjRdSMSB;jC^Zwe-D?~3AutsN{cSc?cHzWqt3R+RtmO_o zakp2PgG~(t|Dwkp%~V)oEGTKxiO3mxmtSRi?Gs#`Q98pCqC{66X{cCtGRO7V)z|XU zX%bU}*Ez4zr9-tL5V^vPowpR@DLd8g>Z|yM)XeJ1J2*+g^zQS7!G}a9+V8MGwB`DBBLi7%V>+{No;N8m$ z;BPR6rrHx;{@}W`afo{cN%i&R#(c3MA}Eqxm;Iukgu>70C4GZRr-`i~7^P#mge& zgVs~W7cV1q(-KNlsohrklh)`Kp)5O+^`8%DuY|2ih|;~i!o()JLHo?e5A75Na>g>; zvEO;z#e%ZZ+~5`UFcnq{>(6LpzI+fO?^P5Qt3ag3OmT(Ue}p_ z=2%uk-%NILf5#%6@d#I;F0Y0qCu*I26g}<#&jL!^R>4{g1_Y!B4+O;VZ}9X#wjN3* z&d&c8-cX{drG}!0`YmgVG6)%-n5hgytuN^B{%08UFhua!Rz`S!hkP6qJSoGO`H#o- z?wOZfXXjr{y6TnX_m!~ktnYx5=ttOl^NNqOOAI5@vHZn zmIH>6Q|6tfCYaxmbapg6l8x18S>x3vmhYyW7Q@O?CW_)Gu2q%~@75X>%L_13SIHNt zsRqs%wfgl8#JWt(jI^{hg2JFBK} zJ*su(rrfoB+n7>qxUpf5Pk?nPto8f3SBeGd|zwIWl1^dOU1T zX{Z`ixJAV%E0tws_rg88gXWAXf zLd4_q!f1nN#_YlenB<$H{1rnR!{1ZG4SRPJ+KEU)pZUzL?q4+nE+hdCP$aX32$p|ef7rL5@%dXJW0N^1O)?i8|I`aSO4}yFpnrOi z8^B?++1SMO@nc3AH^^ayTA|-FnOR%ALgTSKg`!aQ##_u6UA>ORmG(3hUnB^x3cgo18bCC%5t0;5u`-@a7L z?}9(bPmF4Hygp5^m@9Re-6cWj?*=AaM^cf*o#ctT!)N!m_{ zx_2jLna>7Kl6Ihj@zL6)=~=7Nf8o#(yWGxZw2VSXGqzhxX`0)x$zyaun3`I$>-LOV z^{=Vq-?p|E-^!t%5;98b!9~OCB+cLgNU4reRk(W-H%Ms(Cy zaFqb^el*Sq%JcDhf2k?&9OLR;xS4OzD!5u~{6GWAVQs}$7Q`$*{LKiTaiUkqxGwV2|3>m;n?g8tppe>bL__a}PMH&Ir4 zE{88dL>v7UU!Icc(Ex`*7%mN4AT8V4k&40pohgoa{XTJ+r(9mfdyrl(sE_JGN=Abq z_>{mAJ03C7UUM)Rw6hI`)L$ZfD-gKpBU$3Fq}_zz8vS6mlA($_s=yy zI;bh4+bk<%SjfGLe`Z$cGLG_B)=;Y!$SLZTNW=p!h1r$(uT$}&d=iixF>&0aHmF5$ z6mqECGE^@PoAh$72D7tq1W)hXK0whXG05d&>Dku;vC$Pn= zbkxAKhv;gr#J%?&<6n)Mwfi<42zDT#c~2l9rGH032^u(=f5_MwyI7l${#Qw`wR1N3 zkBCNjM>``ECnvlAEDqD&5Z=lvE3aHHy%`+GWEr5yn4VCG;=mxFkZg}TAmT^{;^c_p z%uGp?Ya-S8`2a^ixW87v6p%vHSKxtZ$7-PqYYS_2Ff`njUDVvJBE@^1uDu?ZCCCvq z`hH$!85nMMoIbctbAMfLCZi~F*C2qtj$3RI30>x3?fp>lGc*^N@606H|NtuX(4GvTk3|1!US3-@^(7>pGQ%4Dzuuuzv4cK!k z2kcdA>*C5@1u^PRSUmC${i3(O*kkI40S~kj*~=EVNfcOTu73iCV{C4(Zg=Dil)m6v zg}aN-51REC78g8o!xkcLpP&&uMMa6{HvcX*Q;!L4FCZhmh&L3VF^`#hQG4;)!i3UrGhqhB=yroRXrsgq}fazb$@vp$Z}CBOb@(7Sd2G2+ZS;* z*jx=nY8Y~&k*r@Jj5c(z;i1kksjQqaM0~EEnjTI?r94|$&a}rXGQbD+5^4hyUIa4B z<3-T=N*D_;9m{2{8030^dK(<|3 z>D=}7Do%2hIASJqJyDIZP0$NyN-Ix1xO5o z0qF^$hgE75PB_~@1$f5<%*nmcnML_|9hTLsuZv~*7GBAwAzArWs zv-LWvY6@!Q#S%EQTFNq>d2kGy0g#Lc!w|2@z<;X2$+IHi)mu4dNklycJY;d_7zMb@ zDPC`@`EV+#Driap)V}c&Y$hNR!che3Xx%^*&^>ygXitoJe2FlhqZp2>t)^;4*yhqK zYtA$)FEC+ShKgVnnjm0-^EDv(sazf# z{eK{|PE3LlZXObx9281TNfVbg)k6Ou6o_Jl&_V$5xagSjJvu=FJioU~M>6#k3}qN9 z>0ui9@U+;nw(2^PjzUnP7}87=c_vDRp}H=fCXdSf1n7z<+1k0*V6FRVvS0#gqc7LoQG;nHQ>8NQa%yt}PcreNc>xn0e<+e6* zHe0Z{i~D^2AmCpRwAv3l2SYapJYlb9aU8U23K*5H1K?1?G8XgFpeO|9ES95@rl6!M z;p`()NMSi^$?kC0*%4d673DG6O;Brj^mZ3r9l=i@lZvL2PMT;F&4A7T(=iorU4NLh z%po!&jBjL0vR^NZr4-@=!!>M2TDYaMos^w4l!!fGUE5$ltWK@)v6bSD=HSu`7_gsv z5?*Fu$CfPE&djP7d!5-6fO^+zfUM5sen*lhYu=76*neC$0+FTZvu8MvYlFujYeTL$ zy(mdw$b!CSJHXqJOJW5`$%7PKe1EM12-%DA$y+sqa96Mu;C;x4d} zK*G)g(7%2t2#gmLE*rTXBEhz5S+$x0v*b8Bm?X5;UUKNgD)>GI8~zXxkM)2dFF_3( zqV8otezR0K7O>k89y6b;!Ig~aR%DawRWT7;XqG)1KVwJdF%&?q8QamJZ-18yg2gjC zHo+HC)S}E}%RJ6iirBaxz~3+>UxPiyLSi8V=aEMKf-_XNzeDlq-`GduFtp5tBXWV+ z-Cj{hJeBI`G!cM)NLu8HNLgqR%U6!+VmTDYEs2c#YcjR1Jn!IA(bCgFqH!3Sey9oz zH*9@En1f7FSwzc}6w|1`Dt~E3!q}@bI}B?-knifT9MFDXs~n!=W=^70b|Q<*8g}z` z__tf*;*s8ypX?Zn1Umx<$3(X(k96@s13l7@;Sk~*5n(gSemlx_LcXZxvjyxQ8t?j^ z4d@>(kFb@mGPbBzNXt#EAb6C$l7&nT@h|$ z9n1%Kf60sXMD#v{l3cxyO)~2={86T#{Qx{IJd!PMVzJHlJ0FH)%&l3llteo!I?56g zj{~m%!eJ;tONnlw?0?aVNL6wME&Mq(UBrsOmdNvhLgH_wb)vcgq9#v64MT^ux5~+D zu|h#r(~tuzwF2`(fLy5BLS^mQuNzS*`*`aYRTr$wlk*>kB}=U4r69e_;vzv>Y$J}S zLERH0At*A;iy=`^cA^odKk+h_IA7Mdz8So5#~VHGMv{4=OnB?B?s*j&si z9mKIbmV;$LYcgTVTEdj|McK=^J^SUvf^#MsFN}=w<|wwW5vHTEVnAC>T(1O6W!Y%q z-bb1%mc|reU4LALp#j;myb;RJjGXI@teRT$NZTkZ(AN`IGvXPWckJwaKHB9d&5iv5 zK-`O^X^ZjB0~{QS1A?|&9ntiJi=mw}ZcF6!ln|;QIvlSqIPKD)Lr9HTY=(Lp7r%z2 zs}4uf%8?~3*6KLLat){Hgn;2fsIlC-AaQXmkA`CBR)6Sm)-~E1Yo@`IB6EVW5)Q$W zEYa}i3xaW5zENyD4T_c;(u|f`zZnO06L?T)+E?f@OimoLQI|ehs63`~OsB2(!2|A%7D1zLf!>I^;*r@n&pIcz?PR05uK?Ix8$XW(Q8R#?sT6YJZlVfdS}8A`p913zl_r<-qJ0or)|S zqX2YzQf?mGLyNf5u1BV)EC<>l@V{t1Wf0E4UOrCLtZX;DM=0QWlXJ#C2CbiPO%{FI z1J;hXm}DZb%oSNH9x(OZwSj8~;Bjf`2piKtDO9Y(ho_-2SRId_`h@mlTFsB{KcT%W zUw@K7aC@V!y%>e(zjSsT@v~&*nb3Bk7k*KYc0&ScSFMVe*AKH0#(pLb>}GP@c9zT7 z@d3PSN_PwoaywGyW{w}|?bu)S%wsOE{N{nEo9FunpA^narxB`_X~1L1cDXslBgluRazB4~Wl$Sq?x z_`2tgKyF9$Om@)1rYQl&FAUr3+KduKzlWPD15LpMw7a3*6Y$xyG;dfRp~#^q15ZfJ zAWu@#p5?rv$V0BYBR=5#!w(KAAnD+$8+Z`L={(j4PC90&V9~&;q^V9E{R1lSihqHc zr=Y;_6)0&T&_JZ4_;ibtQJ$xK7#~pm(zxMM(oqsk?-3;c#@E)kdQmwo)VT7BI9?Bo zeS?qB^9|n73vasl7uqcRK3nOW3cT=#mwnU7XFTij4doAlqxTHh=xH@DXmXID>B*O; zgRg_v1H^BM@nW!FRQ@`4+ftk%pMM;TJSChulX3>Hkk9dLwfjSDnoIBO;qTPaDS|K`ZX7=j8|;nK9+}liMxJ1%%&DK zt(nV_fXj|R#E;m({VD~=#->mV&wcE7;A#nb!`(BpcX=?p;e1Ie@xkk${(sDvE3lO0vlb2X5u>EKY9 ze;7m43hJP@X+}%RJL)*V;7*P~gg#N(!=Tf_rGRuYLJIenCN`x zL)SVUL!tZ~BJM}oPXeMFVqMZC*G1&A6?Nclu<3~!sFp;#2$)wCO&v2khg}m@>h3BO zDo8LXo+4!z#u0rn{Kl1#%~x;5pNq<8#d=N9W`_Rh6M_;Ab!;c9s()cCouwEe+)O|w zemS^D5_QrE%V|uFH62Sk0a6!dnXl>CcnHFzzDkU8S zg?q@vxj`~V>R95!aT4}-OcN|{rPDY-3ir7@-YzSK7OQ%pQ>Xl>ce#npxsTf?UIzp;CMSn6+wt&%4!A2#aMaw~; zpr$z_igOi<5~GJlt7(yP(U^GV9Y;8CqBYlGR!ze>c3>4ZnkVq3n`0jV?b%*24LVwS zLTc5})ls?M8rV^ABy{(PBm^3ouVe+Ib;m7V!#Z+mqdlHoMOsgo?XY1**R@<&Vt2T* z3SO&KlKeLBC4ZC(*(a?l{+K7j#Tm6iW49NP_(LU{qNPJ&$2fBD`DxvJHjg<~v||#9 z5bp#nba(c7##|x@#jLEMIMWM|G+e}8O46(}8SN7lI!z;Ilm*q0Wqe#~D;oEfP?gM5YEd$?Sxlekx8EKYtqfA*a2IJA5}w3^ZQXacJ?(q%&QW zp+25;wGYHhOqeI25<6GE1J|OQzSaC3wz5^L*n8z?;a5>rM4(abMjWbGC?7&s&X+^P zUBf49F@~lK#&XhGcv*g9$Kkrsq}Z(o6E|H?q9Y5NQhn$8h)yKQ$NhHZ8*fya>Z#B&Qn@T3o5j-L}onl`K07 zS_0_ELf$c4NM6ezp><%w4D7tTNG8ktPPU2EndvK zu`pluTX+uFGw|Q>RobrDMmg+W=O7mr&eMNql{i!Dr72`>o19J#C|cnnjLd8pLRq6h1_qD9ra^C~Z5EvhC5S8)Q>z?oW*i@x!l>no$uxWf`wc^C~=&AA7i z)Ss}fHc!Mr&paYy4{+p}3=_*@?W!``gx1M4>71C^S<5qHG!wZFOnyYaGk;fprE;oZ zWHVZHjlD{eNHYAp_8D`Q>LYkfUMcDOa`K`Pyj%Jj2U}Ws%LX~?GH8d}8e<=6@Zv$% zD-Ky>Ba z0uq>EGRei?PiUC7jX-5=l$3%ucMReP#itDUJi!Xt)q+27#A?r+t3ktX=)@K7Waem@ zP82v}AlfpVrC~Cuy_GhV=1?)57*2DN?DM9HgyED-r#aPaCiJRoNPo|zU^2_5-ucpD zFq^V(?vl-uvtn86BP_~3aX3;^!(>uzE9;#(-0KLtt8n&>63#K3nx}LJI-y}V#o9Lb)^yD8yR7f4oY~ z?*aw84L!{2Ut-7&PzLZY%*)6fy_n9dRt{Tq!uK5ksJ`P!*4;ED>ovItG+_hD3;(`% z8MxOsr|)05tqkJ!JCVrLdqW|`LoF~MiksyKh}TFg&AHwOGCTA5z3FL04HPpl!Sp9$lRF*#II=d}00QttJ7D`?zSVPI{5+r8 z!|lr4%Vzg;BbB{%dr#^2W?f;->pGv?P3^y36}jy%e}6r*=fTVqd#r_<_d0=|zP-Me z?Rt3W?;dyGsCeOHy{VL2QQ_<(XOmuJlo4unE6Y@VA9U;ydV0Ce)f1AihOD1lyFJ~I_S1JWr6 ztnmc{MuK$c0J`Yw$oV*Z|Fo=y&lICa6r0oVF4vyZTvN8@J=dOFU3ZRpxglikvO1Wu z(#XEr1c~PC!d_Pq<~J|T+_m#V4p6sQ`zUbx|aT`e$PqdP1{`z2c!qIGlEnH|+68?+X7W4o4|BNt_~_{9_|O*C zUm{wNbspJE`F`g%G=kPOrpRDuuzv!OB=ziZ(=rqPKzc-VzGIpxR%)>1RRP2iD#d`} z&ncJOn6fpw${B$irWiRvED46ahalD^SSw^genfa7f1l>D21;E;en~NrFGQO^jAt-w zNHB9CBRPt$z$D#Zl58?dG?^o;TYx#f!qo9%LgmGC1}bF?Sp_46MxR<0Kk!T zgj$GsqjV9bo2e?Y5Ipz$>j zzmV&pWf_p{xCG7!=}CMPMTDzlWfDsSt@Fnkw z+z|el)(JlsxIEPF<~RVBjS*7PodCezb442VCc2rM!Q$2i$~#SRxh%r3zzb6K>jUYN zT5ojFZ&lNaj?`6dyRqIK;lFc^OWY>^15$r5tg00U$GR%)4}Y_@0u^=!(x=)3i8ZGk zlV>t(EyH;3O&@Gh(ymGuERP9BcQa-t_`v!4+ioF^ey*5jO2iUylOX^mcxXe?E47xl z0ccC%DJ{7S`m&OmK$Qk0uL$KKI|#4{=A!~9466Ashaw>JNT)-Y259uC6$Q%qu#_WW zN+fha&YqzoWPc5s^#PM3rVcS(chprCjTg1PIh7L5V5irsEYm4<*;=dEhuDiC5R3(Pg z&t#}q+|~t^D{rh>K=UD?M_^2NISm<}nH+;9Ui_Wb5Pz(6rHp%u#3yy7ZT>7ug4i$l zZ%D0mp|3I5i;oN|0;_RCQS|Y+WR?#|EfT7`kIl48C0SoaM|r>G9cB$jdH!hc1z~v| z*fI740vW3T!JGMvN^wYZUI{;VGOFyASu#5C#>k59%&@N5itf+~Z}5|dTAx+mu!wF6 zA)8>yBY(RL+Pl!^5#J~&^CcH@QAJ8+9P~FzD%i#fk?6+DhK;geqine7QTi33DwPnp zXjv|b9CvU{Y2?@;axY>I@%mV2F=Drtg$$YA3mJN$;|vXpm5uG|({+g0N{QbxF$x>S zV9FCnpl@30;eXxWkgo8GuW(4$c!Vpw;@HMywz1=p zI@T6Ow`2$3sGF5?$=cgyRRegWL2?n=#+>|+)vu|(63cCf>2}04dt#dW7I9ia8>S8v zYbz*OT?|>^0nE^{v@?CPF1C;&j?f}IvM8Nkix-ik?Ba~TiF-bPH&LJa8QzUa6PB^S z;C~p${NW2{c0`(agL=xL0pRduT+f|1u@C6ebJVSI1|4P z6xN8sW#?TP*r$fsIGvMnLv^BbA_&<8@)r7WQq2z1?zYHVzueKR@%zY*lRUJH(KdLq z%x6paU5xI=`2CIOp9-+q+51DwXrTUemVY1~8<5eD<11{zjN%xA8N+=3IhTLOKaZV| zMC0f34LU!k3g=h-E~9Pjl9Ge0>ZK_t3Ytf4YkRpbdG?*3@EUc$$^LHcp0Rt?wCaCt z_rGlCHdX8c&l|P!%D>SkC+1p8eb!&w?IsGpKZo|R{lR;!==}^`bCJ(u18H7xz9Pi5DB&C$=;ox_Gu z4xRF?9T9}YC?q$^wo({LYq#i%A+oZlds0||{#OffuuK_?6*JwYYO)A9)_ zVKOQR{2$*Sl139I+m~;oUw7=HTz?t-H?Q&Sd7Nv?7QCoy!yda9yzW}_!jq2K1vI<& zo59M}gcF^lBRF}x9L-o~PHtsXIkL#-I~K{14s^_bms-ttJWY9>E!mm68nCvU*+ypb zRbaxdNCx-&vU`6({cAwb)(sZOBVVjL!PFWS-l|P8o1I|uYj=TA{dCq1PJe!J()}L}cR|GA^>z~01Id>jeSyKJf{(Wce z=l4VZXb{0P3-VOUXMU8TtzwBWIb?f) zm?y*Y>GjA%pTKB{Jt{r0*AfifYCY0rg5M@t-VxfO;0>@djaE$pc!k`KkB^i$q~nIM zkMJJ=Iidd${zB*{fxhH?0Le$vFA)C3(%-?5N7_#={lj%f-!`;yhJSyL%yEREuEZ6o z{Spasmk4`b*fW3I5^*x+QY@Jy;Zi7_I&4UvA-Lq)QkhN2ImO-5qD|Q`Q+7|C9y4i@ zGo4yzlB`YfJN4ia+NW?n2wHgvz$epB4L-tVQpHaYK00y8`qPJ5Q;1n)<5pZU%RNsp zYIAi8{-r^;@^nVD0)Lhz%`)I0ktQ**OgvoDghn~pgvd#ib`64Sm!52ZQFd#WiZPIz z3}{^jgpy3J3#2XK)5$dMRB;T=dNDrRY zkodoXcKHA|l}L9DCgclaUlL|W6DuotQJ$u`3m_g+$7%7vF@Kx#l=jp}6M01|rR^1^ zl(titQhAlLsgO~GA31gkeo~wU^gdaYPUkrBu4FJTxL_E?UIz-Eb+mEX)!h(3G~Ep& zUAO{uRcnB6gS3`x^emnQ=@vyxQBOGGXdz!44P4L0!idwt@+hnf zWZYaD*w?^%_fZBmc9#Z*|MpwhMAlU9=vKQce7h|p3mZ-Y^BY?lK;C?9WNjG4+Q2Ri zgk2i|*{A@R=f-$|0k%^J$dv=*839oC->YRla0APjdICcSUSl3uDNp}Y$$p+NV*Ka! zA9GNW1%Fg_pns`kdx9{q{;((wf?&u8G}QjDY zqL@XKn*FRv!vr3{pVdmtdr=*pm(})Qwu)UH*?Sh_xf_eq_F3L_sZ`^bV!5i?t=73BO)3N0gV;5h@)S^&{n0#*AZL%IyuNK0F_NOG$D zT8;^l#W?YnC&qVMF?TF6yC158Y<~$_DLq?5ZN%@tIj*sHgZb0ng|ywU^C$(!+k)Yf zTdUZ~*QMR9yB#L4{92yQa;bRZ_uo&uCfxTzzbPN$S1wHY@t}4|;@u6MLwYU5lv7#2 z_wNDe*9@ko2H$T$QC`X)9e((w&%AcG-0Z%8()lEB^$6Q`jFDv+a)FTO>3^Pps0>e# zKmL4lKMJqy`mN)APwRbW2QYuz)tQ?w|I}m8g9=@i2{N-~2bu2gCWfH?ecCD|`;w--L*37}xwWa=lfwa>NNV z2FkW*oV?T3$Zk}J0P=h{Sbu9G3mK!W7>G0gmK_xqUL`SgJg$Z+mY+0ZSUE9*SDA9$p+(KQ@ z?nWB3QXizT#hqEM3ntwH)2OozNpRy;v1A_#-I8_abYrerW*fY3nSXW2cEh$=ZyUI8 z-9E&;rQ@iu4d%CWAI_h&|5n%r%ttuuTf7r3+zq#F0dH)6MR;At8_nD@?#S2^G|Esq zs)w>=uUpC+kZvJ=bh@SN(enmlxBhYrf2HB8;SJ|*4StV#1;Sf_JIrrMf0VtIe@}dc z@+-ns+cw7LB-x&1wSS1jmbmi;`k9QCB2;%Go9tC1k%BdQpExT_Y4v856q>!FYyc77Ne{umUU_U&g0WPnF0~_ zY!UfL;!|d_QedtnM*qRmVI_jS#M%j$SZvo$5&i0n=W~99?^p1)#QP|ppbN#FSE;(6 zjptQvhD)8_s()|)ah?9s2l<)X9=FGwi%b8RHoEtazVt3M@-@xf>(97t?I#YsD7fjk zK8<6}T4O9A4%#7NJm3j)Q35~+4jhHKpb0qV#AJX6+(j{HjWtDnE60H=|a3jeFdL=zCQh&Mva94INX_T|}@^Tn~zAF3A z`iqd3s5eC7?V3ca`mx;0;XCKQN7*KqaOE1LQjc8Hb#*vtwWHe~?v3i>&$_3H-={d3 zUq40-8K++%7)iqP7E%K)$d@_bHMYKVz(XwqxCYP|GxC-+};)Qo3X!hqFIPI3NIOQOZb=2w3)Z>~bljdBVY|c%pgqChBw}C{4Dw9o6DxjZ@M(h^VEFQ{Os_sb$V1d@V%ONR4K>`v6qS ztylYR1iOW1r{v#QcMG3KKN|r4s*^)K8^T`&?5OY-gO4h9oV_LSLquA5zGd+Pw{6Qp z3x8u#E}NRm3Rz^{mPul%EFy4gCXswL>6qn*Q5Kv0%;H&eLYu(1G`I414J{IR%P5na zHj(d^(xxJHf^N$PldQH}i4J9RD-x#+b?R}8^NC2UlHA%{Y=jODV5CFFC}AF;@Oyut zf)z3eRb%CGvD>A2nt3!zDtn29@I*D^_CcJRh5q%8|Bmo?o*VJD$-bU0rY;HFj((WwJg8?)w~ zZUn>kJ@A(J0?ZGQMVZRT!40|~vww-E1)F@~spCXRso2^oYZF~fqula7SEyg+>wFCm3# zJ!aDG{4++GCFSi1$DDP`!jVmEi%53KUBcusUfj7Wzu0V7;nmhv;*s$DWPf=-*gB;A zfv``?9io0<+NbCa{ohDdC;f)?-&lF6`vcHV+8i<)-okjn?5FfmB+U@U*hF98ci|w6 zYNdIk<%`vKnI8uIvSsZyOueSbm$cb3^`eQD=pI&v7RfmH>usvn_=KY+g$LbBXt4S% zb3yzp@)u0Y#3C;5tvclg+<*0mh;Sb=;^%R+)|b1jKQn!TUT^xmHox~5yleM1gk)kD z70kGh44gvZxt9_Fm55wOL#VjHuooNgd6d21a7jbmqb|%b>^#9W{%C{1SST*apdYIX zb%KG2lnNy-43xPKY(47%DewvIp9CaR;Rd}vArtQuHi_|rZk^b8iGSV(={wM0Cwv?v z`GM*uejeI*L2oC5?*e@m;wpB59;fQv2Z&O#ij~4CS!GI*4g!fuypQm<==Z{+Dk_v@ zRP;apZP1YIsf)7mJjjq;OHdhYgX(G{>uQNzZppf}T}+?T-p+(?5?UqHE$*c)8N(I( z#bG^cP#^)bU2w%5kKJ ztZ`Zrjti@E04|-7U{aC|dvbu5PgFRh<${SgfvHYpG>FXySDEnHCN~|@bD-g+o|y~~ zJqkcertoSK4YG2(w&W1wY?gRRra%mq{1H)G&1Aohu^g<2g9yvRe6RS}< z;)S{Jg5SO9=^Pn^U?i8#;YMH_A~X+> zKNiGh!sbd$y`wr8v}sDRo(uaqn5A$>s-x9v;JCJ&%mQf5!8X#9!8V-A&-@aq$bS;I6`iaUgVY!EL$>2~-@!_cWz>PWe+@;*!|;7xCzkq`zwpE3;5wrB z`2Q-uV&|8=zqaA$3_NDPbi>~Y-eU7%xQ^pj>@;_p|N3J0ie=S7&QI)b{s4Qwz})ru zGxw^~!}GbM{_R&*^_)R^>5m0jGz$Hrms0r|2q1-epnoT=;ximj0`=G*3}DA>Pyp0( zVLIRhL!lbb%LR;QE|37cb7eHZ22P_MpygXNBNkTE5Z|d<6ot{W#C5DzBZav%!*%S& zYziPOT|;aSCq%|jG6UV{g_$&zfS<-?!bqA*aGJ)AGL}FRrlN7D*h}gs*__Gum_{|? z=@*}04}W2Y-~T8t$H(W-K!<-|GGcRj9d_%KF0Uv$6XV0T zS-+b-h%Q1r#&c7N)=$|vZ`6)}ZV%R;{E5cQ7=IHuZSSoPNLPy<{&(oF@F2Qs1V3zk z+C?ERHbm#B*}5S|z%=0@>mH%4I!awN8pd@&)+i=eUxij(+|@gO*DHXkuS|=kp=^>q zG)fnmQ4qDJ8jTp!X=As<@baQg{UUNf&`kQN3?GpCVxbKTdDBMUq*FzhCcQfCR9W_Z zOn*eTYGCR6hTvGa#B$vo9wEItW$631Af#h`Wo~}b9o~uN-|$YXN3aN-FkU7gEG0k> z%`_9%(ndgR6OqhI3zy$oKepKO3fs7b2iaYDrnUj=mSNa#^|FQHFQe0s8>gM}r*`-v z<_cYF7+!5_k_8^>7&ATB`A9o5`|HtqkbmZ58bMEr@!P?Bv}T1dxofvce78a0c0%@! z43~f_dtG!1YgyuC)lIyi-5$`Q7u06NoElQ z#A_B*W#}Lb7Kn!yj6hXG)VNH=M4O%El@?n(p@`!s?nwE-&dVN*Y)=|)%lr%8et!V( z!TlTL4iV`d#j!)Bb*x)NyhpqAfVT+V9v#>r95ZOehu6{(AL((+npn_F>a&HISm8^T)M76JeQUnB6e#3=Q4~w8*W%iOh<}TdD=IFI zzc|aN;Nl*G#EX+GT4tO!;Y5Sfiz{kGV8}V%s05>=PAMixzL=O|!i5Qrmk5T*6pT`? z4ioY!HTdKYokJ2Dh5rkn%7ly-Bpo981Gd42qMo>$If@QHq9&n2t78P;3YC<7L*$z^ z@K+S0Bu*&!s#b|#&>F?tHGgqvH~Ci{qm+E;da8llMDJ6MW1Y^%hlIV#R7gL_hI9kr zlIUAeEB_T{_TVi=YE>_YznPA64suJULG-2Q@3_^=p#OS)jkQ&)Km(qjXka1eA$j&- z5f_*?edjb&q_WZCi0e$mR#!}7B%wIfEhjalBcp;d?5e!X$ZBrJw0Rqg(aV1oz{s}AhgwU;x zcSNuan`z<|0bJA#9;S(R{ElSninf`!NL7b&519X>u(w zhMn0I%YM#;{C~7fP`jUaGqV>T%ITjAP$K=?iWa&536|({Gl4-dNxG~QjyOxc0873E zOTGw8zKlhtkdP%6%%CL$T=_6e4&XC|FWOuvz+4y*&v0DwOu;OF2tpyUxQkLz%7+mK z4w^hwUxwMUXyGh+D4RaYmQN!`6upvQb?Mzpn6@}ip?{nDI7By0>M)JlWV;=b$EKLX z{KO9NEBpHzW^w=OOkVM zhTvYk24K&hwK{-O+!5c21t-`_IF=L5VA+JFQ(5X%x^wLc4|dx^Sgz?XkXzM)9Bs2Q z^^Hm;O@F%*DqGEzTy2x`x$+g!K}K=184f*t8LG*Y^a)luHeN#deBahCG~11AhSPHr=pI8y)RG(7&H0_gNeT^AF&g z_At|+0gE0*cW-7kyWjD??Im}A9iO+~1H?I27=i{u1UZHvm~mKf1Lta+MYnhCoeJ0U zyW9lbLG2;d`B_0#KWiN}tLeA&I^R733U^p+m8l!OXH>p^XxC})++DiPv)<-0nmUTE z7k^RoKHe$GY|GQ|;b2LJR>ce<*D2P`KxXLwHuw^P>C~^xTe*V9+9(U7G(xm+s3Dqf zWaCo`kHIpJlt7tob5k*pFmG1gn4s`dQ3kPw4K*QAQRxr9MTdUj12KZg=foLk)MvF- z#DdWtvUyAsO{=Y1I#*BXD))Vj6}TJ1VSmQeOEy;c2anuN1!JYsU7BCzaZF4aZsa6} z&C!!CXBfnkLcnlCvl>Nk*p0Vzjt)%0EY=2I-9Z=O`=Mj3 z0b*0}r0gG;^d#gF44bQu5axS?YO>-Lkh}fR|DS+GTmzW50RaG@`~M?I`~L;({}$K& ze^jkz({%rrcl!8Wc!&+ev^6Oj3`-ytq=J&AbRnRRpb`@B3R$dLy<8G3jenh6=4==y ze*p8G$6>7g0CxTAVw=}tDZ1XLC(ihJj*XB7TasgsgPHk!^ZBW#-~4vY&riL+AE*O* zK8zs%AE+N{Fa(24&XaQxKHmgT(9u#2&At)j0uma|h zX?5C3nBEa-Ud>aNvsU{|Ykx`YW0V>Ba+jG3o^&Q*Luqzb^YDXskFfP#qw6!rDxj(y#SI;=Z6sE#WxWH@FI|~)MN1Gy! z7|tC91XaXg9^o4)zo4_zCbu(&kmFs-X_6?yosny(J%z>yj$v7QAxq(uX=J1;7{YNP zYNi?(WxOopOoX(C8h-=PQQ8_NkzQ2jeC<#G$IGpMvn>WC4Uih28#DI-9=eDh6b2m zt;MPy!xpK7EORCx)=Q>gnR^EXI(lvq(KD{rANpQP(tp=~%1YS^M9qNGZ4;*q-L}IF z9(QYex8@j=+&$lyfc(zFMI)A6#4R4J&T2FbHQlm)v|cvP7iwFWE8DQXx;Srpq~0oG zd%NEJd&EBIxqrLDsuDNW|9-z$wJHj~8bnWoKD_X?k@X(;x2bq8^7b#gQM5;%(Kb;LQ(ATkJ-7l;Ieo25x;E(YpuUVdH#R?WMG_`&KWAY{t zjN8k8mV<9NQ%Wxf< z1yO}hp3OZ{LlRFX<}>~YHhhtOm9%h)wip)Wll@{&;=6Xzy)S!QJl#wC+1If!wNO(V z50B{%ynm4z)WKfZcWr^-pb58(qW=sbJH!FlD@2?_IuybW1pfkz>kJ4(dYl0H2}=)I z*qnl*xp56~Y{MPjNT(QPHi>$X7c7PHh^9NDR42JqR@TU3StpN0ybxmIlGKT#sOW<` z*UaKv854{REid6aO*2J~5NrP~#s~;_&}s z|4$aLTCa+xK1a~SEE^tyG@o_&={rIr2@GF5AREDEP0ajU)Wh4(7|VtSvt>ikR{ zdbb{OI~5xDF{k;Qd*6Ky<~_at&jWD)^ZQIRu!Z9=X(6gD46~*!H_iDftEVj7`AJcu z>I&4dp>E$uwBhN>)srb1T!&FE#Dg*Dw+|hM zsSXH8!TX#f@uo?p7Y9%y&|@<$Vsq&zVQB&kcY@$tyBsu!5M3B^tkt-qoV?UWDt|A` z&E^nnvvbkK7mmg1LyS1)7}iesjD(e_y96Gtx@-}V)D1W@4pihMJpp`SYdM*z^@Txt zFa`^-{UOO1MjUGc@rAt=7?rZJ>=<6a|5{~0neAd2T<$fE;G3r63avod#W2IL)yt+B z6_SHCIn$-B@=9KfULik6140?{6qTr`(qc{exYl)ovir zZN-X|UD5`LMWm;;ODxoV6Wnr$G5U+HvnDQkLO4Yv2!xq=G2+0k5{Y`0_0t*xpi|nk zCM;o!WltrzA=`kbk?IHsO=q956y3R2`uswJ$s4c6Tp{ZZz=k87|4D~sp{q~GW}#q`EF~Cg zlQ)k8(qtIDTlphqbp^}B{f(oFoW@vPr`VYb(NatNP@u;hN`K%wSJjl&SA%lS4;-yza*DD^bpSs=z`qF<*koE|F2C4j zT2aHd+`BH7DrCBn(qr8YdxhzBI^o`gd8eNB{aXOo#0Ai$V=@~Ky-g%0?8^A z5#$6f=XQ<2)^?Zi*hEfY5!{!G-9-yUi%!e>Jfl_1Ar~h*=Va%ox9bI|Q zlx?!Vm>rfja^tt7qLv9dj*$v8id5x|KUlb8wX6*)s+Yi$APzkv` z=c7SQn72P>J=~35pR5y^*&op97`>8xv_@`fCmfM)im}Pe!>xYhq!p z6)LFYJ>aMKP{&R_GVMSYj&r;)lkmOx>ye?wA7)?pYl!{1XJk3^4p)C}AI~$meL)84 zBAd!2`eudIX?mqRDq%kJtt0DvUm_a57$68^l*w?O6DBI78{(GQcwHP5d*j#U4?vi9 z1^E?@Vm@IAB5>M3#7SzWlCTv*;Yr#Y;+^hCaXbm3&NZrEq_l8k>20^D6?_P`d`IG? zIT&+*#G=6&gbV2oZ>N93XrqKgQ-_X;_xZe|EHWMa(QHUUF_R>{WcRsQB}qg?X2ubD z-jkASLP`=5njK>QU!1*TbYpbG9CY?q$WqMmkP|7Th#-$rW0D&lSP#A}vm zLBdzuyF|3B(6WD;cbhASJ?p7i7U2{)lXjV<$OhkVGsRvW(JqLE_dgsAb_+*%jUE!= z&siCF;xNbToai-1Nm=Vxo`erj~o>%Oo?Yg{4X>zpZdHX%fVO9gkHhf>Z1vS z>(rX+CoL3ZI?Fb7fvRFLt0u`iP4J*mpXrC<>#S$0q-Mi@#??>FTRg} zeTs9hca27vw1!_JkT)wp_sVs%>!$~eogcJmvA5xv0-yguG3*^j{15*Kp`oiRH< z2#JUu(dmMBT=STBrQhm*ef<6Ln}_qp z2(S-}OZ~^5i8eX&k+kNNOmAYTfn6&Z(1m6`|n<>j2e8hc@2Z(}is zGs)zQF{xWmtb5%Mj@M|w>>Q3)**AIViX{uRx|e^&JoXd)np;<%pJUxG|pUNlVd~nv`j^zu*Lj4cm_E#YtE0Qf(R+%Dp=8F9!Q)P-g2XI`>y8t>($7@;Qb=A$|qgmpa>WxVj zvI=6*hTrv7Ra$kcn%DyUO*_+uWua=yT7seb56W7To@MH>l35Z8aQHFOStRSvqU9*l@Oi6Bw=yGiV97Rjym z0K6dovCk^C<$L%_fcs--73&}MMS2C2xy3^t>M5U;ZZaJ zQenR{_<;ryCinQDd}?~5P(PsMtr;NBJ7V9o0+T=m$-zv3YY1< zMZ67g%+kD_&X=CrssB7>)k~+K5ttAI>0%Z17pf!Wmm{7-J`2vxcFeATL)sRuTBdXH z8bPh~Y)ym)NQLvZfW2wiFS$zpU4G5&SsN-|Wso~D(>V+$_|$Kj+>h^1EFOQu@x>+T zQ-5;d9FXneA1iqv5N;IA{`8SlD)SrK?0}-O`^dM7U;8{mySNLJg;HvR#ZqZ><~##% zQLW>vGPv*wm4%L$|0%Bab!z$1dr3VEC))N09`qSJ3ZSh{}e-gQbe z!ClzBU~N%&0SFXQ5a_n_=e+$3T|Fqm3>&tWVODd_gV-c05OEEPwI);|(=C~lL(7#3lx7NxWv>M~o~%J{v+3q= zN@U|w?#||aYBq?VUm}0b{zN%pg;Aby1xL{zS{|{H(%DPxP z1OE$FRXptfcOXu(CXBnvvdiDtrjm4zIcR^!20NMU$) zte(ga^&aT8j4KX-`=oM8>kf&6xQXydJ1ykZNCwF3g><&_&XO5sHv3Dma}AQ~4K9f- zM8#h|*U{|a$V< zi96O9TbIR{jw!X$xvHz1yE%DTdF`hNM$)zFC@_&@L5n?Se#Uf!P_N-+UWAh=nROSm zh)Yx{br63>?qy$H@@Qow`wq5BNo4I+PV}uVuB>mdA5EOWjIYEq%8o}j29Oya7|>$N zP#~MJs&2EcHNGstq)hj4v^6{itYNvgM?vHX6);%yI7H@}efQ7)%yTD9QkiPm{o!O> z5VPI`ekUh|;~xrB>R3J=##nPCGt!f-LX3)M5@LTRUJydZoiW3kCus9sXjhNEglfr7 zi)>9VOzjHHsoa(k9S4xxLUf0#^|olX)wVLH58RK zQQ*ZYr{G{=H)F}fL6EbNLq;+?G?{##Qylm7sh9^Ue7|0Dh^jgKd0sNh{xaP+)&eXU-RbyImN_jp>9&ntGedv+s5^?*&Y~ zfb=CWk&3M-SMiH(zmZr_tlP5T%p(nV{)x``v5sezn7ArQ0zV2!(>O?Z4=~e7pN&JO zo$RW|6-YMqlIHG<(#!c>x2AzCtDY!qXSsSCX2D>a%^*gSt1 zCv)874EVvyTe{C@8J(=mV;IOdOJ%v0YDrMLypYI@OjWf1?A)PFRa$G_KDTS{mQRK( z55FpB;m#RYx39BqB+(mPFhV!*UbfM}AlH~obEOZet7Djq$#~C=k+>y7rxLLdf7cAx zRP&(o5~^)e)F8=%HOCQY36(=*2Nlh zPA$OWe+6+Y-9mXQD!6n8u!}Y`ug}4-0Btlw=N_YC7Zm)EDt#v!N_S=haa&?t0EC z@Bu4#2Z4#(dPO)GDubwd72JA#;~hP#MVxBSrmA?Fu=--R2{AQg;I}ahIVl$18Sf}~ ze&t7ZB9ftZR4;Br_R*EGQ~o>+r?yv~zcr7?n~T zM$Zz7z5B-y>|M7`%r1=Vh)XZ3v=xsX(7Fj0PsiS5g!nDo%Dd|-_-ubBY)FeuZk$J# zV~v*>Qv21w+c)L5-xz<0_RG6`!1=oJi5)Ls8P@qQVoRq{pR6N;IORKt&e!Ceb6St^ z=u%$&=5L)o0$`At65hl0@$gl41e`x8d`H(JN?H+`ORv)O63R z6eA%yYrz@UtgY$Xs^0!dBw0uIqPUHV+@w}y8Sv*ajU>_jEVf4q5hz6xy| zJy*}H%rm3xTPTv4aimC7+v|Ginn$WKUR;0*sYP|xGvlN;Z1S9FI=ES!XRoX_*k zKTC6&b#Q+=J1ynbtmaNT%FF>xDR(d@ba;HkNz(L8Re|`~3 z)Uv7jG(Xttxv?q3)?s`G#eE#Es|HN0iABd0Xh0uPeU5H+CA_W`>MhFbWqxAn}7Rs62k zG2`|XTii80pE#SIRP{CHfF|RUN!=WQC>z{u!)WdM1$UO=tR;7!F6^44mUV0f28Dg8 znCpLrp~DR9RQnC%XgJvA>=!mXSpY} z+GpY|s9J%X%sXO0#dYJGkD5TU*`X$+m0H$dPpaxpkbmC~P|z2>K`usLuvpsQPHG}M zhBW9W&5i_GhGO*31p`Evu$g2Cjp%-jz)*isirs{ZBM18k{syto1~r6593s0EWV0l0 zvovz1DRi_WrtBSI#-U-u$onjLtWgDTjH?H-t|MUcj7&CYlpA##!OCeNphra7|g^lSR+kat|rwzj2 z5$#$VwW3wv6+R`jq1@m66u-<`3ZT{`y5B*HJ-L`wF#}$p?P55K(us&n(Zj25KV**;e*|8V#kOlZ{6)){ilVkAz7A7Epiat@0B+ zfrzP1xF4jSFK&G$RMOv~{gM~H{xp&7?k3zh?`$OR@tXGs^}NJ4Jil8;??!$f$n9q@ zAH65FR{9+R*d2x^wC)J5!?pXDV~m>`gtqL4iOq8-{UPg|_2XMK{hsdQzH8OwBW#W* z4~7Df(NA@8+k$B?7(3j4;+%hHw2nMXzvRHIl(=Q&HLj>u{+gN>-mQoAF)8b}Sz@fN zvno2x(ZbM|6qoWwSW z_nE-Ym1ssPq(a0&h_HR6qcw^60hmGuY!P?#Q2X!C%G-uIeSzMp-JyRBd!aYjTah`n zjD9iCyXv%8+k1*e_o3-t1o0m3I%>Nxn$fYNlP@g|J89O#%5^9?$SCslCh{Xh-WkD9 znjYXe#*+96)BBNkfb96=TQU!rX-%w8maZlxdufn63|4#kFd1`X@FR3ZZ!sU+npak* zQu^e_vDdGoUsw^R(x87NX{e66;D**h51>2-0UzzI+rsX8%x}K&MV;D4`$@YI@78Z( z<+S2LdkM60!L)db+N8;lFpJtUt2z}WXSA`uomEmsl+aZ(aT81nft++`F(r783brQG z(dIxuuEvwPfHAa}6|2fUYL%+4n7V{R^;y_vC~gVXGP74?f4P4nMdRR*&uu8^`bQC+d&bL**-|eQ4 zfl(2L97@rtXOPgOGogn_;&o@5c3L}oHjkp0ER$*%W$E0vtW!9Ma#Ma8H@R6qNeZ@^ z;CO!_{JXo0IU0ZP5rzT-%Ygr%wLys5xfofS{`Z_DY4vq+)W6@Y;nra#p=Z(rnSuf) z$04C1WuRepzk=swCj&)aZpvU367G#Ye^j-6-4I6hf?HnGNs z4ANf?oadvDEX}Sux1T4oXg=Sb5d^@~1|7iYERuKPcY}Xpi4xf0n8cQ!lK99{)FYk@ zXIYDlQ_2riXi{cW_?`t<09|C0GZ&^I+a&9uVnpV7&d zCcuC<*pJ;{psW`(J0X8hcsI!~DbTaJd1 zi-$p`li+}b2N1bB4dPM1CBhPuGRQpi2K2{!2IsRWANn}RRVa&Nw4J_;DKUv=rZE4m zfR;RocYyB%kjTC(SvPaaM$78W3q*|zqf8N8_?7&p!iE?3!FsjZy;u&w&$$;~$ z?GS&S^X>B<21JSdoKjYZkifl6h+5Bmr#)WiP?~#nNT!sO=u86qZD_LNq&%9cxhmS+ zbnmnsM?E;c#~GGphoc zto*=U?6HQhK7K^0_Q+-^OzKM)aS+Y3M8kgxvIeA{Cz-^_(3D_B$eFfCK2z9fK?PsM z%3~0#6)eGeaVHnhwW0=z0{Eg2jZgULz#Hi$!h%y3elH`{WC;9SR-Hd#zcIQ?-}7X0 zCrGZ*W28vQid>PZ24KuJCGbg64+~4dT(jtK|8WPJ2lI`KH>!4^C*jCZC)U1V{m3ZaO zJ>WEb3wbQs9DMsVF1zerR0jd9H!)od8j`OaenghJV_nGSfEQ^LExV76ICyZ8QN*#! zBj7=f{c4?Y58cwL74~yeQEQQY;>&+{g~zZ!JHf-lA-Fz&3i2kRT0p-G1;5a)omIHO z`4tQ7M5}nPEHPCCoUO_>PKaz;Ry7sJ=^A(r6@8Q}rhOcpV^ErQk{kPI% z6D%Ra-TlD}C(1e=F@yx<*}G`iMWFEO*=5+Nc@lTmMB!X$J)M#$k(0u&AYW0)?ODf4 z>TO154Rr5*_sB~0yS9+#a0x5;IeRp!?XRDgeyJDiwF0wLyL>;Mf3SWL@l)@c87GDB z|BB)3e_T+<)Od(O((#Ps>wSMv-guk%dd09XZa9GR@XdG;tBnu{JqE#z-oi@$T$C;= z__+#H1WROfOEfbkeMJ5A-6T9?!5re%Y_^cch11BdYZdv?N*uJ3OLC7q8Vj{(zX&^H zNV$T-Ojf~67B41uAP3v4MfnuA??9|vN3E_1908lz(R3xNGItH%w9 zYNfMM@6RE&gJO=~!mm>i_yXOA3CCywn90VX=5!)^_>U0K-JUX1E*LN{V&wmeLyZ5d zy8YK-xsaoyp~wG8mWqGWM_oqyOAp5~&P<(~i&L;i6M)Il#TXDvDWwx(04b@6f|sI+ zspHDg4uLdZENLu-W1NvO@GGNO@-6q;!dlUojT~r|*|lx+R{P0dd0w#HSx-C7b~}u4 zG{xmM#dqwz&Gmfq_pzBCOe5Uyd<0noGr|RGB5c#LDZ{@u-I;$o5p;4VXk#q$Sq!xZ zvY2BkkW-Rq65PFNldB&Fh)!5|<$_33?907pa?fwDM}p-IUI&JdQ&!E$z~QU1)J9hG z^qMFx=+{ABwBKy1@EWro!RMtUR%&9>Mom;To$vuNb4;r}s0U85YqOUt@q#Y2$a#D` z=x8HyYd?Tv%36Qu3yPGCrcniRW2_Kjl;}5WG0BWs8p63P4VAVl28?7iWBq^^mkl!m za$EC_{buMBJhQqj?wwK*w^0T&oU}mXH)Pd4ph#0PhV6wa_YuqiLgaaSyH-^Yf)l8x zM|gv1M_S4+bMjX+j(hL%Zx(k7HuMg?e`|VP6_ZF* zzPf>H`=NDHpPAbL7QB4r@R70sT7L_a%I5URsAJ^}Xs(A^B`RWNQx4U=wok+0tW>78 z=iQ!T>72Ho%{2+wAF!A4?@^aZC@a!J0iuYEO=j?`=r4q$ax=udUcR=^&d(Xtz_0)CSbnpL@HIt*2lOf z1pJEJ!=JPY-0}N`SN_WWpI9mdg0rH3LDg>gn!|se-}z(E{nI%l8w7tEN5@sUd585= z#Ur$XB!(fr<0n08Ctwk$vQ%=978~=n z9v&c#(ao}#!Qxn?mgDkBhGR4dR^vsx@sOpo8+Q9cx2=#|Sa7nFXGhI2Wn=Df<1@zz zI+lNCs8lcPq5|_YI@F(n>*hB1?~!OT1t~XA*=GVnPYYoM&MGzNcd<{u1*^4#cVoag z(g6m;9l ztW#A8*luvMkGbX`G|#jrO(a|@CofwYTRB58TyQyNVpAd2{0^>AE+Qn-l1^D z9?6c;NHe3%h(WeleD3A=fLtTfkZeV1Fx{x)g;mAzPM*w(C1|o>7f>7)kR7GTTOOu9 z>u2U56PM^T9!;rPI^toZ^f@^;3AukIS>+-AGd(?~+h&69)X2N(lB^w^=0nUPnQqn& zs=mblt1>Uhs}7;90oj^1z^#Xry=dmIjTtXmEp=%g&Jyk9?|u9IarfJ3H;`-J!NDN0 z&7#=`U{$V$x+zqm!)0}Lx48_370pqMEEUruLC(n8QmK@M^7K)mAp3cjDgJ-ca6O{5 z4m~ZNY9P<%(F~*6qrdQ%Ti;&cy97AnEeC0~Ol?N=yi-)-8GfBetAnD2Sk^znR^@Ct zgt+W=X&LieE~pY)TbPZ)35zbd1P-&;VnM3Z;a8hWdg_6!nM+7w_L5>>-xBA6xdW}K zixZoOD>J{-%eW#0cu9-aAYOlfypKcPF{`6oxqR1jH$Q)`gQf_RZ%^{BZGSE^xjnYI z4$2;kNx$^!?Opu{3TJG9P4=UXJX-0*lX=ddb8i7be1#_J;foVJk-CZ{#LE7(#}B7> zro|j5B&Q!tUjTH;*CQ6n=VO48reQCkn);dVC-PBNe_M*v%8Vm64jg|6LcX{SrsySM zQ`V4=-Mfq5lqRd`E-@^1BU$}Vk05<3+?Lyy1eAx#0;BQ)lfRwOph*+nW@98XC%x=` z$;P0z*3v=m27_B1aJXl>@y%F2r;z{J}LCpjbclXod z2kz9)uv+@UQ3w?TP|S^o!FYiuN$Iq6_0OvAksZF5!s|4Y`vrf*&0zwoKb}=zBD}@6 zno{#HJZQXqt47?u&qm&;ST-D}94X}!%moWPBRfxnb^P5B!X+#n*wwspKk#k!&-oRK ze>n`xk6*L!u}1ilN+6j;gwRheKt>fFNv`#X+mrJ#WvDSR4cv`MdOU1K>L77xUQy`O zGT)O!3KU{z^;&=bQ@b{s(@v1&YPYim$qR(_9)2i-8?%DU zIE-ebz1L_`^<$-KAK^f}X(5rKb0nbx=YunFt3XXXSJ&SGZICbU%NhVHw0YNXjfT`wKwGAX^}!$7H_`(aoFyYQRZL04!AaOqdt6(PBoAu4~=w@UyKYCp~mpPDUs?SKIV8O84# zcXjyf5QXs(H-_m`Um)1O&n~CeO@22xvD_Tt`4OBSuJtYR?AdQvASr|d>TkFou=VT5 zziTpjCSRI7xp`Qz2DeeiB*s$JFx8$g@AHOs%|uI=Q!))7J2}( zt_6IX5)^NaiDiBeGsZERFKjE#I0b71iS#KmyXJ=)HYgK|&5*~k!-i-KQwBm8$P0gW zN9nFi+L!jb05(NiEw!K=>1k5NW(Zt_&}i&+yi6_z`M>KARTFK^v_?jR9n;iA8E*i*nNgkSJ#i0yyr_5nyPOzZ78!-C4|30p9O?LfpZ!pE}02WRLCE`&9U|&6cU7 z#id`0QY2=Z8zoTD^D&w32@OX~pv>u37C#`dz}8>0I%7@i7ECr5qzNqe`a(IYKVy8= z$lQG_39c+{)fvJ&ADn*)f9n0a1U8-J_x*g|o_AdsJA{^=o&90vR&eA=6Cpmg!UTxL z+KBz%4cvfh5W&8IMyIY13UN?%)g(Qsxj}W%tK;3WsBzlV)P3z3ksA4r8~Gy0dWOJ* zV~izcTR~*>P1lq2e!4bdg#+r}UWtAYu&eZ)C*tY?^;;rBFuXcK_2h(q8{A z8@K~PJSi50z}`s9Gto~yY2JZ6t7oKh$?9F`PW+<0W7N;e-BmUj(T-<_r{?w~qNs0x zJ+Q@5B!ut?PfF!9%hQ5w=+12ke6N#Dy|*I(G`U>dFrtx0Zzi~5)1V|e`5CwvIy$yW zXDq)gycO=KCbzv3Ew3zb0-4jaW~Hty0hH%;@+n%Ev-1SPvA zY9$}U`@V{qS-s2UBgZNYQ#Cb%*R)#>FN@GWB#^Schku7drnUUFmJ_neK%{#~go_)DZG-w3pI#)BNVw*X!G>#}lvb z+uL7Y_AnK&;Lu}nDnW>5m|DyDmRQOaHD>6k%a0M0h}leMAwJ1Oobl8WNJ1(h`9@&W z{mD`VDYG)hn%Yaus#T^n&Df7{SklXC&f}A{q~AHLWa}%_Z8|Nq#sB$EX_2kn=9KO` z`}BW&SFsVINYHY5=fhG4Gbm=(CIm~!Bk+ofVBAYEa1QnwEdH94OZXeF9@=ID*j)1 z)y9WE!f19Vk!s2<5?(7rj(Ld1tVUHN$%H+y=743hF-5Aif;7;%6C^wv2vtzc&|o#* zrn;xff=k6pjlGGH(mPzOT(=BpqpN@Oq2BtMBO3T-&JgSh=+|{*9&i(x&vV@s@HX7Q zYTkIcx8E8lsP=I&)0;Yanio(dKjreuHeYK0ME$vYc{}=PCu|v1o|j3ZLltuCi&4;Q zEmRTydC6T5kY;$@Dk46$nzKKLJ;4DK1mmZISHbcfv^Qp^ZnFr*Q>ryIjx~QbHxyg^ zz|y~b)9}Qw%~dqjxaKeRBIxROevoG=vUYn^e|KJhdmPQf`FdA(v%?c_^ZT3XT=T++ zuXVuFS#j!$hdU}=g^FWSkw1;~fiH8_Ynl-_%R?$$Bh|))G=S(wIj8It);%@i7JUI` z29$~As}ngWu)}$+o$ICZ>^+ zZxM=`r}Xb|UkDk9;PM8CKL2iu4BO0^`n#61jg)qZCdi{MF=;dWV!7Y% ztP4umnR7Xu>A13xVp?vn$R>*a$s0 zwhCOmpP>vR97hfYKrJjXKVL_jZ~{c5*ip`S_!2*{3x?VNB3>m9kB$$fKl&h8u!2*)p*mpc(~pht4%W&rX8S67N84@id4p*pD&!D4a^RUJ z@}znAV$|n1wA9Nzpava2JbqNS1_*GRKX;HLrs@t{L&rah$Pj;Kr%C2=V>G;F{|Os8AIEJm;El~BB;p8E@rF^$jr=CkA~JVcK<(&CRxd&2%&~-Q<*l?!VLy!*gD?N1=K}^3B!aV%34@5rLf-aH^?~H zx360_lYYSX!3}>vhLQWS-Ev^? zG;Vdkny7|2$}?ip%q8wp_X|>&sOnr@a-P%IEVG>EL&1M-l3U~OotUPzXb@?yOmOr9 zbfs+j;V>{Tk;@*aipMyO{qv@W*hn$C#TwDCSOCraQ)s_-AzEyWW`^KNu{@{eeoYn? zjck5bor{+;NAq17f)>Xj_6;^9P3}as-6QXx6X38Z&~ln~^#h=kKPGCmuZX<^ahmNj ziJIaWtoeV&YXrcQ*GJos?NFi>j>0Q`?;)qR2*14Zl@k|3&Zk29yu!41ZY2_*03+t)(-7}te+%|-$iU`1xW<#{4TqtSf_ynyxJ`{Hgbp*5bLu3f)O`g$Nu-nDL zOt^m}fzV8#?G$E^sdTmCAn%^8sqSjGYf0MZXUr67_z(AAxTcf)Nbvw-I)!iF(MNG0 z-a}d>RYEA#r)+{O3X;|_583|`I7aTCPA|!y*9$&VM0Iivz5I~DJ6kGu2GHgG zmEs5X?^`~8@Z@P00t~DG`v0N0FAOvnH8p<*+8A2@?+vf2`>!E5K8U7eOkv4fHzaPVsX#rN80??=(t{z$EeVwN$k;V_$jI$BC7p zpG<`W<+PU@t?f?Jt;bufe?O-Q{J( z*a0&Pc0y}0f=bt1{YuJ7e<`3}YcZ3}NBe5EtF_U~Lc5ow)8m8(jlw?0#(yMXpR1P{ ziCHXqSL(V)$H}xRW%>#;3}(VPwq5_ZvZu_mSeeUl^3sx`hJOI9?3@3VjB5#kBmlbw zQ34hN>gvNL8z*YxC(VqxYNzo!g0+9XL5EN?KBsNwnCJWm&4{!EfTqLZ+yy}L3#SEn zm~sfR+T~c0(k>bM1{_ALJhAr|x%P!xgtx#}zbeG?o;v{wc)@WT3iNmZ$#YqcO36|5 z!2N2ouAt6N+Uf#Dg%l^vNGjG@j&EvPN&U@iQ@k^frIKd_=Z5 zi%Y##ywz;4C0Nt4S&`bVCTZykh8Fe9bn}i@XO-*5MB#bW;dwex|E&6IJ%g6T(xR$u z`1ff3{wi74RnvycsU%uOinCkcb*axh7Hl>roBuAyHXom5C&QnLaRI`VO(Ke-h_k}Q z5N$!TshOHhyR2DnukAxFWu$+L0Hu>Ta&RUz&|*8v^^mdQ6W;o!GU3H#{f>4{vWZya zIuuu%-T9r8fg&Q~lNN?qOS`T0rXyih%}S%}tFaU)MFS?Xy=Uvj(*J?BE9-*xCqfpH zpq6G<9z97fOEA6MYf>Is6_Efua%Cud07zcmuXUANJ!dYy^ z<>2#NY%au?G*^TYw={M;yh{&H-0YKGPY-S~y z{g99VJK!Oh56D+DEE}9L@~mlf*!FM@`#Lz;ttjA;4R;!Q%DsNFvAr&|&k*zs;>F#= zGc~`;$?!bFZ}EAhC9;3B_TtDxX-t@;taO|-ibI*?IHPuz--4R>`;RkrG1Y3vILEa5 zb;Tp%mia23I_2$9_Yl}3R_R{$1a3182F?#SBz={?;JV>aGd}e0D>@3s9xxhut)AEmbF(bR}!kIMmb82l4(bdz7$S2TY=)mxG=#GL07&! zVy8sYC+8V_V9b6JeQi*ljhbN~3PJkfUFvl{-u>UO0{S1UFrPbmUHJzqoM6Ggxc&!4 zCt*9ge|e1mHuHb4w&}Pgj`|lJf>|_VXF(44V!&Y@({NZSksKH$?Tg#qDDp=xcOt1B z%0wHV$TVm~hT#sZ^%U-bY)$Tq;SH?w0>Z`7mCVFgG?J(D1kjHUoPM2h>vBptjP3S) z$Lo<;ktPa(fpS2DA;of(_+VS6vn4o@#~o&FnMADdd3}FHw^5CGW~bY_Oqoj)l@ih# zu`wn8MpB8ysS_c2U31bU6t-+n`?Ov0v)UfFU0P{W~7oW@;8_AW_RCg9|!eRGZbaA zakld2W7dD-p;8(=VX;im{;0?Iv-W2>s3LhTw>ECpYXcJB8{CUU?zXXony-njMuI)N*%x78q!;&q68FX1)HMM5ql1ZoPB@Em-y7oKvw#`2eX9&RYjy=TdE=M zUwCmHnb0sc^E(w&N%g+xNN>96rrkWrt3Zt=8D`&Rfb{wUBhhu}%F2Zslqr`fHL51F zzH;u85u&{>8@VMj&Z2l+O_d#(>To@C5kvoBN1+-FhboL}i<;RW+9saCAW0tCWj7)U zpI$m}z~n)2tls}|Ciu6+#Kw?kWE+3(&Rp#8VseiCBWf^E^8@~Dfmx}+Oo3B~3`c2n zPuZKi%!I5gQKgP3xv~%$uJqy;b^8NdDQ|(QJ4M*wkL?i11Y~Db^2c3d!#UBo2mi_h zD6ezm4f$IDS}VWbf7Gad45bFDeg^|9Mgjw4`kzP(CdU7LpN+bvy^0trpKO1~ss*@z z940BUAS0Y%9Rn$(Fry$Q@<>oEDXkqj!zgKDIwy-zK|sJ>goB7egAQy(tyD!6Z1AC8 zk*Y?D-{1G^?(MV7>`bETcm*NF*EFXqzU#+JexLWE*V9;ru5Sv#9Gz*Q01RB@`(0E@ zm_c!GaZ+5?fRLK)U!m7{2FIyb{24X>wUwG#DEq_&{2a2c%Kx{E}aS&ua7Gh{IrnW2W9dV ztvFh|*D5a*UH8ifa?uR^^`AI{sZP!!ZornVAnNwz@(nxkK! zG)x|_Y*(lV@*-PW3+5) z4tHdWGmlH41M%0(n9_fcJw82DKGlflFC{D*p^fEZSbitpGD7!he6$aPeDSF%PS5W^N$b(`e%1F> zXwj=4%RObWxUe8nX53E-?HqsIJ31cojo>mSrU*n81>1kruQC~zw3hH^FYNjkB4KaY zL^;;bHO5R5EN@2Z;*`85p0$J&w?32U#}~g%;eS{P4;Z2z(i)16%EWADY+`I;zA|}Wab>HMlUwHNZ8(ojnmmWr{9{LSP)iLWz?>*$yU5oh*IG=!!H@@D&ylZhW zUrnUhA=JRqLW6Ss)V)q%1?P04q638QGRU_8{atG({Zgk(WT!WJQ-HZ?|q;tWZUrENxB7Eh4F6GTA%Q%M>>-_6TH-|Lq7=RTd~)i`H_ zyaPaAIq)lt&^PbD15+c;+KWJC?CUf3=pQz zqd1&)7X*|TCN6gIBSXJMhHj!GAZYPkG`hQgFYFo4?BxM(?PvCOZ!Yk=MDV+$@%4xi zwkZ%85<>~%LJ1N=3F1Qu5jZx8P<*s06*Z-kq zIP07IoFQ^_(;tnSuCOd0JIarTXxE>AMp$Di_%I=R)wrV%SpANZS-Tt%*`(2)(*eOy zC{5AQEfcluIeCk#cJjZmXvH{y@`g*B+nKg$8Yb?ZyL!)k{RY&{0p)X^!9@BM&tnJr zji3N4KvAb_$$Q79_h9Y*UkKO0yqT!C1*gGel3D!F?67v7iqf|D=|KG0qPu#31ENnt zlrgnZsjo;FdWf2=et}G-{RsslCg{?sQ(s;S@ru9ZQ6ZIxB`Eq|JOm;hgkm%5 zq=4n=f}G+;k5bcVLwa~f`C$;@X=SpFS9wRn`HxleI__D{r$MVS@kVaH19?>5C5v#V zw}XY0HB!y70=#qR+CW@Q)YZy=I+TOh(TUyfS?HU;qltYcGuP&T8jFO0W_zAMcWJkH z+x=UNB!Mh&RF~ca`mK;WkUcXvS_X5J3W(J{Zcq?;3G zOdReX8ZRMZ?I^T9Lw6u_o&xH5&H0DN|JY1HyNpFxFkoN`=wM(x|C0uPc0*@V72yBJ z**k@20(9HDouuQWV|}r0yJOq7Z6_Ulv2EM7ZQHi(v(MV=V*mT=3YV3g_mUanpF;<)nKbSM4Z^3A z2OhWSXWEmEnV0h(J#Xk<&(EPKaQjkwOZz-Qe|pTUKc@yxf;qEb37-Ay8KI)f;QK&4 zrhR|hVx&J?WG66GY#B%k>-oE^dOx~f|L~wL;&}ZDscl7{osTYm2cyPnks3hU2z{AEx8CSrvGK=!L zFwE)^ew83;xpFHjO;EA^fOk{9PD`YL)A}kpJeC0XHR1}EPg7D`y$mU>8lZI|3b0sS zx*(4b6VNV*Mp>GFIgg?g5Cs}Cv!fLzdQD1vOc-$q?%4noX^l2zdM1Ce7ZgaSQIGhp zlcXV=Y{dGL0ZsU%#X>Wrg|;Xyda%&WDi|(E06w0|VLMl=jbn9okfqU?1W+|-3MiMz zgEz1OUrBlZ^{*8TMEHj5|3~NU9_}OXui3&}4Du+0#hDs^i=85Jz6BAaQ)Xy`wQ_(P z_4TAmJ6+_mxCQmJo5>Z4&p5*fZ`+!>aYnE6q!&mJox66T;w zYJkj{QhrMK#d(s8CQ4eXOUs{GP&+RPn`M&%RXvU^7@OT7Bm4@`UMJKSJ})?ydyb2< z_m@^RJkIi_tcP#4VyU@O3%W%#F%pQ^K#s(1uN)KfQJFbDSjV@)1RBU1p^iJQJXjH=<0BP{^5j#TA)m7NC!*AggyB32BrQ2 zMl}VoEf(mf489=th10Sv-ak*AOkfNpm>|7m0)1pC9&+B72!Y~7>6qFKSQ;2}-ab_l z;MZmeA$_nRi-5L8>Z2{!zglWL+8g`0nJJ)dL>n*4Kyk4_AQ77$gsW66Mn%ixorry!fe_?guw1YhMZJ~*5He1A?OdKKvAfzE>fmA-u z^A9KnuN9_Ls4ic`GM14KB;&qk8;T?dYL-kvha>5H`(hnIgLa@Eer4w z;auV$j*VrxYTW4Za93g+qJ5a=OA9){GvtE>a7)K^CMQeDS%H%upKpr~hE8B(PO|z@ zY$RcPl!x|78WVdF3}% zbrp=QUEY^(OWGx^T&+?F7K8MPKc%z7Jn?BSlAa;mHZX$S|9`IP zF&YiPq-54f1X7vh44jnNGIB@L=Sog@htl`an&}OznS(NVh3Al&^^+`__X*8Yu&Rea z7HU{J@LmrrWG=akHi#6E2{O%sUyZCIEzr$zag{PuYSuAxI9clRpfRT@B;7Doa9abO&*Io1kSYrRE-gac`UBIeq`JWVG zL))m0a$Cm(tYr&~SzDp#cSW*iwp`+TRy;FDT5MEX>`~q6`pRQ}Z{azEbTs;_iTbN? z`ghV0_H0a`dV*k!pt!U03l645&JyXJrttVXzN>k1CaZhMSLQC?KOAjLR`_?{k#*yo z>GwjOUx~fEm+<^(vc6S6gD{B*enkB$cDIk7)#R7fll$M5uILL)A^M&pO0iDG_p(NE zJ=okv|JD;yd?rhOm7dfdVs7FjPwC5ya9U>xz=mY7a}CYGp|f#g*DV~@SFNS>@0R`X zf8zm88?4CIW910YqV$PGmehKoGup}+H1i#WG=ZHD3c;IZhpoj2^DZ2Z4!5|dg?xEs;@kNNyPl~wxmU{IgS38I- z@4%GfisBQHg1{mt9B%D%&osogHvHwq7~m6>c`Ok`&UjgZ_NNYnD;&%{Rc0YU8+XKj zC!)gv@G{FMW}f18M?Ji`@^;_Ju$-;qJ~|FI2!^8et`5^5W&sNdO)$&dmNz+pIW zWPmkuDj_tbE9IYHP>_Vd=ndy&n>8roFyaZ$t8%~m4BL*g<|&BVA0jQBo%|J*CP= zttB9T!a+(Uyc}(3QMv2&|IG^)nwmdT4dlda2_4lTub>s+%&aDxCZd#h(lixTfOBVm zU8?hL^;AK3@167vxL0eix6D>UZ+>wloqsA8t472casmU(boP;X}Ei++sGuHz-2 zbHB$HJ?tS^XG(sdNm93|UQ)LtdjeElwvOfd%GvV@ENZ@W5n_Wg1hfo|;_kaq5oueC z#Q-WCT96eeMJvc8UaYbRCsHD~UW_ZxR244B-CF_+pP?&vF;0N76tB4O22q)R6?RD> zgGVLE0L*(foFDelMdpge(O5q^$KjP#ncLMUmN46m`7>U@_fk|iD>!3TquQ9!@bx72I^>N^UKD^vtOLZo4{go8zWZlA*3UI0Tk=JNq&-l3v z8`ju)KGb(loUCs29B+H9a_!`Fue)tWFr7?Sk!NS^Zt1t}FpCz;tLn1BEGK;i`RNd! z28r=_|8PHz7W2H9f@^|)zbBBu;GKPdSgSDp3dRF~iyAI4GZzGI*V5B}1b^-Q*Teavll~KG&A+;HnsS>R_yKnQ zgNVQ6&>#>#=ulXkv#0rPC0*%W0!`;Ll%sz~Y3qmgx-a#L1^?E6zpbYoI>i#o80X8M z|EDiC);0RwR?#lA`}hpK`LA<|J?=ze^#)5kLBE86X9V(+Ob{P><8X#*Y|zi|@K}(L^15mj z33HWV_L(~!%eDo7+v+9usre^pRI30XUQ0I=la|1E;&|NP^H9t`xt!5Ti{XsbCmJKz z{dZ%A*R4xBDS@wuV);u7d2HfN$)(MaO}9V)*^8s1j<1D5e*JO;{r`Yc1U;Nh{wo#u zU*1C@J6k6g8xzO>-Ho#pWaK~@5wq%RVMFsP9PduSjSNwLl2FJA8P|*p!T@yHrV|8G z$yH~rte-SBc%LBO6h>Ol;v{u4W?c9;Q&#U^4{zYVR%T&yhj%4MNk?d87zFqR1nFVY z^c+PvNQcCzW!NS6ECVzojM6ZU;+227KzzV@3uPO8_unLdLr>)@m@5x^eKkM_zN^cI z39!pLwNs~mK$nqAGbKP9Q8HxYO4?|XUU+7s!$I8fKf+-(BBx7;Alz@sKM`~9D6#1y zf#C<|su5o{;)~1_P=sea^CW3cDxej9hLHom%y#Z)GG(rDp5ZgHvnO! z&N4i9{dM4-tp3?q>*qT;rSjqrFXmcQ-XMcCMqX8aM$7_nPq=HfKp?CAz-q7lb-C1m zu5aKu`>);jgJFbhl(qXQr1`XdVeJi@;j~pB{9j-KxJc6QgYfHDBJr%U08YVjpyCS^mQ6sYIvARjo>;#rA(KchF7@+;q5+ zrIDaOeLuHkd@`L(a_(@Re0=XbWOlkARhWU$6ozcd@5=8j#s+E&YG_q9P@zJ%05yeF zaPxxNXpthOYb>pGn;fH%EZO%L&ZA=2aM_`Mz^Ar!bn03)Hf)A9pPlc-MHbA}Adl2j zAlP|+o0(D6W&Mr9GaprotI7Li1m)ClgWlp=uDR4cWzKwMW3?fqQ;bA@NcTr<;2638 zsJ_@HFDtKHoT9y`oDNx%BmfI+%9ICZE8e8g;Wsq0jaJljEU9?Il1$YV+dy1-^tE|^ z23E94#qU`0)ljpnN;#K+44^~vS$buWMRk~{&uVDnhW_t~mG(WMxbQka_+AeZK?ZyQ zTYM_!4>;=XA>vZ207>B262M7@6DzA4&&!fWK^esKO=Dpq|hMpsyvCj%I>N}>gY7`WCg zVjq-;7FezRGMwS!$61+cBax89p@=;&5^jLW+QJc7*}nF-j*R zY#1ta@PI7(dN9CNfc2szs>y74^^jb50oi1V2>wRk-wG7{L=1<0JUgqL7v{l$Gwl+gI^x51Ekh!|{aX)z}WqjG@@LNV;mI)rdHM(`H7h+dk?Q23ZW#bXW)v8ZRN5#FvsXtGNcmY)F!k z?mXyvXgXLCfGI4NfD!v24Qi>IIeYqTv0LG&EmNV9@oVuQMjGlJiUdOVDyFk0@(aVP zEJ7^175&jx>daa+nm{cUYmwA1ky#DwaA#~cAhOnl;T5pSpa5o?_6g^Vh6rgJ87=zapldwFx$j6-%q#>=!V7;(|5j+J9NU=gY%mUn~nVj*h=_d*WId1)n+u0-w`M-qs2w#;rcVEZRhE_d@Wk z$nirh=+I1>eCI1UP;ytQ(mJ@-dYl+lco5lN!r8dcN{t?!u8MPiIcF~(xjZpiBAFj_ z`N;_%a<@VwDP|dqU~t4bzNrA8gK?p@rcXL03GE_1aG==yHs6#g-8h&G$ScKh(jI^g z!|`Rrv$6#rm<(7|B_WYBf6b5G+(e6M!U_xGT_AY3FzpYW(+6ZNEAH*tv3_RV%A0!? z%WPT$_lqaLyMVfXJfve~+<5Hy#YJCSX>awwgnBwTObtMU2#r`$TH&ch^kep%y{0(~ z(~B;;O-dUxpd0A7Yv1R-G?Y)KglHNC@q)@);QNP{YC5KPP^JpW{aazc$vqn^G|4Us zXxAM?(FVBE%^cLGkw;?h`dNlS^i9b1t!`ejMeodG5=)A zCj{5cT@tF+39&qT!Ta_4G3@4jYc0KBkiYp-+jYiS6Nhw{?e*NEhujll+3YH|cqS4> zeQRTUXE2zUL^cSlCRS>tbLy-kT|_rOm~BS5IVcQ&{g}4~O%Nx)X~@>X^A)5fR66pa zL#C9=w3a)3iCDwq1Q#_{0D=J!0iDV*H}OKmCBM}sloVa%+6v1L=SO9-kpk!Jvq^-S zCGJTlX|VC!fidFc_j^PUf*yb)C6E;mZT2;f{50m2HX`F@n~VJ9oSV~=TPB)4*J*j703-g?O0y138gm#i zcy7LyRgv}@%4PKZ$jM-CKRI}=sVakNzT=qf8YMeO0XDY}BCC;@PuCB0jg;=%cS!sZ z;WA4ot3|jJk6QYJbN$`-j;kp9E!HljvWY7-#UqR+Cr^2 zrk50mjP9rK0@jQ zORux$w5;y!(s)A^*6rTC?xZ5sr0by@m(U!lvaLO$9`|{WB2Q55n7-FkYfpePGSw8(R@upETe~OBc8UAEz{BgpK#G$-&W~)# z+oqNgeIa<`?7Di176ZQVQ@MhT!o|HbY{(KdFb5$;m(o@=dZ{Bx?NGC8Lt#Q}#eT=G z=FkVD=((!+g`orFni}=DIpfy23r&OE#cuO5zB5glx&v~s8NN_mBg%F4od4Gf07d3M&YvlB+v*n*SCzKWAf zQBtkmNZ}EIQA|YU9U>%CY<2Pp+GQIV^rr@Yji3Q*k;Fc61qk9l zw_km#_g-nCc397E=X7i=StlFRa)urV_f%A7Q_tK9>a^aQK2Y0|b3(`$)CsGbUz=p2*l}6gqAk_xs7(l6=FvNjAve2i+PTBT5vZt&7SL|xdn>%MgVzEE_B-7ut6KiHFTGnOdIOp zw{K61thR&ZwR~J*STokih3=M5x~*zzO?U!J;9Qa@x-tW?MM&{TZPJHZoluP^;m1D5 z=9IsG7q6)yn5hA=Sgn^m?6nBuOWj6DYB^fQ>~IeR*DHHCZEKFvh_3YrWZH4TX+Owi zZvuk@GWQ*g>mK;!u+(Z`&K^kTbfTTTttZOI?Vp;~fUm;60p-vbc_h4IChy3BQIJ1) zIk}{-BqMEsjp#YWQ|^hHcUUk5A+Gy~ya6+Ra|ImIAr3*&`xLkXCubAxk+KJvStAF| zAR}j590E1Fu#d1j0(N^5&PaNSIHxMw?vi(Vg^H0i6bEt2k`9t({aB=-HIz>rB{U-* zCfwO-uDciEVHk;BufTf-UFAQ!8RI3lHb)Jw*^a0?YS9NF;|cB(9_bqkuXT>-{0iBB z0~6zJcj5QMpV}T+J<7U6R^uD5NsiDxt{ivm15rC%&Y#na&^>O_BltKb?hA|VhB?~PYo@Hn3Mgja?8&)v z<9Kw-DgmktDs)!)iK>pp_Ked@jp5gS0Vzmn0u>%2(7cjvvw-axu@Dav<{FCp0@OnE zcI+YNNOZ<~kXNh{zR6=~7*1i* zPyIJs!W}*c2E3y;5bW!Hqc*zQuK7X#6Db^CcNZ~%{rW`!_5Z=^@P8YBXG9(CZ2pg! zRMM6#iUQ)uPe~Cit<)Rc1>{b+jezQ3VG9xepu)lcka^e}*$H%vmX0Y`sY4L&-}K(F z(#rW5eE$$kGM!wt`T`L1*?IAqxqo&h)1>`AKc8`Xg(`;;|1t!yffEK{9ZR~3926@Y zic}|gO!1bkEoUB|ddspHd^?G+g*!>w>EV)bhbFm0Luzm32D;X6(pE_XMZ z-fPk(PzldPoBw76$CbxKuda-(P@ZxbsXnx^${|!F!dP*|9Oj8@w@TG)vrW<-XlB`K zyvAo@9GpWFXbHf3WQxqDZ>wu)I-_J9r1`4Kptf6?m{Mid`E*L=tIP?=bXsO zp|)?RmI~2^RNf5TEe_CXonml=MiB~Ct2jm)`0GgQQZB7KjCJ>C07g`}vQ=7TMuRm) zi&Q6d7&X!;K>DNo!iR8TVm3v(X)%+q-RM$lvx@sSw}(bseMd){$-8;p(-U2lb9wJ< zv*}HotlD<%B$-@mN`NyEf zR)M7uw-@i6s6VowB`cg1ZPEjc8kJs(JVsaR`5E)=A$VpFH=C2>?A!#IPf3_Cb5)j$ zZi~V|L}=7CevfvHXSwz1aW&HL8oE8&7FjwK8m7&x=KAH*h%`=9Qd<_?sC2Ssq=D|{OMR{I} z8^OeOSZtPm#2S(Zfu`p92!_MbSDiiOLNiKra87EN{7gV%YZ@z>p9(lsyn~8}7aKC-iTk8Vj?F6# zP`T^kS+1PS7V%juG1l&8J7>s?Mm*=plSMp#^%J>&(nSi)(*Au;l{R>?_c#g-jLxtF zBonTahGNiN22N(S5rTw^{XqD3qG<-xCi3;2?(_$1_6K`!|3i3(n>lK~hyBm3`1e7) zx&{2#uNV0LSuEp!C%*slgBd3!71VE6+Y$+cE&+NQd+8w6NXr_by%E!`UYYnJ>>r~K=Agyw&Zbh%rqRd$1X)-Je!8ZMR zSKcmF-fwWSQ*P!RKFJ`iEWAkrCuU30mL^GBovaDK#@DeG%J>(82LtkZwpw7N4gnWb zhZ`g|<1N?nkQ%frPn4m6+SfTxODHD#i-Q2sGFrC3{(z0i2%y?z4f9*^vFD1k6Shi! zbg1=lwWI(a>`IHl-6F-onbT2lV4aYZvW&JygB|Pa@w7&R22UoPAy1qHRyfLAT zZ371)z(zU`?v63cNv6;z8 z#{PXkYLtBTYg$8y6TkUxcZb+ky&>l+x>(nC;7>A z{z!X@5o6}Y&iTB|!U<+A zDh#+|xtUarg7lV5VUGsa2}n18_<+AV7t&{&23}`9vzg*W`zaPKdh<;4FBp;VCemOZ z4Nj1R@D~2xI{%=x&GSan(Kr#P+w49Lx!POMhHDNN{p1Qn)+d&ix-)*Kl^NSsoo3$V zq5o5qAlmrxBp-vnJh+y0F)C1QCR5?wIO9jO9Q`?k$+MQ^Wi@kUw-E<_BTTo$3vanv z1e|E0lu1Qhq-fEFwMPuNO8ky5vgEXxJ~Vc~wbtb$FOo{Wv#v8wMw8LlPJd7sM3f`N zuw&urIK+sJAMU|;(AL;>m|y=Nq5}&=yHt;fzwUX4>BgV;`pD{xF39H%n@5lpHi%P4 z_ABt!Tplt>vk)JDI!0;>9x{z~n3 zDut0BzHx)nDw`D6QN>i?b@emvQq`QTtopB{tzaEHp)&$sL4D*LPV�=?jis9Ysl4 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%0AR|M@b?0z=)o*KhPXKn1vH9r;3_&mH-Cf8Rku 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