From f07aab905a5e281d075eb8749e2c3f30d2feef47 Mon Sep 17 00:00:00 2001 From: thomas_young Date: Sat, 1 Apr 2017 20:47:54 +0800 Subject: [PATCH 01/13] =?UTF-8?q?LRU=E7=AE=97=E6=B3=95=E7=9A=84=E4=B8=80?= =?UTF-8?q?=E4=B8=AA=E7=AE=80=E5=8D=95=E5=AE=9E=E7=8E=B0=EF=BC=8C=E6=B2=A1?= =?UTF-8?q?=E6=9C=89=E5=95=A5=E5=A4=A7=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basic/linklist/LRUPageFrame.java | 130 ++++++++++++++++++ .../basic/linklist/LRUPageFrameTest.java | 41 ++++++ 2 files changed, 171 insertions(+) create mode 100644 group02/812350401/src/main/java/com/github/miniyk2012/coding2017/basic/linklist/LRUPageFrame.java create mode 100644 group02/812350401/src/main/java/com/github/miniyk2012/coding2017/basic/linklist/LRUPageFrameTest.java diff --git a/group02/812350401/src/main/java/com/github/miniyk2012/coding2017/basic/linklist/LRUPageFrame.java b/group02/812350401/src/main/java/com/github/miniyk2012/coding2017/basic/linklist/LRUPageFrame.java new file mode 100644 index 0000000000..10393b6d89 --- /dev/null +++ b/group02/812350401/src/main/java/com/github/miniyk2012/coding2017/basic/linklist/LRUPageFrame.java @@ -0,0 +1,130 @@ +package com.github.miniyk2012.coding2017.basic.linklist; + +/** + * 用双向链表实现LRU算法 + * @author liuxin + * + */ +public class LRUPageFrame { + + private static class Node { + + Node prev; + Node next; + int pageNum; + + Node() { + } + + Node(int pageNum) { + this.pageNum = pageNum; + } + } + + private int capacity; + private int size; + + private Node first;// 链表头 + private Node last;// 链表尾 + + + public LRUPageFrame(int capacity) { + + this.capacity = capacity; + + } + + /** + * 获取缓存中对象 + * + * @param pageNum: page值 + * @return + */ + public void access(int pageNum) { + Node hitNode = get(pageNum); + if (null == hitNode) { + hitNode = new Node(pageNum); + addTop(hitNode); + if (size > capacity) { + delBottom(); + } + } else { + switchTop(hitNode); + } + } + + /** + * 获取值为pageNum的Node,如果没有返回null + * @param pageNum + * @return + */ + private Node get(int pageNum) { + Node currentNode = first; + while (currentNode != null) { + if (currentNode.pageNum == pageNum) return currentNode; + currentNode = currentNode.next; + } + return null; + } + + /** + * 往顶部放一个Node + * @param node + */ + private void addTop(Node node) { + size++; + if (first == null) { + first = last = node; + } else { + node.next = first; + first.prev = node; + first = node; + } + } + + /** + * 把node和顶部做交换 + * @param node + */ + private void switchTop(Node node) { + if (node == first) return; + Node preNode = node.prev; + Node nextNode = node.next; + preNode.next = nextNode; + if (nextNode != null) { + nextNode.prev = preNode; + } else { + last = preNode; + } + node.next = node.prev = null; + addTop(node); + size--; + } + + /** + * 把底部的踢掉 + */ + private void delBottom() { + size--; + if (last == first) first = null; + Node temp = last; + last = last.prev; + temp.prev = null; + last.next = null; + } + + public String toString(){ + StringBuilder buffer = new StringBuilder(); + Node node = first; + while(node != null){ + buffer.append(node.pageNum); + + node = node.next; + if(node != null){ + buffer.append(","); + } + } + return buffer.toString(); + } + +} diff --git a/group02/812350401/src/main/java/com/github/miniyk2012/coding2017/basic/linklist/LRUPageFrameTest.java b/group02/812350401/src/main/java/com/github/miniyk2012/coding2017/basic/linklist/LRUPageFrameTest.java new file mode 100644 index 0000000000..5949586262 --- /dev/null +++ b/group02/812350401/src/main/java/com/github/miniyk2012/coding2017/basic/linklist/LRUPageFrameTest.java @@ -0,0 +1,41 @@ +package com.github.miniyk2012.coding2017.basic.linklist; + +import org.junit.Assert; + +import org.junit.Test; + + +public class LRUPageFrameTest { + + @Test + public void testAccess() { + LRUPageFrame frame = new LRUPageFrame(3); + frame.access(7); + frame.access(0); + frame.access(1); + Assert.assertEquals("1,0,7", frame.toString()); + frame.access(2); + Assert.assertEquals("2,1,0", frame.toString()); + frame.access(0); + Assert.assertEquals("0,2,1", frame.toString()); + frame.access(0); + Assert.assertEquals("0,2,1", frame.toString()); + frame.access(3); + Assert.assertEquals("3,0,2", frame.toString()); + frame.access(0); + Assert.assertEquals("0,3,2", frame.toString()); + frame.access(4); + Assert.assertEquals("4,0,3", frame.toString()); + frame.access(4); + Assert.assertEquals("4,0,3", frame.toString()); + frame.access(4); + Assert.assertEquals("4,0,3", frame.toString()); + frame.access(0); + Assert.assertEquals("0,4,3", frame.toString()); + frame.access(7); + Assert.assertEquals("7,0,4", frame.toString()); + frame.access(4); + Assert.assertEquals("4,7,0", frame.toString()); + } + +} From bce169aae0bc64fc4d6dc2894f84748dd702cc75 Mon Sep 17 00:00:00 2001 From: thomas_young Date: Sat, 1 Apr 2017 21:56:06 +0800 Subject: [PATCH 02/13] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=8B=A5=E5=B9=B2?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E7=94=A8=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basic/linklist/LRUPageFrame.java | 18 ++++++++++++++++ .../basic/linklist/LRUPageFrameTest.java | 21 +++++++++++++++++++ 2 files changed, 39 insertions(+) diff --git a/group02/812350401/src/main/java/com/github/miniyk2012/coding2017/basic/linklist/LRUPageFrame.java b/group02/812350401/src/main/java/com/github/miniyk2012/coding2017/basic/linklist/LRUPageFrame.java index 10393b6d89..b29b385d31 100644 --- a/group02/812350401/src/main/java/com/github/miniyk2012/coding2017/basic/linklist/LRUPageFrame.java +++ b/group02/812350401/src/main/java/com/github/miniyk2012/coding2017/basic/linklist/LRUPageFrame.java @@ -126,5 +126,23 @@ public String toString(){ } return buffer.toString(); } + + /** + * 测试双向链表逆序输出 + * @return + */ + public String lastToString(){ + StringBuilder buffer = new StringBuilder(); + Node node = last; + while(node != null){ + buffer.append(node.pageNum); + + node = node.prev; + if(node != null){ + buffer.append(","); + } + } + return buffer.toString(); + } } diff --git a/group02/812350401/src/main/java/com/github/miniyk2012/coding2017/basic/linklist/LRUPageFrameTest.java b/group02/812350401/src/main/java/com/github/miniyk2012/coding2017/basic/linklist/LRUPageFrameTest.java index 5949586262..9f93ca8fc6 100644 --- a/group02/812350401/src/main/java/com/github/miniyk2012/coding2017/basic/linklist/LRUPageFrameTest.java +++ b/group02/812350401/src/main/java/com/github/miniyk2012/coding2017/basic/linklist/LRUPageFrameTest.java @@ -12,30 +12,51 @@ public void testAccess() { LRUPageFrame frame = new LRUPageFrame(3); frame.access(7); frame.access(0); + Assert.assertEquals("0,7", frame.toString()); + Assert.assertEquals("7,0", frame.lastToString()); frame.access(1); Assert.assertEquals("1,0,7", frame.toString()); + Assert.assertEquals("7,0,1", frame.lastToString()); frame.access(2); Assert.assertEquals("2,1,0", frame.toString()); + Assert.assertEquals("0,1,2", frame.lastToString()); frame.access(0); Assert.assertEquals("0,2,1", frame.toString()); + Assert.assertEquals("1,2,0", frame.lastToString()); frame.access(0); Assert.assertEquals("0,2,1", frame.toString()); + Assert.assertEquals("1,2,0", frame.lastToString()); frame.access(3); Assert.assertEquals("3,0,2", frame.toString()); + Assert.assertEquals("2,0,3", frame.lastToString()); frame.access(0); Assert.assertEquals("0,3,2", frame.toString()); + Assert.assertEquals("2,3,0", frame.lastToString()); frame.access(4); Assert.assertEquals("4,0,3", frame.toString()); + Assert.assertEquals("3,0,4", frame.lastToString()); frame.access(4); Assert.assertEquals("4,0,3", frame.toString()); + Assert.assertEquals("3,0,4", frame.lastToString()); frame.access(4); Assert.assertEquals("4,0,3", frame.toString()); + Assert.assertEquals("3,0,4", frame.lastToString()); frame.access(0); Assert.assertEquals("0,4,3", frame.toString()); + Assert.assertEquals("3,4,0", frame.lastToString()); frame.access(7); Assert.assertEquals("7,0,4", frame.toString()); + Assert.assertEquals("4,0,7", frame.lastToString()); frame.access(4); Assert.assertEquals("4,7,0", frame.toString()); + Assert.assertEquals("0,7,4", frame.lastToString()); + + LRUPageFrame frame2 = new LRUPageFrame(1); + Assert.assertEquals("", frame2.toString()); + frame2.access(7); + Assert.assertEquals("7", frame2.toString()); + frame2.access(0); + Assert.assertEquals("0", frame2.toString()); } } From dbd80bdcec21c8259cfeb5267b70fb5c30d1ec72 Mon Sep 17 00:00:00 2001 From: thomas_young Date: Sun, 2 Apr 2017 20:10:05 +0800 Subject: [PATCH 03/13] Mini-jvm first step --- .../jvm/loader/ClassFileLoader.java | 51 +++++++++++ .../jvm/test/ClassFileloaderTest.java | 84 +++++++++++++++++++ .../coderising/jvm/test/EmployeeV1.java | 28 +++++++ 3 files changed, 163 insertions(+) create mode 100644 group02/812350401/src/main/java/com/github/miniyk2012/coding2017/coderising/jvm/loader/ClassFileLoader.java create mode 100644 group02/812350401/src/main/java/com/github/miniyk2012/coding2017/coderising/jvm/test/ClassFileloaderTest.java create mode 100644 group02/812350401/src/main/java/com/github/miniyk2012/coding2017/coderising/jvm/test/EmployeeV1.java diff --git a/group02/812350401/src/main/java/com/github/miniyk2012/coding2017/coderising/jvm/loader/ClassFileLoader.java b/group02/812350401/src/main/java/com/github/miniyk2012/coding2017/coderising/jvm/loader/ClassFileLoader.java new file mode 100644 index 0000000000..d143302ed4 --- /dev/null +++ b/group02/812350401/src/main/java/com/github/miniyk2012/coding2017/coderising/jvm/loader/ClassFileLoader.java @@ -0,0 +1,51 @@ +package com.github.miniyk2012.coding2017.coderising.jvm.loader; + +import java.io.*; +import java.util.ArrayList; +import java.util.List; + +public class ClassFileLoader { + + private List clzPaths = new ArrayList(); + + public byte[] readBinaryCode(String className) { + InputStream is = null; + ByteArrayOutputStream bas = null; + byte[] ret = null; + try { + is = new BufferedInputStream(getClass().getClassLoader().getResourceAsStream(className)); + bas = new ByteArrayOutputStream(); + byte[] buf = new byte[1024]; + int bytesRead = 0; + while ((bytesRead = is.read(buf)) != -1) { + bas.write(buf, 0, bytesRead); + } + ret = bas.toByteArray(); + } catch (IOException e) { + e.printStackTrace(); + } finally { + try { + if (is != null) + is.close(); + if (bas != null) + bas.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + return ret; + } + + public void addClassPath(String path) { + clzPaths.add(path); + } + + public String getClassPath(){ + StringBuilder sb = new StringBuilder(); + for (String path : clzPaths){ + sb.append(path).append(";"); + } + return sb.substring(0, sb.length()-1); + } + +} diff --git a/group02/812350401/src/main/java/com/github/miniyk2012/coding2017/coderising/jvm/test/ClassFileloaderTest.java b/group02/812350401/src/main/java/com/github/miniyk2012/coding2017/coderising/jvm/test/ClassFileloaderTest.java new file mode 100644 index 0000000000..f1c0d93cca --- /dev/null +++ b/group02/812350401/src/main/java/com/github/miniyk2012/coding2017/coderising/jvm/test/ClassFileloaderTest.java @@ -0,0 +1,84 @@ +package com.github.miniyk2012.coding2017.coderising.jvm.test; + +import com.github.miniyk2012.coding2017.coderising.jvm.loader.ClassFileLoader; +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + + + + + + +public class ClassFileloaderTest { + + + static String path1 = "C:\\Users\\liuxin\\git\\coding2017\\liuxin\\mini-jvm\\bin"; + static String path2 = "C:\temp"; + + @Before + public void setUp() throws Exception { + } + + @After + public void tearDown() throws Exception { + } + + @Test + public void testClassPath(){ + + ClassFileLoader loader = new ClassFileLoader(); + loader.addClassPath(path1); + loader.addClassPath(path2); + + String clzPath = loader.getClassPath(); + + Assert.assertEquals(path1+";"+path2,clzPath); + + } + + @Test + public void testClassFileLength() { + + ClassFileLoader loader = new ClassFileLoader(); + loader.addClassPath(path1); + + String className = "jvm/EmployeeV1.class"; + + byte[] byteCodes = loader.readBinaryCode(className); + + // 注意:这个字节数可能和你的JVM版本有关系, 你可以看看编译好的类到底有多大 + Assert.assertEquals(1114, byteCodes.length); + + } + + @Test + public void testMagicNumber(){ + ClassFileLoader loader = new ClassFileLoader(); + loader.addClassPath(path1); + String className = "jvm/EmployeeV1.class"; + byte[] byteCodes = loader.readBinaryCode(className); + byte[] codes = new byte[]{byteCodes[0],byteCodes[1],byteCodes[2],byteCodes[3]}; + + + String acctualValue = this.byteToHexString(codes); + + Assert.assertEquals("cafebabe", acctualValue); + } + + private String byteToHexString(byte[] codes ){ + StringBuffer buffer = new StringBuffer(); + for(int i=0;i Date: Sun, 2 Apr 2017 20:23:16 +0800 Subject: [PATCH 04/13] no message --- group02/812350401/pom.xml | 10 ++++++++++ .../coderising/jvm/test/ClassFileloaderTest.java | 9 +++------ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/group02/812350401/pom.xml b/group02/812350401/pom.xml index 9a637781ce..a837755a4e 100644 --- a/group02/812350401/pom.xml +++ b/group02/812350401/pom.xml @@ -32,6 +32,16 @@ dom4j 1.6.1 + + org.jetbrains + annotations + RELEASE + + + coding2017 + 812350401 + 1.0-SNAPSHOT + diff --git a/group02/812350401/src/main/java/com/github/miniyk2012/coding2017/coderising/jvm/test/ClassFileloaderTest.java b/group02/812350401/src/main/java/com/github/miniyk2012/coding2017/coderising/jvm/test/ClassFileloaderTest.java index f1c0d93cca..a7fd9df5e9 100644 --- a/group02/812350401/src/main/java/com/github/miniyk2012/coding2017/coderising/jvm/test/ClassFileloaderTest.java +++ b/group02/812350401/src/main/java/com/github/miniyk2012/coding2017/coderising/jvm/test/ClassFileloaderTest.java @@ -7,15 +7,11 @@ import org.junit.Test; - - - - public class ClassFileloaderTest { - static String path1 = "C:\\Users\\liuxin\\git\\coding2017\\liuxin\\mini-jvm\\bin"; - static String path2 = "C:\temp"; + static String path1 = "haha"; + static String path2 = "nana"; @Before public void setUp() throws Exception { @@ -67,6 +63,7 @@ public void testMagicNumber(){ Assert.assertEquals("cafebabe", acctualValue); } + @org.jetbrains.annotations.NotNull private String byteToHexString(byte[] codes ){ StringBuffer buffer = new StringBuffer(); for(int i=0;i Date: Mon, 3 Apr 2017 12:37:56 +0800 Subject: [PATCH 05/13] =?UTF-8?q?=E6=9B=B4=E6=94=B9=E8=8B=A5=E5=B9=B2?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- group02/812350401/pom.xml | 6 +---- .../coderising/litestruts/Struts.java | 25 +++++++++++-------- .../coderising/litestruts/struts.xml | 11 -------- .../miniyk2012/coding2017/basic/ListTest.java | 6 +++++ .../coderising/litestruts/StrutsTest.java | 8 +++--- 5 files changed, 25 insertions(+), 31 deletions(-) delete mode 100644 group02/812350401/src/main/java/com/github/miniyk2012/coding2017/coderising/litestruts/struts.xml diff --git a/group02/812350401/pom.xml b/group02/812350401/pom.xml index a837755a4e..06f43adeb1 100644 --- a/group02/812350401/pom.xml +++ b/group02/812350401/pom.xml @@ -7,6 +7,7 @@ coding2017 812350401 1.0-SNAPSHOT + jar @@ -37,11 +38,6 @@ annotations RELEASE - - coding2017 - 812350401 - 1.0-SNAPSHOT - diff --git a/group02/812350401/src/main/java/com/github/miniyk2012/coding2017/coderising/litestruts/Struts.java b/group02/812350401/src/main/java/com/github/miniyk2012/coding2017/coderising/litestruts/Struts.java index 54e8468077..ad61829987 100644 --- a/group02/812350401/src/main/java/com/github/miniyk2012/coding2017/coderising/litestruts/Struts.java +++ b/group02/812350401/src/main/java/com/github/miniyk2012/coding2017/coderising/litestruts/Struts.java @@ -1,5 +1,7 @@ package com.github.miniyk2012.coding2017.coderising.litestruts; +import java.net.URISyntaxException; +import java.net.URL; import java.util.HashMap; import java.util.Iterator; import java.util.Map; @@ -25,7 +27,7 @@ public class Struts { private static View view; private static final Logger logger = Logger.getLogger(Struts.class.getName()); - public static View runAction(String actionName, Map parameters) throws DocumentException, InstantiationException, IllegalAccessException, ClassNotFoundException, NoSuchMethodException, SecurityException, IllegalArgumentException, InvocationTargetException, IntrospectionException { + public static View runAction(String actionName, Map parameters) throws Exception { /* @@ -93,10 +95,9 @@ private static Map getFields() return map; } - private static void readXml() throws DocumentException { - String fileName = Thread.currentThread().getContextClassLoader().getResource("").getPath() - + "com/github/miniyk2012/coding2017/coderising/litestruts/struts.xml"; - File aFile = new File(fileName); + private static void readXml() throws DocumentException, URISyntaxException { + URL url = Struts.class.getClassLoader().getResource("struts/struts.xml"); + File aFile = new File(url.toURI()); SAXReader xmlReader = new SAXReader(); doc = xmlReader.read(aFile); } @@ -161,13 +162,15 @@ private static void generateObject(String actionName) } - public static void main(String args[]) throws DocumentException, InstantiationException, IllegalAccessException, ClassNotFoundException, NoSuchMethodException, SecurityException, IllegalArgumentException, InvocationTargetException, IntrospectionException + public static void main(String args[]) throws Exception { - Map params = new HashMap(); - params.put("name","test"); - params.put("password","1234"); - View view = runAction("login", params); - logger.info(view.toString()); +// Map params = new HashMap(); +// params.put("name","test"); +// params.put("password","1234"); +// View view = runAction("login", params); +// logger.info(view.toString()); + System.out.println(Struts.class.getResource("")); + System.out.println(Struts.class.getClassLoader().getResource("")); } } diff --git a/group02/812350401/src/main/java/com/github/miniyk2012/coding2017/coderising/litestruts/struts.xml b/group02/812350401/src/main/java/com/github/miniyk2012/coding2017/coderising/litestruts/struts.xml deleted file mode 100644 index 0d3fd6495f..0000000000 --- a/group02/812350401/src/main/java/com/github/miniyk2012/coding2017/coderising/litestruts/struts.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - /jsp/homepage.jsp - /jsp/showLogin.jsp - - - /jsp/welcome.jsp - /jsp/error.jsp - - \ No newline at end of file diff --git a/group02/812350401/src/test/java/com/github/miniyk2012/coding2017/basic/ListTest.java b/group02/812350401/src/test/java/com/github/miniyk2012/coding2017/basic/ListTest.java index 87a8cdddb3..102a002754 100644 --- a/group02/812350401/src/test/java/com/github/miniyk2012/coding2017/basic/ListTest.java +++ b/group02/812350401/src/test/java/com/github/miniyk2012/coding2017/basic/ListTest.java @@ -14,6 +14,7 @@ public class ListTest { @Test public void testFunctional() { + if (getClass() == ListTest.class) return; aList.add(1); aList.add(2); assertEquals(1, aList.get(0)); @@ -38,6 +39,7 @@ public void testFunctional() { @Test public void testAdd() { + if (getClass() == ListTest.class) return; for (int i=0; i<100; i++) aList.add(i); assertEquals(0, aList.get(0)); @@ -47,6 +49,7 @@ public void testAdd() { @Test public void testRemove() { + if (getClass() == ListTest.class) return; aList.add(1); aList.add(2); aList.add(3); @@ -70,6 +73,7 @@ public void testRemove() { @Test public void testSize() { + if (getClass() == ListTest.class) return; for (int i=0; i<10; i++) aList.add(i*2); assertEquals(10, aList.size()); @@ -80,6 +84,7 @@ public void testSize() { @Test public void testException() { + if (getClass() == ListTest.class) return; expectedEx.expect(Exception.class); aList.remove(1); @@ -89,6 +94,7 @@ public void testException() { @Test public void testIterator() { + if (getClass() == ListTest.class) return; Iterator it = aList.iterator(); assertEquals(false, it.hasNext()); diff --git a/group02/812350401/src/test/java/com/github/miniyk2012/coding2017/coderising/litestruts/StrutsTest.java b/group02/812350401/src/test/java/com/github/miniyk2012/coding2017/coderising/litestruts/StrutsTest.java index 15e569a766..f183d9a778 100644 --- a/group02/812350401/src/test/java/com/github/miniyk2012/coding2017/coderising/litestruts/StrutsTest.java +++ b/group02/812350401/src/test/java/com/github/miniyk2012/coding2017/coderising/litestruts/StrutsTest.java @@ -13,7 +13,7 @@ public class StrutsTest { @Test - public void testLoginActionSuccess() throws DocumentException, InstantiationException, IllegalAccessException, ClassNotFoundException, NoSuchMethodException, SecurityException, IllegalArgumentException, InvocationTargetException, IntrospectionException { + public void testLoginActionSuccess() throws Exception { String actionName = "login"; @@ -29,7 +29,7 @@ public void testLoginActionSuccess() throws DocumentException, InstantiationExce } @Test - public void testLoginActionFailed() throws DocumentException, InstantiationException, IllegalAccessException, ClassNotFoundException, NoSuchMethodException, SecurityException, IllegalArgumentException, InvocationTargetException, IntrospectionException { + public void testLoginActionFailed() throws Exception { String actionName = "login"; Map params = new HashMap(); params.put("name","test"); @@ -42,7 +42,7 @@ public void testLoginActionFailed() throws DocumentException, InstantiationExcep } @Test - public void testLogoutActionSuccess() throws DocumentException, InstantiationException, IllegalAccessException, ClassNotFoundException, NoSuchMethodException, SecurityException, IllegalArgumentException, InvocationTargetException, IntrospectionException { + public void testLogoutActionSuccess() throws Exception { String actionName = "logout"; @@ -58,7 +58,7 @@ public void testLogoutActionSuccess() throws DocumentException, InstantiationExc } @Test - public void testLogoutActionFailed() throws DocumentException, InstantiationException, IllegalAccessException, ClassNotFoundException, NoSuchMethodException, SecurityException, IllegalArgumentException, InvocationTargetException, IntrospectionException { + public void testLogoutActionFailed() throws Exception { String actionName = "logout"; Map params = new HashMap(); params.put("name","test"); From cf238403421ca214775f19f38e62983d35ac3af6 Mon Sep 17 00:00:00 2001 From: thomas_young Date: Mon, 3 Apr 2017 12:42:59 +0800 Subject: [PATCH 06/13] =?UTF-8?q?=E4=BF=AE=E6=94=B9gitignore?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- group02/812350401/.gitignore | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/group02/812350401/.gitignore b/group02/812350401/.gitignore index 0a2df7bbee..d62bd72d2e 100644 --- a/group02/812350401/.gitignore +++ b/group02/812350401/.gitignore @@ -1,4 +1,3 @@ target/ .idea/ -src/main/java/train/ -src/main/resources/ \ No newline at end of file +src/main/java/train/ \ No newline at end of file From 3de14afea9ecfedcb2f3c57a4e743a384fea1839 Mon Sep 17 00:00:00 2001 From: thomas_young Date: Mon, 3 Apr 2017 13:10:23 +0800 Subject: [PATCH 07/13] Modify gitignore --- group02/812350401/.gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/group02/812350401/.gitignore b/group02/812350401/.gitignore index d62bd72d2e..16c41c3498 100644 --- a/group02/812350401/.gitignore +++ b/group02/812350401/.gitignore @@ -1,3 +1,4 @@ target/ .idea/ -src/main/java/train/ \ No newline at end of file +src/main/java/train/ +!src/main/resources/ \ No newline at end of file From ab37abf1bdb8c854af027b28e428565e743b30a1 Mon Sep 17 00:00:00 2001 From: thomas_young Date: Mon, 3 Apr 2017 13:14:53 +0800 Subject: [PATCH 08/13] =?UTF-8?q?=E6=B7=BB=E5=8A=A0gitignore?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- group02/812350401/.gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/group02/812350401/.gitignore b/group02/812350401/.gitignore index 16c41c3498..07ac925398 100644 --- a/group02/812350401/.gitignore +++ b/group02/812350401/.gitignore @@ -1,4 +1,4 @@ target/ .idea/ src/main/java/train/ -!src/main/resources/ \ No newline at end of file +!src/main/resources/ From e424f89a20b3448368a19e0d43bb94b3f6f58ccc Mon Sep 17 00:00:00 2001 From: thomas_young Date: Mon, 3 Apr 2017 13:16:47 +0800 Subject: [PATCH 09/13] gitignore modify --- group02/812350401/.gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/group02/812350401/.gitignore b/group02/812350401/.gitignore index 07ac925398..307aa641b5 100644 --- a/group02/812350401/.gitignore +++ b/group02/812350401/.gitignore @@ -2,3 +2,6 @@ target/ .idea/ src/main/java/train/ !src/main/resources/ +!src/main/resources/*.class +!src/main/resources/*.xml + From bb8fcb9c698ab8b0589636da98fc552d6b9762dc Mon Sep 17 00:00:00 2001 From: thomas_young Date: Mon, 3 Apr 2017 13:42:41 +0800 Subject: [PATCH 10/13] Gitignore modify --- group02/812350401/.gitignore | 6 ++---- .../src/main/resources/jvm/EmployeeV1.class | Bin 0 -> 1114 bytes .../src/main/resources/struts/struts.xml | 11 +++++++++++ 3 files changed, 13 insertions(+), 4 deletions(-) create mode 100644 group02/812350401/src/main/resources/jvm/EmployeeV1.class create mode 100644 group02/812350401/src/main/resources/struts/struts.xml diff --git a/group02/812350401/.gitignore b/group02/812350401/.gitignore index 307aa641b5..86b837863d 100644 --- a/group02/812350401/.gitignore +++ b/group02/812350401/.gitignore @@ -1,7 +1,5 @@ target/ .idea/ src/main/java/train/ -!src/main/resources/ -!src/main/resources/*.class -!src/main/resources/*.xml - +!src/main/resources/**/*.class +!src/main/resources/**/*.xml diff --git a/group02/812350401/src/main/resources/jvm/EmployeeV1.class b/group02/812350401/src/main/resources/jvm/EmployeeV1.class new file mode 100644 index 0000000000000000000000000000000000000000..868b919f935c8fd60539f9584b841d6e06740a9a GIT binary patch literal 1114 zcmbtST~8B16g^YgZo90Owzh(R)bCP|1w?t!V2II3QqcrMLVTK*Nm<+v(%q8uXK4Z? zn)n0!QN}aVYDMtLw7EO?&dj;zoVnkBeE9}o4Nq*0<8B@n?&)wpj|ZsdFmI!Q1q+Kg zJhWL~(!sT`ERYUmpae?ILwPJ+UxpobC+T`&=c&M$>~KqL31pvnp_gn3RO=THZq4r! z=S8&7!-b|7s_kCTQr-8mjWgrjr9N7T9dIqrmNW$w9B>25iy)xVpTu z>b9eOGT?GuFICrznYxF^ft#o}abE^Ue$-cLcZDRaSS8y=L*)`~np&18Hnoy;-B8WN zvj1B7enf?J!#$8*sI`5#D9-H5Zij5kmu%CXBLRCS>UG=dm8S(4M)a1nsSYME{kmSWu;$<~CIz1Vr%jZ;8SeKrlcIxZ%m_@3 z-urFqP_>hDrJa79sDS=NJ#JJ6ws?{Ij+2paK9me-ec51~FY`f;^dUdQEe_c@$1=qq z)teO!;5P$yLy@t>Y>)e6{1zH#5RHWsq#83P82e-{lo?A%Gv*m>#&Npn;2JBn!8KG+ zWkvwgMwpdulwyPHm>jm*Fhqc?X)!{#S=V + + + /jsp/homepage.jsp + /jsp/showLogin.jsp + + + /jsp/welcome.jsp + /jsp/error.jsp + + \ No newline at end of file From ce2c2ef2658114fbdaa77681b308b2cc6426fe89 Mon Sep 17 00:00:00 2001 From: thomas_young Date: Mon, 3 Apr 2017 17:28:36 +0800 Subject: [PATCH 11/13] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E8=8B=A5=E5=B9=B2?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../coderising/litestruts/Struts.java | 1 + .../src/main/resources/downloads/test.png | Bin 0 -> 100384 bytes .../download/FileDownloaderTest.java | 13 +++---------- 3 files changed, 4 insertions(+), 10 deletions(-) create mode 100644 group02/812350401/src/main/resources/downloads/test.png diff --git a/group02/812350401/src/main/java/com/github/miniyk2012/coding2017/coderising/litestruts/Struts.java b/group02/812350401/src/main/java/com/github/miniyk2012/coding2017/coderising/litestruts/Struts.java index ad61829987..42584af1e3 100644 --- a/group02/812350401/src/main/java/com/github/miniyk2012/coding2017/coderising/litestruts/Struts.java +++ b/group02/812350401/src/main/java/com/github/miniyk2012/coding2017/coderising/litestruts/Struts.java @@ -170,6 +170,7 @@ public static void main(String args[]) throws Exception // View view = runAction("login", params); // logger.info(view.toString()); System.out.println(Struts.class.getResource("")); + System.out.println(Struts.class.getResource("/")); System.out.println(Struts.class.getClassLoader().getResource("")); } diff --git a/group02/812350401/src/main/resources/downloads/test.png b/group02/812350401/src/main/resources/downloads/test.png new file mode 100644 index 0000000000000000000000000000000000000000..40c982a45cc70d81071ffcee052e71bf6a5f52cc GIT binary patch literal 100384 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 CkEzK3 literal 0 HcmV?d00001 diff --git a/group02/812350401/src/test/java/com/github/miniyk2012/coding2017/coderising/download/FileDownloaderTest.java b/group02/812350401/src/test/java/com/github/miniyk2012/coding2017/coderising/download/FileDownloaderTest.java index 501326dae0..0b5276fda5 100644 --- a/group02/812350401/src/test/java/com/github/miniyk2012/coding2017/coderising/download/FileDownloaderTest.java +++ b/group02/812350401/src/test/java/com/github/miniyk2012/coding2017/coderising/download/FileDownloaderTest.java @@ -3,9 +3,7 @@ import org.junit.After; import org.junit.Before; import org.junit.Test; - import com.github.miniyk2012.coding2017.coderising.download.api.ConnectionManager; -import com.github.miniyk2012.coding2017.coderising.download.api.DownloadListener; import com.github.miniyk2012.coding2017.coderising.download.impl.ConnectionManagerImpl; public class FileDownloaderTest { @@ -24,17 +22,12 @@ public void testDownload() { String url = "http://inews.gtimg.com/newsapp_bt/0/1209438116/1000"; // String url = "https://www.baidu.com/img/bd_logo.png"; - - FileDownloader downloader = new FileDownloader(url, "test.png"); + String filePath = "src/main/resources/downloads/test.png"; + FileDownloader downloader = new FileDownloader(url, filePath); ConnectionManager cm = new ConnectionManagerImpl(); downloader.setConnectionManager(cm); - downloader.setListener(new DownloadListener() { - @Override - public void notifyFinished() { - downloadFinished = true; - } - }); + downloader.setListener(() -> downloadFinished = true); downloader.execute(); From be60c00efa845b7e2cfc62a2371fa489b3a651fe Mon Sep 17 00:00:00 2001 From: thomas_young Date: Wed, 5 Apr 2017 21:44:22 +0800 Subject: [PATCH 12/13] =?UTF-8?q?=E5=88=A0=E9=99=A4=E5=9B=BE=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- group02/812350401/.gitignore | 1 + .../src/main/resources/downloads/test.png | Bin 100384 -> 0 bytes 2 files changed, 1 insertion(+) delete mode 100644 group02/812350401/src/main/resources/downloads/test.png diff --git a/group02/812350401/.gitignore b/group02/812350401/.gitignore index 86b837863d..8cd204f114 100644 --- a/group02/812350401/.gitignore +++ b/group02/812350401/.gitignore @@ -3,3 +3,4 @@ target/ src/main/java/train/ !src/main/resources/**/*.class !src/main/resources/**/*.xml +src/main/resources/**/*.png diff --git a/group02/812350401/src/main/resources/downloads/test.png b/group02/812350401/src/main/resources/downloads/test.png deleted file mode 100644 index 40c982a45cc70d81071ffcee052e71bf6a5f52cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 100384 zcmb5VXHXN~6D}OOARR&t9U)X{(S+iU8X)u%I!KceiUg#Cf}m)GK@*^ zw+gTTaI$l7ak@6%&(^IU^?}tppMilh>42 zQc+b?SCf>}($NCzoB^wW|7V1Si;Iir6psiGj|f;wObYz}EdK@oLZ{f?u>sjw6alP4 zENnt7|Aqh{0DzV4WVbAU|6kZSSlKvP09>a|w3dPZRu(okRt{DUcEHJGJJ3Eip2ly|6eNr z04yhqvY%)ah5kPU8-R`FfAfFBBE))PoXyNdL{TpY{ci=pd!k?!ViN-V2SA0%|IVb| z3{Ibq&xDiZOZ@P_zP>LS)DpUEc+%ysb{F(Xh4htA+E#_bWCA~}-vTTRslf!Pda-8hR5I6Pc) zeWcdX)L?>Q#1P$3;-~?JBR)P}bbY z2l!gg5fG9nbGN!hj;pGJ$Y4#dgfG1x*+Bb>07y@O z(1ZeZfem#0SK~iWwDKn`t*fs~I24D#j{zU^?D&*965gc3M!z-azAE**NrDSEk08if z^0)~(ZU!F5cC+RTWBE}I;*M@C3e~gc(d5W{O8`mvEAwe2j84eD;6v!>0Yp_bn_gto zW!qwQAWQcGWz-$w43kO5pzQ)$(RR+ADB1KmX?LGB(dc-Y+8WK(cqp@b9Y@!Gd~Y6U zJ09U>ev0WAR}VA@7`elrM>P65Z3B~U-Pl@^T2bCvFygo#twgUW53pZVknr1^1{ zto0{5pI51yDnwhp9=AD6WHf+|t~)*Lz6pgWeBJsaQD5ZuFkg&#&@M6JgG-XJB}+Rb zj?BB*vb?=T+;-~@YZWf&i)5&5Z_00CJQIv~Lm;rwJ&O;KJ~Xh^X#`_?D!$P~*SX`- zN{=E&sB{yka3^lGd(UD*4Ml#)xCcC`46SfPgk}9?F)&Uwf9t{B3(6dBY zzc2b0gq;#NwC2{ad%5p**gpVGC)*Y_c@4#RZbar?cj$=HH!`>1Z%<0LniA&Nwx{P= ziN%jPW^cNJW@Kc^{GqS&y2_LR0)+7o?`e0~$l8RGIPcza%Qo$32_05zeip;EUT)J* z$?8QH>;Ia0p=-KQ&^;mjBm}7Hoh1tT#-WcbQzOKS&i)wJ!_yQl)Uqh{07pv*e;IxI zH{iE@TJb|y!GS-$=z8H8+idcSA>>L+8n10xlu{9jsl;IE&vV_H*p53HA2AE3qz zh1Ht{4EAzzESwb7<5Gy<#I=d}^Jx;7lsBp(yp`SThF-pgL>t}z^~+PQ`_RHp))%*c zw~8s-a=(-Xh(&2uI7PJebOV?NT$_a$u^rb59NK+E5o|@ zoB~={N@G7aSzi@B3*#!KG1bTeB2*V#!TxXeOxl$v5ajK;RjhZ zicJ`KG~MRS158ki;J|1Nm!1FX`X>vpKL)#}1|+H8p1|O6Pe-G_1UFwJAd*X>wp2bE z=b1`Icy57ZIQTRrqGv8EW-r_*PK0gein&V|)b3hHLPb|>E0kp;Ga2Ug``e{ni?P1- z9O8U~(LBTz!8J@j*z^wtu47C0`Jg)i@PZpM_$EJs&Ce)wi%LIBz$ixS@Vl7xpuGqCurl^W_<4Gicu{A4EjIf?t6 z=;xGr=ZgvawqI+WWv^iFAK-;5Wsg=$Lf%)a7Jb^I`)gJaczDchn;P_|0>HWEa4R>d zt(hX$rzn(_Cr}3!Z8Wcm#tT2wcfLgV{SuA;bobEJ?uKNGK@P}WVhg=+6NllqvJJ7T zDsz$FCWo>Aa<@wuYY@B<3!6k;jRQ@eRiNBy|Ky=0lK4S`(S3mNVxvK%`(V!^%Lb2*!GCS}VUug~~oOid7_(~mH(TU{ICIHYYrO-p}ee1Qh9TiGv zL4eD?H+kF_Zj6tN31a~vKdaXsSSe|%4ds>OZqm4}=bel!7o3;WSvEm9>wH zyzX%}Jzb<97I8TYcXU8FQfd55sb+V&*HOn)?6EA0?DRs2>~T*O7#)Gn0jvbvrHgE&7K+n8PY zCP%v{{IdtB(5w#~j<6+Onglm8Vse;>9=2w_4{oNbPQd{lqZDKnq*wGPHy_00tsQ*i9%UTtWTdzuPo1#T(xpPR+FMR;1 ziB27?`+SL0x7HWx%)(pQ&;Ce6zJGip>Zw6o0zzM)cNOT?vONIwr;62gejSMj23vZb z>*m6+4?Jhmy2LgwJ4RZ)ln*2NpIS0gxoei#u8T88R9~rCNi1x(*|xj?e7A=9SY5|4 z(s<>1tA%-gt@J;Dfl_3vc*`!Z#mw0Cwzlnmz|ptCQ9k_0=Ztdsz| zP{k)lTYcO3nDUuF5`ifhY*A02U)6ULI-tu#?Z39VjBzzwINmMUn-y?r31O3LG}!g2 z4gKWn1T`=!nP#ke$TUW(e6$jMlD4&2cKv^eHb2d>D{7@Z76h@aAbIcbdSte?7yfeJ z?49b9wc{g}r8`d;ZXsFC*SHvJMi&Y=o~mmLa+!)#GlpM+ko=L_X~C!IrZt_Kka%gYY9YnMmVyos1m1Z>+L%D5D^mle)k8 zy(X~WwxsCf@_+LRsF4xY$1~wHAvxA3F9AfcH3hRl(p1t+$rK_e6Z|2{=$guDsR`nW zjHzs&MuoVd*$86FD!%&nd_fWbYV6X$F;4R;ar5?MEt*RCu*?Ny$?)8T+}8qkyMLq9 zKXuN-Tb!#s_s6|I#`L@eye{?A=?fgVju+33eBGMlk1gLprL|G{3P+ovQEA zm?JrV`yjwR?W7Cg;ItU1;n9E6q?bPPb%Wp@-Q-;=(-Dz1f|;Gux}Y=QcJaA_1>U#5 zfT9<9ZxqO0FoRSIu{vUK4i5hu>0 zfnkJ5)V;|9*A_FHQ}!(|t~OabM|W;e!n)mMQbqeW-A@mL1^lSJVZ-cAN z&ilQsX_FnETYP`O-J9>TJtYQ>k<;|5V|H^Hn%`YkOi&?>FK*CU24#9lW`(TH;j8~q zl)WV$Wxm<7YW4gIHxrllqfU#{QGY^t@2V&ENOLP^LWoDO4&tyZLANy@&pC80K4fdw zF23jjIIw_)LnojdYkuPL{ALsZ&Tfn?wR8TnIvX%L9O&!W6@o9CF9lPyFGK0v%0v8o zJd<9(809}&KJw{xgbh^31ZfUz{%G*%T+2Ta72$(3~MXR#(=oD!3~K1XQWDGxzX#TtZ%%PNms zScjW1oUv&bb)#rzkt{?x7~7S5Om{TOY!H364&pCm!WBArF^>)a=m~FSFV+gb(DR%R zBnq^)cq6v_pA~!Svff)A&(h!yX#poInWRuvOIEIz2h>57moQ{3jAA^8&n?EgJse-{ z<2E23w~VQ_*IbImFm7+(<27q(Vu(D2026EsgwtJ;cF=USfQC z>$%AEjQoy)@<@qygGFo%V|cVe_J}xR_C>OO+Qru870RCIANX%i^6cM%3kFZ&U{T_I%3mTC}=N2Je;NW9k(vBtfoc?g`|7Yw+BSv;zhJPuKRBU z75c1Y_n>_x(;qd^D=L5zTncmFn-J%leZ-sZ8Ul7|WRhf7)W%SD@Hw#kZ2GUFx@~Il zUz4heroRo1p+)>Cul`MEn3DXo$Xd8E-bHIr(*dcxg%$YKm40|?*up%X9O+$w_A#)yP$<3#h<37pDGo?14Ep!PAom$n%LRv+{7@NeF@3BV!A{Nd;-{%xZU3(jK0e!$- z7dkpvvr{ndoE5jJ1U&u+5KKXEUtVE?e|KjLoFng>r4&A2`0B%Zp1&rpX%#&Rz(0M_ z3jGnCRA|y`JI$7T=z>|sjh4k(`~1Xzhq*mZa<(liNoEpQ#h6`h*zB9H)T^H zNU5-|JmGnwt*0J8cJs_&;Nb`Phnag-KZ(KX2`Ym7{z9IA)^Cn}u z{F!-G$3-Tq{67FmGYrP8o-H<9h=#lR^CoZKNR5wh{UJNQaTPVx_h4y0b_XJist@_a zpsBzpuj2Ww9AG1&q3F=G8z?JM*lTPVn@|AS@gG3ICEeNT0wfYa-o&WOnSop$)h%HrV#F`3J1ad~A9vOt&Sc~g7DbE?txdXs zP9+`l1)Sv$1BW&56eOYNC7*Ws*>?>$&NEYgEJ%5^t*oEj|hK_1vy9oTn@X}=y| zi?NdE=bWtE7%kmP(p{pl6z<54N=P)YDU2H>`2@#v z8+ApaZWE@R$*3RqPlOI^jETedNtne%Rp&PK*8e*@-6*oU-J zGZk!WESL66Tq4I^#Srin+ceTcHDW>8aBB5dp)v!*t}M$LajPcIT69=Cqw2nuv`oEw zV1hYVw+Pl!kIdf2k4I)t@E%ZP%Tz5taDt_mKR=m?byig=*%c0d4>g=(4^TC1 z`8NH>D_1pt(my=plN1}naZ1{#N4$$Zt$E3m1E%sotJ{8)z{vHrX6+5dULB8Bg5N2X z6y?QdD6H6QN`tlv@zbd+c@SMxwy6uI?`)`$H+#Xn^=$lwqw-HSIR`U-FRK06Xucr) zTBYeEV4E5R-NN};vA0@aS|pq3w4$3|6AG39H}^3Y44iB7EGD4E^TwTkOg|~h9MDH~^O#qRMbcc(KBoJwOtFoZ4JIIL!5@ z(f1D|R$IyAJVd9mY~jt`SDJN zUhj{h8r<5sDh0p2se;M38QnhxKgq0Q`_xZ-qLVJLplC{XsQFSx!DuGWIeWx?nqUycR z)MdTk3@bV=I&MC@p*Z-W)hOkI?sUjXpYc_>y|RxN0z{Po5VGRp^F`Q#L1& zy<~3egNpUiOwspAquF0~;-z_?ENV!XwwpmvJHVh@*!h~ZBjVRBLrqV z4dh1+K*=MLQ;>*4W|P^iiA2S*+Hy@oA~4uA0XN%(VCD*g+iI-s8At@968~N}5RLyP zqh3+MO4esKTbL-3ftI8Mv#~4s?zB-=%mg{Q^3`Cg^ROTO*tXaE;f_hf(v~#bhUA;2 zs*2C?+n0&rBiL$lSe?2Wsk-^?+-$^ZR8=LD2$>dg?`sR2u(20N+wDa_+8`A)if?uP75N~C?vusV^C zKv*Qn7LPQW`qTane>I5TMR~SDN_#3m7;>y!I|LQ+@$ynT4~lrV^6jGut*+qLE`KBD zW2h&%pcGQ(2UY3G@-(yD@4~!F@%qJ%45eV=vdLfgY3H+w?W&6Haj?y86d34tg{;bx zrBz=pS9g-~-FSkor=t%Bd ztvoROd)hcV+e5KV@auN1J9%KjNUWMa2k728a6}T(hsw^o`5E%EMm{ND206Q~gw+aZ zD<>2T-ziL5MZ7Ch{&GieeX7M5$FP4AMHfssEq^G-3-f24(0#_>Sezo3m`%5bE zb2+<^_0UTcyd5sp@mFwWgOPYq(F$hudJZ!g8MX6xQQUp(hd$88fo?V!CGrOKj0z4O+(zYRF6I7|Q zF;hNwQukrj+k*u1jYVQ8t1p9(`d^#Qm9R+6tLWf)<3hl+9nRL| ztk(wsXHAFG@n3Zd@v>jvD?IKf7#t!t#tu?+d|2E*IfLA9SJ$q&C-^5|Zpkx>CsF)a zI9$LwM|u(*C2?n17a7e#`LnUeuZwf7ewBT{*3sJQW_hUgNH zVM1}5N7j`N=hgPPV!~cg>^T18k(`_C^OdS$ zTUAJ`m2K|4u@J{^y0@8(sL<oTrTk-d|_j+pW5+{%*qug1k->C|V zEwQYu|IMF0ynj!5lUZZX-|DH_?56dMeto$5aq4*);=vj+>~yN07bnW^?1J~Jn^36B zzN@&Ya6*oIz4>dwcQaS{Q{{Pz9}@auY%BdHnPQ8HgMaq+D=JvBY~gPhh3JbK2YTl> zC108U$VX%ud7d3pec$hG?T1W{Ad73F15QP~T*@S5xMw_>v4U>b-mU^8LJE^n>PGP% zx323lj%(*l_kC`$nsS-B=^o^xEzhw~{C_SKd4HEPP{u~|cu5KEB4oyDwy!yHw%}4~ zUPVFFLU4!fGRu2(k+!P&|KzI}^5pKtMtT=$k>b!tC%+n~zSLoaP4KyyFM_m-?H*;l zc^5((B4E{Wo#S-v172A}$;y6#?%C@58`}k)g~rU=ogKoUE<|woyBrCSdloS<7;c2= zD`iE`KFPr&J>M3^N97ZbYp)kWfnv8GT~~LmJ+S4%I4`ukjMs4ey1a#Hec>{!ZvSQV zoGwNoCS_1`V<4}(LlH8{%5?d}|aF+2FOx($FY zl&(PkgLvKby`%Ti284`^>cAvl5EU{v5Uum1LG)v@*hFu)rs|=QjFJLQ=w3iZKEnlruS!_O7s2YZQ$=B&WAE+1N^SDG z-^pdMMpR0pE!(6iT^5CXHiyrJPWRHiDmB{+ex>7oesFj=YaC~@-EZ3u*U{Q#TObgwc8lixD^a|CfWi>)V>Jl?Uo@fA2z)|q^7(tYj@ z?9M1x+VIL`%tvdOd1`Z5`RW$0TB%1dhdl3$?Nl1Cjd{+#hn0@f(!#Qs#8HbFL{xs0 z3xAicx`&Ax*nzc%N3>)xG*iviouY#&PdmkRC|%NC&tB>teV>KrA`_ng9xW zjzpvQ4wLxMT4I~ZmqRz(dV$|TV~@{Z&FCrTrcb&`cDxA;cUdO~D_xc81XpipP1(aI zzYhGvjL^-TO!g@8DLcT^9QokQ;;7|KJlT(*CRWtWENa_X?=I&1 zWu_|QL^JJ#^QHQy^5_`-p1oh?r~?jX&p+$a@#gWoYx}TBvuU1lw~p=DN#UQF-gz!n z?(}qm{qZeZ74sCikNug<)63c|K*=NvxgZ99XEk1Kbv^gSTjlE!5wy&YHfJ89y~ieA zF{1b$7TfGF36U$7MdtOMgKX7Jc0T`g-J7`VG9Ds&XLw=eUPJ&yOF>!eL+w4E+(JNN zjWN7HyJ}3TykyC3kuG<>GVP(d5=N1!FGm_=PoLfaZpRFdL6m`m0er3^f}G7-*qeE_ zIyAQz&q^P9jxifUa1&@k$-dthNiAdkQtA%rqNQe2DFnx1N z)`r>qB_0l_k6YQeLY9sbm;khnj+kmNMlHE~j&0kN2*;GQ`JO4d*@zsZ{JGAtC(abc z*&`3zK!(R{@!)cK#S7Ckbu_nB7?A~ndh z5A9rrz}~GL3guBZ1ufF2pvW8iv?E6>8L4o+s zCpYIx%FzKy&889-8w#;ktR4#!nKyf!dj|IyE@U0cNqxJIFJ7!Kw^Z}>-_v@z^ubA@ zx&D5HLIJYBS}mYNs!m(LY{cNN%C~JYhhOyrnos-53sQEDbMjG;uHN(I4|RW@?%sJq z*TG#U@Z>s>G!}s(@lH@CRk@AwRR;nrh-<%@{D#w3wOVEZao!u~&+l^6?3*ZmU95J~ z+pc)acwQa1>+rO&1`)xmOd~jJD}cpJ*pG9t_3{**D?wWxH+Br3nt-1!yNk@;)iC7z z4A*yAA3UJDzqEEN+t?(Nw6v-mJhlk@^WG&~z=h?l0P<~zF6KSr$Psf8Rrl3Hx{yPR$K=B*<~E(^K)?a zdJ;YwSmP=BkBRM@LDLv9tHkIM&ocwD^W1(#j%plTonIXDiD)b>dm%;vvm=yt??P>A z^U*`&)jGHA^+%6e@T>lW{X!G;M8a-Vd~xLaJr+)Y@!TPIIpp+oA~7i*UL34YCNs9@ zW9MCDU2c-@5kx9JTfU0Eu8vk9RF1f+_aOooC0z28YM9+R9S^tiRrtj2N)!rNw)yJ- zvbZHp-s|ibTU2bDDFmdpRWSoJ4n?dvChtFa#~*;U6n0AsYb<0j1;!*d$wz(@vgJ_1W(qmCwVHjEa_^Zckp^Z08$<8f0)+?&Ik?eQ^fH4 z0ia~kaGZcBPgmHdv}441_A9OK_!Af>RSD-BEP9CiH0~jt9Qc)TMh0ye%brMi%}Eq^ zp^ASD)nB=dfdt|8z}BMGGsCPH1@V=ZF9Yvqt5X_{M$IB0}CAPA&VQI=jZSVvSgG#O{nj1li^q?wA zZOk`yu*Ew1)EG#Lxq(+d$A$$Xq~^h}n9?rRdl#nrA|(A{M-aCloh!?trq1FRLWXP) z`NbYq1Kjzc2y759t&CUvbf(}Gxn!YK_Y!mx?Gkw#bW}4M3gj$`Gh*cSc)YiGfu61X z5`z1C!pe!>Ccc+0ghV^vgn`^c{6{b$?8XVM?zj-p{DDkuvrvMc?rc@qiw)Pkd8jfz zPzg#=y>SdeF0K;N1e z1#=~`XbUfe8v@k0Ni*uKlY!wT!{ir(S>Peh!GW^3k;lKgs%s7#IqiR#1r^Qa9Z>=@ z|F+x(Iv45E6TMhbcHFA$-~Lw+khKWyG@=Xe|IH-Hs0!3lx}nDw2|;mv4i>o z4ZI%%%5;2n!!14etwQ+wu}FTwOnJ`>k7G?VCk&cCq(TNzJW<52Es=p4 zJfANoxW^8*{HU5Qm47x_fvrtBF+K2)fORQK6I1v9>L=)&1W1?LNyZ)l~_- ztfcsSCj%Y!^N1ZE8PT2%#y8=#>BglAn^BgDQ!m!7BtT)6!|~9j-w7<&`N8ilbM>Lz zBQ`O@Z!!6p!c7*52@Z6;cl!ee4cW4>Ej;IDGK0@6^p#&w@4h)N0Us0#m8e17m;_V9 zR@5z652k#Y2iRKF&7G|TG!m(o9^(@&ilNo(^9jE}Ta zxgo9Wx_2jW2cvFBb55-$_OSnUzkhvA4CK}uVd@;|-*Lx2W1pf+H@i}uKtTE;DYqNg zk16FF;mx)gGiPZmhU)YCSNbM6jCXftQMWWHU|Vi>=51V0^;;-sX{#~8lRZ}!bys-= zQ8#hs@exVd4BfGvFCHR8K2^!MF{sQoK(U;A|C8K7&kI zJqTHW$4E+XLwV25w?Dh}gX;%`fj#5b0Nl3R_30Sxxb!jQgaETNu=!^?Y4^$D?5)y9 zmsw(Ng{d4OjB;MnNey$b%s6mStzVEJtEec^t{9HrZyv3AyH+P3mUD>cgqt<3-n2NY zFMmDF6L<4N`n1qg&p*H(e8AHn)2l?D59blh`q*<0`A85(R3iXYWx!fPQtGzc6MWzi z#Yd5eX9j;zhlmZVSzLN7*0ou65R^|rw+oMXl_AcY$^nEF9W(DbU$=#spoDFwuThTV zU)ZYh7~%;NpldceJ&;CGgSRf%j}7!=dAzY2wWigNWHTwPCem;FBW-#)09`&i_q!U& z9k`K_f=^3G4UztU04_iGissSbQ~%Mg*iWYT@lfZ6xqz?DH&azNP8#9ddYR#D%(_7? zHjFG>eutfBqg%6kKn_)0;B7Ggk5Ufi*}?va@{O-W4*%(>jdCHh{s+O<(=-&AjxmV* zUkBc2jE`FDP%C~V14%4iMtd-=w?X-Us601mcXfYoQuGyLhJD_8PYsm)&?TD1ox0O! zwN8AZ!&(ax!3b?#I3C^FE)4}xJsbW;K#5#r>hG5VX|6GYjrzziM+a+yYdN>cMc}Jt zm76fK8jPa+x&`h2lnrtX3Uc>PSSfARO9&v}Xmx*JT@Dz*SxiKW#_7ThMxAI#11gp_ zQM&*TLFzI|X!)@bAHHqHhyJ*ObrRoT&HXM<*3e*Lr08HFXZNS>X%`Lk<65_>j-g5} zW8|B7NA+s7$G~ZbI&l>J$z}4nwc^jznwAPo@uRaKq=OQ~eFCeF);{#MDOKqOSsSF} zonUj;rzUk>-GmFemGC7kVz(o{SAXQ!H%H1#N5F?aNPQ><$)Ot09lBn8OAeT~lMm4K z-~)Uk*;fuT(39}V1b)cXby_cs$@YUoHd~xM;iT%DJD0F)C9_pwFd!GXTyupHR zZ{Xo~RMYp@Ye_I&TW_CI#o(IfH~bFqZYFQS6)SAxKcpHX&HYMn=2DC4CnTsW2Kp!Y z()fwYYA`&NBsmx_-Yj^T zjlaIQCS*9JR%w*XTYmLNO~AWWbCmWLK}y!#$W^%f{Z!iZms`gaiC>;&S$mEOlphj` z)Y8!OlcTX!MXkrit06-Djwn0{vvNGTa=n4Ibw2kY3!LiXhVRM z5d{34H5n9$G?|Hdca?v(?ol?#NBz;J$yhUUh&@Ce{FU@mg7pliUL`2(9#on?ZSfH{ z9_HI2GJN59sndFV$m=(93As15(y*O<)cUi5?PheL4c$F7gu&3(*114%=6v6^ng7e( zky&}`k4DJ>vg4yKgC86f-V>OX?Z4*n?N)uma!}2y z5y$s$?c~p=yYr1>8oP|YM7d258vXgnur1=<8VuobA0Lv8L_?fo--u0Nf#c zXY=x~M#`hcH|;jYu5ES^TPz>Ze!W%r!cxEc`PMY5n-E>x8%N#4(?|5GICxp>rf8XC+`^L?h#0PFxt@gg8F#rQf$68wbI=G*M~VKq`6_ik{-58-9Pnc%9NU;_lLvSdyU>5n_rlm9X8_3f zv3v%o2*9n1=d|8YBx#i3h1TYTUv13CE>Rf8Db(C_GNP+Es;02d>mWU8{TUh}3d9UBd+0)a?Lg1T66P#%_riw#c)@Ctw*Zz2s z3-7C(`+$nyTyz-id#gmI484Q}FtmnNJxjbVi=+%1_-3}#`=(H5<_he8_S|UuW3sF2 zVypOKtUGbzTPx1zd)1x~gEyUZ=l%AbS;&v*L|9X+^t3cf9%{a_Zns>#znS>0erByW z#W=aC{H`kVqPm&Hq?I8&3>1EW`AEIJvF%=*5)I_X8z}6cHg_tpI=l@+x;~$2GMT;@ z33<_&r#TWq1&MCVJjl~+4~DAJ+|;S%@}L~d0>D-05{y{!P1-MeOh&DF;M7a~RZ`gH z(313pS~T!J}_=cE#K#MjozT|3YbEYa20J`J2GWj%7d8 zb?LZ96L=lR=6UUn49`iGgHWvtOER_~{i@fj_3QGHWx4!Q3KD>1s@<+eW0@c4)F)5t zjF&n(8mjfH6H!E8hq$*Sba6jpc0F)QY!edkeExCJmx#uXUXAR*#l*dTfUfHi-K4Sc z@DCcUclb9$FYO`6q`rZir^kwQz_?-)3&k$UBt?qh;wALbfpc(H9H8b~=!R=miL_IF zTfZ(o0!xop`v*wucoOF23#ytw{1ZL7=&++#`7-PN_+AYl^JMw;D?JtJt7>;<_6}U0vb=-3;Vm9}`Zb{VW3W%Wgw#4i^yyE}D5S>nOcJ^Cd9{6m3KQkg>uvlLT1 zeSP=+rR{D7P4w)YE*eY@w19XwHVls%(3d@Wc3OLcmp!U!R2e^ZmIJQiphx!@q>aw=oSc2R49LIJT;fss;PY7NshKtIv`sNeo zrqda?$3?SWw%Vyn6%$ED8C58rI(C{qtuTU}q0}YGf~Jd02|`Jl6j0!HlUDXbVu)}$ zBWIW;deZ=LpX#B^)5n*%dBn&uetVT+w6@boJ##TlVx+{~##YUQ!!>@1`kV5FJ`oAy z0TE^vW^R^=JOUxXm3we+Z53Ce1bdzpzFDA*o|Sl1@Z>T8ILW8$uV;6wrl(6f+X(Xw zH0K~^Tcy!(iDMp{gq!VxEyS=jM2hnzuy{SI4)()#e{Y_|Ra>c67!>6dT`*I^eTXbC ztG8iyHO#tq6~ExMqFAll=(l(^C1J0+Tujm6{gj`Zf+UanMz0Q_an0z|A2yZVj8Lrs zX*Kr|fr0w?FECPt()@_e2wYzB)|T^^c$*X7ozg9R;L<2?(KSkHg)2~Acc2zn=hCT! z=eJ?tupL%CUOh@G58Vi3UAr2HkKC}W2MKtUFPo`nA{}1lfuz*3TfB1wbqmujswF`= z@7&w2;e}go1bS*n-#E|dFsNe-$@|;*zLmQRd|C~JTUummQ#`HhqE6kU``59UHrv=|>F7Fv^cOA5 zJ*=FCiE@}kz~BxWFlk-_DbaGnauV*8wx zp?JY`thM0#=Ck5|fD~baw@Rf&1J@{j*c9}1*+B~y{&Nd&?@bh@QR9Z<`4V=|Yix=5KnxmiDT8*=_v7`y0 zXqh~0ycvxBW~G8VA)4v)U#xKUh>(%@qjhfr0o&IvIste(IfDm;=$eEWDXX3npOY_$Qt^Lfw5a!? zF8@nJ7-)v4<<)KKo4Kuf5}ZV~zw@DiT>z=fm}(h|+}1gtgZ?IoOoGCn2xq>Rryo-Nm`XAfwCU6kn&yk;fN@szdE zZMWWID48nEDvMsJ4%}f@{`5jG)QYP%h}Ndxi8FGBvy|jG#fC^sswIHANH)Us{fW4d zDFiIe5TH@zRbq6tWwH;u2u7N8AtZU=FwLmwX3k~2y=`c zzd>H{tqbDGUJEYt$~a-j93iT)Iw+<|K}^x?bg^t|UFhEk*wjGdjmlrHJ@*(9%c~_T z6;q=SJcCbplz$dR@d=s+@#GI2v*9J0@+cdg>Wu4Rm&V4%sQ5sU{BTiW_+U1-hYcw6 zlJx)(f~kjb6|QFyz&~nvNy4x+cD4i@VKLQD%0yH6Z-5f%!!I|qU z>LJi68lU#Px7TL`yf;MbnJn&t-7RC?2Ux>xg8kh4Md4B7VH0$=L&yFZG2|=4PPV-~ ziz8yY;L#uZM@vnk%20Apq??z1-4Gc73n;bJ04l>-1tmR8RtK9a=^Gz3*9 za)ulN1E(5ky;tIBsyHt-ym{pb}LW&pjJdLNSL$OthG}Z|@eq)Wy zF+f=no~ORPf!pbk_#7tH(yjK)qY0F_E?a4qjsvcm2cey{CJA9YT^vu)Bn1{~m5V>47fvq$+>s`dr>JC!( z=@r7`s@UdGo-QJcN}GzY za*Z(PwBC2<1sIE-gHHgndrCatJVjP%9Ioi{(uKHk z-~5gFvgJ0cW-F!JbZ~Kjf@Mt9D){p-G$8a2*v264zoIAcVoGyKNW1jpW&dbJp^BsFJ%rU`V zq z9@zhjkx@eQ{J81faKaS2QSe;JG2qPO7Z`VJ!TL|4t&DF%rmy)^g13<=Y?GBKf@mA2S zVy$u=yR;KGwQ&ejz7f}B1sXxFN^>6+b9BWF5msluva1KSu1Ghq%JIF_kTXM31P+0W zR+EhPhPF`*6M!TecS=D`J)l7MoUzvxonxrds2Fuo5O{&s+bKlfE3i4i3AIa-Lh~2( zU_3t?y54O!doTSFX#gRe*|(trw@U_PnScW)^8WK-q{$UvABqgeNwQJueqJFIyyQ%0 zbOe{0cOzrRDV&GijzFYeU(?Wlou_9&&;&P|ob_5eV@lM8?Q0pC_q#LOtW0QpjCNKuNk%V()lQM_%5v#6f{_YBWz59rfOPEulz5Yn$!m>OHZoA=y)%vg*Ek z-u!Ya37DIn<~GrfHEa4a4vvxlRbJoPCz^~@u3;Nl*#Z7p50JKxIkU@s7x@DHvh=)~ zD#@`AOSnnSouMglW& zUiXmwgw)XEKg-f3>1$!!knCKwZ+!paktm82?bnaRSN5l#@B$v%uF5fs=hA{h?3PlR z-kggo4E{@^z{MTsmPrhkxLJ}B9CApb95C0!9QOz}>fBe*)_!*4U!f9bl-)%w`feY~ zfA23`6c~PFD>_XRVhFmm4bcdqt*rd#i%Hb`PaLn;eNqzhTkEo=<7~b~+hPLuVTf+j z7l^CQgP)p8BSLdYs$}G*L4^@vvPc5!9rGJW9UzJ%n1s&z?YLXnoBF;?gLP8 z?%SJai;2y8NV@k*3>3NkH5zgRyX%J@J!X1R18g}nQrR1>9>AQ)mQlp}j&)WW~PK-OFr_XQ+-Y*QqQ7|q}# zYEJfIxhy}_3m5ArSnq__^eiCLc<{248!cUCxlG5-7xF}7N4tnd<_9A|$MC@ydvQj2 zrpH^ReVlbH8cpleE@DN`^*G07MSpf~7QMS{X6`cA)o3+FC6Vgp)OAR58|l)pS&ywO z>agL)tpdF+yYluIQ% z>wr@4T-ODLQaYO03WdB;&hf%9)Io%{=|`@={*pwxR~Q!}7LFk*a!QRBeS zJIFk>@|tZNT7g}+3*W0Mbn*c&#A8J{6* zS>?t1?1u3_OxP<|p@ervg5^%GslOoamwp;9ZD^O<_Nur)k#$>818fYY)aXR)yDzzW za8Mf@8-~Y9_*MUpY+-EBsp+m@RCC>nK%n4P0446ke_>qO*~%!`*}5Y^r;VfXQ?P6Z z>P#qR{Uz$~-PifPTm^VjpZemG2uQ?e(UNOhMTRI|>@^M*vSOPyp;Xsl6YRULlm?S8 zp>mCh>wQ3TldBo z5#HOu?_K|0EwjjcyLxhscd$0CzXs(O8*j48BNuf*27I1>mQ~+<%&Cbxq$)hpsbxD9 z0YO$dCF4x86jmDD@hbaUjgqprZS;vRDHkVO4OH65bpZ}`J^`hf)$I+pvXn~~8|i_Z z(cUZd4J~@~p}G`?YxgOSHJ#SpL`r*b*SLc;p`Tugr{ELn zl?!)~?|=5dpWH9P-vgg`|ITg$#q$dH`f+HV@m ze@^rkzy&aDzE5Q{EYTxltUlFn*;(8m$os7>zrXRW$99Unk{9p$g%cVZQ9BMB#(7sWZqv331oMcfrZO*<^lewfM7H59kh)hV>h91t9DRo4mQCGZDzqCH@e$2z-+SIwz{SEx{7JNyct7vcQLut(>4GcOd&r~wwc$5Vq92wy8 zpY>ZtA4=hdHshCYwH_VL17qz_zhPQZ=nXGR&RNfneoZ^kH1NyQeFA}d_XH31x#GMf zj4!b$GvMz1Roinv@ZNr&migwS2vU7sl6(O|FS3lbQVByb4=GlVz%s!wsP5nF-$boD zJMgr_4RfG(bBu1Zs^#mr52BfCKF}I5`-c&Y1uwP=U)*d%p+QA^HB#fM*7;w3BRni( zXa#^NtMQ};ics>0;JS=g=`AIQ?2RsEnUs`yc6W`tT|r^KONfzor{VWTQZ5+f{T>=%XB7@@qM=$_H6?xOD;A-6=UR*>@&|we! zc=ePhSb@H3cpVE5`h03rOrdXzG!K2982!)pAj{O(kDCl_|ZkFI^~mr7>!F=s&#ZXE239qjvONHB(VT$ArG#pZNcObHh8nGMb6(rQ}*h zgKZ=%#)ApVFdX}KLe`@Fn%QVXC?Q^SKL1TsUQ!R{B@zzqFbWgbZ>bho{IrlQW|tE5 zl$!l#^e$SAOdM5FJ4|1Zk=O*7udcv*=NgmpnT^D`7h=1KA7H@py`MNADxa0^yRv7g zuY^VyR`l!T`sm_Dy?bH;VvbDTcuR#=bAFJHqwne=S+F6s8Rj^+-X-$d{qDCjD zm{VkjIrc>PrF_fDxBkRGL-l6~@NVTPWU=t6>evKjbC8s~cS7R6-x#3FJx*k)u-!DF zo8uFXzroR7z>f-FNq$*=tnJqXS8UsfYHV3|UV1=8!Y!VBkQ+Bc>^LKC&>_RaE#r52 zQCK@dmkvnkF$fVA_<_xtkf?=zt%P=oEQc+Eo&9^Y?{WL&fIe+N<= z19!RkYe4Hq+RBvO!2&*j#39RAPGnATs4|Nx{(EOrL*4)Opw+-aW zZ^yUT7^RmtY zH{1xSsOg#9Zt-oDkPUf_ZMSA4+zspuKXNF|G?m~30M&Nu0ERx`c)FIai_c+=z^1S1 z)|l=AJpxms*o6Axq3occ+X#3$ZF~h?Ky#sG{1v#@`Hmjpo5Ts}H)`X~vmJ?M0)l!B zUn4Dzawx%8_WL$2op^W7Y0(2QO@ec0f@KP9FI`klOFG|Yz?@w;tC&o1s~W6Px`-|B z(ac8hkx3-7DuHI}iYXov-(l??!qspRc2Tmb3xBlVB^(7JZ#kp zEm*7(EbR_4@JV0gtG7{b(?wdQj!fv+-C3izu^4(otLY%EW<{yeR};$8NuMQZ6Uv=c zP&5A#_ndRG_J-{i`KWYeIt=Q2nxu6rI0*ou9539iRVWVo@&NQLpg2vb@lImm7bVyO zpr^UI@?Dg_zuN?vcbVhCH+G>g8wT&KuE_7c-vaGC1SnqqqZQkR9Vvr& zq!6e?Q;LwR|F-q&hLw38VFd5ty)@>mIPN%JDjH@a1rANmO~w6g`H)7aY!1%qv9fL% zIS%EUpUqJz;k`BH`$Uf55Q2YsAXnqaZ>=g^o)V?VUia^(<#X}Y6g9zh%^eH#s)6Rz ziYbxHt>vDfM>WkJa${s1e=HF7t%hiE)38yOYW_lIhAf8YilH!;~KYK)QE zy~r`xi_U=N#pIK@XJal3@yZL0T|&zL9jIP^nCb0~X|gH&Re9EVVPR|hyPxu*DDD22 zuF%KzS&OM{A0&uhzVZCF@YW<^Ub@-GA9J&nTHU@MDOl>!?Yo$?^LMyB5$BsF$F;xL z?6O({Rq|S?pzOwLbviz6K?u73g;$FdLPxTZtUT0?+#pjX5SZMOjt*5wIrvOozBY~E zeR56pshH#D&~L9wF=8Dpvg?MnskOJG@HZqi}%T}@xZ zeII&-9nTjZV6A&PQpSiUjwlZw5cd3>`T^uK^fnba)us%RaP+fAZ9z)F$h9Pij3SW< zxVQd}zsVCEDT1A7O$*ebN*JaK_SdYkHwvZtuGp{x7i)ITul_)m)fHaBXxlnq`+d|RE;)uv6ckhi$oZNdKt&E(fO-s-0g{_ zt>sSjjcp7*Gzpc6uWr`ey8_V)nrD0lnW`+#y$`|6zZiJ;=93L)-SwlQqFSnQc_q%u z!bAO{9h;;d#Q@YDe`ZEIdU%0R$^qW>YpVF;*k14FZ#u|+Bh80Eo0m=Z6H`Wb3l2e^ zqsV5v_xhiL^1FZX^zt0!SdL@sw$|h?oWY-!ZX{R;)*|A5>$^D4nq^s*QSTQFA0JQ= zXU`d^fX&VJV+3i3%1R?hA?tU$z|Qz{PlSi7`VR+{kR&s4UkH7cHm6O?bsa zkTDIMezWw6#4~rN5Q8Q!^I#L@EFDh{NMbWQgj1l|14_1&M+m%PDS(!~?)eyE=~J0@ zA~=^mYw;+R;}?E|RT-W_nKv5taopjsVFv1+6;mm;qG#Ae$(z`$y_MM=&kCyrpor}U zSU1q%T8NGw&8(a)KIO>VbQ#+6QlMK(lT2B_|T6IUQt*MR(&fIRuAO6Pat3#s(!yK#gID1l$$Ou_}CHS#)`F^4} z^{*p%H`xpl)i)p_F^W`5qL;&CO~+F6^HpA8j^VN~0`2%6Dkc+KVC4&_3?xCf$;R_( zCI)Vh3XnpT&h+kMxwI;-_A>PSN~rd0se>mwx0~4>G*&=>XSqsLbfe80Q=8>)Vy#`g z7*NTiNPwgW(G0nt2j;wZM96Dcowea&5{q=VLtFmZfs>#a#)N!&a?V3B>(k*-CJ@R! z<2725{L1_wRIef3?f61R6CrZ-cHzPbOKX(^Mvb^F$fO3V{jA!KOOtv`mrhBtM3OaG5-yrT7%!l8)Br};}N#aml7ugI0-6)tqq3L9}pNyMM~KpCu=aC55h zWutj(J!eDEHVUU0Lx_r`cCaXi<|@*Y)4bx^NPVRzu!>_NFQDoCHObj(NUjT;97lAi z1Mmzc-Vv|;toMB_7Jxumb)=ly#iOu+g}@emnnRGZu0mFRl^MMQWm-P@M)8u!hiCLZ zckZG}BkS9smwl@D16lI~$OhUsQk8W&aulylZ82xACV6j)Ze#nUK)aj5W{BT{TweM9 z14Dp+olXXi$$6a+Oe?K&TT{``-reSw8mr7=v{7ESk8eofAYH)VO5{LaZ?b@HJNc2o z;Y^o8CY6P2sOXDN!*mK8_+q&kj+U6xU__tLn&MLKz;K6xjjk+$8J~BdJHqIPDY5D? z-fouf$%b;<(S-V?^rw(ikgl`1M}dz!ld|&1Xw4O)Co5bm2gLag^0E8=p}f+I*EqAtHx5EhIOAlS`j$=Im}7e>hMS`yhGOmQOcSd3^Ik9w2`>{eioQ z`pPecoBy=}#Pf!@=noyER1K4p8N1wZ0FtfY>QQT(bZjcr&MRl*gXOseplQ*tJ2MYi z1*&!ge)Am(6u8Jj^aTh#sF=<89~tjlX`*itv>1r)!#f%jXB$4hPA6VM1w4u9iZJYU zZ`g%~p1)x92kbycQmq7U9>w!u{gyZDX?wL~8^mNw^-qmYuyXe}4lHt2c{}+U*kQo2 zS^5MmFkSbpL=4vAJ4*vN!MTtHjk>e3!z})}h1Lnh68DkgTmfsVHo2ER_)hmTqH9)-4~qu>Qce2$qQO3!1|h%R4l-^|0vD%$kK|b;g44 z@f^*~z_tSyhvBv`kfE%X4bQEX6G^#Bu!MqH2Fw(y^Bk+PQ5{>dNiQ+QyPkc_b-fJCm7Y`1ZzhDbX zjBfcrNL?8bsjR4XS9oECA|S+iOGQ;Lj*V*j$a0t*x{oB2v)%&V{s`JF*V4*L+Guw$ z*k%1Hz!`MK7ASzp0Y=i0q?5AefQ|l}+ssx1=W$1n@fu!3>QfE0YhF>JDqOCo)(r6uPbw|m^zG9WNZ!G{XD`dnb$HJWdf-@(os+15A zeN^$LEjU7;FQE!N|G8tFm$+^D=3!2V!92XsSd>7eQ)9djoRnfzKoyn+*kuu~Rm|BF zhMM(9o4zkK1(R(x+}SmQR`u$j!)wDPDz58_;abToCe1bH3wZ_($5yq}QTTjb>`bBL z!tp~m%RTD8rrP7F7r7z1om^{OYkzZf5SL|A&g>E^#Su?LU$wi(r&N{GWCq)GHoChz zQE%b;d)Dd~9LMar^C=;0Q*%tX1!v383qqO%&(qx^L-R&DvHKY|!K+3g4r;=GKj1gf-|U{qKcz( zOd>_y_kx_FQ7(6gv5T*PaZ7w5@TRV?dxR4jj$s%`v4f;+O5~xw3t)whyLm-r-UkNx zibNXHUDk=QwjE#%{2Fx0)<^I6EJ}qC>1eyU9xiIMbYU4$;_wmKrIG^pZ+%k}s9Fr1zTf2f3h;chlX^Ix&MbH$ObEbfw=*eyJZe%j&BwT3h7G>U-ob z?3Wn-`H)7%YCu3UM);$bd4#)iTw_Gdfvof#Pum(`DF)gwjW_%1%;I%x@3Bi*`PCJV zG%291H8fbhb5jX9x+}q(Fyo@U&}-#;S;}=8Hmwv9FL6I0)d{YFF#< zm554bGy}sGbU0Oe2@$BxE1Hx-GZ`W4_Fwq%UO=rhTeL(K`yaJI22vqSMjvUd+8}&=jRLM_x z9c!fk)gpZZ*!a7eK>cLXyg}&C0|RMKOg;VQ&HcN;t+=VF)!54lX^-uYmI$1OR|pTG zjyU9XWOPdGED13RsEZB)CEPO@BOiNudA1OuBmg7aHG5ZR9GLmEU}q7(swIx@2|IRv zBG65a`%fV1Ewr$3O*t0j(!Sk2-i<-b-I-9HBN!c_q*M&n&#xx^y>5KVv68 zzedd834w!ugi5q`&xTCaX(y@?ZoEO%MZjjfdQFr zJ*uEFb+NJzhChupXooOQ(w(@ukS5hLdbr!5_O_m;+)iIl)pc<$!K?e6K#uf;4+)p9 zv(CFl9vPjmJ>xkl3r8=$Gf+96tPUs0EdXfB><{qzlJX|LQj#pd5POWnBaa|+Mh1ve z@{W5eb36?9q4%MKYc@QGzjVp)`lkf5gh`XMHEL{QHFuw5vZ{w--9?d+LFDyd?!!(W z2;o>L;0$BYJues&dK51KBXWOj4E>%mJQ^oroGdQW@Z%qM@z-r{i3`}Ap*11(^PP16Q3wI>U{#~!pwkPVUm+*5({V9azu@f%U`_0pXow7 z_|L_vaG5c+%jfi@_?Wq17JEDr&iL?$uXp~da^&Kin50tE{fy1{z*Y-63f2KD8Ej+B zbD(wPHYN6Ipg{!Xnd27Ia>7^m1uHEPl3o9+ks<~9#JF!%RIqTw@A5+H7iE;O)eG|H zKouP{Hph!D{h`yEc&l*rlU?!^KL+9yA<;x%XYt*{II#O`{ItZ-MLD8@+*QXrr^6`_ zk3G(wCDC#6XYZ)eU2+9PNc; zFkv*pdTHIh7wDuI@ab|{O8*faJFHA5OD*T>)iHDcpL~oy(<319Ou)gd%g_+>p-`R4 ziAt{wHR?w~=NH3J;LE9R;tL7McAKb%>MNheclk?4S$kYMJtIT51u35TTlzz2%7TvD zIz57(VTlKYAGvm!i{d7{jtoyL%V!_!f6gh_ zs5rh-H=vJ(4RbU#sf&)TKIj&8?A0cbl>aapN3fd z+anyvZDx^FQZUM}mmpq7>oMCp>ONnZHQzg46NP(TB2H_}TQ)5k68e$P)~U4%oXTIa z%D0_>x;+yHc7kzIb}{}gbxqOiQ6n%#2}VoWg{%}PcfJZ5r#t`!v8BuKdVfmBXEgyH zq3Sjb_$vgHd0tsOn$+L6>Ki8_wsSwNPi``~S<=mZ)mLjUtpLEjQQz+mwVKs616J+I z7OP1B-#wNrq>c?EsM-AO^5zhvV-&rZ0K-$x>q(se2cr+Ha?j@D@aYS)&lVqfN7kuL zBktclBRkf)=fQ19d90%+a?lb$9u>>%J|*a}apgwmMFAfx1(oy``Tj-k7ohgF)0vm}}@HS|mcSRd+DJrqWgq zD=p0lRd}MDmEEg}W`Mi+Cz8UdNiR2#a|}b@GflCpPt9{(CMdSD~$?ka2yI2oLe>@I)5-OQRJ1UgL$vN&2 z=7HGeYzZoKBVc#v{O;b?a1@@?1q@Z&Igo0Ja+hFY)WuSziWh0w%~wWzWxq}Md-~4; zs!NIgIhKYQ+Uq~T7(RN8cwT7n*NW;@2HElGEvmx`Z}eZw6c7mCz_AHuGk9GKml_gK z!qqfxpz_dtk4@xKII?tZf!oopDD@3bfi5Q$b_hwFigrN^hsH;Mte1_ls(Q}KC`lap zdjpfxe%}`aC=Y>!mklDIjANY9Zr;7&x+O(<_4$~}=KNwk&b_V`W6gY4rK-?Hywv48 zD~wAs^o`N(b*s%Aj^!~a*VP1+*w(u<%j|^JS`xd9&sF5O4=1? zQS&^mFP7D>FI-U!He8_YI49!{mVjV}Ypc*0JqN$qPh`EEb@Xt3uvIhvnj94>uirF> zj4b=g)XHF+g8*sk-em5rn_K;@2kN7|D~y>j#2v)y8QXk5w*BjCR1yr()c2w;oSU89 zn>g9A!E6sht+Yw(M##Inf+ALMBR+JTla*shKsmKUUq@IerTthZHL7h4K#ay4G5o^}wQ7fG8np|6z3b8*hS^9( z;EmXmuqS`H67Pd;O9VqK?aX@kD?Yh~JXFYs3FENd4-0}A08}3IddN0%6tlAc8Ta8$ zL*vVpOnwlGv0|D2%MOir*&-mX9Vl2=k~GAhbJ(4;=9O6RbjL~woRmT}8WFq?sq&d*w?P>yH}=c`E=zwq9(SorR;*?TKfxF#=W@LuX6P? z#2GozW#h-1&I+#AKdXvC?0!Ltr6jWYaf11Da9sOJ{KIdO50SVu8CoyxH1f5jaMEX@ z#ZKCBZ8qv=0TymcmlBx^gS^|kyp6v3WApUj_J@(ny;{DX(o~IH71K2GW{A?GH{ww< z4gj-EOwm5c#7j!hw4S@@BF#l9Wm>5eMKU-FY9@K~zboc8wl8hC38QWuLmi<{j4<5s z3QVb~W}7cjdC`)w_sFWtxxIX+G|$Q75CU{^m&~e4eV954vG}d<$33xR0owq|(GVE0 z6APj3H^PBdB ziJ)3`LyPz7b_!c27^k?Z7#MA9Ik`#a1)GDnN>$n#KKxz$T@b3v9WHFP4DaVwjn~nQ zFB1+yy%T92`lCEt9ynlww^*WBLG98nkaKKAGijexwaXfpBJiei)~8&wx7Wd*G#;b+ zIgGeCIT$-v-f5F=srH4Ch%VgrMv)%xXoF4<*gEJDqSRKg+%K`z+GK_x*4L|aYCWo; z)YPPOUn8n=<$q)$Ly-O$+Ra%d_g_}i{&r^Pf;+RzA>x$*)&UM$gYBrY&zIKeHR_9> zKFaQJ4QQQAf-P=yS!V2gXbF2*oVE}75DofCpo3h8jrl_gBg6h zi|5*W*OijmV5i!3V|k`ZPcROzxl`bjD;?J&eD0-=?Q0S>Va@cmb`Dp7pl33I-UAM9 z=XylW*jaXLj(D)H`epxhSgs%BTuHc}QYq+RcbJad?`a*rglUrVQM-A(-%NYH!aTSA z-*Vk6q3A==KmK96iJcDbe(i*qdu?|V>J4kr`0LgBsWO>BI@_f+#U&oPc>)=!Y4JP? zh;y;0_3VZ96g@OTw9!r1tw9`6&oOz})C)4UjUHv5atr;Y-GK^&i)HM}w+}!WC{Ap* zxmTMLXgLNz>`2od*%VUrQ`yrfTORGIn2H_<4pr1Y*{jh}@_LGpo8VaN*H7U)b>gmJ9jVPmVKA;C1_>@rwXqeja53euyN-lLfSlk`@Ta^dG&%C zAhwd55=&T#V{^QC8gt5C>+N_Z8mM9Tu=pt-+M2*sD9~rca1e4emEA@i)ytPf8GaH=l zIh$av-MShZGii;F-_4MZVFrMJzw->1>*FoZ4O`NCCJywW)GHnuGja)i-n9hxlwH#i z)G?JGQTk)`+VLBzkgbitYs6S)h(1Hn9Dsf^mtRes@T=Li{e)UIa;C%Im6Jj?jIlyF z5h5E2FU)iRoXzynn&U1zi)^@@A2hzT=z%Uk3Xk$U;ce=RDJ4l|#>Hl$)cHm^07*Es z;90dLaS`I~16B}PuIwt&jfpYORk;XyoDV1Y7%wl(`XzW(=ENEwTjR*KDZ3N6`dtpN@itC7}bPvsu=3g#kxP$_SQT2$aOnWfun=A|sDmT|q6 z(qwcY+5%_jE2zl_uLn~URnw}!S?T6>apKa*_(t$m_g7@YWL1h7Pq z=&kS3byRbgj4qeIoXNyjCi22wI=wzMaE*?ccgo zp%a;V@tA43{(k%Cx{c;bE6TGytQAh4bQFhso>WQLne{`f$0I(V2pf(s`W&U;`P;Lh zhUmqAo_XPo{I4+C0!l40&3}FB)5~6={A(QC5>%}o4DktslC}=YudF}?0u?aGM^vPA zi6VKT#B9YXfs@LkIY`d;wYzGI|04CK`+(!n&wxU&^a&-r@IpG6ZvB}*=WiW&NPWt~ zgHd(kLF7tU>LoU|+K%@&g^4V7Ht2Uu9nz%1vi?7do#nLGqE4Frr;liZz z<3$dGtCQ=85M_II_{#LvW6R zYS5VKq*C)RExhT2MP`H~0Ews3orAv^HyktctpnG!o@PlM!jpglIn2cXrnarGCsUQpUg%dxsZBGCZ$a~e?Kj-nxMjw)AF~4ZN>9g0n;cuC2;_TsSM4pXRo^c{A zUJ*I>my7ch_;yS9#YC>wFAey>5ql$duI>Exzywv7$rX?%SOQRom}V*n9p6MfqwiiW zahFOuF7KR9*{7MoaT@5{D~e^zzpdH(yH8{Q8XH|GsQ&{P$$KfLb)S`X^>ic0D2$dW zZ?%?D&=VYD{8-k*x%&T+{@k@!KAZ=30Zu`lu1pZ^_LTJKX@pH%yaK8_NCQOi*@N7! zZH7nui1W!r{Fox@>ca^dv+_LAOa^v+V89k8t9uo-)jyO4uo|U|y|=pO1K{Iw-xf`d zIMQdVkZAudk^VrEA@b{6(XGTscBiEmTD+OlOaSQTQZjPY9^*wxvzkBFkDX+#*65gH z)01Uiy$xEV1$X?ai8#>QxKsXBz-fCx9)1fMra~^l z@Hai(!B^8byaqk?jQV+(A*Gk3d^8C9Fe@IOmzmhdM!8X|xqV?U&R_Ab0rrPWY&oDN zZyb>%vKQp^gow$$hbk|_v+4Dm+I~!Nx;cWgGgA7%4#h>a%UeMl~~UD zxjvC43n3K{&sEqlzsek{6S~3gL?*UQ=q3AO-lmhzNX=HJtT-8M&VCoN1YOl!8EuQ0 zsI%~(7*L(c;&~KAhP-aHrc9KW%2?^IZWDL_t+RYet^F3f97@Z#D1Sy82(tA*YMTC3 zQWKv{|L*H|pEn7@j&7&k`M2n(pB(ZR9!PUy2C{p1$@!~^g!JeX5Ut3KC0hOs`upDE zySSAuVG@YHz9p|Oh?N>^JCJ_y$zv7d?i4r)2V6H@)tqZTfKZU#)I}~cPmsH>zIrEv zthFm65~TH1uYu*?WMOo)2L!c#-{S>W4os^4bR=rV*|c8uY~_`)=xg};1QjWeMoAH3 zvSTJ&z7148NPCebM+kl8h<@Mp)Rl}^iQr5VLM4*?xL}C9fj@{M(&l=GQCF1 zS}_T++m(;p2nMT4lob__&yj`?BiuubgK55Bj)OG+-0mzAoEe~N=$n}VBItEB4`V93 ze?_ZZSV$Ln`+2wSqSc2tej-sL%@^I>0G>NLHz3>H}O4c}W-5 z9Yf{`w=@l|-$-~}=ArfelIQSfGLiAkRjnk~$+vsc!^Bu(s@>QldD$zdT$cPa?LUO# zSyIAm#L%%WZaV=@#N0|6mm-~=vdSbrloY|UDk#h}#D>_YXoA+M9hr|_cflocf%NbX zieq|XVHSXB0|0n2q)>NCx<+lyQB6DZz~!_3EI6*vMajJ&UA!U3;6Oz?S)b|G`6aLDi9+Y z#B#kbhCP5T8HF{i&7gaFf9e}O>0L3Ypb^iOH}NI{)}IcuG&T(C3zt=fM)_jziX~7| zEvV2=@El+zG=n}<6b;|8vwRI(4F;p){DMpsmP)jSX*Tkqb6zfDy914Pjie&aN1t>k zk~*ILl(7oWm1yeg3DPm7jb^_;-wE*GugV!i(el5_^lPr()l;1_x!fzz49zJwgIFP0 zI?f29#sNbpu^@Xr0M;3}rE`f&PSl95WbA$8UPEcWuH`-ziku60wQ~bh?IyXJTNzyO zm6)6?-%38WBpc1T%?kohQXT*_MGWXD&QWMeigi9M81p4}x4mM~aeOyImS-fv!M;h? zv9TH!W;+Z}&C?!dHZ9OkS*g$gAz@M)owYVN_DXK-mpmBpb4Ln~_%APwfksKFS7yxP zt(4xSC&MX-H&thy%hvg92Lf2DSFsTUDeP5Qy5RrFpyrE~yhcnLuaNma7bd=IQej+b z<$mV!$vXQl2Dm^gJ6-h&kAjD!#8AiP80^l?a4Mx$HRU0_te;>~4B>9bJyI!aqWLDG z8uC|q*ka5d?Z|U5^olAR>a^qmrfU@s*Zz|c)wo3u5Jvl3l^1*&VX;4Z{7`>~98ZIu9JC z_D&ob1)Ug{ciwhUkLGMTvgBGbjX!_pX4zRN?5g;(y*5~4Mnp|)Jzt!52G;U6GpptH z^E`BjuCCgs1&6=^(6ThE;9F>yto46KndmU{BR=lDx~ztCEK4hjxn20c@ETXJmXfEA-mf@@ z>j`LtaZ^A20yOywlgY$KbJQqf#*E}#l#}M$9m=O2JXFzxp|3HAd{+?h)mO}?-#Eu1 zdB#SuF@$%|H`Wc*{N^`qd4JM(LZizQlaqh)=I^i#RZ8a+Y}G8&Zw737o+B6M8M^I5 z4v#c_pkjBZZvQT86Q3~GkI&jlJ>y*Y!7{Bp$Mqz>Y8$iC_iu#~=Ln1&sg0c8ZLXnW zwZ5vqZ=UWUf~$F@ZPAW;#n>q~l_x5$XSz84AU|#fRP3yIysuGDheSQwORuy6^Y+$I z=ETTTsL-hiuTz97TTb3`H#oLT&-$-|h%V@7gPUp!Zq;&**YIb zwA;xU40LVz8&#XN)z_Ns_X4cYoIT8oy&(L$qPn>)j%R6~hKO=+1 zj?s=lxkG=sTd8tj*Yf&i2gdD$`Kmal$cEM$_wEl~-NNQxGh}en9eTFBQ2uNX0VIq$zI@S{{D7cO+b_BHtY4awk_j$VK3e@$ z-W0j0?)-s9u3az;m1n>v#*IYfzVF-W5U_rYjz8+5^3KS9q$$(np$4nhwW&1sNH}wm zb)~3E>?BrUg~A2Y4rl4l3zS7|hF&~}=${2p zFG}uPL=7TN)$-`iKSsstnUiz=CaU{?kPY zg7Sur+xSLVbFbG?5cX)6P z)hevZ-r#CS+Ny0hS;5zh)tXBw-Bep>5qDCVLiVc}(AX!qrelqn`0hj8PPe(Zu97u1*Ka363mIVdz) zW7E;-fPM5vXT5)MFvs?NG8s<>rHZbB zmAySGsIAUu)qs&!#U9hmN8{F!74823-8r{Gjs_?=lmZ1G66ArdJa`^-kg!_E78d5m61*lPJ32&`d<7rOP^NrpW=tP zaI6&-iRp}SQ<~;H5)*Ddde9M;cV{oPGu5c2d&o?S6G`el6-`+3tRS+fVn0!#M9@NW z8aC!Q+(#r*tw#Cha-6Dz!ivt7x3_XhFc?u7@82|+RVQXa$>$mERy?gAT$vbpQ?ie9 zR;8QI99i`-&VDGZW&+bk{{W+wX7xGGC$&%k^BO`<^WL0KZX!bh;{)5KYKON7h4H|l zDzLg9U|C0`oK}MJ4Uq+05&YI_7}t7xj%oe0;#+eLeQGn4-lWUxY9x@B7#%2E7B=J# z)X!T_G6}md=9OE@vL*=i4l!7pf4Z;a}J$qs|k!u26&^Vbt|-ih8!AG zAFM^T<|hQI_2QXn*G5Q#bNke_XjH`ex%A{3Tc)`|x2m5105l`j!vllXp@Om=InHV^ zoM#=X_`#MnC#^_IIA9o6EJ=6IVN-{rDCjCO-~xIR#UXS*@Im(#Q6HC)QjdsKAA0i; z6P}eI&OMC?YBlhUhp!r=x!YtJ@h zR0Ed(097&+XD6pxkXFXvPc=V2D2UuferuAlfN(N8W`enk(YTIBOqvS+0L3iK$VVNj zaTeGY>K%q3qu#0VK|MNDqq!%XQ4z3q_M{Wv>1!b*F9)28 zOMRs>!d@|wr>A<|66n)HaMC_fL+keDczEiTEexw3>FJZ~-|L-A6)Kc9H|P z-ErQRM{6~_m>}crMqt*$3Ad=)deN`~O(N5B02QRumNSCxbM~!jF|@O37lq9b`c~!1 zTyfk}T{dNoA-FC*@lw9Mi(x8%YR#rItEa^i5&$2y7XnAq0)f1|+}L0BMQO1-o}vy7 zWvXQi2>9DY{uz~M%`V3Z3F|~(po%>ERgCFTTy?3ctu31Li3p-$n6MmiLrW+6O$(Ac zQ8JK4Q@CRX6kCZ@i=Ndafmw1zai>%~)Ef089cc20#a+$11?fw}A{+|s?f(Fn*awOY zSi58cMz!OIwsH&uS6xh@2+b#sS3&VqT-`fo6jLJECChO~*-Az^topNV=8m+RYmAy@ z7nZsP%8byOf)Y6CQnQd19M!ih3UgY&7@tW*S!|k{MloESxi~nX)@I$!W5vC4=G$@} zD<`g56Tr=V0t`tI$fSD3x)aizQoel_p2QrC*Q;9%vJiN$R$AB6gbE)Y{=F!afNkkj znNxolKmN+JOaSTydObYoG$N#mt5BBVKs zQw&B8X7w8JX=jmHI?^pd9p?hPFG*VDb9t|dH&lV3wJLcOU;!7ftG19jP#4ma=~u)c zNHf=(CK0%bQ)e5=CTl@!5Jkxp!B@c^K;nvI8!^+YL~xL+*ZTWMl+lWp}+#T z_aV5=c}Zi6&Y%})WH<(?f*q&cocRM8B7wUr7JF7}Q7{J3E5I!Q9o9)1&0LPn$Tccu z3gy5ekBj7FP&Vy=2?WvcfJWqR+PysdaO>*L*!vFE;=zH)#c|p2PQi*D(cV>MlM#=p zG1vF4GPRc&Ac7BU(9*Pd`}4u6N#x;&C5XocmiYn*mN6m1pQxOYD6J(ZF4&2=s#)Y5 z9!U4Do46U)GIlZPo~F2M-<%d<*R5vKqkMxbcp1$HadONEOy{;}xxD-kPz-d(S`nke z12AAaW2vB*d7qnyM{Ii@^*L|EDnNuhodVJK5tN6~u?utulaHEBdSinP<^l8ijTER` zxo3@~x=$kq8+xDGl}~c-bQT!PO5aMJiaW8ZFRy?juqT7p28mT$J7$^GnH*sI)=Wrg z{$yixnA~@?p7`xgLU}gOo-o5aeA2rKT1yBFzO9US9B^peMpkEwXAv>&*iu2=E(>)4 z)psfX0Hz8%(HejOGEW%AQZi99?Lsbe+aiCeA_7sfoMhs<=se^Y;2Nm05-|2AgcDMe zbTfm_dRB5bF-Q(^p0x8)U?Kt)oeQo9TJj!;=B{y-IO~dn8*-zJVuzi#F-7a~MIbvAXP)#R7?qry zVDU;1bo(R6awr>7y+=67%O84;+=R&IJ*c}#h>cW?WMt70`(?`U&{GK1VL%ui%@1z9 z1rxX^JoK#xCtw&VR4|dLl4jw3>IAc7s_tXZRc{tqUgkx}=$Xw)$C>AFV@xk%YQyOn zW0O))IV)Xg!5*dqtogtGioT|ZTd-~x?<*9Wb5TE#qj9ANgOx4K=$ ztj1Ur?D(NJ_SY)ugN)IN%0LZRO+NXuGDu;;4O)8}-!VWWX16OQbH=i%#|=wvE!Z!q zcYKOt8{_Rn1q>@#Aw9G>IT^)0uv{qSg)oBL8a~D>uoPc}!LC_T1pfdOy6RcwBw&GB z8*3GH3`Kh4$y9U|&b1laOICITt68O6ji?A1q;uvXFa~o@w24jzYMza15G--hJ$7bg z+Mm50CBYHWsX>xLO;)pnky^XH=I5F{2#I}I#T3dEbfr3pb_G_mnB02i@B%<0g@1e(q_zK?84R2lZE+}r@THGC0mi;@o%pHYyb`fzJ|>CStpl=C`O zYYxWblT^Vu#&*?)?K98)Xln)s*qj_tHz3OV0&`H7@ehCZU54s4Y??IU$Sls@L9bB} z>Ja0C1$u%pZpdtws}1+3tp)gYEy=3phX9J*bH&o?JdvJg8;h2cr+TU5s3^hWv#m&} z?b*&r=A{%2D98}8#!X7C#>H{t* z<=lcek3Fk7EWzi&T=#^9+^=%MrzLvA5yZA$T_EW(R9rw(35g5eXB*pX_})oP19^n zIIO;@J2PXoHq`Dw$ju;>`Hk;Yra2HJ1${vKQ;QV^fM&q=G#;03T2Z_oDDp_H9j&q~ zY+nUOIU|u<{Cw*@+;w1WtAl~@SH`6VdsjjHwPXaVbgL9GQbOm7^f>)R+jqqd`=c59 zhI>@ZXUsc}6!orbUU8r1rGX@r9G!$35r}h_J80>EJOPTN#;3T+qL30gFX-L#ih;dg zF}ai4u9_byw>+MnyM3r-3U@N9JD!EQ3dS{wwa1!348Z(Vb26#UOE?%A?NrZk<@99- zx#@#T=bf-{!27xBMw}6OG;qW+%4BcWX&cHKM=UpFa!+q+^~1cRG5SI3dwr_N(0N6% z>CSS0RT@d6wlAqXvz)A86knP%Q=Iw3XeBoS@TOQ`E11Jg3YRIC_(kervKvNvxS8YjEe!mrD3&9!YxWEN9 zDx6Y~*v}MPZ;(D|a2>@GjfYk1k_$3c-{!h3 zeOs}X`&EleWRhu4*q3U9fCWV~>6ntulkrZ{0TBd%Jr7=6i|s|LI~|eEx2UCAH7UM z%e1H`{?%d9S?%`V41-XD<7}Qx>%r*6aZawF1#)@!pd_{g5sZp4Xe+HM2^r);hGE)< zf;Y904sqIi9ns0M>5plp2j`CwOVF{(v z-%T;b(~o+#%X>aeX4=%}4Yc@*;h6NMQe7%X^FTyMT8UO;(yheovowvIab5Duj+M|t zeL}nVg;UKKv^&`c7{ylwpo#btXt_b&pwg)YffcN0L@6RXcc5pq5}uV@m#Bb-a0sCe zu^RPZL6WbU%tnU-lw4bq_*~J4SXVe5=<5)&^NwoRcEV4^=molPy~_Iy$?7^p%qd? zj;ltuTAWxWjB8cF4^A;gtRo!axOf$B#e_$hSpqxM9&AC8T(SGF3~%RHFXpV*ovhYSzU8Y<&Fk^)UQd? zHcDFqCbXKB+Q`QpGgVoD4r-=D-6>Wm>ies_Ct3ha<)Fn=B<4<|inLe*QMfGRWY@H~ zq>@C>O!J>=xLSGAWb~(ceYivlRY?0*x#vZ=BHGwQS7Mw~6gyYcE6^cT1ZJ&mt`6=E zdSr07UMj4DgP6+`hK%|_=O?vT;o@=X1R8{gb9#!A@k)*@%uk)mLfp?7KAeH^T#_~A zk;mGqk%3L31;Og%(MqXrBN)b8?^XUN$S|q4t7~=Tn2tTDd8b75AYy&{R&>aW(I8^a zG0u7uLrE&H5x=Y0RWnGhA@dhG>0Xe>Zx%=ccNxWI)|AVIC7%p>(6OwO$%1yqJL9j~ zj4cchBS@e-jmWvlBiztGjAozAJODWO`&LRS+r)K5h zLfr_#$7+(hdy@oL4o*oMD0Gxb^!-HQht?7U1o~WZvw3od!3V$1TXw+_CQ`tY$KH^>=3(`F3>scte5Hyr zlfpwk{;YKrECB9SLNW1BL=P{D)Uv! zFyLplYD&A~wM%v!d{kuPiuN)NYEDka89faL5j*kIHFG}oE7RJBV~4=bI#iypQ1=Yv zbT|~^G6#BDXt?Ej(|tbJyn&fZA8%@87N>0+%{K#uG};Y4SbCQOJ!s2lgg{|HIQF6j zM^0;a&bbAoN(RzE9jfyZfsh4p71?+MRJ^$X%Njx$+t#4Y6m_fFRE~31Neu3{j6g`K#OvVY<+g@z~^4m#|5r$UKktOW6vOo}#T;cW}4_ zS09!cH6>?}(y4e<^BKXSij3EqH3J}XK?YQgy?yG)csQaG0OO}M<%4T_g-Luofl`sN zQUhvbPwhiCU9svX;<3|F*$5n(Z{hbIVC_o(01EHWaZNPXS`stGVW#TVMOgaPhH*%3 zE)N4VzWI}>4Od9PI~Y;7%FAOVwBixiKXb5=>I3{vae zQ(}@T!|Yo!N1g=>J>nqhDaCnM$dQ48O!h5he+4rAbxXx0ZSh+fU{X4BL&;{Rs)~F^lL>upWhCbVy)Jt+ z$1VQraj03w0pk^n*5SrN5)Zv|>zrEUQKr1?F)6P?w~5Cid3Y>H5D~JU~$JZG>FXk z0;sT*u*EvFhs?!MP;kWcZ@GV)YY-I4t=)N9`CO52f;N=lBjGb+`jZYg4~?UHvILh>PqKP zRTvolC|A2(n~F0Ga0hy%-r7Z(5;v0>3z31ES0((?A5IVxShcAP-r^yGaI#~NJ5aM- zM8v$TSPtE(NfH-eSdw|-x{;S*yb^$9iWHf#atO_6HE+tD8>lDw z6prRK-6l6=^sJCr^P}>|3P8v0Ph`1vR0XoVar;t8a27JX0U*(~Ze))qp*&QKSnfc* z$f{uUx$Ft4;Db`xoc{p2lan^>n@$vQS0e6TdJPz440?N0YdHNRkU6Ob52gCG)f??y)g1JbQX z!mcV@sHK%sDMdSRp4AQ+dG_Y7IAO@Vd(dpV)EIX89%GJptsRw^jYi>`=hIP4c4$U+iiEbiSB?!lNP*xCSEjWE zd92~m8#vrZH+$3g!P(M=NaKl#uE}_doG=)vYqww(Al7#3B{Lk+*E*8tnn$SLsL9C9 zRw<^IwsE!z0MmPWWsP_ktbUoRWr*ERQ&&(ikw>U~(`k`{oKidCChiSQ^^kHm3LH*u zTY@o8tV-6_S-PBxzHKuoK@?q(5k;Df?xK*P=bDfI02yn&3MnNdfKSM#`Y(s!jHzV? zgOgTCBtHKD0-0Lsy8zln8wOUU%F;Mg1praIKoyveT|tbVXr$KSW%_{q>GFfdnOw}V zgOk#LI<#xXX%@4pZqJv^B8KisB=zw}lAM0q3!C_+UT|p@?W{AtM*^U)wR4^*E33E3 z^61@aL9pAyZ`@VJ<}tz=%-m0M*v3w1n^_r8tn*AYrnSSkr*N3jJwyt`wx})sk_jEC zYt4RnQxOawVOoq|ZScOgPOi1;`K7E{rP8yrp1fD77}~>P-eyQWxTbL10KAGZ<5=6R zQ7yutBO;@q?;!o zurmIjjnkfnuG91_>J01{=O8aX?w)zQRcBi6A+6)UVB5d3PuoP*1iy zQi(4vM&jFC_Ur{_^wuYHaHG-`06nM+o8(Rpf98d{{7anV9mlt7rbR`_QMvoE?OC+Q z)9&DVj>;dgUA1&SpWXj-raqUD&aIxB3 zxKWuK3_d;Sdn&s^i2Jg*Km4jUQ?4ZdO)24(7WeB%Y-sap~<)2OBFZ1zdBQD%2HV zG3lYavw%^qD%}7pg205u8sIPhw+F}UYa!)kIBvx(Y@_N#qw}1>}aZF=h z%K!{e_!!`D4k)ElwXxS6QXR(#bI?@nNoHYHftZIpj@3JM^2sOKq_RR)Tkk=f=i}Om zo%0K~Q`;3l_O(7)p99J$Fc|>EHwsIkjTRhbc+shRh&tq9HZ&Za8{Zu@X zda!y_p;0V?COA@hjK3fzLw(Zmp84u5Lv#8?75Q3#t!&o$Nrb6Q{;qi2y_Wb2Z1SDr!b zRXG82aZymkfx?lRrc)+BToycis_qXcGURlsk~Spn%KLrlO3E;Nf^s^Kdg8N4*(}oE~REFeHrDj!+Vm<4OgQz{IbR&`P+O9xVPjON}WH|PtAzj0R zoK+E!&Q}@5H`DAq;k`EkJ?OU+mY$q3a@Ay(tX#*B6syvD-$hOH=V2q?Nbpn(mz??a3R%9P>Ttl5IZZk(`gU83vysCx70xeo`ptDyal)af*CLlP>yvk{_u3g;^ewP;NQRX{~M0 zKRsxhh-2H@nac94e6Yv{)y^oLH%$_--U-iIYc0B*;-z5TT*KO|8XHp5qKXVg2O_d^ zY1eM#ChoQL^BPZzHs4OS5tFoLw>f8P;_~SihCzbgHKEZo4WoR({`IxIvbT;y(wE*& zsD)$3dsCRTN*jAovybAvL8Xk-<<8^HdWEJJx`-JizlzV@>jjvq(KnHhO(mAqo*!MJK)`624?L=GKfH)F?^LC?bjuD8{^r zp||pY1XD@zVms|lGjJrji zLZ4Bfr#!RCAXq{w52=p;P&X+g(g?il9{WdX@k8bU<=AJ9-}tK-GL4XdmN{}ee)Sjz zMu}uA%dp_*wR&Ji#Lf#az!XeSl`N0}mgS^+h_}Q|BNAUZ&)R~nHY+T}m-5i#??GG- zHsyC8StR4yiu_7$5Dr<}b7!~OsWBPkmPE*8Y+!p)OOOqdDIgAUQl2m_dE| zQsAz7)t8dvoPuae8f8`y%f@;dU3%MRcu5$?2eo!`C0w?6>q1`6vRg*O>jZ=HDn$~O zjz@@`ZyCp6YO{j5URVrbuDXoe0kq-N)FZZbAh5+rPnO0a$~irAQ&kHH2e-8vVgfw3 z(mK^no5pdp3Q`e*Fnd+9sCGa}$3PEClu?WhHxWb_)W``LH6?M|hLJJRJJSgEv_6y2 z`&BB+9|3sA4H8fou^$5&q%0n&)Q+8M%XclDoDXXCz8`4ETHqL&hko@XgD6G@bJnDm#Pt4QTnKS&&! zb49Fu(n&iaq89f6W}4Y(Q%n`uGN(?J^eas&%FqK0M|L?a)X=wctP!>qaq@aq; z@F~_)FO@hP`_Sq+-u#yOMmVoDpyVkad)2X+q>TuW9lUTl(vb2&z;l9m2imH3aHX@D z$5Tu&m?7A4&`{HC5aE>Iu;g?VAml@EJ!gV3(v?XRmQVS4Xperlqoj>@6(<ZCL!L#l=)Ko@OI6Vz<$CmiW-T#`))331^I{01jzg#kxpyjL>gz{>Hr&@|GE1E0pQe#~_8% zmCgv_i?-8IPIlF{(&2Jer#7P;W1I@@%yYCp;h5kq>i3z`#fsZyxngF4A$*idEXY^{JKaq0)ex z%ZQq~Nr+MfDZJiKd{t?YP1WH}Qn_t>>{MWitiT_rqirleU`gV!CDy$!h|4!~ieUw# z9#1vcJh+q$QL$V{irz7(2uhxnFTgp&Q zm4Dijc#FkRK&%%z&0$}}lHJ^TH*L*huCcy(-><1bucEjBj8W70o+XFU{QG9UZ>I^a zFvJ>r9+f4^f&Tz%IqufF;zw`%ULJA=?zq6FT3zbhg?*?00L@j{_*rwgm(}h?KC;o4 z*bL&jdvo+Y%>GvZSE$QGL_#>PQ|&X-#IA6CsAFh==M;V0q-6BX4;-7m^@AOP6&T2- zkV3c^p<#4PwK{K%Yqep(y0J45)DAo-fS*SN^6mh4KGGuzZFFD z9+|BK?yj@asETZw9#%Q13AUVZnxdnobR!3XYId=e27R3u?D@7|SOnD*lVo8KKNi^sWlm%;7tOD^rFa9LSd zMP{`M?qh*>G|whImy&)cP4hV+6e#K!+wV-KQRqb(BbN3Q6rx77^LPGXeToN6&|HpX zAV7yZPUdnbE9ZV51Npj z9zwJ3Ql63ex(eNBmkROb77yIFxv!a9@GvpQUU|i7{5O2C%n{paHv=aW$}DZ>nb>e~ zS?ym+zrTF`C1XH1K)ru@E?fBW0=Nth2R&+wtxQJ~5hhp;fbc1`NM4$4t)zL86{q1t zxX2mnf@)8xLk7^2A|MzTAM~%B_`6=!?{CuH(FjJ)#1F^GG_yw2b?^nxyyKrCCjww!;Wd)^-X(Jh>POqP+nmRjsP(#WLYJYlJ zS!s68%pEqbRd0Gf@hW2=HcFnDr83U0WO$W88~{DN>f33C&8f=))Y6PY?O^er_1=lL zF@#{aR_avH@T%i0+*fZlhyxG!fN)p6AY4+Uh{>LNam{vSD6N1TmG9b=L8yKz5@U_w zo+Ii;7(e~hmh(#>^FRy<ue+Jv$-BvU&pH+((`Q9#?qS;lflwQ96@$`B$d5RO&3%@*RsZJ_kzf@zJl zpkwSR)?|zlKn8%DTZY__cs0-KbJxRWvrKgr0RTgRip$=3tw14qk7@;cQ6!Clnl?q2 z{cR_a)-n`|%Ii~HF(FAGBCog9q@6**=By;UW!L>xJcF zeABqRwFlA%%~dpszZ-xRo7Kj%1IMPUxGedm_Lh)C7~6nA>q6T)t(jPGaW7e?n$X@ezeAceY@Qtc#T-GeZL1LpMb)fEJDt3x%3-62^ zP`4-_pstoP3sFHnp`ogEI+DK6qJ zbDV)$_N^-?0mjbnBFag?&g zNj-%ryYUH_6;{W{p{&w5iK>RQ9U19ez@F zteMR^CoiYZuEggX!Tsu(brg~KZk6*LHtuO#mnNUunRpIPXW>S(hHFo}+A**3N%X99E+=nB0z=OB~<|cVv;q zfr(WosOwqVIL!A&$^5vFBe67enyOn85l3FVd9J*(PUMlu{Jx{0$6B08fwQwPC-AUP@0|WHbZs8hGWR*AH8jauP>!kBVz>UFgZ2YtWE*BQjBohbD!p` z(9&H(VR>-j$NtP+0{pdGajQi%#bRLU30#h>M+E(|QeSiBLN?Z7pe3;OnCuk&dRtSLnM6*kuND-|Cb4sjtBL+i|aqmOj#LZ}l z({zKSL2jc4Si+1T>+)*9#f|YoNog4I@lq10oyx=1zM-0giJU+Ab*m+re-gOvzqL_w zDUGE=%I9$SpuksZ1ChoXk(ymI5uMysw^D8-lgGUSb2!=VYn`nJo^rdpp422$`LLMe z<398~?2Kb#rvy+D%I(2C)J@`mE&`3i=8d-twLnG6{{S?;+F}Bga0u=1My1$nhFl+T zDTrKXtaym8eCMrNkqq&;d}gb+k=S}8Es8A0R079tYiznAF)$?Hp47?>j*6skyq}s1 z-ah5G{F)^LfcOWIf$d0kSy>`d00Si83KB#T7L#@e8KU(tPJ zCgt*#hhDXBlnXlJD#I0cjRwHqr=c}|!4UQK6sBtHP1`ne)1j)~J%|b9=AYa~lCdgC z$o;4(p#cu=eriD#@IePWV-+2Qqipx9MX?7U`f59jPt(2#p#|n5SPn?VS-;PL6}>GP z+=tlI<|0L79ymFm!~UVr(NI;_FCx}twz)=Fath0wDXkJpZeYT{C#s)n&srfDpB9Xm$2N}g9v4-H@OLHy6s2|i>TLe|7A4*H<8c`pRtIsT700BkZ-C>q8 zN2{`)O?>{_TuWqV?efnjp-T*wZ)$Df%f+|UC6evb-WJBjIof@zUQFX}rCAv*MDxk8 zIXg=ZNUL5nw{lRi$>g4u3v1{^D9tD`{VqEOHOVg(Vv&H#o`CfxmPf~OppC=~)t4$H zE3vW&#~rB@mkKesV~(EGMXkvTxk%6W=aWhuCA&0CWg8bbG7fh9(v`T9*HCC~2}Ez9 z*Q0#Xl)Yd8BoO=+_NwNBIZ%fg=O7;6YKA4f<-m3fr|EH147)-%868Kx0-LP~F_7qb z#!pY0_noJNH$thVaAM>wuR9np7!NE{l3 zw(>u|D;L{9wM|nBK*=D$u95EU8txe{iw1#8Bs;#u)BYJz*EN&EO+C-C(N^$c| z;n4yRc8}t;T6K?=7z7;q(JrA*06bOVw5khbfkyyP_jgK}0-4;zU0WH+rK3rCUnQ$H zR;3H)yRKDD12fK8;Sbvtva{1tIPgFkEu9pe?4A&?|2EqGQt9;O^eQn%gwq z-%|!WW11#ArE$olzuIMmSgf3nb4qS6Ztb6LIQOkuGk!Ib2-sv04I%LZTtxx$PD%E! zX!rBnzS&~W$*lplickZND4x}rz-eOgYm7*&RMYvi$xInc=CpBI+uQn;K&hLEhDKJQ zubgTcb>q2HxDJ@54dJFNe8TPTUsJhwTxS5EiqBt874Q`G>?pq5ontR$;Xuumk98gY z0O4|&+aBMXR=-P#nD=6cnK|Z+9#x#vv`2`kIV5+dhTc^`t5>X>N5G+OwMf&e4l7W7 zSeDX8t)8?nxhnW>C@YO;%=E^1_n{r$U#B@WYQvY*Q3os!??X?o#}Z{+aoaSKdpVqN z8#D}>G}0ee6k4Y~&IgLr6Vz9!0Mk+&hLmUKy;#>@7+rIGks&134_mx@tFmx*XBBPz z^G`O>(xVa*pb^D%$31$WWLKtEX#gCPR)VSCuhPVGP6;@{qMbOsK z=XYSLquic?v)YEeqg~uX1+B!BG`SH-BR*7wb;EQuP4G=hVg2SrytIh!hQ$F`f&Tz0 z2kSq6D*MSl9|A!p1Ssn2h&F}VasUIMt!p?{e;TmuyC!6t%^}HUjg{6czOFSlYC3;T1+%@z)i(K;IE~si17Y`(gkH*WCOH zOQS<|tK7B5r7&2TiQO+#j@6mB)opLDB$69>WJNn#XYcT$na8Q^j#rV`l13DCRrVEm zFBZF7*JL*G*y#jC8u2{u=?J2g+Uj9#6vmQBNWfs5LHm4GD^>9Y_3hcVuu$ypm~Fty zgZ@$)lKbH=Wb;|RGs zk0iBlzTg$f!O6uXSy>wgB+)H#B9#gC9;EwKrv;OVl@Ne)n(Hz~ts*z(bjkOj%ACi8 z>VD(33o&JI8|Vl5qSYaj%C2%rKoDc()GjW3(4gQQxHKy`+A~$K55@-J(zB-(NiU$O z>}gHR+>xASjK9i02YzWi>!~W;`Wg#|t8YG%DlvsTfl!Na&JP`ltKvaFoG40Sccv0T(|O@1R-y|85r6@^7e|{3v9gCIS;i*U^>yNInPo(>(EAafZSLZWKuyQs*xcaoYp${ z)FH9dUgqgyDt4YpHK1S;J;#uG=e=ii+d~eZM4*B`pPF?$pDgEr+OsdF=y@(J?b=(d ztYk&}wd@bQ1L3(YH4RExq?c<*K_rf7gosZd2b2dH_ouO{rB-H~y0Gh+ovpg5-Atu&mGY%)zmwOb>oK*4t6LjrOAu zB~CtZT7wkXUda$%a>FIJa!IC1A(cZZAfBHTq=XKv2i4SjQF?PK$WHRg#*m%tWy&(B zS=03o)G89on9^OD!(qp9^G4n#_>Kk+GNzP9?Y+}}-NOc&7D*~Jt%Him14C z1W~62?g#3whW;pM-;QXgmpGuUjxfzmblA@I$68$ifyts$@5*7c^H{a18u&JZ&w8*r zj-*yD>%;~q$>)!1MRDU{8*OELpK8aGeipuxwubs_E)6`>^dS=Z&}Ok-4e=Cng(Zk@ zn)-E>@=k*US6*_t^{_K(`&ZJmvhLC2$;E3I3@g$>9Ew8<)r@QB&nqJkP?4G@CRV}4 zY39;lEs(Un`pqFjh5rCmj~1suQ;=~;wXHf^k4{bxwK|C4@m7^Ccokz>%US3u8!ibn z#VjL>je?)SW?vXuENQu3l=zF*kz2tS8QKLC=0_i}tFK`e;kf3rnvLN=cJgTJ(w@z( zE>V<#z*1YHjMz9m^I6SC`d2Nta-Vtz!shO4kfrjUdgXd_oM*Q4PEfcY159O|k$4od zOw4eCYRlWT10VILS@UN9Rfl z;H_B}ni(?rs^oRD&ePN0wF5y62?}L+A9|{CtT-aGjjKx_^bFUn-s)E6P7Nyz?p2vi z%1b7dJg!M62DA`H(cm!a?^aw)ktrtw6&YD}(cTfbf@9qZJq zdqed!_l#UM+`b|nn6bkHG3tRmlD5GMsD!6r49^h4n&?{znWCt|< z$e_S;fk3P%oGOZi#HKXktwYsn5#nohj2}w^4m;P)d`+f3+}9BZkCb}-t4*ie$j^dL zG)>wppsTKP)YGFMFiRJL&0&r`ktYL;3Q=_dA6|O!E9)0pYD;WU6a@o;idiRz;TFDR zsu|A;2>*d+;s-Z1Pslk6$7+Ze(ls8V_$>yP_aUroHRoVBgHN(mu8K4`c! zT}-JBWM+cgHsY(+L-SfqK3`#hoC>;oWiD5%jt_Dun=Lj-(VU?G zd;8NMuOvmKE;~_{w&B?4t}{@EH&t@Lu6^jWB|so!6oq?o0}cjpL2617`0w7BO`Vt& z1k_)<Ck&3PnhmPR0 z5d1GnxngrPVm>4HYBgA`^;s8~!*lciWn{2L0C(Av%3Lwd{7sBqy;-pi0 zhw&a~>gw3;XnEpkL44qzv|Oy%QpwaDn(F6ZZMg@fDiIP^Mo9-9jV#pd@OQ<}y*s-g z%yK!U_p!8Vx-+?Z)@dh<6OP9{>f+*&`lZtS13+irUEn-lHJ^ z?KuiN3Rh)n(a$j>(oX`ltc=q~_WNZ>GOB%FCY@T$(n>tWEadu_($VEc=pS)nzMZ3^ zQ8sE;RV+xyCb~+^HhYd)cAsHa+e#w0To0u5&%G{J4?aNpjb2$}Ay|4?<236nJab~- z2blB4Ai81aGe$@Ra*CM@&J^fgSw;ja3K?}G&DV<8 znDK1ozC~P?6te30O^`4}Bx%c!s=TaMoY8yJIfKywZq&}!-A^=%DV#9JG}arviIQ=} zQ>d&rP?7R6Ltko8TOlssd-GXsTf_{qc~G3O_N5Zp-)alGMj=l;n$_wF&-HGv;#lXn zDGO$k$t04#NZ`{8Zw@817k*DuOZ7XLB9zA)ay_e;S6w-nwU#G~5-R83hp@9zaCY)D zOOo(P`!{6wrj`@O52&%tWZh}uwjnW`P{j*S#a!30(+JyfB{ZYhPXwI1QU`1v%;qVrm*WeB(w8M8~4-0P7`msf^o z+Z!owihZYUF>Ya9BNnT*(x6uaAp28z?NL+!pnZi(-(Wv9L14Kg@mj`ot5ZQ7Ssg`V zHJj-IF~_F18kNdU<~7C#&1L*U97}3K72ViSb%K3KjI2gNgIC#V_?!cpv}vs*5{J(3m`l&scM($6{w7znd6#s;mcSf z)4?qpGjq5OO-Zu1(rs@dSt4Y0`5cP%A&D*^1X{{f4>%R-b%%s3jz=|MizIMsL2+cL zNyRUl5uTkWD=jSdE=L%n(%)bipzUuJR|I0ccdI0Q4QdKxHlVK=RYhm*wKlq&YKm~S z(#)I+wP0(z1MCYHUUf0*c zF?I}Tw9r}HTQ{2$Fg-yXYvVd*r+*c|D$MDh;=YZh>PAQuJ8jK$=cYR6628&2yJ-ZL z_HnGImS9gl)TZ&!oqz&zPZY;jygRmoo;ak->OQaLy7I!Oj53}xiWXJifzp_^2nq)j zB)|fA7!-gm#{z?tD(@h2-RQf6xZrR;C>xGD=Cge@3#UG+7DYXF(GsC9PEG|uvU^rY zP~86j+KYgudQ^7q?b5n1IO*~zLigb4rm#dxgSYps^BJi} zyJ=pZVbY3<5V&FqZs)nG)ma-nVyu!wwBX>LzZI~tTW(#jG1yUP0gW3xvCb)cHnQD? zRLGC@H@z`<_H9wvVxdxSi79R5%6j$+D9BZn3ww9@rLo!rBfO_`6VM;xnxXR3Z`4T1 z%}K=EKxQOIj=jx!Jw&cTs~qz~O?B%e`ht!JU}#HqmF3+l5Hpf0Mwd?nj7H#n#Y1Ym zMX{6E`%s468e-WciQrMnq9s*41~n8^s7H&bBee+>@**-4eJ2Aw=#oD=MpKRm&#|g* z6c=1^#Ys!e>Bf2MwySHEYf#X)D&D0%MMmW}ra{9mLMSVUmPLy%wm{o~UWEMn)lj>& zj&K=xd{7dhUKnLhQ&L-kj8;*D&@k^;ZVWi)gwNeTRhw=Ko|LLpD*nc_cT2WHdwWug zxWR5Z_N-Xcp!3Hjp(ZvOlbSj8r+^%!xXO;NHGSZwy zIyeMp0G^yxDzUSQ)pHSS9n^Q=(UfDLIOe?yuEZ$YhTaVu!i;u2*J)gUC9zpq$;cfs zU6^kQ7-T8_D4>0K_Z7>Sl^QUwyUZTl54Bpc%T(LB6NA=t|yj z;g2{F=^MK6^qqpI_x%{B&UyvdIl&ouf=wTe6r z02HLiw(;^ntj@oy-DhR89jA@LnMH!UXX5y@yEz$U{LFAG9pH)Xub`V!zh-GCVpUH- zD+l8wy^{7cyk>m2`mOebDnnreOTkqc0-Dz`JKr|bP%j^IoOU!)>XJ*w!U*>1MM)fY z0a^NrF2>r}zR|(&n#a;3K#<57nufHcjzut!@b;<|U3oajrVFPm>KKqkGm)|L+m)4m zoz#Aj;oH4PD`r9a*1mljBpcgl0*(hMk@7c6|BR+9$;klz>ySLO|Gt8uW z6N>q+pKC3&r_Gg^bmZ4>ZlsRkL`*|_16(KMvDf_NeR-j=g4NnHk&ZqoR)wK9seLT+ z?iTCxlg4Nt2)vquM{ajFP1&!f+rb@`n2sn%9WD`IwW16m6rd0g;F!?OSJGJR*B`DB-jJ04;jHf|^aeP79NY0&8vEtB_rX;I}nzocp*V70y>orL);K(mGOW-9A&?;uEUlQ07<3q@wX$~=oVW1= zOm_K!NI1nak5bPdhW+boh?2@O4ir_E>-cguj+F?n5wW|9BYbVt)q(4qmUYJzmgr2` z+PM_u#}jk9tVD!$!KcSl4RHjl$8>Be2HT7=HMG3^FjJ5#D}N&S*pC<{i_RHTE|VOw zMr%$fIvTM#v)0O4fX1UR9CO{5J@}VfQsXM#NjV5sWI2YSpVo zqtY=-^)wQ0!Ry+Y&JEU9W7M~5uNmagmoZ_9BY{FV01^)szFDf>w(vU8(h-WhgUAsG zK<29rCqclX6FA8j`KeWw=#cV9G{q+*4nRKwfsBPCJdb=)(GYn*Pr0qeYSFof`Jz%Z z&L0&*Tm{JspPtohZ1^(CfV~uB{nnWsB!^^h!c;DLbg7h6=?5$h20PUjAzc0-s}Q-` zKgj<8;=LS?3~tUxpCITt*eXK|I|8Z?Qy)_rz+s6P`%w1rGpH`avvXaN+({!54}-w4nW5Q9xB_xxmB~Yh9~SQgC_0^Ztt2kDR_k35r-W)q0@YM zQ<`961cn6Wsk=;|WI18hqz2)D869a|@2F%C;*Xev!5H_YSE(Xkfe^T^$)#vN67=*r4F*G zT(2YEqOxSK`Nddd zAbeJUt>Buz52zXrKUNJJ2h7WRpxh!PAkRhL&mZd912B8s6x-dhJ5^ zAGH+{>lV?)Zg#E@u&-L;w?XXEMsmy)$-j_Pn9NOAF1d?bLu*NI&960JUbxJ(=yVH#^BHI1AE=VN* z0EFAmOo3fF_UG53q6n5eumB1}sp|1WN?Q*#$6-!2JvQq4KPex|jP)bhtD#2U)W9jQo=V>qIm$!R(vQZw8REA9549kT@NjYqKyQPeyqV=CjJJn{u= z!_l3`%dDhnq5?2npK8=-J`=sXV=V5_#qv3=UYp_T4Js|_fuA|}6h+F5f#8%Ns~5~6H#Vw5 zk)6KAj=%8pKdq3~eBe-H4Z--O_f3*jm;gUkYbd8y76d?>B^^#HBYQ5j=Q_(IjqV0$ zk-t&Dyq?P0iIQY3{wirkr>@(yC2fa24J6ZaT|(v`I#^^Zf69Qoj6rZ>ybl`Zk_K^E z#-=rz4bAM6U^qy}Jc?nc%{<_bGdMj#s=O~?b$CQ}Pv$7->&Nq2M*f~$;4qp*&p8Jo zj|#k`VD4d< z9QZoQ3mb6w21fq?RiK^s=CP5HB3l+!}>gvuu zNM1^>&RDHlOV^!NgTmy&r*^({$_eROf~uAFuTE)X@{&&moXc#^#FhY1 z(%FE7lb?#LOx@5fIR|k+>X+Ou4l%`OX0_<}_u`S=M#{tVlg>UWhy>~1f$c)DKYC*< zLkdsSXc^lF9qV8mh)Fr(gp>iE^jw9AAQAh}lMGgAff_b7Q9;qV)$fzfYN@)^m4!V) zuWq^=!L`q`914(JeF{guYS^MDf!3@@#L_U#*jM&iG9A(|4bWF%hi(h5;(e&tq6C*Q zd1^kK9#73`GO|1>l?tST!S*yzjogR0lY4ei&{bB-sgsP8%@Msx+5j!z9lrITn?II- z1NKovC^AYx=sKFQl*rjq0*wBm}7BV?LVf1xJVF(Qjfas!B-p@ZYl z10(XZ>frBDibtv2?K|T*1GQ$D2JHzM>c!y}|vcyJjHrX^?5Omt>MRRVHHULmCZSo#W=LQ=9?Xw8*GQ`_VCA@On^i zk`5@y#UMfrziK+y{ZI-HI#KqYO6Ig0jRGZUS8)IXTbntAU@0JDn)$RB9!lgLri+77 zxj#v6y=xZXoa^aw6p|827{@h&*FO*EF~-n6>qVx_@>v#92@D`_F>Q-VU z=)7XN*Ny@x+Tt^X&S^DJ^uiFQ%lEF6AWZm$^2hzi+0mnPSD6ZX1aLz zvA$2SrOZ+;RfqFaR#V(y`&Yp_S?zkBKPcTW8r&`65h%`5EL(9DDply`b?9> z3YKyJp>4&^sXycmkdCZs+bsrZw#leS0*}*2-dx9J0gl)OP&(G6->!NGQ@@8vjK;EV zkPg+DH+R>w77`Gr=M@XKS+5#t*b&y3YMSCj7n5SF(h-b-(wka~^`SquVY~V~Pvbg<1 zn8kZ@rboEBnl=4P)P3tyrfz(`3E)ABO1@!=*_%je>C>b zO^FnFkpo?8kcT`}PNu2U)sZioO}0G{3JP5|FVj<-RFBK_zdqCydWm=R^sCbLB0FCy zq{vk9$f}<8aq2kx)lI2HGnNA$=B+bUkQnkXYHmWN1tz-IVpbq9A2mX22b_o&5h02yGwnz}e*Rt&034|ByaE{;w|2CXIKexxt3sD=fFTv%fYa6Rj6 ztpm$Vs&SFadsVRoh76H}>Iv%KCa8_$P+9WC90fhiS1f|^P_oA50m;F@`&0(P-g!WZ zHuX5@0PjTHN)E)$#Eq8GlYzP)YOu8^JfVfmQl`I zx%aOhF(gC(021NO)Liffb4A<3h~8)PsOo+yg`FANR6(3=L+w&PZA-utsNm!M)ymjH zkb{%Pe&&Tw%2wK=d-KW3t8|$$6U}qN=hD6CNy=6^3^wXc-%By>Xn4u>$Z*?^(edwA zM9nlzGfZ<34cdJkY+5y~zVyc!9iorPNIH;iNt%hE6{;Eg*83&P6fXWL4 z_o#;0aQXeKBqXd=unFRZxsV*G>)wdE&T^+BfVnwenks;1P)WxW6D|*0BH^)toY0JU z;<;ByqU2}Zpa$gUs5N9c+k;9I3BwO+E;2eC`hTl!dM@|vW10Ke-1XySy^4!Q<80}rZwH8+SQIacN zrfF~G0~zNSBerXruAa{kSt2-IthJ7#Qsd^a>spDJM2PM)fH96Mf1v5X(ImV~G3?dL zTRlA$S}+M5@;L^Z!qGbYL+zU9&o)-N>wQ5J-$QKySQU8SU{+#j9(mqtf;l(Ubuo@qB4bk=I|g(n=4!liMk>5+P8k}f~y zrgE($O-*KPjTDKVq>d>@q2ckVO3VOoeT`{OyQ7&_IKneAz~hR2YYmu>dW2r|vAD?i zd&2(!g)14!U!K*kd!0K&iB-ypk3}4@tS^uM0H{{_8W?PfwAjW+CpClc&ZVeo_tWZn zgsfvD(v*45Tby;*y88XjzVoqnaT0c4YR&6@CAVh~B%rzZ>qsWlKN4CXCT-d+i1g+l^piwjhZ`4 z*h(|0$mia*W{qIKxJ{@B7OF^I3l874DM)TsM{9=MdvS_+spwMJ-aPh1u6mTJZ2tfe zb17Lt!i*ADvD9yyh4!Byka5&fW{Ppn z(~h-w-ujDdwa%xbS|MAVV;bM)aYtH-0RmMd{{R*A z4R1|k2V`AGYQSG57IN3 zurc2Gt~|ktdu8~4EH+01hSPjH^Wonh{p(L>;j~b`V`uGHoVs464Qa9PQ87nqcRp60 zQcp^;0lw7Q*Gou7I{eUAmXY0DkmyPw;2xOwt;pwV8+!9xKbaCNP!Y9qGFu(#O~e2( zEajW$wQcWWjxR0{7oVX;Wv^}H5;M+OVoc|61)8+U9LQIXF?V}V+;;=^qNI-?o_6Pk zsx}PclTk+salx(?1HLNHLUDtd=qkgNsVV`1;-s$1NIccOK9Nxf3H4T>t}KTjDak#k zsFB$7)b{qOk(EA?l4!_S5;t`3S_vd7PEV!rRupG; znm;Bih0a;K0ai>F*2#9qzC*%~Z)%t~0TY*wAe`>0Bbe%wRx&E?ilDemtg#1B?Beq@4 z#{`-!SlMYes~k*>S0v;d)%W*Gmh201MSTAN#5zW&X9CS5lsplG#ZJy^`84o^mX)~8 zX7p!2vj@GmfU`{atlp*K8Gjg$r->R2;jvmY@X(soMDj6_xnNB-vhd}Vygpj57_9AY zVJ*LmqgYi;a(TGq5m39=ZnX%CMp_8ZQ(9PjH)?Xr8k5}OguC$KOxr_{pBz<{Y#`ID z$wq5<{KhAi$9grqF4u0Yc`gAR1!!8)H2VdPATm0dzSY42ox4{|V}1I3{{UX_q|nC3 z#iRgq+E4wf=bE${#e^>`=0*dd89Z0$JB#ZpD2$gEQ32Ul@@qGDeWGft%OtQV&V5c7 zkKVC)(>t;8p9l&iQ@=X*g&gLCWeRxrk% z=)=oimGlcOatqjU8Av0stp5OtG%HyNG<#ny$|1Rv za8sSR>qsy3DeWKs08YFQYF9nXwu2WLP%F=!Js42w-_;-$UOOxV8lEyalF)ZVzJ6GH7Zc^q}R8}fGY@zZ9;P$PWqDgPQQlSSVnkBTWXouxTgZ8e?W|uZ?ZvK>R4QCF& zH+a`qyPw3@Nun%<(HMfu^yafoX{sn`8Yw+TCnmpCN8w#6C`57E#Dh5`4yK2{@ZFTE zJk^9mzW7o6)-O8T>F|#a_(NFLEJV{u_;H^|ZV4Xs>ey?#ymoqokgVGyQbGi7FwsT3=8Jv(5)87vGep&7oNpct3nYODWKJe|Nw++5b?d@ANRkw#9 z6g{jl*<0nXF-UcddNh;ER?ogGul-!V?eHgvt)BMhE8D#dXQhzfvl=Si`6V0>XozlO zFNR<%oto6xpW;6XxF)=p%EzW^b6UebHyqbvu!b?{Cp3c#Yly;vXrXwUdXL(Zv;+(* zRcjjnL8*FAQ`KNuFwDQbCcYN;ET%HPuGE{v*2N|bzaXBKW|kG9Qb-Tdiq!Pf=~{Xe z3>KQ3nCyl~#wbl1)okVqVdM8tAiNioOM3bmO}h22v^k4oSgLisW_CD zKbA4?P48UID;LOI@C7fJAZ@4!6(uZp4xHCEF(;|}RQ7>ZfwfC63wu_AsH1#>+)*eC zkOu>~H5A<38nb6&PJStY(1CJ2Dm}$t3|oKzdPl!{^f2-;27YL?J28=;wIOOMLl#X| zWGaN9z#RosB$6`?#47yJR<5!UwlY9GXSt+36mD=Cj`=#CFshtA2J`XBjj?#J23khnaNvKm13v zRFN6)Jz%tseMi_-l+O!IGCL1KE=RR4)R^3|+o8;H`j6kr3WRdo%Pcu18^j}R}Tg-)n;DtEd+*MF$rxQROPyDSzqwSQd;QLi$ z@@8R=Lw8#2<;+0FM;!^Q)|Fqvgo3jF&RH1o|~`BD<}jJ{2EKC1;*@W=Ce#I znex>`HfyuCO;fv?bCebDiK)J3W6|OTC(E z8NfK&K_ZE!$@+b==FV9$_-SMP%?jFO_&E-Qd^KilwcTi2$LHx%dBk!t#%YXthO;VW zYb3TpILi`ic*8)KA_Us*H;$t{XdB&f+5)X4imTqUa#`Hm%I0g^jIrvY28DeGO+bGU z_?g*{JLEX24%Pf?rJpi5<~I^3;bR54tX8|O>YBZQwzP&@Rb$IB#zksi)3n=FBHGDS zPyYa}Xj|#+E!6I{Pl9RFjKrr=ytG?+XGQXcFgZA(d_UkhHA~01)ns(EQ=PfVZ~m#R z&xoMYB56gUO6Pz!)_(s0`h#`55;8)V#>A}Fxte#Y_;X2L{T`J7GW5yh51Q2YSHYTn zm7HecR+eMVRDdhwr^Yu?J3X(I7>*garkXd6uin+B)b%*y!6V9nKwd$Jcck z^j!^pm3yZ8Q#l~~(ks1IYsLK8gh)CrabF;h#9EZv%Sx6q%!K+`fhQjH!%)4{FQX}N zJeLR34;)d|x8moV`q%3>P}@R$qOQ-$%XO?B-mh|X1pFcrSm35}S>0A$P8Zk&gnV)< z=%3SF1lriXv#tdWMq)$yMPom%lE@D33+7c00BmQDwVJ-uHMy?Lk$Hd)hc)!ruHR6a zNrJ*7ErlRlH-qg>#DSz40E5(LitEJo$8?8Sw`)7bSH?4e$68f= zqT1?9wZPuofTOK!JaeW^da<>u6?|ZTD*piK=7cm`Ij6pV#9q#ExyD3m>?-Sxtj_W> z-_!jRXu5^%v}#o)0!29fX_t$%%PCZ&s;rDMPCD1nyt`(T%vjN1+zQEfr^A!p%x(4t}9Tm~Ge41gLOSkG&4J&`)@_sQcJ`M0TZj8d_ZKic9$+3O!y?#%O5Y zPSQ&oF>xz{w2(4S?^=vj<}W7RJSNoub5LufIrRVsddwTCmg?R)fkm7Wfx46JO+sNd z%D#r{NEi6%UCM4ma&H69`Ur&!uaWQ%L$ZM< z!`@!EJI~Um;)2(0Ww*Dv)g+aowzVOjo|!lU9qT<>+`(3U0JHogZK>WfPT41KHR|m8 zmDTiC^4Z-&fS@e0a7B8rA&r)qr!3bQDe0|sv{Bl^4gdm#w1I6#<3nn1rZNy8-98x_-)vg|q;+9A)d`Tgg#VWbjIU#!0je7UZ%C|fW4ir<}GS=2T&d9sI)oZP^ zWzN7d4gjdL7j}MJ48gZ3IN$F|Zj>tdaDs9&Sc=waQKXQ<(qUE30*XyEDoaHhWkKiU zQW^gMDY28DYWQGw<(PBR-kDrLv4si#e+PmfuI)(et{{VW_l3jo;kcXQo!)#BLZ~Mr;8aEVjx6Ma za;e|mg^zFGkSW{?_p5E?-jkr^N^lJVE;cHL02TUx_n|#;5_yfsUU>JaQb7~)Jq&$9 zuW}`Un0;GwL8<&g?PKdBgVQupgpuK$03}B&^Hr$EeY=BGi+a8Zo)!W*!({Lox0>-K*jMN$TgWDBbKNZQP zg}KgZXmj3&2h&z3G~!ylerSZ`P~(njXvZRyysvt(PBHIM3<~EpVvYqcEMd52thQ1s ziV0q7=s`HgYCxz#I0BA^c%fn#Bi@*z}q%3H_BOo|?R z7H}5;C$QqL1Lqj4dp%9leDf~+WT@yWHu_z~%bD-+BVVR9?^}hljuivxsL2{cpr{0A z7^fN5Mo$b2*ceEPgpW@Zi@5%gTRig3ad1InkT-O%v$*t)ynUz{?9yYBGyBnoTOTR3 z{+Ma7FvE!(kD7O<{{T<4ds&RXh4UmmOAHEk{o**acCspnJSwKx-1w2Bvx!ukZ_9raF0tb)eIZ&MHWf*E^<$j<=~kC_cdA-8p{hGL zXFDT32=}g2C3XJ*m5JMbPqd9@L3<6ElHHro(k{~2ucUZyN|#5o{5)%j$I!pyOYGR{ zmQge^n1T)w4$v`Pd+A_}+3y(yf8=YoH}>On=K1D{OUMbwU@2+W5FrwIfk*tNhlj-X z5hB0h5u-gBhG?PUX`M?S!nzLS0Ihj5;s$>hS=x{o%m#6trir!jeT4DkOip_dM_c%h zO`U>XM`Y*aMH@DsqTa>1bn9Fn)S!>tb63<=2Z`ENX!P4pJ@La4g$9hYxYVSFH?Xer z*9VHi>o#Xb)r6K8b46}W85H_Q&M0a8OQ>nnEOXqeLgzUHITUUj-;br+i+G)+cmlEO z-mDBagA74?jw>ak__oq{V~t)Xn2u03Pu{hfPNi*m8#*#?Lxvf}UQlHL;z?$X=R~}4 z0!MhLbKh{r4L*FAb!FfjeW@>w34aUAB5nMOh@}JH4NoVXGr4&WgZId&DY%UuJjj8z z^aN)Vy7mn|*4W+Z@t}(wMUSucqi(e&wzqjid&-RS(y-Ro8mEbMiSB2&c=X7dY;(#m zu18RVxcRG0hVkl>J-?l6r&_@nK8O%{vF_g0^H1uwsdM6w!Re7*L8fW2A2#49%S$Nf zoOT1Ct^T~@N$~yU%p6OQyS@)v`E}oh?|emWE;OrmfEM(5ha1QFb6M8ej}$vw{t7(; z{%e@Tc$P+8q`w~Z>SI5F{8eh@ZWhgQeIT|@K5^2$N29g(EnmbwRr!E|2>vQ7aV5qG z=z3AtmUgUs%cVwf-1VjFbqdY4ENvYtchdu{t;+hFp7mYUu^qeYW()T<*)I;0s%#bV*`UDUGvWT$3(n%U{P8tK-7 zLxSLYR(Af{vzhT^w(=F;nHiwWcSPZ0Wny?uUEh$aYM-jv>2*bvP;Fp=DmPl}yBYafo~SyCo} zqsiNxaa(;GQ)`$*w-xj66UkzAb&F4nB)91uD{Z1%x8dVe9OInP6*jnkFdlJ0x?p2D z`KD`U>Gd}w=9Fre3vCpH_NLLwjm#eiyS~*$#g)X(lm$NGkZ3+8AKjiQxQw4kt@_@? zz!W(IR%Ue9TN(JEy0%6wxc=0(e-X=Sb@IrfieXuobzq(JU?D{{V)B`<}HMtvb!R#J{k`8CR74GB&q& z6Dh$Vk3eeJ8&xteaGu%s6yb%m5(JI~JoO@*LjaWl#wf+CRm``|I37^Q;CJGq2KSsR z0H3vNuAo@PMl<%M_Vy_pk2LNP2P|&?Y)-lO6pE(S#~3Wf)PI^|=EY?uhJq?yaG8;RuA;z0tOV{z)o+v0|Ke6_-^T852Y z;IJ$RU#kX?HSVRJBOHE+yAj^Ftqr<_k1WJ`nY;W~kStIaJqH1MnhSnqCD(ki90eT| zd(?!-9NLV^tmYd?`8#@_fkfP0EQRB>Q?@b`U~oVCsfh$Ckw&>}0&ptpkYh+7O_8GJ zNw)Gy_Nf7e+jNaA@|}aG2UAhMnn`65+kqS?af94@)t+!M2SexwfkAnVB#5IWbI%=U zD#$a*BS|4BndEn3&;7$sK1E9~jq9I3F#j~B|^3Q?kQP@-?VpgC-F3 zl4``v>xcDco}5-zdA&pqaCxmZy5V9WxFGOrBP06#Sjp}ypG|V^c_yimu&3IjPI3XN zW;sLgSZ!jQ{^E#$`l)z-Ncf}S!vKBih*4Z9u41eiC_C325sU*)2Vxv;KJ-Lap ztPZvPQoOalf5U0e%LX>1F+A2ETk$Q{u*ONT8E?}WI3H@|dXdwfEq;O4V!XPtG1)rC zq+l@ZS&b*aZ5-x%nWT}}7e$2HTE>%4yrPBVfRv! z+oo!2fftaiwVJhhToPMZs>;sN1^r!Xa=G-@o9L5_3Zh*}2S-&OddY)(d2%5LQ9sKy zrP91TVJt-531xHa_!X&b7#;4SYmYKXl=}?T(_Tdq2WDIznWnL58cba*$NvDBlU~## z(yeXx-CLnW94%Q?tXpyzbdwH>zBk;4!iZ4}nd z1%<$1J*zOUwYIh_?Dpv8y0ILZvMVGPTTm8PZUH?9f7+%-+!dt$I@B+0yf{}(ANt$* z1%v^9t?$N1*k+iHd@Xh7+q}xatk*7K9>@*_W3(GsWB#vekcmubG)?(qp>T7Yd*Yp6 zUqRrH4@GBg(NC@zKP?}kU~`&sLk*>t zwr*9_rPo#mrfL5GhkQFFu7M<)jnb8kPn4Yi1KiSo3qj=DTxt`HekI9NJp%jC9xuAr zwY&R08%DR0?OcM+gVGn=n)7o#y*IDZTc~RP0NOO$Yq%rxElLJ-9YFUKv&CARI^CtJ z>51jq$fI+Sg5>taXms5TX0d}xEfX{ew35J%J?SQ`rs>2958HT|q}YL@W%&YZ@af$^FLQ}9eT_OhsB z8#<5|94$$FL$1YR3XML}4U3Gtoc{Hh@eaMHqCL-uHHj?j)bR{MU>|nxTDA!*LEt|K z=spj&o<(N9)vgq)%P%4^{wgacZJ>D6Y7OL@Xf2(|Y2EO#rh1-h6|DaNS*Esc!+3Vi zDQ(nkHy1n>{{Z4Ued`(GUmxp!Benc3?eF32hbG?Lh~9tZIp(o>)~5deUv<6l7MrF9 z(-Tn|z2umVW?4awJe(6&$E$db_gJ3L>Q=V4@jsCOnUyk%0Laf%U!H6<`LzvWL$cEp zB=g9MnD@>}KK1vHA9!BV#kx?li)1?0o?hN?a3}u&B|gOVqVl!$8+#kb<5;imUhYCO zkhoGlJ}CA{1TEjteEuNcsdwQ7(adj{QC-rR|{`IlZtZ#J-5gw%0b`hz` zmPXl?_#Nw=_gk6FB^rX-F^%Q(X8mPYb^Ytq@c3K$YKjH*#l`K%C8b#zK|cb$PlaAk z>ri)j2zEF$10p60;F{5EqRldbKUZvaq)Tlirwh~E)~wcGn>lhvdM=QYDOC+Ie4cSmw2u%& zYY&tQ1JjXOm73W@9CpdZ1_ds>)pp2KV0^K~XYcQ2z2*z1kL)Wms=+xt-Av4Th2Yb; zq-w8qCuip7B_9Vgy7uWOh^OK@j-s;G)@on#e-Ov6bHz8dvV|~IH~#>b=Cf|KB!N;Z zD`^@{yX5}>DlRV*2mt;-0l(Zw3XsErn!T-JBhwJiy$d9Ew(|n<1wP{{YKc?KUxN=0DL-9OCb-^o&|=)f=0U?L@_=!o2MS zp7^62cdHO&WLH-`A=PbC72b+DtiAL%4jcuydFCj(sK1ao6 zuQfNgM`$Ew+t3lxoX6o=q>L`3e8hW3IsRzaw4FCjiG*kgJz364q%sM2b#eidceZhX zT@iEYr}wi%B8bM=;ZA)clSwCFThcNA0D9aN!xH0$B-b`=ImjlUGCJf`Sgtoa{?(>x z!dT~TbIGciwka)vj@3)dSo&lG?Ntea%5K%8ILi*SR5s~uGt816278lTw~3qcX2@0G z1@36YkgACtLMZw{>rz4}L|fkGMBk0=j^7j&#l%u1k)oE~GJA1QxVbY11BB{MC`ERf zSww0Ao-!!ZwiIil!jy?Pz~}{EaU@ny;~9|pQ~{hZ?Oe!@5vd>nmNYS)jQuCxsgw*73CB`TR-~7&D_lZmeX0oobI?$cy1iTZ z_D02kZ&M!iYQenuk{)+s9~Bs_Rs~|C^E01{y%-YyV})FCnu>&v5{;)DIR?1)>g?=T zZaMAVqaD;n=1AFqAmJEvYU*A`_>&O?HhQ;85>{+gjB)}$=xSFaZ97hR?OrYmmKfSP zW4%=4YoBI35mIHmMyF%pNf^njM9vH3SJ1U5bl$TdARLco6^GSrl^o3y?Tv{&d)7LQ zN`wo>?|Or$C+4iTKa{mMQb)yeYzrw93c+SqQ5zvZh+=M@V< zhTwkncvG6xgHc7m!RtlauISkJ6-Zs(F+{*NtEc%6w5>%{me0K%Y?)GfiW)F>ARUGc z9cR>v)MrQ9jDUZdZ)~S-Xd5`cig9fTVbZsObR?kKIvNAS216Dzo;e+OrT`f8!K~+s z?=Bule5n={1S>W;#T4`Ph}Nu&zU3>l9)Mz!Noj$>J!|UP--IqA(je4QcxHimCTYovJFN!3_e=>B#4fzA{lUvcU`^riwGKT&2$?aUJ& z(pLt$c+b<0{{Tuf+2WE>woT1ijXH4@d2>oFv>0tJ{K(skbf(G?0A97OW;1Bpi|E!j zF{?=+9R+;%TGz35%Xp3mJSnZ(bM%ZFS*>YSdX!{bq5?P$JALV~N)tw!+TzSS3aZ3s zindr!RXox?KS#aNr;#F=9@YMbU(;Dlf5!LT74bASI=!%--bM?!HqtZD)^)G7^r&Rd z2dJc8EYw#`*0d?zkR`Rf)!cjf8A9z*{_4@FPQ_$vZKE0VzCo${ClR=qM_NDDi$zyth1t-thUOPdWw##v-hr)!HUBrGuA zWJe+X#8sM(fpED^FHE<%k+=qFF^a%Pcj8@d#7=DDGfkuhw^;3n2@xlpf98$PZTh~S zrSJ7COI7^qnA03%cQx}LAL<%)(2-%e^AIj}lic+c@|{~%*DdcPhW6U(IaJ`6Q@1~Q zS#fnSoWk>~%rTTqwmomK&1r!$a@c(TQ7<=TYESy z8fhSoID(D55mauw7-^Ynx>`@|zonWhdgi z-;bW{_SCpr;02QZ093iTlIl+;1No{X<;!;aR@|v`$_`d>^p+t@CZ8u4H`?FJ`)pTzT=S ztlGk@ZS@kOIuEEgz7 zBSIdvemV310A_aP>hAVPqLO)~CC90l`~LvawwjgAp1Y*UrFfFl@itCJt`oJ;fx!l` zwws}u46KUIGK-#Z?@sKZy40^=)3nka^62bceKKzkTif_HZ3j<}FvS5e zze4gaJCDgV@yi>a(nWw|0P?4TDg2i6@s1>;yf5I*CNCA;YMN%-J2+!D+I6{qG4}qc zSoSBd?ORmPEhE_N<};@%+p&sBmvKZRb+uJw7~C3;U0H6ntZcvmf@z)XJ~#BX^(~&sY&qHb9zC7&>$Vi z#T}>U)0}=PD5W1OnrgT9w!i=hqM_B+Po_K%y=qxlyA`H`Xwi@TEMNZsh_6$7YslI> zpMQGwIz6!R+L^A}M?8FSm&y0LDbthNrI`GIr%RaY0fb*k=nBoAu&ZH1qSG~2a~ zWVm<~`jwYB{rXqXwAd|m1OjMA@$~~(+Hk`~@kWt#dbUxzEV6Kc#xi}VFBV)!VRp+n z!-0^rr^nhxpJ}Efmf<10Q|V>kgYQXWistDclTe+m7$^alrDvitqmjQ=< zed*qv;(KYWT%)SCaqUl)X9R1Swyg7l^FwZ@w^K;3Z<}sz?j@1?9o$s!(tU13j?Ikk zySG96)_=zq7rHEwLvZ0v&D|7IFD&=qc!n{ z@eZeLBbI;42ZF+_kH+$&0?Jv(bz0B3eLnMZuSqN=5UQ~p8bd$#Ddo(UY9Y@dd)Lk_ zJa}#)K4by0#`Nn)X}&H#Zrg=rjPMO#=^)78@&H}LpPG*g%T{(haBo}!OMG_sqv5#| zppjd09^$)m*0Ds+z&3OC6cZio%Y~~jNF;;zJ?LpjQ;z3~*m`Zm?T4IEHa6^t(zx8+ zhs_Uf7&4Q)AaQ|B1Z(LNF$%ne6vbCt!b^T;1_oFj^iWuV0JdEA1DdEf^7jFdPfv4R zl2!zWmoqT+AMq8YMYOTS5Hheq`cu6ux|~ixX2lA8x#eQ=ZY#&7vx8Axk>o~&iRw)W zHY&pf)nZ?Mt@agUMExoPjAt0dcGlKO-OB7$LAm8_0*a9^MHw&_lX2!l-jalo2_(dg zgaaoBwMk<}ba~3fW`l76`rFu0QsvT78)8`o+?px~nIcq_sR}w!p1YZyfk^#sa*=`C z=8$;=`X_SFyF7OIr&n_m=Q{N(wP{6|i(n5hG6vyCC-bXieVc+udO2Jb#cBlM zKCW{_oCXGjh+*?aDH}1?wF2vYMo8j~fpT{b-hzM-F^+pt){Io(^O`}$hAH)%WQ_f( z6{rC5(9?TqFvB&dH1RFtl|4)Wte1;4k|l{DR*|GQA$b6N)`n)0?Z|+SGaj7K8g;I< z75Ytidu=Qutb0GuHCg;Jvbu+d?=(Fcce0+~!2Gl-#IAq%*UfIPrEQ>B6FVoA?zg zJyq}E^Na=sZd6D%wm#Iwf~K>%y?GXE^A)i?EMAt!ahip{hU}Hu9^&EQV~~bYar@H! zZ&CaPoGv|5v&bSy;{}+L-yXt>()D;E*q7+TJzG5w+N}lp?}{|58Ryfi73Vgi5=e(C zryV{`e9Knx&WkO=T+gSOuJ-}H<#I4OU{l+;H0y0sQ-Z~xVyj)q@*mN-5Bt_Fd{y9S zu3TN%5pf7~2IWZP41%O^dFfc|+ovrKm;FKl<<7UK&jo{@P1FN=#qGIAIIVQs zGUCD=QVAitPc38wsg6#l-0}!)8vN5^{p(r3XtYafo2!W*cb5;TK+grc3i^kH{5`06 zcJ4h(#m!`kAo5{>Bn`Gh-H76`tyvnI?;1@%h8Dw1%>FH%n#qa}MY&%~Ok1Wg$P|Bs zEbM$YqAjEemnU?xFV`dYEPInz!)TE25XOj%a(0YoKQ(k#ix%SeRXmbBc{7&g9TFNLj{9^Ar&!x6vW{7^I8M;+$q;t|_O*eMwLeW|7UG@}peah#ueS#M`7@8v?dV0zUc zw$Tiz7ZIKqV3IqImE^g!DGj8eU&ctlEMW;|{i{o&_%iNB;oF=^r08u+sc9 zW1yoQE*5*E^4?H0O5T;<{u{V0p^}Ivh88?X{VBj2AspKp+ z<08FIL$8xqcyq9k8pg(`^)ntCT9cx8#GDb2^6m|Hm&;4TA`ds8RdG@TnwQ^SJ z79Ud+*i|?FB1XFWCA@&{KBBzhmtN{NT6_7kOTJFMYSD&w5M5kC3&;@%CoN00J$lPb zwF?>sy66b+Sf3L3@>xTzko2!mJ*plLg6CV1ODt`)oaM!54vvD__gvHk&EX|8l|$OM z`ZtE*mJG;@aqZf<9i)17py&=W%?o4Vn~Q7JSYY!YC)dwG?@!O8+OH5O>H$z0vl^dWsLwTKBL~gDXuj0>T3i+w->^$Gq~1l#Vn}!;%kjo-WXuq(r(On z_xPi{9pQ~lmMJx*bW(Ccb+4fKFT)>(f+_VNhTwCv8O3i>*4g621XKK0=Q=N6!kr!~ zYYSM?&J~S8U!f+*~VMT_A*Y36r1Noe$}!hb(N3v^K8HN7s?op3CC9c)`I$1N@tTQPXwk zbs5}5@yM&xt7HnMEU%Jl-_waS*yMX_d`3<|0~MJ5*2!lJWi|i z4vO6xklV!evb=Xz*7?D3@tsa&Q12>a=!~?2CNzd0^uRMk`Ha zq}tD|UBi8C5W{YXqg-)Jqwwv5N@UyxxH%?ckUrG&FxE}vX8?jio|H6-dmNKm9bDa<#1p z3wc7S0EnZLiXsSAn{NC8^%}P^rp9?a3-u5_qeIU+K2E?C`&5QrNdUDGL<>SrasEf< zmnumy1(+DE|PdsV%lq9D!|=OE|l`-D1dZDRRtCcN5mKJ|ei1{^emCmfZ$a4n1D9G!qN`V|pS+TL59P z)X?xVDdDr9dV^X1A(`>zlgT29jt2;+22pv>a%xLslROqH_Ny939+?j1KS>o7jhCvD zE3%0^wlRQ69St!Q>kB%@&WO^WAE(-}x{JrVDqJfJ5Pj=mCa)#5hB-q<7+`vMVOhO! zKtYlKM&ptQ;{KY)#N(wCZzks*@j*$(0X$Wf>{F#<8Zjp_WK@X9Ca8##P7O|0 zCjzWXA>vLuQ87>X+jCS}fK{_oXuVsI^GKr!DZuF-pgS+}}XiA)>avq9OE?B)<-xbR;5_cK{j!NMkAb3OL;H>Ac34_n8h$s31N@D zYIPaID|vDB612|SP?ZQ05LUDQ0FQ-!qg2bR+d@kh1P(~5-f>BESC71D7L1k_kvWEG z$&yA+s-vLz$*k6+e@uXfz_!Zcpip@xf`I5KP z?a3y!Sp#@1TU46XVim3}@a)6tOoM~_;($#q1&x0j1)SFGaU4e7cpoN$*6v~RXBQU{ z#gXcAaf)uF4L;5Hd5eV^9OQe}Z89fhu<3?H(`})(gi127pj@f#%kHy2A93376qz~q7Vtz$a(fh?qg(@~y9@|sX1wo}=0)~wO>H!U@#(Go07P@Hr% zpgxGgpuijfSsxQx+>6+5Y?P#`NpQU!eAd1*y3$Ev?HPFX%L{&tXB4mSGQlUAr#r&m z;0GVY32CifM;P<$*&KB!YV`3;Na`jIq@L@|8i$>5+S-@YEv0r}O8EmNo7#cbtR~hh zLtMnR*BK0jTP?TzTAW%;w`54Gg>Gp7044=f>GgL$^zMcl(?htDc6)^ZNWy?W*`}I) zogJj5r3iT+y=Wh3>489A!2{+)pD+$Kp0p;DPjK-7pl!!)m3_*wj{}OySon?`F}2RZ zI3c@Gx~Gk;BRf_=%zH0d)#@27K9xXnUHPDHp^k7@YrSLcyjgVYKMih1PgbY8E#&k1 zrER(B1!DCpUN$VBOLZBERR%iurFRf)Y&4GN*=t#V{{UA?z6%K0a0MPZe6fO2BQXtR zO7zPbD^AmQ+#@tms`p%0)vV$}%xnBo`?W}zy2XvZ<5!L^EgHIXUQgxvaynITX_1G? z`n~C6>ck9shu*D&QIQBIaUT_A9@-cXL;|gH>Q_<-IG`ZbAUr-peAODJqYl8zc@*0Q zQyXd6smu4TR&oth0-sfSuyLN1lG0+T#Io^_Xob{ePzgL$uc1kLrNg4}oae1nG}(Nu zhmgD+Q)M#2QEL!1d!=HcrEjS#u`9~&&sxP8-+t8M+EQg@1 zMwhBzU)`9jE!srg&lsMWs9hp8gA4(O|vP6x#TZ(^0$s*$&`6<=yrMf86W>IwOm z-a_^ZLtS_`S+s?2E$$lrWjQgvdHYtvPZnu*lZ$Em(Ka{%Gn#Q{sV%|@7C9qR({RD6 za&J}hI6Ob7-O9rINV)PHVU;?rX$7BxwT}q+&JAlxx@ObK+jk6^2g^N1--`QH-Rr0r zX2))8731wUS=Kbu{i65qtcTQF^@G=%azVACO>P&r-D50w86JSH38Y$;{oBe}%8$Rb zW3-JUPw;k~A+%?n@zj}TX8Oy=SN5(2euO!-p*`3>FG9yvI6m8b@wen&H2owXfeNKL9urZ=H z6=rO7ts79*3^2_ue2ZvY4aJXe4QFGud^EDZ zEO!y@p44;~H?p92(_u*gP+Pu9-UT7zkAb=SNUyk(zx|-!cg?yNY>pxMe zRvPbA#^xUbxuan#fW&d0^pekFwq3nLtc-hB!@~Lm+N=H|=P=kOB$59B6aN6JRf}|u zK7B@iD$+gPpb72IdII|Ctb9P$#!tz&m&=!De{oyi?$%m)7W#UxmWz$+{{U+F--%$- z;F0FEia~Pky_uvZC%GcCd&Z|WwUcT#w%THBZN-?mZ@+5G-uQzgh%=K}>91s%FfHjl zsCFDzE8DdEav9C2+)0vTZ{~-4iAc#}e|oOm7XVS~Y8iPIi)(T~ABdFko^fAI{+hxd zvU#kymQX~KH&O5_=QG5yo-taF0BQy+sV&QTN!$i_`KO!gcRfCuiygTvKQdGLk2PC1 z=HDxB`_x`!>b$Y4?gGVWCEe`FZ)p(A%_-WdKK}LFUS#Bzq+!nl^);B)yiKO*nw;8h zw6iL(4II#Vf%hK8$S~3I#v9Ve`dFyY5gi^m2-idbgkTX7Mc%+f@@c>*u@hmNo6@_J#eF`tgrO5 zz<1h=GT+B|x^0tYBP6kwnpWyaUc=49>za>IHl*9pPyDg;taCrB ztNeWK{{Z@v6!$VGg!DP}9m5NAbfsg@xE<&ibl(~H?^m?4*0nFdY0}A={I5bH_rUIP z(!TR|b!zYkB(%3Ezd=ZqHhr)-rL6>Ioc<}DTw@F{SNEqEknaunZ%gpbjGAwU?Y|Fd zhjDi0?tS&1S4` zlJIVi92(DAOnoy;Ddi}S1XCjmGVm)U;k(9&2;@9xgIeKpAx}X4#XO7ko7P?6&nJV> zR!;L*)SbMmNJ#$xoYtdUc@}V8eI}^0h9=tXMi0kI#lG9;;}tG}sb0t>xwt!R-H;KL?q>LT!MICJLK~I z^+u_t#dmH>%*5l3v?DuD6Qqa)Y#E1YX<_1sOn^TJ?_VCf@a_Cp9&MqVUvx+`LBuT`qrUr!3>0;;AGZ{)5I*pGrOF7R;PL| z7}9HL91}j*&rUN&X^fLwfKDa_vZRHFU+lFj^ zjV7N-)LK`O?GE0nwB-K)6}fFz-rD8jk$_>y$l%r;f2o%i`jp9e6fbVBR3eNx{{YQn zte;!wdiXy^)NiA=F-c`HWjp}2?Nd;{blUJVY3#zA>E1fibpQl%h@Ae3Fbzjk)RN^2 zf*c+x*=MC?m)v5axt(Th^D-$vq|*y0n&Wg>m6ZOXYK!YjNC=i`8?HhY&1NpO>)ZR5 zw9};)cCoe^P(4gNg<>3SWwx_{UwdVT)Z4RE+FHdVvEEwQDRlZ|VUtR%~Ns#(O0!r;gefr@a3)P^KNe@m>$UZ0*JS@ z)2wbquI4X{k1@&5^IsUB`i1yNJg8)u6mS)I#ap2Gk@dForg_34;h5Gu^{d7{>-gJ9 zNBn5V?^QOnWEd};39pnj{j@G5j_1rP`bo}fO{Cc0-vpWCjtI^eWpGIQRkT?fNvHFo z%s#Bp_VBiIFH=_A!XbxZWc!m=pb8F0sEXDwgiyk=ov_Bo{MkVx_cTMgpaU!RHBmC0 zC|r}%09HNG;+$8iMvQOjiZ*6NvS^YsHwmp_V=a=>Y$J^J;`kp(U13;O^Y5im`O)#(hk8 zagf+GpMzR*5Y25ciL;3c5U1>D^}d!!cSd~!pd$vUMj6GWTSb!)+StbixVCUW#G;i0 zt|?r4x0C^um~qL*YSFI6D&TI~d*ZEF-soNziu*x($>nX=F_QwXMIS#o6_~eMX(MNq z0>}=-jyW82{8sb&bEqZvg<=37Hr7KFhS*Lg!MQ)| znss7maOa$$?b^7v@gZ%)2RJpG{Ctv!M3Bay`bp0<7-5=0yh=)w&hL7)9^Bp}=O}Zx zrfRHjIXD$nhL?LRf;b^*bI2l_pAKq>QD;SnH*!T=5o;ZzC>4*ftnRT7)bd-v-N-9j znY6aDWfu+zJqq-orLeS>vgENHGt>B{We<+(n=;bFZ33&D0uvv=q-?%gwtk`1p2oiP zbXx{u`vX4Rppnpb#VWt>hMjT%L|D{x0A!z&S-iF6_{4FsVA;a_*C)V~;N`JjOn(8} zETT!~mO-9JKnL2X*1Q!Qu%lY0=~Qh}4l+J#J~(`zKZuhV&sw?}fg4HWQ@Q*dty|l) z)7TiI3zE+uAHc0gg7h61#1^tm9huYhJ4O*rf?6rS{Xias_oEK7{uo%3P`K150NYr_ zyyu~F!jJpX`|GI^Qe%z0$$de{!t>s>J|*y`x^AS=G+QJVTfY-?cG3h#C!*)r4%Ma8 zG<_3F@Z#w@+WtA^8|Em)n9satwkw}qew{g*`D`#9{$%7!A?`;5_N^|RrMpAs6lWWE zXRxM6z_Tu+1iD4)>RL-2xg%__k7i!~0C8VIxY7l-k%T~s7aR<6N3nm54}-iQZzVVS z$q`zs{#~|tljXgIeFsswM6h^m&eYqq6&L_}R&B4NSj0h@r0j|b&0D8h-cP*Vzm)?I zL}$0nIxvG%mRmRkyegg$k-_^`Qs#HLmmISi+<#G8*}OXoBPzY4h>)?sD0=?&kMOmd z-d-f}Fk}auatN+??K%kd?+^^?KT4~}Yo%iRnm@u5fBJMpO0GsjvA|!wBYU;m z*12Oa7Xjjst9#KYv(xLkzm4>bBsHdwX?Lw^F|R8GP34C9Z*R4Hzr+vXzZYHa)$K1{ zHRdZMjI2?QV7<@Dt=5IB-2NR=FMPbP7ytr(Yj>qvSzO!PE!4L%-AXW%MEEFAdhagB zmd_W>yfNV09WLCqziN#vm@5E0sQtPc-RKr}F-PTSnsQpEaMCd3{FXe^-5)}>(OqY0 zCB3{L4>IMqZ3p9~Xv>95%|cy1)fFxjZ;{8+1#Ztw%j}{%nNgis@)(0xEzZH0JbRN% zZ>Emg>PW*97mdVHjZ0M^ZP!U5uA!;Mu2e{;?LxBfr+7T#`c?LuaP=gHQkrTg2T-<-dy4=^g?Y z4R<7xxBSMs$!ndZP-^l|CfK86pJBxuuwBW?8*6K4;r%|$F69FpQxg?{PfTFdVtlJs z({3&X!gG<*rK4JY2{z2Y5%F8yLF|IC+Kcm=%HBm3js#l;AXyJEg48Wifg4k#g)`WaM3?pcBgPy`aZX7Z9TSj^N!Vpxw?+Uit)&43o=@)C3kPW{TLP++9X$HC8 ztaOu1o6Cgfj1J9KHlRWeN(KJ_lvaCMl1qrO7X*$DX-97hPcb7Q3E+`h z__VE-g@j64n^*H3YYei0}X$*16{=wtDYtELL=O8%{liEV(kQq?BMQ zX`w>5>?I>1`4q=f@c8nZE4UG#n$|O~lxnvjV&~L-gWRn~ha@^G4!`5?LNiqOfXu$uO*znkfdRA{c^{#vId?QaccNZR2&7|f;>E)r|*2lv-cZy;z*9c9KZUl?!1Mk|t zx#mM;p<|5!{{Z4BYlc^irMFn zWWE>Dw98=a0g=c4~`^!^k*Nz7`S3b*X+LCZSWEtn+b`_yj2b0i$s^dzj1d})+5le76;<7h-{Fm0rb#DIv zgSCtoe>1Pfeku6O_SYFvcqgw+R%6DVG_ml!D<#nLOLT}Z4t=<+#lE4cYBOpYrG~4z zXpvCuO{lBe1Lm{WdMtOBlInW#Gs@?3?mtn-Z(&)zx6dEc&x*W7s!#ao^{F(Qd9ow6 zf*{3H+>_AIHrHMs(B+=$-We~oIe9l1Cwr6k?MroA>Hh!`B0Nfo(mkBuQc2`Uk>;Oq z1N5lnz6Z^7y;o_>hxfiPzPPwmF$sjH5yXj?C)fdBp?p6xe`1Q~QrQ*KTkVkn>2H4hZ(AA-}3z#G3cP!GAT_;yzR0Pv=e(v7o8Y>wc6 zksQ*m8d^4^qj_7*VPxJ0>=tZrE29u+hi8)GPkV=TI4l&NIIoxZw^ur@x@AL@Kp}+( zBaWvYrEcob)Qi!wf$H)CoF$pYbi7~vqKt`Xy=UNOsCaZra-z@pB1*T zCEmRIlqOOL_}<-t`%w2+1Jp;QN#Gx9^XZ8#(3#|(RvkCB4}N2fh-38iIq6q4*z(<& zlOaJL@9&+I5hzii|R`W5GZJUVPz8*8mlUf^Q#S5gai#C4GIH-)9rZtbJd-se?{ zOh(6GSr${y+zv5}b3rURg8)mm1v}9+onKdsOB_jOY2N1Xwk|!u>T1{1^nU|K9oLE_ zTmJwNO1ZbvpkUG3kMfZBZ;FI(uXv&2p63>}FUT&~2nWBn+PU@KTy*1)FLdHK{3GG{ z(oIV8>%>><&yf%1+o|jc>VJA&Z#wF}CAC9s9j&d^zycV~Ra34r`%$sn_(Q|$@!e{6 z7q_ec%Ve+H0*%rlZEEQ*d^=@zb|VE%z>Hhk#z@Bu-loMe+Rf)Fz1g~k>QC<4g_Bzr zI~5lT80@MkMf3SgL~g}M^nt)NEknb4yt<4UY;jAfT_Ogab;83AdIH_+OKIRaA7}TS zM{rypD$HPgiyArWuOrl$z~0?W$PtMn?f~Q;y*tyi9bWfEvc0pkw-(ninE+{hKn~=7 z)vDCI1Esa7I$gx}Gp{UUK4Q!F_NIOYf@RQGOS?d~7T#he(~!z@f-AR^mKOg2NA84L z)~Tk60sK@#;WOQrgNm2+R?Z8b?V60cp`UwMkVn?NK|gM5E#XVseGkSuG}1}=hTy>| zEu3%T2lvH&OZtPN{{VJ}Ob;@}4ZYrHE&dqf)jE{*EPV4zv4c$Toz|gu8p%GRFX3z> zahxbPX)*JI%>`|zu!yNSark>E!08(BTlYDqns%HON8$$7 z_V}jQ2rexy9c|{fxt1@(@~aua-Twe_@lCWJ8N+`mu-6n@UopUT1!J5400x@gSjN#P zS%g4zD_MUKXtqiRw3hSRU%)Q3**8GnQh$k}TsCVpZl*v$Jv(=*os2A6 zSK7TZ?N4rWTf50g(=FX@2;rDvDYc)3e6(3LCRygkIN?G2cdnDBFoQ?YH9bP=Jcxy% zfn*hBR7O(3AVZq>vW8z!ebWbK$MGQISfbeCMuxZ12ZRB_NtiSaW!wEi*9=G78vwXVS)!AvEz+Io`a4S(=Ub|79PH+g9X@#c*?hA@aBa3b%sMKm zB-hfvr{B|Qb$u2)-9{UgxMKN;dUlN9AL72drg$pdt~~v*jQ1!v3ft*=R5mefgtkw; zbeu*y{Fn6n_ix~<+bgGpUqG>`^oJzAE9pKG(ju|6+V}4$W0Hk_gYau#sp(J`X^o^V z{{ZA^6t_~_u~_Y+P&#d`WQ<;|JC4%a@w~`R4>Tp-nr)<#>e@t&pX&J(k@d@nn+&Or z)E=YaX%-!(*UT(2^;Uf1oYrT>494bPE<#B?D<05Z$skeO<2kL8AI05ox&kF`)upu3 zbn^~OL4fCVV$H6bjJ|>3^t!{{10lykc&)yh;d^UPyJAs~YQ78Wdqn~`Se}?#z6+bn zq6)xKPx*DOl1Dq$s~RhNG$&vBq+2Y9jw5v48-d7!6z3Xc@g4GTqJPOTf6HR+A$bd+*$sKDqljP04 zjrH7sEUcqA;8VRXMv~SdWHK=MHKEe2;({@pGj}GAl0?SU0*qQ2pUblt-~o!s-D|Ny zc2V4QVdN>K-P(fo-f zTgP(@ExdZbsxEx#T|}%@V;y?eD|gehn5M$&NwOw6Ilwib(rx2wqzpLEG`im2Bmr4+ zM{!Ox_+6VQ4o5>rF!fu@8z^(T^qOMvLW}4FHJ{S1Bvb-Ic%y~WH@$iueNm}6MI=^7 zQi-oJxo&vCt#q)NvJXRCw$hbk4UFU7uN_+NglrPp%@F6(IL$THuRMeq?N`DU82SNO ze-r8$3>TWd3GEZAK-WYd869ZI?)=PF2GVwWr+oE2YgeZ+2sd=1HBVue3EQoDheE8m z>0Ye{h}p=_HnOVysEbs$gpkBEgRW~MsNG8U4dmXvy|_5Z>rJ$kiBL*B$=r@v_|0jS zg_|QFU=P?aaig2!nMlservP%d&JtzVYO{$Bv<;Qh#Xe) zQ?=A@$XM;<@{s2Xj%dpbE>(|p=@I)zI@W!ieBRUgcc(+NJ4-X?Jv!E>N$@(wCgMK_ zYmcE+86^Gt3f4d)fzOtTg?sfTy?d%d0|hbzDeaoS`n60Jx^|F>6|JmsV0~EJ?ebXF zwyyV%#x1a0kFG<(KNPC<(98I%>zLtGUW~vDeY?`T-w|2HrDA574&4F$sMF(XSZC60 zTPPmxU-2C?_ocIIl1I8z95A2+k<@|rtfV@|qo~}azLjAicVIFX2%ju{hgzdm@Slk< zub$RTM@)_k?Jk9+a=!`({Y_p=#L7PtT8SpRxw}IHp((iF41Cau;%!e_wSwl-Q4W{T z5fR@10AgzUFAZrLDG@P`QM`>oXywBZ^RRHE?@ByT;-$75B$7FX2~+cljy zX{u}TX}WBUsp=0EqhkoFJlVhHU;Ne{dzkvmfEryyHFO?Yd#GmBfQ0H%6Pj7H<#E>RCi+-+a+^r_NBLU&=hc%y3VCCS=q|d%19++J4fz&3V1)K z%cR+x-w^6eeK=(cV`jLGPyEbzZ`!_tZK25uyEVP8gW- z8w-#<>C76>wy%9B5ZOwII7I*|s2uAHMd^)C@=_N&sdhuC?=VsoCn1s$rv1CL<^QVoevLIcpDs z%idmJnIN`?S$xO12ySk0dn)t*Q)qk}qj-g0IXp|Q$zf~*T|iM`LVFDMC)%fLXRMt` zip_6iktvc{M82R0=~3L)zWYbI)h+GKlcMQGcX>eKN05$QPjl@@GFG~_OjDrvGs3z? z#?t&hXP(kdJlAiMPkKMZn&pOrXs@bDs#p;Pj5t#N0I=vjYbklCc#_vrwa`YBJObiG zwzRxZN=7@mBjf$nt5EQEho-?L{B|pOs>JDuu4HFv4sdgx-A*fB+{1V>;^N~-miF)R z+Ud;RUhIIUpdR?AO*sQ<43og68s*lSBm7PC$zgZph|t>t>x}TbD$P2^=)f7}{IUU7 zBLwH;wHfWLi#Irpgv?lX_N8`Oyf&K6xq;eA<70@Et7ndB)RwM@OG=?TmZdt5n=42s zwrhB09G8q?h^qQiD=(;c8K?2me{e?@mm97Lw{W{8Toq>a=C(c}*Zlbntdhp-um@Eg zNcW|dNby~?{(C&GHoF|1)IOo62`)V4>sg(D8u8z$Sx)G{Kovmak7{BXS;zqLX=S7Z z9D&xg+9sXm#IAm>;MFa)T#z(A8Y5AcBr6c9-yLa9 z&-D5+9_Yeu{{SF4qQ<3&XV$jWbnC*u--nwa=(9Img9kY*tFqN2;GY61L&)D@UhlFijYaa2XFmMX<`sK{PGxE;kH)NC!A5kZttdB=L^hP5};Z9LgSMyx)Q)|>fo zgS!CYtCeMlSX-^U0~`*yG%l;ESwyOr4Z%3g1*__RV-_oCdMjE|^z zbVAXViE-aP_3d6FBp6SSX+MEyacvUH*=@Krv6>MoVTMP&YoBq8eTCCwCJ;(<^GBG} z52RHwGR8LU=~fp6b*JLcmsWQ2sSgt4?O8ofMu<(?SLXt&G|KrV zrKZmW`_>0wr#u{SM_Bl(*4jwzs^n$IIH?Aj{{SSeO;SL9S*UyIBUU8fQu~crAxtRAqScEve<;U} zbBfHZ#Bq`_k}5iuxXjor7L>Kd={EzA+}A$3bmx|a+Vx8T(wMBO*ufQ;x0gLf??oBP zfwc6epJMuIB86oITPNDM`YcSRbM>WqZmj6RO6Hx5hL~gwX18XI!YjQ7BqXi~q?fu3 zZ;(b$ZaP-u$ay;EtX()99kq+Woj!GIph#uOZ2r}vu+iE)asI1a29~)86nu6ur)t#a z1?yRq)Ar!vxh1$k(-othH9&9$CcSV07_Bm05^j)!X`~8@yyJ>VB*9vtE~Kdu!2=X( zAFE!hQINQ=n)sJjP{mcbG;Y7F7FG&t9}H4oUX9$IwT`-Uoc_;zGYppq9l$M~)w8yN z_JNFGP+k|({FuQid96!ABgQ}7QVLNU?Z{!xdbxPPW`V@86g{9cCs$9soQ+icM+*qF3py#;LbVoMPh}!Hv)4_5N z#a|cGJ4=_iZLt{$?#c*J`_<;m5teot>(5#bP1PomWJd*5A5P(n)q2d=0>)N=?wDiC zT;p-gQs_%swu09~y`CnLIig=OHeN|#&||%P{cmE|(pUn$uCmb`thw^#BmV&TBDZ%M zi_IFB+N?UF^vwlt63aZ3BxxCct-|AVR<$2GpHIBgp%UumM{WblD{cV%dkT>ABqQ+l zvRx1}vN8d0u{F5YH61R>#((Zo$K>QIDI0_QW4WZ45%`AhPgl{jyL}H#mnZv$=>g+F zGF(U040kn;tEdZ_bo*h$TgLlX{1PiV{v_9~W|G4~c`Twnmyu*3k?ziV ze${7)uXKq;^x9p_+N3t@i7fk1=DTsf?V43)+MJU`4YreaERwF}1~NuH@m&0JwQO$u zJq@;*;mtzQE6GlwdcT`|q^hsjo?4^fy%$T0M3+;)j_xSEdohC8?%wsC(>x>Me-cQN z-v0plCrw8JN$%td%AoR9e%18pXV7fLo|~iTI;ZyH!b_b=tX;g+9dX8Rar{>7)-8~H zTIQQ|cCyIqV~7BV7lG^twIuNuh#EL17LVj=H!fgDl}_7q&#BMODYf5-{2=!#-VT-> zMQp>}%M>Ww%6&1b5p?tzqMucPZK7W zr!BphSffP7asl}#=9d2ePOp4bs%o-pIt96#ONES6JkPamKjlzKWs9P6ytti&*hC zpb95}+fRocsdXFVOn>nUoYvUZu-@93!MO!}k7_OhZ#+TbIZ|mHwzn60G-lFh;E-`C zakzffp3_?5-tDbZRe4oL?STLQiheTMUum|tQ$sDxerm&=sknjrip}`H!*)I;vs(-M zIR&Vb&0it5Fl=LrZEJgQi}}RM{{S}JW{G`41bIG_^Hj?H#oF?QN|rpO#B>UFv=*o~NqrE#;T?^qNYS&*lQ)mH9l?;&!Ug zJRNVNX`h4A-C>jUUEL;SVeQ9CENHE20!=&J0zqbs6$YHxYIdbS^9Jv1Qw6=WW#&cw z>hWGxg`Y*eO=0dMl&+TJYC;z>M(3+%xUD^tL87d1Y5xF;l>z+GCq7|6t39c_PirZ{ zy8gzjdpl#6-S_6799~+4db0us*-}4~n#XItCwOl}b44$f8;Jts8qnT;5(C2@=Q*T0 zy`8?P8Hy!iA>c4Io7CJ{`xB<>5M8`%jTm9ju;hKdYh|a~GmOZ&Ud6ip^_lQ5gnzVy zCB`ITayRpe((AgKT3fhA0f6gL)=T<{tSyC{iwRx$=~@2(3V4n?t7QCP2>9CVjDTws z<6UN3+vi=`PSPiA zmG4AdYLZL&R>v71RZ?X(>sNKCDjlV;-qqbVRE?aguqWoQ21}G|m10loCaa!#{{Tx6 z$EGV=S;y9e^dq>d7WOwDoErJgi(`8^4=nQS_RVXo?My&riTl=>#nOK zD6D;rHIaZ*x|h#3?1lbnC6j6JN&f&E-aO-s4wWlSJqap`0Iu9*@H70;dVJ8^t{unR znh9R1poteNl0B;(sOU)>?!aaT^$Pm3+{FDEO)S=IE$4xlFweKWX2mu0CDh)}3FfX( zMNVk@JwolG-80~J70Gn1x0w)(1DyNOi)7L=j9>#(OSH&;5awAI;*Gpm(lR!TeX8iu zEurn2SA98rfKF(r$HOQ809A$Qn%}6*SO>Ly{{X^VPnP$s@L{xKx^sOo*VY5Yej&Kh z?tn;SkQUqM6+IJLy1m+EibMysKGyW8?jLg~8L3#sYiAJUb43HK+j4?I2Oa5!yto*p zNp~ENgdo!ketD)LS2qh3dz+;oy4T|6V{mYLRURB93 zX{KSxI3Cr=uD~D#B-K~@xd^0>dI2RM;I=C|kB!+;>L614%|%x}palgisHX+_V|)ng-!yXq%EUIHu{Rm0^&eRNmG;hqV@IkDcCGTp5`1$J&n5tfwQ^ zr;eX$+5Z4N*^|%=4TYL{zoWTL8g|r83T&C<4+!0%?b0J zQ&N%=cPXT=e)EI0HY-o!8(cF5T=QA@ZOb+`^saXMYC@aHnnmPuMfgg~eaw#I^U1^V`@nGu%EImNWDZ`H#(Gni43SXghWhmpZ`_z!y4_Oo*sT#{zm(4!{oPj71(7 z@Xe)!5bB;GfO+GadufO)4`yNS{{Tv-#89)g^IYh>DP9Byt(fynr* z_|veFY%N|`+}oqFeIdO=_@{xd_+@6~bSI2`sQo^{2O$nAkCv7f z9XjDW-cni6#(;m3&tHl^UDh=iG|P*<_6ruq{rna_LR9mak0<@07P!9O6YJMK^P2Bd<$hv!5S~!y4))_+q zj_eOpNTb%Q^(G(MHR$eT=pfze{wmX^c)IRXSTw7Lw~*k@?S)nMAoE7*vkJUR{XDk3 z)US0r>9rd}aUm-Rbn@dTs2C*m=AUTy`sakaDPd`4r`k)V+U7L4d3H$IJg{Epn$T(b zHl1s3@a8wvLg32Zr2hcovU;zCukK~TYnA|Rgn|9*#UYty$_o!-4&_dCPm+Fr`rTdC&VWG=ugtc2+cyW!fM}mKP0{2F<(qftIt)mk@T1lIhV@%Y~ zvVrkHT@bI@hiyRqA(e`i2d-+|+ z1LW1#7kY-PDO(6J7egZs1!Kvt7KmFxZg+;ud>Ri@)GqcEw_K0hM#r* znuu=n%Xuy^CS(~OHLJR`@+57bkPrH=mHz-n^-1Q9;+PZ>HUVLbiu(2a%v%@K2_u@+ zVzauUO*R%Wv3iwUE^ z6`R&AmIBPN{qap2r&5wdgft9P{{YKLhNXH*S0ty+9|g!OwYcqrL@W@$D~@P71_wV= zjG86^B#-DA6?wGw=|x$25IFNms}_fr#^zpwijVebF_*xtG*?gi-+ z)p*6Ui%$t{bW|J@TN_6Y8l2WyZB$Mq9G{wXX?Gk-7DJC}(cTQeG=}?C5y%9x zZC`o{OQ_`aM*FixrbGAD47uA?t<1U3;00&aap25mU((*`)z^p$+_6pQ*Z4 zvB?~R>J^)sZ&wD5vX~X?S@QO9_i`Y}=DN3`KGj{QS040IS^0y7uF;y{z70X%$Q@2N zB8!&IqC!H_*&$~qIjI2rZOS*K9A=tXUR+6lO%r2etT`F|sjNC;@Ib{t9A(?;VrqU% zw?#DK4LuW0`a1&;=_ zkX^=zIUmh&z3p$u15Iuhf;v#hs;$Rby7uv1@T@AEQ@T-Gp2b+sal;x0MRsHAtv$V( z$e@rYkL@wA$sE??XIUui8G$*kRzSB59JmQxp$(G#>PV}hgD z(H1th`fI~1_jeP#U?g@MaxwS&R@mL{hRb9mzCCnc%Da7S*Pm zXVq@8=(dh+sJ_9Sx&AAcjdb&Y^c$7cp_1=po|#G{Z`3g3Bz$xf%GUPY+fjwCa3f5! zNLvdVe9(5Iow}msbov_2s%-wEqCm$d@2@iGy?P_oSCT8-n^Gnx>zo$OzifT9$=~ z_u_?%!d@NGG#i~d2`{0xxtLr@W&src0Lne-e0Fvh+N3gH!G9`R#1<%`xMYcs{K`6-d1Udg|Wc?ONMO5{xYKa#!aSnWo@-&*~PR;fW-)yN%?OAPcA2ClL>p>6%PG zsT!`Sxvez&YX~|n^X5K1&uU&jr;OWw72=rZa@(9iZarM{MqK!DEkTaP^;I#2Y2)el z#cJM`a#?xfe->VAHu`>(dvf<|xe(ewr;l^(`_}itspESkn&ZW~rHt0QFd<+A#@&fw z$L&CPQrh3cdNip6$9Jk-Hv5Tz*|_#!{v+C{O*h0^#;s_&m9>lMMah%@09Fr{J;IK( z&1b3nJiFBNb-1|IwHu3R+en3smw`bR!1YBx^@pD8d+2 zcH7Y7wH@E$=6d$hTKGr8de)nBcMav>hH!B@ji4WO9@(VUz6S7hgl!$t-D@+yS!a;0 z(d+=PplY_z-JnKyia5q22)hD~+z!={mrd8>xK*@*#^ofFU}GlIi~dcTuBlQU9?-4y znPc#THo6w6B!Pv|QsiT=UTWmhZ=knpy?4g?waig2=@JzYMURu$6#hLn%T2T|aV%Fi zL~_d6RQJVv`^CECnzYerw&6voY)Q0##2(*jt;l4(QF`BuERCWqfsO6Rz$o0Gy)M!( zwEb@4I|!|XwdUa{n|62O^ww8a@U&Wvwjt7qvz&~AK9C2vt+$1IBHk3#EoanqCA+$k z9nBIZ1bOIlT;|)Y+>yG5Z9+9w5*?spZYZlOX)i86G?Dk{XuEaYY_bnlMNKA1P_baR zuSp)?cfcF_;`iaynx z*6vc~*~%#-Wb$g;oib*OoxoOGSc#&MqjKf`4;5NuU^RPt_MT6|z!N0pnXoF08+~CV zNW#Y8oqugOgCyEZ)Y`%#^ACx!a1(_F-19tu>{emm02djGndgO-^UJxM>N?9`w&!)rHio z6@gJnnnf<4;|CNqAWy>0D{Vkn*000<4f6_1cd|xqc9X!ZCxvv|c73s#~OKsbhe z=D9vvkTKStNocGUh$Q2hgbNfz##=uIieo<0yg+%Cd{;(5JggdFs%fcmfFSwelHN%c zm2SbfY*tzqsOtX!fwXPzH)6g~srZcDYT`K5ND1bT)Fzuby{TTB6MX7`3Q4r2t@(R?YQm=Re?`6s<7w2mu#l^#%P-D$EYw^P6bbggkQo~f;* zA#q*5vsvRHjMptC-_wj$lgok0u8go+{-5}L#dj$j$jwKkV($O)@nNXR(=Rvk5?9}%&ox85l*F)}z&S+zccEQ`0%Cf{lZ>OM;y zt+e)kA(JOPsMPvB?}?Tb{LF*#NTl(-xRYy3@rwEN=CM7_ zLy`q2oIAeoaC_CM^sQ4~Tjkjwez~jsHw<>NG@uR6de_cuZW<;TV}V+$4M;2_YxM0! zq4bG$Ou__hhQc*011C@_0- zSwQpMv1MXM-iNu#i zm{m057gy&rLhU?Ngo=A#Va*I}BxBQx)Ch8T6=1c;J8AJ+%)@F^1d8*a1mGN2hFf#j z0;0CLJg7BfTFxEgqM90iGj2)~n%N6A3&<5jmMD6PF-pT2W@GdkBHk%eu@$WvdXLjw zHb4#*u{di>v}qhjR!r8$!*0>QtkXhbeZWys-m-K!t@G)M(oB(*ImINngaz^z&ZT9F@9M9HWkbTyos@v=us2+t!P39C*tmm0AOaM+}m+Spv>x==2Y%6JDA zLg`G>=2Fe@YS0$*RhCdhWSY<4EyUR@%swk(x@xHDR9xA{qo~bu>)U+#eEF>(arHBO z>gb@y)+<4AXher%WPPeJ*}E_Wde$#4zD0{GM!uZ!P&%!`oCRa{twdTtW#MYi{{Rj& zoPb3$@#`11YR>NFdDn8VTG;6*7=qnudVh!fla?RNIgZXa7PmRZEzx$&5DGmcMqVpD zadwe5+}EJJ+`|U9qZ(+DNGBq_K-*mYU3!*ToomI@J>xB^h~iPf?s%pi4b^4UKNzzX zXNZDZJagK})i-wOi(Gghgyb zVZFC^uScA6@uyxTJ~D#-MbYharLrxU-sXQ(5BpN7o+a!1F_5+~KJ zAN!Y!^Wqdm^Et-ZzbAc^LV+<>5V1GPDQCOdf={{X}`k!mm1?ylu- z53-;j0Z4T(73dbv6}FGz`+NOHR|^b3hQby-IXsbAxAfmITlnk41Q^Z6rH0^KqF-M^QrCNxis{gAv!!oMMz|-VpI!&f$G`;oEBmx$~xjaB~}X0QSeV zZ$AkIg^Nd}YPRsO8&tqIW8CrHnJDW&LO-Im%zG4vvnSzw^QHS{)jFP5eLHbH2&Me=(3=| z*n9%9S}e`KzM4bW9WW_@qDB#;vK! z8BW&caN`EGV&;@R$g-|t?~ydQNG!shmH#zDfU7*StB@c#gY29&rH zd7-+jqksD}%KJ}5P|+ws?6sc{>78RQZQ=BeQ#3IFDO?u#qiu9YH*Gb;w2aus@6rcq zW|Fdu9@H)7sJ6((m<&tzNw;&$0IR@Mi|)T|wkiX7N3SooGwEN(WNT1$>U;U3ThVwss{HoEB~c6K(xE zxYa*1R=K#BJzdoX8`M$Xd|WtTsCmW^?Hs@@r-1llmls|*@X zr+-dtbldpmiYcNg`dPOCKYHKTtTvGWR40;0 zKeb}=)UTgv7k3fd?$e`{Wf>$qF&9o^H=!K#TEv^l_W%!hR_JfG_S@tZ8gh7V{QbE#zEjz zyer`7XSj~zP+!DM4nSe)6(%D}@ZO`YDVi9}Q0_TrTx5N!TAzllw7H`!eAr3lfazbO zbnPzM(lrDEG4%Enuf#e{t;!!M1`knM!Q}ZygDuUvByb}+Jr}ioH$~F!uOba_b}9WJ z^Hk`%EOy5Vpkv;)7Bj_eyKn)fMpWAPX5Danuv@t_dD7xV_Qy8Tpn zHH9!7J_zerZxF$EuIdW~td6mRmt)*}QBlP34cznBG{VCAAo(OK5BFHshv*s{8fB`g zpxio=Gn#KQmrba(Rix{3%hw(0`b8SUk%7f-NXstTUM5+x+n2R5OO%d1j!OGgdX}Xe z2N@aZNG|V|X8gwhd(nM-Ut0S+(xY<75ARl8>Su2wiol!LB5zFmd>Se(NXj;=ZXYI( zHHm9lpd^6AVD|4=U0UW=EtwdubM0FD&9W)Vr|c^?sl^|b!Iy(Ysg$_9l@H~}-6>tv z(oVQ$B=^l5sak$%5y;E&Rl%n?0h(NoYM?6?oBphWMZs(%!l)$EQ)+esIryQSq(U${ zQXP)YM<8v$`88~oX&PmiWOl0m02bhS$g19EkYN;>5P3*f^mG(Owc;q+&COeLcze>5_PTGnlQm{e@23!=SJ& z3Xiy=@}y)mD>76Jla3B6Z>9KoE($xZ>}kfEqC*MKl%V&(r}prqV+tvp#`VoE#@^d# zR2c)>n#$@^u%Lvg5#f0?+%xif*IDU;tw=PERalRaRKSfMPU3#_>+qu)Jen5jEu*Cd zC`;oOJy;Y>I+!dm$)uAbJex%wX=dXG6c(D&{BTLdFgl7Vb~TzvW>LVdNM%u$L&vos z;$2Be?Ou;iLG4+4hTG2|&=Orbwga5eX~yxjB?FceJest5>MIa0r07_YQr=&k#8>pHDnpd%@rJ{12sw)LXvLF z6N)MFR;r3zfkbr~#b_7Egts(ZrLvQgU2UW49M!Sh#Jq4TH>@&f)rK`6NU9}84Uhn@ zeljvRBB+|-Tj}Pp=cmTKBI1LV6?W-G#*#`sg!>ZVuI_1bAA z+Pu6DDzw5)N>E%8*QH9qn7HDJlTO@0Y?Jdv+1iMYO2#x{Xq%w~iuDs~fgUT=hs+;B zzq64vjVD33zJ_H6d8d7dibgTGa!nJd{{T$1jZ;O7PdY8Ni^jpc=$Nr5*tb$C^csvh z_NgVVnWz|Sqiv$-90}NUR6gG|pm?q#Q@zOwI{yIXvm}P~Uoo=&j%c=S8eJAmIe98de&Rrs3UgLdvn%-zFgh3=^Qy6`iAP# z*Ul{OwT({p>gMZGXaSIfSnaYx_9}73KJeP>P~OWe<^HR2W{OU3R|-By9jj5PUtV14 zvMNgjoMVwIAOwA@E2wzt3k!e4+T0CBd~Iu)kL9Pp9qSfjQm>URWVf2{SiSNzt=omw z=>WR_0Ls1Uq}M+eEuFrNV9{C3Olzo582m%zV=<4?D=?RLdiCS@DIe0U5(2-Dz1Jl37@d!Ex6D2IQwQ)zhvS73 z#_LtmC5&wkZE|`0hR$i<{{V+?r@1rBtVo5pEF;|NKjrKy*}NyGM*}m@s2Q+-Hc7V= z?~#gZux|QbXSA`hk*%QBZ?#F7`scZD$Lul1Ydj~R*u?>r?BZvBT1hfmvu&kCWvCs5 z9(ex%&1>}eu?P#hpK3L%^lGIH*l=<4K)#C$xbui_gHrKth~d-!04)w% z*mbP@TI`Z0@yC8^9bawpJvD#ZtppocK^W*bp;Jq5GQrr99`C-Yadsc#wEfsbmzPvS|Vx)E$*Gxbw8)Xb6kvNKtp>sC8`e>B%8 zVzCt%%fHsOD{0^-C#@IeLPkLY?rWm~_e&APU}NU1n_X*TvCx+HQ^fS7Sf9WT?Z zn*B_SZ~^24LNJ@eO7DgxkGHj4HP}&k^|>4j#8FOKAc@Z0muUroG%UGj=KsjUYS_^B0Sc$;SDjNCy)_}Isd4es?o=NLX z^hjlogg}eiig|XCT*;O^{2H7wLkP%hpPG)Pw1wx|hIm=qk?Eq%%zg1yHPk~i=v3Py zT(@fCI=gxkd7$sFlLrZr?NHON+{gfoD63WozK-K#6aq1d!T5qp&>3KrS%+No74(a% zq2+qW#bWh_vn)W);(H1@F_E@O%YW)yc|P4K#hhY3Kp(|MB?@o{9jJz2i=0*(Q+qZS z(rFy=mvDEHpK3PtWh{B-g;1v(_haIqd82A`Sb!4_G5V>M&xqW{cXd6MvTYvVe7P7` zA-0$hOofNFFjsZGT6ZkbFWYq{x7RmjJF~Tiw|Z}LV)KFkKeZ~8!{$jdGB6(EkfQeG zXFy^sC>7M_v|xPZ132qWq|qf&={|rzdQGbMdj43Mpg>QtHJ=o{yin@6GK|!Jyo;3^ z+!OOz(c!&oJlbdMX@#GK^$8dW)IvSYJ_}dLByzaH1*wg#iFM8!pK32j@VZ-_(n#{T z4vH~A6B-lftEbe}LBSM??^9f!YSo5sa~K=|Dsai>9xFE; z+T1oWMLg5wjvxy+^GvFmqORPs*OFBSo+w%MIAdN&rEjc8(&1E^e3{0J&tHlX@qrvr zQBKnHw1G@5&>mb=K-=4yA9e*gw6+5kOGz5=pbD*Twm%>4qDE?!K)GFpbp(>)KG3g$7;>#QUXR8AKtZg&Y~g6=}0Kl zBG{+3Wv*__avxU$wOZVu#!8y`_Nc_o#(LK-y}ELLV{+26;N(`0&M|;ZW3-25BZFG) zJ&6N7D_qDrw9Yl!Fe=qwdVsn0=Hv?}K>Q!kmF`D&3n})00~u(W*sRE8~A6$o+Gt&)o)?9^H^;GNm!6}1HBdDp9ASOT7-uB-fcqW zGwFMtBL4vLsQ&=HZ!T{9mnv7&R4nFJCNu!mkm?dgcz~s{2%`T06vB_-QC1K*U(P2q z1GV1r6kr-A+8d`CXFPTkgKS2il0_!g@8ga#s77nohFBDrWBb-$R=r#|y=SYDu4l5@ z6kJ`iJ78vwn*RXs(SZIi)4Awco?E ztLmHs}?sL2!X5OkxbnQ}Q5Se`O@HMSL{ zvtynF$on#VLmbJmsWOi694n$Tvi??SP61d1C^@fVdNVZyIrnqA^1mGcrK z0^Ze;heXyUoU{NZJZ?2(FR;Pl1278GbRDSZwRqh?3`svV^L-D)dgI6h*DJIBQC~pO zyfd*!;$j;nO2j{J4tA<6h_?kGJ z@0TCF2{(+QUJ^~m?^!)VN?BZz=QO>vf}DbXisk2BJY!uijZsf6`(}if$MG*f5ARua z(|0yG{whh~(&Ic)wB%^x@u|3S5eMHi^21(fR1wy&vFL3Bj1Vb>w6fZ8FhHhixZ2$6 zQ%N2&K=;iklH)DvY?I!QTx(JVA(x-MD3@7n`$lVQTy0kD0zLieH&^9Tf&11{8^>h? zk_oFCX{6veKNX;2*Fsh#j%p342)K2?9@MvG*lfhC$J-QKT0PzQ{LRsW)~p)79d60a zHxNn1Foxn8fbyit_^K@Y3l{Ls&i(68rT9!+uc1yp)ZhhWZ7Zp%cI7_J4FbWz{$5f(@T4xDZ9t*r z1M4*x)MbQyW{Y^eyU>%{DO0!_u!OkQn+J1|?@JrRHsSWj+4;>|du0rn%N5OIb$tg8 zS{d_`kSi_88)&td2?jPFwHqG2wQ-!+%Wc0GZsIpyeaA}EY0ytF8@R~nOASv( zNdvWL^qAso797@3O0x1#Jh82QoVzieD{-2AY!P?^BCUBcFx3unw^9|K3LZ)e~n1hXxELAk&M=|*ohQYM^1PZMsb>b zYkGiTYo|4v4J3jhGSsH^p-he_hPY-N9w-~cQ|diwqX{pfSzjnCmfC-r!CEzngT-BG zI7i9pLuw2X!8}uBoz*(gw@9m=l$PpknZcr|9KN4&oSH!_YVs0A9?oQ8nze0J@M}2S z^rF!e5J14Ekjb?MC~JE>ds7%~hB+0fF`MmKoRP_)rn)0M)wgT0O(mLA4PAT^40(%p zp(HGGf@{|9TeTM)MTa7>C$|0*T*TyOITWhu1|y2tJ*gvwp(fK=`(n4^&ayGbG)=*$ z7IMhg9GYbwkXZ7x($7v*z}i2Gq{VKO?U|FItF7$hbCPjdF=~M_SG5jaDCr29CV=`(L!NGCb8CT*pYDw3_P5N%^t z&3T$QQHj767P?Y8(oKHlmfY+;eX34h-9tX*Y#P9LkSa@*J^E3y+`K!E_C4!8e|9Fi zRc0KX_0RHrZ-%48R;S6_Kiy~?mG-5&9p$ukYBIZk>Pb9|7DcukziL{ZGF!(ij zV0pl-T4cs4ygO|K-e`dqKz^f6;JR2M+Ru-g=DBpy#@j&6V6Sy~Or;BBo|T&1_SjzP zhz}CxrKj9Uc_0z7$IWK6$OYUbn|UPg0IhzDY2+|C+P^e$w(9FYO)ZX+(sIs!YB{t- z+v;Lyy*lREBLSFa6l>nvgg&8OoQ^l!AA6wM`I(S0#S0ystTK8)P&>6d)%7b>Ry_3W zUo`PIi3DNR5$hcZJu5cIr#81SO9F5vQTDGkwP|X7Q>j0C_+7_|Z%YyQf*Ah*jdsN9 zH^+D80Dn<6%Kl&Dto&cs*suIeZt6m}*a}oGP1|k&kG&w$wAN4z%*;o(xHc!%j>O73oyX9Sa46XD`cam8`GI;uTMMh&cF$vwm2dQ&YwLkg=`i8C)9l6bG zLqRq2kbOdwUq~cVNtXIajsPPx!rfiRtkFy;F*lr9bJm%`AymT}C-CZ^ng-+*Ctxgo zD;1<}Zm?*7Jil{YOG)Q$RH*r;mij{~QEne>?cIcOsq59O-d^^Cjewo^?P8T z@ZQ!2MbGU|?KHTPZWEa_ri23_ej8FPfwGddY21QzI;!)Ez za+vcJoz&GcDOEWJwO4V*gXyGNj@3rMrqv@ccEwt~1gb|`3s<-)oKh(DCrP%G!LC-d zBXMtYw2Ea8pcRG)tbLr%CJMGiHn)w~^);zhHIV8XfaZ%VB~A@zE#Y+;4s-2JZ42!I zt8;5NAZx}k6M>olTu56OHKF_>$=133xk1PktY<>lmcT4r6iRl#IcN2a=ADta7L zhR1V()};4iY37$m+eZ|-;_RxN=QLV{-`;=@O=mAJP?MIS^()rFq=f zP8tDumh_r38@J$dS=$iA)>xG?tPL#GH3uZBoPDWm z_oRApkF`>Pq;a{154}jn+Th98c4+vcDl$$x;)Jy^+n~l6{MGMy5-#Rt=eB4|n(`zC zNx}J~I^LwPM&V=(dr*3=uCg7Q0LOY%z+5l+16Ak~Yd#^6Lc@Bg9Bs!njJ(&|&IdU; z?ON??MG~ViQ_p(&#;v1E6y>3IARnaGb6b}itutL05F(Z;!``g9)+B^y%*fAfYv=Y? zZD`wNQ};B&T}fRy#TeE!t>P&p^r++Bts2C?=117pJwr)`Oy}B&i6?#*HzVyI0L{I!xQs`Gwf9;yhjmo&{-eJPgmRBW+&stdrhVO%el>_AS zPOS7f)z>b+_03W%PW0w!M*!lREv&_T3|5NJG>xH5g0->fu$1kbR-|*a^VfT;X#jG> zd(m-Rv#-_7X!R=?*FKR+L<$MO!K`&LzJ3?oTD{IkS{fe*l96DfGS`P*sJD%D8S;6c~mc_tu4FXCqPYYfbDRx9vk?fWYo#Zu4?bVyB?Jj zrMFyFOe(&)c>&`!i`I0DtNDqHg;QTeZ8VY4RUg~-oYy^WMh{EypO)&<$GL}dTFWgc zM5JvBJ*muSk&JOxh?I=y6&hY53OHPm@m?z-`go>Dsty;L=!-q5T2^fyL5Aj~9+I26 zk3Y3KwtxdiCdEBPFkfZ1mIVL{9~99nizqw_xnzut4z+w)Bx1Tsz-6)cuQr^gsHP}} zrT`sAX~0stY6Iz7C2ZAuQTZ4+TB2!4?N%ioP+pbh$lz2&%umv4d%xwPr7q2y3gOQu zCXJYG>BTO(Qb7WuUp3Cxz~-VN6P%M=XiGOvXuBI(8NlsSNn2TZy)?!fX-5Dby*JbJ z{3s-6=9w*;fzq{%TF$Mbx7VMwUml*PqSK=ShTv7P#G|!1w6@<(!N?TOJ1mS9qoPF} zab0N@PALWQX~2$@1;w7gc&DClCaaxRMK~3ctcGgQ78DdNh=BOG7?spCi8EzSm29;aJ#11LFvarVnwTni^q;s0&t$|iXrxnRy zBvXS*?sFhGq*{bTgPhiwTjM#+1%GRWCl#9%uavQX}pa0k78AH>${CY_M4K2cf#Tf)cwQ@`r zqAl4$8LeX!WxN^36m(Xgjzv{#B2j`-jw-Y|up*9>4cuxE0*q;M-l>-joYg5MxkHYW zx_e;2@y%#th#IA>LH4UO%EaI4hC*;DJ7~lX@y5L z+Sb61aZb}uDtb`~X@SLO50OH`Q>9+AHZk6r8((^=NJ4|}S_RJ|QC3J?bgG>JZj{4M zKnSKQ@KQmHaaO!uo|M8UcPKcoO92A5!7);%gSpNPFuPKQmQ5yeT>5Gg-JPbWisNh1 zS4dg9P~rpaisyCEeZ9bL)O<{Yaw#-OREj<&V_W9dEW=m=Z8*hxtF}Y1@m{U60xOd8 zePoJ_?fg+k>MdTcRVo4a0tfw*S&O}97Lt2V3)CyAy<3lkOt zy$<@(lou|=y{pyg#p<;oO~#=#vIi`9Jt@YSf4NkvVXM{ZCs$37;WadoN=%`%#%U(4 zq@~$o2;}o#uUB4JW-qi0uclN4cB*W=CoHY#Qbu|j^?H=mS@>2+6mE?P1Nf#9X%Z(J z0Iyf7stipwKq~n3qT?G$uUD%DYUpD;fIoUN-$zs<0AyFI)u^fEow$uaz~ZiQ>bzI0 z)u2~d<=58v_!G@%95oYe#AB(iSF0@<#T4!VRpO0@PnEuN)`fN zr8?8?cHrPwtJP1cw6>7?KGl1m0N1P4(Sqxi+sLY;oSOA|v1@U7m9g_xNh@Z(UZYkb zllK1ry%QS}E7j_`T?f0jE~Mg=O=iH71$w<&qAOUOaf+9g_~~A+R!gZH9x+x6c0EOU zy+T53ZaEpDjlcY&ydRME|z=Mn))W1=3V`4-pRjEuUD&53-H1ib|+5t>h*e&AOG0~ CkEzK3 From 5326cfd333907730b0845ce0a5f85f91adde875e Mon Sep 17 00:00:00 2001 From: thomas_young Date: Wed, 5 Apr 2017 23:45:41 +0800 Subject: [PATCH 13/13] =?UTF-8?q?=E4=BD=BF=E7=94=A8commons-io=E8=AF=BB?= =?UTF-8?q?=E6=96=87=E4=BB=B6=EF=BC=8C=E5=B9=B6=E4=BF=AE=E6=AD=A3=E4=BA=86?= =?UTF-8?q?ClassLoader=E7=B1=BB=E5=8A=A0=E8=BD=BD=E8=BF=87=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- group02/812350401/pom.xml | 8 +++ .../jvm/loader/ClassFileLoader.java | 66 +++++++++++------- .../jvm/test/ClassFileloaderTest.java | 16 +++-- .../coding2017/jvm/test}/EmployeeV1.class | Bin 4 files changed, 56 insertions(+), 34 deletions(-) rename group02/812350401/src/main/resources/jvm/{ => com/github/miniyk2012/coding2017/jvm/test}/EmployeeV1.class (100%) diff --git a/group02/812350401/pom.xml b/group02/812350401/pom.xml index 06f43adeb1..5311bd3c32 100644 --- a/group02/812350401/pom.xml +++ b/group02/812350401/pom.xml @@ -38,7 +38,15 @@ annotations RELEASE + + + commons-io + commons-io + 2.5 + + + \ No newline at end of file diff --git a/group02/812350401/src/main/java/com/github/miniyk2012/coding2017/coderising/jvm/loader/ClassFileLoader.java b/group02/812350401/src/main/java/com/github/miniyk2012/coding2017/coderising/jvm/loader/ClassFileLoader.java index d143302ed4..185adfb6a3 100644 --- a/group02/812350401/src/main/java/com/github/miniyk2012/coding2017/coderising/jvm/loader/ClassFileLoader.java +++ b/group02/812350401/src/main/java/com/github/miniyk2012/coding2017/coderising/jvm/loader/ClassFileLoader.java @@ -1,5 +1,6 @@ package com.github.miniyk2012.coding2017.coderising.jvm.loader; +import org.apache.commons.io.FileUtils; import java.io.*; import java.util.ArrayList; import java.util.List; @@ -9,31 +10,43 @@ public class ClassFileLoader { private List clzPaths = new ArrayList(); public byte[] readBinaryCode(String className) { - InputStream is = null; - ByteArrayOutputStream bas = null; - byte[] ret = null; - try { - is = new BufferedInputStream(getClass().getClassLoader().getResourceAsStream(className)); - bas = new ByteArrayOutputStream(); - byte[] buf = new byte[1024]; - int bytesRead = 0; - while ((bytesRead = is.read(buf)) != -1) { - bas.write(buf, 0, bytesRead); - } - ret = bas.toByteArray(); - } catch (IOException e) { - e.printStackTrace(); - } finally { - try { - if (is != null) - is.close(); - if (bas != null) - bas.close(); +// InputStream is = null; +// ByteArrayOutputStream bas = null; +// byte[] ret = null; +// try { +// is = new BufferedInputStream(getClass().getClassLoader().getResourceAsStream(className)); +// bas = new ByteArrayOutputStream(); +// byte[] buf = new byte[1024]; +// int bytesRead = 0; +// while ((bytesRead = is.read(buf)) != -1) { +// bas.write(buf, 0, bytesRead); +// } +// ret = bas.toByteArray(); +// } catch (IOException e) { +// e.printStackTrace(); +// } finally { +// try { +// if (is != null) +// is.close(); +// if (bas != null) +// bas.close(); +// } catch (IOException e) { +// e.printStackTrace(); +// } +// } +// return ret; + int lastIndexDot = className.lastIndexOf("."); + String classPath = className.substring(0, lastIndexDot).replace(".", File.separator) + + className.substring(lastIndexDot); + for (String parentPath: clzPaths) { + try { + String fullPath = parentPath + File.separator + classPath; + return FileUtils.readFileToByteArray(new File(fullPath)); } catch (IOException e) { - e.printStackTrace(); + continue; } } - return ret; + return null; } public void addClassPath(String path) { @@ -41,11 +54,10 @@ public void addClassPath(String path) { } public String getClassPath(){ - StringBuilder sb = new StringBuilder(); - for (String path : clzPaths){ - sb.append(path).append(";"); - } - return sb.substring(0, sb.length()-1); + return String.join(";", clzPaths); } + public static void main(String[] args) { + new ClassFileLoader().readBinaryCode(""); + } } diff --git a/group02/812350401/src/main/java/com/github/miniyk2012/coding2017/coderising/jvm/test/ClassFileloaderTest.java b/group02/812350401/src/main/java/com/github/miniyk2012/coding2017/coderising/jvm/test/ClassFileloaderTest.java index a7fd9df5e9..4d4586fd29 100644 --- a/group02/812350401/src/main/java/com/github/miniyk2012/coding2017/coderising/jvm/test/ClassFileloaderTest.java +++ b/group02/812350401/src/main/java/com/github/miniyk2012/coding2017/coderising/jvm/test/ClassFileloaderTest.java @@ -9,10 +9,10 @@ public class ClassFileloaderTest { - - static String path1 = "haha"; - static String path2 = "nana"; - + + static String path1 = ClassFileloaderTest.class.getClassLoader().getResource("struts").getPath(); + static String path2 = ClassFileloaderTest.class.getClassLoader().getResource("jvm").getPath(); + @Before public void setUp() throws Exception { } @@ -38,9 +38,10 @@ public void testClassPath(){ public void testClassFileLength() { ClassFileLoader loader = new ClassFileLoader(); - loader.addClassPath(path1); + loader.addClassPath(path1); + loader.addClassPath(path2); - String className = "jvm/EmployeeV1.class"; + String className = "com.github.miniyk2012.coding2017.jvm.test.EmployeeV1.class"; byte[] byteCodes = loader.readBinaryCode(className); @@ -53,7 +54,8 @@ public void testClassFileLength() { public void testMagicNumber(){ ClassFileLoader loader = new ClassFileLoader(); loader.addClassPath(path1); - String className = "jvm/EmployeeV1.class"; + loader.addClassPath(path2); + String className = "com.github.miniyk2012.coding2017.jvm.test.EmployeeV1.class"; byte[] byteCodes = loader.readBinaryCode(className); byte[] codes = new byte[]{byteCodes[0],byteCodes[1],byteCodes[2],byteCodes[3]}; diff --git a/group02/812350401/src/main/resources/jvm/EmployeeV1.class b/group02/812350401/src/main/resources/jvm/com/github/miniyk2012/coding2017/jvm/test/EmployeeV1.class similarity index 100% rename from group02/812350401/src/main/resources/jvm/EmployeeV1.class rename to group02/812350401/src/main/resources/jvm/com/github/miniyk2012/coding2017/jvm/test/EmployeeV1.class