From e5a1281f04df24757241b342bd6a7533972ab11a Mon Sep 17 00:00:00 2001 From: Eugene Kudelevsky Date: Thu, 29 Apr 2010 19:22:55 +0400 Subject: [PATCH 001/173] fix some bugs; tests --- .../template/zencoding/XmlZenCodingInterpreter.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingInterpreter.java b/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingInterpreter.java index 2f74ada15052..81e8d2303057 100644 --- a/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingInterpreter.java +++ b/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingInterpreter.java @@ -79,7 +79,7 @@ class XmlZenCodingInterpreter { PsiFile file = myCallback.parseCurrentText(StdFileTypes.XML); PsiElement element = file.findElementAt(offset); - if (element instanceof XmlToken && ((XmlToken)element).getTokenType() == XmlTokenType.XML_END_TAG_START) { + if (offset < endOfTemplate && element instanceof XmlToken && ((XmlToken)element).getTokenType() == XmlTokenType.XML_END_TAG_START) { return; } @@ -94,7 +94,9 @@ class XmlZenCodingInterpreter { } if (newOffset >= 0) { - myCallback.fixEndOffset(); + if (offset < endOfTemplate) { + myCallback.fixEndOffset(); + } myCallback.moveToOffset(newOffset); } } @@ -231,8 +233,10 @@ class XmlZenCodingInterpreter { final Object key = new Object(); myCallback.fixStartOfTemplate(key); for (int i = startIndex; i < count; i++) { + Object iterKey = new Object(); + myCallback.fixStartOfTemplate(iterKey); invokeTemplate(templateToken, myCallback, i); - gotoChild(key); + gotoChild(iterKey); interpret(myTokens, tailStart, myCallback, State.WORD, mySurroundedText); if (myCallback.getOffset() != myCallback.getEndOfTemplate(key)) { myCallback.fixEndOffset(); From a63a0299637bd262f499dfb3a5b73ea13985326d Mon Sep 17 00:00:00 2001 From: Eugene Kudelevsky Date: Thu, 29 Apr 2010 21:36:00 +0400 Subject: [PATCH 002/173] refactoring; do more work while parsing template --- .../template/zencoding/TemplateToken.java | 2 + .../zencoding/XmlZenCodingInterpreter.java | 128 +++++------------- .../zencoding/XmlZenCodingTemplate.java | 60 ++++++-- .../template/zencoding/ZenCodingTemplate.java | 10 -- 4 files changed, 91 insertions(+), 109 deletions(-) diff --git a/xml/impl/src/com/intellij/codeInsight/template/zencoding/TemplateToken.java b/xml/impl/src/com/intellij/codeInsight/template/zencoding/TemplateToken.java index bb9b2f96b0f6..e2cec092ad44 100644 --- a/xml/impl/src/com/intellij/codeInsight/template/zencoding/TemplateToken.java +++ b/xml/impl/src/com/intellij/codeInsight/template/zencoding/TemplateToken.java @@ -17,6 +17,7 @@ package com.intellij.codeInsight.template.zencoding; import com.intellij.codeInsight.template.impl.TemplateImpl; import com.intellij.openapi.util.Pair; +import com.intellij.psi.xml.XmlTag; import java.util.List; @@ -27,6 +28,7 @@ class TemplateToken extends Token { final String myKey; final List> myAttribute2Value; TemplateImpl myTemplate; + public XmlTag myTag; TemplateToken(String key, List> attribute2value) { myKey = key; diff --git a/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingInterpreter.java b/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingInterpreter.java index 81e8d2303057..78579667fd69 100644 --- a/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingInterpreter.java +++ b/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingInterpreter.java @@ -25,18 +25,13 @@ import com.intellij.openapi.fileEditor.FileDocumentManager; import com.intellij.openapi.fileTypes.StdFileTypes; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Pair; -import com.intellij.openapi.util.TextRange; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.*; import com.intellij.psi.util.PsiTreeUtil; -import com.intellij.psi.xml.XmlChildRole; -import com.intellij.psi.xml.XmlTag; -import com.intellij.psi.xml.XmlToken; -import com.intellij.psi.xml.XmlTokenType; +import com.intellij.psi.xml.*; import com.intellij.util.containers.HashMap; import com.intellij.util.containers.HashSet; import com.intellij.util.containers.IntArrayList; -import com.intellij.xml.util.HtmlUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -246,7 +241,7 @@ class XmlZenCodingInterpreter { finish(); } - private static boolean containsAttrsVar(TemplateImpl template) { + static boolean containsAttrsVar(TemplateImpl template) { for (int i = 0; i < template.getVariableCount(); i++) { String varName = template.getVariableNameAt(i); if (ATTRS.equals(varName)) { @@ -275,17 +270,7 @@ class XmlZenCodingInterpreter { @Nullable private static Map buildPredefinedValues(List> attribute2value, int numberInIteration) { - StringBuilder result = new StringBuilder(); - for (Iterator> it = attribute2value.iterator(); it.hasNext();) { - Pair pair = it.next(); - String name = pair.first; - String value = getValue(pair, numberInIteration); - result.append(name).append("=\"").append(value).append('"'); - if (it.hasNext()) { - result.append(' '); - } - } - String attributes = result.toString(); + String attributes = buildAttributesString(attribute2value, numberInIteration); attributes = attributes.length() > 0 ? ' ' + attributes : null; Map predefinedValues = null; if (attributes != null) { @@ -295,66 +280,37 @@ class XmlZenCodingInterpreter { return predefinedValues; } - private static String getValue(Pair pair, int numberInIteration) { - return pair.second.replace(NUMBER_IN_ITERATION_PLACE_HOLDER, Integer.toString(numberInIteration + 1)); + @NotNull + private static String buildAttributesString(List> attribute2value, int numberInIteration) { + StringBuilder result = new StringBuilder(); + for (Iterator> it = attribute2value.iterator(); it.hasNext();) { + Pair pair = it.next(); + String name = pair.first; + String value = getValue(pair, numberInIteration); + result.append(getAttributeString(name, value)); + if (it.hasNext()) { + result.append(' '); + } + } + return result.toString(); } - @Nullable - private static String addAttrsVar(TemplateImpl modifiedTemplate, XmlTag tag) { - String text = tag.getContainingFile().getText(); - PsiElement[] children = tag.getChildren(); - if (children.length >= 1 && - children[0] instanceof XmlToken && - ((XmlToken)children[0]).getTokenType() == XmlTokenType.XML_START_TAG_START) { - PsiElement beforeAttrs = children[0]; - if (children.length >= 2 && children[1] instanceof XmlToken && ((XmlToken)children[1]).getTokenType() == XmlTokenType.XML_NAME) { - beforeAttrs = children[1]; - } - TextRange range = beforeAttrs.getTextRange(); - if (range == null) { - return null; - } - int offset = range.getEndOffset(); - text = text.substring(0, offset) + " $ATTRS$" + text.substring(offset); - modifiedTemplate.addVariable(ATTRS, "", "", false); - return text; - } - return null; + private static String getAttributeString(String name, String value) { + return name + "=\"" + value + '"'; + } + + private static String getValue(Pair pair, int numberInIteration) { + return pair.second.replace(NUMBER_IN_ITERATION_PLACE_HOLDER, Integer.toString(numberInIteration + 1)); } private static void invokeTemplate(TemplateToken token, final CustomTemplateCallback callback, int numberInIteration) { List> attr2value = new ArrayList>(token.myAttribute2Value); - if (callback.isLiveTemplateApplicable(token.myKey)) { - invokeExistingLiveTemplate(token, callback, numberInIteration, attr2value); - } - else { - TemplateImpl template = new TemplateImpl("", ""); - template.addTextSegment('<' + token.myKey); - if (attr2value.size() > 0) { - template.addVariable(ATTRS, "", "", false); - template.addVariableSegment(ATTRS); - } - template.addTextSegment(">"); - if (XmlZenCodingTemplate.isTrueXml(callback) || !HtmlUtil.isSingleHtmlTag(token.myKey)) { - template.addVariableSegment(TemplateImpl.END); - template.addTextSegment(""); - } - template.setToReformat(true); - Map predefinedValues = buildPredefinedValues(attr2value, numberInIteration); - callback.expandTemplate(template, predefinedValues); - } - } - - private static void invokeExistingLiveTemplate(TemplateToken token, - CustomTemplateCallback callback, - int numberInIteration, - List> attr2value) { if (token.myTemplate != null) { if (attr2value.size() > 0 || XmlZenCodingTemplate.isTrueXml(callback)) { TemplateImpl modifiedTemplate = token.myTemplate.copy(); - XmlTag tag = XmlZenCodingTemplate.parseXmlTagInTemplate(token.myTemplate.getString(), callback, true); + XmlTag tag = token.myTag; if (tag != null) { for (Iterator> iterator = attr2value.iterator(); iterator.hasNext();) { Pair pair = iterator.next(); @@ -363,27 +319,7 @@ class XmlZenCodingInterpreter { iterator.remove(); } } - if (XmlZenCodingTemplate.isTrueXml(callback)) { - closeUnclosingTags(tag); - } - String text = null; - if (!containsAttrsVar(modifiedTemplate) && attr2value.size() > 0) { - String textWithAttrs = addAttrsVar(modifiedTemplate, tag); - if (textWithAttrs != null) { - text = textWithAttrs; - } - else { - for (Iterator> iterator = attr2value.iterator(); iterator.hasNext();) { - Pair pair = iterator.next(); - tag.setAttribute(pair.first, getValue(pair, numberInIteration)); - iterator.remove(); - } - } - } - if (text == null) { - text = tag.getContainingFile().getText(); - } - modifiedTemplate.setString(text); + modifiedTemplate.setString(filter(tag, callback)); removeVariablesWhichHasNoSegment(modifiedTemplate); Map predefinedValues = buildPredefinedValues(attr2value, numberInIteration); callback.expandTemplate(modifiedTemplate, predefinedValues); @@ -393,11 +329,19 @@ class XmlZenCodingInterpreter { callback.expandTemplate(token.myTemplate, null); } else { + // for CSS Map predefinedValues = buildPredefinedValues(attr2value, numberInIteration); callback.expandTemplate(token.myKey, predefinedValues); } } + private static String filter(XmlTag tag, CustomTemplateCallback callback) { + if (XmlZenCodingTemplate.isTrueXml(callback)) { + closeUnclosingTags(tag); + } + return tag.getContainingFile().getText(); + } + private static boolean isTagClosed(@NotNull XmlTag tag) { ASTNode node = tag.getNode(); assert node != null; @@ -410,15 +354,16 @@ class XmlZenCodingInterpreter { private static void closeUnclosingTags(@NotNull XmlTag root) { final List> tagToClose = new ArrayList>(); Project project = root.getProject(); - final SmartPointerManager manager = SmartPointerManager.getInstance(project); + final SmartPointerManager pointerManager = SmartPointerManager.getInstance(project); root.accept(new XmlRecursiveElementVisitor() { @Override public void visitXmlTag(final XmlTag tag) { if (!isTagClosed(tag)) { - tagToClose.add(manager.createLazyPointer(tag)); + tagToClose.add(pointerManager.createLazyPointer(tag)); } } }); + PsiDocumentManager documentManager = PsiDocumentManager.getInstance(project); for (final SmartPsiElementPointer pointer : tagToClose) { final XmlTag tag = pointer.getElement(); if (tag != null) { @@ -428,6 +373,7 @@ class XmlZenCodingInterpreter { VirtualFile file = tag.getContainingFile().getVirtualFile(); if (file != null) { final Document document = FileDocumentManager.getInstance().getDocument(file); + documentManager.doPostponedOperationsAndUnblockDocument(document); ApplicationManager.getApplication().runWriteAction(new Runnable() { public void run() { document.replaceString(offset, tag.getTextRange().getEndOffset(), "/>"); @@ -437,7 +383,7 @@ class XmlZenCodingInterpreter { } } } - PsiDocumentManager.getInstance(project).commitAllDocuments(); + documentManager.commitAllDocuments(); } private static void fail() { diff --git a/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingTemplate.java b/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingTemplate.java index ab40993e31d7..8beb9b2a2788 100644 --- a/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingTemplate.java +++ b/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingTemplate.java @@ -27,15 +27,18 @@ import com.intellij.openapi.util.Pair; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; import com.intellij.psi.PsiFileFactory; +import com.intellij.psi.XmlElementFactory; import com.intellij.psi.util.PsiTreeUtil; import com.intellij.psi.xml.*; import com.intellij.util.LocalTimeCounter; import com.intellij.util.containers.HashSet; +import com.intellij.xml.util.HtmlUtil; import org.apache.xerces.util.XML11Char; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.util.ArrayList; +import java.util.Iterator; import java.util.List; import java.util.Set; @@ -192,19 +195,60 @@ public class XmlZenCodingTemplate extends ZenCodingTemplate { if (useDefaultTag && token.myAttribute2Value.size() == 0) { return null; } - if (template != null && (token.myAttribute2Value.size() > 0 || isTrueXml(callback))) { - assert prefix.equals(token.myKey); - token.myTemplate = template; - if (token.myAttribute2Value.size() > 0) { - XmlTag tag = parseXmlTagInTemplate(template.getString(), callback, false); - if (tag == null) { - return null; - } + if (template == null) { + template = generateTagTemplate(token.myKey, callback); + } + assert prefix.equals(token.myKey); + token.myTemplate = template; + XmlTag tag = parseXmlTagInTemplate(template.getString(), callback, true); + if (token.myAttribute2Value.size() > 0 && tag == null) { + return null; + } + if (tag != null) { + if (!XmlZenCodingInterpreter.containsAttrsVar(template) && token.myAttribute2Value.size() > 0) { + addMissingAttributes(tag, token.myAttribute2Value); } + token.myTag = tag; } return token; } + private static void addMissingAttributes(XmlTag tag, List> value) { + List> attr2value = new ArrayList>(value); + for (Iterator> iterator = attr2value.iterator(); iterator.hasNext();) { + Pair pair = iterator.next(); + if (tag.getAttribute(pair.first) != null) { + iterator.remove(); + } + } + addAttributesBefore(tag, attr2value); + } + + private static void addAttributesBefore(XmlTag tag, List> attr2value) { + XmlAttribute[] attributes = tag.getAttributes(); + XmlAttribute firstAttribute = attributes.length > 0 ? attributes[0] : null; + XmlElementFactory factory = XmlElementFactory.getInstance(tag.getProject()); + for (Pair pair : attr2value) { + XmlAttribute xmlAttribute = factory.createXmlAttribute(pair.first, ""); + if (firstAttribute != null) { + tag.addBefore(xmlAttribute, firstAttribute); + } + else { + tag.add(xmlAttribute); + } + } + } + + @NotNull + private static TemplateImpl generateTagTemplate(String tagName, CustomTemplateCallback callback) { + StringBuilder builder = new StringBuilder("<"); + builder.append(tagName).append('>'); + if (isTrueXml(callback) || !HtmlUtil.isSingleHtmlTag(tagName)) { + builder.append("$END$'); + } + return new TemplateImpl("", builder.toString(), ""); + } + @Nullable static XmlTag parseXmlTagInTemplate(String templateString, CustomTemplateCallback callback, boolean createPhysicalFile) { XmlFile xmlFile = (XmlFile)PsiFileFactory.getInstance(callback.getProject()) diff --git a/xml/impl/src/com/intellij/codeInsight/template/zencoding/ZenCodingTemplate.java b/xml/impl/src/com/intellij/codeInsight/template/zencoding/ZenCodingTemplate.java index 9f0257f01e25..8b03c4f3b5c9 100644 --- a/xml/impl/src/com/intellij/codeInsight/template/zencoding/ZenCodingTemplate.java +++ b/xml/impl/src/com/intellij/codeInsight/template/zencoding/ZenCodingTemplate.java @@ -154,16 +154,6 @@ public abstract class ZenCodingTemplate implements CustomLiveTemplate { protected boolean checkTemplateKey(String key, CustomTemplateCallback callback) { List tokens = parse(key, callback); if (tokens != null && check(tokens)) { - // !! required if Zen Coding if invoked by TemplateManagerImpl action - /*if (tokens.size() == 2) { - Token token = tokens.get(0); - if (token instanceof TemplateToken) { - if (key.equals(((TemplateToken)token).myKey) && callback.isLiveTemplateApplicable(key)) { - // do not activate only live template - return null; - } - } - }*/ return true; } return false; From a0a8e22e522203c4668b3674246f6decc072279f Mon Sep 17 00:00:00 2001 From: Oleg Shpynov Date: Wed, 21 Apr 2010 12:27:31 +0400 Subject: [PATCH 003/173] Revert "Revert "Compilation fix. damn you incrementally compilation bugs"" This reverts commit 154c29222df329bd2f6de11420bd55b5fa452cc0. --- .../intellij/execution/ExecutionModes.java | 97 +++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 platform/lang-impl/src/com/intellij/execution/ExecutionModes.java diff --git a/platform/lang-impl/src/com/intellij/execution/ExecutionModes.java b/platform/lang-impl/src/com/intellij/execution/ExecutionModes.java new file mode 100644 index 000000000000..a03ac3ec6ef5 --- /dev/null +++ b/platform/lang-impl/src/com/intellij/execution/ExecutionModes.java @@ -0,0 +1,97 @@ +/* + * Copyright 2000-2010 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.intellij.execution; + +import org.jetbrains.annotations.Nullable; + +import javax.swing.*; + +/** + * @author oleg + */ +public class ExecutionModes { + /** + * Process will be run in back ground mode + */ + public static class BackGroundMode extends ExecutionMode { + + public BackGroundMode(final boolean cancelable, @Nullable final String title) { + super(cancelable, title, null, true, false, null); + } + + public BackGroundMode(@Nullable final String title) { + this(true, title); + } + } + + /** + * Process will be run in modal dialog + */ + public static class ModalProgressMode extends ExecutionMode { + + public ModalProgressMode(final boolean cancelable, @Nullable final String title, JComponent progressParentComponent) { + super(cancelable, title, null, false, true, progressParentComponent); + } + + public ModalProgressMode(@Nullable final String title) { + this(true, title, null); + } + + public ModalProgressMode(@Nullable final String title, JComponent progressParentComponent) { + this(true, title, progressParentComponent); + } + } + + /** + * Process will be run in the same thread. + */ + public static class SameThreadMode extends ExecutionMode { + private final int myTimeout; + + public SameThreadMode(final boolean cancelable, + @Nullable final String title2, + final int timeout) { + super(cancelable, null, title2, false, false, null); + myTimeout = timeout; + } + + public SameThreadMode(@Nullable final String title2) { + this(true, title2, -1); + } + + /** + * @param cancelable + */ + public SameThreadMode(final boolean cancelable) { + this(cancelable, null, -1); + } + + /** + * @param timeout If less than zero it will be ignored + */ + public SameThreadMode(final int timeout) { + this(false, null, timeout); + } + + public SameThreadMode() { + this(true); + } + + public int getTimeout() { + return myTimeout; + } + } +} From 91f5aa06bb407771b166a1557fc2cf3b773b0d9f Mon Sep 17 00:00:00 2001 From: Oleg Shpynov Date: Wed, 21 Apr 2010 12:27:51 +0400 Subject: [PATCH 004/173] Revert "Revert "Get rid of copy-paste round 1"" This reverts commit b0c4b6bb3e4d2b7390027e8ba67f77b1d3a672e0. --- .../intellij/execution/ExecutionHelper.java | 323 ++++++++++++++++++ .../com/intellij/execution/ExecutionMode.java | 97 ++++++ .../src/com/intellij/execution/Output.java | 41 +++ .../intellij/execution/OutputListener.java | 29 ++ 4 files changed, 490 insertions(+) create mode 100644 platform/lang-impl/src/com/intellij/execution/ExecutionHelper.java create mode 100644 platform/lang-impl/src/com/intellij/execution/ExecutionMode.java create mode 100644 platform/lang-impl/src/com/intellij/execution/Output.java create mode 100644 platform/lang-impl/src/com/intellij/execution/OutputListener.java diff --git a/platform/lang-impl/src/com/intellij/execution/ExecutionHelper.java b/platform/lang-impl/src/com/intellij/execution/ExecutionHelper.java new file mode 100644 index 000000000000..142bbfc399b2 --- /dev/null +++ b/platform/lang-impl/src/com/intellij/execution/ExecutionHelper.java @@ -0,0 +1,323 @@ +/* + * Copyright 2000-2010 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.intellij.execution; + +import com.intellij.execution.process.OSProcessHandler; +import com.intellij.execution.process.ProcessHandler; +import com.intellij.ide.errorTreeView.NewErrorTreeViewPanel; +import com.intellij.openapi.application.ApplicationManager; +import com.intellij.openapi.command.CommandProcessor; +import com.intellij.openapi.components.ServiceManager; +import com.intellij.openapi.diagnostic.Logger; +import com.intellij.openapi.progress.ProgressIndicator; +import com.intellij.openapi.progress.ProgressManager; +import com.intellij.openapi.progress.Task; +import com.intellij.openapi.project.Project; +import com.intellij.openapi.ui.Messages; +import com.intellij.openapi.util.Disposer; +import com.intellij.openapi.util.text.StringUtil; +import com.intellij.openapi.vfs.VirtualFile; +import com.intellij.openapi.wm.ToolWindowId; +import com.intellij.openapi.wm.ToolWindowManager; +import com.intellij.ui.content.Content; +import com.intellij.ui.content.ContentFactory; +import com.intellij.ui.content.MessageView; +import com.intellij.util.Function; +import com.intellij.util.NotNullFunction; +import com.intellij.util.concurrency.Semaphore; +import com.intellij.util.ui.ErrorTreeView; +import com.intellij.util.ui.MessageCategory; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +/** + * Created by IntelliJ IDEA. + * + * @author: Roman Chernyatchik + * @date: Oct 4, 2007 + */ +public class ExecutionHelper { + private static final Logger LOG = Logger.getInstance(ExecutionHelper.class.getName()); + + private ExecutionHelper() { + } + + public static void showErrors(@NotNull final Project myProject, + @NotNull final List exceptionList, + @NotNull final String tabDisplayName, + @Nullable final VirtualFile file) { + if (ApplicationManager.getApplication().isUnitTestMode() && !exceptionList.isEmpty()) { + throw new RuntimeException(exceptionList.get(0)); + } + ApplicationManager.getApplication().invokeLater(new Runnable() { + public void run() { + if (myProject.isDisposed()) return; + if (exceptionList.isEmpty()) { + removeContents(null, myProject, tabDisplayName); + return; + } + + final RailsErrorViewPanel errorTreeView = new RailsErrorViewPanel(myProject); + try { + openMessagesView(errorTreeView, myProject, tabDisplayName); + } + catch (NullPointerException e) { + final StringBuilder builder = new StringBuilder(); + builder.append("Exceptions occured:"); + for (final Exception exception : exceptionList) { + builder.append("\n"); + builder.append(exception.getMessage()); + } + Messages.showErrorDialog(builder.toString(), "Execution Error"); + return; + } + for (final Exception exception : exceptionList) { + String[] messages = new String[]{exception.getMessage()}; + if (messages.length == 0) messages = new String[]{"Unknown Error"}; + errorTreeView.addMessage(MessageCategory.ERROR, messages, file, -1, -1, null); + } + + ToolWindowManager.getInstance(myProject).getToolWindow(ToolWindowId.MESSAGES_WINDOW).activate(null); + } + }); + } + + private static void openMessagesView(@NotNull final RailsErrorViewPanel errorTreeView, + @NotNull final Project myProject, + @NotNull final String tabDisplayName) { + CommandProcessor commandProcessor = CommandProcessor.getInstance(); + commandProcessor.executeCommand(myProject, new Runnable() { + public void run() { + final MessageView messageView = ServiceManager.getService(myProject, MessageView.class); + final Content content = ContentFactory.SERVICE.getInstance().createContent(errorTreeView, tabDisplayName, true); + messageView.getContentManager().addContent(content); + Disposer.register(content, errorTreeView); + messageView.getContentManager().setSelectedContent(content); + removeContents(content, myProject, tabDisplayName); + } + }, "Open message view", null); + } + + private static void removeContents(@Nullable final Content notToRemove, + @NotNull final Project myProject, + @NotNull final String tabDisplayName) { + MessageView messageView = ServiceManager.getService(myProject, MessageView.class); + Content[] contents = messageView.getContentManager().getContents(); + for (Content content : contents) { + LOG.assertTrue(content != null); + if (content.isPinned()) continue; + if (tabDisplayName.equals(content.getDisplayName()) && content != notToRemove) { + ErrorTreeView listErrorView = (ErrorTreeView)content.getComponent(); + if (listErrorView != null) { + if (messageView.getContentManager().removeContent(content, true)) { + content.release(); + } + } + } + } + } + + @Nullable + public static ProcessHandler findRunningConsole(final Project project, + @NotNull final NotNullFunction cmdLineMatcher) { + final ProcessHandler[] processes = ExecutionManager.getInstance(project).getRunningProcesses(); + for (ProcessHandler process : processes) { + if (process instanceof OSProcessHandler && !process.isProcessTerminated()) { + final String commandLine = ((OSProcessHandler)process).getCommandLine(); + if (cmdLineMatcher.fun(commandLine).booleanValue()) { + return process; + } + } + } + return null; + } + + public static class RailsErrorViewPanel extends NewErrorTreeViewPanel { + public RailsErrorViewPanel(final Project project) { + super(project, null); + } + + protected boolean canHideWarnings() { + return false; + } + } + + + public static void executeExternalProcess(@Nullable final Project myProject, + @NotNull final OSProcessHandler processHandler, + @NotNull final ExecutionMode mode) { + final String title = mode.getTitle() != null ? mode.getTitle() : "Running. Please wait..."; + assert title != null; + + final Runnable process; + if (mode.cancelable()) { + process = createCancelableExecutionProcess(processHandler, mode.shouldCancelFun()); + } + else { + if (mode.getTimeout() <= 0) { + process = new Runnable() { + public void run() { + processHandler.waitFor(); + } + }; + } else { + process = createTimelimitedExecutionProcess(processHandler, mode.getTimeout()); + } + } + if (mode.withModalProgress()) { + ProgressManager.getInstance().runProcessWithProgressSynchronously(process, title, mode.cancelable(), myProject, + mode.getProgressParentComponent()); + } + else if (mode.inBackGround()) { + final Task task = new Task.Backgroundable(myProject, title, mode.cancelable()) { + public void run(@NotNull final ProgressIndicator indicator) { + process.run(); + } + }; + ProgressManager.getInstance().run(task); + } + else { + final String title2 = mode.getTitle2(); + final ProgressIndicator indicator = ProgressManager.getInstance().getProgressIndicator(); + if (indicator != null && title2 != null) { + indicator.setText2(title2); + } + process.run(); + } + } + + private static Runnable createCancelableExecutionProcess(final ProcessHandler processHandler, + final Function cancelableFun) { + return new Runnable() { + private ProgressIndicator myProgressIndicator; + private final Semaphore mySemaphore = new Semaphore(); + + private final Runnable myWaitThread = new Runnable() { + public void run() { + try { + processHandler.waitFor(); + } + finally { + mySemaphore.up(); + } + } + }; + + private final Runnable myCancelListener = new Runnable() { + public void run() { + for (; ;) { + if ((myProgressIndicator != null && (myProgressIndicator.isCanceled() + || !myProgressIndicator.isRunning())) + || (cancelableFun != null && cancelableFun.fun(null).booleanValue()) + || processHandler.isProcessTerminated()) { + + if (!processHandler.isProcessTerminated()) { + try { + processHandler.destroyProcess(); + } + finally { + mySemaphore.up(); + } + } + break; + } + try { + synchronized (this) { + wait(1000); + } + } + catch (InterruptedException e) { + //Do nothing + } + } + } + }; + + public void run() { + myProgressIndicator = ProgressManager.getInstance().getProgressIndicator(); + if (myProgressIndicator != null && StringUtil.isEmpty(myProgressIndicator.getText())) { + myProgressIndicator.setText("Please wait"); + } + + LOG.assertTrue(myProgressIndicator != null || cancelableFun != null, + "Cancelable process must have an opportunity to be canceled!"); + mySemaphore.down(); + ApplicationManager.getApplication().executeOnPooledThread(myWaitThread); + ApplicationManager.getApplication().executeOnPooledThread(myCancelListener); + + mySemaphore.waitFor(); + } + }; + } + + private static Runnable createTimelimitedExecutionProcess(final OSProcessHandler processHandler, + final int timeout) { + return new Runnable() { + private final Semaphore mySemaphore = new Semaphore(); + private final Object LOCK = new Object(); + private Boolean processedFinished = Boolean.FALSE; + + private final Runnable myProcessThread = new Runnable() { + public void run() { + try { + processHandler.waitFor(); + synchronized (LOCK) { + processedFinished = Boolean.TRUE; + } + } + finally { + mySemaphore.up(); + } + } + }; + + private final Runnable myTimeoutListener = new Runnable() { + public void run() { + try { + synchronized (this) { + try { + wait(1000 * timeout); + synchronized (LOCK) { + if (!processedFinished) { + LOG.error("Timeout (" + timeout + " sec) on executing: " + processHandler.getCommandLine()); + processHandler.destroyProcess(); + } + } + } + finally { + mySemaphore.up(); + } + } + } + catch (InterruptedException e) { + //Do nothing + } + } + }; + + public void run() { + mySemaphore.down(); + ApplicationManager.getApplication().executeOnPooledThread(myProcessThread); + ApplicationManager.getApplication().executeOnPooledThread(myTimeoutListener); + + mySemaphore.waitFor(); + } + }; + } +} \ No newline at end of file diff --git a/platform/lang-impl/src/com/intellij/execution/ExecutionMode.java b/platform/lang-impl/src/com/intellij/execution/ExecutionMode.java new file mode 100644 index 000000000000..81e8677fcac8 --- /dev/null +++ b/platform/lang-impl/src/com/intellij/execution/ExecutionMode.java @@ -0,0 +1,97 @@ +/* + * Copyright 2000-2010 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.intellij.execution; + +import com.intellij.util.Function; +import org.jetbrains.annotations.Nullable; + +import javax.swing.*; + +/** +* @author Roman.Chernyatchik +*/ +public abstract class ExecutionMode { + private final boolean myCancelable; + private final String myTitle; + private final String myTitle2; + private final boolean myRunWithModal; + private final boolean myRunInBG; + private final JComponent myProgressParentComponent; + private Function myShouldCancelFun; + private final Object CANCEL_FUN_LOCK = new Object(); + + public ExecutionMode(final boolean cancelable, + @Nullable final String title, + @Nullable final String title2, + final boolean runInBG, + final boolean runWithModal, + JComponent progressParentComponent) { + myCancelable = cancelable; + myTitle = title; + myTitle2 = title2; + myRunInBG = runInBG; + myRunWithModal = runWithModal; + myProgressParentComponent = progressParentComponent; + } + + public int getTimeout() { + // it is ignored + return -1; + } + + @Nullable + public String getTitle() { + return myTitle; + } + + @Nullable + public String getTitle2() { + return myTitle2; + } + + public boolean cancelable() { + return myCancelable; + } + + public boolean inBackGround() { + return myRunInBG; + } + + public boolean withModalProgress() { + return myRunWithModal; + } + + public JComponent getProgressParentComponent() { + return myProgressParentComponent; + } + + /** + * Runner checks this fun during process running, if returns true, process will be canceled. + */ + @Nullable + public Function shouldCancelFun() { + synchronized (CANCEL_FUN_LOCK) { + return myShouldCancelFun; + } + } + + public void setShouldCancelFun(final Function shouldCancelFun) { + synchronized (CANCEL_FUN_LOCK) { + myShouldCancelFun = shouldCancelFun; + } + } + +} \ No newline at end of file diff --git a/platform/lang-impl/src/com/intellij/execution/Output.java b/platform/lang-impl/src/com/intellij/execution/Output.java new file mode 100644 index 000000000000..267046ce7464 --- /dev/null +++ b/platform/lang-impl/src/com/intellij/execution/Output.java @@ -0,0 +1,41 @@ +/* + * Copyright 2000-2008 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.intellij.execution; + +/** + * Created by IntelliJ IDEA. + * + * @author: oleg + * @date: 24.08.2006 + */ +public class Output { + private final String stdout; + private final String stderr; + + public Output(String stdout, String stderr) { + this.stdout = stdout; + this.stderr = stderr; + } + + public String getStdout() { + return stdout; + } + + public String getStderr() { + return stderr; + } +} diff --git a/platform/lang-impl/src/com/intellij/execution/OutputListener.java b/platform/lang-impl/src/com/intellij/execution/OutputListener.java new file mode 100644 index 000000000000..cba904e34f8e --- /dev/null +++ b/platform/lang-impl/src/com/intellij/execution/OutputListener.java @@ -0,0 +1,29 @@ +package com.intellij.execution; + +import com.intellij.execution.process.ProcessAdapter; +import com.intellij.execution.process.ProcessEvent; +import com.intellij.execution.process.ProcessOutputTypes; +import com.intellij.openapi.util.Key; +import org.jetbrains.annotations.NotNull; + +/** +* @author oleg +*/ +public class OutputListener extends ProcessAdapter { + private final StringBuilder out; + private final StringBuilder err; + + public OutputListener(@NotNull final StringBuilder out, @NotNull final StringBuilder err) { + this.out = out; + this.err = err; + } + + public void onTextAvailable(ProcessEvent event, Key outputType) { + if (outputType == ProcessOutputTypes.STDOUT) { + out.append(event.getText()); + } + if (outputType == ProcessOutputTypes.STDERR) { + err.append(event.getText()); + } + } +} From c405af83581ff130a19666e42b7692abc5b566c4 Mon Sep 17 00:00:00 2001 From: Oleg Shpynov Date: Wed, 21 Apr 2010 12:29:26 +0400 Subject: [PATCH 005/173] Revert "Revert "Extracted AbstractConsoleRunnerWithHistory to platform"" This reverts commit adebc38b8f35f1ece7701f2f2f7a4dc3f93edeb9. --- .../AbstractConsoleRunnerWithHistory.java | 269 ++++++++++++++++++ 1 file changed, 269 insertions(+) create mode 100644 platform/lang-impl/src/com/intellij/execution/runners/AbstractConsoleRunnerWithHistory.java diff --git a/platform/lang-impl/src/com/intellij/execution/runners/AbstractConsoleRunnerWithHistory.java b/platform/lang-impl/src/com/intellij/execution/runners/AbstractConsoleRunnerWithHistory.java new file mode 100644 index 000000000000..325f276665ee --- /dev/null +++ b/platform/lang-impl/src/com/intellij/execution/runners/AbstractConsoleRunnerWithHistory.java @@ -0,0 +1,269 @@ +/* + * Copyright 2000-2010 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.intellij.execution.runners; + +import com.intellij.codeInsight.lookup.Lookup; +import com.intellij.codeInsight.lookup.LookupManager; +import com.intellij.execution.ExecutionException; +import com.intellij.execution.ExecutionManager; +import com.intellij.execution.Executor; +import com.intellij.execution.ExecutorRegistry; +import com.intellij.execution.console.LanguageConsoleImpl; +import com.intellij.execution.console.LanguageConsoleViewImpl; +import com.intellij.execution.executors.DefaultRunExecutor; +import com.intellij.execution.process.*; +import com.intellij.execution.ui.RunContentDescriptor; +import com.intellij.execution.ui.actions.CloseAction; +import com.intellij.ide.CommonActionsManager; +import com.intellij.openapi.actionSystem.*; +import com.intellij.openapi.application.ApplicationManager; +import com.intellij.openapi.application.Result; +import com.intellij.openapi.command.WriteCommandAction; +import com.intellij.openapi.editor.Document; +import com.intellij.openapi.editor.ex.EditorEx; +import com.intellij.openapi.project.DumbAwareAction; +import com.intellij.openapi.project.Project; +import com.intellij.openapi.util.IconLoader; +import com.intellij.openapi.util.TextRange; +import com.intellij.openapi.util.text.StringUtil; +import com.intellij.openapi.wm.IdeFocusManager; +import com.intellij.openapi.wm.ToolWindow; +import com.intellij.openapi.wm.ToolWindowManager; +import com.intellij.util.PairProcessor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import javax.swing.*; +import java.awt.*; +import java.io.IOException; +import java.io.OutputStream; +import java.nio.charset.Charset; + +/** + * @author oleg + * This class provides basic functionality for running consoles. + * It launches extrnal process and handles line input with history + */ +public abstract class AbstractConsoleRunnerWithHistory { + protected final Project myProject; + protected final String myConsoleTitle; + + protected OSProcessHandler myProcessHandler; + protected final CommandLineArgumentsProvider myProvider; + protected final String myWorkingDir; + + protected LanguageConsoleViewImpl myConsoleView; + private final ConsoleHistoryModel myHistory = new ConsoleHistoryModel(); + private AnAction myRunAction; + + public AbstractConsoleRunnerWithHistory(@NotNull final Project project, + @NotNull final String consoleTitle, + @NotNull final CommandLineArgumentsProvider provider, + @Nullable final String workingDir) { + myProject = project; + myConsoleTitle = consoleTitle; + myProvider = provider; + myWorkingDir = workingDir; + } + + /** + * Launch process, setup history, actions etc. + * @throws ExecutionException + */ + protected void initAndRun() throws ExecutionException { + // Create Server process + final Process process = createProcess(); + + // Init console view + myConsoleView = createConsoleView(); + + myProcessHandler = createProcessHandler(process); + + ProcessTerminatedListener.attach(myProcessHandler); + + myProcessHandler.addProcessListener(new ProcessAdapter() { + @Override + public void processTerminated(ProcessEvent event) { + myRunAction.getTemplatePresentation().setEnabled(false); + myConsoleView.getConsole().setPrompt(""); + myConsoleView.getConsole().getConsoleEditor().setRendererMode(true); + ApplicationManager.getApplication().invokeLater(new Runnable() { + public void run() { + myConsoleView.getConsole().getConsoleEditor().getComponent().updateUI(); + } + }); + } + }); + +// Attach to process + myConsoleView.attachToProcess(myProcessHandler); + +// Runner creating + final Executor defaultExecutor = ExecutorRegistry.getInstance().getExecutorById(DefaultRunExecutor.EXECUTOR_ID); + final DefaultActionGroup toolbarActions = new DefaultActionGroup(); + final ActionToolbar actionToolbar = ActionManager.getInstance().createActionToolbar(ActionPlaces.UNKNOWN, toolbarActions, false); + +// Runner creating + final JPanel panel = new JPanel(new BorderLayout()); + panel.add(actionToolbar.getComponent(), BorderLayout.WEST); + panel.add(myConsoleView.getComponent(), BorderLayout.CENTER); + + final RunContentDescriptor myDescriptor = + new RunContentDescriptor(myConsoleView, myProcessHandler, panel, myConsoleTitle); + +// tool bar actions + final AnAction[] actions = fillToolBarActions(toolbarActions, defaultExecutor, myDescriptor); + registerActionShortcuts(actions, getLanguageConsole().getConsoleEditor().getComponent()); + registerActionShortcuts(actions, panel); + panel.updateUI(); + +// Show in run toolwindow + ExecutionManager.getInstance(myProject).getContentManager().showRunContent(defaultExecutor, myDescriptor); + +// Request focus + final ToolWindow window = ToolWindowManager.getInstance(myProject).getToolWindow(defaultExecutor.getId()); + window.activate(new Runnable() { + public void run() { + IdeFocusManager.getInstance(myProject).requestFocus(getLanguageConsole().getCurrentEditor().getContentComponent(), true); + } + }); +// Run + myProcessHandler.startNotify(); + } + + protected abstract LanguageConsoleViewImpl createConsoleView(); + + @Nullable + protected abstract Process createProcess() throws ExecutionException; + + protected abstract OSProcessHandler createProcessHandler(final Process process); + + private void registerActionShortcuts(final AnAction[] actions, final JComponent component) { + for (AnAction action : actions) { + if (action.getShortcutSet() != null) { + action.registerCustomShortcutSet(action.getShortcutSet(), component); + } + } + } + + private AnAction[] fillToolBarActions(final DefaultActionGroup toolbarActions, + final Executor defaultExecutor, + final RunContentDescriptor myDescriptor) { +//stop + final AnAction stopAction = createStopAction(); + toolbarActions.add(stopAction); + +//close + final AnAction closeAction = createCloseAction(defaultExecutor, myDescriptor); + toolbarActions.add(closeAction); + +// run action + myRunAction = new DumbAwareAction(null, null, IconLoader.getIcon("/actions/execute.png")) { + public void actionPerformed(final AnActionEvent e) { + runExecuteActionInner(); + } + + public void update(final AnActionEvent e) { + final EditorEx editor = getLanguageConsole().getConsoleEditor(); + final Lookup lookup = LookupManager.getActiveLookup(editor); + e.getPresentation().setEnabled(!myProcessHandler.isProcessTerminated() && + (lookup == null || !lookup.isCompletion())); + } + }; + EmptyAction.setupAction(myRunAction, "Console.Python.Execute", null); + toolbarActions.add(myRunAction); + +// Help + toolbarActions.add(CommonActionsManager.getInstance().createHelpAction("interactive_console")); + +// history actions + final PairProcessor historyProcessor = new PairProcessor() { + public boolean process(final AnActionEvent e, final String s) { + new WriteCommandAction(myProject, getLanguageConsole().getFile()) { + protected void run(final Result result) throws Throwable { + getLanguageConsole().getEditorDocument().setText(s == null? "" : s); + } + }.execute(); + return true; + } + }; + final AnAction historyNextAction = ConsoleHistoryModel.createHistoryAction(myHistory, true, historyProcessor); + final AnAction historyPrevAction = ConsoleHistoryModel.createHistoryAction(myHistory, false, historyProcessor); + historyNextAction.getTemplatePresentation().setVisible(false); + historyPrevAction.getTemplatePresentation().setVisible(false); + toolbarActions.add(historyNextAction); + toolbarActions.add(historyPrevAction); + + return new AnAction[]{stopAction, closeAction, myRunAction, historyNextAction, historyPrevAction}; + } + + protected AnAction createCloseAction(final Executor defaultExecutor, final RunContentDescriptor myDescriptor) { + return new CloseAction(defaultExecutor, myDescriptor, myProject); + } + + protected AnAction createStopAction() { + return ActionManager.getInstance().getAction(IdeActions.ACTION_STOP_PROGRAM); + } + + protected void sendInput(final String input) { + final Charset charset = myProcessHandler.getCharset(); + final OutputStream outputStream = myProcessHandler.getProcessInput(); + try { + byte[] bytes = input.getBytes(charset.name()); + outputStream.write(bytes); + outputStream.flush(); + } + catch (IOException e) { + // ignore + } + } + + public LanguageConsoleImpl getLanguageConsole() { + return myConsoleView.getConsole(); + } + + protected void runExecuteActionInner() { + // Process input and add to history + final Document document = getLanguageConsole().getCurrentEditor().getDocument(); + final String documentText = document.getText(); + final TextRange range = new TextRange(0, document.getTextLength()); + getLanguageConsole().getCurrentEditor().getSelectionModel().setSelection(range.getStartOffset(), range.getEndOffset()); + getLanguageConsole().addCurrentToHistory(range, false); + getLanguageConsole().setInputText(""); + final String line = documentText; + if (!StringUtil.isEmptyOrSpaces(line)){ + myHistory.addToHistory(line); + } + // Send to interpreter / server + final String text2send = line.length() == 0 ? "\n\n" : line + "\n"; + sendInput(text2send); + } + + protected static String getProviderCommandLine(final CommandLineArgumentsProvider provider) { + final StringBuilder builder = new StringBuilder(); + for (String s : provider.getArguments()) { + if (builder.length() > 0){ + builder.append(' '); + } + builder.append(s); + } + return builder.toString(); + } + + public Project getProject() { + return myProject; + } +} From 1cce36b5c2791afc221c4c9ded71837fbe149e72 Mon Sep 17 00:00:00 2001 From: Oleg Shpynov Date: Wed, 21 Apr 2010 12:31:58 +0400 Subject: [PATCH 006/173] Revert "Revert "Initial version of IRB/Rails consoles based on new LanguageConsole API"" This reverts commit fb28109271f6f23db4cb01484e97b33d8423d06c. Conflicts: platform/lang-impl/src/com/intellij/codeInsight/editorActions/BackspaceHandler.java --- .../editorActions/BackspaceHandler.java | 20 ++++++++++--------- .../console/LanguageConsoleImpl.java | 15 ++++++++++++++ .../AbstractConsoleRunnerWithHistory.java | 8 ++++---- .../process/ColoredProcessHandler.java | 2 +- 4 files changed, 31 insertions(+), 14 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/codeInsight/editorActions/BackspaceHandler.java b/platform/lang-impl/src/com/intellij/codeInsight/editorActions/BackspaceHandler.java index a09d11e78f0f..3625fdee6ce7 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/editorActions/BackspaceHandler.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/editorActions/BackspaceHandler.java @@ -35,6 +35,7 @@ import com.intellij.openapi.util.TextRange; import com.intellij.psi.PsiDocumentManager; import com.intellij.psi.PsiFile; import com.intellij.psi.codeStyle.CodeStyleSettingsManager; +import org.jetbrains.annotations.Nullable; import java.util.List; @@ -148,22 +149,22 @@ public class BackspaceHandler extends EditorWriteActionHandler { return editables.size() == 1 && editables.get(0).equals(rangeToEdit); } + @Nullable public static LogicalPosition getBackspaceUnindentPosition(final PsiFile file, final Editor editor) { if (editor.getSelectionModel().hasSelection() || editor.getSelectionModel().hasBlockSelection()) return null; - LogicalPosition caretPos = editor.getCaretModel().getLogicalPosition(); + final LogicalPosition caretPos = editor.getCaretModel().getLogicalPosition(); if (caretPos.line == 0 || caretPos.column == 0) { return null; } - int lineStartOffset = editor.getDocument().getLineStartOffset(caretPos.line); - int lineEndOffset = lineStartOffset + caretPos.column; + final int startCheckRange = editor.getDocument().getLineStartOffset(caretPos.line); + final int endCheckRange = startCheckRange + caretPos.column; - CharSequence charSeq = editor.getDocument().getCharsSequence(); - // smart backspace is activated only if all characters in the caret line - // are whitespace characters - for(int pos=lineStartOffset; pos Date: Wed, 21 Apr 2010 14:26:55 +0400 Subject: [PATCH 007/173] Finally revert real trunk state --- platform/platform-api/src/com/intellij/util/net/NetUtils.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/platform-api/src/com/intellij/util/net/NetUtils.java b/platform/platform-api/src/com/intellij/util/net/NetUtils.java index da07c2bd2b0e..c267534c5525 100644 --- a/platform/platform-api/src/com/intellij/util/net/NetUtils.java +++ b/platform/platform-api/src/com/intellij/util/net/NetUtils.java @@ -76,7 +76,7 @@ public class NetUtils { return ports; } - private static String getLocalHostString() { + public static String getLocalHostString() { // HACK for Windows with ipv6 String localHostString = "localhost"; try { From cc06ff126e8a67452ba260bb99f92cfccb4e66d9 Mon Sep 17 00:00:00 2001 From: Oleg Shpynov Date: Thu, 22 Apr 2010 19:03:23 +0400 Subject: [PATCH 008/173] Merging order fixed to highlight symbols correctly --- .../src/com/intellij/execution/console/LanguageConsoleImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/lang-impl/src/com/intellij/execution/console/LanguageConsoleImpl.java b/platform/lang-impl/src/com/intellij/execution/console/LanguageConsoleImpl.java index 19189c8af703..6272b5279a06 100644 --- a/platform/lang-impl/src/com/intellij/execution/console/LanguageConsoleImpl.java +++ b/platform/lang-impl/src/com/intellij/execution/console/LanguageConsoleImpl.java @@ -530,7 +530,7 @@ public class LanguageConsoleImpl implements Disposable, TypeSafeDataProvider { } public static void printToConsole(final LanguageConsoleImpl console, final String string, final TextAttributes textAttributes) { - final TextAttributes attributes = TextAttributes.merge(textAttributes, ConsoleHighlighter.OUT.getDefaultAttributes()); + final TextAttributes attributes = TextAttributes.merge(ConsoleHighlighter.OUT.getDefaultAttributes(), textAttributes); ApplicationManager.getApplication().invokeLater(new Runnable() { public void run() { console.printToHistory(string, attributes); From 4c52da0de9636e7433b2fd26f89cc8440961ff43 Mon Sep 17 00:00:00 2001 From: Oleg Shpynov Date: Mon, 26 Apr 2010 15:14:45 +0400 Subject: [PATCH 009/173] RStacktrace filter added --- .../com/intellij/execution/impl/ConsoleViewImpl.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/execution/impl/ConsoleViewImpl.java b/platform/lang-impl/src/com/intellij/execution/impl/ConsoleViewImpl.java index b52e8a75bb2b..e68c1cb5d7e6 100644 --- a/platform/lang-impl/src/com/intellij/execution/impl/ConsoleViewImpl.java +++ b/platform/lang-impl/src/com/intellij/execution/impl/ConsoleViewImpl.java @@ -574,11 +574,11 @@ public class ConsoleViewImpl extends JPanel implements ConsoleView, ObservableCo addHyperlink(textLength - hyperlinkText.length(), textLength, null, info, getHyperlinkAttributes()); } - private static TextAttributes getHyperlinkAttributes() { + public static TextAttributes getHyperlinkAttributes() { return EditorColorsManager.getInstance().getGlobalScheme().getAttributes(CodeInsightColors.HYPERLINK_ATTRIBUTES); } - private static TextAttributes getFollowedHyperlinkAttributes() { + public static TextAttributes getFollowedHyperlinkAttributes() { return EditorColorsManager.getInstance().getGlobalScheme().getAttributes(CodeInsightColors.FOLLOWED_HYPERLINK_ATTRIBUTES); } @@ -779,7 +779,7 @@ public class ConsoleViewImpl extends JPanel implements ConsoleView, ObservableCo } } - private static final Key OLD_HYPERLINK_TEXT_ATTRIBUTES = Key.create("OLD_HYPERLINK_TEXT_ATTRIBUTES"); + public static final Key OLD_HYPERLINK_TEXT_ATTRIBUTES = Key.create("OLD_HYPERLINK_TEXT_ATTRIBUTES"); private void linkFollowed(final HyperlinkInfo info) { MarkupModelEx markupModel = (MarkupModelEx)myEditor.getMarkupModel(); for (Map.Entry entry : myHyperlinks.getRanges().entrySet()) { @@ -907,7 +907,7 @@ public class ConsoleViewImpl extends JPanel implements ConsoleView, ObservableCo } } - private static String getLineText(Document document, int lineNumber, boolean includeEol) { + public static String getLineText(Document document, int lineNumber, boolean includeEol) { int endOffset = document.getLineEndOffset(lineNumber); if (includeEol && endOffset < document.getTextLength()) { endOffset++; @@ -1201,7 +1201,7 @@ public class ConsoleViewImpl extends JPanel implements ConsoleView, ObservableCo } } - private static class Hyperlinks { + public static class Hyperlinks { private static final int NO_INDEX = Integer.MIN_VALUE; private final Map myHighlighterToMessageInfoMap = new HashMap(); private int myLastIndex = NO_INDEX; @@ -1229,7 +1229,7 @@ public class ConsoleViewImpl extends JPanel implements ConsoleView, ObservableCo if (myLastIndex != NO_INDEX && containsOffset(myLastIndex, highlighter)) myLastIndex = NO_INDEX; } - private Map getRanges() { + public Map getRanges() { return myHighlighterToMessageInfoMap; } } From dd2704fc24c8ab4c16d5f6b5c67e90116364814f Mon Sep 17 00:00:00 2001 From: Oleg Shpynov Date: Mon, 26 Apr 2010 15:57:41 +0400 Subject: [PATCH 010/173] DRY refactoring --- .../execution/impl/ConsoleViewImpl.java | 80 +++++++++++++------ 1 file changed, 57 insertions(+), 23 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/execution/impl/ConsoleViewImpl.java b/platform/lang-impl/src/com/intellij/execution/impl/ConsoleViewImpl.java index e68c1cb5d7e6..4666160d98d6 100644 --- a/platform/lang-impl/src/com/intellij/execution/impl/ConsoleViewImpl.java +++ b/platform/lang-impl/src/com/intellij/execution/impl/ConsoleViewImpl.java @@ -185,8 +185,8 @@ public class ConsoleViewImpl extends JPanel implements ConsoleView, ObservableCo } }; - private final CompositeFilter myPredefinedMessageFilter; - private final CompositeFilter myCustomFilter; + protected final CompositeFilter myPredefinedMessageFilter; + protected final CompositeFilter myCustomFilter; private final ArrayList myHistory = new ArrayList(); private int myHistorySize = 20; @@ -196,7 +196,7 @@ public class ConsoleViewImpl extends JPanel implements ConsoleView, ObservableCo private final Alarm myFoldingAlarm = new Alarm(Alarm.ThreadToUse.SWING_THREAD, this); private final List myPendingFoldRegions = new ArrayList(); - public void addConsoleUserInputLestener(ConsoleInputListener consoleInputListener) { + public void addConsoleUserInputListener(ConsoleInputListener consoleInputListener) { myConsoleInputListeners.add(consoleInputListener); } @@ -500,10 +500,10 @@ public class ConsoleViewImpl extends JPanel implements ConsoleView, ObservableCo it.remove(); } } - highlightHyperlinks(newLineCount >= lineCount + 1 ? newLineCount - lineCount - 1 : 0, newLineCount - 1); + highlightHyperlinksAndFoldings(newLineCount >= lineCount + 1 ? newLineCount - lineCount - 1 : 0, newLineCount - 1); } else if (oldLineCount < newLineCount) { - highlightHyperlinks(oldLineCount - 1, newLineCount - 2); + highlightHyperlinksAndFoldings(oldLineCount - 1, newLineCount - 2); } if (isAtEndOfDocument) { @@ -781,8 +781,11 @@ public class ConsoleViewImpl extends JPanel implements ConsoleView, ObservableCo public static final Key OLD_HYPERLINK_TEXT_ATTRIBUTES = Key.create("OLD_HYPERLINK_TEXT_ATTRIBUTES"); private void linkFollowed(final HyperlinkInfo info) { - MarkupModelEx markupModel = (MarkupModelEx)myEditor.getMarkupModel(); - for (Map.Entry entry : myHyperlinks.getRanges().entrySet()) { + linkFollowed(myEditor, myHyperlinks, info); + } + public static void linkFollowed(final Editor editor, final Hyperlinks hyperlinks, final HyperlinkInfo info) { + MarkupModelEx markupModel = (MarkupModelEx)editor.getMarkupModel(); + for (Map.Entry entry : hyperlinks.getRanges().entrySet()) { RangeHighlighter range = entry.getKey(); TextAttributes oldAttr = range.getUserData(OLD_HYPERLINK_TEXT_ATTRIBUTES); if (oldAttr != null) { @@ -805,29 +808,55 @@ public class ConsoleViewImpl extends JPanel implements ConsoleView, ObservableCo RangeHighlighter dummy = markupModel.addRangeHighlighter(0, 0, HYPERLINK_LAYER, getHyperlinkAttributes(), HighlighterTargetArea.EXACT_RANGE); markupModel.removeHighlighter(dummy); } + public HyperlinkInfo getHyperlinkInfoByPoint(final Point p){ + return getHyperlinkInfoByPoint(myEditor, myHyperlinks, p); + } - private HyperlinkInfo getHyperlinkInfoByPoint(final Point p){ - if (myEditor == null) return null; - final LogicalPosition pos = myEditor.xyToLogicalPosition(new Point(p.x, p.y)); - return getHyperlinkInfoByLineAndCol(pos.line, pos.column); + public static HyperlinkInfo getHyperlinkInfoByPoint(final Editor editor, final Hyperlinks hyperlinks, final Point p){ + final LogicalPosition pos = editor.xyToLogicalPosition(new Point(p.x, p.y)); + return getHyperlinkInfoByLineAndCol(editor, hyperlinks, pos.line, pos.column); } private HyperlinkInfo getHyperlinkInfoByLineAndCol(final int line, final int col) { - final int offset = myEditor.logicalPositionToOffset(new LogicalPosition(line, col)); - return myHyperlinks.getHyperlinkAt(offset); + return getHyperlinkInfoByLineAndCol(myEditor, myHyperlinks, line, col); } - private void highlightHyperlinks(final int line1, final int endLine){ + public static HyperlinkInfo getHyperlinkInfoByLineAndCol(final Editor editor, final Hyperlinks hyperlinks, final int line, final int col) { + final int offset = editor.logicalPositionToOffset(new LogicalPosition(line, col)); + return hyperlinks.getHyperlinkAt(offset); + } + + private void highlightHyperlinksAndFoldings(final int line1, final int endLine){ ApplicationManager.getApplication().assertIsDispatchThread(); PsiDocumentManager.getInstance(myProject).commitAllDocuments(); + highlightHyperlinks(myEditor, myHyperlinks, myCustomFilter, myPredefinedMessageFilter, line1, endLine); + updateFoldings(line1, endLine); + } + + private void updateFoldings(final int line1, final int endLine) { final Document document = myEditor.getDocument(); final CharSequence chars = document.getCharsSequence(); + final int startLine = Math.max(0, line1); + final List toAdd = new ArrayList(); + for(int line = startLine; line <= endLine; line++) { + addFolding(document, chars, line, toAdd); + } + if (!toAdd.isEmpty()) { + doUpdateFolding(toAdd); + } + } + + public static void highlightHyperlinks(final Editor editor, + final Hyperlinks hyperlinks, + final Filter myCustomFilter, + final Filter myPredefinedMessageFilter, + final int line1, final int endLine){ + final Document document = editor.getDocument(); + final CharSequence chars = document.getCharsSequence(); final TextAttributes hyperlinkAttributes = getHyperlinkAttributes(); final int startLine = Math.max(0, line1); - final List toAdd = new ArrayList(); - for(int line = startLine; line <= endLine; line++) { int endOffset = document.getLineEndOffset(line); if (endOffset < document.getTextLength()) { @@ -842,12 +871,8 @@ public class ConsoleViewImpl extends JPanel implements ConsoleView, ObservableCo final int highlightStartOffset = result.highlightStartOffset; final int highlightEndOffset = result.highlightEndOffset; final HyperlinkInfo hyperlinkInfo = result.hyperlinkInfo; - addHyperlink(highlightStartOffset, highlightEndOffset, result.highlightAttributes, hyperlinkInfo, hyperlinkAttributes); + addHyperlink(editor, hyperlinks, highlightStartOffset, highlightEndOffset, result.highlightAttributes, hyperlinkInfo, hyperlinkAttributes); } - addFolding(document, chars, line, toAdd); - } - if (!toAdd.isEmpty()) { - doUpdateFolding(toAdd); } } @@ -930,13 +955,22 @@ public class ConsoleViewImpl extends JPanel implements ConsoleView, ObservableCo final TextAttributes highlightAttributes, final HyperlinkInfo hyperlinkInfo, final TextAttributes hyperlinkAttributes) { + addHyperlink(myEditor, myHyperlinks, highlightStartOffset, highlightEndOffset, highlightAttributes, hyperlinkInfo, hyperlinkAttributes); + } + private static void addHyperlink(final Editor editor, + final Hyperlinks hyperlinks, + final int highlightStartOffset, + final int highlightEndOffset, + final TextAttributes highlightAttributes, + final HyperlinkInfo hyperlinkInfo, + final TextAttributes hyperlinkAttributes) { TextAttributes textAttributes = highlightAttributes != null ? highlightAttributes : hyperlinkAttributes; - final RangeHighlighter highlighter = myEditor.getMarkupModel().addRangeHighlighter(highlightStartOffset, + final RangeHighlighter highlighter = editor.getMarkupModel().addRangeHighlighter(highlightStartOffset, highlightEndOffset, HYPERLINK_LAYER, textAttributes, HighlighterTargetArea.EXACT_RANGE); - myHyperlinks.add(highlighter, hyperlinkInfo); + hyperlinks.add(highlighter, hyperlinkInfo); } private class ClearAllAction extends AnAction implements DumbAware { From 92688891ded11bdc5ffe64027530a9560f74b0c9 Mon Sep 17 00:00:00 2001 From: Oleg Shpynov Date: Mon, 26 Apr 2010 16:44:45 +0400 Subject: [PATCH 011/173] Restored Reload Rails console action --- .../execution/runners/AbstractConsoleRunnerWithHistory.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/execution/runners/AbstractConsoleRunnerWithHistory.java b/platform/lang-impl/src/com/intellij/execution/runners/AbstractConsoleRunnerWithHistory.java index 04b6ded62f4c..47c217b0e4eb 100644 --- a/platform/lang-impl/src/com/intellij/execution/runners/AbstractConsoleRunnerWithHistory.java +++ b/platform/lang-impl/src/com/intellij/execution/runners/AbstractConsoleRunnerWithHistory.java @@ -51,6 +51,7 @@ import java.awt.*; import java.io.IOException; import java.io.OutputStream; import java.nio.charset.Charset; +import java.util.ArrayList; /** * @author oleg @@ -83,7 +84,7 @@ public abstract class AbstractConsoleRunnerWithHistory { * Launch process, setup history, actions etc. * @throws ExecutionException */ - protected void initAndRun() throws ExecutionException { + public void initAndRun() throws ExecutionException { // Create Server process final Process process = createProcess(); @@ -218,7 +219,7 @@ public abstract class AbstractConsoleRunnerWithHistory { return ActionManager.getInstance().getAction(IdeActions.ACTION_STOP_PROGRAM); } - protected void sendInput(final String input) { + public void sendInput(final String input) { final Charset charset = myProcessHandler.getCharset(); final OutputStream outputStream = myProcessHandler.getProcessInput(); try { From 0088c5134f2db24717882f60597457cc24eb9311 Mon Sep 17 00:00:00 2001 From: Roman Chernyatchik Date: Fri, 30 Apr 2010 21:14:09 +0400 Subject: [PATCH 012/173] method separatos color settings were moved to platform ('general' section) --- .../openapi/options/colors/pages/JavaColorSettingsPage.java | 5 +---- .../openapi/options/colors/pages/GeneralColorsPage.java | 1 + 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/java/java-impl/src/com/intellij/openapi/options/colors/pages/JavaColorSettingsPage.java b/java/java-impl/src/com/intellij/openapi/options/colors/pages/JavaColorSettingsPage.java index f8a0f0b917dc..25f2a3e6f3f9 100644 --- a/java/java-impl/src/com/intellij/openapi/options/colors/pages/JavaColorSettingsPage.java +++ b/java/java-impl/src/com/intellij/openapi/options/colors/pages/JavaColorSettingsPage.java @@ -82,10 +82,7 @@ public class JavaColorSettingsPage implements ColorSettingsPage, InspectionColor new AttributesDescriptor(OptionsBundle.message("options.java.attribute.descriptor.annotation.attribute.name"), CodeInsightColors.ANNOTATION_ATTRIBUTE_NAME_ATTRIBUTES) }; - private static final ColorDescriptor[] ourColorDescriptors = new ColorDescriptor[]{ - new ColorDescriptor(OptionsBundle.message("options.java.color.descriptor.method.separator.color"), CodeInsightColors.METHOD_SEPARATORS_COLOR, ColorDescriptor.Kind.FOREGROUND) - - }; + private static final ColorDescriptor[] ourColorDescriptors = new ColorDescriptor[0]; @NonNls private static final Map ourTags = new HashMap(); static { diff --git a/platform/lang-impl/src/com/intellij/openapi/options/colors/pages/GeneralColorsPage.java b/platform/lang-impl/src/com/intellij/openapi/options/colors/pages/GeneralColorsPage.java index 0f72d83b9c20..ce2a0fc2e04e 100644 --- a/platform/lang-impl/src/com/intellij/openapi/options/colors/pages/GeneralColorsPage.java +++ b/platform/lang-impl/src/com/intellij/openapi/options/colors/pages/GeneralColorsPage.java @@ -102,6 +102,7 @@ public class GeneralColorsPage implements ColorSettingsPage { new ColorDescriptor(OptionsBundle.message("options.general.color.descriptor.selected.folding.outline"), EditorColors.SELECTED_FOLDING_TREE_COLOR, ColorDescriptor.Kind.FOREGROUND), new ColorDescriptor(OptionsBundle.message("options.general.color.descriptor.added.lines"), EditorColors.ADDED_LINES_COLOR, ColorDescriptor.Kind.BACKGROUND), new ColorDescriptor(OptionsBundle.message("options.general.color.descriptor.modified.lines"), EditorColors.MODIFIED_LINES_COLOR, ColorDescriptor.Kind.BACKGROUND), + new ColorDescriptor(OptionsBundle.message("options.java.color.descriptor.method.separator.color"), CodeInsightColors.METHOD_SEPARATORS_COLOR, ColorDescriptor.Kind.FOREGROUND), new ColorDescriptor(OptionsBundle.message("options.general.color.descriptor.console.background"), ConsoleViewContentType.CONSOLE_BACKGROUND_KEY, ColorDescriptor.Kind.BACKGROUND), }; From 1fa1fdc4bcce04b4b1fbc2c822a21cde92ad5ce2 Mon Sep 17 00:00:00 2001 From: Kirill Kalishev Date: Tue, 4 May 2010 12:01:44 +0400 Subject: [PATCH 013/173] async process icon made transparrent --- platform/icons/src/process/step_mask.png | Bin 0 -> 198 bytes .../com/intellij/ui/treeStructure/Tree.java | 2 +- .../com/intellij/util/ui/AnimatedIcon.java | 27 +++++++++-- .../intellij/util/ui/AsyncProcessIcon.java | 44 ++++++++++++++++-- .../wm/impl/status/InfoAndProgressPanel.java | 8 +++- 5 files changed, 69 insertions(+), 12 deletions(-) create mode 100644 platform/icons/src/process/step_mask.png diff --git a/platform/icons/src/process/step_mask.png b/platform/icons/src/process/step_mask.png new file mode 100644 index 0000000000000000000000000000000000000000..f1e7c3e32eeb3a637cc47b9e1d177611a3d31683 GIT binary patch literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP_V+& z#WBP}@a%*@z6JvhXY=><>9NW48dJ@5J|6yOut4|fwYvV|1Fbe;-kmKwcB@w|tL<00 zw|U0SEP0RGoH+)cz8uT=$!UD^t7c!vRFN3*|As3#R68bIOg^wENu>1T0;OjHYWM%U s#1?q&@DZBLU?h4mtTc05&%G1kyW&h3rj)ik2D*X4)78&qol`;+0H}XQ)c^nh literal 0 HcmV?d00001 diff --git a/platform/platform-api/src/com/intellij/ui/treeStructure/Tree.java b/platform/platform-api/src/com/intellij/ui/treeStructure/Tree.java index 02f361115f1b..3b1599b5672c 100644 --- a/platform/platform-api/src/com/intellij/ui/treeStructure/Tree.java +++ b/platform/platform-api/src/com/intellij/ui/treeStructure/Tree.java @@ -180,7 +180,7 @@ public class Tree extends JTree implements ComponentWithEmptyText, Autoscroll, Q private void updateBusy() { if (myBusy) { if (myBusyIcon == null) { - myBusyIcon = new AsyncProcessIcon(toString()); + myBusyIcon = new AsyncProcessIcon(toString()).setUseMask(true); myBusyIcon.setPaintPassiveIcon(false); add(myBusyIcon); } diff --git a/platform/platform-api/src/com/intellij/util/ui/AnimatedIcon.java b/platform/platform-api/src/com/intellij/util/ui/AnimatedIcon.java index ea3db09bb08d..2d4d149ddfe8 100644 --- a/platform/platform-api/src/com/intellij/util/ui/AnimatedIcon.java +++ b/platform/platform-api/src/com/intellij/util/ui/AnimatedIcon.java @@ -40,6 +40,7 @@ public abstract class AnimatedIcon extends JComponent implements Disposable { private final String myName; private boolean myLastPaintWasRunning; + private boolean myPaintingBgNow; protected AnimatedIcon(final String name) { myName = name; @@ -149,9 +150,23 @@ public abstract class AnimatedIcon extends JComponent implements Disposable { } protected void paintComponent(Graphics g) { - if (isOpaque() && (myAnimator.isRunning() || myPaintPassive || (myLastPaintWasRunning && !myAnimator.isRunning()))) { - g.setColor(UIUtil.getBgFillColor(this)); - g.fillRect(0, 0, getWidth(), getHeight()); + if (myPaintingBgNow) return; + + if ((myAnimator.isRunning() || myPaintPassive || (myLastPaintWasRunning && !myAnimator.isRunning()))) { + try { + myPaintingBgNow = true; + Container p = getParent(); + if (p instanceof JComponent) { + JComponent parentComponent = (JComponent)p; + + Rectangle b = getBounds(); + RepaintManager.currentManager(p).addDirtyRegion(parentComponent, b.x, b.y, b.width, b.height); + parentComponent.paintImmediately(b); + } + } + finally { + myPaintingBgNow = false; + } } Icon icon; @@ -166,11 +181,15 @@ public abstract class AnimatedIcon extends JComponent implements Disposable { int x = (size.width - icon.getIconWidth()) / 2; int y = (size.height - icon.getIconHeight()) / 2; - icon.paintIcon(this, g, x, y); + paintIcon(g, icon, x, y); myLastPaintWasRunning = myAnimator.isRunning(); } + protected void paintIcon(Graphics g, Icon icon, int x, int y) { + icon.paintIcon(this, g, x, y); + } + protected Icon getPassiveIcon() { return myPaintPassive ? myPassiveIcon : myEmptyPassiveIcon; } diff --git a/platform/platform-api/src/com/intellij/util/ui/AsyncProcessIcon.java b/platform/platform-api/src/com/intellij/util/ui/AsyncProcessIcon.java index 89328ddfb428..3146b7d36e2f 100644 --- a/platform/platform-api/src/com/intellij/util/ui/AsyncProcessIcon.java +++ b/platform/platform-api/src/com/intellij/util/ui/AsyncProcessIcon.java @@ -17,6 +17,7 @@ package com.intellij.util.ui; import com.intellij.openapi.util.IconLoader; +import com.intellij.ui.LayeredIcon; import org.jetbrains.annotations.NonNls; import javax.swing.*; @@ -27,8 +28,10 @@ import java.awt.event.ActionListener; public class AsyncProcessIcon extends AnimatedIcon { public static final int COUNT = 12; public static final int CYCLE_LENGTH = 800; - private static final Icon[] SMALL_ICONS = findIcons("/process/step_"); + + private static final Icon[] SMALL_ICONS = findIcons("/process/step_", "/process/step_mask.png"); private static final Icon SMALL_PASSIVE_ICON = IconLoader.getIcon("/process/step_passive.png"); + private boolean myUseMask; public AsyncProcessIcon(@NonNls String name) { this(name, SMALL_ICONS, SMALL_PASSIVE_ICON); @@ -38,18 +41,49 @@ public class AsyncProcessIcon extends AnimatedIcon { super(name); init(icons, passive, CYCLE_LENGTH, 0, -1); + + setUseMask(false); } - private static Icon[] findIcons(String prefix) { + public AsyncProcessIcon setUseMask(boolean useMask) { + myUseMask = useMask; + return this; + } + + @Override + protected void paintIcon(Graphics g, Icon icon, int x, int y) { + if (icon instanceof ProcessIcon) { + ((ProcessIcon)icon).setLayerEnabled(0, myUseMask); + } + super.paintIcon(g, icon, x, y); + + if (icon instanceof ProcessIcon) { + ((ProcessIcon)icon).setLayerEnabled(0, false); + } + } + + private static Icon[] findIcons(String prefix, String maskIconPath) { + Icon maskIcon = maskIconPath != null ? IconLoader.getIcon(maskIconPath) : null; Icon[] icons = new Icon[COUNT]; for (int i = 0; i <= COUNT - 1; i++) { - icons[i] = IconLoader.getIcon(prefix + (i + 1) + ".png"); + Icon eachIcon = IconLoader.getIcon(prefix + (i + 1) + ".png"); + if (maskIcon != null) { + icons[i] = new ProcessIcon(maskIcon, eachIcon); + } else { + icons[i] = eachIcon; + } } return icons; } + private static class ProcessIcon extends LayeredIcon { + private ProcessIcon(Icon mask, Icon stepIcon) { + super(mask, stepIcon); + } + } + public static class Big extends AsyncProcessIcon { - private static final Icon[] BIG_ICONS = findIcons("/process/big/step_"); + private static final Icon[] BIG_ICONS = findIcons("/process/big/step_", null); private static final Icon BIG_PASSIVE_ICON = IconLoader.getIcon("/process/big/step_passive.png"); public Big(@NonNls final String name) { @@ -66,7 +100,7 @@ public class AsyncProcessIcon extends AnimatedIcon { JPanel content = new JPanel(new FlowLayout()); - AsyncProcessIcon progress = new Big("Process"); + AsyncProcessIcon progress = new AsyncProcessIcon("Process"); content.add(progress); JButton button = new JButton("press me"); diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/InfoAndProgressPanel.java b/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/InfoAndProgressPanel.java index 6a228037cee3..91c4007d4fd4 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/InfoAndProgressPanel.java +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/InfoAndProgressPanel.java @@ -82,7 +82,6 @@ public class InfoAndProgressPanel extends JPanel implements StatusBarPatch { myCompoundBorder = BorderFactory.createCompoundBorder(new StatusBarImpl.SeparatorBorder.Left(), new EmptyBorder(0, 2, 0, 2)); myProgressIcon = new AsyncProcessIcon("Background process"); - myProgressIcon.setOpaque(true); myProgressIcon.addMouseListener(new MouseAdapter() { @Override @@ -256,7 +255,12 @@ public class InfoAndProgressPanel extends JPanel implements StatusBarPatch { setLayout(new InlineLayout()); add(myInfoPanel); - final JPanel inlinePanel = new JPanel(new BorderLayout()); + final JPanel inlinePanel = new JPanel(new BorderLayout()) { + @Override + protected void paintComponent(Graphics g) { + super.paintComponent(g); + } + }; inline.getComponent().setBorder(new EmptyBorder(0, 0, 0, 2)); inlinePanel.add(inline.getComponent(), BorderLayout.CENTER); From e8347ee38ed69fed9d588b0d486391f83a69652d Mon Sep 17 00:00:00 2001 From: Anton Makeev Date: Fri, 30 Apr 2010 17:40:14 +0400 Subject: [PATCH 014/173] cidr-debugger: driver variables --- .../src/com/intellij/testFramework/UsefulTestCase.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/platform/testFramework/src/com/intellij/testFramework/UsefulTestCase.java b/platform/testFramework/src/com/intellij/testFramework/UsefulTestCase.java index 648c9d945c05..6cd2908b3dce 100644 --- a/platform/testFramework/src/com/intellij/testFramework/UsefulTestCase.java +++ b/platform/testFramework/src/com/intellij/testFramework/UsefulTestCase.java @@ -381,11 +381,11 @@ public abstract class UsefulTestCase extends TestCase { } public static void assertSize(int expectedSize, final Object[] array) { - assertEquals(expectedSize, array.length); + assertEquals(toString(Arrays.asList(array)), expectedSize, array.length); } public static void assertSize(int expectedSize, final Collection c) { - assertEquals(expectedSize, c.size()); + assertEquals(toString(c), expectedSize, c.size()); } protected T disposeOnTearDown(final T disposable) { From 4ffd1dc599ed407ac2056fce0a47a2646b33769f Mon Sep 17 00:00:00 2001 From: Konstantin Bulenkov Date: Tue, 4 May 2010 13:10:48 +0400 Subject: [PATCH 015/173] - remove dependency codeInsight-test -> gwt - maven-gwt goes to gwt - fix community installer --- plugins/maven/maven.iml | 4 ---- .../main/resources/META-INF/gwt-support.xml | 20 +++++++++---------- .../main/resources/META-INF/jee-support.xml | 6 +++--- .../src/main/resources/META-INF/plugin.xml | 4 ++-- 4 files changed, 15 insertions(+), 19 deletions(-) diff --git a/plugins/maven/maven.iml b/plugins/maven/maven.iml index 096f1954a099..7439d442e72e 100644 --- a/plugins/maven/maven.iml +++ b/plugins/maven/maven.iml @@ -126,10 +126,6 @@ - - - - diff --git a/plugins/maven/src/main/resources/META-INF/gwt-support.xml b/plugins/maven/src/main/resources/META-INF/gwt-support.xml index 5ce477b335f6..d1459bbb488b 100644 --- a/plugins/maven/src/main/resources/META-INF/gwt-support.xml +++ b/plugins/maven/src/main/resources/META-INF/gwt-support.xml @@ -1,11 +1,11 @@ - - - - - - + + + + + + - - - - + + + + diff --git a/plugins/maven/src/main/resources/META-INF/jee-support.xml b/plugins/maven/src/main/resources/META-INF/jee-support.xml index 8eda561b4bc5..019a80294532 100644 --- a/plugins/maven/src/main/resources/META-INF/jee-support.xml +++ b/plugins/maven/src/main/resources/META-INF/jee-support.xml @@ -1,8 +1,8 @@ - - - + + + diff --git a/plugins/maven/src/main/resources/META-INF/plugin.xml b/plugins/maven/src/main/resources/META-INF/plugin.xml index 5a4943bf949c..2c7fb7d609c6 100644 --- a/plugins/maven/src/main/resources/META-INF/plugin.xml +++ b/plugins/maven/src/main/resources/META-INF/plugin.xml @@ -13,8 +13,8 @@ com.intellij.properties org.intellij.groovy com.intellij.uml - com.intellij.javaee - com.intellij.gwt + + From f8eb70d1143236f8bc439d21d89ff8bcafb453d6 Mon Sep 17 00:00:00 2001 From: anna Date: Fri, 30 Apr 2010 17:27:13 +0400 Subject: [PATCH 016/173] hide top-level inspections node as Ctrl-A anyway can do the job (IDEA-24011) --- .../profile/codeInspection/ui/SingleInspectionProfilePanel.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/lang-impl/src/com/intellij/profile/codeInspection/ui/SingleInspectionProfilePanel.java b/platform/lang-impl/src/com/intellij/profile/codeInspection/ui/SingleInspectionProfilePanel.java index de48efbb8eed..ad3b8aa5eb0a 100644 --- a/platform/lang-impl/src/com/intellij/profile/codeInspection/ui/SingleInspectionProfilePanel.java +++ b/platform/lang-impl/src/com/intellij/profile/codeInspection/ui/SingleInspectionProfilePanel.java @@ -456,7 +456,7 @@ public class SingleInspectionProfilePanel extends JPanel { myTree.setCellRenderer(renderer); - myTree.setRootVisible(true); + myTree.setRootVisible(false); myTree.setShowsRootHandles(true); UIUtil.setLineStyleAngled(myTree); TreeToolTipHandler.install(myTree); From ead8b3002ac65c30f1617b0131533ee0d944b8b9 Mon Sep 17 00:00:00 2001 From: anna Date: Fri, 30 Apr 2010 18:37:57 +0400 Subject: [PATCH 017/173] place param tag in class javadoc to the top ( IDEA-25342 ) --- .../codeStyle/javadoc/JDClassComment.java | 3 +- .../codeStyle/javadoc/JDMethodComment.java | 107 +------------ .../javadoc/JDParamListOwnerComment.java | 140 ++++++++++++++++++ .../source/codeStyle/javadoc/JDParser.java | 4 +- .../psi/formatter/java/JavaFormatterTest.java | 15 ++ 5 files changed, 161 insertions(+), 108 deletions(-) create mode 100644 java/java-impl/src/com/intellij/psi/impl/source/codeStyle/javadoc/JDParamListOwnerComment.java diff --git a/java/java-impl/src/com/intellij/psi/impl/source/codeStyle/javadoc/JDClassComment.java b/java/java-impl/src/com/intellij/psi/impl/source/codeStyle/javadoc/JDClassComment.java index 4cb8c1c6963d..f5828c874c98 100644 --- a/java/java-impl/src/com/intellij/psi/impl/source/codeStyle/javadoc/JDClassComment.java +++ b/java/java-impl/src/com/intellij/psi/impl/source/codeStyle/javadoc/JDClassComment.java @@ -24,7 +24,7 @@ import java.util.ArrayList; * * @author Dmitry Skavish */ -public class JDClassComment extends JDComment { +public class JDClassComment extends JDParamListOwnerComment { public JDClassComment(CommentFormatter formatter) { super(formatter); } @@ -33,6 +33,7 @@ public class JDClassComment extends JDComment { private String version; protected void generateSpecial(String prefix, @NonNls StringBuffer sb) { + super.generateSpecial(prefix, sb); if (!isNull(authorsList)) { for (Object aAuthorsList : authorsList) { String s = (String)aAuthorsList; diff --git a/java/java-impl/src/com/intellij/psi/impl/source/codeStyle/javadoc/JDMethodComment.java b/java/java-impl/src/com/intellij/psi/impl/source/codeStyle/javadoc/JDMethodComment.java index 0db0eda70ac4..d9ae93df6461 100644 --- a/java/java-impl/src/com/intellij/psi/impl/source/codeStyle/javadoc/JDMethodComment.java +++ b/java/java-impl/src/com/intellij/psi/impl/source/codeStyle/javadoc/JDMethodComment.java @@ -24,90 +24,20 @@ import java.util.ArrayList; * * @author Dmitry Skavish */ -public class JDMethodComment extends JDComment { +public class JDMethodComment extends JDParamListOwnerComment { public JDMethodComment(CommentFormatter formatter) { super(formatter); } private String returnTag; - private ArrayList parmsList; private ArrayList throwsList; - private static final @NonNls String PARAM_TAG = "@param "; private static final @NonNls String THROWS_TAG = "@throws "; private static final @NonNls String EXCEPTION_TAG = "@exception "; - /** - * Generates parameters or exceptions - * - */ - private void generateList(String prefix, StringBuffer sb, ArrayList list, String tag, - boolean align_comments, - int min_name_length, - int max_name_length, - boolean generate_empty_tags - ) { - int max = 0; - if (align_comments) { - for (Object aList : list) { - NameDesc nd = (NameDesc)aList; - int l = nd.name.length(); - if (isNull(nd.desc) && !generate_empty_tags) continue; - if (l > max && l <= max_name_length) max = l; - } - } - - max = Math.max(max, min_name_length); - - // create filler - StringBuffer fill = new StringBuffer(prefix.length() + tag.length() + max + 1); - fill.append(prefix); - int k = max + 1 + tag.length(); - for (int i = 0; i < k; i++) fill.append(' '); - - for (Object aList1 : list) { - NameDesc nd = (NameDesc)aList1; - if (isNull(nd.desc) && !generate_empty_tags) continue; - if (align_comments) { - sb.append(prefix); - sb.append(tag); - sb.append(nd.name); - - if (nd.name.length() > max_name_length) { - sb.append('\n'); - sb.append(myFormatter.getParser().splitIntoCLines(nd.desc, fill, true)); - } - else { - int len = max - nd.name.length() + 1; - for (int j = 0; j < len; j++) { - sb.append(' '); - } - sb.append(myFormatter.getParser().splitIntoCLines(nd.desc, fill, false)); - } - } - else { - sb.append(myFormatter.getParser().splitIntoCLines(tag + nd.name + " " + nd.desc, prefix, true)); - } - } - } - protected void generateSpecial(String prefix, @NonNls StringBuffer sb) { - if (parmsList != null) { - int before = sb.length(); - generateList(prefix, sb, parmsList, PARAM_TAG, - myFormatter.getSettings().JD_ALIGN_PARAM_COMMENTS, - myFormatter.getSettings().JD_MIN_PARM_NAME_LENGTH, - myFormatter.getSettings().JD_MAX_PARM_NAME_LENGTH, - myFormatter.getSettings().JD_KEEP_EMPTY_PARAMETER - ); - - int size = sb.length() - before; - if (size > 0 && myFormatter.getSettings().JD_ADD_BLANK_AFTER_PARM_COMMENTS) { - sb.append(prefix); - sb.append('\n'); - } - } + super.generateSpecial(prefix, sb); if (returnTag != null) { if (returnTag.trim().length() != 0 || myFormatter.getSettings().JD_KEEP_EMPTY_RETURN) { @@ -140,40 +70,11 @@ public class JDMethodComment extends JDComment { this.returnTag = returnTag; } - public NameDesc getParameter(String name) { - return getNameDesc(name, parmsList); - } - - public void removeParameter(NameDesc nd) { - if (parmsList == null) return; - parmsList.remove(nd); - } - public void removeThrow(NameDesc nd) { if (throwsList == null) return; throwsList.remove(nd); } - private static NameDesc getNameDesc(String name, ArrayList list) { - if (list == null) return null; - for (Object aList : list) { - NameDesc parameter = (NameDesc)aList; - if (parameter.name.equals(name)) return parameter; - } - return null; - } - - public ArrayList getParmsList() { - return parmsList; - } - - public void addParameter(String name, String description) { - if (parmsList == null) { - parmsList = new ArrayList(); - } - parmsList.add(new NameDesc(name, description)); - } - public ArrayList getThrowsList() { return throwsList; } @@ -189,10 +90,6 @@ public class JDMethodComment extends JDComment { return getNameDesc(name, throwsList); } - public void setParmsList(ArrayList parmsList) { - this.parmsList = parmsList; - } - public void setThrowsList(ArrayList throwsList) { this.throwsList = throwsList; } diff --git a/java/java-impl/src/com/intellij/psi/impl/source/codeStyle/javadoc/JDParamListOwnerComment.java b/java/java-impl/src/com/intellij/psi/impl/source/codeStyle/javadoc/JDParamListOwnerComment.java new file mode 100644 index 000000000000..04dfefe4d7d6 --- /dev/null +++ b/java/java-impl/src/com/intellij/psi/impl/source/codeStyle/javadoc/JDParamListOwnerComment.java @@ -0,0 +1,140 @@ +/* + * Copyright 2000-2010 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* + * User: anna + * Date: 30-Apr-2010 + */ +package com.intellij.psi.impl.source.codeStyle.javadoc; + +import org.jetbrains.annotations.NonNls; + +import java.util.ArrayList; + +public class JDParamListOwnerComment extends JDComment{ + protected ArrayList parmsList; + private static final @NonNls String PARAM_TAG = "@param "; + + public JDParamListOwnerComment(CommentFormatter formatter) { + super(formatter); + } + + @Override + protected void generateSpecial(String prefix, StringBuffer sb) { + if (parmsList != null) { + int before = sb.length(); + generateList(prefix, sb, parmsList, PARAM_TAG, + myFormatter.getSettings().JD_ALIGN_PARAM_COMMENTS, + myFormatter.getSettings().JD_MIN_PARM_NAME_LENGTH, + myFormatter.getSettings().JD_MAX_PARM_NAME_LENGTH, + myFormatter.getSettings().JD_KEEP_EMPTY_PARAMETER + ); + + int size = sb.length() - before; + if (size > 0 && myFormatter.getSettings().JD_ADD_BLANK_AFTER_PARM_COMMENTS) { + sb.append(prefix); + sb.append('\n'); + } + } + } + + public NameDesc getParameter(String name) { + return getNameDesc(name, parmsList); + } + + public void removeParameter(NameDesc nd) { + if (parmsList == null) return; + parmsList.remove(nd); + } + + public ArrayList getParmsList() { + return parmsList; + } + + public void addParameter(String name, String description) { + if (parmsList == null) { + parmsList = new ArrayList(); + } + parmsList.add(new NameDesc(name, description)); + } + + public void setParmsList(ArrayList parmsList) { + this.parmsList = parmsList; + } + + static NameDesc getNameDesc(String name, ArrayList list) { + if (list == null) return null; + for (Object aList : list) { + NameDesc parameter = (NameDesc)aList; + if (parameter.name.equals(name)) return parameter; + } + return null; + } + + /** + * Generates parameters or exceptions + * + */ + protected void generateList(String prefix, StringBuffer sb, ArrayList list, String tag, + boolean align_comments, + int min_name_length, + int max_name_length, + boolean generate_empty_tags + ) { + int max = 0; + if (align_comments) { + for (Object aList : list) { + NameDesc nd = (NameDesc)aList; + int l = nd.name.length(); + if (isNull(nd.desc) && !generate_empty_tags) continue; + if (l > max && l <= max_name_length) max = l; + } + } + + max = Math.max(max, min_name_length); + + // create filler + StringBuffer fill = new StringBuffer(prefix.length() + tag.length() + max + 1); + fill.append(prefix); + int k = max + 1 + tag.length(); + for (int i = 0; i < k; i++) fill.append(' '); + + for (Object aList1 : list) { + NameDesc nd = (NameDesc)aList1; + if (isNull(nd.desc) && !generate_empty_tags) continue; + if (align_comments) { + sb.append(prefix); + sb.append(tag); + sb.append(nd.name); + + if (nd.name.length() > max_name_length) { + sb.append('\n'); + sb.append(myFormatter.getParser().splitIntoCLines(nd.desc, fill, true)); + } + else { + int len = max - nd.name.length() + 1; + for (int j = 0; j < len; j++) { + sb.append(' '); + } + sb.append(myFormatter.getParser().splitIntoCLines(nd.desc, fill, false)); + } + } + else { + sb.append(myFormatter.getParser().splitIntoCLines(tag + nd.name + " " + nd.desc, prefix, true)); + } + } + } +} \ No newline at end of file diff --git a/java/java-impl/src/com/intellij/psi/impl/source/codeStyle/javadoc/JDParser.java b/java/java-impl/src/com/intellij/psi/impl/source/codeStyle/javadoc/JDParser.java index 0853561f9d29..8136bed7111e 100644 --- a/java/java-impl/src/com/intellij/psi/impl/source/codeStyle/javadoc/JDParser.java +++ b/java/java-impl/src/com/intellij/psi/impl/source/codeStyle/javadoc/JDParser.java @@ -399,9 +399,9 @@ public class JDParser { }, new TagParser() { boolean parse(String tag, String line, JDComment c) { - boolean isMyTag = c instanceof JDMethodComment && PARAM_TAG.equals(tag); + boolean isMyTag = c instanceof JDParamListOwnerComment && PARAM_TAG.equals(tag); if (isMyTag) { - JDMethodComment mc = (JDMethodComment)c; + JDParamListOwnerComment mc = (JDParamListOwnerComment)c; int idx; for (idx = 0; idx < line.length(); idx++) { char ch = line.charAt(idx); diff --git a/java/java-tests/testSrc/com/intellij/psi/formatter/java/JavaFormatterTest.java b/java/java-tests/testSrc/com/intellij/psi/formatter/java/JavaFormatterTest.java index e966bbef3ac5..207411699752 100644 --- a/java/java-tests/testSrc/com/intellij/psi/formatter/java/JavaFormatterTest.java +++ b/java/java-tests/testSrc/com/intellij/psi/formatter/java/JavaFormatterTest.java @@ -310,6 +310,21 @@ public class JavaFormatterTest extends AbstractJavaFormatterTest { "class A {\n" + " void b() {\n" + " for (c) {\n" + " d();\n" + " }\n" + " }\n" + "}"); } + public void testClassComment() throws Exception { + doTextTest("/**\n" + + "* @author smbd\n" + + "* @param some param\n" + + "* @since 1.9\n" + + "*/\n" + + "class Test{}", + "/**\n" + + " * @param some param\n" + + " * @author smbd\n" + + " * @since 1.9\n" + + " */\n" + + "class Test {\n}"); + } + public void testStringBinaryOperation() throws Exception { final CodeStyleSettings settings = getSettings(); From 8b9c2074f06b9235f8d3be1d18da3399a2e3a513 Mon Sep 17 00:00:00 2001 From: anna Date: Tue, 4 May 2010 13:16:52 +0400 Subject: [PATCH 018/173] javadoc reference errors: do not highlight too much - leave valid parts of the reference untouched ( IDEA-36904 ) --- .../javaDoc/JavaDocReferenceInspection.java | 9 +++++---- .../codeInsight/daemonCodeAnalyzer/javaDoc/Link0.java | 2 +- .../javaDoc/LinkFromInnerClassToSelfMethod.java | 2 +- .../codeInsight/daemonCodeAnalyzer/javaDoc/See0.java | 2 +- .../codeInsight/daemonCodeAnalyzer/javaDoc/See3.java | 2 +- .../daemonCodeAnalyzer/javaDoc/SeeConstants.java | 2 +- .../daemonCodeAnalyzer/javaDoc/ValueBadReference.java | 2 +- .../codeInsight/daemonCodeAnalyzer/javaDoc/Vararg.java | 2 +- 8 files changed, 12 insertions(+), 11 deletions(-) diff --git a/java/java-impl/src/com/intellij/codeInspection/javaDoc/JavaDocReferenceInspection.java b/java/java-impl/src/com/intellij/codeInspection/javaDoc/JavaDocReferenceInspection.java index 9bf82b401d38..0742567b3e23 100644 --- a/java/java-impl/src/com/intellij/codeInspection/javaDoc/JavaDocReferenceInspection.java +++ b/java/java-impl/src/com/intellij/codeInspection/javaDoc/JavaDocReferenceInspection.java @@ -75,7 +75,8 @@ public class JavaDocReferenceInspection extends BaseLocalInspectionTool { docComment.accept(getVisitor(references, docCommentOwner, problems, manager, isOnTheFly)); for (PsiJavaCodeReferenceElement reference : references) { final List classesToImport = new ImportClassFix(reference).getClassesToImport(); - problems.add(manager.createProblemDescriptor(reference, cannotResolveSymbolMessage("" + reference.getText() + ""), + final PsiElement referenceNameElement = reference.getReferenceNameElement(); + problems.add(manager.createProblemDescriptor(referenceNameElement != null ? referenceNameElement : reference, cannotResolveSymbolMessage("" + reference.getText() + ""), !isOnTheFly || classesToImport.isEmpty() ? null : new AddImportFix(classesToImport), ProblemHighlightType.LIKE_UNKNOWN_SYMBOL, isOnTheFly)); } @@ -180,9 +181,9 @@ public class JavaDocReferenceInspection extends BaseLocalInspectionTool { } fixes.add(new RemoveTagFix(tagName, paramName, tag)); - problems.add(inspectionManager.createProblemDescriptor(valueElement, cannotResolveSymbolMessage(params), onTheFly, - fixes.toArray(new LocalQuickFix[fixes.size()]), - ProblemHighlightType.LIKE_UNKNOWN_SYMBOL)); + problems.add(inspectionManager.createProblemDescriptor(valueElement, reference.getRangeInElement(), cannotResolveSymbolMessage(params), + ProblemHighlightType.LIKE_UNKNOWN_SYMBOL, onTheFly, + fixes.toArray(new LocalQuickFix[fixes.size()]))); } } } diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/javaDoc/Link0.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/javaDoc/Link0.java index b317f020e162..733cec2da1a9 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/javaDoc/Link0.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/javaDoc/Link0.java @@ -1,6 +1,6 @@ class Test { /** - * @param ppp see {@link #Test} + * @param ppp see {@link #Test} */ public void i(int ppp) {} diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/javaDoc/LinkFromInnerClassToSelfMethod.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/javaDoc/LinkFromInnerClassToSelfMethod.java index 728c62bd2142..c8a24ca4ee9d 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/javaDoc/LinkFromInnerClassToSelfMethod.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/javaDoc/LinkFromInnerClassToSelfMethod.java @@ -2,7 +2,7 @@ class Test { public void i(int ppp) {} /** - * {@link #foo(int)} + * {@link #foo(int)} * {@link #foo()} * {@link #i(int)} */ diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/javaDoc/See0.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/javaDoc/See0.java index 8fba319447b9..3b16ac9fd196 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/javaDoc/See0.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/javaDoc/See0.java @@ -1,6 +1,6 @@ class Test { /** - * @see A#someField + * @see A#someField */ public void i() {} diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/javaDoc/See3.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/javaDoc/See3.java index 84a76108a039..f5e465172ba3 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/javaDoc/See3.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/javaDoc/See3.java @@ -1,6 +1,6 @@ class Test { /** - * @see #perform(int) + * @see #perform(int) */ public void i() {} diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/javaDoc/SeeConstants.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/javaDoc/SeeConstants.java index 04658752ea22..1437f1c27e9e 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/javaDoc/SeeConstants.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/javaDoc/SeeConstants.java @@ -3,7 +3,7 @@ public class SeeConstants { public static final String UUU=""; /** - * @see SeeConstants.III + * @see SeeConstants.III * @see SeeConstants#UUU * @param args blah-blah */ diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/javaDoc/ValueBadReference.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/javaDoc/ValueBadReference.java index 955ac0c9f975..1a5b18185041 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/javaDoc/ValueBadReference.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/javaDoc/ValueBadReference.java @@ -1,6 +1,6 @@ class Test { /** - * Value is {@value #badReference} + * Value is {@value #badReference} * @param ppp . */ public void i(int ppp) {} diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/javaDoc/Vararg.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/javaDoc/Vararg.java index cfe0f303f84e..604c85627cc2 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/javaDoc/Vararg.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/javaDoc/Vararg.java @@ -1,7 +1,7 @@ public class Test { /** * @see Test#test(String, int...) - * @see Test#test(String, long...) + * @see Test#test(String, long...) **/ void foo() {} From 194f1c510238a2baa19c22561e62e85c145d1e1d Mon Sep 17 00:00:00 2001 From: Konstantin Bulenkov Date: Tue, 4 May 2010 13:24:08 +0400 Subject: [PATCH 019/173] remove unnecessary descriptors --- .../maven/src/main/resources/META-INF/gwt-support.xml | 11 ----------- .../maven/src/main/resources/META-INF/jee-support.xml | 8 -------- plugins/maven/src/main/resources/META-INF/plugin.xml | 2 -- 3 files changed, 21 deletions(-) delete mode 100644 plugins/maven/src/main/resources/META-INF/gwt-support.xml delete mode 100644 plugins/maven/src/main/resources/META-INF/jee-support.xml diff --git a/plugins/maven/src/main/resources/META-INF/gwt-support.xml b/plugins/maven/src/main/resources/META-INF/gwt-support.xml deleted file mode 100644 index d1459bbb488b..000000000000 --- a/plugins/maven/src/main/resources/META-INF/gwt-support.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/plugins/maven/src/main/resources/META-INF/jee-support.xml b/plugins/maven/src/main/resources/META-INF/jee-support.xml deleted file mode 100644 index 019a80294532..000000000000 --- a/plugins/maven/src/main/resources/META-INF/jee-support.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/plugins/maven/src/main/resources/META-INF/plugin.xml b/plugins/maven/src/main/resources/META-INF/plugin.xml index 2c7fb7d609c6..637a0890c21f 100644 --- a/plugins/maven/src/main/resources/META-INF/plugin.xml +++ b/plugins/maven/src/main/resources/META-INF/plugin.xml @@ -13,8 +13,6 @@ com.intellij.properties org.intellij.groovy com.intellij.uml - - From c01a924f7a4c95109a81ababa524ef8e49c25727 Mon Sep 17 00:00:00 2001 From: "sergey.vasiliev" Date: Wed, 21 Apr 2010 16:05:04 +0400 Subject: [PATCH 020/173] maven:IDEA-54113 --- .../introduce/IntroducePropertyAction.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/dom/refactorings/introduce/IntroducePropertyAction.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/dom/refactorings/introduce/IntroducePropertyAction.java index 83f9819b179d..07a7444ec728 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/dom/refactorings/introduce/IntroducePropertyAction.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/dom/refactorings/introduce/IntroducePropertyAction.java @@ -26,8 +26,9 @@ import com.intellij.psi.util.PsiTreeUtil; import com.intellij.psi.xml.*; import com.intellij.refactoring.RefactoringActionHandler; import com.intellij.refactoring.actions.BaseRefactoringAction; -import com.intellij.usageView.UsageInfo; +import com.intellij.usageView.*; import com.intellij.usages.*; +import com.intellij.usages.UsageViewManager; import com.intellij.util.Processor; import com.intellij.util.containers.hash.HashSet; import org.jetbrains.annotations.NotNull; @@ -164,6 +165,8 @@ public class IntroducePropertyAction extends BaseRefactoringAction { UsageViewManager manager = UsageViewManager.getInstance(project); if (manager == null) return; + assureFindToolWindowRegistered(project); + FindManager findManager = FindManager.getInstance(project); FindModel findModel = createFindModel(findManager, selectedString, replaceWith); @@ -180,6 +183,12 @@ public class IntroducePropertyAction extends BaseRefactoringAction { } + //IDEA-54113 + private static void assureFindToolWindowRegistered(@NotNull Project project) { + com.intellij.usageView.UsageViewManager uvm = com.intellij.usageView.UsageViewManager.getInstance(project); + + } + private static FindModel createFindModel(FindManager findManager, String selectedString, String replaceWith) { FindModel findModel = (FindModel)findManager.getFindInProjectModel().clone(); From 3a5e5f800f2ed0e53c789e7991cc93f3e727a6d8 Mon Sep 17 00:00:00 2001 From: Konstantin Bulenkov Date: Tue, 4 May 2010 13:48:42 +0400 Subject: [PATCH 021/173] UI fix from kirillk --- .../com/intellij/util/ui/AnimatedIcon.java | 32 ++++++++++++------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/platform/platform-api/src/com/intellij/util/ui/AnimatedIcon.java b/platform/platform-api/src/com/intellij/util/ui/AnimatedIcon.java index 2d4d149ddfe8..b5cd7eeb8e8b 100644 --- a/platform/platform-api/src/com/intellij/util/ui/AnimatedIcon.java +++ b/platform/platform-api/src/com/intellij/util/ui/AnimatedIcon.java @@ -153,20 +153,30 @@ public abstract class AnimatedIcon extends JComponent implements Disposable { if (myPaintingBgNow) return; if ((myAnimator.isRunning() || myPaintPassive || (myLastPaintWasRunning && !myAnimator.isRunning()))) { - try { - myPaintingBgNow = true; - Container p = getParent(); - if (p instanceof JComponent) { - JComponent parentComponent = (JComponent)p; + Rectangle b = getBounds(); - Rectangle b = getBounds(); - RepaintManager.currentManager(p).addDirtyRegion(parentComponent, b.x, b.y, b.width, b.height); - parentComponent.paintImmediately(b); + if (!isOpaque()) { + try { + myPaintingBgNow = true; + Container p = getParent(); + if (p instanceof JComponent) { + JComponent parentComponent = (JComponent)p; + + RepaintManager.currentManager(p).addDirtyRegion(parentComponent, b.x, b.y, b.width, b.height); + parentComponent.paintImmediately(b); + } + } + finally { + myPaintingBgNow = false; + } + } else { + final Component opaque = UIUtil.findNearestOpaque(this); + if (opaque != null) { + g.setColor(opaque.getBackground()); + g.fillRect(b.x, b.y, b.width, b.height); } } - finally { - myPaintingBgNow = false; - } + } Icon icon; From 2a44de744985a570a15b0dec5dee50676578d5a0 Mon Sep 17 00:00:00 2001 From: Konstantin Bulenkov Date: Tue, 4 May 2010 14:08:22 +0400 Subject: [PATCH 022/173] no more dependencies on uml --- plugins/maven/src/main/resources/META-INF/plugin.xml | 3 +-- plugins/maven/src/main/resources/META-INF/uml-support.xml | 6 ------ 2 files changed, 1 insertion(+), 8 deletions(-) delete mode 100644 plugins/maven/src/main/resources/META-INF/uml-support.xml diff --git a/plugins/maven/src/main/resources/META-INF/plugin.xml b/plugins/maven/src/main/resources/META-INF/plugin.xml index 637a0890c21f..9dbc9160afb8 100644 --- a/plugins/maven/src/main/resources/META-INF/plugin.xml +++ b/plugins/maven/src/main/resources/META-INF/plugin.xml @@ -11,8 +11,7 @@ com.intellij.properties - org.intellij.groovy - com.intellij.uml + org.intellij.groovy diff --git a/plugins/maven/src/main/resources/META-INF/uml-support.xml b/plugins/maven/src/main/resources/META-INF/uml-support.xml deleted file mode 100644 index 0da394308b75..000000000000 --- a/plugins/maven/src/main/resources/META-INF/uml-support.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - From 8fa000c61ab4bdb4cb8fb256e4eb03ec07eec5f1 Mon Sep 17 00:00:00 2001 From: Denis Zhdanov Date: Tue, 4 May 2010 14:44:01 +0400 Subject: [PATCH 023/173] 'Blank lines' tests are moved to the dedicated test class --- .../java/JavaFormatterNewLineTest.java | 83 ------------------- 1 file changed, 83 deletions(-) diff --git a/java/java-tests/testSrc/com/intellij/psi/formatter/java/JavaFormatterNewLineTest.java b/java/java-tests/testSrc/com/intellij/psi/formatter/java/JavaFormatterNewLineTest.java index e5fdee10ca95..3d093a7164f6 100644 --- a/java/java-tests/testSrc/com/intellij/psi/formatter/java/JavaFormatterNewLineTest.java +++ b/java/java-tests/testSrc/com/intellij/psi/formatter/java/JavaFormatterNewLineTest.java @@ -163,87 +163,4 @@ public class JavaFormatterNewLineTest extends AbstractJavaFormatterTest { // Inspired by IDEA-17870 doClassTest("public Test(@Qualifier(\"blah\") AType blah){}", "public Test(@Qualifier(\"blah\") AType blah) {\n" + "}"); } - - public void testBlankLinesAroundClassMethods() { - // Inspired by IDEA-19408 - getSettings().BLANK_LINES_AROUND_METHOD = 3; - - doTextTest( - "class Test {\n" + - " public boolean flag1() {\n" + - " return false;\n" + - " }public boolean flag2() {\n" + - " return false;\n" + - " }public boolean flag3() {\n" + - " return false;\n" + - " }public boolean flag4() {\n" + - " return false;\n" + - " }\n" + - "}", - "class Test {\n" + - " public boolean flag1() {\n" + - " return false;\n" + - " }\n" + - "\n" + - "\n" + - "\n" + - " public boolean flag2() {\n" + - " return false;\n" + - " }\n" + - "\n" + - "\n" + - "\n" + - " public boolean flag3() {\n" + - " return false;\n" + - " }\n" + - "\n" + - "\n" + - "\n" + - " public boolean flag4() {\n" + - " return false;\n" + - " }\n" + - "}" - ); - } - - public void testBlankLinesAroundEnumMethods() { - // Inspired by IDEA-19408 - getSettings().BLANK_LINES_AROUND_METHOD = 2; - - doTextTest( - "public enum Wrapping {\n" + - " WRAPPING {public boolean flag1() {\n" + - " return false;\n" + - " }public boolean flag2() {\n" + - " return false;\n" + - " }public boolean flag3() {\n" + - " return false;\n" + - " }public boolean flag4() {\n" + - " return false;\n" + - " }}\n" + - "}", - "public enum Wrapping {\n" + - " WRAPPING {\n" + - " public boolean flag1() {\n" + - " return false;\n" + - " }\n" + - "\n" + - "\n" + - " public boolean flag2() {\n" + - " return false;\n" + - " }\n" + - "\n" + - "\n" + - " public boolean flag3() {\n" + - " return false;\n" + - " }\n" + - "\n" + - "\n" + - " public boolean flag4() {\n" + - " return false;\n" + - " }\n" + - " }\n" + - "}" - ); - } } From 4b2f3e444aec9c0d6ec12f51e49e4cf6cc4d0fe9 Mon Sep 17 00:00:00 2001 From: Denis Zhdanov Date: Tue, 4 May 2010 14:44:18 +0400 Subject: [PATCH 024/173] 'Blank lines' tests are moved to the dedicated test class --- .../java/JavaFormatterBlankLinesTest.java | 82 +++++++++++++++++++ 1 file changed, 82 insertions(+) diff --git a/java/java-tests/testSrc/com/intellij/psi/formatter/java/JavaFormatterBlankLinesTest.java b/java/java-tests/testSrc/com/intellij/psi/formatter/java/JavaFormatterBlankLinesTest.java index ab7059cb1e8a..985af1275dfb 100644 --- a/java/java-tests/testSrc/com/intellij/psi/formatter/java/JavaFormatterBlankLinesTest.java +++ b/java/java-tests/testSrc/com/intellij/psi/formatter/java/JavaFormatterBlankLinesTest.java @@ -45,4 +45,86 @@ public class JavaFormatterBlankLinesTest extends AbstractJavaFormatterTest { "}"); } + public void testBlankLinesAroundClassMethods() { + // Inspired by IDEA-19408 + getSettings().BLANK_LINES_AROUND_METHOD = 3; + + doTextTest( + "class Test {\n" + + " public boolean flag1() {\n" + + " return false;\n" + + " }public boolean flag2() {\n" + + " return false;\n" + + " }public boolean flag3() {\n" + + " return false;\n" + + " }public boolean flag4() {\n" + + " return false;\n" + + " }\n" + + "}", + "class Test {\n" + + " public boolean flag1() {\n" + + " return false;\n" + + " }\n" + + "\n" + + "\n" + + "\n" + + " public boolean flag2() {\n" + + " return false;\n" + + " }\n" + + "\n" + + "\n" + + "\n" + + " public boolean flag3() {\n" + + " return false;\n" + + " }\n" + + "\n" + + "\n" + + "\n" + + " public boolean flag4() {\n" + + " return false;\n" + + " }\n" + + "}" + ); + } + + public void testBlankLinesAroundEnumMethods() { + // Inspired by IDEA-19408 + getSettings().BLANK_LINES_AROUND_METHOD = 2; + + doTextTest( + "public enum Wrapping {\n" + + " WRAPPING {public boolean flag1() {\n" + + " return false;\n" + + " }public boolean flag2() {\n" + + " return false;\n" + + " }public boolean flag3() {\n" + + " return false;\n" + + " }public boolean flag4() {\n" + + " return false;\n" + + " }}\n" + + "}", + "public enum Wrapping {\n" + + " WRAPPING {\n" + + " public boolean flag1() {\n" + + " return false;\n" + + " }\n" + + "\n" + + "\n" + + " public boolean flag2() {\n" + + " return false;\n" + + " }\n" + + "\n" + + "\n" + + " public boolean flag3() {\n" + + " return false;\n" + + " }\n" + + "\n" + + "\n" + + " public boolean flag4() {\n" + + " return false;\n" + + " }\n" + + " }\n" + + "}" + ); + } } From 1504ca38b7c26dd046cd4a86fa2e05d38292b576 Mon Sep 17 00:00:00 2001 From: irengrig Date: Tue, 4 May 2010 14:45:29 +0400 Subject: [PATCH 025/173] IDEA-53894 (IDEA is unable to show diff for shelved new files) - for new directories --- .../patch/ApplyPatchForBaseRevisionTexts.java | 25 ++++++++++++++++++- .../shelf/DiffShelvedChangesAction.java | 2 +- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/patch/ApplyPatchForBaseRevisionTexts.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/patch/ApplyPatchForBaseRevisionTexts.java index 6045891e067b..ca3347d49231 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/patch/ApplyPatchForBaseRevisionTexts.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/patch/ApplyPatchForBaseRevisionTexts.java @@ -37,7 +37,7 @@ public class ApplyPatchForBaseRevisionTexts { @Nullable public static ApplyPatchForBaseRevisionTexts create(final Project project, final VirtualFile file, final FilePath pathBeforeRename, final TextFilePatch patch) { - + if (patch.isNewFile()) return createForAddition(patch); final String beforeVersionId = patch.getBeforeVersionId(); if (beforeVersionId == null) { return null; @@ -49,6 +49,29 @@ public class ApplyPatchForBaseRevisionTexts { return null; } + @Nullable + private static ApplyPatchForBaseRevisionTexts createForAddition(final TextFilePatch patch) { + final StringBuilder newText = new StringBuilder(); + try { + final ApplyPatchStatus status = ApplyFilePatchBase.applyModifications(patch, "", newText); + return new ApplyPatchForBaseRevisionTexts("", null, "", newText.toString(), status); + } + catch (ApplyPatchException e) { + return new ApplyPatchForBaseRevisionTexts(null, new VcsException(e), null, null, ApplyPatchStatus.FAILURE); + } + } + + private ApplyPatchForBaseRevisionTexts(CharSequence base, VcsException exception, + CharSequence local, + String patched, + ApplyPatchStatus status) { + myBase = base; + myException = exception; + myLocal = local; + myPatched = patched; + myStatus = status; + } + ApplyPatchForBaseRevisionTexts(final DefaultPatchBaseVersionProvider provider, final FilePath pathBeforeRename, final TextFilePatch patch, final VirtualFile file) { myLocal = LoadTextUtil.loadText(file); diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/shelf/DiffShelvedChangesAction.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/shelf/DiffShelvedChangesAction.java index a5ec39969922..33fb014f80fc 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/shelf/DiffShelvedChangesAction.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/shelf/DiffShelvedChangesAction.java @@ -80,7 +80,7 @@ public class DiffShelvedChangesAction extends AnAction implements DumbAware { final String beforePath = shelvedChange.getBeforePath(); try { final VirtualFile f = ApplyTextFilePatch.findPatchTarget(context, beforePath, shelvedChange.getAfterPath(), FileStatus.ADDED.equals(shelvedChange.getFileStatus())); - if ((f == null) || (! f.exists())) { + if ((! FileStatus.ADDED.equals(shelvedChange.getFileStatus())) && ((f == null) || (! f.exists()))) { if (beforePath != null) { missing.add(beforePath); } From f13b67657f8649bb04f3b4a046db02c9f81dca18 Mon Sep 17 00:00:00 2001 From: Sergey Evdokimov Date: Tue, 4 May 2010 14:56:55 +0400 Subject: [PATCH 026/173] Bug fix: Call stopEditing() on table before closing the dialog. --- .../configuration/EnvironmentVariablesComponent.java | 1 + .../src/com/intellij/execution/util/EnvVariablesTable.java | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/platform/lang-api/src/com/intellij/execution/configuration/EnvironmentVariablesComponent.java b/platform/lang-api/src/com/intellij/execution/configuration/EnvironmentVariablesComponent.java index 28f6e0fa8060..81edd11967a7 100644 --- a/platform/lang-api/src/com/intellij/execution/configuration/EnvironmentVariablesComponent.java +++ b/platform/lang-api/src/com/intellij/execution/configuration/EnvironmentVariablesComponent.java @@ -202,6 +202,7 @@ public class EnvironmentVariablesComponent extends LabeledComponent envs = new LinkedHashMap(); for (EnvironmentVariable variable : myEnvVariablesTable.getEnvironmentVariables()) { envs.put(variable.getName(), variable.getValue()); diff --git a/platform/lang-api/src/com/intellij/execution/util/EnvVariablesTable.java b/platform/lang-api/src/com/intellij/execution/util/EnvVariablesTable.java index 1d7ac1842e3d..da7ed7a7fc0c 100644 --- a/platform/lang-api/src/com/intellij/execution/util/EnvVariablesTable.java +++ b/platform/lang-api/src/com/intellij/execution/util/EnvVariablesTable.java @@ -131,6 +131,10 @@ public class EnvVariablesTable extends Observable { return myVariables; } + public void stopEditing() { + myTableVeiw.stopEditing(); + } + public void refreshValues() { myTableVeiw.getComponent().repaint(); } From 459469869e205b7b0506e30a5417a78b9a44d212 Mon Sep 17 00:00:00 2001 From: Denis Zhdanov Date: Tue, 4 May 2010 15:16:00 +0400 Subject: [PATCH 027/173] IDEA-21191 "Code Style --> Blank Lines --> Around class" does not work as expected Corrected spacing construction in case of inner class and initialization block --- .../java/JavaSpacePropertyProcessor.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/java/java-impl/src/com/intellij/psi/formatter/java/JavaSpacePropertyProcessor.java b/java/java-impl/src/com/intellij/psi/formatter/java/JavaSpacePropertyProcessor.java index 5726856ca120..0ba345de6c88 100644 --- a/java/java-impl/src/com/intellij/psi/formatter/java/JavaSpacePropertyProcessor.java +++ b/java/java-impl/src/com/intellij/psi/formatter/java/JavaSpacePropertyProcessor.java @@ -249,6 +249,9 @@ public class JavaSpacePropertyProcessor extends JavaElementVisitor { myResult = Spacing.createSpacing(0, mySettings.SPACE_BEFORE_CLASS_LBRACE ? 1 : 0, 0, true, mySettings.KEEP_BLANK_LINES_BEFORE_RBRACE, lines); } + else if (myRole1 == ChildRole.CLASS) { + setAroundClassSpacing(); + } else { final int blankLines = getLinesAroundMethod() + 1; myResult = Spacing @@ -262,6 +265,9 @@ public class JavaSpacePropertyProcessor extends JavaElementVisitor { 0, Integer.MAX_VALUE, minLineFeeds, mySettings.KEEP_LINE_BREAKS, mySettings.KEEP_BLANK_LINES_BEFORE_RBRACE ); } + else if (myRole2 == ChildRole.CLASS) { + setAroundClassSpacing(); + } else { final int blankLines = getLinesAroundMethod() + 1; myResult = Spacing @@ -359,6 +365,15 @@ public class JavaSpacePropertyProcessor extends JavaElementVisitor { } } + /** + * Initializes {@link #myResult} property with {@link Spacing} which 'min line feeds' property is defined + * from {@link CodeStyleSettings#BLANK_LINES_AROUND_CLASS} value. + */ + private void setAroundClassSpacing() { + myResult = Spacing.createSpacing(0, Integer.MAX_VALUE, mySettings.BLANK_LINES_AROUND_CLASS + 1, + mySettings.KEEP_LINE_BREAKS, mySettings.KEEP_BLANK_LINES_IN_DECLARATIONS); + } + private boolean processMethod() { if (myRole2 == ChildRole.METHOD || myChild2.getElementType() == JavaElementType.METHOD) { if (myRole1 == ChildRole.LBRACE) { From 183ad9b5ea519303fdf3aec12c12a5bf1b860c54 Mon Sep 17 00:00:00 2001 From: Denis Zhdanov Date: Tue, 4 May 2010 15:16:19 +0400 Subject: [PATCH 028/173] IDEA-21191 "Code Style --> Blank Lines --> Around class" does not work as expected Corresponding tests are added --- .../java/JavaFormatterBlankLinesTest.java | 140 ++++++++++++++++++ 1 file changed, 140 insertions(+) diff --git a/java/java-tests/testSrc/com/intellij/psi/formatter/java/JavaFormatterBlankLinesTest.java b/java/java-tests/testSrc/com/intellij/psi/formatter/java/JavaFormatterBlankLinesTest.java index 985af1275dfb..e9a2cce69703 100644 --- a/java/java-tests/testSrc/com/intellij/psi/formatter/java/JavaFormatterBlankLinesTest.java +++ b/java/java-tests/testSrc/com/intellij/psi/formatter/java/JavaFormatterBlankLinesTest.java @@ -33,6 +33,7 @@ public class JavaFormatterBlankLinesTest extends AbstractJavaFormatterTest { " fmt.setDecimalFormatSymbols(new DecimalFormatSymbols(Locale.US));\n" + " }\n" + "}", + "class T {\n" + " private final DecimalFormat fmt = new DecimalFormat();\n" + "\n" + @@ -61,6 +62,7 @@ public class JavaFormatterBlankLinesTest extends AbstractJavaFormatterTest { " return false;\n" + " }\n" + "}", + "class Test {\n" + " public boolean flag1() {\n" + " return false;\n" + @@ -103,6 +105,7 @@ public class JavaFormatterBlankLinesTest extends AbstractJavaFormatterTest { " return false;\n" + " }}\n" + "}", + "public enum Wrapping {\n" + " WRAPPING {\n" + " public boolean flag1() {\n" + @@ -127,4 +130,141 @@ public class JavaFormatterBlankLinesTest extends AbstractJavaFormatterTest { "}" ); } + + public void testInitializationBlockAndInnerClass() { + // Inspired by IDEA-21191 + getSettings().BLANK_LINES_AROUND_CLASS = 3; + + doTextTest( + "public class FormattingTest {\n" + + " {\n" + + " System.out.println(\"\");\n" + + " }\n" + + " class MyInnerClass1 {\n" + + " }\n" + + " {\n" + + " System.out.println(\"\");\n" + + " }\n" + + " static {\n" + + " System.out.println(\"\");\n" + + " }\n" + + " class MyInnerClass2 {\n" + + " }\n" + + " static {\n" + + " System.out.println(\"\");\n" + + " }\n" + + "}", + + "public class FormattingTest {\n" + + " {\n" + + " System.out.println(\"\");\n" + + " }\n" + + "\n" + + "\n" + + "\n" + + " class MyInnerClass1 {\n" + + " }\n" + + "\n" + + "\n" + + "\n" + + " {\n" + + " System.out.println(\"\");\n" + + " }\n" + + "\n" + + " static {\n" + + " System.out.println(\"\");\n" + + " }\n" + + "\n" + + "\n" + + "\n" + + " class MyInnerClass2 {\n" + + " }\n" + + "\n" + + "\n" + + "\n" + + " static {\n" + + " System.out.println(\"\");\n" + + " }\n" + + "}" + ); + } + + public void testInnerClasses() { + // Inspired by IDEA-21191 + getSettings().BLANK_LINES_AROUND_CLASS = 3; + + doTextTest( + "public class FormattingTest {\n" + + " class MyInnerClass1 {\n" + + " }\n" + + " class MyInnerClass2 {\n" + + " }\n" + + " static class MyInnerClass3 {\n" + + " }\n" + + " static class MyInnerClass4 {\n" + + " }\n" + + " class MyInnerClass5 {\n" + + " }\n" + + "}", + + "public class FormattingTest {\n" + + " class MyInnerClass1 {\n" + + " }\n" + + "\n" + + "\n" + + "\n" + + " class MyInnerClass2 {\n" + + " }\n" + + "\n" + + "\n" + + "\n" + + " static class MyInnerClass3 {\n" + + " }\n" + + "\n" + + "\n" + + "\n" + + " static class MyInnerClass4 {\n" + + " }\n" + + "\n" + + "\n" + + "\n" + + " class MyInnerClass5 {\n" + + " }\n" + + "}" + ); + } + + public void testTopLevelClasses() { + // Inspired by IDEA-21191 + getSettings().BLANK_LINES_AROUND_CLASS = 3; + + doTextTest( + "class Class1 {\n" + + "}\n" + + "public class Class2 {\n" + + "}\n" + + "class Class3 {\n" + + "}\n" + + "class Class4 {\n" + + "}", + + "class Class1 {\n" + + "}\n" + + "\n" + + "\n" + + "\n" + + "public class Class2 {\n" + + "}\n" + + "\n" + + "\n" + + "\n" + + "class Class3 {\n" + + "}\n" + + "\n" + + "\n" + + "\n" + + "class Class4 {\n" + + "}" + ); + } } From 4bb0b001fcb1ec57a48cb7315212a3424c71ca5f Mon Sep 17 00:00:00 2001 From: Kirill Kalishev Date: Tue, 4 May 2010 15:41:19 +0400 Subject: [PATCH 029/173] IDEA-27174 - removed costly diagnostic call --- .../src/com/intellij/ide/util/treeView/AbstractTreeUi.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/platform/platform-api/src/com/intellij/ide/util/treeView/AbstractTreeUi.java b/platform/platform-api/src/com/intellij/ide/util/treeView/AbstractTreeUi.java index f8af228c6ea9..908c66513434 100644 --- a/platform/platform-api/src/com/intellij/ide/util/treeView/AbstractTreeUi.java +++ b/platform/platform-api/src/com/intellij/ide/util/treeView/AbstractTreeUi.java @@ -3877,7 +3877,7 @@ public class AbstractTreeUi { return !myUnbuiltNodes.contains(node); } - static class LoadedChildren { + class LoadedChildren { private final List myElements; private final Map myDescriptors = new HashMap(); @@ -3888,7 +3888,9 @@ public class AbstractTreeUi { } void putDescriptor(Object element, NodeDescriptor descriptor, boolean isChanged) { - assert myElements.contains(element); + if (isUnitTestingMode()) { + assert myElements.contains(element); + } myDescriptors.put(element, descriptor); myChanges.put(descriptor, isChanged); } From 021f63b088026700c5328564e40fe46025939900 Mon Sep 17 00:00:00 2001 From: Oleg Shpynov Date: Tue, 4 May 2010 16:35:59 +0400 Subject: [PATCH 030/173] Make close action dumb aware --- .../src/com/intellij/execution/DefaultExecutionResult.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/platform/lang-api/src/com/intellij/execution/DefaultExecutionResult.java b/platform/lang-api/src/com/intellij/execution/DefaultExecutionResult.java index e46328541da1..e236c63676ec 100644 --- a/platform/lang-api/src/com/intellij/execution/DefaultExecutionResult.java +++ b/platform/lang-api/src/com/intellij/execution/DefaultExecutionResult.java @@ -19,6 +19,7 @@ import com.intellij.execution.process.ProcessHandler; import com.intellij.execution.ui.ExecutionConsole; import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.actionSystem.AnActionEvent; +import com.intellij.openapi.project.DumbAware; import com.intellij.openapi.util.IconLoader; import org.jetbrains.annotations.NotNull; @@ -78,7 +79,7 @@ public class DefaultExecutionResult implements ExecutionResult { return myProcessHandler; } - public static class StopAction extends AnAction { + public static class StopAction extends AnAction implements DumbAware { private final ProcessHandler myProcessHandler; public StopAction(final ProcessHandler processHandler) { From ec5b5e57771b898d2bf3e88e6f6bd6c6116e5b14 Mon Sep 17 00:00:00 2001 From: Oleg Shpynov Date: Tue, 4 May 2010 17:53:00 +0400 Subject: [PATCH 031/173] Move AbstractConsoleRunnerWithHistory related actions to platform --- platform/platform-resources/src/idea/PlatformActions.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/platform/platform-resources/src/idea/PlatformActions.xml b/platform/platform-resources/src/idea/PlatformActions.xml index a28eb65de246..dea837c121fc 100644 --- a/platform/platform-resources/src/idea/PlatformActions.xml +++ b/platform/platform-resources/src/idea/PlatformActions.xml @@ -404,6 +404,12 @@ + + + + + + From d857eebaaf25a5798ef5a1273a64db876819bca3 Mon Sep 17 00:00:00 2001 From: Kirill Kalishev Date: Tue, 4 May 2010 18:17:46 +0400 Subject: [PATCH 032/173] TreeUi: isAlwaysShowsPlus - fixed and tested --- .../ide/util/treeView/AbstractTreeUi.java | 73 +++++++++++-------- .../ide/util/treeView/TreeUiTest.java | 49 +++++++++++++ 2 files changed, 91 insertions(+), 31 deletions(-) diff --git a/platform/platform-api/src/com/intellij/ide/util/treeView/AbstractTreeUi.java b/platform/platform-api/src/com/intellij/ide/util/treeView/AbstractTreeUi.java index 908c66513434..0983e62dbe45 100644 --- a/platform/platform-api/src/com/intellij/ide/util/treeView/AbstractTreeUi.java +++ b/platform/platform-api/src/com/intellij/ide/util/treeView/AbstractTreeUi.java @@ -929,7 +929,7 @@ public class AbstractTreeUi { forceUpdate = false; } - updateNodeChildren(node, pass, null, false, canSmartExpand, forceUpdate, false); + updateNodeChildren(node, pass, null, false, canSmartExpand, forceUpdate, false); } private boolean isToBuildInBackground(NodeDescriptor descriptor) { @@ -1256,39 +1256,48 @@ public class AbstractTreeUi { final Object element = getElementFor(node); - final LoadedChildren children = loadedChildren != null ? loadedChildren : new LoadedChildren(getChildrenFor(element)); + addToUpdating(node); - boolean processed; + try { + final LoadedChildren children = loadedChildren != null ? loadedChildren : new LoadedChildren(getChildrenFor(element)); - if (children.getElements().size() == 0) { - removeLoading(node, true); - processed = true; - } - else { - if (isAutoExpand(node)) { - addNodeAction(getElementFor(node), new NodeAction() { - public void onReady(final DefaultMutableTreeNode node) { - final TreePath path = new TreePath(node.getPath()); - if (getTree().isExpanded(path) || children.getElements().size() == 0) { - removeLoading(node, false); - } - else { - maybeYeild(new ActiveRunnable() { - public ActionCallback run() { - expand(element, null); - return new ActionCallback.Done(); - } - }, pass, node); - } - } - }, false); + boolean processed; + + if (children.getElements().size() == 0) { + removeLoading(node, true); + processed = true; } - processed = false; + else { + if (isAutoExpand(node)) { + addNodeAction(getElementFor(node), new NodeAction() { + public void onReady(final DefaultMutableTreeNode node) { + final TreePath path = new TreePath(node.getPath()); + if (getTree().isExpanded(path) || children.getElements().size() == 0) { + removeLoading(node, false); + } + else { + maybeYeild(new ActiveRunnable() { + public ActionCallback run() { + expand(element, null); + return new ActionCallback.Done(); + } + }, pass, node); + } + } + }, false); + } + processed = false; + } + + removeFromUpdating(node); + + processNodeActionsIfReady(node); + + return new Pair(processed, children); + } + finally { + removeFromUpdating(node); } - - processNodeActionsIfReady(node); - - return new Pair(processed, children); } private boolean removeIfLoading(TreeNode node) { @@ -3829,7 +3838,9 @@ public class AbstractTreeUi { DefaultMutableTreeNode parent = getParentBuiltNode(subtreeRoot); if (parent == null) { - addSubtreeToUpdate(subtreeRoot); + if (!getBuilder().isAlwaysShowPlus(getDescriptorFrom(subtreeRoot))) { + addSubtreeToUpdate(subtreeRoot); + } } else if (parent != subtreeRoot) { addNodeAction(getElementFor(subtreeRoot), new NodeAction() { public void onReady(DefaultMutableTreeNode parent) { diff --git a/platform/platform-impl/testSrc/com/intellij/ide/util/treeView/TreeUiTest.java b/platform/platform-impl/testSrc/com/intellij/ide/util/treeView/TreeUiTest.java index 0d8674b00bba..7a865e50781d 100644 --- a/platform/platform-impl/testSrc/com/intellij/ide/util/treeView/TreeUiTest.java +++ b/platform/platform-impl/testSrc/com/intellij/ide/util/treeView/TreeUiTest.java @@ -971,6 +971,55 @@ public class TreeUiTest extends AbstractTreeBuilderTest { } + public void testQueryStructureIsAlwaysShowsPlus() throws Exception { + buildStructure(myRoot); + myAlwaysShowPlus.add(new NodeElement("jetbrains")); + myAlwaysShowPlus.add(new NodeElement("ide")); + + expand(getPath("/")); + assertTree("-/\n" + + " +com\n" + + " +jetbrains\n" + + " +org\n" + + " +xunit\n"); + + assertUpdates("/: update (2) getChildren\n" + + "com: update getChildren\n" + + "eclipse: update\n" + + "intellij: update\n" + + "jetbrains: update\n" + + "org: update getChildren\n" + + "runner: update\n" + + "xunit: update getChildren"); + + expand(getPath("jetbrains")); + expand(getPath("fabrique")); + + assertTree("-/\n" + + " +com\n" + + " -jetbrains\n" + + " -fabrique\n" + + " +ide\n" + + " +org\n" + + " +xunit\n"); + + assertUpdates("fabrique: update getChildren\n" + + "ide: update\n" + + "jetbrains: update getChildren"); + + + expand(getPath("ide")); + assertTree("-/\n" + + " +com\n" + + " -jetbrains\n" + + " -fabrique\n" + + " ide\n" + + " +org\n" + + " +xunit\n"); + + assertUpdates("ide: update getChildren"); + } + public void testQueryStructureIsAlwaysLeaf() throws Exception { buildStructure(myRoot); myStructure.addLeaf(new NodeElement("openapi")); From efd9e2b536768945eaa9500d8fc206eb45cedf5c Mon Sep 17 00:00:00 2001 From: "Rustam.Vishnyakov" Date: Tue, 4 May 2010 18:37:47 +0400 Subject: [PATCH 033/173] Proper fix for PHP formatter test: testReformatEA19269_1 (attribute values are never reformatted) --- .../psi/formatter/xml/AbstractXmlBlock.java | 12 -------- .../intellij/psi/formatter/xml/XmlBlock.java | 28 ++++++++++++++++++- 2 files changed, 27 insertions(+), 13 deletions(-) diff --git a/xml/impl/src/com/intellij/psi/formatter/xml/AbstractXmlBlock.java b/xml/impl/src/com/intellij/psi/formatter/xml/AbstractXmlBlock.java index d63426513886..3dc996af65d2 100644 --- a/xml/impl/src/com/intellij/psi/formatter/xml/AbstractXmlBlock.java +++ b/xml/impl/src/com/intellij/psi/formatter/xml/AbstractXmlBlock.java @@ -260,18 +260,6 @@ public abstract class AbstractXmlBlock extends AbstractBlock { } ); } - else if (child.getElementType() == XmlElementType.XML_ATTRIBUTE_VALUE) { - // - // Fix for EA-19269: - // Split XML attribute value to the value itself and delimiters (needed for the case when it contains - // template language tags inside). - // - ASTNode node = child.getFirstChildNode(); - while (node != null) { - result.add(createSimpleChild(node, null, null, null)); - node = node.getTreeNext(); - } - } else { result.add(createSimpleChild(child, indent, wrap, alignment)); } diff --git a/xml/impl/src/com/intellij/psi/formatter/xml/XmlBlock.java b/xml/impl/src/com/intellij/psi/formatter/xml/XmlBlock.java index 790ba2ff1cdc..2436f611962c 100644 --- a/xml/impl/src/com/intellij/psi/formatter/xml/XmlBlock.java +++ b/xml/impl/src/com/intellij/psi/formatter/xml/XmlBlock.java @@ -63,7 +63,16 @@ public class XmlBlock extends AbstractXmlBlock { protected List buildChildren() { - if (myNode.getElementType() == XmlElementType.XML_ATTRIBUTE_VALUE || myNode.getElementType() == XmlElementType.XML_COMMENT) { + // + // Fix for EA-19269: + // Split XML attribute value to the value itself and delimiters (needed for the case when it contains + // template language tags inside). + // + if (myNode.getElementType() == XmlElementType.XML_ATTRIBUTE_VALUE) { + return splitAttribute(myNode, myXmlFormattingPolicy); + } + + if (myNode.getElementType() == XmlElementType.XML_COMMENT) { return EMPTY; } @@ -100,6 +109,23 @@ public class XmlBlock extends AbstractXmlBlock { } } + private static List splitAttribute(ASTNode node, XmlFormattingPolicy formattingPolicy) { + final ArrayList result = new ArrayList(3); + ASTNode child = node.getFirstChildNode(); + while (child != null) { + if (child.getElementType() == XmlElementType.XML_ATTRIBUTE_VALUE_START_DELIMITER || + child.getElementType() == XmlElementType.XML_ATTRIBUTE_VALUE_END_DELIMITER) { + result.add(new XmlBlock(child, null, null, formattingPolicy, null, null)); + } + else { + result.add(new ReadOnlyBlock(child)); + } + child = child.getTreeNext(); + } + return result; + } + + protected @Nullable Wrap getDefaultWrap(ASTNode node) { return null; } From 207094033ca6d649820286bb616a29e2267c5512 Mon Sep 17 00:00:00 2001 From: peter Date: Sat, 1 May 2010 18:27:09 +0100 Subject: [PATCH 034/173] gpp module, library manager --- plugins/groovy/groovypp/groovypp.iml | 15 +++ .../groovy/groovypp/src/META-INF/plugin.xml | 15 +++ .../plugins/groovy/gpp/GppLibraryManager.java | 121 ++++++++++++++++++ plugins/groovy/jetgroovy-tests.iml | 1 + 4 files changed, 152 insertions(+) create mode 100644 plugins/groovy/groovypp/groovypp.iml create mode 100644 plugins/groovy/groovypp/src/META-INF/plugin.xml create mode 100644 plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppLibraryManager.java diff --git a/plugins/groovy/groovypp/groovypp.iml b/plugins/groovy/groovypp/groovypp.iml new file mode 100644 index 000000000000..5c8558541504 --- /dev/null +++ b/plugins/groovy/groovypp/groovypp.iml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/plugins/groovy/groovypp/src/META-INF/plugin.xml b/plugins/groovy/groovypp/src/META-INF/plugin.xml new file mode 100644 index 000000000000..c2bc9968129c --- /dev/null +++ b/plugins/groovy/groovypp/src/META-INF/plugin.xml @@ -0,0 +1,15 @@ + + org.intellij.groovy.gpp + Groovy++ Support + Adds code assistance for the Groovy++ features + 0.1 + + JetBrains Inc. + org.intellij.groovy + + + + + + + diff --git a/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppLibraryManager.java b/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppLibraryManager.java new file mode 100644 index 000000000000..03511423fe1b --- /dev/null +++ b/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppLibraryManager.java @@ -0,0 +1,121 @@ +package org.jetbrains.plugins.groovy.gpp; + +import com.intellij.openapi.roots.OrderRootType; +import com.intellij.openapi.roots.libraries.Library; +import com.intellij.openapi.roots.ui.configuration.projectRoot.LibrariesContainer; +import com.intellij.openapi.vfs.LocalFileSystem; +import com.intellij.openapi.vfs.VfsUtil; +import com.intellij.openapi.vfs.VirtualFile; +import org.jetbrains.annotations.Nls; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; +import org.jetbrains.plugins.groovy.GroovyIcons; +import org.jetbrains.plugins.groovy.config.AbstractGroovyLibraryManager; + +import javax.swing.*; +import java.io.File; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * @author peter + */ +public class GppLibraryManager extends AbstractGroovyLibraryManager { + private static final Pattern GROOVYPP_JAR = Pattern.compile("groovypp-([\\d\\.]+)\\.jar"); + private static final Pattern GROOVYPP_ALL_JAR = Pattern.compile("groovypp-all-([\\d\\.]+)\\.jar"); + + @Override + protected void fillLibrary(String path, Library.ModifiableModel model) { + File lib = new File(path + "/lib"); + if (lib.exists()) { + model.addJarDirectory(VfsUtil.getUrlForLibraryRoot(lib), false); + } + + File srcRoot = new File(path + "/src"); + addSources(model, srcRoot.exists() ? srcRoot : new File(path)); + } + + private static void addSources(Library.ModifiableModel model, File srcRoot) { + File compilerSrc = new File(srcRoot, "Compiler/src"); + if (compilerSrc.exists()) { + model.addRoot(VfsUtil.getUrlForLibraryRoot(compilerSrc), OrderRootType.SOURCES); + } + + File stdLibSrc = new File(srcRoot, "StdLib/src"); + if (stdLibSrc.exists()) { + model.addRoot(VfsUtil.getUrlForLibraryRoot(stdLibSrc), OrderRootType.SOURCES); + } + + File mainSrc = new File(srcRoot, "main"); + if (mainSrc.exists()) { + model.addRoot(VfsUtil.getUrlForLibraryRoot(mainSrc), OrderRootType.SOURCES); + } + } + + @Override + public boolean managesLibrary(@NotNull Library library, LibrariesContainer container) { + return getGppVersion(container.getLibraryFiles(library, OrderRootType.CLASSES)) != null; + } + + @Nls + @Override + public String getLibraryVersion(@NotNull Library library, LibrariesContainer librariesContainer) { + return getGppVersion(librariesContainer.getLibraryFiles(library, OrderRootType.CLASSES)); + } + + @Nullable + private static String getGppVersion(VirtualFile[] files) { + for (VirtualFile file : files) { + Matcher matcher = GROOVYPP_JAR.matcher(file.getName()); + if (matcher.matches()) { + return matcher.group(1); + } + + matcher = GROOVYPP_ALL_JAR.matcher(file.getName()); + if (matcher.matches()) { + return matcher.group(1); + } + } + return null; + } + + @NotNull + @Override + public Icon getIcon() { + return GroovyIcons.GROOVY_ICON_16x16; + } + + @NotNull + @Override + public String getSDKVersion(String path) { + final VirtualFile file = LocalFileSystem.getInstance().findFileByPath(path); + assert file != null; + final VirtualFile libDir = file.findChild("lib"); + assert libDir != null; + final String version = getGppVersion(libDir.getChildren()); + if (version != null) { + return version; + } + throw new AssertionError(path); + } + + @NotNull + @Override + public String getAddActionText() { + return "Create new Groovy++ SDK..."; + } + + + @Nls + @NotNull + @Override + public String getLibraryCategoryName() { + return "GroovyPP"; + } + + @Override + public boolean isSDKHome(@NotNull VirtualFile file) { + final VirtualFile libDir = file.findChild("lib"); + return libDir != null && getGppVersion(libDir.getChildren()) != null; + } +} diff --git a/plugins/groovy/jetgroovy-tests.iml b/plugins/groovy/jetgroovy-tests.iml index 404e0345c714..da38fa97ebb1 100644 --- a/plugins/groovy/jetgroovy-tests.iml +++ b/plugins/groovy/jetgroovy-tests.iml @@ -25,6 +25,7 @@ + From e5c95e6ed2927af298311fb0da9cafc528d71373 Mon Sep 17 00:00:00 2001 From: peter Date: Sat, 1 May 2010 19:21:37 +0100 Subject: [PATCH 035/173] pass context to GrTypeConverter (breaks API which nobody uses yet) --- .../groovy/annotator/GroovyAnnotator.java | 10 +- .../GroovyAssignabilityCheckInspection.java | 2 +- ...AssignmentOfMemberOfRawTypeInspection.java | 2 +- .../GroovyParameterInfoHandler.java | 2 +- .../groovy/lang/psi/GrTypeConverter.java | 5 +- .../statements/expressions/TypesUtil.java | 23 +- .../impl/types/GrClosureSignatureUtil.java | 210 ++---------------- .../groovy/lang/psi/util/GrClassImplUtil.java | 2 +- .../plugins/groovy/lang/psi/util/PsiUtil.java | 8 +- 9 files changed, 50 insertions(+), 214 deletions(-) diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/annotator/GroovyAnnotator.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/annotator/GroovyAnnotator.java index 5e91f438a33a..ef0fc3cee732 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/annotator/GroovyAnnotator.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/annotator/GroovyAnnotator.java @@ -1197,7 +1197,7 @@ public class GroovyAnnotator extends GroovyElementVisitor implements Annotator { if (qualifierExpression != null) { final PsiType type = qualifierExpression.getType(); if (type instanceof GrClosureType) { - if (!PsiUtil.isApplicable(argumentTypes, (GrClosureType)type, element.getManager())) { + if (!PsiUtil.isApplicable(argumentTypes, (GrClosureType)type, element)) { highlightInapplicableMethodUsage(methodResolveResult, place, holder, method, argumentTypes); return; } @@ -1213,7 +1213,7 @@ public class GroovyAnnotator extends GroovyElementVisitor implements Annotator { if (method instanceof GrMethod || method instanceof GrAccessorMethod) { final PsiType returnType = PsiUtil.getSmartReturnType(method); if (returnType instanceof GrClosureType) { - if (PsiUtil.isApplicable(argumentTypes, ((GrClosureType)returnType), element.getManager())) { + if (PsiUtil.isApplicable(argumentTypes, ((GrClosureType)returnType), element)) { return; } } @@ -1223,7 +1223,7 @@ public class GroovyAnnotator extends GroovyElementVisitor implements Annotator { if (returnType != null) { final PsiClassType closureType = JavaPsiFacade.getElementFactory(element.getProject()) .createTypeByFQClassName(GrClosableBlock.GROOVY_LANG_CLOSURE, GlobalSearchScope.allScope(element.getProject())); - if (TypesUtil.isAssignable(closureType, returnType, place.getManager(), place.getResolveScope())) { + if (TypesUtil.isAssignable(closureType, returnType, place)) { return; } } @@ -1327,7 +1327,7 @@ public class GroovyAnnotator extends GroovyElementVisitor implements Annotator { if (nameElement instanceof GrExpression) { final PsiType stringType = JavaPsiFacade.getElementFactory(arg.getProject()).createTypeFromText(CommonClassNames.JAVA_LANG_STRING, arg); - if (!TypesUtil.isAssignable(stringType, ((GrExpression)nameElement).getType(), arg.getManager(), arg.getResolveScope())) { + if (!TypesUtil.isAssignable(stringType, ((GrExpression)nameElement).getType(), arg)) { holder.createWarningAnnotation(nameElement, GroovyBundle.message("property.name.expected")); } } @@ -1363,7 +1363,7 @@ public class GroovyAnnotator extends GroovyElementVisitor implements Annotator { PsiType[] argumentTypes = PsiUtil.getArgumentTypes(place, true); if (argumentTypes == null) return; - if (PsiUtil.isApplicable(argumentTypes, (GrClosureType)type, element.getManager())) return; + if (PsiUtil.isApplicable(argumentTypes, (GrClosureType)type, element)) return; final String typesString = buildArgTypesList(argumentTypes); String message = GroovyBundle.message("cannot.apply.method.or.closure", variable.getName(), typesString); diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/codeInspection/assignment/GroovyAssignabilityCheckInspection.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/codeInspection/assignment/GroovyAssignabilityCheckInspection.java index 4acea75b2082..694805402df8 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/codeInspection/assignment/GroovyAssignabilityCheckInspection.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/codeInspection/assignment/GroovyAssignabilityCheckInspection.java @@ -78,7 +78,7 @@ public class GroovyAssignabilityCheckInspection extends BaseInspection { if (PsiUtil.isRawClassMemberAccess(expression)) return; //GRVY-2197 final PsiType rType = expression.getType(); if (rType == null || rType == PsiType.VOID) return; - if (!TypesUtil.isAssignable(expectedType, rType, element.getManager(), element.getResolveScope())) { + if (!TypesUtil.isAssignable(expectedType, rType, element)) { registerError(element, rType.getPresentableText(), expectedType.getPresentableText()); } } diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/codeInspection/assignment/GroovyUncheckedAssignmentOfMemberOfRawTypeInspection.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/codeInspection/assignment/GroovyUncheckedAssignmentOfMemberOfRawTypeInspection.java index c229fd533278..5fe09fdd00c1 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/codeInspection/assignment/GroovyUncheckedAssignmentOfMemberOfRawTypeInspection.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/codeInspection/assignment/GroovyUncheckedAssignmentOfMemberOfRawTypeInspection.java @@ -171,7 +171,7 @@ public class GroovyUncheckedAssignmentOfMemberOfRawTypeInspection extends BaseIn private void checkAssignability(PsiType lType, GrExpression rExpr, PsiElement element) { if (PsiUtil.isRawClassMemberAccess(rExpr)) { final PsiType rType = rExpr.getType(); - if (!TypesUtil.isAssignable(lType, rType, element.getManager(), element.getResolveScope())) { + if (!TypesUtil.isAssignable(lType, rType, element)) { registerError(element, lType, rType); } } diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/parameterInfo/GroovyParameterInfoHandler.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/parameterInfo/GroovyParameterInfoHandler.java index 0382bb84c211..ff835a8e98f2 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/parameterInfo/GroovyParameterInfoHandler.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/parameterInfo/GroovyParameterInfoHandler.java @@ -204,7 +204,7 @@ public class GroovyParameterInfoHandler implements ParameterInfoHandler EP_NAME = ExtensionPointName.create("org.intellij.groovy.typeConverter"); @Nullable - public abstract Boolean isConvertible(@NotNull PsiType lType, @NotNull PsiType rType, PsiManager manager, GlobalSearchScope scope); + public abstract Boolean isConvertible(@NotNull PsiType lType, @NotNull PsiType rType, @NotNull PsiElement context); } \ No newline at end of file diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/TypesUtil.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/TypesUtil.java index 39caf4a869fe..c1fd72dd273a 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/TypesUtil.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/TypesUtil.java @@ -217,9 +217,16 @@ public class TypesUtil { } public static boolean isAssignable(PsiType lType, PsiType rType, PsiManager manager, GlobalSearchScope scope) { - if (isAssignableByMethodCallConversion(lType, rType, manager, scope)){ - return true; - } + return isAssignableByMethodCallConversion(lType, rType, manager, scope) || + _isAssignable(lType, rType, manager, scope); + } + + public static boolean isAssignable(PsiType lType, PsiType rType, PsiElement context) { + return isAssignableByMethodCallConversion(lType, rType, context) || + _isAssignable(lType, rType, context.getManager(), context.getResolveScope()); + } + + private static boolean _isAssignable(PsiType lType, PsiType rType, PsiManager manager, GlobalSearchScope scope) { //all numeric types are assignable if (isNumericType(lType)) { return isNumericType(rType) || rType.equals(PsiType.NULL); @@ -234,16 +241,22 @@ public class TypesUtil { return lType.isAssignableFrom(rType); } - public static boolean isAssignableByMethodCallConversion(PsiType lType, PsiType rType, PsiManager manager, GlobalSearchScope scope) { + public static boolean isAssignableByMethodCallConversion(PsiType lType, PsiType rType, PsiElement context) { if (lType == null || rType == null) return false; for (GrTypeConverter converter : GrTypeConverter.EP_NAME.getExtensions()) { - final Boolean result = converter.isConvertible(lType, rType, manager, scope); + final Boolean result = converter.isConvertible(lType, rType, context); if (result != null) { return result; } } + return isAssignableByMethodCallConversion(lType, rType, context.getManager(), context.getResolveScope()); + } + + public static boolean isAssignableByMethodCallConversion(PsiType lType, PsiType rType, PsiManager manager, GlobalSearchScope scope) { + if (lType == null || rType == null) return false; + if (rType instanceof GrTupleType) { final GrTupleType tuple = (GrTupleType)rType; if (tuple.getComponentTypes().length == 0) { diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/types/GrClosureSignatureUtil.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/types/GrClosureSignatureUtil.java index f8788f325e39..dadf2a59bd57 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/types/GrClosureSignatureUtil.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/types/GrClosureSignatureUtil.java @@ -17,23 +17,19 @@ package org.jetbrains.plugins.groovy.lang.psi.impl.types; import com.intellij.openapi.util.Pair; import com.intellij.psi.*; -import com.intellij.psi.search.GlobalSearchScope; import com.intellij.psi.util.MethodSignature; import com.intellij.psi.util.MethodSignatureUtil; import gnu.trove.THashMap; -import org.jetbrains.annotations.Nullable; -import org.jetbrains.plugins.groovy.lang.psi.api.statements.arguments.GrArgumentList; -import org.jetbrains.plugins.groovy.lang.psi.api.statements.arguments.GrNamedArgument; import org.jetbrains.plugins.groovy.lang.psi.api.statements.blocks.GrClosableBlock; -import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrExpression; import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.members.GrMethod; import org.jetbrains.plugins.groovy.lang.psi.api.types.GrClosureParameter; import org.jetbrains.plugins.groovy.lang.psi.api.types.GrClosureSignature; import org.jetbrains.plugins.groovy.lang.psi.impl.GrTupleType; import org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.TypesUtil; -import org.jetbrains.plugins.groovy.lang.psi.util.PsiUtil; -import java.util.*; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; /** * @author Maxim.Medvedev @@ -42,10 +38,6 @@ public class GrClosureSignatureUtil { private GrClosureSignatureUtil() { } - public static GrClosureSignature createSignature(PsiMethod method) { - return new GrClosureSignatureImpl(method); - } - public static GrClosureSignature createSignature(GrClosableBlock block) { return new GrClosureSignatureImpl(block); } @@ -58,20 +50,20 @@ public class GrClosureSignatureUtil { return new GrClosureSignatureImpl(parameters, returnType); } - public static boolean isSignatureApplicable(GrClosureSignature signature, PsiType[] args, PsiManager manager, GlobalSearchScope scope) { - if (isApplicable(signature, args, manager, scope)) return true; + public static boolean isSignatureApplicable(GrClosureSignature signature, PsiType[] args, PsiElement context) { + if (isApplicable(signature, args, context)) return true; if (args.length == 1) { PsiType arg = args[0]; if (arg instanceof GrTupleType) { args = ((GrTupleType)arg).getComponentTypes(); - if (isApplicable(signature, args, manager, scope)) return true; + if (isApplicable(signature, args, context)) return true; } } return false; } - private static boolean isApplicable(GrClosureSignature signature, PsiType[] args, PsiManager manager, GlobalSearchScope scope) { + private static boolean isApplicable(GrClosureSignature signature, PsiType[] args, PsiElement context) { GrClosureParameter[] params = signature.getParameters(); if (args.length > params.length && !signature.isVarargs()) return false; int optional = getOptionalParamCount(signature, false); @@ -79,11 +71,11 @@ public class GrClosureSignatureUtil { if (signature.isVarargs()) notOptional--; if (notOptional > args.length) return false; - if (isApplicable(params, args, params.length, args.length, manager, scope)) { + if (isApplicable(params, args, params.length, args.length, context)) { return true; } if (signature.isVarargs()) { - return new ApplicabilityVerifierForVararg(manager, scope, params, args).isApplicable(); + return new ApplicabilityVerifierForVararg(context, params, args).isApplicable(); } return false; } @@ -92,8 +84,7 @@ public class GrClosureSignatureUtil { PsiType[] args, int paramCount, int argCount, - PsiManager manager, - GlobalSearchScope scope) { + PsiElement context) { int optional = getOptionalParamCount(params, false); int notOptional = paramCount - optional; int optionalArgs = argCount - notOptional; @@ -104,22 +95,20 @@ public class GrClosureSignatureUtil { } if (cur == paramCount) return false; if (params[cur].isOptional()) optionalArgs--; - if (!TypesUtil.isAssignableByMethodCallConversion(params[cur].getType(), args[i], manager, scope)) return false; + if (!TypesUtil.isAssignableByMethodCallConversion(params[cur].getType(), args[i], context)) return false; } return true; } private static class ApplicabilityVerifierForVararg { - private PsiManager manager; - GlobalSearchScope scope; + private PsiElement context; GrClosureParameter[] params; PsiType[] args; PsiType vararg; private int paramLength; - private ApplicabilityVerifierForVararg(PsiManager manager, GlobalSearchScope scope, GrClosureParameter[] params, PsiType[] args) { - this.manager = manager; - this.scope = scope; + private ApplicabilityVerifierForVararg(PsiElement context, GrClosureParameter[] params, PsiType[] args) { + this.context = context; this.params = params; this.args = args; paramLength = params.length - 1; @@ -146,14 +135,14 @@ public class GrClosureSignatureUtil { if (curParam == paramLength) break; if (params[curParam].isOptional()) { - if (TypesUtil.isAssignable(params[curParam].getType(), args[curArg], manager, scope) && + if (TypesUtil.isAssignable(params[curParam].getType(), args[curArg], context) && isApplicableInternal(curParam + 1, curArg + 1, false, notOptional)) { return true; } skipOptionals = true; } else { - if (!TypesUtil.isAssignableByMethodCallConversion(params[curParam].getType(), args[curArg], manager, scope)) return false; + if (!TypesUtil.isAssignableByMethodCallConversion(params[curParam].getType(), args[curArg], context)) return false; notOptional--; curArg++; curParam++; @@ -161,7 +150,7 @@ public class GrClosureSignatureUtil { } for (; curArg < args.length; curArg++) { - if (!TypesUtil.isAssignableByMethodCallConversion(vararg, args[curArg], manager, scope)) return false; + if (!TypesUtil.isAssignableByMethodCallConversion(vararg, args[curArg], context)) return false; } return true; } @@ -183,171 +172,6 @@ public class GrClosureSignatureUtil { return count; } - /** - * Returns array of lists which contain psiElements mapped to parameters - * - * @param signature - * @param list - * @return null if signature can not be applied to this argumentList - */ - @Nullable - public static List[] mapParametersToArguments(GrClosureSignature signature, - GrArgumentList list, - PsiManager manager, - GlobalSearchScope scope) { - - List[] map = map(signature, list, manager, scope); - if (map != null) return map; - - if (signature.isVarargs()) { - return new ApplicabilityMapperForVararg(manager, scope, list, signature).map(); - } - return null; - } - - @Nullable - private static List[] map(GrClosureSignature signature, GrArgumentList list, PsiManager manager, GlobalSearchScope scope) { - final GrExpression[] args = list.getExpressionArguments(); - final GrNamedArgument[] namedArgs = list.getNamedArguments(); - boolean hasNamedArgs = namedArgs.length > 0; - - - GrClosureParameter[] params = signature.getParameters(); - - List[] map = new List[params.length]; - - int paramLength = params.length; - if (hasNamedArgs) { - if (paramLength == 0) return null; - PsiType type = params[0].getType(); - PsiClassType mapType = PsiUtil.createMapType(manager, scope); - if (TypesUtil.isAssignable(mapType, type, manager, scope)) { - paramLength--; - map[0] = Arrays.asList(namedArgs); - } - else { - return null; - } - } - - if (args.length > paramLength && !signature.isVarargs()) return null; - int optional = getOptionalParamCount(signature, hasNamedArgs); - int notOptional = paramLength - optional; - if (signature.isVarargs()) notOptional--; - if (notOptional > args.length) return null; - - int curParam = 0; - optional = args.length - notOptional; - if (hasNamedArgs) curParam++; - for (int curArg = 0; curArg < args.length; curArg++, curParam++) { - while (optional == 0 && curParam < paramLength && params[curParam].isOptional()) { - curParam++; - } - if (curParam == paramLength) return null; - if (params[curParam].isOptional()) optional--; - if (TypesUtil.isAssignableByMethodCallConversion(params[curParam].getType(), args[curArg].getType(), manager, scope)) { - map[curParam] = Collections.singletonList(args[curArg]); - } - else { - return null; - } - } - return map; - } - - private static class ApplicabilityMapperForVararg { - private PsiManager manager; - private GlobalSearchScope scope; - private GrExpression[] args; - private PsiType[] types; - private GrNamedArgument[] namedArgs; - private int paramLength; - private GrClosureParameter[] params; - private PsiType vararg; - - public ApplicabilityMapperForVararg(PsiManager manager, GlobalSearchScope scope, GrArgumentList list, GrClosureSignature signature) { - this.manager = manager; - this.scope = scope; - args = list.getExpressionArguments(); - namedArgs = list.getNamedArguments(); - params = signature.getParameters(); - paramLength = params.length - 1; - vararg = ((PsiArrayType)params[paramLength].getType()).getComponentType(); - - types = new PsiType[args.length]; - for (int i = 0; i < args.length; i++) { - types[i] = args[i].getType(); - } - } - - @Nullable - public List[] map() { - boolean hasNamedArgs = namedArgs.length > 0; - List[] map = new List[params.length]; - if (hasNamedArgs) { - if (params.length == 0) return null; - PsiType type = params[0].getType(); - PsiClassType mapType = PsiUtil.createMapType(manager, scope); - if (TypesUtil.isAssignable(mapType, type, manager, scope)) { - map[0] = Arrays.asList(namedArgs); - } - else { - return null; - } - } - int start = hasNamedArgs ? 1 : 0; - int notOptionals = 0; - for (int i = start; i < paramLength; i++) { - if (!params[i].isOptional()) notOptionals++; - } - return mapInternal(start, 0, false, notOptionals, map); - } - - @Nullable - private List[] mapInternal(int curParam, int curArg, boolean skipOptionals, int notOptional, List[] map) { - if (notOptional > args.length - curArg) return null; - if (notOptional == args.length - curArg) skipOptionals = true; - - while (curArg < args.length) { - if (skipOptionals) { - while (curParam < paramLength && params[curParam].isOptional()) curParam++; - } - - if (curParam == paramLength) break; - - if (params[curParam].isOptional()) { - if (TypesUtil.isAssignable(params[curParam].getType(), types[curArg], manager, scope)) { - List[] copy = mapInternal(curParam + 1, curArg + 1, false, notOptional, copyMap(map)); - if (copy != null) return copy; - } - skipOptionals = true; - } - else { - if (!TypesUtil.isAssignableByMethodCallConversion(params[curParam].getType(), types[curArg], manager, scope)) return null; - map[curParam] = Collections.singletonList(args[curArg]); - notOptional--; - curArg++; - curParam++; - } - } - - map[paramLength] = new ArrayList(args.length - curArg); - - for (; curArg < args.length; curArg++) { - if (!TypesUtil.isAssignableByMethodCallConversion(vararg, types[curArg], manager, scope)) return null; - map[paramLength].add(args[curArg]); - } - return map; - } - - private static List[] copyMap(List[] map) { - List[] copy = new List[map.length]; - System.arraycopy(map, 0, copy, 0, map.length); - return copy; - } - } - - public static List generateAllSignaturesForMethod(GrMethod method, PsiSubstitutor substitutor) { GrClosureSignature signature = createSignature(method, substitutor); String name = method.getName(); diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/util/GrClassImplUtil.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/util/GrClassImplUtil.java index f6682466931d..1e5804872e06 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/util/GrClassImplUtil.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/util/GrClassImplUtil.java @@ -349,7 +349,7 @@ public class GrClassImplUtil { else { return args.length == 1 && TypesUtil - .isAssignableByMethodCallConversion(aField.getType(), args[0].getType(), place.getManager(), place.getResolveScope()); + .isAssignableByMethodCallConversion(aField.getType(), args[0].getType(), place); } } } diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/util/PsiUtil.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/util/PsiUtil.java index 7fda1a07e520..518db13953f2 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/util/PsiUtil.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/util/PsiUtil.java @@ -132,17 +132,17 @@ public class PsiUtil { final PsiType type = argumentTypes[0]; final PsiClassType mapType = JavaPsiFacade.getElementFactory(method.getProject()) .createTypeByFQClassName(CommonClassNames.JAVA_UTIL_MAP, method.getResolveScope()); - return TypesUtil.isAssignable(mapType, type, method.getManager(), method.getResolveScope()); + return TypesUtil.isAssignable(mapType, type, method); } LOG.assertTrue(signature != null); - return GrClosureSignatureUtil.isSignatureApplicable(signature, argumentTypes, method.getManager(), method.getResolveScope()); + return GrClosureSignatureUtil.isSignatureApplicable(signature, argumentTypes, method); } - public static boolean isApplicable(@Nullable PsiType[] argumentTypes, GrClosureType type, PsiManager manager) { + public static boolean isApplicable(@Nullable PsiType[] argumentTypes, GrClosureType type, PsiElement context) { if (argumentTypes == null) return true; GrClosureSignature signature = type.getSignature(); - return GrClosureSignatureUtil.isSignatureApplicable(signature, argumentTypes, manager, type.getResolveScope()); + return GrClosureSignatureUtil.isSignatureApplicable(signature, argumentTypes, context); } public static PsiClassType createMapType(PsiManager manager, GlobalSearchScope scope) { From 6dc357eb1e6ec09589667f261d4b0e4944bd088b Mon Sep 17 00:00:00 2001 From: peter Date: Sat, 1 May 2010 19:22:16 +0100 Subject: [PATCH 036/173] support casting list literals to any iterable type --- plugins/groovy/groovypp/groovypp.iml | 1 + .../groovy/groovypp/src/META-INF/plugin.xml | 4 +- .../plugins/groovy/gpp/GppTypeConverter.java | 65 +++++++++++++++++++ .../groovy/lang/GppFunctionalTest.groovy | 41 ++++++++++++ 4 files changed, 109 insertions(+), 2 deletions(-) create mode 100644 plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java create mode 100644 plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy diff --git a/plugins/groovy/groovypp/groovypp.iml b/plugins/groovy/groovypp/groovypp.iml index 5c8558541504..e5156fdc12ec 100644 --- a/plugins/groovy/groovypp/groovypp.iml +++ b/plugins/groovy/groovypp/groovypp.iml @@ -10,6 +10,7 @@ + diff --git a/plugins/groovy/groovypp/src/META-INF/plugin.xml b/plugins/groovy/groovypp/src/META-INF/plugin.xml index c2bc9968129c..0ca7dea4cfbf 100644 --- a/plugins/groovy/groovypp/src/META-INF/plugin.xml +++ b/plugins/groovy/groovypp/src/META-INF/plugin.xml @@ -3,13 +3,13 @@ Groovy++ Support Adds code assistance for the Groovy++ features 0.1 - + JetBrains Inc. org.intellij.groovy - + diff --git a/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java b/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java new file mode 100644 index 000000000000..5c1b6570e713 --- /dev/null +++ b/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java @@ -0,0 +1,65 @@ +package org.jetbrains.plugins.groovy.gpp; + +import com.intellij.psi.*; +import com.intellij.psi.util.PsiTreeUtil; +import com.intellij.psi.util.PsiUtil; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; +import org.jetbrains.plugins.groovy.lang.psi.GrTypeConverter; +import org.jetbrains.plugins.groovy.lang.psi.GroovyFile; +import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.GrTypeDefinition; +import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.members.GrMember; +import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.members.GrMethod; +import org.jetbrains.plugins.groovy.lang.psi.impl.GrTupleType; +import org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.TypesUtil; + +/** + * @author peter + */ +public class GppTypeConverter extends GrTypeConverter { + + private static boolean isTyped(@Nullable PsiModifierListOwner member) { + if (member == null) { + return false; + } + + final PsiModifierList modifierList = member.getModifierList(); + if (modifierList != null && modifierList.findAnnotation("groovy.lang.Typed") != null) { + return true; + } + + if (member instanceof GrMethod) { + return isTyped(((GrMethod)member).getContainingClass()); + } + if (member instanceof GrTypeDefinition) { + final PsiFile file = member.getContainingFile(); + if (file instanceof GroovyFile) { + return isTyped(JavaPsiFacade.getInstance(member.getProject()).findPackage(((GroovyFile)file).getPackageName())); + } + } + return false; + } + + @Override + public Boolean isConvertible(@NotNull PsiType lType, @NotNull PsiType rType, @NotNull PsiElement context) { + if (!isTyped(PsiTreeUtil.getParentOfType(context, GrMember.class))) { + return null; + } + + final PsiType expectedComponent = PsiUtil.extractIterableTypeParameter(lType, false); + if (expectedComponent == null) { + return null; + } + + if (rType instanceof GrTupleType) { + for (PsiType component : ((GrTupleType)rType).getComponentTypes()) { + if (!TypesUtil.isAssignable(expectedComponent, component, context)) { + return null; + } + } + return true; + } + + return null; + } +} diff --git a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy new file mode 100644 index 000000000000..c84106a78c45 --- /dev/null +++ b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy @@ -0,0 +1,41 @@ +package org.jetbrains.plugins.groovy.lang + +import com.intellij.testFramework.LightProjectDescriptor +import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase +import org.jetbrains.annotations.NotNull +import org.jetbrains.plugins.groovy.codeInspection.assignment.GroovyAssignabilityCheckInspection + +/** + * @author peter + */ +class GppFunctionalTest extends LightCodeInsightFixtureTestCase { + + @NotNull + @Override + protected LightProjectDescriptor getProjectDescriptor() { + return GroovyHighlightingTest.GROOVY_17_PROJECT_DESCRIPTOR; + } + + protected void setUp() { + super.setUp() + myFixture.addClass("package groovy.lang; public @interface Typed {}") + } + + public void testCastListToIterable() throws Exception { + myFixture.addClass("class X extends java.util.ArrayList {}") + testAssignability """ +X ints = [239, 4.2d] +X unassignable = ['aaa'] +""" + } + + void testAssignability(String text) { + myFixture.enableInspections new GroovyAssignabilityCheckInspection() + def file = myFixture.configureByText("a.groovy", """ +@Typed def foo() { + $text +}""") + myFixture.testHighlighting(true, false, false, file.virtualFile) + } + +} From 2bfe1a7ed4645ff694b1fd0066366a7a349b2109 Mon Sep 17 00:00:00 2001 From: peter Date: Sat, 1 May 2010 20:08:25 +0100 Subject: [PATCH 037/173] support casting list literals to any class type (invokes its constructor) --- .../plugins/groovy/gpp/GppTypeConverter.java | 50 +++++++++++++++---- .../groovy/annotator/GroovyAnnotator.java | 14 +++--- .../GroovyStaticImportMethodFix.java | 2 +- ...AssignmentOfMemberOfRawTypeInspection.java | 3 +- .../groovy/lang/psi/GrTypeConverter.java | 2 +- .../expressions/GrNewExpressionImpl.java | 37 ++------------ .../statements/expressions/TypesUtil.java | 4 +- .../impl/types/GrClosureSignatureUtil.java | 11 ++-- .../plugins/groovy/lang/psi/util/PsiUtil.java | 36 +++++++++++-- .../processors/MethodResolverProcessor.java | 2 +- .../groovy/lang/GppFunctionalTest.groovy | 20 ++++++-- 11 files changed, 111 insertions(+), 70 deletions(-) diff --git a/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java b/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java index 5c1b6570e713..82024e190b91 100644 --- a/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java +++ b/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java @@ -7,10 +7,13 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.plugins.groovy.lang.psi.GrTypeConverter; import org.jetbrains.plugins.groovy.lang.psi.GroovyFile; +import org.jetbrains.plugins.groovy.lang.psi.GroovyPsiElement; +import org.jetbrains.plugins.groovy.lang.psi.api.GroovyResolveResult; import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.GrTypeDefinition; import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.members.GrMember; import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.members.GrMethod; import org.jetbrains.plugins.groovy.lang.psi.impl.GrTupleType; +import org.jetbrains.plugins.groovy.lang.psi.impl.GroovyResolveResultImpl; import org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.TypesUtil; /** @@ -41,25 +44,52 @@ public class GppTypeConverter extends GrTypeConverter { } @Override - public Boolean isConvertible(@NotNull PsiType lType, @NotNull PsiType rType, @NotNull PsiElement context) { + public Boolean isConvertible(@NotNull PsiType lType, @NotNull PsiType rType, @NotNull GroovyPsiElement context) { if (!isTyped(PsiTreeUtil.getParentOfType(context, GrMember.class))) { return null; } - final PsiType expectedComponent = PsiUtil.extractIterableTypeParameter(lType, false); - if (expectedComponent == null) { - return null; - } if (rType instanceof GrTupleType) { - for (PsiType component : ((GrTupleType)rType).getComponentTypes()) { - if (!TypesUtil.isAssignable(expectedComponent, component, context)) { - return null; - } + final PsiType[] componentTypes = ((GrTupleType)rType).getComponentTypes(); + + final PsiType expectedComponent = PsiUtil.extractIterableTypeParameter(lType, false); + if (expectedComponent != null && allTypesAssignable(componentTypes, expectedComponent, context)) { + return true; } - return true; + + if (lType instanceof PsiClassType && hasConstructor((PsiClassType)lType, componentTypes, context)) { + return true; + } + + return null; } return null; } + + private static boolean hasConstructor(PsiClassType lType, PsiType[] argTypes, GroovyPsiElement context) { + final PsiClassType.ClassResolveResult resolveResult = lType.resolveGenerics(); + final PsiClass psiClass = resolveResult.getElement(); + final PsiSubstitutor substitutor = resolveResult.getSubstitutor(); + if (psiClass == null) { + return false; + } + + final GroovyResolveResult grResult = resolveResult instanceof GroovyResolveResult + ? (GroovyResolveResult)resolveResult + : new GroovyResolveResultImpl(psiClass, context, substitutor, true, true); + final GroovyResolveResult[] candidates = org.jetbrains.plugins.groovy.lang.psi.util.PsiUtil.getConstructorCandidates( + context, new GroovyResolveResult[]{grResult}, argTypes); + return candidates.length == 1; + } + + private static boolean allTypesAssignable(PsiType[] types, PsiType to, GroovyPsiElement context) { + for (PsiType component : types) { + if (!TypesUtil.isAssignable(to, component, context)) { + return false; + } + } + return true; + } } diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/annotator/GroovyAnnotator.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/annotator/GroovyAnnotator.java index ef0fc3cee732..75c1bb9fd239 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/annotator/GroovyAnnotator.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/annotator/GroovyAnnotator.java @@ -479,7 +479,7 @@ public class GroovyAnnotator extends GroovyElementVisitor implements Annotator { public void visitConstructorInvocation(GrConstructorInvocation invocation) { final GroovyResolveResult resolveResult = invocation.resolveConstructorGenerics(); if (resolveResult != null && resolveResult.getElement() != null) { - checkMethodApplicability(resolveResult, invocation.getThisOrSuperKeyword(), myHolder); + checkMethodApplicability(resolveResult, invocation, myHolder); } else { final GroovyResolveResult[] results = invocation.multiResolveConstructor(); @@ -1186,7 +1186,7 @@ public class GroovyAnnotator extends GroovyElementVisitor implements Annotator { } } - private static void checkMethodApplicability(GroovyResolveResult methodResolveResult, PsiElement place, AnnotationHolder holder) { + private static void checkMethodApplicability(GroovyResolveResult methodResolveResult, GroovyPsiElement place, AnnotationHolder holder) { final PsiElement element = methodResolveResult.getElement(); if (!(element instanceof PsiMethod)) return; @@ -1197,7 +1197,7 @@ public class GroovyAnnotator extends GroovyElementVisitor implements Annotator { if (qualifierExpression != null) { final PsiType type = qualifierExpression.getType(); if (type instanceof GrClosureType) { - if (!PsiUtil.isApplicable(argumentTypes, (GrClosureType)type, element)) { + if (!PsiUtil.isApplicable(argumentTypes, (GrClosureType)type, place)) { highlightInapplicableMethodUsage(methodResolveResult, place, holder, method, argumentTypes); return; } @@ -1206,14 +1206,14 @@ public class GroovyAnnotator extends GroovyElementVisitor implements Annotator { } if (argumentTypes != null && !PsiUtil.isApplicable(argumentTypes, method, methodResolveResult.getSubstitutor(), - methodResolveResult.getCurrentFileResolveContext() instanceof GrMethodCallExpression)) { + methodResolveResult.getCurrentFileResolveContext() instanceof GrMethodCallExpression, place)) { //check for implicit use of property getter which returns closure if (GroovyPropertyUtils.isSimplePropertyGetter(method)) { if (method instanceof GrMethod || method instanceof GrAccessorMethod) { final PsiType returnType = PsiUtil.getSmartReturnType(method); if (returnType instanceof GrClosureType) { - if (PsiUtil.isApplicable(argumentTypes, ((GrClosureType)returnType), element)) { + if (PsiUtil.isApplicable(argumentTypes, ((GrClosureType)returnType), place)) { return; } } @@ -1355,7 +1355,7 @@ public class GroovyAnnotator extends GroovyElementVisitor implements Annotator { } } - private static void checkClosureApplicability(GroovyResolveResult resolveResult, PsiType type, PsiElement place, AnnotationHolder holder) { + private static void checkClosureApplicability(GroovyResolveResult resolveResult, PsiType type, GroovyPsiElement place, AnnotationHolder holder) { final PsiElement element = resolveResult.getElement(); if (!(element instanceof GrVariable)) return; if (!(type instanceof GrClosureType)) return; @@ -1363,7 +1363,7 @@ public class GroovyAnnotator extends GroovyElementVisitor implements Annotator { PsiType[] argumentTypes = PsiUtil.getArgumentTypes(place, true); if (argumentTypes == null) return; - if (PsiUtil.isApplicable(argumentTypes, (GrClosureType)type, element)) return; + if (PsiUtil.isApplicable(argumentTypes, (GrClosureType)type, place)) return; final String typesString = buildArgTypesList(argumentTypes); String message = GroovyBundle.message("cannot.apply.method.or.closure", variable.getName(), typesString); diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/annotator/intentions/GroovyStaticImportMethodFix.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/annotator/intentions/GroovyStaticImportMethodFix.java index 2ae66ac4dc1b..969502dffb46 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/annotator/intentions/GroovyStaticImportMethodFix.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/annotator/intentions/GroovyStaticImportMethodFix.java @@ -129,7 +129,7 @@ public class GroovyStaticImportMethodFix implements IntentionAction { //do not show methods from default package && ((PsiClassOwner)file).getPackageName().length() != 0 && PsiUtil.isAccessible(element, method)) { list.add(method); - if (PsiUtil.isApplicable(PsiUtil.getArgumentTypes(element, true), method, PsiSubstitutor.EMPTY, false)) { + if (PsiUtil.isApplicable(PsiUtil.getArgumentTypes(element, true), method, PsiSubstitutor.EMPTY, false, element)) { applicableList.add(method); } } diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/codeInspection/assignment/GroovyUncheckedAssignmentOfMemberOfRawTypeInspection.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/codeInspection/assignment/GroovyUncheckedAssignmentOfMemberOfRawTypeInspection.java index 5fe09fdd00c1..28617967ab7f 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/codeInspection/assignment/GroovyUncheckedAssignmentOfMemberOfRawTypeInspection.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/codeInspection/assignment/GroovyUncheckedAssignmentOfMemberOfRawTypeInspection.java @@ -26,6 +26,7 @@ import org.jetbrains.plugins.groovy.GroovyBundle; import org.jetbrains.plugins.groovy.codeInspection.BaseInspection; import org.jetbrains.plugins.groovy.codeInspection.BaseInspectionVisitor; import org.jetbrains.plugins.groovy.lang.lexer.GroovyTokenTypes; +import org.jetbrains.plugins.groovy.lang.psi.GroovyPsiElement; import org.jetbrains.plugins.groovy.lang.psi.api.statements.GrParametersOwner; import org.jetbrains.plugins.groovy.lang.psi.api.statements.GrVariable; import org.jetbrains.plugins.groovy.lang.psi.api.statements.arguments.GrArgumentLabel; @@ -168,7 +169,7 @@ public class GroovyUncheckedAssignmentOfMemberOfRawTypeInspection extends BaseIn } } - private void checkAssignability(PsiType lType, GrExpression rExpr, PsiElement element) { + private void checkAssignability(PsiType lType, GrExpression rExpr, GroovyPsiElement element) { if (PsiUtil.isRawClassMemberAccess(rExpr)) { final PsiType rType = rExpr.getType(); if (!TypesUtil.isAssignable(lType, rType, element)) { diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/GrTypeConverter.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/GrTypeConverter.java index d85a6bbd206c..3fdc0239b076 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/GrTypeConverter.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/GrTypeConverter.java @@ -13,6 +13,6 @@ public abstract class GrTypeConverter { public static final ExtensionPointName EP_NAME = ExtensionPointName.create("org.intellij.groovy.typeConverter"); @Nullable - public abstract Boolean isConvertible(@NotNull PsiType lType, @NotNull PsiType rType, @NotNull PsiElement context); + public abstract Boolean isConvertible(@NotNull PsiType lType, @NotNull PsiType rType, @NotNull GroovyPsiElement context); } \ No newline at end of file diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/GrNewExpressionImpl.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/GrNewExpressionImpl.java index 0c5341c8f42e..eebd50375f53 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/GrNewExpressionImpl.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/GrNewExpressionImpl.java @@ -23,7 +23,6 @@ import com.intellij.util.IncorrectOperationException; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.plugins.groovy.lang.psi.GroovyElementVisitor; -import org.jetbrains.plugins.groovy.lang.psi.GroovyPsiElement; import org.jetbrains.plugins.groovy.lang.psi.GroovyPsiElementFactory; import org.jetbrains.plugins.groovy.lang.psi.api.GroovyResolveResult; import org.jetbrains.plugins.groovy.lang.psi.api.statements.arguments.GrArgumentList; @@ -39,11 +38,8 @@ import org.jetbrains.plugins.groovy.lang.psi.impl.GroovyResolveResultImpl; import org.jetbrains.plugins.groovy.lang.psi.impl.PsiImplUtil; import org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.path.GrCallExpressionImpl; import org.jetbrains.plugins.groovy.lang.psi.util.PsiUtil; -import org.jetbrains.plugins.groovy.lang.resolve.NonCodeMembersProcessor; -import org.jetbrains.plugins.groovy.lang.resolve.processors.MethodResolverProcessor; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; /** @@ -135,7 +131,7 @@ public class GrNewExpressionImpl extends GrCallExpressionImpl implements GrNewEx if (classResults.length == 0) return GroovyResolveResult.EMPTY_ARRAY; if (getNamedArguments().length > 0 && getArgumentList().getExpressionArguments().length == 0) { - GroovyResolveResult[] constructorResults = getCandidates(ref, classResults, new PsiType[]{PsiUtil.createMapType(getManager(), getResolveScope())}); //one Map parameter, actually + GroovyResolveResult[] constructorResults = PsiUtil.getConstructorCandidates(ref, classResults, new PsiType[]{PsiUtil.createMapType(getManager(), getResolveScope())}); //one Map parameter, actually for (GroovyResolveResult result : constructorResults) { if (result.getElement() instanceof PsiMethod) { PsiMethod constructor = (PsiMethod)result.getElement(); @@ -145,46 +141,19 @@ public class GrNewExpressionImpl extends GrCallExpressionImpl implements GrNewEx } } } - final GroovyResolveResult[] emptyConstructors = getCandidates(ref, classResults, PsiType.EMPTY_ARRAY); + final GroovyResolveResult[] emptyConstructors = PsiUtil.getConstructorCandidates(ref, classResults, PsiType.EMPTY_ARRAY); if (emptyConstructors.length > 0) { return emptyConstructors; } } - return getCandidates(ref, classResults, PsiUtil.getArgumentTypes(ref, false)); + return PsiUtil.getConstructorCandidates(ref, classResults, PsiUtil.getArgumentTypes(ref, false)); } public GroovyResolveResult[] multiResolveClass() { return getReferenceElement().multiResolve(false); } - private GroovyResolveResult[] getCandidates(GrCodeReferenceElement ref, GroovyResolveResult[] classResults, PsiType[] argTypes) { - List constructorResults = new ArrayList(); - for (GroovyResolveResult classResult : classResults) { - final PsiElement element = classResult.getElement(); - if (element instanceof PsiClass) { - final GroovyPsiElement context = classResult.getCurrentFileResolveContext(); - PsiClass clazz = (PsiClass)element; - String className = clazz.getName(); - PsiType thisType = JavaPsiFacade.getInstance(getProject()).getElementFactory().createType(clazz, classResult.getSubstitutor()); - final MethodResolverProcessor processor = new MethodResolverProcessor(className, ref, true, thisType, argTypes, PsiType.EMPTY_ARRAY) - ; - processor.setCurrentFileResolveContext(context); - PsiSubstitutor substitutor = classResult.getSubstitutor(); - final boolean toBreak = - element.processDeclarations(processor, ResolveState.initial().put(PsiSubstitutor.KEY, substitutor), null, ref); - - for (NonCodeMembersProcessor membersProcessor : NonCodeMembersProcessor.EP_NAME.getExtensions()) { - if (!membersProcessor.processNonCodeMembers(thisType, processor, this, true)) break; - } - constructorResults.addAll(Arrays.asList(processor.getCandidates())); - if (!toBreak) break; - } - } - - return constructorResults.toArray(new GroovyResolveResult[constructorResults.size()]); - } - public PsiMethod resolveConstructor() { return PsiImplUtil.extractUniqueElement(multiResolveConstructor()); } diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/TypesUtil.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/TypesUtil.java index c1fd72dd273a..d696ff5a949e 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/TypesUtil.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/TypesUtil.java @@ -221,7 +221,7 @@ public class TypesUtil { _isAssignable(lType, rType, manager, scope); } - public static boolean isAssignable(PsiType lType, PsiType rType, PsiElement context) { + public static boolean isAssignable(PsiType lType, PsiType rType, GroovyPsiElement context) { return isAssignableByMethodCallConversion(lType, rType, context) || _isAssignable(lType, rType, context.getManager(), context.getResolveScope()); } @@ -241,7 +241,7 @@ public class TypesUtil { return lType.isAssignableFrom(rType); } - public static boolean isAssignableByMethodCallConversion(PsiType lType, PsiType rType, PsiElement context) { + public static boolean isAssignableByMethodCallConversion(PsiType lType, PsiType rType, GroovyPsiElement context) { if (lType == null || rType == null) return false; for (GrTypeConverter converter : GrTypeConverter.EP_NAME.getExtensions()) { diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/types/GrClosureSignatureUtil.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/types/GrClosureSignatureUtil.java index dadf2a59bd57..157ded922b17 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/types/GrClosureSignatureUtil.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/types/GrClosureSignatureUtil.java @@ -20,6 +20,7 @@ import com.intellij.psi.*; import com.intellij.psi.util.MethodSignature; import com.intellij.psi.util.MethodSignatureUtil; import gnu.trove.THashMap; +import org.jetbrains.plugins.groovy.lang.psi.GroovyPsiElement; import org.jetbrains.plugins.groovy.lang.psi.api.statements.blocks.GrClosableBlock; import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.members.GrMethod; import org.jetbrains.plugins.groovy.lang.psi.api.types.GrClosureParameter; @@ -50,7 +51,7 @@ public class GrClosureSignatureUtil { return new GrClosureSignatureImpl(parameters, returnType); } - public static boolean isSignatureApplicable(GrClosureSignature signature, PsiType[] args, PsiElement context) { + public static boolean isSignatureApplicable(GrClosureSignature signature, PsiType[] args, GroovyPsiElement context) { if (isApplicable(signature, args, context)) return true; if (args.length == 1) { @@ -63,7 +64,7 @@ public class GrClosureSignatureUtil { return false; } - private static boolean isApplicable(GrClosureSignature signature, PsiType[] args, PsiElement context) { + private static boolean isApplicable(GrClosureSignature signature, PsiType[] args, GroovyPsiElement context) { GrClosureParameter[] params = signature.getParameters(); if (args.length > params.length && !signature.isVarargs()) return false; int optional = getOptionalParamCount(signature, false); @@ -84,7 +85,7 @@ public class GrClosureSignatureUtil { PsiType[] args, int paramCount, int argCount, - PsiElement context) { + GroovyPsiElement context) { int optional = getOptionalParamCount(params, false); int notOptional = paramCount - optional; int optionalArgs = argCount - notOptional; @@ -101,13 +102,13 @@ public class GrClosureSignatureUtil { } private static class ApplicabilityVerifierForVararg { - private PsiElement context; + private GroovyPsiElement context; GrClosureParameter[] params; PsiType[] args; PsiType vararg; private int paramLength; - private ApplicabilityVerifierForVararg(PsiElement context, GrClosureParameter[] params, PsiType[] args) { + private ApplicabilityVerifierForVararg(GroovyPsiElement context, GrClosureParameter[] params, PsiType[] args) { this.context = context; this.params = params; this.args = args; diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/util/PsiUtil.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/util/PsiUtil.java index 518db13953f2..05762449c31e 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/util/PsiUtil.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/util/PsiUtil.java @@ -69,6 +69,7 @@ import org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.TypesUt import org.jetbrains.plugins.groovy.lang.psi.impl.synthetic.GroovyScriptClass; import org.jetbrains.plugins.groovy.lang.psi.impl.synthetic.JavaIdentifier; import org.jetbrains.plugins.groovy.lang.psi.impl.types.GrClosureSignatureUtil; +import org.jetbrains.plugins.groovy.lang.resolve.NonCodeMembersProcessor; import org.jetbrains.plugins.groovy.lang.resolve.ResolveUtil; import org.jetbrains.plugins.groovy.lang.resolve.processors.MethodResolverProcessor; @@ -119,7 +120,7 @@ public class PsiUtil { public static boolean isApplicable(@Nullable PsiType[] argumentTypes, PsiMethod method, PsiSubstitutor substitutor, - boolean isInUseCategory) { + boolean isInUseCategory, GroovyPsiElement place) { if (argumentTypes == null) return true; GrClosureSignature signature = GrClosureSignatureUtil.createSignature(method, substitutor); @@ -132,13 +133,13 @@ public class PsiUtil { final PsiType type = argumentTypes[0]; final PsiClassType mapType = JavaPsiFacade.getElementFactory(method.getProject()) .createTypeByFQClassName(CommonClassNames.JAVA_UTIL_MAP, method.getResolveScope()); - return TypesUtil.isAssignable(mapType, type, method); + return TypesUtil.isAssignable(mapType, type, place); } LOG.assertTrue(signature != null); - return GrClosureSignatureUtil.isSignatureApplicable(signature, argumentTypes, method); + return GrClosureSignatureUtil.isSignatureApplicable(signature, argumentTypes, place); } - public static boolean isApplicable(@Nullable PsiType[] argumentTypes, GrClosureType type, PsiElement context) { + public static boolean isApplicable(@Nullable PsiType[] argumentTypes, GrClosureType type, GroovyPsiElement context) { if (argumentTypes == null) return true; GrClosureSignature signature = type.getSignature(); @@ -754,4 +755,31 @@ public class PsiUtil { return method.getReturnType(); } } + + public static GroovyResolveResult[] getConstructorCandidates(GroovyPsiElement place, GroovyResolveResult[] classCandidates, PsiType[] argTypes) { + List constructorResults = new ArrayList(); + for (GroovyResolveResult classResult : classCandidates) { + final PsiElement element = classResult.getElement(); + if (element instanceof PsiClass) { + final GroovyPsiElement context = classResult.getCurrentFileResolveContext(); + PsiClass clazz = (PsiClass)element; + String className = clazz.getName(); + PsiType thisType = JavaPsiFacade.getInstance(place.getProject()).getElementFactory().createType(clazz, classResult.getSubstitutor()); + final MethodResolverProcessor processor = new MethodResolverProcessor(className, place, true, thisType, argTypes, PsiType.EMPTY_ARRAY) + ; + processor.setCurrentFileResolveContext(context); + PsiSubstitutor substitutor = classResult.getSubstitutor(); + final boolean toBreak = + element.processDeclarations(processor, ResolveState.initial().put(PsiSubstitutor.KEY, substitutor), null, place); + + for (NonCodeMembersProcessor membersProcessor : NonCodeMembersProcessor.EP_NAME.getExtensions()) { + if (!membersProcessor.processNonCodeMembers(thisType, processor, place, true)) break; + } + constructorResults.addAll(Arrays.asList(processor.getCandidates())); + if (!toBreak) break; + } + } + + return constructorResults.toArray(new GroovyResolveResult[constructorResults.size()]); + } } diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/resolve/processors/MethodResolverProcessor.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/resolve/processors/MethodResolverProcessor.java index c4f7d2641527..9bd334c3a5aa 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/resolve/processors/MethodResolverProcessor.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/resolve/processors/MethodResolverProcessor.java @@ -75,7 +75,7 @@ public class MethodResolverProcessor extends ResolverProcessor { substitutor = obtainSubstitutor(substitutor, method); boolean isAccessible = isAccessible(method); boolean isStaticsOK = isStaticsOK(method); - if (PsiUtil.isApplicable(myArgumentTypes, method, substitutor, myCurrentFileResolveContext instanceof GrMethodCallExpression)) { + if (PsiUtil.isApplicable(myArgumentTypes, method, substitutor, myCurrentFileResolveContext instanceof GrMethodCallExpression, (GroovyPsiElement)myPlace)) { myCandidates.add(new GroovyResolveResultImpl(method, myCurrentFileResolveContext, substitutor, isAccessible, isStaticsOK)); } else { myInapplicableCandidates.add(new GroovyResolveResultImpl(method, myCurrentFileResolveContext, substitutor, isAccessible, isStaticsOK)); diff --git a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy index c84106a78c45..c51cf54be741 100644 --- a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy +++ b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy @@ -4,6 +4,7 @@ import com.intellij.testFramework.LightProjectDescriptor import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase import org.jetbrains.annotations.NotNull import org.jetbrains.plugins.groovy.codeInspection.assignment.GroovyAssignabilityCheckInspection +import com.intellij.psi.PsiFile /** * @author peter @@ -29,13 +30,24 @@ X unassignable = ['aaa'] """ } + public void testCastListToAnything() throws Exception { + testAssignability """ +File f1 = ['path'] +File f2 = ['path', 2, true, 42] +""" + } + void testAssignability(String text) { myFixture.enableInspections new GroovyAssignabilityCheckInspection() - def file = myFixture.configureByText("a.groovy", """ -@Typed def foo() { - $text -}""") + PsiFile file = configureTyped(text) myFixture.testHighlighting(true, false, false, file.virtualFile) } + private PsiFile configureTyped(String text) { + return myFixture.configureByText("a.groovy", """ +@Typed def foo() { + $text +}""") + } + } From 7286f2b46a8d6d1d849d69c0905491fde5a5a847 Mon Sep 17 00:00:00 2001 From: peter Date: Sat, 1 May 2010 22:11:23 +0100 Subject: [PATCH 038/173] GrMapType, understand casting map literals to Map subclasses in G++ --- .../plugins/groovy/gpp/GppTypeConverter.java | 14 ++ .../lang/psi/impl/GrLiteralClassType.java | 137 +++++++++++++++++ .../groovy/lang/psi/impl/GrMapType.java | 144 ++++++++++++++++++ .../groovy/lang/psi/impl/GrTupleType.java | 112 +------------- .../psi/impl/auxiliary/GrListOrMapImpl.java | 117 +++++--------- .../groovy/lang/GppFunctionalTest.groovy | 7 + 6 files changed, 350 insertions(+), 181 deletions(-) create mode 100644 plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/GrLiteralClassType.java create mode 100644 plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/GrMapType.java diff --git a/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java b/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java index 82024e190b91..d425001d0f86 100644 --- a/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java +++ b/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java @@ -12,6 +12,7 @@ import org.jetbrains.plugins.groovy.lang.psi.api.GroovyResolveResult; import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.GrTypeDefinition; import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.members.GrMember; import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.members.GrMethod; +import org.jetbrains.plugins.groovy.lang.psi.impl.GrMapType; import org.jetbrains.plugins.groovy.lang.psi.impl.GrTupleType; import org.jetbrains.plugins.groovy.lang.psi.impl.GroovyResolveResultImpl; import org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.TypesUtil; @@ -64,6 +65,19 @@ public class GppTypeConverter extends GrTypeConverter { return null; } + else if (rType instanceof GrMapType) { + final PsiType expectedKey = PsiUtil.substituteTypeParameter(lType, CommonClassNames.JAVA_UTIL_MAP, 0, false); + final PsiType expectedValue = PsiUtil.substituteTypeParameter(lType, CommonClassNames.JAVA_UTIL_MAP, 1, false); + if (expectedKey != null && expectedValue != null) { + final GrMapType mapType = (GrMapType)rType; + if (allTypesAssignable(mapType.getAllKeyTypes(), expectedKey, context) && + allTypesAssignable(mapType.getAllValueTypes(), expectedValue, context)) { + return true; + } + } + + } + return null; } diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/GrLiteralClassType.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/GrLiteralClassType.java new file mode 100644 index 000000000000..acdf25e089ca --- /dev/null +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/GrLiteralClassType.java @@ -0,0 +1,137 @@ +package org.jetbrains.plugins.groovy.lang.psi.impl; + +import com.intellij.pom.java.LanguageLevel; +import com.intellij.psi.*; +import com.intellij.psi.search.GlobalSearchScope; +import org.jetbrains.annotations.NonNls; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; +import org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.TypesUtil; + +/** + * @author peter + */ +public abstract class GrLiteralClassType extends PsiClassType { + protected final GlobalSearchScope myScope; + protected final JavaPsiFacade myFacade; + + public GrLiteralClassType(LanguageLevel languageLevel, GlobalSearchScope scope, JavaPsiFacade facade) { + super(languageLevel); + myScope = scope; + myFacade = facade; + } + + protected abstract String getJavaClassName(); + + @NotNull + public ClassResolveResult resolveGenerics() { + return new ClassResolveResult() { + private final PsiClass myBaseClass = resolve(); + + public PsiClass getElement() { + return myBaseClass; + } + + public PsiSubstitutor getSubstitutor() { + PsiSubstitutor result = PsiSubstitutor.EMPTY; + if (myBaseClass != null) { + final PsiType[] typeArgs = getParameters(); + final PsiTypeParameter[] typeParams = myBaseClass.getTypeParameters(); + if (typeParams.length == typeArgs.length) { + for (int i = 0; i < typeArgs.length; i++) { + result = result.put(typeParams[i], typeArgs[i]); + } + } + } + return result; + } + + public boolean isPackagePrefixPackageReference() { + return false; + } + + public boolean isAccessible() { + return true; + } + + public boolean isStaticsScopeCorrect() { + return true; + } + + public PsiElement getCurrentFileResolveScope() { + return null; + } + + public boolean isValidResult() { + return isStaticsScopeCorrect() && isAccessible(); + } + }; + } + + public String getPresentableText() { + return getClassName(); + } + + @Nullable + public String getCanonicalText() { + PsiClass resolved = resolve(); + if (resolved == null) return null; + return resolved.getQualifiedName(); + } + + @NotNull + public LanguageLevel getLanguageLevel() { + return myLanguageLevel; + } + + public GlobalSearchScope getScope() { + return myScope; + } + + @Nullable + public PsiClass resolve() { + return myFacade.findClass(getJavaClassName(), getResolveScope()); + } + + @NotNull + public PsiClassType rawType() { + return myFacade.getElementFactory().createTypeByFQClassName(getJavaClassName(), myScope); + } + + public boolean equalsToText(@NonNls String text) { + return text.equals(getJavaClassName()); + } + + @NotNull + public GlobalSearchScope getResolveScope() { + return myScope; + } + + protected static String getInternalCanonicalText(@Nullable PsiType type) { + return type == null ? CommonClassNames.JAVA_LANG_OBJECT : type.getInternalCanonicalText(); + } + + @Nullable + private static PsiType getLeastUpperBound(@Nullable PsiType result, @Nullable PsiType other, PsiManager manager) { + if (other == null) return result; + if (result == null) result = other; + if (result.isAssignableFrom(other)) return result; + if (other.isAssignableFrom(result)) result = other; + + return TypesUtil.getLeastUpperBound(result, other, manager); + } + + @NotNull + protected PsiType getLeastUpperBound(PsiType[] psiTypes) { + PsiType result = null; + final PsiManager manager = getPsiManager(); + for (final PsiType other : psiTypes) { + result = getLeastUpperBound(result, other, manager); + } + return result == null ? PsiType.getJavaLangObject(manager, getResolveScope()) : result; + } + + protected PsiManager getPsiManager() { + return PsiManager.getInstance(myFacade.getProject()); + } +} diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/GrMapType.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/GrMapType.java new file mode 100644 index 000000000000..20f1ab7e1f69 --- /dev/null +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/GrMapType.java @@ -0,0 +1,144 @@ +/* + * Copyright 2000-2009 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.jetbrains.plugins.groovy.lang.psi.impl; + +import com.intellij.openapi.util.Pair; +import com.intellij.openapi.util.text.StringUtil; +import com.intellij.pom.java.LanguageLevel; +import com.intellij.psi.*; +import com.intellij.psi.search.GlobalSearchScope; +import org.jetbrains.annotations.NonNls; +import org.jetbrains.annotations.NotNull; + +import java.util.*; + +/** + * @author peter + */ +public class GrMapType extends GrLiteralClassType { + private final Map myStringEntries; + private final List> myOtherEntries; + @NonNls + private static final String JAVA_UTIL_LINKED_HASH_MAP = "java.util.LinkedHashMap"; + private final String myJavaClassName; + + + public GrMapType(JavaPsiFacade facade, + GlobalSearchScope scope, + Map stringEntries, + List> otherEntries) { + this(facade, scope, stringEntries, otherEntries, LanguageLevel.JDK_1_5); + } + + + public GrMapType(JavaPsiFacade facade, + GlobalSearchScope scope, + Map stringEntries, + List> otherEntries, LanguageLevel languageLevel) { + super(languageLevel, scope, facade); + myStringEntries = stringEntries; + myOtherEntries = otherEntries; + + myJavaClassName = facade.findClass(JAVA_UTIL_LINKED_HASH_MAP, scope) != null ? JAVA_UTIL_LINKED_HASH_MAP : CommonClassNames.JAVA_UTIL_MAP; + } + + @Override + protected String getJavaClassName() { + return myJavaClassName; + } + + public String getClassName() { + return "Map"; + } + + public PsiType[] getAllKeyTypes() { + Set result = new HashSet(); + if (!myStringEntries.isEmpty()) { + result.add(PsiType.getJavaLangString(getPsiManager(), getResolveScope())); + } + for (Pair entry : myOtherEntries) { + result.add(entry.first); + } + result.remove(null); + return result.toArray(new PsiType[result.size()]); + } + + public PsiType[] getAllValueTypes() { + Set result = new HashSet(); + for (Pair entry : myOtherEntries) { + result.add(entry.second); + } + result.remove(null); + return result.toArray(new PsiType[result.size()]); + } + + @NotNull + public PsiType[] getParameters() { + final PsiType[] keyTypes = getAllKeyTypes(); + final PsiType[] valueTypes = getAllValueTypes(); + if (keyTypes.length == 0 && valueTypes.length == 0) { + return PsiType.EMPTY_ARRAY; + } + + return new PsiType[]{getLeastUpperBound(keyTypes), getLeastUpperBound(valueTypes)}; + } + + public String getInternalCanonicalText() { + List components = new ArrayList(); + for (String s : myStringEntries.keySet()) { + components.add("'" + s + "':" + getInternalCanonicalText(myStringEntries.get(s))); + } + for (Pair entry : myOtherEntries) { + components.add(getInternalCanonicalText(entry.first) + ":" + getInternalCanonicalText(entry.second)); + } + return "[" + StringUtil.join(components, ", ") + "]"; + } + + public boolean isValid() { + for (PsiType type : myStringEntries.values()) { + if (type != null && !type.isValid()) { + return false; + } + } + for (Pair entry : myOtherEntries) { + if (entry.first != null && !entry.first.isValid()) { + return false; + } + if (entry.second != null && !entry.second.isValid()) { + return false; + } + } + + return true; + } + + public PsiClassType setLanguageLevel(final LanguageLevel languageLevel) { + return new GrMapType(myFacade, getResolveScope(), myStringEntries, myOtherEntries, languageLevel); + } + + public boolean equals(Object obj) { + if (obj instanceof GrMapType) { + return myStringEntries.equals(((GrMapType)obj).myStringEntries) && myOtherEntries.equals(((GrMapType)obj).myOtherEntries); + } + return super.equals(obj); + } + + public boolean isAssignableFrom(@NotNull PsiType type) { + return false; + } + +} diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/GrTupleType.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/GrTupleType.java index ed0cfc6242b2..1ccfad5ba4da 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/GrTupleType.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/GrTupleType.java @@ -20,35 +20,25 @@ import com.intellij.openapi.util.Comparing; import com.intellij.pom.java.LanguageLevel; import com.intellij.psi.*; import com.intellij.psi.search.GlobalSearchScope; -import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; -import org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.TypesUtil; /** * @author ven */ -public class GrTupleType extends PsiClassType { - private final GlobalSearchScope myScope; - private final JavaPsiFacade myFacade; +public class GrTupleType extends GrLiteralClassType { private final PsiType[] myComponentTypes; - @NonNls - private static final String JAVA_UTIL_LIST = "java.util.List"; - public GrTupleType(PsiType[] componentTypes, JavaPsiFacade facade, GlobalSearchScope scope) { this(componentTypes, facade, scope,LanguageLevel.JDK_1_5); } public GrTupleType(PsiType[] componentTypes, JavaPsiFacade facade, GlobalSearchScope scope,LanguageLevel languageLevel) { - super(languageLevel); + super(languageLevel, scope, facade); myComponentTypes = componentTypes; - myFacade = facade; - myScope = scope; } - @Nullable - public PsiClass resolve() { - return myFacade.findClass(JAVA_UTIL_LIST, getResolveScope()); + @Override + protected String getJavaClassName() { + return CommonClassNames.JAVA_UTIL_LIST; } public String getClassName() { @@ -58,73 +48,7 @@ public class GrTupleType extends PsiClassType { @NotNull public PsiType[] getParameters() { if (myComponentTypes.length == 0) return PsiType.EMPTY_ARRAY; - PsiType result = myComponentTypes[0]; - for (int i = 1; i < myComponentTypes.length; i++) { - final PsiType other = myComponentTypes[i]; - if (other == null) continue; - if (result == null) result = other; - if (result.isAssignableFrom(other)) continue; - if (other.isAssignableFrom(result)) result = other; - result = TypesUtil.getLeastUpperBound(result, other, PsiManager.getInstance(myFacade.getProject())); - } - - return new PsiType[]{result}; - } - - @NotNull - public ClassResolveResult resolveGenerics() { - return new ClassResolveResult() { - private final PsiClass myListClass = resolve(); - - public PsiClass getElement() { - return myListClass; - } - - public PsiSubstitutor getSubstitutor() { - PsiSubstitutor result = PsiSubstitutor.EMPTY; - PsiType[] typeArgs = getParameters(); - if (myListClass != null && myListClass.getTypeParameters().length == 1 && typeArgs.length == 1) { - result = result.put(myListClass.getTypeParameters()[0], typeArgs[0]); - } - return result; - } - - public boolean isPackagePrefixPackageReference() { - return false; - } - - public boolean isAccessible() { - return true; - } - - public boolean isStaticsScopeCorrect() { - return true; - } - - public PsiElement getCurrentFileResolveScope() { - return null; - } - - public boolean isValidResult() { - return isStaticsScopeCorrect() && isAccessible(); - } - }; - } - - @NotNull - public PsiClassType rawType() { - return myFacade.getElementFactory().createTypeByFQClassName(JAVA_UTIL_LIST, myScope); - } - - public String getPresentableText() { - return "List"; - } - - @Nullable - public String getCanonicalText() { - PsiClass resolved = resolve(); - if (resolved == null) return null; - return resolved.getQualifiedName(); + return new PsiType[]{getLeastUpperBound(myComponentTypes)}; } public String getInternalCanonicalText() { @@ -132,9 +56,7 @@ public class GrTupleType extends PsiClassType { builder.append("["); for (int i = 0; i < myComponentTypes.length; i++) { if (i > 0) builder.append(", "); - PsiType type = myComponentTypes[i]; - @NonNls String componentText = type == null ? "java.lang.Object" : type.getInternalCanonicalText(); - builder.append(componentText); + builder.append(getInternalCanonicalText(myComponentTypes[i])); } builder.append("]"); return builder.toString(); @@ -147,23 +69,8 @@ public class GrTupleType extends PsiClassType { return true; } - public boolean equalsToText(@NonNls String text) { - return text.equals(JAVA_UTIL_LIST); - } - - @NotNull - public GlobalSearchScope getResolveScope() { - return myScope; - } - - @NotNull - public LanguageLevel getLanguageLevel() { - return myLanguageLevel; - } - public PsiClassType setLanguageLevel(final LanguageLevel languageLevel) { - GrTupleType copy = new GrTupleType(myComponentTypes, myFacade, myScope,languageLevel); - return copy; + return new GrTupleType(myComponentTypes, myFacade, myScope,languageLevel); } public boolean equals(Object obj) { @@ -197,7 +104,4 @@ public class GrTupleType extends PsiClassType { return myComponentTypes; } - public GlobalSearchScope getScope() { - return myScope; - } } diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/auxiliary/GrListOrMapImpl.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/auxiliary/GrListOrMapImpl.java index 969465c6aab1..c2a5e086de14 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/auxiliary/GrListOrMapImpl.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/auxiliary/GrListOrMapImpl.java @@ -17,6 +17,7 @@ package org.jetbrains.plugins.groovy.lang.psi.impl.auxiliary; import com.intellij.lang.ASTNode; +import com.intellij.openapi.util.Pair; import com.intellij.psi.*; import com.intellij.psi.search.GlobalSearchScope; import com.intellij.psi.tree.TokenSet; @@ -32,13 +33,18 @@ import org.jetbrains.plugins.groovy.lang.psi.api.statements.arguments.GrArgument import org.jetbrains.plugins.groovy.lang.psi.api.statements.arguments.GrNamedArgument; import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrExpression; import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrParenthesizedExpression; +import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.literals.GrLiteral; import org.jetbrains.plugins.groovy.lang.psi.api.types.GrTypeElement; +import org.jetbrains.plugins.groovy.lang.psi.impl.GrMapType; import org.jetbrains.plugins.groovy.lang.psi.impl.GrTupleType; import org.jetbrains.plugins.groovy.lang.psi.impl.GroovyPsiManager; import org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.GrExpressionImpl; import org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.TypesUtil; import org.jetbrains.plugins.groovy.lang.psi.util.PsiUtil; +import java.util.ArrayList; +import java.util.HashMap; + import static org.jetbrains.plugins.groovy.lang.lexer.GroovyTokenTypes.mCOMMA; /** @@ -111,68 +117,48 @@ public class GrListOrMapImpl extends GrExpressionImpl implements GrListOrMap { @Nullable private static PsiClassType inferMapInitializerType(GrListOrMapImpl listOrMap, JavaPsiFacade facade, GlobalSearchScope scope) { - PsiClass mapClass = facade.findClass("java.util.LinkedHashMap", scope); - if (mapClass == null) { - mapClass = facade.findClass(CommonClassNames.JAVA_UTIL_MAP, scope); - } - PsiElementFactory factory = facade.getElementFactory(); - if (mapClass != null) { - PsiTypeParameter[] typeParameters = mapClass.getTypeParameters(); - if (typeParameters.length == 2) { - GrNamedArgument[] namedArgs = listOrMap.getNamedArguments(); - GrExpression[] values = new GrExpression[namedArgs.length]; - GrArgumentLabel[] labels = new GrArgumentLabel[namedArgs.length]; + final HashMap stringEntries = new HashMap(); + final ArrayList> otherEntries = new ArrayList>(); + GrNamedArgument[] namedArgs = listOrMap.getNamedArguments(); + for (GrNamedArgument namedArg : namedArgs) { + final GrArgumentLabel label = namedArg.getLabel(); + final GrExpression expression = namedArg.getExpression(); + if (label == null || expression == null) { + continue; + } - for (int i = 0; i < values.length; i++) { - GrExpression expr = namedArgs[i].getExpression(); - if (expr == null) return null; - values[i] = expr; - GrArgumentLabel label = namedArgs[i].getLabel(); - if (label == null) return null; - labels[i] = label; + final PsiElement nameElement = label.getNameElement(); + if (nameElement instanceof GrLiteral) { + final Object value = ((GrLiteral)nameElement).getValue(); + if (value instanceof String) { + stringEntries.put((String)value, expression.getType()); + continue; } + } - PsiType initializerType = getInitializerType(values); - PsiType labelType = getLabelsType(labels); - PsiSubstitutor substitutor = PsiSubstitutor.EMPTY. - put(typeParameters[0], labelType). - put(typeParameters[1], initializerType); - return factory.createType(mapClass, substitutor); - } - else { - return facade.getElementFactory().createType(mapClass); - } + otherEntries.add(Pair.create(getLabelType(label), expression.getType())); } - return null; + + return new GrMapType(facade, scope, stringEntries, otherEntries); } @Nullable - private static PsiType getLabelsType(GrArgumentLabel[] labels) { - if (labels.length == 0) return null; - PsiType result = null; - PsiManager manager = labels[0].getManager(); - final PsiElementFactory factory = JavaPsiFacade.getElementFactory(labels[0].getProject()); - for (GrArgumentLabel label : labels) { - PsiElement el = label.getNameElement(); - PsiType other; - if (el instanceof GrParenthesizedExpression) { - other = ((GrParenthesizedExpression)el).getType(); - } - else { - final ASTNode node = el.getNode(); - if (node != null) { - other = TypesUtil.getPsiType(el, node.getElementType()); - if (other == null) { - other = factory.createTypeByFQClassName(CommonClassNames.JAVA_LANG_STRING, el.getResolveScope()); - } - } - else { - other = null; - } - } - result = getLeastUpperBound(result, other, manager); + private static PsiType getLabelType(GrArgumentLabel label) { + PsiElement el = label.getNameElement(); + if (el instanceof GrParenthesizedExpression) { + return ((GrParenthesizedExpression)el).getType(); } - return result; + + final ASTNode node = el.getNode(); + if (node == null) { + return null; + } + + PsiType nodeType = TypesUtil.getPsiType(el, node.getElementType()); + if (nodeType != null) { + return nodeType; + } + return PsiType.getJavaLangString(PsiManager.getInstance(el.getProject()), el.getResolveScope()); } private static PsiClassType getTupleType(GrExpression[] initializers, GrListOrMap listOrMap) { @@ -184,28 +170,5 @@ public class GrListOrMapImpl extends GrExpressionImpl implements GrListOrMap { return new GrTupleType(result, JavaPsiFacade.getInstance(listOrMap.getProject()), listOrMap.getResolveScope()); } - @Nullable - private static PsiType getInitializerType(GrExpression[] initializers) { - if (initializers.length == 0) return null; - PsiManager manager = initializers[0].getManager(); - PsiType result = initializers[0].getType(); - for (int i = 1; i < initializers.length; i++) { - result = getLeastUpperBound(result, initializers[i].getType(), manager); - } - - return result; - } - - @Nullable - private static PsiType getLeastUpperBound(PsiType result, PsiType other, PsiManager manager) { - if (other == null) return result; - if (result == null) result = other; - if (result.isAssignableFrom(other)) return result; - if (other.isAssignableFrom(result)) result = other; - - result = TypesUtil.getLeastUpperBound(result, other, manager); - return result; - } - } } diff --git a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy index c51cf54be741..b4953bf29a23 100644 --- a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy +++ b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy @@ -37,6 +37,13 @@ File f2 = ['path', 2, true, 42]< """ } + public void testCastMapToAnotherMap() throws Exception { + testAssignability """ +HashMap m1 = ['a':['b']] +HashMap m2 = ['a':'b'] +""" + } + void testAssignability(String text) { myFixture.enableInspections new GroovyAssignabilityCheckInspection() PsiFile file = configureTyped(text) From 510e8dc9f6e19269940e5221db51976adbccda18 Mon Sep 17 00:00:00 2001 From: peter Date: Sat, 1 May 2010 22:21:17 +0100 Subject: [PATCH 039/173] cleanup --- .../groovy/lang/psi/util/GrClassImplUtil.java | 24 ------------------- 1 file changed, 24 deletions(-) diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/util/GrClassImplUtil.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/util/GrClassImplUtil.java index 1e5804872e06..a23fc8e951dc 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/util/GrClassImplUtil.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/util/GrClassImplUtil.java @@ -333,30 +333,6 @@ public class GrClassImplUtil { return isPlaceGroovy || !(method instanceof GrGdkMethod); } - private static boolean isPropertyReference(PsiElement place, PsiField aField, boolean isGetter) { - //filter only in groovy, todo: analyze java place - if (place.getLanguage() != GroovyFileType.GROOVY_FILE_TYPE.getLanguage()) return true; - - if (place instanceof GrReferenceExpression) { - final PsiElement parent = place.getParent(); - if (parent instanceof GrMethodCallExpression) { - final GrMethodCallExpression call = (GrMethodCallExpression)parent; - if (call.getNamedArguments().length > 0 || call.getClosureArguments().length > 0) return false; - final GrExpression[] args = call.getExpressionArguments(); - if (isGetter) { - return args.length == 0; - } - else { - return args.length == 1 && - TypesUtil - .isAssignableByMethodCallConversion(aField.getType(), args[0].getType(), place); - } - } - } - - return false; - } - @Nullable public static PsiMethod findMethodBySignature(GrTypeDefinition grType, PsiMethod patternMethod, boolean checkBases) { final MethodSignature patternSignature = patternMethod.getSignature(PsiSubstitutor.EMPTY); From 66b2ea3d842a58bfb26d0984e96fff6bf23b1888 Mon Sep 17 00:00:00 2001 From: peter Date: Sat, 1 May 2010 22:31:31 +0100 Subject: [PATCH 040/173] G++: cast maps to any objects, check for having default constructors --- .../plugins/groovy/gpp/GppTypeConverter.java | 31 +++++++++++++++++-- .../groovy/lang/GppFunctionalTest.groovy | 7 +++++ 2 files changed, 36 insertions(+), 2 deletions(-) diff --git a/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java b/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java index d425001d0f86..7ccc1a34e111 100644 --- a/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java +++ b/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java @@ -55,7 +55,7 @@ public class GppTypeConverter extends GrTypeConverter { final PsiType[] componentTypes = ((GrTupleType)rType).getComponentTypes(); final PsiType expectedComponent = PsiUtil.extractIterableTypeParameter(lType, false); - if (expectedComponent != null && allTypesAssignable(componentTypes, expectedComponent, context)) { + if (expectedComponent != null && allTypesAssignable(componentTypes, expectedComponent, context) && hasDefaultConstructor(lType)) { return true; } @@ -68,20 +68,47 @@ public class GppTypeConverter extends GrTypeConverter { else if (rType instanceof GrMapType) { final PsiType expectedKey = PsiUtil.substituteTypeParameter(lType, CommonClassNames.JAVA_UTIL_MAP, 0, false); final PsiType expectedValue = PsiUtil.substituteTypeParameter(lType, CommonClassNames.JAVA_UTIL_MAP, 1, false); - if (expectedKey != null && expectedValue != null) { + if (expectedKey != null && expectedValue != null && hasDefaultConstructor(lType)) { final GrMapType mapType = (GrMapType)rType; if (allTypesAssignable(mapType.getAllKeyTypes(), expectedKey, context) && allTypesAssignable(mapType.getAllValueTypes(), expectedValue, context)) { return true; } + return null; } + if (hasDefaultConstructor(lType)) { + // maps are casted to any objects + // todo check for unimlemented abstract methods + return true; + } + + return null; } return null; } + private static boolean hasDefaultConstructor(PsiType type) { + final PsiClass psiClass = PsiUtil.resolveClassInType(type); + if (psiClass == null) { + return false; + } + + final PsiMethod[] constructors = psiClass.getConstructors(); + if (constructors.length == 0) { + return true; + } + for (PsiMethod constructor : constructors) { + if (constructor.getParameterList().getParametersCount() == 0) { + return true; + } + //todo Groovy constructors with an (empty) Map argument + } + return false; + } + private static boolean hasConstructor(PsiClassType lType, PsiType[] argTypes, GroovyPsiElement context) { final PsiClassType.ClassResolveResult resolveResult = lType.resolveGenerics(); final PsiClass psiClass = resolveResult.getElement(); diff --git a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy index b4953bf29a23..18179db34657 100644 --- a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy +++ b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy @@ -44,6 +44,13 @@ HashMap m2 = Date: Sat, 1 May 2010 22:41:51 +0100 Subject: [PATCH 041/173] more tests --- .../plugins/groovy/gpp/GppTypeConverter.java | 2 +- .../groovy/lang/GppFunctionalTest.groovy | 27 +++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java b/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java index 7ccc1a34e111..8877d8712c3e 100644 --- a/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java +++ b/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java @@ -79,7 +79,7 @@ public class GppTypeConverter extends GrTypeConverter { if (hasDefaultConstructor(lType)) { // maps are casted to any objects - // todo check for unimlemented abstract methods + // todo maybe check for not implemented abstract methods return true; } diff --git a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy index 18179db34657..50612912da16 100644 --- a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy +++ b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy @@ -64,4 +64,31 @@ Foo f = [name: 'aaa', foo: { println 'hi' }, anotherProperty: 42 ] }""") } + public void testDeclaredVariableTypeIsMoreImportantThanTheInitializerOne() throws Exception { + configureTyped(""" +File f = ['path'] +f.mk +""") + myFixture.completeBasic() + assertSameElements myFixture.lookupElementStrings, "mkdir", "mkdirs" + } + + public void testDeclaredVariableTypeIsMoreImportantThanTheInitializerOne2() throws Exception { + myFixture.addClass """ +public class Some { + public int prop + + public void f_foo() {} + public void f_bar() {} +} +""" + + configureTyped(""" +Some s = [prop: 239] +s.f_ +""") + myFixture.completeBasic() + assertSameElements myFixture.lookupElementStrings, "f_foo", "f_bar" + } + } From b136c72a15dcbfb2541acb60828c8cd843e80820 Mon Sep 17 00:00:00 2001 From: peter Date: Sun, 2 May 2010 10:12:44 +0100 Subject: [PATCH 042/173] move label name & type computation into GrArgumentLabel --- .../statements/arguments/GrArgumentLabel.java | 3 ++ .../groovy/lang/psi/impl/GrMapType.java | 1 + .../psi/impl/auxiliary/GrListOrMapImpl.java | 35 ++------------ .../arguments/GrArgumentLabelImpl.java | 46 +++++++++++++++++-- .../statements/expressions/TypesUtil.java | 2 +- .../highlighting/DuplicateMapKeys.groovy | 2 +- 6 files changed, 54 insertions(+), 35 deletions(-) diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/api/statements/arguments/GrArgumentLabel.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/api/statements/arguments/GrArgumentLabel.java index cb703dcfadc2..a53fe05201d2 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/api/statements/arguments/GrArgumentLabel.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/api/statements/arguments/GrArgumentLabel.java @@ -39,5 +39,8 @@ public interface GrArgumentLabel extends GroovyPsiElement, PsiReference { @Nullable PsiType getExpectedArgumentType(); + @Nullable + PsiType getLabelType(); + GrNamedArgument getNamedArgument(); } diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/GrMapType.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/GrMapType.java index 20f1ab7e1f69..195a1922e7d0 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/GrMapType.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/GrMapType.java @@ -79,6 +79,7 @@ public class GrMapType extends GrLiteralClassType { public PsiType[] getAllValueTypes() { Set result = new HashSet(); + result.addAll(myStringEntries.values()); for (Pair entry : myOtherEntries) { result.add(entry.second); } diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/auxiliary/GrListOrMapImpl.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/auxiliary/GrListOrMapImpl.java index c2a5e086de14..e1e3d6d9d631 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/auxiliary/GrListOrMapImpl.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/auxiliary/GrListOrMapImpl.java @@ -32,14 +32,11 @@ import org.jetbrains.plugins.groovy.lang.psi.api.statements.GrVariableDeclaratio import org.jetbrains.plugins.groovy.lang.psi.api.statements.arguments.GrArgumentLabel; import org.jetbrains.plugins.groovy.lang.psi.api.statements.arguments.GrNamedArgument; import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrExpression; -import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrParenthesizedExpression; -import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.literals.GrLiteral; import org.jetbrains.plugins.groovy.lang.psi.api.types.GrTypeElement; import org.jetbrains.plugins.groovy.lang.psi.impl.GrMapType; import org.jetbrains.plugins.groovy.lang.psi.impl.GrTupleType; import org.jetbrains.plugins.groovy.lang.psi.impl.GroovyPsiManager; import org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.GrExpressionImpl; -import org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.TypesUtil; import org.jetbrains.plugins.groovy.lang.psi.util.PsiUtil; import java.util.ArrayList; @@ -127,39 +124,17 @@ public class GrListOrMapImpl extends GrExpressionImpl implements GrListOrMap { continue; } - final PsiElement nameElement = label.getNameElement(); - if (nameElement instanceof GrLiteral) { - final Object value = ((GrLiteral)nameElement).getValue(); - if (value instanceof String) { - stringEntries.put((String)value, expression.getType()); - continue; - } + final String name = label.getName(); + if (name != null) { + stringEntries.put(name, expression.getType()); + } else { + otherEntries.add(Pair.create(label.getLabelType(), expression.getType())); } - - otherEntries.add(Pair.create(getLabelType(label), expression.getType())); } return new GrMapType(facade, scope, stringEntries, otherEntries); } - @Nullable - private static PsiType getLabelType(GrArgumentLabel label) { - PsiElement el = label.getNameElement(); - if (el instanceof GrParenthesizedExpression) { - return ((GrParenthesizedExpression)el).getType(); - } - - final ASTNode node = el.getNode(); - if (node == null) { - return null; - } - - PsiType nodeType = TypesUtil.getPsiType(el, node.getElementType()); - if (nodeType != null) { - return nodeType; - } - return PsiType.getJavaLangString(PsiManager.getInstance(el.getProject()), el.getResolveScope()); - } private static PsiClassType getTupleType(GrExpression[] initializers, GrListOrMap listOrMap) { PsiType[] result = new PsiType[initializers.length]; diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/arguments/GrArgumentLabelImpl.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/arguments/GrArgumentLabelImpl.java index 4678ffe182f7..81f3d30f028e 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/arguments/GrArgumentLabelImpl.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/arguments/GrArgumentLabelImpl.java @@ -21,11 +21,13 @@ import com.intellij.openapi.util.TextRange; import com.intellij.psi.*; import com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistry; import com.intellij.psi.impl.source.resolve.reference.impl.PsiMultiReference; +import com.intellij.psi.tree.IElementType; import com.intellij.psi.util.PropertyUtil; import com.intellij.util.ArrayUtil; import com.intellij.util.IncorrectOperationException; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import org.jetbrains.plugins.groovy.lang.lexer.GroovyTokenTypes; import org.jetbrains.plugins.groovy.lang.psi.GroovyElementVisitor; import org.jetbrains.plugins.groovy.lang.psi.GroovyPsiElementFactory; import org.jetbrains.plugins.groovy.lang.psi.api.GroovyResolveResult; @@ -33,9 +35,12 @@ import org.jetbrains.plugins.groovy.lang.psi.api.statements.arguments.GrArgument import org.jetbrains.plugins.groovy.lang.psi.api.statements.arguments.GrArgumentList; import org.jetbrains.plugins.groovy.lang.psi.api.statements.arguments.GrNamedArgument; import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrExpression; +import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrParenthesizedExpression; +import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.literals.GrLiteral; import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.path.GrCallExpression; import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.GrAnonymousClassDefinition; import org.jetbrains.plugins.groovy.lang.psi.impl.GroovyPsiElementImpl; +import org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.TypesUtil; import org.jetbrains.plugins.groovy.lang.psi.util.GrStringUtil; import org.jetbrains.plugins.groovy.lang.psi.util.PsiUtil; import org.jetbrains.plugins.groovy.lang.resolve.ResolveUtil; @@ -67,12 +72,29 @@ public class GrArgumentLabelImpl extends GroovyPsiElementImpl implements GrArgum @Nullable public String getName() { final PsiElement element = getNameElement(); - if (element instanceof GrExpression) { - return null; + if (element instanceof GrLiteral) { + final Object value = ((GrLiteral)element).getValue(); + if (value instanceof String) { + return (String) value; + } } - else { + if (element instanceof GrExpression) { + final Object value = JavaPsiFacade.getInstance(getProject()).getConstantEvaluationHelper().computeConstantExpression(element); + if (value instanceof String) { + return (String)value; + } + } + + final IElementType elemType = element.getNode().getElementType(); + if (GroovyTokenTypes.mIDENT == elemType) { + return element.getText(); + } + + if (CommonClassNames.JAVA_LANG_STRING.equals(TypesUtil.getPsiTypeName(elemType))) { return GrStringUtil.removeQuotes(element.getText()); } + + return null; } public PsiElement getElement() { @@ -214,6 +236,24 @@ public class GrArgumentLabelImpl extends GroovyPsiElementImpl implements GrArgum return null; } + public PsiType getLabelType() { + PsiElement el = getNameElement(); + if (el instanceof GrParenthesizedExpression) { + return ((GrParenthesizedExpression)el).getType(); + } + + final ASTNode node = el.getNode(); + if (node == null) { + return null; + } + + PsiType nodeType = TypesUtil.getPsiType(el, node.getElementType()); + if (nodeType != null) { + return nodeType; + } + return PsiType.getJavaLangString(PsiManager.getInstance(el.getProject()), el.getResolveScope()); + } + public GrNamedArgument getNamedArgument() { final PsiElement parent = getParent(); assert parent instanceof GrNamedArgument; diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/TypesUtil.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/TypesUtil.java index d696ff5a949e..862c02cc37e3 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/TypesUtil.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/TypesUtil.java @@ -415,7 +415,7 @@ public class TypesUtil { } @Nullable - private static String getPsiTypeName(IElementType elemType) { + public static String getPsiTypeName(IElementType elemType) { return ourPrimitiveTypesToClassNames.get(elemType); } } diff --git a/plugins/groovy/testdata/highlighting/DuplicateMapKeys.groovy b/plugins/groovy/testdata/highlighting/DuplicateMapKeys.groovy index ea162db4a8fa..31611153ece2 100644 --- a/plugins/groovy/testdata/highlighting/DuplicateMapKeys.groovy +++ b/plugins/groovy/testdata/highlighting/DuplicateMapKeys.groovy @@ -1,2 +1,2 @@ x = [ (person.firstNameKey):person.firstName, (person.lastNameKey):person.lastName ] -x = [2:1, 2:2] \ No newline at end of file +x = ['2':1, '2':2] \ No newline at end of file From be9f275d610300d66834ef1464d07ba3f36822ac Mon Sep 17 00:00:00 2001 From: peter Date: Sun, 2 May 2010 10:13:39 +0100 Subject: [PATCH 043/173] we are clearly too evolved for Groovy++, let's be dumber --- .../plugins/groovy/gpp/GppTypeConverter.java | 25 +------------------ .../groovy/lang/GppFunctionalTest.groovy | 11 ++++++-- 2 files changed, 10 insertions(+), 26 deletions(-) diff --git a/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java b/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java index 8877d8712c3e..84ad893777ac 100644 --- a/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java +++ b/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java @@ -15,7 +15,6 @@ import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.members.GrMe import org.jetbrains.plugins.groovy.lang.psi.impl.GrMapType; import org.jetbrains.plugins.groovy.lang.psi.impl.GrTupleType; import org.jetbrains.plugins.groovy.lang.psi.impl.GroovyResolveResultImpl; -import org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.TypesUtil; /** * @author peter @@ -55,7 +54,7 @@ public class GppTypeConverter extends GrTypeConverter { final PsiType[] componentTypes = ((GrTupleType)rType).getComponentTypes(); final PsiType expectedComponent = PsiUtil.extractIterableTypeParameter(lType, false); - if (expectedComponent != null && allTypesAssignable(componentTypes, expectedComponent, context) && hasDefaultConstructor(lType)) { + if (expectedComponent != null && hasDefaultConstructor(lType)) { return true; } @@ -66,20 +65,7 @@ public class GppTypeConverter extends GrTypeConverter { return null; } else if (rType instanceof GrMapType) { - final PsiType expectedKey = PsiUtil.substituteTypeParameter(lType, CommonClassNames.JAVA_UTIL_MAP, 0, false); - final PsiType expectedValue = PsiUtil.substituteTypeParameter(lType, CommonClassNames.JAVA_UTIL_MAP, 1, false); - if (expectedKey != null && expectedValue != null && hasDefaultConstructor(lType)) { - final GrMapType mapType = (GrMapType)rType; - if (allTypesAssignable(mapType.getAllKeyTypes(), expectedKey, context) && - allTypesAssignable(mapType.getAllValueTypes(), expectedValue, context)) { - return true; - } - return null; - } - if (hasDefaultConstructor(lType)) { - // maps are casted to any objects - // todo maybe check for not implemented abstract methods return true; } @@ -104,7 +90,6 @@ public class GppTypeConverter extends GrTypeConverter { if (constructor.getParameterList().getParametersCount() == 0) { return true; } - //todo Groovy constructors with an (empty) Map argument } return false; } @@ -125,12 +110,4 @@ public class GppTypeConverter extends GrTypeConverter { return candidates.length == 1; } - private static boolean allTypesAssignable(PsiType[] types, PsiType to, GroovyPsiElement context) { - for (PsiType component : types) { - if (!TypesUtil.isAssignable(to, component, context)) { - return false; - } - } - return true; - } } diff --git a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy index 50612912da16..78720b99e30c 100644 --- a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy +++ b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy @@ -26,7 +26,6 @@ class GppFunctionalTest extends LightCodeInsightFixtureTestCase { myFixture.addClass("class X extends java.util.ArrayList {}") testAssignability """ X ints = [239, 4.2d] -X unassignable = ['aaa'] """ } @@ -38,9 +37,17 @@ File f2 = ['path', 2, true, 42]< } public void testCastMapToAnotherMap() throws Exception { + myFixture.addClass """ +public class Y extends java.util.HashMap { + public Y(initialCapacity) { + super(initialCapacity); + } +} +""" + testAssignability """ HashMap m1 = ['a':['b']] -HashMap m2 = ['a':'b'] +Y y = [a:'b'] """ } From 0429a02b35a93993a35532c65f7a949d7a4518f4 Mon Sep 17 00:00:00 2001 From: peter Date: Sun, 2 May 2010 10:26:17 +0100 Subject: [PATCH 044/173] avoid NPE --- .../lang/psi/impl/statements/expressions/TypesUtil.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/TypesUtil.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/TypesUtil.java index 862c02cc37e3..5add04481e12 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/TypesUtil.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/TypesUtil.java @@ -227,6 +227,10 @@ public class TypesUtil { } private static boolean _isAssignable(PsiType lType, PsiType rType, PsiManager manager, GlobalSearchScope scope) { + if (lType == null || rType == null) { + return false; + } + //all numeric types are assignable if (isNumericType(lType)) { return isNumericType(rType) || rType.equals(PsiType.NULL); From 5825cde6d25a50938d7e73daa35c80c146dbc78a Mon Sep 17 00:00:00 2001 From: peter Date: Sun, 2 May 2010 10:40:02 +0100 Subject: [PATCH 045/173] anonymous classes are typed when inside a @Typed method --- .../plugins/groovy/gpp/GppTypeConverter.java | 11 +++++++++++ .../plugins/groovy/lang/GppFunctionalTest.groovy | 11 +++++++++++ 2 files changed, 22 insertions(+) diff --git a/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java b/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java index 84ad893777ac..9d23b93282d8 100644 --- a/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java +++ b/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java @@ -1,5 +1,6 @@ package org.jetbrains.plugins.groovy.gpp; +import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.*; import com.intellij.psi.util.PsiTreeUtil; import com.intellij.psi.util.PsiUtil; @@ -9,6 +10,7 @@ import org.jetbrains.plugins.groovy.lang.psi.GrTypeConverter; import org.jetbrains.plugins.groovy.lang.psi.GroovyFile; import org.jetbrains.plugins.groovy.lang.psi.GroovyPsiElement; import org.jetbrains.plugins.groovy.lang.psi.api.GroovyResolveResult; +import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.GrAnonymousClassDefinition; import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.GrTypeDefinition; import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.members.GrMember; import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.members.GrMethod; @@ -34,8 +36,17 @@ public class GppTypeConverter extends GrTypeConverter { if (member instanceof GrMethod) { return isTyped(((GrMethod)member).getContainingClass()); } + if (member instanceof GrAnonymousClassDefinition) { + return isTyped(PsiTreeUtil.getParentOfType(member, GrMember.class)); + } if (member instanceof GrTypeDefinition) { final PsiFile file = member.getContainingFile(); + + final VirtualFile vfile = file.getVirtualFile(); + if (vfile != null && "gpp".equals(vfile.getExtension())) { + return true; + } + if (file instanceof GroovyFile) { return isTyped(JavaPsiFacade.getInstance(member.getProject()).findPackage(((GroovyFile)file).getPackageName())); } diff --git a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy index 78720b99e30c..39f8dcb5e5e3 100644 --- a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy +++ b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy @@ -51,6 +51,17 @@ Y y = [a:'b'] """ } + public void testAnonymousClass() throws Exception { + testAssignability """ +def x = new Object() { + def foo() { + HashMap m1 = ['a':['b']] + HashMap m2 = new File('aaa') + } +} +""" + } + public void testCastMapToObject() throws Exception { myFixture.addClass("class Foo { String name; void foo() {} }") testAssignability """ From 3f341361138845571c07f28c11701df829b4dd19 Mon Sep 17 00:00:00 2001 From: peter Date: Sun, 2 May 2010 10:44:19 +0100 Subject: [PATCH 046/173] more straightforward typedness detection, respect .gpp and .grunit file extensions --- .../plugins/groovy/gpp/GppTypeConverter.java | 27 +++++++++---------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java b/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java index 9d23b93282d8..85e621fc088d 100644 --- a/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java +++ b/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java @@ -10,10 +10,7 @@ import org.jetbrains.plugins.groovy.lang.psi.GrTypeConverter; import org.jetbrains.plugins.groovy.lang.psi.GroovyFile; import org.jetbrains.plugins.groovy.lang.psi.GroovyPsiElement; import org.jetbrains.plugins.groovy.lang.psi.api.GroovyResolveResult; -import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.GrAnonymousClassDefinition; -import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.GrTypeDefinition; import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.members.GrMember; -import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.members.GrMethod; import org.jetbrains.plugins.groovy.lang.psi.impl.GrMapType; import org.jetbrains.plugins.groovy.lang.psi.impl.GrTupleType; import org.jetbrains.plugins.groovy.lang.psi.impl.GroovyResolveResultImpl; @@ -33,23 +30,23 @@ public class GppTypeConverter extends GrTypeConverter { return true; } - if (member instanceof GrMethod) { - return isTyped(((GrMethod)member).getContainingClass()); + final GrMember parentMember = PsiTreeUtil.getParentOfType(member, GrMember.class); + if (parentMember != null) { + return isTyped(parentMember); } - if (member instanceof GrAnonymousClassDefinition) { - return isTyped(PsiTreeUtil.getParentOfType(member, GrMember.class)); - } - if (member instanceof GrTypeDefinition) { - final PsiFile file = member.getContainingFile(); - final VirtualFile vfile = file.getVirtualFile(); - if (vfile != null && "gpp".equals(vfile.getExtension())) { + final PsiFile file = member.getContainingFile(); + + final VirtualFile vfile = file.getVirtualFile(); + if (vfile != null) { + final String extension = vfile.getExtension(); + if ("gpp".equals(extension) || "grunit".equals(vfile.getExtension())) { return true; } + } - if (file instanceof GroovyFile) { - return isTyped(JavaPsiFacade.getInstance(member.getProject()).findPackage(((GroovyFile)file).getPackageName())); - } + if (file instanceof GroovyFile) { + return isTyped(JavaPsiFacade.getInstance(member.getProject()).findPackage(((GroovyFile)file).getPackageName())); } return false; } From e7a472e273af06cd1ec99f0e6778be9f0faff371 Mon Sep 17 00:00:00 2001 From: peter Date: Sun, 2 May 2010 11:13:06 +0100 Subject: [PATCH 047/173] NPE fix --- .../plugins/groovy/gpp/GppTypeConverter.java | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java b/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java index 85e621fc088d..2ccf4337c484 100644 --- a/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java +++ b/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java @@ -36,16 +36,15 @@ public class GppTypeConverter extends GrTypeConverter { } final PsiFile file = member.getContainingFile(); - - final VirtualFile vfile = file.getVirtualFile(); - if (vfile != null) { - final String extension = vfile.getExtension(); - if ("gpp".equals(extension) || "grunit".equals(vfile.getExtension())) { - return true; - } - } - if (file instanceof GroovyFile) { + final VirtualFile vfile = file.getVirtualFile(); + if (vfile != null) { + final String extension = vfile.getExtension(); + if ("gpp".equals(extension) || "grunit".equals(vfile.getExtension())) { + return true; + } + } + return isTyped(JavaPsiFacade.getInstance(member.getProject()).findPackage(((GroovyFile)file).getPackageName())); } return false; From af7e189098aa680a0fa57c7fe7469d620ad7ae25 Mon Sep 17 00:00:00 2001 From: peter Date: Sun, 2 May 2010 11:14:08 +0100 Subject: [PATCH 048/173] groovy method resolver should prefer methods whose call requires less conversions (not exactly, but this is sufficient for now) --- .../statements/expressions/TypesUtil.java | 11 +++++-- .../processors/MethodResolverProcessor.java | 12 ++++++++ .../groovy/lang/GppFunctionalTest.groovy | 29 ++++++++++++++++++- 3 files changed, 49 insertions(+), 3 deletions(-) diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/TypesUtil.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/TypesUtil.java index 5add04481e12..db0774ab8b5b 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/TypesUtil.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/TypesUtil.java @@ -217,8 +217,15 @@ public class TypesUtil { } public static boolean isAssignable(PsiType lType, PsiType rType, PsiManager manager, GlobalSearchScope scope) { - return isAssignableByMethodCallConversion(lType, rType, manager, scope) || - _isAssignable(lType, rType, manager, scope); + return isAssignable(lType, rType, manager, scope, true); + } + + public static boolean isAssignable(PsiType lType, PsiType rType, PsiManager manager, GlobalSearchScope scope, boolean allowConversion) { + if (allowConversion && isAssignableByMethodCallConversion(lType, rType, manager, scope)) { + return true; + } + + return _isAssignable(lType, rType, manager, scope); } public static boolean isAssignable(PsiType lType, PsiType rType, GroovyPsiElement context) { diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/resolve/processors/MethodResolverProcessor.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/resolve/processors/MethodResolverProcessor.java index 9bd334c3a5aa..1c3462530813 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/resolve/processors/MethodResolverProcessor.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/resolve/processors/MethodResolverProcessor.java @@ -264,6 +264,18 @@ public class MethodResolverProcessor extends ResolverProcessor { for (int i = 0; i < params2.length; i++) { PsiType type1 = substitutor1.substitute(params1[i].getType()); PsiType type2 = substitutor2.substitute(params2[i].getType()); + + if (myArgumentTypes != null && myArgumentTypes.length > i) { + PsiType argType = myArgumentTypes[i]; + if (argType != null) { + final boolean converts1 = TypesUtil.isAssignable(type1, argType, manager, scope, false); + final boolean converts2 = TypesUtil.isAssignable(type2, argType, manager, scope, false); + if (converts1 != converts2) { + return converts2; + } + } + } + if (!typesAgree(manager, scope, type1, type2)) return false; } diff --git a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy index 39f8dcb5e5e3..26937ea97a56 100644 --- a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy +++ b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy @@ -1,10 +1,11 @@ package org.jetbrains.plugins.groovy.lang +import com.intellij.psi.PsiFile import com.intellij.testFramework.LightProjectDescriptor import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase import org.jetbrains.annotations.NotNull import org.jetbrains.plugins.groovy.codeInspection.assignment.GroovyAssignabilityCheckInspection -import com.intellij.psi.PsiFile +import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.members.GrMethod /** * @author peter @@ -109,4 +110,30 @@ s.f_ assertSameElements myFixture.lookupElementStrings, "f_foo", "f_bar" } + public void testResolveMethod() throws Exception { + myFixture.configureByText("a.groovy", """ +def foo(File f) {} +@Typed def bar() { + foo(['path']) +} +""") + def reference = myFixture.file.findReferenceAt(myFixture.editor.caretModel.offset) + def target = reference.resolve() + assertEquals "foo", ((GrMethod)target).name + } + + public void testOverloadingWithConversion() throws Exception { + myFixture.configureByText("a.groovy", """ +def foo(List l) {} +def foo(File f) {} +@Typed def bar() { + foo(['path']) +} +""") + def reference = myFixture.file.findReferenceAt(myFixture.editor.caretModel.offset) + def target = reference.resolve() + assertNotNull target + assert target.text.contains("List l") + } + } From dc754178860d38006d61bd8aaf397137846c5597 Mon Sep 17 00:00:00 2001 From: peter Date: Sun, 2 May 2010 11:38:01 +0100 Subject: [PATCH 049/173] remove duplication --- .../util/xml/impl/ExtendsClassChecker.java | 20 +++---------------- .../src/com/intellij/psi/util/PsiUtil.java | 8 +++++++- 2 files changed, 10 insertions(+), 18 deletions(-) diff --git a/java/java-impl/src/com/intellij/util/xml/impl/ExtendsClassChecker.java b/java/java-impl/src/com/intellij/util/xml/impl/ExtendsClassChecker.java index 5bdba4cb4c3c..c54ff5089a64 100644 --- a/java/java-impl/src/com/intellij/util/xml/impl/ExtendsClassChecker.java +++ b/java/java-impl/src/com/intellij/util/xml/impl/ExtendsClassChecker.java @@ -21,9 +21,10 @@ import com.intellij.psi.impl.source.resolve.reference.impl.providers.JavaClassRe import com.intellij.psi.impl.source.resolve.reference.impl.providers.JavaClassReferenceProvider; import com.intellij.psi.search.GlobalSearchScope; import com.intellij.psi.util.InheritanceUtil; +import com.intellij.psi.util.PsiUtil; +import com.intellij.util.ProcessingContext; import com.intellij.util.ReflectionCache; import com.intellij.util.SmartList; -import com.intellij.util.ProcessingContext; import com.intellij.util.xml.*; import com.intellij.util.xml.highlighting.DomCustomAnnotationChecker; import com.intellij.util.xml.highlighting.DomElementAnnotationHolder; @@ -97,7 +98,7 @@ public class ExtendsClassChecker extends DomCustomAnnotationChecker else if (!allowNonPublic && !value.hasModifierProperty(PsiModifier.PUBLIC)) { list.add(holder.createProblem(element, DomBundle.message("class.is.not.public", value.getQualifiedName()))); } - else if (!hasDefaultConstructor(value)) { + else if (!PsiUtil.hasDefaultConstructor(value, true)) { if (canBeDecorator) { boolean hasConstructor = false; @@ -134,21 +135,6 @@ public class ExtendsClassChecker extends DomCustomAnnotationChecker return list; } - public static boolean hasDefaultConstructor(PsiClass clazz) { - final PsiMethod[] constructors = clazz.getConstructors(); - if (constructors.length > 0) { - for (PsiMethod cls: constructors) { - if ((cls.hasModifierProperty(PsiModifier.PUBLIC) || cls.hasModifierProperty(PsiModifier.PROTECTED)) && cls.getParameterList().getParametersCount() == 0) { - return true; - } - } - } else { - final PsiClass superClass = clazz.getSuperClass(); - return superClass == null || hasDefaultConstructor(superClass); - } - return false; - } - public static List checkExtendsClassInReferences(final GenericDomValue element, final DomElementAnnotationHolder holder) { final Object valueObject = element.getValue(); if (!(valueObject instanceof PsiClass)) return Collections.emptyList(); diff --git a/java/openapi/src/com/intellij/psi/util/PsiUtil.java b/java/openapi/src/com/intellij/psi/util/PsiUtil.java index 3713fbadef72..533180026e22 100644 --- a/java/openapi/src/com/intellij/psi/util/PsiUtil.java +++ b/java/openapi/src/com/intellij/psi/util/PsiUtil.java @@ -785,10 +785,16 @@ public final class PsiUtil extends PsiUtilBase { } public static boolean hasDefaultConstructor(PsiClass clazz) { + return hasDefaultConstructor(clazz, false); + } + + public static boolean hasDefaultConstructor(PsiClass clazz, boolean allowProtected) { final PsiMethod[] constructors = clazz.getConstructors(); if (constructors.length > 0) { for (PsiMethod cls: constructors) { - if (cls.hasModifierProperty(PsiModifier.PUBLIC) && cls.getParameterList().getParametersCount() == 0) { + if ((cls.hasModifierProperty(PsiModifier.PUBLIC) || + allowProtected && cls.hasModifierProperty(PsiModifier.PROTECTED)) && + cls.getParameterList().getParametersCount() == 0) { return true; } } From fe063b23ca553fabd6315a203b4016d92e066394 Mon Sep 17 00:00:00 2001 From: peter Date: Sun, 2 May 2010 11:39:40 +0100 Subject: [PATCH 050/173] remove duplication --- .../codeInsight/folding/impl/JavaFoldingBuilder.java | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/java/java-impl/src/com/intellij/codeInsight/folding/impl/JavaFoldingBuilder.java b/java/java-impl/src/com/intellij/codeInsight/folding/impl/JavaFoldingBuilder.java index a2455da108b2..54f184930b18 100644 --- a/java/java-impl/src/com/intellij/codeInsight/folding/impl/JavaFoldingBuilder.java +++ b/java/java-impl/src/com/intellij/codeInsight/folding/impl/JavaFoldingBuilder.java @@ -592,16 +592,7 @@ public class JavaFoldingBuilder extends FoldingBuilderEx implements DumbAware { if (!baseClass.hasModifierProperty(PsiModifier.ABSTRACT)) return false; - final PsiMethod[] constructors = baseClass.getConstructors(); - boolean hasEmptyConstructor = constructors.length == 0; - for (final PsiMethod method : constructors) { - if (method.getParameterList().getParametersCount() == 0) { - hasEmptyConstructor = true; - break; - } - } - - if (!hasEmptyConstructor) return false; + if (!PsiUtil.hasDefaultConstructor(baseClass, true)) return false; for (final PsiMethod method : baseClass.getMethods()) { if (method.hasModifierProperty(PsiModifier.ABSTRACT)) { From 690f6a682be681029516a1874c825cdb62e289c6 Mon Sep 17 00:00:00 2001 From: peter Date: Sun, 2 May 2010 13:59:47 +0100 Subject: [PATCH 051/173] closure assignability to 'one method interfaces' infer closure parameter types in OMI variable initializer --- .../groovy/groovypp/src/META-INF/plugin.xml | 1 + .../gpp/GppClosureParameterTypeProvider.java | 97 ++++++++++++++ .../plugins/groovy/gpp/GppTypeConverter.java | 33 ++--- .../psi/AbstractClosureParameterEnhancer.java | 50 +++++++ .../lang/psi/ClosureParameterEnhancer.java | 123 +++++++----------- .../statements/params/GrParameterImpl.java | 8 -- .../synthetic/ClosureSyntheticParameter.java | 13 +- .../impl/types/GrClosureParameterImpl.java | 11 +- .../groovy/lang/GppFunctionalTest.groovy | 34 ++++- 9 files changed, 252 insertions(+), 118 deletions(-) create mode 100644 plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppClosureParameterTypeProvider.java create mode 100644 plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/AbstractClosureParameterEnhancer.java diff --git a/plugins/groovy/groovypp/src/META-INF/plugin.xml b/plugins/groovy/groovypp/src/META-INF/plugin.xml index 0ca7dea4cfbf..70895af0ab7e 100644 --- a/plugins/groovy/groovypp/src/META-INF/plugin.xml +++ b/plugins/groovy/groovypp/src/META-INF/plugin.xml @@ -10,6 +10,7 @@ + diff --git a/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppClosureParameterTypeProvider.java b/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppClosureParameterTypeProvider.java new file mode 100644 index 000000000000..a15a4139d62a --- /dev/null +++ b/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppClosureParameterTypeProvider.java @@ -0,0 +1,97 @@ +package org.jetbrains.plugins.groovy.gpp; + +import com.intellij.codeInsight.generation.OverrideImplementUtil; +import com.intellij.openapi.util.Condition; +import com.intellij.psi.*; +import com.intellij.psi.util.MethodSignature; +import com.intellij.psi.util.MethodSignatureBackedByPsiMethod; +import com.intellij.util.Function; +import com.intellij.util.containers.ContainerUtil; +import org.jetbrains.annotations.Nullable; +import org.jetbrains.plugins.groovy.lang.psi.AbstractClosureParameterEnhancer; +import org.jetbrains.plugins.groovy.lang.psi.api.statements.GrVariable; +import org.jetbrains.plugins.groovy.lang.psi.api.statements.blocks.GrClosableBlock; +import org.jetbrains.plugins.groovy.lang.psi.impl.types.GrClosureSignatureUtil; + +import java.util.Collection; +import java.util.Iterator; +import java.util.List; + +/** + * @author peter + */ +public class GppClosureParameterTypeProvider extends AbstractClosureParameterEnhancer { + @Override + protected PsiType getClosureParameterType(GrClosableBlock closure, int index) { + if (!GppTypeConverter.hasTypedContext(closure)) { + return null; + } + + final PsiElement parent = closure.getParent(); + if (parent instanceof GrVariable) { + return getSingleMethodParameterType(((GrVariable)parent).getDeclaredType(), index, closure); + } + return null; + } + + @Nullable + private static PsiType getSingleMethodParameterType(@Nullable PsiType type, int index, GrClosableBlock closure) { + final PsiType[] signature = findSingleAbstractMethodSignature(type); + if (signature != null && GrClosureSignatureUtil.isSignatureApplicable(GrClosureSignatureUtil.createSignature(closure), signature, closure)) { + return signature.length > index ? signature[index] : PsiType.NULL; + } + return null; + } + + @Nullable + public static PsiType[] findSingleAbstractMethodSignature(@Nullable PsiType type) { + if (type instanceof PsiClassType) { + PsiClassType classType = (PsiClassType)type; + final PsiClassType.ClassResolveResult resolveResult = classType.resolveGenerics(); + final PsiClass psiClass = resolveResult.getElement(); + if (psiClass == null) { + return null; + } + + final PsiSubstitutor substitutor = resolveResult.getSubstitutor(); + final Collection signatures = OverrideImplementUtil.getMethodSignaturesToImplement(psiClass); + for (Iterator iterator = signatures.iterator(); iterator.hasNext();) { + MethodSignature next = iterator.next(); + if (next instanceof MethodSignatureBackedByPsiMethod) { + final PsiMethod method = ((MethodSignatureBackedByPsiMethod)next).getMethod(); + if (hasTraitImplementation(method)) { + iterator.remove(); + } + } + } + + if (signatures.size() == 1) { + final PsiType[] parameterTypes = signatures.iterator().next().getParameterTypes(); + return ContainerUtil.map2Array(parameterTypes, PsiType.class, new Function() { + public PsiType fun(PsiType type) { + return substitutor.substitute(type); + } + }); + } + else if (signatures.isEmpty()) { + final List abstractMethods = ContainerUtil.findAll(psiClass.getMethods(), new Condition() { + public boolean value(PsiMethod method) { + return method.hasModifierProperty(PsiModifier.ABSTRACT) && !hasTraitImplementation(method); + } + }); + if (abstractMethods.size() == 1) { + return ContainerUtil.map2Array(abstractMethods.get(0).getParameterList().getParameters(), PsiType.class, new Function() { + public PsiType fun(PsiParameter psiParameter) { + return substitutor.substitute(psiParameter.getType()); + } + }); + } + } + } + return null; + } + + private static boolean hasTraitImplementation(PsiMethod method) { + return method.getModifierList().findAnnotation("org.mbte.groovypp.runtime.HasDefaultImplementation") != null; + } +} diff --git a/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java b/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java index 2ccf4337c484..55d0f53079c6 100644 --- a/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java +++ b/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java @@ -11,15 +11,22 @@ import org.jetbrains.plugins.groovy.lang.psi.GroovyFile; import org.jetbrains.plugins.groovy.lang.psi.GroovyPsiElement; import org.jetbrains.plugins.groovy.lang.psi.api.GroovyResolveResult; import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.members.GrMember; +import org.jetbrains.plugins.groovy.lang.psi.api.types.GrClosureSignature; +import org.jetbrains.plugins.groovy.lang.psi.impl.GrClosureType; import org.jetbrains.plugins.groovy.lang.psi.impl.GrMapType; import org.jetbrains.plugins.groovy.lang.psi.impl.GrTupleType; import org.jetbrains.plugins.groovy.lang.psi.impl.GroovyResolveResultImpl; +import org.jetbrains.plugins.groovy.lang.psi.impl.types.GrClosureSignatureUtil; /** * @author peter */ public class GppTypeConverter extends GrTypeConverter { + public static boolean hasTypedContext(GroovyPsiElement context) { + return isTyped(PsiTreeUtil.getParentOfType(context, GrMember.class)); + } + private static boolean isTyped(@Nullable PsiModifierListOwner member) { if (member == null) { return false; @@ -52,7 +59,7 @@ public class GppTypeConverter extends GrTypeConverter { @Override public Boolean isConvertible(@NotNull PsiType lType, @NotNull PsiType rType, @NotNull GroovyPsiElement context) { - if (!isTyped(PsiTreeUtil.getParentOfType(context, GrMember.class))) { + if (!hasTypedContext(context)) { return null; } @@ -78,27 +85,23 @@ public class GppTypeConverter extends GrTypeConverter { return null; } + else if (rType instanceof GrClosureType) { + final PsiType[] methodParameters = GppClosureParameterTypeProvider.findSingleAbstractMethodSignature(lType); + final GrClosureSignature signature = ((GrClosureType)rType).getSignature(); + if (methodParameters != null && GrClosureSignatureUtil.isSignatureApplicable(signature, methodParameters, context)) { + return true; + } + return false; + } + - return null; } private static boolean hasDefaultConstructor(PsiType type) { final PsiClass psiClass = PsiUtil.resolveClassInType(type); - if (psiClass == null) { - return false; - } + return psiClass != null && PsiUtil.hasDefaultConstructor(psiClass, true); - final PsiMethod[] constructors = psiClass.getConstructors(); - if (constructors.length == 0) { - return true; - } - for (PsiMethod constructor : constructors) { - if (constructor.getParameterList().getParametersCount() == 0) { - return true; - } - } - return false; } private static boolean hasConstructor(PsiClassType lType, PsiType[] argTypes, GroovyPsiElement context) { diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/AbstractClosureParameterEnhancer.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/AbstractClosureParameterEnhancer.java new file mode 100644 index 000000000000..d1669a4181b8 --- /dev/null +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/AbstractClosureParameterEnhancer.java @@ -0,0 +1,50 @@ +package org.jetbrains.plugins.groovy.lang.psi; + +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiType; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; +import org.jetbrains.plugins.groovy.lang.psi.api.statements.GrVariable; +import org.jetbrains.plugins.groovy.lang.psi.api.statements.blocks.GrClosableBlock; +import org.jetbrains.plugins.groovy.lang.psi.api.statements.params.GrParameter; +import org.jetbrains.plugins.groovy.lang.psi.api.statements.params.GrParameterList; +import org.jetbrains.plugins.groovy.lang.psi.impl.synthetic.ClosureSyntheticParameter; + +import java.util.Arrays; + +/** + * @author peter + */ +public abstract class AbstractClosureParameterEnhancer extends GrVariableEnhancer { + @Override + public PsiType getVariableType(GrVariable variable) { + if (!(variable instanceof GrParameter)) { + return null; + } + + GrClosableBlock closure = variable instanceof ClosureSyntheticParameter + ? ((ClosureSyntheticParameter)variable).getClosure() : findClosureWithArgument(variable.getParent()); + if (closure == null) { + return null; + } + + @SuppressWarnings({"SuspiciousMethodCalls"}) + int index = Arrays.asList(closure.getAllParameters()).indexOf(variable); + assert index >= 0; + return getClosureParameterType(closure, index); + } + + @Nullable + private static GrClosableBlock findClosureWithArgument(@NotNull PsiElement parent) { + if (parent instanceof GrParameterList) { + GrParameterList list = (GrParameterList)parent; + if (list.getParent() instanceof GrClosableBlock) { + return (GrClosableBlock)list.getParent(); + } + } + return null; + } + + @Nullable + protected abstract PsiType getClosureParameterType(GrClosableBlock closure, int index); +} diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/ClosureParameterEnhancer.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/ClosureParameterEnhancer.java index 7b32c77745c8..50ddc7147682 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/ClosureParameterEnhancer.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/ClosureParameterEnhancer.java @@ -5,70 +5,33 @@ import com.intellij.psi.util.InheritanceUtil; import com.intellij.psi.util.PsiUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import org.jetbrains.plugins.groovy.lang.psi.api.statements.GrVariable; import org.jetbrains.plugins.groovy.lang.psi.api.statements.blocks.GrClosableBlock; import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrExpression; import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrParenthesizedExpression; import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrReferenceExpression; import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.arithmetic.GrRangeExpression; import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.path.GrMethodCallExpression; -import org.jetbrains.plugins.groovy.lang.psi.api.statements.params.GrParameter; -import org.jetbrains.plugins.groovy.lang.psi.api.statements.params.GrParameterList; import org.jetbrains.plugins.groovy.lang.psi.impl.GrTupleType; import org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.TypesUtil; -import org.jetbrains.plugins.groovy.lang.psi.impl.synthetic.ClosureSyntheticParameter; - -import java.util.Arrays; /** * @author peter */ -public class ClosureParameterEnhancer extends GrVariableEnhancer { - @Override - public PsiType getVariableType(GrVariable variable) { - if (!(variable instanceof GrParameter)) { - return null; - } +public class ClosureParameterEnhancer extends AbstractClosureParameterEnhancer { - GrClosableBlock closure = variable instanceof ClosureSyntheticParameter ? ((ClosureSyntheticParameter)variable).getClosure() : findClosureWithArgument(variable.getParent()); - if (closure == null) { - return null; - } + @Override + @Nullable + protected PsiType getClosureParameterType(GrClosableBlock closure, int index) { final PsiElement parent = closure.getParent(); if (!(parent instanceof GrMethodCallExpression)) { return null; } - - final PsiParameter[] parameters = closure.getAllParameters(); - @SuppressWarnings({"SuspiciousMethodCalls"}) - int index = Arrays.asList(parameters).indexOf(variable); - assert index >= 0; - - return findClosureParameterType(closure, index, variable, (GrMethodCallExpression)parent, parameters.length); - } - - @Nullable - private static GrClosableBlock findClosureWithArgument(@NotNull PsiElement parent) { - if (parent instanceof GrParameterList) { - GrParameterList list = (GrParameterList)parent; - if (list.getParent() instanceof GrClosableBlock) { - return (GrClosableBlock)list.getParent(); - } - } - return null; - } - - - @Nullable - private static PsiType findClosureParameterType(@NotNull GrClosableBlock closure, - int index, PsiElement context, - final GrMethodCallExpression methodCall, int paramCount) { PsiElementFactory factory = JavaPsiFacade.getInstance(closure.getProject()).getElementFactory(); - String methodName = findMethodName(methodCall); + String methodName = findMethodName((GrMethodCallExpression)parent); //final GrExpression invokedExpression = methodCall.getInvokedExpression(); //PsiType type = findQualifierType(methodCall); - GrExpression expression = methodCall.getInvokedExpression(); + GrExpression expression = ((GrMethodCallExpression)parent).getInvokedExpression(); if (!(expression instanceof GrReferenceExpression)) return null; GrExpression qualifier = ((GrReferenceExpression)expression).getQualifierExpression(); @@ -85,14 +48,14 @@ public class ClosureParameterEnhancer extends GrVariableEnhancer { "find".equals(methodName) || "findAll".equals(methodName) || "findIndexOf".equals(methodName)) { - PsiType res = findTypeForCollection(qualifier, factory, context); + PsiType res = findTypeForCollection(qualifier, factory, closure); if (closure.getParameters().length <= 1 && res != null) { return res; } if (InheritanceUtil.isInheritor(type, CommonClassNames.JAVA_UTIL_MAP)) { if (closure.getParameters().length <= 1) { - return getEntryForMap(type, factory, context); + return getEntryForMap(type, factory, closure); } if (closure.getParameters().length == 2) { if (index == 0) { @@ -105,48 +68,52 @@ public class ClosureParameterEnhancer extends GrVariableEnhancer { else if ("with".equals(methodName) && closure.getParameters().length <= 1) { return type; } - else if ("eachWithIndex".equals(methodName)) { - PsiType res = findTypeForCollection(qualifier, factory, context); - if (closure.getParameters().length == 2 && res != null) { + else { + final PsiParameter[] paramCount = closure.getAllParameters(); + if ("eachWithIndex".equals(methodName)) { + PsiType res = findTypeForCollection(qualifier, factory, closure); + if (closure.getParameters().length == 2 && res != null) { + if (index == 0) { + return res; + } + return factory.createTypeFromText(CommonClassNames.JAVA_LANG_INTEGER, closure); + } + if (InheritanceUtil.isInheritor(type, CommonClassNames.JAVA_UTIL_MAP)) { + if (paramCount.length == 2) { + if (index == 0) { + return getEntryForMap(type, factory, closure); + } + return factory.createTypeFromText(CommonClassNames.JAVA_LANG_INTEGER, closure); + } + if (paramCount.length == 3) { + if (index == 0) { + return PsiUtil.substituteTypeParameter(type, CommonClassNames.JAVA_UTIL_MAP, 0, true); + } + if (index == 1) { + return PsiUtil.substituteTypeParameter(type, CommonClassNames.JAVA_UTIL_MAP, 1, true); + } + return factory.createTypeFromText(CommonClassNames.JAVA_LANG_INTEGER, closure); + } + } + } + else if ("inject".equals(methodName) && paramCount.length == 2) { if (index == 0) { + return factory.createTypeFromText(CommonClassNames.JAVA_LANG_OBJECT, closure); + } + + PsiType res = findTypeForCollection(qualifier, factory, closure); + if (res != null) { return res; } - return factory.createTypeFromText(CommonClassNames.JAVA_LANG_INTEGER, context); - } - if (InheritanceUtil.isInheritor(type, CommonClassNames.JAVA_UTIL_MAP)) { - if (paramCount == 2) { - if (index == 0) { - return getEntryForMap(type, factory, context); - } - return factory.createTypeFromText(CommonClassNames.JAVA_LANG_INTEGER, context); + if (InheritanceUtil.isInheritor(type, CommonClassNames.JAVA_UTIL_MAP)) { + return getEntryForMap(type, factory, closure); } - if (paramCount == 3) { - if (index == 0) { - return PsiUtil.substituteTypeParameter(type, CommonClassNames.JAVA_UTIL_MAP, 0, true); - } - if (index == 1) { - return PsiUtil.substituteTypeParameter(type, CommonClassNames.JAVA_UTIL_MAP, 1, true); - } - return factory.createTypeFromText(CommonClassNames.JAVA_LANG_INTEGER, context); - } - } - } - else if ("inject".equals(methodName) && paramCount == 2) { - if (index == 0) { - return factory.createTypeFromText(CommonClassNames.JAVA_LANG_OBJECT, context); - } - - PsiType res = findTypeForCollection(qualifier, factory, context); - if (res != null) { - return res; - } - if (InheritanceUtil.isInheritor(type, CommonClassNames.JAVA_UTIL_MAP)) { - return getEntryForMap(type, factory, context); } } return null; } + @Nullable private static PsiType getEntryForMap(PsiType map, PsiElementFactory factory, PsiElement context) { PsiType key = PsiUtil.substituteTypeParameter(map, CommonClassNames.JAVA_UTIL_MAP, 0, true); diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/params/GrParameterImpl.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/params/GrParameterImpl.java index cbf21f4789b7..cb47e248809a 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/params/GrParameterImpl.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/params/GrParameterImpl.java @@ -201,12 +201,4 @@ public class GrParameterImpl extends GrVariableImpl implements GrParameter { return PsiAnnotation.EMPTY_ARRAY; } - @Override - public PsiType getDeclaredType() { - PsiType type = super.getDeclaredType(); - if (type == null) { - type = getTypeGroovy(); - } - return type; - } } diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/synthetic/ClosureSyntheticParameter.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/synthetic/ClosureSyntheticParameter.java index c63422dab1d6..9a4200f43867 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/synthetic/ClosureSyntheticParameter.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/synthetic/ClosureSyntheticParameter.java @@ -29,6 +29,7 @@ import org.jetbrains.plugins.groovy.lang.psi.api.statements.GrVariableBase; import org.jetbrains.plugins.groovy.lang.psi.api.statements.blocks.GrClosableBlock; import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrExpression; import org.jetbrains.plugins.groovy.lang.psi.api.statements.params.GrParameter; +import org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.TypesUtil; /** * @author ven @@ -53,7 +54,11 @@ public class ClosureSyntheticParameter extends LightParameter implements Navigat @Nullable public PsiType getTypeGroovy() { - return GrVariableEnhancer.getEnhancedType(this); + PsiType typeGroovy = GrVariableEnhancer.getEnhancedType(this); + if (typeGroovy instanceof PsiIntersectionType) { + return ((PsiIntersectionType)typeGroovy).getRepresentative(); + } + return typeGroovy; } @Nullable @@ -83,11 +88,7 @@ public class ClosureSyntheticParameter extends LightParameter implements Navigat @NotNull @Override public PsiType getType() { - PsiType typeGroovy = getTypeGroovy(); - if (typeGroovy instanceof PsiIntersectionType) { - typeGroovy=((PsiIntersectionType)typeGroovy).getRepresentative(); - } - return typeGroovy != null ? typeGroovy : super.getType(); + return TypesUtil.getJavaLangObject(this); } @Override diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/types/GrClosureParameterImpl.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/types/GrClosureParameterImpl.java index 39ee2d7315cf..15bcdd1daab8 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/types/GrClosureParameterImpl.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/types/GrClosureParameterImpl.java @@ -35,16 +35,7 @@ public class GrClosureParameterImpl implements GrClosureParameter { public GrClosureParameterImpl(PsiType type, boolean optional, GrExpression defaultInitializer) { myType = type; myOptional = optional; - if (myOptional) { - myDefaultInitializer = defaultInitializer; - } - else { - myDefaultInitializer = null; - } - } - - public GrClosureParameterImpl(PsiParameter parameter) { - this(parameter, PsiSubstitutor.EMPTY); + myDefaultInitializer = optional ? defaultInitializer : null; } public GrClosureParameterImpl(PsiParameter parameter, PsiSubstitutor substitutor) { diff --git a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy index 26937ea97a56..0cdf2394eed9 100644 --- a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy +++ b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy @@ -20,7 +20,12 @@ class GppFunctionalTest extends LightCodeInsightFixtureTestCase { protected void setUp() { super.setUp() - myFixture.addClass("package groovy.lang; public @interface Typed {}") + myFixture.addClass"package groovy.lang; public @interface Typed {}" + myFixture.addClass """ +package groovy.lang; +public interface Function1 { + public abstract R call(T param); +}""" } public void testCastListToIterable() throws Exception { @@ -136,4 +141,31 @@ def foo(File f) {} assert target.text.contains("List l") } + public void testCastClosureToOneMethodClass() throws Exception { + myFixture.addClass """ +public abstract class Foo { + public abstract void foo(String s); + public abstract void bar(String s); +} +public interface Action { + void act(); +} +""" + + testAssignability """ +Foo f = { println it } +Function1 f1 = { println it } +Function1 f2 = { x=42 -> println x } +Runnable r = { println it } +Action a = { println it } +Action a1 = { a = 2 -> println a } +""" + } + + public void testClosureParameterTypesInAssignment() throws Exception { + configureTyped "Function1 f = { it.subs }" + myFixture.completeBasic() + assertSameElements myFixture.lookupElementStrings, "subSequence", "substring", "substring" + } + } From c50d337b36a2c3e502b9bb7327ced29095cc7d3d Mon Sep 17 00:00:00 2001 From: peter Date: Sun, 2 May 2010 15:11:46 +0100 Subject: [PATCH 052/173] infer OMI closure parameters in various calls --- .../gpp/GppClosureParameterTypeProvider.java | 15 +++-- .../GroovyParameterInfoHandler.java | 39 +----------- .../groovy/lang/psi/GroovyElementVisitor.java | 2 +- .../GroovyExpectedTypesProvider.java | 61 ++++++++++++------- .../groovy/lang/resolve/ResolveUtil.java | 42 +++++++++++++ .../groovy/lang/GppFunctionalTest.groovy | 44 +++++++++++++ 6 files changed, 140 insertions(+), 63 deletions(-) diff --git a/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppClosureParameterTypeProvider.java b/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppClosureParameterTypeProvider.java index a15a4139d62a..ce141d23e184 100644 --- a/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppClosureParameterTypeProvider.java +++ b/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppClosureParameterTypeProvider.java @@ -9,8 +9,11 @@ import com.intellij.util.Function; import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.Nullable; import org.jetbrains.plugins.groovy.lang.psi.AbstractClosureParameterEnhancer; -import org.jetbrains.plugins.groovy.lang.psi.api.statements.GrVariable; import org.jetbrains.plugins.groovy.lang.psi.api.statements.blocks.GrClosableBlock; +import org.jetbrains.plugins.groovy.lang.psi.expectedTypes.GroovyExpectedTypesProvider; +import org.jetbrains.plugins.groovy.lang.psi.expectedTypes.SubtypeConstraint; +import org.jetbrains.plugins.groovy.lang.psi.expectedTypes.TypeConstraint; +import org.jetbrains.plugins.groovy.lang.psi.expectedTypes.TypeEquals; import org.jetbrains.plugins.groovy.lang.psi.impl.types.GrClosureSignatureUtil; import java.util.Collection; @@ -27,9 +30,13 @@ public class GppClosureParameterTypeProvider extends AbstractClosureParameterEnh return null; } - final PsiElement parent = closure.getParent(); - if (parent instanceof GrVariable) { - return getSingleMethodParameterType(((GrVariable)parent).getDeclaredType(), index, closure); + for (TypeConstraint constraint : GroovyExpectedTypesProvider.calculateTypeConstraints(closure)) { + if (constraint instanceof SubtypeConstraint || constraint instanceof TypeEquals) { + final PsiType suggestion = getSingleMethodParameterType(constraint.getDefaultType(), index, closure); + if (suggestion != null) { + return suggestion; + } + } } return null; } diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/parameterInfo/GroovyParameterInfoHandler.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/parameterInfo/GroovyParameterInfoHandler.java index ff835a8e98f2..851b6af094d4 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/parameterInfo/GroovyParameterInfoHandler.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/parameterInfo/GroovyParameterInfoHandler.java @@ -30,23 +30,20 @@ import org.jetbrains.annotations.Nullable; import org.jetbrains.plugins.groovy.lang.documentation.GroovyPresentationUtil; import org.jetbrains.plugins.groovy.lang.psi.GroovyPsiElement; import org.jetbrains.plugins.groovy.lang.psi.api.GroovyResolveResult; -import org.jetbrains.plugins.groovy.lang.psi.api.statements.GrConstructorInvocation; import org.jetbrains.plugins.groovy.lang.psi.api.statements.GrVariable; import org.jetbrains.plugins.groovy.lang.psi.api.statements.arguments.GrArgumentList; import org.jetbrains.plugins.groovy.lang.psi.api.statements.arguments.GrNamedArgument; -import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrApplicationStatement; import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrCall; import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrExpression; import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrReferenceExpression; -import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.path.GrCallExpression; import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.path.GrMethodCallExpression; import org.jetbrains.plugins.groovy.lang.psi.api.statements.params.GrParameter; -import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.GrAnonymousClassDefinition; import org.jetbrains.plugins.groovy.lang.psi.api.types.GrClosureParameter; import org.jetbrains.plugins.groovy.lang.psi.impl.GrClosureType; import org.jetbrains.plugins.groovy.lang.psi.impl.GroovyResolveResultImpl; import org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.TypesUtil; import org.jetbrains.plugins.groovy.lang.psi.util.PsiUtil; +import org.jetbrains.plugins.groovy.lang.resolve.ResolveUtil; import java.util.ArrayList; import java.util.List; @@ -114,31 +111,7 @@ public class GroovyParameterInfoHandler implements ParameterInfoHandler namedElements = ContainerUtil.findAll(variants, new Condition() { public boolean value(GroovyResolveResult groovyResolveResult) { return groovyResolveResult.getElement() instanceof PsiNamedElement; @@ -148,14 +121,6 @@ public class GroovyParameterInfoHandler implements ParameterInfoHandler constraints = new ArrayList(); + for (GroovyResolveResult variant : methodCall.getMethodVariants()) { + PsiParameter[] parameters = getCallParameters(variant); + if (parameters == null || parameters.length == 0) continue; + + constraints.add(SubtypeConstraint.create(variant.getSubstitutor().substitute(parameters[parameters.length - 1].getType()))); + } + if (!constraints.isEmpty()) { + myResult = constraints.toArray(new TypeConstraint[constraints.size()]); + } + } } @@ -110,31 +128,32 @@ public class GroovyExpectedTypesProvider { } public void visitArgumentList(GrArgumentList list) { - PsiElement parent = list.getParent(); - List constraints = new ArrayList(); - if (parent instanceof GrCallExpression) { - GroovyResolveResult[] variants = ((GrCallExpression)parent).getMethodVariants(); - int idx = list.getExpressionArgumentIndex(myExpression); - for (GroovyResolveResult variant : variants) { - PsiElement element = variant.getElement(); - PsiParameter[] parameters = null; - if (element instanceof GrParametersOwner) { - parameters = ((GrParametersOwner)element).getParameters(); - } - else if (element instanceof PsiMethod) { - parameters = ((PsiMethod)element).getParameterList().getParameters(); - } - if (parameters == null || parameters.length <= idx) continue; - PsiType parameterType = variant.getSubstitutor().substitute(parameters[idx].getType()); - constraints.add(SubtypeConstraint.create(parameterType)); - } - } + int idx = list.getExpressionArgumentIndex(myExpression); + List constraints = new ArrayList(); + for (GroovyResolveResult variant : ResolveUtil.getMethodVariants(list)) { + PsiParameter[] parameters = getCallParameters(variant); + if (parameters == null || parameters.length <= idx) continue; + PsiType parameterType = variant.getSubstitutor().substitute(parameters[idx].getType()); + constraints.add(SubtypeConstraint.create(parameterType)); + } if (!constraints.isEmpty()) { myResult = constraints.toArray(new TypeConstraint[constraints.size()]); } } + @Nullable + private static PsiParameter[] getCallParameters(GroovyResolveResult variant) { + PsiElement element = variant.getElement(); + if (element instanceof GrParametersOwner) { + return ((GrParametersOwner)element).getParameters(); + } + else if (element instanceof PsiMethod) { + return ((PsiMethod)element).getParameterList().getParameters(); + } + return null; + } + public void visitAssignmentExpression(GrAssignmentExpression expression) { GrExpression rValue = expression.getRValue(); if (myExpression.equals(rValue)) { diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/resolve/ResolveUtil.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/resolve/ResolveUtil.java index 33170c593d10..f8b3b7cb714a 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/resolve/ResolveUtil.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/resolve/ResolveUtil.java @@ -37,13 +37,17 @@ import org.jetbrains.plugins.groovy.lang.psi.api.GroovyResolveResult; import org.jetbrains.plugins.groovy.lang.psi.api.statements.*; import org.jetbrains.plugins.groovy.lang.psi.api.statements.arguments.GrArgumentList; import org.jetbrains.plugins.groovy.lang.psi.api.statements.blocks.GrClosableBlock; +import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrApplicationStatement; import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrExpression; import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrReferenceExpression; +import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.path.GrCallExpression; import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.path.GrMethodCallExpression; +import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.GrAnonymousClassDefinition; import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.GrTypeDefinition; import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.members.GrGdkMethod; import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.members.GrMember; import org.jetbrains.plugins.groovy.lang.psi.impl.GroovyPsiManager; +import org.jetbrains.plugins.groovy.lang.psi.impl.GroovyResolveResultImpl; import org.jetbrains.plugins.groovy.lang.resolve.processors.ClassResolverProcessor; import org.jetbrains.plugins.groovy.lang.resolve.processors.PropertyResolverProcessor; import org.jetbrains.plugins.groovy.lang.resolve.processors.ResolverProcessor; @@ -419,4 +423,42 @@ public class ResolveUtil { return true; } + + public static GroovyResolveResult[] getMethodVariants(GroovyPsiElement place) { + final PsiElement parent = place.getParent(); + GroovyResolveResult[] variants = GroovyResolveResult.EMPTY_ARRAY; + if (parent instanceof GrCallExpression) { + variants = ((GrCallExpression) parent).getMethodVariants(); + } else if (parent instanceof GrConstructorInvocation) { + final PsiClass clazz = ((GrConstructorInvocation) parent).getDelegatedClass(); + if (clazz != null) { + final PsiMethod[] constructors = clazz.getConstructors(); + variants = getConstructorResolveResult(constructors, place); + } + } else if (parent instanceof GrAnonymousClassDefinition) { + final PsiElement element = ((GrAnonymousClassDefinition)parent).getBaseClassReferenceGroovy().resolve(); + if (element instanceof PsiClass) { + final PsiMethod[] constructors = ((PsiClass)element).getConstructors(); + variants = getConstructorResolveResult(constructors, place); + } + } + else if (parent instanceof GrApplicationStatement) { + final GrExpression funExpr = ((GrApplicationStatement) parent).getFunExpression(); + if (funExpr instanceof GrReferenceExpression) { + variants = ((GrReferenceExpression) funExpr).getSameNameVariants(); + } + } else if (place instanceof GrReferenceExpression) { + variants = ((GrReferenceExpression) place).getSameNameVariants(); + } + return variants; + } + + public static GroovyResolveResult[] getConstructorResolveResult(PsiMethod[] constructors, PsiElement place) { + GroovyResolveResult[] variants = new GroovyResolveResult[constructors.length]; + for (int i = 0; i < constructors.length; i++) { + final boolean isAccessible = com.intellij.psi.util.PsiUtil.isAccessible(constructors[i], place, null); + variants[i] = new GroovyResolveResultImpl(constructors[i], isAccessible); + } + return variants; + } } diff --git a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy index 0cdf2394eed9..8f35fc1c653f 100644 --- a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy +++ b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy @@ -1,11 +1,13 @@ package org.jetbrains.plugins.groovy.lang +import com.intellij.codeInsight.lookup.LookupManager import com.intellij.psi.PsiFile import com.intellij.testFramework.LightProjectDescriptor import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase import org.jetbrains.annotations.NotNull import org.jetbrains.plugins.groovy.codeInspection.assignment.GroovyAssignabilityCheckInspection import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.members.GrMethod +import junit.framework.ComparisonFailure /** * @author peter @@ -168,4 +170,46 @@ Action a1 = { a = 2 -> println a } assertSameElements myFixture.lookupElementStrings, "subSequence", "substring", "substring" } + public void testClosureParameterTypesInMethodInvocation() throws Exception { + myFixture.addClass """ +package groovy.lang; +public interface Function2 { + public abstract R call(T param, V param2); +}""" + + myFixture.configureByText "a.groovy", """ +def foo(int a = 1, Function1 f) {} +def foo(String s) {} +def foo(Function2 f) {} + +@Typed def bar() { + foo { it.subsREF } + foo(1, { it.subsREF }) + foo 1, { it.subsREF } + foo(1) { it.subsREF } + foo { a -> a.subsREF } + foo { a, int b=2 -> a.subsREF } + foo { a, b -> b.subsREF } +} +""" + def text = myFixture.file.text + def pos = 0 + while (true) { + pos = text.indexOf("REF", pos+1) + if (pos < 0) { + break + } + myFixture.editor.caretModel.moveToOffset pos + myFixture.completeBasic() + try { + assertSameElements myFixture.lookupElementStrings, "subSequence", "substring", "substring" + } + catch (ComparisonFailure ex) { + println "at: " + text[0.." + text[pos.. Date: Sun, 2 May 2010 15:19:30 +0100 Subject: [PATCH 053/173] a couple more tests --- .../plugins/groovy/lang/GppFunctionalTest.groovy | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy index 8f35fc1c653f..15ababa3ed2c 100644 --- a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy +++ b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy @@ -158,6 +158,7 @@ public interface Action { Foo f = { println it } Function1 f1 = { println it } Function1 f2 = { x=42 -> println x } +Function1 f3 = { int x -> println x } Runnable r = { println it } Action a = { println it } Action a1 = { a = 2 -> println a } @@ -212,4 +213,12 @@ def foo(Function2 f) {} } } + public void testReturnTypeOneMethodInterface() throws Exception { + myFixture.configureByText "a.groovy", """ +@Typed Function1 bar() { + return { it.subsREF } +} +""" + } + } From 88f68cb015ba86ad4b29aec00010ef4467cf4626 Mon Sep 17 00:00:00 2001 From: peter Date: Sun, 2 May 2010 16:37:33 +0100 Subject: [PATCH 054/173] recognize parameter types of closures, overridding methods via map literal syntax --- .../gpp/GppClosureParameterTypeProvider.java | 161 ++++++++++++------ .../GroovyExpectedTypesProvider.java | 19 ++- .../groovy/lang/GppFunctionalTest.groovy | 21 ++- 3 files changed, 146 insertions(+), 55 deletions(-) diff --git a/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppClosureParameterTypeProvider.java b/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppClosureParameterTypeProvider.java index ce141d23e184..98cd311bf484 100644 --- a/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppClosureParameterTypeProvider.java +++ b/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppClosureParameterTypeProvider.java @@ -2,23 +2,24 @@ package org.jetbrains.plugins.groovy.gpp; import com.intellij.codeInsight.generation.OverrideImplementUtil; import com.intellij.openapi.util.Condition; +import com.intellij.openapi.util.Pair; import com.intellij.psi.*; -import com.intellij.psi.util.MethodSignature; -import com.intellij.psi.util.MethodSignatureBackedByPsiMethod; +import com.intellij.psi.infos.CandidateInfo; import com.intellij.util.Function; import com.intellij.util.containers.ContainerUtil; +import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.plugins.groovy.lang.psi.AbstractClosureParameterEnhancer; +import org.jetbrains.plugins.groovy.lang.psi.api.auxiliary.GrListOrMap; +import org.jetbrains.plugins.groovy.lang.psi.api.statements.arguments.GrArgumentLabel; +import org.jetbrains.plugins.groovy.lang.psi.api.statements.arguments.GrNamedArgument; import org.jetbrains.plugins.groovy.lang.psi.api.statements.blocks.GrClosableBlock; +import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrExpression; import org.jetbrains.plugins.groovy.lang.psi.expectedTypes.GroovyExpectedTypesProvider; -import org.jetbrains.plugins.groovy.lang.psi.expectedTypes.SubtypeConstraint; import org.jetbrains.plugins.groovy.lang.psi.expectedTypes.TypeConstraint; -import org.jetbrains.plugins.groovy.lang.psi.expectedTypes.TypeEquals; import org.jetbrains.plugins.groovy.lang.psi.impl.types.GrClosureSignatureUtil; -import java.util.Collection; -import java.util.Iterator; -import java.util.List; +import java.util.*; /** * @author peter @@ -30,14 +31,67 @@ public class GppClosureParameterTypeProvider extends AbstractClosureParameterEnh return null; } - for (TypeConstraint constraint : GroovyExpectedTypesProvider.calculateTypeConstraints(closure)) { - if (constraint instanceof SubtypeConstraint || constraint instanceof TypeEquals) { - final PsiType suggestion = getSingleMethodParameterType(constraint.getDefaultType(), index, closure); - if (suggestion != null) { - return suggestion; + final Pair pair = getOverriddenMethod(closure); + if (pair != null) { + final PsiParameter[] parameters = pair.first.getParameterList().getParameters(); + if (parameters.length > index) { + return pair.second.substitute(parameters[index].getType()); + } + return null; + } + + for (PsiType constraint : getExpectedTypes(closure)) { + final PsiType suggestion = getSingleMethodParameterType(constraint, index, closure); + if (suggestion != null) { + return suggestion; + } + } + return null; + } + + private static Set getExpectedTypes(GrExpression element) { + final LinkedHashSet result = new LinkedHashSet(); + for (TypeConstraint constraint : GroovyExpectedTypesProvider.calculateTypeConstraints(element)) { + result.add(constraint.getDefaultType()); + } + return result; + } + + @Nullable + private static Pair getOverriddenMethod(GrClosableBlock closure) { + final PsiElement parent = closure.getParent(); + if (!(parent instanceof GrNamedArgument)) { + return null; + } + + final GrArgumentLabel label = ((GrNamedArgument)parent).getLabel(); + if (label == null) { + return null; + } + + final String methodName = label.getName(); + if (methodName == null) { + return null; + } + + final PsiElement map = parent.getParent(); + if (map instanceof GrListOrMap && ((GrListOrMap)map).isMap()) { + for (PsiType expected : getExpectedTypes((GrExpression)map)) { + if (expected instanceof PsiClassType) { + final List> pairs = getMethodsToOverrideImplementInInheritor((PsiClassType)expected, false); + final List> withName = + ContainerUtil.findAll(pairs, new Condition>() { + public boolean value(Pair pair) { + return methodName.equals(pair.first.getName()); + } + }); + if (withName.size() == 1) { + return withName.get(0); + } } } } + return null; } @@ -53,51 +107,58 @@ public class GppClosureParameterTypeProvider extends AbstractClosureParameterEnh @Nullable public static PsiType[] findSingleAbstractMethodSignature(@Nullable PsiType type) { if (type instanceof PsiClassType) { - PsiClassType classType = (PsiClassType)type; - final PsiClassType.ClassResolveResult resolveResult = classType.resolveGenerics(); - final PsiClass psiClass = resolveResult.getElement(); - if (psiClass == null) { - return null; - } - - final PsiSubstitutor substitutor = resolveResult.getSubstitutor(); - final Collection signatures = OverrideImplementUtil.getMethodSignaturesToImplement(psiClass); - for (Iterator iterator = signatures.iterator(); iterator.hasNext();) { - MethodSignature next = iterator.next(); - if (next instanceof MethodSignatureBackedByPsiMethod) { - final PsiMethod method = ((MethodSignatureBackedByPsiMethod)next).getMethod(); - if (hasTraitImplementation(method)) { - iterator.remove(); - } - } - } - - if (signatures.size() == 1) { - final PsiType[] parameterTypes = signatures.iterator().next().getParameterTypes(); - return ContainerUtil.map2Array(parameterTypes, PsiType.class, new Function() { - public PsiType fun(PsiType type) { - return substitutor.substitute(type); + List> result = getMethodsToOverrideImplementInInheritor((PsiClassType)type, true); + if (result.size() == 1) { + final Pair pair = result.get(0); + return ContainerUtil.map2Array(pair.first.getParameterList().getParameters(), PsiType.class, new Function() { + public PsiType fun(PsiParameter psiParameter) { + return pair.second.substitute(psiParameter.getType()); } }); } - else if (signatures.isEmpty()) { - final List abstractMethods = ContainerUtil.findAll(psiClass.getMethods(), new Condition() { - public boolean value(PsiMethod method) { - return method.hasModifierProperty(PsiModifier.ABSTRACT) && !hasTraitImplementation(method); - } - }); - if (abstractMethods.size() == 1) { - return ContainerUtil.map2Array(abstractMethods.get(0).getParameterList().getParameters(), PsiType.class, new Function() { - public PsiType fun(PsiParameter psiParameter) { - return substitutor.substitute(psiParameter.getType()); - } - }); - } - } } return null; } + @NotNull + private static List> getMethodsToOverrideImplementInInheritor(PsiClassType classType, boolean toImplement) { + final PsiClassType.ClassResolveResult resolveResult = classType.resolveGenerics(); + final PsiClass psiClass = resolveResult.getElement(); + if (psiClass == null) { + return Collections.emptyList(); + } + + List> over = getMethodsToOverrideImplement(psiClass, false); + List> impl = getMethodsToOverrideImplement(psiClass, true); + + for (PsiMethod method : psiClass.getMethods()) { + (method.hasModifierProperty(PsiModifier.ABSTRACT) ? impl : over).add(Pair.create(method, PsiSubstitutor.EMPTY)); + } + + for (Iterator> iterator = impl.iterator(); iterator.hasNext();) { + Pair pair = iterator.next(); + if (hasTraitImplementation(pair.first)) { + iterator.remove(); + over.add(pair); + } + } + + final List> result = toImplement ? impl : over; + for (int i = 0, resultSize = result.size(); i < resultSize; i++) { + Pair pair = result.get(i); + result.set(i, Pair.create(pair.first, resolveResult.getSubstitutor().putAll(pair.second))); + } + return result; + } + + private static ArrayList> getMethodsToOverrideImplement(PsiClass psiClass, final boolean toImplement) { + final ArrayList> result = new ArrayList>(); + for (CandidateInfo info : OverrideImplementUtil.getMethodsToOverrideImplement(psiClass, toImplement)) { + result.add(Pair.create((PsiMethod) info.getElement(), info.getSubstitutor())); + } + return result; + } + private static boolean hasTraitImplementation(PsiMethod method) { return method.getModifierList().findAnnotation("org.mbte.groovypp.runtime.HasDefaultImplementation") != null; } diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/expectedTypes/GroovyExpectedTypesProvider.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/expectedTypes/GroovyExpectedTypesProvider.java index c74508a4ce46..41d04fdc276a 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/expectedTypes/GroovyExpectedTypesProvider.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/expectedTypes/GroovyExpectedTypesProvider.java @@ -22,12 +22,10 @@ import org.jetbrains.annotations.Nullable; import org.jetbrains.plugins.groovy.lang.psi.GroovyElementVisitor; import org.jetbrains.plugins.groovy.lang.psi.GroovyPsiElement; import org.jetbrains.plugins.groovy.lang.psi.api.GroovyResolveResult; -import org.jetbrains.plugins.groovy.lang.psi.api.statements.GrIfStatement; -import org.jetbrains.plugins.groovy.lang.psi.api.statements.GrParametersOwner; -import org.jetbrains.plugins.groovy.lang.psi.api.statements.GrVariable; -import org.jetbrains.plugins.groovy.lang.psi.api.statements.GrWhileStatement; +import org.jetbrains.plugins.groovy.lang.psi.api.statements.*; import org.jetbrains.plugins.groovy.lang.psi.api.statements.arguments.GrArgumentList; import org.jetbrains.plugins.groovy.lang.psi.api.statements.blocks.GrClosableBlock; +import org.jetbrains.plugins.groovy.lang.psi.api.statements.blocks.GrOpenBlock; import org.jetbrains.plugins.groovy.lang.psi.api.statements.branch.GrReturnStatement; import org.jetbrains.plugins.groovy.lang.psi.api.statements.branch.GrThrowStatement; import org.jetbrains.plugins.groovy.lang.psi.api.statements.clauses.GrTraditionalForClause; @@ -109,6 +107,19 @@ public class GroovyExpectedTypesProvider { } } + @Override + public void visitOpenBlock(GrOpenBlock block) { + if (block.getParent() instanceof PsiMethod) { + final GrStatement[] statements = block.getStatements(); + if (statements.length > 0 && myExpression.equals(statements[statements.length - 1])) { + final PsiType type = ((PsiMethod)block.getParent()).getReturnType(); + if (type != null) { + myResult = new TypeConstraint[]{new SubtypeConstraint(type, type)}; + } + } + } + } + public void visitIfStatement(GrIfStatement ifStatement) { if (myExpression.equals(ifStatement.getCondition())) { myResult = new TypeConstraint[]{new SubtypeConstraint(TypesUtil.getJavaLangObject(ifStatement), PsiType.BOOLEAN)}; diff --git a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy index 15ababa3ed2c..c639aa230e5a 100644 --- a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy +++ b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy @@ -8,6 +8,7 @@ import org.jetbrains.annotations.NotNull import org.jetbrains.plugins.groovy.codeInspection.assignment.GroovyAssignabilityCheckInspection import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.members.GrMethod import junit.framework.ComparisonFailure +import com.intellij.psi.JavaPsiFacade /** * @author peter @@ -28,6 +29,8 @@ package groovy.lang; public interface Function1 { public abstract R call(T param); }""" + + myFixture.allowTreeAccessForFile JavaPsiFacade.getInstance(project).findClass(Object.name).containingFile.navigationElement.containingFile.virtualFile } public void testCastListToIterable() throws Exception { @@ -216,9 +219,25 @@ def foo(Function2 f) {} public void testReturnTypeOneMethodInterface() throws Exception { myFixture.configureByText "a.groovy", """ @Typed Function1 bar() { - return { it.subsREF } + { it.subs } } """ + myFixture.completeBasic() + assertSameElements myFixture.lookupElementStrings, "subSequence", "substring", "substring" + } + + public void testClosureInMapInstantiation() throws Exception { + myFixture.configureByText "a.groovy", """ +class Foo { + int foo(T a) {} +} + +@Typed Foo bar() { + return [foo: { it.subs }] +} +""" + myFixture.completeBasic() + assertSameElements myFixture.lookupElementStrings, "subSequence", "substring", "substring" } } From fa6abf812a4fb33a80843b4a4daab382078adebb Mon Sep 17 00:00:00 2001 From: peter Date: Sun, 2 May 2010 18:35:59 +0100 Subject: [PATCH 055/173] recognize OMI when instatiating objects as list literals --- plugins/groovy/groovypp/groovypp.iml | 1 + .../groovy/groovypp/src/META-INF/plugin.xml | 3 +- .../gpp/GppClosureParameterTypeProvider.java | 45 +++++++++--- .../gpp/GppExpectedTypesContributor.java | 69 +++++++++++++++++++ .../plugins/groovy/gpp/GppTypeConverter.java | 12 ++-- plugins/groovy/src/META-INF/plugin.xml | 1 + .../GroovyExpectedTypesContributor.java | 16 +++++ .../GroovyExpectedTypesProvider.java | 26 +++++-- .../groovy/lang/GppFunctionalTest.groovy | 14 ++++ 9 files changed, 166 insertions(+), 21 deletions(-) create mode 100644 plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppExpectedTypesContributor.java create mode 100644 plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/expectedTypes/GroovyExpectedTypesContributor.java diff --git a/plugins/groovy/groovypp/groovypp.iml b/plugins/groovy/groovypp/groovypp.iml index e5156fdc12ec..c80576200148 100644 --- a/plugins/groovy/groovypp/groovypp.iml +++ b/plugins/groovy/groovypp/groovypp.iml @@ -11,6 +11,7 @@ + diff --git a/plugins/groovy/groovypp/src/META-INF/plugin.xml b/plugins/groovy/groovypp/src/META-INF/plugin.xml index 70895af0ab7e..9358b1c52fc4 100644 --- a/plugins/groovy/groovypp/src/META-INF/plugin.xml +++ b/plugins/groovy/groovypp/src/META-INF/plugin.xml @@ -3,13 +3,14 @@ Groovy++ Support Adds code assistance for the Groovy++ features 0.1 - + JetBrains Inc. org.intellij.groovy + diff --git a/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppClosureParameterTypeProvider.java b/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppClosureParameterTypeProvider.java index 98cd311bf484..7a9548292da7 100644 --- a/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppClosureParameterTypeProvider.java +++ b/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppClosureParameterTypeProvider.java @@ -10,13 +10,14 @@ import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.plugins.groovy.lang.psi.AbstractClosureParameterEnhancer; +import org.jetbrains.plugins.groovy.lang.psi.api.GroovyResolveResult; import org.jetbrains.plugins.groovy.lang.psi.api.auxiliary.GrListOrMap; import org.jetbrains.plugins.groovy.lang.psi.api.statements.arguments.GrArgumentLabel; import org.jetbrains.plugins.groovy.lang.psi.api.statements.arguments.GrNamedArgument; import org.jetbrains.plugins.groovy.lang.psi.api.statements.blocks.GrClosableBlock; import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrExpression; import org.jetbrains.plugins.groovy.lang.psi.expectedTypes.GroovyExpectedTypesProvider; -import org.jetbrains.plugins.groovy.lang.psi.expectedTypes.TypeConstraint; +import org.jetbrains.plugins.groovy.lang.psi.impl.GrTupleType; import org.jetbrains.plugins.groovy.lang.psi.impl.types.GrClosureSignatureUtil; import java.util.*; @@ -40,7 +41,37 @@ public class GppClosureParameterTypeProvider extends AbstractClosureParameterEnh return null; } - for (PsiType constraint : getExpectedTypes(closure)) { + final PsiElement parent = closure.getParent(); + if (parent instanceof GrListOrMap) { + final GrListOrMap list = (GrListOrMap)parent; + if (!list.isMap()) { + final PsiType listType = list.getType(); + final int argIndex = Arrays.asList(list.getInitializers()).indexOf(closure); + assert argIndex >= 0; + if (listType instanceof GrTupleType) { + for (PsiType type : GroovyExpectedTypesProvider.getDefaultExpectedTypes(list)) { + if (type instanceof PsiClassType) { + for (GroovyResolveResult resolveResult : GppTypeConverter + .getConstructorCandidates((PsiClassType)type, ((GrTupleType)listType).getComponentTypes(), closure)) { + final PsiElement method = resolveResult.getElement(); + if (method instanceof PsiMethod && ((PsiMethod)method).isConstructor()) { + final PsiType toCastTo = + resolveResult.getSubstitutor().substitute(((PsiMethod)method).getParameterList().getParameters()[argIndex].getType()); + final PsiType suggestion = getSingleMethodParameterType(toCastTo, index, closure); + if (suggestion != null) { + return suggestion; + } + } + + } + } + } + } + return null; + } + } + + for (PsiType constraint : GroovyExpectedTypesProvider.getDefaultExpectedTypes(closure)) { final PsiType suggestion = getSingleMethodParameterType(constraint, index, closure); if (suggestion != null) { return suggestion; @@ -49,14 +80,6 @@ public class GppClosureParameterTypeProvider extends AbstractClosureParameterEnh return null; } - private static Set getExpectedTypes(GrExpression element) { - final LinkedHashSet result = new LinkedHashSet(); - for (TypeConstraint constraint : GroovyExpectedTypesProvider.calculateTypeConstraints(element)) { - result.add(constraint.getDefaultType()); - } - return result; - } - @Nullable private static Pair getOverriddenMethod(GrClosableBlock closure) { final PsiElement parent = closure.getParent(); @@ -76,7 +99,7 @@ public class GppClosureParameterTypeProvider extends AbstractClosureParameterEnh final PsiElement map = parent.getParent(); if (map instanceof GrListOrMap && ((GrListOrMap)map).isMap()) { - for (PsiType expected : getExpectedTypes((GrExpression)map)) { + for (PsiType expected : GroovyExpectedTypesProvider.getDefaultExpectedTypes((GrExpression)map)) { if (expected instanceof PsiClassType) { final List> pairs = getMethodsToOverrideImplementInInheritor((PsiClassType)expected, false); final List> withName = diff --git a/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppExpectedTypesContributor.java b/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppExpectedTypesContributor.java new file mode 100644 index 000000000000..0c97a5c4beb6 --- /dev/null +++ b/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppExpectedTypesContributor.java @@ -0,0 +1,69 @@ +package org.jetbrains.plugins.groovy.gpp; + +import com.intellij.psi.*; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.plugins.groovy.lang.psi.api.GroovyResolveResult; +import org.jetbrains.plugins.groovy.lang.psi.api.auxiliary.GrListOrMap; +import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrExpression; +import org.jetbrains.plugins.groovy.lang.psi.expectedTypes.GroovyExpectedTypesContributor; +import org.jetbrains.plugins.groovy.lang.psi.expectedTypes.GroovyExpectedTypesProvider; +import org.jetbrains.plugins.groovy.lang.psi.expectedTypes.SubtypeConstraint; +import org.jetbrains.plugins.groovy.lang.psi.expectedTypes.TypeConstraint; +import org.jetbrains.plugins.groovy.lang.psi.impl.GrTupleType; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +/** + * @author peter + */ +public class GppExpectedTypesContributor extends GroovyExpectedTypesContributor { + @Override + public List calculateTypeConstraints(@NotNull GrExpression expression) { + if (!GppTypeConverter.hasTypedContext(expression)) { + return Collections.emptyList(); + } + + final PsiElement parent = expression.getParent(); + if (parent instanceof GrListOrMap) { + final GrListOrMap list = (GrListOrMap)parent; + if (!list.isMap()) { + return addExpectedConstructorParameters(expression, list); + } + else { + //todo expected property types + } + } + return Collections.emptyList(); + } + + private static List addExpectedConstructorParameters(GrExpression expression, GrListOrMap list) { + final PsiType listType = list.getType(); + if (!(listType instanceof GrTupleType)) { + return Collections.emptyList(); + } + + final PsiType[] argTypes = ((GrTupleType)listType).getComponentTypes(); + final int argIndex = Arrays.asList(list.getInitializers()).indexOf(expression); + assert argIndex >= 0; + + final ArrayList result = new ArrayList(); + for (PsiType type : GroovyExpectedTypesProvider.getDefaultExpectedTypes(expression)) { + if (type instanceof PsiClassType) { + for (GroovyResolveResult resolveResult : GppTypeConverter.getConstructorCandidates((PsiClassType)type, argTypes, expression)) { + final PsiElement method = resolveResult.getElement(); + if (method instanceof PsiMethod && ((PsiMethod)method).isConstructor()) { + final PsiParameter[] constructorParameters = ((PsiMethod)method).getParameterList().getParameters(); + if (constructorParameters.length > argIndex) { + final PsiType toCastTo = resolveResult.getSubstitutor().substitute(constructorParameters[argIndex].getType()); + result.add(SubtypeConstraint.create(toCastTo)); + } + } + } + } + } + return result; + } +} diff --git a/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java b/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java index 55d0f53079c6..ba7972af432b 100644 --- a/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java +++ b/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java @@ -105,19 +105,21 @@ public class GppTypeConverter extends GrTypeConverter { } private static boolean hasConstructor(PsiClassType lType, PsiType[] argTypes, GroovyPsiElement context) { - final PsiClassType.ClassResolveResult resolveResult = lType.resolveGenerics(); + return getConstructorCandidates(lType, argTypes, context).length == 1; + } + + public static GroovyResolveResult[] getConstructorCandidates(PsiClassType classType, PsiType[] argTypes, GroovyPsiElement context) { + final PsiClassType.ClassResolveResult resolveResult = classType.resolveGenerics(); final PsiClass psiClass = resolveResult.getElement(); final PsiSubstitutor substitutor = resolveResult.getSubstitutor(); if (psiClass == null) { - return false; + return GroovyResolveResult.EMPTY_ARRAY; } final GroovyResolveResult grResult = resolveResult instanceof GroovyResolveResult ? (GroovyResolveResult)resolveResult : new GroovyResolveResultImpl(psiClass, context, substitutor, true, true); - final GroovyResolveResult[] candidates = org.jetbrains.plugins.groovy.lang.psi.util.PsiUtil.getConstructorCandidates( - context, new GroovyResolveResult[]{grResult}, argTypes); - return candidates.length == 1; + return org.jetbrains.plugins.groovy.lang.psi.util.PsiUtil.getConstructorCandidates(context, new GroovyResolveResult[]{grResult}, argTypes); } } diff --git a/plugins/groovy/src/META-INF/plugin.xml b/plugins/groovy/src/META-INF/plugin.xml index 53fa86c3cf2c..7848c88e19bf 100644 --- a/plugins/groovy/src/META-INF/plugin.xml +++ b/plugins/groovy/src/META-INF/plugin.xml @@ -32,6 +32,7 @@ + diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/expectedTypes/GroovyExpectedTypesContributor.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/expectedTypes/GroovyExpectedTypesContributor.java new file mode 100644 index 000000000000..5932d1e14357 --- /dev/null +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/expectedTypes/GroovyExpectedTypesContributor.java @@ -0,0 +1,16 @@ +package org.jetbrains.plugins.groovy.lang.psi.expectedTypes; + +import com.intellij.openapi.extensions.ExtensionPointName; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrExpression; + +import java.util.List; + +/** + * @author peter + */ +public abstract class GroovyExpectedTypesContributor { + public static final ExtensionPointName EP_NAME = ExtensionPointName.create("org.intellij.groovy.expectedTypesContributor"); + + public abstract List calculateTypeConstraints(@NotNull GrExpression expression); +} diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/expectedTypes/GroovyExpectedTypesProvider.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/expectedTypes/GroovyExpectedTypesProvider.java index 41d04fdc276a..8e6af987e71b 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/expectedTypes/GroovyExpectedTypesProvider.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/expectedTypes/GroovyExpectedTypesProvider.java @@ -38,9 +38,7 @@ import org.jetbrains.plugins.groovy.lang.psi.api.types.GrTypeElement; import org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.TypesUtil; import org.jetbrains.plugins.groovy.lang.resolve.ResolveUtil; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; +import java.util.*; /** * @author ven @@ -52,7 +50,27 @@ public class GroovyExpectedTypesProvider { public static TypeConstraint[] calculateTypeConstraints(GrExpression expression) { MyCalculator calculator = new MyCalculator(expression); ((GroovyPsiElement)expression.getParent()).accept(calculator); - return calculator.getResult(); + final TypeConstraint[] result = calculator.getResult(); + + List custom = new ArrayList(); + for (GroovyExpectedTypesContributor contributor : GroovyExpectedTypesContributor.EP_NAME.getExtensions()) { + custom.addAll(contributor.calculateTypeConstraints(expression)); + } + + if (!custom.isEmpty()) { + custom.addAll(0, Arrays.asList(result)); + return custom.toArray(new TypeConstraint[custom.size()]); + } + + return result; + } + + public static Set getDefaultExpectedTypes(GrExpression element) { + final LinkedHashSet result = new LinkedHashSet(); + for (TypeConstraint constraint : calculateTypeConstraints(element)) { + result.add(constraint.getDefaultType()); + } + return result; } diff --git a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy index c639aa230e5a..3ed1eda224fc 100644 --- a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy +++ b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy @@ -235,6 +235,20 @@ class Foo { @Typed Foo bar() { return [foo: { it.subs }] } +""" + myFixture.completeBasic() + assertSameElements myFixture.lookupElementStrings, "subSequence", "substring", "substring" + } + + public void testClosureInListInstantiation() throws Exception { + myFixture.configureByText "a.groovy", """ +class Foo { + def Foo(int a, Function1 f) {} +} + +@Typed Foo foo() { + [239, { s -> s.subs }] +} """ myFixture.completeBasic() assertSameElements myFixture.lookupElementStrings, "subSequence", "substring", "substring" From 09f91eaae7abae91af2904c653b1a3c7b6f0d750 Mon Sep 17 00:00:00 2001 From: peter Date: Mon, 3 May 2010 10:39:22 +0100 Subject: [PATCH 056/173] groovy++ in CE --- .idea/modules.xml | 1 + build/scripts/layouts.gant | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/.idea/modules.xml b/.idea/modules.xml index e9537356e97a..f590fbc731a2 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -36,6 +36,7 @@ + diff --git a/build/scripts/layouts.gant b/build/scripts/layouts.gant index 403876d24d65..9e47c87b2874 100644 --- a/build/scripts/layouts.gant +++ b/build/scripts/layouts.gant @@ -262,6 +262,15 @@ def layoutFull(String home, String targetDirectory) { fileset(dir: "${home}/plugins/groovy/lib") } } + + dir("Groovypp") { + dir("lib") { + jar("groovypp.jar") { + module("groovypp") + } + } + } + } } From c9c2122b3ab731d04d3bc8d2cb61b8c276518689 Mon Sep 17 00:00:00 2001 From: peter Date: Tue, 4 May 2010 12:48:11 +0100 Subject: [PATCH 057/173] g++ traits initial --- .../intellij/psi/impl/light/LightClass.java | 284 ++++++++++++++++++ .../groovy/groovypp/src/META-INF/plugin.xml | 1 + .../groovy/gpp/GppClassSubstitutor.java | 35 +++ plugins/groovy/src/META-INF/plugin.xml | 3 + .../groovy/lang/psi/GrClassSubstitution.java | 9 + .../groovy/lang/psi/GrClassSubstitutor.java | 48 +++ .../lang/psi/GroovyDeclarationSearcher.java | 23 ++ .../psi/impl/GroovyResolveResultImpl.java | 4 +- .../groovy/lang/stubs/GroovyCacheUtil.java | 9 +- .../GroovyOverrideImplementUtil.java | 6 +- .../groovy/lang/GppFunctionalTest.groovy | 82 ++++- 11 files changed, 489 insertions(+), 15 deletions(-) create mode 100644 java/java-impl/src/com/intellij/psi/impl/light/LightClass.java create mode 100644 plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppClassSubstitutor.java create mode 100644 plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/GrClassSubstitution.java create mode 100644 plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/GrClassSubstitutor.java create mode 100644 plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/GroovyDeclarationSearcher.java diff --git a/java/java-impl/src/com/intellij/psi/impl/light/LightClass.java b/java/java-impl/src/com/intellij/psi/impl/light/LightClass.java new file mode 100644 index 000000000000..1cc45a66e15e --- /dev/null +++ b/java/java-impl/src/com/intellij/psi/impl/light/LightClass.java @@ -0,0 +1,284 @@ +package com.intellij.psi.impl.light; + +import com.intellij.lang.StdLanguages; +import com.intellij.openapi.util.Pair; +import com.intellij.psi.*; +import com.intellij.psi.impl.PsiClassImplUtil; +import com.intellij.psi.impl.PsiImplUtil; +import com.intellij.psi.javadoc.PsiDocComment; +import com.intellij.util.IncorrectOperationException; +import org.jetbrains.annotations.NonNls; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.Collection; +import java.util.List; + +/** + * @author peter + */ +public class LightClass extends LightElement implements PsiClass { + private final PsiClass myDelegate; + + public LightClass(PsiClass delegate) { + super(delegate.getManager(), StdLanguages.JAVA); + myDelegate = delegate; + } + + @NonNls + @Nullable + public String getName() { + return myDelegate.getName(); + } + + @Nullable + public PsiModifierList getModifierList() { + return myDelegate.getModifierList(); + } + + public boolean hasModifierProperty(@Modifier @NonNls @NotNull String name) { + return myDelegate.hasModifierProperty(name); + } + + @Nullable + public PsiDocComment getDocComment() { + return null; + } + + public boolean isDeprecated() { + return myDelegate.isDeprecated(); + } + + public boolean hasTypeParameters() { + return PsiImplUtil.hasTypeParameters(this); + } + + @Nullable + public PsiTypeParameterList getTypeParameterList() { + return myDelegate.getTypeParameterList(); + } + + @NotNull + public PsiTypeParameter[] getTypeParameters() { + return myDelegate.getTypeParameters(); + } + + @NonNls + @Nullable + public String getQualifiedName() { + return myDelegate.getQualifiedName(); + } + + public boolean isInterface() { + return myDelegate.isInterface(); + } + + public boolean isAnnotationType() { + return myDelegate.isAnnotationType(); + } + + public boolean isEnum() { + return myDelegate.isEnum(); + } + + @Nullable + public PsiReferenceList getExtendsList() { + return myDelegate.getExtendsList(); + } + + @Nullable + public PsiReferenceList getImplementsList() { + return myDelegate.getImplementsList(); + } + + @NotNull + public PsiClassType[] getExtendsListTypes() { + return PsiClassImplUtil.getExtendsListTypes(this); + } + + @NotNull + public PsiClassType[] getImplementsListTypes() { + return PsiClassImplUtil.getImplementsListTypes(this); + } + + @Nullable + public PsiClass getSuperClass() { + return myDelegate.getSuperClass(); + } + + public PsiClass[] getInterfaces() { + return myDelegate.getInterfaces(); + } + + @NotNull + @Override + public PsiElement getNavigationElement() { + return myDelegate.getNavigationElement(); + } + + @NotNull + public PsiClass[] getSupers() { + return myDelegate.getSupers(); + } + + @NotNull + public PsiClassType[] getSuperTypes() { + return myDelegate.getSuperTypes(); + } + + @NotNull + public PsiField[] getFields() { + return myDelegate.getFields(); + } + + @NotNull + public PsiMethod[] getMethods() { + return myDelegate.getMethods(); + } + + @NotNull + public PsiMethod[] getConstructors() { + return myDelegate.getConstructors(); + } + + @NotNull + public PsiClass[] getInnerClasses() { + return myDelegate.getInnerClasses(); + } + + @NotNull + public PsiClassInitializer[] getInitializers() { + return myDelegate.getInitializers(); + } + + @NotNull + public PsiField[] getAllFields() { + return myDelegate.getAllFields(); + } + + @NotNull + public PsiMethod[] getAllMethods() { + return myDelegate.getAllMethods(); + } + + @NotNull + public PsiClass[] getAllInnerClasses() { + return myDelegate.getAllInnerClasses(); + } + + @Nullable + public PsiField findFieldByName(@NonNls String name, boolean checkBases) { + return PsiClassImplUtil.findFieldByName(this, name, checkBases); + } + + @Nullable + public PsiMethod findMethodBySignature(PsiMethod patternMethod, boolean checkBases) { + return PsiClassImplUtil.findMethodBySignature(this, patternMethod, checkBases); + } + + @NotNull + public PsiMethod[] findMethodsBySignature(PsiMethod patternMethod, boolean checkBases) { + return PsiClassImplUtil.findMethodsBySignature(this, patternMethod, checkBases); + } + + @NotNull + public PsiMethod[] findMethodsByName(@NonNls String name, boolean checkBases) { + return PsiClassImplUtil.findMethodsByName(this, name, checkBases); + } + + @NotNull + public List> findMethodsAndTheirSubstitutorsByName(@NonNls String name, boolean checkBases) { + return PsiClassImplUtil.findMethodsAndTheirSubstitutorsByName(this, name, checkBases); + } + + @NotNull + public List> getAllMethodsAndTheirSubstitutors() { + return PsiClassImplUtil.getAllWithSubstitutorsByMap(this, PsiMethod.class); + } + + @Nullable + public PsiClass findInnerClassByName(@NonNls String name, boolean checkBases) { + return myDelegate.findInnerClassByName(name, checkBases); + } + + @Nullable + public PsiJavaToken getLBrace() { + return myDelegate.getLBrace(); + } + + @Nullable + public PsiJavaToken getRBrace() { + return myDelegate.getRBrace(); + } + + @Nullable + public PsiIdentifier getNameIdentifier() { + return myDelegate.getNameIdentifier(); + } + + public PsiElement getScope() { + return myDelegate.getScope(); + } + + public boolean isInheritor(@NotNull PsiClass baseClass, boolean checkDeep) { + return myDelegate.isInheritor(baseClass, checkDeep); + } + + public boolean isInheritorDeep(PsiClass baseClass, @Nullable PsiClass classToByPass) { + return myDelegate.isInheritorDeep(baseClass, classToByPass); + } + + @Nullable + public PsiClass getContainingClass() { + return myDelegate.getContainingClass(); + } + + @NotNull + public Collection getVisibleSignatures() { + return myDelegate.getVisibleSignatures(); + } + + public PsiElement setName(@NonNls @NotNull String name) throws IncorrectOperationException { + return myDelegate.setName(name); + } + + @Override + public String toString() { + return "PsiClass:" + getName(); + } + + public String getText() { + return myDelegate.getText(); + } + + public void accept(@NotNull PsiElementVisitor visitor) { + if (visitor instanceof JavaElementVisitor) { + ((JavaElementVisitor)visitor).visitClass(this); + } else { + visitor.visitElement(this); + } + } + + public PsiElement copy() { + return new LightClass(this); + } + + @Override + public PsiFile getContainingFile() { + return myDelegate.getContainingFile(); + } + + public PsiClass getDelegate() { + return myDelegate; + } + + @Override + public PsiElement getContext() { + return myDelegate; + } + + @Override + public boolean isEquivalentTo(PsiElement another) { + return this == another || getDelegate().isEquivalentTo(another); + } +} diff --git a/plugins/groovy/groovypp/src/META-INF/plugin.xml b/plugins/groovy/groovypp/src/META-INF/plugin.xml index 9358b1c52fc4..c00c0e690e4c 100644 --- a/plugins/groovy/groovypp/src/META-INF/plugin.xml +++ b/plugins/groovy/groovypp/src/META-INF/plugin.xml @@ -12,6 +12,7 @@ + diff --git a/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppClassSubstitutor.java b/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppClassSubstitutor.java new file mode 100644 index 000000000000..0ff387114a89 --- /dev/null +++ b/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppClassSubstitutor.java @@ -0,0 +1,35 @@ +package org.jetbrains.plugins.groovy.gpp; + +import com.intellij.psi.PsiClass; +import com.intellij.psi.PsiModifierList; +import com.intellij.psi.impl.light.LightClass; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.plugins.groovy.lang.psi.GrClassSubstitution; +import org.jetbrains.plugins.groovy.lang.psi.GrClassSubstitutor; + +/** + * @author peter + */ +public class GppClassSubstitutor extends GrClassSubstitutor { + + @Override + public GrClassSubstitution substituteClass(@NotNull PsiClass base) { + final PsiModifierList modifierList = base.getModifierList(); + if (modifierList != null && modifierList.findAnnotation("groovy.lang.Trait") != null) { + return new TraitClass(base); + } + return null; + } + + private static class TraitClass extends LightClass implements GrClassSubstitution { + public TraitClass(PsiClass base) { + super(base); + } + + @Override + public boolean isInterface() { + return true; + } + + } +} diff --git a/plugins/groovy/src/META-INF/plugin.xml b/plugins/groovy/src/META-INF/plugin.xml index 7848c88e19bf..1c9b0150b810 100644 --- a/plugins/groovy/src/META-INF/plugin.xml +++ b/plugins/groovy/src/META-INF/plugin.xml @@ -33,6 +33,7 @@ + @@ -153,6 +154,8 @@ + + diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/GrClassSubstitution.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/GrClassSubstitution.java new file mode 100644 index 000000000000..0ee49ec1bbe7 --- /dev/null +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/GrClassSubstitution.java @@ -0,0 +1,9 @@ +package org.jetbrains.plugins.groovy.lang.psi; + +import com.intellij.psi.PsiClass; + +/** + * @author peter + */ +public interface GrClassSubstitution extends PsiClass { +} diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/GrClassSubstitutor.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/GrClassSubstitutor.java new file mode 100644 index 000000000000..c8196595ff3b --- /dev/null +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/GrClassSubstitutor.java @@ -0,0 +1,48 @@ +package org.jetbrains.plugins.groovy.lang.psi; + +import com.intellij.openapi.extensions.ExtensionPointName; +import com.intellij.openapi.extensions.Extensions; +import com.intellij.openapi.util.Key; +import com.intellij.psi.PsiClass; +import com.intellij.psi.util.CachedValue; +import com.intellij.psi.util.CachedValueProvider; +import com.intellij.psi.util.CachedValuesManager; +import com.intellij.psi.util.PsiModificationTracker; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +/** + * @author peter + */ +public abstract class GrClassSubstitutor { + public static final ExtensionPointName EP_NAME = ExtensionPointName.create("org.intellij.groovy.classSubstitutor"); + private static final Key> SUBSTITUTED_CLASS_KEY = Key.create("GroovySubstitutedType"); + + @Nullable + public abstract GrClassSubstitution substituteClass(@NotNull PsiClass base); + + @NotNull + public static PsiClass getSubstitutedClass(@NotNull final PsiClass base) { + if (!Extensions.getRootArea().getExtensionPoint(EP_NAME).hasAnyExtensions()) { + return base; + } + + if (base instanceof GrClassSubstitution) { + return base; + } + + return CachedValuesManager.getManager(base.getProject()) + .getCachedValue(base, SUBSTITUTED_CLASS_KEY, new CachedValueProvider() { + public Result compute() { + for (GrClassSubstitutor enhancer : GrClassSubstitutor.EP_NAME.getExtensions()) { + final PsiClass type = enhancer.substituteClass(base); + if (type != null) { + return Result.create(type, PsiModificationTracker.OUT_OF_CODE_BLOCK_MODIFICATION_COUNT); + } + } + return Result.create(base, PsiModificationTracker.OUT_OF_CODE_BLOCK_MODIFICATION_COUNT); + } + }, false); + } + +} diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/GroovyDeclarationSearcher.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/GroovyDeclarationSearcher.java new file mode 100644 index 000000000000..d3e77699f03b --- /dev/null +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/GroovyDeclarationSearcher.java @@ -0,0 +1,23 @@ +package org.jetbrains.plugins.groovy.lang.psi; + +import com.intellij.pom.PomDeclarationSearcher; +import com.intellij.pom.PomTarget; +import com.intellij.psi.PsiElement; +import com.intellij.util.Consumer; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.GrTypeDefinition; + +/** + * @author peter + */ +public class GroovyDeclarationSearcher extends PomDeclarationSearcher { + @Override + public void findDeclarationsAt(@NotNull PsiElement element, int offsetInElement, Consumer consumer) { + if (element instanceof GrTypeDefinition) { + final PsiElement name = ((GrTypeDefinition)element).getNameIdentifierGroovy(); + if (name.getTextRange().shiftRight(-element.getTextRange().getStartOffset()).contains(offsetInElement)) { + consumer.consume(GrClassSubstitutor.getSubstitutedClass((GrTypeDefinition)element)); + } + } + } +} diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/GroovyResolveResultImpl.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/GroovyResolveResultImpl.java index 043c71b375e6..c80df51fcce9 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/GroovyResolveResultImpl.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/GroovyResolveResultImpl.java @@ -15,10 +15,12 @@ */ package org.jetbrains.plugins.groovy.lang.psi.impl; +import com.intellij.psi.PsiClass; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiNamedElement; import com.intellij.psi.PsiSubstitutor; import org.jetbrains.annotations.Nullable; +import org.jetbrains.plugins.groovy.lang.psi.GrClassSubstitutor; import org.jetbrains.plugins.groovy.lang.psi.GroovyPsiElement; import org.jetbrains.plugins.groovy.lang.psi.api.GroovyResolveResult; @@ -43,7 +45,7 @@ public class GroovyResolveResultImpl implements GroovyResolveResult { boolean isAccessible, boolean staticsOK) { myCurrentFileResolveContext = context; - myElement = element; + myElement = element instanceof PsiClass? GrClassSubstitutor.getSubstitutedClass((PsiClass)element) : element; myIsAccessible = isAccessible; mySubstitutor = substitutor; myIsStaticsOK = staticsOK; diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/stubs/GroovyCacheUtil.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/stubs/GroovyCacheUtil.java index 617399f50486..90484d43d8a9 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/stubs/GroovyCacheUtil.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/stubs/GroovyCacheUtil.java @@ -21,6 +21,7 @@ import com.intellij.psi.PsiMember; import com.intellij.psi.search.GlobalSearchScope; import com.intellij.psi.stubs.StubIndex; import org.jetbrains.annotations.NotNull; +import org.jetbrains.plugins.groovy.lang.psi.GrClassSubstitutor; import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.GrAnonymousClassDefinition; import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.GrReferenceList; import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.GrTypeDefinition; @@ -46,15 +47,15 @@ public abstract class GroovyCacheUtil { } @NotNull - public static GrTypeDefinition[] getDeriverCandidates(PsiClass clazz, GlobalSearchScope scope) { + public static PsiClass[] getDeriverCandidates(PsiClass clazz, GlobalSearchScope scope) { final String name = clazz.getName(); if (name == null) return GrTypeDefinition.EMPTY_ARRAY; - final ArrayList inheritors = new ArrayList(); + final ArrayList inheritors = new ArrayList(); final Collection refLists = StubIndex.getInstance().get(GrDirectInheritorsIndex.KEY, name, clazz.getProject(), scope); for (GrReferenceList list : refLists) { final PsiElement parent = list.getParent(); if (parent instanceof GrTypeDefinition) { - inheritors.add(((GrTypeDefinition)parent)); + inheritors.add(GrClassSubstitutor.getSubstitutedClass(((GrTypeDefinition)parent))); } } final Collection classes = @@ -62,7 +63,7 @@ public abstract class GroovyCacheUtil { for (GrAnonymousClassDefinition aClass : classes) { inheritors.add(aClass); } - return inheritors.toArray(new GrTypeDefinition[inheritors.size()]); + return inheritors.toArray(new PsiClass[inheritors.size()]); } diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/overrideImplement/GroovyOverrideImplementUtil.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/overrideImplement/GroovyOverrideImplementUtil.java index 01e28b64a4b3..57f65851f298 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/overrideImplement/GroovyOverrideImplementUtil.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/overrideImplement/GroovyOverrideImplementUtil.java @@ -78,7 +78,7 @@ public class GroovyOverrideImplementUtil { if (isImplement && aClass.isInterface()) return; - Collection candidates = OverrideImplementUtil.getMethodsToOverrideImplement(aClass, isImplement); + Collection candidates = getMethodsToOverrideImplement(aClass, isImplement); if (candidates.isEmpty()) return; List classMembers = new ArrayList(); @@ -178,6 +178,10 @@ public class GroovyOverrideImplementUtil { } } + public static Collection getMethodsToOverrideImplement(GrTypeDefinition aClass, boolean isImplement) { + return OverrideImplementUtil.getMethodsToOverrideImplement(aClass, isImplement); + } + private static void positionCaret(Editor editor, GrMethod result) { final GrOpenBlock body = result.getBlock(); if (body == null) return; diff --git a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy index 3ed1eda224fc..4b4d95dc366a 100644 --- a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy +++ b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy @@ -1,34 +1,52 @@ package org.jetbrains.plugins.groovy.lang +import com.intellij.codeInsight.TargetElementUtilBase import com.intellij.codeInsight.lookup.LookupManager +import com.intellij.codeInsight.navigation.ImplementationSearcher +import com.intellij.openapi.module.Module +import com.intellij.openapi.roots.ContentEntry +import com.intellij.openapi.roots.ModifiableRootModel +import com.intellij.openapi.roots.OrderRootType +import com.intellij.openapi.roots.libraries.Library +import com.intellij.openapi.vfs.JarFileSystem +import com.intellij.psi.JavaPsiFacade +import com.intellij.psi.PsiElement import com.intellij.psi.PsiFile +import com.intellij.psi.PsiMethod import com.intellij.testFramework.LightProjectDescriptor +import com.intellij.testFramework.fixtures.DefaultLightProjectDescriptor import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase +import junit.framework.ComparisonFailure import org.jetbrains.annotations.NotNull import org.jetbrains.plugins.groovy.codeInspection.assignment.GroovyAssignabilityCheckInspection +import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.GrTypeDefinition import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.members.GrMethod -import junit.framework.ComparisonFailure -import com.intellij.psi.JavaPsiFacade +import org.jetbrains.plugins.groovy.overrideImplement.GroovyOverrideImplementUtil +import org.jetbrains.plugins.groovy.util.TestUtils +import com.intellij.codeInsight.navigation.GotoImplementationHandler /** * @author peter */ class GppFunctionalTest extends LightCodeInsightFixtureTestCase { + static def descriptor = new GppProjectDescriptor() @NotNull @Override protected LightProjectDescriptor getProjectDescriptor() { - return GroovyHighlightingTest.GROOVY_17_PROJECT_DESCRIPTOR; + return descriptor; } protected void setUp() { super.setUp() +/* myFixture.addClass"package groovy.lang; public @interface Typed {}" myFixture.addClass """ package groovy.lang; public interface Function1 { public abstract R call(T param); }""" +*/ myFixture.allowTreeAccessForFile JavaPsiFacade.getInstance(project).findClass(Object.name).containingFile.navigationElement.containingFile.virtualFile } @@ -175,12 +193,6 @@ Action a1 = { a = 2 -> println a } } public void testClosureParameterTypesInMethodInvocation() throws Exception { - myFixture.addClass """ -package groovy.lang; -public interface Function2 { - public abstract R call(T param, V param2); -}""" - myFixture.configureByText "a.groovy", """ def foo(int a = 1, Function1 f) {} def foo(String s) {} @@ -254,4 +266,56 @@ class Foo { assertSameElements myFixture.lookupElementStrings, "subSequence", "substring", "substring" } + public void testTraitHighlightin() throws Exception { + myFixture.configureByText "a.groovy", """ +@Trait +abstract class Intf { + abstract void foo() + void bar() {} } +class Foo implements Intf {} +class Wrong extends Foo {} +class Bar implements Intf { + void foo() {} +} +""" + myFixture.testHighlighting(true, false, false, myFixture.file.virtualFile) + } + + public void testTraitImplementingAndNavigation() throws Exception { + myFixture.configureByText "a.groovy", """ +@Trait +abstract class Intf { + abstract void foo() + void bar() {} +} +class Foo implements Intf {} +class Bar implements Intf { + void foo() {} +} +class BarImpl extends Bar {} +""" + def facade = JavaPsiFacade.getInstance(getProject()) + assertOneElement(GroovyOverrideImplementUtil.getMethodsToOverrideImplement(facade.findClass("Foo"), true)) + + GrTypeDefinition barClass = facade.findClass("Bar") + assertEmpty(GroovyOverrideImplementUtil.getMethodsToOverrideImplement(barClass, true)) + assertTrue "bar" in GroovyOverrideImplementUtil.getMethodsToOverrideImplement(barClass, false).collect { ((PsiMethod) it.element).name } + + assertEmpty(GroovyOverrideImplementUtil.getMethodsToOverrideImplement(facade.findClass("BarImpl"), true)) + + def implementations = new GotoImplementationHandler().getSourceAndTargetElements(myFixture.editor, myFixture.file).second + assertEquals Arrays.toString(implementations), 3, implementations.size() + } + +} + +class GppProjectDescriptor extends DefaultLightProjectDescriptor { + @Override + public void configureModule(Module module, ModifiableRootModel model, ContentEntry contentEntry) { + final Library.ModifiableModel modifiableModel = model.getModuleLibraryTable().createLibrary("GROOVY++").getModifiableModel(); + modifiableModel.addRoot(JarFileSystem.instance.refreshAndFindFileByPath(TestUtils.absoluteTestDataPath + "mockGroovypp/groovypp-0.2.3.jar!/"), OrderRootType.CLASSES); + modifiableModel.addRoot(JarFileSystem.instance.refreshAndFindFileByPath(TestUtils.mockGroovy1_7LibraryName + "!/"), OrderRootType.CLASSES); + modifiableModel.commit(); + } +} \ No newline at end of file From b0d9d8ca1d7c5c24b4bc6ed16d4915ff8aa35283 Mon Sep 17 00:00:00 2001 From: peter Date: Tue, 4 May 2010 15:35:15 +0100 Subject: [PATCH 058/173] support g++ stdlib --- .../groovy/groovypp/src/META-INF/plugin.xml | 1 + .../plugins/groovy/gpp/GppStdLibSupport.java | 116 ++++++++++++++++++ .../plugins/groovy/gpp/GppTypeConverter.java | 6 +- .../lang/psi/impl/GroovyPsiManager.java | 45 ++++--- .../lang/resolve/DominanceAwareMethod.java | 17 +++ .../processors/MethodResolverProcessor.java | 5 + .../groovy/lang/GppFunctionalTest.groovy | 22 ++-- 7 files changed, 179 insertions(+), 33 deletions(-) create mode 100644 plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppStdLibSupport.java create mode 100644 plugins/groovy/src/org/jetbrains/plugins/groovy/lang/resolve/DominanceAwareMethod.java diff --git a/plugins/groovy/groovypp/src/META-INF/plugin.xml b/plugins/groovy/groovypp/src/META-INF/plugin.xml index c00c0e690e4c..a6362ad471ad 100644 --- a/plugins/groovy/groovypp/src/META-INF/plugin.xml +++ b/plugins/groovy/groovypp/src/META-INF/plugin.xml @@ -13,6 +13,7 @@ + diff --git a/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppStdLibSupport.java b/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppStdLibSupport.java new file mode 100644 index 000000000000..c8e154d04d13 --- /dev/null +++ b/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppStdLibSupport.java @@ -0,0 +1,116 @@ +package org.jetbrains.plugins.groovy.gpp; + +import com.intellij.openapi.project.Project; +import com.intellij.openapi.roots.ProjectRootManager; +import com.intellij.openapi.util.Key; +import com.intellij.psi.*; +import com.intellij.psi.scope.PsiScopeProcessor; +import com.intellij.psi.util.CachedValue; +import com.intellij.psi.util.CachedValueProvider; +import com.intellij.psi.util.CachedValuesManager; +import com.intellij.psi.util.TypeConversionUtil; +import com.intellij.util.Function; +import com.intellij.util.NotNullFunction; +import com.intellij.util.containers.ContainerUtil; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.plugins.groovy.lang.psi.GroovyPsiElement; +import org.jetbrains.plugins.groovy.lang.psi.api.types.GrClosureSignature; +import org.jetbrains.plugins.groovy.lang.psi.impl.GroovyPsiManager; +import org.jetbrains.plugins.groovy.lang.psi.impl.synthetic.GrGdkMethodImpl; +import org.jetbrains.plugins.groovy.lang.psi.impl.types.GrClosureSignatureUtil; +import org.jetbrains.plugins.groovy.lang.resolve.DominanceAwareMethod; +import org.jetbrains.plugins.groovy.lang.resolve.NonCodeMembersProcessor; +import org.jetbrains.plugins.groovy.lang.resolve.ResolveUtil; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @author peter + */ +public class GppStdLibSupport implements NonCodeMembersProcessor { + private static final Key>>> CACHED_STDLIB = Key.create("GppStdLib"); + private static final String[] STDLIB_CLASSES = { + "groovy.util.Conversions", + "groovy.util.Files", "groovy.util.Filters", + "groovy.util.Iterations", "groovy.util.Mappers", + "groovy.util.Sort", "groovy.util.Strings", + "groovy.util.With", + "org.mbte.groovypp.runtime.ArraysMethods", + "org.mbte.groovypp.runtime.DefaultGroovyPPMethods"}; + + public boolean processNonCodeMembers(PsiType type, PsiScopeProcessor processor, PsiElement place, boolean forCompletion) { + if (!(type instanceof PsiClassType)) { + return true; + } + if (!GppTypeConverter.hasTypedContext(place)) { + return true; + } + + final String className = TypeConversionUtil.erasure(type).getCanonicalText(); + + final Project project = place.getProject(); + final Map> map = CachedValuesManager.getManager(project).getCachedValue(project, CACHED_STDLIB, new CachedValueProvider>>() { + public Result>> compute() { + final GroovyPsiManager manager = GroovyPsiManager.getInstance(project); + final Map> result = new HashMap>(); + final NotNullFunction nonStaticConverter = new NotNullFunction() { + @NotNull + public PsiMethod fun(PsiMethod method) { + return new GppGdkMethod(method, false); + } + }; + + for (String qname : STDLIB_CLASSES) { + manager.addCategoryMethods(qname, result, nonStaticConverter); + } + + manager.addCategoryMethods("org.mbte.groovypp.runtime.DefaultGroovyPPStaticMethods", result, new NotNullFunction() { + @NotNull + public PsiMethod fun(PsiMethod method) { + return new GppGdkMethod(method, true); + } + }); + + return Result.create(result, ProjectRootManager.getInstance(project)); + } + }, false); + final List methods = map.get(className); + if (methods == null) { + return true; + } + + for (PsiMethod method : methods) { + if (!ResolveUtil.processElement(processor, method)) { + return false; + } + } + return true; + } + + private static class GppGdkMethod extends GrGdkMethodImpl implements DominanceAwareMethod { + public GppGdkMethod(PsiMethod method, final boolean isStatic) { + super(method, isStatic); + } + + public boolean dominates(@NotNull final PsiSubstitutor substitutor, + @NotNull PsiMethod another, + @NotNull PsiSubstitutor anotherSubstitutor, + @NotNull GroovyPsiElement context) { + if (another instanceof GrGdkMethodImpl && !(another instanceof GppGdkMethod) && another.getName().equals(getName())) { + final PsiType[] paramTypes = + ContainerUtil.map2Array(getParameterList().getParameters(), PsiType.class, new Function() { + public PsiType fun(PsiParameter psiParameter) { + return substitutor.substitute(psiParameter.getType()); + } + }); + final GrClosureSignature anotherSignature = GrClosureSignatureUtil.createSignature(another, anotherSubstitutor); + if (GrClosureSignatureUtil.isSignatureApplicable(anotherSignature, paramTypes, context)) { + return true; + } + } + return false; + } + } +} diff --git a/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java b/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java index ba7972af432b..05444e29c495 100644 --- a/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java +++ b/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java @@ -23,8 +23,8 @@ import org.jetbrains.plugins.groovy.lang.psi.impl.types.GrClosureSignatureUtil; */ public class GppTypeConverter extends GrTypeConverter { - public static boolean hasTypedContext(GroovyPsiElement context) { - return isTyped(PsiTreeUtil.getParentOfType(context, GrMember.class)); + public static boolean hasTypedContext(PsiElement context) { + return isTyped(PsiTreeUtil.getContextOfType(context, GrMember.class, true)); } private static boolean isTyped(@Nullable PsiModifierListOwner member) { @@ -37,7 +37,7 @@ public class GppTypeConverter extends GrTypeConverter { return true; } - final GrMember parentMember = PsiTreeUtil.getParentOfType(member, GrMember.class); + final GrMember parentMember = PsiTreeUtil.getContextOfType(member, GrMember.class, true); if (parentMember != null) { return isTyped(parentMember); } diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/GroovyPsiManager.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/GroovyPsiManager.java index d68545e597aa..17b078dc96a0 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/GroovyPsiManager.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/GroovyPsiManager.java @@ -31,6 +31,7 @@ import com.intellij.psi.util.TypeConversionUtil; import com.intellij.util.ConcurrencyUtil; import com.intellij.util.Function; import com.intellij.util.IncorrectOperationException; +import com.intellij.util.NotNullFunction; import com.intellij.util.containers.ConcurrentWeakHashMap; import com.intellij.util.containers.ContainerUtil; import com.intellij.util.containers.HashMap; @@ -103,35 +104,39 @@ public class GroovyPsiManager { @NotNull private Map> buildGDK() { final HashMap> newMap = new HashMap>(); - - PsiClass defaultMethodsClass = - JavaPsiFacade.getInstance(myProject).findClass(DEFAULT_METHODS_QNAME, GlobalSearchScope.allScope(myProject)); - if (defaultMethodsClass != null) { - for (PsiMethod method : defaultMethodsClass.getMethods()) { - if (method.isConstructor()) continue; - addDefaultMethod(method, newMap, false); + addCategoryMethods(DEFAULT_METHODS_QNAME, newMap, new NotNullFunction() { + @NotNull + public PsiMethod fun(PsiMethod method) { + return new GrGdkMethodImpl(method, false); } - - } - - PsiClass defaultStaticMethodsClass = - JavaPsiFacade.getInstance(myProject).findClass(DEFAULT_STATIC_METHODS_QNAME, GlobalSearchScope.allScope(myProject)); - if (defaultStaticMethodsClass != null) { - for (PsiMethod method : defaultStaticMethodsClass.getMethods()) { - if (method.isConstructor()) continue; - addDefaultMethod(method, newMap, true); + }); + addCategoryMethods(DEFAULT_STATIC_METHODS_QNAME, newMap, new NotNullFunction() { + @NotNull + public PsiMethod fun(PsiMethod method) { + return new GrGdkMethodImpl(method, true); } - } + }); addSwingBuilderMethods(newMap); return newMap; } - private static void addDefaultMethod(PsiMethod method, HashMap> map, boolean isStatic) { + public void addCategoryMethods(String fromClass, Map> toMap, NotNullFunction converter) { + PsiClass categoryClass = JavaPsiFacade.getInstance(myProject).findClass(fromClass, GlobalSearchScope.allScope(myProject)); + if (categoryClass != null) { + for (PsiMethod method : categoryClass.getMethods()) { + if (method.isConstructor()) continue; + if (!method.hasModifierProperty(PsiModifier.STATIC) || !method.hasModifierProperty(PsiModifier.PUBLIC)) continue; + addDefaultMethod(method, toMap, converter); + } + } + } + + private static void addDefaultMethod(PsiMethod method, Map> map, NotNullFunction converter) { if (!method.hasModifierProperty(PsiModifier.PUBLIC)) return; PsiParameter[] parameters = method.getParameterList().getParameters(); - LOG.assertTrue(parameters.length > 0); + LOG.assertTrue(parameters.length > 0, method.getName()); PsiType thisType = TypeConversionUtil.erasure(parameters[0].getType()); String thisCanonicalText = thisType.getCanonicalText(); LOG.assertTrue(thisCanonicalText != null); @@ -140,7 +145,7 @@ public class GroovyPsiManager { hisMethods = new ArrayList(); map.put(thisCanonicalText, hisMethods); } - hisMethods.add(new GrGdkMethodImpl(method, isStatic)); + hisMethods.add(converter.fun(method)); } private static final String[] SWING_WIDGETS_METHODS = diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/resolve/DominanceAwareMethod.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/resolve/DominanceAwareMethod.java new file mode 100644 index 000000000000..e74f045fba59 --- /dev/null +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/resolve/DominanceAwareMethod.java @@ -0,0 +1,17 @@ +package org.jetbrains.plugins.groovy.lang.resolve; + +import com.intellij.psi.PsiMethod; +import com.intellij.psi.PsiSubstitutor; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.plugins.groovy.lang.psi.GroovyPsiElement; + +/** + * @author peter + */ +public interface DominanceAwareMethod extends PsiMethod { + + boolean dominates(@NotNull PsiSubstitutor substitutor, + @NotNull PsiMethod another, @NotNull PsiSubstitutor anotherSubstitutor, + @NotNull GroovyPsiElement context); + +} diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/resolve/processors/MethodResolverProcessor.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/resolve/processors/MethodResolverProcessor.java index 1c3462530813..2f75a79a6f8e 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/resolve/processors/MethodResolverProcessor.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/resolve/processors/MethodResolverProcessor.java @@ -35,6 +35,7 @@ import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.members.GrMe import org.jetbrains.plugins.groovy.lang.psi.impl.GroovyResolveResultImpl; import org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.TypesUtil; import org.jetbrains.plugins.groovy.lang.psi.util.PsiUtil; +import org.jetbrains.plugins.groovy.lang.resolve.DominanceAwareMethod; import org.jetbrains.plugins.groovy.lang.resolve.ResolveUtil; import java.util.*; @@ -241,6 +242,10 @@ public class MethodResolverProcessor extends ResolverProcessor { private boolean dominated(PsiMethod method1, PsiSubstitutor substitutor1, PsiMethod method2, PsiSubstitutor substitutor2, PsiManager manager, GlobalSearchScope scope) { //method1 has more general parameter types thn method2 if (!method1.getName().equals(method2.getName())) return false; + if (method1 instanceof DominanceAwareMethod && ((DominanceAwareMethod)method1).dominates(substitutor1, method2, substitutor2, (GroovyPsiElement)myPlace)) { + return true; + } + //hack for default gdk methods if (method1 instanceof GrGdkMethod && method2 instanceof GrGdkMethod) { method1 = ((GrGdkMethod)method1).getStaticMethod(); diff --git a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy index 4b4d95dc366a..49b049830f29 100644 --- a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy +++ b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GppFunctionalTest.groovy @@ -39,15 +39,6 @@ class GppFunctionalTest extends LightCodeInsightFixtureTestCase { protected void setUp() { super.setUp() -/* - myFixture.addClass"package groovy.lang; public @interface Typed {}" - myFixture.addClass """ -package groovy.lang; -public interface Function1 { - public abstract R call(T param); -}""" -*/ - myFixture.allowTreeAccessForFile JavaPsiFacade.getInstance(project).findClass(Object.name).containingFile.navigationElement.containingFile.virtualFile } @@ -266,7 +257,7 @@ class Foo { assertSameElements myFixture.lookupElementStrings, "subSequence", "substring", "substring" } - public void testTraitHighlightin() throws Exception { + public void testTraitHighlighting() throws Exception { myFixture.configureByText "a.groovy", """ @Trait abstract class Intf { @@ -308,6 +299,17 @@ class BarImpl extends Bar {} assertEquals Arrays.toString(implementations), 3, implementations.size() } + public void testResolveToStdLib() throws Exception { + configureTyped """ +@Typed def foo(List l) { + l.each { l.substring(1) } +} +""" + PsiMethod method = myFixture.file.findReferenceAt(myFixture.editor.caretModel.offset).resolve().navigationElement + assertEquals "each", method.name + assertEquals "groovy.util.Iterations", method.containingClass.qualifiedName + } + } class GppProjectDescriptor extends DefaultLightProjectDescriptor { From 5f53e6a83b7c15151befe244b2618288c190aaec Mon Sep 17 00:00:00 2001 From: peter Date: Mon, 3 May 2010 16:18:38 +0100 Subject: [PATCH 059/173] don't write modifiers to Groovy stubs that won't affect the compilation, or they would do it negatively --- .../generator/GroovyToJavaGenerator.java | 4 --- .../groovy/compiler/GeneratorTest.java | 1 + .../stubGenerator/synchronizedProperty.test | 36 +++++++++++++++++++ 3 files changed, 37 insertions(+), 4 deletions(-) create mode 100644 plugins/groovy/testdata/groovy/stubGenerator/synchronizedProperty.test diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/compiler/generator/GroovyToJavaGenerator.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/compiler/generator/GroovyToJavaGenerator.java index 19749946b1b5..04b2540df6e7 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/compiler/generator/GroovyToJavaGenerator.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/compiler/generator/GroovyToJavaGenerator.java @@ -95,10 +95,6 @@ public class GroovyToJavaGenerator { PsiModifier.ABSTRACT, PsiModifier.FINAL, PsiModifier.NATIVE, - PsiModifier.SYNCHRONIZED, - PsiModifier.STRICTFP, - PsiModifier.TRANSIENT, - PsiModifier.VOLATILE }; private static final CharSequence PREFIX_SEPARATOR = "/"; diff --git a/plugins/groovy/test/org/jetbrains/plugins/groovy/compiler/GeneratorTest.java b/plugins/groovy/test/org/jetbrains/plugins/groovy/compiler/GeneratorTest.java index b5848346b742..466ae8733a0e 100644 --- a/plugins/groovy/test/org/jetbrains/plugins/groovy/compiler/GeneratorTest.java +++ b/plugins/groovy/test/org/jetbrains/plugins/groovy/compiler/GeneratorTest.java @@ -60,6 +60,7 @@ public void testArrayType1() throws Throwable { doTest(); } public void testToGenerate1() throws Throwable { doTest(); } public void testVararg1() throws Throwable { doTest(); } public void testInaccessibleConstructor() throws Throwable { doTest(); } + public void testSynchronizedProperty() throws Throwable { doTest(); } public void testCheckedExceptionInConstructorDelegate() throws Throwable { myFixture.addClass("package foo;" + diff --git a/plugins/groovy/testdata/groovy/stubGenerator/synchronizedProperty.test b/plugins/groovy/testdata/groovy/stubGenerator/synchronizedProperty.test new file mode 100644 index 000000000000..11aaea30e18f --- /dev/null +++ b/plugins/groovy/testdata/groovy/stubGenerator/synchronizedProperty.test @@ -0,0 +1,36 @@ +class Foo { + synchronized def bar +} +----- +public class Foo implements groovy.lang.GroovyObject { + public java.lang.Object getBar() { + return null; + } + + public void setBar(java.lang.Object bar) { + return ; + } + + public groovy.lang.MetaClass getMetaClass() { + return null; + } + + public void setMetaClass(groovy.lang.MetaClass mc) { + return ; + } + + public java.lang.Object invokeMethod(java.lang.String name, java.lang.Object args) { + return null; + } + + public java.lang.Object getProperty(java.lang.String propertyName) { + return null; + } + + public void setProperty(java.lang.String propertyName, java.lang.Object newValue) { + return ; + } + + private java.lang.Object bar = null; +} +--- \ No newline at end of file From fa89deeb20c7c5e531871866361f709580237cd5 Mon Sep 17 00:00:00 2001 From: peter Date: Mon, 3 May 2010 17:09:42 +0100 Subject: [PATCH 060/173] fixed reporting usages of a hierarchical java method as 'non-code' --- .../findUsages/JavaFindUsagesHandler.java | 3 +-- .../refactoring/rename/RenameTest.groovy | 21 +++++++++++++++++++ 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/java/java-impl/src/com/intellij/find/findUsages/JavaFindUsagesHandler.java b/java/java-impl/src/com/intellij/find/findUsages/JavaFindUsagesHandler.java index 41613969c997..f28ab0552830 100644 --- a/java/java-impl/src/com/intellij/find/findUsages/JavaFindUsagesHandler.java +++ b/java/java-impl/src/com/intellij/find/findUsages/JavaFindUsagesHandler.java @@ -634,8 +634,7 @@ public class JavaFindUsagesHandler extends FindUsagesHandler{ public static boolean addResult(Processor results, PsiReference ref, FindUsagesOptions options, PsiElement refElement) { if (filterUsage(ref.getElement(), options, refElement)){ TextRange rangeInElement = ref.getRangeInElement(); - final boolean validRef = ref.isReferenceTo(refElement); - return results.process(new UsageInfo(ref.getElement(), rangeInElement.getStartOffset(), rangeInElement.getEndOffset(), !validRef)); + return results.process(new UsageInfo(ref.getElement(), rangeInElement.getStartOffset(), rangeInElement.getEndOffset(), false)); } return true; } diff --git a/plugins/groovy/test/org/jetbrains/plugins/groovy/refactoring/rename/RenameTest.groovy b/plugins/groovy/test/org/jetbrains/plugins/groovy/refactoring/rename/RenameTest.groovy index 80febd1b1548..bc2219ac3906 100644 --- a/plugins/groovy/test/org/jetbrains/plugins/groovy/refactoring/rename/RenameTest.groovy +++ b/plugins/groovy/test/org/jetbrains/plugins/groovy/refactoring/rename/RenameTest.groovy @@ -6,11 +6,14 @@ import com.intellij.psi.PsiElement import com.intellij.psi.PsiMethod import com.intellij.psi.PsiReference import com.intellij.psi.impl.source.PostprocessReformattingAspect +import com.intellij.psi.util.PsiTreeUtil import com.intellij.refactoring.rename.RenameProcessor +import com.intellij.refactoring.rename.RenameUtil import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase import org.jetbrains.plugins.groovy.GroovyFileType import org.jetbrains.plugins.groovy.lang.psi.api.statements.GrField import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.members.GrAccessorMethod +import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.members.GrMethod import org.jetbrains.plugins.groovy.util.TestUtils /** @@ -115,4 +118,22 @@ NewClass c = new NewClass() return newName; } + public void testDontAutoRenameDynamicallyTypeUsage() throws Exception { + myFixture.configureByText "a.groovy", """ +class Goo { + def pproject() {} +} + +new Goo().pproject() + +def foo(p) { + p.pproject() +} +""" + def method = PsiTreeUtil.findElementOfClassAtOffset(myFixture.file, myFixture.editor.caretModel.offset, GrMethod.class, false) + def usages = RenameUtil.findUsages(method, "project", false, false, [method:"project"]) + assert !usages[0].isNonCodeUsage + assert usages[1].isNonCodeUsage + } + } From 31013887baa6ea8dae32782630b7beb4d621fcfe Mon Sep 17 00:00:00 2001 From: peter Date: Mon, 3 May 2010 18:14:51 +0100 Subject: [PATCH 061/173] EA-20292 check for file validity --- xml/dom-impl/src/com/intellij/util/xml/impl/DomManagerImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xml/dom-impl/src/com/intellij/util/xml/impl/DomManagerImpl.java b/xml/dom-impl/src/com/intellij/util/xml/impl/DomManagerImpl.java index 82fab83bb460..9d6f20c1c2d0 100644 --- a/xml/dom-impl/src/com/intellij/util/xml/impl/DomManagerImpl.java +++ b/xml/dom-impl/src/com/intellij/util/xml/impl/DomManagerImpl.java @@ -168,7 +168,7 @@ public final class DomManagerImpl extends DomManager { return; } - if (StdFileTypes.XML.equals(file.getFileType())) { + if (file.isValid() && StdFileTypes.XML.equals(file.getFileType())) { final PsiFile psiFile = psiManager.findFile(file); if (psiFile instanceof XmlFile) { myDeletedFiles.add((XmlFile)psiFile); From 3853f4fe9dec2a8e13f18f1d0a7c01423adae8b1 Mon Sep 17 00:00:00 2001 From: peter Date: Tue, 4 May 2010 15:52:56 +0100 Subject: [PATCH 062/173] groovypp jar for tests --- .../testdata/mockGroovypp/groovypp-0.2.3.jar | Bin 0 -> 155730 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 plugins/groovy/testdata/mockGroovypp/groovypp-0.2.3.jar diff --git a/plugins/groovy/testdata/mockGroovypp/groovypp-0.2.3.jar b/plugins/groovy/testdata/mockGroovypp/groovypp-0.2.3.jar new file mode 100644 index 0000000000000000000000000000000000000000..7b84d694dd0c5eca57b17c47483746484c0bcc9c GIT binary patch literal 155730 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 literal 0 HcmV?d00001 From 3994bc17ebe4469ff8d24803ff631ec64efadc74 Mon Sep 17 00:00:00 2001 From: peter Date: Tue, 4 May 2010 16:44:48 +0100 Subject: [PATCH 063/173] IDEA-54635 Bundled plugins are reported as incompatible with current IDEA installatio --- plugins/consoleFolding/src/META-INF/plugin.xml | 2 +- plugins/groovy/grape/src/META-INF/plugin.xml | 2 +- plugins/groovy/hotswap/pluginSrc/META-INF/plugin.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/consoleFolding/src/META-INF/plugin.xml b/plugins/consoleFolding/src/META-INF/plugin.xml index 77404cf53955..581ba8ab2662 100644 --- a/plugins/consoleFolding/src/META-INF/plugin.xml +++ b/plugins/consoleFolding/src/META-INF/plugin.xml @@ -3,7 +3,7 @@ Console Folding Adds a customization for folding non-interesting lines in console 0.1 - + JetBrains Inc. diff --git a/plugins/groovy/grape/src/META-INF/plugin.xml b/plugins/groovy/grape/src/META-INF/plugin.xml index 69d1b78d6c98..642560f65642 100644 --- a/plugins/groovy/grape/src/META-INF/plugin.xml +++ b/plugins/groovy/grape/src/META-INF/plugin.xml @@ -3,7 +3,7 @@ Groovy Grape support An intention on @Grab annotations to download the needed dependencies 0.4 - + JetBrains Inc. org.intellij.groovy diff --git a/plugins/groovy/hotswap/pluginSrc/META-INF/plugin.xml b/plugins/groovy/hotswap/pluginSrc/META-INF/plugin.xml index a14908dc40bd..973a4b192fcd 100644 --- a/plugins/groovy/hotswap/pluginSrc/META-INF/plugin.xml +++ b/plugins/groovy/hotswap/pluginSrc/META-INF/plugin.xml @@ -3,7 +3,7 @@ Groovy HotSwap Enables HotSwap functionality in Groovy classes 0.6 - + JetBrains Inc. org.intellij.groovy From 2f58a3106fc1cfca3f08e62fbf878c5524d948bd Mon Sep 17 00:00:00 2001 From: peter Date: Tue, 4 May 2010 16:45:43 +0100 Subject: [PATCH 064/173] remove duplication --- ...oovyListGetCanBeKeyedAccessInspection.java | 6 +-- ...oovyListSetCanBeKeyedAccessInspection.java | 6 +-- ...roovyMapGetCanBeKeyedAccessInspection.java | 6 +-- ...roovyMapPutCanBeKeyedAccessInspection.java | 6 +-- .../codeInspection/utils/ClassUtils.java | 53 ------------------- .../IndexingMethodConversionPredicate.java | 29 ++-------- 6 files changed, 16 insertions(+), 90 deletions(-) delete mode 100644 plugins/groovy/src/org/jetbrains/plugins/groovy/codeInspection/utils/ClassUtils.java diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/codeInspection/gpath/GroovyListGetCanBeKeyedAccessInspection.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/codeInspection/gpath/GroovyListGetCanBeKeyedAccessInspection.java index 54896e7c2345..5d0781726489 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/codeInspection/gpath/GroovyListGetCanBeKeyedAccessInspection.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/codeInspection/gpath/GroovyListGetCanBeKeyedAccessInspection.java @@ -19,6 +19,7 @@ import com.intellij.codeInspection.ProblemDescriptor; import com.intellij.openapi.project.Project; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiType; +import com.intellij.psi.util.InheritanceUtil; import com.intellij.util.IncorrectOperationException; import org.jetbrains.annotations.Nls; import org.jetbrains.annotations.NotNull; @@ -26,7 +27,6 @@ import org.jetbrains.annotations.Nullable; import org.jetbrains.plugins.groovy.codeInspection.BaseInspection; import org.jetbrains.plugins.groovy.codeInspection.BaseInspectionVisitor; import org.jetbrains.plugins.groovy.codeInspection.GroovyFix; -import org.jetbrains.plugins.groovy.codeInspection.utils.ClassUtils; import org.jetbrains.plugins.groovy.lang.psi.api.statements.arguments.GrArgumentList; import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrExpression; import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrReferenceExpression; @@ -110,10 +110,10 @@ public class GroovyListGetCanBeKeyedAccessInspection extends BaseInspection { return; } final PsiType type = qualifier.getType(); - if (!ClassUtils.isSubclass(type, "java.util.List")) { + if (!InheritanceUtil.isInheritor(type, "java.util.List")) { return; } registerMethodCallError(grMethodCallExpression); } } -} \ No newline at end of file +} diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/codeInspection/gpath/GroovyListSetCanBeKeyedAccessInspection.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/codeInspection/gpath/GroovyListSetCanBeKeyedAccessInspection.java index d2135ebfe3fd..a25ee2b7a745 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/codeInspection/gpath/GroovyListSetCanBeKeyedAccessInspection.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/codeInspection/gpath/GroovyListSetCanBeKeyedAccessInspection.java @@ -19,6 +19,7 @@ import com.intellij.codeInspection.ProblemDescriptor; import com.intellij.openapi.project.Project; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiType; +import com.intellij.psi.util.InheritanceUtil; import com.intellij.util.IncorrectOperationException; import org.jetbrains.annotations.Nls; import org.jetbrains.annotations.NotNull; @@ -26,7 +27,6 @@ import org.jetbrains.annotations.Nullable; import org.jetbrains.plugins.groovy.codeInspection.BaseInspection; import org.jetbrains.plugins.groovy.codeInspection.BaseInspectionVisitor; import org.jetbrains.plugins.groovy.codeInspection.GroovyFix; -import org.jetbrains.plugins.groovy.codeInspection.utils.ClassUtils; import org.jetbrains.plugins.groovy.lang.psi.api.statements.arguments.GrArgumentList; import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrExpression; import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrReferenceExpression; @@ -111,10 +111,10 @@ public class GroovyListSetCanBeKeyedAccessInspection extends BaseInspection { return; } final PsiType type = qualifier.getType(); - if (!ClassUtils.isSubclass(type, "java.util.List")) { + if (!InheritanceUtil.isInheritor(type, "java.util.List")) { return; } registerMethodCallError(grMethodCallExpression); } } -} \ No newline at end of file +} diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/codeInspection/gpath/GroovyMapGetCanBeKeyedAccessInspection.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/codeInspection/gpath/GroovyMapGetCanBeKeyedAccessInspection.java index 2247a8cee218..44d061efd7fb 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/codeInspection/gpath/GroovyMapGetCanBeKeyedAccessInspection.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/codeInspection/gpath/GroovyMapGetCanBeKeyedAccessInspection.java @@ -19,6 +19,7 @@ import com.intellij.codeInspection.ProblemDescriptor; import com.intellij.openapi.project.Project; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiType; +import com.intellij.psi.util.InheritanceUtil; import com.intellij.util.IncorrectOperationException; import org.jetbrains.annotations.Nls; import org.jetbrains.annotations.NotNull; @@ -26,7 +27,6 @@ import org.jetbrains.annotations.Nullable; import org.jetbrains.plugins.groovy.codeInspection.BaseInspection; import org.jetbrains.plugins.groovy.codeInspection.BaseInspectionVisitor; import org.jetbrains.plugins.groovy.codeInspection.GroovyFix; -import org.jetbrains.plugins.groovy.codeInspection.utils.ClassUtils; import org.jetbrains.plugins.groovy.lang.psi.api.statements.arguments.GrArgumentList; import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrExpression; import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrReferenceExpression; @@ -110,10 +110,10 @@ public class GroovyMapGetCanBeKeyedAccessInspection extends BaseInspection { return; } final PsiType type = qualifier.getType(); - if (!ClassUtils.isSubclass(type, "java.util.Map")) { + if (!InheritanceUtil.isInheritor(type, "java.util.Map")) { return; } registerMethodCallError(grMethodCallExpression); } } -} \ No newline at end of file +} diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/codeInspection/gpath/GroovyMapPutCanBeKeyedAccessInspection.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/codeInspection/gpath/GroovyMapPutCanBeKeyedAccessInspection.java index ab6cce3c8e66..c12d5b64ba2b 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/codeInspection/gpath/GroovyMapPutCanBeKeyedAccessInspection.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/codeInspection/gpath/GroovyMapPutCanBeKeyedAccessInspection.java @@ -19,6 +19,7 @@ import com.intellij.codeInspection.ProblemDescriptor; import com.intellij.openapi.project.Project; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiType; +import com.intellij.psi.util.InheritanceUtil; import com.intellij.util.IncorrectOperationException; import org.jetbrains.annotations.Nls; import org.jetbrains.annotations.NotNull; @@ -26,7 +27,6 @@ import org.jetbrains.annotations.Nullable; import org.jetbrains.plugins.groovy.codeInspection.BaseInspection; import org.jetbrains.plugins.groovy.codeInspection.BaseInspectionVisitor; import org.jetbrains.plugins.groovy.codeInspection.GroovyFix; -import org.jetbrains.plugins.groovy.codeInspection.utils.ClassUtils; import org.jetbrains.plugins.groovy.lang.psi.api.statements.arguments.GrArgumentList; import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrExpression; import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrReferenceExpression; @@ -112,10 +112,10 @@ public class GroovyMapPutCanBeKeyedAccessInspection extends BaseInspection { return; } final PsiType type = qualifier.getType(); - if (!ClassUtils.isSubclass(type, "java.util.Map")) { + if (!InheritanceUtil.isInheritor(type, "java.util.Map")) { return; } registerMethodCallError(grMethodCallExpression); } } -} \ No newline at end of file +} diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/codeInspection/utils/ClassUtils.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/codeInspection/utils/ClassUtils.java deleted file mode 100644 index 90f3378a21b3..000000000000 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/codeInspection/utils/ClassUtils.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright 2007-2008 Dave Griffith - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jetbrains.plugins.groovy.codeInspection.utils; - -import com.intellij.openapi.project.Project; -import com.intellij.psi.JavaPsiFacade; -import com.intellij.psi.PsiClass; -import com.intellij.psi.PsiClassType; -import com.intellij.psi.PsiType; -import com.intellij.psi.search.GlobalSearchScope; -import com.intellij.psi.util.InheritanceUtil; -import org.jetbrains.annotations.NonNls; -import org.jetbrains.annotations.Nullable; - -public class ClassUtils { - - public static boolean isSubclass(@Nullable PsiType type, - @NonNls String ancestorName) { - if (type == null) { - return false; - } - if (!(type instanceof PsiClassType)) { - return false; - } - PsiClassType classType = (PsiClassType) type; - final PsiClass aClass = classType.resolve(); - return isSubclass(aClass, ancestorName); - } - - public static boolean isSubclass(@Nullable PsiClass aClass, - @NonNls String ancestorName) { - if (aClass == null) { - return false; - } - final Project project = aClass.getProject(); - final GlobalSearchScope scope = GlobalSearchScope.allScope(project); - final PsiClass ancestorClass = JavaPsiFacade.getInstance(aClass.getProject()).findClass(ancestorName, scope); - return InheritanceUtil.isCorrectDescendant(aClass, ancestorClass, true); - } -} diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/intentions/conversions/IndexingMethodConversionPredicate.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/intentions/conversions/IndexingMethodConversionPredicate.java index 8e0564dd5a2c..ea88baeaba19 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/intentions/conversions/IndexingMethodConversionPredicate.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/intentions/conversions/IndexingMethodConversionPredicate.java @@ -15,13 +15,11 @@ */ package org.jetbrains.plugins.groovy.intentions.conversions; -import com.intellij.openapi.project.Project; -import com.intellij.psi.*; -import com.intellij.psi.search.GlobalSearchScope; +import com.intellij.psi.CommonClassNames; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiType; import com.intellij.psi.tree.IElementType; import com.intellij.psi.util.InheritanceUtil; -import org.jetbrains.annotations.NonNls; -import org.jetbrains.annotations.Nullable; import org.jetbrains.plugins.groovy.intentions.base.ErrorUtil; import org.jetbrains.plugins.groovy.intentions.base.PsiElementPredicate; import org.jetbrains.plugins.groovy.lang.lexer.GroovyTokenTypes; @@ -83,26 +81,7 @@ class IndexingMethodConversionPredicate implements PsiElementPredicate { } private static boolean isMap(PsiType type) { - if (type == null) { - return false; - } - if (!(type instanceof PsiClassType)) { - return false; - } - final PsiClass referentClass = ((PsiClassType) type).resolve(); - return isSubclass(referentClass, "java.util.Map"); - } - - public static boolean isSubclass(@Nullable PsiClass aClass, - @NonNls String ancestorName) { - if (aClass == null) { - return false; - } - final JavaPsiFacade facade = JavaPsiFacade.getInstance(aClass.getProject()); - final Project project = facade.getProject(); - final GlobalSearchScope scope = GlobalSearchScope.allScope(project); - final PsiClass ancestorClass = facade.findClass(ancestorName, scope); - return InheritanceUtil.isCorrectDescendant(aClass, ancestorClass, true); + return InheritanceUtil.isInheritor(type, CommonClassNames.JAVA_UTIL_MAP); } } From 2abe12c24e7e70d53f31dcbfd194fb0d4b0bb2bb Mon Sep 17 00:00:00 2001 From: peter Date: Tue, 4 May 2010 17:23:51 +0100 Subject: [PATCH 065/173] a bit more efficient and comprehensive consoleFolding checking --- .../intellij/execution/ConsoleFoldingSettings.java | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/plugins/consoleFolding/src/com/intellij/execution/ConsoleFoldingSettings.java b/plugins/consoleFolding/src/com/intellij/execution/ConsoleFoldingSettings.java index 50e0b6c010f0..43c1f8668f73 100644 --- a/plugins/consoleFolding/src/com/intellij/execution/ConsoleFoldingSettings.java +++ b/plugins/consoleFolding/src/com/intellij/execution/ConsoleFoldingSettings.java @@ -25,14 +25,12 @@ public class ConsoleFoldingSettings implements PersistentStateComponent patterns) { + for (String pattern : patterns) { if (line.contains(pattern)) { - for (String negativePattern : myNegativePatterns) { - if (line.contains(negativePattern)) { - continue positive; - } - } return true; } } From c35c0e4703cb701b74805963ed6d75118c33d033 Mon Sep 17 00:00:00 2001 From: "Rustam.Vishnyakov" Date: Tue, 4 May 2010 20:36:23 +0400 Subject: [PATCH 066/173] Another fix for EA-19269: XML/HTML comment is split into subblocks if there is an adjacent PHP code --- .../intellij/psi/formatter/xml/XmlBlock.java | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/xml/impl/src/com/intellij/psi/formatter/xml/XmlBlock.java b/xml/impl/src/com/intellij/psi/formatter/xml/XmlBlock.java index 2436f611962c..7c774f7ff7a3 100644 --- a/xml/impl/src/com/intellij/psi/formatter/xml/XmlBlock.java +++ b/xml/impl/src/com/intellij/psi/formatter/xml/XmlBlock.java @@ -73,7 +73,7 @@ public class XmlBlock extends AbstractXmlBlock { } if (myNode.getElementType() == XmlElementType.XML_COMMENT) { - return EMPTY; + return splitComment(); } if (myNode.getElementType() == XmlElementType.XML_TEXT) { @@ -126,6 +126,26 @@ public class XmlBlock extends AbstractXmlBlock { } + private List splitComment() { + if (myNode.getElementType() != XmlElementType.XML_COMMENT) return null; + // + // Do not build subblocks for comment-only node. + if (myNode.getFirstChildNode() != null && + myNode.getFirstChildNode().getElementType() == XmlElementType.XML_COMMENT_START && + myNode.getLastChildNode().getElementType() == XmlElementType.XML_COMMENT_END) { + return EMPTY; + } + final ArrayList result = new ArrayList(3); + final ArrayList commentBlocks = new ArrayList(3); + ASTNode child = myNode.getFirstChildNode(); + while (child != null) { + IElementType childType = child.getElementType(); + result.add(new XmlBlock(child, null, null, myXmlFormattingPolicy, getChildIndent(), null)); + child = child.getTreeNext(); + } + return result; + } + protected @Nullable Wrap getDefaultWrap(ASTNode node) { return null; } From 1daca8b34ccee63bb7e85357914f56582338bf3b Mon Sep 17 00:00:00 2001 From: Gregory Shrago Date: Thu, 29 Apr 2010 23:42:45 +0400 Subject: [PATCH 067/173] remote processor support refactored --- .../execution/rmi/RemoteProcessSupport.java | 320 ++++++++++++++++++ .../intellij/execution/rmi/RemoteUtil.java | 144 ++++++++ .../execution/rmi/RemoteCastable.java | 11 + 3 files changed, 475 insertions(+) create mode 100644 platform/lang-impl/src/com/intellij/execution/rmi/RemoteProcessSupport.java create mode 100644 platform/lang-impl/src/com/intellij/execution/rmi/RemoteUtil.java create mode 100644 platform/util/src/com/intellij/execution/rmi/RemoteCastable.java diff --git a/platform/lang-impl/src/com/intellij/execution/rmi/RemoteProcessSupport.java b/platform/lang-impl/src/com/intellij/execution/rmi/RemoteProcessSupport.java new file mode 100644 index 000000000000..cd541b2a6cbe --- /dev/null +++ b/platform/lang-impl/src/com/intellij/execution/rmi/RemoteProcessSupport.java @@ -0,0 +1,320 @@ +package com.intellij.execution.rmi; + +import com.intellij.execution.ExecutionException; +import com.intellij.execution.ExecutionResult; +import com.intellij.execution.Executor; +import com.intellij.execution.configurations.RunProfile; +import com.intellij.execution.configurations.RunProfileState; +import com.intellij.execution.executors.DefaultRunExecutor; +import com.intellij.execution.process.ProcessEvent; +import com.intellij.execution.process.ProcessHandler; +import com.intellij.execution.process.ProcessListener; +import com.intellij.execution.process.ProcessOutputTypes; +import com.intellij.execution.runners.DefaultProgramRunner; +import com.intellij.execution.runners.ProgramRunner; +import com.intellij.openapi.application.ApplicationManager; +import com.intellij.openapi.progress.ProgressManager; +import com.intellij.openapi.project.Project; +import com.intellij.openapi.util.Key; +import com.intellij.openapi.util.Pair; +import com.intellij.openapi.util.Ref; +import com.intellij.openapi.util.ThrowableComputable; +import com.intellij.util.containers.ContainerUtil; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import javax.rmi.PortableRemoteObject; +import java.rmi.Remote; +import java.rmi.registry.LocateRegistry; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + +/** + * @author Gregory.Shrago + */ +public abstract class RemoteProcessSupport { + private final Project myProject; + private final Class myValueClass; + private final HashMap, Object> myProcMap = + new HashMap, Object>(); + + public RemoteProcessSupport(Project project, Class valueClass) { + myProject = project; + myValueClass = valueClass; + } + + public Project getProject() { + return myProject; + } + + protected abstract void fireModificationCountChanged(); + + protected abstract String getName(Target target); + + protected void logText(Parameters configuration, ProcessEvent event, Key outputType, Object info) { + } + + + public void stopAll() { + final ArrayList allHandlers = new ArrayList(); + synchronized (myProcMap) { + for (Object o : myProcMap.values()) { + final ProcessHandler handler = o instanceof PendingInfo ? ((PendingInfo)o).handler : o instanceof Info ? ((Info)o).handler : null; + ContainerUtil.addIfNotNull(handler, allHandlers); + } + myProcMap.clear(); + } + for (ProcessHandler handler : allHandlers) { + handler.destroyProcess(); + } + } + + public List getActiveConfigurations(@NotNull Target target) { + final ArrayList result = new ArrayList(); + synchronized (myProcMap) { + for (Pair pair : myProcMap.keySet()) { + if (pair.first == target) { + result.add(pair.second); + } + } + } + return result; + } + + public EntryPoint acquire(@NotNull final Target target, @NotNull final Parameters configuration) throws Exception { + final Ref ref = Ref.create(null); + final Pair key = Pair.create(target, configuration); + if (!getExistingInfo(ref, key)) { + final Runnable runnable = new Runnable() { + public void run() { + startProcess(target, configuration, key); + } + }; + if (ApplicationManager.getApplication().isDispatchThread()) { + runnable.run(); + } + else { + ApplicationManager.getApplication().invokeLater(runnable); + } + if (ref.isNull()) { + try { + synchronized (ref) { + while (ref.isNull()) { + ref.wait(1000); + ProgressManager.checkCanceled(); + } + } + } + catch (InterruptedException e) { + ProgressManager.checkCanceled(); + } + } + } + if (ref.isNull()) throw new RuntimeException("Unable to acquire remote proxy for: " + getName(target)); + final Info info = ref.get(); + if (info.handler == null) throw new RuntimeException(info.name); + return acquire(info); + } + + public void release(@NotNull Target target, @Nullable Parameters configuration) { + final ArrayList handlersToStop = new ArrayList(); + final ArrayList> keysToRemove = new ArrayList>(); + synchronized (myProcMap) { + for (Pair pair : myProcMap.keySet()) { + if (pair.first == target && (configuration == null || pair.second == configuration)) { + final Object o = myProcMap.get(pair); + final ProcessHandler handler = o instanceof PendingInfo ? ((PendingInfo)o).handler : o instanceof Info ? ((Info)o).handler : null; + if (handler != null) { + handlersToStop.add(handler); + keysToRemove.add(pair); + } + else { + // todo what to do??? + } + } + } + myProcMap.keySet().removeAll(keysToRemove); + } + for (ProcessHandler handler : handlersToStop) { + handler.destroyProcess(); + } + fireModificationCountChanged(); + } + + private void startProcess(Target target, Parameters configuration, Pair key) { + final ProgramRunner runner = new DefaultProgramRunner() { + @NotNull + public String getRunnerId() { + return "MyRunner"; + } + + public boolean canRun(@NotNull String executorId, @NotNull RunProfile profile) { + return true; + } + }; + try { + final Executor executor = DefaultRunExecutor.getRunExecutorInstance(); + final RunProfileState state = getRunProfileState(target, configuration, executor); + final ExecutionResult result = state.execute(executor, runner); + final ProcessHandler processHandler = result.getProcessHandler(); + processHandler.addProcessListener(getProcessListener(key)); + processHandler.startNotify(); + } + catch (ExecutionException e) { + handleProcessTerminated(key, e.getMessage()); + } + } + + protected abstract RunProfileState getRunProfileState(Target target, Parameters configuration, Executor executor) throws ExecutionException; + + private boolean getExistingInfo(Ref ref, final Pair key) { + Object info; + synchronized (myProcMap) { + info = myProcMap.get(key); + try { + while (info != null && + (!(info instanceof Info) || ((Info)info).handler.isProcessTerminating() || ((Info)info).handler.isProcessTerminated())) { + myProcMap.wait(1000); + ProgressManager.checkCanceled(); + info = myProcMap.get(key); + } + } + catch (InterruptedException e) { + ProgressManager.checkCanceled(); + } + if (info == null) { + myProcMap.put(key, new PendingInfo(ref, null)); + } + } + if (info != null) { + if (info instanceof Info) { + synchronized (ref) { + ref.set((Info)info); + ref.notifyAll(); + } + } + return true; + } + return false; + } + + private EntryPoint acquire(final Info port) throws Exception { + return RemoteUtil.executeWithClassLoader(new ThrowableComputable() { + public EntryPoint compute() throws Exception { + final Remote remote = LocateRegistry.getRegistry(port.port).lookup(port.name); + if (Remote.class.isAssignableFrom(myValueClass)) { + return RemoteUtil.substituteClassLoader(narrowImpl(remote, myValueClass), myValueClass.getClassLoader()); + } + else { + return RemoteUtil.castToLocal(remote, myValueClass); + } + } + }, myValueClass.getClassLoader()); + } + + private static T narrowImpl(Remote remote, Class to) { + return (T) (to.isInstance(remote)? remote : PortableRemoteObject.narrow(remote, to)); + } + + private ProcessListener getProcessListener(final Pair key) { + return new ProcessListener() { + public void startNotified(ProcessEvent event) { + final ProcessHandler processHandler = event.getProcessHandler(); + processHandler.putUserData(ProcessHandler.SILENTLY_DESTROY_ON_CLOSE, Boolean.TRUE); + final Object o; + synchronized (myProcMap) { + o = myProcMap.get(key); + if (o instanceof PendingInfo) { + myProcMap.put(key, new PendingInfo(((PendingInfo)o).ref, processHandler)); + } + } + } + + public void processTerminated(ProcessEvent event) { + handleProcessTerminated(key, null); + fireModificationCountChanged(); + } + + public void processWillTerminate(ProcessEvent event, boolean willBeDestroyed) { + } + + public void onTextAvailable(ProcessEvent event, Key outputType) { + Info result = null; + final PendingInfo info; + synchronized (myProcMap) { + final Object o = myProcMap.get(key); + logText(key.second, event, outputType, o); + if (o instanceof PendingInfo) { + info = (PendingInfo)o; + if (outputType == ProcessOutputTypes.STDOUT) { + final String text = event.getText(); + final String prefix = "Port/ID:"; + if (text != null && text.startsWith(prefix)) { + final String pair = text.substring(prefix.length()).trim(); + final int idx = pair.indexOf("/"); + result = new Info(info.handler, Integer.parseInt(pair.substring(0, idx)), pair.substring(idx + 1)); + myProcMap.put(key, result); + myProcMap.notifyAll(); + } + } + else if (outputType == ProcessOutputTypes.STDERR) { + info.stderr.append(event.getText()); + } + } + else info = null; + } + if (result != null) { + synchronized (info.ref) { + info.ref.set(result); + info.ref.notifyAll(); + } + fireModificationCountChanged(); + } + } + }; + } + + private void handleProcessTerminated(Pair key, String errorMessage) { + Object o; + final PendingInfo pendingInfo; + synchronized (myProcMap) { + o = myProcMap.remove(key); + pendingInfo = o instanceof PendingInfo? (PendingInfo)o : null; + if (pendingInfo != null && (pendingInfo.stderr.length() > 0 || pendingInfo.ref.isNull())) { + if (errorMessage != null) pendingInfo.stderr.append(errorMessage); + pendingInfo.ref.set(new Info(null, -1, pendingInfo.stderr.toString())); + } + myProcMap.notifyAll(); + } + if (pendingInfo != null) { + synchronized (pendingInfo.ref) { + pendingInfo.ref.notifyAll(); + } + } + } + + private static class PendingInfo { + final Ref ref; + final ProcessHandler handler; + final StringBuilder stderr = new StringBuilder(); + + private PendingInfo(Ref ref, ProcessHandler handler) { + this.ref = ref; + this.handler = handler; + } + } + + private static class Info { + final ProcessHandler handler; + final int port; + final String name; + + private Info(ProcessHandler handler, int port, String name) { + this.handler = handler; + this.port = port; + this.name = name; + } + } + +} diff --git a/platform/lang-impl/src/com/intellij/execution/rmi/RemoteUtil.java b/platform/lang-impl/src/com/intellij/execution/rmi/RemoteUtil.java new file mode 100644 index 000000000000..2ab1c3f25082 --- /dev/null +++ b/platform/lang-impl/src/com/intellij/execution/rmi/RemoteUtil.java @@ -0,0 +1,144 @@ +package com.intellij.execution.rmi; + +import com.intellij.openapi.util.Pair; +import com.intellij.openapi.util.ThrowableComputable; +import com.intellij.util.ArrayUtil; +import com.intellij.util.containers.ConcurrentFactoryMap; +import gnu.trove.THashMap; + +import java.lang.reflect.InvocationHandler; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.lang.reflect.Proxy; +import java.rmi.Remote; +import java.util.Map; + +/** + * @author Gregory.Shrago + */ + public class RemoteUtil { + RemoteUtil() { + } + + private static final ConcurrentFactoryMap, Class>, Map> ourRemoteToLocalMap = new ConcurrentFactoryMap,Class>, Map>() { + @Override + protected Map create(Pair, Class> key) { + final THashMap map = new THashMap(); + for (Method method : key.second.getMethods()) { + Method m = null; + main: + for (Method candidate : key.first.getMethods()) { + if (!candidate.getName().equals(method.getName())) continue; + Class[] cpts = candidate.getParameterTypes(); + Class[] mpts = method.getParameterTypes(); + if (cpts.length != mpts.length) continue; + for (int i = 0; i < mpts.length; i++) { + Class mpt = mpts[i]; + Class cpt = cpts[i]; + if (!cpt.isAssignableFrom(mpt)) continue main; + } + m = candidate; + break; + } + if (m != null) map.put(method, m); + } + return map; + } + }; + + public static T castToLocal(final Object remote, final Class jdbcClass) { + final ClassLoader loader = jdbcClass.getClassLoader(); + Object proxy = Proxy.newProxyInstance(loader, new Class[]{jdbcClass}, new InvocationHandler() { + public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { + if (method.getDeclaringClass() == Object.class) { + return method.invoke(remote, args); + } + else { + Method m = ourRemoteToLocalMap.get(Pair., Class>create(remote.getClass(), jdbcClass)).get(method); + if (m == null) throw new NoSuchMethodError(method.getName() + " in " + remote.getClass()); + try { + Object result = m.invoke(remote, args); + if (result instanceof Remote) { + return castToLocal(result, tryFixReturnType(result, method.getReturnType(), loader)); + } + return result; + } + catch (InvocationTargetException e) { + Throwable cause = e; + for (; cause.getCause() != null; cause = cause.getCause()); + if (cause instanceof RuntimeException) throw cause; + if (ArrayUtil.indexOf(method.getExceptionTypes(), cause.getClass()) > -1) throw cause; + throw new RuntimeException(cause); + } + catch (RuntimeException e) { + throw e; + } + catch (Exception e) { + throw new RuntimeException(e); + } + } + } + }); + return (T)proxy; + } + + private static Class tryFixReturnType(Object result, Class returnType, ClassLoader loader) throws Exception { + if (returnType.isInterface()) return returnType; + if (result instanceof RemoteCastable) { + final String className = ((RemoteCastable)result).getCastToClassName(); + return Class.forName(className, true, loader); + } + return returnType; + } + + public static T substituteClassLoader(final T remote, final ClassLoader classLoader) throws Exception { + return executeWithClassLoader(new ThrowableComputable() { + public T compute() { + Object proxy = Proxy.newProxyInstance(classLoader, remote.getClass().getInterfaces(), new InvocationHandler() { + public Object invoke(Object proxy, final Method method, final Object[] args) throws Throwable { + return executeWithClassLoader(new ThrowableComputable() { + public Object compute() throws Exception { + try { + final Object result = method.invoke(remote, args); + if (result instanceof Remote) { + if (result instanceof RemoteCastable) { + return castToLocal(result, tryFixReturnType(result, method.getReturnType(), classLoader)); + } + return substituteClassLoader(result, classLoader); + } + return result; + } + catch (InvocationTargetException e) { + Throwable cause = e; + while (cause.getCause() != null) cause = cause.getCause(); + if (cause instanceof RuntimeException) throw (RuntimeException)cause; + if (cause instanceof Exception && ArrayUtil.indexOf(method.getExceptionTypes(), cause.getClass()) > -1) throw (Exception)cause; + throw new RuntimeException(cause); + } + catch (RuntimeException e) { + throw e; + } + catch (Exception e) { + throw new RuntimeException(e); + } + } + }, classLoader); + } + }); + return (T)proxy; + } + }, classLoader); + } + + public static T executeWithClassLoader(final ThrowableComputable action, final ClassLoader classLoader) throws Exception { + final Thread thread = Thread.currentThread(); + final ClassLoader prev = thread.getContextClassLoader(); + try { + thread.setContextClassLoader(classLoader); + return action.compute(); + } + finally { + thread.setContextClassLoader(prev); + } + } +} diff --git a/platform/util/src/com/intellij/execution/rmi/RemoteCastable.java b/platform/util/src/com/intellij/execution/rmi/RemoteCastable.java new file mode 100644 index 000000000000..28395a18b04d --- /dev/null +++ b/platform/util/src/com/intellij/execution/rmi/RemoteCastable.java @@ -0,0 +1,11 @@ +package com.intellij.execution.rmi; + +import java.rmi.Remote; +import java.rmi.RemoteException; + +/** + * @author Gregory.Shrago + */ +public interface RemoteCastable extends Remote { + String getCastToClassName() throws RemoteException; +} From 8409aaa66b5287a39c635536cdd2dc0ca5f8b051 Mon Sep 17 00:00:00 2001 From: Maxim Shafirov Date: Tue, 4 May 2010 20:46:29 +0400 Subject: [PATCH 068/173] Do not fail performance tests but rather record their timings in TC report. --- build/scripts/common_tests.gant | 1 + .../testFramework/PlatformTestUtil.java | 17 +++-- .../testFramework/TeamCityLogger.java | 75 +++++++++++++++++++ .../intellij/openapi/util/io/FileUtil.java | 7 +- 4 files changed, 92 insertions(+), 8 deletions(-) create mode 100644 platform/testFramework/src/com/intellij/testFramework/TeamCityLogger.java diff --git a/build/scripts/common_tests.gant b/build/scripts/common_tests.gant index c6eac41aceff..4a4387e303a7 100644 --- a/build/scripts/common_tests.gant +++ b/build/scripts/common_tests.gant @@ -8,6 +8,7 @@ target(compile: "Compile project") { loadProject() project["javac"] = "$jdk/bin/javac" project.targetFolder = out + ant.delete(dir: "$home/reports") project.clean() project.makeAll() } diff --git a/platform/testFramework/src/com/intellij/testFramework/PlatformTestUtil.java b/platform/testFramework/src/com/intellij/testFramework/PlatformTestUtil.java index ff7be9f4f218..22a2f1e98d80 100644 --- a/platform/testFramework/src/com/intellij/testFramework/PlatformTestUtil.java +++ b/platform/testFramework/src/com/intellij/testFramework/PlatformTestUtil.java @@ -190,9 +190,8 @@ public class PlatformTestUtil { instance.set(Calendar.DAY_OF_MONTH, bombed.day()); instance.set(Calendar.HOUR_OF_DAY, bombed.time()); instance.set(Calendar.MINUTE, 0); - Date time = instance.getTime(); - return time; + return instance.getTime(); } public static boolean bombExplodes(Bombed bombedAnnotation) { @@ -344,18 +343,22 @@ public class PlatformTestUtil { // For faster machines (expectedOnMyMachine < expected) allow nonlinear performance rating: // just perform better than acceptable expected int percentage = (int)(100.0 * (actual - expectedOnMyMachine) / expectedOnMyMachine); - String failMessage = message + "." + + String logMessage = message + "." + " Operation took " + percentage + "% longer than expected." + " Expected on my machine: " + expectedOnMyMachine + "." + " Actual: " + actual + "." + " Expected on Etalon machine: " + expected + ";" + " Actual on Etalon: " + actual * ETALON_TIMING / Timings.MACHINE_TIMING; - if (actual > expectedOnMyMachine * acceptableChangeFactor && + + if (actual < expectedOnMyMachine) { + TeamCityLogger.info(logMessage); + } + else if (actual > expectedOnMyMachine * acceptableChangeFactor && (expectedOnMyMachine > expected || actual > expected * acceptableChangeFactor)) { - Assert.fail(failMessage); + TeamCityLogger.warning(logMessage); } else { - System.out.println(failMessage); + TeamCityLogger.error(logMessage); } } @@ -383,7 +386,7 @@ public class PlatformTestUtil { System.gc(); System.gc(); System.gc(); - System.out.println("Another epic fail: "+e.getMessage() +"; Attempts remained: "+attempts); + TeamCityLogger.info("Another epic fail: "+e.getMessage() +"; Attempts remained: "+attempts); } } } diff --git a/platform/testFramework/src/com/intellij/testFramework/TeamCityLogger.java b/platform/testFramework/src/com/intellij/testFramework/TeamCityLogger.java new file mode 100644 index 000000000000..3a439d8873bf --- /dev/null +++ b/platform/testFramework/src/com/intellij/testFramework/TeamCityLogger.java @@ -0,0 +1,75 @@ +/* + * Copyright 2000-2010 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* + * @author max + */ +package com.intellij.testFramework; + +import com.intellij.openapi.application.PathManager; +import com.intellij.openapi.diagnostic.Logger; +import com.intellij.openapi.util.io.FileUtil; + +import java.io.File; +import java.io.IOException; + +public class TeamCityLogger { + private static final Logger LOG = Logger.getInstance("#com.intellij.testFramework.TeamCityLogger"); + + private final static boolean isUnderTC = System.getProperty("teamcity.build.tempDir") != null; + + private TeamCityLogger() {} + + private static File reportFile() { + return new File(PathManager.getHomePath() + "/reports/report.txt"); + } + + public static void info(String message) { + if (isUnderTC) { + tcLog(message, "INFO"); + } + else { + LOG.info(message); + } + } + + public static void warning(String message) { + if (isUnderTC) { + tcLog(message, "WARNING"); + } + else { + LOG.warn(message); + } + } + + public static void error(String message) { + if (isUnderTC) { + tcLog(message, "ERROR"); + } + else { + LOG.error(message); + } + } + + private static void tcLog(String message, String level) { + try { + FileUtil.appendToFile(reportFile(), level + ": " + message); + } + catch (IOException e) { + LOG.error(e); + } + } +} diff --git a/platform/util/src/com/intellij/openapi/util/io/FileUtil.java b/platform/util/src/com/intellij/openapi/util/io/FileUtil.java index 35b239a3bde3..26441f3f75e7 100644 --- a/platform/util/src/com/intellij/openapi/util/io/FileUtil.java +++ b/platform/util/src/com/intellij/openapi/util/io/FileUtil.java @@ -968,6 +968,10 @@ public class FileUtil { } } + public static void appendToFile(File file, String text) throws IOException { + writeToFile(file, text.getBytes("UTF-8"), true); + } + public static void writeToFile(final File file, final byte[] text) throws IOException { writeToFile(file, text, false); } @@ -981,9 +985,10 @@ public class FileUtil { finally { stream.close(); } - } + + public static boolean processFilesRecursively(final File root, final Processor processor) { final LinkedList queue = new LinkedList(); queue.add(root); From 8b21c7c4aa12f21dea10a0a7e183ccb94709322e Mon Sep 17 00:00:00 2001 From: Roman Chernyatchik Date: Tue, 4 May 2010 23:04:34 +0400 Subject: [PATCH 069/173] 1. Support for error Service Message. Errors can be reported not only in "test" context but also in suites. Suites containing errors will be marked with a small red exclamation mark. 2. several typo were fixed --- platform/icons/src/nodes/errorMark.png | Bin 0 -> 320 bytes .../messages/SMTestsRunnerBundle.properties | 6 + .../sm/runner/GeneralTestEventsProcessor.java | 2 + .../GeneralToSMTRunnerEventsConvertor.java | 38 +++-- .../OutputToGeneralTestEventsConverter.java | 46 +++++- .../testframework/sm/runner/SMTestProxy.java | 49 ++++++- .../sm/runner/states/NotRunState.java | 2 +- .../runner/states/SuiteInProgressState.java | 2 +- .../sm/runner/states/TestFailedState.java | 25 +++- .../sm/runner/states/TestPassedState.java | 2 +- .../sm/runner/states/TestStateInfo.java | 14 +- .../sm/runner/ui/SMPoolOfTestIcons.java | 53 +++++++ .../ui/SMTRunnerNotificationsHandler.java | 16 ++- .../sm/runner/ui/SMTestRunnerResultsForm.java | 2 +- .../sm/runner/ui/TestsPresentationUtil.java | 30 ++-- .../sm/runner/ui/statistics/BaseColumn.java | 2 +- .../runner/ui/statistics/ColumnResults.java | 10 +- .../sm/runner/SMTRunnerConsoleTest.java | 62 ++++++++ .../sm/runner/SMTestProxyTest.java | 4 +- .../runner/ui/TestsPresentationUtilTest.java | 136 ++++++++++++++++++ .../ui/statistics/ColumnResultsTest.java | 16 +-- .../ui/TestsProgressAnimator.java | 7 +- 22 files changed, 459 insertions(+), 65 deletions(-) create mode 100644 platform/icons/src/nodes/errorMark.png create mode 100644 platform/smRunner/src/com/intellij/execution/testframework/sm/runner/ui/SMPoolOfTestIcons.java diff --git a/platform/icons/src/nodes/errorMark.png b/platform/icons/src/nodes/errorMark.png new file mode 100644 index 0000000000000000000000000000000000000000..ff911920fa37ee142589a4f4fe63b956b3047f38 GIT binary patch literal 320 zcmV-G0l)rk7RCwBA{Qv(y10{fofkH59z+f>SOAEF-`7=acy4KU=dn2NFAxplgT#q(f!>Gu z%Gl2{ruZ=Y`NJ&x_B+F4VNT_rcW*2FB+?72KX&ib0cnN_`~~8#K>qvPyL5;#K=RMM zJ95YZpTU@s;q$$_a>T^Ka~36)N1!bC8x(57oD83Uk@pd300U5*7z1vzySiWb!@}|x zWV0SH3_b$sFF?Mqi~AK~yl_ddv3>D(AOqy*Z4v@)}y0000 sm.test.runner.ui.tabs.statistics.columns.duration.prefix.running=RUNNING sm.test.runner.ui.tabs.statistics.columns.duration.prefix.terminated=TERMINATED sm.test.runner.ui.tabs.statistics.columns.results.title=Results +sm.test.runner.ui.tabs.statistics.columns.results.undefined= sm.test.runner.ui.tabs.statistics.columns.results.count.msg.failed=F:{0} sm.test.runner.ui.tabs.statistics.columns.results.count.msg.errors=E:{0} sm.test.runner.ui.tabs.statistics.columns.results.count.msg.passed=P:{0} @@ -44,6 +46,10 @@ sm.test.runner.states.suite.is.empty=Empty test suite. sm.test.runner.states.test.is.ignored=Test ignored. sm.test.runner.notifications.tests.passed=Tests passed +sm.test.runner.notifications.tests.passed.with.errors=Tests passed with errors sm.test.runner.notifications.tests.failed=Tests failed +sm.test.runner.notifications.tests.failed.with.errors=Tests failed with errors sm.test.runner.notifications.tests.skipped=Tests skipped +sm.test.runner.notifications.tests.skipped.with.errors=Tests skipped with errors sm.test.runner.notifications.tests.not.run=Tests were not started +sm.test.runner.notifications.tests.not.run.with.errors=Tests were not started with errors. Errors occurred diff --git a/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/GeneralTestEventsProcessor.java b/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/GeneralTestEventsProcessor.java index 635def2a8ec5..7fa143269bd9 100644 --- a/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/GeneralTestEventsProcessor.java +++ b/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/GeneralTestEventsProcessor.java @@ -17,6 +17,7 @@ package com.intellij.execution.testframework.sm.runner; import com.intellij.openapi.Disposable; import com.intellij.openapi.util.Key; +import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; /** @@ -41,6 +42,7 @@ public interface GeneralTestEventsProcessor extends Disposable { void onSuiteFinished(final String suiteName); void onUncapturedOutput(final String text, final Key outputType); + void onError(@NotNull final String localizedMessage, @Nullable final String stackTrace); // Custom progress statistics diff --git a/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/GeneralToSMTRunnerEventsConvertor.java b/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/GeneralToSMTRunnerEventsConvertor.java index e3741b79f8c3..55a2a63d3439 100644 --- a/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/GeneralToSMTRunnerEventsConvertor.java +++ b/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/GeneralToSMTRunnerEventsConvertor.java @@ -175,17 +175,7 @@ public class GeneralToSMTRunnerEventsConvertor implements GeneralTestEventsProce public void onUncapturedOutput(final String text, final Key outputType) { SMRunnerUtil.addToInvokeLater(new Runnable() { public void run() { - //if we can locate test - we will send outout to it, otherwise to current test suite - final SMTestProxy currentProxy; - if (myRunningTestsFullNameToProxy.size() == 1) { - //current test - currentProxy = myRunningTestsFullNameToProxy.values().iterator().next(); - } else { - //current suite - // - // ProcessHandler can fire output available event before processStarted event - currentProxy = mySuitesStack.isEmpty() ? myTestsRootNode : getCurrentSuite(); - } + final SMTestProxy currentProxy = findCurrentTestOrSuite(); if (ProcessOutputTypes.STDERR.equals(outputType)) { currentProxy.addStdErr(text); @@ -198,6 +188,16 @@ public class GeneralToSMTRunnerEventsConvertor implements GeneralTestEventsProce }); } + public void onError(@NotNull final String localizedMessage, + @Nullable final String stackTrace) { + SMRunnerUtil.addToInvokeLater(new Runnable() { + public void run() { + final SMTestProxy currentProxy = findCurrentTestOrSuite(); + currentProxy.addError(localizedMessage, stackTrace); + } + }); + } + public void onCustomProgressTestsCategory(@Nullable final String categoryName, final int testCount) { SMRunnerUtil.addToInvokeLater(new Runnable() { @@ -455,4 +455,20 @@ public class GeneralToSMTRunnerEventsConvertor implements GeneralTestEventsProce } }); } + + + private SMTestProxy findCurrentTestOrSuite() { + //if we can locate test - we will send output to it, otherwise to current test suite + final SMTestProxy currentProxy; + if (myRunningTestsFullNameToProxy.size() == 1) { + //current test + currentProxy = myRunningTestsFullNameToProxy.values().iterator().next(); + } else { + //current suite + // + // ProcessHandler can fire output available event before processStarted event + currentProxy = mySuitesStack.isEmpty() ? myTestsRootNode : getCurrentSuite(); + } + return currentProxy; + } } diff --git a/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/OutputToGeneralTestEventsConverter.java b/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/OutputToGeneralTestEventsConverter.java index 39cf6df8043d..1704f6e35bf1 100644 --- a/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/OutputToGeneralTestEventsConverter.java +++ b/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/OutputToGeneralTestEventsConverter.java @@ -78,7 +78,7 @@ public class OutputToGeneralTestEventsConverter implements ProcessOutputConsumer public void process(final String text, final Key outputType) { if (outputType != ProcessOutputTypes.STDERR && outputType != ProcessOutputTypes.SYSTEM) { - // we check for consistensy only std output + // we check for consistently only std output // because all events must be send to stdout processStdOutConsistently(text, outputType); } else { @@ -268,6 +268,16 @@ public class OutputToGeneralTestEventsConverter implements ProcessOutputConsumer } } + private void fireOnErrorMsg(@NotNull final String localizedMessage, + @Nullable final String stackTrace) { + + // local variable is used to prevent concurrent modification + final GeneralTestEventsProcessor processor = myProcessor; + if (processor != null) { + processor.onError(localizedMessage, stackTrace); + } + } + private class MyServiceMessageVisitor extends DefaultServiceMessageVisitor { @NonNls public static final String KEY_TESTS_COUNT = "testCount"; @NonNls private static final String ATTR_KEY_TEST_ERROR = "error"; @@ -277,6 +287,13 @@ public class OutputToGeneralTestEventsConverter implements ProcessOutputConsumer @NonNls private static final String ATTR_KEY_LOCATION_URL_OLD = "location"; @NonNls private static final String ATTR_KEY_STACKTRACE_DETAILS = "details"; + @NonNls private static final String MESSAGE = "message"; + @NonNls private static final String ATTR_KEY_STATUS = "status"; + @NonNls private static final String ATTR_VALUE_STATUS_ERROR = "ERROR"; + @NonNls private static final String ATTR_VALUE_STATUS_WARNING = "WARNING"; + @NonNls private static final String ATTR_KEY_TEXT = "text"; + @NonNls private static final String ATTR_KEY_ERROR_DETAILS = "errorDetails"; + @NonNls public static final String CUSTOM_STATUS = "customProgressStatus"; @NonNls private static final String ATTR_KEY_TEST_TYPE = "type"; @NonNls private static final String ATTR_KEY_TESTS_CATEGORY = "testsCategory"; @@ -384,7 +401,32 @@ public class OutputToGeneralTestEventsConverter implements ProcessOutputConsumer processTestCountInSuite(msg); } else if (CUSTOM_STATUS.equals(name)) { processCustomStatus(msg); - } else { + } else if (MESSAGE.equals(name)) { + final Map msgAttrs = msg.getAttributes(); + + final String text = msgAttrs.get(ATTR_KEY_TEXT); + if (!StringUtil.isEmpty(text)){ + // msg status + final String status = msgAttrs.get(ATTR_KEY_STATUS); + if (status.equals(ATTR_VALUE_STATUS_ERROR)) { + // error msg + + final String stackTrace = msgAttrs.get(ATTR_KEY_ERROR_DETAILS); + fireOnErrorMsg(text, stackTrace); + } else if (status.equals(ATTR_VALUE_STATUS_WARNING)) { + // warning msg + + // let's show warning via stderr + fireOnUncapturedOutput(text, ProcessOutputTypes.STDERR); + } else { + // some other text + + // we cannot pass output type here but it is a service message + // let's think that is was stdout + fireOnUncapturedOutput(text, ProcessOutputTypes.STDOUT); + } + } + } else { //Do nothing } } diff --git a/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/SMTestProxy.java b/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/SMTestProxy.java index 8ffba72416ff..76341de59ea9 100644 --- a/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/SMTestProxy.java +++ b/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/SMTestProxy.java @@ -50,7 +50,8 @@ public class SMTestProxy extends CompositePrintable implements PrintableTestProx private Integer myDuration = null; // duration is unknown @Nullable private final String myLocationUrl; private boolean myDurationIsCached = false; // is used for separating unknown and unset duration - + private boolean myHasErrors = false; + private boolean myHasErrorsCached = false; private Printer myPrinter = Printer.DEAF; @@ -88,6 +89,35 @@ public class SMTestProxy extends CompositePrintable implements PrintableTestProx return myState.getMagnitude(); } + public boolean hasErrors() { + // if already cached + if (myHasErrorsCached) { + return myHasErrors; + } + + final boolean canCacheErrors = !myState.isInProgress(); + // calculate + final boolean hasErrors = calcHasErrors(); + if (canCacheErrors) { + myHasErrors = hasErrors; + myHasErrorsCached = true; + } + return hasErrors; + } + + private boolean calcHasErrors() { + if (myHasErrors) { + return true; + } + + for (SMTestProxy child : getChildren()) { + if (child.hasErrors()) { + return true; + } + } + return false; + } + public boolean isLeaf() { return myChildren == null || myChildren.isEmpty(); } @@ -227,7 +257,7 @@ public class SMTestProxy extends CompositePrintable implements PrintableTestProx return; } - // Not allow to diractly set duration for suites. + // Not allow to directly set duration for suites. // It should be the sum of children. This requirement is only // for safety of current model and may be changed LOG.warn("Unsupported operation"); @@ -242,7 +272,7 @@ public class SMTestProxy extends CompositePrintable implements PrintableTestProx if (!isSuite()) { // if isn't in other finished state (ignored, failed or passed) - myState = TestPassedState.INSTACE; + myState = TestPassedState.INSTANCE; } else { //Test Suite myState = determineSuiteStateOnFinished(); @@ -347,6 +377,19 @@ public class SMTestProxy extends CompositePrintable implements PrintableTestProx }); } + public void addError(final String output, + @Nullable final String stackTrace) { + myHasErrors = true; + addLast(new Printable() { + public void printOn(final Printer printer) { + final String errorText = TestFailedState.buildErrorPresentationText(output, stackTrace); + LOG.assertTrue(errorText != null); + + TestFailedState.printError(printer, errorText); + } + }); + } + public void addSystemOutput(final String output) { addLast(new Printable() { public void printOn(final Printer printer) { diff --git a/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/states/NotRunState.java b/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/states/NotRunState.java index e7fd0d2f42cd..7cbbc093f452 100644 --- a/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/states/NotRunState.java +++ b/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/states/NotRunState.java @@ -37,7 +37,7 @@ public class NotRunState extends AbstractState { return false; } - //TODO[romeo] if wan't run is it deffect or not? May be move it to settings + //TODO[romeo] if hasn't run is it defect or not? May be move it to settings public boolean isDefect() { return false; } diff --git a/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/states/SuiteInProgressState.java b/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/states/SuiteInProgressState.java index 7b3a6c399ff7..d428020557fe 100644 --- a/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/states/SuiteInProgressState.java +++ b/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/states/SuiteInProgressState.java @@ -32,7 +32,7 @@ public class SuiteInProgressState extends TestInProgressState { } ///** - // * If any of child failed proxy also is deffect + // * If any of child failed proxy also is defect // * @return // */ @Override diff --git a/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/states/TestFailedState.java b/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/states/TestFailedState.java index a3c96c4ba8e9..4c6a5602c4f7 100644 --- a/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/states/TestFailedState.java +++ b/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/states/TestFailedState.java @@ -19,6 +19,8 @@ import com.intellij.execution.testframework.Printer; import com.intellij.execution.testframework.ui.PrintableTestProxy; import com.intellij.execution.ui.ConsoleViewContentType; import com.intellij.openapi.util.text.StringUtil; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; /** * @author Roman Chernyatchik @@ -26,14 +28,28 @@ import com.intellij.openapi.util.text.StringUtil; public class TestFailedState extends AbstractState { private final String myPresentationText; - public TestFailedState(final String localizedMessage, final String stackTrace) { + public TestFailedState(@Nullable final String localizedMessage, + @Nullable final String stackTrace) { + myPresentationText = buildErrorPresentationText(localizedMessage, stackTrace); + } + + @Nullable + public static String buildErrorPresentationText(@Nullable final String localizedMessage, + @Nullable final String stackTrace) { final String text = (StringUtil.isEmptyOrSpaces(localizedMessage) ? "" : localizedMessage + PrintableTestProxy.NEW_LINE) + (StringUtil.isEmptyOrSpaces(stackTrace) ? "" : stackTrace + PrintableTestProxy.NEW_LINE); - myPresentationText = StringUtil.isEmptyOrSpaces(text) ? null : text; + return StringUtil.isEmptyOrSpaces(text) ? null : text; + } + + public static void printError(@NotNull final Printer printer, + @NotNull final String errorPresentationText) { + printer.print(PrintableTestProxy.NEW_LINE, ConsoleViewContentType.ERROR_OUTPUT); + printer.mark(); + printer.print(errorPresentationText, ConsoleViewContentType.ERROR_OUTPUT); } @Override @@ -41,12 +57,11 @@ public class TestFailedState extends AbstractState { super.printOn(printer); if (myPresentationText != null) { - printer.print(PrintableTestProxy.NEW_LINE, ConsoleViewContentType.ERROR_OUTPUT); - printer.mark(); - printer.print(myPresentationText, ConsoleViewContentType.ERROR_OUTPUT); + printError(printer, myPresentationText); } } + public boolean isDefect() { return true; } diff --git a/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/states/TestPassedState.java b/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/states/TestPassedState.java index 7c7bb069dded..beb23403b1e1 100644 --- a/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/states/TestPassedState.java +++ b/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/states/TestPassedState.java @@ -21,7 +21,7 @@ package com.intellij.execution.testframework.sm.runner.states; public class TestPassedState extends AbstractState { //This state is common for all instances and doesn't contains //instance-specific information - public static final TestPassedState INSTACE = new TestPassedState(); + public static final TestPassedState INSTANCE = new TestPassedState(); private TestPassedState() { } diff --git a/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/states/TestStateInfo.java b/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/states/TestStateInfo.java index 9580fc888228..e3c58ff1bcfe 100644 --- a/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/states/TestStateInfo.java +++ b/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/states/TestStateInfo.java @@ -69,21 +69,21 @@ public interface TestStateInfo { IGNORED_INDEX(5, 2, SMTestsRunnerBundle.message("sm.test.runner.magnitude.ignored.failed.title")), FAILED_INDEX(6, 4, SMTestsRunnerBundle.message("sm.test.runner.magnitude.assertion.failed.title")), ERROR_INDEX(8, 5, SMTestsRunnerBundle.message("sm.test.runner.magnitude.testerror.title")), - PASSED_INDEX(COMPLETE_INDEX.getValue(), COMPLETE_INDEX.getSortWeitht(), SMTestsRunnerBundle.message("sm.test.runner.magnitude.passed.title")); + PASSED_INDEX(COMPLETE_INDEX.getValue(), COMPLETE_INDEX.getSortWeight(), SMTestsRunnerBundle.message("sm.test.runner.magnitude.passed.title")); private final int myValue; - private final int mySortWeitht; + private final int mySortWeight; private final String myTitle; /** * @param value Some magic parameter from legal - * @param sortWeitht Weight for sort comparator + * @param sortWeight Weight for sort comparator * @param title Title */ - Magnitude(final int value, final int sortWeitht, final String title) { + Magnitude(final int value, final int sortWeight, final String title) { myValue = value; myTitle = title; - mySortWeitht = sortWeitht; + mySortWeight = sortWeight; } public int getValue() { @@ -94,8 +94,8 @@ public interface TestStateInfo { return myTitle; } - public int getSortWeitht() { - return mySortWeitht; + public int getSortWeight() { + return mySortWeight; } } } diff --git a/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/ui/SMPoolOfTestIcons.java b/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/ui/SMPoolOfTestIcons.java new file mode 100644 index 000000000000..eeceb9ccfccd --- /dev/null +++ b/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/ui/SMPoolOfTestIcons.java @@ -0,0 +1,53 @@ +/* + * Copyright 2000-2010 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.intellij.execution.testframework.sm.runner.ui; + +import com.intellij.execution.testframework.PoolOfTestIcons; +import com.intellij.execution.testframework.ui.TestsProgressAnimator; +import com.intellij.openapi.util.IconLoader; +import com.intellij.ui.LayeredIcon; +import org.jetbrains.annotations.NotNull; + +import javax.swing.*; + +/** + * @author Roman.Chernyatchik + */ +public class SMPoolOfTestIcons implements PoolOfTestIcons { + // Error flag icon + private static final Icon ERROR_ICON_MARK = IconLoader.getIcon("/nodes/errorMark.png"); + + public static final Icon SKIPPED_E_ICON = addErrorMarkTo(SKIPPED_ICON); + public static final Icon PASSED_E_ICON = addErrorMarkTo(PASSED_ICON); + public static final Icon FAILED_E_ICON = addErrorMarkTo(FAILED_ICON); + public static final Icon TERMINATED_E_ICON = addErrorMarkTo(TERMINATED_ICON); + public static final Icon IGNORED_E_ICON = addErrorMarkTo(IGNORED_ICON); + + // Test Progress + public static final Icon PAUSED_E_ICON = addErrorMarkTo(TestsProgressAnimator.PAUSED_ICON); + public static final Icon[] FRAMES_E = new Icon[TestsProgressAnimator.FRAMES.length]; + static { + for (int i = 0, length = FRAMES_E.length; i < length; i++){ + FRAMES_E[i] = addErrorMarkTo(TestsProgressAnimator.FRAMES[i]); + } + } + + @NotNull + public static Icon addErrorMarkTo(@NotNull + final Icon baseIcon) { + return new LayeredIcon(baseIcon, ERROR_ICON_MARK); + } +} diff --git a/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/ui/SMTRunnerNotificationsHandler.java b/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/ui/SMTRunnerNotificationsHandler.java index 6d76efed1d8c..d13a71b7531e 100644 --- a/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/ui/SMTRunnerNotificationsHandler.java +++ b/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/ui/SMTRunnerNotificationsHandler.java @@ -53,29 +53,35 @@ public class SMTRunnerNotificationsHandler extends SMTRunnerEventsAdapter { switch (magnitude) { case SKIPPED_INDEX: case IGNORED_INDEX: - msg = SMTestsRunnerBundle.message("sm.test.runner.notifications.tests.skipped"); + msg = testsRoot.hasErrors() ? SMTestsRunnerBundle.message("sm.test.runner.notifications.tests.skipped.with.errors") + : SMTestsRunnerBundle.message("sm.test.runner.notifications.tests.skipped"); + type = MessageType.WARNING; break; case NOT_RUN_INDEX: - msg = SMTestsRunnerBundle.message("sm.test.runner.notifications.tests.not.run"); + msg = testsRoot.hasErrors() ? SMTestsRunnerBundle.message("sm.test.runner.notifications.tests.not.run.with.errors") + : SMTestsRunnerBundle.message("sm.test.runner.notifications.tests.not.run"); type = MessageType.WARNING; break; case FAILED_INDEX: case ERROR_INDEX: - msg = SMTestsRunnerBundle.message("sm.test.runner.notifications.tests.failed"); + msg = testsRoot.hasErrors() ? SMTestsRunnerBundle.message("sm.test.runner.notifications.tests.failed.with.errors") + : SMTestsRunnerBundle.message("sm.test.runner.notifications.tests.failed"); type = MessageType.ERROR; break; case COMPLETE_INDEX: if (testsRoot.getChildren().size() == 0) { - msg = SMTestsRunnerBundle.message("sm.test.runner.ui.tests.tree.presentation.labels.no.tests.were.found"); + msg = testsRoot.hasErrors() ? SMTestsRunnerBundle.message("sm.test.runner.ui.tests.tree.presentation.labels.no.tests.were.found.with.errors") + : SMTestsRunnerBundle.message("sm.test.runner.ui.tests.tree.presentation.labels.no.tests.were.found"); type = MessageType.ERROR; break; } // else same as: PASSED_INDEX case PASSED_INDEX: - msg = SMTestsRunnerBundle.message("sm.test.runner.notifications.tests.passed"); + msg = testsRoot.hasErrors() ? SMTestsRunnerBundle.message("sm.test.runner.notifications.tests.passed.with.errors") + : SMTestsRunnerBundle.message("sm.test.runner.notifications.tests.passed"); type = MessageType.INFO; break; diff --git a/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/ui/SMTestRunnerResultsForm.java b/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/ui/SMTestRunnerResultsForm.java index 6134c176baf6..16149d7a4319 100644 --- a/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/ui/SMTestRunnerResultsForm.java +++ b/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/ui/SMTestRunnerResultsForm.java @@ -491,7 +491,7 @@ public class SMTestRunnerResultsForm extends TestResultsPanel implements TestFra private void updateCountersAndProgressOnTestCount(final int count, final boolean isCustomMessage) { if (!isModeConsistent(isCustomMessage)) return; - //This is for beter support groups of TestSuites + //This is for better support groups of TestSuites //Each group notifies about it's size myTestsTotal += count; updateStatusLabel(); diff --git a/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/ui/TestsPresentationUtil.java b/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/ui/TestsPresentationUtil.java index f104fc4ae35a..4e3751428df1 100644 --- a/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/ui/TestsPresentationUtil.java +++ b/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/ui/TestsPresentationUtil.java @@ -34,6 +34,8 @@ import java.awt.*; import java.util.List; import java.util.Set; +import static com.intellij.execution.testframework.sm.runner.ui.SMPoolOfTestIcons.*; + /** * @author Roman Chernyatchik */ @@ -201,29 +203,37 @@ public class TestsPresentationUtil { } + @Nullable private static Icon getIcon(final SMTestProxy testProxy, final TestConsoleProperties consoleProperties) { final TestStateInfo.Magnitude magnitude = testProxy.getMagnitudeInfo(); + + final boolean hasErrors = testProxy.hasErrors(); + switch (magnitude) { case ERROR_INDEX: - return PoolOfTestIcons.ERROR_ICON; + return ERROR_ICON; case FAILED_INDEX: - return PoolOfTestIcons.FAILED_ICON; + return hasErrors ? FAILED_E_ICON : FAILED_ICON; case IGNORED_INDEX: - return PoolOfTestIcons.IGNORED_ICON; + return hasErrors ? IGNORED_E_ICON : IGNORED_ICON; case NOT_RUN_INDEX: - return PoolOfTestIcons.NOT_RAN; + return NOT_RAN; case COMPLETE_INDEX: case PASSED_INDEX: - return PoolOfTestIcons.PASSED_ICON; + return hasErrors ? PASSED_E_ICON : PASSED_ICON; case RUNNING_INDEX: - return !consoleProperties.isPaused() - ? TestsProgressAnimator.getCurrentFrame() - : TestsProgressAnimator.PAUSED_ICON; + if (consoleProperties.isPaused()) { + return hasErrors ? PAUSED_E_ICON : TestsProgressAnimator.PAUSED_ICON; + } + else { + final int frameIndex = TestsProgressAnimator.getCurrentFrameIndex(); + return hasErrors ? FRAMES_E[frameIndex] : TestsProgressAnimator.FRAMES[frameIndex]; + } case SKIPPED_INDEX: - return PoolOfTestIcons.SKIPPED_ICON; + return hasErrors ? SKIPPED_E_ICON : SKIPPED_ICON; case TERMINATED_INDEX: - return PoolOfTestIcons.TERMINATED_ICON; + return hasErrors ? TERMINATED_E_ICON : TERMINATED_ICON; } return null; } diff --git a/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/ui/statistics/BaseColumn.java b/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/ui/statistics/BaseColumn.java index 9e064906ae33..652c959e23ba 100644 --- a/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/ui/statistics/BaseColumn.java +++ b/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/ui/statistics/BaseColumn.java @@ -43,7 +43,7 @@ public abstract class BaseColumn extends ColumnInfo { @Override public void sort(@NotNull final List testProxies) { - //Invariant: comparator should left Total(initally at row = 0) row as uppermost element! + //Invariant: comparator should left Total(initially at row = 0) row as uppermost element! StatisticsTableModel.applySortOperation(testProxies, oldSortFun); } } diff --git a/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/ui/statistics/ColumnResults.java b/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/ui/statistics/ColumnResults.java index 154dfacb3597..b71be34401be 100644 --- a/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/ui/statistics/ColumnResults.java +++ b/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/ui/statistics/ColumnResults.java @@ -30,7 +30,7 @@ import java.util.Comparator; * @author Roman Chernyatchik */ public class ColumnResults extends BaseColumn implements Comparator { - @NonNls private static final String UNDERFINED = ""; + @NonNls public static final String UNDEFINED = SMTestsRunnerBundle.message("sm.test.runner.ui.tabs.statistics.columns.results.undefined"); public ColumnResults() { super(SMTestsRunnerBundle.message("sm.test.runner.ui.tabs.statistics.columns.results.title")); @@ -73,10 +73,10 @@ public class ColumnResults extends BaseColumn implements Comparator private int compareTests(final SMTestProxy test1, final SMTestProxy test2) { // Rule1. For tests: NotRun < Ignored, etc < Passed < Failure < Error < Progress < Terminated - final int weitht1 = test1.getMagnitudeInfo().getSortWeitht(); - final int weitht2 = test2.getMagnitudeInfo().getSortWeitht(); + final int weight1 = test1.getMagnitudeInfo().getSortWeight(); + final int weight2 = test2.getMagnitudeInfo().getSortWeight(); - return compareInt(weitht1, weitht2); + return compareInt(weight1, weight2); } private int compareSuites(final SMTestProxy suite1, @@ -117,7 +117,7 @@ public class ColumnResults extends BaseColumn implements Comparator } public String valueOf(final SMTestProxy testProxy) { - return UNDERFINED; + return UNDEFINED; } @Override diff --git a/platform/smRunner/testSrc/com/intellij/execution/testframework/sm/runner/SMTRunnerConsoleTest.java b/platform/smRunner/testSrc/com/intellij/execution/testframework/sm/runner/SMTRunnerConsoleTest.java index 285b64a53cbd..ea0cec21d675 100644 --- a/platform/smRunner/testSrc/com/intellij/execution/testframework/sm/runner/SMTRunnerConsoleTest.java +++ b/platform/smRunner/testSrc/com/intellij/execution/testframework/sm/runner/SMTRunnerConsoleTest.java @@ -263,6 +263,68 @@ public class SMTRunnerConsoleTest extends BaseSMTRunnerTestCase { assertAllOutputs(mockPrinter2, "stdout1 ", "stderr1 \nerror msg\nmethod1:1\nmethod2:2\n", ""); } + public void testProcessor_OnErrorMsg() { + final SMTestProxy myTest1 = startTestWithPrinter("my_test"); + + myEventsProcessor.onError("error msg", "method1:1\nmethod2:2"); + myEventsProcessor.onTestOutput("my_test", "stdout1 ", true); + myEventsProcessor.onTestOutput("my_test", "stderr1 ", false); + + assertAllOutputs(myMockResetablePrinter, "stdout1 ", "\nerror msg\nmethod1:1\nmethod2:2\nstderr1 ", ""); + + final MockPrinter mockPrinter1 = new MockPrinter(true); + mockPrinter1.onNewAvailable(myTest1); + assertAllOutputs(mockPrinter1, "stdout1 ", "\n" + + "error msg\n" + + "method1:1\n" + + "method2:2\n" + + "stderr1 ", ""); + myEventsProcessor.onTestFinished("my_test", 1); + myTest1.setFinished(); + + //other output order + final SMTestProxy myTest2 = startTestWithPrinter("my_test2"); + myEventsProcessor.onTestOutput("my_test2", "stdout1 ", true); + myEventsProcessor.onTestOutput("my_test2", "stderr1 ", false); + myEventsProcessor.onError("error msg", "method1:1\nmethod2:2"); + + assertAllOutputs(myMockResetablePrinter, "stdout1 ", "stderr1 \nerror msg\nmethod1:1\nmethod2:2\n", ""); + final MockPrinter mockPrinter2 = new MockPrinter(true); + mockPrinter2.onNewAvailable(myTest2); + assertAllOutputs(mockPrinter2, "stdout1 ", "stderr1 \nerror msg\nmethod1:1\nmethod2:2\n", ""); + } + + public void testProcessor_Suite_OnErrorMsg() { + myEventsProcessor.onError("error msg:root", "method1:1\nmethod2:2"); + + myEventsProcessor.onSuiteStarted("suite", null); + final SMTestProxy suite = myEventsProcessor.getCurrentSuite(); + suite.setPrintLinstener(myMockResetablePrinter); + myEventsProcessor.onError("error msg:suite", "method1:1\nmethod2:2"); + + assertAllOutputs(myMockResetablePrinter, "", "\n" + + "error msg:suite\n" + + "method1:1\n" + + "method2:2\n", ""); + + final MockPrinter mockSuitePrinter = new MockPrinter(true); + mockSuitePrinter.onNewAvailable(suite); + assertAllOutputs(mockSuitePrinter, "", "\n" + + "error msg:suite\n" + + "method1:1\n" + + "method2:2\n", ""); + final MockPrinter mockRootSuitePrinter = new MockPrinter(true); + mockRootSuitePrinter.onNewAvailable(myRootSuite); + assertAllOutputs(mockRootSuitePrinter, "", "\n" + + "error msg:root\n" + + "method1:1\n" + + "method2:2\n" + + "\n" + + "error msg:suite\n" + + "method1:1\n" + + "method2:2\n", ""); + } + public void testProcessor_OnIgnored() { final SMTestProxy myTest1 = startTestWithPrinter("my_test"); diff --git a/platform/smRunner/testSrc/com/intellij/execution/testframework/sm/runner/SMTestProxyTest.java b/platform/smRunner/testSrc/com/intellij/execution/testframework/sm/runner/SMTestProxyTest.java index 93e4a4e5ab3a..ce491c3b5047 100644 --- a/platform/smRunner/testSrc/com/intellij/execution/testframework/sm/runner/SMTestProxyTest.java +++ b/platform/smRunner/testSrc/com/intellij/execution/testframework/sm/runner/SMTestProxyTest.java @@ -775,7 +775,7 @@ public class SMTestProxyTest extends BaseSMTRunnerTestCase { assertWeightsOrder(Magnitude.NOT_RUN_INDEX, Magnitude.SKIPPED_INDEX); assertWeightsOrder(Magnitude.SKIPPED_INDEX, Magnitude.IGNORED_INDEX); assertWeightsOrder(Magnitude.IGNORED_INDEX, Magnitude.COMPLETE_INDEX); - assertEquals(Magnitude.COMPLETE_INDEX.getSortWeitht() , Magnitude.PASSED_INDEX.getSortWeitht()); + assertEquals(Magnitude.COMPLETE_INDEX.getSortWeight() , Magnitude.PASSED_INDEX.getSortWeight()); assertWeightsOrder(Magnitude.PASSED_INDEX, Magnitude.FAILED_INDEX); assertWeightsOrder(Magnitude.FAILED_INDEX, Magnitude.ERROR_INDEX); assertWeightsOrder(Magnitude.ERROR_INDEX, Magnitude.TERMINATED_INDEX); @@ -792,6 +792,6 @@ public class SMTestProxyTest extends BaseSMTRunnerTestCase { } protected void assertWeightsOrder(final Magnitude previous, final Magnitude next) { - assertTrue(previous.getSortWeitht() < next.getSortWeitht()); + assertTrue(previous.getSortWeight() < next.getSortWeight()); } } diff --git a/platform/smRunner/testSrc/com/intellij/execution/testframework/sm/runner/ui/TestsPresentationUtilTest.java b/platform/smRunner/testSrc/com/intellij/execution/testframework/sm/runner/ui/TestsPresentationUtilTest.java index 421eb1d811b9..4b252144638e 100644 --- a/platform/smRunner/testSrc/com/intellij/execution/testframework/sm/runner/ui/TestsPresentationUtilTest.java +++ b/platform/smRunner/testSrc/com/intellij/execution/testframework/sm/runner/ui/TestsPresentationUtilTest.java @@ -144,6 +144,18 @@ public class TestsPresentationUtilTest extends BaseSMTRunnerTestCase { assertEquals(SimpleTextAttributes.REGULAR_ATTRIBUTES, myFragContainer.getAttribsAt(0)); } + public void testFormatTestProxyTest_StartedAndPaused_WithErrors() { + //paused + final MyRenderer pausedRenderer = new MyRenderer(true, myFragContainer = new UITestUtil.FragmentsContainer()); + + mySimpleTest.setStarted(); + mySimpleTest.addError("msg", "stacktrace"); + + TestsPresentationUtil.formatTestProxy(mySimpleTest, pausedRenderer); + + assertEquals(SMPoolOfTestIcons.PAUSED_E_ICON, pausedRenderer.getIcon()); + } + public void testFormatTestProxyTest_Passed() { mySimpleTest.setStarted(); mySimpleTest.setFinished(); @@ -170,6 +182,15 @@ public class TestsPresentationUtilTest extends BaseSMTRunnerTestCase { assertEquals(PoolOfTestIcons.FAILED_ICON, myRenderer.getIcon()); } + public void testFormatTestProxyTest_Failed_WithErrors() { + mySimpleTest.setStarted(); + mySimpleTest.setTestFailed("", "", false); + mySimpleTest.addError("msg", "stacktrace"); + TestsPresentationUtil.formatTestProxy(mySimpleTest, myRenderer); + + assertEquals(SMPoolOfTestIcons.FAILED_E_ICON, myRenderer.getIcon()); + } + public void testFormatTestProxyTest_Error() { mySimpleTest.setStarted(); mySimpleTest.setTestFailed("", "", true); @@ -185,6 +206,15 @@ public class TestsPresentationUtilTest extends BaseSMTRunnerTestCase { assertEquals(PoolOfTestIcons.ERROR_ICON, myRenderer.getIcon()); } + public void testFormatTestProxyTest_Error_WithErrors() { + mySimpleTest.setStarted(); + mySimpleTest.setTestFailed("", "", true); + mySimpleTest.addError("msg", "stacktrace"); + TestsPresentationUtil.formatTestProxy(mySimpleTest, myRenderer); + + assertEquals(PoolOfTestIcons.ERROR_ICON, myRenderer.getIcon()); + } + public void testFormatTestProxyTest_Ignored() { mySimpleTest.setStarted(); mySimpleTest.setTestIgnored("", null); @@ -200,6 +230,15 @@ public class TestsPresentationUtilTest extends BaseSMTRunnerTestCase { assertEquals(PoolOfTestIcons.IGNORED_ICON, myRenderer.getIcon()); } + public void testFormatTestProxyTest_Ignored_WithErrors() { + mySimpleTest.setStarted(); + mySimpleTest.setTestIgnored("", null); + mySimpleTest.addError("msg", "stacktrace"); + TestsPresentationUtil.formatTestProxy(mySimpleTest, myRenderer); + + assertEquals(SMPoolOfTestIcons.IGNORED_E_ICON, myRenderer.getIcon()); + } + public void testFormatTestProxyTest_Terminated() { mySimpleTest.setStarted(); mySimpleTest.setTerminated(); @@ -215,6 +254,15 @@ public class TestsPresentationUtilTest extends BaseSMTRunnerTestCase { assertEquals(PoolOfTestIcons.TERMINATED_ICON, myRenderer.getIcon()); } + public void testFormatTestProxyTest_WithErrors() { + mySimpleTest.setStarted(); + mySimpleTest.setTerminated(); + mySimpleTest.addError("msg", "stacktrace"); + TestsPresentationUtil.formatTestProxy(mySimpleTest, myRenderer); + + assertEquals(SMPoolOfTestIcons.TERMINATED_E_ICON, myRenderer.getIcon()); + } + public void testFormatRootNodeWithChildren_Started() { mySimpleTest.setStarted(); @@ -251,6 +299,27 @@ public class TestsPresentationUtilTest extends BaseSMTRunnerTestCase { assertEquals("Test Results:", renderer1.getFragmentsContainer().getTextAt(0)); } + public void testFormatRootNodeWithChildren_Failed_WithErrors() { + final MyRenderer renderer1 = new MyRenderer(false, myFragContainer = new UITestUtil.FragmentsContainer()); + + mySuite.addChild(mySimpleTest); + mySuite.setStarted(); + mySimpleTest.setStarted(); + mySimpleTest.setTestFailed("", "", false); + mySimpleTest.addError("msg", "stacktrace"); + mySimpleTest.setFinished(); + mySuite.setFinished(); + + TestsPresentationUtil.formatRootNodeWithChildren(mySuite, renderer1); + + assertEquals(SMPoolOfTestIcons.FAILED_E_ICON, renderer1.getIcon()); + + final MyRenderer renderer2 = new MyRenderer(false, myFragContainer = new UITestUtil.FragmentsContainer()); + TestsPresentationUtil.formatRootNodeWithChildren(mySuite, renderer2); + mySuite.setFinished(); + assertEquals(SMPoolOfTestIcons.FAILED_E_ICON, renderer1.getIcon()); + } + public void testFormatRootNodeWithChildren_Error() { final MyRenderer renderer1 = new MyRenderer(false, myFragContainer = new UITestUtil.FragmentsContainer()); @@ -258,6 +327,7 @@ public class TestsPresentationUtilTest extends BaseSMTRunnerTestCase { mySuite.setStarted(); mySimpleTest.setStarted(); mySimpleTest.setTestFailed("", "", true); + mySimpleTest.addError("msg", "stacktrace"); mySimpleTest.setFinished(); mySuite.setFinished(); @@ -301,6 +371,27 @@ public class TestsPresentationUtilTest extends BaseSMTRunnerTestCase { assertEquals("Test Results:", renderer1.getFragmentsContainer().getTextAt(0)); } + public void testFormatRootNodeWithChildren_Ignored_WithErrors() { + final MyRenderer renderer1 = new MyRenderer(false, myFragContainer = new UITestUtil.FragmentsContainer()); + + mySuite.addChild(mySimpleTest); + mySuite.setStarted(); + mySimpleTest.setStarted(); + mySimpleTest.setTestIgnored("", null); + mySimpleTest.addError("msg", "stacktrace"); + mySimpleTest.setFinished(); + mySuite.setFinished(); + + TestsPresentationUtil.formatRootNodeWithChildren(mySuite, renderer1); + + assertEquals(SMPoolOfTestIcons.IGNORED_E_ICON, renderer1.getIcon()); + + final MyRenderer renderer2 = new MyRenderer(false, myFragContainer = new UITestUtil.FragmentsContainer()); + TestsPresentationUtil.formatRootNodeWithChildren(mySuite, renderer2); + mySuite.setFinished(); + assertEquals(SMPoolOfTestIcons.IGNORED_E_ICON, renderer1.getIcon()); + } + public void testFormatRootNodeWithChildren_Passed() { mySuite.addChild(mySimpleTest); mySuite.setStarted(); @@ -316,6 +407,19 @@ public class TestsPresentationUtilTest extends BaseSMTRunnerTestCase { assertEquals(SimpleTextAttributes.REGULAR_ATTRIBUTES, myRenderer.getFragmentsContainer().getAttribsAt(0)); } + public void testFormatRootNodeWithChildren_Passed_WithErrors() { + mySuite.addChild(mySimpleTest); + mySuite.setStarted(); + mySimpleTest.setStarted(); + mySimpleTest.addError("msg", "stacktrace"); + mySimpleTest.setFinished(); + mySuite.setFinished(); + + TestsPresentationUtil.formatRootNodeWithChildren(mySuite, myRenderer); + + assertEquals(SMPoolOfTestIcons.PASSED_E_ICON, myRenderer.getIcon()); + } + public void testFormatRootNodeWithChildren_Terminated() { mySuite.addChild(mySimpleTest); mySuite.setStarted(); @@ -331,6 +435,19 @@ public class TestsPresentationUtilTest extends BaseSMTRunnerTestCase { assertEquals(SimpleTextAttributes.REGULAR_ATTRIBUTES, myFragContainer.getAttribsAt(0)); } + public void testFormatRootNodeWithChildren_Terminated_WithErrors() { + mySuite.addChild(mySimpleTest); + mySuite.setStarted(); + mySimpleTest.setStarted(); + mySimpleTest.addError("msg", "stacktrace"); + mySimpleTest.setFinished(); + mySuite.setTerminated(); + // terminated + TestsPresentationUtil.formatRootNodeWithChildren(mySuite, myRenderer); + + assertEquals(SMPoolOfTestIcons.TERMINATED_E_ICON, myRenderer.getIcon()); + } + public void testFormatRootNodeWithChildren_TerminatedAndFinished() { mySuite.addChild(mySimpleTest); mySuite.setStarted(); @@ -348,6 +465,25 @@ public class TestsPresentationUtilTest extends BaseSMTRunnerTestCase { assertEquals(SimpleTextAttributes.REGULAR_ATTRIBUTES, myFragContainer.getAttribsAt(0)); } + public void testFormatRootNodeWithChildren_Passed_StartShutdownErrors() { + final MyRenderer renderer1 = new MyRenderer(false, myFragContainer = new UITestUtil.FragmentsContainer()); + + mySuite.addChild(mySimpleTest); + mySuite.setStarted(); + mySuite.addError("msg1", "stacktrace1"); + mySimpleTest.setStarted(); + mySimpleTest.setFinished(); + mySuite.addError("msg2", "stacktrace2"); + mySuite.setFinished(); + + TestsPresentationUtil.formatRootNodeWithChildren(mySuite, renderer1); + assertEquals(SMPoolOfTestIcons.PASSED_E_ICON, renderer1.getIcon()); + + final MyRenderer renderer2 = new MyRenderer(false, myFragContainer = new UITestUtil.FragmentsContainer()); + TestsPresentationUtil.formatRootNodeWithChildren(mySimpleTest, renderer2); + assertEquals(SMPoolOfTestIcons.PASSED_ICON, renderer2.getIcon()); + } + public void testFormatRootNodeWithoutChildren() { TestsPresentationUtil.formatRootNodeWithoutChildren(mySimpleTest, myRenderer); diff --git a/platform/smRunner/testSrc/com/intellij/execution/testframework/sm/runner/ui/statistics/ColumnResultsTest.java b/platform/smRunner/testSrc/com/intellij/execution/testframework/sm/runner/ui/statistics/ColumnResultsTest.java index 48c1b8e5c34d..675c56dd7e6e 100644 --- a/platform/smRunner/testSrc/com/intellij/execution/testframework/sm/runner/ui/statistics/ColumnResultsTest.java +++ b/platform/smRunner/testSrc/com/intellij/execution/testframework/sm/runner/ui/statistics/ColumnResultsTest.java @@ -1,4 +1,4 @@ -/* + /* * Copyright 2000-2009 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -86,26 +86,26 @@ public class ColumnResultsTest extends BaseColumnRenderingTest { } public void testValueOf_Test() { - assertEquals("", myColumn.valueOf(mySimpleTest)); + assertEquals(ColumnResults.UNDEFINED, myColumn.valueOf(mySimpleTest)); mySimpleTest.setStarted(); - assertEquals("", myColumn.valueOf(mySimpleTest)); + assertEquals(ColumnResults.UNDEFINED, myColumn.valueOf(mySimpleTest)); mySimpleTest.setFinished(); - assertEquals("", myColumn.valueOf(mySimpleTest)); + assertEquals(ColumnResults.UNDEFINED, myColumn.valueOf(mySimpleTest)); } public void testValueOf_Suite() { - assertEquals("", myColumn.valueOf(mySuite)); + assertEquals(ColumnResults.UNDEFINED, myColumn.valueOf(mySuite)); mySuite.setStarted(); - assertEquals("", myColumn.valueOf(mySuite)); + assertEquals(ColumnResults.UNDEFINED, myColumn.valueOf(mySuite)); createTestProxy(mySuite); - assertEquals("", myColumn.valueOf(mySuite)); + assertEquals(ColumnResults.UNDEFINED, myColumn.valueOf(mySuite)); mySuite.setFinished(); - assertEquals("", myColumn.valueOf(mySuite)); + assertEquals(ColumnResults.UNDEFINED, myColumn.valueOf(mySuite)); } public void testPresentation_SuiteNotRun() { diff --git a/platform/testRunner/src/com/intellij/execution/testframework/ui/TestsProgressAnimator.java b/platform/testRunner/src/com/intellij/execution/testframework/ui/TestsProgressAnimator.java index ec14bc381c99..147d31912a3a 100644 --- a/platform/testRunner/src/com/intellij/execution/testframework/ui/TestsProgressAnimator.java +++ b/platform/testRunner/src/com/intellij/execution/testframework/ui/TestsProgressAnimator.java @@ -46,9 +46,12 @@ public abstract class TestsProgressAnimator implements Runnable, Disposable { FRAMES[i] = TestsUIUtil.loadIcon("testInProgress" + (i + 1)); } + public static int getCurrentFrameIndex() { + return (int) ((System.currentTimeMillis() % MOVIE_TIME) / FRAME_TIME); + } + public static Icon getCurrentFrame() { - final int frameIndex = (int) ((System.currentTimeMillis() % MOVIE_TIME) / FRAME_TIME); - return FRAMES[frameIndex]; + return FRAMES[getCurrentFrameIndex()]; } /** From 0435446bb1bb809fbd00d501d6aeed806ee936a7 Mon Sep 17 00:00:00 2001 From: Kirill Kalishev Date: Wed, 5 May 2010 09:42:51 +0400 Subject: [PATCH 070/173] StructureView perfomance - fixing SmartTree --- .../StructureViewComponent.java | 33 +++++++++++++++++-- .../smartTree/CachingChildrenTreeNode.java | 12 +++++-- .../util/treeView/smartTree/GroupWrapper.java | 5 ++- .../smartTree/TreeElementWrapper.java | 4 --- 4 files changed, 43 insertions(+), 11 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/ide/structureView/newStructureView/StructureViewComponent.java b/platform/lang-impl/src/com/intellij/ide/structureView/newStructureView/StructureViewComponent.java index 553bd6be00de..2fef940b3b23 100644 --- a/platform/lang-impl/src/com/intellij/ide/structureView/newStructureView/StructureViewComponent.java +++ b/platform/lang-impl/src/com/intellij/ide/structureView/newStructureView/StructureViewComponent.java @@ -734,6 +734,8 @@ public class StructureViewComponent extends SimpleToolWindowPanel implements Tre return value == null ? this : value; } + + @NotNull public Collection getChildren() { if (ourSettingsModificationCount != modificationCountForChildren) { @@ -762,7 +764,7 @@ public class StructureViewComponent extends SimpleToolWindowPanel implements Tre if (getElementInfoProvider() != null) { return getElementInfoProvider().isAlwaysShowsPlus((StructureViewTreeElement)getValue()); } - return getValue().getChildren().length > 0; + return true; } @Override @@ -771,7 +773,7 @@ public class StructureViewComponent extends SimpleToolWindowPanel implements Tre return getElementInfoProvider().isAlwaysLeaf((StructureViewTreeElement)getValue()); } - return getValue().getChildren().length == 0; + return false; } private StructureViewModel.ElementInfoProvider getElementInfoProvider() { @@ -791,6 +793,11 @@ public class StructureViewComponent extends SimpleToolWindowPanel implements Tre return new StructureViewTreeElementWrapper(myProject, child, myTreeModel); } + @Override + protected GroupWrapper createGroupWrapper(final Project project, Group group, final TreeModel treeModel) { + return new StructureViewGroup(project, group, treeModel); + } + public boolean equals(Object o) { if (o instanceof StructureViewTreeElementWrapper) { return Comparing.equal( @@ -820,6 +827,28 @@ public class StructureViewComponent extends SimpleToolWindowPanel implements Tre return o != null ? o.hashCode() : 0; } + + private class StructureViewGroup extends GroupWrapper { + public StructureViewGroup(Project project, Group group, TreeModel treeModel) { + super(project, group, treeModel); + } + + @Override + protected TreeElementWrapper createChildNode(TreeElement child) { + return new StructureViewTreeElementWrapper(getProject(), child, myTreeModel); + } + + + @Override + protected GroupWrapper createGroupWrapper(Project project, Group group, TreeModel treeModel) { + return new StructureViewGroup(project, group, treeModel); + } + + @Override + public boolean isAlwaysShowPlus() { + return true; + } + } } public String getHelpID() { diff --git a/platform/lang-impl/src/com/intellij/ide/util/treeView/smartTree/CachingChildrenTreeNode.java b/platform/lang-impl/src/com/intellij/ide/util/treeView/smartTree/CachingChildrenTreeNode.java index 5b4d1e7f2a2b..6cfd68b2228f 100644 --- a/platform/lang-impl/src/com/intellij/ide/util/treeView/smartTree/CachingChildrenTreeNode.java +++ b/platform/lang-impl/src/com/intellij/ide/util/treeView/smartTree/CachingChildrenTreeNode.java @@ -155,7 +155,7 @@ public abstract class CachingChildrenTreeNode extends AbstractTreeNode children = group.getChildren(); for (TreeElement node : children) { - CachingChildrenTreeNode child = new TreeElementWrapper(getProject(), node, myTreeModel); + CachingChildrenTreeNode child = createChildNode(node); groupWrapper.addSubElement(child); AbstractTreeNode abstractTreeNode = ungroupedObjects.get(node); abstractTreeNode.setParent(groupWrapper); @@ -163,6 +163,10 @@ public abstract class CachingChildrenTreeNode extends AbstractTreeNode collectValues(List> ungrouped) { Map objects = new LinkedHashMap(); for (final AbstractTreeNode node : ungrouped) { @@ -174,11 +178,15 @@ public abstract class CachingChildrenTreeNode extends AbstractTreeNode createGroupNodes(Collection groups) { Map result = new THashMap(); for (Group group : groups) { - result.put(group, new GroupWrapper(getProject(), group, myTreeModel)); + result.put(group, createGroupWrapper(getProject(), group, myTreeModel)); } return result; } + protected GroupWrapper createGroupWrapper(final Project project, Group group, final TreeModel treeModel) { + return new GroupWrapper(project, group, treeModel); + } + private void rebuildSubtree() { initChildren(); diff --git a/platform/lang-impl/src/com/intellij/ide/util/treeView/smartTree/GroupWrapper.java b/platform/lang-impl/src/com/intellij/ide/util/treeView/smartTree/GroupWrapper.java index ab25f9da1e17..8596ba395653 100644 --- a/platform/lang-impl/src/com/intellij/ide/util/treeView/smartTree/GroupWrapper.java +++ b/platform/lang-impl/src/com/intellij/ide/util/treeView/smartTree/GroupWrapper.java @@ -21,7 +21,7 @@ import com.intellij.openapi.project.Project; import java.util.Collection; -class GroupWrapper extends CachingChildrenTreeNode { +public class GroupWrapper extends CachingChildrenTreeNode { public GroupWrapper(Project project, Group value, TreeModel treeModel) { super(project, value, treeModel); clearChildren(); @@ -41,12 +41,11 @@ class GroupWrapper extends CachingChildrenTreeNode { clearChildren(); Collection children = getValue().getChildren(); for (TreeElement child : children) { - TreeElementWrapper childNode = new TreeElementWrapper(getProject(), child, myTreeModel); + TreeElementWrapper childNode = createChildNode(child); addSubElement(childNode); } } - protected void performTreeActions() { filterChildren(myTreeModel.getFilters()); groupChildren(myTreeModel.getGroupers()); diff --git a/platform/lang-impl/src/com/intellij/ide/util/treeView/smartTree/TreeElementWrapper.java b/platform/lang-impl/src/com/intellij/ide/util/treeView/smartTree/TreeElementWrapper.java index df4029513e31..dab90df455ff 100644 --- a/platform/lang-impl/src/com/intellij/ide/util/treeView/smartTree/TreeElementWrapper.java +++ b/platform/lang-impl/src/com/intellij/ide/util/treeView/smartTree/TreeElementWrapper.java @@ -41,10 +41,6 @@ public class TreeElementWrapper extends CachingChildrenTreeNode{ } } - protected TreeElementWrapper createChildNode(final TreeElement child) { - return new TreeElementWrapper(getProject(), child, myTreeModel); - } - protected void performTreeActions() { filterChildren(myTreeModel.getFilters()); groupChildren(myTreeModel.getGroupers()); From ab699d323bf126f28db83f0c0bc3cd20ae2a9c5e Mon Sep 17 00:00:00 2001 From: Kirill Kalishev Date: Wed, 5 May 2010 09:49:53 +0400 Subject: [PATCH 071/173] java structure view optimization for isAlwaysShowPlus and isAlwaysLeaf --- .../structureView/impl/java/JavaFileTreeModel.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/java/java-impl/src/com/intellij/ide/structureView/impl/java/JavaFileTreeModel.java b/java/java-impl/src/com/intellij/ide/structureView/impl/java/JavaFileTreeModel.java index 6c13f66d3afb..8e66a3e81f86 100644 --- a/java/java-impl/src/com/intellij/ide/structureView/impl/java/JavaFileTreeModel.java +++ b/java/java-impl/src/com/intellij/ide/structureView/impl/java/JavaFileTreeModel.java @@ -15,6 +15,7 @@ */ package com.intellij.ide.structureView.impl.java; +import com.intellij.ide.structureView.StructureViewModel; import com.intellij.ide.structureView.StructureViewTreeElement; import com.intellij.ide.structureView.TextEditorBasedStructureViewModel; import com.intellij.ide.util.treeView.smartTree.Filter; @@ -23,7 +24,7 @@ import com.intellij.ide.util.treeView.smartTree.Sorter; import com.intellij.psi.*; import org.jetbrains.annotations.NotNull; -public class JavaFileTreeModel extends TextEditorBasedStructureViewModel { +public class JavaFileTreeModel extends TextEditorBasedStructureViewModel implements StructureViewModel.ElementInfoProvider { private final PsiJavaFile myFile; public JavaFileTreeModel(@NotNull PsiJavaFile file) { @@ -61,6 +62,16 @@ public class JavaFileTreeModel extends TextEditorBasedStructureViewModel { return myFile; } + public boolean isAlwaysShowsPlus(StructureViewTreeElement element) { + Object value = element.getValue(); + return value instanceof PsiClass || value instanceof PsiFile; + } + + public boolean isAlwaysLeaf(StructureViewTreeElement element) { + Object value = element.getValue(); + return value instanceof PsiMethod || value instanceof PsiField; + } + @Override protected boolean isSuitable(final PsiElement element) { if (super.isSuitable(element)) { From 7b0c46a88569477818365dc2c86e96fdbbe323ea Mon Sep 17 00:00:00 2001 From: nik Date: Thu, 29 Apr 2010 10:18:37 +0400 Subject: [PATCH 072/173] focus input field on opening Anonymous to Inner dialog --- .../refactoring/anonymousToInner/AnonymousToInnerDialog.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/java-impl/src/com/intellij/refactoring/anonymousToInner/AnonymousToInnerDialog.java b/java/java-impl/src/com/intellij/refactoring/anonymousToInner/AnonymousToInnerDialog.java index 3465963524f6..63482459e8f5 100644 --- a/java/java-impl/src/com/intellij/refactoring/anonymousToInner/AnonymousToInnerDialog.java +++ b/java/java-impl/src/com/intellij/refactoring/anonymousToInner/AnonymousToInnerDialog.java @@ -104,7 +104,7 @@ class AnonymousToInnerDialog extends DialogWrapper{ } public JComponent getPreferredFocusedComponent() { - return myNameField; + return myNameField.getFocusableComponent(); } public boolean isMakeStatic() { From 8ed0913a4d3ee97bc114f432f0a6b11896144029 Mon Sep 17 00:00:00 2001 From: nik Date: Fri, 30 Apr 2010 18:28:40 +0400 Subject: [PATCH 073/173] xdebugger: full value popup ui fixed and option to set font added --- .../xdebugger/frame/XFullValueEvaluator.java | 5 +++ .../xdebugger/impl/ui/DebuggerUIUtil.java | 44 +++++++++++++++---- 2 files changed, 40 insertions(+), 9 deletions(-) diff --git a/platform/xdebugger-api/src/com/intellij/xdebugger/frame/XFullValueEvaluator.java b/platform/xdebugger-api/src/com/intellij/xdebugger/frame/XFullValueEvaluator.java index 3ec8db62b142..881663e510d2 100644 --- a/platform/xdebugger-api/src/com/intellij/xdebugger/frame/XFullValueEvaluator.java +++ b/platform/xdebugger-api/src/com/intellij/xdebugger/frame/XFullValueEvaluator.java @@ -17,6 +17,9 @@ package com.intellij.xdebugger.frame; import com.intellij.xdebugger.Obsolescent; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.awt.*; /** * Supports asynchronous fetching full text of a value. If full text is already computed use {@link ImmediateFullValueEvaluator} @@ -48,6 +51,8 @@ public abstract class XFullValueEvaluator { public interface XFullValueEvaluationCallback extends Obsolescent { void evaluated(@NotNull String fullValue); + void evaluated(@NotNull String fullValue, @Nullable Font font); + void errorOccurred(@NotNull String errorMessage); } } diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/DebuggerUIUtil.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/DebuggerUIUtil.java index 22a7c69f44c7..202fef7348a9 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/DebuggerUIUtil.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/DebuggerUIUtil.java @@ -22,17 +22,22 @@ import com.intellij.openapi.editor.LogicalPosition; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.popup.JBPopup; import com.intellij.openapi.ui.popup.JBPopupFactory; +import com.intellij.openapi.util.Computable; +import com.intellij.openapi.util.DimensionService; import com.intellij.openapi.wm.WindowManager; import com.intellij.ui.ScrollPaneFactory; import com.intellij.ui.awt.RelativePoint; import com.intellij.xdebugger.frame.XFullValueEvaluator; +import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseEvent; +import java.util.concurrent.atomic.AtomicBoolean; /** * User: lex @@ -40,6 +45,8 @@ import java.awt.event.MouseEvent; * Time: 11:26:44 PM */ public class DebuggerUIUtil { + @NonNls public static final String FULL_VALUE_POPUP_DIMENSION_KEY = "XDebugger.FullValuePopup"; + private DebuggerUIUtil() { } @@ -93,43 +100,58 @@ public class DebuggerUIUtil { public static void showValuePopup(@NotNull XFullValueEvaluator text, @NotNull MouseEvent event, @NotNull Project project) { final JTextArea textArea = new JTextArea("Evaluating..."); + final FullValueEvaluationCallbackImpl callback = new FullValueEvaluationCallbackImpl(textArea); + text.startEvaluation(callback); textArea.setEditable(false); textArea.setBackground(HintUtil.INFORMATION_COLOR); textArea.setLineWrap(false); final JScrollPane component = ScrollPaneFactory.createScrollPane(textArea); final Dimension frameSize = WindowManager.getInstance().getFrame(project).getSize(); - final Dimension size = new Dimension(frameSize.width / 2, frameSize.height / 2); + Dimension size = DimensionService.getInstance().getSize(FULL_VALUE_POPUP_DIMENSION_KEY, project); + if (size == null) { + size = new Dimension(frameSize.width / 2, frameSize.height / 2); + } + component.setPreferredSize(size); component.setBorder(null); final JBPopup popup = JBPopupFactory.getInstance().createComponentPopupBuilder(component, null) .setResizable(true) .setMovable(true) - .setDimensionServiceKey(project, "XDebugger.FullValuePopup", false) + .setDimensionServiceKey(project, FULL_VALUE_POPUP_DIMENSION_KEY, false) .setRequestFocus(false) + .setCancelCallback(new Computable() { + public Boolean compute() { + callback.setObsolete(); + return true; + } + }) .createPopup(); - - text.startEvaluation(new FullValueEvaluationCallbackImpl(popup, textArea)); - final Component parentComponent = event.getComponent(); RelativePoint point = new RelativePoint(parentComponent, new Point(event.getX()-size.width, event.getY()-size.height)); popup.show(point); } private static class FullValueEvaluationCallbackImpl implements XFullValueEvaluator.XFullValueEvaluationCallback { - private final JBPopup myPopup; + private final AtomicBoolean myObsolete = new AtomicBoolean(false); private final JTextArea myTextArea; - public FullValueEvaluationCallbackImpl(final JBPopup popup, final JTextArea textArea) { - myPopup = popup; + public FullValueEvaluationCallbackImpl(final JTextArea textArea) { myTextArea = textArea; } public void evaluated(@NotNull final String fullValue) { + evaluated(fullValue, null); + } + + public void evaluated(@NotNull final String fullValue, @Nullable final Font font) { invokeOnEventDispatch(new Runnable() { public void run() { myTextArea.setText(fullValue); + if (font != null) { + myTextArea.setFont(font); + } myTextArea.setCaretPosition(0); } }); @@ -144,8 +166,12 @@ public class DebuggerUIUtil { }); } + private void setObsolete() { + myObsolete.set(true); + } + public boolean isObsolete() { - return myPopup.isDisposed(); + return myObsolete.get(); } } } From f4c3a796166b99456099f24b9fdff9cad051fda9 Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Fri, 30 Apr 2010 16:01:06 +0400 Subject: [PATCH 074/173] show popup with distinct methods for static import --- .../impl/quickfix/StaticImportMethodFix.java | 22 +++++++++++++++---- .../intellij/ide/util/MethodCellRenderer.java | 18 +++++++-------- 2 files changed, 27 insertions(+), 13 deletions(-) diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/StaticImportMethodFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/StaticImportMethodFix.java index 15216e0a4ccf..9449955e8b86 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/StaticImportMethodFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/StaticImportMethodFix.java @@ -27,6 +27,7 @@ import com.intellij.openapi.editor.Editor; import com.intellij.openapi.progress.ProgressManager; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.popup.PopupChooserBuilder; +import com.intellij.openapi.util.Comparing; import com.intellij.psi.*; import com.intellij.psi.search.GlobalSearchScope; import com.intellij.psi.search.PsiShortNamesCache; @@ -46,6 +47,7 @@ public class StaticImportMethodFix implements IntentionAction { private static final Logger LOG = Logger.getInstance("#com.intellij.codeInsight.daemon.impl.quickfix.StaticImportMethodFix"); private final SmartPsiElementPointer myMethodCall; private List candidates; + private static final int OPTIONS = PsiFormatUtil.SHOW_NAME | PsiFormatUtil.SHOW_CONTAINING_CLASS | PsiFormatUtil.SHOW_FQ_NAME; public StaticImportMethodFix(@NotNull PsiMethodCallExpression methodCallExpression) { myMethodCall = SmartPointerManager.getInstance(methodCallExpression.getProject()).createSmartPsiElementPointer(methodCallExpression); @@ -55,8 +57,7 @@ public class StaticImportMethodFix implements IntentionAction { public String getText() { String text = QuickFixBundle.message("static.import.method.text"); if (candidates.size() == 1) { - final int options = PsiFormatUtil.SHOW_NAME | PsiFormatUtil.SHOW_CONTAINING_CLASS | PsiFormatUtil.SHOW_FQ_NAME; - text += " '" + PsiFormatUtil.formatMethod(candidates.get(0), PsiSubstitutor.EMPTY, options, 0)+"'"; + text += " '" + PsiFormatUtil.formatMethod(candidates.get(0), PsiSubstitutor.EMPTY, OPTIONS, 0)+"'"; } else { text += "..."; @@ -110,6 +111,20 @@ public class StaticImportMethodFix implements IntentionAction { } } List result = applicableList.isEmpty() ? list : applicableList; + for (int i = result.size() - 1; i >= 0; i--) { + PsiMethod method = result.get(i); + PsiClass containingClass = method.getContainingClass(); + for (int j = i+1; j(candidates)); - list.setCellRenderer(new MethodCellRenderer(true)); + list.setCellRenderer(new MethodCellRenderer(true, OPTIONS)); new PopupChooserBuilder(list). setTitle(QuickFixBundle.message("static.import.method.choose.method.to.import")). setMovable(true). diff --git a/java/java-impl/src/com/intellij/ide/util/MethodCellRenderer.java b/java/java-impl/src/com/intellij/ide/util/MethodCellRenderer.java index cef9714066d0..ad9f5ffda70e 100644 --- a/java/java-impl/src/com/intellij/ide/util/MethodCellRenderer.java +++ b/java/java-impl/src/com/intellij/ide/util/MethodCellRenderer.java @@ -23,16 +23,21 @@ import javax.swing.*; public class MethodCellRenderer extends PsiElementListCellRenderer{ private final boolean myShowMethodNames; private final PsiClassListCellRenderer myClassListCellRenderer = new PsiClassListCellRenderer(); + private final int myOptions; + public MethodCellRenderer(boolean showMethodNames) { + this(showMethodNames, PsiFormatUtil.SHOW_NAME | PsiFormatUtil.SHOW_PARAMETERS); + } + public MethodCellRenderer(boolean showMethodNames, int options) { myShowMethodNames = showMethodNames; + myOptions = options; } public String getElementText(PsiMethod element) { final PsiNamedElement container = fetchContainer(element); String text = container instanceof PsiClass ? myClassListCellRenderer.getElementText((PsiClass)container) : container.getName(); if (myShowMethodNames) { - final int options = PsiFormatUtil.SHOW_NAME | PsiFormatUtil.SHOW_PARAMETERS; - text += "."+PsiFormatUtil.formatMethod(element, PsiSubstitutor.EMPTY, options, PsiFormatUtil.SHOW_TYPE); + text += "."+PsiFormatUtil.formatMethod(element, PsiSubstitutor.EMPTY, myOptions, PsiFormatUtil.SHOW_TYPE); } return text; } @@ -43,16 +48,11 @@ public class MethodCellRenderer extends PsiElementListCellRenderer{ private static PsiNamedElement fetchContainer(PsiMethod element){ PsiClass aClass = element.getContainingClass(); - if (aClass == null) { - return element.getContainingFile(); - } - else { - return aClass; - } + return aClass == null ? element.getContainingFile() : aClass; } public String getContainerText(final PsiMethod element, final String name) { - return myClassListCellRenderer.getContainerTextStatic(element); + return PsiClassListCellRenderer.getContainerTextStatic(element); } public int getIconFlags() { From 508847ad23bcf4e313d2a5bc959788e83936ce00 Mon Sep 17 00:00:00 2001 From: Maxim Shafirov Date: Wed, 5 May 2010 14:08:00 +0400 Subject: [PATCH 075/173] Do not fail performance tests but rather record their timings in TC report. --- build/scripts/common_tests.gant | 1 + 1 file changed, 1 insertion(+) diff --git a/build/scripts/common_tests.gant b/build/scripts/common_tests.gant index 4a4387e303a7..3c01e4e3e84b 100644 --- a/build/scripts/common_tests.gant +++ b/build/scripts/common_tests.gant @@ -28,6 +28,7 @@ target('default': 'The default target') { pass("idea.test.group") pass("idea.test.patterns") pass("idea.fast.only") + pass("teamcity.build.tempDir") pass("teamcity.tests.recentlyFailedTests.file") jvmarg (value: "-Didea.platform.prefix=Idea") jvmarg (value: "-Didea.home.path=$home") From 6ba03d3d8b98ca8c73f18d35f210e22ceb0853ec Mon Sep 17 00:00:00 2001 From: Kirill Kalishev Date: Wed, 5 May 2010 14:41:27 +0400 Subject: [PATCH 076/173] removed switch actions from keymaps --- .../src/idea/Keymap_MacClassic.xml | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/platform/platform-resources/src/idea/Keymap_MacClassic.xml b/platform/platform-resources/src/idea/Keymap_MacClassic.xml index 09746c8664f9..3b4b8c3e1c1e 100644 --- a/platform/platform-resources/src/idea/Keymap_MacClassic.xml +++ b/platform/platform-resources/src/idea/Keymap_MacClassic.xml @@ -5,23 +5,6 @@ - - - - - - - - - - - - - - - - - From 30042861310b8c61b97cc39b6b3becfbb650e33e Mon Sep 17 00:00:00 2001 From: Kirill Kalishev Date: Wed, 5 May 2010 14:56:00 +0400 Subject: [PATCH 077/173] KeymapTest fixed --- .../src/com/intellij/ui/switcher/QuickAccessSettings.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/platform/platform-api/src/com/intellij/ui/switcher/QuickAccessSettings.java b/platform/platform-api/src/com/intellij/ui/switcher/QuickAccessSettings.java index d1dfb236f74e..2d4397707d64 100644 --- a/platform/platform-api/src/com/intellij/ui/switcher/QuickAccessSettings.java +++ b/platform/platform-api/src/com/intellij/ui/switcher/QuickAccessSettings.java @@ -20,6 +20,7 @@ import com.intellij.openapi.actionSystem.ActionManager; import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.actionSystem.KeyboardShortcut; import com.intellij.openapi.actionSystem.Shortcut; +import com.intellij.openapi.application.Application; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.components.ApplicationComponent; import com.intellij.openapi.keymap.Keymap; @@ -125,6 +126,9 @@ public class QuickAccessSettings implements ApplicationComponent, Configurable, } private void applyModifiersFromRegistry() { + Application app = ApplicationManager.getApplication(); + if (app != null && app.isUnitTestMode()) return; + String text = getModifierRegistryValue(); String[] vks = text.split(" "); From 67c26421da01f930c8eeca1cf59996a4fee1e123 Mon Sep 17 00:00:00 2001 From: Oleg Shpynov Date: Wed, 5 May 2010 14:56:22 +0400 Subject: [PATCH 078/173] RUBY-6005 NPE during debug --- .../xdebugger/impl/ui/tree/XDebuggerTree.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/XDebuggerTree.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/XDebuggerTree.java index 6955e5f55ef3..d002d1f2da1a 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/XDebuggerTree.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/tree/XDebuggerTree.java @@ -47,13 +47,15 @@ public class XDebuggerTree extends DnDAwareTree implements DataProvider { private static final DataKey XDEBUGGER_TREE_KEY = DataKey.create("xdebugger.tree"); private static final Convertor SPEED_SEARCH_CONVERTER = new Convertor() { public String convert(TreePath o) { - final Object node = o.getLastPathComponent(); String text = null; - if (node instanceof XValueNodeImpl) { - text = ((XValueNodeImpl)node).getName(); - } - else if (node instanceof XDebuggerTreeNode) { - text = ((XDebuggerTreeNode)node).getText().toString(); + if (o != null) { + final Object node = o.getLastPathComponent(); + if (node instanceof XValueNodeImpl) { + text = ((XValueNodeImpl)node).getName(); + } + else if (node instanceof XDebuggerTreeNode) { + text = ((XDebuggerTreeNode)node).getText().toString(); + } } return text != null ? text : ""; } From 7d214ee16aaa1491ec9ffb4cb6471197d8594442 Mon Sep 17 00:00:00 2001 From: Maxim Shafirov Date: Wed, 5 May 2010 15:21:01 +0400 Subject: [PATCH 079/173] Do not fail performance tests but rather record their timings in TC report. --- .../src/com/intellij/testFramework/TeamCityLogger.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/testFramework/src/com/intellij/testFramework/TeamCityLogger.java b/platform/testFramework/src/com/intellij/testFramework/TeamCityLogger.java index 3a439d8873bf..d4cc0ba33884 100644 --- a/platform/testFramework/src/com/intellij/testFramework/TeamCityLogger.java +++ b/platform/testFramework/src/com/intellij/testFramework/TeamCityLogger.java @@ -29,7 +29,7 @@ import java.io.IOException; public class TeamCityLogger { private static final Logger LOG = Logger.getInstance("#com.intellij.testFramework.TeamCityLogger"); - private final static boolean isUnderTC = System.getProperty("teamcity.build.tempDir") != null; + private final static boolean isUnderTC = System.getProperty("bootstrap.testcases") != null; private TeamCityLogger() {} From 4261cab7a121605ce076873e2871aa23797f2f0f Mon Sep 17 00:00:00 2001 From: Maxim Shafirov Date: Wed, 5 May 2010 17:23:14 +0400 Subject: [PATCH 080/173] TC logging now has test names. --- .../src/com/intellij/TestAll.java | 23 +++++++++++-------- .../testFramework/TeamCityLogger.java | 2 +- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/platform/testFramework/src/com/intellij/TestAll.java b/platform/testFramework/src/com/intellij/TestAll.java index 26888d1a67f8..4b4c6a0fb316 100644 --- a/platform/testFramework/src/com/intellij/TestAll.java +++ b/platform/testFramework/src/com/intellij/TestAll.java @@ -87,7 +87,7 @@ public class TestAll implements Test { if ((ourMode & START_GUARD) != 0) { Thread timeAndMemoryGuard = new Thread() { public void run() { - System.out.println("Starting Time and Memory Guard"); + log("Starting Time and Memory Guard"); while (true) { try { try { @@ -104,7 +104,7 @@ public class TestAll implements Test { if (!mySavingMemorySnapshot) { if (secondsSpent > PlatformTestCase.ourTestTime * myLastTestTestMethodCount) { UsefulTestCase.printThreadDump(); - System.out.println("Interrupting current Test (out of time)! Test class: "+ myLastTestClass +" Seconds spent = " + secondsSpent); + log("Interrupting current Test (out of time)! Test class: "+ myLastTestClass +" Seconds spent = " + secondsSpent); myInterruptedByOutOfTime = true; if (currentThread != null) { currentThread.interrupt(); @@ -122,7 +122,7 @@ public class TestAll implements Test { e.printStackTrace(); } } - System.out.println("Time and Memory Guard finished."); + log("Time and Memory Guard finished."); } }; timeAndMemoryGuard.setDaemon(true); @@ -201,8 +201,7 @@ public class TestAll implements Test { } } - System.out.println("\nRunning " + testCaseClass.getName()); - LOG.info("Running " + testCaseClass.getName()); + log("\nRunning " + testCaseClass.getName()); final Test test = getTest(testCaseClass); if (test == null) return; @@ -253,10 +252,10 @@ public class TestAll implements Test { if ((ourMode & SAVE_MEMORY_SNAPSHOT) != 0) { try { mySavingMemorySnapshot = true; - System.out.println("OutOfMemoryError detected. Saving memory snapshot started"); + log("OutOfMemoryError detected. Saving memory snapshot started"); } finally { - System.out.println("Saving memory snapshot finished"); + log("Saving memory snapshot finished"); mySavingMemorySnapshot = false; } } @@ -273,7 +272,7 @@ public class TestAll implements Test { tryGc(5); possibleOutOfMemoryError = possibleOutOfMemory(neededMemory); if (possibleOutOfMemoryError) { - System.out.println("OutOfMemoryError: dumping memory"); + log("OutOfMemoryError: dumping memory"); Runtime runtime = Runtime.getRuntime(); long total = runtime.totalMemory(); long free = runtime.freeMemory(); @@ -364,7 +363,11 @@ public class TestAll implements Test { myTestCaseLoader.clearClasses(); } - System.out.println("Number of test classes found: " + myTestCaseLoader.getClasses().size()); + log("Number of test classes found: " + myTestCaseLoader.getClasses().size()); + } + + private static void log(String message) { + TeamCityLogger.info(message); } // [myakovlev] Do not delete - it is for debugging @@ -380,7 +383,7 @@ public class TestAll implements Test { } System.gc(); //long mem = Runtime.getRuntime().totalMemory(); - System.out.println("Runtime.getRuntime().totalMemory() = " + Runtime.getRuntime().totalMemory()); + log("Runtime.getRuntime().totalMemory() = " + Runtime.getRuntime().totalMemory()); } } diff --git a/platform/testFramework/src/com/intellij/testFramework/TeamCityLogger.java b/platform/testFramework/src/com/intellij/testFramework/TeamCityLogger.java index d4cc0ba33884..15f84ff344ed 100644 --- a/platform/testFramework/src/com/intellij/testFramework/TeamCityLogger.java +++ b/platform/testFramework/src/com/intellij/testFramework/TeamCityLogger.java @@ -66,7 +66,7 @@ public class TeamCityLogger { private static void tcLog(String message, String level) { try { - FileUtil.appendToFile(reportFile(), level + ": " + message); + FileUtil.appendToFile(reportFile(), level + ": " + message + "\n"); } catch (IOException e) { LOG.error(e); From b15bb13c8980ac257177f12ba3dce5900faab0be Mon Sep 17 00:00:00 2001 From: Gregory Shrago Date: Wed, 5 May 2010 17:30:24 +0400 Subject: [PATCH 081/173] maven facade initial --- build/scripts/layouts.gant | 3 + lib/src/apache-maven-2.2.1-src.zip | Bin 0 -> 1957027 bytes .../idea/maven/facade/nexus/ArtifactType.java | 368 +++++++++++++++++ .../idea/maven/facade/nexus/Endpoint.java | 288 +++++++++++++ .../maven/facade/nexus/ObjectFactory.java | 103 +++++ .../idea/maven/facade/nexus/Repositories.java | 151 +++++++ .../facade/nexus/RepositoryMetaData.java | 220 ++++++++++ .../maven/facade/nexus/RepositoryType.java | 385 ++++++++++++++++++ .../idea/maven/facade/nexus/SearchResult.java | 254 ++++++++++++ .../maven/facade/nexus/SearchResults.java | 253 ++++++++++++ .../idea/maven/facade/nexus/nexus.wadl | 51 +++ .../idea/maven/facade/nexus/nexus.xsd | 75 ++++ .../idea/maven/facade/remote/MavenFacade.java | 98 +++++ .../facade/remote/MavenFacadeLocator.java | 151 +++++++ .../facade/remote/RemoteMavenServer.java | 61 +++ .../facade/remote/RemoteTransferListener.java | 123 ++++++ .../facade/remote/impl/MavenFacadeImpl.java | 341 ++++++++++++++++ .../maven/facade/remote/impl/RemoteImpl.java | 95 +++++ .../impl/RemoteTransferListenerImpl.java | 28 ++ plugins/maven/lib/activation-1.1.jar | Bin 0 -> 63018 bytes plugins/maven/lib/jaxb-api-2.1.jar | Bin 0 -> 103515 bytes plugins/maven/lib/jaxb-impl-2.1.10.jar | Bin 0 -> 866992 bytes plugins/maven/lib/wadl-core.jar | Bin 0 -> 71538 bytes plugins/maven/maven-facade.iml | 103 +++++ plugins/maven/maven.iml | 1 + 25 files changed, 3152 insertions(+) create mode 100644 lib/src/apache-maven-2.2.1-src.zip create mode 100644 plugins/maven/facade/org/jetbrains/idea/maven/facade/nexus/ArtifactType.java create mode 100644 plugins/maven/facade/org/jetbrains/idea/maven/facade/nexus/Endpoint.java create mode 100644 plugins/maven/facade/org/jetbrains/idea/maven/facade/nexus/ObjectFactory.java create mode 100644 plugins/maven/facade/org/jetbrains/idea/maven/facade/nexus/Repositories.java create mode 100644 plugins/maven/facade/org/jetbrains/idea/maven/facade/nexus/RepositoryMetaData.java create mode 100644 plugins/maven/facade/org/jetbrains/idea/maven/facade/nexus/RepositoryType.java create mode 100644 plugins/maven/facade/org/jetbrains/idea/maven/facade/nexus/SearchResult.java create mode 100644 plugins/maven/facade/org/jetbrains/idea/maven/facade/nexus/SearchResults.java create mode 100644 plugins/maven/facade/org/jetbrains/idea/maven/facade/nexus/nexus.wadl create mode 100644 plugins/maven/facade/org/jetbrains/idea/maven/facade/nexus/nexus.xsd create mode 100644 plugins/maven/facade/org/jetbrains/idea/maven/facade/remote/MavenFacade.java create mode 100644 plugins/maven/facade/org/jetbrains/idea/maven/facade/remote/MavenFacadeLocator.java create mode 100644 plugins/maven/facade/org/jetbrains/idea/maven/facade/remote/RemoteMavenServer.java create mode 100644 plugins/maven/facade/org/jetbrains/idea/maven/facade/remote/RemoteTransferListener.java create mode 100644 plugins/maven/facade/org/jetbrains/idea/maven/facade/remote/impl/MavenFacadeImpl.java create mode 100644 plugins/maven/facade/org/jetbrains/idea/maven/facade/remote/impl/RemoteImpl.java create mode 100644 plugins/maven/facade/org/jetbrains/idea/maven/facade/remote/impl/RemoteTransferListenerImpl.java create mode 100644 plugins/maven/lib/activation-1.1.jar create mode 100644 plugins/maven/lib/jaxb-api-2.1.jar create mode 100644 plugins/maven/lib/jaxb-impl-2.1.10.jar create mode 100644 plugins/maven/lib/wadl-core.jar create mode 100644 plugins/maven/maven-facade.iml diff --git a/build/scripts/layouts.gant b/build/scripts/layouts.gant index 9e47c87b2874..0ef5893a72fc 100644 --- a/build/scripts/layouts.gant +++ b/build/scripts/layouts.gant @@ -174,6 +174,9 @@ def layoutFull(String home, String targetDirectory) { layoutPlugin("maven") { + jar("maven-facade.jar") { + module("maven-facade") + } fileset(dir: "$home/plugins/maven/lib") } diff --git a/lib/src/apache-maven-2.2.1-src.zip b/lib/src/apache-maven-2.2.1-src.zip new file mode 100644 index 0000000000000000000000000000000000000000..e891db6ccc6cc9f4ad2667883aa83a726a49f488 GIT binary patch literal 1957027 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%0Db&B}x29oYehA`x4hh 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�|3m(Z2xK638Ee&k)~A^4(Ga)jk6+LT257 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%0ANp0FYcoN<# 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%0DnlCyWkc5wW2xh}i2o&m(}?1>eKFtZvnd{b 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�Gd&P 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 _GU)GNxA4z4?k^e6s|PSz%Y-{trvaS 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

_ivCSvR@8bps9$k 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≫-wj02 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

!>4(Dax?ovKFCCy(Y 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

Jg}QP#38MJHUfl+?9W2js5_!@!bl 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

o{*g={ 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 sPbT|M8#Zf_O6@@}Bib_ASjc_&;pXie*A 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%0DZ;YN)?#+P-3LAtDY11m?oyz12W z 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ƛo1{8381 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

0RcJucZ=cw();~4P5h1dkLH)`{K*K% zFUR<^`>E=53SVt!84|gD?F`>me+h9x5JYZ}#>x}G^c@`xpFn`Bb#(McviRTT*M^8- zznpV_m^2%(jCqSmZ!~W$ySQ-EjspTCYBBdLQztt|8aD@_+z2*ay?R}kxx{^PT-u7L zs$>}3M1x}Dq9H{o`$6HgnhI0s4R#wg;Cb++jj=!I3p701g0jVI#pmo z>Y?wigSWQ69x{vCsUL`HFTDEt(+_C+Eks^vzC>31A_ZZ@7F6G2b_S;y0^-9qy#ZJ|w-qgx1I>hX+CMam>>k{F4;AcQGy8@40A1KM7& z=cn8Eedn9ApudX9(hN~u`|yO4&GpeS)<^^9*_qp`oJnD~ZvsV#u2{g`Erkgkbs&kA z`)!5!n>5Lf5=MQy>8)W*vr#}~H-GA)SDZ1{TDx_`fGa^OKWs&o%z5c6 z&+w#AtB?+QKGkqK$ObP5-(k``i$F2^j(Qy9;4zr2U{h7j(!lZjAlZ>U%4Fa6f zYZT92gU|{71T0d%wSB=QDxd?`Brj?$^#e61fC^lIh6q)A*A57ci_e;9nb_7}-#-)S zjKJiVG7i!xVGE6Jb!u06Q8gYnCIxFMy+Zf!4xSs4I1^#Omg_EBmz_nqx~C1%a%p+b zbsVp}@-VFMv!G=HvXwq;=}WyCtt?aL9A!a!*Y6Nl*dT)!Md)6^y@u?CC1sml@$95l zQ+>Y^p%;k0rMuM_NE(A^xCDLOIcYn>N8fzojQR)X+5&BJkIy(N%0w3Q`VA%Y8v)j9!LA zvY#PRWYG7XUV!fZp;E#$CWxj}2PQqbd(CjBzhcQ)++GZKA*leZ0s%rd40sFce2fZP z5n5BQt!z?#sre*XxLKrHzjnz@IHioV>2+{_Ixan*Z+paY_YuL|e24n10Re&LI=X2b zsA(=+r*=$A(-i#SrkD1HrOi^?AQlS@%Sg&txEX;2$81_&me^}iGm< z_jgo+D2|@y*h@OXx_;thprS_9GzHuX-|>FhWUHSzyT>?Roe(8V85}JMhpz}=!1;7b z#q*k_*?ZHu(a1aEB*3J}0r1Q`7}i4!sJV3ji%0(!+V(_!ZbSHebo_2MhEhyQ~8V4>W}9$s=@E^Hs+`s;i|6 zsf~%poCq(}n3?d~elk^q74?l}9Sd$F(3E^8Q1))KJ2V_`cF?uS!>QjD4SS8(GXyPT zYiq=!mBfSO5r>8BXxLB{kqh*6@m!!ze?bsqKff~OAq-eu&&|0Yr!;*~LAA1>=;W;F zw_1l!YL&!Sf>YQ*7LzhCZ1iAE_C$#cd2nz(d$x(qZRHl!snAi*_iZ0RG1}mdVg~JP zIhx8{A)OW_#|346^w_J%_eZjz>|07B%a#(MgpYM#q|~u5`y}Z0mJ6MeCAHT`c?|hg z>e6zlmiSl2XKrMDsvJ);hMm#zglbWj7=hB8kC+MqdF`Qd1kytgGhzHxV^yWy8@xrw z_y67BP5f)&wSu+ymZ0*w5xXIJuU0e1mk^ap1_y7v8^W)S-G)q~n+$p#*Ydbm!M>R( z>u|<~`=ev!x5Y}tjA>Tx+o@ z;gtFxDzKJTHE^ul_6X4$3k#lNYjZPQn4-?@7I9W7Pxu<&%J{x+CCy(o5hndDV9ZX` z?r`}0n#w5>c-~o#bW2FfdIXWLaDcc5%hMjY_U3=EH^HQ%)-LVZ8W};N%7#2pmttAq zJOGU+IdD3!s;B!x+c8F_+ojm~w1JMaA1vJBK$lAk8&6L>zy{Crc>rg7wwR4Tz4{6& z9WRN4DHJy|<0B<1S%S0t#M#NS3v;-W#$!Tk__JPZej@xQc?cT`;^_ z>DPMdbN!NCkJzB~7k@Day8uLJA;vvYb_`Y}FR1NS;NUm0H`-<5!g<3U`C%(WxALxD zG}$?CBM`iSkb&R^j^-cH3eeqyA1eKqC{#A9&lV@Zj4jH%IgNfAF%E8TcMZ5M`Jd@2 z_(kX`ptFz0m9D@HM4#>8b~*Dnb$GA=*%_D!OWrb*!bOm^7P*VGU>5D^LTjzMeWKvm zSo0)Vc+ty^qNwcC5rJv-^u@p9m^{bYA%K+Q6PlOY8g9HDelR{97Pbv~u0xg7IxBCI zEzG&IO&1MDg?G9M^{l)tlY!MAItY7WPBx%7Yy_uVOjof5M`?xJg&hf`Vt=>aheO^* zKgUVCD{1X5f&)be~H&bL0r{9C_UD zj40439s>bs(0W-;TD}I2gwzN7cCg!l+k5Hj&!Z6I?roDgsqdnz*?!k*P0R7H5WP?| zIpgQQS3_uZrgYR)B2yOPvNv;9%Jf>N0`5I6GjsiHqM#vr)nfZqk54hYEo|8Wv4=we}Q{O>1@7Bsb-)|!xfmuh-u@BM8}#>izj zkCr7$!s*LAamI~WpH4uf1&I`q^aW<>0fSsVm}{a~FiJ_+bV@yD5Ldo)I#=`vsmRW) zn|K1cWV+}&bOg4(r=V7cR60s0pLq9xq4p+iCOdufYLJJc08SfG?lMDCj zP1=@}9GMFUO^M1H4dopI|t;B8xknbVmUzPZf|n zfr&RaUX5ynp{+ssaB#q$RPEWq`#Xa06i1gCp#&1c0zM_G{&qV{A7j}54i^IR05yw` zXY&1d;5TaEL(}oNU0G;&h9h&MIzir

l<10I3?Q5=~gp?g=RoGG#6;ggHzhAX?- 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

nZeY`+v_x+3uWfR%`dLikiIB8D)m2s+55*`KNh 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 O36|aQyV2X!is~n`Xow~%)NI!f9=Cu&?9^f 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%0Do32?tqC9 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 class for artifactType complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="artifactType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="resourceUri" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         <element name="groupId" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         <element name="artifactId" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         <element name="version" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         <element name="classifier" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         <element name="packaging" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         <element name="extension" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         <element name="repoId" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         <element name="contextId" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         <element name="pomLink" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         <element name="artifactLink" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "artifactType", propOrder = { + "resourceUri", + "groupId", + "artifactId", + "version", + "classifier", + "packaging", + "extension", + "repoId", + "contextId", + "pomLink", + "artifactLink" +}) +public class ArtifactType implements Serializable { + + @XmlElement(required = true) + protected String resourceUri; + @XmlElement(required = true) + protected String groupId; + @XmlElement(required = true) + protected String artifactId; + @XmlElement(required = true) + protected String version; + @XmlElement(required = true) + protected String classifier; + @XmlElement(required = true) + protected String packaging; + @XmlElement(required = true) + protected String extension; + @XmlElement(required = true) + protected String repoId; + @XmlElement(required = true) + protected String contextId; + @XmlElement(required = true) + protected String pomLink; + @XmlElement(required = true) + protected String artifactLink; + + public ArtifactType() { + + } + + public ArtifactType(String groupId, String artifactId, String version) { + this.groupId = groupId; + this.artifactId = artifactId; + this.version = version; + } + + /** + * Gets the value of the resourceUri property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getResourceUri() { + return resourceUri; + } + + /** + * Sets the value of the resourceUri property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setResourceUri(String value) { + this.resourceUri = value; + } + + /** + * Gets the value of the groupId property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getGroupId() { + return groupId; + } + + /** + * Sets the value of the groupId property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setGroupId(String value) { + this.groupId = value; + } + + /** + * Gets the value of the artifactId property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getArtifactId() { + return artifactId; + } + + /** + * Sets the value of the artifactId property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArtifactId(String value) { + this.artifactId = value; + } + + /** + * Gets the value of the version property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getVersion() { + return version; + } + + /** + * Sets the value of the version property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setVersion(String value) { + this.version = value; + } + + /** + * Gets the value of the classifier property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getClassifier() { + return classifier; + } + + /** + * Sets the value of the classifier property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setClassifier(String value) { + this.classifier = value; + } + + /** + * Gets the value of the packaging property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getPackaging() { + return packaging; + } + + /** + * Sets the value of the packaging property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setPackaging(String value) { + this.packaging = value; + } + + /** + * Gets the value of the extension property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getExtension() { + return extension; + } + + /** + * Sets the value of the extension property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setExtension(String value) { + this.extension = value; + } + + /** + * Gets the value of the repoId property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getRepoId() { + return repoId; + } + + /** + * Sets the value of the repoId property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setRepoId(String value) { + this.repoId = value; + } + + /** + * Gets the value of the contextId property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getContextId() { + return contextId; + } + + /** + * Sets the value of the contextId property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setContextId(String value) { + this.contextId = value; + } + + /** + * Gets the value of the pomLink property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getPomLink() { + return pomLink; + } + + /** + * Sets the value of the pomLink property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setPomLink(String value) { + this.pomLink = value; + } + + /** + * Gets the value of the artifactLink property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getArtifactLink() { + return artifactLink; + } + + /** + * Sets the value of the artifactLink property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArtifactLink(String value) { + this.artifactLink = value; + } + +} diff --git a/plugins/maven/facade/org/jetbrains/idea/maven/facade/nexus/Endpoint.java b/plugins/maven/facade/org/jetbrains/idea/maven/facade/nexus/Endpoint.java new file mode 100644 index 000000000000..c568d82b5dcb --- /dev/null +++ b/plugins/maven/facade/org/jetbrains/idea/maven/facade/nexus/Endpoint.java @@ -0,0 +1,288 @@ + +/* + * Copyright 2000-2010 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jetbrains.idea.maven.facade.nexus; + +import java.io.IOException; +import java.net.MalformedURLException; +import java.util.HashMap; +import java.util.List; +import javax.activation.DataSource; +import javax.xml.bind.JAXBContext; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.JAXBException; +import org.jvnet.ws.wadl.util.DSDispatcher; +import org.jvnet.ws.wadl.util.JAXBDispatcher; +import org.jvnet.ws.wadl.util.UriBuilder; + +public class Endpoint { + + + public static class DataIndex { + + private JAXBDispatcher _jaxbDispatcher; + private DSDispatcher _dsDispatcher; + private UriBuilder _uriBuilder; + private JAXBContext _jc; + private HashMap _templateAndMatrixParameterValues; + + /** + * Create new instance + * + * @param nexusRoot + */ + public DataIndex(final String nexusRoot) + throws JAXBException + { + _jc = JAXBContext.newInstance("org.jetbrains.idea.maven.facade.nexus"); + _jaxbDispatcher = new JAXBDispatcher(_jc); + _dsDispatcher = new DSDispatcher(); + _uriBuilder = new UriBuilder(); + List _matrixParamSet; + _matrixParamSet = _uriBuilder.addPathSegment(nexusRoot); + _matrixParamSet = _uriBuilder.addPathSegment("data_index"); + _templateAndMatrixParameterValues = new HashMap(); + } + + public DataSource getArtifactlistAsApplicationXml() + throws IOException, MalformedURLException + { + HashMap _queryParameterValues = new HashMap(); + HashMap _headerParameterValues = new HashMap(); + String _url = _uriBuilder.buildUri(_templateAndMatrixParameterValues, _queryParameterValues); + DataSource _retVal = _dsDispatcher.doGET(_url, _headerParameterValues, "application/xml"); + return _retVal; + } + + public SearchResults getArtifactlistAsSearchResults() + throws IOException, MalformedURLException, JAXBException + { + HashMap _queryParameterValues = new HashMap(); + HashMap _headerParameterValues = new HashMap(); + String _url = _uriBuilder.buildUri(_templateAndMatrixParameterValues, _queryParameterValues); + Object _retVal = _jaxbDispatcher.doGET(_url, _headerParameterValues, "application/xml"); + if (_retVal == null) { + return null; + } + if (JAXBElement.class.isInstance(_retVal)) { + JAXBElement jaxbElement = ((JAXBElement) _retVal); + _retVal = jaxbElement.getValue(); + } + return ((SearchResults) _retVal); + } + + public DataSource getArtifactlistAsApplicationXml(String q, String g, String a, String v, String c) + throws IOException, MalformedURLException + { + HashMap _queryParameterValues = new HashMap(); + HashMap _headerParameterValues = new HashMap(); + _queryParameterValues.put("q", q); + _queryParameterValues.put("g", g); + _queryParameterValues.put("a", a); + _queryParameterValues.put("v", v); + _queryParameterValues.put("c", c); + String _url = _uriBuilder.buildUri(_templateAndMatrixParameterValues, _queryParameterValues); + DataSource _retVal = _dsDispatcher.doGET(_url, _headerParameterValues, "application/xml"); + return _retVal; + } + + public SearchResults getArtifactlistAsSearchResults(String q, String g, String a, String v, String c) + throws IOException, MalformedURLException, JAXBException + { + HashMap _queryParameterValues = new HashMap(); + HashMap _headerParameterValues = new HashMap(); + _queryParameterValues.put("q", q); + _queryParameterValues.put("g", g); + _queryParameterValues.put("a", a); + _queryParameterValues.put("v", v); + _queryParameterValues.put("c", c); + String _url = _uriBuilder.buildUri(_templateAndMatrixParameterValues, _queryParameterValues); + Object _retVal = _jaxbDispatcher.doGET(_url, _headerParameterValues, "application/xml"); + if (_retVal == null) { + return null; + } + if (JAXBElement.class.isInstance(_retVal)) { + JAXBElement jaxbElement = ((JAXBElement) _retVal); + _retVal = jaxbElement.getValue(); + } + return ((SearchResults) _retVal); + } + + } + + public static class DataIndexRepository { + + private JAXBDispatcher _jaxbDispatcher; + private DSDispatcher _dsDispatcher; + private UriBuilder _uriBuilder; + private JAXBContext _jc; + private HashMap _templateAndMatrixParameterValues; + + /** + * Create new instance + * + */ + public DataIndexRepository(String repository) + throws JAXBException + { + _jc = JAXBContext.newInstance("org.jetbrains.idea.maven.facade.nexus"); + _jaxbDispatcher = new JAXBDispatcher(_jc); + _dsDispatcher = new DSDispatcher(); + _uriBuilder = new UriBuilder(); + List _matrixParamSet; + _matrixParamSet = _uriBuilder.addPathSegment("http://repository.sonatype.org/service/local/"); + _matrixParamSet = _uriBuilder.addPathSegment("data_index/{repository}"); + _templateAndMatrixParameterValues = new HashMap(); + _templateAndMatrixParameterValues.put("repository", repository); + } + + /** + * Get repository + * + */ + public String getRepository() { + return ((String) _templateAndMatrixParameterValues.get("repository")); + } + + /** + * Set repository + * + */ + public void setRepository(String repository) { + _templateAndMatrixParameterValues.put("repository", repository); + } + + public DataSource getArtifactlistAsApplicationXml() + throws IOException, MalformedURLException + { + HashMap _queryParameterValues = new HashMap(); + HashMap _headerParameterValues = new HashMap(); + String _url = _uriBuilder.buildUri(_templateAndMatrixParameterValues, _queryParameterValues); + DataSource _retVal = _dsDispatcher.doGET(_url, _headerParameterValues, "application/xml"); + return _retVal; + } + + public SearchResults getArtifactlistAsSearchResults() + throws IOException, MalformedURLException, JAXBException + { + HashMap _queryParameterValues = new HashMap(); + HashMap _headerParameterValues = new HashMap(); + String _url = _uriBuilder.buildUri(_templateAndMatrixParameterValues, _queryParameterValues); + Object _retVal = _jaxbDispatcher.doGET(_url, _headerParameterValues, "application/xml"); + if (_retVal == null) { + return null; + } + if (JAXBElement.class.isInstance(_retVal)) { + JAXBElement jaxbElement = ((JAXBElement) _retVal); + _retVal = jaxbElement.getValue(); + } + return ((SearchResults) _retVal); + } + + public DataSource getArtifactlistAsApplicationXml(String q, String g, String a, String v, String c) + throws IOException, MalformedURLException + { + HashMap _queryParameterValues = new HashMap(); + HashMap _headerParameterValues = new HashMap(); + _queryParameterValues.put("q", q); + _queryParameterValues.put("g", g); + _queryParameterValues.put("a", a); + _queryParameterValues.put("v", v); + _queryParameterValues.put("c", c); + String _url = _uriBuilder.buildUri(_templateAndMatrixParameterValues, _queryParameterValues); + DataSource _retVal = _dsDispatcher.doGET(_url, _headerParameterValues, "application/xml"); + return _retVal; + } + + public SearchResults getArtifactlistAsSearchResults(String q, String g, String a, String v, String c) + throws IOException, MalformedURLException, JAXBException + { + HashMap _queryParameterValues = new HashMap(); + HashMap _headerParameterValues = new HashMap(); + _queryParameterValues.put("q", q); + _queryParameterValues.put("g", g); + _queryParameterValues.put("a", a); + _queryParameterValues.put("v", v); + _queryParameterValues.put("c", c); + String _url = _uriBuilder.buildUri(_templateAndMatrixParameterValues, _queryParameterValues); + Object _retVal = _jaxbDispatcher.doGET(_url, _headerParameterValues, "application/xml"); + if (_retVal == null) { + return null; + } + if (JAXBElement.class.isInstance(_retVal)) { + JAXBElement jaxbElement = ((JAXBElement) _retVal); + _retVal = jaxbElement.getValue(); + } + return ((SearchResults) _retVal); + } + + } + + public static class Repositories { + + private JAXBDispatcher _jaxbDispatcher; + private DSDispatcher _dsDispatcher; + private UriBuilder _uriBuilder; + private JAXBContext _jc; + private HashMap _templateAndMatrixParameterValues; + + /** + * Create new instance + * + */ + public Repositories() + throws JAXBException + { + _jc = JAXBContext.newInstance("org.jetbrains.idea.maven.facade.nexus"); + _jaxbDispatcher = new JAXBDispatcher(_jc); + _dsDispatcher = new DSDispatcher(); + _uriBuilder = new UriBuilder(); + List _matrixParamSet; + _matrixParamSet = _uriBuilder.addPathSegment("http://repository.sonatype.org/service/local/"); + _matrixParamSet = _uriBuilder.addPathSegment("repositories"); + _templateAndMatrixParameterValues = new HashMap(); + } + + public DataSource getRepolistAsApplicationXml() + throws IOException, MalformedURLException + { + HashMap _queryParameterValues = new HashMap(); + HashMap _headerParameterValues = new HashMap(); + String _url = _uriBuilder.buildUri(_templateAndMatrixParameterValues, _queryParameterValues); + DataSource _retVal = _dsDispatcher.doGET(_url, _headerParameterValues, "application/xml"); + return _retVal; + } + + public Repositories getRepolistAsRepositories() + throws IOException, MalformedURLException, JAXBException + { + HashMap _queryParameterValues = new HashMap(); + HashMap _headerParameterValues = new HashMap(); + String _url = _uriBuilder.buildUri(_templateAndMatrixParameterValues, _queryParameterValues); + Object _retVal = _jaxbDispatcher.doGET(_url, _headerParameterValues, "application/xml"); + if (_retVal == null) { + return null; + } + if (JAXBElement.class.isInstance(_retVal)) { + JAXBElement jaxbElement = ((JAXBElement) _retVal); + _retVal = jaxbElement.getValue(); + } + return ((Repositories) _retVal); + } + + } + +} diff --git a/plugins/maven/facade/org/jetbrains/idea/maven/facade/nexus/ObjectFactory.java b/plugins/maven/facade/org/jetbrains/idea/maven/facade/nexus/ObjectFactory.java new file mode 100644 index 000000000000..cd6d3df8eba7 --- /dev/null +++ b/plugins/maven/facade/org/jetbrains/idea/maven/facade/nexus/ObjectFactory.java @@ -0,0 +1,103 @@ + +/* + * Copyright 2000-2010 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jetbrains.idea.maven.facade.nexus; + +import javax.xml.bind.annotation.XmlRegistry; + + +/** + * This object contains factory methods for each + * Java content interface and Java element interface + * generated in the nexus package. + *

An ObjectFactory allows you to programatically + * construct new instances of the Java representation + * for XML content. The Java representation of XML + * content can consist of schema derived interfaces + * and classes representing the binding of schema + * type definitions, element declarations and model + * groups. Factory methods for each of these are + * provided in this class. + * + */ +@XmlRegistry +public class ObjectFactory { + + + /** + * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: nexus + * + */ + public ObjectFactory() { + } + + /** + * Create an instance of {@link Repositories } + * + */ + public Repositories createRepositories() { + return new Repositories(); + } + + /** + * Create an instance of {@link RepositoryMetaData } + * + */ + public RepositoryMetaData createRepositoryMetaData() { + return new RepositoryMetaData(); + } + + /** + * Create an instance of {@link SearchResults } + * + */ + public SearchResults createSearchResults() { + return new SearchResults(); + } + + /** + * Create an instance of {@link RepositoryType } + * + */ + public RepositoryType createRepositoryType() { + return new RepositoryType(); + } + + /** + * Create an instance of {@link ArtifactType } + * + */ + public ArtifactType createArtifactType() { + return new ArtifactType(); + } + + /** + * Create an instance of {@link Repositories.Data } + * + */ + public Repositories.Data createRepositoriesData() { + return new Repositories.Data(); + } + + /** + * Create an instance of {@link SearchResults.Data } + * + */ + public SearchResults.Data createSearchResultsData() { + return new SearchResults.Data(); + } + +} diff --git a/plugins/maven/facade/org/jetbrains/idea/maven/facade/nexus/Repositories.java b/plugins/maven/facade/org/jetbrains/idea/maven/facade/nexus/Repositories.java new file mode 100644 index 000000000000..178e258a0512 --- /dev/null +++ b/plugins/maven/facade/org/jetbrains/idea/maven/facade/nexus/Repositories.java @@ -0,0 +1,151 @@ + +/* + * Copyright 2000-2010 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jetbrains.idea.maven.facade.nexus; + +import java.util.ArrayList; +import java.util.List; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java class for anonymous complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType>
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="data">
+ *           <complexType>
+ *             <complexContent>
+ *               <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *                 <sequence>
+ *                   <element name="repositories-item" type="{}repositoryType" maxOccurs="unbounded" minOccurs="0"/>
+ *                 </sequence>
+ *               </restriction>
+ *             </complexContent>
+ *           </complexType>
+ *         </element>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "", propOrder = { + "data" +}) +@XmlRootElement(name = "repositories") +public class Repositories { + + @XmlElement(required = true) + protected Repositories.Data data; + + /** + * Gets the value of the data property. + * + * @return + * possible object is + * {@link Repositories.Data } + * + */ + public Repositories.Data getData() { + return data; + } + + /** + * Sets the value of the data property. + * + * @param value + * allowed object is + * {@link Repositories.Data } + * + */ + public void setData(Repositories.Data value) { + this.data = value; + } + + + /** + *

Java class for anonymous complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+     * <complexType>
+     *   <complexContent>
+     *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *       <sequence>
+     *         <element name="repositories-item" type="{}repositoryType" maxOccurs="unbounded" minOccurs="0"/>
+     *       </sequence>
+     *     </restriction>
+     *   </complexContent>
+     * </complexType>
+     * 
+ * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "repositoriesItem" + }) + public static class Data { + + @XmlElement(name = "repositories-item") + protected List repositoriesItem; + + /** + * Gets the value of the repositoriesItem property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the repositoriesItem property. + * + *

+ * For example, to add a new item, do as follows: + *

+         *    getRepositoriesItem().add(newItem);
+         * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link RepositoryType } + * + * + */ + public List getRepositoriesItem() { + if (repositoriesItem == null) { + repositoriesItem = new ArrayList(); + } + return this.repositoriesItem; + } + + } + +} diff --git a/plugins/maven/facade/org/jetbrains/idea/maven/facade/nexus/RepositoryMetaData.java b/plugins/maven/facade/org/jetbrains/idea/maven/facade/nexus/RepositoryMetaData.java new file mode 100644 index 000000000000..2516734256cd --- /dev/null +++ b/plugins/maven/facade/org/jetbrains/idea/maven/facade/nexus/RepositoryMetaData.java @@ -0,0 +1,220 @@ + +/* + * Copyright 2000-2010 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jetbrains.idea.maven.facade.nexus; + +import java.math.BigInteger; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java class for anonymous complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType>
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="id" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         <element name="repoType" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         <element name="effectiveLocalStorageUrl" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         <element name="proxyUrl" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         <element name="sizeOnDisk" type="{http://www.w3.org/2001/XMLSchema}integer"/>
+ *         <element name="numArtifacts" type="{http://www.w3.org/2001/XMLSchema}integer"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "", propOrder = { + "id", + "repoType", + "effectiveLocalStorageUrl", + "proxyUrl", + "sizeOnDisk", + "numArtifacts" +}) +@XmlRootElement(name = "repositoryMetaData") +public class RepositoryMetaData { + + @XmlElement(required = true) + protected String id; + @XmlElement(required = true) + protected String repoType; + @XmlElement(required = true) + protected String effectiveLocalStorageUrl; + @XmlElement(required = true) + protected String proxyUrl; + @XmlElement(required = true) + protected BigInteger sizeOnDisk; + @XmlElement(required = true) + protected BigInteger numArtifacts; + + /** + * Gets the value of the id property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getId() { + return id; + } + + /** + * Sets the value of the id property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setId(String value) { + this.id = value; + } + + /** + * Gets the value of the repoType property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getRepoType() { + return repoType; + } + + /** + * Sets the value of the repoType property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setRepoType(String value) { + this.repoType = value; + } + + /** + * Gets the value of the effectiveLocalStorageUrl property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getEffectiveLocalStorageUrl() { + return effectiveLocalStorageUrl; + } + + /** + * Sets the value of the effectiveLocalStorageUrl property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setEffectiveLocalStorageUrl(String value) { + this.effectiveLocalStorageUrl = value; + } + + /** + * Gets the value of the proxyUrl property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getProxyUrl() { + return proxyUrl; + } + + /** + * Sets the value of the proxyUrl property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setProxyUrl(String value) { + this.proxyUrl = value; + } + + /** + * Gets the value of the sizeOnDisk property. + * + * @return + * possible object is + * {@link BigInteger } + * + */ + public BigInteger getSizeOnDisk() { + return sizeOnDisk; + } + + /** + * Sets the value of the sizeOnDisk property. + * + * @param value + * allowed object is + * {@link BigInteger } + * + */ + public void setSizeOnDisk(BigInteger value) { + this.sizeOnDisk = value; + } + + /** + * Gets the value of the numArtifacts property. + * + * @return + * possible object is + * {@link BigInteger } + * + */ + public BigInteger getNumArtifacts() { + return numArtifacts; + } + + /** + * Sets the value of the numArtifacts property. + * + * @param value + * allowed object is + * {@link BigInteger } + * + */ + public void setNumArtifacts(BigInteger value) { + this.numArtifacts = value; + } + +} diff --git a/plugins/maven/facade/org/jetbrains/idea/maven/facade/nexus/RepositoryType.java b/plugins/maven/facade/org/jetbrains/idea/maven/facade/nexus/RepositoryType.java new file mode 100644 index 000000000000..bd744208670f --- /dev/null +++ b/plugins/maven/facade/org/jetbrains/idea/maven/facade/nexus/RepositoryType.java @@ -0,0 +1,385 @@ + +/* + * Copyright 2000-2010 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jetbrains.idea.maven.facade.nexus; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java class for repositoryType complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="repositoryType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="resourceURI" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         <element name="contentResourceURI" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         <element name="id" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         <element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         <element name="repoType" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         <element name="repoPolicy" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         <element name="provider" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         <element name="providerRole" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         <element name="format" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         <element name="userManaged" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         <element name="exposed" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         <element name="effectiveLocalStorageUrl" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "repositoryType", propOrder = { + "resourceURI", + "contentResourceURI", + "id", + "name", + "repoType", + "repoPolicy", + "provider", + "providerRole", + "format", + "userManaged", + "exposed", + "effectiveLocalStorageUrl" +}) +public class RepositoryType { + + @XmlElement(required = true) + protected String resourceURI; + @XmlElement(required = true) + protected String contentResourceURI; + @XmlElement(required = true) + protected String id; + @XmlElement(required = true) + protected String name; + @XmlElement(required = true) + protected String repoType; + @XmlElement(required = true) + protected String repoPolicy; + @XmlElement(required = true) + protected String provider; + @XmlElement(required = true) + protected String providerRole; + @XmlElement(required = true) + protected String format; + @XmlElement(required = true) + protected String userManaged; + @XmlElement(required = true) + protected String exposed; + @XmlElement(required = true) + protected String effectiveLocalStorageUrl; + + /** + * Gets the value of the resourceURI property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getResourceURI() { + return resourceURI; + } + + /** + * Sets the value of the resourceURI property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setResourceURI(String value) { + this.resourceURI = value; + } + + /** + * Gets the value of the contentResourceURI property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getContentResourceURI() { + return contentResourceURI; + } + + /** + * Sets the value of the contentResourceURI property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setContentResourceURI(String value) { + this.contentResourceURI = value; + } + + /** + * Gets the value of the id property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getId() { + return id; + } + + /** + * Sets the value of the id property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setId(String value) { + this.id = value; + } + + /** + * Gets the value of the name property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getName() { + return name; + } + + /** + * Sets the value of the name property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setName(String value) { + this.name = value; + } + + /** + * Gets the value of the repoType property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getRepoType() { + return repoType; + } + + /** + * Sets the value of the repoType property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setRepoType(String value) { + this.repoType = value; + } + + /** + * Gets the value of the repoPolicy property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getRepoPolicy() { + return repoPolicy; + } + + /** + * Sets the value of the repoPolicy property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setRepoPolicy(String value) { + this.repoPolicy = value; + } + + /** + * Gets the value of the provider property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getProvider() { + return provider; + } + + /** + * Sets the value of the provider property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setProvider(String value) { + this.provider = value; + } + + /** + * Gets the value of the providerRole property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getProviderRole() { + return providerRole; + } + + /** + * Sets the value of the providerRole property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setProviderRole(String value) { + this.providerRole = value; + } + + /** + * Gets the value of the format property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getFormat() { + return format; + } + + /** + * Sets the value of the format property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setFormat(String value) { + this.format = value; + } + + /** + * Gets the value of the userManaged property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getUserManaged() { + return userManaged; + } + + /** + * Sets the value of the userManaged property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setUserManaged(String value) { + this.userManaged = value; + } + + /** + * Gets the value of the exposed property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getExposed() { + return exposed; + } + + /** + * Sets the value of the exposed property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setExposed(String value) { + this.exposed = value; + } + + /** + * Gets the value of the effectiveLocalStorageUrl property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getEffectiveLocalStorageUrl() { + return effectiveLocalStorageUrl; + } + + /** + * Sets the value of the effectiveLocalStorageUrl property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setEffectiveLocalStorageUrl(String value) { + this.effectiveLocalStorageUrl = value; + } + +} diff --git a/plugins/maven/facade/org/jetbrains/idea/maven/facade/nexus/SearchResult.java b/plugins/maven/facade/org/jetbrains/idea/maven/facade/nexus/SearchResult.java new file mode 100644 index 000000000000..7e1c447f5f3c --- /dev/null +++ b/plugins/maven/facade/org/jetbrains/idea/maven/facade/nexus/SearchResult.java @@ -0,0 +1,254 @@ + +/* + * Copyright 2000-2010 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jetbrains.idea.maven.facade.nexus; + +import java.math.BigInteger; +import java.util.ArrayList; +import java.util.List; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java class for anonymous complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType>
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="totalCount" type="{http://www.w3.org/2001/XMLSchema}integer"/>
+ *         <element name="from" type="{http://www.w3.org/2001/XMLSchema}integer"/>
+ *         <element name="count" type="{http://www.w3.org/2001/XMLSchema}integer"/>
+ *         <element name="tooManyResults" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
+ *         <element name="data">
+ *           <complexType>
+ *             <complexContent>
+ *               <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *                 <sequence>
+ *                   <element name="artifact" type="{}artifactType" maxOccurs="unbounded" minOccurs="0"/>
+ *                 </sequence>
+ *               </restriction>
+ *             </complexContent>
+ *           </complexType>
+ *         </element>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "", propOrder = { + "totalCount", + "from", + "count", + "tooManyResults", + "data" +}) +@XmlRootElement(name = "search-result") +public class SearchResult { + + @XmlElement(required = true) + protected BigInteger totalCount; + @XmlElement(required = true) + protected BigInteger from; + @XmlElement(required = true) + protected BigInteger count; + protected boolean tooManyResults; + @XmlElement(required = true) + protected SearchResult.Data data; + + /** + * Gets the value of the totalCount property. + * + * @return + * possible object is + * {@link BigInteger } + * + */ + public BigInteger getTotalCount() { + return totalCount; + } + + /** + * Sets the value of the totalCount property. + * + * @param value + * allowed object is + * {@link BigInteger } + * + */ + public void setTotalCount(BigInteger value) { + this.totalCount = value; + } + + /** + * Gets the value of the from property. + * + * @return + * possible object is + * {@link BigInteger } + * + */ + public BigInteger getFrom() { + return from; + } + + /** + * Sets the value of the from property. + * + * @param value + * allowed object is + * {@link BigInteger } + * + */ + public void setFrom(BigInteger value) { + this.from = value; + } + + /** + * Gets the value of the count property. + * + * @return + * possible object is + * {@link BigInteger } + * + */ + public BigInteger getCount() { + return count; + } + + /** + * Sets the value of the count property. + * + * @param value + * allowed object is + * {@link BigInteger } + * + */ + public void setCount(BigInteger value) { + this.count = value; + } + + /** + * Gets the value of the tooManyResults property. + * + */ + public boolean isTooManyResults() { + return tooManyResults; + } + + /** + * Sets the value of the tooManyResults property. + * + */ + public void setTooManyResults(boolean value) { + this.tooManyResults = value; + } + + /** + * Gets the value of the data property. + * + * @return + * possible object is + * {@link SearchResult.Data } + * + */ + public SearchResult.Data getData() { + return data; + } + + /** + * Sets the value of the data property. + * + * @param value + * allowed object is + * {@link SearchResult.Data } + * + */ + public void setData(SearchResult.Data value) { + this.data = value; + } + + + /** + *

Java class for anonymous complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+     * <complexType>
+     *   <complexContent>
+     *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *       <sequence>
+     *         <element name="artifact" type="{}artifactType" maxOccurs="unbounded" minOccurs="0"/>
+     *       </sequence>
+     *     </restriction>
+     *   </complexContent>
+     * </complexType>
+     * 
+ * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "artifact" + }) + public static class Data { + + protected List artifact; + + /** + * Gets the value of the artifact property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the artifact property. + * + *

+ * For example, to add a new item, do as follows: + *

+         *    getArtifact().add(newItem);
+         * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link ArtifactType } + * + * + */ + public List getArtifact() { + if (artifact == null) { + artifact = new ArrayList(); + } + return this.artifact; + } + + } + +} diff --git a/plugins/maven/facade/org/jetbrains/idea/maven/facade/nexus/SearchResults.java b/plugins/maven/facade/org/jetbrains/idea/maven/facade/nexus/SearchResults.java new file mode 100644 index 000000000000..6cfe85d0c162 --- /dev/null +++ b/plugins/maven/facade/org/jetbrains/idea/maven/facade/nexus/SearchResults.java @@ -0,0 +1,253 @@ + +/* + * Copyright 2000-2010 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jetbrains.idea.maven.facade.nexus; + +import java.math.BigInteger; +import java.util.ArrayList; +import java.util.List; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java class for anonymous complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType>
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="totalCount" type="{http://www.w3.org/2001/XMLSchema}integer"/>
+ *         <element name="from" type="{http://www.w3.org/2001/XMLSchema}integer"/>
+ *         <element name="count" type="{http://www.w3.org/2001/XMLSchema}integer"/>
+ *         <element name="tooManyResults" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
+ *         <element name="data" minOccurs="0">
+ *           <complexType>
+ *             <complexContent>
+ *               <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *                 <sequence>
+ *                   <element name="artifact" type="{}artifactType" maxOccurs="unbounded" minOccurs="0"/>
+ *                 </sequence>
+ *               </restriction>
+ *             </complexContent>
+ *           </complexType>
+ *         </element>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "", propOrder = { + "totalCount", + "from", + "count", + "tooManyResults", + "data" +}) +@XmlRootElement(name = "search-results") +public class SearchResults { + + @XmlElement(required = true) + protected BigInteger totalCount; + @XmlElement(required = true) + protected BigInteger from; + @XmlElement(required = true) + protected BigInteger count; + protected boolean tooManyResults; + protected SearchResults.Data data; + + /** + * Gets the value of the totalCount property. + * + * @return + * possible object is + * {@link BigInteger } + * + */ + public BigInteger getTotalCount() { + return totalCount; + } + + /** + * Sets the value of the totalCount property. + * + * @param value + * allowed object is + * {@link BigInteger } + * + */ + public void setTotalCount(BigInteger value) { + this.totalCount = value; + } + + /** + * Gets the value of the from property. + * + * @return + * possible object is + * {@link BigInteger } + * + */ + public BigInteger getFrom() { + return from; + } + + /** + * Sets the value of the from property. + * + * @param value + * allowed object is + * {@link BigInteger } + * + */ + public void setFrom(BigInteger value) { + this.from = value; + } + + /** + * Gets the value of the count property. + * + * @return + * possible object is + * {@link BigInteger } + * + */ + public BigInteger getCount() { + return count; + } + + /** + * Sets the value of the count property. + * + * @param value + * allowed object is + * {@link BigInteger } + * + */ + public void setCount(BigInteger value) { + this.count = value; + } + + /** + * Gets the value of the tooManyResults property. + * + */ + public boolean isTooManyResults() { + return tooManyResults; + } + + /** + * Sets the value of the tooManyResults property. + * + */ + public void setTooManyResults(boolean value) { + this.tooManyResults = value; + } + + /** + * Gets the value of the data property. + * + * @return + * possible object is + * {@link SearchResults.Data } + * + */ + public SearchResults.Data getData() { + return data; + } + + /** + * Sets the value of the data property. + * + * @param value + * allowed object is + * {@link SearchResults.Data } + * + */ + public void setData(SearchResults.Data value) { + this.data = value; + } + + + /** + *

Java class for anonymous complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+     * <complexType>
+     *   <complexContent>
+     *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *       <sequence>
+     *         <element name="artifact" type="{}artifactType" maxOccurs="unbounded" minOccurs="0"/>
+     *       </sequence>
+     *     </restriction>
+     *   </complexContent>
+     * </complexType>
+     * 
+ * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "artifact" + }) + public static class Data { + + protected List artifact; + + /** + * Gets the value of the artifact property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the artifact property. + * + *

+ * For example, to add a new item, do as follows: + *

+         *    getArtifact().add(newItem);
+         * 
+ * + * + *

>qGxEk`S-B~ln)MANIAwDwOP1taQ<~R z`Um;?ApbkRYJKNd*8kG({DVei|Gzv|42?`(Bz0|U{%0nb7&j_~#rsXBY8r+z!q<6} zBxFqoCfW(`Yxyk|V8B7nBGU7-aX8X+0ifSF9E%rz=z~1!>cjaX8mVvyz^EgH(5j%k ze7BhQ`f+?r_k&|)gdp$`0$pWPhuOaodI@8~?r)2&ld84HpE6Iwl=hO18@vs<4NG-L zZSm%hPy$bU%~L!^VyHoR(ENkOU;V*h4uX}(Oo3K6MTFvAd#f6mb~OIp22AhftA;D( zD_Q!E?p2G<35y9<<901qTK0tjO=cSio3PD;wW!K<+J~7@GYV|ms9rjVYT-&J`YUuD zmUoqh9q6oMYT)nG7K0FMW$tIS0%IQJK&Nrc;F! zgD5Z5&WNprC88A^3J8gBv0?~PQ2=xga?wwJDIfs<4)q;^0f!&@lgLIC11KH3&h*y;+Y3pwT+7FO_J@>aCF((?|XFm7c z<}&`bb2qjAPpMOW`+E$G{ArbD&`iKoNV1|wHD@NGeli9Zo+ejHK;s*eq)mei+PX@6 zYRJ-VSdXBUc{_@+?XfGFYRev>Z=5kZ_Pm3)gIDO~jCP_@0S$M&alLV`KmBsG`seHQ z1MbJLEt@}flp#HYcsX3#tp7f#lz|Omv4n?--q?VtrDsC#@biEGg}-SA1HJx^Jg_kc z^l<%$A{qQ|jdr^3n51HlajkgXb%;tk52d}BI371OSIP{85wv|1WjD!lGj#H5RZMk6 zkt7U?m~x8gQfD<7vKCS-TI*M{E}Bge406jq-4a3OWi<4v^&d%#S1wEWN#@K6&1Q|y zyUeF;QaX!?+NSGvn{0HQimYb()Ayj~bts8mg(yyE0&GCQgX)K7jwDgL7URB_P5_S|i@3C2`OxW7$EkIz^lQ zIPSDp5j0$f_nHDvG-!>9ydd$6JbJU7tU(}Dkf<(*N^JA=p}--};iKPVpVfX_u%`B( zIF7H{HS(G+qoAc!W@BJZ>kL+VTz^9F9PYZ4%$F~T(J-c6Ra|R_^9MKen^{|rx1~jz z@XUDJ!WB19a+ed}PnrtRu-HpEhyJcKZ#pePWfs8#`2XPYelac9DwFl=em1hjc#CCw zxqYrf?0H=jPtBLjO5I%Ge8K2>>|r3PpS+@sX6KIpFL0gYaR(DWkp;VU2%hs~`2U0k zLSPSRR+ZHO?|-PR15YuYYi48eaHiy9GCYX%c!lW79>FU1I{45Oi(}+VEk-8SPcR)5 z9fLlc&?%#94154p3XK4-gil3Kn;^r}r<=SQ$-t5L8)ZRI?>oQWjbGYbAIKFQizP9b zlBFwTjDe%g)xQP)lyvew29M>vy_)4tGKUt^Cpe|4ukD!7`eEM^A>QIAsL{_@1+c=% z-Uq$fB}J}u+z`TYz9F&hK1$f;*;8k_!LhKYS&}vp!qy_-Aoc3u`2CCj{vmEsvSU0M z2>~;g6(LtPuL`^~_=)Ig zt>*sAzbenG!YCju`9Ee~naZvn$cs2%Qcm^tt2jWvfGS2jTiA3EkS%i>;Q1n9cENxB z6wkbX9qlu6O3ftUHE&GRGAnOvQgU0-qsd$G>*EtZFb8Q+JC|L^dhEJh%F155b_b*q zr-R6St*~}KZC!tOZEwG9aer(FNB?Yr|AN?+yP)nTdG-l|3)-L+~d6@(B$#sU^gi z(%xuDY&g`T`pY=Lf~6 z1=$ZO(Rg-VOyEHMnF3d36z`{XK>tr^LW zt`eC%tEGLXwYA(FwX`{!>F*AsrVe+5q}6~@S7jVq3m2BzVK_1(QzBgzWf-HxslRGk z71b3>?i-1@VzT(7e*;FBy%mDL_XG%)6(neOF{yLmUU!8a$rB)Xkx4QNUCL9m4rL0C;$?C$AlQakfd(aXw#HFgpQr+ z950Y3w3(E1IAwV%muCiMy^?SV;M*8qv=hzvwhLOC|A7G;>m$^xsWNZgBBYY9QfDeoeAX6Kuz4OO)=XMj zHaoGVL`#bp#>Pq90wm~DmMX50HDjqcxWACi+%bXR*cVV}pAXz|UL}rTR+d~^M;<*g zR5>a!B*K*9G`B@?-bjw#oer48qcV)5UIt)TQK9$RAX5jb&9PBgQHzJ2(L7PwH^o%u z{*=T#|GRLPg0pfL zOV0&#y6m|q==i1}$a>dRs79n~wxVxu@dik%p!*HGA%$xh(blqtdiPM(Gl^ExnZ?OS zPJCWysX^T?Rbs8~oQA&{Mw!=MsbBoLDQq57Ylwv;TjtbWeJIt9r6G+tY)4G5C~cEx60O{54hs%>v~Wj9$H}WS zR&{g^=cx=fhEa_98>)A;e(RX|8+H2c2P!^n+x*%8$Aj>@Xn*$L4I0Bciue2tdlp&> z2lG45*UXLdyLf*$NE-&f*%~mk#%$AI2;kT8U+J~i2Ge=#bd2P8JYb#DdI% z>~w-XBU{h|+i*5RMCDYX%0PPmJ}_jyV6R`U<0wD_nb%gg_<>qnZ{bIz-K;r>r}#y} zWz;z&gB#lZGp{OjJF0qD3$<8##&yIAzNKKHf^@T=5R6%9s9Mjh12fw=_|P9 zcw=cTX;;HqYBVnH^p3R{YqG6pZr8sGLRjHK)H)X9r==Gd2A251)<9ZN7NLW*3B2N- zttbuiotKpz{L^mMAh9U?9UP@z1%?hq%~-%v$@RZLsS}3egQgU4a8x%hInajJ1FC-7F|&x>=NT8b%){p;xtGO~7^lV%d=71IuI2cJ z#j=jN93PDBS;q{q%4!MWdJn5)7O2RRLWMIco((S8E{;}x6?6cs(NQ^3)6IBU6H5tU# z-~}uptqC#hiZR96M*xE+?`QfH1lWcJYz%PybiIZr!0W9k!t};HWbWb&QeHk_AdHR; zP?p5%^E?U&Wb=$MCYq3?^Vt~kuC^73?V+|Px?Vrsgyj=M_2r5*q7w%2R_{zqUyDTy zP*ym3det(4|Kj`Ms(?LQ@{#rGvmqv0o7R66rZ~eV%}%IS1&$Hb*PrSYEZ*5~9=gP) zL3I3%L;l<3iKD~?Onut3ru?MW5xRy`WsVOUGr5d2TzFY@d3oZDw-C|nf>1Ka-JJmK=LmtHZ-tw?dg&oLc1qk7VDY(^o*gBW{}AR=E8RbpxZ zC{td;X{=(x!dMZFf=4=+GA5K~JLjb5e`GNqSqTs=>;Y z(DfQ9=N+w$z+fBJsQBYw<8P`}8Ag*GL2u7(9of@Eo?(7q33eBXLi*i|2ym3LS@1tM zhM7F^%FVf0YOGipPFdq1<%Z3cjzN?9X(t?`z~(QR%JC`wQm*(_ zS{YRxE>Byh#_QO>vC$Ko1EhZh7sf8a<}d4wx#h;#eMb&C^?;P};H3iYPIHqs?3-W^ z?qI=R=40vK5w2V@g}Hjj9g5O4o+%$rG_}x zaVBPkz1&%u)SJ7-0rXA1dHTo(Tmg}F>&O(-WUm-iE@jBliF>7T8j6tayi=FW%l2Ah z*9+YJ>4uj}k2`uxRo+SD0eVMS_!IFHq4K}p69#NziAMYBQPwq&r45k~rr`7|nC6D< z306Now6HFZtijB4n0@*Wmqjx~}XM$}(Fv2{APe1cg`)4KpBO;@^Ftt6LgIJU;wBl_)?hnE%?Qk%9i)L{m^^DJXE2mwDK3t36`!l|SeAYpG2X-eN1$(_qVl3?m zd%agac%${PzkB}pg75hQdZVBEA@J)xzT<70@V)rwyZDbU%KmK8dwbJQ8Xs@Coj(T8 z*>xYqbMF#q+9LPjre3sBU&%~#3A@VA)~27rY1+xViW+xR&xvv+QDpf}oZPLep+lDm zfI6zf4Rnq&8D@ug&w;Cqk%7I;^^1oSCwC8jJ{#u?o4zTD0_?!@qpOoC+QG|#-Kot~ z1!`ND{*6SfF$fro?MCCTUP<@I3ni7`2@*J0ob0IA66?YotcER?E`<99tR}u_ zw)s(9dj-g2nGOrM&P}VKu`LtJFoN;=nWv!vO%}hC&`+`J30Y@8$_ zU^q&-9&I)d@QHieFBK$?uJY&rnBr6w9+H;JmUwqDG>an$Nn!pVziGU2q)dT9eg(!Q z#5=8|SJtW6>3a}zQF{EwbQ}WI8u%%JwCWaP9qjb3#ssxo4Nfh)@%&1_n}93rXrGKU zaWuCTe+M(x!(HkflgoO*SvFHbb**g4nX`SWNkJ+_x1610A&MWE>WiP}+Z&BuAIcv(ng}hKD9*EET21lOWDe z@ZOLr&TKGl;ob}|O5GCdk6d941Yv^%!?5FsM~?gDNV}>VJ$oCMUf(%AWk6m}O<3u)PACwM zUYB)~88Z$B1k}56CPuKIG8w{>&ZRC0DELjnB-pC_zQ(Eru=vwv8aqCGv5h6~dN8Gq zn0(8@_Kf^ITMh`h6UHQe)hxxE9FtR7cug}PJOzHmIU<5(ws=(m)ib@?G>_lQ-5d>7 zSXf1jH&J$BGi*#T?d_d}ygx=pglex9&LvTPDM7+BcCm{<$Ht0QUkN^^z8L-q1!gGBs=Sr9~eQc9gX!qW=ufxdTu;r!g3DJGK@Q(cB)L0M5*Z2 zRStx@C9z9c!iPF^C`i75+PBGy5Pp6jx5O0R=B7riSVV0)Mx&TZDOz|H`A~iejzcKy zrnXekl^0kpd7!R05JiS0B|TmcZ?(EYWrb6JBWt=vD^?z6fQ&k;QQ~CXHswy7G+l2~ z+)?HxI5SM`ff%i3)&;3vCPs5pZYI81qSmcuQp&Dcp&b5hb{kRlUT<0o+8E+kHDfJK zBO6Y=Sduovf*B|BG?OpKb*8rk51*zO9yokMAx<+miMr+Me8=ldmM*2{1Sh4^g7&29 z^5bdLKholtPq2*!F1%0hEjX9V_`6wap;Ad=Uc;hXxk9ah*8N1UBpX{WD#Hr9Uv|@wqcRFB1o+X%GkX) ziMp&|bvAE&2J{lN@lb33OiGrvO7CpAxbaQ$Ly3Ng*FvRAuusy^yB{2sz^T6d9V2R# ztU|7KY;_P7*a~Spo+qVH`_QxEVkEZ>4|_s|BigJ!cl?f_n--&yS8&$>BFbsSrZ+me zo+V$@XRlo9ydZUL6D5`;bwa!C0M~HWLBtE6x>{{(V&wz;OZ#yhCs*s$OwilYLm=qSY5yu|^DmbYln=)8nUT^4f`Sqbj z;dRnFAa4BF7rs^2X>yc2g!OWWDxf0Ag0z?Z8&H#MPin+vWVOU)Uv-r#;5hA2>8?KA zA6NF*L!g>f2KAnKy+6Yfh}7evop4?z_MZMxx}OsYFPH>7DJ$?#pDX?zN4Snarl5$B zVQkZ*sY+~AJ-IjEIIbZUZ%Ar82Dc+(;!(1!wHHq05o_(lJBv~(oqnTPFS}7m`2yp> zgI6U6>u#kF?%-+Y9MSFIOg@8}wOKk+)g-^iv;kfoigcbHW@0_d$P>(RBOZL_Ps;}`72b}bGCS6-w}+7Y`&J6f#$n&Ko$|v&X~yk@&1_I zCu3GO1=?s)({Zg2LG{`fF{(uVEA>%!Q5ef(>|=dN>Y`k@TM)Fp3 z`Ba}|mO{rz+7g{YE7ol`1YO(5{TcHvkSG_fsF0t3`2W?38aK@9Vce(!89T9DJH)tA zzIk$@OZcjI2^0r=7d$)(QR>#k&Fs|vnl%Mg**&E{p zYj_4t=`vQnh`dxXt>4Z*{kDf@T*v%uv*I@S^1#*~0J6+2`O0=A~>d zf(&mBqOR4Vv2E`sNCZ{;0qOsD!_e=qyP7<0=Jf-7=d55ukXAF|qM{%t96jau{m45a zmp8`Gzn*Sinkr}R51(LJPE^CiX>8mSt>%V}<;t>z5b)LTuXS&!H2nw=J)Z#ZXV}r! z>}9UNCXrz3rI(^v+JiK{;g1$F4mD5MjylK0g~W`06i6~#0U>kbtf954xwbj`XBv#^ z^Sklq=K6ge%^lb0en-s&Y4(P|^Rst(74NuJHV+cTOd&_&chJgtI?HFuCP!Zi2S*Sh zN8Wl`7vCm}5b)MDDQ!37r35R|9$1DtVL7E$Qw66)@EAvudXX+4w9tamSk534fgLmn z?rwqBR}{0w>RBEEwFQy}Owc7v(nm~gXe<&D^gulhNryEkgw+_gAQ17bv;hy48cU zdhzTG&St?%hJ)eSC|IbT_!H8{A+=gHrM$w;3BAi}_K3}hcC{e2EQ`G#9dTmb& zjCjO47ZKV4`sxYB|Beu_WAv98<#a74Ym4@<9qcPK+{SO-G-F7^IZ?N&8o>gEQK2h= zEB;gS&!SClr zB~NtEAtH2oZaycjh|D31>!{{I$y_@RC)cd&zF^Iu%Rb?wgi&Xg&nsf5J0mtr*yUN6 zqFNddl>Qd*aToSt%w%`7F)qU7c7Z8nfP8F|Or+0rzsj7{|L;Yq+MY>vR&k z&MrR9<3Fvkxq2c^MyKIK$NJ41*j?4FayZ=>(UnV!_h{Gw5i zB)))7cnh(j6Z;6qkNyg{B?#6;8pEKVmE%5!-!u!tpN<4XMSoL+`|GlftvZ#_JQq z9gwooN-*8gM%Dv(rk{~iM;-|v-kgOvon=Vbrcp+KCdjS8Sml2f1&dz zB^n@xkjufKh7#y8;X?w6X=)kaj`kQZPWknkRnjP#R4x@#7Al_0Rj5Hh_KIwlCAQHi znh&-)+BaKSHd1~}xm%M0;zQ-UCp?|m#+|3Q#xsMtyZ32-%qx2S5Z-Tt#11@Xekc6V z+_^&B55xE_*B|-Q%X-eH-oqOu0IzxEVwu-s2o=L>(MJ6Tzl|pRPm9EQ%eo5)Jr1kn zT;+b8x_bT+Z=zq$V;8g-S4oFlyc^-$V>OB=SMjSKyzj7ZBQ^5<*B>tQA)YrfKZtH? zCU9eSWplkGjH2Ie14_EJEnMVEvf_5(7&&QvO+VjOWPHe$WX0|xU}Pade?JlTycdX` z?KSfFo%mqhsQ7eY5y=KGb=2CitL2!VhyqBTl>OTV$Jdyj1Rm8O^l;VYF8uxJm|Jr< zO?>oml7$ljM!d=k3MCeoVvWn$UOENbYm2IM?)Au=LZtCZE5q#PR}ss_kyo#MrO6MsLi^<5zmN3DDjQ;r=t!7;2ay6 zxfG`seR12U;sWROp;APNSM+-WvVWdZUcw252z7ZO3nnGZVHZoz>S}(4rq7fTNDAdu zTWOkBu$=7+<#m3hG$k4l>m#@#MoGVA%E{V04@em4X@)igIV1Be3T9=mql`MusW#P> zkYmYa;llx(=dfAtGrA1MzQ;DSLp332NhW0Z z1VwC-`4bfu0#t+)Ad`vkD9?g%H4)LyI_|Tm1>-Q+OEx70LoK*7XZ7!B z!$=#FQZu{R)jkE~0f}M^7@ANA(!|K$tk;^B1N94KSZ53l8t{JMj^WCFS&8BH=i(@+8m)eJ_O0PjcJ3ZIr(~{C zX&k&gLY(4!^@_>|{Dii&df+$_p|CXa8GIbt2VPa3@6kCtB|oSnbUQOcegd{H%h zGshso-oH}IWu68p)e))MQr27>^CA6>W%uhm>>JPJX@B1f8XJguo|#+ZgGt%7qaGO? zhR^3X42c{zUsh^%=#tOdl#k)k+j2xayjLZh=18a~?g@xV)f^vM z-pNki4%hlzC~tN@Bvc9|qS|3$sVl~{L&}fYB*zXjvJFTGh^Lf~m6Dpq6nNrd%B^8q zkd0d0rWKf`Hix*6TC`QyhpS^jz3#8fp~`PK2*WrGaZ?{INHiF;uK@Hb2L0L#E&9tw zwsAhpvyzziPJd>(cff8^%u9to*|!c{<@@Iu5l_X8gs$=9$rq7&)eg9>Zo;_!R83Aw zQl9?tNt#Y~wW1t5)l^vNIXuFsOTRL!i=sy5=Rkxx`KGp8z~%S0=tRt3uuR9YX360= z-sPcy_onEGc4Vu)q4G+ckaoaD(wvb5=I}M{yrs}Teu>1e&jxoJQw=Vgb0W3D;fpxo z!0d=#I;1eB(!WztrMe|xh+u^g3k}5roag2$FCLyK4_kiO#Cxh(YcLnVQeS1Xv=ZCC zB4XR%Z&DSzOVmWETBWH&_=SZFgQmuShwJr1yz}Qq%=G!at>9Q)yUEk5e8vCSZl@)p zJpQ>m5eII+e?7O)3`=7d$0oZ5C(H6?Yz+<8+P`TK(FSOE_QsYoD=bO~L=mPq4jv^U ze+J1lZ+))@dwVB&HaH$fv7VxLu$oRootQ!AGV2!|g3YCUC+&fpvN96et8fJv`|1+=v)K}$k@<9VkCiNKv`af z`!h35BNcX|WRx1^=^@omK{E>uz4t0=c$|rF*gPDZ4}oEe*)y3dh>7vO#&rhrjzp_9 z$VxQ#R{U@+Xr&cjf{xVO`+i3S?a~^Y{xdgvkKP3>1qzEEVksf=4gXjeTwO@lGrla` zh%>>FNXd5RKy!Ecwh(=bKT%o{wy}?ioDo_PiYN7V;LwLFq7|AB263?Bx{PxvLDaB= zW)u7ORv2xje=!=aB#3QLmu@s0P>uIFJ;09l+n*Vf_i~9`N$$z5Nt9+^fn_6qleCNC zIXp^8*gc-4c97BKFVMP4KakpD#-hA34Qe(!YNFi;{5B3aCysfe&Z7(GqK?8C*%Q67 z?}$Ow9%%1G@3)~KoeA=^W$SD4YhhJclBjV!l%2AX8KdrprVvPNBuD;8?02j1XGT8) zxuo%dw{i(YGZJL7gY21xs+n>l;a8~)L_)ykQ7|_@va;hS{e6Hn%GUdn(_TU%c>g27DQ=lr! zBpU~|Yfv-P^iSG<41VvsB!7Z3uzSml90R^zrq{1Dek$4&o^9|KIe~Ds;Kj9?I0#DK zu2#M2~LxXcjb>0Ot7m#D_|QCnhgj2ynJdmR#H$@c&Y9Uu@NaRJNdQ(0zRK< zMCrI(zCSe*KOJ1=f8-rg{n}O9lqrT9r);&0ZSR@NZp3Bdm_O03%33JJyG(E_&Bl!?L(^IlV;@4)?4F@ zw7;RI?X|DqZnr_v>Va{IC3r!+8Y*|mV$>SKa)GhlBUcckZ*n|#NOj9%pP$dl?drX1>aDSz31v}kJiD^?nwD6Uz_X$F{fOE3bt=MqRW z8q1z6D?vD&&aC0i_X6MM0ZwQ>k#YvZa2Pf^U#yZ zCG%Pb?)k_r9k~$gOY#NNf^;hxMJsKxN(DcwooA6E4zGC+a?>*Nlyz>s714_Y2b^a` zYH%yt#dbIwE-0V>JtTT3#9uq9IU$J9eiE_ABh`7JRU^^#@}62%*k~Ixg%9A00Jxbd z-jv)Rog~b#m#}C`X6$hVl%(=ll~SQx`A8wL$lh<8SVwu?wfH@v^EYY%t1VF~@o~y? zk{ViVr={IsYL>DQGPD^o!!6OOxTnB05rKG67cxx~QN_FM?N~+Y%Acaj%SRpL*%oDK zeqiaWUpnn6yj@@u^5cx!V_hbIWwwbb8;auxASvandq$^u#>Y3Y%ReEH)7U*;rtW!v zA)O9BNuR}hvE`NmvUT)JA<7c$om7#$+Q2e`6A#}ps;CbgHZ}U#im8tk-FsG5lJ3n= z5z_68?(ulGeO<`{+-(k=8WQ%h)baVJ$6JQ-+8(|C74b>KN02J^jr3Lg2F?FR#OJ@X zM50zk*7k-D|I!wD#!gE0@gN6I>*V^C;OA60s3Z0ZpwTX*p!?4Toa7DF;Ebt=uVDZz zMYAXWA%cKG7YJWFWOcQXZ9SDaKVAI<_k-+Y?PO)exJFN!JSYl~5th1>E5q%LEnS$b z@sNdK=06c{Et;cfvG0?62HJ%vYDUbz>53`1>z_5^(SR|2AXF|;b|6(EN)FQ>3s@LB zRz<#3G4SZ@%y}ntJbC!+Pm(c%Mghx>Ag6DDpyc$`9Y3vXDmaG!y^tlsG@601dm1ua zI#xL3n|8BG!CETjCvvAC*f&s3NG#h`0E)3W*R8STqNULBY95+aF26szj!(R<_H-r~ zuS|%r2*=PoV!AL+uBp9ve$gRjBSMl7~oN zD9sZRyo3JBX{8@biu$2BhGlYeENBQ<$=THXZxlI0*#5rZZ!9hY#Q#H#;a^VX-$-(b zmdcpI$X-J5F**w&Lj`oA^Q1qSD$=?JQq~BmV;w-+sj;~%qm5%AtfuN*l1PR>%OAzh zPT4NuPNL6FHw}9UACgot?g3o~FBhR^*}zgG=v$>l1|)%UTTGLT?Y% z23~jUzWuga(NQT&T>Ri-wk`?eZ?q_R%`Gc!H(=P9(YjsMsBPJlE3499tCS2n^%%Zt z+i*JHI15E@5+-3{R#pZ>WH`XE(iVvUKzBB10v6CA^FO)O@5-S8aoaLaq75T8F1`ud z6sCdbS%8fM54S?SjB6ufhw3_et{}vIi%Jcd@IpqmCkMtyeV1OFN{#sje$7b~1+E}G z^f(ep`Rrp*^I%1yV@oCd5Ke&Q{H7jw;hbZTP1iiK!>`E(!PaFf@ZlX8aTn!vwmqdx zj-p`y!5Vi9Ck(kY+2TqE_a?iwri36<*2JvMBdMnp^(31F&DqPlq!T#?LOKqq^mb@C zIW+S`T;;Bn(0Mk5s5h$qcm{0K!Z{a`sEu1n-K&NrAuM8WW0za4I%ScDshfK+GcAH~ z{h&w&Rj)R`UyD{=5*^Aawqk-|${bwBBFK`}EA#%0MqGSA*}Gam6f?TU+e$fiUE0C| zwdvm&8S+QOZ~hjLVnKdR@q3I`C6$G9@Vca4N%3kLjg+*A29x65?=q6LgKkbar1wU2 zp`z`=RQppWOfF>&-1Bm=T4&l&=J)W9FWScUT2p2WrSjH~GzVE;k5W%PQRvQj+u&fe zcFI7=q>9#}W6QAQhpBXT*vaB8XOX$lB=@93s4ZmJOq&7uyxKuvr;M;LG zmV9`k&-#7YBG2-D&cq&Q2z95Iv(IdmOb3-wA$$1`g3(BVFAJ9JBzZ zIY{)#H+CMl6>`)SC3Rc^)DCPn(Kb%nbF}?qC-*=D|5O!H6{+jl4F3}qd&ld#Gc8X@Dj`Pip_#^A&(JroXt&Isj#vj-fg#s-sU%{osr;O zPjJ3XO(o@(uYDntqq4-)RJB4-kNeNmG1Z( zfUw~x1oVA9g!4B*zIN-ae=zfJ(n?c7(Iy+#@5e2NH(s6pm7x|;C=FPBY&p7QLN*W? zKL4#E?D2)2Tc144Cx&MYa8ze$oI+kqbPNc-lTRKxDJoM&fIIB5Lur3Q{94KW&8NA> zSL|gSeC=5M~i=g~>094qau`Am-?n%okb14iYK6eX3b*-hb3GJ#NU`M@FTG*}QkRSZip1tP2npm@ zd*VSBxFO`*_(BR^^>(5c2?}L(3ZOOnQCym00huSu4)joK~T&GvO3iG$O=2#OZ`OETSFPIl7Ng69KqG8*KR5q{fVRn2Ia`wdir>y|tlk z_7HtG5pFeb!Q3IEN9HRTvC`v_&8Wy?&9P2~^O1GH!Zl(BY>WhWt-mt#84V$*F0Xj3 zvls>G8R@Z3CkpaHcT}pZ!b$Q{U4TTbwQ-j&B>;rLg&Q+MM&C3Rnm9HSs9}csd?pry zp|=SI#gNBrDtc%Uh(&8~+>IPZI#}d@VQ!BZ0oJHVUd?nAl>E12f>aeNQSoFBv5q8<7J65#fI4 zNr+(D?8xrW)v7OAFLMe6*{tw=evVXKFZqPU7Zsfle=YpdLsAWnWHWQlnOT>-L?MI| zD~j4NEau?6RC^M6e@evIyS9bg2dFgt%-|?D54G+#Q!6rtv``X6sIVs1RB32oj{I9X znk=97G-6I%f3-_NW?&wwK0+QRy+~N{0`FxS-T8cey&frEFEgQdSo{?(iu8tB^VkWW z^M{=ukFBvc_~DMg$c(O6<06JTV2UNFfdn@*Qgrc9gYi4Zr8hb3!m%BCOeo<{=`}eV zxtaky8AB;ngWk=4q#zcKNv;J7ht0G4zASZL^OHs_@G@%>Vzk)^YRt)+W@&A2pt7O> zx9d^JEjB3EeXGTYLQ^bhOHIp-nUmGX;uD(a7V;4oVo~(*SKzf)2r2az+G|KoYbdBwG^toh)~bectRgUsG)%-`{H%Ii(rY(Lr&Nf~9wFSX z1-~IWp6K|M2#5TMTGLNUE!8~~+;@d;?yla>6|mvR^uRTGEr8Pok**DrMqX@$SPKMW z?k549VCjbdy^TfoPeE|H}_-_hR=+21V)t{P$Yl?u-C=$E__*zQo^ zGdR8v3#8Ck2HtuQ-X=*uXW;V%72Mfh9YL)f9@Om0*;dnnjhY$tLnx^n`Q8L}&6Mb> zYQs`y13Qd`WyQn$ex25HC+SUZO4_cn6#Z`NW_wV`Ynq)+!g*|~9?-C94*~a7FibH) zoOqRV4N4Y+_|ah%E0d|5$cJ@QJnlc0EE`h}RIUIbZPS#%pR@*rMyN6SRR+1IO-x!r zoOt9MJX!5;Z(LyqqifN0xVVn*v{}8;WKY_{)mcU1D{DD=2jppasI@0SOx&gV?C0Tq82E9ggMDtE1%h@IrBwlvmFJ$n{5cNsVJ1{n^ z`(r#}3TtL1QCd@{TLUHy#Xo38xc zzMP{}r0W8eRl^JJqF4O*DP5J+h0dH)p(X4X4#M|$>gS;ikK4+2G3_!Voa0yYpX?BAa4N^8;qn2Q~@!{-vbM_d^ zk|GN}y)c+6^=Mmhv_HV{;XS}|x?AZpSSbxRZlg&`5k5>84}*VYuDg;JIi}89YpT&~4;bpVMJwGRZ+g@avTE{h+DYt) zT&=`8$Ps*4t=Hrpg;xM6oY z-6Cg#q+hxt(oNPl751K&-K%LLYLprk(oJf;A1DHY(4s&{ThDm>xhxr~9SV^Tp$x!{ zM*G8co)d{(UlZ^+B=nT=R~xq5hR6l6COs6J;Bi&GW{t^ZD&ucBj$cRSGIswa|9NKr zCO73HO=O3y%Z4E5K8(a3XA(wp9M;kw+gvB)fQ*kJvKS4?p%F#2-;POZ!iwGo)$Zu*{-HKsSznmU$G04Ud33<$zCD3I*^C?l1 zldXCG;XD5Lh=!xO$#RPt`{2U4M*8fjqO$e#eof9Ndp-?xv%8m&wZ?2_7xR6<^`|kb z+~(bHiYTVd{#o3W{tkq}XDo2ubW(?I0JK?b@^#s{G6C*>MLZ+&J8!}H{Rim3wtkRL zrGbvW+dfm@uOhVeJV@6ea}j>-GN`|(96Ac&aDuOi0*wK7%F6W;@>P^jHNBl)WRhtWO9j?rN)H+U ze75S-vW8(gl&>?7{QByI%5n36ei%X7#gdpdGya9dJZ)O?L&=r`cA$vbii_c*QG3Z{ z!;4Z-sJWn8`D7TY@6;bl1@Q&SIP221dO}MJ;YKAvU2Y|(aL>O`jt^wIwq{)1k}Q^C z54N|J=V(H$qYaQ)A*39MWNLsh#%D>F#GPI8O5-*SWvSUnE6hf96$c7g@B51V!4_C} z!r`#yz%eMn%uI(wWI(s(+B}L-1p(Xm?7iYm3dG2e^(64pxa| zKu%Et^#Arn+=Si^y`U#xLJL>Z73^XEu6|1gF^ABxmOpy!cv?c1BoIFgq@*=)RrTI4 z<6e|8xECY5c}HiFuN~o_JyZ`8Q*d$#lr7L-EPz!sE*0?JRbT**_fH=m$+a#FkzYO1 zpDvk2-MbU+g5td)Y!*0D7D&I2{dN59rO*?1LVN8^aNNhtF~zRR2&RVuKfc3}i&@1n zBj3Gavx~yMhXuP$m}OFOphGZv1w1l!?ft&Tb_~WCB{-vO#%|zE~$!AQTC>70e6rWA>( z>y*zCr)gK+%fs85>kmn`82Ewq2v9dNDTP5g1%z1!|K1KiVfwMaSmbF^z=Vb1V z5~g$JvRBa<-8w`qw5q#f34#iZ#~NtSwB#ew2n3iY6d{5NdzL}u9(tCe6al}vr{$`3 z3d%uZ%%0lN?;(=LlJN@FUqdX5MCW$r5CE=6qH{)~&p9}N8tFj!Y-z6I#!OZngV+#2 z^V$eQ5=O}(<%f1Fos@Qub|TfHBp>*x$i!@*1LBC6k6u`eN;$eqDn4V**$2FJAsOAd z%2yFOt{OsS*eI=!gI2!70JqSkjI3$()S5Z{mChc{2S7e#2$m#GibaMpNJPYt&Ku}4 zh=eC14%&T^YH;`#<;Px14!ywBjtQq*; zV-S^2{O3#HTqi0_#k80-upvUDv>08Q_dusmd}sX{aGl|IKDN33NXNwyXHbL{XoHPj zDD6)6R!8!4`~YvNy&zS=)A^tYWLS8qA=k+VbA9~;lacJ1wr)0bGrSd#VK@%i4tmb5{=Q}y?RtJPZD71 zVI@k4ARbhemX9A)MB2#T0qPEB5%tp4yJ`rvs}T7((TaV(_e`(}=6C7VSuIb(DMF7f z&gC-dmsSU6&Js=w4G)Wj&G1~(35TM)X##^X%0nSU4g0VnACaFbkaH*TOTj-VX`fli zt2##^%?rVe_bL^~=yoQC`$MHO3tnM9pyp_UjqFK#h=bt0IDch1S0Y_h;6;8>4~yT* z=FbBhbX(F?gUg#wz>ZrUrAqSEQYT}jTIJXJ96)eJp%|-g*JnTpF5|`_NaT&x+`nRV z&_u2#u zBsWRUybiX8y}Lv|kHkJl<&~;>ifgM{sdK;Ey?N1RCRW&@|DincnQHasuYKkL>Rqq}al>3@s~r-rpGs|GsScZA7q z$3xhV0U%i^n#F~4-#-($-s{62maDh@-k+u5dBUg2pWDMqmyZS~96tTAI>~}HmAt^4 zMj@L^6k3%6}r+@nXMJ(b6MyeYzFXjOxWcKjfk+II)_L7pV}VVmiX z2V>?BLzFH`ly>;V=_?!_kU?Nu?4^1_AhHuWkeBB8QZ`er_f7?Ll-FZm&UP$=zU=j(KpA2N&;O*ZW_UJ>zs%Z-Y``)X4TQ0++#G zN}k(*o!m6@oq$ZNJz#rCi$yyvsd-w0gi(h@X0Ao@3FwKih+D)n1?8H#Ho+sNq;p7< zjLSu?Gm0-*WyX%Cg2@k`Q~kc+rWb@|5&h{AawKeR;wmIdWC-ZC@hoel`t<3jrjgyM zh)kJLt{a&4)QqGdG!X(8(Z19VX+mRt$ta1f3D_WG+t4F8aa(0|Z+^5t#@H^sRRE3ffGPm{SrpYiORIJnx z6dLB!6kZhJ5%cvS3^M!?-sF;`IQMhGXnXy2XpG$;v=;XVrz`e2^fzn2fjoG94o-2j zXdR{AJ@L4iku^;=3t>z|YUsww(WT#fKQ45faXcRo@6$OvSxqPcd=l6JTX0*|j~(O` zUZ86PaGzQE7LEh=n1nh9{;dsGi1&&bjfI9L&CB-ZFKk9&NLd-?GVzZulF*g38yI4f zJ+pF2>9sSNv$RAdjr0}dwE;E>SgVz5D^STE)-(nFt{DY%u4oSPky^45Wmso2fJm_@ zDAR)I{;YE>ae%;)=!95r$N?M%33##*yopTuvnfJDOiQrqY^f?*BhrMD04HIJ8i43& zs12kj4gNQuVl!<5O|RvxB)^Y()n9S`WO0&=do?Tk;u!dyeL8j|=Ts3gGDl%O4_l&E z#<*Bhx!v*hkkW*n#slhsB_gMaa*3lqZ8UHa$!ZPMX%Qe1B8o+J;x67=6tBGIw10-M9`l~X%!&e`oC97T{w-@cmJ~MK2E~;XD`lB*^y9312eQNjd?jM~!7Xy5E zl%c-{eI4A6xPdS>V?=0{kzz~F#f7-_JCYrvV+|GR$NE@$@-+*4hzgOOiUvjb&D>Da zn0Mf0pf&A*^ixaD!7^qF88Q47w8}Kxon-r$Pw1&%{bJ)>Pu(Jj$XXn%C{<~KvEq<| z%bMgGn063A#$OOsHR6@Xtc*g_lavJ%5Dt&Xr;~D8)UTUD1%%1c?7|78OWa~RQ<~es zGhA+K2VD#m4y51*(x&^7q@|GOnCP_=_SN)>%Lycy=>^9NOc0s5Ad?~a_$F-$#dvtv7Wr6~h|%xGlYD?o-7d0NBNMEIr8|vlnitYp4~(=9W2NV&#TaQ2 zN1@<6Z50PpirTgRzNFrHG(`*uQ)4z&ZcR7aC_2710wSrcFDlb9R#_WuEG>4vlAtTs zFw&M98tA*M(%W%X5=P!`dPB->fKGOS{0>+ZO76^MV3qkGLByshMr z?rFWXKVC=8MZ+iE#b@G!k0mt6swI=JArw_E(q;`7B|#e^p)aHiO?DDNbBrB+N3N)j zJ8ULY9meyKI94ZsMU=Knv0b?VCecBYC-P^k=Q3stNy@!wA2`+qyGJZIf;bv6-pMh= zowXUQknmwl+Qn54X|#8{Lrg+sSohA3qioJbtRsZ`7zFRm;K-G^H&fzVgkw1eY(7gc!RGt9# zpkb~e@)o!ytE;eGPiRwjkHQiAk121_^KW|&RnWh)qW<51Q`Xcgt+7*z6gFp;Ky}1- zCeNYSS5#(?=!MyWOTr3T3Z?D@Qi95>&9N638$3-XUk(;9)lq6=yWjSeJqrB!o7Eaouf|F!gXQ(C4vQ7{sRm; zivfBIdrMc-Em+xWy5rB>S0Owl_&0s3i)}5&Kx0Bg`Kp)%%HY2i1*zf8K3jckj=bxg zdu)z@XLSl^bs_-!MknKokiwwwlIMyR0LNHMKw5FTT6ifIE#ZJD`f>7{r)tcp1XZ8% zcvZQ$JM@PKHT|aOdljh)>+~dM4I(JjRK@OufD+sr+l+=uC4!c9-^u+E%x=xX?YIo( zz+=(JOuBe$hk1XU{CeW3)(r%6qKkz?2qesikAIcAN(>j&4&}p{QgyA?F#=UZmx>T?;ZHb+UqJ3 zt23CtZcnN&-b1IEweu5gAa~xzRmcq>iM1Y?b+{JpKqnZlw2q+xwmhV-?)1o;#Wg-Z zqaD5c&$IivxP%L{MVOZ;ZwSXqJRs77Po(_tdT0U3qnV=LL8*_(R75ffaKn^y#Kz1( z@%U7#s_`;vJzU}UXejccR6&Xul{xS+4ezEi&do!cOcfJdb8gJR{5HR$~wwVAG?&Q3aZktSUUCXA`S5aqHJK zL{3(LFH|18wn#^6i8#S`p4MnbI-c5|)*UCgk9;S&RoyR>WqF|W!q<;_FbcR+1|tBZ zTx3J>G~*V}{-F9?2fcF`GVa@hj5J;|LA;JTQ{2x8o#%sfY!|({Zr90flaXD$-w*W$ zNZFa2W&ymQZ8)ax(w`JdnpR}JX2+Yr|X+H9io${f+J*<>B)z7RA zuhfMjO^MxCWFVd8Vmb;FPh2GfPYaE{s`=mUKtEwwC?{C=g3H|1nZF9tRF&=s7uw6x zaLW(7l88ND>p&+_3b-MY&O>G8mKs5po!}7RYR`!-onhaDp5>K>zd)i+V00S6jpm zP5o0E3eO17Ad*+KiwcW514IZfzm+-?Hs2$rU}x{j#xs+a5!Qf{8PXUfWRPDe+SsU| zGRl>9%FtWtwwn@%BabA-;n`1bV#fqXrV%!yFBawoGU)`xgb?c7-^su_yyQ|9*eOkuavKr z7am>-(DbbiN>9s(Aa(OUEu&NOCVrXdpCmGZN zHh98_A!`_oY^Z)*49q2o>Eu@?qBXNYjoYYPu_d(3fI=*I9XBf?Q=~j2Kd}l?u}DP# z=)_0~JPYZ#S{P_W=GCBKyt=9m{ntKc*iJm_9HYZ9RPm~d!lW_e)!38SX5i|<2zv-e z%NxNSJt1>q4#pumy?s(zCJ_7B(1g+=u?ihn>nUVLR|%eG1HfSB*Sh|lT6fCd-GJXH zT5`ZH2-&##EgKC%{hR{$Vh~@C~_xJach?Z9_3-4z*IUz{Who4uiNWpJ@S?`(TN!>wWOocX>4%{ zdS%0~Vr)Qa|5W7SzRuoph_1a{Q$(d|bu33o=b;R-T1&S*2m;-;lz~-R;9+IK3ytTGg_-y*6SGkS1r%gZ^ znfn`L`;yBe2Qw1qsx|vW=Wi`=M)YinKz6Mx>_*a&StgRhKNKwNiM7Qexl{;<6{FOb zSs04^oM~-4KW(+UW@WDL)zh4XmAK`&ySyyrF`cl4gyJ7stzshE7Y|c(EQw%eF^OWr zL6Q-GsD=0-zqy|AjX3H&v#5Qd^4J`9eW_WDAkb-h+)dedBziexRTTrDmclV&htix* zvw&KIvb&H}wm}SL79Q2;h2;k|8W6y)i+E#A$iSaG4C#33)_KVQlE_x35tE)zD|mTV zlr_Q;4w6m|AEBreYG>yUaSN5=oMv)$)SV!GWpfpS`2zK16!V3B>{ctFhfRAPbQL@C zSf4`3e&V~{aAbQR1*Vmzrq8!N5$uvvD4Xw}OA#6MqV>&G|$uH_OIW04N=G_2(_e=Tg}Bk>9Sox@24d48dc z_f^PvordUZizK2;p&Q=PLZxI_?DeJ_n2)um3nzy}m^+9i_aQ783jq7KGHN?=;0&6g ze-Ybo6v7bF(8RZ{mqDe+6wr{TDl{Ig!?#2>DWBo%7*Q{3myF5pe5h!01RKlp^4=LQ zVSVIQ9bQQ6UzD{7CUY7~CA*R{4vT1SQeVv+(BK0C{C!YwA0Rj^$#kdi14Re-hRbmr#F<5l-I1$t;&ip~q>2fr>Y z!X9*C9cD!_3x_?%|HK|Uk|4>Aj;1`T$RuSNRrk+b(6JudHTq0*?thoulWeK;9RZYhC2pt2!7}Ov!iGFmNl89=S@DOZlH`_ z&JaZr4U@Lh*WO%Ny%FBNi$Z1=zR}c}u#U`ZEq2WQ)zwCdGw*!0LP}!r@WwhpX z?jyDo^|#E!udAr7l-87W3aJ-HFW1Dm*Cj_&64O@du4k~f;d&lj!BGy9b|QY-U{Mh zZM?C7X^8WC6Q2d2g)?luNNS3hdmes3p;828-=Wqky_k(1{8_iP$9^cpDLNW$OtT87 ztZh4;x|(@sA!|$uLryMjnWJ>9Kl(~i?+eun&1S@2v?cRje05YPlP>HPM%2==P;;0T zy9_5CmpcSMQvn}*B^zgGIX__{A)P>bu%H1?2C*PNYszotPNe<;p{s;cofWYNWqHQ< zck1&{)h0qARrvwZ#Eul)%uZ(tGKgkQVc}A5$~p7TPE;0O$sJ!w6Sot!qCy;Ve&X{- zJD7rfdH;S}$-cCrK~y?|3s$+%){OjY*23QCN6^(0AV^mCzG!086a=!6TZdaTBk0}l zA%#U`!B@5pZ4k`fpdJ~mf-_v-Spy{N;pnGp^G zrYx_lzvZsCnGx+A9LDvj{^|y_3jOlf=IV^_v2Vt0w%;SL=JyZpVEL5up=V`)JsbOB zTj~Y=WPL5_W7MGea6ZbnvQx%#HkwRxgQWYH!TCm6qe#oDR^uOCoKdw6CyXrg1m|o& zp77hAB6B4tR%Q0Gos2(^P#JG&Wm?}@FYYDZoq6-9={7i%vhtycH}YoKH%I5LE3BBv z)3klfQ41MWR7UIwDN}vNq@o6yP(4{k3f?i{ z2NO${MMlqn&eGu_6U~i4r(Hp0f>Op z;t!3#xSIAqR1Lr~n}Iy-3CV2^v-MkVQ8=uAHO(Zt&Za)aj8(_3{k$L86N`JROyLLC z?Lo>Kf`7*vqMC}F;bcs(qg+}al`W74S~LrDqB6Vr-I8|i0qGNxzpg5CGPUOtMM3rk z*&IL!YK~K|Z`eQZ(~Wg=z!!r!dXIa5w^!RpT@r_7t8HXSr!Cm>$)U2>f5(&BsUwTJbaABJ}~1Pt>l9*@w6)-pi1r#epeQVHc_1N{|t z_SRUq_|=(`hQ}&fV$lv@|EE*k3MWIPZtB9BwP>bx>&!+XKXK!bX|pG4)K*_raM;SY zTFx=`l_ZKrwIgW|xy-e&Cej;2brQQF=o*Mepr`B4!LxKlzo`3s^bUd-*2MF#s%}zy zWFBGH&1mm_M-(_EO30s4JiQwRkqMMz6|ulVEzBGeoydz~E$jM`m-`uW7#owZCXtuh z!@|;!3c<2}vl%nvu17KgJta~u6_ZXbr&2CK9F&ecj8N9hTU~#f>|k0|SfmfaB;wCD zpZct8@-$1Y9V+Q^dRG;xpA#G`=wOs~Sg@uuam+67IkHlQJ6~2WA94W&PwhD~Pi$jk z@BK=8;ewFYnPPe`ZjUmpDNs-Kp%rhyII`DL%EunEz;s$#xw&#ShIiea;7mJdx-6DU zAM7-RTjmPLisushIk6s2Gk6bY)7yZ~3Y`PEC^pXmMGuA5r^Xrl?Ughio%b_(#wglR zH;t2bC{xzqYHpo-ti(5r-ZzZ>2|e#B+-V@$tdn+5t{6RFO8v4uvxR;5Q>AsO4;v@S zC*1lc%H$8oQPD2KmbZ$zE8wNuS%i8F@3_2`f!(Q5GV8!zaWR8DV#-=?^$JuYwM^MBAG zs*N*Nn%j-tDI@c=JUT9By``bj^ho%}^K9)$)sm0-Q+#H5$wUI}rUrlj%vF+KJF7D`vq8LQ%JRVS+uje%z z=@r4b0AqTkb*$MLxx%VgsbICIwJJI6=II2>D(VvITogriYJGV1JJd~%D-Kc(J(#lw68 zv3Ch<@{&B^!s}JXjmb9O6|cWADs;(|v67uQPj>3}P>3~ghdQHFFgf@RJ9Gvx;Phw1 z5mCJA*8TWxY1C&7-T8;Np(^g-nF7czF6|9$R}|a({g(j#KVqXIl`sAg8^v7< z9fu8%mBELH)Z6q20TI~xXM#Zlo=xDn1Vf~RhAK<1{a})*RqDtV55H~>>`V%JoH=Rc z`?q>mw%8Sw9pseHdI~4A<0-4d^Q!9oXshc3Xd8c2KQJat4>K%;9i9_DLN6IwR;Yl` z=snGy%UIUpm*+IWFdn6T!h~0!RcjzU01#*oC<+7zu!F}#JrPUMzpL~z^_jw}Jx7^i zhq%$?kXDwB+9*s=rj=>}i_9BTrkOEq^p{%@%agSQhwc^jXU&-{6BpNz;1wNvh)k8I z?z?ELO%%@;=z|^0TE2-hcVteTrdH&ot7MtUz}s;aqqkVGUZW<4s@8Flw5(e?c`R+n(_U#hGbTB*1ZcIL(yjU4 zlbt=(YCf`*;9@69PF*V2KjlfaL0}%lS$a-zkb~@vGHwGMC2CP+A3_d;ccV8=OFdz(%sSSqt9Ul-GSLkaGLhUjn{iWCyMQ4E^2pe}8?lX$m?Tnyj ziKx@}hmN;OG3aBu47W4F(pMG%r~S3w-mD6wJs>gROtbVMn5i=P#GqV*8QCCXdXh&m zu<^01ob#BBRlRX>5=B}k$O!tJanydhy0CTw+rI~c@bwgOud|A&jUgekXPQyCBJZUDK&UGz8=q%`dJ3d7f{J>!*;l zWcOp>uRgF@RJfzV;H{ju2jm?Bo;}a!j5jZS$LN|<)7#-GA}&-f&>N)L11^;*@F4Hp z>}BO^5QTkgymRZ=L2`oPX8JFbTjNw{nmOOY)3LwBv?BsdxVks(Dcid9l#ee5u7MSu zS=*TFT>P}8GjOC$Y$s>CM1vz2HZqrXv$PHj-6Pte@%%D?JX4>iyj{-S9uyB~%K2XE zzEcZ)6SWQMb$Y6rAfUcD4K$_-GU*LQ89cdi8TxmW>1(btoVB>Ncqb}Io0&`i!)^D6Y z_Kp%w`{PVU`O0TgF;Gh16En)mf2cbh1pu!XL%Xs@>;|w_JIkWpIYMB`j3fkglExEa;!kF+! zzDw#<)=%V9bd>2U&gev2QAL=%%wz7_nVLlIoAVL14n%|;-dT%Y%yDcaM4d#v|2Fq4 zcUDJHrnd2jpWT{JmEUsBbZ)O9dsRcu7T%-^Z%5HRvqxT984Ic3pWx!Nl;+d1tMSfb zSvSP2;M8>kT_^S092^z%h{|g>yX^O_ojm1tRaQMSp2#g??`kRe6nAz20DkT-=)`G9 z#M19!xwD{;ZuTGX+X zpkH>E8XXxVbWs&)1m?{=@TJP&eEqkale;9BL7wj^VEZlL`Zl)xe`bGwt6-F5g=GKP zvki)omigZB#OB}Zc6t+z@39QeSK#DA^hN_D#iea?@# z5J>n1<(P6(fAuzApu2^e{iDiWjSuCG1;$DV`~?tEV1ZEEP>0jg8vW)k=U_~fRg_B_ zNAm>it!QtU4a%J*Hb+ZC&76SP8+tZ`pDsoCi12$nUOxMq&uZGRSOSmYMf!9!rScMJ zIE;FZsPhy3xhNkR@!OekVewN=Xf#3{-mIT3RJlTD$fPdxFz8)gh+v081}sR1OWNxO zZ$cz0)x#J~SZx?S>QggP?h|w2QKVOOk(}YxR%)Mru-Z|_RZ4Z1+4U2~V=fr#JP540 zKWTEH{X>3wNQ)xwWjCMh_+QAm}4LIkr^h@Eyy9mYFux-^rGApL0 zWkg_ylJd*HQLVQAhm_pkSN-{W@lpLRS6A0ibk|DmAchAf0` z7*>SG1&}bfL94B2YZvLSjg`05`z}t;`;Kr&H+6y&K z)W-gl<@tEIGBKsQ<@;l}Z#)my6?*+l6rv7&+?Z}EW`i>M@#4FovSNTnjvZ>)!<`G$ zjLlrg;WkMp2d0Duj(h=DeSpzCMdzVW-=$ttu2Lw+^tYQXNvyrLOyyzEW#&`WwcKT& z1O5cY(q@1H^}@PbZvE@pXRez-@M?3h@eeT|qQf#%2$yc3sij^0@)n1oU{k}B7MhB& zfVCiQ29iQsZ9P{AzoZQ+fVgyBVywF5o3wYYx+Jg*Y$8lk*t4NS#vYB)&)xsU1FIS4 z>J`0IPPKojfokxq)lfDT3NK$nWSOY)dn?(S~>XF zO<$0K$F-yPT%Bgd&Bxn2vV2bDa5B+rTy@cn)Xc6FtGaN?96%3qxI+ct=$ne!SmRx>f?n4D*2Cu!4oz6L)L#4L3wu*3gLbO zYL9ULixb%Q24LXsWNc__WK8=XdN?J0b1U2blXV}d3hsq;fc)jVV(3DODCUo;20^UW zFO63r7nznr4B8WfMh2b>uaRm6prhkNbT$21vYdA>r|G#Y_}2h4TKOCvhSiL$K0(3~ zR?~AO-U8N=_Ipf)(%aUA^=NeJ#O6+n^Cs&@!9@Ic#!TO#5$S~qsvG$ z_*K$14!X|zaQp^CjjhQk3cBaD4)|3({#{zc6XV-Ysf|(JCJ=j09<=T*pCfp259Ley@z7OFW*QeE5D+cP3&l2@&E;gJjQ@$Ic&@NjK)}eHkAJmx=cH zJcK)S3}tk9J3Q!+cD#(ZdZ+wF3{u?v^LNk{v*V^;jmrTG6UvpNX41#AL;3nQ6c2SEea5p5Yo)!N9%zb z$=g2zPg2z4A!VEL=<8^$;{%IGAOfEU15h+iLcyP3l?kP3xEfa_v2Ow3sZYkcNN-WF_vC+Z0M8pj;FzW^Pi+_5X2$njj(x zg2UL@KRw{w)xcH7L%%)&Z*YBYWnbi9VSCq}4tHX}z(HMfE9{SI?5t5C_riBL_K~$=wFeNV;|g+3Jo5 zo+CBMrLV-~#vu1X+)}u<_6ja7M)FE-=q%ngcanJK0h%M)0Y&f;Q>qKZotY-s8A8a4 zy+-_VCps|*C3vPB2{5uv3%B^i7xh&PvC3YMy>q0b9KPEw4BjPoEtw&I4P!M5%7#v% z@|DImTzxkdI&?Nhw%{;tyl>88?ydo2p$Yj8TnR=G{4-yWy_Uv^oa;i|`M$Yewy zs`w;3${=5TmI+4_2?mwLvyBuRBzQX&0>==4hB2+>!pM5b#ods0ka-x`(;^l&G#l6! zUgyEJg>%$oE5%R2Hx}QRi=!1Z6Ymp#lFN6bU7%dM$NEQBIuS%WIaCJvg)uQB&)=4N zd#8y@d#M!o@l_$MaJ1OgB6uf>Blla!LDVNYqQNYy@T}L$mx_!rFeSp2 zHRW4Q+X5~XHu<}O`J8@mxvsg;T`cF>D~d$3r6AFaVcw81cI zpttQk5NmI)$`68&X``vcCD^uZ>a}clsE(m4q=wxj4a6J}{PU#U;SR zP@g#>i{nol!lLuC?~{NpUTze5MY)=90V+my1DSngZmleMfVNySu%;BTi5U@ic(GC4 zMh?4T3Wu`}Yp;4_x4n#_7PsW=Vq_ODKb}$WP&h+xFkYTKkU!CW0V5(BuFf%!j zY?wa7L7DU1gYamg>6N;S;X8rqJP+9;#o6$NGs{;`5aG|S_5j<>$^W|wZ*XX=CioRb z>DOdP9m(J6=rC&UmeG(VNVXb$drHOSDbEFEy9DP&YIeF6&i5cM79a#Fftn~%2L=>UKeth}vEVMdVKLx(3y3~ll zX%6OC!$Pp!E8hEoaez=FBXeZwT?z!fa?iX|kqI5Li3N$Gt$_uKVqK~SqoU*QVEL5+ zPxRh(ME9f0s=N13GQU|51A8Pw%}QbL4_%PZIJ)HRXgT1d>7=At3rK4Z=v+_eoi)MZ zwE7L~`Uh^Opy=M%ksfM^sQ?=Sc6M0COsXq6 zE2G|wR$##QRIBH4d<1E1WICVP4f{(QP6>ME75w)c4r3J4eUs=nIeP6f2~<0E^5)M3 zIT{#rbETYYg{F9jOAn5-wh}noUgTxzjvW(;9cm>dPq5B4JJ!qYAKuiw0=lE1CzS4J zuDeX$#Js|~!?JVl=y4nY-fl2&CmokM?ICa12$w_UZa++K{(|lL$=gu#vFrHp|%ySPhDY-6zo91UCQSvU`EfK@z2drD#1#fs*sGr(h1+^~{0^ z1Q?vcSL-oWj+Ve>9uJ_*q$tm>0sno{2T3 zc*zheDHKQ&L#9vv5qxMHkU>iJjuo_D@f70>x^P140D}X(WVzQkGWns;O=k?;ddIY* zyKx80J0VdA*F>z9pgB%k$OAZbwXU$bF+cy!3xH~Zk>Kw)Vn+I{mXZEnDt_zlGRung z+iTU<=|502T7CmZCx>qWLEOg5+{T#yzXlYH^^J@j{+m5(P`y$_6h-r4Y1zla0^Sjo zE~M5d!^i*KkS7h7{yRnqPa+Sgeu0o(@cbZdQ@i3(k@rz|+PC{eiZ{o)uU_ViHT48{ z;c=tQ?pIvw_A%7?Wk=gv`_$X{Wm~%M=f|Dx4^zG8>Bxi-T5mi2g;0L2g8~1L0T`;6 zZQ)hXttB^m?S2PRhHrdpr%$@VZcmk`w&Ha?*uj|e;<*EF|;TykNyHP7@#@AsDgJ83zqamR4inMlt% z83t78(*MQTTZP5BE$!O4yL)hl;O_4365QS0p>cN!?ry;e?hxD^g1ZC@^7mY8?fuO; zzkM**-`CrH-tTpf8dXm{qeguqdyVb*h7((ZeMUzPt7?|aF>INMcH&)BF0HznF;DaI zbkTTRU25xrDQ$MFMe@zL9$zO;9%VW|!1%{yq6eubwO_j}|7;x-DY-D_<-&Xi7rC^4>RM=^C#IMP9!GJTFcyZBka7?SY|?7w&Zd;t-7kk`lT_omRB~mp!Qp>kP89aTp4u%1h-R1QmF2j~$Fg2;8t`D5e><6hU7WCyk|@aJZSda>Ra8 zP`8cDbQ-9mLc-!x%RGTe!#>_HcvMDFOV22!p@@dD!Z7Q3$v!59UJ1eF1QZ>Z;@Ez3 zIWhL0S^9N@#2785n-LvlGzuAZ8QhnNzl^0aCg%R2U~EP6Ro+zfqy%BJ=pu0)bPxOG zdmye@NBTLq0E(@bWp{I{Ortcfpl8(-LOq(V9jQITL=gB>QW)}$t>HEG!)#=$e=~tE z0(~CU`YI)#HqrrRQ8}I0(NA-jT5B!jQTAP~ZoN+7lf>KsM*p8dTSc!6^ETS#ye06o zg2i>E!JGIeIJ7-VWP4Lk=J@yLRt(Gt+&FwCqUUL>oG6 zb39h+sc9^e_?ljKv8KhCxAeATDivVFk@^F^#Eui#au>(5(jqwSClPIFjWc{9MtFA}(@=BAqGK z@9wMlxR)OZRq^avY}^snd!GV*mR<`13>EL%UPq3XW*$9*1rq@xswwDM#<1<@B!X+k z!W?(}QP3&8Pm%uFgt832v@S-_D4wb1Nu`L#ln`$(@v91j-r>p%U#RE~oNTa~ecQ~r zNi`xP7Dh0^|ihqf^Z9ncKsg>hyNaNRR=d`6SIFK&il(@SpW(ON)$@K9g4^u>Wc)__ririjFGOc z*QCLu$yYuJD0IZU>cK{_x17N)SHGj2!98OedGbWDHWj~6MjHvJA3KxxU4uz;g=!K| zlK7Hzbiv-|O!SSgPR%V%OAtvh2wk|5L!&>?`u3`+C7|HtM4MsP5tha=a}0D+a!%7S z!Cf1vMesAryWaDrRXpojDciW#^jxmem#|AuEhf(qEwB z2L&a2Zpk`*sh?9#Bxj~~WQ9mYu6v=cl_RuA5ao;1q(AZT^78r|K22V}KmR`C3`DFx z%HLJS!sSaljAT>1(*hI}6!$IE_d8PXT!scw=mCC7On7)v-9Aw*@5-<9{@j$md^xnRTtU1GrA0Qc)oc4JRJMUBc8&ZL`N$Ye+?}@^@ZDGQrV9x%DWZ zE~4uL<{;gugRY`#H?ayn&BVn@yHruCGfm-LjH%g8BiSJ2GGBa(eIFjwlZ8g8;9+2z zWV4-Ki`^*2JeSp~Ku&c;5;L6eLX!*obb&OmWJ-P(ckKGZx`!#|`S}T>)fu;!c8qGs zMzIFhE~i6UrP_BLZW|eCyVPm60mtQ)T#T;_63PTY48^P9Lg$q&nZv()iLR)-R(|oF zImg+@AEUXNP`Aa{Uh8M$;Ii^yWgNXT&+Uxcq@l(@RvZi0K$Gl!oY4cH6X4c$^28ah zk!}LLCCNJJ>BDP~upFldPGJR|FMnAYoL@>wnph=#tG*B;!dP=mQz@U@iao=iNUlRC zgDfDI)WA}1mdoKCgjLg9X>yTB&7~%MfitSAO~D=1s&SgeCAzYUcp*LXI%+R)bvquv z4R$d1XP>bmi?Xqzvr>c9J6i19tFE+v?zKV_d5^&SdZ-h$$Cym6gJnvF)g5n29k_8O zR~sSv>~C1u#G!%+`XNW;NA$K!7WUujkVWreyh@LGfH$c6uqgsIzERSU@HxJuLnoptCbkr|47?>AM)8qN zruz1g`c=#4+{M_?Ut=ycrDSUw4(qqCEf+d^FoHh|_Tj5`TRlg!Yr7{B-gj2)vkO+Z z_W14F^<1l4r^q@n=ZxLAPhf~7f~N9`7HA6LwoItMs)nOg^KZHE@ZE#2HL%;+FS1pH zY8UZmR+8n^4->~|e^|b9mLBTxm`Zh*LITMDv+%bD7&Yg{hL#ahpCgx~RrzT540nK17Ht+t*D z@Cd^Y5yWT(`>RXD$sFJ7mgx4oYo`|8VRM{+1A#s7Ak%GNqIK5ZJEJz%m&D>G^g8A_ zWU4a~mBhswNQMUj`%Vu8*7o1PR;m68*nK#KRrHObzXO~8A7FC~3V^_B5eFpx3)nVG zAh62{`59+aN>j1u#ov|nhSVEnrIP(*GI`Ywa0>*eLa{NRC*S?`2Hc1r$dR#pk|NQ3 zl0u@)ZZ$2>kG7?5??O38lU`rs9MFatHYn-5z85MRmrh+NeMgEk+uO016T6}!7fX{Q zZNwNL+>qbdQUYz)Aa29(J5?;k%o+0Yf@@_0=t?=JhF-&c6ODWP_){-#5;&AF3tl&^ z2uSQZuo3e4p9WcJdn?y}??>M>&J@svG2Q`R07&9+5fPeQt@+h@5X})9j8Pg&X=)tD z@pjrqPM=FRDV`VwLMbW9?e9T-srM&^S}ctlvzxPB4}F`CejmF3IC+10d!q_;>N0K% z>5c4AF~zzEtHiJeEu} zjxz#5ra8ogx{26h9zc=7P^89!nR6*M@xFtI^eqrc&~t1>49;yl!KwPL&wh&Uy|_o_ zXVzM(i`i`t=gXII?>+_9XW4$ZCNtoX0=}+NS=v-{u1L+H*@&^}q^I~Ox2&x3BqlDf zAGe!IA1yS7-BQSG@Z0*BQIXDn_zJ=+;W^_c{wF)N~k$LK{>$N$0KRnxvz} zsmd$dBn_CVs)QG}u>HR?! z7F9T?rc=$xs1Mg;({LS$k@Awwup}6zP4iYdG{+KF;#_sbBIi_5`|W77U#TrRJHrV%+L5AENIh5dJoV%&0>L}5~CzZm1zhGN$xs}Dxl@fyy^^u z#AJ4*)@(xQ%}td{xcRzkWoir~U%kmkoqD^yDUSC8JAcVKW`)QFg2MiA>;*%RaZC%T z1rbHdQSG_@m5A;$e*I9oaa8lS*%t@j-iT{}oMQlUF}8oo``?0dY8*ctaE5BwwwU}Y z=nYPT)6CMAOg##6{VKiDz`N8&ghkUe2$9SN^_n)Lu?zzkOOx8?`>nH?fjd#nNCYU-#rw6r;p9tm|S!})| zzh+O71#84-n?uE}Svm9syS;o!8wKlwUnIkgpQB&Bi_V%tREC)RnDPYO`xsmqTB=BN zl;_g`)n9Wej8S2zdSE_P2kdzY{MUc~e>AxNtbWbkni%Q?9~+xtL1qw;2E>PCO=enp zWOU$cQmoR%h;uVC;hUgP78XmZ+Jj#n7=3!Sua4^OMW$5UUkZMlAfHT^3wW4^L8ck< zmNi*iz5VFkesnpE@9}@d?R9(VfMe%UhK2OT1SF)$$^@Z`;{q^a#FWF7+cTVTRUK7= zFe$uw;PB&uV}e!THmEts=vFd{7Ex*>o=~`uIFOQY%7dPi4&&$ z%QN#}>pn>eJc(1Qk&(@*I4l=x#$D`*?kWIvsjYo-H^onl2rB7$Vwfkod=8`;lK<>-5-a#X4n@ z1m$OUSx}W$GhDKc#e=w?bASuXLUD_Q(m34B1HYbRm*ipL@P;T)3zifd867a2!>Egb zN`Ne7m4&WIQWyJf5aX9^ru6zEFXf)G(ar7I#ibT5^B55sq?|e}uW+mEE&HIL4-$4H z*{j$rS7Y7C=BBwa>%r^G+}h41E!C4$D($Cf{{$2GdPkQQi_+LZOu3U!^F$sBEOBpP z@9i#@lTzLnkW{tIwl~zXHl9Tam2WG)KTDq_!5GA~Tvd&U1B5&(JdA47%=9ewV(4>7 zC&%Z%I|c#5FipfpQ&21D3Q28@ba1kd=g&QI=dapJ`AO?pG%ST3X?cw$=f=yFxG2dO z6<`NtPn5pPTw?L;Yekx-870fPHu1=V&E{J_W;R|fVU3m8sRUq7?`UJn&tT-J-Vo$! z-hh3e;BGPa|Y^iL+Vurjb_tfn05ZqF|5fD(iE{KZ1ZV+;T&8*!+_pL1a zo&v56yi`G81e^BzpeESF(P2aH;s>Qok9`^az=5xp46iTZ(|B4J1>%y&n5W@P77sb%~yz+`&NAXkr2Bk*7oQ$>aB(PgzZmuNr`Lw59>NuT8 zRqgi7P35rOs!h9xu1S~!BQbBp2${3#jU`n2VL_`^u2<(aLpAySw3=FB8BCmmfrh_> zo06+!w0UB0LXC7u&3FLW!r8R`Zky_+zqXIkpWRjhM^khN>+)Np(+zxy#slLeqBCt^ zO_U>yld)zYn zYSr>%;H`8l8_uA!EmD5u?-b+BV`+_fO6)jskH`|I`40xcEamKZBaQIo?~v@tcBoSy zWWgHe;&2mA_(|`Kd6LhWWO)Zf!|v8@WNA(pg>kKDYa!lSocl<|kH*+9p3YQ?NQna= z0H=%;NhUziD-U?~H<28hNFV+K#Q814wxF2|hlX#vT=taW5w3Qx z-&B*4w(1V01AC%<0>5Qj1Zg_#jw_3MzhH#$!MfDV{wUJ0c?WgVd4;Zi9hTg@43~ft z{P7DSq@XBk+g{}$78EyjbDvIqKV0Q00l_@t`U@UGgtTM2huPYr7B}})*M=aQFTgr5 z!GgLTx%DV=-)k>{BYloOA3k*&!?akTmXCv^W*W?h?Fz@A65RvW)#x*`STsS9gb;!s$ z5!JAjHB%o>ju8gY^{)+KeYC-~zUqi4<+i;p1p=XX2XU&VlIirNF<)+}H)Pbf>r2LW z?)W1bxwGX7rx2K!R#y!rnLlp z{1|Feg`Z3-LxvrCnKxu9PV0#tQIou!d#3N6{+0>^_%;_H04-?!!2OW*pYDZ!b(E*7 z+x;>2(EpO-SOZRU_^g*xY(VU>dmI8m+BBZJ)38fhJeM!udvzCHV)-XhpDg z5}mrJ0PTtM7uJWL1KRDTmlYk=H~=e}G;_S$Qk@EF@o#7**C}@hy9+_i<)iAd^9RV* zL)B^Ur!tEx^XiQ#67G8y7wpD)TXtFBe<{sYS%(>MpxJG$rxPcTWXvJ3>oXiIIxCEw zHIuG1XZiueiitXFam2Z8QrU}eqB**iHOJ|xU*c4jxO$o*r+BrgV&t z-Bty0H%T0TqZhoO8+B%ts;x6Kx=@jx7@F)yW(XrYlCH83l8l*S#NF$5Ghc&r>Wym| z1xoaaH$@m9n)i)`J^Et}29{&2ts2Hu7*M}ve1mMPy&?T(AflS1CGttrvnQ0jnpKWN zoNt)URjsrj2-7)6X351mKcYUkgkAsQp>F< zQ11aloZ?lcU$3Z&z1G*Sp^tP^H~?GOIC)Yb=eDDj=>e0vmarXsLCFclr?!wIz<{51 zNe8a<&w|)w+H%6?E2GcdflLC-u7IWefHruX1{Y7;^_aOe98v{x7X|Vlrz^-%yw_N# zNdq!CE-`~PPr_gbZJ%=FTog$}V?;ajqXaxFEZeNDjtbEMNpw$@4R-5s(M!p;37 zyhgox#I6bm*#D@WkR{e3Iuv1(#$myQ3wsM)Xps3@D*n)gyX((bpAK4i>xBXZn_LZ= zLhr5tr3{q_v}%(rr!2iE(2JE!_Eys@%0+5f4T=#LvCKZ!!?%)~?Tk#D-58RaG%Oq} zx;TqZ;r3HV3KZ1~;WEuXJay&|;m$;vBLs^&Wfjzy0fHKu>!`PWYB4t)Uvk>#**f7u7zmp) zN9B*Ra6u;dKq^@1tc*32I8YjgF~`F)<3?{RJ&+bhN)PD%I3XICqjm%A`EHy9<28Oh zW93LT%KZ6>6peki7YEyExMc^mTN&?IJ6HxSQQ$u5pjZr}Q{j6s{giY~pKm71iT^It zvsaWaNj7mdXFy;kzCQJ#Id*0HqWB*Ekorck6QnfWBlR7m`YP4`5g6Cwb=wfdfC3{a zP+%neLtvD7$6NjK{*_Bm)bovgtZw9<(P(49507G+)0Dz|?iK0aEO12xgD)oHxH~js z^fVPHFkXWoo3wcV1x7PiMq!}9C=FTERu}HrWYV^ZqZtWXr_5XI_xh)0^~W6&WHJ^v zXTZ`m4>)m@>7OF2>}F+R^Y4l+HThpsIN(E`VBKv4J>{+-1wM*oF*7-)F32suPBK*VKM;Dl2q1a`ut<+e9|-E_4R?U*RGjwMJrbr zT$4{nBgSj7uQG%kdYM4a!!e|fVGGHX(R19f3f;nrjauzqK)x_nt#j6&SEflnQB1Ew z&V_*$)2%VXW=nPu9O`$0nu?%t8@e2PYX`y-`kF0j7bSsF+N`irIDceN*n^6{RYL$#1V1F(AXT`V{=7GTE z0pSt(r{Ji#*}GcV{V(gy-&;}k?odeXPzvr)jDP7a0S*MTBh4aTxFfwzUf!j(E5<06 z1je4*UxrG&UNGCaU!*g=XkN@DUfQ2&D!5-Fy}X_&A}KPTyBr%<==OUTZQv;+Y%w2)w-4so{e)c-3O) z-lg!lON+JCAmL^RWXe;9%>ZpGUHq=u@;hl(UDP4&tgk$qLHbSgaSutBL)4*e;d4vO z)#y`g%$2kf)S^<)T2+mvs9#nnP4;6I^x~Q+Y4x(bGBiE~h8w_#%$gK;f4S(yAbYZ+ zR>Iq6`OKPcOYK5SnJm##L_V}AaZST#Wo0fSTQa;t#)Jqs$|bXhh5(jIhuo8nwv+s6 zNwO0Wz8}@j#@R3rYrW!fzMaL-g{}Bh-JX*m8Fb4y#9pHnVtq`wHR^;wQ!dCM%P5888TB@m_xN_;t`XAIO@bo{HiE4^Ahj? z%WJTwrbaLei>lo@pKKj`JPD5gtop5@0cE99k@1|QMq7HQ~D3w@pCRAP4e zv6(!wn%Mtpb7UabU+Bv*nSZF;EM~yQpo4UT$#D2xdJOa(G^90jwf%slPVv40zfOF( zJ-e@b65#x-m53Sa(WMKl4ByD_>M17v*X5ic^G9EjfPEOuwnN$*p~34^@u6cZn_A5CyXQ!UO>D)%1*QJCU&{ha<(%y~Fv=I5KbLaU zZGW&XCQ->O;V&Mz;T^|NnvmF;XmxdC#XhC!GcG9Aqb^^MapgpFR@?|2nm}rrbO&GU zL$mmo??`$o^u^zxLkbQ}W4sddC^>@rSL|qde(9^b0Yi7v5zxHGf7R%Ve)<~vT*Rd^ zeD$0$-K+SAy&hJT^{r}0@u?{kvWUW5L%v;Fq!;m`e>uoH{kfDodn50yhNeWAVITYN&a!GVyva%-b31$ZR?^~MV7n%%DVny}oNm^|4syG`>|@#w=^D0)r7C4fu;?Xt zOS5@*8*jgD^^uP)$N3(_4CZrT#F8&KlKa=VOIaTHdnrt)sEZ`NfuuO5y5y->nNr1# zZ?qza(oNnkDSkiGb9JOC(yM{R;ThTo1hdlV$#$t=>klEf&9}A6!=F@YF=M0=yG+sZ zzMbymW1akXg8WfJFDo0d_f@aKzj!(YO5xK$^tUt?4n6 zaH3L`y4;K4Jvqk={s~iAuoa#sH-v6<7FcSTqWar+!>d# zeG9oq!y_DxNaL#`V8LAU6fC(v?eqxJLFSjPO1N31gO9DY5BHu~0!@{-He6U{qmIjH z$59R{ zvXWZ{%yD%&>Ng{3T<-}U;Ge~*TcWDMU`WL*V5#U^)b(rwiE+t5yTeoN@(V^_P`+f@ zD6FJtn7vKG_&o!GF}(o zsUy4Ahwy(a?}Z<72A%F0V)=l407acb=uB#-!-oroM10TxIJaKy?5J<9R}+XE5)QE1 z9S0N|&RXg9cU%c$Kt~4)>=t#xRh+xb)z_KN`!iL;oAXr}*Sn%RSH<@g-d3ef zP|)CqGx%jCcele=3a`l*mY>Rp4;K^P7d)S_JLJ|EoPWh;?tSep$38M#I+rZ`Nj{T8 zt^og;kR48$`lsme5!^`|Wj<7!>F6@fr`>L6RMU;<4RknnxP70k8>_zrRUz1a zVkq{ctHhPDxkjoU;Y?jxe(v0l%Ea4@)lS#0XV8P7<8HGpzNjO05KOMe}x@qEz zY1O9ZjjWHzFm5#cIsaI-v6?kjwPLO-*K+8^K)G%LMLgsxFii)!!4n+#5{cp%$ZQVR z7CEA)XGZ}D>}VG@06O)=t65;}P$^m>&~(LM#WR+LVMQ~RLBmcw(5N z<98q|Dg$~IegVjxFQ$T&37K_xQE|j?E^WV!l&^Ih8U_Q#)GF@I=5 zZavGKrU5EFHQb;Mp}Y>G0mf`%t&N z?GMrh$sUVQTZS^^4aSL9UTmc`B_u4L)xj1EVb4O%Ke2>ETci0J_^C3yw7}hMRR>a zz%97762M8mT4GXiiMQc2%CNWu9o(5~TMOMpq-&&Wl&uxDLuoWV!en=g0-h;-$s@`b z&tzrez_+>df-o!di(9nA&dXiVr+k7^JEQ%v^ru;(IBPT;3&NwqvLM3Q?rCDXv$kH} zB7Itkb{{)H=SkPN&1H|H!o6O2I{?l#}5XY4RCdvRVoPaDA`L;)yHtMw`MG7pXB#Urp($@izK+O||N8@kP5xxXL`|rl9 z(B>aJ5JHeg4LA^jrI~VRzvGUZy!WY6$OcPEqR}gz$<*5uD+ww(gisN%og%l;HW1Wk zD5&SVN??^`dUbF87=h!C42du8d!;7Ezmxu8lGn*4E&)eNUKY$t$e^g6qENb;q$0-^ zkVB<)fvx(!y!PpTs^&k)t+oC>Spp>21UO^nAGgbaK2TA zc(@{T#L>t>ivN^e87|)M3y0~$S+LZTf-#-N{@!+WTHVrWYKLm@oXR$f!p{8tK@@kI z&<(#jLnQ6%md|v1&z<07?!#l=l^`hnZY><*knp_`Ntg;;s~R3-X@O9BDg9Iu+r(V8 zR8v;J9n_FxHl=98ZQ9ix_*-wouPlmF9_;>K?GEiC0lO>lcJs_(AERvN?0|PSS*>@d zfhyl2N5V~bF^m28#>+Oh`AbSQy^!Bs=Gitk^B9%n_Q_HRt5Fn_HN6#?Q~J_IIB8;? zBlE6&o9>3VSLMw?hSPW1lpZ+a7B#UX^Gt8ycGv@Q-)CsGTH7sM z9Zn%;Ynz$21<`Y-!-Um+`L;9PKZ}zP-E8B^4bAW^IGy{ikgbx9$ZR&ZA1SZw#4Vz1 zAe%<>AIECNZzJK0sX}wT{w9~=xq8cR6~!&;rwegUVRaza)V#0YpFX!L%;s$ipZGW|Sfiw_$G zIyV#sJlK6ghn8oRmG7w3=4zH$?3mgwY02S*5l6rXS~F{=N0LD>1_3L>5!HZFH?R7V zH1t`@*E;04Zge}A5-%J~5M1q^PTMp0lxgE6@_n}+^;@uW#82r_%k)Y)UG>r$TG1Y- zwLV8e^!t>ZA*ECnumf_3F4+{cTl;2XN~>5#HjGw07B%fv&U@Aza(VZ}g@i#=pC5*7%y)<~uq;rAO@;H)u)oj9-T&V^Ax~#JKY%=y1WgbfxC(LxHP1c zm?FCf*?fdndw8nQXr;gOBA30$knejFid*!qGbY=@u|<q=n=&lC;X%x8yU+MNFBQGLE-&VwlE6{5U5Ihh#N7%c}Y~sX8wkT4h{G4 zIf;8Ag3%V5F}ZZ9sNb|^GBsoTYAEkYzA+1!YM_{3z}ubZ*(<4ynd*&fyg_( zNJqNTi7a(!<(|P`1HbR}u%ri&`y^n>!v9~SEdL4oDrV+?LEr8V^hZ8)k=DM{RR6Z2BrDHgj^_qdbK)Ibu;DrM z_#EW5vvL?m;UUjhf`8rXT=G2FaJAZx%Hm1?rJ5FwQXM%+_IU$-_+nR#&qxupl6J zQ(uRvIkd5+N56ayqG}sZ611{Fcus@4Y|%$>DJha=w`0`(Dm@~clA64C0e%9l$59da zSk^iFkxETP_TC+m36UikPpEtKAmv_Awdj`pTOiDgvnK7QaQUH4ji5364O2C$T=E8q zLPK;Du4kGpjRVTbXeDt#d{xz?=bpT!mvOpLxtjlQzC%aBGR7kVI|KR~xRRaFW zDdmQ{jEEab{#1vyTil9xyK5;|t(d@JWg&zGrbu|FThX-&J|pf{WG#z zm&7N`krlW&a#D}zhtO!|A0;I7iqweYGxvy;rnmz4D3#!_%Z24<0e@1n|A^#kb;E~D zK%y&w$8i6Dq%uIFUH*dffBHynU)!Aa(kOEZW|WYm@fHspgDllUX%kRTRje?-iRjsG zP~e=qVXhbG-N+CJ(F%#^-6=(AFOypdjb4c7d|l0Sc)$7aa#UBh4Z0yV6&lnIMybT^ zIMmxEJy9io+-APR6LJZ`-#25~edzby;_5kf)9D~?ssw?Qs6D8;)%U7^%9o_bV$ZB? zGQq&91iyx*tNdF|Z|i^-68i5}Tfr67E$RYHF1|fNMS6?Rst(C*?4-@Fn>B`~W3I55tCT;`fI2Lrex$ zREX6^2~Mkr>OC7!>v0I2CmZa43qSN8!Fr>hYGTf*!ihZVcShn@OK`rHerStFwC zG+~IXbY2)$sGT1kgE9|JS`<39)7=?TQ#x;6OL8)-oWX5J5t6ldNlhPIkK#kLeS@)R zl*)!}J{z#ct-TEDM* zaE?`+5kTmD9`vFGO+x}x$yeB#x4K1dRAWBFr)2$o588&~}6Q<#6(n$|!mrC1=3@EOL<@+LXpEJw1oNMc6Msg&C8RMo3R8pXm9M z>HH5CZ^A`Ce*&^717wl&zlpB)Zgzi$@c%S3{{>--)p&staS1_IbEWPMScN);T2Lr( zESmM0)%-`#IMVI6_W@4bz#gOwPC(JfEKf^H!*W93J_cOkGI&L#e({pIZcdC>8f{ zh#7e>(L3)vq-`16Ka@o;o0w(1;x+F zld_9&hj!rM^;24x;dBiCvw54YT+Db=p7#$rT5}%$xa83T(1F9^MJ6pjPA{g7LU27h zGm13<>^I+;(a6Hee!n-ZL0D|0v4GzJWlyabHO7Mm7WH~UcaxU;*Hg@6_OBYJxzqa@ z8??}046eyjTTkBeh5en*OhGq*C0Bx!ieUW&JfV}-g-6l~U1#B8;eVI6*%0vY{Epsh$EIfL$REvJUEGj0 zjF>u^%}w1#5pIpg4pnl7BnR-mV-Va4A1*M#CzL(M*MnI;`hEbnUt-eZsQ=Mm$5VRE ziL0WUR{v@TSY9+=c0>4#Qq&v53)sKRe&8xNac`gIZE439l&_KBbB`Eg+HMYg=5ypZ zG*nc)*>1R@yw!}zkt$sBuq_%eaRJMY9FX~T3f@p&pi>uvuCbW zvoY!eOo==2S^gAL<~I5sK+BgG&8U8JV{7r!gYnICFu zZj@oY(L4BekZnUa6@SZK>j1|rMjs(qDy0xZfMI0rB!x$}Kzew2%ZA|$d!AO~=W*6r zZ+$SfpGwOKVdIV;)$#*MvAUs?Wmaub6o||9Vg~xJK1OXmr^Dsn8iezFpF-%MD zEu<3VMJyMrTB0GILE63dVXD7BU`9@}$rCG@2yA3Yq8(AY2GQp`pDWP83t3_+k!LiU z218KL?fQmt9y2^9{Q_2Gc)_Z>#xxMtBS^s16jBeEn$F5m&IcG?s+(M3r;w4CksL6q zzbK^&sFfsFvWPS3^_zLiUV9hI(1>InGQ>p!Gt<-=i^QelTT-V-QUER8Zve&sTLp`R z3K?25r(kx1fV9?E>GIGo69In2vq8|= zw1Wez-s1cBD^977aM+~rv9+hvPWw%y9tN3co=W!b;v>9er!~Ja0787*FL_F_NAGfy zG3T9-!!~pE+|M?S*mZ61)e4j-q}L&gaA|j2u&LWI>3}DvT>=^Mcq>q5unC=^exC>N+~tywh`{idsjA@ z-ms#5(%pG?bfJg93jin02k_#=CmAG^MVa*!T^;oADOy@c0nb0TR*bi(ndw$Gs_ihE zF##=1-n5Q1DkTT``ak8HBj-rB#BlBcACC1U_LfKiwLHJ0`~lI$6&y)Ki5YmIo+6dm zOxUvdG*MItuINz>5O{r_A|2UEK)vWAKHmdf!x;9Nsq*?ycaZ;)4W#;s@u&l_Xa6s2 zt$$;$=H+Pi7xe9HfR5aek5<|BZ}Pf!RoV6(i}K4<+0P)P_>j0T#;6jK%GXnNSRIzm zs#&f-H2o^8e8O%dBe0!3pRH<^3m&$j~t(5gPxu@5J%)+v96G4r$6AsvSGYJ z{gqw4sqHupIyQ%zmLkSuI`qt`05~F(acTCWggTt;{X&>I^l;Krv?ZQIQ28`>NI!i8 zjiHIIjWgk~iutSo|AmDOrWD2=y^N{P%F9pH^`Q3XOiGHXb;OJ=nZaUaIkv2{i$J#N zNIxA1llHPwigf7uI2b$Jh|ZLRMOSA?zPdtdBr1v&D4Fk0hwt{af0k;GwR?F&&u5%X zP9B;QBvmj`5#hN)}VVgj>l!St&!J*nat>C{gw+6lhfU(LCJ6FZfO z|B%a2W!xb(!Mh|J+OcbVC4TOs5ZqzI3n=lszy!jj)e}GnmH}nq_qZ_4#Wh9hvIqsy zv=OzE@X9$+bt@IOSW=u?ldvr`J!CZ+FQ6>E$oz*a{L9aN2Jb6S7B=dY8VAb4!$4X1 z6Bz|i79J7IL&>AC{Xv28QDWqjrj#YycHm?8`nNFMw;iMP0kl!!0yByKrk$bYY-I0Z z1(b#VjH{}?4e*OjlSU)@!!R#mN{8K{Hf@;F~{9OrS_8~eST5tING+Mv>hY?EYH z=pO);5=KJJu%Lqu8K`Gde5&} zVp9)`1!e04$(stiB5}RWNQbStbp>&L>SDg&Fj)JiVVxLIuSUoQ>Nd60CfZr0n?_UU z!k<-0*7%gF_J(qCd38>>-_>$5qAt%dsP`tgnLgd{Vn?6s@s*uDa7RL_uEh!UelZ9< zzWm&yx~8x|T0W$cES%{|IVv-r(b)1uNJR)^m?fTm^y0!msKbsei(IL+Yhuv54hC+_ ztMQbV^&kaRU|L4E`$n{4aX~qAj?%5U5&~G6tF&J)qqd@wH_kF!^jI3RB=_5A$p(<1 zmH;I7-XngCQAPj!L<&6xAFx!6Rw-{JDyO!NCuTz0g0v*1t|dr(q8jsi$;6j*Zl#gO z$YQlpOFn(PT)WhrC4WlOydjKY2k}{KV|p!;9|?#RrX?q&C)1wSNI56r=kB460v>Ei zmVZ>q`V|P_8dW zw*a&m9*)XObC=d=t%ELxD)K@Ci$X4I@rGP&iVZ7Ey3x2=e-D9~xBcUE>mO$9rh<`+vU#hI`KumCy?JaPKPZ>e|}La!55w*@2`fDQw!s~(`k zaJJwfhU4g`?=+353Ye}Rn1`L8d@W~>U{{~TsW)DF&HggK0c5+h*9ZS1=(l5qj;-{wX9@(tQ=r~SE|_KikFpMC2bm-V{5wCtv_3qK~kt9D}ilM$l%SVu`K(=1B|AmE`>(#M-0L0E$!2I&x zUJC#~TvdImFMmq&N}2$Ki~MG?Sars%!Q*>CWpEohLYRKH4~= zUWDF?^Oit@4FTX=z~aqFWeq6O>QiO){#C}grztI;x7X{Z4T3~U@+}<u`@$n6#yPJqHb=!Cpg$gU6tfB&dvnXU* zZh7zB@2A`A8Z}o8Iwzf;pGK9sd)}T6V^>?4k0JpTzuqp-q8hivZGig~nE}-}$^vO7 zAY_VWx{{7o>2lVv$S4S5gaIPvU?sy_ClmFHX7HJUzS;h|RG^q4o=Iug7xz$+37LY5 zY||XHQfmu2%Y+tfb$>vepTJakcZ8;%HBc*``(-Hah+Hof%48#&&E->}77qO!vvG2j z6L1(N^Tf!3_S3Oe_AAC*Kal+-NCigM5(gk)Qn>R_eHF;G+4Jn~IZl|xs~neakaVyF z2x7|b!YFg(9f7IPuMqz*4xVRJaYnjRXi|7fGOSoOGy0pB@;ti2V*(`BYit3ma`Yrc{>3g*I=egyt_U>nUhF@98>e!y`m#`8uV<>EX|oWGnI zjN3jk(t5p;v_F=y_$~G6-d@xYT8b2l0|5!3Ls$W<~W+o7)gq>iWS~Q0w;oDlaBt^gW4qSK8$mD?co# z@`G|tjL^G4TP++4^%3}KXwg^d&_ou=r&MbQaW4WlUFWiM((`#0Z5Cu(_lmdo2L#n4 zb=XctR`*DRl+hPZg}hbSzL51-X4wJrP2tYMl;x$NM5LLlZcd3>8k<>Sv21_J&YO3W zOZrSZZ<)GE&lT8Qtx=|fAX*>vc;_HnN6fk zfl8r@82odYdkWU^%2fV}B3MR+QyRf#D*SE}NzFdYK-U_AaiEkKHBiE&!)FOJF)DCB z!5R!wk84M6sgZ>p1Zq0xaN4%INFn_6^qz@ z{A|b{=2g)&Wv20g@oHW%3x-!!@${{QhoTH^C^Ud!a!6LP|CmcTXCFnds>xLIQC#d^ z#Y#`9H_bI{(}=A0ai4BmX1D~&0XnPX0Vb=IJwhQcyPH_qlfWw@Aq~yF*_6Pl^Z`-W z{!Dyy!0rbncKyQfPhpt)X3c?l#%WM;_Cy<1rns-*4pse;*=&)`VlqFxp62K4rz$Dt zuUGAo{P{FUBH1`2ycW+BZ&2CFmrGZ+SOjY4+fh)?iP*Q2SiL@iQs0CrkOKkQ~ohSvfJ5q29@*xTrc^J)|XjP%I_&A?}KcNXOk4K z(AA=i+d-a{t_D>eRyX@0srVDF*A6tgM1hhL!<;a`0FvZ~LtqeZr%l^wbOQED!A`Zy zPi3*02xFVv8|8q-2ad#25K`?Mi0py^UXf$_R36W!06D#;h$*vqscUVvMhrR*R#63` z^wu4qr&uMqi7ZJO76d4Klzx7s%@4bn3eoS7lU^_d-eNawMQPydchm_sTM-|=@>8cs zQpvzjy834Kqf5pf+96eai`V4`)hv1-P;OBQG#574%FTmV$wx%#MxP|s9+pC)Io=K4urrqQ4)*8pQmB60w*;W4+W`rS z_CM0pzlRqG2YojQ8xz~V?neNmx&SK@zpHhf-OM14$Ih%o5BUQ0x3pnpvUXmyUbm*W zUqe^0U-L#zURPe?XRu#)UUHPZ+F!Wm(`QxyD{X(!?jroIqojDVoiNi8)qE-@lCe=j#ADMMT3+(&2T379A#CLqQqzz1c(5cnz?eZdF4 zYfEnfWLoPFDg9RvF1_965(iia5wJ@8pGO3Kw~~{SgSo*MCu4aBTRUS1r$1OML2*^` zqX05*?q0#`A|J@ArLmAATNwl)sDS#RjEY#|a`+7ltLO0?x!_Gc5k{>}k(?+@aO8iI<<2sy#ix=-& z#0}F>%6!!n%LWuk9wE~x(@qo+!pzv9L0W&pUZ+$|rA%~ukM)50h{*#s=(!nyPk4m4ZWf8hFST>f6S2K2{<8+VYv`E=fLMCG;2-$p zZT4l7#n~E6^$~8=^1es~uGXzN&YI=0v7rRkN)CEiImY>N4oxUK?V9tkuUE6>k%yd{f(WC=kfC`f0slOQ64@DfwWReP~^k$4d5gTSskEaf+ zlH<~L5_jF95@$K%4>L@^zK>`18~Pf+dtCtE=szo-{PukWznEJ&ncGMk>zn-Bmm}nd zEj|js|4`k262}kH;vv(qiZxW_7KVV3@@40vkKATtg!}B$`=asb@tdczoz_4vNURWF zQTZ9=)AjKya0gF0;tk>rk{04qBW>@pYP)zLq+hdsU5tm@hF|pwQQfj+zS~#KLjSX_ z9i2oKghm@`TuVmHL&vY$HZ_#fhja@&Wbwrtu4<1Orsgl9_i!g&lA5a76Y1uSnU7!4 zp<_bLIYX9OMT(&Evmzq4*yIwb0NaW!lM+7kPunMpsGCnK7@K!lb4wtCM50W*2^#*W zv@q)m#;yqjaXx%G zO@0!ZnDP&PZWaVZOcY3AXhp*4r@FdA{YiIi=Xr<+X55EwUzKO=>CN$D6lcJX%_7Is zc`|X{pS(Q4KWJWb`qksMTyOCBrLZ=QcNqvlT4H$KPzC8DI;L5CMWMnK$GIG~#wA0b z#3coD6KkySCRPDcl3ASV$_K+Z;m)m{vry5DIHLV5t@vTf)&@O(a8pYQs@&h^I(GwG zNG#O8T~GrIm!drcJqs#rOnjA8AO@tL^f9DQA}=b%BRXG}@+-OZp7Vs*9Bbh2m`nwp z$avRyCZq?Uawr@WSnk(dF2BQeh2YZXSNot(rT6lj7Vq9X?j|~U3$1>X;+k+jm)E&%id;n&5kNNA#kV#*G>iLLVAz(5#`_J9By)~{F<>^# z&Y^9`r7ccqjZbI&gO;9=zM1}b7jHLy>>g)KvGSfkUhL+^!_HSyRD;1J^DY!~H`0%T zSwn_t`oiBd9~whs^bN{v@*yx}L!g|7t_4-n@k*oV`nYGarCq=8$5v<+3C~9m0WQyx zHQQU;ZMoI$FDOw?Pw)B{YRBww`<${_xz>Olc$`6xJ!_Re+A;BcHVrp=iPUD^Kr4_&%nkB@|wg4`5f=M6wI`Oo{UzXhv**!kbj zFGHzQ7I3C1gRt^rD0y&^3oxcR^Q0d8!(?>i_j}=JAiz&vJS;af}{^2eTFSg#}asPKz(_i(>XH_ zCNDW|jic<3Bzq57OnH$A3TZNp{P+uwZv)DJdm(C65zRGJyBV=)kcV^0l%OIo=8S?v z3%#j$#Tn2(QLvz_M})+FvznvI&hccmviK}#=bR9a~4~`4uZh!j3S1) z9)XRCdvH!1U8|*_5N{o!KRSp(zLc=-_8B=* zHP`Xi;I~@bC!p7&gK}C@N_Fb)6p#HC$1#}a+t*9T5B2hM8(MzQu(XgyqTKX*wD*w6 zRI_8rG8nMH1m9|?`UE8QW zM)^-|_6sPAKYfHpTP}1{VBC-qPW|7x(A?HFM_?PoHZWW7ccL26^WIFaj(&oW!fx9< zn#6JtJu#yjs?$|yBr!-@DIu9P>Ib(Wgwn18q5$`#9hhR;MQ0Ai^} zvjatU(M&B0L0#zPp7;D`m3)=VF>+%;ZK&E=#bh#lLgNg@ISnfiwywDr7@7oPL%}}q z$!LP%l4ZKc{$7p2=)HEc>MX?W2B)foBU!AWROea;Q!jW{EoYm+Fus?aYyZuiXCxu8 zK-{K7IP@oU_;sSW?r2wEuWxoU1m<{Y44>96FJS*%C{)eua}xuM=m~fLf76hE##af7 zQnCPiRkp|WqAb6K;tzjn)+Gu7O%@#uuT773fDt+v{g(U)ziURz{Vj-bPA{-1`dgUf zeQCMcxk^4C@A?|h2C4=sGYxzFhOfY4|3acctI33gOMz4sq88NYHJM9@&Wfpg3TPXu zJtCo>LG$)Pd?~`Qfbc;JuhLy=aHaycB(t|dY_m`1^(>B>No1@CsqmZGjd+e=hV#j5 z;nxjzuPJQAicEJF&d`8JBCw?P7g+dAj2%tp+{R`(y4U)-YH#GI*r@ZWlNhB8g7zWmGeK36%Fk$iy9&H;XZ$K(zUwhrR@ zHbz$eWN}q+1L7+RoR$~ZunW)VXyRt&VZDb4AS6`rI z&9~gU^JRXRL+=kZ42J-|Tyqm-KjoBJXMjV1TGZub3Xxn{@r9b9_*vscc(m6Bc*OMs5vGN{% ztN2zU(rTu0rty=r*N4Ylu5TYh5yThNVgyu0B}HX>8Lw8jRpFH=9{ts@$;Is|sKg!K zl|_9Ba-PN*jZkjxIq|S=#HX91uqW2^&MNacEdC}5XB-2E;m6ukb)q$b`^{SR zBVpk5?MMtCet}*fS^Upk+0I@JtJ!OhUC%5j!+Ou(U>0}N!Z6G=CZcc}856+h_+H3|xYlo0zCLDWP;BzCQnL&+Y{)aFCx zh;lJ^#@d5AKbq<#q<(Nai3{$iF~^MZUw{6~E2EqGDOd-1VO)UVM)Th@#GixOzqQK$ zFM$ZbGi~ zbKx+5pgO=Wp7KZw+`g5U@ZyOf6h%f|!m>rY78OYs?)xi>`Z$JU>wIIi!U^811h0Ir^U%si6#sV6?L1DJmYuR9=@13%oklo zeN@nRhPKLUfszG#HUx(_R8tFdaVEm`TE8;i9Bd1$i7?#e>HQ$SN_TtJM<{wB< zO{KS3*GY*l!VQWQdyoD)5K7Y4^UWaO?jqTEttG|h^}*8v+%AF%uaFmvHxOo(xqWts zT$A24cOxY`t0*UXuZukJTEVUz(Xwh2E4Pt^)*C_bvd{u2HsGPE0l&;Ca6i9n*4`q? zlV`7wCSh;NIFxPa$S#Id71>ynV7nELOaWQ6+D;P8261&}wgHuOGwM=ukTCtVTc*BP z+uqT%9?1h*%|vlEKa~>>ugCHS=A;Trhh1a$?LB1ohAmZ~-nj-2SRiVISo={e#uEDn z2(AlDZsDXlo~1fF;p9V#qf3~Hf%&&n* zuQdM!$iN!&Y=1?FLgFN=sXJw{m=f}YXhqrDM zq}UXX4hAzH4H5a7H9W zdjp-J(4AMo7v(&3bY?EnQ;mYeJxbm0 z=HEc!dAke^q?IcLaZ8QZ2!?5Qd9M${dNO)WS z0vMK|^wtjnFX#~P-5LLT`2P1d2Tc3_gS&{f1t5I*-u0QK+FQCzK>-|OVS1@{WYFxQ z1ugv5g5g9fLI%wni`NYx?)c;{0wSQN{G@I|U$05s+_brY+54P*M?p0GZOZ+Wc}==D z*WTzIN%)i#@ua%9yJTIzcIBs;b*EgXR%Eo&H_fmH4@8Epl*qfuuxkg(K=?hb7dIN@T8*)7r;PcczbGERQzN*KjwA(y zIG%rPJCT)(Iy(0E^L`gKg5X-0;RF$c{!+8#k5ZGXQ-;E+K&JjYvD%QT1b2M?+=un& z$3naKVyD|(r^0_8P-xOq%=2RHSrD=Gm0T7A}!HHiV^~$oixd5n#uEMDH@>9!+GI=XL73Ps_%-6She zAgE&Yo4I)GlLr%JngqHKjcN}0w^aA%vd5=_S0${Rll;_|-J;BGEU>`ZWTe7qO-}!O z{aT`1aYp1fpLnJ&yiwunP0HzOslU{6_=C~<17)@(5{l8kj^9%uKe!~mfY3$5EoE2t%s!O;V|o^;(HlPOW4xo!=R*d2#+%l7wA7kjB6OL zY8kukJ_R6!qed5Dqz{Q}$;2eFHS{qf`0Qj|VTpuBjHlQSEYRa5lq4pC_w|$)#WQN) zg{T!Hb#m~H)u8hGq|CjjC8_QS9m5=z-mdrDdBeUMlN%6!(={{iOM$&A*?pVW%%5DD zx(K``aZ5z&q+{Mx+(DMUC}9+(dzaD(K`6%_XMQ^yf|-ji@1*KXBZPaS9!2O(1g{gk z4$%I7Otb>~5LTnylVom;tQ+7RXM=LNT%)>h3-tcU`hyEv1LBE^&w2IPZP>kOHzvadBud95@m_pg0sha8BWnHBRBs z>GK!S1V2;hc&gE9lS(3*7LOkGR9BhiwcAZ>beN7KFz-h!h&J{dCd{tBzwSZiJHS+V zHnu3Hd#Dy@j8cAvo-;_vp_*%{HK0KyFQMK^!a!8%_ujF(+W%tPS$2JuMrx{OSu<-* z1ImJXfhpw8L`?U@(kAjq7?T;7u?Q1K=YB%dbm)q+X3!8jcB4^>O5RH^@8H$8P+W2S z{p5!S@+9%$lvJQ+)6LSNll1r{n{+cy!<#7W^fp6?V(yV^sq6;S-37#~%aPX3TP~T* zboqImDS9k;x{j76m5FM|_tznk#bUd?In_9|wF$~$cwv)O)mg;mD-bEHLdEC&JwHH*y z_!qb4(z?o)CU70>-B&BF4hX2lf6i!?)Ln(}nyXsOGeg9e4orr!r|z-$K}Y^bk_i)I z^ifRFz& zi$5jQ(;bS@AZGJ2y^j>5oFOR{d8)h_8GUL7`g^$9-2-dQNo5l(4;S{L=t(zU8-nlv z?c|xUfxD!lsu@Jx&Uh^R);9`~uvwJY(t!l{wltI}q8mBn@cHlCoHqV~YXWg!G}phY zBHD|nAO`VvKLmfpVE;ks4Ghd^N1Rge3lDC5Vm=%g!cIzuZX2j{o7yg zy3dpU+BD$R%>b^6k^lFM_pdzHsyc29m%{F?x5}(*$ zsL>xJ`Jn-qLqQ@F=8QF$GH>QjJQBVXVvax(C$6&Sf|ZeS^b8v>F&N3%fXFK0E0wSw z-I)y6*B@nS+rOr+W>y_Xq;4EfiY%NXDb>g=#g@v?eM!umJ;AQGQ3$ zT89n&*w0h}oS{L02^}xHVK#W1k+0gi#XS6Ti^3qHjy z@Q!eoLi|=va|f@UbE16H0h7vJVDTHOeM+*1p%gF`6_K}@Qd=9Z?&|ZOZn?YeEG5n# zWY-p#pcC8HA&fRyJ)0d_Sx>>goPTnwQhe_`Ll9kCG0P8EfP{vYhVzfpXsX2(S2Pj# z{8&XJx1oi{-Z=1Kf%8cd70(9`EY@3>{Qg-!;k^{?rx(L@jN5w5QE&^#NRqXOMBOS2 z2J_o{bsif^$J*&pZ#XTF0Y3dKn~2Zjro|VW*x}c?+`uzc)EIp$g&$SaJq$dFz1DKNMcH^NkQA_Y<5%u=33&N zeIj>5kkWT9i$CvkIu`5O(LmNbP-rviVU&0k9Ww_L(c)**IJi0j2rdjw7M!uKruk|G zvnVN^#DTWxKU+qF)PznB?a&GzGiWGb4a}LHgYbTDWdO%Q69&VAPiZbp*`6gX0dhK89mz=OH%3U8exdLrQ zLe(6BU}=E$gc}|Q@}WV9U>)BFF{V|jCy{)Uhw{G6*CYUv$P5X`%&H24!It?9dSwJdvb)T%ifqlU*@xPG6CRh#9^pAxdv~}*dndSqDhVwsWCKB zKRILkwgd49if6&z`1@a&jNyVS?^*z&y8#4;zcHl%2n@y!#x{ok+mr&J!@JE7b1RRp zm6*Rm2MrxXlYs8ynuCH!i65=8kRQX}B7;?E|-w3oi>9fU2sG62X1P zaaYANG=1Go^x>qV0Q4C3rB2VU(+H{CFaY<6UXMO*Sk0z4V?%))aEn0Qh+Zd7hNf!( z-!E67MY)K*t=~`lIkuAa09fnRaP+3&;zG5ey3^@i{cXD}Mqq zzam8b5j>vObiMvUn(c+R6%zAmNol_;7h^7NDZ>U*rs_Kh_Kvq<^1wBtD;jr_WJps^ zjWn${(+3>`u2?W_utb=WpGfOlUOE!HoL$lV5>)w{Yz_&6dAuTzVra8U+1detAnUBz z{x(-(Pc#xp*2GDLhh~fzEiMRAZU>>N=wvqeQe;|`)z8)rwiPf-Bp&aMw!3r&;8{ZE z4&LGGf=Fxktt1iZ*F@VJA>mm@w}@C~@>~xwtvHqp3sMLVj7b8{l}ca%?`B`(f&2(K zF`lML12JH_A>49zV0}d1(8KRv(6jvUJ{T2ln9j?Rv8F9xB%dyEB%klnM7JkzNL8+c zRZO_GmUUH>YkT~qE@D(j#6AOLhiHI9{0(fTXl!Z@I7R%2NtFQEWk~>~!=toZP^L=r zfI#CL#+y2k6pWATZ{m$FQ>Z^|qUJzRm$m1Iw;>kN97a2S+jd9k6OJ`ivMyX*z4u}nsao8$bLnnVW3F3ukP5`M z?_=A*t%uocem$(lefN@Fm$@AKB_+dU^NzdqkV)?Y?_PrJ>xBo15HzlqwUAjDUz0#$@?S_8xBX3~T`p9$t9c%}v zC{Q3!Byc*sZ@TtRHb7={tO%6Ih zmB^lEWpaNVM3IdnDhJ{fr*$f}`nt7xrdjnf-?ccxm8Mo4IxgfkpWM1nL)`F3TzREv zkE#Tj(rBhhW#yNAR}Hf$cB{yglzbevLI3Oa?f5cv&k7__J_U&F_o^ER|HO(qZ^u%h zgYU;G6$%h7y!_s5-WQ!@TX%dJf1xA_tr zCHxghAJl_@#JU?qaeZi-qh17*JYgtFU$Y-j#d27tahQt$kRrA@|1<%2Af}S>rK_)p z781eDe(YoqDJB8xR+yYhkB!LtUsxVu zN3teKNmzGT9JF{13nnVIShb^Ka)#lo_vmS(&kYfow21PE#3fTiD4t(hN=>eZnsORl zDz@x8PnYbr zdv2RJ<(2(ubBQVIN^?gt<$+als_E>8Qhs3djuLYC!@X?5c_00jM%zjcpPnpPY?xJO zT<}D|{a^$s`EjNytd)lX5{?UHI!?>G!fA%cq7hwY@MRD?)kTJqT21E|E@qgGeAU2Z z>hru~+fT|{Yl3#3_qdg#x-f^cP<~*@CjyLU$Ir5&deVz%Cy2*py)H+XKS+h7ySmYI zP+IM5u@3Spyyx|fDvf`-%WHpJvy_*>%F10%3aJ9fPX(Ya>&*C@OO>CeP+KlOJZ3aM z7$hVw#ExNF-7F@{gY?~#PUz(q`iMOjf|pF$!!n}-J*MH!ZlHz};tDZ;+zv*f&%Pku zqDWSC1-m?*c%G%uuLtrk6rZ5b35YJg5x$nSC@t;@s68T41viSf%7m%Ce)Td>m~~dHB#ZG+ zmbfn;_#{{SafLxIFV;FnTJ$$sy<6IV8hWati12{%gaUOWRR@^kF&NS#`>qpK258nz zQnC6IEK}gUi*`FwR4^#ZjDKV-Vnt+OfStVsCjOkdlQBx{B*&zEpBf;LukS&mS) z$SZ>~r6ApU3ft$^Q84gZq+7WmW0AWGPf9T7>>Hwf*b6m%^ktU2@^wv4)0Dx$corWH zf%i!Uoo@1sR}&F*DWP3QqqB5)62Td_yA#_R8>N5I3EF(&^Wubop<&B>_MbN~Gla8S z@LAvBZIU(5o<9M;!Qy@a`7;$kq!tnS2#DCMfVji@-;1K(b}jxVrInz#44?u5_meE= z%jANl| zLoh)EN9Qq*-st2rDkB5?KYEwycV|@;hg?+Kw*6%iER(ldJ{Dle4}Xu>Q8TwPGSqi4 zlCd@V$2HmnB}=7gd3c_rl{#|>`K2plWYAigsEZOh$}W7)a20H&((k%c%m&HK_EV_0 zx)K;Ylarg(d_(%SOZr0tNu*33Kbu{~&lZWj-(O#V^?*th>_#Y){ZKo_L9U?;)ZtAO zj1v7nCr(ztn*=zDi3)CLV@UYi6E=*)&p}tzu|mOAyG@sx%{G;K6|-v$Iu9>(=BQo{ zCFZ7N+M3&16*zCbHPZ3nH(_j&hps?B%~ zolvRw_T^Y6L;p-WD5DEJP^rEI=DOIau-4NrI-Ab6c`nR7-{=uEcSoKWG1|skPhD>J zJ_1iwaBO@`ICm6Rm5w9fRURw`MF zWId$SS0!eVIxjb@NQJU;tvgz}pNgv+#!_-<^QZ^)!ISGKI#>v~K>i`9q@arN$RO;* z^sJO~g1ls0p;UV4MCV}H4e?+LE>0POPolWp4I7^vn1ZKN%WKC>CsBl(kv3BBAToTz ze9NIhk&I^d7_Eb|yAxBltB9-1{3K87a%# zj&0%u-e!;eFPzRcfC)<|;?3w|UZ35KAqtm`= zu%xxvl{6%nYL%$;Mx%k&16sy?E#EbQyv<$Oq+Du(3MZ{nWylPH(55hMYG1W2%G(LZ zwR<1#^?~|vKCmp3tnHHwPXNQi8!PcFECFuX^zep{*`y=Fc}$q1cf9@O_<3bVggpwN z=xzsyTKs3gYi@04MJHh6_M0aG{{9CI9{>E?HfwwRaxy?}QD0LJ%D**}1qc zl78v|-JT+?`cJ?vtJsG36*voGF5d(AgBZs6=@B+oY${1%{eJp0$N24j#W~*xX}vmd z%)Y6Hk>tto~8?3yb|+h^EgM;aZkQ69}!u_2?2 zwL6MFNCK-uRhIo7fq3HRx!A)e(*GWtMEBCS4n7TS3c-OIeNL{h%(VqhY$C z4oxK+kh5ZF=pB+a{S4iIAem8uBw3>+mu##?s}ewDG{M-A30r^m*e44|r+6k99A_^qq+x26G-lKw|w~$~rLG0tCP#$j# zg^wdKlXz@8!DoDNgwL4TiOh?AU!Jr-bSV+7Odu@x7Fd5z86x4-?n8;CjQQ-&=uXO) zdu+&Lp;nXzOLPe9foy&dEP9CnknL2S(-M~2ZO31X)U@i%=d>$^m=||QcAB>*lKhFR z&oVdWIoCDAnXJLoo7ONpCh2KrSk`A0vEkgKQTRNRnD3x6SZo(*4!dqADdbUZN%LX_ z&WCjgZWrV*8@ZQiHGXUTLo34WMPp_f`)bqihV9Q0TfW<##{jT14vzTW+PuF%v48F< zN&M@P)vA4VnHB}m-_8d82td;6U5Z_bcGw10HSvASBm_RGoS%9E5uJN+u|YpG{!GuO zp;=XHnv5uq@;U@QrGSi|Zo5l=E6QApK^DS}Ti_{#OEf(j@x1nOIa{H6eH}md{IDlGVoGpC;>@_y`u%}lJM!=ZKvW@JX}%= z@z=WY@@Q|sWQ2srB!vME2Mt+X6_uFohO|1Y4LHb*p_3-X1@eBs7gCZOJq%T0 zG~dl$Qp1%F8=b1U(U+k>eRdO->UW2r)r;XM-hs3hGSEtqFR-G{pzigJ-MoTiAiqme?foKCfOxf90D99x889;%91w-U~yZeQatub?RvF*_H{h|XQP>+u;IX%+P6i4-L zae{!sACF*$`YB(*Ws84T*JO$&caP9PdixC0}CyB7Vwji0agez>t^JSnv+hro2t&}VH zxuh#L*NdxM7Xr5NLi<9wz05X;$T5xXkWVoTU2q`Yxzxi4JjNeIH)S8%2sVj4sgpek zH7&JdvDSZGkXajae~Dku)ASS4HH!k5_bm&2M>1IiuCt(TAN+Y zW8~mS6;l{8)m|P1yOJIxLC_N-?&7-b`PvfgpxH2R9o3?!lyWDjvnqLzXB$bD6XNu( zjnSKmrK2B3yXw&sFK__oK`MD@HvKDwFM+$u-LKeN6=o3ZohmF~Ndr%7K|Xcozt^9I zot(@jKq5Aoo#j$ED5l6eh8hPCHCOi)Bb&#&ej2B%;p$S+VJpdR%uj!>ya5lHzpPL& zj%#XFQoB7Ua=XfTbBw<#IcD{Z{5yPtv7~hhRq@C1g@p9F_?4ffIBL>Ymbr@L zc05#T(k1d*dhQnm&DE)CrNMboB{Vn1d!4LSL1+XDto*}=RAYYhw-h2uT*Oc^i)#U- z7GeZS9&8<~^6fFA<-(jUqrM_dXB|i>KJ~}Ap14lWgc;VnM{FwshC6J`YkpbT&Dmv} zbSI}RQ5^#nW>>F18^LPS7T2pn)!@Y#;xV78(*%aSsPQ1nl6!~F0>w4Ewf)cZX6b4& zl6aW~ZhUXJB|$QUn6}iz42j7Fh{3DSB+|R=pDMBY*a4eb?${*@L1Z7AZ;9{XuqWN2 zz{O+DARBeMB)82i9wExWS8LRO4el~|(YEz4wlUChr$wdxVkwBwpI&)21UvI=F;gfR20wlri9|GG~-*md$5b}P>& zsddE+i;4C7j%MvH{(eOLIzk$I%#)5}8)rXr~W2}0MQCSxQM=Pi(BY*}dM7=DIU zq1x~I+dWUIZ0UGI)EfiYgoPd3-xiYZ^}Y}OQR(a#$wOdaybBH}qHO`dkpDl{7{6z% z|7~aVSN0-i_#Gr>C>~q+gH+bB%DUpK$EoXJz$&V7;geKQ2m?2S{nO zgU$&4N$4_wtYPO;D$pvoaXfliRVYiptvi2R#@7e$tPxlsCLr=ktLi*Z>)N|BoX=SO z$c#s`;cDWnL}x2vX$7rY6}{wwL#VMZcH(+ji;UW~*M0z8;-npNb^&fXD$=teU5|S1 z3j(5zgj`YZa5oMgZgI9xD$sBb<(zapgK17=UG|p4dz>kg>3DiVS z(Z%a@p)8$pmlWwoR7T2h6OQO*LZMAvc_|N+Pn=S2l2AvNWw}PlwNTT>jmr0y`g3Rz zc?8LFc(GPVUjAj`QRaT34+l_n7y@9?e^$Kx&rbHci`A+axtGi1TI+r5^jrxlydfj_NV+~TM^%Qy zcxk!Kc$>YrUBAJcg!%A1opgrSOlYD#4oiRA;)uL{Ys_0C&f+2cGTC+rD8XFq<&`dK(1!iI zOgXro@U~XbW-KA5w{R4wvXRJ{X*yQW&3agHcUR3@tmbIMo;+X1nLdS3b(7_&Z?A8c zt6muX?6XUFRK9k&eoz@BsO9D4S)srFCB8ho{pe=qyr83uuC3kRrfep{V^wBOoSu)~ zD5OzHd>>D8r{EqTCG1jJBY4z2c8iAiHMq7O*7*c>a*k+YB5-m0 zB;U(4G?=n<+J>968QuY*B;Er-!VJvX@s)G^5FT)M;TUb!jEuoP(UM}H@Q@Ir-r%xc z$H3E1`c(aFfLt0h;waVM^Exj(?1AQs=|IC30fyqvK+0a{DuLH(H-VwU3cD?$(^u*! z)VJX&+4pqohb^ddE810Qgr!J*Dz4HO?b#coC4?1O>nyw042Jstv%)Da!bz+&7bgiyAu`|nrwxM zBpjycEW=gUtm*Y+)7uPAUYPM4svv-rgy7#zHy1Mk0{5m!mr>Q_HXWo^|XB zbi*pGn$}I5yCLOklUu6H@2vaF)CbCsl6eZ>enfBLHBGVzubirnI;pePu8UPbiZpA^ zL8U{#;QM9T&~LH%_V+yNl-dl>k#XogJ9=(SmA8+eZmZCoZBOP;Ii7J!r!vZV`pQzY z)2cDo95a+b*qN22teBs#62 znd9{%FOSu^1k$fH{O-_hho7}g+Ku$SS1oP_ ziW~IgW)Ss`%}xgKPKBzHZ{6N*-*#kSESU6oS|7wUs$}g5CzF~@a+6=P%6E)`b3!25 zsJ2KLDAw3GOo@j+^8cJth{5Ac=I`-0ZNBE3sziz5{M&UL!J)}-$hsK>4Ca6LzdY15 z07bAwKcNyd&>hl-Yq~@$W!=eqJ~^ANog3kPLnIIO6-YciH~6u*750k+2lN>V)Wika zK-6WX7pXgXm=(_Q)n|sp6h;$S9{h&L6`vO+(ktX8o{j`(cMeO2%o`(bvk$DbtO+Fd z_?b!sPnB&moWmEx=Z;LDS7!TLPCwBwbI6Pm$sTVIr6bm@IbRueOxmN9{*TJH7ayQ^ zJg_5N(a=ASCZLK&Q0j$v8jNdN@CN;m$;c{114ladN@tJ*#!4WAJm#^fWzytLy=gK( z`L2oHSn`|67J7x~e6XFR;^wgE@6~jz!5SiBYeAGv^mj^%zonF8e}0Ady^SEUlu=n`RaI$;m%Vo(MT=CPq97kv{nhuNoA=diQGZ&*i@;d*x>8P!4z%#HH`Rlccw2BcuHeoAhwW26{- zjUW5NQT2sSN+BIr@F%7SZit(D#n&R)=fjbawbz#7`i|eTSvu402-~I{_R4wW1EpbpQpIV9=VG+3?OyefzUDlxj2(ojhR;4A(U&MdqBa9A1 z9F@M5(<<=)CqM9iG~RzpocL$1`_Go!t)Z)ls)_cYfPw{#*({>cSk#%@H2t}bAsqu7 zQ4*p>ZmjIX4FiS6lWt0mit)NBIG6f$)rGGwrHJcCFP;1$e5ej6x)MlaCO(9$su7sX za{06Nwz0Eqkvnk{@Yw;ii?i%|D!B=V-io&Qr!SV*z?1o4gzosgE!yj)vvjv7eh@}b zpf4z>2#@Y{l;&sz%(r4UKS&bZ;6hxu$WtK+Yg$0o{+_<4+U^8?Dyac<2KFjHD~`o= z#8tI*AASY2CCA*+Mc?P=8k#ok`ZQbH!rq;2z zejI-O$og#L?4v11?t+ZjLfF*laYYMz`4RNk?1Nt4toe8c;LKd*wmGCdMe!#cO*J(| zav>|7^Is-6#0z`6?TJyZ4 zZob)!8xy+45UbXp!zLn&i5}8}=sBs6lM+@u;V4DR?3A4A3(hgcKn7jic_J{1byTA! zPGN=~p91%)MQK~dvoh#mjpe1cf%%G1>$~Z`va)yde%ZP&#!VODK8FAsoSQN(oRScB4GfjSyDzvm&%G^R_``Gy;UC}{)+qJm0k zasYBeF22)_2dl|7`*6PHyR_(d*kNOZwb@b8o`x*GlENB8G*r{K$PF`0{!MbMa%}A^ zyqln|z=d8x)xZqo%_JpP`-dCa{UQS(l!HTeNWP>;99731Xy38qicw)wO$~y9Or)Kc zYlb`P!*bUL!BxI&==t%HY*?ZjjyrQgf3m2(I&2fwX#@cr+YdH3-vWE6M7Ml7x>B8^ zR)u+Rq?@_KGD5Y12ZV9w5=jlto`fY3%rL75Py%mLkW!Jo(QS`giOs~?T>!69{^*Qj zcL_D8!d&l)Ml|xGJWI?0TP%Z`9CHxsk1Zcei?QTOX$yuJm4LMMsO9#GWv}@TAwNuI zyr1Z@CekP0o9BCIzmi!5)v`S{`h8kdn+tZi@T(K0pupNfm?=Bjz)qY40>05UBTg*+ zIC8FI*a(4gga{0dxFqTvkraU^5nH}O&Lsq?2Tn3|2a~p)JN}J!>?qUs1bZ6)&NoIl z*BoshHZ;nB7UsY#olOw7vnwB3^8vcU@XjFT(@&bisiY~vN5)$pysiJxes{Pe7!YEE zHiN`f7e-*K)bA!|g!=m#2jh|ZbxFwsr>Z$6(bZ(Q4F$m#L0%#Kq z!hKR$*)U9!zfngo6-OiP#nOMvD?Vba5#$#%&&10`%zS?Tw-qn{V9-*U1wD)}{OR$< zoc@1X`~KsW`hRm?{<)w23wIW)Z+tyYV0~uW&DvpPM?^(v(qJ;GDa{c@f$?P72G;NrYOYks6-$t_h)e7iW=C1s2!HbBQJv0ENhsLwW?6EBxdV!iE)sgMYmY$xi+Qz3$~^%p?%0U6YFq-NaaB`Rs` z-B|)Q3)#a-Hm84@uC*^$>>(#RL95F*UW01ZJ6KE2H*JT~6tzmSSNLWgPsIzhTlcZe z`zs{Yl;k-Ti%c_2R_(`}kLS(3wx?vVemY7I6V;4b4jW)Q!H;1LM+i;axQxwuY6St3 z_GmoGp!# z-$0$`o#bj?2kBr2t=Z#dwmD)OevMU&p`Y%kAZIQ&0TOEsXRlya*jLxs6JMW3n^F=s zP5Bb#t<$r9{rU_A>M=TScj#|&y4p z$#11CqM#Au=OS_4y?H;gs&M*Clzwi;7@8}Mm9}sRhzwaJ>X>T{0C=$67tT;3*nfY3 zMP#O1J%!XG(ht6k`HK8RyLE%uA9y>p0XMiq*OQ=P`+(1{uc)Tf)oesrd(A*dOt$6_ z;m~VTZm7?da4_lR@r7_^w-})9X<;-O@m6SHZg6AoOtkfz;s7RFyJM~`Wib*5D-Ly+ z6=K?p@;X6zJH@rd_go+wBcP6=oH(LFIuVE`MG)>16CgA0Gv^>N?osEU_Wr`HLh2oo z^riTom#l+9F5!q|#vBB8coU3>xJ&dM+5Nd`wnd|x2 zI{V6-Ft@cbaTWJ8F>`daaKk_#@&|~|#l1JeIvvu` z5B+j8JrgR%$8pA7=2f=^k}Du>b3hijydWRCy!d3A4PXAW7}dgiY}0|Pw1nh^L~HWH zelYILO;I6MR@kz?mL^G*ul1S>Kk6;j+&hI*7qwfop~KyeFlvV2xP5I4(N_83h9SbB zLp}?(*ec&Arwy;ChK0@Km4=l zF?5Q)*kJjCBo3hiKhr)^fxKCgSus5nM8uVr3Wb2|IIBRszU}^7OM^G!MO*_O-YcSN zh}*Xf9MLkz69%nn&Sk?`uH(mKU{OtC2D2LC3ht$$uE z`X>V>{p*y)|EH%c=H~cy$N*Qfe?MmBiGL(V{OJn3Epc|$H|HXK;?>5B)dgsTN>~>n z$a*CUWeIX6O$+-D?MQv0|7dMF3!i_5Mu1=c-gL1Co}`XYe#_LNB8nd4)05L?y#g!` z;02R%V5bD(GNb9ixeSFeJCUHE<8D7gx6(UC6So$|$hc#Fx9N?0ht=Y?aC|z5Go^wU zA6+K0p4d*ew5d=F;zE1Xdq|qviMDsHeqH3na&3kcCqZ-&U28Ul_g}zT+gK^sNe!_A z2jJa({JPzc`rX2UFR;0fTy9lUP;*S(V8w7iVKyO%eKsDt;5iF-lpuro%28*}ctRRq z5s$}5NP5dR$$I%$H3hK$d#gu{mHkc6CIB!3>F1i_zazZHAg#Q1EuAwrRw(42)Bq=9 zI+}WpX!N+`!}ZwgV|qQWoNF5zu?y~)ZE~265j71nT-Ni<5k@i`$kxC@7hCmHv=rDN z_mfRU7?X9ey63-b`}?O#a-OC1Am<&aLz5#UJ&0G#i)4zx&ao}pmzAhHWzv}e8YgUlpyyoQgKL9X{gbgr zuzPQZ5P_g(Vzjw`k*A*}7hO2>*_z^lrzX2+wtRAZa$IJ(Jve(mAAiIC@NW~Ak_u;v zj0qxzoer&oQtk3dtd$F&h1VD62qBt=VvfTW_?r^cDmn_#7}`eSpSc_JP{Z4Ou8D#k zc~ZkW^b{879C=d5+qW!>aL&^FX#s6sii*vjJZXxZQOfsJahB|mb+1g-bpQaJ?(dO4ie6ilViSQv)$-6$B;4Kc7y$LcJ6W6 zuTkmNh+fyDUBy3#xrU*-Wd3d;?N_{dX;IWAH`(TZD`K8N(qg-WjUTaWvPdMEr#5D3 zDxx2mREzpul6oZK`rYtgQ#`EP^0lGfa?ox-JL1A@#u+2bhof{o$NhI0zlkRXW+kmm zoHErQ6fAqha&|$=LV~2Lj9=33sBrC;kcS5kV&!+7$tEAd!*Bffmf(^ zCnXZM><<2Jn}VjK$NTU|Z6+mQc$tTbg?&v-nbybDxB0%>UMlXPvQb3rY(k7{rR}if97W6-EBudY=*2y;{5X?S`a_ceK;~Ym%QopRTQ5Fzi;1^ruQQ-wC~!3X^P#1%`%d=|YRlSncv!y@2=GO@6I{WmTfZ zHzGcz5h;Ac<@(OJ@N=xA2#p-?AO?fb5MIxt*{&Fc!8s@iLpG$uz)unNx^Sc%q4&rf zEXXp%TlRbr!$#pQy%WOV-5bmEA80<{FEC_1!j`L!F~d5sVZ>b`o{1|c^=*;iNRcq6 z#^E0Hq(tAP)u}w{nmvw?7n5)19r3s& z&xjx48an94c2~?REK^$Q4`F9jubJ-5q0R)Z1s;d5-Y@Q=B#r!ZzM?m_*~O%$j9SYQ zlP|%@D^XG%x@6Hwojpd~D8^BK^)L=s-2BR9RY@%7Nl;3*9;{Q`#CTTRch7AT)mBWx ziOd$Lm({;1Ts%Ec$Ze}+ulrb?VfJXH=|$13Dv+O1R(3n(ZjY+Vfm5s3pP^QFJ?CzY z%J!~FE^)t*HG0yh?AG8wZ-R;DV$c&cXp7tEN8m#e_(j+sE{7~&{I`i=8ICw~#m^Uv z@g)+iOe~|`p(^_0nf+iA$Eu$8 zLNJbqFgkgkneL~o8(zWIodEwY>8}v=cLZ&O)P!ggBvu@ACqq$!uqbW>SXgJ)+Jt2= zbVPMNW2GSZy;3+D0#>qZ&+G3`L4PYQAT~{AC*lUW(KjCau370c=vu9w=|@&=)+OY* z+)O;SEj!%oaSPf_aP6iVe)rKYFl@zYkkvr!MHoc_xEC;0+=Gc*M8@Go(f4kfH5!Mz zTg|6R5)-0q(*J~=!L%bHny|<~GIgDXbL;0(4R^r&@!%oz6Fwn#ZR!IHQ!B};woUIW z0c0u+ltJb=;<)k(Mfk=CCQ}m``jU-XQs@ep)ER8-YY0ImbaRJ!s3+|%{Ytb1ME3os&3{bj_TaQ9>JoC=n2tvP_nIiF2f zWTq>&@T@5)GXaUFNpX!ipa{Op<#S_MAYQlwo!}{9q6eWULw>6uPQHC-V?ulTR>Gr| zxw-Ct(&TG^coUL^TQM(TF<(aV0`~~B1o%Vps>ZR<&~{ULauQ+t*SJt)lAuymM9yYI z3q8&%m2YMzQSUQhuc=3LZsMA-hnasAASDe$-hRbBkp3As_T5G%j(5GJ=Zmm$ZFH z0_)Ag6ZyLdCO8*H$jbt~SIicP>lz@E#6wXq4IgPRM{|QhDHh)LP#z9=Rr?mn3PKj= zm`Kh|Pi#*PFEp00b7v4=s^C?H=To(-5kDex>IC0GXicS+;V;8~e`e*_}ZpH!Ky#fitDuoZ3<`b_i3?|5xi?({sqlKlAloQ!*= zWOK@VCIKqV$&)vhwx4WuJk?eY!=qYiBefe7qlRD(7?tWg%XTWnh;IjwT!g`4z#W@T z-o+y>?b1!xKO9sY4pjXnWf3@+V4Ysshw+W^Qfvq-HRZb+cIP`7ro5%|aqf#fS$%eS zE{ajC?@(-fuvqsRW$O!mMD`I)WSkFPQPW`;rPtPS;9JqW~W> zUEVlU_`ick(5|AHs>#Vv7cD`c@Z5giHF7P@H;E8zlka z@LTX*pOG)uYNtasc6yST+H`XZ0CqW9bqJRSYw*E;{0Tp)Cg~c*vB(@+FMLeV!&pK# zYYr&ME}Pfs{IrIf@YRRg4U=E%09FeeJV1piijB#%K7Gx_e3vl%E4|R`tf`3AC30LG zKsvbx8b5CKf}EJq>yl+?Is?|+vs`Z$B?wj?l({h%<9b3O` z3N}YH(BJ`D`GGs+2VM|{gQ;kEzfvJU(REaJgAMyMZ`C0T2gD&5cQ0Uj0v%xS=t{>Y zu~P&pA^OXcII2rt;YsbvQ*t;&EKqgAV6b;oZtc3Llmcvk=)O>?t8+Kwp3;32&pAO8 z&pkneyWyZuH3Mq@yw45CqrZbwqP?Rr(mZ4PbYQ-v9LYu&U{6<=uox)c()icx(o7Kk zV#m?)P?oS$OE%*7!u}0gbHEN!Ya%?%xO#&NnthQ}Nv;MuBr&J)BT9ic=AV)wQu`tb#8;L4%&W1R(99W-_?-*dn z$A%m=C^Po~$Gh3g3R6x_iFIPOJy|h2(eg20yB@dxFHC^>{Yrlfz z=wNjpb+yOmndX;d-tr=gS_JXJAt+o5BQUl!%uYLJxvC$quxh{|Ho`_2-Z_yZyjH|J z^V2UQ@~Tx-Ac3QKUW-qnYS)ffi&CLgh6hm|G?=l5KI?YY(%09R3okm9RFV=>vT$Gm zU8x#(*@?luqpGIePsP$2*ut3%7dyQ&oIFp1108M*+Wsjzep4hy(9s#3u6{{V`YVhy zX|WoF-=)cLWIZ??lTPn;ItlHAFi!HI&Y3|DQU zq&x?=09|FrTNh;7zRfn<+kEj-M$z%H7TAzo7oAtFrt8iv{~$?v*W*aW!Hj_&9SR96 z3YGm3UjYVcz;((^3fe@$Dw)kRZS&OD??F|lD?F|oJ z^lwM+ZcSolKd>5`vi&2#r*Z8;UgOxBH%$0n`RN)_28YIp%y3`)C9lPwN)@xO&( zh@u61!0^4r7!Xi=(|@qP1-cZhT$G*&Ti7JBdKDiU;s;ZIMA6)FdJgW$_RQ84Ae6-I z1HMd2{bJJKB|%T?23}Hs(yo@G7!kw`$$BQxeUVK0inyJMi0byJm2 z^o4#u^R?&?Xc+AMt<4wj7k^$^^&6pghl@I%8(&WUGqidL`y(7$BqBfv`BSX>8M7ra z;GoVEj`)tF00`zZ7AZ-N$)bXu1FX2~Ivfr5xRG6{$iR%xZ&+%Sj<2QoQXfwt-1EE^l>3c*Cso+vJV+Fc|SmNa=t5 z>vic!VHkAT7DGQ&oWke69b$vJe!n_Ie+SxSled1=kbgfiob7{6YmSjAq=cGfXce?o zmT$cpq+>;kQ*3UV+R{gPHJG*-mN?JAC*5UH9H(+;CmB@W|I_$sk83!>d3HhZ0Y*f& zpEYC>fEx~XfwLz9lKv`S9U>VOdrNh7lD>EMN<|{*_j|Pw*iW-ffmO<+0aZoJH{3Nvp+Q=#t6QEZx zLZCB~?EEjdTL2h{Nx;Xy`L8almt$GKI11x01FgjWblgxiGjXst1vq;N+uJ+10{%Cl zSgo$BiK~wGF>MM=53#}pMnPD$kCMaKm8wPS)S(cq_Bk@6f`ZW~^nVLZgrQBZTi49} zi`&zBR^fIwzhpu9SD4``9UMMLSu;I+?d0-iW2JFs(jnmef%b>=*EW|?vAPIFaygk< z60AX#0Kee`x&ZnKEMOf8fL)}Mz2;SKxGW?KJp1OJWtgl=mP%@MH%cD+00q8h6PWO` zZYtGqR7&O<$k+?48$dFU!JOyyGNB(pTB%kU+G4L%T&U5#lbfk&gO57y&~V#kwqdUv zW=f@3AGfZ)u23A0(`nk$e|+xIskzjNvrdi2Te7geHV`k|8iime#WuAANa~K7VPK26 ztjq9NFzHR0vQDHYzfVgrbho68F-K_2&#=0l{f=jypp=#o-_Yf-*3EyMqf*dnebQg3)T9q9cL_<41lK&=fM>Pu=KFmdyYGTFNBd|!rqkp#T+hnk;Uxs|^!%8scFQgYBObQK z8Cz)tOAfKHs{XS-Bxs{eH2A(%fthbNgEAo0$|kklhQP~pU~#IUQH*Z;(N%Q>e})RH zA9~=IpbwF#T_E7u5bJ?miD}$#>ul2Xtf`87qgV!0ZpIYrYSgf0;-ieIi06Jj$0FtX zc*@056+eUtUt(k&2KLDQLu`eY>tHAIw0sy(hUryCDN$eK0e+Rt8U}SY{si01m8JcB^?S>8`_J69d>E;$PESlf=4lFHfHyXO*SzA7W|4(Fn%B9&|14aWEcdD+L%cZw({MD|6vODD|R+7;EImB$h27X|LzD^p^4 z?2-H+8q=~a_(T^e&txPn_8v<8nVZP5>l3A%f%FF%<@+r8>M6!|zuMpsmj{zxwVwSU z4!15nGxz98m|sSc+NeGw z*#LRYL9PP%rVU9GVd_PZ0|9S+&LF3*rNf8ktX5Iwm%+zairEV=KNU7_(5?mWSHIm7 zJbXS7d-lLUsv+c9AuvrU1+Xo&(m;YOX!hAkTotgt9mJeWdA;9!{Jni!iIn#sHjy}( z$Zd^fnUqjlZnNuRZ_biHtEVRc+o^D#sfeK3(Vj71!gj%b~dof|5qN2 zf1ytQ6ZUlb!WbnDJwE%e?wE6S8j92)&^;j&*`k0VlQM*dkO`5&q=6G#hmva(0VlS= z#V^#Gx2x@{F{;#+V{{M?p~cXYX|v#t(cRE_Gk@^=_o97JB3*8Z(3zlofM@fVkqcb6->b>%v~3y zF0_-4w*S<3Z4)b9{l#eEc$dzAMZ&?eN9}~sn`4J5=qlX8MX8-dJAI&W(m4pRFX`?C zXlRqtv&9rVev-|4a4tuch?vOQcXoo{>;lr(>>pBYK9pwZP1On>9G<}c#mv$h;Psl?QENaU>%en+c&Qd#og>5t9Gwnf*HX{?2Juh zP_Vbix^ax+9dfwZXP}%!^>C@YxY{T1Z%?&par)w%@#tH4^VKdLqq2=LP1dIp*QVO} zvmTg!yRBYl6R>iviV@D0~OJwFmr##2V`L{oBk z0cmrbBLv$Vi##(DEiU)tH;=V3*&EJ4VAfi9$xTFz*( zGqt3LmiB@a*b1p8+}IYW2idcvl&fZOsDJKV3Q!3SPsk|w24}_;JkxU96+G3Pva^g+ z4KUx;j=A@KOnQugawkW_QA@&8mMY^{2WMS}l$s&a=krCK@CH-5urUYI9WRgEUdSoL zx%E@sksKVkjB7h{tV{#ST-yI|DI7bg^pE-0&>t1WC{vwmf_CazrbcJo)>xkO!*=p* zL)=UZWvMw!qucRnPnFRDh-9%}VPa}XtPtY$Wj9GL@SL%kbNCVxkG{9}6JK22lTrGT zE4ECiX5GfVgMe`*Cnj%tpeL@(;B}H}UnW&vH3Y8xJXNE?^-Asj^$U!w)|AvkN0dae z#%l^1-+60cw6aS;Luz}(8wZ)R@uS1g9kykgqeS8v-wLL zS$!aU^qU7EM6y`T>VYN^riD0R&%`U58o!ipe!n!@f9k$?HO(Pu5gsil45~ zr>SeQ+c5ksEN7OG4T_Zuo=hyHFx)`4wbq}Y*LV{JX~uz8eZy65hC`IheiLUd5oLV0 zJgcgg-OyR*@XMg^$>iZiod3jc23vcTnU;7N#vGfEK06)B#({rmqC+ z}|Bk*ro7WMZQD^7z?uKgB@=uf!d4jlP0bS2>B$5ZXl1 z?!V)7F3z@TFA4@uHy=S!Sl>c-B3EvIeyQ z?Gv&Q&2#z~j%vubhZtOGSCz6b^4Z~41mILN!xUML6N48X8bV;h`2&AA)w zFnlT)s=|WvPV6!#4K*v5DzV0oz4t;Bl~EFBGaS8*Ma~9m}U#6%s%Jy^&ukbmn z6CHC6xle(-JGj$#ZuBi8Q^oxb`EtG7DFTmBa&ql2Y+eXnIaxoBbypts>?T&X0W+=L z^$f^N>QTj|rOnCE6%@VAc31l<9r@ZkVf8qVt`5ha^(GyvU!eWyeUZ%$s#49xf9t|9 z=oe=>Z?!@STB?hZg{UTrSA^$?V(FGq|4wBGGBtz@T8s3fui>ew0dW~&UXyFOOLr=Y zWF$z^Rh)`$3#s<(wJ*KSLx|tJC>hC1!>WobsY~6c z@&)X_0qFz5D_Jqi6~^j2Zm37jlkiNi=sHPgrN{X_m~^w@E536;Lz*h3`^{G&%i~7V zH3TByV8mSFiQgFd_^1xNl2?cPJ={!0t&%6XqWvq};LIMtl(sOz*py*86{t}$2)krY zk5H6dWyukCO0Wa4XIQ~eYi@mBfwBe@%Z&6hLaQdIOQ%9Lyu7A=lY>m##)J(&ODuTi z#-kOYnz>5#c(wa=dEM0ioftzVHa6kPV52qx_n`34&3g7A*gCY_uG~as^xc@JnXXmp zn9xtGiMbYY`8@SIETBt*lk-jWuM7sUKLhWdVV%~x6LXn;!{E-w#)9C(<-d|z+#2ix z*=D?ggE27?jQG#r2L-##`onO5p^FP>^=>Bkc z(^htYJkrK(tb<*i5++5QADMhtGD5H;(kvz2Zx;tQUDyRT?fvewiKN`qHzdija3koP zrE9M;us-z3Ydwf?_Zf>5j?XP11yCwXJ;QruR3(A*MMGzJ&Q&4aD|13~#6@Eo(g=aH z`J7-oWf%JT@}8@*$8<293xVZYcHb&#IeTkZB8+xh_LBP~m>m$rd~hs~h5tJ=@caFX zjXI9q&dHMn;-Ghd)Uv_64n!yziMd48BW{jp6JrTys9do`Tmf=J!7y=LvSd=Klavu+ z=mj3z&Yxo;Nun0)J$_nSLoNKmaVF~Qk7IMVa?gN~JPm)6=WxpFO%M)6E*vndbfk?nFN*i{zcu#& z;uWogWdC$iqw1tUWSy1ewM{Kl%TxF;(B|x`0$06IY%6P}IX zN>84nx1w65d8|*Uj1>#Mu9u79>6UJIawbCU_`A1txQRbxDzatq9@vuIT;{S+oT!3) z{(-Em^~(K7@<=VSpB9t9)!;89zGtw?{hozK#%^08(AdR? zX(^tRo|KaeadcKar24gnMx%{?4*lvipcD$LUA~Z2^0Q+@h$P!h>D{WQwA@YqhnQ1; z$FPuSV{VIaP=|8UB)Y_kkV(*M|A*q7x3byvuJ_;^X)+T{d=Ebh4Mi7bK)|3`jw^Px zH08=Y5s2zSodK*9(xH?B2%52ui|U29o6a!vTZ{R!KP+y@LELQ#jEMdx4WMp>+eLm| zOk}1#Tsy47vtqR_kkhkKz^{@{wc?cj_WruHd4H{w6>|Q9oXJMh||tIxEUNuk~(=5_ER_w>mZ=b|Mo;S zSWwDixy207qJz)SK!`)J*Jp?!plAZ_NW7y<>qBd#d=WkR zki4Ty&7kA}ln=I#_x6pVqYLk*euCE3i`*b@qViDj^1igAOGi$K>e}W+^Ji>FO4>ZA zow(iAy+y}6x5k3Rb@y|}duW$LYH!jC%UVt2gyETU;$~H}j&kY5#SpmuM@AxUola`+ z-l2q7B7;MUu4`7H78_d5a|fTUwQ59)YE%)vgLr-#1(F@;6zUD7g~W} zrV>I<#SuHt+_R?lGHQI>tuZ8O5eED^%#`6EiY z+~r*ziK|an=J?i`UM;C9%;JvsBo{d8irwB@Rs7G`+>2*&|KbDA=ju2?NuYCXeGAU| zMha`K$oc)wy^BK6><}!0XZkx(@>M3)kdee}@zf@+tS@jgVtBp6TFC zY#6a{|H}YGiiRKniCa>4rrcbE$d-|s>y|*GGGHvNz5)T}n=PEWBR!uO%~oeqW;2M> zkw)iiLKj`Pw*v)Hz%}EDT@_scue-pW$ya6qGrbZj-&1NMU8FZChO(cL9Ro3yPkxbs zT6vWrTRKeLkwzW2)U4JoflCrlYGbv@mdzzMVPtni4nYz%sN9iKZgyrIMwCd$zML*L z8iOWg3pPcMIHaasFQz|1@v$7{%o3Auf15VYjNHKibSd=Q^;OQZDU76SX0GBRdr|J- z(7-LVIcSFQeF6>w;qT}ZKF~}blG%@3S@WHd;?7D9gCaVX{0bP%SyNoNsq^_OdoN2l~4GF8oGb=t{3RaifS(Z#l+%GnrU#bi7(ZMuNfg zP~P=YIQgJ;1H=QBB{~M8&BD6bl9;Gu4zs2)Xb{7nxgk~Ah_5UA;Uqfwf452r?BFPp zg*sj!lEY6b%8lE7`*@Ns-Di>f;hcxw)d+G}|W&KHtvD`NuSHPn7nLD?ZQe|laO zC`5o!cZxk9=S1w$l)RT7X#HD2-AepH;}Z1k*yxP?$Ej0PfdyHH2J2~OwZykFMej}* z)NmbO23WNX?{YbkE<})BFo58XU9tGqm8g_~hCE4rK}T22kET~nEKC$cMM`TGt*f2c zrsb|i0k0qO$a?a`94*0QeV~4SqF>fSj}3HG^jn>krQNj6UdE%&JMJ?e$cvALThXoa z5jqrk=un?Z)-qa*;C2cwpRNm*iuwAGe?6`F{FNR&ostKKgIpi0SMNi)k3o$N`xrpB zHvO)U0l*@q$-2Q;SsfeK`nMCy&2Rh!Vj+9PxMoXKif9f-7TEkt2eJ z+2g2C;Ak|0k^D$DS_z-4G1x(^GThSo@a!pCOdLB9Z^eNWbaX5PByd5NCY6CE-OxZ& zSw}@09(ekkj9C5h2FWt!?2`>iRg)pG+IAh8FnYxnxB2H&UL)5~9-imdjEM7B8kBKd zj;>TrrMTLL#MZ9<@;K$w941+mi}j4=eYoQ&F`hGYINmU^g{X2|KXG`ZU4Bqw@3M%G*6&GY2%E%8z9+}ZzoTmcy2n`Ih4b&BkBZ`#pdd|qe#$y_} z4;q0;0fx&@p*Lw0h}x0kR;0i2UyjWoSdLYWGQ`e(>re?sF`KY`ebIP*83Ep0m0>e+ zQtc8DB@)X^Nop$^OvspONt!9uRR$`p&i>+V+GFoBsxB4z@Kf4Z5m2xETBYK0R6F4uh2Eg;1Fy(Siep9K8(%u4d}o0W4KSIGiMM5$*vdg>xpuKOE$Sq%wx|F|WW|4S3~r;*I9Q!rZ~??vr2ZQVo?nzav(r;n2 zbxuInuptg)Dk;doDl4D^2`kye({HY_$5t-)H+zYiA2(|zQ!x=dRJ?C(h0S+|+!#ax3V@!T|{j-UfwA0_emJDi5R|bTX4Amz;dz&@F7kanmEUbwGt*tyR_Bgip2<3p94` zCM}5fVqFI3;RyyfwR8CHSy87e(}NrU0VLXNhG83}i z6Q;jUM^A>8B=bTA5stqZi|W1&4-N~72Nl5Pkj(WI+ldOz36PFAl)>)g%h|zBA#$+S zAcU9zsF&a2_Y!e50+$WXEN_a$v$=n5sKQX~Dq-@Y+uUZa4+X{!V_uYWNV6zuVCGtb zUQHd!apDY%>Pe9$P^Ku&mxeXld!l?7P$4TJgN2Vr8F=`-&mdodlh$9M*AWpJL$@!j za}DEp?~9wgr}!?_hB}7TvxBwYi)bWPY2r+%v$fp*lZE_x-Vaye>8oe?n+a z5d}bZcmR#Wg(BI9G`hb*_2U#GuYqrL_ktp6X19~Hq6(>0`*Gn+Geold9iDHUhOuOa znM?I3UR^O3ai{8a?I9DDeOeD|8qeboX@Yg{R!a+2PnuMJbvWC*u z-D2K%V4ni{@2)Qwr10-?eWL@ivFOfU*Yv9paaTXPu*1;sz*h_$mv10fL=7B-IZr!@ zhBgq&)74I{0@)D$3?Su7xDiz2&U*-lN%DRh@oXX(CG&6evVG$Sj_w<0z&ffQE3hA3 zmt$%P)=eh&;pa$p$`FTqu!ZyH0OS5Mq(QdXbltvDN4x+BEVuWLX{iefFnI` z9gw;b#!@G&!J*GGCj z7EzWXMm!;#ku#J$&|%4+$^Qh`421KCwQ>Y&+cU@du1iGN(m&_OOBckOhv5%LyUTDp zuvLd~9muf?iMuDzhUEUstPbvLY4$V3CSq%!!73Qyui#rGK4GDMZLkqi4 zT<|$$A8%j;P&3BlvA(d?WrWV?9&5AmTIv9HGUd!Wi8xK%RHT`}arznVtF=-(lq%~+;6w+j3x?O96&-55SX$jo(9U;r{;-WGC<3O`vF>fOG6j7 zV##d~j=G1yg}oi5ej7(ZuIS1U(?_^lE{4TPH=Nw{=!pUeLhp=Kt)X3gU!@^Nl8EOo zHL|p71T+C_M(WbHGJxRw8`EWztj2M4~UsA3YqZTa?kD-xqe}U30^??*$fwH za;PZ~7dM$o8(CG;b_reAm{_Q-s;`-Xfjk86V4}!HEKFV{G`Bq8wNQAmiIhBnx~32$ z!*Zw?ly?Q3wvKaBRGCQ}PY%$}C-0;g;(0+I5??yzG_eSciVl0q4m)0^ta2bB9oyHH z&g9UiA%p#K0G{jR#?Y6$3}$+*dHnbd`#sZ$%`8r2J)E`T-e=bmLv*M$P`znF*WBe^b6OyZa;R$t+s5Bw9anp%Tfoeh>a^a!fL*eqB{+C5C22b-IS$hc{srSepJiG;APM4xo&w8A&I>*oWkq^p zqU!bns4Ir_==|y8KI+=0pOhN6_KYv;ZAri?+!82wv`te=?!`UcDTx@uW3Pcez7F=;d?j`&7@q!+S>u*8J4a1= zzsUS$2UxR(&%_&YNev0y$1O90Md)LhHwCkRmYd?p_89Du)>*J`)!D&)?0MHEQxlS% zN!Eq=`jOhOqyV}Np}NB&w_qAPcJmN7h(L&P{NNT{cWp3a3AU5NsA-{O@zX9)Gb2j% zFlq`Nsthw&8{rRO53{4tVSH=|O3i@SuoJaG^JYGhEMX~o0$t(emw}^-6;Ue3$cp7X zvRkpPvdiOaqvcg0*=Pimw|nOzzxDe zht@4K;tDV3yj0(O&2LGtf#0(5COA6t>%o8j?hw}&G0MBQ>ge%eG91qqWyRKqh740> zG}!DDs^kC{D%#`PGft?GAqJ8gjkYJs0d`9qTMIrJG-~Sb8;t}IeKJ_gNX><$8dB

v#p{~F35#W7b;>Gsj< zazwV-|GXkMF*#S*bYgVLi8P(Xi9YyUjv(e?A0+W0jEow(HUp)XQImYso79}Q_*JUq z7G-ogFK47|H6evDPiHhhu%Em|zfQvFF-qONm+*Sq*kT&bvOi=Zs}65T0={N@Xkvb$ zu!=dk?fx+I$=s!Xu+BCyUvM{EF{3cqNU&^<-l8oWr~D!x!4H<{4h#vHO%tjyPJ9ST zX+XSTAnjL`@Ugn;y!6)ABxQz?hKTm4CDNN}W4U^ZB6iNmqkGY)Fu}Ia1w3>ABE(aG zjZUa;tRmlfgl}tHPj9lS3DsM8E8@A10;g|Sctaww7RJ$8ifmR4+n!y4JnM!Vd8V;v zlyF=8=V0coDe@C?TNFC=z);9}H<{#90SgS}NO%d1W(7Jbc96;q+WWR4#ix~wlCL6N zu%3wGPD(FLhqF%;X5OXxmPBQH zwN<0Kqb%9~;_9&z_=Y*XA^q57Z9RRi3tRJ9h^et8ambKrfHi@&`)*Ut`kNl{6EWbU z6U4P8^4vGlE!~;PI;<|6=G7<=gvhKizHyKUUWEw$g6BSw`CbX+3!eF&DHJn(yH1#h zXvfNCNOF-`lBp`FWmN2+~i?ne(CxDU+>vMOxpEAwtuH6FrvnV#o zTK+aga!NF=xK?vmpQxU6LNo@Nop($Wt}$BiR`-{J@mNT4H4=U=@VKGDn_k~pgZ`PE zm7LMkv}M=KW+wEsHCKHl?SSL>7{_eL=Du*Bb;yUp3-IU(_XL6;F$OX0Qvl95^wlKn zWl-h*$5Jn*@%f0IakMo<_}jmk&ZTh(K`K^Ww=iL`{8`~M+h3WHsuq#h9(ukse>S9t z_;G#ygkO*GJ?qpdUrtO9>Rr*~F3wvogUm+Hp@VwH-mGo0b&p#vgR5{XwH;S5XA19> z|1@OgtFAxwXq;1ghtHE+W7~ctJ7f<@|MR41*ZN%rxRd;sz`IUS5qjUxO3C$=o4;{+ z_t}3k&zah`FClZ{vwobn<=_YNS8+_4T><6l&LOTmw1$JTx%0eK9f$XMrfu7}a8M^X ziKF>_;>k0vI^N!MNNY|?HAKlVdqTXqdEuZza`K_AQ#W=oU!4H$?TL=!#Y3Sw9_vk^ z6L;`bq)EckvqU>)4?mAWve1Av%iZffCW5*4v@LWhl{kFX#iz3g5Y*ccIUA#vr9;Q0 zlQ=&zJQ%Lg^|kI|hYJ`?tdgWwP_VB~%m5Wg$34^&>>Q(W%LuGxkvEg|87 zNL`kSRn@BXux@^0l~c6wNf_1DvTMa;fvb_I*#=I%37xdOz%>OYL+@-0#H-l^R(oZ9 z9!P%5iQ2Yb7RqS~lrL82n$GT_pd__O>);chFA(Ru@~>RK{7NV8=3%Bo_T2&Ql^;2D zZ5v4~A@pJ zmwl_H=Lu5SnSdhd1+cYrmV*)K0PHkDZr4TAcgGe_c5l~ZYcS|M_rbXm(J~Fs$R1BS z)6^uDqFUfA8?s$0>drCrG(nJVlQJQMbQurek^vshauOJqnFbPDOM)RdfA9E$Z0vhVpvZbOMk~ zi*}{Tn9Ii9J+n=_c5QVW%?6f-{|fPD)6=~(4Y|+;`r~&qx73H~_Z+Lrci1v#4j4xr zh}eOV`>%#E%#09liFC68<0@h;Bi?oLw>J58sVygLwOrCqXdZ+9?C<=y2nE`bBQpQ>&o22mq4~*;99X7vv0{jT(Ifq!$^oCc* zMt=VE2UhQ3#lc!_*n7hLNCFMhY{+|p?Gg!i2U3D>_BxF}qgsj&yk6NF?nc%X?|eSF ziUeb(ga7@x3?&B+uM$l3#GmVe&G=d@SPzY}nYjZlXl2MXwBl`~p}HZuf8-sJlcu^M zW;#CKg64U`aqH?;Yf{n0IpSxhL7uUgBcC{O(u7N9GVS_Tc=sKgI}+Qf7X8A1b4SZH zaL4;|D>`>H_9YL?PVeTfhI8PqC-1IjsCIwUOFX)@_r;y>=c%5OyPkf#gHbQ_=oj&u zJ715WgRfBET>!x#$ICE_M~^Ho zeaui89ZF+!_MYJmYFUR1MbjujHoFgaeCK#hJAr*rL4RaUi@lCkdT`)K|s9fsG zwL|*>JGM^?3Pa)L&K|DWgRNG~EIf2C@L{}EPlx+Sl#2Wp6=T;AMIPBR z36cY^T|D>ogMuyv2|L|qvxH6nYQ+itl^ZA+`YqwV;FO*}$29v2y3oiJUPSDNGI6A> z{4HImBNMdbajio2UC^g73O0uAy1BIxO zB?e@**kzO>|@ z9URkQ^$z~}DX!+L4T9DpqnN!0uX*UzQ++;zwJtBOcs5?lWp_pYJ745^2O4wjWEJw{ zA59I&N!rw3({)e1^_fi_NX|hiWNV*? zBWe<|-#TO=4h84QaR0EQUdo9|-iLpAr0K}XCU5P0nc=^xVd&QCj&YS+isJ^vE|H5dXW22k0*I)u^B zKSYCm7fU)$08X29QKG`QZSHx1#%y{l>V+YZ!(=vxKCeb$)gg`5#dv(5UqI zD*BT}lW8;B>CrwPTMV~z#F6gF0Uwkn7J9tu8d`5tTu>iVJWx#c4r*>4v>Xq#93yJ( zQKXy+YQ%$6HeG4@={(t=a+Rr}E@06;f1GzeTU9Jh7CL0s=e|%xlPxOm>gm{qI8sft z1!0j2b7+eK69O6K({!|ivHV?O=;UV8Hed4m1XIcG*dYUOK3>b){FObS@upZ@?=lwl z)#+xiT;bkv!d0A4rvl*7Wx4T4YugJ^ei8rX#y8Qw8|yr`4oUVhM~WM#x+YK*gJe7l z_sIQTzGlX=m5D6XU?Y~z^fHx!g-s^*U9N;xb18%48&Fitd}yYWIm_m))C{p5kYZLX zrE^%DD$?gD#nnNmeXO1_iU!w8)KKNoRaI0qHXGx1AF75A0U z&!~w!rcRq%8))Q|_L~uFLtDWAS}ERl26_hwDvRvhr$cl?zvsNJsRUM4``xGEb!}LZ zEP%*MUxt4;6>cl72L=HVu4M5%^kVJ9NQ`^xM-7&HA%;f{_Zcdhk7dgDAmN%1FyPD) z@RT%^$`#$1$AR4T_xMTla<(xHwWmeap>eBGFg~8C4JSlZt5`19i3M@Qo4Nm*5&I#1OYRFFo{dpTougVJ-1l zPmO(r*|0LMz*$j^Q;#&W?b5IF{rG1otUXPvy$QQ(5w)EVx{>BrS$dku_3TnxxK> z?JL_?zMlm+|0%F1W}u>ZT?Zurha%Rx4cD376pkm|=9i|~_{-RLUh)0*9NcED+q5y1 z6?8rV%x!c0ab6tW>Y4kZ#oOiq7G%SXZQc{zJ(50$z4rItIwEF{ZS13A={G^l2p#ic zo`FC@Ht<7vtYSaaKzsCnH1EW=<-oD=W8>dQA=Yldh68`T1M)}x9Ic+(cFOTEag%=a zot)za-R+OHIqu$WE3~`96kqvKUT41T1 z_ZZMlDY`+Eq~nvRw}z}_7K!^SiLhiErI@Q;4I_~ht!4@{XqM~H$Re~u-|Atq>_y}=>-F$)5!V}f363%SdF!V-6vw8_`qC(S4!6_NS&Ok-Tn3+a2Bl-LOqI9j3!@AcBwy)rN5&jsX?YM*rNYb;6H0m^4y4P^XW|1iL0d_GVU3IavgGU=D|cW zR=v;b&Tk!>It=F?n)45V3m`=Kv2?5w`9Ov7TP^Pv$D?mRwr(>hhL7O6>~gwx~mC6L$Rem$X`Fo5YVwryAOpaJd{@BIZq(l#b^> zmL=7*nHV%I${uO_>*hww0FrlvH>bEXx}LYFK1%gyX`)M&8cVp)6U?5P=VTENf4Ws? z0f#-N>EqR7(BU_a(=lx5;u!~G$YAngmhh~{W0th<`^T*k12YAtl75&re9piB!m}Gy z0^Qj9X*@0bp`HDIyD9z;Zlth_jg80uBES3}Bi#REkcQ_9M(YY@D+=~Jl#~=V5uhvz zh76l~_^JK1zrg(!v4!(hG}VRj#YptE^_jGU^EI^R~d>JZ>rY!oZk5e;?luXc7}- zj>gEySl?LR@E4FMnkbkl7}}p))G;GNePBa~$ZUULX{X=+#V;6Y8qu5i$1HIH_SY}A z|Nn+v5yk)a$NCT0=6|-wHLGp^2TSbVHtAK%_=K20p(03RAL*C+8>OIRa}Y|Tg=U7j zru+nJdr@TOcHMds+VD**TegF!*<(MMS(*U;l0SX&{5(4TXCcn)c9X=0X~tzBeEZ9F z_sQqXO_tYeJKMj{k4^kvF$WL7az@3$;r0T8%n{HLq31@+(%P5&SLsOsj^Mgt+5>Gt z!oLKhA;KjH97y<)lmv+5k)Z9uOf~;%qZX$BI-3TYi?IUI9?cZIs{Z5MMv%b)WUs`W z5##}B0cJsAM%;vBwuawZO=BrVDN{x|jdHJd$7-aCFqcwTbo;?REl*uNZqfLa@D*Z4iPj$!&AABslMkc;doTNSh^_ZKH>66D2L6Ax7;3|@0-O1jRqSME;6B1lo2B1 z38}wWhAY8iWhpyflE?k%>YUkh$2W&&fiUK1W=azZPo7WH=-#RurWw+|xPPjwv|bui zW20VW`lu&Fo9aYcXK8M#nw{1wqZm)w&KYUa;)14nwyJ??%PO2REB(g;^@)^5`IoaPoM2hn$FO>}*9*v?b@7t2jl_ue@N##{;)rM``^%F+>_LB`x zSfGb#j@=R)fi7#T+!cm{SjFO3m_`sA+;;1-Q!OG9K)5}!jeqlRhvx`>ip|T3{7E2Tn@tgRrUVLd~tLFU*e~%FOv8TT=uCKg)qxlA< z=-gKK?FR4xq+Y?kdiq!FA**){Sf}s`tN+=dc;O3pMm(?U%>(}7`fKbeftcm;leU{d z7-&Ims?`;Ol3Z>v$P1S8>-5u-l1i>+Qya+rLv~KCdjUfE&5Z%~l6qUkuh-AJq0RR+ ztFZh2>#An?7Vn?YCH#$rPt>)Z_DhTcS48$w4k`Fd9<*6K{K;H21P3Pw=*fJj0revE zKVC!SOtCvqS^)Mt`Yp}KEzkZd(1Cjx$anzpHvOL<`n?!WiQM)=Ul{qej$0PxF5#9J z0M$F!f>8eDNUHL!*IYy*u}9d-1V$+(Mky6WV30$|2#tHXdoD?hv^9`u89HM%N=ZvD z)l74HBAbq*qlSL+*0>APz>=(^XBphqcP?w6Nk$Nt9(s)z(Uzc+y_GHe0cxw?(|=)? zA;5uf0RQ-*1YrKRKusdnCN?Iv&i@gz{s;2-e{akGdrPiP-Tc{-aYlPLi)1ow^OITx zQBf(@A`!@sG8DjGiBDSDW4+T#pD$fe#Tt@J#fq)7tv90e4L-@ zecS(YdFuD;yK`&EG;YMs*dB29OmO=6tU1Zj^L@MN#Q#;*SIjsiHWbSl<{M=g#d6>) z&feF9OC1_zPJzN_7?!#(Pod13Lmn7H{K49vA*SJ!#*$d&5ycYQcpUD?9bT&b(3E?K zV=&Fci}M7~z|VOAc;M^q$rnURg})!+q`U+h&GQqMgTRR$^@SA)|3;?qH>W0?0HVN3 z1>SDJKt-)q!;F4X6Eh9 zB1eI70Tbfsm-nmlNf(h`Pb&)sN!Emu!p15!2sNs}zzCxN%elf$7(o$`swi5fWb=Ye z-UtWCjpJh@6o6>(#{mxn*|P`Bn^PmA4;bpBXO;{XTQhhBY-yQL!xFPdz&%PpmdLl- z)K#~~sYbDp$CxS`N_r?eBn_@$&fTx2wK&=-uT)p1AZ0UXpbciAD1i+NNl2g)5jW*K ztTA%@8E?RI?oAqVHASwL!a+@FXc3D`gh^LbK})Ldiz|_wzz9DgRR=psCl80FJR8e5 z*{IvztFv+JreFhy1P~!R+a-w=32UQ~KH=H1=8_f*PY51=CLuRm-{TRNXuTeEVAP9xl$u|vXTyi~ z|70Yf-vwD%Y^n@!{mD=bm*v&gCZVL$HcTfFmL=*0ke-fulcy*T7EqpEuUmGm(?L?WRBY&W?zTg9^qhx>13oavdNE0Lc_Jey;wz0 zTCi1;+1(YV;qcHFPlGL=F@nh6Rbdr%GUyM|vqHZ%CPL<*JIR^A!!KY(hr@9yMLez~ z_2&|WLm*K%Z*`b?5Z%3+=9+%*I=*keCS>yAp`@9f=?Zk&#NyAOr7x@Qe+;zW==Qn}8w#B^uEJ{K%u#Jbu4 z6fbe_4100!jB4QF?+M}I18`zv9kNEr*ryMavQF+Wd0zm~czXN4V{7f>#i%sht%peA z`ZLQ=PMfp>MbVQ#${f`9skM{#nIe?V{R6zn3j9anZhCHhFZ^Ma z`mM`B`Ib~lF0U(QW-agHQkuiWS3OS&ilE|}W9ONZ|2|zLv3h<^3E9n6N&^!hsM>v+*VC95gmax;9q{8Z8Y4ZeYnslm?N+bF)z`8 zwQSq|z<(w|>e>dTp7g2BuUU@jvLDPrTh*=nX~7;MoE3q-s0vpxHbON~zqq8XO?H_f zu<8b0@d&N@vjLN0ZS0wS-JC%2%KpfrmaHqZj)~%wn%U@ERlxMS;+@hSs9E`SdayXD zOEX)4tTL|`mIAji;es)tT)gQBL!t%jA|evUC~q1wkQGZ^E_oNK+cLn@T3$|cbcVam zk;;04po$8aRVv_qWzXk^UZ4{f+0Rk@(jiWhk4w6mX3esW6_fgAwXDwbMh$t|s?dX} zN!NPP&u69q$ev^xxaQv8V6(j!omHOi+@ZYc$_%9Lmf6@;%J@iqYy8n5zWlA?-3QGS9H;m32 z7gP`Xi%}Co%ukO_3<1Ofmq|cv?Rs!cN~$SRzaw@*)6|?Z3`|1^334vLbGqoZ?6%fZ z*wcA)-btsYclF_GM%tJ;UH9XPY{=>HRo7-U>urf{&_C_brB(J9*%DbSLHU znak}<5=(b@XXT44q?@7Fw+Maj&{(HZJSVtbKNc8iQEy$D0yt`L2p5zJjy7R*3YOQU zjioYCiw;$tlMGgcOjrhO3hAM=YG&+iK}al<#d~^N+RJxoQqO-1Fb=%5r5*ySKqtnA zPMc7HVj0gdh1V<-$ybGERmi+;lgOV2U6RFxvWefVJgQgu)jD3dD70x28rLqmSDV~= z!A}ujZAy1Nep`q%qOs0KrhU!z$ZiR#U^1GHAv8p z9c59dJ|>@chpTrS|N2SfLulkW+h4xbE^lKM`+6mi*N?s6LvtWMByVT(7mU^%-YKL- z{WpY=ZVt!cL`)1St_zhaQ^U* zJ`3A9{A4W~u7MCqbiR&(s6zJLF$n3lCOHb4paTz993$?cp}+lDYc-pBxP0wLAdC{u z)h=c=m3_q)nzrnfbP+o^&h%6#*}@Wnv?pH5V&pgtfdwZH9Y$#5!0JVGZg8U$kM$;D8nWTI4s9p_!j zZS;^@^}K7NjAz@^{<_;yvGsMU>PtY2Qln_FJV62eaXl&1SOyl{3jb`o)tCsR%%tGL zA;g<_5td!STvp_FCiuw_v}D3c8shpr8@p<*;6XaqrO#OHR=m~<358lV<)nWlt2rU8 zFhGz+ksfyx>*2HuVI&42K3nxyHjDF*tQgPeD-%(R49EfZ0;H8lq$5iN+TZ%;%*|<;vm(xzoEDMTWT;@`+`{` z(MCfhCoSlagL5ae)zBsvDg3h*rae1*2pPi!8FD=%Ill4{i)EBGB8jsqUj2* z>c#&o4PrYA&C|sHqI)OmKwBJjgSVojoMp;qF^eW}k)*nuH?nc<&`Ck+jL)aJWW{RS zujM7{3yM$}@?Ii&7FRiAh`C5eF>U1Yzina%h?Z{y#^T2Nk|HEa5oW5(m<5F~@J`}V zm5W@Nf`O!`7C$x3t7q2bV^0Zsce-86>V2ICIcKax0Uw(3+Jo<7EZ1@n1EYx#A=wIOXM>Wbt^_~GNp-1)gcBoboPl+IZ-y^p1hT-Kpp z-kKLYqFm4e#-sU9?{QaLDbIe?e22Dqc3`h{Y@s?Kd5hoMMy#8;QBn$2F^wKC3DICQ zqK2z)iOcocXq;X>d4G5c8C*@0z!yh?3?=E?4;GFQSvaY@dNUZ{I;!nL9vCg*z-%c`MLMWs45F z)i5^#+n6OHErN`qN)dm%?~G!xO@X|?F?YI8ZV#vi#9@0WCc7PrFrHq?9f=QM=;CUD zERHcQx8a=pZo!|At%6lVfXZeNXRm-{1-VK?xh>3A`N+}{T&Z1gxiMx^7CQTnRiYDG z?Nl}SdERCVk}OlBc+;X+(rs>4M9Hm!J%UZ8Bl7w<>wALm|4 z__;tR9%9v3uzbd3(M{xWh~8c0GXqcI;b_Cg0(a;?t29tN6$?g>ZIW_zu?vZhDE+DB zqtm*(OC2pO;n=JXBE`UlkAaUgsB8yT`@lk!KACuCbTdukif3HTnUZpiK6ja~G^k__ zlEZAbGQmBS3qO|jZsQbhR?=-gWoEl7XB?io`RK}?3I(@3U9}4@r*RRv3sRKb(sXz6 zt}9ixKB+7C#x7lgY03TN;>BtrErUq5vjC4|-9bpfbq(k;$yz23){&RDE-$=N0>~Xc z)w8g)`-LUXGPP6K>4pWHHl1PI*ABr!%IGY$Q$Ss;)BrC${yrBW2k8X$-WTN`ow5Tb| zY@rhs4lQu@Mlv@IWxFg~Au`GVL>^;t^Bq^iPs2AOake1m;#V8XqUT|v^m5B_Nli#e z$Z<$YOwI8|OUp>glTI~_4$bH4nANkQ&}hhtC+!~#o=w5-fu*c7(&Kc#?Bh$V{4O1U zcrBU{2PFqBst*}vhgHEglo5|UNBa*P?s3hFZvTS^O zv@WSut5kD*j<3Y#449pBRJF4U5kqq(8<c-04^4iQ>NnvG8b9;5U zftHw=mXNlC>3LeR=$TdDhCD9Q4^WB;s>==b&;F^MRK|T3s>v&o;91?0bTKxrh@(r zj+-F!>YM#U4q32PVt#&?3qZW_$;3Uv8)&a3NlLo_SA}Xyb7~gT!ylpaRbEjuT|EWK zv3hhDKRVb;W>Guk*)()7;fHgDetqmYEx@#VmXTtkm-q5K9QBto zRW}KJo}aU3d*Is=FGnHUNi9OUb(>kg?b7l*yso+KTV_yVCZ4!ZS6$yN#F#1fJDPCB>Fe`);8*M$v0ZGaySLIp z8vO3_D;nNzgwF^U{^jM{*XO7ix0g5BO(zx5>^64~_{+w@hr2f)9{sBa0z77~H+AbO z{_!1=`%;?U)W%EOtsb`yZIL^7;0tefX$nS-`HTqDN{=^WAV{?{&j@@lMM6!Z{}Z1Aqp zSDN7_1?|%T@{*Ih5uIb+!1hx46%Q2j_T7QuY!0+T81xM>`|v#8m|A*45A6QpLGn7+ zq)z!nDHactc00ak-Nd6w>lC_5g^4711y?90u1ORP)VhN-l|(lPtEuhAtL;Xs`^kI0 zp{@iDvY_nrY-yVv2IZuJg}oIlywFzCS*;W{7+)w2ISpIcCjx1-EtBgkg{fHsfArhu zE~YiZ@$SB)PD%mW<13gFFQ<@v_Y*BGG`K;hFcR0y!~g{bhKhztzblIj=qp$18Sb2XtaF=YA47YD&gBjbzg)BX)0~Z)_}_j2}U7} z?@slZw62{4b%rQyhQ|qmDx`<148Px%p@5bxGg!HK@*YYo2M-!jH5&F1O<%nW9{&!5 z!>)d~^uWMR?(pExPm=pvDwKU_xPCn&3ZUu30l10&U+oS|NBb6(eN>125HbVgr~urI zD7i9>+y&5A&}1ZYsG|kt`#I){qR26^RC#0_(JSUeLFUK;=1edPxNQliGrSBjctubi zFW#y9%@u!-LvVIo+ zi#wX*Ptvj}8;oFn32KWq~2Spo_> zx;+s%1CI|pp}HyB0RmsA#-`FcBwbP3$xl{YKv0|*{sFx%>eMInWx!|wi}4~>oyAqF zMYrjq=XQxptBloH$&*j!iVrKzNEA`j*fje@RnP-i#L-Tw8GH7gSy#$r@9H!@sM?b0 zH$ZYjQKi8ap#WGM)`9CWe_mdYG?MS)AxywV_>WNMjFdX&LcwDp#) z#LpKS&?HU0u8K1XnNkK}gHuA57I3P9>Vx_5f}M~%M6pBEz{lZ^wPd0>4s z{`-nvJQD(nIv{j(8bVSjns2YY^|mFrBSox%Oihp!(?;$0#ulWx(`dd==*iBo1$a}A zanm>T+;`l`&fo{yh7H;Vh3U>@YLM%YwDOe$rN}4rxq;HvvHW@>zs&@QrP7GP$KMm) zA#r{e6VYC@Jg~1JLCxsB)bl>eFt?G zKK9I6!lawjwHA$AC96@{plmI89?ozI(edN*L1`-GU?QuHfDYc%0)4 zUK~S)(P18tBtlxeulYR3ml@|RT1N(ntI2pbx9|PQ@jW1TA|*Rk(^&8!B{16O7u@Um zi*^j=)$Y~_eD8DW?>{uZlV4RhGZ3#gckpn19_b3-VsKUAeeLN$|B%1ef!4AyZ+qD- zxyYFI{9KgNsF;Gku)nu~(iromI8OO4qYhbA+4m&t-9Y*S<+nojW;~D+NiZyMN^q!> zzLEc#e15aNN6EVwAm@e-;xsI$3G*g>{TE>+Niz8~;l~u_{YT~gZy3%0&$Q3~)>HnM zz{2pK383O69XVtHl#pGENwgH2C9rewva&FnH}!}Jb4W-5aZ4yHi?BP}P8gFh*Ov9| zgnhevLFD1R;JXcc6Yj<;&2#X2(?%{PGt-=h9452p$<^50UnqC>zku5cg~Vh>QSJlD z^*O^aaedNM0y(nL(j=zH6pZHrd;oGYOw=mYtp@Kj7A@E@8pw{T+}iZm*R*cZ^X8n# z9fR1~V6)t<rzANXo?_IKbmiC+$WrnVe|?Ej9Sp4R<&rfmrCVv9Ep;H z&E$GLcm7B`Lw*p`-+pqb@otvUdmq^pF&@h_YDMz(#+sOn-R&pIY^5dlY;YK+cE@iz zl+CBMa_)-irt(-*k4*n$Ot2Oa9Zi8rB9h8~e>G}C2$CucT=ASX%TrXtvTui}1c#kG z0%9rm{9Vk`V@NKJ7dL=ffi+RAlr*~7vn@ae7}TtM_cUDp!ye|-4=D-4XVb=mbr*rM z_rPx=*HKQSp4MjcDY(k+UVnF6#<0Kd4-7EH7K=UnOQJfnJtQ(ru#>Fhna9iv%61>g3i`^H z_4StKx}!-^UJ&Fv%jqMw!CBJ;?Gw^t3BB;Db($x3*gWuQ@Y#!gFnm~du>y|8yJZvD z+7ReFmVuraSmBcCtU4`a&jf2c%7e)e4n-F*m#Ft8NH_*>;SI({ChdD-Tn>*8{=CW! z)QI_aX>R=3EPFSDHVHPa1By_(W-}@38<#)=z$LY?I)+}cHz=NSxKvH0Ut~=ZB}5g2 zOVqFRb{Y<_0S~~kb%tCe1cZyf%WOeyN^HSZD;d~R#yigt0Pp^ndJfUw_G*1U&dvq| zzkYH5H|jb5Q%3x+tNni#b!b3(qa30B>orbX--ZEl{3ReC^CuHn6+s~3Z;)~SsVQ=! z)StD8L}Lh|%GRD;gg=)5i7` z<3KdukLk=Cua}pdj~zCTqwZ38V0B?wS&&-`&|C*X*cYz3zu?C1^8F``x1ij_bb3ko zV*ROE_J*ke+YR@10b<7A3gCEy2T(co`tZ+`?uz|NvWEt#iRdpJ9`$U{9}fJ-@5b($ zW$;js(rC&!j{Ed*rUY7fJnk#u zzHqspV5ujZ+Z$oym)PzG`gQ~LO)&CLslONHGcyixb0=R6GO;VwTqmQG$rNN;mk5iB zjQvwoOFYs=)H%R!%`v!@Wa~P{HDqgZBklkg) zSRO)7s+t-btb-5fR@Zdpt7At)XGy$P;T}&vZx!UMXXe$22N?zzgk#qx0?lfPD715s z*s_Ke_;PhwKja?Z*@+kNBqdcgn&M)Ps7pYNlWPFdY!r7L1bV=jOm9-g(-4{>gPvW) zF#emMZe%X7`m<`;NNb=Ph>7<1K?Ac%%l94oACsESQFMEX`!BvS%6==mMI)ffq{Frd zQ8eTT2^@H0L!Ac_&q(SuK}{~ZFN)(0Rwb(Ra94Ahj*s8?fdRxS5%{9gc4S$+5UWl6 z(7^)?GDxf4`8*i#NCb<7@qz=N&`P8b=LDpASb`b-{G3FLZP6yBcF3E@r9%`GRY`3( z5Ya@R3JUlBNweXX50*ZSE0|H~#Zf#5Scisw)P_MD6Op2_4(m4!5RM5nvgYBZn$ocs z{1EM;>sj$$9SrGk<(pQ?cDaZ!nj!)=xQ6>J^GV^I=RTHkTL(D5YY2HsKMyu%P~@mL zRZ9rlbP6df@6YAt9z4cjG>Dp(m!cc%oV|T#u#LrKq+`wN?So3G_;XIgIu#YR5RDDT0nr4q#$ojQ0 zEfmx;5MP^R?bT_Kx0KJ#O_lx|&rS`FgxH&^fDC>ND-Xm&jrpfgk9eW-iH@VtC|2!^ z^a8b`IJpy6TKOru>NsB^wXe($yDWXhLz&y~E1XUA3 zLysb7 za*mjcbEr%asT@pNmL!9$k|CUEGN$k&geXs>8bHaYm}f|WGG}k|my$CJ6{kB_2$q&J zN19f?BJfu2gJl#hXe+8v7I{!+$84%($kC#*0ZfAyqx+s7eYzjcx$7aS$+S8d56Xv)i&wkL9e>II{ zh>&9M(cF$Hzoei@B|4nLkP}K;(5`xzHY(*>MbH{~2eeyN3zD3odCC+@k*1YvcsRz; z%5qJDI7ut>8p$)o7{Rj&=iX}fiCV=P_SrG5{_ZQ~$}`bc z0d?;0PJVK{rZX-DKD%A~LQ_6n##q!ixlbBRXMD7GdGu|e^pOJX*dFU!NKNn~8i_zQ zb5r?0aPkf@R5)^SQv;jUCK^y}(VBoq5)*-^aUr#0MVeX6E@i8=(A8DXo>{COtjZp1 zA6A$=S(HA#o%|;GrL$*b(Hq>)Pl==i#V!x1(VnqPky~Xh7&Z^UYMExOpN~@`pCS{T z#|qIHgV9k9BUG3#89p!ZvGlXF7GmiYF3#tRfz;v^Vc7RiFlsC2Q&3k%6^zTx!TMg* z)&tl^zye6WCMVkj#H#TQdtBC$DSOzl%~smQXI-??3%f58)7VVjW5V&&*i`?(#wZA= z3f+Q<8r(5>1is^ZoHG*1;@;;6zS+3`aoQf0wX?##4)>SE6RIgpvK3Es=dcv07EPJo zEC;UAnqVya4PUSwj;8gUl0$XS=2s@-oCjl6h(fhCSXH%F?od?9H($0ge4X#rzO}1) zgcOrZd-wb(*T`@d!;)4!^;wlbaP+vD8+-p}Qe(xfkV^c6$YQX24$2;oR-rekHKJh{ zN8B5+Ar$ec;@ilo(+lAmy3TFX^pP;?c!s@pALWyn)!RdY9cd9dVc1R(OeOo*-)qlJ zUiMGR2Grko-RQ&$qFT*t3EaA})g$O=Uu2T5qK%mM6UjvT`YAA-PDjz%MseOOpTDi? z-lPn87NS+wU+HPXnUH%?#YOuvFOjegSn(;I~_wnmWDmKF)E!crt zRz2rp`^-Ki^@KkI(G2dthRf(L@JZQjL}X71j#*3agmIrH=x#@lHEu_id8MU<=%7ev zZbqC9R>G9TNj({c_Kc}+hNL}sR`!w`^5M%g?CDHXXxHO5deW7wx%@jm<;NAtHsJ(p zBRkg}Ge3V{Y( z6zC#93?_t+fytqsnQi8zJz@iQ+8StV z6Do*khfizr#yVkmfzytF$&BPuPom-=dt9H4d!#IgcWp4;;s{KWXS;H15$45-IurAw zRadMtuuZMD+7CC9@Kx`yr}=rmo#rO7An90o=O`d9>qbM_q5h6Y1Y|SKf^?;8>WGWk zw8&%|Arvn@1=;q;%E%!v$eds!pq(eh136qV0JjqfwdW2;kMwt&Z6*>^sec{H_nnhrvq+dfbT6Blc_r{yPw`4 zZ{TB;P6(40p>|>f^YG9Y1^I(E>g$Sic>S2JbD$vJo86?luUn0|Z_D9~#%09zN04h^WZ=x>iddxfSYl_mG_2>iys#eM;ZORQpxQuC=AB40rbT7{9g^LE9#xr#A|C z{a6%iEGpe2eCo&YK?tw1Sn(x5?#cF;p?~ZUp}L&rW+XHB$c|}t({_6x&grf2l%QFh z5uT(HPtaKxZ#K=c(OMkib#t1L8gzWHg5-H14UD3qS_(&P8Q1s~+fVtIB%93|+{v3$ z0saSkww!U7#a^fJ0Kk-K$U~b!+a1i7JL<$e7JlyRi}23aM)iI41kfH4V{yVEuFiKHJzb_tudV|Bb|+%v57U^ z|C|gEv30Te<=Z>ltQ1`z=f-WvcfB;94Z(t!|}@4k`C%k*?QW243I=i>vq zpL5mpw|@wy!JROr)WMx3r6D2`Qfe3?;Nre#s|7bCcr?t}L93O0aZdNV)@>MP$5jr;N9%bTtS$C!xS>r9;N%qUCbm8>cMhX9 z@l;J_iT*0I!zlezG-e&yphMfX8&A5T>^8zyKLUS|DJ67@!w9ocMQdFk=D>*KfqS%! z3s7QHxkLh~LJ2^qzyR8J-brhlttNHoB*fFXL1wD$gaasLKWE289rMM9o#)L@c3Z<* z@~3D{9dhHvI}CiQ@Wx$-u$oIXEpu@y#gD#?Coe9%40=aA72zUYu7LjqYe=rlf`cbh zJE5J_TYwT2H(2gXX=S?``JvTia4SF|&;Lfc|CLO?#lbw&bym!)A}2$r?yT)2mS(Tt z(EEGNB!j!wh$Rl&^sznC8yD1K#vm6g@17Uq^l%VE6_MObJdH|byDTpQDwIlIK6&!I zPc8WnqD#~js>zvFm|dc$AB{XnK}e(#4e~?KEA-Xm20Xo$^%qu(fnQStmv2sD;y=yy zSlU2rR8Cnh08>|fYE{`FAq^&3ehB8F3zuP^bV<-08d*%zQYuB_s~7(73~l^wWoZ)w z)Bi0N{*PLgij*9Z0`hk#Z)uHE1&SrIGIDY&xe#C;3A!SIg`&Oy!NQKSCxuX{TV@8u zfZp*aC@H=u(oV;{9y*$3px=P|E&Xz;EqUw3Hq+VmQ_dat?adk=9xvcH0iFml62q`P zT`0_L)Y=5Ovh-wnBmwoZ!m+XRRC)pf6~XvMEfs;)#YrnW?SX7 za*XGYGMYz|ZhiZa2muis}1RaM%}m5iDR$!cv{-y$;lUYLC6lx5Jna! zQ3~P`Yn1oWV@2>8jBWc9qUjQkml?L7%aG>teN9y3XpanM)#x)Y>%c4C`=L z9Sl?@BEA5HW73dWJj5wYx?eG-uD?qW7dT}6QNDM>*w)0ug# zv6TAxPE%J6Yn2w)G?7pUF8;WUjhK>5%-ZtGBHDEYm<8lZ@LW{^m2R;tncCZkhZb!9X-6z*X{AP6mmxS{fZ5w}7pkni(tsL|hj0Ax~UH@bCrHg1u{+c;F^cYjF62qijxd z8L)D)%#zFL{6}^nk|xg>0oNErE=iIrTJ-!5YLSu$pwDy3ZoGHG?FjEP8DgOeaoBm< zut_6KeDm!M2v`#mczk2n`IPA!L66uzz(AWZgnoQ3gWVFsfS*t#ame-rq?&!qY608~ z{qTrA4%^os5zP=9+5Q2#_@Fujm~IP!FrK3~)^&F@>uyk~B_U;y>()7L3Vo?S7kfMc zL!O4U!CrBy`yj_}iH)B}!{XSUFLZ)I+=ol%WdkhRjlWtf-6D%N(SI#?$YS>$ zgvRsaOrE=Fip14K6OPa$Kt1uE5YWB^LmKb?Y;b|PErX$5210)%2l1|OwO`d7iF<9r zG`3&9Bz(8*`+Nia=K~`xm~RaGizM8~{%_y?|L1}Ej~S;MKV&r&U(-F(4Qatl?_3en zmpiL;+?o3`cU*6O5t`)#VK4cSl*>C~uVPTs*Ut()WZ&qL-r0rS_`502uO-P-<=y>x z*BAR36y1b-Mw)jW9MuC9mABp~{GfUWUgK;P^#=l;7R08Ut6Ua-5|y*p+D$X2@@MJ_$?GsED2o(dA92xrl#n9`Vl;?zZ$&`sSQS2^xonXH$^ zN`H#h$E4ub(=-JZkwBHfO^yJQcw(+1(&lx6T;h?x6g){RpG%^v%CJg;XNX=`6&c3X z{o^H%mqNt&(P7=S4K=awu47`sH!hhcu_g}XzjWj#wZV*3$#Ej?>#2(g37Vyz;6_Vy z3niA9W&|u*GG(P4am$@s`c9IXqhV`4195fMYOGCjT9yKn!|q(9fcnHEOVKkoE%g0* zCwAHM4ayJf)#VBTBTAbm3ORK+3G=sOz7QU^Bo?O3%*6SF6j;b!jz+H_BAsE%u*U@D z#2Jzml#yJe#*JOI6lhsLosN2CbRFI<)vR2_QsWM_Np}nFVsV~^gz+-=ke$6jMUILr zO;H)tv}gvVBCI9s8sUR=P?&^|Zw?z(L8+5J(Nz=JVbY5iY{FMbmZ|!dNKvHBcvNbo zU&mAxcu0OSkdr7%PPlTAbS>>RI*N&WT)NO=S31d=PbwHtK zw))*FZ&-?V>{_UIqrDJ;pHVgyy`~g>JF%96bf0l*Bo>;CrZanJun6D~NSIANarl`y zhL)8ysp}@#ujdUz>&OXR!{ahl#$%In&NV8b)sU1IOp-bu&~a!Rjj7oZSX`LKMsJps zq2!tw`J#+%t28$TjDc^s_ODY~JXd|o8amle*W*YQrQcR3u@q8`o3s-wqHu7RaZ*>p z70pVSV%z_)NJRN2Ce0o+BJtb_sSjEb7ML_)adC1IORHW3)|Ps)wT!c^5lDD>9qQaJ z?dXZJs*AEJimqx+AoB{lo#&z;O&+)rxav05Z!dWA39_fonjmiG&#r}^lpuKev#Hbr z!&9!uv>`VWR^|ucq1h`8&|0hAv&OX=bVa)%YY%n@yP$AYL{CBe@|#!2HEb)PQ0-*~ zT)rd)xNzm~t+wOm)i;fdzeES@9=LM-)CTSzz(M_nWkB%;h7eiR*7{Ml2US4L9>_q& z1V(sI6GTrB=b&tl=%8MYil7q3Da4<~haEb7Jh{QKxJdjjuj38OF&rjasP7)uE~T9W z7sTSixOEk`QaXk0T{xuFu-zIZ*}s4O)$Uj69YtqOSc;Tzt}32B8D7LO0XDARQ!!jN zXYv-EJCcEQRXXh-4Bp49kHh}dq9R_c&JbnkWGB*JJ?l+-c8R2(Z2~H+5|=XA#jrag zzP2iBANMMy_6(ie8L29kPJyg<@#)eU`wErZg_Nwu3tB7Ztd!lLc9%%149=P>A+mM^ zsisD>lGwqPs4_pYj4Di>Gq#m%Uyy%74z=|Q=t#+Gh8aHL#Hmc2sVe#AFi}L&oq_J4 zb?XsS{6p}dj_qp4jWMEOHAMPakESsffQZ=+s8DMLyf>iY zsn9~*H8MXu)poxtcC(x|l;-Ki-;?Om5!{t-+;z7J#Or5_QS1aF4gBYnR zI>eotGv>3vnrUl2$^&iwIPhyDi1Y8f^o*7KnOoMkvU~{Sc7XVH4AMFut_z7`k)iyc z^ub|zAA(mVk=oOIgtyU?ujZZp1K03#Au0@jp)d>ZW4ws>IVq3Z5bmGhur(-z7u%~o zfB;OQGx$F(^BmCT9?)hVR!ypgys>j)n5Yc`%!L$x=X5#IY61^UOj5n9qO^Uz{vO_F z>mG#kYn^|Lqph{Ot0?;&;`)G76i@<+ngr!K7?6M3-Wb}bx&#yEX@ZFcXg|1<#mxZ` zHU(lu0}(h7&AXz1aW(IITtB;73#}gFCBeCbL$XSj+_4b6Q7rC((LRai?wCdHU||km zkeN#l*c?yY_|FK-iAcUMM#1GeLd(%mg`45!z{JptmoD$R7;bIi_N5lq+7&C)B(nL~zb^?B80zVKEK;AMybV`eIeYC}fBN zsNVZS0*43?a?nDMxTr@2X_ujwNEi%*d<>Z_&jfquned~vtfU?t>d;J2TU=2KeWK@a z2gq!e*yqr5gwV-ZE~@Dz8j!7%z@mt|Q$Rl{B)`Ni(ADdESgYrLL?KT(z)R;sE}9rr z4g!V8C=5zW5(-#KLVFcc3Z6UER_**KwySWzR>fIEE*R^lBn|YQ0K5W?ITt8UmN3Xm zo?a@?lkE}XHq<{QCY@lT%Dh_OOImv``fcnFSdr~7s0LmC<=YtX7)Z9^BYkC_6Ius} zk3=~i?v^sX!~*y3g6ioBhX^z}_i`&JYHbBW{se^;snx$4PT;CVOoCQ|u3>ux>v#o2 z(@x7PyrL~prz}3yhE=yz&(2G?TEB)$4%n$?^q3Ohg<@-m*$TpCi}kxK+NzB-1Y>{L zh1~nYYKd*va*2)V#!CXfyFu;qg>UR!~s#M<~jdX7paCdU6O!OBt9a@!LA z^SzqZ?jW4RZqZ%}az2vwCuP1l!bn<165l4VwILBzm)*+is$4A9+jwK1?E4SAJzR(q z?mJ-jeH{C=WUF_A)|Aiv?e+CE+g_~M>3QDI_g}1jvv*oZ&^9xMFq@8R;)JnVY^ZlZ zS`m*gM>se6#3?n$4XJ%wAU(4Bxj%lD&_$#1oZh2c+AQrFYIw@I5tU6-^jfP|q;8w7 z`tA8QQc^L?Oft66O9t!g)tay^E37Mdn4y{rGntzk%2=v0=#{(Xn3uT&S~b8=6)yZ_ zkISWw3qvF z4%@cM!8H$&1jdQglx(x@HB(M%7*4Yg*2KY4O4zK39(jQuvPIi7!5$~z|xR#F)G zrBNG*u3DiFa(9kP^Z*UoWW?+sTFfM3e^9kiKk&zV4`Mo=CvB%i+L*_-k%KBFa2`Zs zQmM6Ux+q^=Hs+}ULU-b+e}gU?l%l$#J;D>Dchx??8)AFi{vR=@*a!XrA#TZiVF8TH zK&5O7_h>R0w$dB~80aE7vvHXR*HCj!*Z057NWrEp*bsxJ>yTQC|1|j=bSQGP?2g5O zvndy6hV|9l0(E#)RHAFX>6vImj!61XHPKlckBUg|=J{SXsS_hSr@1_HxKgLLUgAq( zB$G(Nqdw@QhmBN*`ejxZBrR ztoE>Vhra`^eGb49l}zLZsS;96^Qkh~lT3Uv_Yv=8`Bna_l$axIrZx5vJ%Sr@Y!+># zg^%4=$ytwvP_!GXay#WsBl3=tIrnioyKVG!9iAOgO03!UV6_XbFLJV=zmu32zMByL zPPVjD@YzCLB>etryQkhAnut&8WvimSgfSyJ&qrk34d{e{=62kMD03ayt}o+7!HnLK zv3AH}!g65+_n<*<8q_4*f_O)HUP(4fWVA!kLwuM4u;BYgeMYn1zgi~5!7%bd4Y#Qp zveq5nw0{0CXnbrd4axPdI;Z3h007T_U6~UzadtLwRQjLm|9gqFsA;JosUd%p#)Aw( zK#(g&s<&if$(CrM7+Uf-H-{?+u6B`4po@|*IhY2f?cRNdys|w9)RvInXuj6euB3ez z)!s5Ogi8^*-hFyb=5Td)k5q2zy`;WTW4UAjm!&0>a~kI}!vDm=>!K zw?<2~Pk>K*e@vp)9!-I;&^cLTq18DnVWI|JfN<+A4rBuwqdL>$eb zzYQ&bfVOGDS7JPa@@^Cp6@6}W-(QP$vD2|*w9>s*4Tv4s8uPS zhS6vO!OonzBAKW*Ukpm5JVCC(uZfl->A|l`RHUq0Y@U>MQthglTa45;W;2POG{s9j zxi((i<)JxKNt`2Zl(gs8wuq%JF^^0^tw-L$Ew9HsXG)wHw=}oM`A3br&W*U zFBF=nNK~@fk>|!6zO|X^j5>f<>Whzl!-lF?l z=Eurhr|=+z20Ri3JA=A#HU>gNcu|n+n!{`rm5%Y{Xoc$J^Cre8e7ZCa2Lp3L=j5Sw zvO#}}K|zsWsN1jy{$U|*#DqZ!guFv0+7c1(SZ8#-@OMNq(B=iFh<7NxBy-0HEN`kq zW>XLlWTxmlVedE$1ipPSz_HeKRnTWvMq2y^$Vo`;d%S!i6l@{`2s{OWiRl5({+D0!rX(-`WR%J zHSH)uBSZ(~k$TeABLAZpQ5 zW{b1$GpBVYL^kvJz&Zgg?kVWRwHLt`^hb_c1V7h1vh{skshLc#(CnI|(^u^Nktz85 zJ>_}RK7MouVu@WMmEzG2aYwueuM9#ilu(*Lvdm$O&X9N@6&qXoFdVpbxS^Fmp)BwD z`OV{RQSLYS1(zGf?;v9QcGfww(~a;KxymJxe$XKx@do6tI5?CcqG` zzd^P+0R1)Kz8Mm(zeM6Wus9L8{fo~#?$ z`7Lo(dUkcM!yZ3y|p}VYOX}pUDh;mYXZ;GTuc87Iz34U@M6#NSv$4oTofBLgQk}h~B(!bpN@? z7cE45qWznM(nA0MF#OkHbzy2 z`VtmZ*N!1g-<(oyG6r#pOHzKqNRmpCi73ZSUy00(!P`<;r);xR5U$50UCW1>mAuYl z{?7XbH0AOYc!CwhT1Q`R22qvjXB$bcP_1c z3@1sgRP7Avsp$;^F@stom-aq$Oor$Wk9pdDc~lwkS3Ym#H5m)veY=7QddYPV4?Xr6 zEX;zVjygKT8Zn{v5}42_K(Lw{P}Ss1jkKqH(^uksiWqM(P#dy)Y7=%Fab)DhbXF@i zEoHW}cOE>E_O=;4Jnfb<&#w8uZyUSTL+6PaFVa4{2nVi4r|en?5zJV@ zwfPv_&|aGeB`v$n>a&jAP$Bl}1Bgy$m?Orac|Ylz$S%y=18yO+ZJ3CX$)yk&5mpe!4yqj#0WccJht=BIFWnNWe=yLDNRCE(%o9cKa*R=ksYpD#09k5h zw*{nc2ug_=La63R7|?D3baupT@@-%(A88UJ=Hz)p&Fq@Q#1)v)iJsvFzGA-t|MO7= zNc#kQ`t8GhAp!uf|JO%V#=!nR621TEVf}wxZ$nZ|NV(d2x-!JHTxOD?a z?5Z(j9kXSE?wE7o?ySLQ_ub)W!rkQj+}TQD$Jj{qj{E-H1bDFs1f>Wg=xIyTtxs~6U$Czt9h7LQp#_b!qb|n;D zYF)NW-$gg*(`_j|X3iC0I7%9${VU-_l%{0?KQqr73Xexu)Y~MX+G~9`N6-#&SD%iI zZ5RjCNp~3u@#kg2fG)w2V_;DnDN4yY;JLFtnyX{SI|tw381!Q)Lj7Z)Gcc0J%4j-j zA@5620B?4I2(!SBC@h|kF)_HN+vOX=sSz}m9!sa2aJF)ka;`em(#9l`(^6>h2p5tm z^f#v8F9x%*t-GT4bAZHON0Ne6F`V5e1vA>qyl9hn4{ORzCw}0Uy7#|0x9IXKI!10+ z11sV?x+@jC7Hi_&fSs^isMm9sbWU2a;92eC(LsmBuYeAhV(;>a5MfL*I=nDrR5@g4 zLd2v{iq0?M3oBh~-m|nsZDhDg6)J5E#7z6AN$I{w_=yr05(pPp=2 zKLT@2eW2crhq>Lk>IOd;!x(t=TiNxB2rNV-GX zEGCh$!mFd)#Rj|BX%Bd^d(^Nye)*^F|65w@uefPelXYKeH091!=S z*2m7}h{t9aeMl3l(NBvMS%OI7N#nf{M%t!zj%%;*PQr_NLfFm4Q~j z#cmMxCf)P6BDlI&6Ja{;N`^)D1D8Xo7cy}yovcE_9xukW_H*qj3Q|y16e6!!(3H^M z7;fv#w2uWpWQSvN(WpWE>q@!JhlduxYk!x&BKN<9xCR9IX zC&u8WmU?OM_~mN5vAf$Q!J0PMXH%I~f)t=IhoBg#uTqeaE~OAr8<`zUN|kg9PM(I^`(NCMa^l2nh+(@+SFUQe}`$5 zbZD~BUa6Yb=;9JQ&$o4ET|~Jk|p2rNegYw1u4z?r5 zwCVEi_W&uf@hd2>fl>jQA^7EK0seS|FF=>?BIdW4cC>^dWD3^6E5(1UBXUP|BAKh> zb_Z|jH5ku{EdLlhfR)Yf6Y;Q#+|>9%sl7Yk#?12WUk{NjAjfP*rpX>i;)zCxdz+2x z@Y$BQFkPD8lmd7nh~m|bx_gbvKo%$ZzRcv@HCZg z=WETuX$JyM1|Mj20{`cj+pkfbUgOd%Y?Uu<)xSU~&+Epy*@2Pa{tJHKluFk&%0iCGgk321Nxdk!~~EM;^HK~3lStFF+p+no2_iB2?t;O z%-b8=$<0;(@_w3o8$=z-ff`9WK%eP{48kr|!R+2+_};^w zuU;VEejJHAo}XfSyw>-$kDo$&`bWSZ$#fs3_T*RApvg2m3ay!Mu|4S19h4g5Pk}wk zQy!EW6Q62(=m%YhRYo4U_Sje3;LG$6`F8(T-C&F`FccdDY)DoHL5Nm5C{!CGG>WYe zoI-mJhw=fOX~JNRbcsD$llp1n^1yonY5=ySYth{?FhmrxjQ|h48^aj)%(;4}-$*hWdfJVVRVUywkiD}B< z)U*dw9sOAvI&^eM^O>kiLc@4JIoajdQteq?o6njQM+7HuN<(RE>t${3>!s3`W>s5r zGoD(Hjf9KVn8U{EWom1ZX4TO~ZSCl(wOUL7#Y1yit6@X5on7ScVr|pHYmG4Bg+^|Y zbUWCn=+X-VnV|>p<`_w$?{aO+BEwvqd{mmGShsN`sc?1hnO!~NLi!CCNLTW8|dq$yijFEg|jgmJ0V6(eaoC11(>~=0SV#62T#nd+(P#ZPbh8= zy-?RdDHHQ(y*$a)&k5z_(%{kSt20xs6Ao4$mw{6E={6(RY|;;hs@~kySiHRaAMDGk ztHlUudm`oyH*L&;I_$c*jVwnD=@QWL5;1pd!}xk;4wJP_3ND0#;-p6io?-rucA40# zhiG8a*f-3?-jjvZTDc`GX7&d2VM!4kS#q5`Jz-6?wz@b(M?|a|^pw#6q?baOMX7{` zqu49Q-IfYt?mpwDzn&!lZ0k+g!B=HS7HhGms~MK~KjeIDNhRMp@eLW=~tv)J(RfuJs zPUhf_a?^Iypfpo;_$ZrzIVZqul8BpaQp?F%f+WIsGGPRLx<@);Y}{-CmiQ)k8Lo<~ zH7*u=nj(n}=|_^jLr+vk!WL&1e|@P+n38iBnj!vS6}b|d>bw4wh9Z-QcjZSV;TefJ zUeVX?EgUo!CuLjjSHG)}W6a5|yDq;tZJg9ROH1X(yBGmtCmD2PbC32J9zvR6A!g*&IOR)cX^^fiM|4 zyValI(_&nv=$$dkKHk3lc`0!6Eb2nhMVsMREgU?HSp%?_tmx38$X>tILIi#l$>lu= zcC#7Jxn5kJGLf>1|8V}guCITXpM$Ygn4ScFa|FarnUS9Z+}5mG z)~JKSlOwb7!gDj$VtOH@$}Gj2GFfQ(WcL0IyR*8!nRLTQ-}js4Pg6z9GwB#Kq`q1g zmf1+PE?I3aO45iR(s!)%Z$@hO*2LV*tk}AlNqITVn0+v(jdEsUYO%4pw%Qxx^w#$@ z&`kM&2ba2OEG_OX_QcwT2;^QX+ZJ!^jJ3^op?1;C+{EngVO_=%k4 z545>Dx3ah{ag?ub*YS0n1Y0Y)&EzXVVR2<$SQLR{$jNChEmtnpT&&r(y*1Z-EJroR z0;RMoLbT9ya}Pb~Kyw(Q*FEy(=|N*f#gHU_l)+$)VvR1+_Xgcz(u0@cj>10_(f0<{ zg+ADH>ljl*V@<`Nh>S{JGN?{8)6))%7-&yBLQa)Xr!{ELI)YB6P^&d)&p5(PwNS4$ zXwNwUPsLEPHEd5iLQmCDw>50fI)YE-P`fp3&p5(Q^-#YxY|lLcOa)QHH*ilsLQEA= z$2D-zK7vfSruv(JPbE>yH9R+78*hv}GEdp2nyKfSYz#eOPd!n4Y3S;EB%F|>rfKL7 zh=`0{);mD#!eOzDVgeJr(t!dCWomM5HUUpH)>K^ei@`Qonzn@uZ~G+xxFsmdSk3yJ~evA|H*p=iNU_Nb?%XOgzNxfpYfiAhR;3K zZ#yxFIwxy|J{OyD36nWi1Pw>C(k=9;I5o*kv(hc_C^=QhRI}18@~Am=$y~GA&G#re zmC0nY+AZ{`I@E&J#`)ty0O)?4# zrzGY>Mtb1v1q0S2V+$JZlLSKVfw&PFKstu;77}&b142H6^;U}0i;ZuF!-^TK)Io1V z3*jbc-V3%%2z44d5A|01d!a~t@+V4xzb~M$(&L1S!TIwiLpS(tf~%Xvs8`O0uYZd( zsf07>uriQ`{4xYHeGKCt5Xu$5+0#x9u&}vvI6GrLdJp-Z4rl*c2K*_skH-!gII>s zunnqPGl$wX!(l87)$qq5ubFD3)i0i+8gY&Imfb10y}G^T)Z1a^FqRE1+zP=hutR=3 z;!tzO(!u6%b4KKlb2!JC7S*k>UDhe0oz`LJRMCOwur*_9IEV07*{P#_Y1n61o8Z>j zL62T7l1peimja2pwj?x7nP&$%6lYy0md2#^4vgOfV>*CImEaws<+*yr?>Ieo#Go|3okeU?+qW@bjNkQ1*~| z?tY746hK+BY8ZPk0~P-!h$`T08Fu3Sj^Ipyvkor(dA5ACv%A4Gw|sZ6J+mXDYNDD^ z`_7B0dJw0JN?p-Dn!oPE^*~}qB(nXK*^w*kcr4FzAuP|3dQy2SLKjMA3o4ieTAYz@ z`bR{|m?7m%k_YHZ_U#RS#L%t&u)&E9t_OP>QN=QMCNRzhSZM>!wZmE*Ay_lJ77e(g zWJR~dGwhC-9sy&^yuC3LAh5G4!|^GHjLuV9L#`B391~z|2G$fL&0}*SjfK$)NS%{r zqk96>6zDdG=!$xs%Qy$`4oDQdIXIppIin`$SLp+FLZ9ZB>0`8_RF4G?zS(2?5Ig2o z<{jW1%>AF(gGmVy&eY+ne?z|l*9dd~0LK3x?*My8J9`sHXA2Xj8g(1H>}`a9y?sC@ zQAiU54wb$RDm(=KHkzqBKv-KUB+jsIHi)RL-NPHg-*-GrX=^?f$`uPqWL?nH(>WYY zvoNtJGin0pKCMOg&p3CYpH;7Q8KHbrjq8(*yB2o7KJGq6JW-NJ9j<*7*wA>7g{Ur? z$D2kZnJr}h=XHhs9xor?J^BV2~cTjNa z-=!5;2_{@J-{DQAl6_MNWs;xISC1%s#P9bHF04(eQfmw`_w6%s#?HuOf?8;>xT9x( zOXgcM!cAV#yi+!%7K|fa$y+Kl>Xy_A9qkY_URxR*hsJ|9=JhfT2J?iokri>?H01N& z-*uDaGzr%Ve~H$j<1QP+E((LW7VZYlR_>`*VzFqO-z^54NKO=IY%^9GwFsLWdCzvE z|IBDmKQ=HrCX%G#+?2shdA8!D*B}CchahPE^b{x!(Z@|HMl#APlVmT?3JaNGGGgxc za{BIV3p;RjX{&cZ`FLcQ&r+Fanqz`%K)^(H287DZT50-Ce}#?0qJ{kbj@(ZTdxMwe z*p=Vwu@{kfr9zqvVS^OC5?LGtOfRy7gNt72l}ak1D_QmkS)C^VC0fz` z!iVE){*5wezNgvZTlr(yl~M>|9+enf;3|TvmcOvAPP@>ci~;Y5qkTmuVgxoTcuUiCg zBW-J}JLiD>OtnH)Gq)9M>dr(gsli5)(rAgh=XOyB)fz_>5D@VsEbGr+u6HW6)|;nX zJ3^rHlhE~t<&Sy73~Lf!dnr^Ti-~~@hD?(*Z-lf^xpoCQBtbu2w-qr%u@m0J$nmh^ z$QZ`*tZxoMc+(maAp&WZ!cK9k0>}KvL57{)R_{&5uN}S9Rwu`>;9f_xAMzzhO&&)_ zul5l&2&CjWdDeSIT%H>s<4*rr4^psms*>4bdEc zHKa^jVPa$mJ0iZUaS8GS931vt)B)#e0+BT2LH{f6hchy8-hPvA5ofFaoc3g~B?e$Y zv0R7ybUI;g_qUGPofb8zSp=)$BHXlu#&MSELpY%C_P9T7kD*qo3mvZu2RttN|}1l;p-B zD8bcmVx6cKq!~Di+%-z;pA->RshcI=WHX5V_;9W?;wo-XJd)Kp9S*?B@3QQaVP%!? zLUL?}5~U%x^L=h6o0mYfB^Ya2g(jI7(9CY9tw1n%i0RHcpQH9fo%A9H3)IhZdJ34K zW8fk=%tzw?)P|Krz0~2CpHQyJVG^gyAK5N; zmU4Zb{CP@ZZ5LM^Vk0X%j>3ZI;oyG*KpL1dT7-nSXwBV)4+2d>tm>?)EQvq71J0Ho z=vGiih>fYhBdwc>b(*BfQw&K1%U~0#g%~RfgBt(7@~Ot!X(`=ah2I&nQ!rp=P6XfL?P6WDuO;z47Y55T)UKh>r{C$AMPd%sMy;@IA+X zu)jDY=0Ga?Wt1#klwvk^ff_5%LW;D|V{*ATuEZ1d^JlhD(O_#Ae2VlIEfv3Lhy=;1 zd0oN;F12;LPpG*3VKVia%qh%mFq&fBxe#}A6~!r_!R?!DzYUM#l0H64r^YbjfpuZz z!_|DgxOY1PZio+eeJ{$~I1N@69leuG410uNxZqJ$M{RVQgxD(bqGf@L@CEfeOOF$4RL*?^X^jCOm z6H}UP#x>@XLMpr4d+>RUcTx6@8>sP?65LW&DT4c;`Gn%u{xJxLb;bdt!7dBHlUPvm zWve0_HOT05Msau#zZbZY)k0(&1oc=8dn@M)nq`?A>ue!ck zMP(s5znz$-BoYd+uvjBW95Kih>quVV_>7Mp^D`8UeOYiV_C^zCYcAFdL!B*bl}1Fj zB>2~YMx)I)rX=Lu(C&qV0NSpB{kcxrbLASj*)9K_e~Vc~Z3XDMLO=2JOVlLaIrbnD zU(T6rGd89K$*18Tq?(gF-U~b?En&y@b6g^04ho^b8X9#J$s*9*W5* z(eUQ$`hP7&5sj;Mcp z$iOQ9lF0DY-*I#dK!KX;x$5WF-%5M3#dj+AHVv!eo54?&L(}zC&>g6&D#^8WInVUZ z^&|U}n{U08_kOCV23&vK)JXq=WF7U6`F=I}_&t{{fC%M3k5T7UJy>Y@vs<`NvS_3- zPu}-f=3bJh*btC;Q;~l4ah?{o>cUEs!#|BshQsW!$+?DuU=5AO{U40IQ;=rSwr-oQv~AmVW~K8_+qP|1+O}=m zwr$(C>ejvI?ufJ3(~6i6<9SAZ81ap-w*Y^*n+s!CR7;qc+m!l(@be!gteDai z+4+AKtkHj!2$uiiO8Eb-z6!ZmSR0!-lK%e-g4v1x-?nSWUz-H%PKX7eK`dyQ;snT+ zW9V{7s0w9ezwq-X?^>qa=&>gP?E-Ae`5I!`MRa8Y-ASyjC&*$dj^p*R| z<|~69u(ctb2nq*DlReD<+!nk&MIXSw6ZUa9exefx79k{j+FcjhH^YKok^Gn<*4lmW;|fWoTQ5x`SofkMBL%h87c%4qH5@m|LQI$5%( zvKbfVdkRx4Oh|);Q|4%hM}-3O*!Qa!D8zg>g+88VBGmKnVkD1An@i(dft0nKm&X|F4^fVfGQ|ZY9P*k!FXV@3)pv z$Vi9XQa~cgWdw8(8ulsr^dPT#=XI>G62G`ySlANygRA*%a@p!%$d%8i_SYsWLUJhu zp^|l8R?LOjaDWwUrxAe}as6art|3FdyMPWwf|C*5h^MKIJ z4dt%9ynITU=#iK%J|^UEz#=#l7Yqbg3IZV_MV1612PG;PNgbDBW=w}_tXo%6sBocK z(L5_CV547x1_%{V+n`mbR=PIQyHvaAZTvjnlKj@|PCLz8r4CUW0w*z!9SCaGD0J zs&&A-gqHw^)*W6z?IBYPc-ADU(p@bPF0)>&4}GUivyV;sn-`|#p)tB2mt8yZGHuWm zc-744R}RA-1PvcUoe-Yx7$XLgQ+CvsVGe-z`k*`!ylWv~n-+`<$Ez;Y?*q&ksx6*~ zU8DbxE%0YLaIC*Bjq{$re`a;vpHqGs?J+rlNS3~^K=!QwHrSTr(#^Ey>n^SI8+~sr ztT*JJ_X4=yAU*Uu8r3gq-)V@wEaM;GAQrUR8XI2y2fOBh|F zV5vJzU#D#URgyK3&0j}ia}Ko$QV#^~~EPi1&9nz~fYEIis6a$o6|rAI3UA&?@y>H}L^C zf{}jJv%zt-2@X;@I}`tI+{fo+n3ZxjF7Fm2RW8Fuq=v%G->nsEEi4EQu>S2CdkC&v z+X=h7)Cg_o#@`JTf=v{n^Cvnk7fi;vvzJ;_9v$1(TxjFQ@^(O_*D3tvS{g!qkCJFU z3B5LzOVqD~M{sXln=Py2c^sWOIWmqMLcf{rDL>Z&zG$?4%O|HRPlo@w66(MV%*HY4 zI86d08xqw`rgTE}D+;r%mFZ)*kgskNeBe)#ny*~|H!caY!%jBysAo>^D3S6CMl1-a zzjSPuj~n=iN)Vxi#n2k2RNM8i1=BDkW3S{3)0a%6h75U6XP6?mpyx69+)y*4Y9n|l zz+3&V7)LgP$-+UVD3RPWHZl!|$X_P@aJw=?2;HS%s_SkyE4V@+hYt~|tyub_X(WbG z4Bu*Y<#@Ip%nS*lx4*^U#s3y3k*3GO%_Ag|`VL1?)Mlr&Uz9}p0Gv4>&*p_E1#=;a zd!FWM-nkxtgM>F~8TSw-)EGj~Kt$TXj`7ny z?h8UYxJA$M2;Mt-LFOjLFfyzoIg>2EwRQ-3{0XR*e0UEl4}iOm8aqnidqT#6>SK`N zH`5DTT}3BFN6mT)DNxbyRD6|!bb>usTi2IA{qS|mq+RX!_U!_LZRXm;)5{K zPKv>X{X{P<4qvkjN0&IkNg6#jawNgi-YQx-O>Dv0A}wbpVIMM23@AP9Mdh89q9&&vUWkfG z=dam`Q2HGup97NiM~@24cklx@QTkyS(2q%g7(l@#9-G1hlIun+L-!J`W};82==~QC zSmZQwn&S8=+^AfY($Y2GN?>}Wf?QQ|ycwCiJX`MxYpz7zamfC+M~gtPc3KhB5!m9? zd9QD#6281AeUQ{*iX^J)hol;5;d(i~92$?zqV7mu`I&z%-91PtT+6yMR-SONIFlG` zmb~zSDktarcaTE+P=8xovE}jhNa6wzW;pgG)WrJ!;cCjzInW|+Of(=uMzK~kpY_L& z3EQ3R9u5M7k4o+DlBnY|O{ZcTVH6xuA3djxm{_Y(Cl5OCo=o_(jcotpvCpNGh;=PtT3Cc$cq+4G%u{Vw@i8Q=a z5xete8KuAf9XW6>$pQWp;y#(X#!&a04pL4)Dfm}T*lwxG7x2#18bo=djJYIy?$Lec zShQ#txE-1U!H%?!4xnBcDIQ<`9jG<@4!UdNYK#5=;T|6NmuMHtE%Kc$(ry1Y@ekx} zu_|wLkIE3ip$`Z?;yvLG!vUy!ZCI#1q=BMy(oz%U0VBTHSbFJ(Lf{dsyU(U5ZvQV) z-T(o~vV8Y+p`h43Bcz~JwvJ^#- zlE38VpRF7jm~IgF#n2yN-U|E~!tbauM7^>8QXbH}#f8-_K=w!i+2d(5>{$`_z*8V2 zhlNLj^bj3nUiJG8{6aD%o#BR5LNP`RTBjoAK-wJ;h7hCBdgHG=2Ay!-Y`I0e7ygnMiuF))m?GNz)CO*ku63ZC;iS6sNJPV~ClKP4VZdHo zg$xRogk*~LpEPQ+2LLQ@e@AL@W~xybay)F#Z>7aXL3O5-A;=kh)uBly6gRW#(j~2^ z$OZJ_^s^?b(hH12GDBFZAkIisY^HT0p15ld5tY?Bd-4H~AK%v|P)V4)Jcws=Imn@v zri|YvegUqaCaHgH2O~gglfn+e((d^;AGw~g%W)9L4Sy>liS3k7K9H0&OV@ZS&M+`# z7@`c*CrHU2L8}bXUu%JKc@IGha)f=Yset_<-6FPwp;TcVpE^u8=e1v?ge57=Iu=Zq_C(&Mn^87fb3>L7mhmT*${w=dhfq*bR zDI&Jj;sU@8FM;a1P-zBnUtHlID6xz+9_Y)>vyh9Mx6eqqL@8ZrlMiXB^_tVCel>`B z`99bc&8zvm=i3#C*=;EzAA04EE{kD`ZiQj>!==Jrwn2!fYa}?E;RcU<^RjasQ{wy( z=Vz=t%WxF>{$N5v6eJPgj3849{QieS1R#|xSKC^cTUI%-wqz}~_q3NU&exapG`71= zV`~!f+}?kDkQtsdC2%r_S@rh2vuE0>%dFy3(nHg$%$JKSk97*{*ra^X7?*k_O@f1@ zC4Xgtzt=2Slp(F6%GV&X1p0D~|1}A(4&)DIMSVqtl1fVKhd_DuvlUV5Db_0;dC_du zdKBy>x~7T)1StJ&752TNevZ;<7~(kcAgd3~(U@oMo=Pb1yQh%TjZd}HXwa;VjfIXJ zGHktadq1-MHY|u1!7ai-=a^K7D&@*ATRBp>)b$!_hpm0XuB1kSW3L|a3G-YeBPBd-y3 z+y4rj6i*Gn|MtH#rX)d^Dq-$O2Qv%MGS>#kxtvyi%t$?Fr(W{Z7H3xozRt&N?zyV) z&WR;qc`hK0UFI!noHJzRh7$QrJN-_L3$Y_H|W3eojx5$!5UCC&LAf4TUL7r?`$-?aalA~yYEy4oRR0R|v zrca)`I?y*p)92#MHd8Hra z7Cy(GIU~chlZ%ud{WmZzeI@1}hBQcf2bUDSOHAd*4n7*caY$OS2-D8@eQKh{3B`Zv z(U*SK&i1*6IL=m-sDXiomuz%g-g^it07p*ukr5C>++r`};vN~a9D^`Z7YNLr3MYa{^b64e`BdMu`2eBmKAHKTmBJ8?JudzTu6I(7octzTq!DDIF`oRE$C2Hc_kZizg21@Xbt0!NCh3)&H4 z;!si{%!a2EK^E>nzR&`oD7r9G`=@u5qQ6|*@DJ4ahK)X`UQkA;DW z3^wjSjYP{XXL3o$4@#k8&Yws%wioz{c*}q;9bhSHlosaHED0?%nXnMrKhwbG!+;J{ z&o3tFMfb)|f31p;KjKQwFG)>V%v6E69dFJI$)m!}%NQ?~0SIOeVp)=lvrgw)n8A2G zSuPib8cdS}g%ICR8I)3y1q08J3@Z<~YYRfFLk_z`c-#|n;#KBB&xRbU!)4ZqA&ns; zt24E))$Vgdn16Mce?`3KGb+{3NpE}DL6zZIee*(I#k9SIt=9Bcq{I< z>v4qbQW1Z3n<6q;rHd$n#p%5OWwlZemuXp)s~{;ly)$v@MDyDmmx<&WF-95@1t!zf zD@2B`EI1xfhQ200xMDNFz*s|^|tHX=+1VyVnr8NOqW$y5s){ zM$MAn*JCa%p@np)gnIrC-H?;Nh}SC;?hz4JiM=BG=&HSgLs*}+zUQR5AjHB#IA7*+Qps=?8SQ*4Ww;rB6^y>(bNa`(aPoQ85Rro_l1qwqn zF-4r{TM__x8_Emnoja>df>l|7_hfd4|BTfPiJPi?Ll%rx}DCDe1DcM7lkM5*|(}Ci1 zM|(P4uEVMQ!{?5-6|g$Uzf~P(N%ro_mcA;mm+O4BNXg^SBR-@QqRZPiX*JR^||0BF56njWeh*U!e^0c_!bArEI>UVy?QuSO`6h zoy`05R$<^~u|`p!qD`6|J*tl@AQ6zb zT|V`XJs1n?=2l*ObMWNDw?at!uK&&+dRlp#sJ2<2TL()X6s_`Q`m)nOdJ$X5jtbBX z(b+Bxh{|=z)TiWgB|y9{aE>2RN)=A%xdLR37p&({pAYh<ag4M?sqE-f8q@!IDGcy5 zB_C9m^8fDh z0e<`>PbV)}oanEtx?r2|>v;_*IWAnaX}$^C)S^&BSrRCDZtEM(iliE@7@14lBW5%_ z;+_b@kDe{k?iKJI${{!71=|E1sm1tRZ1*Ngrq0Z&%6u|oNc=*w=GT2vanY+1Fe z>STkg=UJ5JD-Tu3fFEiMF(Sre#24U z%e^Si?UN4yuLhvtMbhN56Iu_~;)cdj48<4zDQ5^q9%l)0uJ-MVTb~c~H>jsmp2G_L zCfqpnk>rrFxpwmCBQbc(om6HtQMbY2Q*(4Va&>mQLeL_P3p7PNKZ6pkuN;jhXbO^4 z_eDEbKqR~6dsg+@m#|IOUa+FpyHGDH+$O}j_!ArfJ~{%yZi8B{Ul@@Q&3(gM^`$j4 z!iVBYz!nlxE6jmUllrlj!QYl>!%@_mSVL&=dYj4#2f?_Oqxidt!~^#ilduJS%c=nU zS5W`=>;P=?y5PzE?XfPJ?I6{JG|4i5;RqCI|-Tz&-4i>ri{Vxcj|2b3tCo`|s z@X}X4PX3$iaYUXtNdsjrf)5BXMusFNCJ&RvmmowS1r|l^O5Y*{O-yHGfdXz;t*1WF z(t^=U&MOFuUtZrV}u)Th%-?X{jxOU3zINkDMNuPpElyv<&HvQf6nZ3)k z>*2TC_5B`M3&fe~dlC@A&`_65h@d!j5)f!MCJT?jMKw6Q2tYScOcAP~ogi1qcYuy| zn+MA{JGd{hp2*k6&`vrn7-to=msL7*PM=Bb$9iB_v7brWXALfy)DPh`?XZW)CR;S4 zVWr80KEw5xN*Tq~kS~*0Kp*TtqfQw|CQ7TE>yoCPE_rvZ32PGU$)cFVfL?kh{w9w9 z0l}hoy|*vnH8p0s4{n%2ER`OcIIb7L#~3#%hvZ>G0j^ce7-thz$a}V~;PfcxHWc%0v(JZ1VLYWX3?kp-V?<#NTve58Q(s@@DQ}o%N$lI;; zBI(ih7gR&G=1(zKg;us>EJ|HbW_lLsE=`ntPT|%I-D#>$98TBll)PN=1h9!+t$;N< z-xc=L@4bRQLF);^*pRdh?6`IdO(bDuYf2!9Kt76X)aGwx z2wK&Jh)cH{D}zB{D>k85vlN6v29ul*8PymUyj##Ww?XAbk@fg9G$hp#q2-eD;3nUq zR-2So9>oShHCu;&)Wn$bEfukSdXSg0pDlk`HOI+~%u6y!mFvMYC9|{I89FuAz2wx1 zQHIy2^{c~x1t2Y+sX4###fP2P-0D~UlU1aTAz8fE&*o;<^f9qFh4T1ZrQ=!q9SDfe zmOwuC5`z0pS{fi3gV!Px;55u8?eiSlt=L{$BMuA~qA~SbwZzVZIXwLhjY9{WWuV2j ziKE3MlN<=S2CmMO&q5AKOq-hy>^XxQY!!+z9LQD0ol)@li>X!D1 z5uMCIBb0W0uN(SufHl=b1Cuz$exmPYo-Yq;6`2$JQ;A~%v7{RobDvhFA5@DpPa=ls{lUk}u%d~Lyh@7gw~sn0mgL(?C85q~ zND)8BfVPY|oiajZ(v>uxe__%G$HWfs^stVX)O=KL_(#8g%IA$C2op9Leq+EDUR|E0U6jt1fYy208pZpIlc6|f23S?jU|Y3& znWyrm$Q$`HS+v~!*e-?+sr*irj?fzw2O8T$?NsC%@*0VXH=3UkLke5fd)geOduCmQ zdf^vtp6-s?1E3s*dIGs{*4OejoLBodIFeWFO?7OYgGrxSqG_v zpWh0_e8k!c)WWQ`%kIZ{-cN{5#`E|mX9P;1!{PtZEw_58p8N%pr!qk7ylnD|Vr_(* zgW|B7eI($sPs=kaN8W+Qwfu<`K_m9IvMD!5@!WztZ-J%DfLmg=;tBU!)}mb9qQH|s z!1txE{yB-7PcBrMx)?)*fOgJ+TZEIYXH41o{fn-k(XN3(p5QhvM!uIfrotK4CkU&2 zyV5c(GBb}FuC8Ydgn`;wyExSzX8#IFUsa7k>D*-glIFqPUsvUv%~L0zL-`}c{CV?$ z!)alvlG;byTs92z^IRsmho7%@;k^-{0a4J$dQo#NgOO%{q3P%T;AnLvicc%J=GMJ7tRh~Ix5}Y5OEz>t+WZ68s zOVf6G*l-1Ma@Bt1fSP#Q?g_G>^{uLKFuFXWx`@wTBU7xa9*f-M!YRgxC9zQ|YD)!{ z+LO$WT5cCd75j}#m#$9xa>WQBKjF^Onjbo-nYpEXy0o;Ss&`SoeO6v;Xa2yt%(_&{ zFAi5|W)WRb1Z_M?3Iw=INgI0c1%g0s2g<|Fad-BAKJT&Bw9-5hO! zCoun?HUn`Yv2$sRFSy@hHjTk;#FZlD?Yi-$@ z*4!M;O=4k?yt^~w0LDv*$VN+4t%x79d<}g*dY>x8mVE3$ICx#U?$ctQdiyf9b57xT zD%_LHPr8GHfjLU2HrZCBhC=*lMhQ>zkTs*Tq-SPPxqVAXL92US=~!b~xqG9F*E|B> z&@A_1f$k^i;@N7m^)X#O!Tf4?lA>@Xhr~-~q9`*&E9zw{;bSV-h7JD2mm;FOjS&KL zt0O~+gvw!TG`&R#=2G=WD=R0KqPd!(D?-XCbjILzli%Hlr@x_^VrgaB;LARRHp()A z*z`=RgVk@XD@Ui;gTrYehR@TDV&wjB>VeX(P!bw?^fxkx8DocGYl4Mr1W#q)?zH__ zTqiMAl2f8`^iUh-h2RWrmGmgdWTIsS`%1Ni^@h4acYVEui_CX%(1kIZWmClw zuJcM5M*~dM3n0~6{giZuJFdKX@`{RRj;Ga zPXBv5=vRC+ZZjReqF-H}Qp4<0VGeB1R(#D>=vKTLdWoo$hfv_>+7ONpu_LXJrkLIC zsH;p5p(m+5Af2@E>RAKbMQ&2a-K3IxGgx21ZS1X29Tj%;vfQM%`2>fh{i`vM3vklfmlK#=&0Yf*?yqvZCF!xUdkA zmFuwK&@$gaO6rKVSR{Wm(Yi6>e1$~s>U(KEto-VNX?$z{bKMnR?FBbdnBJ|AGUHFs zIR7UYQcxIDS7a`R{;BTtTEBL4*w+oA#whC20Z4D4@rp&jZ1;oCYl~oQlYi94cvN;` z*4z5JS(%LX{-3m%&ia8xfl1 zdSG>(AM3!wx;fN6xGOz}#txzJc9SvlA4_0u@_Mab8{a_l*JC$O>;V&JeQG%RfW`g` zb4_>)Lxigu>NU9-3zH|-U{vtv`z4(WV__EOXNC{nYJWFHL=Wr1s9x2~65hN8UWI4shr(Z~& zycnI^a^kHtCD-BBYdjwiJ*RL*BghK(d(krE^T7V|++jk`&N4FJ^_T70qQkhSa@^rN z-h-;%eOB!u$VU;>U;2(=?T?xdh-YQ;v$MBup}H~R+-)kvI5O|VU;$=_RcPk|qx7aA z-Eh|PB6jtTI4BOIj2`*MzC@U$$XYSYKWUqcLL{Z5b|}T{PzyOC<|ms<(sd7dQ`fPi zlY9EC+EovXwO?v!xcX%^6}?eY>lCGi&Pz@PNDQc`HtH;b1Jyi>eCe}z`~g&M?=foV zT-TAzY=bVo$as#M8Ku0VgfBZ)6rRShIl_Fdwt$SxhydPnXK zDN_`N2v}gI$0k>KIsoq=K7O$G3_9M3Ldjx=5Ja&jI_f1gtcHnbJe#u4`=y@l3~Wjw ze?PqmetM&Z|KPzN+=>RaB|8|yVceQ*ap+LLFtR*8057d^GO9^uEypJF>P_B$mqi{< zH@k$j^89JtJm3qjyqAnLyHW)l?k6?17$)Yr(zao&cOPq2p6@-2#kSxii=`SE2Sbn~ zI=-y2oW-h!Hcl|D?JvQ%_=!7UwX%fPf5btpn)g$M&O4tmuE37-Y*TKprwJa~!$*$- zGJ+r`h9M?|S!BZ3#jOVTH481@`6)6)nvX^*O)NDn(}%Dwze(+t;79tWB~Wfcvp$gb z(TAisXk^;(B#S3wQ*C86?crs|2{i2q9G3vf&5=^|#W_Q4)=SNxZCUb@@5j)FC@c4q z+y~}84Kb59o`zX4A?<@IDLiRTK5ZGPHiROXI<4oppS_%{OD#DDO@WX51>kAIrw06V zA}}0YHqHi3AhZ3V+U)#>wbQ~Rr!l#hpXRaa>!?4bH6Lqbeb+1aPy)lV31zfB%Y{-4 zidf^dmgAGJBS8<-+Ya2vJh3RZ47Ab$i;-`Ok#dBy(-%Dt-^VM>ONL~b!0qcjW( z{D;HlTTnb@P>B}R{dN)Ih%!}+_pxuq%VlXHXKU{xOM^?ZbsToEEO~@CAO@WnX?o1ww2@`MI-D4 zBjogrnc+&wemlS;){NE=gUyfcwW>eT3-FD)74I>=V3x0g!%4p#T+s~>D)r|=dET|e zX3#G^aPwWdh^GQVVu_iHVoh+f3GrMlMd_Oju$v#bMna2^#KB$ivIEwHvd>EB+Wri* z1rxU=cDzkB!NtxsuSu=$J9PBVk>uLefjhOo-574uvH|YwqWPXgT{c7g_5-9xHgDgj z(F>1z%36IVC^#2;Dm{YL#gnyltWgVV-kR!3Mj|Ye5+nSMTh(bQ=DnY=IDkz(bnN!c zaLkko#Ul_xwT$)}3-8vqguliE2tHaEKCWlyZ{8WE?rOJ8NX3n0ez80VDFN!M((oi^WywjUE3Wdrs zk+f?q`my_pz5naPKPi<$#J_20a+3ZR=6~mQZWnPlVE?jUp?}Jh|DxymKe^ri1tw0o z1`IM{2FsnW+WOiYh+0F!K>sLUh1KajgKpwTY|1k)6fHS-Xg!8vDU`UzQmea7Td(u|ZFp5-l;-71^^Sgr+hs_kSV&=Hz>YqmPo z-5W0RD-F$3Ha1o+YTLIwr$-v}Yz zQonV>uxCvP()|ec6KuI7_$9^uRkjE0_$7>f+H&5X!hV4hj2+g}-+X5B{@e_O+J1o& zwBIxRNO}J7{9EHv(s;u1Lv9l-ikl9e=f-HDIg+Q8$vDTFlTa8-|BZE|I945ZF|f{g ze(-}NoxuE_*l-j-ouClYs`{2y zKBpmM6Ch+Z=~aM&(82hJe7wo2$gF|4WXvp|w`4-Gwy7lCTy%jNy=5_2F8pcQez9Ho zq9mPF3cnGJI#J`a{meUqM0(Q1H(1C?bQ}h?V=h?KIX;rU1dz@tx1u(lWf^R_7Q(t4 zZQ?8mL6@hAp#w-YsbhDstt#>4V3RKwf)VW%g{E^gqN9r!FO0KtTvXI7nR7hXAd09; zx>14Fp|4b{%RPrScn7avw+vpPY*Hm6AfoFi7LG)0xL|){{{(Os{s>AIqF3wJvVE+A z`^?YOiIrUmaJSZwE$RNVeWo}!{{m!u_pc;O7n5D*tJ29YAVXV`u>n`>z=)l)v#GGE zsA!MrgaDdA*_(Q z)?+N{mB-vR93`X6)X@8Zn^^*dp4D;#N}L$S+VW{3VE$g0#b^GkG8kC}eEAn@1=;1L zZbfX2DvKLZqvF@gbhazE|H0bWBP5wL-S`E+B*P(*?wM|>s7wG-xQbrhFc`V`KDCZB zJa)kAL%z{CX@5PTmrvxstajqY001krUzERQ*FJ~=FL$6O2=frhX|eIORrkv$GkEUw zaufxC?Vb63={+x>22~u&rdKJr>LE-Ufl{P5=|gKbl;o|P4;rabhQ)-)I{_`vvL1HZph%b0MV zftT*TwJxsY2);$_Ge?L~i`&Xg$Y3zO1rTisrR&QI!C^NxIGaB?tl)ZF=@#~_=1)T1 zVRRT_?Z}v0t0OtaxP%wYtu<gPb@cdP~t%&SpG(sA9A z{|FkHHEQspqr%rDJ~5i#!w8WY7#$P-hFqbrU^a&YHPmePVOrh1HE8Jb#p zAFc*49JNrML*CUaad4W!2g?}kom3UIyWPzgfSkg6q3sv=A?HFqhR|6D1Tk2+w5zz4 z#-;pH-XU@Kc^>ere4Am&$|(DirOB$m*em>0K~l*V6nwFlfVMl`O7U0FR+`x=dFWTJ zKz^E*n^VipyB#ntsnAFmQXjucK% z?k703Uv+xJ4p?vGo+1t3)IO0dW$s7}siaYfnr& zq#1#2PoXpd#WSR2{Nhn%ZzvsVz8HLdO>+7TWzPUtL|!JoKp!;maYHJ8ktGT=PeAeQ zoLle*QnG7=rQD)RP&ic*GPO@^j>5UdM)90&^2?lV@JsoUOx2Yyu5vjB1*&JvqvOT8 zUNPvC&kl4sxmq%Ogbl*{BXzf6D4M6jzpykwYG5B%T*XrZ_Z!p@2e;TL=zQFtgS>t} zivuk4roWr|TRzM2rtVMX;@i1Co56_v?~KVD1Kiejh(sq{Sj;C+5_G2yyic@Zs98Zr zdZ@RKkRv`yrN@kp2{i3jR$bN3uvGZ;(_i>r(M~PrG0ImoIdjM$55!Yx+Mw0rka?Wh@#FlNe3{;xE`uLie;o|E-zGT$~6>JTAS)!HKsErLPCON zl4Y7i)P0I3dX0cv*#Cl@bEI!>)PziOJ668y6mkDmgNVb zCyl}udZU^#c?yXN=}xI=9-NFCg<)2#@%I7F~_aQo99=(VnV=@So8EoF-z_)$qXzc2Tb zu#9DF@on=_+%x0kz3)$R)~~iOQ}^7O)ijshg-hN@#}~m? z7G$udy^b@_?~1aN*K&{P9ewS!7~@U$iQpW84XULJws&E?Q77L5&R8jTG0q_5;K4c> z{;bGWSihkTmzlfajh!P50VZOL=_uv+KYrvDuP(|@f$%r_pXYhFOpcX*a$%3HS+-$8 zR+JQlr&VB?>aT~Ic-91@-40GM;2aF2t(S=dP*-ezli)P41l*U2BC-d~0aNsH5Wxz8 z?YSoTWjpL<#?x>RZp|cD!hQR&wP+r$-o?tTZMlx;Bah+JwW57xk2=+i!twf&2+|kz z_jfDYHWlErCu;`X(-G@XSh39Nj+UGCbc?HRW8y1hhF7_FV3$^+M z=pOF2M`1a_Zdn-j024E(pJ3 z$eh81LdS_vodyG!Y%a{UVt}^N=!;{IGW&wGV%R&3sk`N_eXwwddU3sDmNGMxGY1HD4>P zj%D22@3TA9`p@aiz&_6HO5#VjEaRYz7g)wEU14~_Pef*JY~A3-039=M-u$Y6WE-^+ zqg^=a15~(PopXB3GQyz7VL*WjPth))*$0e#$mfB0I}Xa)Fiw}2ukc|2-=t0M&5AAr zK6M?%8^r`_Djj&wxAKLrbwkM?03Uk@$^I~w?&Yuo9HrHcbGV3LH~{zr&YE^6znC8! z+)i7Hbh17hIl2npP9q-jRFGJhk1qe`M#mRt=z8F*b}+#XHH@FX5vw0n*a|$~rZfm4 zaW{s@_x&XXb!k2NJ4(mml@q(2BKm?%b9UQS?8`UlW^k&2M43=ANea<8xzuanfw2;! z(S}m3NM|MTvF)0cdiKs3m)dE4atr(hWR=8yGErfVo=%PL9G~sgo9|_kg)bey7{{rF zXp`h=!b`y*@rD(DubXXk=96ymQo+mq_j(wfy%%3PUt66u*d4ZZk)5aCQMki)}$%G452C|_lS0KUc<~D#?>LwDpfrOhEWlkC#CTAhK(^BbzOU?xQc%zGhx1w;QqtMcH@1yvTPNV@C+CPxq31 z$bXD`f&5zZqI%ab_UvAU-$J{=2{vy>%wD|Ow>Cs&KW%kebCo}VCz=TIX@LP5qZ-GO zEsNjQa5y=aRtkKr`1*`^{n$H(EhC4bEkmlt4P?Fnp=++x{QX|;L2AZvaJL5vybu`0 z`*^%FbR0XRXmb96$aYHHj~)>yLsTutZfOw%w@TKZ)%FcX5UtiJK7s2K#?S+Fp)T9S zPLmDYp#+y(%A22@B~Ca7pFje0?IsP;vgcb_*5!%Zt*|YtncN&0TGuMsnVTuUXZ0yQ z1-4UUFKvJ6lWlIEduh=6_w=aQD4dd?+)WEe)11f9Eqh%CZ96&s}EWg$g(Rg zoAD=WT-6xQLD|nQd}U5oM+y{=V+R#udmIVHU@}38*rro%q z>^`=7Caj9BT*Kqc3kk=9S+o)Kk*hra?3FuKf+IpG9tisL69pFB4Nv+G94SwEOs2oy zcYE^`ixz36(97pONbfF?#=tqr_dlahTR1hk92#($VKU6z$*m&RMTw;XsQ?PnNeAu< z6L;j{eE=7KitkSzm%vDB&y5oj16v=-{z`6~y0>Ora_2hO>KI;^_f+W`?wZ3%1)U zXerca9Ry?4C(-YtPx6&@yu^($8l!mx54W7UOv(+>2ko*qeE%{^ZS2IEm z2Gu)tnwnF&BJ}z+3!Co40}7uo4{J>obP$@DL$T7f&Cf+EEs&|ar3;k-Qmql>E^(6O zbrKogYsMp&SLhbS0_S+Sc#P#r94i#0dY198sWja4a7+d5J|c9Uqc8`!4MF#iO;Ip8 z$(S;goGCSZV4BgAO({~81f~ismSw@?wZcg&hwu-FL>qlvynXFFL96AUy~Q%_xdU(h z1#dhyD|qW8>WIhFk0di}(79*mXED;FmsiXVxdRStqgO`a>NDRGv#Q=%qk7M@#)IZr zeZBT2O-@}s{g6AuL6qQra#af zzTiMzd_t*rhX%)_g6L;1st-*t4iuOit&)YZbu3TGJ%P2Q3R-h?dJeRiPxi{A^NAlJeWd5u4c!Bt&R-Bi}MR4&h36L%L-Gpk2s6~EbW4- zaFa|*g9!+kW}(e=Ot0?afLiHgx49fC6Vz1 z53^;)@NuSl9R6*x9)vl!=mJEnUNwHRRiCNMhl^<2+{XML&~^+AGDCyEi&|dTqw9MzF$^~o>q(ER*0UKlDAeVhd&ju{2F`D zWyxd%nWsILo3QGuWgeUcX|r(bIRz))*5-hkvn}k^;ZV`gvC|zpft02^Nu0k!cXY6w zY-6s;vf^q{+sXLo_pq{Z`&x>%w%3}^HhFAuJneO87^OTkhJJ8OI`#)GNWfB>@7qway!AQR9is;^Lh_D)GvbCo14_r@UVmV-fvzZ!s`cjV~kl=(tIQoQ@J@SMr zka*=T{5K@RZK=Sdo^9!K{!vTn@0zMpUaU~E(}%Hhukvz!Lc zXqV;u3Q1MJ?pNidqS@<L^=BkCgc zNaOs*0Ti ze>JnJUMa;PpZD~Sy=o*o2T_2VM-7JZlcmH4)=?8Ak{v&f*msFr#F?_hW5FT^>z&_Q zoIQ${6D_fS1d00+VRF!oejQ=g9BF$}%6q@4{DrGR4=9UbIeLu+H-hdXqDHS-{RyKFc7-EuDr3Q+W6YY*&o~ z1|}=saJ)%VoD@CKZ`2vsPhYSNE#L!kEEYWbz_iEc+ey-XoeqqWwQyXy{*jG5ikY5o zc#%7F44R>mMmYdfW%QP5zm5dzQ%+@uB6~tYCk$a7d z6K%|>Ak@n%wMQF)suOjEh?E!QV6?5fe~k}%B8VRkc}W3MyTk^!QzLFo&qZdd$VDMr zd^3KLc4N06!jJ;~#L}hyLl1Pp>s*%LP~M-GOzO?r2+$q<$&A{%U28!i+aZP2PZ8%b z-IP3IPns6UtTcp0XFNbv-ci_rO|pszn3K{LU1aJ7-?{GbW^>XzXbyW^8;ivcj&llw zM9T%mo=V6#u1WuTTA~1x`WCc@^R3K@u&l?fyw{F)kAj*g3y0Nr!7(JAWlsAIUo3xY z^6!Mcs?9|##l(hutEx?v8iMZvuV@aJ(KwSLsxrqMv>GMR>=kgI7hfC7T7011Y= zz_>R%ej-I-C6nG8_5t4qt6UHcPQd>gd6xVvSx!@-{;jKLQ`) zHsXcO$WB(+3kHjaQqDncm?Q-OE83p#%DggN11+{e^Lo#ra^7Fbtv&w27oV2Vw;V=( z0tz0DuKmnfJLt9@X~UD2zL;{F%3U1MA~iRxI#&@Ux~7Dr^MT9J8d@&`@g$vJw0x34 zntRG#+m33I;7ZnpM8Bg&IcJad_f0nxZGkds-I)6dx(AV`)7&kj6x;=1x3vZD~ z+Tlr}B0bQeWPG!znNoGJM_b7f#X;SVoO!2U-bl+baV>yE>n6Q@hghj@apprwRqo79 zV7}u>l5{)Z{P%;to)Kc-ug_yX-e-@<{r{IX``3$db~gTRJz}NWn!=h85F z!O@!m3JOQiY?(X=0*0(Ws1W7AH=fSOv^w@X=~MYbp_Ffl$AzSNW+MVZuaHpU!N&DP z2CIeJ(96rzl;M}nyoBB_2FE*%zc{_JSYpPAB0C6*5YPZ<2;)ozG({|(kimha)^oL< zYnrb;O&YJ!;$FS=TuWEF>MpbH`{FY<_nfG6!9+or@>Ca3zm`s_DueS@*wrOiJ z9$m618Z`Hc_@Cp1o7o&KB1QN0JjsxMrd%ZhgGoraN?_+!LTO!y_}#Lk4T&I zSYC==_Ss*7NGCn^!UfQpR`O=lTwaA&^+YL+3~~MOlf7zHTH6}s-l~Vh@VE&QU%0o2 zOt(VvI^D${cKd+zPSdMp6nd|8mU=s8;jNY&0byN6b4X9??q~J+l@0ffw!Xi6d?fOtkp8s5fB3dv`3H1#1=mTp=VSRhD7%yjPvSU&nH_mUfY=z%=W z_yP8R-}OIKoE_O47ZpAUi-1o@7xDl3yLNGLwlZ;b`G0^b8a4D4Kl3L499U2t5fRBQ zCWt5@T0LfJkwi_Z2M!8`A}z&s?JHDsyJ>s)4el$gzz95<02a#DE95)QUgmjIf{Nv@ zm?GY0_do02lbO8rZ?~6+j9;dhF~vwF_V>iU{$A#P)FDvnpDM_+DZ-*OrDPA+v$6F=q}sEt9%DIstuOCYku&mNZI- zh5HALyZ=DwlI}-{?!zX{VX5O5kEnVC1-AV_&}Zp)3DC9C5usF+U6-?dZZn7dyY@q4 zMVF+XNtL)6d#y>Vuhx^nE{jrBpG7jm_)bM9Od;5m31A?_F1jXd<;~0Oxy67&g|fBi z#;(2;A-}MT%cHnj7J<%i)eh_@$C!k#DwdJ&ICw}(g_AT3(ikktU5OGO|7qyQt5;93 zVoR@gXl1`V7Tkr&ijXb`<>#;kjnY1P&OVVx+3(@7#XV42F`cnZK9@2kQ5g4^n!b>@ zV{D){sA@=DLV-TZS>l;7ac~1?x7C_QBd*E(hQt>BTY#;RK34VyijphT6hZE3T)Hp!lH878EBit-fG7V*sIZt)rZD=M*li!iHH$LmX(E?a+E%J8e5WF^3j8y zUGy{zwKik9Xf&5it%HQW3?9@6Cob5MzSJ~x7#kl&O zSJ67(3XA~bxA@Eh;t+mQyCbA7(kDN(oqWirRlY2oh4?bBC+j{<^gs*vo&^Ff+3s|o z`IW&t(Lv-tva`i=JH(^}ELc23_ujio_1V$WM;Pw0EZxHRyO6N~D^l{TH#J_dQ9*b_ zN^;+y8j!%;bGsp0nphm8%iFN@G_gI9M9Ci*J%G=*SB;(>Iw;j@!Bdahtj~|M!#f}U z9Uwq?6jWtzVb*zuf^(0#q_)cls#ybg7 zls3JN8Ks0-wfwJi!lrk<+I_^f7WKI9oOVN$A7sA0*o1gn8OMPN_a9ELlPl+OxYP~k z!9NrxAAP&G-1&D_y1U<@j1YNgRGzd3DYcZH2+K`8b8-qq21RRqXp*J|R5Y$y0~oPT zWP{B-#sKvzzrVkQRi(D6FKNhcxQ1{2PH$SYPf07}Y+0MP(erLl7~Z|(5Vc*{+yhw9 z1P?ChM(SVK9=B6$WK=G*Z>%rki~1lkeBb=F!{Se@-$ZvIg{Z*!NWQfEM+3KrR>3-u-nJJv6;xG#cchT$x3#MgxqFGE#y?zhB92Vr;0@Rt#)dUg zAx|u|?S2!I`U7%7L?X-P2_9}H+c9@Dg2NYdSe?`<{9TGsbPetfdNTso%RQ+p2K-gs zjti2vKgV5PM;$f8N@M_eCCY7Xlh|LXWg)62-t$_~fr^)Wv#YxC?mq6Ezdtfpdk%YG zTTQuR@=jyKK|a}S2H`rP7N z_9IWK_=$~~yqCL;m0pJgd*oFSM7v08&FN~^Sr?th-QzqWp7BE(7R5?P^yag1D67{b z4ypSj4smo9!5$sRkw%N)G&3a*vFj=B!EKsRbq#@!Ty4u2gzOB>upWCMF5%W??o<1a zVo#2S0(5B|T-Kx36gHa4fG58dLM+Rscss2uX&Z6e_1BJ-^n4DO+HTG`ar#3oUS^mx zrVwopk5Qvh`p>^!-fvsUq-I{~dp`AK?IQP+4J@@kDPQLwaf@AH_|g!|bo!O-uHYE?=U{Y5&LAA8^!I*v3Y*E75;)c`e?#;+7k-ILSFBYkBbhof;Fj(3uNAL z>0*00%b%?xC@p7@nImB$?7(LS%9x!{xcMt)WKLthvXQ*-* z1z9;X`}&wlgL(79o6tuR^!MFf!tH1lg|HcqE3tI9qUvha+qAz=KHkvNJ%7;ZwCH+z zRS3pBE134ru#c6^;UoWXQ4*Pux(z*aGaF^ge zQ%}T#ZphSy^BO1zbMm2!L^Ts7I;D4XWy<$sc3OB0N_3KYtx(f*kErPxXKN_)ZD!zM zsJ(|Ug*C-~XLSn?(|qT`p>-$}CV|tWi1hI+vR$tH`0MR%LRHeGdJavY@%%@RqPghO z1mTo{g6Sa7AK`i7nues40~s?K)*=0B)3Ovbc#%sPJINQR`-cO0Xik^jLR)fV_yCn_-WeL9Azy zDimwOAzd=RQIgN&i#{@Wo%VR-r}SsMYiO&#^v!SJfzdFTlf>SC0WbffClr;4p)!H{ z^5xH`!=K21_-p^EK%fPyhqr+JA-KHp%NPY_f0c}+HJKKdNSYRj1SziKfXV->hz*__ zwA=2*xVc*rY2_-1PGe=$ri!=Lcd{bP+VeQ6?u3k+)(L+}xAH-yS_WdyVO{EYjSjj24u?t`Uxy`YWw z!K8U&^>xaTdFo~d9;}OMn;S~9u&mS^y=!X({#GDFEA5-CxFteyimnrIaQapihyWG%U8dEn^th^yhsH1HWfX{-b?40s}9EQ zA@XFCXQso3J6BuqzR%&so1qidFZ=W3F{v$ZfOlIXFxS7GJ1^B*sWhzQtLnlDdh1%g z>nQ<`j%rP1FXbc66n2Dh7-O!Ubh0~w2n6z$5YNiiX;cvqS* z(WP!L<~*sjvbzbn&$f|lIFUOaqKtZBIa4s4v+c(i-a8*IFJOgN9RFzu0jQJKpUHtS zYgb^^esPj)AmW~4ga!lcRK@oHPLf|UQ~hIo$4nPJ{EIxfyK+qiEY8aLj^AzN|@Hoz;kDA(;3Z*-iCn zb6zqVO$NH7x2SKph&G1Ow;?{%f{n#rF^PewT@*!Si~ZVef3Y|Wa}Y2UC#~a9rq1HX zBuX*{m(>Ssbxpk3UC%W;{@_h6(7&`)-#we0m?~NjZF>giwW4swn*6?Z5;vC{zQbsg zjGqVi-&W;j-)^lOz~DFWNW`b%d?;kSUFoqZC0MfB^e3Q*=A0;Q%Md=E2fb|gWYrZBS_lxVJ z+~!5;3cr;0fZZb8;}=E9T}^F3oN0Gro*GI+sk;33bR`Na*cVOy3M^0O^$tq7QtcQI z`$@5L_!I;*yvfDrj=QqyAlc?b`5C^Y?DVtp?__ER)%N2$gI~;*WQSZMmw6P}SHHL` zi&wLXq83q|XkhoQ1K2ym4&hTV&~Il8Fo~_I(C2q$2wT1Dhw_l8ng=%skwj9f7S(FB z>)W7qPx~vz1i0Z{Ql(^sa@J-b&f0naVIH57$z5WrIDr$!RU}Q983qh8lae#J#Y&Rb z3xD~(o^&@LN3XoDDR7}%Ty&^B6w4afVZSkAbHz4)kgDcfCh>1!ISTl@XFS0P;^rFKsW^tEw^$wt3l#eG0QFCuxDhKwr z#X4Ts!D|Eo=JQivtz;1$52mIYLhH!WrcqzfS(E1{alESZGub-`^%BV5`Q+#KkrdxA zTH=1E)!U3pi-?POM&_Tyob2W`XStiTTfc%2>Q+__;?w}fSd3LElmH7=OVbu)-=%ac zp3EjNl}-Sn#U2J}mc3y=!^;iM+gjd}Z?)p4sTNLpW2%(9bSSOr94ew1G8W}MpAc#l zH74-el<{+5kVg>__8+-~f7Vf$#M(Spk%KJP)UuB)w2sqG=C$A#&@}+o=Cn8bYGX&w z4C3e4@qh6dqK8$?yOKL>XujK-hyW?vq6^ogBO&LS!iuM2UUnVFiu&)za~BMPUvKT3 zu|S6~@ueHuh{X1XiQ^!Yi3oOUZPiF=gB&5YamV!EcB%901*P#JXJTRBmH>{6%vn{Y zY@@mhXUFY#H%|wS`H5Hw24rJJ+JqF)10L{=WPcj0^jQ)&u+z(LPip7-LD*|)Cc(@a zXv_}+h=ST9?6hePc~MvGr;~~-JCCJ1G3o}3Q?cpSrn$>wwzjK>RwbL-&DE7Fb2>|M zwQQOu(a5N3(4Ef0sg70du9KTFQHRDHkV19?OjL0m76je|H0F0cec*xz#?2*_M$0ER za+HFK*7n=AdBcy`8ts3G8h4k8LqztevlLjN&hIdO`K>VD*8)>ZJ1#Pv=TA8A1l|h= zXE_r4!goOX_wH4fqNCPCH%gH>SA<_34*5A%lq9oHVr04-bd|K&z}zyDsF#KF!CwVQ zLTcg{J!@%~gE$AZ=ktGM&y^v|i#ZjF#|F5Z75Q4*?w%PE$?#4j1}T!5A>G1H5s`!D zgNaR}`WBTvz#fpfa6k$|mUJMJN{^QHA&cU3mwwpLhH<0*8e+`ySVf;3Wy^^kuY|Y; zADq8=SAU5?H%~>`;%BrFEKiX?Ekn zgRa%Foi+kFbYdU&MrdcE5Jg6=S1mW?59gbPX1YW=xKl>3I0zO7mmHYg4|-jxfpM9*=0-|5$}nRkd=^ z*1cwe)emxo;G;xrLqqw6h+>I=!t0Md-a}(LX%=lW4 zs2noTY?E?A>>Fn+OL~2?*r!K!WH8kxSHPIUH)E&P&Sk6Uy!Ez2vV6^$Ppr0^S!?Hr z)nRip&-wb9jT3|;L<8<>|d^n<_oT3nSxsrT3mhlGcWoMc@Cqc6wnc|+{i82D+;Fk@Ph%+9L zZ}gDf^qh71QQBa7&6ZgJsz@#Aol_x8}RyAvv=uPsV=ed#JF3W>ndqhu#G3cJ8{+(aSF z6TkD*)jonTQ9&ZCB8m$mL2Eu{?g~iEVk144ZIPmYW^k=4d94+^isnHd-TScv}&xNT)=JBS(%k=r>q<7RTXyWh8z10-(dA1 zjmc84_k`pm{tY-*15{IhOX?=kVYj_xFCCkyx~gHVR7&W*?VlGJ9_b}oTSC*Z+t$CCu^YGIL#}_bX02zV zbN$H?#+W~CZ?O!v3r*D3OvJ+$uokcE0G!v-0MeFTrWX$V$(kpI*?z}UG(feE#1LE1 zA-8=yPH8%RGai+vi_+lub8Te^W>FuL62^O2J%N0NclQxr4rf+ck+*%zj}TjP>_6{6 zlq;G9OPVn7Ryqcr!wd~nR$*g_`ooh;Q|}c zW-31gYg73l2jG{EMG$bb5ZSU}~44R>hRv{!AVnMl?YH;*~?6+D-4 zCi@jX7yRywkhsGMxEZ-mOcFAUIK3p)@YT2b{D;tAV?p8Xf}{$1370nV6-}2Awb-PJ za;~~#do;&X!Plff4xA&yG#LUSj(Z9wPg4XvlaS#6Q1h=ntl?saWl7DvLIA}p29a)#j;V3Rj9~WY5D1QvWb2+3Ro8iRr+a3`sop}Yy6{NEGtq8 z7^jM$l1c8cDe%1JEoS9738U1$Orwr)@7_(o=;@uHn9X%hQ#6eY)SU5~!@ut~{Jt5Y zy?-A1CQ$z4^uh9f24Fe7CG7W~T5d*Iln*>Z2DVFF0(IuS-~WreSMP?)yE+kss2 zJZDkHXB(*#<8(m{uF(aqmpoSSi}KZXGPCh_T4ymlPJ1zI>bQgQ>eQVDWzOG9)phS< zbV^S?%#+O!>QlJBUjLc!{`h!1eEHzy`{*8?0<#>bXQ>Jy{={m1XOW4CQ3e%2s16~~ zVNyrA^`j*`xF}CibX#xIe1%ub%D*&y(^pK!Ck12AF4w=IU>WK{xDd?Fo|_tIEh+LNW3hkp zcPLMsTuD*Vd}ad1+=8y#ZG&t7SCO24&?&II9YJ*~QvvbFEt?}|J5i|_eGUbhZ4K$N zb0PsZWw}y`4%k<<42^iyni|WCpyehW{YTGu--aCB^NUhiD2| z?#E3=*rBNQEh3DXLv(Ws@|p!-M9EiD$HFOLS*2=;W2xobRgEbwu(`^H*T*2%Zq_R< zA_wdHMC-qj`2;Jur{Z-3ze9N%#O7J)&e#Cb($bq&jJV6gx$1#WDT)KyFS8h&q z^|zV9B?9H3@Ahb1dP7|CC`tXL^ZD(f8hU*e=(c?bz|(4?eLZjxLCA4@B0jngVm4+S z0f`>(pcz*c1}}%NOHnGC&sW2QD{@G~Ax$*C2uX;`e3K`doiUOYr z!?@tAZqT9f0Na{cbGMqukCvE-yO_%C?oKd*$&7C+Jhik%F4SxF!)n509;n=_CXCyP^@bS9A)Ao$Z* zCk6kayBH@2Af6G~`m$Fh*6cNMm8`GPc~1vAY8`Agi9-IV%qAC>#kSU^E8>k(KdSme zs}bb5kaK}iK$=UjJC_Sj)#6nVH7-xgAXN9~xV5SF7b6iZ2y?Fg9B6mTK=N|Sm;sBQ zXBYY+Ouja4=B#WaCZfBK-ry}L)a1xaN^o*~a(qT*E59Vh@x=bOFt-1^eklmm8pLIN zqSHr~D4I3LW4C5<$Vlrl@3Mvg>|&p5CPY19+zUuOZ)YPRqYHb|RhBE&g@t!siDwVh zm9E_%HDpMds?D4jlGW>SERyh{KU|+dnFRP2doj?epXei?1@G2Pa%yX~n0976{hX;l z8AY>z1h_Zk@E|XWy*e~Qij5OQy1XnbYWOWNWED+n7&^Evm;(J$X1}slgtbLE#03;&m zQc$=oC6$EV1&E!mg>#SRJG$<|Zj^kXa8HMqWfxx035>h5ws{B1@-}b5KE2-rqSVh0 z50P^Sg>wl>#RQGZ4TRV`LtXD!#g4$NkBcn}vcJQ3MsPfnyUkQP^1k5=A8|^}iWeL` zO3e{EX1s^CA1iVR`wdAy!yDp%fNt+Ny9QqIr)C7Nz}|2%kFq_&-h&LM{jPYQt1-vC zYrZsQSd%0PN9p2khT3PH_u(hR9O2(NLFr3e*jiX7r|k~T zN4qWkP5mqbpYznQFJ;$^&>SYyzf`&C+nTu@Q5-NgcyF#0)=76Fz;Uk_U@s>Jy&V^S z>2)mqdfa*AE^+S(`4-wq=(26VOur+F=!5my7=(fo4!-4mA`zo`l>!t)4-`QcswPiX zPETKdz2)Qxke2)ic&<1iK-uWe^A>YC#DCI5`MBLZgJgaTs$ebf2TI~oVQ!O~^kc@i zcad=bq@U`9-atnLs2h7IT{Js3fCnh~rE!X28uvry1K=(^wO7v)ii%0?bN}Lajsp|k z&9RJDq&Qml$=ZgzsjnwvVCCSECN>-oyZ(7p$jkhZK_R0Ut9WLxA?!VkvV4SUJO^vZ zAXX2N`%xQCqeltb-25?TUze6%GuFM8SNEk@B%|CiaW+O2(8qhXtu$z%(uv;G+N-z> z;Bo{m0Zm_7wW&1K16_^>mH4zSj)t6Z1fV+yYA@6s5 z)90^#F(nu(Z$K1K{E4>j_1EB8t1o@bFY!ru)6dX@At}uJ+Eob=fMA5VLIU0tJt7C# z=O*i4h#P9)Y-_|O5mp0Bq49EV{E%vKp1jzK4hvvu(vMRm8!W8di10j&IceUb3cCT= ztB0qTtlYm>!+hKy@KxW;&GRwkwe0y2&kJty1@q{vtXhmh)SS)7?=i@v8v13}Y|rF? zu@;0z6o%iQucz1XXa zh|6tHY{qR+#N}=o@N)F2OY85i2+V5~QKw)rqMZJx$+nPSB6E>5U`@dNkUb(`xp$;XDd8D z1zKyZ*r>N2T&(;E6Rl;_*H;yf2H9O`KWut*o#BUU5E;R%vOMh;VdNo!V7Mvel|JQ2 zMc6c1f~~|KjcV{;Q;U(*sMRCf&68Vny*F3{OsDX15hx}Nt#mL{g~W$36-fBL%!2REm?&XjlhLOgI<9jQO9gl2f%wJ!xr zXfU>JQnQG-8ydq0$g|u?bkW;T!a~p08cX6p>hjU))^QigZ^7G!axT1`J-{a!OItUb zbd81TphTov?G&plrtjBXTE81**YAFh?yqlRzY*0xEV70%95v*Yt8y2kQQ}up?oNJ1 z#!X$}ftA=Va-k8yenVV?xlRsY&7%t3bHiyQ4u3y})(_Ni=vG=u`O&WA1SA5^puEU$}{i$VM3cz>LI+YhF0lpS-Ud%hEK=pQ<1ayb^}S8J{~)BI-<7GzulQb#_ot zK}|S4V}+MHUGC%Z(=I}y~)3pdNsIA;%YB;O%{Iu)u@T&4N6Xc2mMT)hTb`cC6A5QuvR zPb+YCWG~&)%=Qw{QbxN9uTLYcSIqYc`?<)CKvrQ20?HJk=6!*k*^#X zJI#9rU9gYWJbXQ;PEnk@%9}vqE=WvI)~tQ{mT}!{JcnUfAKa?z^OniWf$qPEuOaSx z>RqTGd+kRd_x69by|unx8k74l>JB~DqIV=$9zbic3yyGHi&g{?nxDTiEKWq%ZFEfC zOCDEo?B|2XS%EbVti-OUO z6&@HWP{lH>wrHE2L~5; zrmax4Hb2U8b{RuXj-giR>yH*;^ggAv#2P5ty|i2%QtuAJ-Mr!zvcjCPL3 zrXZ}`;Z2XKs)Nzgn3Bc(bjMkp0BE0P2 z(OZz|F*)1XI&9bP?O+SFLE3NpMbuVO#`r}5;=JO(rM!R}{g{^q>qe-Y!HV1@Jx!S= zef1RN5*fE#f>mTQlCd4ado#UCJfr5t-H%j4&vNGuyo8+ve8(*8MWXq!mV5Q*43vcyy|Od(pf%Q%x*I;}+Gobu*ljiIr= z+UbppP>*7Qz&8Ck@fCKuV=9jUrboqAj&XE8`}(8ZZu)!6O)8lS4O1gJuSET*ZJxs{kufGXOf#!2VF7R z4}2NU58d^Hi;%kI22=Irs+vqlEqO(@?~5Y_C;j!l~Yf9Yn1y9^;F+@qWJil{pZFsvr`d zXbHaSY5<5sSy{#@V;{8vah6Ydnt0ttNE3J3F)je!Pz=BsW=s;r5o#PKzuQH4G>;A~ zvj@KA3N>l|8cai|1(5u-hpH-M{-u83X0a^_ZUY!am*m-@={IS5NV#+xJE*g(Z0CcK;jJyS zxaX-N_mqUtw}(Hyl}}4@)&)GbEujD`tfSDrfY=M=#L${=%0p51uIA%w)gZwL*RE{oYu@|}NZtDa zIF^~h*qFXHHS$-R%JzX8PR7*|tTRbj4zozG=CT{@AEC@W{%Kzpfkn_EhCr}gah9N& zSP_i*x2ff_q^{ff<~J^l;z>5BL7y=vvnt$i$p(9w=^Dp?Q@OX{*9(O}-!PzA!KneR z*n0P?0JE~_#(-{%$u3F}wuV8`F&2lx;7?{fL8$)rs7CWO5*R)|ErNNEtgWa(u#^3v z)d%9G*;3Wq{9Wb+TjSWOnDvhf&fu^nm~s{vZgh-(5jPi3JiEo(iZ;P5qKI>^Mg#3f zQ!3MCho0M&^>7_WIwY4?y_~Uw7S86Na+lI{rEan=%>~iNGwkOwqX>eYl(8v6$d}9_ zoXH_$7fc&P$EZJ=FT^9;6IgvcWDHb-6AUIG4JLIq@DXwxb{y2d7Slg@!Jb3`Tr1zO zz$lmk$M!ACzCbf=AzK9u9a~_Pe|&u#E0(gIyd-U{VB9ah^TmRP-j1hHdqHk{K$SbU zFl{hoDtyC<-?-=pj21~xv6IY5_pf<`Ajy$r47Q7<2*WL16WrC?B*-NB&?L6Al>t?M z{OxAyik??iS41q8K?qYZ9gX#i`ok0H3Dybx`}OGN3mbRxmZTS&iF0TQ+1SBXlQv5 zgULsxUd?G-G6SsYPbzY%U0@-k3DBO0mG|&FSJ9rP7hRYGwlCg=1Bp|*l zRi!$bjc*Zo7M}b) zHZW=0BU<*Gci}90R2F0O^=xK;!p>9Ny0%jsKrA)4B>D}RJxSQT&6)>I?J`BVqsQFA zQl0@jI-*a%nMSAG4R8PxkQaZ^3~t2U+t{4kGBd*auwn;I@dMQRLcSfjp z1*tAp%kpG3x|4ka5u6trgvn>3^#6g3dSawh?-quq8LiO0qr0BfU|;m(u+aOo;Lt2M zXc0g*3^Q8Vm}Roqh65l_gWqZ~UEwhT=t%60V8;NJluK;WA!|@xj`75JNmss0ybNEyny2Qu@tw#<*@3KU!YuJP`1e~08!=b}MqVpf4&@=%v;q5!5t6hoc| zuaxn5e8a0|*Wl8QzBcS1EpygXvqj{vyX0T0?|-plBPeOf!OtWX>34OZ=8bG~3Ph7r z7e`Oc6Aenn$xrxh3;$5GHF5x2gN ztV=#L!V&snoYS9-N7eXE(hzLv!!&2+PrkO&)^2x_ zzBL44cn2BwZOB3};d;D@q#*$-H+}Lv!`yUQ1vDF_{(hr%T#WgfXd!MbSS zt}57@XSby~4I0Osjn6c+(9R0_77!mc&cNt2x8uB~=iG8xyb1hYtbJu$oa@qT5-h;r zHn_W62oh{?3$DT4-7VPQ8W`Li0>K>;7zn}LAy{zt;AgVlz4m$cJ|EZl3D0#sbyszD zbvLtleU_)fz(o(clYH9PoK+gpicthxYi4jhtEqgg=I~DFP0|jD?%t0Ue9t#6mX+S_ zoJ5E7!f?PC4aP8nJIn^I+}h=iJp%Jx7_JoSdF=nj75g7tnbcYd2C;GnJ5~*{dZtK# z)VLX8xJp`A)&DKW(Kqg?`)^!nKMBHc<@pC!R}mELn?7Q4wA6zyLGP)F`>yO{nV^vZ z7pC7nPB+Qsro`=>_D}s#xxZSjt|59Muzv--OsS(q2|AK9gt9z zG;Hel>YeB9PC)ik=BLFtJA|Q(&s#+Y9##hC>F&|6TSJQ#qj$t1bjh4}hfxhAbM(Ks zu?|}@iBu7Fjjd#ey+Xa=;?H`&y~0OhF-`~AWD)H`-QnJ~3?>N6pK-C|_E#&XOdET3 zzae0e|J`*!ivLpM^MQT1obXD-VNWG>!NN287R~b?T-^t2yO_&*1)VZQRXIZM@g1l^ zj+-vSTvoKlxP5o{AWJIWN!Dq9-g#wRfFiOv$j|+x;-Q+TeNeyqMdwF>X?8Hi{;xfi zHqm-Ko(Uu?(}A-uMut|v?mpN(%jzFwi&jF)Dq@0c;jhuMcU4`8+&58lI5Y?~%rfp? zU$G9rNuZBkwt{at%{;W+(9>C4zy?X&8dmN_{t_7DALQ?*Kf1xeaD@uPRXWwX0t4&5 z{v;91rEtyYMZw@G@`8=zUB#r;0_WsAvEXZ?GL-B}aZ^)V!y)V5c}h;H-k(gIQgvd0 z@SwOX*SzVU=&aJ5_}8*A;dO%39-+^#bu_N!OJ^k1pV9skSlk%jF@M8=rS;E&_4fY- zR&^!CYZ$O7k`G?}{D_~NDfoYRQ}Grgeb2U zfz`IRJj(x--*P+a_Uir~<3;`ac)qD_cqAby=WvCEk|MdSR{?cgX@z&mdMnr)tUUIan~#*ubvpy(-MJSso$5T(gK|OQ6G>mM`%2fJcI`?s46BV;keAPEdG(hDr?R&0k4cYf>@MBjjCy~YtyzQ z!)j`KqpU6FDq&ej7Sg5iFT#Rx@S|rl?N<9i=_K zW2c|_6$8=8(rMn+*+{86w_o#{Zs02IT}gm!-og8`2E%#22TgwC1;Wq;sj*u_Fd)+I zt_b4&tQN;>XPZZU1GwBk2kmoN57z|X(Sy<_KdvJzeW+zwzpwVpc%9r@or;>`R}p(S zcuzFZ6WBg!_v}t~x~3-f`Co(uTh>-{K3O4gH~RhuPl)D*l8W6C_a)8bNM&s-lf9lb zX9G<#+Jwec*yVA(=8SGPMQ6w#T#fDj+_P>|sz+-WN3z<)`P6S@XbtR+RgTU1@&jwp zT1Z<(45>{#6s)(a=|Xh1_C|*z1y92)3Wh6t9Quf?ye)as3%wtQ<-1v2OHKs-G?q*Q zL^9G5IeCpaZhq){!ie7lG$VLqxFmJ|!WDf0l?QwknY(&ORBpir?k-%CND&NIl)={~ zEhze*#Z5PV87@io&NISr)%6EgltL(^q^%~><)mn={TyW1IB5WLwP_FVA6$+853c^p zGLc^<9liShBL(^Y#?{}JiClaR{r}(!5=^r8-byUr=+$3RP&jQ%d+lF_$#!lLyNsW5 zh~tyW_XXR(grGs&SBq_K?)LiogPS?W7j(5np#Bzg92^0YH1(0>4B_!pWoeRl^$Tq% z4%&M{6KlQ2ZW5>jReQhuvRlhCCpY@du$Ur~{LM!thnY=B#{4oeZvv zUJnI9L#N?6Ny2&WTID}7P^Y^&6($1}3Scr27gQwF?Nm(ZN1JB0E69un-hOrChr;g7 z@~nTn)q7u%fM2Xj{iDr=zSsq8>tp^74^G%0wgN@^9O!;vqhLiaqXl0}i9j1?Z8Lp) zP?VZZtfo!JQwJdo@J-DAXj1^w=VX(a4^V~dKIEr^q_~|!(t(fy>HBgm6SdOb8s|9b zry0v$N#BHlSoiDFc97mcYk1EL9P>D8&xfCe=q-b2`3CqB}&qBHwGg851BQz`kr zs!(Skvj*gU4!1 zSWnbu8Vl^%nm8(t|7%0aA7`aISC0t*b5^`zWcAO+i2qKwCI4FlHtTDNIsD-&{3w<+ zJQN084n-yj+lWX`3vF?IK84Ubw1me8b3_;^ITMIZGo(xo8QG~RXCaQ^ky(%)4JXkaSSFZ&MB zz1Suq$#QX0gJX!}NsDl97_aDnh3NMed67gu)FfZ?@WD!O?d@vJ`W2z@Z!F7d;}rY{ zg$s`b&fbc><`q%b`B03!C;ddQd3&foQwOQ9e0LVubsTrtR{I+@T6}GpF)SE0M5I|W zIKJ?$865CoW;}Wbu*coN13iB(!?+qk2C%2!6&SysYs`jvtL-1$c5>d*LEp#(sPd}S@h(kq8TRU z)ADEJFRjZYW<>-$0XK3;@uSf{a4oHo7$>mF;XSc~Zvv#pSKM=cYL1Iz@d3JIl7RwQk84?^(7E$N@|@ZAjMf?N;2ne)shd++`oc=mjv9FRiOH4I7D=W z*!(aK73R5tuB zcXH^sEHK+w@~oPwNV511<9Xarh^$6T83Lg6`dsD17{rV#!P?ak5g(3AkJ?vrMF)B! z6EgBN2H^{BM9QmNi4!v{(*;o#_oK;T`b~ghWZ}Rm{1n zkw>jx33r{7D^=TvmuRF&HgD)qIaUfEED`e*WR)8e{4p~qb0dsa^d~s%zkM@C<3>C- z)`a@Qxu)^eeC!B9^0G3*ivLkd+Y;pZ)^Uwzl;hX+R4?EHsa9~B)gEZjG@|ntm&ID- zjkj{hkAq>|-7Q`C09TF&9tbd3VyaylU7%KCA**m@*8cJUGEWXNPRMPnVIr*dk_ z5eg+beg|FX^yMGR(`Z%08q?I6esGZ1Hq?lwHSZfwR1xmg3V*ZVd2$&&*@sYOtNDoi zJ8u!}&_I3J^by_Xg*}7d1HvH=D{P86W1@;+Ns7LTeOl28Ko1j)4wnq?s+2Zxy*Xx- zuw1~~z>&Q}%icE=wUNL3@eeg4j>V`(t&W{9!prG>qkRmGjaP)FWmw3o$IT5w+{Gt9-5ZGs$HQ z6Mh@{U9Z4@jrq&zfVJ8(M@NVGcRbl#ExtbAo#TC@f&6VDzWQX7raIJ4bi60C(M9yv zGzb=m%2Zx3%`{DB%i}K#QE$5dR+Bx_Eiz_q1)ItlU~cqi5OynuKYu+X#ot>(g#h;9P(-w zLGy9e1W|FfRLMd5n5g+j@J++WU9Bv9E9Tf}N{S_fCR@m0RQGk}ZW_>utThJ@LFb8MF2WnUY!we|+GqEa{bxJG)5@4mDkg>*6UX@U8W{F&C8*Xxm3Qkis#dhuB zwXwUuw6>V3xO6A1B2#aY;QY%%e43Mh)ngVmfA~#SD80Fv217i)q5`HIE&ERIaFHHU zKb5mjWXW-#fdBG2=I-L?W0`Gj7HO^dtKSb>Qq6nt@f4vo^o%EPazyk0<#Pz(!#u>H zaf5>yQTA%W-S2qdVQYajN?&~UeBpBFX@UKy-e3Nq72Lk=+)`AsUmO1ItyZ|i6s+Y& z{j38k$NW`T+WyBsl-#s;+hcM!+vV?~EEo`oTYe)OPTG-Eei)2-j`6e&LUP^}I^Owad)2t5^$@W>H zadJ-B#TUPGS*i4#E9ttR-XrGe;^?~eOI zb4ZSnWED0*b(LkD>fQ`H@rX7+Ph>JIUpeg$pa$6 zz2^p|R5mmL3Sf0%vv4b9K@dS@J)~N0+lCu3#aM}Atz3a7mhMaIKgD8EOdr)VP!=Px zVhTKh&2Pmq%F^=BWpl2=7O~1S%Se6xp0K;++VpPNG7MzwwZeGz$p2C<*84UcKJLLesE+8W7s|ij7YI2TpERPrhv^dE?uc!gGmgVN) zqlg%dbg<0mlv-oT>*;hLs0L*LdF(W|JWZ@48oy zH3NFb)fYoo>c`eL&Jq5S-SYkLyRb7cQlw5Y0;{GF;ky^C>AJrG*OB0ty?(qt#;^K; zd1vY%1Om=q)I7b;Is?``G0bM&)9Jj4%+p9^7{y%_r?qgur;zA~P*{y#7XqpI)pk}9 zrsg7VXW+PlY>h&QLtB-&!n_qaC!=W8Rkm&js~xgx3^cK zoD@dQZrrv;Y$3P~``eJ9CB$P6nrPJlqab6Sf=kGW)6{l_3ERT*4eFPklr|kt zJ2hwN-x@IYVu1(^_0s|1jMh_)Ba2CvcGhMTd}?rtmZ^CsSKW8yek}Vg9v{X)mxSLE z^flzX*2#i3@#P=~X#t91#P%|c*2lvc=(YB00vbzx25LcWy@eSKaOH9^uf5`r*KS(x ziU8L3&&c=8z1QV{a`C@nOY-9V+Qc2TtwUOxJ(2Aa7ah|Klit%Vw-zV1k~=X4>-*<_aSA7lNwz? z?EtlBl(w1WZ+@AQ;g3t$32Z}A8)74c0865-Jy%mN|4`8L5Tl3ER4{tu;jECn5Txyz zjZ~pMA6dPZd9Y4Dx8=P=&5;99OR6LyJpi|kVWTT3j0JW{Avzprv3t_sh`+;`)u#jC z!i`s*0u1#hl2$(V?vpT(Pb1J7?u~ z&Q}xXCF@8V=Yr+nAjOF< z;B%EmTI?azkoC=MekTC~<^^6)evO}1Rau;B@L|ol{Vy{RT8|l&23vpD3HYadVXnXP zQ<^7wOX|1*j!V2eXg$9UzR|;yu>7ll5y%>+2)B5eg(mcscd#g*71tC%fs( zXl$~`@b_jyQc{52sI4(GH)>{Z@mt85M2{LF!I=Vp+2n_;7n^YkrGTwAn6IBB{l~FY zdxnjTrdT!~@0_Cj9kWKGE|-Qpvvc$3y$}9P3RBa&L?E-Dqpskb&&Fq4a@Ns;V~wnz zH1Fz~s?%*VOe1!TI5+UnQeOh(zSp&EF0D0irOq5B?Q62Ejzf&MW>%~lCFVr2)Y2qT_j(>mSwPh1@ZzS?zYynStCmx_uIQJf$g~_3Q7!7e)WD8<< z{$jO5`C5sq`_eT~i-cgR!52Zr))f;mW?~!N zxz>Y4rI5AkXT>n4Hhu!aHlgh0RBRyo`LhTAmtL!|M7yn&nSkBG;m@X+nZ;-w~*efyJfryT=w zb{ox~zoO$z1>GiNo8s;|b}0&XgV)v5C1L$R*;9bEojE$&u=?N%i55+rH zDg_ZyBKf%ISJ&K%u#YuO?$XDM+f>ZJn2~TI)be|ctaTPQU%J5ifj*WpL)vN!@v)p7 zVGW@Tb)@^3usG6da*DcUiJLQjiG>^t3hFr2paJ1v(OvdlP#_4oQ#^1tx6M1uD}L== z5>1OhqS$ipedv@`4iR;1&x3yw{`uLjmqq?=q!dkazYKf%oXY7m!(&YWvWum2#105X zn@`-<(g8L-yXTzAiw+;VC2Y}o<{~m8dS0}yNG2xikz+ig&;}DopFt49IXVq`R?s-f z%Up?Gzl~g=@uvv)nfkTwhPme(R9Rd5i+uNIKk-Q1cVd#*88K701ah8UN3bZpli&+~ zl3(D%5bXOLr9H|ym8};V!_~+Y{ioq)#vcRuC`d^QBQ8BmNUBVwk?&7?3mf=Chyy5u zeMW-v&P)w2*i@hVA$fg2Nn#!E2Z#!iu(b$AcAV&`{`W!QKYnecloN^+%tWI8$4NM@ zzmssuD~{NTxZiUblf#ZGk{cQWw5sGp++J38rRY`_Yv9`BnksZ;u$i{E4Q~W6{Jf>V z{i(hgcD5)o=w;C^R)mX#*E4#U5#^ z6eUo-E`k;T zuCIx7s&yQuErl^slmy zgk+4(iRPp|$IcrL@-D-=YuthH%L*$$lZ0NsTO{^1b-ptrPMgRoWN&8>{r z_qJ7$_}B#Q(jrh*evut=_U{qF>~2~bcN+Tkl7y!wcnPrJd(~g8YF)8^pPwest~^;| zlNZbjchFL}UJb4Y@@*M&virydC+$4^O*YF!`!2J-Tltn?Nv3HrWS#Y2t;jiNG@Yrd zrUIH=d@V!oSv=hbQ%1M(SDsqvQ0=ZSx%BrFxpwMrewfWR)fmj^^_T$1PFOXy(nkv$ z6<{Z8_c53*;7=LOCXi3-RmIRIV;p(p=PSc0o41RR0 zBr9m5Rr)%0G3feJS*4c=2{ba2 z&87)7l5{#{w19{02{wuHp)Rqo*y*C`3{m*>hfdUcH4)h({@|S6TcFQ7 zaEXO%p>RanKBgLvivV2-g9kbRRsL-tOL7jk$`;9X;WZVTB&=vuuJCDd#H5(iU16iKwKiRnig8Kh8#!vU7NlJ1U|nsB7D!qp>o*&F)|DQ z5SoM*AP@Coht$%g0A>jx+e}Cg33}*SXtq=9U50l+*+tFvJ?$vIu+@#GnxFPlbv$38 z35#wA!NxUIDf8%=yzBmJyx}yhQMRs@;l8RTrp8S3sjxInot_*ry8tM`tka}jaR@`h zO|z10z=n4WM|BDs_%7|vboVtgg>vi5{L3we20dUsN=J#B zlUYTf(E@U7aL}hy76)URXwGG0?RJG+u8y{-U*&{K#$NKe#7(Szt5*V^ifCItu|Iy4 zZhvt&^eE4H^kn!k^)(#%5%~MFycD?`*u$J=4=F8dqX!l&YfxCzHIpLucR|t7-HBIp zA_Zaf^m4f9zON*1ktI`@6O_X-x7c8%t1az>x&rsJj|M;n3;<`3PzmKe3@^LXG`5tq#uVQ(COYZ3A;p3bO25tor92 zPN>V6chQPObkfa)uPQw>IU0%;7~e$S#yB;3eJ@BKO@@g8EttTy3T9q_U4XLVon~+;8nt^kA^|` z{aMq&z6IRc7D0C~hes}($v@Cp0P-bf-6=5uLNmELj!Z|z>lJlX!%B_{Oe5$^l9s;> zd`8B5zo?%IYbr|k({<e&QBCf@rlwb%gW#>qh#K7>h@ zm|W0BZ#w{T@k=ObNtYe4$KAfP0xqfg=$9XTs*<$NtwyZ%@mDott1qd@p!xbC!lbrM zMaiYKOQM^Wn=T4X`&M?6_ixSbikqK;Xe;Ln06>f9y)|KXiP4e+nb|A`@p8C3;xMr` z0&3-4OkoDBvdXBO*$FvAQDXU+K*W0qDE^1bm0bZS7MqHowucz8fPW}>X!rbxs5&o` zDs55*p;go$^=iHMr7rr!U2WVg)Y2o>zhao9x*+~gLAF{vqcR~l5(K}`aVhv6zA}xX zdJ|Fmp34~VM+rytH1n4q+8e~dNUvus-C!{obrq}%mxMz;Ym&Txh`e_#8bPC4dHI}7 zYJ#!A3T%+XVI?NWjJT&JclXFuDR~h~gey+vD>{%%TRjcWpc)jPV3B&*7 z7XAPNje8in{Qoh!{w{p~?q&QzS4!sVACj0@^3g05QOctEc`#;SrKA&1GyZ?kl^$<@q7X z;VkzOqxBPBuADegvbChjxq^J)Rz!!Q&Hzty=&&<=@j146yzv@UU}Lzc99MdDvxMRd zRvlUEuYpuj?wAkQ-DduWj@R*_>)99w)=j1n4k>6VmkN4qL^+%ahMJK+o@nxDWIKne z%5gHY!}7-|Buu^y*qL__zy?aJ({~+fohsfG=UFy>u$Og36GH~AV>RBS#Raq0J*Nfb zUx>j@`b*{Rh>guhzx=6F<5WE!{j+WMzJiQ*ZR|+EHI`abX1lSuOW#Mt99`mlbEB#3 zhfHCXZ27pL@Lg$UgGnmYDZ)NO4)Vs8blr?>FK{ITtIY7V;q;Cc0b!?oem0q?JWc7> z5dT7RVuw46{ko}fv4h$uWPyoIYMy2BFOyUIZ|;7Cl$VrIX<0cG@@EN&Eio>BeZvtV zT>r&H%@pj66jEea(O*$i%*2=`B$q@0X3?ZLS0=7mie z6`c_FCyUT0T)I#3c)&QRB8@jP)Ewio8Zx#_7h}}nA7f%_+C1|LivxM7WrgL zM&EW_$M0V*gkZzR#G!CE4+)Q5cz4~O9`1%&T#qUnWB9NdxamL`)p?kHPvUnuKM6LDy;9;Yjw;GA-e(~!86gI*s8ju$HUu+mZ4&=UEh6}QX z7J@AY(C;|Yh*_n1k`IQ)zv+W}?olR)9rC6LIB5b6tyMLe=~`_N)!pl>6a!NL??v)4 z;`rqs%|A?Je!d&|hIR8{C4yjeq_x7dypXSG^Oh2eFKqF`6YaAeus<{i4fV!p^&1?j z`GeWIr8=F z5geBx4)w}6_hPIrD0@yCb2-;(4*m_e0*H^Dy&M$}P2ym77m%Q@GS3X8QiQ1B*N{IJ z16IS{=2yubeXS>CMx&Nnv7LbVT5cQhM#6>V1VO5F=G37(2v5)RqY|0{;!+}wzZQx7 z;8mMD4*CM0#V#FrNC53wse^Lc2kuL2IA4~>(YpR#XedlP%nBI;2>+zIC^ z^;K5jc3M8>fhfKoBXOApbDn|3_!1~sovn>%{U#DHbX}ISzfpS1%ZBv^4JVZ|TH7KP z+aCm;JK!0)qcEZ z68ECW3}-UYP9C8~h{t2$l+X&L?cfEsN?a?8O!BHVpX)A8>+@ax%q_P{DJa+RNo=QG zSz8>kCn}-yBU($GF?*wsu{R7$bsX={MT?Ca530cfv4ocgnW%7tH(D&a;hw`wf1Mp^3F% zfi~!GyxTG8{;5@i-Ot-A8xw1VQ0e@6JrcHx>$557u4r>UxsY->su1H5P%gilVtm2m z5sEt*Iw3Ev#|JoWYf>Y4u{Z5;-t|d7oTB-usk`A4mb8iC>+52C9l!HyZ_)YChUmQJ zZNZP4)AuNVvI=SjF|g)XwZkir*2Xa0M7C8T$EdhGZmYU4n+r- z5HZxp7v@a-{;#gn!ITZR4(GG`(t@$l6>PiT6v^}RP**0E3dt^2;Xe_TQ%?ONE$DhA z7C%Wc9CwL1MW)JqwQE4WqUK&zxWxHUtd6_9gUBh;XAe)7jGCwyz+*(^t^nW637D-_ zO2ev?9cH?kWPX$K5H!x2Oi}UmC0=EriTWXFUHs%*g-4*+J%>RE+g#oRqg?eBl}UqA z47PKPR7{dR!1GapzWS|-&B<-zr?m5XniBsdKx6ikh=j_yHLde71(s&ue>GrQ%9f-@ zVPuH_+hFw1$nx*$Ax#yvB`M6OxOsehCQJg=Mb*t0Xoyo0Ee(vE;{ryyrHI%78tdFp zzj?XhPs{@`YVm2&S31r|Q(o5p|yX|H$Pnw#&Bnk!d6J>A_mi@Xr}hQTCt z+DFl)euintsI77a8_=xOR>SIU3;v?v7t%pOCO-g`6?$&5@nA58Z@6oUX1nMLtMF#fKjhEWCrtST| zP`(;kk0*wZY8UjzZWg@th;HD$=ji7c|6tPMAJ)0-^^L<@9~WSgZ+-4#)Y_wUN(yRl z@Di?7G?bGbIURi1K_sA){JDrJG>&mC2j4C8&Yg1k&7tX>t5=wZ;2J-nh$A8Z#}S&+ z^-exv(Cw}+`j+jJi>QFc-c_h^OX^^!!)&|smlndyW~C1^YRYEX56w00tUlBCzYmZ( z44Nu>UK5d-E7&_HzE4~~MWl5Ks`ue1Jvcvutbi@gS>-j?rk7NX<>i^Sf;sHx=sWDm zrkA6F>4~JAGmS50z1cHIN}{?}*UHnkJ_n!hCf6u#Egxxg$AR^QG)@(uWP_7gZb@^g z;lciBNN=ZMvwl1s$sV~IIbg;jpbOtF26)6XQMW>Gt`dwXe5K0&Tma3kIF3RpblCHr z`UQ)6>qjv^XQJGmShjy{Z?KVg1>MPVC+buE2*WpTq8OBS?Qy2oMb<0kY2X6^0 z&hr=^zEPk9yj@(VMNN3rxh49x5yn0tr|*vT_Bqq336QjeS$unEJg=udAv57?4u4Jn zWv{d4_y}Kx(jplss`G=T3-Las1kOuD{nM8a{+J1&8P)E$bmFfO$Tz54-`B@;%Hrpa z3yCMu=uhL@!@5{G3V^K5*^`Kl;Vfz&@VqTU>C#RFdybfSsTmG!t|`#&z6)eq!zi(! zA5&``Q%|T+w}77N-0Ms*Rirpiswq2c1gU9jRnDDcX#G5{zc0;g2^2U&<|Y+iwPtjC zQJ4lIvg3KradDI|yUW(NftoIY#UC<@$~%XEcOu%yXo{-8%mptH*7s(&@QsyS(2q_} zQj^aiKo4T~_w4aEB4V>SE$7_=l-QDeS~b@g8( zQKxaa?rQ()TKu!e;@=Zd|Kj1Q;(S^^^fjcih=?taxQ04I9zvyNbetw3=@&>%lk=pa zqH4*{+fS#6B-zd#*V6nsinhoI&Qda^nIjAJW8P!O3y-%42c9n&g=9th-O>24TOwQG zsalHHJzjZoe91sCr*uV{tk9XRDKbu{Y_gIaDjl`sdd_ilhHlqceO_F?m~@1bA1O<* z2c6fQGA-kNzbKtneE*qSLMvObdpx_j$V->i@%0VuYR$l8s;7d(7uPw}RW#FSb{#S} z;AK{F51PsAI+iWPQadjVLioj+UnRBfD-1YGZ$7*9y)jTPc1-D$o2m1c-$n>b{dAH= zf)=|X%PnD359mait_;G3o~r0@(A4p&srwBj=78G)_ISrWMQ>Ui`Q?^bBQP{56$d+n zDZ(5(d=jbQsc$asW5VJmcN*#VtC9$KbJvGg^O$OEWnBmrk9XdOmf-rGGgc(%0raZ` zzC)98?K=oc0)HQNg#-{Cb1FPD@0`Zq-+(q6X@Kn7k^_$w@D$VTpjK$i0-DZ-vF3!} zxOp!$3^$=(YEpioS5PGbE8y zaoszP*d^=PkrD8&Y6d!fEa)BvcpL!PdQy0gR~#1x7M(+rFV)!Pt3!2ZP z-YY$dnjxKOPJeif=UA{|)=D%9q1ol2BN`7wVN^fXHT7Zw)CLQ39h+!; zCraX)O+=Zhq1+@pj;3VYeEG)wlA79Bp24ioLazrzh$Vy#jSI~R)d!C!8590Qfqvj| z%_Fs`DAz&YwYI6w^jgnVpRpNGXRYd8sVi~4Qh`7s2j~GoMcF%mM?&bvf}C}{VEbZ@ zEPY~3mF+gp2xo6s0Pr*lJoEyQ)?R1%%-=~sXLQ#?)}0x0Vl`HCzHj`26|1S7sJO2D zSe<2z;jA&r*aw`lz8J8$*gQp(p{>B-rm+KLYpf**_68rEL8IaYF+mjY?R`@Ry)a;{t)y+d2NJslg_Zi57xkBar?AxQ>pTO_I#O=le)cD(|Y#$ z&0$oEV*-w_kiiuYy!u_CEZ{ikAIq320NVL8uZC}KE zujB~(7yeC@he3}TLI}_V=#{V(*}qw6Jy&%)aTeARYKfAwsfWyt>lc1P`;fOL-I1Kf zI3H3?5nl#hZA6ZMAPK}q$L$C%&x1$tz5I$I8HAuGM#vti9bFepILrj>hX-xEa*Q*6 z1kvQ$EO?*@hsvLDH{X56LYOhnM5?kYt85$9pYzDTC3xn;J6|2}@bvZ1M0wBd@~BZg z><-Six(~s8bSxNou%0;eQsPMqkJB$?BC9q{25y|psf^A&iyoL7@17kJA%VNC`b*oE z8CgmpNR1{bWl%icsb6t-Ewz+GMfNkg3XVa()C$t;GAS(D~{;=G$c{Sxvl=K67aDX|*ItzQZA zt(4ONe7+%tx#d%^UvQ3TXgzlzl@PZ-;MVF6zEfH}#KZqE;xHt_1RsS?@;Q)A0Nj}Y`tWKb{dI$}`5{UlY^iKT?@-oVg|BnAty;u&*hN%x#*jpy| zkM5W$o0=KB8UNqI;8mLXe{B&mb?g{eEU`w(4-=QylQU^wX-JNrrQ}h>!8O(`t183p zh~dNWta#+OpCB^uTK_`f^-_f_xED_3Be{mNrN_csca!}$kVe;cujuvySk#1h+$?{&sdVcBhC4&gl9 zSfl@OWZ4+0aiDwn@b(6NNG-k{D%g~DFIq5i4$nB;Q$Hi!76IL}*^6Q3#BMTz{6|Fh z-Q>bH=j!Dh8_0a>MzU-HzRDgJ!mBUrolDl=b6kqAUL>n+X)1bgZ?MrniPMa|_kGe4 zxvPHf1Rmv}hYS|{^q-?2+@xmY94@0xd3BaemP!eIc;aDTli#|ao@ia(bBLI7ek%m&|08aYSl<;?AByqB>-nAbYeZKM)ZQH<_ z1z9*3J}D=K^9}xY@XzOh8T^L#)ei=tBNIYki$%`jr75&tGVW>mZ^aR!?sKn&tXC3y zRy4zwP7-Q4aT)z_F7@A>Aww5wZk2btk%#w5Rj>3t!|2uVHY4BIWK|yb?5xOfZ+G(C zyFOzKQp9O)T8ZXC8e$8&^DRZJzfUJ>Uy7X->iz&FN$Fcn1Cv{ z{kEN+hoU-O;qWo1^&ik_GPi^^qBxjluV2F^b-)Mg0H~8Q4dkY{bN?+>R4~U^c%ag* zeR5Ezx2M&$8RoT{m4ud|@72@z!`L%y&uzRF`RK8g z+I@sP$EwWDCBNq|PbZ|*mG!9=QVcJzf=|kC3{6U7>MwKH#r#W7sjp6XG;F{D{%~-T zM5VS@i1#>$$P1F%mkr8!J7d4@Q3uVk6(5zmIb*qFbx7!O%}3VZy}!zN&}Npe@qRPf z&l?|<&EU4$!u?56`H_$DoaZN%L@{N-L|*NOFT5TqEe+8d^;`kPXMC)MkhX2EK`&xU z9_w_PuENftx8WDKU*Jb9xpkGd-6=nrVa>L;MBKO-qte(VzEw3A8Nb7go$)D@sz51? z(Fcyn`HGJRT3OGj?tIYYP1TenMLW`;p^9EqrHZ9YocUm;5zRtIbv}8>B>90(KGJTY ztU$g|K=$FCme%C3h_yLm0L)tsR%Du2?vo?DF(`(edcuCxQs30*5Z@%xsrXa@4ohjk z_}}LK04z8a!2i%21A7FHVSdFwdj!;AH?JKm|JNe`(R0L+hE3u9^$LJ77oEQHER!tN z1ieBaDM0+BuBneXAC<6XUZ0*O=IiV^XXLdW_Wt7_s>~&Gaw^5yH>5QX<>+u5F}>2O zAnn=F1@4`5L2k?MPnWk)=@&a^;X!}^UXIXcM7H%hzlV~|sJKc%y7hXb71+2!IneA~ zlS2QwuEk7kPmPPAb(_VUyTX`@_k5F`!_QVp6LXg!vC2F7EMrf7uLsS3{a<2Jx^6Pu znm6`CIyJ8-SAFGJeHg?M3$YM-Y-g66pb3@UWEkpilw2>|mpn&mHp`Qvd-S--4LS4& zH`0PhhTBQmvDv;(U@6gb2sA@%f7Y>^W`97_OKi<)V%*9JN&-s#N@fWQT_i_YAAKaL_E5>6!+~wA%KFBs6Y*78c*BNb+%MrYT@EUL`$Vz-FGwHqlOVFd)9nxP8L8e6Hmr z3ZSpK?MR?MpWnXTF*_%5d&q&lz1~Y3Sx2nkU+yJ=j%2?b0BC&`1Z3a8G^}JD)>+y% z-bEVFv7E1jsQk7#^2qi0O5TucD?^}TdTp>e9XYea8uQAbwE{0WS$i+d@BjXyHDwWtt7trJN=dG^WVe;N-C> zrr>)wP#O^viy>3Y3R~!~4J`T>-5Z@-P8eE!FOQq*XMa-3&dCe~Cgo+DSkzgbthjbv zWcR;oXMgs-Bl%YPTlTvpm&5fYB$(f?+6ZWPX=>1I&%&VHn-pyBSN?IGnNSCT`A6hX z#eDt|<>$yDQbNO_-{Aj4+B*eT7O-uiv2EM7ZQHhOJ3F>*+wR!5-5uMVbdr;AQ1j2l zshT5{xDYs`H8v?d`cwN*t!B_V^Uz~Rse0`w~f0uQ% zy9*n7s(gN-zc0^lb{joLc$OF8)g}GrBR9Vm18#lo-@;;bd)al?+%J#JMY{)MYYJ?u zoFddr4nt^pTBbaZb;O6cVA{rH%0gJU#ps*Aza44Ry^0AhvdehM={48-NWRH`#}8sI z#X%Yy>0~pJkxD>Ja(woh-zPhm_o-O9Qfk%U^rB?ew-6m2tOgnXqjQ5OE4!JVfR)HU zPn2d^J?GkmP=S-GA?w6rA?v0#a7?f?y@los*?aL{)m9E+FvtEeRqv&ydBh+*6DaVK zBw)@amp~Rto~z-6;gs$1OWGSA(s@{zYn%0)0rCfLGm9td^W$7aH(2zz;0K+g?bI%N z@pexF#5p@(jPe|+4nMmcvG=Q~4)UXsYgL_ZFgRJWX2kYhMFp6>SxHSrNB#K{o2rT< z>9MzIJnoc683>s5d|eGE-xNko{ThxS|5cJiC8+5Qe!$V53Zl9-?@2sV{n2kwi@2jU z9KCXg;b*tZfb27|(H=hdp(^d8AAhJyb)AM|a>rSfP}{1TJx4c-c^#FKnS2|6W_JvN z{xKoB&U*v94h{{@%GEd)&Hx6D&OxUpOiUI*N#m+G9G1a+z**%Nw&fQ#(2`_( z5t!FRVv&!eTbX@0;wE_(757+_WnSaD|Iqn!LuVCf9_d7`mTJv=@RJxthp%CAjVy3qHMZJgC z@mSyn9E_7k7Mxc}U?aG7?P{07(K@#FwBo|VD?tvUEg7p@)peHqx(yh*+gsIb?*-ns z*A|{FU}oQflbnzKtot*5kF%Wny^j7D(-8=u19G}WFb;Z&^0Oii7|yS54j8Vk02sx? zEIBItF!Ro^@hS7#MCU3P1ikVhD82e(-1%hZ@Q^f`-$rTCt6HSTGT8HTV>-1dO$Owh zGU0rB^v5{p6305}n*%KKNlnV(&R+E}0ep&jA{vvO3gOb78iUVpoQ-I4O%x94kA8@* zoUFo@wc$+~V_R5{EbU26kJyjQYjey0SRgu=2LTR8$jKa-p)3G3tsq--xM?iqM%6(E z@E-J?+5-%5MkS}35KJ1cB$${xxb{yIY{sN}6>LV;I~Vl1Ay%^;ievOmFY*Ad&+gNBf?I|yt?HKzy|f}35k z<5`+k7N3|{UiFQMvpSZ&@`LNz=boLN!P(c&u9TcxS656UR}1R|k8;ECd>N$l!$Pcg)~~ns?CP1!~5WsDTv6^XUJ=VLY90 zGhn`C!h5j&WyTC?-&$dMx?W>r`<0CuOXjN^5d(Rl0wd-p-+Eyny|xXM?qA;^_cAfL zB@9*W%)t$n@6^E!RqqmDe$^k~!u+CU;^fR2zNQ~?5h5~TV2>qMN*R`C;0&93YmdF1 zc%uX}U#0Qv>ggMfIB@#-^l^$(gbja6j181f()7u0YaBDf-Y*N#=Q?}t$i8}+ie6ep zcZU+C<+RDmrbT&q*HhOS7YV!KajY?fl?>q#v1M^j+I+VD($G|Lyg$!xtO;<9_|>?C zYULSD5}@hXGr#)#nX`w-vTF-;wtM~$xqtmuq~MkP`ZS4w;l^ddN*hK;Klwm89gRV+ z6SH;O`s#XjO$Mt->SXzIR>#SjXrn%S)}5G6 zp`)SPsDG_Kf`={PhNmZcA^f~Axj-XA^Ob%5f*#5;H_@*{u(snun3Vv-`*ZKkBn&$o z8c)KH(GE{YZ_x(K8v1XR==SA$4e7PKPoshD!(wC$%fX^w4LeKr`&uEI!y^DI5f$0x z!@2}@kStxn?k^~{BvyWH@QJq0+zb)X#U*?ORh>_!+*UKVv6iti4lg9CsK3%gIV0zwW&|5>@tS;qKa>QbfWS!m12Kv9ja>irF+5uNQfT_JRtQ4t$|l zVXfb6ao8jAt$*C{w6ioZ5V0Vmmx$r)f<0CsHH4Yl!trHXRLdgoz1(QV(!l%W;FnMG z$a!J(bT)J)&+OQKepkpR2%U|Q{ra$gEw%zh#O|r1Wek_b%iY#8(uDG;^aJP%9W6uM zjOGAZNIcWe!_LRt&(mZdfo-S?Gz@%02~iX_U!pZ~;J}y;c9a#b{bOJuR!W~OxB0)e zka8N+FbQe-Dy=F5PpFn7aaKp>%7@UV5Kjq(c)^Jt_txeuzold!0 zOr=W;%wiCJRRR@#UY5R%u5l8_nh3H6)pVEVzqd3w;=bh zaHZr-M?}5I#2U^OyXo3d#_;xAyB4vIXM}Uqa-=K-4^2VFV7E{Uk!rOj8$HR(?KO78 z&1-18Kp!*;;-uphtH}4vVDRW7J+tRzB4cd~XFQ9&fDBv5SYg>-zAcX44Y$!JLU}rq?epu17wl#&Z;3-tb4~>Pf@*)&xr7kmZ0dJ*xWxgRDo!l=Z^GW4(NA0;q)6KcJTLLkz2q2b!%oT z3n`xYzm?#E!&A4(3P3FAcZ^}<)VH#8iogexdo}2u$$UVR;iC1G<`TD^k!ZxMMagXz z@@JWs|Eyla28Eo{MwqT2sfm$-O$B)wrw z-(m1`R!yl_5#*YvZvKz;2=Q;CPvX)scCcW>*yow@&tm%+qxF)T96QFi!NaU5^5N^5 z0*jyZ2eD@J;#ffB>8h5zp@OdX8Q6Z0PGJpF0=br$DQ+HJox2{ z{*$yb>xQu8uo>Q$<`g*yi>b$SeCKy6BGslzV;!}_94P0taYq(xoTi3u zZQ`Gby2(~LQ+_wC@O8pDxru*dglZ6PC@FprSZJ)Pc}2 z`UH_!itH~Iu#;kJc?T(Qi`P1xv+5`IZ8XF%7LIVZGKAI!G6X)k94ieSHqxXDfdl<4 zX>pK0izmlL#y27qWAh5^zw}-gAYss1uXn#b)#_=M?G!>OwNAD^9qw zqw;@;{^B{Xk6+~(3;*dTw#oUsm{Buv-y9dc5!EgYWlmY&e5)^5bfWMtDAk^l*Dl2# z9Kj3R!2JN}3k6GKK}khPT}8>jaG|}h&|g@%(g@a{dQ@Uo0YseISOmJnMLKGf7@Z9Z zbc}ASS=MA3zg^W%70JT?Q&B2xS>b6I=`i*9gGG!=&^hq+Q!P0ubHwl`GF9j9rC&D2 zDn^uf$IQVx`*_r3&?+Q=%7aD{ zJ|;e__?-6i9pRm=#X!hZ^YPAYKEBpV21f)(!)3YD zw4Y&#|Id2Q&i(5a_4vjo&6WU97;#uiMtV0b?bQ1Edab8s&*g4e8v5n5?4|4_u7*af zp-y+{uk!X_!oTsVMBgWiCjX>{Y3=a5_Kz4C2sSXE?FWT0zk!Se6qg7dYA&6}!bC7v zZDui<1K|rz1aeN+u^Tl0m2E8+v8uSNtRJ%Nzmd6o+Ael zs&;142faV&XR2amJv&QnG3N1whoktmh4}V%o)oxVR84<>hkEI0NA5=bsD3FWCpdOIu$=6dLO=PB#R zEnH4L+E*w56Z$gRwi$QtAR5DM*wl(Ajl)bH0QcQU#?Vf-6|HKnpGh>mrkFmP9Db+x zrddtbL@B;jHcn29DR9mxE0g9v>b&*r_=Y%ZsvQRa!`Ut%xwr_EAABn(@`EYBb_<(7 z>|ZN~qqK7IM>~BF+4@FiK>oJ`lhy!~^t}nU+7>j%hg;t5*;BNgY7=wWUNpPlPZsq< za=(bvktqjFAs(go;L!1xL=%FJD`4sUqvE2eco{nIN23-+7+mlNRC>mBCQl^)C5iz* zK!PRK%q8F)1=hBb++=b>qsf$4`qSYhJF90}1r%DGxO^}}F90U>0pz0UFpEQCr{o_eucnWRzz>l5Z9x;yZ2Tq zITCqFUdmSyVZ_`eSXG~*M$G87tB~=?n#?YQGADWY-`#OOKYrGCwEASRdMIakO9n%j z4BDg`K&J)M`Vv}wR+OIj2zyKyMXA%Q!f%wGUw-B~j5A%J7GlN@p`)9ik7Qd75W+?7 zHu(0q@?`bPPzy7mOy5bL_nDos3Yd|rg^}z`Dz)Lv#lT}xu13jLVbn)@nKW~u=O+9! z$hbzKRv-;`1AmIK>(T0*>a0R{hhTlf5DAd3?`rRcT}@DXX+rLzpav_7QI*{eu@>Ww zN5Hwn?M79ciPK}IowGIot4A=sLYbC++}D55@M0*9e^#2rA^n1e<4k+eB@d*w?7@e* zU?fv^Nt>|8kqUyCD~$z=QDTSP*?1F77(Dh)Pk?$ukLxPeVk65UnHj)*ZHl3>B+zo` z?uQwU!Dv6GxfUnBV&#WYtQ`y`Qf9#tOAda&IeThvGS|EznU&=V$!2kL!&2T6mrsH> zp@P6dHPiUsuZR*|EAnp7@Oxz2dqp)y0W#h-8V;zrMp-ELGo@1rkUnBtQiu|`V2>*V zgO}6eTd4AFP%Q;B6ZO4-QmN={uplZ<%>?DDWVtX? zR=Oc3y#c^2xt2H!H+1ZUS9Gj}M|vg$cs(sUVrG`%QB-qfv3OzTkVf9|$Hq>akyN?j zJQ`Bv(K0Cp;x@%f@?khB3!t>tZ+1&K;W{|=vUv5Bq{WTV08L7S2I8FJ#&iH~X&5+O znCrv@6&uQ-UW`+@G*?1h{18uZtzv$2a0W7X993vCwR~?ql~?4Fow8fXl1SVK?oD6Vj}gJb zzygJV6R$T8N>huqq17T_*sOEP>1lO@Y0l)WeDtSiszWZqkuu&<7jIn)Z#^4tpBX<8 z-&xPmx__{A$BHKaQrV%IiZdrwS8n{4Y^sjiBgHL;{KbRTqu+M)24CYUU_N@6R~~tv z)ANi0j9amoXNkG%#FBpChGaq;D~V}XcVsd#j_ubL-RDO5`#`Q(0J*?9&~GgG zEp~4MPNxdg5*fWx59-KnNXab(^6?yZo+5q#B3IPVnTTD4bIyFGQ}Z;DVVELU5+^^> z^kioJh;=`9-fz2ees<_Xjc+#S@sJZtFs#Wb=$B9d@vWfjT}LuZKj|CZp!k@2#egj`3g~M(=cp zr>;{6_-ppv_kT&B{zvHR{%*eY`yu_?e$;;X|6_7a)Xvz|RocPA@jom-nTorEo3*{U zl8d90xr>{(s=2w@f2ZnZHU3-U=2tto&9+m&m!{H+K@b(Dvd&<1NS?5o5P_c)MJX)U za+tL0%Km}l9pPIctAWJ0v)_Mn9*RKABVC@wGWKk@oPNx4@8|D6eI(2q0_zDg2W#lX zhz_|k%aJbva`?x*QWH^-@512br~vY8r0-y#}`VoF)XnVM$=|d*3IjB>!uOuTyu0^V$A1c z!D1L~aRDZp;4kK+8~=vVn@c9TP3%^dw7r{VT?IaB>(ywwkjA;=F3TF@e0TQPWV@`V zYRMb0v-xN5$X1o)dJqKo{6S>H_BddKR}&E+X&*F&mk-m6Wlk2);vnmOBG zL|>C-&l6^e(BVUM6?SuTqa)03lDLA3n;bAExv+-he4efq0i`b}?@NgS-)}oOnu6_v z*WzVz;ZLPY0vG1nOR?}Yy|YI$RYq9lbsO2%OtBRpUGKp%v+8@I(D{Av%1ok`K@ydE zmeUPrxgK=CVO3QlB(e}nPmY$^SXv!u&;yD2iNpCUGNGKz5E12`)%ATuJB~#T$exY%hAFs7TS-QQ1;9!D z2;(R!QnFY>T0=_e7)cR5e!q=_~8ODG?t3U|hLEB{nFMeF#bo&3L0>65=C$ylEV7CX$Mk1|0W zL9}q>=|Z`ti{s!Axi&xau@ny24r+IpOvphbod9demgl7dJ=D2n=y@1%B*D(v;ff@W z2uX@)5RQ0^$UWj$Oq)@sEabgja(Hc;L!#NFY?R=lFR0n12;wV}%qL1uT@G!jDOe-m zTl=zVS`2F_ePXmW<)A~YVt3sPGiIR1ENx8MI?A{{K5{-jt=&E&SicUX`pCEo$m-ao zD{F?u;~>TJpwZLn#kfRCCYW%in4*~zgkP|-qlk47^IwB=^qnMy^|pZCK$D*jf{8NY z2hm+YH1oVsDsp?z9APY+QN{y6{uc-TpVvGQh8$-9r(VGo<^M+8``=%4H5X$CS2K50 zbC>_3?P*@RqN<~P|Lh6oxOt~Z78M2w<+NL`V@5tCf{0gJBcaf|Rc~M0cXw{W_vCOC zhP(mov&Qe^^&dl8f~5_eQSG~p{p5XidUEWu%SS^DJ#O=JKY081xlaWiUIqKVfDfSk z@gP!rZwy+9qK$1_7Z(9Wo-urT)}P*4wGC{&*qU>?aYFm;}C-vj{6_UN{{4V}4%4?u_TsPGQE^)~_|?^NbuXLn1|Z@l4bTTY*?^;_I} zDy31m-8i-`EE~9tw#ow|iE|8?o`u<8Vpa0vc~Hrm+}B#Y>s4@09fS!xCYJKu;dXIW z^;P{M#=->6Q9jg>GkNuBbm1-<^_R!aUrpt))2Ncmve<-q@e@-}0oT%!g;&{#GTEGS z6;4fhCCm?k2kVrtv*6r$AJ0X!jLo$geEG|=JG7S&_X!og24xVeeWrdY4O%PpwiKPl z=MH_#hdwHlRon?xj4A%Io9y;e^5xPbJ{PbYWj)>jMML(Xs#odO zyVZ$z@-aP35yp~nt0+pkLjpMM74q|?Yq+iUfPqfn!G3hxgM{TCVvC;30@3J z6m)v-<7@#&C**rKAM8<^r3%;dUPX1fsSpZEc?bDOjDmfaqL`5A5NiNtI%?0Fjy!06 zQgpLk0ba9LRE)(#2Du%zX3?>rtfpTd7F6KXS0UWV_q59-SsQv6?t5+twT*H_X2nnwLXu@C>!yP|qq- z+~+DU#EkG$bnx4n&S*q6zsLkMzuF@l0TpMgb#=cGMfKhwR2mnqssmO4DPkZ92kH`A z2izr@{qiC}aqW-ssa_KQ{vRJ{j&i(J??q!t{r12|xYjt?whPZVo>xHWpnh71g|>t^%j>h}>iMhAP@#F-I(t z-iS?FL^d`rlY?>I!r;13wZ+)F+r=UyL`JlFkuU3bYBxY?wZg=6sAo~N_7`$oLJ$V) z8Che}aka8O;HSF2c&++8WfkO52BMi3BwCR`DxTzp%~P}{qc;VWhi~g835-fox z?f|wi%O)OAPN(j(+hgrfSN+$K_d(#0hIthwy5&< z43k*KDoQz`EpS_@POeTz81ZG^ME^MX6U+Vz$D{G`%(Osklz2u;QsM;XU)Myn@JEtv_8FO#!G5zGS( zEk6k?T?p3bme~spnv&&)0A*Fzu2k1&$G@ebU$YHfCutoHRLt%bRC7~b-+gJbZtBjz z#=pwHv+5Dp|LSjflE<2r`n8By!1vfY|H0S)@mHVG(DzRZBXDQD!0!Q~0JZ3{w-Wzl_lR&kj)ZH$upOgm3k`z~&D`gn!5l6ZM+tBG}02lSZZ{6AYqFBIGdC z2zsKdXf*CdUH^FSw5a>d5o(hSSAj8S6F>j3%&1j{7^{@=sWE@D$pUP&bLfZhuurC# z6afz`*^2Dutw9)5jg@c?I(jm)XEfn9(~ZIP3?*f5aU#=ZuP)&lTvp_(+y_PKARASQ z)4}p;4GT7qJZCzPFNxd2wr4!veeH06-1!Ts%34x~D}|Jy1> zhDM>ceGVJfN!nDHW7zZh9vXTRYP)L;8pK-*56)(|g1^5nMs@v&2-&x&rA69`>DIZq zi4B8zsY|-Y+@Sy)x-%d|+k2Al(U7o?fSPU*@=|(pXv)54#dfui8)MV)0U9dc=*2Xt zRjIV~;*03B+f*rdaPtt)ahYKHzFFug78C2^pY3bQshAU+2khvyu{(YiIy@7?#2kYh z&q5z6{fuNqS!6cjS2-=K`hW#mV?Z$l7t>6F`-yzJ7j)KGx=HvX$%!=99Et-CZv)&> z5I1DMC6rOyI-JieHhS)g8^C?`%%h9X}`#NoL zVu%3I?mHad&4GEn=pVo_37}4{DLIEi2p?(GhP#Li4;X@9KFnq!<-myou-`%%%NMZ_ zp?!etkxD|TV;>RC+%s=fo=9`<1G?olq_z=9ik|2*L&R0oi88_UTo zdWM%-0Xq!(-NTa)Uh$>6N^xX-s&vdmOFHqx-abhd_g1l*Hf^Rs>hlpx(*}dp5NJ;& zb7^bl)L}avc{B~xUV5EufT zrH{i%<@bGkEH8%#2eG|zwD!4XPpn+g`QoB1A}Kq`nyiYN_vyA;na|p4eOCT$IM&?G zw2HhsY>j&5UyU=SwS>$oW*^Ema!b4pralTgKmPQR%vyh;UsdA~IVG#tYcG|nI zA`PB#ddbRYM3!#kBC(XGagBUbG$iHnHTSpE?AQq63mB-Mti4{6ly{zr4L06xN*w7j zFonk0I`1%cOIJ@Uo-`t-> z`jt}6h-dGFGbt2Fua7wIj*2dV%R%hfUqPF&@AATIzvik2+&Z(~u~|`57{m>!FkYHm zQ;ymww*C7wD%G4LyVb*xm665eMwRhYk;SCS2)0DDbiD+nM@7A~it1>dVOAvXDrNjv z8kRUrT59rYCx>+@Y;PO2fA_53dngvCBy&|RT+>_^0*jcx=P6lNEOf?r)I3>qix%`EJ?y(BA!u~jCPH)miglrh>`N|*Vw6($;%eYy#i0mUKJXNl}f5DVZGE2rHY0pAXq z(h!WlLai$fGE&dCj`=Z=i4 z@kR8Lv&qp;syO3Vs`=r}*Psoe(nvT9jmmlnqkR~lAOA})MpHd2l!>sCD;lQ3FUpj0 zEV`!YOS{oHv!~e=b);ld5Cm5}$9HQGd989wH3>^U7kgcCq@lr2+15)sK}GL2Ec0CI z8F3>}az@f?n^C;EAJKiWKXi)3A0_5f+;9tbflu3;bt!{9Ck`jjI7jwT8|`~*m$@w( z=L($2aH)FYg0Fls*s5FjQ1j_Ovjo{kXAme{LVYTgQM`xH8|#3gWj$+q8l~rskr_X? zR>*^u7D_({E?w7J<<}SAiiWyoRJ$4vMw=`j!!CNN3G?O#NoDd>9_0jEaD5AtAw;XG zWF(V0iG%9`!KQ=@mtYa`S`zt^@gHg;lbqUn!%UOLov3@HQ*2nKDVtBHIS%I(CDXt}Z++e{HS(*RT9N4@KKR z#oK}W_?uq=ik^WH75ya@zKYxNYwh$bq;h-HOu;fJW7u7P`GpUyI}E-mma?sYHbVA7 z>3;S8C2(~1^hJD+m?dFH45ZeLYry3phk&PTrdZRiq``&>m+Y;LOLOlj_bR2AHPNqB zkA}BsE5!qhzaXuR*tv~QA#;9btn6SX$9Hk;V#Qk4pws2h#j#%Lc1ugs)=ii1(4C6i zsO-WRa-On7#oQ&&JY7iUJd9oOL3RD_uKV3-gNP#tnQ0W_`+&nTH)au#HcflFF_-VzQ{k$s8?avhFI&a-+G|We`4Nzf zan=17f`X=lZ!%!c^y=VWl7MpI*DTAS_n#KOJsoQ0!?6}#S;e_>)`!D?^<WmOtkj7yun&>w{*)*YrQiTABQ|}lvz=*(r@)Pb1k%;{TY_$7h zzK0^u9;r-({`gTZy?Ha=a)&V!AU>*sd3-_AxpiM?7JzfxTPpo7Wo_ins~I;I3_Zeh zBa-yWjWHp36&hS8{#oh083FOS$1rfmF}l;(fj?{MI3$oDY3Vq|hZDAVJrdaPI#tGF zg(?h4Wlkf(z##Gk+=dA|6aWT$pi?`|z>T$|t(KBbNfc!qjyzY(hIL7=0HKoY0h}6fpD$zOmtMbG z^3ON6El}_xlc1<|Ehw{a)Ov{p_EBC&x?6_=+~Esdmde6;jUqVXEC%rsNZm9Px=|*Z z;^eUH6;Zrx;hVrB~Q9w4o145dFTAYCLA3DzN|k_`e}LiAFz3aBU1{Dn)5mZ&OB9Z zxp|-mX9Hh^0w#GU{st)IGLe%uRHq719@C;$HeqXOfhfiEH^I15d8JtjeuQ5hwhorX z^|IaTS?^`fK2Q?A`j)QStYQ@Ku&s$}&j9(m5rCe~@-7+3D=1Y<`U^MQ-Kshd@OeVb9P?!6^z*cZR zz&PCUQ(GtvKM@G+&UpS_$ktCc4}5)L40-oPy=go?f_p(=sZN9Gq%cpqBjC;#(@#pl z(s=(95c~{UeP)@ud%fxmn4owi)p$(!`>D79C@?_{0BpbMGX}(8zkz!kWZ+E%jyfN$ z^Bi+BxjMY$SUSgxwhbeQS^dhDa&EdH*@09_{N?xx~s9qb-a;2x%DEVT_YH?ecTJY>eqGDOP}}@fmc~B zGgHPgLy3;B7R*pBbH~0vw0;9-*mHj>$9mq<@K_sp=#lBSS$1ywz;5KTH7ZfLKX@Ww zbljtI*c+4wO82a9*~mK!zsRSy1VUFFjcEg4!E$h;~ z<*4CPy6dpios|@WN$1&3ad+bLg*%Rae&bO?4oR)Jpcdb6p(*ly#mh%qy+hUaDMu&} z%zxa;%DW&(SPyEhv_G)_8|aUJ5s?zX-#N1o8#dt|vZjZVP?{W?iyZD$l_z)nzAqLo z24B~MiMn|m@q5>n``@QE!HMo$s2H2ug(DY*n&~;0-+0l6;*i4!+?IH0D#)b8*7Wq1 z%%9hYE1^Fx8wZE)R+*Og|1M8^np4)2Aj`fH|95`>LL#o& zvxn-7La?x6=>igQpKqM-&%Hu(>9mEn^pmKCrRB}zOrPh?^vP}D*Bk19ZzBoTpa@#Y z8&$NpAKoD4gqXEG^-p+*h8VXjtq0{M>U!QJl9bYzJo;k-cBL9?jjUGk9;g8J0DuK! zqLtQ2T|{LpJCp(E|AJa4kZ;nN$C$%jc7rvQz^+eiEg`E#O|@0*hp8T74>RsJQv$o zAMNVH!M0%o^oJnRyT<81gc_MAeuROw=K8hE+^`$Zid8QlPHo)nLyvO3ljm-0=2DcD z;42N(8m-=+-G{ndqDUecFx(5o97tcYarmLz>W}K;nlS}govWnZ>d7PAbwNq}Af2p$9lf!;xh(>dbg`3fEh=p`~so z7_cL3q%Ey#2d}VDOPx7Yx&1p z8xqs8kP<%$BlF%^T$ZsrsUc04Ut^}w`x6^u9V}|8WU1zAM9q)lwH!;b66m~e>mg`~ z_h8o8I3Cy%p{9C6o-A%FW>lH!Rd@aqPBk&x=|UA*8!67Px3KwaqBnuEKG6HDGloK^ zr}yfm%MGv@?Tcm4V^HXM3aDwlKE~Dv)srpye-l9z?NfX1)o93NL_73}Z(}%M&d(L1 z=~oBSX4aNGI12P<>+KydS^q|81F{@wJj#o2Hc!j?DFyYlMHKWDlDlQXHPt0Mc1doV z{Q6pDFOW1FXu_~LQ0xP&bzRFsp}zq;{E@6&i;o7K~q z`So>rP6$L{EV&T+hswv9QKn7}vREt12;CNCjoc3@JPdxZkJ^|v1hI);Kp?phb=2RF zPCy{(uBuWn<*w`CO$5y_S|qKJmYAM+c%e_336Fk!ot|}`{*)_g`V!7%iK#PfL4Es# zLo^~=`4OR`J^nHGP~}31UkzQKy*ZkfYz}F2r5SL6Mt7n3_F*ZZH=X2?x}2szJ3&=# zoEd*%RbJ$^(%zi1d>V88M#tPfZv{A+Vew;4mC4~AWx$%hi%^xBn{m=#l&U|XHx}2z zfXU7$j&^0{tJ#cq&t-d&YdZ1DvWmGq=ewq&-Pz=1y+5=ED1{WlVX9;gYQlEuKZJMJ zq?FN`m#h2hwz1t`V~fuHl5ohWSA8pD*pi`7}`%&$rcupIY)=V{*IW@nyR zRkKAenZ~Rq7gZfoLT`=0066wZD&@P;q?-uJh1!% zkefody1C#AdazhD4LJ2hnNm>rOP=+RO5L#R*iFU39mk1N?l#YYA>q#xZBP?cUGmjj zJeIvGoC}yl3Xa1M8x{EGf496QW^|44QprrN^h9EtoKlusVtyO>la9vF5Lxb7^Y|v6 z*;nL1OqWp2pS*Qq?MWvU!-L`wo*nn#3WC~+YccPHsrJ@)5F zMJ>rEFW6$CeWqVS4$0r$qkfA$(>}cxfj1O~ZfV}*v>8%PgN7|gJX_hBxm_{qm?SK` zgAqU2Rx&fTm662YweTy9H-b18)T2(ygzfU)bJ@zWPQZPsQVhO`I zs?5ica6;T+9JE6?$DLr-5yPcGEJiQBX$-xp`o=!Rrl@QCzIGVzrWIj8co0L|b&9b|t*Sy3Q&o#$HYSP6CAv8M+a61K zbCum{62M{t^tA-t z{qK#i`X2LCT;%mGI>NC;>+B`;bZWq!oM{&u_+a`u_*?`Es9%dP)8QA8lP&)N6Znk@ z`Wvy9{ay0qordG(UP&dUd$I{SS`)n+hR?#OgeBu>;F;n7f_ndLgBZ-#{cQj`k#>Rzu(9EJKys`R#7SQQ{1sBRaOl@N@xz-+&-fpo4Zf`5*D% z#N!-Z$Yr-*CbT@@PpTHL7@(h}bI{o`F*2W8;&)s#@U*aIaZO(GU*G&)-`_IgO}yMQ zl$cp84tV5VKKZNS9M?1bo-NLb&pp0ShrY``>dBRLSCCCGT!+&nuiHCe-+$E_l3cV( zHEe-pOQiyGtc(N)>OLxm*7N=d-Nc=@ihN_2Uh?l3LCoe3tH10z-R@qcU1ek1CMRQ( zB?*|NoCA6>#!2V*3bol7xVr2Kpzeb_Bk|MwMcaAoJ~EfLWAM{ujur0tX-$_LpHHgR zdwVO(#jXIL=FHz$vy#jOohT1o{5vN-ot3|!^#(tC<^_LPZZmMA@<0fQ=9SF6Q}6Z9 zPVwEVeL`z5{p^NMl5bA;U|TpJe92j2SpAKz)`R}?-h>#dvzM>v_#Y7@0_=K%P~lXD zb0#G@+^ak+t%c zbV!c^L8$LQ#8C+2?eeY8PC1n{v6)QdTU1~Z8(B)q;ZM{@@t}rrZB)U^Kr$e(4%@TtNwz9zBhZZy>q3l1uTitN5tYPw4 zo(ehDZV=NrT`GBno6u4#U;*-LZo1*P@=JaagDN3xiXQF8JH#h9Kvq1EMWw%w!ykt1zz)XKOfYWV%zsf7+>^SZ z`|H1S>HY^CCdEQJHv#_uLvSDgeF=X8iNP`{P>uALvkRT47rVjb9WG z#6iX@Ej=9(2nKEeh8Wx&6&-r=y0~gXG5M!#!7KKPIZW}a`ZKLQQR@lxo!L)h6hA^L zDx1cotaz*WWaqeq^>wf7W!~_oL>JF!SQ3~~MvL)~eE2GgWoixUmpw!s)o*DVFTs`G zD!Cj(f(IrW*;#e3qQB!STIf@r6!4(bJeK9CdB}$F0x`0KZA|)mjZG}O(lcm|mO2S? zCgDw4=WE=dnv}r*4`<)looTqGSrt`m+qRvGZQIV9ys?vtZKqcr028sAnu$|KQR=$$~PfJh5Hm!V>Bb+kpKw0C_i;J%GDqo$}-@08$h4#`})UNC} zzNsyI=1RdK>agOz9F4HN=GUBD+Oz`Y2T0GaJVr<%MMN+`MFm1a4V8I+Rwk94EXvJC z@2y8~nip?7@`RO*l?mJL??)5AA3GntyB>8fJugR!@!es&t#ZpOhP2{%UsE_V;VgI~huV_)uMKbC1kfkNZ&UkXES7H=DZ|4^kJtPdwkg~~^{RA(IP zkD=sLi9*;`1dj>2=7gtt$_auFEw)Y~Aq_~y@&sMTW z=C9mlk-618eBc7lHowp}2oGs~6t(T_pGawWhEDKN?OA$yb++y7nc!%7M(5Z%JmgvT zQtx?0_0sP_Kz&pAi8nJhm^@=MF9F5+AeL|~!Tmc_X3#heiG>M!#a)XuN!Db%83{|~ zB&@#RFJcKk;}D7m`EO>h)lr>AuH}uIVtGi~(~aEAd6Jb#tcdAvvh-7U zJ8S^~54DMD!^5WFA^~{pm+AH-EDVY{Ej6WYvfztk;&2eAJdlk?@Ubb}om*^N<;QFI zk09M!QIV)T_c9xOgfq>0$1BiM?;Zk#uDy9@Gue#u3p$al??i~xW?0Oak#_LR-4gJU zp^QC@cx&m4is$fTg+WF`2V}P+NqTG3m}9K z`lnFL7$^O*z_ZTyI3^XJ*kKI!s5NC7hLPAPMf?Jqbtt>k8G0KNG8970zR?ye_8g0GvMOjJZi8g?M54>&Qv-`2`~JUDtiJxx1ZwpD!D~Go++|I~E?) z5C^+1DVeO4+F#ETC_XEZNplc>zKJ^zW0|SJVZ65}S?!VgP*B6II`M6b(e8j=aM((p^TTM+Tl*INHvpuAW4f4F^vmlR^6{e6`Zu zX=^n@vZeLm&(g$#9Tw3*G^hIJa{$~+;@+#Tcw_y)HTsDb81A$nrr7RHLF9uW`8$oU{V>UA)40OM>evRip*6Cq=!;!y!_z;H6R1vc1rFaX6v>>Jw z5`Cx#LXE7WwmP9sgk#&HtEQI>!uyH3=jIc^D80$8R~j-DvFZfyu<69`uoei0Jlzn- z6&lje6Av~AmD+7P|1m4q9kHP|4{oDgjpf0nJXcSp0-NN`GeGBTX}5SFo~IZOJ?I!o z92+=GD7BYNB)5ij0@%xHe%O$c@cq`wrv7~9=P;dgb96A?FK=VEjo5`c0dqlFN}&Tl$!IvvtFkTQXCLT*WcD~oD@hJ zehm%bx7}C&IqBW8m=9v4xH%O&P)`FK71~FKZ=G7Wze8}of2i0JQ`>0F{q*ky+s&aN(0ymD&K5jB3tgYQ@Pd0g8mI$ua}Z>3oIPd9$ZZDhKk%JR`B9Ss-*fB0|oy za*jGvq?&YLN_tvVdr36W=Zy_cqCCxfN$aK~rHB|TcBS1EC7tqEC?hIj_@*Fug)qIl z;)#hm3AZA$jj6-&=ZkKtHU|TPvIqRk=645r@5v2`0^Y27N?2H2}UU~9qvBW!WJ!MulUA6ftcUT^$P z@HA`ke-kpOj#z$I z`k7iAx+_XK{D%ZJd92~b;|=fplgLYL^qf>cWfqgbD*@=m5YXeUKd`pt)a5E26&57( zp;n9+o=q;UGFOL$gkq!rU z(-QZ9B)Te3wue!ZBXs4ej9qyko2X8u`fD8u8{D z7D94I)5hec?cMV4i-smIc_Pjwg})j=Sf0~fu#o9`**zIMMzz!+JVwJGGO68vV-0%2 z%;?8iJ*zMSX@Dtkxl3xUB`v1d=1H^8!*Te;C+Y{s-23q+#aQvRDe%VG#fsUVtWn(A zPLktt;ZD-yYOkeFHwj30M^+-V7w(%-()S9yM;%iu*AMCvSRsPCjQowwzsd3HX3C z2NiO90Ofm4aFI;7?V*+ZnduD0{>Jp*X!P1-aLV_`qm3yGW+gB(Jb*(@k?xc7nunI9 z4>D#gRpjj^${ZNaC@ebF<=7OWwVAYf#L=+(ngb_P&Df%NqD{>)SBssLUClAwh*7ob zq1P4ec8hXpU$wrZ08Xyk%p?+{L&j;EwblK`wvJwRq68h&P}8sxAoHK!UZpBJdk@ym z6NFNBo3kp$stwN9_=v_Ao*Rao^D^6Od99l48rQM8$~0}`z@|dV5u^|h156&JcGzO; zfYnXf9}g##;YBw%r^#iQWi5K8xzkCdd7kj*LSRSEwy3?B5$oP|Xv{3c!Za_frLAPY zd0(C1qJZPqq3mZ`N46~!Smekf`S4;49By&HFQn&|C$);C#j$HeZs3G7oVvExdX0l$ zUrQc@8E_z#8cot1JGE*F6Vg=|DDCwX6Eg_w3MOGH_fLc4m+*+5EBrXwX4@5W^%6(Q z@0R^8tdb{^uql36%b3#%?@Knx7~RKya@FP7odm^OJqc#eL~txFPOa6x^rXBwYV-w; z-!MJO-cnWG%Jw%JCD}wxof$QUJak1526FLDCT1pG^{10itymaHimFY+x7879|7^NA7 z6`^xvuyGHD++%2?rg=KKj$rCxVssMa)qkexO;(k*5MOtpAQR5B1vl$uL4F&s8~#r3%#28p26>@uj__Z}9T#Z`_@l2IWVBy5$Rz(|a!1zA#MDN} z+0w?u)PYn|ub5^LdfTnhfO=7UbE{U3r|UI=u3yJs?!V4 z%Gf4pcMg*sg<91Ls#3&j)zum}P9cn@Th&(?Lw;o(OX;*E3M3EP+|b!-tkYwb!d2Do zMljeYlZM1_sV#B@ogg)sh1C}H86NY|#8fwd6yXa^Yp6Y(W>yar#VA8`Oyy2~7Q8yq@o z5&=ZKwIKAKrn1lnMyKq8Paz7Q5TOgz*>a&5dzhv$VzB~OV9GYAB)2BDBA=lgA+`T2 zCMV+kF9qs0L0;G;A|1Ff_*n9=%1eU(Xp;Y+N)5Ym35TG*ePbf|_KoxZ>oxrwO*)_v z=8Niz_W2PHm+%)p7C52`27~NSjaVgw2*cYc=gZ$HT*(1@a zp%PFE005*LtP1O8rDm`h<~_C^RWDzkK;ND=$4y*ohfGl51zw-W-&_tKJ1<{7FW)yk zyWCH@7}_BX_&${V9``_fZ2B_Mmc!fJoSFg=Zr<^s9$$!d_@OA?OSWI%eZa1Wpb#Y7 zreo5YV}kJGuMD9OZm*C84!22Y-%0|9K-_SPK`8rBcwa2O5%eXXJ#q3Y`pNH7;d@K< zS_&lZSo*k%^|JU>bl1HdaY2#zRMc-pzCgXY3s~8!^}_g6^l(9C(+`=CUK0zv({>Rg zTyb^!>h)qgeTa5?g)tmG-+9YK0S(e<&m_LkcI$196a8QqAWo zBTcYU`WfEutc=GDe%cr3Mw=>g(vz#fx?FzZ-P04C6E`bMR|Mh8cD}Y^BX61^=0}$K zP#())Le{WZvRZIvuguiYEY}<{YoRr(LL3r+S8Ab>t4Ydb+*V|L2=B*JR$Rbxxv$YK z9|e(Ae~}|h(^sUd`l6E0GvpkwLrUmU#50TVK@7+G>oAt|-Hwe$uFb5eKyW2~X9 zMN*ZC7!+WiPm=_!P5QMge~pz3o@P~^6&|E|kOTNMPFei8;QOogm$Y|JWz!Is~$ z5XJWo*mXkUd+^lmX#z%`qRK$Yunwrs_zzsotK;42x@3yE98%?K4_X z;?Pfv3=#o@Qc%mRx_|CI%{g{J9>|Nb#>%#OWXL$__OX~7nqDoHANU8Ro!2x*$0$6d zcWbiKf*E$e{uxehY_bgwy0TS6&GG=g7&?f6F|fN=Xxqi-QURjDXCP8pb5rHKP+lEk zL^qi?PCmkvog{!cgg$AtqB2Xv_JW=%q=TXCBm}(bCUAJPoF4Up3s>x`iU(^2!s-x7*(Du+%q5BkkQgRP$4DF#F2fFGsxr zkHOX(%RTu$BC>1Ou3o;wM40=Y=~PZuJ<_o0Y0Ex866fg#;VogZLJw0n?mJtNMm8}y z;!{d@p1-K7!SgRm@<#9g@n~F4Pm{jY<{1JTjV4=fpuXp_7;0+iabFtqMCzv*hY~C8 za5k2S1*eF1%XC$WJ>Dku-h^93B&ZvT-JrMENj#Ex-ml8`cX9=uphPu;qv8#usIqq{ z*4qYBZw(}k^A1ZL?SZY8Rdidx1^oHN_NCCAWeVR^Y1MArt8TGG@_;ueZhE`v$SvO` zh!#UzM)m1$hQ?E>?29lFsudZ7T9lYIdluNE*FyEa^Mjv$fVq1@3jNok~sef&by^XFZRq_2n%E<*xHHI?K66BC6 zVHy|M>U`5`Ew6|h}U2}eX|0_I#J-fQdON*5(v9g?L8UPPnZ8k|*^*j3bMi`vPQnAvF7z!~vP6?j;^o|SaCEzYrN z(D7)@uqlBY**Yb7PW;Z_`oqd9WiiG`41bv)rg1PUIT)_M5Y!~_eQ_2f*p>!|K#ZTrsQir{neHpYFr+y$4c^#@^t2^S)EjUT9ly3-mtx;cf^ITH&$c zIs7KW1aJeiJML;EX3em%@;AA{8A0sVK=XDi@kk(F^iq?uu%)g@6f4cgp>)p~)4=E%?xv%%uwoy}`Ba`Hc5lQaCCAf)BzuELeaT{RIz2Wk3Pjk%KSwuraf8!yANv^Hn{>>jB@ zXY8lZxF1sc+*tYDYM3Hq4V@yXWY;TB8Oq96zI&mv?W~StuUZ^|xFUbHF=DtHGhO65 zIWnjrx!_$4k@Nmc+ZL2!K$wa4O>Mu21mDO<{T{OeiC=s>i_#1y-|8@YE@3!bI~>Jo z99qGM(Rarqg^iJ*8WXo91?9+5Sk{yPc=IB+x9ON&ElcjQ@;scM$o1}cs6U8_?8q*& z*)`54L2_zWR%7uuXtaK4)=@TV3l3yk&!Aw6GTeY%JQ5$4mAM4^FUDvCX`~?UxuFB& zc}w6(mKAud{@}3Hol|R5`nA)fu$|YpBH7U5e=f4}A0P3O?BHr zd14)8*`S-P1qlMq)UlXPJ|FU!Po_=&5zz1Y-W(XhRBx=&lZ1&4gMUHDrW6glj8lA(Qr0Wo>XbM5{j_nxN9m zqI8(pfg$JMr8CA{cLq=lOtTWx?i6CV>6ci~&;ylG2FR3u-z(M@U9@sp_e{nyHzdu0 z4(aViH!%;n6D@qE5~UZ42EV%-UY{u0XYs_`xhJq@y01-747HN%^D2mS9QB$G+a#>f z>Tkn0!RoEJL{SJwC=yKqO~q@F@ltvXBo@)w$W~_b&GxTxE28a9OOcPxJP^fi8177U zS)8ry&n3vztTH>tdC|VCDb1RY+Nrynj%~40V=5D2qSB92@Jz2YkIpqi*TZFNO~V~+ zc$y+mz7 z6Ww+6VqNtM)1h&#t22cK`nQKu$&??9q=Y*jtJ({OW09(mUjMR9x>_%v-akF2|05TC z##0F$e0KpKy|a?MG)4az6YL6X^jR~3eu*C{ZQJ`iu_YL&#;XEvR0%Buemc|k{p4E$ z5zeRg!_2ZtPAvTiikqc9=rEM#xk4}5WFiGpB@(8LAsKS169?dHll3|Hzv;Vcp z^uzK20!ifLcPIr!=Px)f@jhzexocGs-@FL^D7#$p11B`ux$Av%N`etye__&?oUnbk zc#at{hFoKbe2n~1V_3d=oRN=C+ZxguLc*zWqE%ysYu3qLHU6fi+?Fe{Ao=>m45V28QFdb-^y zfwo1sC0jGCX}-7VUFfG8{O z7-;_!x3!8p(DWZ~U)l6O`DwnKgsxwCP#;AFX+?NdR-%G}3Mb&)i4l-cLG=Ynu%!hJ z(3Fgla%-gtl9@7A5sz!~Ksw*xo9U{9fN})>=X{+DZ!_%p5mH&9jm1 z>tS9-!8p(RcuSa1ew{d%+{f;u|*iU05oM*ZVRz?yb4^ z^q96`Lf$Q8v4DzW%@_nt?F}(TZ?L)~LFl3%=`A_R=}79U?)6wz{-FKck0IjzbP2W( z{B{Ve&0WgO8}4InQpGPoP~wS$K*PBj9+~LGI<%$wyS72*i4BBkGHjN-jy|mhX?#_= z^(>u%dYuH--<9+86egalgM7#JjE7B5uG!+#C+*&wdZHVys0`xEe{*jf$uTrX&n^o>-@i<0afA+2vOe09P*kUDz1L0)Jz= zM1>CD$@p=7_H%HDvC?WVgre=y#t39OR#%ISWaEV719_y4k4j1@YUL{6lUb~$&{bMI&%#kS$4C*NznKqe|_UfEh2rEPD}i8a#?>HA4o?}pFz*HBrmkt zzh5;jbT$qOtn+b5P_x+*-t|`D)&D%HQoo&Y>49nwcz9yA+ls{2GZDL#Dc#*4C>V(; zHQteLMp`W2wT9c;)<)a1e8Ly7;PfL%K=pZW?&ni~9=z0kl-SEz66YewT00L1${3ULYPYRmK zPPg>d<3A4c!f#3=UQ`CWt(M+$M7b>6$qtDp)#>}}iUr1zH$7^Q{F#*?q8GM ze;6eTRkh{+G1rNCQ>FwFFU4aMrN_>f{dC&~v}G=m)wNByU=V$Lf9FWY zWa7undRH7|Sp&CTN=Db4Oj~p9bWCHpJ$sDF{$>^@NgQTRrDQKd$`n=#hMXELEE}H{ zXT%=ugzIR}YZ_XKoxEd)#UFj(w5C#?RfwM|M2D%SxFKI&q`NP~HXg3P!8gVx^C1LG z(7wPKssax2tyfDuKmg1gJXbqiwgc!U_7}px?hymBf*a^mEz~rf-6VkP*YRV zlrgYj%&tvrA*6k~%We^|8Ct9qiU$B1$jFL237Tj#)rhP~ykHd+X$tm_EI6IzT0U_K zf)pP6T>g9$aX{DtAfy~Fw6qTCGcawLc{KUZ1K$1Rq~df*H+R8Iv|L*sL#rYEYgH6M zfG{@cPvK=D5sd(9XYX9Rn4iBpc+*wv>Nc)vw6S0haWX2caggDMj;Rt5;js{<3CoPf zR)oFdb(XikOMi}TjIZMpBEwOV|@?xCP?ZETpPrS=djkJ7VJ-t{Xb@#TT0K0MFT z??Cr72ax~ZDIHIj$zhzDt4|K)0dXQ99;Y@fd;>iJHepnx7Amx2Qhf&AVv%bisZ{0{yTJ5vNh(rV|u-a zOK~*t1XDL#UeoyFC48!6eiAGa))mOnUH+Xv{Uut0gj4%Rbe4Z9iO{}25}#NFQWrY; zrKjA}5272pP!9j2-hHs5qwTK%B=+w5&*7Aq>;5HU-~W_+`w#dt^5e%JjW77a^96tY z^_$&lhBnUsPw4Y+PoxMO`pd*9(!TX2!ySKwW-m^G7&k7XUBdqfb8(!QVmGIP&`2?GFa>lA+j(TIm0KnWl?6zXDu2&)DYbRo{ zp7FW;xAwt9ZRgiLGCqK*ld))1&>J4-Sq5C3d1^)cTDWa3bwH=tRb>9ChE~`XNkx!N2GaU)FkSop zWN^|#kx5W;e`_gEmF&1rRy(R3CjnKxi|rLIM<)2(vZQ8_Fu8Dj+YuaD+hiu$SOZJq zUpLn&qJDtDj8Jdk?CcxoSgR~a-?IJgxb|WFRCJz582=1edrI6Hq_Av6yH0vJklfRn zTU5_JlW6==52}P)_Xlw?tuVTR2Kl)%!UU=DiVj`5@aIe@C{}h+_(Zy94P9-O?XahL zvjU+?DO51$cl3LNkIAjCe7Jg;jOyL8t|Vv|W&!;u79sZFvkHX!~>=2m2*3(=qbq!`3;#FIwzb~?%;Rato=m5e%H4s zvg4T~^oOtAB$gr|Og=t;g=myELp8UIoP*fr$7T$ctF3xo1H$Y6GS3_Who-8GXclQ> zNT@{RQy+Fr`U^=U+1D(X&s!a1)&^4NX2sxv#ART01;g^k!m#_)K z41?)YDYBO_lDrUX&(e8rC+;UHs{AgzR3XHZM=wWWfVoun{r6@0t`M&~9Wc^(!C1Fl z8lyi{N_)0UN)hV2T)kaCQD(`I_I&yqheV1QLhI#^XwpYdU{z;{7}-J*f$iM?`{U?r zkVLBC4l{}`hZk%|yZb}kyLJGIHnj_{7{GY+flkIifcAA*YQ~! z(|@$H|K9gesQ#>vGlce81xAZ397WVvvp4Smu%Yb^&paf|D}aX7E=AN((gDuKieek! zSq8bP!^`0`Nyd-@R#`iQH`+=)Imp?U?K3&~cG&^5pC#FynsnULLF)wdJhu-Mj~jMb zo1d53cA%X8pUq6ariR^w1`}*KDk{BI`oboST%5@@^bD!bA`( zx@m@G(1q9!*dB}4xB*SS_j(v<&Ly!J^YtfMehRfI=;T{^FMR#j>kOEwy$I&c{i4Sd z@Ll!www~MCrw3=OE#MxS*IbbLHJ#rr0Bg&Buk9%-@>1G@d5X>f z%6mtI{G6pW-Hs~rW}-}M*7c!;Aye`uks)rTg&}^%pDODx{Ul{Oy!1BR$jq7Bed>ECIsxYNWlLhJu*-a$a>(0PN zBuqM;tHTDI6{XKaDlRCPDf3bZa*J9BmldV=A!n7qrmzUfG8B1{P=P>MI;J6>zuh-e z+>aAW@?z}qo(MR_xAO`Skl8?$W5<}x)#=2*@R2$Nvp|tKE6u3ZG=A7*GLZ$tjaAksYZP8jvkI|2e!WbBTw5z}UpL7&d}hlb#?Ru$dETvJ21TyJqtB zS|82L4UVMZ*;GIslM|TJ7`5U2^bJKn*)N#QSwG=J<*&?8_0m+9eeNwIlDc)nvM=#l zom4MjoMD@qXwI8UK>lTbbAtHD-m5>45jd_vUQR)&?sd-;?ieVywY3~Z+#*Y*>KTr^ zMzg*qCRM?K2j!~%y>g~#HR$MuPr|#gUK_!`Hck4!WhkB56zH5f04J&%Gr#y|}=E*Db_1Nhe zCST0WK^|BHW07N*gdN>C(O$itMwQsSeI{?^lSB)7=8w@UjLxP6rdO?kggC1qQ2Xb_@E}sJ{is$dweOwCN42 zVv0Ow`*WPxeWyVe>CDt1PsECZ-&WEKlmH^RToib!EaiuUFbdeS5e zcqw-#fw^yNWD`-MWIf&##PxR=uqfJ4t}C5ogB^9J;-erw!Ctm1P?J>UoJPG3ycifE zQs*7TKF&d6l2@CpGAf+8GZsLZ-cDH}{0a*aPdWpn;ZntZ|U2Jx5yUbMVX-D(^TZt*0TBErf2BHs8-uTL&(MQ z1SHxJwhQXIg*Q7t*d#VxciiAQKYjzN@~C!oMQ=Tii`2)M8{ysTdhOwAMMxB^`+0!i zRS_2VQg@vqh;mOS?!Umk4Nd#+SroSz;^6o2MWmhBtED zv^HwoH5bB+T`yxtCMyKi89`x(_vYRnSC#m^Ay^)h?-27 z(~Mr@#aH|B*)>`H%+%Z~r~jIs^O@LO>h_h6Kk}81|8=DHo3R~$!O_{4!3|);U}R}) z!r;Qp0QiT+jKT72bCBWxFrWVk9jgPBaa2)#*hyCcZKQE1QN5_p)`Gz#008UnGs%tN zLRyf8e;R2=*lpTYWD{hiYOJ&V)% zXa8jw`u&M%S2zz@Qo<)gI2;fILAdAjOOJu^dysg#Wcha$VZ(0h7+B>NjWBK#_x;pl z{GXtx?2*+SyfGj#(!7IiI)~e1<_;ce$aA=jkL2}EtSRdG#+GE<#N{IvhT^Q1WMpL2 zWo1PXtrev+dUQmmyP?F+z$=Rs6{@!OvW!W}nVvDMQgOcG0kV#eP00m<6y>s#qdMe} zT;>IyA1l2ELk3O6hYmjq0)=jcYYRwERwz#Lv1MC_AqC=7l1Oi>oykzVZCbZbDJI;w zZpdEu&J$HNFLxPnsmHP%(k$_Jw=ask;Z-|osRwROkf?ZuA2`9%GMGutOdo9NTJIIP z)P+*b(yBEoGGhkv40bCqyNq(;_gu>>s*@nw(zhX$;(g{jxp;&o4z}=`h|4iJRRS^f zf~e6sMUn@I;w)rnhp7~oG{PTJ=yg5(XZ<2yYn$dt&g+UngQ@*8bSrH~Y^%mXS2COw z;%4K^hWc5_bXey-^=LyCMOBn%`bdrn12<=EXrr*?N=TE&LZPTur%)mL*~Fl_3MKll z>V`Y^EXlGklV*v_ouEW<3CvT>t%UNiSR9VZl==fCbC}1t!tOPnqn5jB@+b`G{cS2e8=zX7n zyv4-0;%O@3M1G92iT`AJaRi7k&KH7=a#C*#6vd%GGJD9uG{i}Pft$GFWTyyMb&WF2~BM#EGjVS1TXLIAAdMXQsu^}v~#T9F-Ypn zYY#6dx>MZCFB{sB@b$so={4gGf(FwRE$}sFtKjulu)Gk0v{mCde}wd^pY>NuZ<-lp z^H7_vqklux;k@})1vG(1L-^7Od4C;Ytd{*u9Mp2N;FTGDzgx2Tc7{~kAZSy(Aco@q z0eSH)GR-o6B2}6GFDs%>@_b#RO23N@#)OM8LezMr_npa0))gx6BY>iPaF?mC!~j}D z%ym+m363|U1AU!{x%;8rFj|h&wM43~P`SXd6>_c(a?aXtv0BYQ^y1e+UW|^Dd{5i- zSezo2%k0&0@TTstLrIPHK+_h7l?9{`5tatG3XZY_%1HT3>hB z8sB}EcuCpgxB)0i#}B{g-E<*9+pFt*W{Io3u`$g%exA<-u&pLoED2dNUuVRCq&9Jz zOKOJ~{2jTKNi50^x9<*#a0i-xSJtD=7A!v^nk^FIF9lU{ae@oIoDwI(SDS8@vAjYC zH$p*ekHoKCm7P+zIHVt)lH~DDJuG+ec~ByJH3JPpU16!^!ex@*G6<Vk_^*cs?7T!ud! zjr15_Ps}GFN`h;SwtfE@8n?~y#&9_+CY@+6-KNnUF*H@GRA}JN=)*r%B9xs#DOA1aTUn!Wl^FRB zM^SAtKDFrYxLoqz&aQ*@$~A@wwgIALnPk;oo46pl$S`+Y8bo)@_t>oLp}Lzduxk8$ zz2exW)l#3hmESjsvb9n>qi8489w1?8o3&>%pOkoH@KURxu87?P3*=DX-me+x)K5J?T>$Kiwe(?0WxM58T`HjCLw&14&HES zQ&z1#COzsM`x|CGe3X4fHKAMgJdFIh{rkU0S^Y=D>-)%Ay+_GcDp}+)C)nBQLMTsO zQRaz2uBpTnXe?D|rzGAowyc9fDxJMTG~TwIXHZW`(4F!Qkz z&AntJy@B$M_TZ(_{Dp`mb_U(vv-b8Z4#=J;>?Y4rKWVUcazigiDE*!zE3d*q?ZB%= zWUUePkv_^D_=k~vWm3!0^+w{0n;Vx-9lf`K_JBXhia*`X9votYZ;q*UtT|~(iLu2y zSmQj|Hb?fMvE3$ZzVg4Ui934IJ1>69h6pTc*4_H2Unmq~m3;px8&Na2Whx@PqgAx4 z=Bqv(`VcHz^xSfxJ-?{7rl!BvSkYM7;=)v&Sa}X7_P%lG;oHB3#CYc4qc9)(BHRP1 z>^=u?Ts(u(XUSR4hSLTLFeJge{@p`4?bcf~V;Riih}^^{W?s1pi3(TT#Bv}air4Y+ zbDrS`W-h$K9M1g@tMn**T6VI@;X_yx@7!w5x_+T06YMqYfHfiZj)CyxHP{E200nF2 z)fX9y_YFS3bcnyW{VSni1&)v|F-Y(@ZNGe+^>k?NoNL)YZCyhw!RB%&C*8ffLq(W# zva)+@BIWWatb$351Zci3G?oul)Ex$vW{Tx3%|B_CRME|2!@UORK2RrYV#1~yimrq0 z{V&emF}m_TJQtp5Vq@Y=Y}>YN?AR0Awrx9^7(0_pY}>YNoIGvcp0?{fOZjT zne;fyNpolj8?Pl-z{OMyETcQf8cI34*Q%hM5f`I2c_T}j8luIw9kVLs=o~szR5gE_ za(<$o6XP9OyL!=&JbqvrrB06H74JA^Dq6H@jTu$dARV;IN8a+x>N+4~HHf`rrX+3> zs*1hG$GwFd%l9J0faOo5g*8$0u_ZP+?UlT%wHPhcZmp6Sz^R=8gOxioIqaifL~FcE zBRr_U&*BWN1t)dr$2Xe|I=MmlKOsqn3nemPE*OWy3Q}YGiP%3IfI><-vAtI5W8$2v z!YJHkB(d4oVBt;hw}i6d@q0Fizv(7b?22BVM4!6`-P<-y#PBQ#YmG$`bq;m1xSb+& zzoK4SpR;5#WMnO*R3P~HXRF>G7-?UK+7gdv-Y{iX=&dKmBM93rYUOacEDrZN&~bgc znL;fjH*iZiU0mSF=Y$v1qjgxaTInI-&8Yr3Oxu;b_qafNS$vHkUUh!J3Zu~D$c2N$ z*bhZ{o*+~dS@ExOy5fGLOBr!T3?yFMrGDWEJ;cP{#o2opkAi@db0q3&*0OvGxzxG*_MXiAL7wTQhT6CPmpr+_3i$ z$1;pr>r=68?CW5XS~M6O88Z_Dnov*%$IYI`UBtzFMjJ{3Yv{?SJY_jY)rYJ!l3VMm zaVE5u1U?ZHer5{9B7y4O3^C5M9~dP>4U+`^xh{-Tk8rXcJ4g-gS(hHS5&QL%YJEW= z%1j~Hpf>3bZ6yk>xhq3~2#?+wCyW$cha$6oYR|;R1%Ao!_2ZOco72X3iX=f~0ZK@h zU=I)<7cz!EPJIeY*4Kn@=%LgnY;@%00}h#4__&=AZ#bGqXm9Exhwn|p~I z`tViE;xjHOGIruoU*@Yj^9_Ju{|zH!$>l?k} zw$sVwvXt^4JaH&>^ke)d#8sXi9>sbhc=1Ajcchx^gS|3t&z=uk-?_iD*08kD_ma=_ z-IBxfU!q0jCg{#0gNV0>(6H7B)@LwLixV1@M;GFm0u=U}IkIDl`O&nXlZCd1o4hOy zi;EG=Mijc}Y7FoDt!*Uj9cJKtJP|D^Wx(Pnq%^| zO0%Ko$_@GfjOdk@{jy>AWpnbUm658t)TDzcX)Yxh0(!+VxT2~Jl_4~Gi58kl*^=N6 zH))G^*dRgS0Hv45ho#&OTG3{$M=I6jzx^D7cwwWC!LqGpmWrD5`PXZrUJAC^pVuSk28agTqM~_8fBD3MVkW3>gi2Qm*#=360%YnP=w3 z3D+t(u~*2lREKSkh)J;JzJPDtl|JRy+2kf9s>|AIRMeVK?#5qb;D=HdVI= zrY|yqF05ZCnjdDJuKke9F5Y|LtqasTRNmwa6Py zo1p*EY($}of_;|Gxp?^%RGX2oymeWBh$uQby}~pj6`#AMc2mLnyKVSnFKlI!0QZZoS1*j=h!bOQ^*qlUF#Qab_A=WxxREH*;Pn{A3gh&I1T7emUh8!hmh@<2B)lHeSnf?ucLO0S)eJnGD2@v}do3 zu6~^Wqu;%mU15A7-4ow(vk=gOobqvpi839yqOHxfVXt3f|nXM{-7fn6Dru#rofLAtmMJk%tz&fd}zQ zJm(d>t+OPtX1Tv0CFz6ir-tUep&9d`?Ux>TBJ5up-NC(gmAs`sq2KBdOM%bd!jwrq zr{3f)9=#n@pzhUh8PiW95n~p&HiC>mrkY|XNZ(63+~!A|_*8^p^{G(x+>#Kjtg47z zP8oZ|RvdY2Nf0Q4y?=SP44z1!V-QcoFATB5r_mNdC_DfdR=(Z3<2$D0_H8|KUeR-0 ziQ_)`406X9-ly&2T|a1NSpVgp?Dcu14o6rrM+W$Xmwhm(;^!$XDbD*)amvky@iyqG z_IUVPCjAj<-eq7mWErp70m)DfGav#*3-bZ~9GK%khxQRPI! z_PWY5)fv+!pw*aT-1wOVxk6w_mxfWD67{foBk=nDV8co0lDvzUYx$>8ZT686w>>FG z4tX|nOi3G$7H?1;aq`(waT+S0i0$E*wS$$forX-pt(smCv`CIBP5>7cT$g8(1-i3W%GvvWr zGs-Id3*|f9Af3Sca}CUbvZ7369&9-l)f4B|np9aN9_}kHE&&I}$58k5<<`?w_ce%} zM!*L+H(xP-vyDyUiYNuc?m5k{g}a^(0^UUyptbs?1KR2}t0~Rl6TEQpNPf026fj(b zaez$Vw2sgv zs5fe8nvgPGtGLN26OyTGHScq}ofwsuWGWiK4oVl>HAhb>A8<;VEELIBd*_=?y?if& z@N8r{Pj(lraql;Z9K_%iJ504Oilo;#qP94Kb!HEB$zFRgUvytgA>AD}*#v@O_u^3K*i zlGPI?xYc?A_aU3vfIsGgM*oQTzzv>VcLHJB{|x}XmSICo>UaMj2om26S7fXf@VsBV zV~@KxotyKGEIJSyY}Ui7f-G?P@WG*C94M&9i{=ZrLxqY$~{9a;5AMT=hx!E}vlo zWBgVr?@_^2f<(<{okz40Ca@xxdQE1zHNLeYrPZsQ7gyaF3=iV~soTp}`rZb|P3vEi zFL{S3m51Iqhq3FnvKPi^7+D9^;~{-t6v#Oc&?16SCu%C_eetx#-(&Crt(l!XR@k6qR{4qbUG-rTAQ%zT(6>oSzKJ^M=i29rFaY&U= zW4LEo;BUgj-o|X=m@15}pR}4bpdr5bo8{oDzeX*=o4D&?ILLnF`Kpq!V;0l6NvnZq zs}(Awya7lW2+4#<&VKVTRgEsgQAu`n{j_uU;RV}=9G>cCZ+8%F2Db<(kb$Zv>+c2PK+!FbM81=BAfDh$tcy> z=YD(T|IfQZ;NQpW_%BQA8MtrX82;aOh5w11oULy4b$-S4Vf&F1)ReD4gJphbEfHE}dJ@sx=>cz9MLDbY&e zHMH!waoaihW#zN{&&~CN+zy+EwBjG^tD}qq#O$L#P1`oQG(QhRY9e z?6TaydE3g+v;F`qOaX&47;hA|Z4)uuDLJ&u+7l@IK^mMT7F19~+`o?d4OfOVmnl`V z$qbiRn@LCzyT>_e@=b8L{Yu7VPFG$zF>H5D8I813IxXr%Wlqg;zF{Y&)FZDNSq7Ar1<5AACNzbDAVDi}l5G|Y>J=rsaaWu&Z4vxiz43`_D zW!h>jS~dCGb4AEjt_+l>K_jAdJ3US(h5 z6;emP`&nK;A?mk)F_l}oS*i@-&{(c$Rl7A&o-h|i!UO6s_*?nlP4|hUyYT_P?ZfTa z)C7Cl7Dj$<-(1TP()Zx4?}r3k7b4WF?*JD^%(-8T&rO#bZ+2AKT#`yN4Y>|0XBF$= zojYUt8I3iA%%CUiwAW^ARw<7Q<}+GZrFROlEHCLK=ic1Ww;;0EBTB6HDp|A&BOQjUDrv;;NqDt{I{h*E`Bm=&Nqy}>+lq71Viy?|vu>JvYt(qq{q zM9oX;p>RgYb5w*mW{H5SV}3aHQPxyceA|o;O@SX69d78GWMS-W;zWO5b0(BsKz?w-$T#?xQf&9KJ|W1v6(X>$ zfaAa$kdpaW5VRiA!`r1}Z1eS-y>>aXh_$Ss=zym(B6rcMY->zn)9>h!Un>PF=0O{-vfv`ds(2>0A+#oR-Df1<(}+x_u6i{QILc1@Dhss4EhY`a&2gg zud$gCo;+S}b2KwG^I>)+dp+FzTLa1w)BlsGmBN502wDdv4xu|3PM<9BYOCI_9I0l@ z63WN;edv0ewT78?OB!TR_(+T|41W!Yfq2XGTgz3l-||lndu|CF$}m2(0Ez+<0n;mZ zYM@~ZLu=vtEL_gCRCp_|g=i}Isg@v{gOVVr+%KR~(wxPx!qbMS$5^{m^tJ*}V|u3v zh@ZPS=O#EUeLWD~DwZGf-Ak$n5sK-dETz+)j zV6~^JNi{51uiRu^Y>T#U>>+0@)f$t*epF(5aLX z<@7O0kbqe(OsgN5qB35#W^~q7US!;+N&w&*hmAWG6pnBm*V=zi6$+ZHwKL@CkoCg? zR)iEt4hW$FZ8Yi`OB+W$6szaZI(RCiny`Nt!gYgE+aZLzj*tdoYmDCgTwFD#6`(U=DAb zTu+zoENp7MX-8LwoUI7Ckp@P;+l8}yfalq}Z)2LPJ=C$!jlOL|!m3|#*&gSMKCRu5>6X_tfphA3IZ zblD~O_-ZN~G?f-BEoBwE76D^M{(!;EMW!gowb)-*w5|u-Ac(zRDmeyRbE71ttQEC< z<-~nQK=!yD)5;8E)r0j9x5QoZsFtdxB<8b-W=mt)Kx|$DNu3~p7+apTp>2L%uIS?m z-W``@6Gthkjl>ZLE92OA8UrshXt1t#Qu~%-aZC$jG{R1cEcOj=ySI(^?7ESLP zZ|n+|d7|m)!FTqJtrp|GD>XdHnt3Sa`ah05*>buZnK|Q8W=aihZz>Tj-E8yjjs;ui zw9lTUhUO^0Y^SjxL$f1n%x|e2Lt;ZYrUYkAps*a84AUrk%ckg#d44rtz}}hS_Iln` zW`DLF=Xx+;^8KWelNXc!b%wP>FVb3@s+QaThDI=hZ40wSd{$UW@M`Z@B$3{cCm+Oc ztp@qBrRBdGytyUiCVEL7Hn}|y^RE78n>UJ6UKHr6Fpcx?JI*w|L!*e#F}uo1Ov(wR;j2ji5n4e zM0ozj6ikmTuBO;xY%_Cy33EQH89u~vqVI=+GzJCF3FBGOJ)HM!)Rg+@;n5%k3Wt0a z+QjrR37sLvF2(fV3@)AGuUrwl)N4%Tr|{0GlyDz^3)m*epfMxd0YO|LC|KiTqm}3D zIBW4?hi{P*L}Ds <(CTF09G$hb{N`o(*=#6_IWSrjdz*fJIn2o*L2mK|1I_#4g#Bp;fZNU{;Mm-&SGq7|yf9o(e25qZfeAlF^Q+L;6Y zqB=-VPA3xRbR!^aOcW3MA0CbJ_tRZUi`-ls2(n!g_PLs+UQcW>|7nMdpE3y|{hh7X z-u#dd+64!+OT6k7Ep0hgDF9L-b-L2r8SeG_^c=%xHSMI;D)@_L6VsIY#vdM1($f_T zR!Pvk{TKCgWsHD5!WZje=!-ze^*^KgeL?C6NSHkXBeWq&Pj+{tY{iX!1H2{~0KvkBWLX23Pb9*48nts)CXx}vFC%5H8~ zjDw~BL5%D-R}XEBVH#*6W~cmMe(3_zPptAt=-81mW%$21lT^U5(Bcb#}%5OnywO*<^B85qGN1Yq-S@)$%R0 z?*7Jyi0Zqe`#vVfAfgD>RfHCXQ4?^%ZDnoubxmdMH2v4tt~|WTw*YIr8x1RZTLUY5 zfaA3J&LeO<%VBvylfQmQ^UpB0iZwq1ZXIdjr4gay=OT))YLWq_M#T<>Ei+Hffw19H z+KUb*{$A5qZHAE`rd(q#`(_8v2apq}t|8+8b>rdIJ!ifvbS!X7V9Mo!h!|L(_vG*D zRMZkk&q0Ux5}I-z$)|)0Q7!}J;*Mq(NjGlbkUnZdR-qNmmR3B3b{33fkZ<~u<4hWd znW3S|TyvXtmY^m%*$7vvL%!#~tVtA?U_t&#t;^d@{`-GNq&4gmLmVXOXo;6<{EjWVh_nvX3?Js}M|S(smnR;0~_9YmE@ zzDAgzd7oUJi_|J&<{rkv@>xkcj@YNj-&2AsSOQD^oyLi$n{wuN#cV#;29$l1EIBgQ zOWwzpPX<1j2gZ;bO(#z z0|;((O|9qdA8j zTw-=YgIHc7@3BZh%v0^m4`6ro0S-aAb zlt{a=1t7wOQaYV)k{^Ti2`#0quY7mk+T@GSciNe zk8P&$TOK*5EQ)4fOp(x9VnEENZ>9crkA#j6wkp31WW?OQzeM~kyiDaCGB($N0^HRI zgA=Q?6l~=l;~m~Q)CC&fW3kjruTymheF__o7N;Iv{#@_wVvo&FmBu@=)So~IiAC5r z-Ot>5gw-%if%#q+1*nSKaZaimFtiQgk#ltv{WAIc$(jiwLxYiSGD0S}HpAjK_8 zb~_31(RuU*UQxYye5 zZ@rFpSw7$RlLomPG68FH+9Mzdo7t}`o|j{1{GT89;NLC;co4ctG?3)FFhzFlco6<- zFtoKFv#_0BEVzsYc*4`eoN>UP>w|4x)Ye)dUaSbt6?ft#_;*Nq^4+6g1k*AZcqfSb zvFvurB|E=My8+7YECt{s4Ti)T}QW9rp1>AIcRRZcYk7gDOd2R%0q85h432W1F z{6YcaNMPmfG8fJRmvH|H9_sOf23A)}IlHm~)?4$`q(r=)X;~pojJ=ZbUdVxQLR~xw zeP$Y4auUGCmHVNr?E@`^B=MV)SY#vdXyZC_D63~$oc2KSrZ}hQ>M5}L&O9duA~0vn zhb3B`y%i}*f`*II#CC(Nut@{c?3(LvPlQh=Wl@N3MIuox$vTUKWf5stFE(J8q6kpH zwQ~TV-)ncyew_V=K4!AaM4;L;uC}3xQJGS|Y0hV^OtDX60F5(cy}*)%hyN{lh}iIj zR)h7zdG>j9mH`0L6xy8DBh~zSqKuat_igrwdig4Mx;ral|I^((XTA3=|HwVIh>wjT z3N^>W&3!0m!9>0^lsM<|EkVXkf8s-Ks~t+;1-_65E|S!2}9~NjP^xxs=s!wgU^0z-Hg=OxEe*@Ey}7iCN%8>N4jJ@ zK3wb-K^!##&fd)KMY*mdbgSrQYgEBc0KK_rFmk|F!A2BAJf8Ct)NvtQsQZvFkm+&s zQxh3X9gLFtwaRSoZdoVI2&EV7nAKArX)r5yxj`<kQluwt39f)})q9~Wfx~?s+S|B zLC)%3r2DfGq<#&`7UCQPog_mP-G%0WRf0bGQ{PXs-*M;%YiE#GTP+_VY{ZXv{cdw% zJs}@iZC|`+c-jy2J$6uy1O_-?5yuFH%x0ve*)g<{**qk)x%#> zW8AmGKBD>hz2zTV67R*bcG5qqe4_5Dj{Bmwscp%#zOwF3ZaMa!4&gw&d-xNe-K>I( zU;h|FWZe+@P}=<+hm-M_%t3nBW-nXFyOXZ!660)j<+gQb6K&xU=B;`m_A-v3yK@I@ z?-KU*4(zS$iF_{?_8Ga_7ti=N(r@jd+>=v|citmn0wR6k@Tc?_oGNkOo*@E;m-aO} zxX;up<+qr<67eeypO?@7;=WF$N{k5jYDEse;EeNsgfj(z1K>+V{?(Frm>B=(ek5B> z+YwC_>BE$MdE9ibo-o`$YzZvE z#)9IM6cpORfRO-&;47hu#t}#YT3`Rk6#0~w`!OFX);^Y-t` zMUb^nM`W7bZcCajLM(*QD>v|aHzJ{9$@m3iXssJt8 z<2@F~$#6i&D*jlp^XM>@InSD-2+lN0i77mpwRhKCqMVTR0u|Kq3L`T57%kI^vE?$2 zYvpT{ptPd{+v8#K#c!)ql*BPc>6Q*8*9kAVd9GfjEIJ5nt&xdzF?XX024x^E*2U=FSyAUa65aUkp-zNrHRM4sstdt}h<$TKWa0LR!&<$5 z%VjtGQi+S3v$H7~!iXFy*p7WSB?6bIDD;Fh`Ylli=}%!7RVSmu2s$h_KtqJ{5!^PZ zW|rDDg9GjTR-C9oqdY+R|$qvI)xd1o=QdYfDM7 zb)NHNoS8E|mnvJ*QeN}fJ9Mt^kx%Jb-}&ILddYPT9_PrNN^0hlSD%O*DAjL&h(j(y zOA$CA*y(M!U`c7el0K~%rf$V<3dw4}p@14?8M%W~&J>&w$-cLy8a3b?33Bm^SiqYC zXbbkN!MGT6vor$W8;=jn@OajEL8{?&Kdg?jJ+=d?Ze zMAi;}2JEa)%(}K}{9v?2HN7=OY-?SCE$fxJ!rq9_N}ZtD(%7%*Cb=%-A!1i>1e~N% zxmu;-EVL`h5~dN!DwhcqAQ4fhQ#x-b@8QyLcs?%);1NWD#_as`pZN(%1+KUkP08^o zWhEJg-VW`ICR~T3;M&-fE6%{M@qu@tFg0qC62J-q&F?Sa1&TAkAgy-IV;XB1?3XJb zOYE9C$e^7P4dPlUs3iQ!2~%TmK_RrK(#3y4kSo*{Gz_8SrT;z50m>1Ohas+sk?2{< z*}1)8K&n{bhOMo^M&Rn&;3Skz>IS|_0XOt~Ao0V`(b|S9$ z1NHj*$*uX&?!>!{#u)cs#gw`uuXLVUh(Zm#+c*}q9rp=X9z5DYS=^geY9K>wdxsk= zxo$*{Jl+09i$Ux7HD9BKQ@lA?cEM4!zCPa7Z-fPiQ&56@YP}yibtM(Ycp`?={f6@z z`+9k73mU3$p9nRuTkqLs0cXvbbw?-=`UbfAH<#2hTcAFDqHj^ZuVFj8f3*f}#t#y#y?#xo z{55U&%LCXlwfNk_QB*57X5?&%w5h|ngG*~5Iwr4YC1}QL9Y;nD&qbDr@RK(e{d^RT z!2Lp<1#@>ATARjKDz=p`bFZ%du!{eu4gVv8AK>$~iZA~P7XP2$t*;}awTY3F#V^}` zZ^-{Yl}xspt~#nXrVkkj4b3Se+LXDfN@E-ns74)VaDcuj@?K$>s&?u)idup$aM|x6 z>!E`E!R)S}qlsN()saWfefo9dp|sK4v|$fi!cb`f!1Ox7J;`%B_S(tp`*Hh<^DWS= zqyP+-3XSF~Dlj2{es9nL_QFWC8_eRZ9s==NqMrw!`bjE=M{ycdS57wpp|YOQI58ob zGLsd;;_GjVHcGK^-vx!|?HC2!wvrn`<6tscKCtF%w**SRScarDV+~F*j{>cRFS{@w z7OJzpfj3&LvaMTT@uo6cwDA~mEF07PBF{Bp9#$QdBW(#u&@?nlXzonbVOV4;+18BV zt^B2FvF^Bb(X9y5U*`?yUzd|!`jV0}cI3i!yefu>=^;&H3&PlT=QT?bX9p3Zj@2xo z=elm|f7Cl-yB%dQD=GsUM6=8Yu7x<2=hF5@rt5%f>v-k~tTdCIbgKTPj3Tk6C!fwL zwI;LqyA$4_8eEUwF$HW}hD6Pd2MFCBw=jB2^`d(jN&dXpbaSxg6x45;e} zV|+|I-F@8>%8>^_-sDzivLqHTv!ctuwbci&d6anxZ0IT>obXDwcs*7v^8#` zIO2{M6<}%2t0al6uw`gN{W6?rnzB(P-rP1{io4NE!ocX713zS{fRVw}YqD65_H%xr zP50NBIv6z$i|Q;8dnLI7{rAe)fhe`jsosVO746^Bo0kGj&Pa6Es*qahE6mj6`lCJF z-ai(@LA-h;evhM?f4FRy#0G{nU0!OAtGOv5QbOc#XRpw3u$hKnoKo~P0^!BGOG19t z3Kn^@utXUN`BxG`iU)@N=`w$R97F4nah)-#wxoMtwf@S{v9`kOE(-zZOfv*YW1}1` z+I`mrP5l@wCY#c}^@oC6=m-$-T)7K?(i{7gQKQ%@Ab+PK`8<@OqiFCaWk#9yP6{Kp z8SBmpNO<{~$lIY>Gk?o!3=bAF1^eQ%z3X&;cc?hyIWoLTSyOZJU2_iz`CUT=WiI~! z^=F$Ls4TXg-lPP#FmW!cO>CL6s+72eeO2rAhKbYl@jS?L>2JCL&DoWH%$Bz zb(sD#G~r0|G<#VEU$cx^9D-t%ec<<#Deq_k2 z%hVOd_HrM$2#Ny@6H2()1{^yZ95tSl_^vz$PP7w+FtKc%`K;a{0owKGU*E`7QNDLC zbx>ww`_$i4?zlamE45+D8a?iOJmj?jt8RXtXY{-Alb-NYgE;mWheM8_)ptChWG@!} z)v1&V(Xb-t;)rxR#2$z@?V-G)7t~7)XZJ)0r?mkbo`g)TfqVr)7A6JXBeKX+RQe+S ziWPQgQ#6G0S)%%;Q&`R-7jlF@QJ>iY4Q!)Aif2LM4cmzni*Fjdnm(u$t^u3(<x#OimoB?4Vd`y zpl!iu(ttH`dPsjRU>5%(yHUuS^|?AE-KrM7Qu7L^{BW~E&f0(KQ2F~?z!@(0A|E?J zUBa)#u_lS;1!wMwz}$T*)eT;D3mxHn%MNRV|0S{yCNUyXMDjF?AAkQ?#y;dsx9|a8 zoLut5qjv4kpUIMDW6*D{JO2HNUWzRr<63nMiY;9wR;}Z82(>&YEGvd>xvFX(@ zQv>qwnsx5;KR9{)1L|YbOwK4@!$<@2{}$Al{&mmNq`vwKO%?Mq+lB7jDbJ6lHZQDk z$Ys^UBEGOiB~vRu9GdTGATX9pB8vUbbYA>jw*(RP z95^fE2la`oX~}v0nXR}ad%EL9)}`0q%ZD#NfvMs;l(9D6CqgdFa!z7OV!YNFGbIe#+cZ-vO5V!Vfn^T%5j#GWzT7`1zy{l6p$VocYGSsd zP+L@Y~wPf`{BaGKBAEQ6nBNvc;wT1n{&9{ zHbcr0{rW~MB7`rC2S33vC3%196wVfPOtMJ#N%Vshn(RYVxJ(S@3pdXmi2Q7+C($f_*7 zSwu`P#2V^)ADk8$g7$Y)8VeIRW_yvz7)^Vu-xV6M@J!a|SjMV*0_WY_cJ1o61 zHya!3u{kPS^^D(oal#bt;IYJgf==`_inQNr*6UnNfGSsa6beN&zf&E zo;^(w4vB`BG}QPlZilRD%~DtP(Fq z-XAY76FyQh4uABIM-mvoSq;~-ui6yPq)2i)km5*@`2~(P=g3(yYArS&#cPvYMeqNG zahm-3=}|4YzG1dM<~ESckt0Vha|V|@CMPM_i^MjK&JFcZnIAfV0wm&>DWte}(htGR z0eOx3j_wwuHJtt@IC`$)0+c6We2d*`g(~Mp?}WNdZnp_^oI2)!O#Q^-W_ow&Wavu? z1lAOF$@e2VcsN9+UOJjxp?gYwnM$QO0))}wme)EKyf1|nNw?}^v4S8!U{92G2p8s>|F3bL&m7QNW%&myCg4!}^2 z&*KO@2`UTCF=futvqv?UI)rcF&S*n=2{rI@3_^^|-q0#2wU;IvK_ir}9`2AezR)zM~nT57Q~b zjfTU{%`1s=5>jaw`|a5aSz08P!$a=7%Y_N@B@RN{Ywcv&%>{rSpF_dK5M9Es;7R76 zockRi8~59hP>dPu3k78-A#bs%o{D3?i+p-q#(nZDNBvb0^%Z6Bc-*49bb9y6OaPPdKLqETgT^KcHcE$97%;zX}j{ikg)UunH z+o3%xjTgX|-ThW4t}`wA%zLDIhNabenjeIdXs{XZIMs~ z$r2JFRY>=oz*!#Tgf0RIZrR0esSRR@DK3>?a~->)}{lEt)BPJO_##4cM@{@~Z4@mx41Etg(&TwCAdUE7tb+ zvK=KUvU-ZE%$C_ptjSh3&Z|qmv4BQeUdmRPs^fKMb<3RJhj-`#x8-V{w5+TwWp`EQ zo5r8vJX18&M{{os47h~J#y%1N6i|8X^-o6Q3nw8)O9#J_XI8(j&sXTLTo_lptidhP z>v6${Tx+m|L}KVOnxo2kPd7KUz)=I-pLBOh6-_WB!HnW)ecs}*U;tQ9gGQ-tCpIC| z4FWYc$_;AMtnDcIUVm^uI}v-6<^3>ICW)I>ePl<;_jpi+cgAfPWg>S`>TxSjo3cBc z@UvT(Jh~SqbuT*1A3btb_2PfHj8QFSrN{=ixQl(-v5#A4%&{L#o}t1Pw7OKKRO5`6 zP@KvOuT0V+i$q@%E?TM0?#;vZa@JCzJfP|Hm_W;;zXh4W_zXBYz?w@viFW^XBijxR zNOdC>R8|O~%P;8a>I|v~06Uwdrk2BN=j} z`r>!|CZzBcFBBq~vn>QH;o*xN>kEG0Ni3jG=INN{FG-hD_vkP5-I1^5H&5syXF-4> zrY4kjEZ+5_ZiTrv^BY-&^$}R)LuP*V{OK?pjeB0@5pVbaA*Q1Rsy|~HaNtD5v+~^? z_Vcc9Z&N}+OZ@27&lss=N4T{8h{e`mOtiH9i^qiz+{0mZYH2aGBYK?Mu0q@;)4@Am6^#eIdsGZr8x_Z)lov-dJl|6*t7;o7d}W$xdp0x+N(0pAOJTk4bOJ?EdxVUJMnw&E)Klg${vc9wX32fV`%`&6FkMI zO=;wh=4|6|uWFr-WKNz~+%UbX5t5Yy@RfxA8a#I>u(keEyd zv$1#r#Vx)QC2JH9+bX&8&H;7Rnf++c<4XRD`TBj4vtwLvoN5x!`w$Vjc0wV``ZpCn zl^|TqommX{r>YIcf(?o021eMQf4uyf6>_+z)UmA&v%E6UJy$X2`1 zb^0Mzp3$28PF^AZbD{hpS4ID)PzL|kg~Ix8g`%u$^<~n{n^?4LtSf6>`F>S-vSM4n z(L4jG2%|&;RR=-sooiikoV1L!v`+Iu15vpZcvQ(R^``;8F=;Pfcd3o}al`Q|w~^WR z^ZgCN056-&)NT>}(QD3ra}cb`&FyGAK6DUnTl;e<_ z?k*!ghoGFstNW_{$7+xnaW6l4#$z(pm0=*c%THGJf-M4h|B(z`#j^Y%o0F|yNs7-H zy?Ra%Z*xE{NVq1O9;QZ*k)d_Pnbc$Q>BYVD^JR@Auz0E#d~T}?TsQ-$4IJWG8`^rA z1hd;4=ip4IdNJF_Ta|ReUavV$_2cqXrZ;bHDWkT+wU0wviS9aEH^1*l%_8l|-K7k#7vn_GLnpvsL5(JA# zH2v3?tld|@=kx0>xu3I>DPtgxZR>Gij5eRG(Qz_Ia`w~(!B zMyAy{qDfNsoGjkjE6U=9+T)n5dI&|-Z8imb=?+@ZQHh;bUL=pj&0kvZQHi(j+2hv zvHfN3efC{vuY1nEwZ5uZHGjDlmF@HXpSv2ETCK^QvH0s5LheK(k)~4AZOO3bq!FjB<_xh z`U0#~xGBlvA#z5wYW(;?sP@=LNVR!c>P_hUiCV?>ZFrh&+q*V$NzY#h#fU9W3;{C;l>W_lAf#e~Epb!!JE@r5+-AlH z!z93(1VxAoY+3TbYR7VAz@YuN`}#x)`!K8v#ZxBsCmiSw_Q->8vsv< zNc&k_dVt9V_YEM47_vf1*hXwk#e|tNZkt^??KIhoX_20jm4&Eu2g97@XTFReFBU{M zHG8vzu{A^-B2=|$>(>&KD)9jZ5e%@8HW4U&ED^gXy{B)d6LK9Ex6Yn%zA&4jlt_Zw z;oMAqF8io^aOjRJ?E*W*S}fmu5}9fI+0SXM<-IwiQp${77J0v%x_CA#sBE$#=NX0! z-5HuWAnqN2(t^QG(VHTssR}jqcfkl6Ft68A`S$NpEXY>~Xvfi(0mAtiS3)mrJMREn zP^Se!-TheQ-TAw}*xt5&Ax{VF{bXMV0OldDMu*rYrR)+w*C_~6;STpS6~^A4E`&dv zE<}c(!k*Ka&mn9aw1_)4p@8vPFWp#_Hv>tQ4@%)_`%5O|_ z1v)i0pa#W%V`%(@^gaJ@`N!IH;_ z7i2k~zvOdfznylSPyhg!1pi-`H2xQ}`lm5fX+XLvEu!)rO_3y|b;88P@(ZYeLaIaP zAwv*}6JU}0rK3cco*CXCWy=`v(m*VAsZeTIok2C3TYZhSA)52c_cog^YP77iD_dFE z^|hnB{N}vua&vQY*dhryc(woKeChM)aM5;@?GQ2o_p1dPz`W3s-m=$?&vwTXp6<#I z-Qsyl03Rez@9DU z7OO{XP|bwbtS_~vEm8#78yYdrj7!9G7MX^6W8G6Tyy`CG#yVVBhYGZy#eU;eBTW15PdpQhrqx-5x1=Fc1T?**DppY&y8s4OsyfS@Kn?0k!04%Y5EPrr zMrmLNh8y*Xxj4}vR_iR|mRpy!ELxbTxQKEk$~ke=Hn&@O#ndZAm0gQ9Cg*A{R@)L} zhf+aMhx~HbsaFKH0A9@FZ>``ecMMMaq4la|;Z{>ut}PT`*n+)5_v8~9i?{3ARfPrF z0fhl9mN%wZ9GsLafSuQW5R<*=K$ zTr{YO%o{vGAVnuBZ=^Af9a#B;!uBu?f*540P%ZW?*7hu+J7iXl%`hhQ@MpXfswl?! z+bXK$-7&F+7_Fam{dD3TRMT*Qd20mMkplbhoQE>k4XX1nfh@2WSp-RljW%-FuoH`S zix6Rga8k60GNe-elqykRy*AXR&SNLP|Fx3BF))y;RaI8xq_+A`L1q?j36C(x360aw3u0QSeQzz zs>DL(%O=K}QH64b;7B3h&Ht;q41FenUP7vnP8Yt zSo0~?Uvb`xr!&V4+jXzM88jJeVqLZjRb?43LKOHr)F?5iMdFi( zk_;!1kc$#SImm7}C+cZh_)ejuLI>BhVEV~}5U|Oy?=SvF>ba`GJ(kTOv*N_jMd1R! zdkBNfCUVm7Nay=7S4k3`9=>XfO^$drp>_`E>D^8~{zfL-fC^x6Y zu(we9j!+65G?PBkO_NF)`!e_E*Gt!`h8LT{@epWYP*2zuvCBHM4P|lNUF|LQX@U#b z`aKbIDPqFN`t6!D%VeBcotbGd?gti&pw$EearMAryf^gDhMDUBHkC?XwtY zbA)2;83My7J4&K0H~DVk8An$dBo-*#^U>;6NY(`3390Fy`;T*~hLeMlH`@`PWeiYe z(PWZ-$Ou_bwyhe~zy=~|S)x?RMA6-~EsVNK%=_8C429KSP?8#%ZH&+GVM1i19W%wV zx~O%u{)~3g$Va?jsGn|Ak&cu$7CWgL)N@XJAE+1eJq3B;8T$zG7c?M2#7n&fc}MxW)U{0 zMq_72Anin!TL~KJ*Z(tf9T`S23oW=Jo`L#uks_qC84bWhsp{%7Wti>Jzyw9|y2N`4 zcoWrG;oofs7=IPft9Vw$39*#2lxuCqp#3~wXzPGk?pJ2gf@haQX`v?G!@nZLtPZT; zd8&hh%@e?sd1 z-Pbem1l3J7FmV+hSp&FfWsGflsWYHT=^^nggz{NN(M2}YGW0Vym(SJLfcDJjjr@h@ zi5^ooL=)W6B7boX6@t`(Q;{`rAUHN{?8#;xnQw5!s1?rpJM-378J(MTBMa6+q8%xVV$y#>~R;rOohISR|dNi7!2znhewU zZ zns+9iK&5fK!*s`75qgsCV7?{C8%X%VyOAW4irbIHXS{phxX~p8wfL)oOWpOF5*Q#x z$JZfz5EbBujHN<%F}b@*x6Vq_%}{Tnf+eUC5CgFW2RMT3-Yn1TKx6U+%@}e3oO*^FKRM!a9a(Hd%)UXgvfFt{e#=-(y9)Y;ii}P4%HY*Z?~<5#?|w5b}=$yx-TPt`{?oFV{d-0ZOA@J zM#8hrXPMb)Z{eKCm9gy=Fs8>A1J*4Vnl%y@kWG9ZUyYg+sqfgXh$K5l2!#iSlhq#EO=l$M1ZI)Mm5?GuowQ5> z79j#-tp(Kby+XDXgj^zjNStL#9gG5m#Ftpjwjv+JpL~cT?*b z!u43#!KfxIMK%x+s~1|b7hWcwpLgl&nRWLlyhcTP3Znb@7fZ(kczUtxD(WQGZX zaIIEM25eaOTPi$|OS01H73g2a`6ufjd(Pi4%5e!&77TRopI(2ceb^#-G32+zgBQi! zzKYW2)%n>=z;_A;egcDD(Mg3o{y-zm5WhD}g<5A-HWf-(=6R|rrm%0OkgMsf{^bKM zAHyX3GRy!Cn~LL)*@g^tE|#MnYcExZ11#<`kmV=}S@oTU-)4orlP68Mi+07LRf8>( zDfc~H7=AvZrcV&xE!6&WKku?*+xxs?8E4W0X4nP3*V-!m5dsw>s~o@>_Pbw~qi9=O zZ~c%nM@@i{54_JTjig&QK=B}4!V$nN#G8CTUV5J|XZ)HiwGHP^S zEOz8lYvzLKyW0}tBvin#g+?N?R}Q8ek*GYC@MP=P#p?O#TZ6X)Tal%QC8f?GhZi#$ zb8gjr^5wN>>PC9xX{PaLGO3%;g1x1fAOWX3zy^Md9;@m0&Y7HOnU=`p>!Hh$%p57t z0k&>wt;d8v7}aAn=ir!%fSPazEkqS*P0P4L@xVT0TxxnNfNVHC$)%cRbX?YY{XJg@ zM5r2wv$D}nJfFbd7WmDHdW>wwHbECul$CbjC|ao7r+1aw$kgbp^4wvjf|hr-(iP7O zwBS!GB zsae$%)8Vd)IUg29+UwNtJAT&pyih~u-WXrCw)n0a$x-HAqCN_s_Sc77F>Jn>@32Qd zAofOtZVe6E088~oF`&}>VRfRQ?HHj&6H7-&{NrQOw+=Sa026({_PT$6T6iO+(AANf zuHcX9VY$@qzoI2>Sxsc2Ex6QeL0N9c8ZLm(9c3+ zyy7A#O=)9hpCDa;e`5a1o#^ZQUMphwHJQUe5@8HdoD1s#Svs&R%RFqi2mG()%mZMD z{+9q+`Pz;fTDU&8v>s2>{!Gg!Ex)PahDyaUhn}d`Et!p$`0EQ4tg2p|@?M-%;-?i1 z^ESi^5vzdJ48k0hoyw`sz{A+Q!;3l)Jbd;6E4k2hTK7n%K2dr7BKiy9t1!UsPzrnM zEjkW;Ww#-?R1@7eZW=W{bGu%Ni}{=Z^fI+3tR(^NC1NT_W-W1+oQ-Eni*#4auzv~2I?helvle8u@N(~iM$qRbkpbE^CAt_ z&SSRTvG#pGZQT-oV0-@})WTxhCf2zQ?p}$$vwwljl8qe7REX8V4oomyg>f{Qr1Wiv z`mS)*4jivX&bP`Idr<-!I}{3{xTV$h3TSF-H|2!hPVKS-(C4WE41 zH@^hE*?MrcT;ZPK@_mm=!%Xzj*Wkg_fg_7**wC6UY#7Kh;D^oLR0$1r1U6TjVlOV1{d=0h%$g2%VG&{NZfmOfKh);cXpw!+n z?OxxzpGi@+RgEe3#j^I*^lc}J&W);eWBX(|UthIKZe?MISB@}?WDwOG+KR%d_OoW^ z6@;adGn{1kf(lWGpM-gI<3ZHpp>IgoQN+|46vmf0CYOvCVg@MlT;`^QDnM_WlvNFH zsQQ8Q1J*Xhy0#B=zk#S>!GbF00pmx0G z-s??+HS;g|S4!}qt=!!6(IUVQ7ep}wf9DJWjSUx{LmEwz&`V{33op865J?BwD}-eD zo(`i}NGV4q&6;Hfq|M21*w-s9XCmgpp`pkLU2K}LOQeb&Go&V<==&xa*9&9i%&b&M zANj0GejWbVj9aGBDN|-Xr~1Z`Flz@kPa&Z3%n&)-&?}yiP!<8}nmn*npqTg+q6_?F zKk#183B4)>^=OYbuT^G5v{tQAxV5mfrf{$ZNq*Po;!gXTl}srf(MyaAs#6B{rofvh z2FswX0i--Xces`+rHnp;|1fNxpwJYT^Q1>4(;G$rTQgwC0jV(F(bZ{ES$`sq8d%#o zFks6>@I5I!59?)nP%3Yjqh2G6QVCJnZ_I4bqLU|>t4tw)TOFpvWY3LED;ut46IaH? zvQ2<-B;jSdBhCJ9PYL)GBcPzBQ-J)5_w_kCDVG$ocOa5~j~Vh%KP>=J7BPSe`A*@) z;#=A80ACE_UU5<W1FeH!;@R8ZCz;blX(CL15lbFSWWu-hr0Ny9>meM*10=~R$kL}udE*MTjbjf z#O&u3dv(*WQvsR7w!)r!n)mx(hEan(uQGMMYDlVIH-YK@pVM1^3~Z^GIhg%9j;g%+ zwWr{#%vfZt=pw1Ek*q)=nSi1-KCcimI~zpHUnC+-aJ@Y&$YB55{I`ESv`G_w2?d|@V+V{3KrI+B24u+s&+Z;|I^`J?&V#*E!EC-LkF}J>?!}Zit;^FczDh zhnWp#iY>FA>A@T=r6LP*e!q}`ej^lJYVPrUsP(+tJ(!gw!eiH6L z4U~kjqbes#I?*#s_}S$8PxRoE;ccv?>f@a(Zo!YjGaAXMjiY{dv+)7Ui^lmygyE^K zpT8|VEb|I=mfQMp-4(~7^*VpFZieSF8q%AStr0;Fk!Y3h1;I#m+*jbuSBGAIBC$fb z{#Z30LpY=ZI<0wB2ucP@4;28+T8+o`{8+WLb0%N6ho)IRogEC1pG5f|23giR_O{Q^X+#UT*Vk61X|V zO}Jh?972yqNK8U*Ujq!`uTkxw2T@3md%QU5J0tJhSLl5BZ-mWB&(Tj7cZJMb2suxo z(JdepfVl{>lz!C!$3z5#eis18Wc*3|vH*7ov#-t0Qm%vOcX8)iPz$Y*c+g6!z^yhvtRshYEk>CnlM_79jeh}o&;;0S&TI~QX#GCh+Tg26ZI~qI3#|RG82+e z6o|Y5hwzG-hNvwWTEd=0NAo+&GfP6APqJrv=WGs1PBHl%eXJ}q`b$cg$AaGFJS!`| zJpwR(+(sahM}XQLFj0M6Wm%k)Fmqy4V?)n>tL6Q%_hBA`ib?&emRIsMJN}=~X#7!h zP&KnOG|;pE%Zz1`f}{0%+<($8GFN{lme-#Qpf zW7{9I)>=>WFVGu~d0|m8L335##-BF*6ol3Wr@9_JG99`v_dj0V&$)etX@U{@gCM20 z^Ev2(Y%!sss-=iR6CqfxC8$R!Mw!HP()136>#AKGtxq1HP z72!5yn$mOCz^{*3xK}J?Da)8)H@01mFVL0`Dgv{_OgQPQ&o#fP-?ItY2aaxgl8|v9 zw5vVgV+GG5k2p{dw^KI9z+WaIL!jzuDKkPU4?&hf*;5twVIIbyt1t!yhO6%@561l% zea|U_ncMO6vXKA>t+CSZTy(m}wWqvZ{^Y0)^ZY4-Dspd4D7(c5BGRKIAVnkf$wlT| z%q{lJK;$Sw=`MrIv>A72QtN1pufWv-|4dv&l6j{G$W=3^PB3reuTz2(`@7#3ss!+p z)G+lENdT#9tTG#>MDwTriEJ$2-Pp+6K5R}cG~5G3+Lb4W8Xnjd9%S~g6ujp`4oE1} z6*|ZufMeG>_O3eacG!cPG2`-{+d6Z3>~q*QoqZZU1mC3h5Qboi`sxtM(4IHVa~+av zjBh77zPZz8CphR?p%cEO>#U375YY7YS6{Hi)-uqc-84JFNkise`<-Gvs|h~7q6y`f zy8h=CCH79%j%HRy^a}s{{>PdUacg6n|7uQ zSBjHoMptdS)WiOpGPAJ8YNB=H_-!{ocQ-sx2I&!zJ(39pJxv#ubirh_*%I;IaOD^} zn_=*YSs48EFLO3a!8Z0V5=96lFn`_|n0bMFAW=$TUdpWHFaX*XlTIj7 z*_NW{7@?ItaG(1T=jP%125K7x9EcmJ1IPpD7060}*@zvYswS|aV9(mpo|CdM^FTr* z4R8D;ZE`9$sWHe|eY*Z}6F;h3F|)zhujH;lDWtkq%Jnk3-;6@JRPh-lio>}N%iNM? z0{h4k4K+Ha3bVoK7CbBU3~9tZpGOSt&;U;2sD&z1%72>6uc&SU>eKb%ta&7ied9Ev zf7mmJ^785GXkG%FTz3J9%O_bwoUk!Pku*~^EXh`$lBVCNsSyiA02bSOvF@aYa1jy~ zqNhU7LO#Qk_T_>6-|^0}Tzg#p!g=TmbH2ZWw}6wGrK6d(l#!nCpPI~lZ?nt?1_mYw zrsE7I;|xaU3})>Nh9?3xy*+u?IT$~muOt!-%BLP?6!yXy=63S(A+BCFM!Li|_T2U| zROI%8+Q#`Jp5{jRVkGj?_DosE`7-t_T=pVUl*UP#=EheRW|r+{_RJPaU2>#Bup@gM@&?lUz{H#L>i_V2ET8ZAF5P6V{L#L++U_| zf`7!5O?<(X{S~49me~th>Nz<4309TTx(qfW0G{%lM+295x*Sw&&FO2zdG^U+h}$j9~Vx(k3SFg>zs zdT#?rHu;r*pJ%k5t}D-MzXw>y;xeom^o8UAJ=E0txZ~3^8@(kst4k4NIsZqSjlndx zgT5jdbl~mWDqVYStZy>pu~a6s4p@EMmab;isSMN?oHm#K&#A zZ@gfa6<(IKQqviIlnEus5FG*2Kf-Fy1i;SRMKNToLi#HDE{FpLkfWHcKB$Z;6^3;P zzGknlBIa=^ag40q^V)%50H?DPkGq@#?^xGG^)zfkR`?ocC@89=A(ESj6u6Y`iRY&B zJrEHiDP~=Qgg#DEgHKFhE$Wsc3aj;sa{Ygznj<;Ce7cxv<011{T?Es_>qgtZ9sDSA z8nt<4d7VmYa^L)FjbmVp+M*p*GK`zRzlHb2c;G@a;@Rre?S%)7bmsNMz2bhe9)M&Vp_#DKBq* z9HI9D;07fNXzqO9iJMI)r7mgUfzV^uIg2tb*bFDXZ5mW(iS9aJap`OdJ_^&kIt;4P z4c%D*-*F*U(Ry$nhN))(P5Rc;L&CKVA0@MJe4cJNs-3L1a{?(D6sP$TI-C8>Gk6o1 zx;s;Hs+0C80Wa`rycsTftaC`pvxSz*@Z=H+<|jwp9?hMoJn(MEmK(jo^A{`f=UU_y z{sIW$>sj`nx5)j^ApL1aN%8A4K#T~%pG5UIDDpg={vm@9W+5S zC(XsbkzCQX2BGnLLzt%NN-2U{Plg(^o_l2sC}W>Xe-qzG}T&a`(n?-b5Bmm z`)nJ#9L~*i9tDR&y7y^io1SyWy*AO}Gvq+C>7U*?*a{aeb<3lhF`))qnFksALU%|Y z54E6lOX=@HOcAg2Q0|q;)MhX_w7AMA3>3$Y(sfihznhlkb7{)2N7w{!J*bw%m>^Sk z$oLXrvNS>+^E`0M%-=<+4&&81($%{Tr{=9cv z>CsJUpI~<~)w0_W$Fe^&;kwz1vBZE&$S0;1Jb65Z>G;ga+94>j3icxuwg5DHnL1$^ zAYy9F`xan{<1nfy?N?7pGv|gmr$=giB(``gWwF%fnM23&Nck0Udfr$OMR zIys(*y730{)QeFeZwiKS<70k_6Ot(Fibe5_G0v0VXRPcx&zxZVhT(X4psS4?-z1r1 zf&RHJ$IV)(C0rp)75#>vSd~Z52VgbzVu5S*UE_9K9@ce7-^%mDCqZ~4p*JNZq0wbj zc5Ge4hGR+ZuK&cyQCqlfZwHfkRxef#M@PYNm$x~RzhAw{WKC> z@ZqBt#@ZS9fbB<(T?GsbY0G$N>!o@*gJte11AUF0gA;DljQhg*kQMa$t-}%SzdMuE zyE@RHUm|Gx5(oF+5{0#s)&Gy^-1hgQbG2Jh+n=F%Eka?z-uLBRkP2F%DsC{#0VyJ) z>ijBAQz>0FJ}sjhA0$t&Sd*E_7W60ujkKiQ=nw#x8Zb%J*$;1&NCZqVA69f}a+JXL z!b=3q3h8ZT^oLk|%?bu424<>nY?@yXAV?~PS|15EFn8)9z+aroi^4|)_ZLtFUwX^_ zcfk60p#D(Setv`xv{)ejeA@>qSKEMJ6g&D1jD#3Lw%3h`eu<5m^Z5Rq;WoQ{;8%H( z3q*aPjDx@Rm>RaWEFa$Y?qT_Xm4S_b$-!h`l|UpEp}@Q6`#9=H(OXLwJCcva3Fhrj zxaa?`Pzs={J$8YFM`+06GK{{#-7`qgsNpMNX9=w~1sF*fCCR@M;8)vXO z;2aOjS0wQVjcE$wfdK-C+wC54-X}`>^{Q8WB<3cE`9+sF7{z&p0!I3*O5a)HNKK4ep3fB}Oy&B4j(^ui0UYc<55 zLa7rG)b3+@@U`+)g=@ah@TB%~PtkSf%Z2E-yUDu~Dgtp5jy;bN=ICDH14Pfl&qCKC z|6uRU=1;BdIJjw>RNubaw#CSZJPaycmYU;OMApDjG$yMYMO!PvTv&j*jOtd%taFaz z|GLyBrhFw)$}NFRtF8C`V#SdFEiQ2yh&Rj}t=-r?R=~=ssru`<>^TYzd%}_Y_T~LH zz3!mwW?E?|!u&NwV)|$<$mcr;Q&7}1mone&M~s)Cog5Je;&B`OAM8< zvHtg5Bfd{!fd4CmmNnHan#=M9+;1y%rOietA%y$GcG)DDiLL$~C!>6!=@y6Q^Mxn1 zu8PkmiZe>vTz&3I!+*H9x(E8)xr+n`~ zv?g$Juu{m7CPK47G@N-!xR$h;M^%QlzXbfDto#ixT{4>EN_*(s>7~G?^AC2cF-qEBCYL$AgJ6NqbbbcD5W4mQ)S>qbW)g;`#!d z-@YbU#U)i!dBnxxEWBzDRTL%29xcX4(dY>LCY&f_r>92`B0P}Q5AP({WzuM9fb4-p zduqEWCOV43;DUh_|KQ?7$de_nTP(9VA1iEg`Q@mK-+fz^6PYLOSdV>Aw}_{%k{5UVa!D1K*)v3``xf`% z{`?sfV0vdIAQ(IZ4~KD7Gn3J@d2Jv_4HA#L%yo+*s5?Q#1v8P{zB(v^mZ|l5Wp!lgg=A6`h9#kjmQN+%VL$bMEyX3EbVdT@|EedQSV5Pb97mW*XuX*F-Y6 zf(-b%IRF4w2_xT`xN6C(0Jlq_Smo94d(eu(b?T&nZGBf8lKTgwL^oog%(Nfez64mE zTt=|)Fkd>|=;k|VfepzwdzIN=c>TexmnqiGX6%a?(!d4+@*Ii9Fax zfIk(gdj4BC_#eLf=-J#5=1W9BzC`r5n3*pVFtRtYHu%rXjDe=lDUzomNI<@<;tLU4 zp#N^G-^ra!TD-Ufnd0wcEq{2rUg0p+5_myM1qlfDHpneb&i%93J>*_icR)B`98eB8 zTY+Pl)o-TLt55#6?%s^)LlJ68d<#_i_(*H=Y^-(kxX8h0NADBz`VPv8B3%a>QOwNp z5!gxVkQN6LdkvY3lFF(~JN&tqs3IfA<=Ml`GM-QH6m>Ebne_$D&^`pw9z^Q1hJjY77~?G1C&i#1ewwN3LPP-eRwnb0 zZG-=ZTKtoc`Ql;V{>jPwI~&82Q#n{K^qx7`>FD)YSow1w$s%X}P3wJkp65M$1LwVP zvJ>TTv{v)jMYOZ_ zJt%kzv1)$&JRIdpa@15sWu~s*ca5xMCsodz3~Q?y%!Jui(FZ2%* zGCgs1>dfRJt?l6_g%X_^4M2M04W;M2gs&@f@VE`U_X-aUs9~QFf15tHE_cse_iGa5 za$tkP)ov0=mNT7PuTv5!W;(ZHB5eNJjpK9TY>U+d&*=p$>@kaexAkKjs!P*^h2M^iZ^{ zlK3?csFIOK27%}@#s+#S=+WzLFcWqorF26cI>fXa+a#dS^~6F zq5-or%N1L)4Mruz!{kc;=8zf&V{+CZ${S3w0mfJ_S}tf7MhS8zPj z2elQD-x+m@sRNFk*#p|z#2J_^;)y%(vcC&xi~J1$&-k+K2$5&{cS6sZPF*2|s?LYk^x zD`HtGOgz6t-;Pp&nUvJBT01@-L*>Qrt}8#W5t?dzbf1kRIHN~Sr!pJy>-uix_TrOvi0H2NG{7&P2OZ{K>1OAmyZGMsZ2thMnRg)K0 z{9cbPMyk^7aQ1uxl%!_Y9BY#l+SS6sRejy5KPaCo`9U?%6tr+!zcd8n?lgzd*P}CR zU*zAAmXMavzaf4@u|VD@da1S{K%#?(RIMD^D`7mxTdYn<=|;;MS-(~mQAf_$C!goM z{g|pc%#4ZwDoQ94dG2T2DPWZ|AZ=nQ^ZX6V@h}HuZizc#QUvX7?>ss!dm*h~BLOoK z28Xbk1;a_zwPnhRCA=K5%}kv_PBZtl4sS{vVf}cef9R`xlI#50Vk*-=_gEY_;S-Za zjF8?SgA|?86mQ!c|2^<_5vLpx0<|(oamfA2S&8%~L4TEhlv!l~<5Y(3pDH~1g>&Fe z`QY;xzItC+|L6MYzj9VvJp&6p6C+x){}VNWVx%Sicn+AHiCVt%d)!jFvIOAWE0y{Q z$Tw2xuxFTc*ts+tvXk~yf&2J=lh`QC{gpYu4RgtT%aEg+0T0j`oB$Gy#DT_;+V*t; z$4n4tT1BC20#w^9yQ4ADf^z$BZR@<$Qx z6Wiu|wvNbxI9nS&v{+KZvBihB#+D_an$>52&o^ieD@;=o`YT3y@gO{3UkdH}A0-Rg zD-m88S??UAcyPJ0488+4e?s|(%GwnAW%xn?0Q6u205JY9D*G=Gzgz#~?tp-ip7o!k zSCgunC&~e)clU3`j42R1!dTm%#Npx)G$7#;6i5OzbG7npIAP5vhAv{k7t?gi4J2xs zS5z8J%9Y^eUDW!EL}L0mt7E^78#rTiKUdN&Uk~52FTHXe zpMH70f1~dN`N8=?y2Ayz3~nn3a0#0a@*2Q_&z`K0Y8`*oO#sxIM&2UU${NblsoM`e zE*HH%Zp#gKwHM9giQsaxS50s+%uC}HEBaW!;bqjCb8s<&i^QiCOvQuH8}Q~GiVqKd zC58~QTL-|0)4RvRGk7M;(5nY2o4iZxN(JFp65t934{r7{M=(8vh~}D%FRK2bhM7HJ z_ls||fKX-E4RYW+OYJy4NF5R}5+B))FeE)>;)zDSattYx9V;C{JBa_al6^t`2y!{0 z+`%-8f$cy$TQ(7b}X>w5ShY_(|tKc$tWB&FT2mU`M`iQuWo?De(| zLQ6wONy+k^$ZRE;23hgh;j7>|Z4h~5V|OVFlzsn`0893!XkN2L(3_e$$0-eJgo-qj z{rKYZvkb-dA~?0GF~|J6Qd=feRpg80sa1CT50)+KAyE4GBtUNfuoY7wR}yv1WV zccexnbIGB^L6xCd*9#i=D!wTcHKsCS=@&dc{jT!k2Sy-;nmm%R!!l>IHK9f-bp|jb zwQI0Ql+=X^4O&RnvQrfy@p5C0urf`y7ATtXIs=kSxw~Js9y2nm#;i++w8FH43m)n| ztQ}eEm@R@oR4xEASonm0h)l|%MkF%O3dhU|INFCqhlSH#1hUvtU>0O}w4zLSqqZKS z?0|X(o0kXvln+c*T+F&z5anr7sMhhWzglN+5>|#940J|45R*rLrX4yq+C#TFA7Ew@M%T zxFS)?GSmdqH&2I7q1-WotPy+S0L`j!OAscxGo%SdlGy2cOUh#kW@GczKJ|oz(~z*< zj9y2=o58L?@~TbREG!&}ZRSj>zd1@&DGZclZ@Dtt5l?e)n1hT16Cp!)#t63_W@fA| zaAIvr(BC&~3m0wD(XL|x!>n^&!(NVbdC~wQmKLdKv$s!bwYVu5*$>xzIMPt6&G!s3 zRSEXmtSoF`ZP8*TerC@q33i~YB}=xYgVM;Ym6WP3U}DgSiNNA<`;HG=TdXFMtHd@`J9qNAakE`ZPrP(!-|>HXJXVDJtO|q8A-n#!PFgyjMPoDM_uVkyfpem z)lIf{_7ogwgQOb7Nxi4ZK?s1kH4KTlwIhD61VcNQxh~T0V&n#ez-a9~f)-Q91Ul>?KFYKmbdc z+32fVvFr_@)Nre|QXEY*qq$>F(9d8bEg7n%`KU_eXq1uG94Ee6@mxOpryJ`Y^wSe6 z9XR;M<)*=}wkgOV7VLGh$@AgrYC4s2Z>S>s$aS_WtJzE!SrrBOobBRFZOhHF-SS@+ z_p3(nbUHQ0W#WF}=}XsYQJ`iRb((uj{o9Dx)&)YKh9*%rBm?&~Uz4N?+~>o7+!h@n z(0AB{1j0@HE_Et~yC~zYg3Nv0c8vXRhwSjsP|vs?=c+PyQ6GE^_y+D4tKHu=jn(Wy zhP9y7l}lX|U5pX~$8;#?V{h@fsmz0otQS^dP=)P#yAe+yM(~TqOO=7pWvGq9ksYTE z;WmWIs_&R=pj(8}ms*+}T^e0%%-3)>SAH(xn#DM_G&Wh9hdIuEMv51Bqm(dO_-9Ef zkq!qcvGs)>`IGKii;jy?p``><7eCt=J4l~_fb0va^uhL4H!2tiR20mJ-8)3+D=Hh8 zdg?V}fTi@Drc+-1=54qsD0aKEnY^LYXwml~K6*9^ZWqK(%~y(9mr^BW9QBzgR@bC# zeupe6oQ$lf3)C;AJ9QkWs&MVX7}2*g=En<*}yz&92>Y2WO`% zc!^1}9C&|cS)3LIz;jn!rK$A|S|5Zoi%@oy8zg7s4AZ}7+5tyl69Op9Nsxj!db@!{ z%O934HznI^X^%>tiG>i4M@U+A;Ybuv3!9xESBn zj}Z1#v^{&ejufyRWK@QSUmnJQ2)scRisd!W#th z8;&u^6kM#HsUK8aDZAqLEs>&j>rK-1nfoO9V3a`fm=QbtV5Af6RWR`e`#e>r5h8)n zUn0zuQ3U!HzUq%gRs9$y_{p0Yk;?^gvMM>l7fu$HZ%U4~lZArIwVFw!?J`#`QV?mi zB{J`Vc=Ey4nf1GxAfo*muHN6$)=H*>tpqnCU%;?3-?$!^6 zvn5J#Di-gFIa(GxP$D|%1svVc;CDN}{}ck3ryfK&1*_vQah{cF)wE^9O@)3mSIzt5 zBbxU%0L!%@Lp&#KQFM23<%+%xpYPo?(=e{PVA`0FV-UqNhq4~YAB@s zH%={kC+;0YXcg)qR?>zgd`2^;EhE5<%^{96DqW?D_v7fc)jT2FaRqAGz!`czp6MvA z!I50?=$Hr9fCnJ)UH;>g$|~zYSLPC_zXA0`h4K9)gPdNTd1$@he)!&4)-<>kd7;R0 z`h&GotKba$My&i@7|$Najz4f?axReuy=8Fc9WA0R`6!=!^Sbue6Bf=zC%ax>JuCCj z007_qU+L^0hqV5c%!+><(<1pt&zh8t-q)Ix|Kd?pE;ZMcP`ni-1SJcJ=by*C|2a-~%d?J4W^_rsi_>&fm&s;ze z-bTcZ!9hrglaByJi#f|wdeNt=5)NuiMh?N*)3KN13)H+@y~-A zmNPpj2X)0-O71Q9U6k=Mj!KYmwpzv= z5nwg;3rTgtX;5?yVYe~otUPsY7JUKM$zHyU^s=wzG9>Co2SzFf*`1p*0fW13wy_Ai zQvHrcT4DqN4ZIi7LNOY`>=JzjmUY$F+Nv#5qQlLBJ4`Ogwk(KZ7<2wQY-ySeWxHoJ{~u-F7$i!!EqVHM_i5X05$QT3-PqN0A(UbS;&u1vf1#|o$DHnD{ats*<8K?61sHp6ra&Fy^1 z_2ULRYzY5UqepMMU{O~L0=2wB8LC)#;BsS&k1FanuM@>~Z6rK!>K!X!l-tM%8zjyF z0<>r(PY`vqp^$(ByTiz*B`lQ}6eQD@pD{4k&RWIaxxUaTDeUxFq@?+Iyu%@WSe!pu z!w~_o%i<()81!Y}lB(d&w~~F4-=5HB#!jr)rh-{)dwd4|R%nPx9KlpYSq&F;$-Q`P z;P>f#Eb)1zR<+v*SfPAYJ&chYjNK$8-;D?|(YucCr-NrATMM=-QzzoX;n0V%8x>rI zDj)~W9>SH|x>{tpngM?(0Om&>sjB6{3`##n|73|Zvx~=PMv?WE(5sY(ERQ5ADvbGA z%oj~(G!>XB3qk6{WBWMHTsGDxdn`mTm<$oh{n3bI*2i)h>EEe3=@>6X&My{g`Hh0_ zR4X5P*LYXBX8l>c&!=Dz!|h1e5eN&f&j|4OsqZ=)tQc^Catp1sU05s?Fe~)kpL)Sv zAi0dkpLzk|7#R!$yCw2m-GJQZ;V2bDQWIufffwX7*6Ax@h?eIRHvEnX*wGGigSRTG zZ0MO_)CWr{{zQbY5ghY8>yW{AWaJv6&3Q+!ZT|8H4atyBI(1+ZsLH){5%)PQni?;$;Fg9!^4L1%zkp8deA6Q2BQytzG?tv56JeFL{oycr-)6MsjapNbr zZ?suS=MUJ=;Sdy2(;3EVp+NgH!g1))?*!O#DM(?!KluRua@oCzo57>>Qr#9WBggjr z^#HfYs4MV}(6O$*2Q&b-0~+2(zNAnpI0tRV_jIe=y~SPb6oznudtJ8s-Mf>p%-Tv- zLEINiw^1M+`vBLhcI{$YcoVL(^(_~TQXy%#%u0zlFgH>KbT=^nH&AzkJ;hf28SNNF z`k|Wte=FO6R${+Jy#;;!AY^W0Na4L1{I!05wt5$v|ZcMZ$3=%$UGrsNVT#q&j- zwV6W~B96;b1^qQHKMkEnOU$KnmS-yzln?8Ig**RjNT-1*3&UQNL50++4Tz0WRpYA5 zkQO>(;zDC{!qqo+(vT>R6-hjNtaNN3PE2m;-pj4XQkJxk6Dw3?*drZ<;VC&y^9sR3 zE2Fg6b+;Xvv2t3CDq<-8s!N|2mX~T38OkWe6)IU{8r;FiN-m~s1SuHiX(oWNw)$O4VsEUAXd|m5YkUGdUin?oILpuW73P46@IHLfwf+RgenXk zDM~0qAP56oSA;eUFND7)yNqBrB{Z9lof*E>N0<#f)0T7_TgDPHVC|kE9s#HfK%9W0az4aJ7(U@3ju`+-Ay~~UO zE7)O&8dM3Upk&EZrqPr~VyfR!2Vv7D9)ATAI>OP^QC<*GKW6)4&==1kwYb+Ht$1E4 zb;2!iGoZjYYWrdEhhGh+rI%TEe#3L==(QHs&mc$-#V0=amEDX{kGw5$g7{_f3R-C@ zHn5YhE(yB&*r>4WoJ~Vb^0lIEvq+F9E3?^ha_Wv0Tb^E8*g())R*X<_{OscV+#sd0 zVru9>S<38&GCp9ZC6)={tRFpjyA8k=$0atxD@61qHv(t(2V4%x7-IIw7-{lW2V{@F zuw`HIRsRQ)q#k=g@}@Gt21A3{jR|Nr{P<%d@lqMFz57g0y^Do*y$3^2y$}99LC4z{ z7E!L6c#FL>LWNHvL?$=lii0!q5;J{8H84?NZNz}q->`UKD$Il=U6_v664cPy8grBJ zMscUhlC4E8+fY&j+7l)zCrX5sp^yN?3IJa<`a#Qc&|I*VSvCeLg1{WHIJn4*x zT5mZPY-X1{s4-gwxTqqmy>)UGwp7fvpj7l)I$q7O+QQX6JS(Il^ANl5nd;pA^?jz; z0=~CrDO>BuU0+|{u>mYiK7Jn+`AAeuRyERvN03S92+n4Lz`}Os9Pqq_pPHz|AYFT& zK#NbH35*oAAm<>e$Pq*`hM<<3Zaz1?lG^q<|QX1--5>hE@!&nL(VCoCo1iNITE4KhO@e+>E^5b_-e01ft|AqS53@^4#rS8hgZJ^l9b z^T5wp5Bz?02TesDppA|)uk#zFC!`?+r7Bxq?GCf7YD5L*HQ(^bVUd^ebbvKN)u$|n z3eBtTP5Rv^XO`Z*u~?@40TvcHVRqe{&}^g!#;V_ zKkO_7#ADm*9Rx(8x^L69J{TZ%H5qc;h+fTWulv$&*NKo|?C?>H-ZS6Gk$fAteY zOLRh8*bvAEmz0#$WW-@j<)jZ*Zx*IHbzW}qO;FSmQy7=Ii>C% zRS;a<5y@Jsm-c{J639F$+bJtLUC?a@MoV*R{cj7?bhX~hWlb&%pd||-XsDLD-)?G= zDJzU~uj{x{`sM_4S^*9F@?diq&AjfA^S{mh)VmcBJRIzv-gasE-5SqI-L#-$CksUL z-ovi#zi5)7Q!JkJSS5J{3+YY(8&IP<^k&%#C<#@rY|qvQ zJ)v#4zXV(ZUS!+`Ijki1lMFkwq}L)j9?Yo0q98(c1-75^3;|?mme1U|HUu}-xvoHVa=uQdz>lH8?b zTxg_*la*dZa+7W__sh<8pwiY~&u*9-(HQkLW2pVTs{RtoR-I;r-!{7gC2$U6g3p6yH9ZOq zC?kmjaNOY$7yhmE{6s(l^MnLzGg{EJUGo~m*JRb$)ML-zO*0&>pqgFl_~IpR>Acl! zv)k$!v_svd;8LM=D`h1!&Pabw@Y%0bm>c_f+}1~ zl0As-btuJCK(F%36-QfZ=xL5T(Ya%!`6Y=e+QdlRL1M^arY46kv50aKNmFT7pZ3Tq zD>n|YXC@=_xBrz)EVUAJ*aBc1BBO$AUU0#n0o4_TD_Q&D1`DO0?BXJLp0_BVTTSNQj0)yQt=H!lM$3f1?2QS$sFwnAM% z8b|oa1WSba^^5l3ZI}PAukgQ-|9?elYl8+b!IqG!mo_QV{RIdcB%k{YE)O82-PmLl zZ>dMOI%6nMxbIlRbScTx@QM2g^=WQmKFB_QN|JFJefH4WK28jA3+$BA`n=&V#Wl?~ z%|$Za{r&mK^4Hq1kM-{?EOp>+zbRB2Epc+RKntdDVkKJjAP})Y3%oF@%AuaP`0@cg zd9qn)dhA?<=FtJYPB^e8%>7#=EH~J05${c&-q8|p0$u-%eZLt~_VV3trqIW5Gpc;F zBHqoHu(qNhh@z}0nUeBj)6Au0$VJKnMqjt;MjvCm_^gSd28aDoOX4gV)Z6t`N6y?I zDTlfYrwXkkSNxa}_2klA0F4KJFqV12S)-+B~93 zmEkh7gT@5T3hD&U- zmCK&3xy!$PsgD=0p{PCCQa@p<)_K2=bxsR`)z`#7)oKYx`xE`h=An%*xday}*9CNa zfQ=7`^lbl%#}=9w#GQ}Z(mtyH)Nfd|qxOQ-CI58>=MH?yKoKr^WfP+I2n#sVVXnn% z*X+$pPT5m$S9XmNqDDBaCx`szB!xMhUJg?vQ|ibA)iAD-^z-C}5Bg3-%sxF}DppEZ zDmO8TV3l4uOo&|t;A}nF9E)m6@)yi-a79RRQQT5oA`~bcQq{O1qt+AApqjiLfpm#tPQl&_oJou)P_314wJ5}q0!$day9?OfI^&Sh_O+KG93eeWU zXfOe1b3*3!Uh3yz*0wN{5i{koODP>HpDhoz2Pm8e%}HM=!R8s<$RtaUM1B8CXw|w(Y9)3*(q%G1+ejsud^Cm%$0VhRT!?$tejmL* zwpb{(2r6v-;Ta;47C{7V!3b)C@XsZ&7Y}QX>=&Y^hnY@LFZRXD{%&&H+yU6w% zPwvzm-Kgk;CePExEzYU6!>Oxa(fp<8?-ypynJ;gVj}Z<QE!;gOhTlvb;qtSjjn&aH!1oqu`y0N* z-Ip5UHDCjLjXlu&ubtL^3arrF3})R=VZHe||7}0wzvou@3=E8ZitT@OSB;`-!TV@Y z1Foyr)P-#C&=41L^22icaYLY;>?P)LV;KV(;j$wCEjOSo3w#x(hkvWU)0K0FW?^AH<|p6l$(gS z1>P#xrtd*aVp z@X?(4ObLAE#XaQ2BmIA9Ct9ie%4nf~RR1Kueo_9Lf6RZHZ~xO}{;yt)I)p2xiqlth z!(4?j!THapz}`d&LZWSEWTihGMYRqdN2$jVccFSGAl(z8jNq2JD1K3e+1enbF$e$K zPF>w}j~|!Hj2~h_+5jy7FH{5c;bzj@9J0D;?%`~b2t=XmiI1^xeSJHDn)pev&2>iW zbJp{I7DqPsS3Ha-Xiud%Z2*C*c0Y&!Y41G}>Oinz3x2;68h6Dm0Upq;oZBk`ln**T z5qH_HI;fH>_rNHM;Y*6-cWO|y#fu=Q(@TM*w|IZC(HFzrom%c48rm0UKzEOh`AbH} zhZ3m8ts9h&R%mxG3cqS}H`2+q;fn{9P6C%s9M?B&AJ5)6{*em5E9N)h3=hPE5?U8A z<(E*9&*IIa_`nSmT9;br;Y-rZdo%18)_3miI{haWS{FtivuCy6{5M*k_(!tno7d_$ zAljD(>bLBXH|fl`;*Q8mZO}K=?JL6UXR%>X4jB@EbcbRYy!AnjxDsy=J#~pa8lxK2 zm^p0;IX`&;xxY9}8MzeIydqQSz_5av19^E(D+@O_^0;J?zJkH%iY-19JV!lIQkJ9< zf`Rb`@9^yuwa58aZRi0tuopd(aREbdgyEbd#f3WTW;=`X!2KR9gqv6+rD$0-tjhR6 zq@p;iMmXF(>b1-!M;2W@;FEWrG9;m}g0M5a75RlG{M}XWzQO3%Eu4c2$7upu>V)fu zdz{NiQ9!IzMDbe$Sl(t=z~w9CxC@DVsAYR!IlhGb`W)nfqaxmnP!{-NXK2DI4;!;( z5lG}Np~;#1@V@X}Nv!lpI|JHCmbf7zGICk`b=9*U$tI{~s?6=h0On$4IAO9){=j#> zSx3fz_+q~Clc+ZLMJQuuK|~4uAU90s()kR9G(>PgUygjERnc<{={A#FJ z-PyxxcTL+qva#iLFL(N%z!kL7T2*puQ+xe@J5fo}jSGs%Xu2ggwzmqE7HQ=Z)fF%; zu_V~wF-2)}xDpPts8q7t;&cUs0S1vDFDmo!8=_$FBWD*)K z(=hF&5$9ktz`<*w6a6ErOdIS zY5Jij39ousDdjsV3D!JjbwW{(>A2WCif8t2pofHX@iA(<6GVItm(qytW|Y*4$E4!x zZS?3!*%!^Z!~*&yy<;`U0a=6xy|IpM+0Sb?H7n!{il zURZQ@@1SoCCQ+XmSWIzPr?Xk=l2-KXXF)2AwVpomKuzBS&){*3XsXS4Mj_5 z=9%WO_~%ZGCCn#h!jJTUi}#sCZEGdgbBmMa@kRJ;=JJzmVP(i#R>&nvIVrr&wmk-} zyu%!~1%39}VTI)yi$Av#cbOZdDC@Kon$OLH*Ggfh)D+}t8G7d_oK<-Ev>Hpb+SVq0 z^{;1@IIs~*l-ctW71aa9Ej|)rnO9&6+ueXO zXfxLeOWPftRH16jNc(VWmLo_)i6xP&Z`Nz48B;nc-dJd^)_TkKG;k4@-hi(&#=x5? zA5#=bBSpR1j|;V}j=B@UU#Ytl9O2j|3GLa3!q{^W zB+RD!p0EZr#5VmOZ)%#2x9_(NYb@xq=Blm)K4C`^o8|CN)(OUK{S#>T4``8k>HwflH!mX4)Zf zM)F;i;C;7#)8WUACaQ)^Vg;`?BJWXQ#CM=3#B%(2zII$BQ9wA2@gl2}-YP0Go334& zD2_lmS|eazqGSfgL?-@Ix!x=D z%B>2;SQX@uBIYwRx8H+->;yH8N9V;P^!m71UjWC6keOa>7{?tyQ7?YRY>R^$$JFH| zlO)_>WeAus;`KcPV6>C8dd5l2JJAYHFXZIiY<= z+2~G=SrB=M6m|wV{VcsYl`$^Wt?UrYvIjTn7pXv|rUhu?Na2wCoqC^1=7wX=4Y|b? z;kFxy{dRDz-!!W*XnFv)Aldg{rb!0b$$C<>G`>?JptSsC*`*D8utStq^)L^%DngYQ z=f9q1Vm82~!D3zs^^wd-8T`L%a^@4H)nY~z{N5?SiKeOw>d&#~NbL+U_M?|!^;44~ zjF7+Hj*fFW|0W_*vkJCEboW4#Q}e|qLR7hqQ^M`dlx(2K!PYva2M{cIxiN@^lhJ5# zLkckWi^B+f!t>Y3kI?c36_4I@3DGHv5(sdvKLLdE3yd?F&Z5Y&g_EcGtRlVTv9E2= z`=^;L99`%Pf981kA+`nSR})lbTw-Xhv*3n{g;VkZ4`WsJ9+~n^=5)oZTX1doQ8(+tHRp^|o!C+=JpG`sI-G5Jo-UY=h}W;M{$~IZ zc;!add|Y&0&;^~ru?$qa@Q-s;MHqL@?lB~zM1nBh>V53>$5t&dm*vl^DxF6#KOKS( zcg_RDpn{T{%EsRg=;be(lP0Vv>CV)gf?nIa)7%%e3Y8R^RLj`T7ltN6mFY-76%fgT+6HdGzZ}tpW#JW5$S)TziN`b10H1CiKLpqXJ0gCyZ5dOs>Tfoka^Q zS!(~t%(9I)6}pzX8y*7-t4UURhsE@Q1>ucqX|`FHZEMWZ6LQ@)t9^Uu^BQ+(-Ry~^ zWHUag>%F8`tnFLwgS|1Ax=LxjYJ9%n-FW=SZ2Yyb0DIUbPU3IFbIiPk+Mc~!nlm6i zmrTMJ^X@QerZbgmip;IOfp(=nmoBN`8)}=;8UHwAnmu;COhmEh{d4K%e916F3&8bL zfOUSkNWMbjnVcBac9KdXI+oaFV{<#n5W>bcv`W`~lqVJU9nxgAthMjCfz8HS%6o8}J53RdLl`ICrt z_l)Wg{$6YGqKVY!;=_uqHPw!&$m};@;k)tD_?WnhxX078Kxxej4Vpp~KKDi&c|8p+ z5gMkF&*&Q>wv*_TZlZMYbKj@;g zu|2W=c9|pXK^gs$U>r|Y!|m=<{2))eVbb@+YTm^dcq4Y+(HQt(R{Dmv>mKKS<=P0n zo=@kgNw6wD;}E?kD{}l>?f|P~Kj|4!>K$v&LN}Mys82LD@M&;G@tAU~>U-+(;sKqE zDG-P$07Y$DLOw3bx%6Je>Z}iU)}6wDpaY}*P%qEWB!7%OWJc1aNzqt80LX)XjWaLK zBLoN>St8F^Zf~iCZmqyaYzpjLM($Wee6aIAKFr-sH!{*GQEl+)yvBW6i#*RCsb`0QU@x&Be@vmyFxQiJ{arGfqb z_Imv99y`CinW2dhpP`A2^m&2I^+|5|G-GhXFBc+xVF8Dr zphuWqdaMy#Vv$uf)JMyahRoKAtlUW|;~B-QSW4#$q-2(@twi^krLP&ez6!kGwl2&Y zX_}3H{XBdf2c0wRTIe^i3zxJ=vLU zd#_;aJv2G}`65Jc)lUQ1()Xsa@`lvpjn=)lWwFt5HN5z%slF1TWyrnzX`jVgGkGVx z5K@VMT97g^fk916Tb%enO)7dkoWqEqJY8Krao9K{7)g8Hp|TmvVY9dPnaK}G$oF;3>Ce5-JjcmZ(KAa!O5bv-XFK+GB9bX&|wL?awEconlPi9 z7@(^0oremFWFcEIV!|&jhIUcO(s3?LTvlBZ6nZL4-r(r31gimhSzLk%F-eiobxN)s z`D#Z(LQQRi78q0-ROoWe0K{dM;*z9^6qv^H6Di(Lbf)%D(vRFdKJIouC;;#fe}Y08 zS#6Jbj>v-SH3xK<{@A&YLX0V1S-%W(@=;i!0WV2%w`z0!Z-6=%LVQgpy#)N8(!mb& zPLyJ5W&#~e_9jyNz9P09xt$)NB0FVnci%5gD(Q_sl(jITLIK6;(PZwNde;Cx6X0rn zZ>qf&0aAyKL>J}wVf4SsB1vd0(ZjM*CD6pv0AmdX|}@}^J5MU|txsa*WZh>0Lo zP=uRNWJJRiZ_pA|IdZuMDP*%ATMMxC9Z6-ZJbDcnMHoVOhK{(m4_}e*hH#rvN;q<)Oi!KoKkkOAjp)8XN31KxTt|WCoxgx z3eS(@kTn5jg2j|bd?w}wy8jJl=HGALP^^N>)yfTRQmN>WdkVt;UfuHd1^jpd;sAs;wH(~>t}dzdB@sGPJ+#?)l|WM0xX%92Z5+X`>Fb5Fc|GZ$hmRI z-cxp80;8V$kgPwQ`jCQNc9x#=Hv&+3@N#(oMYb1Z#Q%aMWP5KD*Ll|%mg@v64~D~! z)mH}i7Br{@?U;CM63?16#FmXQ9(Wvc0Ks)GdK>uGqXT7t%9Y#=l>&Ot9~U_X_?D4-xRYTcWg`P>kIYlKFKd0PhVKIl=j|4z zNtm~}qDe=~^()lJPE{vvM(fsO7k!mV(<1K#9~C6XL>LpO)semt%Q4d0RtK#(*hEud zU74p$QyyS1cXp#w`AHua#W2VaVm)wM<;zdDqQ^;r*%#P|IG0F(vXwVxzu&>(qx-iP z%aU_#Vv!?rJ#Csenw^x&1mb9wOz|8rV5MU>mD2IwOki|7gy_$1fklU|8H;i+&oDT3YpHCU6K+0^!AfZ{vCPA7wt=vU@YZ?dujptc@bHd< zZg!kj0>FUaBvZ{|ida@;kL8twzzN9$6k#A zNYB))#s^C%ktDpz9AeB?-!3l6Vh8`(* z%l0!`?3`Ybc4>s2fv8x?W4H{>SV#Dw>tg&V1xKJmBm+t35dv_d=?-)uEB)-`bt96d zwFKz;_7mC>ln$?S6IH{l=j%AdD_}mTDWsexVYZ&uMIYxfbxOPsNX7Kp5X_Iym21WPnYL*+t+lCI~F$a zDJEC`S{1ZI!GsheiKO5ID3%?t0ny3GqmO0|5fhe3#}m4tZ!TOHdUH>4lT2}&=sfJs z<4^r@yoD;o{kbBYbQg9{_<4eCH0+jn)WXkB(C|x9JlE7_nqIy7=^Y=d3)>9MYS=pO z(>2%z7^hW88ND`3dC!`o$T`;|NSJ}qTz=8W4hA`M%mObfRY+2B?o@D&OjaV#L})G~ zGDN}JT&rU7=aQL-zS!ifC3TTAN0Hmv{AT13Yf=0`DivcOfxe0yFNX4r-J)8U`|gJs zN-Q(mPMU2P@{ctr5LKX10iVZ!pJIkQ7TLOaS{CHt#F^~X?cX~|VA+VU97FM(lyZU9 z6M(~2@Ek)5zdF_5hZkqE%x=7|Z)vhgAxIRy_En(ZTF0eEr0*xAX;6@cXwS$7uF|?S z6)Y>LZxF(N0zlqOYy9Gy;<~bjj6>M2!k@H3fJRg*Oyk;Fgsp`5@$$emy@OXwtma)SeC-}P3t-*WT#P1*+%{xP& zI|Sos;xB;NKWXMZh~``aW4guFQBE$}L@PYS1la}cU|<#O7VWL3S>3XGk1so>SClkF zE_}dsaI5jgSeL7(mAVo@wX<(HPQqZ{ z<+s|lgJ|3*i$0a{e?L2&(nofR<=e=HZP|}JSi4WnRfhLAvgtL>M&ZCYuiYT!6{4f0 zHnHK=ETD>AqJ(RQSMOOga8ccC+g8bK4>S+lw|@VN@!daLFPTgmUBn+hH@_b(=D*`T z{&VXkU}NoQlvmw>pAM*&!3xdei_$LjFd1TcY}LyGq{F&>i^rxsn&QWDL% zNpO*`n9tHL0`^ap49hK&tyJlqmTfCby%Mi4<+cvszULBG1&S-bGgDzS?RFWaKlWq)fZ!>6r744%%`RUbh(vRMPP20u34Qs7Rno=u}d6Twj3d&Y)QlN1lgKIqb zICC;QDbI;5D;arBhr8uSEI~xgdu*S}GOS*UH+8*0ZZ)c&`f*eIs|0!I^6D4A!~&%~ z$;Fh&K8T0pXdu9^*-NZVVJZ^rM`cNIBA6V21#Cl0h}TPNtEDD)cxSY@a8W@Hp0ZDj z#5sfjtQSF+(o^6^Ru-xewxWUORU{e|?PSTp}aF_jJB$~-TEk@Bv%nOJFmIx+x z*&%9bndige&dbFoA4ZAZLTnF>jK(9-PxjjrGAr*^@Ylm!Ga%m^^^6M~coL{7npeRo z8CyQiGXNgc4glZ$WDp*WARNFOfPZW?D6Bm~WF(___H5io)J$-w!w8Se2)bY^!ld?u zH=k4D5#8LdnNj4PHSAYW2$y7u)&o5Bey%Q^sxe&%949@8Nj)vfVhKW)EOZp#9%bZ4>_CVQe!KtC_in5@?lTC)?nJ zg@*fhbXz&eFCbI4&1*bPrQZ!TX|MmH-uP#cVSxBZ#r`ZX;vanTZ<)3Kz&HPAbqyw; zYy5zlp=|&#G$%mjKVcWD%+S(CV3gy`PWqrsx*T|id%uWxn4M6}pw26l71j0Ph$joJ zsHN67FpHlH%+#N^3L5dCq|Us}vWq{n-yS9|>f%<68tHM~d{_0Hk21D77>+MyyT9LW zi+{<#h@gVh&V@*G_NJ4#-9N%+{n$nJzx>Gp+g%j~y46JGxbaMJ-#+NHx!r0OaK#Hi z={Fsc&|};^gzZ8QhS1)n=^jtN4!rrKUAr|0tqz>^U4G@UxjB;B(uCNj(mbAA?|22U z@kZ^7=6|6R7>Pj{I;`lkwPnowk(CH>wZ<*R-IryFQR7G)g}3DzClY4Q|0tiU=`o)& zUTZq&3r5~TyxBw`(2EyCUP>!MZ8(Kbubx>9(C`Y7LGZJl+XcIB1>4-{C=*Z0p>#QF5 z#i|@w+B;i1ia%gamj9{TJvyg0LVI#YHP-#Z;~ebOHr<+6tH|hTtNbWrJR;Y8jGfq_ zZlWc_F$l}u9;ciH$yAKO{{q%uv&=mM?$g)Eu`*eZCLs+vS=4H;!mj1p7ni|Iqsvk z!Xs@aglc97&45`gd}VI_0PQ+(m_x*$Y|Tk{jyBnbDs>u07u4RVOv||gvevIt`BFG4 zti1%0?C@%7FHeTZbnl3Mmp5I@W&GAtwO3qQvYu)-rgz>qB%u-D!7EK}A9U@n;a=LV zXt;80mP%aO=JHj`Df@+IvBlP=YTVWroftJ`sZlgy;z1(iL-1CoE=y(%;>2Y#g5OK$ zxDsOC8#5n0&&4tnj{eMZwC-~{P-H*I`5o6{Rr3y2t4s@N*`EpPJ{1g*6)gN9k8Tfa z<&ZgMdnb(v%6QCDU|+~E+hRx8=0RfKMEJ{@npAjjIIGTQqR`Q)oIqw+bIxyh@aS1K z*H26#yCF{6R&6Qlpq_iUdpi_eIrwHC)*HEx1F{r#8ljQRyT<1&A>O-Zehl<*qJ!GP z7^+#WJ8-hyS^98L$Dy=~qpwmzbVm#9IY*)oZ-Zi&b`R3-doeh`fEBxMny4dKXC@l3 zI#FS0=i*hf7d7|Hn|5+vweMYZ53)PqhGJu%APPPvQ;T643`#w&)9@PqHmWwk+!l#c_Ft`Qc`6#<6g- zoDTg(lfsbTs;S5;Nd|N0#Uhsm$!DFKh{bzlFW@0J&adFvX%Bykk629&XQvToigC6J$5!uX{PrQP zn2CL6mYJ_JcJPn1=_;xtZJX<8B?>c{_KFHQ#d@-_qg6!`4v9JS#l|#f@_M}fT5@eo zAG^TI4%dX;xMiwlaK3Go*~W_%zQ+ED*H7!n)~OT+6+I=B^?PnKhsyFM6UV$I428u# zz3t~n{1EcX4n3~|K{Yk5R94L}4T`y0OFk@>#?ubc8vP@iF(IXKNaPbJnj=(fJBnR# zf`;OU>44$wSph-&|y8@97$JmGHzF+s1;A^4M`TI{!L zbT0n~%V?6Np1sXxS(NM6z&BSyTL@p6z(InK&J-rGOT@kuVFv0PC;C5xArkXxuXhc*|Y8r_@(1DmeuU9+B^lM~B2VM7|y7TxLl>1`wLzIFUkt z_E8m_L-e9pZ61TqVi!r z{V1bAXn8F#LU51!1{zV92ZfBAw2s)(Lnr%bZx=pU<2{D+pOp|j201B`4a-&Ln^|K`I&fL6 zv<7LNo7T!$Hjjr=!3T*?RVQSsjwL146&6~Wk;O3+OH=N$)+SI9GzLc4;TiPB*+n+R zc|^30;exfNKsY3Mp05OJqB$%WN3BiBrL%?Iy9&~}u%_fQJ2*ldiS=?C(REwVxv-}Y z0JKR}=21&+cNusPV7{soPbVIp8%yc!C{s|kG)TVbkjUzUj zFJjz`A6<&%osTS#G82z0lA1#zrHNlQJfYMxo`VuBRpP58O-BX-jwMyLl!$9mgixjm zgCM`kX~E6gtI8o=xb9$aOBEv)n?H;0aM{+H;(F%TW_#Y?a676bkw%#HH1cM*$jH4z zb&F0MW@YJ2A1=QUzHz=of9OJij%KOC%H#tA@8FW2f1ZP@+yg z8$Z~;bJU(dx>L=&lV_pXKRi9yMKbdQRuQizf7Lt{Hd8_eQVvg9wC;*q7PW|EtVoDB$ zRJ?mD&4RPz68hjGamt1NschCcDK-AmY3ABNlenEd2C_Nx4VX87N$&Hb+Yo)*!Ykx3 zQgbQwY);=AdIlZ9QGO+`b_c_{BlgoAcM-7T38p`Bb;K8FGx!_Vxk;{xze3#VC8Z?fQ1Yhgfr1dgavUG6l3s_la> zY7o}Zkd1Z@f+`x!$Lwk-9h>o&l1LJWT3=pMnN(ypXF`s)KZuHIl!ZZ!h2FGCsH_&DTbi#1Ssz2s*VCziGEH;6GP`^L&jRi@ zpFv#mhpRu1i_N*dPUB4#C5Zq#dAh_1r6=y9m#3`)b9@mgn8<+xOF#?9Ys9O@h6+@9 zhvb=1aPc(_?z1`y0p*PnV>FS?cTdlmU^Gx2Eh6F--~vbZaRiPGV)fzH39i7TRpl%@ z;~ySMC(UQL2v;FB2)-Hwe_leHeS(!u#~jY(j;LUU#8%N-o@p@h=nry&TEs{*FT;>h zv9drgmx{_SUGVk#E3+2xSHg==$B|9p{034}qqWuCh!mCSNl;2!Go%~Y+R(mA5GN*Y z35D^D1CUC%Makg~j@Ixx{8LJ;6AE*nKkXv%tarKpA)g(q$Q_iybaM*YUU~@M}wYx1-A{*-(gR% z8uE28X-OZmYl%zpG-w+XwfCeg$EVs+n)gpEL(tS={=*n+9TTCFuGuUwJ~4i#w~j5z z)8Oo_C~NP^uLNYyg{B(po+*I*J`tlox=hs4i|RUrQ<{wT{gj{Tfdg3$U+QW+mg=pqKN|iS)f48 zeW3<5{y2en(g89^k%b_|kEP612Z~WqI7i(EL2;Qc01?P>od^l--y}({?5AJCNW#_I z^c^(CVT!k{o?>xx>qg+zF8T_?b-#(aZ;JA~ECtQM3}* zpA645JQw}qwj5KP7YX_HMW>!A{xj?RX{yrNTGa%%ns)Vk*}oN^kVYoQwLuI^94$CX zL|4gOeV94?ffm~ZjlqvsVmByM1qa6)m@V?aOfYM9i8lX}yQ@0M$X(^H7HF{FPwo?U zItQV)GxYMP7^q&GELqci2^!)y?0BLFqZ|QZQs}+4+KK_Bu$k zachfvroU^pqi%H}m>+GuzozaAK!QuOXHv%c?JL_kPXQvV(KleaJvxeVnIPLFe_d1O z3t3Uf^J;R32wAPym#V+(<`UHm(!@I8zfh>{LmA3hvtU_)dcimz45G3$7GC=@isCWS+ef$3O~4j&!N$Ex1qph1kO0bISO|$WwM}qPloOi?ej1+$NRZ zeqtTTGahZ`2;-${K+?|0F8FNz!N#2@hvFrEn2(OLKg@J>gq`TY#63mA$UQ2f%Y#iE zxOgJ>7BN=L_{Hf1@CRFTqf9!(B9hiI*CZB-1!QpJbyn7!cRSRjJr;*n2H-Up>lHow zh~)4VF>b_jGhitA3f(7my5xf>vU@^j_JxwCa#rNjJF&a$cKHP@lAGA#ja_+od&j2i zgDNun5Sy?$f6bQBou*S}-{#&$@vCZR8i4mJ3)k}$*eH?QN9QNX9ERx&?pyUR+w_C8 zJ7*T;#5vN3yv}Dx#`FXKTXSFMCZGIUeqZNS0-Z|~#_YqwT{&MQ2ihyOD{q#K__X?W z54Tp#_UTrpQMni2rVbkPxd+j{0eN=~ZQds_l1=?q5HsB!1`KT70xozGtIYC!`urLae&uu>!u<5tZp*)B6vgz3Do@jR%p(ffnLfaOqQeZ9l2N-$E6FnoDakVtMdFCy zui*4hvGwYbnp0O>I`q(J*iyuW3(kW?-z5zi`;L}Km~_CfrWK}wcv zI>tz(lfPVO&CWHTxPl$&teB8^xz*Y3_}nMY=iJ-jc0b9rx^4~h0H2+y#^J}^T{IzU zY(7S5#LVx~*HlF2kkE?WNt6ds@PO9_sBsr)jb7KmFLew08cgKk7c&W$ox%7nglOhS zvYAUZC>~mtU@o3YZxirBOL|2=$u%vd3pDEQ=aZMN3t)9)R!=o074~O4djZG=Y<+ga z@F>%+lVtE+*x>M}r3kDDSEr=HSWEMA!h1+4k5wF4az4GVMH@oc$Hor}xoq(2st!CZ zt8C8bKDe_Ye`7(l_@ESS4qJ!tNJY}+qx;HB5bNGvS5}@Q!dj!*I5|V zCV-M?bn@zdQTC3(y++}dXY3Q(wr$(Co&00lwr$(C?VQ-QadMKAWOBRvR`>Kw*PW@_ zpWd%;)!q-*`YldL?Ocz#z|YeCh5R;PIYya z_2yG@ZhI7b$3CU*E|@~Jr6qzyo5lXQYO6PO3ocLvIVT~qxc!M#TSs zfJzykc|uOda#ypV*EfDQB{blx=#vi%%0hNFiHmA68!?c5_w|xJyg7l|^7Q@3dPIjq z9;2_sI3v#3q_1enOKe(eAAYcN^@3CV>6N{0M!JMEC~6<-*_1rW0JdQxxPs|UrHDo1 z|1)hVGBmM}kf4Oa+L+`eC8jrKSD?f^S3Mm?aN7_J*DbGDOz<2M9MWl^i^P|@OjwKo z14^dBw1WR=$p84LcT}lg`_nS9%M${|Vz=H`s_m9Z@ei*hmTZ<)8a8Z~HyPgHgZR^Z zYGbku&#?8nsE&+D%KsRLdkn#m!z8Y1mqbTdXlV~qZ18aL7>_X56M>gww9!G3IGD1cO$00_}&9xY7M;I^dWH#3*)ro_ua2QPvR07V#V26&EkC z&-v&|RN2&yd2tIvsZXXLr(a&sncd4xdj?+({KcrU4i(~t1#&B`?rb{3Dw zmUQ#43jgLP)lsDUHXaVhwgK`b5Q4)YL%=2Gc{(3Yg5vV?`%oDxvcE4Mt^aev*4v3B zRsqpaFMt6vk104=_DKSKgM~+DMm)3MBc!M1Ti5;*Hb57h1@9k$sk6uxSC?}UmKJ2J zB}AV3s>#$HPwp|9=^*G=anR{<_xaAqGd{LNlrA31qDLpD*v^NN`Z?hjzhL{;9>K_7 z_&I#DkHxhw#!jqz**4qOCx6hLh)eyaFTt^2%58f;f#ApZ;k!TX9>S7{`CpXh2EA{o ze|$*=3T4{{#k^W}RI`7IpRszz5AGO!(fJ5O#+y^5twenWR8)0+k}@u+locHUfGH-S zg?ZwWr;pAHQ575!D)E1pF~2BgrEDuprzeq@!YOc=<&@4oUY0WTvbz2Kjlz117~5<; zc66k#{X^N%pSmtuf;nTF;uha1r?i-M%*x=ZOn0j7OJ*rA*p~6^Jm+Rx`%6mR8FFDI zJI=>i8$Bjs(p;7Ps1&HQJhz1E>AL*fY#E2Q>Z+{ zO0nfRFxgodyFq`UIOgKqS$(zbsL)oOeyXL2Ulf^FWS13R4_@>-gs=Tutg?VIOgyVt{#WxM_8B?Kr-jN9Jz=?ZG<^r?6 zaJ)0J%M&GcA8?L(S1|v?&pm5jUjCN*EXEB|%T0;rjJBjSvmb&ExNy9Lu!pIHV%&pI zlPwR`JaJU!!pq7lNKPS^Ev6W-XO<~Hf6{DD8R0-Zcg3J}(q5NJjBSH=E=PW~ly74@gt-LymCd#@VCxiVfGBnooMFC_m@aGe;uT(--S?=`8;-3inJ_ z<%VipEVGi2WhzgXEqhfS>aULj!{!x{5uPt~t#|LL9L%`pm5%9B*!XX5Xx~n`{eZzv zE!qHq3Fpx**NCw{kDq5$T5ib+j4d*EEh4@pnQ}@MXq~g(SzemaGIfsL89t~$9jB=E z19TObTvds4*coQ+b)lM`!>@-$Ya=?+I`x3*R7*;!YfXAQ8EIoYi*fEcp>YfXX=<2NUz|pkt0Q9klMj( zj=&}1G*lSFx@N|X=(=v~G83tBA2pVML<0IP_3}emS zKBGVH zKlkO(@t602*7vMnc9$;*Si|)}E$g#kb-)(2G;?TYBAxJoQYUhxJAsOERJyH*{}t+} zhP7+TT${A7d>6chZjetKWgK#~L|$e;fD-^QbXzHL=(&!p(v0Fhg;k2gt&}71r~HJ* zJM|-E+FD$<5v=o!BPhKuDmJgc=iJnO584PoG~zPjlpDP;^4K16Z-9@GbXVSjt*p5& z+Ej80U0s$|m84_CD_KKdvdAyK(`DkssT?Kavpi0#Gye1xY_@^<90cXDy)Bi|OPA4% zmNE}WvK=wl0|~Q@p|s_V8Jj{dJXEoIta&Pw(P~pis@ITK>pgLRrZt;}71XU=NPIVj09$K76cKw( zwGv4nAqqMJ2@;+%MUdMko;p!>o-En~qg-iEp?Xy=TbIcU8u;@8#-h-;lE)mfSzq)I z^4(-+U}HgYNL8@s&Z-Ksu)dZdQ*g`sqDv&jJI3V2t}KCpXlkV_qDaP`D|wQN8dXpZp2UzDQWWL9k{|HA%5Z*XMAYWV3U zA=vc-aEL(k1|isyz%&@Ge$o3+Z@3Qsf-g3l4&4ci`HE&0-MJ{PV> z{nkETfIIc&AJ7`LNW+!!fy+`H>fc}!UQ{-I)u-+pV$8*vxxFp0N}ER`7lqNRF@{$C zV_>h8CFNRm84&oleo?Q4n1RvWM@Sk0a&)zzhiglAn-(Pf=zh`@O3t1naw2)!1KEi# z_Cg+;(i)HKgnf9=Jz=X)tu0uebtmWx%Q74eG&iSio8dXH;&#P4>lPNx%K=*gMp$UT zYcR^x<_5s3-{7ixP_ujD_&0)vHgQ@q!D4iPodA6Mh5kh^lboH`Ew?TEEnEMb9n-A_ z^S5}uVG5?Dq}MXKqZm39PS`#(o%^f|@U0QWCZjYNb?2__6H0|i`AN6Hm(IEC6mTY- zEOwO>&enM$Nac_hWdzs|S`xV!7UUvm5GjV8jB`v;jb*njUiD+Bgy>+_T#qKn+CnEy;5eGt5aB39J{xYA>C3y|61z(%)A6$O$M`YM0gWaR$FI<+ z$w%JJ@R*t#e8fvS`+u2@=4B&!+X-E7C~RdD zq%$=e3oqMrnq*^AjW1vbCBp^QKo|>*2YUo;T z8IT;xZflBfN6AJ*M#^#V3SRr3k+Gvu=@>-aG3i8%aXM&w<*4TsfX1t&+1S}kxn@&L zdI#)DC^n%=i%65*J^w$nKr+M5ML(F6C)EFQcG7>!utn@`9qgU0T+CEloLo&@T%FAR zbFlwEhWZ*>&L|RyU*buvZJKe0Ge~nIxR1bxFo;_LW)fgX8}Mm10|^C7rcBHlBK<8jgptw|c9`jC*w>g{fxmkRI~DQ3 z=LlU0nSd>XHG)z?JftI%C8C9H3n3P9kX%vwfEzw=AT~KBQCEtmJ#CfLUTIDYEkwE8pLuNe+`aiw{hGPZI{Yz`8YTgXmTc<%w7j012THkVBeSY$gX z%@l|1!r5c=a-SWWywep3ei8M^V~;fIBP^|6-ZV+4&FL(!@a)|WLQ5KRdC|=^5M&X^ zS}9EFv}`zO066DS;-Qyps%%0p-RljA0{U`V?WR~_y;7-SmArUQZEKouHY;4z$K!^C%zkm7F>#am=zTea_#k zvlbI$4jyLvbc+hKbol6pP{X5YL7pqZRcbS*RotELdFPEruil(jcxp$Ns_5wmRjW-{ z(%51w!}FCzQ0{92U+~cBnDDHTbS99yL@&~WDqU){sBp`t8<8L!XiA@UTj-Z}OZpg> z(P-CPb%|AInPn~(GBoJt$H<=&L*C509i1?H48)LfPM90eCWC#4|4`8tj z4r#Cqj&QK{4tbc@eF~@E@Q;|o9JR+15S56;LpbBoO>sw=uzJsv7lS{UUyTHYBg?z3 zJr=KX0bzWp=SM9sPEqKyrX6OTzn2mfm6-niip4BiKtF%RSf)DLu2`yraJdC-d-tfr zY{NF6dzdLQB`Z#^F5}K!sX~fWP>prdc(mSdS()H5yY5l5+OfU?dQ_cTj#YF{mrcu~ z;&#cQ(N)unwT?3TH8(R8;dhJx+u5G@!gQ!Q8Tn**_S?gS6e(LyZYEBQBKfR1a^oTL zVMCLc9UVtONsJ@L7%N=5J~zUBn{ac8kH)7s+IALkN6<>@Vycbm+83e2D8n;!ZVvRI zT8=$!(!uA%p{NWQK&`lqXFFU&&dO$i-9Dmq>++UY=FK^bogCeV$RZcq*EOuraI-IC zRZbb1q^HsQk?Y+9k^7{ba6Je`l*+@VUyx6>MfBBmt}zRLP1+gVXZ#F1Au-?D>sx~| zLvX(reuw|-ts&cVBGU(p8KNP4mpwfN`c@3mhOVnIy&%I9+H8Vo2}%0~VZYyrAW%TB zh0qG9ygFf1ufz>ka9!xq3Y+R3jMQ3_bq!9r240!t-Ri4gSQIE6anR^pYEo2ymL$Kp zydT(UTWD8hN$cRK=~uo9i699`uC^VPZ${sUG{HwHgnJFl+S%c|t}cQ6zUi-9swq;y z)YT-netHw#E(D__O$I03RG*Uz=ljkl!h##wJxx%c0HNN)AG$){NP2r2C?+=oKpNqi zU4s>~L+zAlJD_RnS4B5LvF%pM$X2G;PFHyS50_SZALlmPKh3y#0Tpgr)Qo^n=y*`1I(snTdvzbF6~93l~?Ln zh!7MzsPS#YxKt4+WkkoNr+TPU5PcfR<-6ZGYx;DY{1Yd>T1`m~yW{MlRDnlkV1W!1 za4)ZXAjO*b)usPT(N2ig_7KS_=}&ulzdXpH{VVvt##Z*bX%k{CeQ|Q{huMjOFrFhU;4Z6!YDj)n?ygw zHh#%e?vo2v`|yJ|v<{Atd&dGESv$0~fnJ3zozS9XWms8-Z`4`o|GvlecC@bn{gLS1 zApW1jyZ-0f_oINdbCEQ%Gqo{u`fpaG|73vVY5?3(*3fn|lGxHPAsd*4;ylR%Yy-hd z9I*$$OpXf1G6JCQc*m9|@QG!_v6aHxj>Ys#$fUAEx~yP{Y`4o=pluUGETKM^TC)^B zVfCu}i!b=yO|_=cX@?%108-;DU z5X*$jyyB&l^>IKKXF=p^3~lCz5%wNH0cb@ zslDI-@i)HWwaaTawxnW3{p#SNU}-VKK^pSpIn%T{OUYGvJ4785xhLSZ0xT7jl)go5Ni9nWqOzgQ%uU*&e&V%2L-oOL)jNyw7&mkb?6WyX z_UpC=S4mM+$q`(Ir<=vr8|gY1MKCqh#!ixg**rS9-e^ zW-aeAA8^v;d9Y2FLsB>$;R#BBXf{EQCT}E{s@kGX7nxk*wLV8WZRK-Jzf5@nQ@RxT z@7~W>cPP?`#)3?jXPh%8t$635qv8#D7&p$1MOBYKDXbIEsS_K20^JF^dkv|IL#@=Y zJA>_kv5khd*A|BnX&54ObY;FKGJL`4P{?O~#M6f3K_({q4UM1mXN@CnG&o~R?ni^I zVA353OHLnkYJ|(Q7(EW>V|s|p&;9_4U6_n9=oZQ^#6VKKVOIe@S z`Fg5Gn9g_Sime{2l+r!BL0nAb#fruvy*C?R&#k=jCd}T+ ztcp#Na2$0kR(ScRh~$*^tZ4iTsWgy{!mkVTpb7)EzxudAWJL@J!Hl3j+!jDN7vw zYNy+fux?RSp+2N+Ary}+X88B>(*_~tBJmKUm?p&#>o%WuX*}?q`TZxhQ)qkbwIL|z z#iBVjrZ9s0`!R_k^Amq7sE^xwJKal9t~)f2n6`F^CyFbp?>r~57ukJHdz*ay3K)I< z!v}fa$Ev@l`04ATc5gh}#=O^csS0F^i7o4K@uFUgp6)em_qvu_WAky*Vflq)?Jt9< z3?uUL;FoLyXx(9u(73F&mt@Tju61;1aSA1YI4>_v96b!^Dq?JM#(v|ji9I7$?2~i$ ziE3hOv%4M>g8mqkSw9ND6Np0KJjK58&xQA3__averOZ)D(9Rns))c5=}#x zOjDtDGF&pEZx;iRknLe-?J;YPH656M4pct47QNOAjE*)JIqk3Fh*PXv^9b$yX%zH! zd*>;)I$qpw*~2e;>JyqF&Xtlh<5Iu2!$9R)c_XZGlbWgJnzd%l5HO7-UNfrG9iv?4 ziAOC#cm~4w=6^gd_!ei5$QW-F7czBw`vP_Thpb<*7!L$JA>W5)Xd_l;hcVUz)m6|I zR)5)AaqE{Kaj2s>Rzy5xo(^y?x?4vegU@eBoe<`Sz(rXJgj*JMygnG}Jd|^*NH&g+ zM~JmA%k>k^jjjh#Dv0_dy+cE*Ori`@UOoR6u@?L#Tk@0kqvMkbYm!&}rFez7_f)0I zO(=g6AX)^=j?viFyy1={?gCO+(cc-t_IV|c?}$CWIN9#VuuGMkmp!c-e@?hz=&2vi z3`fA`%dIP*5r04x|NIu?%q0y7eb!H1lTHQgY68|ffzi^ydO9DH{s*)zk6xyHUrdNPCtXpENRi_qe7F zah41hVZa53SDWF=A;)k4P8=;!77avQx++%y)fnf4Vr5q(;?Is^^}1@0rvM=I7O-Yr z-S$O;52k}A(yI-lj2cn}IT~H=!qJjw3$mg2koa7N0WS2Dn}^)5$0vC+DEJkYIqCD4 zpWk2)n6=@SC|(Rh1|OHUThp;|ig8y}dz3Crx7KfTzeSD^OB%2AM2q=c+MBA2h^QIw zDEeMnGj-Qrkm9yF0vK)-rMA>IoH&YdljFcfx$q<$pHv z)A}ruA6=3c26)ecXp;~p6OY7}O;%&}2Fu{0&i?{7Vh z6)t9);Z*^?2BFv)5+G{-}PM z*F8qpj*|cGHFWt&A7=8?^AmB<4rDp)q^5}P^RWX9)>N;VMxVKBc8AF;Q8tD?Plx)c%aO7&$75vWJPV zuY7ZZ+Z%Kr9dBl$9d|x_@??6?%kUPe;4MA;V5&iX){iL!T{eCsWAf_67eKuu7f*V&`V0IAAUsCa$pDA;@x*aLV+o~xrTE}g7VYtJD$*V~@ ze<^S3V$0i1T+wT9mzl#=z{{U08eSO-5wWou z3;ZGBvDZW*re(ZTTY+FY$!1z)MSW}RY59ZV+GrRj^Tz~w9Kn||Z;sXyHu4cy9-Bir zfEVkv$x`m4b&DVsE6W*{ht;s`mFBdwqTyA&fQU{zfobyBF_OEbULnvaB4uqMFpLDX zn@3KgW^t-Zf0?M55 zr>>yiJ&S4Ew`mvKH2}9B$ja({m(bv^Z!|{#^s%v6W!ZL(F_*81#Nshl5oR)6-P?df zq<+c2>Wsg6nymWZE1xSvu2TZ!thOFqmYqO@(KVRP6DE8ibOr~!B?BsE>(23t`r7gM zX{nR#EFEL0o8>xtc#x{-z+s);Zrh-5kRZzTocMO6ldUz3`9n7+dWkzjv1lJe#SkT4 zYBCe2eO1Cvrl)dS!;YX{s*yq4Sm-%AwmExl2KaXzW0gNpew7bqe5yM9>7HO&4noiv zoky)0cNu4{b*#f(<>T8r1L$WsU+3`Gd54vh8M+qv!|Pt^nM^s9xTpGc#V7faxv{B? z*$}{c8VyaHiuz3VEDB_z*y2E2ua862vi^)ET7_sm;y#=~Os z2kl_fA0~y#t=AM0j?e=-5dHu>5L+sGO=sFROvJ@ShS3{$l~4XH-vhB*zY+467~bHr zs0=IJ^UBTf!BN*)c0>WNU1FfyXD#2@^w%8l>@7P2IoNta_ZUadCJbl2zzyA=bnh)R!vyxzf==8eA;|^*aw(*T zvuMA2wcD9B6QJHSaZxWx}$*Jx#aaZs75%X@M@hXb>)B)LW+1QxP zCf2gocI#?t(FrP>V%RIS4L8-wG)sAr?mYC%7c!^DHsAQg|BQpHGpFjdwO<~|;=-y5 zXl~c7|2;V^IOzFqQ;y#|hhyrjH&U0Ktq1*R2rEcRnr_(X4%ku7Hiou#l}J#K?SH)U zCf zp8$b2DlYT+U`wEDJs$>?UrY&CV!@W~14V9&=v-?fY;M;4?N0z2Vq8ZqPb_IC2sTIt z5+~?IXQw~#{G$ZihCoViMidfR4DtNehuvDN#?nwVyp6;@_2+$&WyfNo-7posfnCi` z+j;@i{FI1^1F)s{jDZqR9Mppv??7S>Oqb&lr9)`zBFJo*aFh|Pg#!z{B~1tfG|F6B zB}J0sIoN;P(<$kM=<@T)@$jO5+))Xq2C^igwIl_rf$=id z(Qg!PoCR&7UNSYYV1WGn90jKo=MTpMNhgLq;jY37C2u-HWePghQe%Q9BE{{1U}eWi z6k~JJ`w=2#e@dtZMS4?pig^x64<&@HdO*Btuup#d$~lZr z8N96x`#L+s7ZBILb||bC(mNGYbL4#lmqwsF=hRE1H4ruJv4=SBZXZP-+xM&1!m1@8 z)k1M^crtY|59GG9zOD5Y)w)}RE0+}QK4>{cN4C{nbIacp^Ls@5lV$B|X!l*iZK=O8 z`b!Ua=aL3K!fu3=7OOtCL8>!M68iX_lFptaY4|Ut(&d4Zz3oJSmxs`ME@j%$DmpEl z;R;p7B1?ogeSs%Lb*4Xn-f$3(o3l$px`vJr>F&5V;26zCZ@@U}j!PouX744l}r0lF*giQVeMgQMxkyJGudmJ&;ud#N$t!x=NliOO^-Fl3(y|aLTSk!qE=*NVPPR*VPWD*IOM}h z$$yknnXa3Z@|EYo;}&x-*>^dapC9>qUqBA%=1{(v2t^oYBTo85-b8PV_+wz?qs(Yy ztmY$5LPIu~L^G2em_uYU(X(b)u*`K(j!ZFNbz%4XNyLm~Mp8pfA*{jkKd=K4Qmsm~ zma&Y&6B;wyNS91_}=eV^r{W2spkwONMe8&-LxiMJv+$;~nr{tL$oP~Nf_e@->{=sKcZp7Bnx?ORH zNk%)2=Xl-y{&&85e%`;|LTi=7h!&zMEU8|z`>F&oRfF0asm|}8EQp{PLUdCCf`?J0lp%Z*E;D{tJlXa>&MA_Lf zv6Kx@!}TtTUVFMX%M28vx~XxzUBZArD?XgTnYnkzou>FJugSDY=Gjn~GK>FG1;b`C zD*_3Y-Le4`@xaGm8m&BehOK}1EwDWy#^hwz9%Fe%fSB~kzxA&XQ7^8e9|kZ#C6mAq93r2v_7y8&kHKTbN_Y7 z-FF-I*D|-v6+%c?kiy(CiIqaf$OF_Kq>gloQ3E-Ymo$IqLLKY%mnY<8+Xs)&Rs6mJ z{6824>vN{I@GL0B=KkRybts(7LqFpB7{;!nK|RB6$jm(-_Jh6wiV(t=sO3=odo~n{ zEZFY>6VnyJA63n`2vRCynLM*p)o~eDy>udd6Mq2e1vy=2e1ev`*;);Jl`;wv0)9a< zqNkcxs@ua9AHkNNQ~doiV@X^7HmZ$>9=jc4?EtT-ZW#;x!bUw|m{?Bn-863e_ zFVaRSWh5C&6D+k7M~t<5EatbQAG$+BRDI&8h!>Mz!FoRB8ay9j(8@1ktGwF}9S-QK;44=le%v@S;| zM*u^wtR|#PJx6ZuJOAq~^dG(Kyc7f~Ym+XKfBJo^C8Ip__ym#@%?XYZ4c;t z@P)GvGCMMPAeT~-Gf@yV6pVeJG?_SA1)4Yd%;T8^|5I~F0oemz;3N|R`3=i&?ifQ> z|2Q-~qX&0b-!ISnQ5s}^KYe!nM~|Q%dqk^$l)gsRlSp`K&+HjJxh1=s$jESz6XFh@ zr9k}@oJ|Ce z?$}%vAe^~qW&YBTsq{=Wy7ab_AJe1{f|w8vC(;VxGTNs0L#fc0YJW~BiySl-pXJH2 zT1VbZzV8b`0K=wRQO679Q63&oMUi$yNqY*Udw1v=ww5^O1stG3~vj5Xg;V^%cNF%wP0y6!z;9diah=c z+}sFi8@(x@@K}|n-t_nLffDvo92B7cJbjWx1XU37OT*8IVVk*p{fOw_7u=OXm_jQ- zX$8qmc#}$=ST_JtOLEY0d?`jN$)M;7(yCmLTWuqft4qa;+eF*iYlc`xYmSOv(1K$Q zm6eZ&QDWqb$x1P-@eEZ@gRW^{?`mumePhexWqEwa6F~w8hb3(E?vV> z_ajooES2~wiu)5x2TV;bQ+m!+`qSjm_g@bKIWAbDhow5La5*v=qlR!1H{EPD)N(_l za_4V}Za)j84T3AGtbdA>*O zEE=s-Xymn}{h04|bEp^|xk#X|Yq0*BtxEJ*XfX(6?&MY_@X$yhQz?V{Rt(*8FAJ5d zlQ*iv7JL@TUKGDZwG^}bt|lEdGRbZ9j&U;4$~Ep@@Dz3M|0T=H9* zx-64d$5qVbWTxI1#-RR$NZW0bn84m1uEh-SMI$R9pPug;1YJATky7qMWA=^^n7<;PkiSTe=HH@YU}fo<|04UR zIznS%r7I;lhDsP5RK?_S$|JQj1yLLTu-5K5u(T2aS2fzpVni^L9TA6T3N^+)Jp!`Y zyS%Xj+e-P%PaEmWRpj+jmfdL8COZqy<3LuxRy$%?S@>KiS-a<2%zKkV77r#MC2o+J znJh9XIx!({pKyw^?HvpjY{;uOXIX|UJ(D);N(qIG)2)iPkYlLOJ1OMrO;pQRt@F&X zH^kXjh%o!eE{H<(%`j;5DdGrVlhOJBw%73$Zr@ zi$e~}D(QB1RJYA9zlW;v*ru1HTBB7;#Y$nhIDayIIJuQ>ircmAqvf8#eJOmg?8HlI zV*xON3e=3xqkGc*sGCSakg;w{&4Cs?+zcWvE_&i6M=;p*OR8YGqS;Uo9dYzUO+0p^ z>Mq^i+(5=I9yqtdZrX*saw$R|=Qbf4^+fOMXslnp(3`OIo7(pA@ngl1jlrwn<-Q8M zju5dC%bPwH&~m*>MN1!+$hVZMTkDR{iKeU@n!-KpR2$E9WgcOx$cxBX-lgCz&tqMp z%<96^Vp;lP_C4LHQaH)kqR`dJjrNJ>)JC%)>aJua)%NnzzsRtd&b~o3T zJyEVow1T&(P)f$4$joBWccjC-;me%CCH1E&9jWKhCATt`!_y^~R*$1JEg!Tu{?YP1 zVR{~*ANS-C_v~T!@OdM=<__@V_w=kikdOog5eU$KNw`0$3jJlv1qyTXJ5Q&JGZ~Ga zuSnj3jBdv8B|}oj^m#>{EiP;^-XoKML0RUP=kV%qP9y&e*P)y;Nm5`-?yfZw#1l#* z3&cx6S0^5~IRp@wQ#ri3IlZw97a-s8_%M8OMvW|W{M|-#O>W1GAoNjqnm`dU1S{s( zOveEYS$6P)-oz-RjCr#R+5-P39Ve(pLBdGO;U$RbkR+5Kjp!KWJT%$9a*p?le34P2 z4|$US{W{9HXIMUHz`_=WWKd%oCN1+}@gZ0Sd(;G)XOXZvb<_x#Ymv2(4dRehciz4;Ch2e}`k{H!q)V4uY%?bwLlD`#tg(lHmDfMVLcjL98=s3oH%$ zHXBhg8ggk>A&%!1$F4n}@enWfdms$i&H%=N@3`NiKpD3gwQcCv47s+9G0!0WNDjgW zWoAHZf`icow|z~{8m|f&$aYBlG|6o2JahPsBr>G6k1zZYDx{JZyEkrInuCNHI^J$u zfSB_@(T2rfF+o>*!?+o)nYqt$#KGr6wWhU-nOiF@TB$`+1%@^k=IwGx$Pi$D!BwFf z1d5vYcCY_`X@UNu_&E0Im>d0Rf$n~ykR|?$LG1rq@geoIvv)Ev`wwd9|2-0UN5Mo4 z^;=GW(&bJVc3OJP^>e7TC8a5%;u-`bXsF2y4c%d7WoxTYx1)D-OXs@oHrYRvq3>@U zwBcd!gO!}@Z&3r;81Z5zKT#C6tc;A?3`J9AXag8S>VOL%b1)zA-9!+Ju^1nEEy~SFufyFy2d*FS?1!Is~5`!!Gfh+AjrfzJRY7|0p}#Eea9 z4mx3-5lrQ9*l!ES7!QJg<@&|`h>iYG1OZu#4P&{sPwgaNj2)%9bdM~JT}Pb=AZ+>q zCBO?j=FbikJj-*pVHywigR-)4dX#UgDIAE9f1X#RmK(rPlc<~0c7KZKT=81lt+tC^ zt72_h!rSJ=|6EK1B}m8vr82B87C92*c2}Y{953QQ|EjavDP#q!I(t#}db}hK#@#Jy z+^(o(e6}aqE)*_K1IM;|FgA(bO9Yo1q*>gF+XE)q9D+~*a3-BF88`23LLfa~@0y9f zEJ3{Geuxj(TucCSO;7h4tM0G#0(R=26*u#$?ztr%7ZW#>L1P#3HVeC&G4MJ|@Ugp+ z)jTVtuf~KEe{BMOQ0JJP)Z~<<%paKTz~ENcZH`v~&T{U;Kw}Cfmas zj&+W(x1&}CyvpRfP}TSo3~13%J{5ak3P<P3#c59Z((R%I}6 zsgnL8Q2oV7{)|ulPB#qO;r*Ef+2LIco=&ASO%^n_#A6?dj-RLYYfz@G#Qe>@wS>A4~`P54%I-Jh3eS zf+vKWNJ?e1<OQ z4}`x#=k#2dJB2xr!r7DJwnA#SyQ0$n226JPd@<0^3)v61j!jKN8_aq zj;Hd_%{%L%96^D}Q@u|Kn)gr&D}TDz^2|#=b@qJg;mv<2LN!P@jfUwv76b3Q7Gvr= z9MyPWv+AR_oTq*Z!;ra`1E2R)iY$k{r}NSA+EcpM^YojKK6~&57nqO$n)gzQB{)6$ ziR4MQ_!dR){i)B2@sZ%_}qzNQry1knR?TjCP>b6c8L}dC#ELG&G>N8@Dq+7DG6sWThe3Jh`vEF=iZY>t&+KMo z_0ANGmyqoxKELR6hP~?XnE)Kjns$1W$jltb@M`A2LuX73Rqj}DyiE=^Q$~6h>G`hZ zts3*^tYZ^J7B{PW!4yDMkjmIXiM^bQ+Eq936Op-E7(5WQaywo|YG%BZ)$bkjkDi_zK@N*^e5!#ny<2n#gGFz1s_4nwXHR z$xFzE+X};>0OaKi2OCZKCn#HZi_TW_TqZPAD+Jvs<{j{E*n#?NNt_u0u6JhF1E8>w0`=BOmB^2e z&GI~}lEaB|fmlfY_Hu^jhfyZU*Yi2o#~GHm3c;>N$UAuTZmm1$kNQtzFuG>vAjpQL zsQ07ALD>Cfoqc5|cg^`4Ct4~>Is=O>+JwozZ_e9OPJFLJ@mCYqaf1r0+rzDbU*TtW zmbNQZEEE`*~&hdi+P$VN6|63c`=IHoQT=W>}crog0`KWN{f$>GbAXZkDGcYMcohw92Hhn@j|OT6;u)S&_#!ag-cvd)P^6 zW)^VwX)wW2eBDaLH0h0FCC3CO)hRNuLf+KJ$!cZbN^0$ess+^4vL)73n97Lxs>R6? zTum6XYE|K7wHBj#X_ktV*4(^Bv8~}ndAc9LV7rt(Oll>oih341F`jxOf;V*YQgM~# zxL@j&75dqP$+1^Xj>QD#Us)_GG#z9guSc;@4$I8M7lHnSbvC`>_+NrCH??!t!zUq!NQWcncQYDJH(m0kR^Fy}Ow_|+N zyP?C>#vYkb-KN*@R<|jq=siNCvmU)sI1a^8lwN8fi_>hUV6Kvy+;f&f6`05kiLI-( zp|(Uxyn_OpZ3W6-5e9QS<&n1tUJw>smS>z zjMKHF@tYlhWZ!_cnx_M5wVH{(^@(+32L8cNMVXV!96NWcGyL@?(zDfaAJIE6i#0;* zwh)IvPGS_O+qq9C6<`6`QQh5@SxzS&iH}8_$Te7vzDoEQS-rT`RjfLnB*~}H{igtM`iMZ1%QoHn})b3==5&l?J*`e;BW+|FX z^7PVm+&y4!HG=A3K7WiU?0~i@VmUMowWJM}69eg8YO^4W0T0@TO;!%;e0&8_v zN8iL5pyTU2tS&5L7S_N$Wx?_b?j4JTjicD&i3xKt9)3rd4i6nyxuY6K;_0x?&!WWX z!MBb#na)!sSUnaez>MWt^EYE|)lfRIT}d4BM*|2?1BxJh6KUg_e&cVO)#NK?KXj=^ zv)()BJl*erg~3l++yPoY{1G)?CpN(~VI$gos{H=0ceti?nkGKbiPJTfdqjNkIje+t z11IS6!Z&9ABh(?!<8;GIXw;2*3r0Ch7=_}AyrBizJzbTc!w;qX z;-5t8Ky!oGGbL0v(+~Wh&CU3W)&GmLcZw1;OqN9pU9Re~ZQJg$ZQHhO+qP}nwr#7+ zIyHCW?AhmG)}5z+{qM2j%Z$v(I9-3tZXmm2i>QwVoTQ?;8L3S7o}|ehz{WrH<~{zc zyZx4VpJ^|{OJhbmz`@i zau;cxjd-la?Fz+@*8Av+6>>*JAW4nZ#--fbz;sAAM3IddD55yr;M9ALt&ddi&K(&y zbj3Hk7GYU@2sy6I65UYW@X|JULaH24V202XPZpm+AVJ^VPP91vBY{&Fn|~II5+yi}3mgVT0CvW{Z2g;e!z}P#1e>PVVcgKxnbTb5USQy78#2ug^CFnrW@$NpSuRz6gM2(y)Gc3q|rPIsP=vmhdksFtU}Uy zW4oLReK6&}lDC|-w z^lE$%XQuVegz7DEj?A~@&g8O587Br$Kb9OpFSvCh%&SS78`>360>}M|mi2NKBU8-X z?0$17jwCk$7B!9;<;Omsa&)f6cTO6WL;{CTNv91==epaBXxy=U*@sNX6UL~!AIxsX zz?2A=xKvcpxyf%^vb60880-(W9(R+xa8!UAcx3 zdN(1{qJ;>zOEm-)uj^nlz1Mn>#%x7-U^%mJf-86duadpHgJysWbgpU7_Lpc=;_6z7 zl`3E>#%o}$tT#}@rV;45H_Xhymv(y*sd8c-dN+qf6Q!i@LvjuMo(g)bY;fV!*WSCV zUpX;BJ&M|9;CGXxFXXC;I2!6o_7K0}z9#W-J#-%KA>{TR2-@us9<xTbi!;(>vjauIyD^6P^kis~a0y{@uB zh*%oz|77vVdWt!x9T+uYP#P$A=);cO4u9_fmgkb)^}_Co$o-wHR%xj%cU@(7Z}0hf zOO5;bI+^JK(1nO*n$@L*F>{UcgYHBcXh!RX8%WV73*SqEFsWj$_Z!bd%j_$1I7{_lY52v~Hh)~i) zmzA^6+f);P2Ls}aU>Ph0hMoz|uDInUjVCW8GLUn^DzIP4K7x- zfs^Q~vRWBk@{oOau_6qb7JAqRulvd?2#P^DkvC}4w&cC2&LY67ra7@#Ya`ttKYw0z0;Jbou}*G ze+2p`O_qm$U0kM#3I)YO z8UbMzyr4|Yt*iw`7LT5e6%UGie%tm5K+yfBo$!MgUreRN zDUVI3zb(&{uzcTNqI)9DR%wm$vW{>$l)l)9p6Ah|rhWcdJHPup^CEAGM{Fe-2tjh& zJoT1A1?l{aXj>Za`+%bpYJp=j_}TFV&Ypv+H~)9cZr$$*U)_g-&ZSlTtwV^-9;|oo z@W#FK5 zMIGS^WI>=-bn^iiO+U?`(*$f2g*!EtCr>D^?w@ovRPPmA68`KL_9s>nVwoabZmy^g zNoUbt9Pr37wao-nRkxUAQlfCD!=Bs0Wskb%^du~B>kyL)nL>Ztdowd^_!$7JCQTXU zQ}$~T1-lW?ht=lxyb|Ht+M%9hJCbm@r(>v|-`plHoDMk&+_wV6m?jS{IfDh9K-MFYm`4JZlWrW7T-N~>~`HxobS}TF$DC1Cs zs(Jil=DL$|@7VYb82G{qi}068MK2cEq-5YAaFavVWmLP z!_>%Yx0iUuFI6(9236kCz4y$4YtmC$zd`;ljr~IpZ|BNdIruSaFTww7v$ojJj-ZL2 zC7-pmjicT_R)U0F|DlBc_ij*?iiQg23i4Mp4Ya6%WdZ=alofnO85Ll7nUt1o7C;>$ zR_vB;fL%OC08=P_0lE`Yf2)+cRDyOqONzGg+bSyWvKnO&2kOY#x&4Z{5C8X{oVV4H z_8s&n5uiW=TivtFp9}L1JzYIr&+LrfFFPTu09eB}2CFd=klK-YxQ#3<5B7;EQhY4! zNUE~3k$Er?_QRnCm=g7FmgSJi8g^>cm1M2+ z;Wxv#+?`Z8I?A`<{x?v86V5`qGl%ibl|~iSdd8$t;hY4sELKR=Q&k-8y=O2JBdpvf zSMtsBP4$$-jGQ*AL6`Ts%Vp}-a`O!d&e{$z8yM_;KKe?IBeRp}TV=NQAA<=%`;EQT zb{plb=||J1#!4~yPo%%pqcM~BvfQVoV)0@S@wH!Z0{qR?|qQ7Hcm~&H>yX zifhw)NJEhkcgfF%Q8rPCDx|Mb()2r9JaMT1{6NHj zNv**!=F{bR+-$zu@jMQcOfY|qFpYMQ-Mwv2vacx9*rXsSon}*=AX=`m{nfs_@|<*^ zg~8jr@F2OH^zQP}Ev-OoqcPDwfEQEL?F&w|)e>)ITY}=`vR=*M_F35($RRHUoxaKB zrsLSu?py^5g40>xHehGD&J~T@#agsDuR9f3!I^Hssg1JEaKWGC<~K-^O0UM$o*1$8 z!D}?iwAu5>%z&p<$`*(V4sA)xPa#ZSOc17xOnTd@7@s^9Yw1mP`)A8fZe*@nRQhN> zMlrKb4ViaXMzJ$Ihr(5A=;9?UJm&zF!aI!hS9{B?Dt$%i{=xDWt6UOaC{5zhI(Y-| z6Bo-W9W&St0+cCE5sOc(5nEc2E;GVLr$-tu-re=Vv-lA(hwC03zBpKeDlZ?U&mT&I z?8fl*Q?|!$jd+vYlv!#4q9uemcuc6*8QKCbGohU~S7!zr*J4ow;q;FBSf8Ha%g*`$ zYBx@8P%(G!{H_Ijo>82{^YFN4@$>RL$_flFSx?i2%#Rdd-b=myl^9P1*D*HQ!SraMRWx1#C7eFRX2a9eOG>Jicvb^z5PXcW}UJe$Zdgh*Lbpqa%jR}Vd2**G;9`!EZ6%>`<}`(83CPZuuWUNJ7(#b zh}$ObB<6sqflKm2B=t-tp{Wac=$FWS0wd~eia~I8eomETPF^w`qmr`H=nAJ$S5p&k zW`&Y_G_Q6V59&>A$|j8AS9EDB3Y|R^w^!Q5Dz)rG!U4DEOq=`r&V|=iUYGB{a#52~ zHpK*&PPt_21Pn3Kqb$~j6!-=w1MNekOE6=Jio$?}Y^=^L=%xu4A)$@e1M zZ7Hmhf_=0@r_?9Y8*EhEF^zX%m&2KoW96QoSlKNH4pQoQN3^ux^DPpX77*)P)`TNh zWB8zD4=Ej%n4o8zHv7GydvHNoG_4#Nyw=cw{LA^3k5*S#y4p|Z3DcDUo^OoV0gU_u z`N9_o@EyALpiUZ@&%-4z--i9_RD9bX+GzYC-x>P9A*wN`VoIrgS@*|=X;g3C<&y6w zFNlC~%&+7%);hPUFHhh9YnYrs`IhJP1QTdW_6C)zs=i>zbra(K>?4DfpxP(j130PuG>9v2*d>KO2*Hed~g} zg|O-7nxe2Z3iFXE;?tRqsLhlz`bWumR0>Jbb_-UEDY-en3NU6SxXe3;`e1#CI_jM=}d5 zUVJY+d@x|%#Zf}A*}i_^)0Y?^QU31s{U@ejQU;>Z=6P!*Ms3uQ$>S=GE8B`1QW?v^Tstfvc7M;U!Do8NccbY3jzhdcr`vuR9B~;9L{S&Ea z45Ve+rqK*$yI`v)8LO9+KydW zERP(IlWorTlbxO~(A}S4DN&JLx}6AU6e1_u$mhe%Bmo+K`pug@^uwZFV2}tsuE<=} z8_E|ve{WB;J_H=Gun~C{QkkukfqJgm`3O?gq=9t*7y>jt>An$oPk$L?&*EJNP@`!? z;jj&8^JS*CEEdO+z25??EmjjG`glEMHfQN4kOC7>BU#3$Y6wOOF5DT2!vY(OulY)I zSTl>wl)=hy#$p@oqQ=U#9ke@w20B8lu959>98`b`t({M3@ykazwLgnE?nUndaRNH8 zQHkJ|^uGTmo4Kg>O5~nSfXN0K!dIHkbW1mQ6NWFY_3>NNA-$U(8h5cnVQb-Ym#$j{ z{O9D_rMg5l^(4bU*^6NA#_Uu*iY3lZUtFxY5p&H7jorB@MOe>YL(tpbr)k}@P8vm7VuDTh88?T~8LZhIdQyR3@)~{7m zyek6YIQvs-yGO6dt6ht3jn%+|WLfqi&cRC(XTv&kA}@2S4!y}m?Br|>vmhiFQ7&!f@3~g4 z5*Q7F50=gBTYQhVgRbB*>Ky()v0a*LLgQQTGB%S50&TDI#i{6ZenMWbY-2_6HAW&w zKX2{{d9WF2|1I^KcCHI^`SRQ|C-%9H)Uw?^D)dKW!p{4jV$;ZY^<5f1i9L*Cx)>&= zeQ2;@+aMh87e#Nsn1VxTytm7op7_I6hn@b!81e2BsK8wu&^Tg8_WrDA zc+$~*sM_mrcPPAjIV{jI6crC7NCk(i(CmHi}drSG|KMt-o5JJ z^xi$SK)VniRJP1pVzSHtwjckTOkQ9%{^Bd4yJ4wX#PEhA%aKLuzy;I9O-@51@X720 z?f-2||KU{u>9E&C_#rMcNB{t~e??r@mS)yQ{6C&&d$<2bWlO$szz{+k$q5QT^e<*1 zArY3`SR9R!s2N^W=Px6YQim36DlANJNimS9!Ew1`lRxJ@)Zjc&Jb-#^I@mdU**fCS zBLa_}+`M*p|M=kY@EFPQ`F_KM|GDALHgsy7*`2GQKRR?ut)7v~wS^+U2koNxCSOEQ zV7hHj)zeFsL6KoCVAG7%wN?8lFj00kLfO7z?^)6J$US45-jqDn)#R8ISHHK+Rxnn7 zbi1W|5bNPFoEMc8VYI?@S-z*X&!ejNQKFnMcRmYEJR)4{G(q2q%DuL0)sEvIsfk;V z_C=tLm4#w|!K)a%Q&Ei!=jb;0QSww5uH*vULu}r|V}6HiGPgGxXTr`yNUh{;jD^{5 z#pd+cx5sGxW^tBX6jc(evbWRJYG7|@RJ|Gi2uqf25EG(&=USqSVbs%pJrAOl1DCDwE7Yszn&MEGx? z3a%EuB2Q-4P+2q#yNUX{U1*#c*C8u6k`Ro<2NT>+3j!7YeWtv5W&i8B&tFNW6~DS9 zP?grDXQ`%$PZ7n5MN2Lsm4|&gc70aQ;?K zw`*&)vqUv(lk;55QA36}i=26EnvO;#$j2zTA7&Xd$(?wQ_1z6a0n*MYx>r8WC@Q%2 zSg$8rE#5JUVi&?rn-8SjD6~h~=tK_6;FCDV^C$Lh0UpC0o07aU)}_Su|796&)$9_3 z_hj4gV_K-o7i-5W5FFYjoL9`b?y9!NXh$E#cgID@h80A3)z%{pXMcbSa%MV04uVR{ z5gp5xB@$#8lF&Euk$$B|g%}*YxeX;;2I@rVt(&d7Bb28<=5xeEanV&Mgf+uP5#oxx zsK178)aR<=6u_P3qL4R*Xcj|%MWA3m-6gVX0D252P-{9u45vuULa}(~oi(IE7|rzx+occ}>!%E>kGI*~9#Hl7 z#tcfz+Y-KKC^8e-ug;(PYz2yU>f^LE)6^SOOWYlYyN&%7Ge9DNLG5x^gHICe{^u37 zK776Lw-Hfprh>F+lrN+GI6BN>n`tk**LAaZKpoI0A)I2KS75fX+)(!+)o8W3mUPub z*}xZxa;ovOImD_-d;E+5tz{&M?ZI??YOfe-ZR=tl9JiPvG?f99F_);d(8^XH-jrWmrQd+qBQ0)q zE39uCgsyy48;-IhlJY`tMK4m%*^$*R-dgQlLR9rXu%W>|E&1;4Nv3nqo64|ls5^Po z59+SLlMfWM{iQ!F5%Rpog;+}$;A>l=Q2LQ#68Nq}A!se9%ZBWOa4w-j_N4Oc@P321 z1g;!({Fu|hiqdqio}-Ejaj+hR%o(5lPLC#k{(0T*?bm{Orn00fOfNqP(=8qN4MpT3 zy%@ESj^Jg~{;G)kEYQ_S)uNqqnP=~QS4YnBnb&-zfy^^-|F;k~Bo>`W&&U=Bm7z71 zICy_8CtS}d_}4yTdeY2AM*<*2r(Y>f3D76T|TI*SaN+C8ITfo3!n z6e)vnO+1W4*uKkPw{&j;$;&u^$WR!)tusYD)RI1WO6Ui}5K0+O45ezH6337&wF+_l z5~3k*t!?Jzn%XEh15kG~=J56h*#8CAKa^FGyrL+OA7CN<0P9~xT8ZN)dt)=oFBX(6aTW+LUUAVXXb@Pb2;mQ;IB{oZ|0IdBf{-kEb7x8#yUEOCw9ohJD^xEF28f~U1|N#WZwgfxQ;#1hfn5>3-Wado z9A%)Oxh6y#iPDA(y0co5+otg#sE)y&tW)LvCWpC+LEln+Af`_N=vth33THss3g7TE z6n|@xyU(_bI_Y$9pc;JV&iYTXyv92h+kRf-`(SD_0($Rmb0UHsu$o+gQ$i3EjyF(CbRir?-@JR!m{7I! zh33te;R_OJ#ACH$N?b8!C>f3i_q;@USs2_BJwH}8tMf+jITc@lDn~!%m^wk)T_%=p zf97tzGsdgr-TBlav|Ub``BUlT-!yxWQ)U{h;q}m*hjrba2T-dJ@;S%1ywkf65Z#%s zH9$irgHF_P2gI6b!w~Zif+j(R(m|Rzf?K^)W1Zm|h!#P^1YX4TMs!~FtszN{d;g;> z`Uk3XKT-3*e^5pKZ=j0dzZgs7hq2JO6|OJJMdd1*nkgt|PnGv0>R8H3Az_V=WYeTsKeuuIL<;Z$u7Y4iRDB+7`X6>Wd_1c^1tQD$mfoHYzIM=e3G|8C{e0V zm?Y#Vd-L8n1R6qA^Kos@Gj#gScWVEpDNERv&B#OBMm8*VB(w!MwEi(zhZK`T$>YPh zm{{rY#m0X$qxl|@^yV4+Im{jL=MG&@OMKN8Lb=#G@GsXaRoo;*+(betWh)1|ik+3d zRzbIDm0&Y;u?|X0Z9L5f=s(ky9|DvJ+YhkdK>q*J72|)(1B(9u7SdO-CQ9-W!M>J- zQl%zUMAO|+aG<;tovWC6Xw3veKhuO|1E<7kPdSP9egJPTt`QgTpduaGzP0o5B5HzYR0X{phfcRucqeI@_JzWIr%yF=jZuyy4m{=g&NB;dvZb z?hZ=B8Jw$CKB6Qv`*)#(E$@Yt@E9cv*Gq2V0dD-Da>m7QO0{GT=)2;b1LzAY{MQQ8 z)uTR*k_-5Fi}&gSr_4X6kI<19aOl0dO@)Vi3l9CUi261At+%QE(Q_nj3{IIAfB;#T`Y*L=p7dT-Fl)JJpm@nIAsU|}pZO8Z%48%ozW zQSMs>tu)Jspx0g#(O8mC24&UyLICaKIf1W5`Y-N$^V;Uy$f@Kdqvb10N2)-IfkoKQ z4^tDyLczkp(gX1eKs$*Ajzm+!b96n0p?izK(8+uoowsjGKIPZYj; z#%HZ$=9^4J{frvkMrUF1g>^tt@=iq8hcLQ))v7&#D1G|Y!PKkvxT3^PHo?J(7ZV9L@S-Oee|rqak@*PkJBk5> zsR7t&rkQFDHH~>HZCdWBN~qOWd(o zkVP8lVU3EK(tjSX`byW(s(1oRC-=wzuU0H|M3f7^q?V%961P`~-- z?&N}=A4eJJipCYO=0Le7g51)^d%KUpAu4u*+ebbOGvn9+8V7t?ASjO)HYV^w3+80D8h|;*-XNNJBEisl#c11upOrIZp0<+`NbsrpvvP= z{|+g%Ug!#YTR1^6vRK!EBrU0$NZnrOVIiU z2L|ux`B5W5l{I-oHLG?nDkW&6Mb#llnwMG)#*%2mOdu7j8IN82eo!M~BGP^Uevuud zfs~bnB}Qa1Ivi)3OnVqVoz&d$0&od22eCmKx8?`~X|Oa~Az5+hibl4nAVCMoNb#Ps zC-|KNdhRzqMaQ_pg%1xR3s8GK`s0_qGf?s9xh^_>`XNRuB5lW&Uqt4x_lcUZ!%cT| z9k4p-n9;D!$cML@Ejk>T%VJzJ_$*5#&g`cSzjH?4YUU(FJ!E( zi|?bLa7>aIGag0nKCoMI_{~|;zqIJ<1LsMWRr*#8-IUA1xR}fqqE}^7--<%rLJL}0 zqG_ETKzeevkTnp86a5zq{%u?Jms~}aeNhw;_v5cEdxSd8=~0l;c;`24guhh;0v#%* zPgwM-h7C*W=&Fx<==w`GwcW9l!OR#5NZ=KLR8vw2K?ETcbTOvDE5@lSzry0Q%Djap z%bTVj7KUw(^fZD(>)4|*=qD`^SHk*j59S-K@{v(zt*6a8=UuONiw#7p2!k)e7~V387DQttwa@c);RRYmKP*N`r8;HKa*DS1#;E972_mf=DLuZ zvskD>!Q%Nu+tvq$N33j zBmTO*D=z(|Sfra+v^x7em$1{k)8=RziERSW$=LylbwW)DC;PJ2Waj$FctR=kq(PFK25; zKa=$twMpNg6;y=kyvDX*pI}_yr9JP6R!W|{LqIa3Q{jTetMpa^Oi9OiAa+@2vMv8z zA8NJzvX+XV99%WMWCb?ucoiL04%(~Z=hcBZUeamVl=8-kA1v2dnF#dF1EP?$aBb~W zY$Yg6Uu?CTJl9R*If3WY1&`YF3Q)@X2G`%eZ8nnUfoQ$DHsa*{h$&+qZCBfYWGrA z>&)7ZEi3i?-gxDl(CP`lI%BfRUr!o=o6!@)wNslxyAq%kPtRl<5^ub!a%VL{0Qs+%4PhG zBV|C}LiHtL4x<94#x#lTRhz#~SWI@TYXnoKy1|$G067TxEtLLbmhOV46B{;=>O90g z8QUpJDVD6Jo?<6@pFFLGJ7->Uq|J3^czIIM%aYbPk=En-H8DUqgkl4J{E2SCAea4C;a_~Q- zynpn@>Z()Lsy|@${Wpk|?Z1fh|9if<2Y@#APYH;%Wm_dlBlESk-43#6_e6Kz_E zeY!ut%+{2;FW-}#N7TGE4e7}92)Tf~;>&Qt3FlztlT0V9MHY#D8YGPGG7Bt&1lg$d zb+|~w^|`PIxYQHt81xUKWu?B#oyjh|?dA*W1U{X#g2NcS>ig)rOjwg{J=FWB)l#{4 zoL$*vDLhv;I8O43fugV4xNB%~*4kGcNXMIt9nQ*}6}Rj(9* zPdpw^*$KSgub;30T`yxH0;!fgqb$73w?pr zT$#L>=6Y)Nf80BYLeWQ`Mv=UF#a`R$|> z^0}zi84pX*#(5>!^TZp>xQ1l^mg>Jc#Qr6mD~*>NjM@plm%B$eYOH_CImB+n9@NU4i1MMj1|Bb^SLQ&S<%hFnmC-v0!hR+CkM$-y< zhJg`u_pcCi_W{G=gukHdguUSKf}c|D#kLmk&KEh_oQR`tY0B4#T+i3dw`9;(oxruJ zHB-)d^^+qm%5;fS=~>T4kmd5ozHD)g=!C{0*!+>!Dxg@Q1E*J}*vGM8pRj(c*gFXy zapq8K?LJ}0DVd)nP~R$c2gBb=R!NGg)xVZTroQWeS0*7n^8wcib2)uo*Hv48z*;|r z-PL=WISq(N!Hv@F1gaukB1+n&$55GnAhw7KPcrPqaJifZVSG|tUrwONc0B7s_;hD@ z)4o^}(_Wb2D+XZ4%n`aKyy^9#yf}7_KmAz}QXqgvJN!e=qZJw7! zu=bm_*Hib}XV2gdHR5c)rm2B7mPyhn(U#ddX)*iHSrTBBZ{6T;+I^Qfhk~EPh7%I= z*Xikz(gTk(wHel*lR`H{pFG`Z$59%(A8UUx(?KlxcE>-_V}UhnkNnX^xIq*idHX_7 zO_tCMnZfJSHI1CW8{9YbU{v+qV|AlcO{A22r_OR203YVywDV%iRBd?>-`v&*T-^Mt zxKefMqhDSbIDH|VXF-q0{M~H*7{>a9Gy5p+dw(OY#+mp=aRjtI^sYl(o-+3GqfG!` z9JZ~)IQ#bkf%L6Y)kaKbx83))gIB(zXGa~xCzw#dR;Kj6LHawX>88-{{W=~4=9JPk zf%M02>aE_TIAdFF#IBqNa@gnvg|IBeTZQmXpG3jdIU8*buwY8>cOu2Wk2waKi$p49 zPZJ?DGP9mF#b88F4@tveMA;0yA@2e{gWM53QYe3wbh7DxKw^HX-wBLe#w9w*&OKsj z3SHi8!ztN@aE8EfMqj$5z*r+vUvp|~z&th9gRWJhSkh?zVobi{mE;wsY;e-v9MmN7 zi%$ZUy^Bp@$JjRB``Q3i@YBEwjy$p3=v#evkQ;_-J}RiFI*krR$qc&rU$xe^mn>Ed zJpe#@C;-6E2f)C_iq^r&n%33Il2+f$+K|?nf%dRi!A5|BV~7F81AxM(N(R%#PY$L*L{L&(H(#r77ExF?g~s~I z*_!ng(KJ=PYg<`ZHASp1e^GopTzfnij~T}EeRlKWx=naJXFFWCon&8abI$m@uL1(3 z7HY)-3hh&MXHKO!yx7y|OgrrJ*D0Z%aPpnJgGi6UX}nGZwXYuk8t`ljrA2)>Lg>~k zkC@1eB}Q7Mbh;xXg{IT-u8gS2q+7LgYC=2-wRo|o?$I8RS$Q}D?cN+UV!d0Cd8yCR zu{kc$csWz{ZkIxB;l!8G+(U8+<#e)3L4-^l$Cg$l_8zBoDT(lS@vc$0M0!5k_qKlb zRp27Sv7cXD@Nlx#_UZQRm2fOx>cS4S$r>WqiC_HSRw?mI?k+pG0Qe< zb)5FBebTl+3gLAq4R9rt_JurwLNq|*Sv;l7X)Q!gHmj-L29#;syM2-%dHfQ(eOAJU zbdwOwkUt5lbb>EX&2lO+z$ls~amT?~J2pj>&Et1BeOvk>EM&!)i zF&K+5#%bQD67gx=?jwC9XQX7}16mCa>Q!D4n1)oA)QBExwC0R}^xPg{MM%uZ5 z!5)%3j%~cm9z&=2!XEV5uoy8rp@@p%=G;CRQ9H50Z1NE6i-lDHhcsrzC=F3N>EMMS zM&kIv2vCL0WjyHqmsa*^AgfUjjm-QJ0cj^84Q-jjfJDyMPSSk zLy0Dh%IQ54>4)6%nSBu=&(V9?=9rT7i)8e|k(u;MrZGCqka;}j*!eH?G~39a^*eLD@Stylt0Miw{|B+)V#a3QV2o7%X_1j4nW z1ZeRDqa*t6I^Qtzcx;tDVOa5IB01{>bvxHWSeMw_k=n}@!7pRO40!(?4C4Ik23%*g~p~B5J_XX(jbEN6X(M_bi zbAkLOp7Z6iMB1&TQzYg2+`fe7X5r|wa=1D-!qb-)mO*e?^4=u!N>A%+GYm?!XiN)S zjWj8X!KQl$_1^OLl*JOYdLC3$)#r-Q`nf8I29WI?4oAB%ArNoN_Kd2DSI0Koi?$tA_oT6COsB;+Rv;nH3*HZUMr zI&;yi0MU&LVlg2VsmDN(u8|&!L{jX+2(ja?qL4sZJ9uNmkERQJ4=OAs_^!}USV?cYFEo<$D5siOfEDYL$DE~;eA+EPhm2yW0}HT+l_HMgsF zVr~Vg1eOBQSs0c-TttF&`-b6W-Z~&ocCjdZApEO?RO)W2vAOXDI1pWh;1F(}p=ARR z`fXsn_bXeByXuLBx$QhdRKo~_3qNJ0g=p92?ias?>u6{SzQnpYSKcelvwJx!7o<&Z zL$zzrNE3d34_q?wyEl@(bn29z)2pX)`=oeaj=~6W3sQll$7F`(0McK(D>6pt*8Ji7e zC`!42mfiq@jc=yaLa-N0hHEtfGaF@}=`B)g7Fn@~Pl#t?JfMNsHve zJg@=+H!=`dKnD6*$c;Dycfs4m=J45;vU0QBNcekxaUf@$#h~$0gBYiyQJ-TSb<65P zVYZ!M?t2e1LjnW-Ghh~vgF{{-{Fm<)san|nA>{7Z6~$S>s2ZFN0FdBrCq9 zX0wg`Vr|@(;Akd81{pYR;IW*H`K~SxQ*;_7qCl%r8S}B#C?C#SY&)8dCzcS4%%{fl z|J%k=pMTxXu0%%SPIb9d9kneiVFDAWl=N#wK4r{Ax)UcOYet>7EmhbIufbi+yu8=a zaUJ$NfM8OR3Dv_i-@={E%6No>pNmR78c`rCOE%CQiP7Gn#A;U*%V^ux{u7kRoj;2h zLQhy*A9EfUJu^*H0DdW|x|j@?V*UJy#9sgOPkQiaaoZ*2uVFH%vjR+IB358+jD9*h zB~661*kDq)TQF(ISB!Mm@QdaXZRbYAm@ohrgx6#y{K_#2DvB^-rnWI@%WMXSt^M8) z-x1_|vvaB9@&vS;f<7u>och7XGTq20Z23Ex!jdpqH~Bxvb#G&LME7*dg}$Ww6NQVo zsPDlQ3cUtk4`sPx#=!0VHsXqC;Qg7V5ZanP9Az1arhj}a1I_(%Q>g%Vlgj>(B%s^J zwa|AwU`aqkZaAKS4hy7dX;d&Bm#;MyWr<~NKvbypjFb-So;Z^560;D+&>`S)Q5Svv z%}l2I=;njPEGk0EP<~_gUOuwccaRb_D+P-mai1ekE9HtGC;~a9OeQQt*WR4 z8)q&K6KlTzl**szK}|Q?4$+L-V&{MeBPFfh&W`Ug_0OI?tZ`vZ>wf6(ENCXL%TE;Y zt>CWyIXwhz+hji$ksu%w>k%)=IrLFN@)lh9?3fc4&`-wSy18^{rK_jsdzkQd0u%RW zFZEh*UwY6m`iiVfrery&j(Cfhl4KBZRx6-;F~X<`%0y8_o^HtPKtZyf$R(LmX=JK+ z$C!izrAEQKV~Fqme3TUf>2Zl+clkN9l-39zBkgTDmUPmq<(?=%8I&xu0S%!i5>ClX z`Tr1hj=`BlQM!(8J007$ZQHhO+sPN(wrxA<*tR?DtEZ>sqq^3v>pbW(uqyI#s(D^R&m*o4${ry=7lsCKo&U zcoM&o4oP7&R3uhsiBIIfN#ncN2Y#))K|et^(m_MBX>EsCSB|=L|NIzASc|?|J-=}- zUQjtaK&WlLWb}lhx>ZuFZ=xx`Z?LLFCDo8sR~`zWy2ttSmT!b5reiV~pQew(5VSsV z*tIwhs9(-pG1O_|p{jhCToU7Lkt9NOmQ$k-t=6ciu$>hfAu^tYL+^v7xaZ-hbY+wX zsU>kwb~bdV=jb zqhWjV%ECnnt9T1vz9GbxS|ymY1vr&5)u~6GN2X9LqeWf#FM>x;6YW&2Cm~~IBAs&C zyf9sc7_;Y#ska#gl)lg*Cu^po)R;%gusNwl8>op!9A}c2Gd*$5lr;9t$2}oeNq?Uf zxsV2-9s!Ss4NP|M5^>3Jb3iq(NZ(UvBV8rACv1WW6L_*J(x3@pWlJuQ+|+ol_)3N% z9<=V>gD?r}VMf(rdGxzTVOFGfv4;s&zYX5p($~Q&04mJamv)?$V^-r19Rt>DWp2wU ztckZ@SlKwhb?H=x4p70P`CaJvi>a<7vTxss^8-@qxp}vz0qXa`zOueXbm6f#s+`>{ zucz8|sgH6rI7lC7WC#P=?5vwU#w+Dy^sf-cP?4E54t$k_R`8o2A#Mp8X z^Q@4?s9|EcP&4KR^;Jbxx>CsurgMK9_2vpWH@g$R?l~oJcZnX#xIT^|J>PTgV8V-N zpmy6?iY-DMB&3v-4c`~cYU6lCJo!G~Qc;z1*K&RH5tdZys2L&~V`pkZrf3hI3{TmCd_zXyH;)9#WjGX&pJhcksdX<^-J+LOOwj zurz=uFgx;j!*7o$0K?&QAmGApQ?rx6MXL+-!RJBPtl$%LO-y$AjwSXd_QN3xTgb^4 z3c?`4dr8uA92>pUYL!AC%nFBBpiaBJ=Md$mGyH;+Yx)@-pz9Dy?`J-ac_af3h!WkK zenc1f*6ypC-otuqfAr|`olUGiQVI7J>5F1)wy1V;!d1`E4joecovwwkyL7S@?kmw} zGx2)-+4U6|tC>y@AQDI=#D08z^b4(&Xw^5{uYYI{|H|N|iBHdGWcW6m5SU7!T#@!` zjV$c7pAabhy{*4;cslZ~aFXx#jxClY(R@12sLyt6aBPqn!|LsKh!#&IkZ$nnIeO8? z)D5-7=lW&t5G@@Ubyk}FwWoE4@L5?EAEu>iR&QxJ`QJS)Yb0@#iT=rc7mK}Xad6R- zA^3O1_X_$Ss|f}vqsjVvTs?oeI=SFppzyDB-{r)g)9HX?4yfX;*KH|?1Zx_Egoywt zOposFvBV#WpYmx3crQ^<=RWT?#KDC`b5#3PFmN|1r$m8c=lZijRb1S03X|&2Po`K9 zj%5E8(!K~rMyGpQOB{V`O9Z-F*rDOTSR}Ad9o&@#<2tI2kA77o; z%i_1>8jKwK2Y!=z;X~UC-U{?wLb%S^Iw6JI-U@Xz9P3p%C0Iwlt$dhXZ37G8M|8Rx zmvjF>I!+7iuqs>g_bnQVOefvB6BR&5FxYy#+CjCK7T)0!intx2roOi|z^z-yO<+lb zA_t)m^a>VhKSyE(*kM(I*m0uf;OCMxx^m8UcuY*nw)6xu(k4Ygh5T+s4tI|Q*jSRZ zD#(BS~EX*3TMxz*9=?jVjo{PwH{BZ zaBBqu+(RW4;xjCnz{$eII5Eiw*7{As+2u{JIx^8Ow!X`*f{4(pVc={+Z$?3(D(hg9 zB;9Ne5c9W*VFiTM<(gW?h}PR@;B>o>(b06@OZl|Oi!&n`jWHW6@WLNhX>K1zT_qQ) zS#?rzf2m~jS&JOUfavMiTFSJfz}r=-qyAwwPG^Lx1u(%WbYUbBgR5i)n}xUO>KIv; z--p&Ls}sx0vcb+7%HN>9J-9BZTa{mIT8rq2G>hm=Pqlf3mQMfOg~;Qi7deh3>QZ;G zw72DGftW3}xq@R-^G`NTC`&?!RJgz?Qk^-OuDRWYPD5pf^el%ua_Z#vcmzS-m;2v#t_NNnP&rTOm(ycGd2Eb$W)DnATe;QW8TW zB%RiJrTBEyYidi#Mz}}~JGd~3E{7LdsOz*9{$%d+#1DkjLf|N>gi`Y^e{tOX`>f(Y`IeWkFg0Al}mf@C* znZqdp3~XbkoWqf2jld4lEBBTQ$fSeAon&LgIr%=!Ao_D2d;hSV){H@^5wxI~1H$*m zfcrc7#x3s|pglRfC)-cmf~eHzcI}bhHO+_c_Pm_HgwE`=t;wk3G_ri*dr~tkrE0Iz zvi*}3p1!`xTUARj5{DQ-QGj)^ucRHI!+B?+u<7Hix4!{&PBMKMgXqxF)Sl!rtrsTZ z!Q_+ap|;}BwH&D72aMsy-F>+l3*O^^UnM>w2enwBChBWNbLVDm^kif89^loh+Lfm& z?dxX$UJegy?b@>~Ut*u*C_fhOZCd(zX}p5MHiR0paaSVV^w^5O;6g6Lx|qy+0!m!L z!$&rDw=Gu7D{xl0TwB6~EImRzLRj68D_%st#!WkA(8pn~=v0HGya?{m!KWbpS}H1? zeu;jDvS+J;YaCwJ2MJVco$4le@7aJU=#2A_@TNu7OaH}X0I66bc6Bxh2Os(f6K)`@ ze1vPtMaw2#aU=0I9k4?)$MMd2<;(n&!>Iw#euw%=Y>{*SC0|^6i`OFO&UVMvC6n0% zzp!|ah4NH4zZZLHH65zCRBB_4CfBXKBpn0dtu=-GlCKQrN+QI5aTN81ZsHpHvFOue z(8Iw%D-I|FwF4u6EJdY-t0GwO6rSo+k zyED>=yd#{oxdXVrqCdd+3Li5_T=Y1fl{U7|Kgd6e<6qn^qQ`F9vY~4(40~q@$ouTYIZ?+xF z@)1W?TG~88?4SH(muQK&uIOKiWl5%KrmLr_ZPrxN(-|lY8q9Z_HrZe?8LIUg%m)wO zr{82e1g22JN0+mns_KyLih0>OSKEi@L+3bNYSx-A#a3f9RO>ShwA59W#l-11oQNI; zw7od8L~g`mo_bTRXJz&?O_6M7j})QmR>oShQ%s^1bghK$GVva4?=uJ@3-47J03C1X zmP@=AEnQi`dXx$A!rB-JOZQ{$T3kz|o5%6%M9&$<&L9QIbCvHXGeW4aX5FcHfP^@j) z;9xW+^ZkCu8>$De9s>QJ&B93}Y`v9MGg8Hai!;@Fg!c~0@m-r6ggR?&qF%X}s3?R7 zLX@$EwOgP9e}m1xYPTz!U?Kk6*FPexV;TlSs58{*sVKFMsHT>X&{VCZ)?`NBJ2QXgE@&b0;PJVIbW38E ze1DQjWod1ZscM+8N?1OXCEpY0dNGayh_4hi;wbjr*pixxh^Q3&|CBb-O!NSZLk>j8 z%L3QUG}#u{WZD@nJ%nrA=ooaiN~Sq- z=YCaednfRAnHr+v6~4`FD?sSiUV?4NwL2&G`Zhw6e28xsGSif%pTcD6&o)Z+T%OZ1 zTC~>=BV3b;BMKhFiT2BfnWj||c}PPCHX%$;=2ehdoTcf8IgNVP`|wo@Kl$4}f&p$A z5T>*9WocbCCZ?{A-Ouh`G`Te%9Re#w*e2(B)>+c!G)1bj*C=c^B)i17++>UuVU>`h zRW_l?C%#_l1mWLbe=~S+g{b?EKNYjrKPf9pM-ZU=FsF<&KPnEZ4+&l~-`xw&I|){mLK zem!~aBd+>ORq$}?^XW(CC%|^;hyHw2`|{@#$J+q+<+iBY+jZGRVE4A-zJ6HT%^*R) z>-CK9;nF9?&7tj<-wm@TY%$ye;x9O(La|RZ^1A#MIbB~lE$$gQRVr8fTvne4oR3Sc&0g`l z5aV}{kF(OtE=zPkByUo{85&taao%U9j=k?R?gU;AXGz&EEq@z;j094jN@*e5$H#gb zSmW;72BAy2Iry2-No7sJHKxiCGr!zXQnn#t+zC3P7B$?1{FCDPri2ar(9S&wyh4*` zZ$YBA#G6KhotvUet24l#rt9(=o1Eg(&9YAhPDvOk@SbuA{;q`z09zh z-@_IOAn-ke8OFS++YL$^{!CAc=rl6MKg%gDwUK0Nn~siI;agoY4dM@Z~$t|RR>D5??W zOz=(v(xwp=FL1S#Xm7A?Z6<=AeypO`-ZMRRcVla8i_Q~QeJTpxQ^ba%>G`O|zsU>LiZ#Yrw z2klsK2$5g+$cw#@^=0WrSg<^y^Jfa?v~^3hdF|WR!DA{$S62@Cm+UYP*j5g;Etz#9Q-O*+@jI=TwdKQKK(+PcsbM{%C0t?QCc2Caz@ElX?pf%GxZQ|=#G^q2#9 zJ=hLGa9T3*YqiIYoTU(F`*xl@t$*?CTQ>a#SD0U{9=$lnXqUZ*B`?QwRsT37`!!$Z zldgIkAe@)hhNRz@dvcW6=z9iL^g}YY#5n@pk%?Wd&1nQbW;4{mlg!f@+S{!~VkNmyJgd_?zPyd*ASfm_N8%XuxKZ z?~Srk2&HdvZk&(xFKcqqQ6u~o^lyIamKB1@zpV79P<-OsEL`&njd z!Ai9Fc!01meut2 z#25C($#2A2Q^W+@`D{RJu5JRYtD&)sAjDUNXLTGv$LQEqMZQ-DamI~X!-u&Rw9XPw z_C)>`UcECRc_SlIj3=rq$Kg)n6I}WGhUDeqY7~GQOGcm*P)_ zB$a`TtFFY@?MGGc5PL_^PR(Tz=)a4bvrGd_f?L2|VxV|rHQ18{JFr$fg$6>9+nVF% zuVw6SlhJkv+g`^nU);u$g9Ph+X=uJexZApN3-%lE?YnS)qY*?HZf$?tZRbs(^f5e&Z9Qe+pqtJT_a6$v)>3 zJn|%n+h@mVl(8DIA1y!N{|Y-?qsEz~J=`U-4jK8tE;`Out354dAOr7~zfE ziwLckSI~2Vg+#;DuCsU!sFZ?>Z;R|K-KWxQ#E<;~c^sVlyDN4lQ}arO266xCw{@_tnU%(VuHuQs ztcBY${1+0o(>QIlAv!o!PxTWx)YkJ}f7Rr%h%ok9iz^JVlHjLi>ciTj9h87PLqNdN z!-wdZB)Oj`?$O{p=0`&LU0`C=!3d8asInwN0SO9ScnGCXDAzGi;(UR6$tY$b5H<|8 z4jDq1;)9a?L}k1jRE#3Wc(PgaSS-88v-_gf*hTX)ZpGrieB80I!~ z*s-@<&I^RRBK4>&gWudT+7o&j{+=V`M&?iYO8UpmgMLO&F-pt;K^;}aiMU`t2;C)j zP7)&(@Dt<*+8S_f)=|R9>b@^r4b!d~#=o(fg^CGklU6I!PTgWpv))|yK9Zu;T%fR z$s$b`aWXBI*%e7;d&9U8?;VctcQc^MdDl7wM4l$EMhGYqev58Sq|PHnK^{$>6lAJy z96i5^;^HX=du8Ay>WRIh`QgXL8e^O`eE4IPv0U6F+jYb#_N+S@~+wN zI`;bTu5cv8Ge`RBLCm|k>dDR&9or`N0x?}W(n_S73)ery%OIT#I~w(BP_zw88GToz zp$}a>B(_As3{lXn>T)NRi<26mL;%BMOdSGqkIgK!Sl{6rzO*N=8Lq##F&1aA90*9V z_(fGQGZsLiV>j}XIK@&v#P@rD?lSPq(w%<~fkE|=vwg50jiw5QP8^P|5%gkqg4KgoKgXSd12prOVpaQ|Ob&i@) zeF>qzl6)yZhq0!@Jo{I|bMIGh?>!7h0^F?TBec-A_`|>rX}`ySq7wyLbhjkvO(4~? zKJ_g*x_A9fxv+CJJuwZD5zwglj5Xj;nCPCCYy)IOa;^?kv}4qw~Gu4UMKV)#W}>xjD;Vj%N7nj`ayYCr>H78R5dHWB@4+%TLBpB})-FI=I8(#qCLz~L)KiLw!kOVBPQg_Kz~ z#;vV?g_%^r>vYGc(11fGEY3t@O{3HgiiDIa;XO2#5h=m^?W z3^ctM$Z0{j_i1pJ>Tihtt_eA#{OFY?x(@_gKEiGtWV63H6w-2mjc2s}Feqma8EY*; z{OBmTG79G`9XT^1r-Oo?C}L4Zh!oC5plAWXni8o_5mx|4+XxJRLM&2rN<~2q-e3cB{BYg4Y!VXGv+A2%lbw&?lh|ZX~_qVuRo~^hED=!5r zY$R&vBemNiJ8(POx*LmDltxgRl4&x_{^SO~xd9}Hjk^y}(mo{yOF^;0q^sh!!RBIe zZgvym@3n=%rZ(79F~a;2bGrZOJ^iFep1%k-<39Knbok6oK6)4G71dJK!?Agc!rup{ zKu*q565ETLS!Zina9LJg*;(x&^tL8LQpRrLZRxhn%0_ zP9!c9$pD5Vy?A5O%~*q<3`=tm%O}AdlV~HVkA>HX6asxr!Fzrw1aq7adrGJe3YfBe zDWDu3qs*krG`80a3N>MrPn~dz)G4AklFP-y(YTNopm@g!_vBV&iYFCZnCpQJtHIp@ z3COZcJ0eki6Eg*gzJqh>$q7M<;b4a2v(UC4PXwvdR&t}bh%$|GfQ*?4Fh%v?FSC>* zZ3U|fFU)AC+-Uz4*Pp893a40BWthvY-T;`e)8~yf1as=5m83o!F_k5)Vv39(7@Mp$ zM0sqT(K%17Sf$j59Xlb!CDZw+a*jdd$`N3iyp2wgxP821RdVAwZO#9p%t1wB8=F&v z#q>%Y80T|_(ey&^&oB&LrTsNerELBp8 zr}p(n$kC&8h=OAgoRDlzKQG>jVVsW`{2 zJ;#k0b$J<&Dt2Is1&`lPiwRTDFB-Aoj9H8HR9th%sL#O1pp-|V(7t$B73Ci_cg&ys z^*c^sFg|TWP82S$KVE`50kvIKF#Lr_S5Gw?Zi zDK;l|sOT@JG)O%WVel?KXBWM|_(r^myPZsV;Bou*$GY z;X&JHm9exJN##_wWu(9G*sXa6kwcK#qq-)I1871IzV^8vNt#2NdFX<$-S6ZWO(OZC z&hFUYT(P2Lv;!wb{Csq^kwS3AB9wjZ9Kk+tih<>*1GOR?2Suyv&+EcY1=_Y`#MdY? zGz*v)S7tsbYnO5qXgYCHKs1gGRJrzpWLdO?<2L_H4B^OmA}NbGU=^jp%(#9a_bjtB2X5vf}^r%1Gx9uBX(f($E=$IG;4 z(TMjmk@xk`mbQe3s+?Gc)lrztiq@M}fAGMKM_v_sGV-F9z6tK`o_PAUj(QcwMe>n6 zH0}j5tdUJ3!iHb33i)2j&i3PCX>B8%O!bGZ$W&RBF1{!as8jmr1UQ2vnMv5^<7eZu1AdWaeZRDB7{`k7rDn+X~-<)g>I3?9TZc82+~f3)$;p~s-e&k>%Lof|ra&oADrZA2E9lQ& z8*7%PT}KQOLm_=$cHPr+go< z%(2d~Ll3;oG0%STU9e7{1nQNaWh!A{`sK&Tc$+|DxJFu7Oj(K!-|DhTvA1(I6@URJ zG$P!Bct&+uz8uIfGs_)k)I(;a#bp6Vz0#_jSzRfLKxMBy$u>jl^t(jDOF5Yy?Mk#b zH^7yW!zXJKr?l1&L|v`2RypjCd8P1+qT+Ipi>A*UnL`(Rf{xNk`1p7PdA?BD7c5*- zK$y}aEM;Ned$25Cxdxm&$?3qWeHh;)+mG@`SHpANYn_uit-NuD%JM!h35!EwB0ncb0w#|9gNDV=*W|3K0mXoaSFN{C`S+ z7+kh@?%sB-d9(`>1X~zULiT3_F^uXY^%vkr|rcopO}LDJMya8w+T&N znRwFuSaGF%ImPvlALVP|L@IMi^3UwDqUkC|b2+4O~|JojhDCJ$O7^)Oq7H>_MiZ}9BB$OJg zEnjbMM7ZxKsK1aS61${u`#cKc(jF!j!Nv6*?xDQH4{(5>BR4cW#+iSB#!q0tv7$k} zgJHuKCf3CZqT4GWk}p}P8%BP;&4fT=N^Nq3dt--f9fa^-VxtY&PbfDGm4fo=J+5u+ z`-C?{mM@_}$7Dq`1aYV>kU`CnY)P?RmZSy`Ry6!4c@NK{N=s(6#onNW4gy|exT{`o zXJ&T5x*R1}*=#IAZpPAve~`&$%PG9gBD8~rrVNzxg`p*J6`6`tS-rOG9!rbCKR!eE zD-4$uV6j{*W8UuQijc1iGDX%PDO$Y6(^whyv;4*Kk({nh3}wd0CSGi(lQU+xF$$W` zeo&H3#Hbz%_F*QlW^sIP`3-Sgt3YDdKR;x zZ&8MM}Y z#k5m$fc#Pa7wVwj?& zY0`|;RIk5&Rgjb8{g@o0-D$BvX_(FLR(Y0SOSrPg|^h7cg8w=`mYWmW^`1+Y6%FqbCE`HVr2<&qaz zM|PkaT<|yoGW@;14n6dbw*99;*bIga)#92O$=UTmGtgHGf-6fpdN?PX3n_-|#xI^m zmcdL1(s(n2vagi}_D}+Ltq$AAj+SVKoLERVhI~v}sL@H1}g50F*;0`svp!&@1AujFKJoaoCh8DeW(u|LqE+OW_l1->jkZjC2 zE|>Y9b|O`cL}nBxET{0cBOdB1TfLTpfeK>TVc{_}O=u)4;bQXOq}YLb(%Us|7H8n7 z%4x5ym?EtFWy~X*fgh|S9vXleackD}IQQCi%|G*I#;I5jKU#h~{>rQA<6JFFhR=S5 zbYq-@N2bwUj5gd+&1p_Is-2t@8zuoe9ME2>7OvkJlcXJz0a%{=5$BRX-qkjw(9h+} zU*jIaz_lIbo8c)8^BXM4lU)DnXoC=$6WjTX1Sg`ci$=!&oy<4b;I-(mMUwDPcfI<0 zI#UqRsLEU65jFzewB#T%`)OP<=?g zU2_QEp-$7DxYP`yd2mQmU$hSUU7@OAqsAMjfI=V$EoI%A|i$`b6;2{;g>_Wvb5Epd}p6HUbQRc|y&_x-(^}b*)>e63>K=5Dlg7lh(G}8X7*$ z6)U_}*%Go_u=LWBvfvHgH~d>0ZC2LKeCf2E$9;@n+PYp$#WG#G+X~TW8fA}&*^Nb? zQ3Rz7-q4Pgp9q}Hb3#1?{C{;oKpW}M4+1vD3t ze)ZCeZ#_F1v+Eepcy}clWW|+B8V7hi>F>&#IX4re(g=b~={zXM&e?aCBV(d5)2LA| z)*1>ErI1RdAF>JlT4uh(nDJKBLqDY+UTEa(EPK6VIF8R%U_PwVdtURC>W{M1;LI*| zLOI@@3#p^W<{~N!F0D?_SfQ)-(iX;gom`o_VsSdQjI5<2q2V>^A8U5!&urPcD$ zR#mP;-1Dmoo{6(xYt7Y$D6i$heXG+F8reu;r(Gg`hid+&6#>VB^M)2bMn8cM;X5~1 zJV^J5_xNpwA6ki|yIx${PB%jm^#k^1S@rCD&5fQs35`tcY$s|=I(f8z);oU7DQ)Ya zI^Q|-S#g{NXTrWKX$4TkMPeq;=ZuQmQ(Vt9PNpyJavO2<6!D}x@hR-t`=wJ&(+5PE zM5SoE($;()J!C*NyYDPj>hnjdTF|*gwnwU9n*HT|!4Cuy6)Ui}C~f=4!v}OyT4AF;4MMcO?{uet^^HYVCBca#rgu z53S7zT(icb9aZNry?>}}zRkC%YJo!t9S)f$erGccUB&#a7fRVqLrM7(!4OA2Mi;Yz z6Y;_Ge>)?Oig7MAz3`?2xX-*&TU5K{g`DPwv{dzG z=+Z57Yt-cnTVN>6&gz~h<*qu^FVW0$`s0-KTXEVOJ;oLT!9L$x?E1Utdb|H`mCo~+ z*%r2HC;J=!m-^us|cFL)u5aAfh`{)Yfty4+gwyXQ9b__>dZ}KL4}2 zn2t$G<}I5NOs08}^#?>Ht9X%e9H;rdqL3+^CG{}WANv3(y=IcX#8sTb60c`y-iqWL z#Q^&-GWVYLgLOT@KlV|<4)b)HlQeIOWYGG9!4|TE?GL^O1y}0%!fMkEiS&r`v0X{B0eM4M7?Zau5ga{YsUd9MBJd*LZ&9Z}EnGP>i^={vzrK&Ea{XCoS~(Eu^O zMKs-kFa5-ubAI{*PhPb;05O7sG>x&=i-K4?lbhk>Jt?5*8^TH{=+R&|dH^^7m=KZzsNx=- ztVj7T1jHYD(Rjxun6>>^&PS}7{`u#BSk5e0ig~Sqo^-0aVLdL&JBumEdkON=(7}Gl zfEli-f;{6(NLb}Ndda_uVy*R5l!RmX(th8u&2Pa?0du;q`^9CL1gRzsukR>^u=xT7Tu+S zKP-*Tt&XK4b6ons(yeYP*=q&I*9~H?YTGvrW6wIoAug_-e|F9Ap_c9K_sQwjxbL0o z()Bb)69RnDMtb|avC2Lid(Pk(i>0d{M*IPB;X58XJOYmn*a>z>m%|9tLg`w`Vuxjrp2PrSwqU{g4EM_DJ)i5%)+@4Uim!HsM+Gyh0(TD!ajXh zDB?2aJ@f~${Bp5pAi?n21&wD8!FUSo8P7ADZ$e+Z#W@wPjKV(G2SnvFUA6D}Bm#R( z|FPZe{vE}=6g@1?J(n-cYZIj1h`~|)z13J(Cd;%%$BF5Ohf_XnS-uIK{86lHqI0$i z)E-O62c5QL*OgWd3!hzvPZ1@R*(Y18p5Rl_zLbJYBs@gQ$yg~0@#Jr>x^;YZ2HI9Y z=5SBv3@opKWX9Y<;2c-Wgm0s`c>-I0GI`JpdQqKq_{7LSD+=VBJ4jzH5C@D_?b$)* zsCTm#M+{DLr?+~z;G%9ezZj3=9QWTuk=2C#GQubJA28f=aIo`otfKq_sNP8A4=(Ww zGQ8q+WG5tLgz{O4WdM8`9j@#V$e#N(dq&&iz1X(H=70q`e0pG7{K(P_!m4|No)+Ym zS(Hy8-{6Fh!;z8_x3~7`z-XOCdJ4^U+wa;ZOPMR0;hy0T<#Ct}{8i^9n>Z@~0f8?D z;*=ThwIj!L;K`uKHuYgIZHhLxogpuIhHFpF(D1wADtcgRmQk&d=1V`RCc?vt_0R|P zmR9Q8O|6}{;`-D4W&BjR=kV9^@CBjX!ru|he`&#V*DS2O9&J-LzJJgwL zO~iO3Hd{P=g`4e&w><|pPUA)+wEj58m9pw|q=L)E>ERQNc7A$So6f(gTd}{`q<>*Z zu8lYjBdWFW0o0Lsj!Y3io-6{lHI(5GixJpb=O<#VaRMm4WS+9tc8Uyl%f2PmH=ta5raYMJ(<9lXJ9|?c{$P5u!v`diooG` z`U863!zu)C^f+hsxbGVd!Pzh>O5d#nOWv{1UgEu+Kwnrnsqa=q`9o~zlmGRQ$CoF@ z-plgT>(_eJol6$1uV*}>!2a;l*Vn&Cr6Cy<{|Uu(_S95sX1r+fIN6b@%cM?OZsy91 z%83gd5_9$T)>xd$OYG4W^Hf)DHWDSLl3b%^mp6jhyeJC_y6pAY(k7`ndPRWVkgBVU zA_}H~ZuW0<9-Ar~DJ4#K*2Q9K@1ow2Ihi(Qd=+NbuGVWSd68o`2{yfE9<1aOvz~6B zlJd0$JGZ&p`I)jU4bnL*Dz+N}Z09^Bwam-4^4LFZDRBP~rov^>)?GN$=HzNDg|cN< zrBv3WY0pxlD{nsjjbnL>wBaFUWJh0}A9x~>;_MmhX>gs92LoNH#ud^wa1r$)T;Zq2 z@N;wYR!*jRhdzEAjJ2CNNk{XNzr3ZnYDJf#`SG!HcuUD|{;)T)QgB|0n$1#6u{jgp zZF|eL+lnc`eA4sCY;JN7&o$AO^l-v`g1lRK&6p>5GSr%@?!?pCAt1i6Y&TWC%_(oQ zv-xFlHbA3PVbz2h>i~;j?KCQwEUBXF+<3Ufrz2hz>F{3nA&K&nM-S)~OG#Oz7rKO8 zW5+va3a|0CmRVPlsv3i{IG~xv)*X@_Fg`Q9p9Bmv0eaT+jX4|jqa+}ToYLyFw0R_` zTt=ZPo6%jevPoJHdP ztEy`1$6{OcB+%^}sf?mOsyDRiyz7~-j*Y~b+M_H~+wGabKu?&WrJoL>{{awqy;W!K zbP0g)PihNi=vKiQcmlR3vZP)z#?-nRTfFg(f1&87J>cl4J0T1F1C4#Djv4h3k;KKu zf^te$soJiCc?~nsTRfJ<{t||3*YNcpS@MLYX?V+wWfVs7r$55%AU$HPlYA?UtJRM>BT>6`dSSJZQVVUjsr;ny zx{+srUB7MT-b%d>)vyBLzRCIfXLZ84QMA5Y_S%^^J}&Oz7`y5XHBcpDZJ}^qPl!M} zVrWIp8QG^vTl@IIq*SDW>fXdbKf-Or^k{?wsF-$Nb~>$WVUxI;xR4~+Cpbeu4=K)ixlW5BVq z%E^1vJS)7?Gr;A!hSXg42#z5W#N2=@16aCbinYI@JKSW4Z?P|GWPe2PRq@Ny!?D!abP}*l7)$k0Z>Eqv^2N(g4aFD;% z8N(`2(l9_jmksbPZq+yN|4z*mC!b4=H|@W;f&+`tw7nS@3h2v{No;DojPx5-+-8-pk;%UvUuiMfSii zPxp(}0jwQ?;a(Gic)yyOLgMq&p-OT8NbO{z`(W17If$8w}p5GT`tuuBW&CO zc{w7mn4B${qhwBFuD;Yy)ilo-Qe~Ti~8l=8iJp2 zg<={a-Hm8+TZ}lvK*nCI-)Jjq3%p%{01uf3=IR3Y!)7nm@i-Yvgnxzx%gEr7!H#sw z4uz_!J=z2R{&5pE`d4b0TKz@?GRGc*YUkEN)qku#=m*j;V`yTUR(*H55#(6)P)_m4 zqfk{kr1@pGIxUzD$4EM3A9z3ZHxncGUlI7};4awN4@o_ovlXQez}h|;>VzX0yrMP< zP!GW)*09iDTrf9FhWaQiVZwcyiVloC!MhZADsq@6D3d+wR46)RjrbyQuuls&G`h~? z@(JG8Bf6faL(OLH#`L^2O{kDL&Nr^${DaLg60e_7q4h>*mb2*Fs!#0haq1Dy>$$@c zM_kuNw!j=`3*N}HM)I;cK9dbx*RW^zjln(LM2l~naSDpue$mS3%c0M3WI0cy^UVZ& zUAq5SfQ!YG%f;4k>~g(Y{X&XYf11~CVtb>Gz#C#OCE*63aZ-Mm5y|fsgYrVS5VH>msj3i#0tu5;o(eB;H`i2Hm#giV6x|ntf)v3Q zh%n4?sVNc{Fy?T2G5hiT@By(8c0`|r<+c9MFwF=>#RRx@Be%_i8EwF%9Z_~9dj@S! zrHqE*FD7Ptz!ote1>Z2Z+@%iqgZ|mN&vTt4Ll*-Ze)>I_Q|M-8>?{Xb`4503+~h&5 z8jlT5j$%z;Q*+3+L9Lw0A{#tm%FDnOFoT9z8vpJ*WmgHCiHv9}yr@!Q$!2mJe!ZKu zB<@O9O?=cJEY+HqAm@r5|E-c~^yZS8?RbC?V#2!37Nl-xr&`}E?huE|#%xhnK1_G! z6oJ0X?+fhXE)VLTtDRJS-nnN0y)a%NPx!m)M&ZA=nj#BmA^u;B%l|Fv|EbjuCjY4v z|F0H{#R|a;F`|i{t!=6bIUXSEo{uHi?{rgloI@{RNlT{)%0^qb902pCS|U4P4Bvas zJh=q`t(%bl0+SZT_QMZxqBCmUP|w99ef?jIeN%X5U65{)j&0kvZQJVDw%M_5bvm|f z+qTi+7dtumpP4gfW^Vp-v-iGT`>9o{s@9A7ruQO={?11#N?+zKa$4#d6V~lZ@uXVy z?OQgk?zLQ;1A1OuPEw4RrFUnjiLdLnzm1V#f$@g0N5N3Hj)t#)VTW-3=c*o^khx&L zRc4=l{Cfb&89F&z7=GKPJN;8-|Cgo7z;Oul>nu7(zR0(Vwq_4LnO5fgX2!DV;(=kO z^Oc3K-*{uem^Ls*bvE)7Cm>i9M8!j?>Gzq6qTp7JW6%i>D@O_>%b^C;yS)1q+RmNX z93jL}*0juQa6%{_8ci8K%ty(!zd@_%77CrI%}GlF*6YoBqyvGs?~LR%xr_@Ax`QYX zI;A|6`-wrw*kY`Bjk9jGq35inQH@izSZ7jJ*moH`Xnv$F7x3Oc%g3^Hm?|08VfEnr zp@wGPzieP%;laom-!=&$lKhe>Z#?B7BEXKeWmyb6_m$JWTV-1fgEr~egO|7q@% zqpI^CO7PpK%BVtiks69JFtn1;mlJMekR(xTGT5Lk2;O(V&$5jVz`$y&uG z-W6D4%i(I{Wg9IH1({-kv01l}wxN&Rbe>oMjokv(LK{YN;{aQz`->mEI$uxz0SJB; zPA+T+?2eOG$J<#J}eUhv)b%F=m7^rCjp;Jtpu4lSc7NbxiqVtm?>0<;JIj)nrR=Gt-g@o+Unm;I)Tx2hTa!GKOwEOLg9m2TT;=7}+XHc0%T~uS`{<@@ciFEj>cER!5ys%3 zNFC!;SYy<(ykp#4$$v^_6L}`M!%;PFr>M0LWG&lVfH;9TWA6du&*u)395VfxOJA1j z`Cn?1_|!M-Mz}yg#}fZ;!uLPp{y)x(Ds31a)uoKD?j)%z6Q>_UM1mesyu$dPAiuyx zg^>v{k!3+h17ZeDB*7_I9L+%bB&wRat*RcB&~%#4t&~>Q1L8~9BAe0P{AxOME<2js zIyP1wn`||nzH+?HkI7k}#T+6 zQ$&{4$>fxBajZl^1Nh^|dVh6OrjTOCbryrjztK~DVSLFW5`{bV03`%8z|wr%@W9Hg z>%4DG--@>ddXEA(2j;t9kp2BE?q@*Q@vR*A&P6_$PZY#&`;?Xq*w5c#(j`w%@Hp5XFQ(8_>BQF_*Msc z2>z)8=71A8zaf#gm&&lmn+lL47?6jk`d1mQchgU4c>k2V6a@XGb{zZL=Ik5^y;3psh#h2cu)=tBr^yk9*=;34T^lc zt62J(0kZJh#kp4iGew><$M3?KU-8FjcApAJpZ*bNex`sLJ{Od);oTjtQ}oZAzOT#t zjpwKNPE!B@?>*6HL7zWz*}GQomw?@8RMywoaZlTe|JHkRSnM5-otWK_U6Ekdct8j> zhGLnlh$+@MV=~T!TC;?wYHS$2a&Z_wumH6NxtwD~S?Kr=TsArNW0+_VCBd{#xwK-% zOsq8vGiIYdf`$2!k*`9%o zjq^ChDmy@kH}xOi{K(H-gCStrs?!_sKU>=dvjk-p_m9s7U3z)`CB{erhpz?v_BH-l z9E(_}l-9!`$_tk<9==Teh0|@&2KDV9+wxlW&;9x7Jp`<2CBodgT1bCkhCui}BQKY1 zv#cx29{9S10sx{P2>~3Kt=hfGu^p|p5+X82^#*aT?H_!4#h%*oA6|2YK3Dg{AbW~p zQJ>Kfo`NTF!JU1ff~>~~FC?LvBZsk1gbS~TxokrAtY>k|bZ)&1q8E~*Mvgv6y~oe$ zRZva$509ZF2H8(Wr0ClhJIEJNZf`sp(6kR={b*jJ-h`(Zp{DY3jJSAQVsWb~PUkq* z=h!+t+S*y?I4yq=62y$R6>VBLR!=1S&7HSWUz=m`mU!Hk*@Al7hck<{WiMCNw=_2h zMHa*n)R^T0fvnH1u*rAY4e(SU1-mcbk z2eM+oNlPw-TTPwdFP5!A^r$W>XbpgKc`;^lj4Pwm90B5i4gS;ZP$K}G zYWa5%AWRAsB8YN6Y%~Fax&-OUJ8SPv4E)?e&VL^6XRhsX^&)Fc5m|D@2vYxJ%JU?9 zNHq!m*&`C(+ETso0hF#y8&<18mWI3q9e@AFPbPn(@Ur|>AvfB6I5C7!5w}M)P;C#{)12A(PQ&LhNYfv%!1&*K9z=5 z)1NhW4qem_2#>F<>)+06Lwlyn|Zms$5UUic3av$J=#Bdi#+59?LAyC zQ!m_5sm?4%F5?3qYnN|iYwIw_@_eH{MEmzND_UeUktz5oHW-6`05b(e)W`YOx+fcz zlxS>4C*X|FZ9f+?chhjk+gjNE>`|J;Qz*Vj71S8TIgbJwWWmv{P)4h}xh^$_;mGWX zb9?GMw_ryVrLTDUB!teirtVWxvh5^u(*x~MNmh#eTneWp92(~y!yv5t}BNfgQCB# zt4}UG{e}Zkd_7(K2Ryu07n8k_h}wt5pzv@O!WKm_i`hv`F}C>bojZ%I^q%?rqP^5F z%sN*&?D)j4T3c8Pe+VWGd6T~CWjYLQ4AbFCO^t4Q;)?S@yZ4;)1E{>(IvUg_D-wV6 z99wk~Vm`Ol93+#dgjFS48S70;Wkn6iYgjI&lQUCG^%8n?i78&26h(3?k)4#R0mBG5 z<#DMM?K10mP1lkZ4V}+$R{6B>=?|TW0UYQMWA(yY?TJ5sfN+ArD7TS{HgKu2PEbqznZv@lp4678Reqz(F7~C>XypO$AD|V7AxUeOB&`IdXKqVo5M<}Z$D*q{Yff;Drsdl)2{OmDsw+z^En=>R6?+nGPWk3W zG--|A8d;_m(97#YYaIzT{PanY141a?=v9lLM%y(t23ip_Ux0^cEgN5gR#7WWDb_Bc zR&t9@qXm*8OI?0|@sZVI?~|TatyscF`ovcG`FlCjDyLo1i3?LrO-wALj9&Sh16IS{ zTLW;a`?Y7PrGG#zr*aF8l$L(aPz(2p?2C1rQT!QlUefY42n*aWrnpqRUTGB%6tfK` zr&e)RTNPIlyzZb-K4ru77vWwaiDlLFmN(bFyviyo|4gnar{zznH1Rqfyi4Yp^0rku zxMtaUpR?Rj>6Uakj|y8^PH{VIL8mG|+eC?$Fu}UZ%vo3rL5ZZjiwe$+*Rl zW!&-J<@&A$E9sh5gy*rDXI8FbT*QKZ zbQzb}&a_p2LLjJKhe+;jn$A}aphGlI5EY&;y~(-;c?m3tp(yHib@vOga}n2|_uFNs ze_DT^!7-Xofe}?QeeNg=7cMDc%BmbJbh(oAcI7&Q&Uz{>%u_$8XavWh7*QtkL!Mk$esP_ZOIYbSL7YJxR9{G-^OMISto9N|$WCI{b&uFz73z&s_zVVl*x zDQu>iJ`UR$__#?@ z*6|7DHnYb)C`oZrVadQD9ut+{)T*9}SB|jaZh+Fq(agecK8G*4+OKtokuKLDoYv3?Jj915D8uUvCwvOB7 z=Gx+>w#LSs?n-?{zFO=qdA;Vrj}nMiBjU}nSI%xaYztUW z9TF!i&Y=}NNH=u}CNm+Nw@=?er9;u{;zuh6a4e|5Ca;I?M5CzKS=u~qsvIpg6?PV- z+nYe>$I;HELApGL0?e=L!Im$Y5E7Pln#VEG2(O!cSa_+jknvp=T<8Vy0w+yysHjc; z#Cxl73^|LR-qokeOk)#yV>?^kAaisPv{VI}Akwk6LQ|B%2N_9s5W=(1LZ0qEGVjcg z#t|%nZJCYb2f}!TI6C5SCsrI$5{AWF*Zb8p50YC*L$@l|gS~XS{h~=d&VTQ~CEj!l zZ*Ch~j21d`avqi$q}YR`D{?Wvf_H?bRef1@D}k3|{YR2NIh;VKA#&4E4de%}VZwX@ zfA@5=|D-zxY9m2}zQ2En9-ntM+WPeR5TSoDjlQth=o9?8KYpp}P6!2Dgul%>vD=;d zqW}@3P|q!}!?IQ$?@Q@?2&Lf>O84%=zZw@zpB`1k9wXvY?>x0=ih39^HOloO$@tv% z(H`0qLjjs%!XHhRl3P3#W@dcAh00GX=aJ7h1aq~}u7=zXhJ&iNe|?!rPysp~eO?nI zE{VL%W#2tEoo_3{deC1lol-CckEfR3j5Ogr|5dq@b`U@h{iJsgf9Lw8=T>LqE1oUjj}nHE+kE*o2wXoGK2)Nb=J3++%q7ZN{yv$74(J5&`V+XC9OmC_2Fv2w=1rt*?1%?B7X)_q1{p zWE#Yx9`N(=e*6+M=O-{;yb5;WfNXkqJg;}yuEIQq1)5jSRK2AchFOe{V;Ut?1;GkQGMTcL^@U8*(h5l(Ch7GXOf$}zPSVoy z32&$wB~&eiCh^6%C7Z*BqG1Rx_SjM2kXA#`{qgZd;pyp zd_0Q0A_15_(*2AYGy+R}CQzLq8cBn*Y5AUO!ELosYyxBjit-FoX&)2vO<5WW8w+jX zZ^O!dci{#&g<8BKqUA~k-0e!;gHHXXKv^`>`Zb(!PyV4>kRfG1$8djtW91hAi)Caoe|<|hJB$RlA1TailI$|vT9CIJ5#JbSHt8@ zI=xf4k6WyDX)2<6*vrKOHx0bY%LJU=BiHxBgLC2*JtocZe8`F^A6UEq4|@d)?hX=^ z^_k@-03wpBd!UKAXj96L;`LMem3fMbTsnJ0?-h9ptI$(~)gPz;CU(v%nijJ#glAl@ z2yAA~GiIKFpiqq2JAE3XL63If;Dfm%?nowfj$r6{P;2582pLm&1$ z;q$h^rGyuI;%<+%Xv9LvGuJzQ{5H^fXdv180Xr_Kgm)&s<@Oz#@4EB0vl8j9zS48; z$g7XB3KdyHtxaC}C@2{rrHWsMYd>D3@mN+W;heQfoW?}8E!5K1JHa}9IVYhd$;EKk z{Pd4dIrg6ibHW~uRRfNn2IqSp@w`NbSb%ygNRK6=8^TLc!pUy?TKEOq@^0Wubi@rqbp5m2-))1 z>YEgGa@?~z#f;FpQ}%I6Pvq|!Z=JXWRZp6k9raWu$%o}rw+o~+?HafdOINj2_EuV^ zR;C>|Z@&ab@QSS1B(0;=G-3`nlpl+F@;}1?x6%E_hn{?FXD62y9l!53nozGKG}C53 zp*|*O6M2FuMRx_V8mI`|>XYTP``TQ974l&`scm<8*ZW@opt)H*vA4}N8yE!y`14@0JD@lN zw*oN81cGX9qI;kw?QV|eHOd^)-TI#xWS;%*uu6X)RW^sF3RzV-p%E!xShdjlJrQ1F z6|=8>Zd5QwF_WcU;1&CZhrVsd3`WvR$okC0CNhII$KJLo!Of!;ME4>24*SeR;)tmC zW5U|PhO&otNfK6vGL7DuVFvMDe}AYX`!!Yh{3(&#JOTYBI3Gi6tQi}iB+SwpeS8Cr zDGF9~q}CX*GOw;D;oXJ~t|%e2E!?#!DbX5HeO%>2XJ3%jmTPx(>B6B8O=1yniA3Wl*+rGk%mEbinl(1N2An`Tx}bd_JO&m(3cZw+gO zfMGZ(K+_4y?^k$cDIYu%Dx;z|`K;tkL5<^VM%7e!-)Q0_iK+ zLCQK&!?-fe8}NCX$K?0f{^l8ZW4@u41MsN+#Jwzy4G+BW8CDD83{2mjaVH>;?kg zfwZIxNvy&vSf92n(cX3{dVnO?${+>~t_kd~E~4_uA=${WD!_-@Boh#+r8{N!Mxg~; zoNO4K0bo*2UC*tBJ0=QChV);OIRLha+N}&mq$1%BERo!fi*`qd4Z20`y1_s<#mRTz zJ$=$6pYdBax@uG3kkRX5NA<#Fpm&O(%98tqiUJH@ihhZq@7oo}=5iR>$MQ)YGY+lG zgq7A1B|LfLcq)`>va!z(#MBm$j9BzBKD4Bz67k}t5QhF;ZK|dpuXHjb!6~+`v|ou- zlfv|lhxKtVoOZ?J6l2VJk_M+VwDMyHo*jbo$F<=H9q|ZG1yGa*6NHTM%AY?csSb>k z1?K(Ec_(cGs4Vs=kd*sG#@@1MgKiKOV~-y>iT;sYm%`HRqiKrROh+7!>5Qaly0Tj| zQj!eN_F$u4fISO%)1nbowYGt?8^k~=g@76&{3#%LjidGjkc!z_m*$0%#m7nNZSQ4o zLe=Dm4rSv6uWX`p&yGkH{Au3t#tn#B#HDile1rHqYUTvX5o>SB|3{wele<`7EY*|Cak*nwKZiFcyg0Yq>|=A1?$= zUSRSK{;^j$qdfv#bk>Alz!emREE@j&W^l4~zh;7%)j`7EHRt)+f64Bz5Os1OhIC87 zyu1P82?&ATi2C>A;(b0aw{K8D7xRpEKCs*hIsQt2at%Gxk?QuitS-qxC2S7jxLSn6 z>?1+$e>Zd+O9++1scC~?32|pm;rx2akH~z%<-4MhlI+P{vIqi_rUUnou=^-l>x9xe z>p#Kn0fZkSGT!8{$4Z_HW%B~LNQww~#gizGOwhq2^CBKLvXF5(&@?`BW+UF1S zMU;AkKA&|m$9jT_zVK5&Av9kJ^0Rx0L!NO^@7a+H+$o`Rd~{9cjj5yXHSD~^O&6$4 z=QUL6ebwZOR#fr3@{8vb)c8MSaqQz-L?uo9jH5%PKCgv zmxA3k35)g+m10z+aPuXx36?$l#%LSpt}G@aifq5D(HEEIWSdgZ%e^F$HIsikB#7k~ zPmFt`Yq_i~vhLYZ)Vnq>P(@|h#5}V4dZ`{&VUJa1;)d6wgx9xWjdj~(RCP{(Ygn3_ zBXc^-&y`5nrk4*T#11JmrMutdvQnhc6<}OTxjT*7N{$|Q_YBFTnh4SrV691HSoH)Y zRDzOdb*AafM_-5-+4pHjl}svQDa8HhKMBZ3W<=GG{UvDN0zk7&XA);wNJ+(FppIaj z#4N~YL!Ja3F&LJp0Se9HK?zZc7zQC>_#G(3jf7A)qg>Q$Ik=hL=GYi2L}dEnXA^Cb&VU^Wi>Kea@7T8^)J#OdLmuuWSO=` zUGJb&>--S(bW08vJMiM1&nW=ZGpG+xr~uaX(X-dvrt%$<1x9UrCSenZcn~L8jcmvHo_1d)y(0{ZB9AT}uIV7Vso6m99vdhd} zCzckv4PQ#$QJ{x;X=+L?JSRM|#UG|S?UjU}U$>0ppT@|u98_SS-E2A6$He%KsAq$% zGu1J%g3j}^UHUUQc;cqcvA{a$W>|eUoSk#ePh3aXVLBIlzcvKf6Wq~HacQab(0?0z zNu2P}SbBGAuSB*t2|;v-N*`TZKFH?y6&d1*w2Es3Nm&zg2W!0OzR+mOPM zA1`JBJb+xf5E&MU4flDQ*PL567axp=e-vLPuW%*%&1lzO&@2xlMVlgrO0^ww*XVfh z@11ogY0ox5f$_zdf*l-B%~vURZk4MZyf`^mZD~?bY&@JVF>mDq@`d~FU2eIYY&)K+ zuhq-e={eA3l_;Csx+)END;Fo!JDPRvT8oaTV}e7nd`0>~BIJvflzrK*8nIJe z&n6GuKEfuOQk0t%tyEXly~56lv@=fl_hmZLs}^ahWERnX;#ZOtE!(D zsdos;ccJj+H!pL0x(JbzcVzBpS}#h|aW6$!XB}T2WgVp~%dU{+D;uZevTu^*<#Ki? zryS*Ou-2?>G_76c%#t}paPJ?PQ~R)g;HaovU<{NzS3E~x`US0^;jYJ;!%jTg!d7@h zVq00yF)h}i4;-|ji(oY|`e6*Xih*)AGAlYENmYdjH@{=%bKYVz_t zpXhpGF6PirS8ZCfnRe-Ded?HR?;=4gGYP)lMa?9?|b`B&oTVcS8t;z{M`yXAfOT+RR_URM+z0r4P=*OiV#j!|Wj_?C;v zq{_7C(7oM3{ung*- zk&2F`Jx_cW?Lojqjq!*WlKqf&5^7+f)AYFA! zspL?o=@+4F6-$$ZbLK;Xx#2LO^i? z_XtLWaR{CzFi5PW>16`h`gH(GCz#EMxl3wD*=yPF5MbGV1!NB84U$a}4Vq3A4c>aX z87TZw8!O{}vx+CW-L)djQTFkzl13t*C%+51^~u61rcYH;b~&RcBd;=D&>GX=fqnuY zo<4BZ?d3`DgGe9RaYXv+C3{DS+uKQ35tgJBk)(!*S1yiMH_NAq;;ep;>UQxm$zq*D zw)w*Nf55YU4z#ajH79ORAfWkg0ujT%KsEpCKyz@icQAEwu{3oqQj@bkU`OQB==n8D z)*(n($kj|)TQ5qnKAxB#$4Uha*(kcPUL>Van1~tm{xq$qFF&7~nM4wAZ?@g}gh}Dq zb~}GD9Yt)9q;!k(GVwBY!KIXC-^qM9s_nKL+A>J#WKgxua`TtPk~LvGngDbI@`_U| z8|~aR@tBoTB@<0)d%#uMeWbt&u4atmaZqnFEyw{_>u#BiF3GE6Jt)g*E21IN9@z4N zLI`umFZi%t*_Fh-C!S!XCKg2;sq5j7(`C_iu!LPuLLUrAV2^o>ciwG2PAd4C+P+|c)Jptd(B}a9` zRG}VI&K+4V`L|cWJ$2W5@)%OtL`KQKiMTqhhgDn&a^~S{0~v-0zI}E0`0jWVp_d^Q zuA&;O;<5d$om4d?PF&kNPG;??aX3F-aXRQ}-LlTH8!+QeJ~Xu`FM9elGmlZid5n;Qh*=@573)G?8xkXQg z@sLHB7|F*D`hsI~XqAT?f$Dr_KN|{$@a8nqPIoD`8XlAblH4(h^Wp*o*I$oi^L1OV zIU@YTP*Noq>!x>Vv`5~`^OVr=_A?N5J%;q4Tao4!qQvF4r3Hi{R86yEI~7Iu2?ynp zx5{h7O=mFEWAK={UF!mVq=oC&$p`68@ih1F;)<3h=MM;x=OdY6lYLc15$lnHy>j2y zUwl2?C_O9{KHsfsmyBf=zZ|IE#MonI7~3rF*M{Hh>%hqWYQoPRzyHtKdJV54aE{spOHl}7VgPcz}huW~9 z3LKr<1WEa_tA2|gG7pDnv{tyy*2K7#vro*A6rsYxgV$^e)bN;MHz094$lf8A2C$e_fL)*k*1b|{u5sa(JaLGN~Q43}@D>29ebm0}c$#f&Qi&Wp9+y1#bUq>UI*uw)z4M0!cm0YtsQ6xF#u3C8g8@ZwFm9$>}rsz)KBW z+6Wp)N|xAiH;VMifF**?hT?{Mn^94IpLbh+A9`D6pIR2~INcp&W}9=&x|P|$t_jz9 zs#&b#@}&!<&`^D8>}GPR!?)lrS6@SAqZ6Il8sSwnYO6z->W99jT$7#jS;KgYkLx&? z4z{O`MS5kF!GbLWx&jBo*yQ*1+L(j$$Lt6X)eaimVM2%e-|6KDzC3aW^;nc3+QRRsMzHktF z2mBp<+Br9&7row&!HCB_R4>kXez~`y+T1kZ+KFV(b>Z5cG8Kb1#PU*_a-TiO&{$pR zG+F_pc1##kC%%#_&>!@r+9hf`2#;h z*_0o&)S|wSMxsRI7D-~UO0hyP_hUF@pdVpMrgmlstmwar?@2n5Nvtj~U5S%bP>9an zGpwK4nsyYw;t}IYeMeF8nJ!wOUDcMBFY+__R8g*-cO;TY^9!UCXSw;QZix4y|*8K1PTi-tRUFP%(6%V?9^EP-PfPl#VCBMiU+M51HLWxn`uv^eX z{Yl|?F`UjmB^x-8$jt~FA;R=ztwV`NZz!B!=pwqEJxEO-p@IvcChRlBdjoa{gg`i_ z4gz(hd8h9J;>-M;2Ue&~KEAZv_47$sz?(!b|Z6T1;)<7N_(~%wd1-uNXOp7wmJ7#NNM0FoIfOK=Of7unq=DYrILB}}v%L&5LQ%99!VmM%m@`6iTEVXYvk&DXbIl%=2wo6Wrm%2i8^ z>v%KkHtdz<=Sx*5=CnNrV0H_2n&fH}k%e05NS63e+C&Y#Gi~p+p%y~cTs9;5l!hwI z9;nv#t863MvAt?1S|fJx$p>vhzxyO}v6D%saGI|x8$n}_+-eB*lONWBQ}$tG?~%7^ zs(G3OiwD^ieEGIdV<9K5GR-0I^3JH>$nQnbip zG^R{SM*HI}>RvIrr@$S^Lj)YVuOaBA!YO`#fk((d&PPv7-?c+oEExwQEg4r-aUc3f ziR>4*%``k0hw0fFWO6pd?sCVszpIlt=w5Lj$B{QB4*%aL++>R(ss-f~3itN7-_E&Q9FW_g3 zDb^Z35uY7&n*0R8%_2!ItuY3vpB4Qbbi^bMIlbiV;+Jdz^9I?`x#WQ*f^qXidWcx= z?`&52n|NiIK@V=DY!Xs@oq1ZH;b->w57X?l-*5ee^cKkG4yjkhoD_F62fuh3KL1;3 z@XywLg>Ycx`0h?HQU6_X@Sm+K>}qLa@?Rx^#+yH?2HMy36)BEe7>JZ46zZW`{n{4d zZ#1e1MaV`i$$k=EQVYjKSi|`#+MJvs;0m<2TK>1$?o#`z(kgUmslvc!bsB8~0s(?A zg7c@%wF{Dr#3lm&Ri2Yv@9VamJHGGt)4*5f2Yf)xvpK3e2|-^5rSRy?068yip9dYdLN$-EC&WX-OUWjD6zQzz>;9G(fwmsff~K@?zu8Z#<$a*o8S7G^&h zZ7+RSMQJzEV*Cu>jWe*|LH^79=uH=u2Edol%`ksg{}*PSmtrc48IVZp#T5$UA(lxX z3K+mdeokN&NUh5g1*oj;n=4h0%#b{bf!2uM$mmAzYG50AuE_HYEPK>=Y7hL%Rl18_ z%YC|#H2YgJ(Q zR_DQ*v3dvLT1E@Y!1sMxsP4pl=QZDmu%r!MCfc^w_AHm{;wdq%!DbL9{j%wEOfNnm>k% zBcyzp)Ir{l_bvf5Up=*8<~C{p1!kea<+{tY?ED3kprDN3wp6(j?`FZ+AnePv9G_$5 z5&%2zeKpXM^38%e6g5m3vxarNv(Wl!MRJA{Ui>^BP(C;L^8DeyY#n$rd=-6?Jm1OD zw6GNL&QMM2T$MRQM&wOrZMbHz-k`fMAq|?j2zADcM{$1H2>qb>&DQ0tNE|+`szBE= zpM6}~f$$1717WUs@R;4RgIx5R_krFnsCK4QDIK5twAse1ziK#QrKhDSIycP;q`xqd zqr2R)J(hR$|B*L*to5UF5Oy=D3Y^>2WhvX!Y`0<6Y*)`FYIgoMZd+j*YyOGZ9@U#7!vE6=+>49;L_55QyZZ{76GZ+E(9g72NGGLGi zfU(I6(6HnmL?ahxv$W_HQs4cIG0enLhNDx{i${9j>Jt1=q(;?&}OWs`6c2=%qL~H*WD9~NOSGrDsT4| zzAyce4O+*m&PJz^*33dvba?SWDmPV@=7A(lnx_-9RSW4e;Vsrsnx^ShRSommTIZK% zmJ_>F%&KRwpHw>`4uOlfQ>0Y(1Cgi!iZYHhuFE}QybErcUmN?trWenG0n9nynz70E zXYfSNhBW3K%MNvB_uf9oC(k=3C|^LpP4905k>GH7h77@U?{)ELZ+P#n)0pOesUKVJ z-0eO6_mHWylZ_Ya!t1xDwz-0-fO8_GEF!3aW95i_(71=NBbzjks4UMZrwcH1O%=m>L*L>(yVYzR}|h(hEqL+lD)j(9-4VL06oCBk=JA`U^1@7y;) z(RHb@tJPpSk`u`NjrzhR`A&~o)6Z$rHwFZv4c8bGWJ6HwiP$4TSgN*aDy!~K(5kRj z!#=Dwdx52i#v$yXoabZ*yiWo=Ya#Er&lVpG?Eid%U|ZA>y-*veSdcbF?L0J5S*e(6 zPg}JIu&K0uX#T3kdXQ00vVbQmQju`9l+GKhm$?v2Tyc9IsQ3?v@?0Txe;XSN@f;t~v1c3{DTCf1OH{T1&ME1=g8 zmX>>jowJi_a)zB62EbRpZ`u+?k@`p;&T==^XI^rHtLW!kXAfMe!3bohQiNB~PA%DG z&AdTWCn*7<@JSNur30@NY zukvc}Ly3v*)Bdw5?YEKn0JTXqMVpS`Jm5$>sMXIKrsh!?y&|2y0j>Cm=3%P@8x|Gt zfECb!0qmcUI96I#xS|<_26aNVA31UE6~|Ds-~dO5?KS41J1}8UFk7DRDypBTOChE! z#6a4%rZD#2j0pep{ZwB?vu657QqR^55wz32R1m3vK+@`L)@)&WU71XZvNc-+hDY=+ z!H5@cAIdxF%&E%gfo0+?EWRnT>_R>M1XFO5Zdt_oRjT#4}ewz>Z3)#Ke6IQt{HjO=|ATDoMT97~;=0^7N%t|SFnPRs{}z^i+P z#zW-s3DOYEWCuo>ciE}fuRU}Im*PI~qY&KqE2G{H7*8zIRRR3)dlpy*P*Pcuv5NXQlA9DkPAHUen{L$+IpF9sxhU zH~3wqt0o7q7L3_JJd|ZwO%B6>;0`$(_PU{2bzZa~3H+#n0inKHR=AmGE(GLi`JlS# zB5vRD+CPy6y7&%7%pby?s1%*Djp^PXI zR`IAwzVsP>hxLJ^ml^}Qq!GNh!IK}HuTqGvW={e1rLPO$3n*RY6bV2&HI zwhUhHk;2E?!AGyVGz6wY(Ae{|z;S`YL-^@}+59yEFY+`)5dDV*Nu{E>fhS*u=H5DG!mo`$9)A}beBi@6v(>#DSInjdm1<;Da;?B*k4D2~U6^qnl2`wO_| z>0c87RXZl{683TS<@erKLq&sY2>ANA8OYu|I0I)Ao z;P}Z9GbX!xQC4W-%u+Cp&hC7y1U8K<*Gh7$Bz9hg$eClEH}QwmGOF~xLe^JS=492m z@t!P;Uvp%bVngVPPfTUxubMH9!`kin=J(7)T3rRpugf%SFzQ97W0YN7B6eNyAr7c1 z7~YkVaQ2{KpyTQR>=hHp2O)v6ed4s$bNisUs^FOBvFE@2%6~2%bOPY~WWP5Q!Z+ic z?_YkUva6lT_s~zx#nOgU)n3KL$R>1?{f zA@kb1d`mOD3KQJZcG*T&`!yHwbOR=H^Lt>7Cs?Xdpyt^{mNEFQS}8V-H0jvn{|{&1 z{M=c%Cq1!k+qP}nnAmnEn&_KMY}>YN+cqb*lQ;M7ZtdOOA8yrKb^d}=pYxplbobN! zg0)OXAN8QvqK7Yo*Psv?B|&~P7FFB;J7%M9LOWf@_{K~_e@h`uD+|kxxv(4p$v_7q~j#r>x&TFtlNqY3`sZ=e4%rvGvL7izrtp@^Y=$)}seUnu9~;u5>(TB?Mig64u17D^V< zNeUAY?yzgc4Nlr^*hq)xg*FrJ!EJF+k@4^P1eF7*@}ZJsMWy@p znad2uuZbs_aIvuNr8vp^Ar`||Pm&oG|LlA8g?nar%!R*r^Y0D<^9vjf67vgO3?lPq z-y30NXWtlcWh;0p4Ii7E@`fCD7QBMNKN*qf_l+ldfEB+ui1(EzY6jPPdqg^C#$UGu zabOmORK^&enR&~|%5kMl=D4I3nKffsaaR^%mHn#xtZ5uyif_w*vLv1LRJ~9M#FF3$ z(6cH_?ZuhfFZyd@^V(MQY%P<-s>*_o8Z(K)&W<9iW`!zX)2RIcdx^fekU0r^`1y(t zu91$0Qs%01Hbv^i##8Z#-Jr5*DW;Y$(da6F%&sRdOfi1OldsO4GL_Q%S%7rDIH_4v zO=V#&E1_W3ySeI#fF%u1D_deVF>{hqG;fybla{$eSKld6R*0+3cz%O{*;W5kg6;|( z9d~S#rFz;`H5DV?g#GF`X?H~79RC9D{(V2k8(h4&l&TaUB!3)>3GAMelp8VZSle?! zfO3+1#gv%e{A5Y4!EpQ#%X4g^hl($0srQS!lzUdR-Bzc7_oy4>BEF3&J&eqwrTjaI zFkWvJZ>)`^&1|4;u|WO20~cJxlrZ9+*ZtsJ;sovL2I{PKhKr3hkoE z7~vq0Iqj&?DBVlF+B8M&x;D^C+LiXwbxEchwf}rCgDl<2vppB}1eHb-UJHw-%yyn@ zCL-WKf3OveH9y#}%5+#PbPn}tCdmiv1rIkF7HU#b2?=yq19Unf%496&x+tLen!W$; zx@43Lg|EdeNb=!QM}LSrS%!uK&=nJ_EF4++s}C5#jtKYhGbS}8QN<34_rwe<5k;`E zO#0%MfYl0x_p@rR`Lk{x26Wefc?K7H%7qoTP_NQ88oly9c72X(Pj2|GHQ4r!j+Gi% zYeJ2UIjYFHOG*^_v8fK>mSw6V_)j4ll(I^3F&TP9+eTUul}Tc-byykKu#VcrvCs(W zo~zpXlpq=CuKp)zcB9S!g6sUCapns7{#GBF2{I|e!(fyq z*NEiGAC=ioU-{xD)>P7=x>veKU)AgrH`WyW)1Cp^_YDpv8gIK*QHsk+4(o1zo#G!4 zmAIUe-a<_&JmD8#5M*namgIbij-Fd?(mz9nTRTGX=&*ofoxG9%nBa7V zw+B&|1g$jWkro$=Q;XoY*xx!QI!JvsRbheH)SswFAK6WvVzF2b-jn2Q!>EOS?Bgpv zpx~?FM`Gwn?q~M@d`@i&i^Sl?=X0N(`A{CvcK}jT*dWs&TX1P!x(Y2`@^wm~3f(Ik zBZwUi5KbhTZnJC^!O3yAMB%gbXa3cz{PRbvq9RV{mZqr2Oxh(8HplD~b{f_s8k~rM z2I#mMwrQHs1ievPwz_l@6oLWFq<%wQBqwK&l;i-|Gf16EC|Acz9VEuwdR+QA=u`Oz>wa9Xl9VmyTE>(@Co-y+osVNjvN zKGAtjvmeDp+lda=>SFL^hTicG(({@4PGn1!u-jL_n55?pcY@-;B4(Is#lg6cERK*G z=?rJksYpug>>}f|nu#fz<##2QB*U|pqqb%L=Og5Uj-hV zhSGljx#0xWus-q8DSuL9ADE4=8LqqNwfI z5sG=T*Xrg-#xY0yhoJiGjB_GmctzXa1=^6&8lysa=qMUVUx<};x;VGGIHHgU;f#FJ zR6wfpR&ZcWbc<`$(mS1YSKa@;_WT2()y;u1!hUPA)8Cpb`@cbGD#jM3wub*uW&e*T zo228sE{Zz*Rd)!1Gd6S66~?dLaTkdIT&!4IJ|^%*28PTCbw+$C&zZRucKbX zQL2BSZl8NM3=nBE_^53*ITMV3eK?qCjfB4@7@&^H5mWv@{d&}hRgP;xueX_iSBe~7OuP$S0U z!pp(vpwb^q8xm3w>;0D}cLfcC^!b;EUQ`I4Y^Qwzb{#pKTGj!H1nXIy_OK@j3Wzm$ z7h_G8p>4)>0XNr{7MLp1QvO4c1yn2ZuBL9k>|$QDv|W&T{y5*4Q!)0ySNdTo*qUxt z;OA{lB^hcs5C_gy;-bK-_P zJ2Hn%JFr5K9I-vf?Pg5}f=Q8CebGxleoXm%JKpOV7 zQAyR-l?q))3thkrhPq5;M%-%!G|6_B)2I`PJuF;29Fkp|kj0JnUE0LaP@8lSFp~P4 ze(l++Ve|G3g?<774Z8|T}o_b!LU%N|20-@ZAn z`D&I@8IGhuqP*RASHYy~B61_jvq5BuOVj)8u|JZs@1s&GE*#T;?pjJ-?dGm} z4BCaJbQ)F)CegRVg3)zG>XQ*Yt*~k!l={G?_V>eaZI2VKxR&VUvKbtt`EV@-6yAbM zvM@+$WD-1Qh-VgEAE%sx*w|_fSgYki8z5BKv># zmoRhGL!^ZYvb+-MOChp325}>erv8C+eOzFB2dvqb`U!@HEbtpZBVa8le+$D+W(bSl zs%*=cKnfF?)JaPmX@h)pGO9}+!rHk|IyAR0^gXek-l+(>_9Ma9zX&`3IA0)XEG=`t zHCelFafkKaoi8pz-(i@}E>d=uE<(mGmiBi4fv^+RwpCCxP(SVJM$=4k!wRu=Xv7lU z1<^|z>4=dLNn1dr84LGi*U2hc*xL==I9TV8KgoPf>se;t`JXM!UlE>%Ip-hSWvC;- zCGnjuSDm~0wz;&avT*Z?l&t>A!BLSGM~v!a^#%CYh(Ry-@kJ<1nJ<)^RT?2r9;+)tWvzAfto$K8%&F;8ehMTGr&k4OzpM*6d@LkLY#1L~X3mt_ zHeI7^wqTjVSXYJ^&0Cgr56|>$Y9F*Ss`?tKFAX{M6ahXaXa=ET8$T?fgch~oMoOL| z8-D<3G#=Sf9S1)ZVkiD#)g8zI)N>Z+A{?`Mhx)=1>;{Bk!PU1^8_5rL03b9Kl@@A3 zL#SclWH8m0=4v9);I<9a3>w5U?LuhjBJd5^I?(H%-QNn{CQq|$a%-e^!Z}ob>rbe=0*AWgb9Olvs z(W78RGIv0KZH+xxG>%we{}q+=2SqR%tj}7JOG@zcQ?I`mddg^R)jGh_*lse@L<|J( zx7D|cuL@w&pX=P|1P(@-5IXYNqA=&u<(k?Z`*T!w?T%!b$1wW_g(TWq#OYmhby{T##t0`bQID;qeM0tP9UqLhT_ zCb4Ni82MO%G>h!U2YEWyBWnO5#by`NX!WIi0Av^?1n)SSM4$9V1Q~}^-)Ijxo{m6- zwvb29YN4ikyj#G5~w{CMjU)B%4yxIdvgk+Y%-_x%Ll)R4Nr-d<}`l?p60kVH}k zD-AKvM)r9kcD$M%L8zaRq7C<;vaL%1aP&1h(9t*40LtKA_Nv+Nn{k1tvkAmq%99bo z@ui|vDhY+Do2;dM)3`rb-VMB!o+Chj>xzQ*VLLC?_gH0q`XF5mc_O8a+Pq-hrpU(10 zIULWLgdU@V|7i1=@zG`flo9{_dG`VFTS8N5HmD#>2v*DzQ$5#Mlx(;pj449G(xYMz zDvR2qC=Uq*I?KyVxi=xe5-^fLM$6T&h@nuy6l8wK6`#vx3*}sRVv};|)nzy@ZOv`( z;1$`P^n_0fI80JAkSvPq$j1m1X5eb-GW?U##Z%TUMnpHfP@nx$_Cl4o&ok#jft4q= z>(E>?XbYJ2_?3R;w0UHtGA+G~oE{J5S6bjKqTQ~m?U_66IGWrtvdS-*X?VyhMB&C9 zP##zk4CIv3q~)JJ zO7MYe|sX!s$*5~HCrn+JwD1M3ES9+NR_U9$b z_vI?*)*K5O-&YLQIe|W}zr7v!`8V91k+G&*e|tD;s#&3O6U7s08N(Tm5c5;j;e~PR zVodedL4TB^YDqL5BIf!m;1OnE$>QhuUSTc~ubL8+H{%i*c-E(%kg}p7x$L5gu~h4U zyhj81(!Rhv*jypT`cU!@Hj;#q3y_NZpmCXUS7WV(mV@PM5y^=}T@2?B(pDCAPDbQS zv#iUSI1#+1$b(Rf?jiYHRpGbr;wk~g9^~7g_yS1_8GS^tcstF3gP5s;l>Q9)oZ>|8 z!h44KZ@~T!onl%cbyoVDQpNt}t7!kt5B2}RbX8k>WFf??${w_}H7lRerR6Rt@y!zm zflwyo%37$xH4?e~=EIb|z1om=uh36cfoG6+rJ>!NVV+n~WM=of3EsPjiOY}AyE}{@ zyul&x=bSa;gmjZSyePT$Sh^!e{7jnga7m&daw;Ap29;r14EH%_u1%U4biF>gR_`Us z64OWF`ZGJ^svVoxo?>Ox_I&%?s_N`9+4$&s3(C*85P!WdgM`ewFAV3$1hF6^$ZapLOU zw3KL?NUl8wBTi&^A=}KGGXla_@w!k#l+YMw0Bo?3{T%k|K5;R1o+s2MUv% zSK&u*ax&qjHuD})_0AKneMN8h%X2-}tX>dx@CTUR0TbL?x1hq@?y-BsVf8))I4i5= znKI86GgF42!%LV8U-ql3whW6iN!=XzXG6ag_(m^Eesgyxyc-Wp8n_=YDujEz*Wo-G zb@Y@wV(4jdKsJV46)4oHk84w^!0|08aM!{ch42c|`;gQYpZ5u@*;UPbj>8qv?|?r&pAaKc*hGNG!oY?+g3lU`wK+3IH& zZ4p|DOt~lDO?L<%kQ=g>2v$c{!q^vNxfBgC1Gx-mY2aaJ{ z1o&Pe*Pwp<;QBW+scvZF`cLufUmHsPD?7PTT}J^&0`+rJo5XGs`psbx;$E6A(ND~X9@@^dqTQ`Xm0g9D-$)a{G3G$-3HkDpr3Fx2qlW~L zX!RqjBr5B3vhdm?7m`_@ZDbrq5p{o&01CQc4HQ|D$TAv6^)wI<@59#>V3k1q)u6K` zSwx35T$LVS*PYOG6O#tYig&O@M5gxfSM|N!BGAeQ@R~>DR5;fj)a_G~`;9QhBPM$ui{sgMar$02)44!- z8g_IZmLCo!GKO2O(}$uQlV-j#C$~<K(=djjrZ!pmstyC_Jb~OGR167-N3o+htU$ zITQwsLWYKJ!)+g8p#gr;8lK$fDWn+5ZDT%q?DkTYgww8cCke!+@JhxC(mw+;EIdqe zn*C{@JZ1Z^o^&0IZ8=Kw>b-DmnCUjmOO<&lr9yJS!mGi`8%yJ?r|Wud1qVqD>z+&> zJkRH{V{Av(ZCy%}I(m=m?Va}IM#&}8zCn8OhvMm}nicWT7lRZW0?G&-9wdfuIw94u zK&@lFIXx z_4XZJJk@%gL;$=+Oo=y`u#+J$Qr1J1wBU6OBRU%@O75 zA=@YO@QmNZunXa6Gcc~Zi?GjnCyk49P11Fy1|@JbUoFKsjX00n$mmp5!pv%_Koc)5 ztr2mfnq9T>Xa{IJ^`{2NPEFG^bCd+HT%jFhhW#issXpYwHr*o*vG=eM-qoUZ^nR=`1rciBKt;nL=bMhP{lmm8nb1)vu*JjKE3r_;Qh_gD#fz$P{v# zVEt)&BH8jT9aU7^^0=9a76dUYU(OZMlOq1bJRnMe1Q_}&2WzOuHljHgYzq&pCGJ0q zs^_J7!FEULLRhOAWmW1zU%b|2`LZw?06DEL4JJ`Lq_#KP z2TMac|juzhIYI#c5?wKTP8 zXiD3$Y8lJj7tqD7$D5?OVVNmL-Hb!k7`Qn(IXyM>C~2bVO|*n+5SiyQja+XXg5ZxF z5>qRixp(_3?d8;_anTQ@PqEi;Hab=s!aC(+OZc9ND?5aLo){~d9D&~<#O5_><`(12 zID!>8)^ze6=h*8@pO3R{@(!GdOh58Wwv`aOL(m;}W38KTgV;sBFJFMEp8TiqcwMX8 zG!-3Uj`Ur8$o_^0syq1xeJkk(;v2@2=_WaXU0qMRAD{UFptFL?navnw9xNOamHXJR zoIMnVTss){L2!*$wAoKf43ope=A9Pa4U`&D4L9HQxsi08+A55M7p2CIw&rfDu1OcU zE@_|$##;OZlq5>w3nK)aAwIzT5^p%(Gf}=maUPg9VUloBu)ccU26B)5Rf>+A87r#y zdK8So1{aIi=+SMFvE>P>HLZ|DSy>XXDpG72_E+K29s(#OjZ}%)8VAy)VjTSG$=kY3 zM||#deo!=BGqZ4Wk4+DEW*_l}W!BD*-KThsYbt@sD;54)Hb)OD5(07$)<(_*dK#!A zyEd~RTyd&+BuB3+)61Y1mTODi)>S`AGEiy6NDS0|E@N&g%$lQOQQ2B7?NuxutMnWf zreXF6qo%dPul%D^5q6mhX#O-!t;}^*5V}SmIrz<^n9I;_(2ksx}QJ!1jfw0tAsPT+FImMD#nWn$ntD+O9 zNwX;$&TU3&^ezj`$B>B%rWxDl?6`Q6PiAilQLtIOaroH$8BFYt=_EcJ%3c?_ z+v7wVVn2_Gh-9z&N9mXFqJqqk*+hTstlF}(J?T?&f`f zZG$_c36kDuwW{s%Xo=00MUyV#KOi?=wFzc{ncmt6d5cf5c>8k?)V22wC$ zOAEL6M;hY^%X^R+SHJ$0DZDkNez{S4g-JX48ed4`?vJXkBV7(9E4!ywaw^l`6h!+} zbDl}Wj!~pp~eYW8X3fcP$G8(}`M8Flt8*(W~WlI_j`;fXjKr z)J=%3D}1%^w(EjDnt@^7^`;;UdDm3Gez#5|?cH8%F4yjg9zgSBy!^mX2x>QT7>4B+ z;0=_En9TD5$1`fdthJ@=^!+lgtdV zI5^8*(dP)sFfU*>`wQg17ruXx5C^73kelE3xUp}VkLllFB27726;mfmLmSIqrcVF0 z=q0Lrd$|}f;K;0@i8zq%LMak!C{`Xn$Lde&{!#7NW6&7i zWzd2sO{ah4sF1SUQ4CocEH$tQL}AOVAXE++4FtQDwba*u_D!jclGF8j*9#AmaU z1%ZQx0RI>Navw;|&0i9$Ecijtkq=V;Axbo1)njBPrGC~IhpLt#&xBM~sr(nuY$~QX z>?4C^)&s?K!nI=-yaF#X?@fQbVS_x;=7i!}@~wYXku^KVjkB$d6ET}0~DXcoG~{>==#Px=+b*cAp#0s^ydKa zY%lbvJ`u_pFMVFhC^o$u-T9pUhFTgyZ&%L!C+s%gV72TEnQoSaUa#63-LI5oC9+cS zl;HU42p&xu9)W-H0RCfE5@;*LJZ&CkI8XDv`8>}@<9i2%npxd3pGrAy z$aEu8xZD^sSnh#7y$2Bp91c&r+&D9sYHljr?qjrhjL85N?;7Z{Zj_@QZf%O53!l-N zv*rh@J6VN!ry06OQ5ixpS|5yxo-3d6n)T-fuR2-9Gp>!!5%g~)ZYUVqejW|eyn8Id zX!`jK}X?=~I7SiaaBDf2JUL zO-|NF{W8<$-&qRTcvT?B{~FH!I_&y#JR|YVn1~62QZ||4(NdPC6Z!Sb0XJ{LE#Ts7 z;_#DPpyPc6nA!5$7_-|fkbpVlXNcFSS!($>uilZDWh8EIKbV$N0q$Ub{)j3B+`7+CMM?!asnpb~e{ z#@gwU?vYh%J8K$}{5UFKeLr5=wlTy497EljslYtqEc|}5w+!=wbVP+z9WiF7cX>VM z+ZunmGPv3P^4;voKY89Bqj1jh-jZUd+ZR2}95H=!QW$Z>T>ajG3)GvGeAk1f?^)Op zMxeoxVC}Jm@$5*q-xB5N!za?(D?_%2r?+)dIDCkYzTE8cBF6Bc*mRqb?(#y$kojAG z_t5O5utO}lSye6Dc?ZQ8?EZ7uFXxpv6m!Nlz z1zdOCWV%01X+0n}vv<+(tD>r=b+Egff5q<7>fRM94(ANa6r6}^U=&X{7+<4 z>IDslJ==QT&d;dEkjoMQ#aSa}4sx3HUrEbX3d3>oPHZguap^LA_@ z%nrdsN}z^f)Q%JCRPb-Q9&EhgKB5V>0mm z;!+z0cJvUyJ_njL3Y@@P>0@8J{w7&^A+IvS4q)P|=1f+@FQ3PF4*WbJ7D6K{&ZARV zhP+(}T9Z>pG_e1>)wK%S{K^g?n?$~J%hpwsy?r6C&@hkSN{xd!-Zlh4M;QnH3`b>| zRdw~5Zy_F+VR5Yhmfq)B~cir&<*?&B9}Sxq|lA?5Qn=U~zP9gz7% z=7VNoC9PMxU=+UQXydBCJ=mk!Tt0ceClYaTOA{dOPCaXPFG2jnRIVH*L}bN9Nb0BR z#PbB5FU!mn1SKVnjazVEEn2*E9GD%P$7+>HksSn%vpz$Oo$jsZV-mb&j>=_E1yrDa z;GX6^$V-9{`8sz5TOk#D(h0RNPiicB&84_~uTdok`fjVKGT<#(*3kOyCL;bSW-e;gsv1i*i+3pyn(4VHLud z5m#peOUjAA1~$7t&7G>SY}|3ZD_7A&N&h6l_!MOaLRcI3*T9QYpKnJ@8bzw-MS&1S zV35Gi*8>;Xhu^9DSxL+=xF`5qYJhv*DGI_9jc6?nUBC9S)#ynF5uQ{K#i(vi7gglg zkHr)KFlezbmlfHQPs8y@@+PCHs=m9=#?h&C2tIPdUK8!|nO04KiIqgH))S>P=$?2h z(@lBhMmc@mpMf_CZFfsY<>iVQHjMOFCU4RP*K(ATXFn!|?tx*lanGRBxI*6~^_gH| zcykSWDv^WuemvX zXL=IopDxOpik;w*A%mNG$yuM9Q>b5USo1S;-Ad}3%X#LooK=duAcj*9S52CNfQ#@- z$^N)~U9YT^9)?QTGM*9p(wK3%OA-Pm!r&q%&cYW~bJ0k#YE?PL^_vzA8j@-sz(4%8 zB|T$`O;e`AVDBL+6wMCM{Z=a0fDsHN#Kt=PE5pIj4LGDqC#zTJPgs``7wCT1LZ9t$ zme;V)QBSw}qI?f8=*E%v}-&U-LE`>HT~3%YdHVkxW}M^9_mEzk;-q9uw}$ z?Rr2RwcHNg?0qnFRxj{jCvAF+w1Yo6dR$8QPrp2@84-n>piVmUasW`kMc08deG?_p zL@9^`)r$$Dva_pdpMOjL?~F`CzlESO_7{*!!=`ntvSN17-OYt;ix%e`14h)wIn0Vb zV!kNpr;_>zu7C)29bR za(6U;w-$Pb`GdJ8QpG(WM`T0iIO3WKLk^UW@hs{WdnIeV;whUNntDM(oDM+Ex-(P23fTVOLXw68E>XtFQMZa zplS-RiTAreqE|a|tQ`zv*$eJ|DGfskRLoJQp-2adanw|i0d&oY$#%T+Y7T5Q18iau z8L$!&fQed>4<8yEQ)4A>BCuFMD+yLQNUQKL6|$)tHo!pj$5Uw^%AK@?>3xaIMrx-FCywDd&IiO z{lJboFh&K1^DOR=Np{C^>V9t`iVF1>NeDj$q!5{5-}2nzKY#jyLRk!P5Z0d)M#up8;GgP>cr9wE5}62UhG@&sfJ^1kEm{P0@wi`RbU8oXE4JhtEq%YdLtFdFU!JWP2hvGtKtICe};~<c%x=P>1}h^Bc+Y$fB+?$V68Tj69E#;>_mV{PMV#yF$9AyJ>xZ>W)~JWnO~1`_(0*$V@K)FuOJv}*)%)Cxxf=J| zAsrx2+4YBXsf(gE^%5}@`Bd2$OwRiJ5h!wNIO69ob-R5FqUUQd@)hbPVuJ!C@|pe4 z&@In#@a54bf!Sl+Mz4U4Z3#TZ?`!wK2!hx3!$xNzVmur%ZGmlahF3c+x6rz+$`n(Z zJjYW1Wj%$GyvPrbG$<1M0Zs-m`z^M{=xcJfusbTRw(JCJ+md8G^LCFAI!pC43TqE$ zPdikijFLY9Kc&EoWezX&7XHqKZhJ=D0xUopkfwokkN>ebBOYcA=a|{DH6t#h(>QBG z?AKQ*Y{B*s@~N;a&(gr;Z2U6YwioSRszR5 zG<^U_1ZQ|;=*}3JHr0)rRb+!0aJnWcl3sv@vu1JutCwzMLAItULNgdBPrN-d=5fQy zKkQ`Nma8T>Gf3pvoulP5qFS7;ZG7f7=;B6qOOyBM-4>&j1^TZ( zVb@yzO(xP-xysm>Rs1NSvn?}3wWV_(6k&CzL$d6o!Qr7K@eG|s!BMBoV+QT75dgNLPvmWGtRI7gkuZG{-j7j! z>40b>qO?vQ`mq#Pg4?Z>5bicrV$U{DI}M$kL^tm#VSz>xh-C%oLX`|3S5}L(+a7ySSc z{Oq>zwUmHR)gy;p3Pw0-_?LrpVcQJT^08D~pGuq_vh11P)l&3)+!`KSBj@{S^!0kn zM}4{6?)l*=xK>VCN;cE-J`yQE>${3_?Nof`i-yXMl1$a$;9Mt@j%YZUPXAo3+@`)v zwZGjG@t1Qibm8m`8$7E>&`Pdk|2?=GXnJ+CZ7K_Hr2?$73}1aJ>)F8R8se_kwY3#C zcDcG*>s=K6eMm1$Q)jQV*KKVxRXKZAbA|HHl`FFQDTIK0`_SqP5FFMOv9Tyge!+Qt z*p{o}6q^YmwLFZ2JhmYOqNwCwx^ue;Nj}!b(d1L);y6^itx_(ZWArN+B`85?0&81; z`P-N?kKy>USsNo<{j~LJ^D#mQ*6}v%CD0?e3llaw9J9UY6tv3x9xg!nXKU0z6|$YK z@p{0G`vbA+-zzILw=seZq_rek$fg5$qgGrnImkg|5tL*@^=*3dl#D}aoJ<@Qj^*T9 zEZ;ZnM7~(B71zzQCBz7wqL-dtLusuQ>Z*7+RJ{^S`GpuQ&HKXM2D-f zLiZ!L6W5TKSTRjGY(U{=?mu!91yTblQO$kh3Bsn(QzX)HvsIhtf_soVwy6_v9kZ*j zx7>Y7Tpa)IrX;efh40dwU*I4bDhk3$uM;|NJ1aS+NZ5(9aVV>k@fpRafQQ@I(|XCdG2#3ZN1HT06PjX{xFZ)@`Ld5UZPx@7# zM?|*pxi1jsDR@29mD#f>1Q(MjLmuZK+cKd~<*AE4RE4$&pAkx;d}YT^DH_szrTJg6 zf=`ZJnE0sXYMcrhaboFRT-lRDVb7Henp68=a668*Qu-@KIK_o#1uIk8c@8LX6a+=sISTF$N7J3iK$14s7H;Ua}ip#q)~{`%k{A+ z9IW?f7Lg>6g-sVFSj2RY57$+QoA?zDJ6=@7sjxkm&!Xy(% zL22n*oq$%Nlm|J7EkiOEMKZW+;$4xaKfL{j>Le5J7}JD_R$Bcv-JqYQuDv94I3G20 zUo>~CUlw}Dl&&O*b9=+CUBCruP#f4ZvzKcXiL&3j>n*KOU_lQIx^1zly$D_Mo({K~ z4b(M73xZT1S8Em{VKT?KtENezNrPLlYLu5!P-7Nu1R1W1NxqI*^<&B9J*tr@f|h3a zm*wLI>yUa3dnF>Ur&(N!pbH;yIsim77PBgbzV0`tF#54Dd%G*x8okX=g5G47Y;R1az-uvk7(LGU*-dX!f(lKY>Jq-;GE^>_ZFqmn9p z(YljERb?KSES$}%E;*Rr9U+`KS@w|T$tx!|(NOz+Ne@xJplS=+(o!ClQBmaI8e55J z5Dy;$w!~j6F8D?D3OzRXMPvJ{*?&gTw`E|^9ljhjB@~&-?TNba3dQj2j#f9rU+9+j zt|;k{P>WkoxfKi|;FB;pv*rg>sfQlNMX@F!oXf zLI#W+oS|B@#PUViGU=^KR2SxOl_bIkm9^=oa>Z*ivYI>Ogr-Ti0C2B57PD)O4gn2X(t6OsuwB?~v zc-A|)!@GZhfA!8`P&>JM6Z#3&+c@LCdgP_M3N=O>ypHK7d4nG9BIC;owdaSuPFoAn zbRK@K!x5{o0c`F>bAD(`KhHmvYlXWoP-nT1O2-UF2Llk5@eye7#%tIB((VG%z67On z_fKkn%Lf}~Mx=uoBu-D_uz~3YeXKVmFdb{f2Zb41=&zW3U^E2FvOFBKxhQ5zw8X_g zEpiOnu_Nf?iU<%&1BQL)!SSH|TTH@D=!hVC{e$w0zT)+X5b)I7f+y7AC;%MM&#H4T zi0efZg;0XW7O4IC#Z8Ou{i;%Hhlk$r6+#SPSQpD1COcvLs84^Dv(81@|)v~g!`T0kGhRe}j8j(;CzR zJ3mt`SFe=}6{oo519f9bpoW)AN20@)D+EqkC58vi0Px(t6L+?r|D~Z zMJ!bgV+U>EAO`vq=DH=MVv>bXAnEdftbTw^T~UeBD2TLY2fu$J51nXmK49R=9e>$M z&`MW0jZ`Dcg}uA9^d&}#4$C_yqTp@V;;c(k{I(aR!O81DlJMHftM$^_6}*0#=dAlm zxa;~;{4fV*9glaLEqG&{^9VO`p6(D}@4wef)O^*)^c86q_H=4sV!>{>lVZ^o+JH@5$tc3~OICm!OVmZjB%SJe<(mK=pKy-%uB58a;p1sjB^mY0EEe zoAJAmfJ{YMWYuvj9O_)`` zrOYpjlm*M63Bf4F2x(LL$v97!CS0MrLyOzdTKX3&XZCe7`y?HbICx5p3jblH^g#F7 zgxgF1({ZEu<81{EZ4-_h>!9^~EuAntlX+ikjZ-Q$CUco=%MilK-i1h*U8s%AUEBN1-NYofP)Fc|q5M8nC z*h!aCo80mP>^7w;=YT`c5ot{*-kcL}GG6RT|D4)uMq4l3t}CQ7o31M<%fHTpzdSq! zyDm$3F6WePeWHfwE=C?sRP1wr$(C zZQHgw<`+BZ*tTukNhgy#_szU{cV?}3*Ze$x&pLIgYS#vz&2XnKw8~k?8TX^tW&9djYpZOX%Jp+ur z!+B}kX@|irj0MPlxL{mx{rp`Y=WMMOS#4}Z4c_*hXLZLYr2V34IVJN@nc0MZs76*G zo(y))?r4Xgw+fml<40mZ9jr=zgkU>x$uc30IjqAubcD;M zq0L)+KuxCPg$U|KmfbK~CacLebVg34sr6%PgWRqO5qQw(kk=II+!f-kxE?dU(}nP`^Y3I6*jmTG#)*HX9r3zGN@$S*wZ7xETGkwrqjLHP^KaK_ zTB;z@nRF?#x=56#jqyKh9KjlG*7;0wJPf4RZr{n1tT4Eg3KR51H~z}0%IW{{UbZ0s~Ir#sNLM2Kc@ug)0MF9 zML7>W|NH$rVy!iY^zIyOb)t+vZ4zVHAmlWJ6L$Hc>0NGX*n3I)>c%gbl&@g)j(8H3 z#LOZv)jV-(mf3QNyHP@_bTad5pz;`>G!IN;F@JP^Fl0pzGY3r82|$!XN`#9}@_So< zrHzoX{hfUV$IvVgWK%>n(GIWykPSA|L8c;)k_%GE11e;8v7}o`@HXm>&YXuYltd|g zaX@nOi|DWm#aZ{e8+J%7BNo0_%uE$YVgaGX2vsJ@!feDIwwnZnsfv*kb;n!3@;2*; znR3O-xnzA>wXJK|6t(K8Rwrz})pn>;T4v81zF8msq;gBrPub5b5>}xqz_y`|nHid8 zx8asqAZ;zU`Sv1Xr$xwX;`lV{*}0?^rT0j-oh?fgde@S}&tMmAafp68#BE1$e?}!# zT5HLLh?`OKJguB59DA4(gdaDBIiFR(xsra%oIH=9zFi}}vm8vWlqsoOL%!)qo?4JJ zuVzg_wJ?dCG2!P^1DnWG66;>sy*6|x2Pj1in(W7eV!r8b27yXJZ3@&gr~PDQsyhD@jOx3x`Z z)cC7xwbM651g>GCHpX4)MtlDv9>)|Oae~vb#a^GIO*81X)1nCMPFzIK@^K~ zrmB>QCQhs;MGhcGXmO2EGk=kYOeeO;3e08(^8^@>APtCUwxpsc0uvFI>sWpmVJLG+4c<_uBeQI0kJR6D>e2Yf#>)h^VdO z?@Odg%TOYB9doJFVO$!rB%D&z&GUO&0|3?&Kr?o3?=HY4^Z9wsK(;MDA%DNeA>@gl z?h)IWL@Cu~HQ;_j0&Go0xyUCovMEXj*eg^<;Aj2VIx<+|7a%S~trNECXto7$Jot^* zbFRzKY6cZGh38Htom*TrVa;Qf+5qkebuyGs%cBkXU9QVG;w3@X^S8sALnZ^D{3D?a zdm60>#l0(Hq72^#)oWzG;uFY>{AI}C^3X#49m4EV;it%vMYe7Vh=qqofSIZZW^OKw zyUUsb<}Prr??G2n8c{s=tF>U0cdH6bn2#y;$KJR3m*J`h3`(F|nqumc$Jl&zFt0XP zhc^pNk6n{14vXdTeA^n_LjI;WkPZB$;5*`_lyi(LlTOX1V2ee|+;Zdk3GLIkT-a;aC!@Ut^+&W1v}dmSCR@V?QB2QQJNbULI53upU49|WvpNN zd6Rr_d$~Xk(@#PhEgVX<;YdZ{@3F09U=Hx4Dw~aZrNmdd4)`HtW4QBD!-+EEQMK~j zm%~UtYIV}#*BsHACi95~7)fD?9*>IKT9z~SKEvqU0UtSLb|!qr9K~TIfTm7F!at#m zTytC<(juNQ*@tXwgORRr>a*S+Q97+zN61(42W*#oul=oFQ5@WrwDr)G2vW)_=2d@S z**+;#%xh+yFJ0J6TgpY=VVW$jXEZN)*vq<;^t`qm#OEyvDAz3(#?XQ*I@JW{2Lw`r zqeY8)5eTn6E5{uM#=OD?d|1CKF0tCIUEF$(& z8B|w+@`sFuPi`NxLwFQQERFfZ!ExnGYbStshrp)*R0}1o#aG1sXY>U?FuSPh8Zpgu zM}VvskeK0DG zhUR{If>?A|VM@QTMUZ%mw8_ah$jLNJhCq|W27_4LtZZ)4r^3u(AZxi3iXL+vXjl4i zR{AgHfVub5-A6*%`(u6QIMT@FLYZcZt50Je-PO4bYjTY$xrQO_Bl&!yeN$lz7QhHm zQ;j3V28~$5Z!Lqx{rr7D(Rn=N4Z`X2Sh$6_X>-L5&V&(3+o^jO{_-0n?uDJb620Xh zo-unOtbW+-LUJ9biIkEh*~V9ju=5~g7JMer&6>WxKTQ0qz#lGgumb3t23Y;AM-=;S zsDO4Z&h{?ObV3Zww(2(4a{u#*SlGkXz{bKz!1>$p&Ctd9KU~=X%2IMj3g|p7a+=^6 zFv`7=Wo15)N|cc!LRJYY!Tf~c(H#~T=kXa9OgRLLF*U+yXYlsN@cIEzg99NBmvM}~ z&x%xy)K%^2?=M$w(;VCTQ_pyMUBKx*hLD@B*rM=5FP7Qx(0Fq?>5v3LR0h&}mg&^X zed&FV_$9ALqQ95~CKy2}o1esM7;3qNM##}rj5JtSLPzFG+KVYeEmM+JhL-?yut9!O zEZUr~>~W80=9vTy%G6nsi%rRy7UW=?Yx2#Ek(ZjWww98sE|k@U2c)C`h>|)&*I>l- zMVieFGk5gs56>~9n6Fd zWhl_6v0*Us*&z7SIhM1Og+zJ1(6MhP=Ke|AO;VbqwxX^6(40k6?n}b*RjOKbp(}TP{cK)@%uJ zP}eQNFR{p7XeUJPkdxt|4!OK0@mOl!x9LArdsF_;XzHbz$I_sn86GiXa*4o!0lhlIawpyvKEtan*4t3cm!jCC`dLFxw{G=J zDhTO*B+BUnm&DChPK!HPsomu)EM5xWjJl|;y4>>w|MLc%ATC*D#oXq;W_H32e@BkDkGPx2wQGhbn zUG4}EkOEo8?|T>G^WM~9pr9KYvb(D=%C%K0wTkl)NA*ssL80PR>nnHLs>zH$W3#T( zHpKJs>j6k)2uja!T-cc97E2X$sMAv(8Tpf<>B7}+VrNfWdwi9Bnyt}PsL<(+@xvl8 zY4n->W~jVkJYjUy$qvhXoL$K3Jok|rD?Me<%@zijdQer_EMg%{{ix?PgvNTe}2MejAi?C4+=P};jrK8-M3<40*3@`(r>SmoKB5+kL$8{ zyZn0W#LEfv{>$Ey*6`O#WBy>uqdw_ z6MD}?Xz6IR{ZT8!^qR(ahS)Zf1rueK7?I=_zKhAzzf8@k5{B6`9;yUwx|3HW+woJO zIVX=XroQG{h$CXV&<8~kZeX* z8ei_BW=5D4YvLqp&7KqaxGKxoTtjelggq^*RVO`#HRe&b)a1qqU##TNq{S;_R|u{* z=E!W0g9$9_YE`W#G)ikb#<=zSP?oL5crH^$57Eo$ve~FaQ+pZvlsKf~$aNj$J5fRV zEvu8$ZT_)?m&qb#l37D0GbP)xVX$e>cFqw%Y;?Bx%@Dv@w_387D{_i!n~q-1P#4f^ zIo337zs+=9IU;71pjut&a0~F(&{Wr#2@* zbX07n?#WFO9%_yZ?jWtey!G#wmGS%~lM+WtCsi_2d-HBE%fTuJS>-+lT!Q#;iuLvG zV!YMkdOxfqqY$Pf4cRExjwjF24<#%F(a8gucCgKn+J+~fwy}4e^@jHP^(x^=ky|m& zWDHdWti5Z5&!_keGt*IQabxq4gv^NGlu6o}8okQiE>9ZM%VaEo?x_7A|0ZC}6EQc^ zW6~;DEtUrp(xvdu090$1+Mjw0_Ro{Dcpy{=EVa-s;HpM3p*JdKq3JPL;rUxVVfLlg z-9`HzAbLY;u$}$@OikPN*n-DO@UGAx@UB=i7i>m*bUF-n!shOPLe4IVWFv6iNIMMl z{&8?ll0f)l)Ce`?E$(8@3>nt4t+fm*^Ks>JeX%S z%gnKLd=W+ zuYDh{s^H}n1{et)7QH3I-+$P4Mp@+0@-hxUlvtwFs9sM_T$^cl4r0m>=D85Gry7(P z7AF`{>M_z}X(KN@Ysi5uqi+yBGpP8`)(ENWMn@_#@2XgmBxlH!$T4WXkQr<&d>b}R82wULH6r}@Z_Hmw2*v5ar4 znNB)VN0nQt^>ffxf0`F2OPo9upf=mjNmb|tob9}BV=@yaMxSfENn;F|xsBUZWRMx=}ks8EH`E`u>D=HDu5n!{~4wIjkOHvc?_VzYmS zv4pgb5mQ@?DJ0h9JqGqR+l@m6ZS`VuM(sWEIN=&*IHo=l?KeZX13as}7MksJvxkb* ztG-V6w=i+W&Rr>VyMD}Zm8Q(b1S%^`un4*Hr26fA2P z#-{0Ed(GN4(jEtTeHFYiSRc|XXh{JSeWqLCqOSy0TmjeU`uXe8uuVylm3$#EoP0rqwhL@=X49&u4Pqw?M(5x{ zQ{@hgM~rzxP-|ZDyYkI5TF~|+9}S^~gxzuOaA(eJX8Ynk`FP<+FNK~ErH4`DTm4^Ma(hw zCtL9W9T#buvG z$@bNP%%x4_$I-k`BzK4PK(1L?Z4cmE#rBmT;YP29x{i%|qs8fdz|(VTb%ixu>DH=dp1mv( zX8?>EtseCZG>_Fh^`7y&(8sOE8EPc7>(b$aWwdHmJhWnhl#2QU4?~Mm79d&j{T}(s z&3M<#NA5m~et~1U)6xyvHlWzrLwVy7ThWSsf}hyM%LwD!CHTMy`j&})!Qc++y~=&q zx#yZej5>jS>0f4-*(~V-tS7QeH9KH4Fy6~a>VWL2(q|$h_Uy9mYXYo{XZpn|JV?Ckvp)f zzc+;1@7aOz-`fy`Zx$dgE5plfYlC6Zn(mxiF%Dg(oGdM=_P0Hda=01V)k6tEn6=r=y7t zu6@5xpHD7-4ewF|(J=q=eMnwh(Vq>S6BeySM!)iIj+A&iCgxCZ@^&j?t@ms^d(zbSCZT})atQ2Uq^7R{K#R=4f!{+#66(D5; zV>G!#98uNLt0sNK!LYR_571_*rLmib*4c7P&Ui_{f|}@Lkc=OQA!bEewzQHgFlOwE zOkAH<rrvsoJQjmJ)*;{)H*0R33J`4YtNzdfgsRm_Kd^XOVNsr`Hj<9n+d>}) z3w&xXJD{eveAf!(xz0pCYZ1Oy#O}=IN}yi|WP4}*bA!CR8H=Q+WvC=!(b%UY99RtA zJ`b?O9)H}_0&IKu4`0UeJ1%n@6Jf5*_*@8U0}FZ6`wV#8!6!$Rti;=AQ(0UZmzy?eG-JTnI7JlPE|0B>fh)F-nGDFp48 zmXeqFC4mn4XXwNXHw(Q2n_Q9+=LM_413u5OFVPwy7~)b z=?{{eA&kfY#0K%%xb{{guh=ecR^=BIAwR*7g+V;!H!bLS^L1x>uxW^T!!JB?%wZ~& zCwgggPZ%N^^u_Y-_(Ge|h3h7J^NJAb=LdVh%bP`A$gHlR8O5(!@lzUtC@%DV#?vdq zOwu{(3gPl6$%5ja<o8(v}ML+{zfBB^iRl|N8fau zZvCAM$?CKZlRonAIi*!h@6+v%s9&oU`d|3}+#3ENvaF*?7bg0y{AJi5Kj{Cx>KCy! zvNJX@{%7r{sOnf_t6}ggGjTO+Nnbp+836v955%l{CJnjf z=jy~=$~@C`G?ZToo(cXSAdVLZ-!5fW#0}@SKw=Xi`EIOn$P#$!Gu%a4DkmlWgoGZ5avHM^FJ9bdIf84QO z44rha;hw*TLZ$0XpJ#emwzmoKGJazzY`BzF*mg3jE!W-axJKb9H;yWn9?!sH zI5e_hFR!mvve6QXE+jj1=SZ<%*wO>4lk~U$J)&{sEVIF1E28Z6t&Q2*Y&5gRG@)_2 zt;3eq7CfE?mK+{n^XE%`H~LF^3#P;TE**C^8hY+xG#mTpT&&d^mpzV&&#jISv$0r^ zfWmCTP<}iHEd0G7;dhFQ0R~BnbaFhhYO?UZ^XWb0j_%-ky$vq}x&129yT|MyZm-r| zamTl8*}dKL1fZlLv1p+C;i%FPtn86(MhC`$pAe&Iy(eFyY`6wXrun-Kji-rqEV>*O zlw|mt<#U_dR_f~F_C*QjV&xozE;^A2XQzBbZC5d_!OJ7ECz%H=`-$$9rVzyIp#U=J zKA9oDM!3Nj7e?Ev9hLR?=;?LQm|K7OEX!yJlGtWhP?E!5mocApL>nxQZGF~e)^|_< zd4tESawFDx<9l@MXI0(Ca{`WZjKR=`H*CEB+z-{hj ztmV?xYD=3}Sr4jjO4@8lodq2Z3tI}ByChi9lutb(PRwS*xe2|Q*X(1P3Zxd^<>1{l26viqI~*dzBuy!BdN0u&cu5AbRoip%g_p4cnpAp%#(5GA$1aer+#UX|Qg zJ7||v<2NZPtwz@{a-10ymltkf7qh`3e1n+t7Ki)CYBda^@hasMB@#tzMlH4l0hbGl zn9Kw!1-=vYZ%8f^Jd1EmiHpI7+$Hjb!HKR&dh@(bi;0z$f8iJ~^hluq1-ENDvud?C zX>7;?p_&ii5BEZ-pj~gOuy?$EatSNVhXR0)>PfhV4>aK94quRd)*6_0{N zNc3Hn-=cDACOxyG6|f_t;_c-Ziz>oof84tFIvQ0%RI>Im8NRS(OQ&nCASkJcA% zuf;E~p$73<_cdH*kN?lW(tnKG&OLupMZPT$vtj;im`>Er(dvJnz5dyDbCP|O)nj=o;KO5o?hx#?w=+qpdKqysBj3n2sVwQQ@>URM0 zAmq~SR$3RM2YKag+C+A~x_z~^_4odI8}G+P@9r<&UicvN{!se3u(}8ugIvh_LV61W zU&NzwdJKc+kW~azwRAIu3z6Gw0_z-4SeT4XrMW+m05z%9T&BxF-{!Iolyx?#&@1H+ z$HC<|$))OtCGjI@jW3^h*1r(2-K3r{GwaJOKhX)XWPA0|$J3kZlqe2i-SUp9J(0%Q zJ#2C8myyqROa}N^D7pv7?VGWmZJaEKa;J5^>XK@bVb{&vog8e$)-$RE?8iSg?U!Tq zis||{c1ilF?mO#tSGp7)=Zot}#d+N={4u~~wRM##8jM0E*1dK!Ejsj-(Z;JC z3{{J#e|e^uqBs8eFk`QCa7l{VjAF5-{OrOY(S{!o_U0`7* z;`Hp1u=_UXgTmi*&*}lI#`npRGU&6-;)Ie1>PCmacORPPu({`|Fr7FA9TsvD~FUTrrvus?TLx_dl0#~?W z62s`$CT9mPC!=?X5#(DA@cw+i`#V%oEcQ52qdH#pry2o+Bmy~)Q!gv~c2 z=Ti`Z0b!WYs0i9QC6K}?+4!8IMX5JJ>FK%yJ^j%Iui!+dZy--dvb2a=&^6?O65Ij4 zaAA(>;fRVv2s;mC4hfx<2M9VrZe2t!z$1+J4X9z14?%KrVwi|U_>I5P-e}Q3c5Da! z^fg?tN@}MbS{`C*?ivOvdoV3oR@_r>zhYr(53?)3s3wVz-_CZ26!C!tPA+~9mnXzj zu!vblNKd?^uyaY7l_8kMavdpStO#*QDI*@LmK7b&f=s<4)E7)im+FF|ml1UR3OH+6 z@W*-Sm#sK5PRNhPOv7+;B}5iAA?7OeF`JM}1N3Q$bepxsa!zYXf2ix9s1hEy9Sco; z0iGcsmngW3A!5qA<8i9)T{+`9mf0nJ;3_cz>yhsnmfkXbdhH7@G+i*3o$L9c?W(|4 z5+Ee9LfQt$R_KwS+J`NH96A4Bks@X*?{Tv0LJWh{-Uw&)(@@M5qZZXlQ01eeQ7q6; z5bJRQZjd-@L^vZ#5vwUQe%J+fQ@GVx88wL-H9ZY=6%T0=Q$NnE9N`pGweK%XEzl!M z101z_O@O~d1zTX$nH2)M)6|5xUIf@~%t5%1l9N>Y1Az227?7++ z=?LgHSVRLA9U7Glr4Co!7~y;n9diwte7A_t&DfpWBop?V4MdFg1C0#H z3pj&O1IoCvnvN}LEg#lxHHE(#b0xLKEQI!Yy-)h1CkFIL_k=`z&l550{Il6?)zQSt zND7L)B)TU1P<9S=CeFAsyET_cC?MivKmv`0DjN4Y9Y)Bh)Y&i8p9+o+R`fFr^)0^C;B;N5oOTZv-U@tbw=)0+9R>X|k&>rlM-m;Jz)F{?HWnT>`uP=YpU#Znr+11{(FOVUvd*;|=r3@49Y1}$6Y0pM3ybH6kT*!h zqb|D%>@I4Q*@y5APGn$N43x?I#A2H<5WD9FDwAZ4xk}AgBfq$5SQ$3ptfR4kq>y!? zG^mY&Kh2HG^r0)0=e$~@nvQ{Knj}mpl3N^dMr0J`?i(cy3UbbX31kruRY$;3U`gyj z+ek%mg~q+3q~9POcoceFg7QeC3-(w-Y%*Wdyt3vxLw5f)f3XktTqxx`d(r9}7U28$ zU;znRW0UV7Mq4u#Wl{Ej9amIroRGfx0<3g0nY6{IngIp+Kyd4VKfs^?_;dhdDJ^jd zA0Xo_>vft@QsS&cRZuhGj9CZlhoG@&_Wkjj)eJ%GoZCXY513ErFaMY9O&hE^R4u-X zw&z^0X^$z7D-O4>kK^TSpo`%gNL@iamgWMzf!ANO!oT>n2mH-xRh?ML$EE7A6A$e{ ziO^&0Jv1h2!dofF-9)sJ@}q2}g#{-P3z&qXqbi|R(~%7#)1h}gAt}HJ<|Q#xH%opu zktIkB-+@u7N|zcMEew~y4>*F2v(AfBE7dlDaV=SpFiH@u%Jv7Etnq{v^Pj5zlE&2V zQWRjfLtpY&Xe`H7kY6;oTVMban$4x~(TvN;P|w?^usw$5*}Sq;YG*+x9BL$86I(_c zx)J~jP|BuM-!{?|wIkp$Jpg~GLuPs8$q3HHTyQF>;wd(~+efb@o9qmHTKw(8h0M?z z1)^gkbefz6#Bp=)A2@WVq$GdoINk)>K&%9okSx4XSqc|gZzhvLrOsw5ovymETb3@COcXArbzVnY4(*BrE~NM01JDD8Tx(bmUyDayjsF&|z5 z-`RkXx`bJI`+Lq-J?VJ7O`3HZerY6Tp;Qtk0$r~KkBUCAN~!_z{$FUr>FJ*R8oq=D zn@yM5dT@}?;aWK}#E?cT-312(-04%K0;pbS0wLY~3_)50=L|(_nQ^r#-BIyDT4NRF z{cmZ1tx`bq+dA4h7GZ3;JI1>5!GIKQbL1r>l|E;17G-3*!fi>m=Xbz3wh9B)I1=F& zqJy^cu*oyeg|dT`_eS44p=~95gc4!9ayC%M$Hhcp^4=iFhv?m~GP+HN*eFE`Z0Qt9C{nL7%he+B>YocHJdHnbeN@ zX?4hK=`Xc*=um1~29pgqQeaOR9O`DYA*YuJKW zAWo3WA!K>KHJy&)5N`3HSwYYHwv9^7Ek7J%iNeH%>=i@xes951#^ruKLY^~=Xd{r{ zeK(fmJM<-`A&hAZQ4ds?*6Y^By{*y^4km5Ck9>F_wp z>=L#Z4hW0YDAam{c-YxU9)G6wDD?ZZRbIwpCsT+U&X0w9x^eocv-uziDF;g$IBvDGYo_rjP;E zg_#sEvV~rrKxBcg&NKT3Zh4&yxzALxnmw$SP-pJ&pAg1f!Dx-U952AjM|9o@j!{Yo z80}+>H&~r1*sS+7UK!FbooDU$JL5{6UDlG1iF2W2$&rnj29gbx(h{9?ZcL9;lh#$v zep#k&Cr3dn+tG5l2Jk2K!#WL8s){3-Lj52MsYtKXJ~7nXJ3@xrgQVUALm%nt&tqj) zx`H`!TYm8OxR)W({hB%lP?%5$l`v*p%r*HRGILVaf6%fjOt~^~5%aJ**Ja#NO21$F zA9Qi1zT~_cRz4DnyoBKCSKy7~Ewrll_oAI~#w&O)fknkqj)P>U>FrpwEwDH*6&QLO zfQc1U7S-riB!#z(Wj6(po({gAN!XQJxcuyBxHpQp4i%A2x$s-6IDEvzW~8`XP51y_ zS(x)srRri~XL)dmWD(xTew^@Id31wgQNzQvBkIvBk$16YEAO%U>EC~eGG(Kns%QQl z{e=E~`iP9OoXo%c=!@0fy^u^$eaR#;STh{Uku_mDstQUdE*BILdIyU`B#C8GP&Lci zxgoTk|R9xh+|{jlfif+>VQMSURb&&2I@kTdp3H=$Vu24U(n32hQn_Xs3*#m{i3hD1NQAlJM*E;Sa-#13TbZ-o4>~45MkMgU1F+-2rhg!-tzNBb=cSfJy zSvBQejz0GI5Mmyd!I_0o9_-RSkQR z(@9c)TylO*T3UGfMr}+~+4)P}e8pq3I7NAsq`{3gK*T6XrXf><5N1|1Jw|W0l^Pr$ z9c98?7FKA>!a97Zn`&>_;?#2pV>v1l(8kP_!K8gHPFyBcQT9HMF}cWX)!UdrFtHFT z;JM*2*&?N?+mMrOn%NHcX%X9HWRJJrrW>dmA=$>LOTKF1Gw{pAOJw!2Zu~ptvz%X~ zJ8-jAYsd+2r89sH1-p+usvkPGHi3dzeWtqb zx8X_`@E7t2hL>??@s3Tl!p+YpHwV>TFL%9O2=>w)p%1m8FJ$lFI27+dIgNMe-sAMN z+myf>204pdr_DWDm7J`s^Q`qPwc3U=e!s8ZYu!pTXpt2L#gm9`&G<3M-a&RGBj5gv z`PjvP!25JFG2G;t?u}4VgJVa}%dO=7HBHUrmS8MlQcN%wUR8h-6wU<*mQ!OrXO~-r z>8Yu2{sm2YbM@hOFpuVBwavHzvBCHwbaI7z2u?I@a@Ccp+E2WKs~OxFH@5b%_Oy*? z3VUM~+YDzlIE+-&JZy%)fu-8XPMQ6$BnCW>1T;DOv>cj~{G9s(hR9%3d#o;YL2Th# z@i(oru5$1SIkWyii0vfwqot5CF^JO8@96 zs)RGmZwi0)Ws<7)Op!ouj6qCds}F50lR8y>DHnE#5TBupCx`an2AFuL(qrIEx`L3r z-KcPC!Da-L9iTvN;Wu{M0bw|6HI(KkauS~vl}6URpxD>n8U=j^Y%s^oH2hG6qMlZ2 zV3imiS|BSD!Y9p};%*D1*hsZn+(arXldX9p5`z0xP}(B?S9W>)b7a3EYa)6w^(S9L zL%84(w)$DvB~ip~H;rrx2&N41j>#F!t^m1(e_+(HDnRB&q$Ph0c227NUaAlRbO}{4 z7~fEezv15!xJ5P|&Eb!LRVAI>I7@Eq1IyjIzPU%CUKhWXTSmgZQy|_d7179>&HX-> zmZ21`pcS@M%x48Dtr)c*)UapVkoQCNs5kmMrJ?;ZLDA``N&LZK>1KhAM&E~L4oa}z z4)=3HrgvKPAf$~>}( zt!Y!S7f{E)Zj+M_T~G(z{&!UU5s*82pGH&%U_}&KVDm>@GDw|jkY037};J)+?^$C?5+QoUviG(rYw>G@~0`qWiu*)3i1aSUS2&(`}LI5c_eM_drh|Acmd1`8oH{g0lYbSq5 zq9*QufLJD5!9J3bc}VU}T(H9EbF%bmS0s8*{Pw(NrjDL)0&&UeU7x>L-BDrBF-~#E zhjCVxx)zE!?vU#*Enj?K47gx2HzAwDkt;Be?iF*zs@%q!7;n0mgiX*ggnrp_7iwA1 z=a8#gA*Do{Yg4xmgto+oB02JudxHVW+||yLpwa8A`)Q5#*mSj>M4KoOUr7n5S03 z`-FXV-{(FUG8^smV8Q3;x!d%)LyP^6MZBay5P4NPKc00v&#l1!S_gD)Vt7$n_ZEI<+oyUvI!eysM&Ps@4?Ol zE}AqGat@jHrjeWTlk?kK*Z4xUkyQ;5ol5=nO2d);bywE;C(J_%R7lhFWl-&*=ljyE zwSprUg(@38*qdy_U3R;yqsXri(9VuUc{o}f-9P^8hnW%LjCS!oAl`k)nTY&*kih@* z!xXVLvH1oH{&~k(R5P>3T1NQ9YXVW7PP0 z^Y%yJZ&5;?+)?<8^^WJKb-V5LO}Cd`zwW=V{y-C93J_r;0fXg`5%20*QTj}>4X&Ys zSn8b#gIUO(8ETt&0uWn>Lt3}2OSt;CuDUlrQLhh%-Rhof!LB2Ij}Cg$MLpNK`{D5V z!`Hw3ih^%=fyDAj9vnvY<_?tGNrL7j`Ca5#QaH^4+%c@!X1zh1e%oeE%4?H;`cmH8 zszQ%LR5|PfMy6-Kw?A5Cdz?h!Gr%Hce4oJs%;F)%C!$}7!Bd$9T0$zV)FR3#vA$#z zu$yA&<{5s`pUk}Ol<}bJL#i>t-qp*Knm|AQmhCSN$y~B|`Ztx=Xu<<&_p}J$CL~0PJ z)be!R-h}RC_*Rs=2iXs9m)W7OLuQwAh|V#;WwkPT8l78mQv$lgP6pf2ke5u*&z#K# zni~yxIni|%`r_|^pG}B8m}~TUGzu+`L#v-}cZml%yxhIyOKybqebQaB-vPFQd*`P; zekn(dc9C-c|ITEZOHhA?iMQUXjairF$D~<=$fc%K_*&F0UvA3gruki&MSTn+N_I*Y%_JD9XS?x zuhLtJ;vK4cYPv?oW}kD=4o|@@)s#7g(y3H3_jCGeO0bx95OH&nlF7Wtf>oGm*v1mJ zQLkuAWKr&2WKFmna(TGDGKHWJe@x+1BPy(n3$3#ouSwn z6DU>5zAe2rl>p2s)hR9%pA&`rx)YOI#0!NwtemP%z#i&SGk%F7)wC-Ssr@l!L?yb( z$@HERG;hrwjJxFwmqQ{1^x#5MftHhAZ6{;~+(%5}h60@l)yO?mQ@r~iP z;jeY%Y^7Tl@1Q|874C_({wkh8F%|AmvGQX;d}rXWO7<|l&UDJ7BwMk!$-!O(R5uvZ zMxWhr5z%_xgE6bG@%Bp5!kB8)QI&=p93TgqSCO^JYp_jcEb21bgNf=IRjqrR9Y4o* zB-%l=rR;ZmjYl2-_#e|N-lVmC{jP_UMmmWW-5qre!|kC6pZ75kb!8GR^ovupZnsp< z0hk*L`85pAwR{z98XM{BNA2*3T_(UZ<`J>p>jMg5?IC6teya9mC;vI0|Hl)O*k;(X> zA1#6$is#8jHEd6#bqVjq-mzXpkK`PRS&2kV>>O7+b@?e+I5BV=UZ*}Vlk!w0S-#=9 z*q{nR`v6Tjgr+r-s#(t{`Nl3nLCtLx@?Iy%XC405BX@*dj|eZWQPYLF;XWhCs9}d7 z_Ba*Gd z4F?Uv$}35DjUC!(ck&vC<@_jlLbaI!o{;v!qUAZc{94P%@S6pZGVbi>T`UgoTV~{2 z*tNli73wafql$62re!x5K8>3VdLS@dVJ5HE;3hOc)-bvmtc|7-ee+%Aq)}kb%^fqSi^7kRquV^A_)z}Kg*-1>&3|W+p@(@2;!#6WMGk; z>&4-;1ur9!7TLIR>%w2g!o&0OB|g#EBJxr?){n+Mn7X%|?twHMBb|8yp3D?>y}(`M z3eL|&0DM&~m=;x(2AV7i!nkHKhu$K}d}2kf;F`nq4n?o%witb-XTHQbmUPv5;m9_F30% zI3v}s-z=_^79Bq{sm3Md=FGJ*EFMYR&1XCuPxtOaD%}KZ4db5=gHADrzyeM1E`4I3*vXd2Bh~03 z+byvBThzeOmUS=&qo>Tqdx@w9VTGp#tDdOOTikWf4@V^tWK?3})L3FwaoSW^WZ!wJ zw%C;|wi=e(ft|&Qc@8P5@-=zgYs%WByLWwhPwyKtMeI|I3O0RYvq^c>J&)(7$i2?U+1* z84Ud6!Q@+w8{wcC`Gvti&dgEfp`hs4GdzL=CbC{lAp%=hHq5PRq^z{iwac}tMMOw{ zhx@lu)im3#EUwl>t#&#$xW37G&StUMktH#X&g(sl<#c6x&ARn9ZGHH9d@qqB0GE&W z{gsc)>Ug7L+dVw_*xEW6^xmS{XC=7WGc60=)Un@3AlNz|){(t(RCs~p?%fRWvaf?h zxjEebqFJAs0Y&jW8wA_R41>Hc;=URc;{K{fjjMko$n{M&BRD*9P;Fle;eC`^KOLOF zvNz=W$2%|sY@2JG5wz8nk|l(K&?P?+r1t7M#mjj zgyMT62ugU1iK2@XpDLCtD-r`c?yI8GTq^zxL&*^2`HU3@Mwu0|D5qCl@X5tZ)ce}t zCq-8CbP2_hd#mDg*3QCKsoDM)O0V>SEV{j`#pI|x8#P5|zK4^(RX-+lIeu?zJBBKk zcz?mDs+ECe>xg-j{~cW()y1w-L0kV<6Yaq{3smSgJ$!A|Ncsdj4~fEW=7kwjS0_>MEM3IoFY{ z1ea*`Y+^wHm7^~ zMT4gf-vgES`24d*GWBkMBk6@?d6c4lESU}f@@n$(dM{%o_yl#6Sa6g9M`v^m^Q;W# zRGlsS*x=Eo3UCZX1oZ}rO3Wyzr#G}TlLXw@LBJk{o)usxGrXR#=Ez7e3yFe&NEii= zoUW5=mm|_h^HD}1&EZ@G zeIKJs zUqfRe&prm{xk;=(li8dBOQLogbEoyrYo#o#^`k*WYwm-L-+kkW03N3wUqy=PS;`&_zjbYx(%rYO|@@WMeC%e7V>Ev_hxO zuv=EjyeL^}Yz@56j_M0dKjDt8mv9eLo9Mv$$>bZM_EU<+hF$%-I{y`;G!!)`z7Ba?4YNo&x|b!v!f^icqj8H zP?yuAU+&Cochc^G3z=FAvcd>qq-E@$mtr=N!(0z9|p&UfEV!7dY!&<&~?gcctrC0xtHKO)d*y z?(hHg31+)nV7CNne%Yvggy`u#@-o?qicGmbvJ*vaAnzv6erwKtn-rA-bhwx=RPZmW zvF>LCSHd2eIi}~jG=_*QSdPlQXRsphdj2j)yNS@mIM5k6&%-hxMVRoIBnEg`g8T4F zOY@Sq*z1gXg+P^h_w?sU5RDxFMI~S0OCRYRP;vI6sdZi)BF(o5xE?THa|O0T*!sp( z^8Gq2*8b;U?_K_wp~O?jma0%1e!r+~*YViMOduoMV7z3XnENspN{qC;&J)EMHz`c+un{x#_iBY>Q~9a z-3f0IkdUNT!NPkIO$$-jmKs1Ouh8FKKVjTMu;`zGdczr zOnnx{{?0Z1nu5);IDylRsBWH8$uM4znp#m=7%WS$*)dL|ro3X0nsKQv7b0t)dXE|( zifK_dp5I*o@!R5uSxn0q8J6c5GLa?zt2gsS@$8c^uNVebp&?-IlJO&q{=k=6ED9Pnc!E-kK2yXjmHXd9w(A0WF!~&S>%eEq^MtKGjUNd)sJ8r;(0Ua z@~S=xWoydFlV10KiFiXSulEVhcnzO@=B>Ps@YSUM6VD(uW?^Dws!%SsU%W$xZ5*aGRtyA-iELQbK>#tmhj2Z}^tIL-F=;{_BE{slYHPBu)W7y>YYKN(V;L|96HP~I&AzozQZZSFG*qEk zTFn_hL1wy2bUfnj=W~@yKi*XN@ zr$0oc)dNA;gF+7=^S3bPmw&KpeQ1xg-fOq zfsiPR^VH;!{+ZOpG}C!+Ye$O!k@XWpSa_3+0Bxzxy%gk=@5gx=POY2Kxp#m@TNtG{v~0 ziMWv5;#hY;VzPS!rE;6&pC}KGu-{B?xz^b@0rjG-CIh@6jRHCTQ|*Fv=W_Zv@l{fl z@XF&Si8nmQ97kL|P5?Zn+3#77E%XLCf>(ZJBdK1kvbCe<<`An^eaOxBSP1mu0;OsD zsm87E|AMOgk5Hd4mum6*Cp9Mq^}p?lRT5DDufEtC^(Z~GHEf27i9F3_qUQ-EMWn-Ey6FoqpWx&G`8_;`guJA@Xe`RPp1+T8)3~x9a`u zwE$>e^YL22sO*#&u@O6mg&d^1eYC1P`(ti*ItyNk0J*n6-g1w<^wnSeVM~SsOTOGe z%s9DEMjVcX9MqYo!Vleu^x-Y^ks zw{~~#!y)%<_z4Sq-~62v_>J{~;{1Bf45HZRVuknsR+MlP_SCd`SF|*d$w?c<{7iDj ziMZUpJa0vQr`IyOfv}>eDf^<;aZ-jsZH42iv)Q3&<(PO@)8_ML-Oa#3Jcyc}a)70} zs=z?zjXNto4k;nW55hsXJDIa4T0r#!g-3>y;ibUeqbsGrB0`deVvnrE~C|05NLgb?> z{x-E2SaZ8RwuhA%t1cQCdNhQc)&5!Tjc!t`(u7j5M>Tybk{^*}NH#JX=@g^XsG$5K zrerHxa9^+ycyB>BqxDZ(JZ1S*IBJXu%89xdogD({n6X~AqO^cW>0Y~P{aY+D>g{Yp zdqz{@A8CQ1OPrl~dw~HW=A?A^d>n4Fa#{jFSW<>A@>b9fXBEPzEmDT&al>9h2uNlo zvUV^XIWBO|yX&;=lp{A`lLuStP%`!lRkYH4L)`3lN04Dp7lqpWDOI*1aru{IKEnpxp& zdn|=q(Nt96=sDAs;WmmKZmM2pOE*eyi(li>H0rJWO<$43(1fyU1DqQ_YoYG&a=l#t zNiZ@vR;FD}4D3>aWKwE4JYzEBO;FglFJ&gG1&8j!9o6pq6{1sENRG#~No|a77|>mF zh#!4f{e{nYgFb^4>SB%5H5#lNmOw23f86<78q_>x=!psB2XJ z(RGQJn(NR(!(O+$GeO*WMs-E(-x zU7In1uMF{S9X?22SjO0qEwDtCdl!yg5-}gQ0M6sc>>3+aVfPzS$gJD>00w0dA*b-w z*)lS^nr!@SBXRUn_={!K=#gL?5t1Te(Ok8xI3b^fbTFJ#B@Or2El3Azp@*>uw>ghQuCfI})N$9~}r~JKqDBztWEfS}OP0KUf8%Nw_VS=dk zkm>~V^q2B^8IWv$1|tZsq|S{wt=swmWy-gUn9Nv98Bmdcl&rONeMs;D6uT4(w2D$# zHyJ8Hlfkc2?gAnuR1msKsVtWt%A6}fljWjE&OvzKhgo=?~l-7P3SYCqU3WzC})%>mnp(6zCu12(c}5YY#PO( zGA#L>(FsAGF=`~eJw|C7#pww`_U{6naYM41xP`{rb>n8^eUjlSlco%!Ndnx}b-2uBPHRrc9q^L9TSf%AiCi>eAL zE>BDDT75;$DzV{F%A87$CVx}VvMP*X2^`9jRSj$zPad#9H zO0U@HJTuuIe&oLKCa;JM4yo;K8e#|ka6)}BYo4oN9VQf4kPJQDX=zF=(r>AQv9LXU@JPSdd$&BE!qKyhq|!1o?s|E$DTZ zo^zSy5aT)K#bN~S=zN;bm{TOEuB>6OfI3t;H7wGa zN{->;!qMFBpegPBmls4g`+1m`_ZajAZ4npvm9ILv!(NFty;3W@xY?nnW}5Q5Jj*dNbf-zryIY3S>mCQ z>6dtt*YimKNQ!x#Fp*aBrbh1*(o0fQC;4Ef`<}`8)d|?WTV#tlZ!3OlP3tw1{-=|9 z>v@iD^v+}PEtL5$`Q(FW8qxSsPZ#iy_TW=KlW^iu<#HM8w~Vd$EhNoXqVMlw-8oz1y%v2={_e!at;x&3?nlV?BJ0lyPy#ziC+Mwo{z&XF z4#d-SGNmp60-kAEn9fydg_x)={b>`~TB*3w-f_j%gX8bwQ^AgB$mcGP%xro`r~a7{ z+uWNIY+E{qduhxxrave`7NrNVU;9D(o#utM5AvS&6x$iH7yAJ!(l-Oez4V;bW$Bh~ zZo(*_E)@mt+jsocwd6RrHC*k*bR1}MVvvuW!JX=B7;z+?PrBMOY_+Xq_Wlu@1)4O- z&||D2kipq(HHc+eq0iS#NzyEKNzO!xt2I*|U0Uhh8dBHyx<2U@6ev=~kF(C~88hs2n!z-Tg+bCG8H?s#x}!oKnpR>8XG+Py2$+QpbvXJUFq(Rbg$ACLeu<(sVB+4BFE9P5o&8 z^)$E_Y$D7trOiYI^fakxGlNm{9oueLIc}3i6V12Sl8|bfA!Hv0e3@Y-IyxtZjwrL= z-pH?qqfKhpimW+ztU#bDmMvnpQKMsOQB@mGUBea>zza3x@QXbAXq|6%*906^V4B+7 zm7fn~;8LNAUs;NmkK!~X!67T|Kt;I)K3MPvgvEI0!kl?q00;o zati>XQ+5539X^NbSh4T{f+}>U$Gt?qnQmOjO)d4=1RL4Mx|9WuqAxw|PBBV5+b~uE zXQ|?L?D(v;y-!k^?!eKWs5+9#pXQYwTcXkA=UCyRVI*XQJ@utcmTpmw{$=FZv5#(4 zn14cG3I#e5cw)I=hI!aY(a@mHq~l&nJ_eli;1<|YZM4sYr}mqL73jK@ zrRWT;JJrMt$pBtls6rFry}Xt3&LALkXdpPGXB0|zlL4AVbQ`4$vKu7}wi`tYdOs?i zuVzS<#8Gr^u_6MESR87!1k*l_^OO^w6X7&6Q`u(;W_{WB;y;o(IM+zJUeJyNrI#%4 z)Sa?LX6GC+)D~F8xm62hXXT=8i($rx$)bd*=VNEGF$Be%fKI(tg5o$!XXc*Wkq1C- z9FK0lT1UI&p(R2md$9xjnq@QovPXgSnuGkINcZ}P6rhu0_<(3pr|@9K(UOvW=`1OK z=BZoz5WQP{ov&^o>9JjuZBd3!x55FmZt)D5qb2j_aSDfI;?q|4p=*njm~2*CgEe%z zWe&J?VW(7k{_d3xibZpar+fBBJ3!hN)xu4k2r~Geo!(D4SIT(HNtFDyM#l#sQB>5< z_eewq4Jfg-Itm&A>QOJDMiK2h>K^KHDzyVMB6e&_Of~I+)T{R=xyqc_u@vKmnXIZ< z&33IQU`x@$jdI9RAz_!CS#HKQGbyk`qotKZ%9ct+)k;?1f^Z{UQQ;c$J;gIT zA5Y=Gs^MFJml~-DQzKkLxOb0l<++ikC^UL}JUd+|GL#!z1xNe1EzqK?Iv8oz4RN6m zVS#`h;}^X(+#T6dRv}5qNs{)55{CB-ehIG}n_A8_{8%x-&$W~VTY-rLpdK2EQTbCR zRbJo8>h>L_k(RIt@Pt+4KUXVZLd-3#h!R@4Bch`#J*m{yA=X>bVN^al@F1w;(nR@X zmj}UBB@F0P^&BewS78>rP()4sq(%lqhJ+Ew!IQcW}ygItpze`r0>k+9-$6v_RukxG2KV|>3DctCdeES3Ap+CmH1uw4$oo!)HnC9=mds$>|fVh;tvXrz!2BY zJpxj*c~;5VJ#0s_@du5+v5LH8nxUoT62N3i%tuN|g3_PZnWbbR>0nIC)nrSI83_d_ zEE(8vF^U%Trpc4mGRFf=#$E22ktOtOZ*Bw)_v0mMd5Wfzg*tK}<}X4=qM0C=)BX#m z{qeA`Bsw!MOPahQxNk|#QF2OzeEb$zhYWBI#L@O>5bd~MKJt9vR08rH8I$%WoQ)CC z=HUn^6$$OhE8^MdVfVjrSfxc}(oYNAB43XW8$DJm6Y=tM6$=VvHI#EE7u*pO9UI7- z3HmJ{-%SSOHEbfj@Mch$=jgbAF9(sBnUw=-Kfz5f!r+(zV(`q$9J8H?Tjq!fkj1e4 zTXJmuySG6Ww#7J|5vhwGDdJM_rm5mn_BTC}3nuK_HDJ1A8midF8O5$x=NQr3>Tf{! z1&9X#OAw{cr&7vpBs1IkN4y!_v3jA5($7phwB2%&^!9I`N16Ys(w zA(RWA!HL!6yf=E(Vf80fupK$(7kuFX!t_7YhNb8#vM#OVA|nQacc^VsCU&q^$1XG~ znttN;O3E`WS{g~KSp^lO=UM_Y0IDoWCo1MQ0_V1f60$sSC*Ez_?uD}6Efl-tmHTo4idVluj|Jq;qtyUP7toBx&(gJENJ>s#A>tB_7PsUb1vAj#4GKNAyoQ66PEROQ zm4a>#9CWX-{L^8|l*b>=!_{`VmiHaa`iWttOpHP}Zjs6}dPgJZo-t;-a**Hj9RBrLKOy#(rQkz2Y$xU%Pv%P%CUeZ4jHKXfJNni zC8kOXvH#aQ)6THkuN$@fygFdUJ_MFNU^yRD{eQIiTW$Ldx4-QCFe^^cU!T2Jt?UZ_ zOuGGDL{Kkf=Pyg4n)fNmS_7r@v`vm7cBP!E!i7cyK$25 zJP1mIXYL@&ye&*l2@CApf@bs-gKh5cWd8->AO@cxP!dn8!~I3{`Zktw`D<8rB46TzbO6DVEor7%xXBk$E-XvB+GH zGUZmRHK*V$2=7>MVVPQSbs#(Bo`Ac5;8*ujXCKs=B7LPDkGR4kb{33Z2*~#zG!|;= zi?s|k#6<~si@es7AMqL1syK_Og3AXJtvJ8qGQ38IYi3AoksJgb#lk?Wj)WDqY=SI@}6#$O!-Su#sR2IDT1X;+{f7ARJEkn2g6Mvz8h#tb+eW8;Wy(G-VB>}&o`v@(Yw8re}a zvm$$+FOg0QCfN^1X#`0R2ucvA_AE7WQgyjgIC;P{vB?_Yvns%*3;478^Nnj<~( zs$q>j%>f@ZkwzGj#nBoL&03PJMOd3fpBu4>(myyx#S7*ns#w9duSL%z1aKI5q9(-) zz>GZS)$kzQhc1PJXSG#u@nDLda`Gkk?Xm%G>!?dcNMMY6I)E1rzqX9S8&v+KXa3ly zIni!1Fdstd078ZBKG^e2BRM|Qc}6|yfq?sRegs;<(Ep0oU6XK}=&AwAOFrPHBl_-v zY@d8uuu5l{Zr6&6ms*+iq}P%1k6We88K+>1(S=k9FPG5TIJdGY9q}7~4xD!zku#sL z$)|yL1fj^fFBnF9jOLrG`+aQnXVP^SZ0c>ULT}Q-$W-OXocfztkS1{oBl#q&0ud;3 zY(gBLC~z+`H95LoYSPwUr}{S?KOn0>Tqoo{Df)Je)#qa)pO&4bCbnSViCWU-vBgbV(RK)cILx3Q{0vO-q z%2!6s;lPVLwF5ukyciU9Y4S4{Z&8fz|1!|{&w7Y9)s3g<2VDa3KD~zq(xkR ztPg6A7S1M)|Hr0C^^f0AKEk(cCaVorK5TxAO1_AU5&=D**&%eOljvVyph;DnB+bf>uwIZnM^vfrN{ZM(o* zfrJO@QDIv4__4zdXk*J)38r{zQDQ3xjHLRN$LmbS2};ZrriT~5>V(M->KQ6R$5t!^ zW+EM~LTf@5@l3c2Ok;7#Qo^esNIGT2pe!uKbza#74FRJa44h?7o|Ig&Cd zF%)Z0#hcPOKljG(lAC*kVvi-vviOB#VIQ@%?b|Y*Bxj*X&r`u!X_AvAr)A(}(h*Eb z4i#H1x=gfo5GKj#A_{Kv`JKy?lR&7&XtZKgBaIgS*u|o^FYzi)W`+cn8dbQ|V?UA6 zsOevdw<=3_pleYRHeG33S~^WutmmpEQ;Ozm-=AP_7O_FwcU)$~y2(*$QT~B^X1xjR1bhD%WDs!TFgE=WKY|>< z((2XUu;?l~YfZ=HxRtr!M0RPenLpwRx+Ddssxv&y#hsL5GDr2t7EW&LP8x0wh9=3i z7N_6*Al%XBEqz+cRTSK80eN;hiJTHj+6>Fvb#bW<#V{RD>s;_AsR` z>RHbjE_U{kBx;P3X#vp}gX-Z*yu4>-ds&(SpNAC+?De_5+lJ!FRy57SwZ|3@Kp@qs z4@@yii4$u02O9P$t+#og+maQI|4ci@>e(WwXKlX5Dtrbqje&3u0%K3t~rQ z$jg1VAM$m+U+i_gpWK~1R1V&|6r*hAj-!|1jCXboa^FAJ-etsW6OfQ!D# zAIe%|a>j4~lMs&>UL6;G0*up{sz#Bjhum8YL@h15dk%|BE)kG9(30IQNcwv~1GmySn`?Q|-Y zB(4Kx)I1^Vp()fH*G51eZ$8CK8l zeqDGe8h?9CS1_dS!d5chveW5@wn8fm>L9zzQH|!AeGSH_=LMOjvsW04r-+lA@Y-14 z*y}7+)aS~8QQ1=4CyVO6{me6LK#s^-wl1w>3QD_X6&L!~=@p-!^0p+=?ENn%x9CeT zthK}7H;T}EEQJ1HgT~V79!l}+3xq*}(ju;j2vN?~pzigO2Uh$}KAG67#kY)6o@Av| zQ4i`F`SN&xgIN^9_}6qjVLTydEu6E+Y`)CzU2!{3$U-xTJkR_6a~4obu0`yeF=9Ry zj4=u4e12Zu0WkL8->L^#13@@X{NbLzgn5wiRhtxMamojvY_-Gv5F_>uZ%^g6(N(Zy zJdGr?SU!jP)m0``Z+OreiNwYu2YI6E3$1dS9N-_pP+zNCn`hUMI#*DCPCH9p%I784 zI=!RX_RaM-Tn%uj`YRP$zVB*yXWcW&80P$_Uq27K3TW}OLb*B&&t{$8wcsyEkYB{W z@$QKbU0r4l*WO`z1}W|>qq5x1sAV}p8?xQCIZy}|I$;_X$o#qU$Fmsod2KO zkB4P2aUBK-$QBz2i1)vzm-)H@MSBFbi-Ma4dk zk5c%8)KU0N+`*@W@K6g$83tPt&Omqv;+&IOCOVs)^+sQ#sprtt6L_51DUD>N%|lZF zsNNLp(cSkjH@UefL8OZB|OW6uzGV3hOFeP&J9ZS`E7hCoKBSPr;z+M(_tj=?<^#|) zy%S0H(oWk;e$)4{3wgR~>2y;qPD58*O5&jfnVe|t5EUW&PllF>nz&YM?4d>0f?-p; zU(4+odogLSf6yY0FWBrRdn%T`R=}B@B)E47q+T4II%#wA=rlQ%CUhrAv{g%zan7YF z7ILMturH}LGUMi!wApj46yR|Y+HTBIItr<`OL8bcv97x0l7)8-mF~!-)dIoec6vLo7+%6Po@~ zo%CdueM7mz2$X2?@j^YI$%ST2gL8I>46(Q7kc;V4$D)^923H#YcElC2x9(?hU3ti2 zp*x1?{E5W3cyIJ6JSKNv3CXu~?{xktn5lOFkKfmr`5(~;mh=WUe&5I~_iIlq-(K9} zTT(3FA-(kHgtC~vnB3qr*ao&7BXusw^qEh9eIuLobNYQY{}gFSfho6KHH+f8EHMF_ zQsU2h(EXO~-9Cke6m4Pcwfr|nHB)|J%Z3o2Zv^>WykdUmxQWiD%-hS>$_AjEX`s{> zfK>}Ycf-f+59zTIWLXzZ?W1m`FCjb90E_CFoJ114kGgz9{xcb2bHq4+ZlY(PipI(4 zyCmaZ?lcPlxl`=mP}47qr55Rg;UdSH8*(e|P5CnrZc4MUsxh26Am8Mq2f&jeP~9GQ zCnl25t^l{wOFpXR{P^eXoUY0_y${E1wuLwLLTd0Fy3U63mm>RU7lR;2_M&nOf$?&9 z@#(x-c?7P%RJk#VwB1iyvd+|i@zy>CYu8p~MC9*fd4**?V;d8NZJgOs4vs9JB;q|w zsoCmg3x5covQD{q`XI~fO$@F&uQcw!>8ra&fS6lhT$kJ|d6p!l2>ds+%1#(1b7av( zwYgCUQX`0d&a#uoTu=yqt_Jf$LIELhG4^ZqpWALI3 zE-c{C!>YJoDL%`*^vHu&U*TC*u3f)?K6y2jWczS;6)EwW06F<+h9oS9ZAg#7d@{67 zo86*WLRu}h#=e^Jt!F7$T7%_GBSf;T?T=cyVI@Vo@=AwjRt^XT#$VZj-4VgxY-}_$ zQxMNFywVOKhi^i?2>j5K$020^ptU z^o1uX&a#n5b80X3;j&1W#R&~M_8mTHflZOFMw$J(&F)YS+Ur3b9lF@Ak<$cv++?zJ zMVV9B_FTyNwCJi}DVmVl^T3$R0};t3032<^ZG(WSgJ%*nA64m@Ie5psKnL2OPtFpD+?GY)YbX8>>-nOfbHUs+ld>4SKRPTQraS5z zRC)}-sFBJPYg87^OSNWRpiY}H<-;-@&sBIIDw6`4iFB%IR@Glp)*mlQS>`r4CVj3z zuxiu${C|qv3~g(mYJs!O32ig1W|3qaAKJ^P@kU8pbZ~lo%h&gGCk4=XV?3;Q;EZVcy>W%#8{-(u;!#ljrr#{9{Jf8LPJL4!z2+b*A@ z{2$cDn$F-w!jHy0_a|iczX{s;ztYuW5~ZYu_>soUSjbvhdM}E2>4}7qFniq3B)s|a zHGdP8ajJm97i9qFCkce-e?wiSqxX-<6d!ppd2m-YrABNf?Z~ ze-%Y?XXy)wEQ*w;&g0O;lvAQlBUi~an5a`4R4G}*ulg}cHHtDCIXV`lGfA-NHznJC zl`!q3-s1uOYiR0!KJcw5F}3c`$8G&dN%`+KML+(B|4B0zFm!TuG%)&~***VH#JjSV z5~>8+Hzyo)#89NdePbhtE*8Wzh3|ZrwsPEafHEmrq7^$b+F7peIFU(+M9MiGpnd2>VnWCnd1hEI5QRpQf zvCsC4s!Q`$cv5(mUQ664bX=lWLDoA_KCiWAU%ua=#Z%j6X)V`Znu8iT`ptaao!j=p zoNaCfDLyXE~YNIT4gH&W!;z~ zz+RpJm*!&?6Fs>}I2-?}<{8{Crj&6<(U$!p2ZoX0R>a;tuq#tGl-MTH%=0#+pBZZK z{ziY+e-T{y!8l@(XRS?$;Qh98Mf_nxC6qx9=Q&HFhaH7Y5Z2Gx5StM)w=x>f*$kb5 zrbJ-AhQ+E#{1H<8TL;mzOgqi5QoPKFpVJSfQYF5vFD`b00P$Vu9?V3}7(vO&6Qh)o zO!~Ky%&tl2lQc(%xOFVkt=p?|EbD)8_Kwk&N87ebs?Zu`D>_Sx;ew%@rQ*VlhrbBsCq?Bmy0tS`9_7dR4$_=~D4s5Tz84v)7D z+XTr!5rXYBu!|P9`W3J1lN`_iSW-EUvWDaGxXahL)usk!UA3n@6>fkCM+@R7Y@?Qf znVDYTXr}bE@R3ysgQ<4wBd3PM0GmXd*h3GxsT+~kfGM*9bq27@cg7-1D44!m>nkli zd8_^2GwP*XLQ`k8(_zRCXC;5Qd$rM_`-BNKl67|uo#lFn;lE1rKjaJmq$gtU7jR1* z{y(QA+dJCXn>adqFbFt08hD5(%Kz`*q!P|1HcrxZ2F50i|2)A%YFcXl0HGsDq>rp(W$QL`1(<*RE|A|wi7a;1j@5;4!;1qi(F)t)U^B+DisQ|0)c z3$?GEn88njzn4vfW;M>3_`PnVt^xkO=I(rg#EH_ykhGx+5tt6zYrv&*h~C-aYG{YY zKjdI;V@#}Z@bxWWI<}FAv~$!PgnYT;a0k2ESQ(1C;(mj=2~ch!x1ytMs@@_AiL=9n z)MxD_vD6w`H769)rMn7L%9`5_Jx(F7X!lq<09Q=mz8G5wP@$=XZd*&w3aG88xxpg$RuOj zkw(wVaAn4}G7gQEth*X)Z%vWLza!6Zqpj?!N#6-S@I8`7L+hY{J*$iG>nb>))>d$Y ztSD~+DPZ_i?yyb=kcU+;Da&@%RppiIL6!O|B3|p1lk}zT`L#M1Q2$RW|XtWi5e9q z0ZB*iDfhuX-+mCSdHwz#tPq!#T-|&5o4PytH0U%UhQVrX{;I&$$0Au$p-c3PQa+Qk z`4KN(5}dJxJKB`rF?_oFvu*+QX~bwyAcy7)s-k6A@b4U8f3uRPdR?~jSYQ<4X3WFCazVaU_|)THWKN)WvRI!AT^56qD# zt*{a;;RU*avtQu>jx_ta+=%@L#rOZSL@JsXnOL}*IR1lB_|FMn}az0nT{W@5VIeXWZ3D zSEdhzir?|Ho&FUJ*Y0L#_PLT;3sMq~ND>u_BpjEt?G9cjF2d+P#)wZuN1zF=l%~p9 zsIS_OD^%OqbL|-Gk4AaRCe6+?#Hh!T)p5*bQ?1h46k(y(T#Y5eVlz|aR85ri9b>yC z1x;{gy0+(P5KB;<#b!avR9)N^QUO!X2-xC;+j9tqP-b<1Yfvv zD$!@uh?VT#d2%*p@eNdjxmN8m3CWEu@Q%4V`e(Z8U|fgTYG|9^Ab>5@9N}&p&@t>C z7)NBjq||71=qzk2v$gM;7=w9kvPpaha-1GG8sEeyFbV&r3uNb6sMmqGM@`KtVSJ`h zLU%b8Z=Xm0DZ>9V#UCuu@+{1c3po;l!3#=%LI# zuQhax&GXc2N?ljIhOsIZyE$y2n;QsJY6(e#Ir|4X4qZ(4?1KE?MJYr=;s) zZJO+lN+sO%SfjV}u7>ctUEf&^)B;_gpsLw8zSZ}A_RDy5&>OjH`vAx@n1d|#k^ApFoANpe_Xj=<5**~nufh^5UxLf z1UI)kg?eGC$W2~5{BK~|Bse5;+o`}H9!d67%O5uOfjRzJ5i5}`xaj5v4xXT{t(}J3pFqeWGyM>BCnfsI&Xcm@iB#y6YKXSyJxo&iv zr04uJiM1=~`tqKz>G+!%)#Qw&UH{6tTv96O8*Yo29qOt=!I4|5Cz`;DiN20%*BEJ4 zG?m_Of>zerJ|NPmHQ9KHlM!?f)R*WyQuht*yZA%4#6&a(+pPDqGe@BknGVwjJhD zrwE5~eJ0dS209mN@nhjSTzdOaD3ZCuCvRdg+rP!X?dWfou_=6$i~OwOOcC4$myK(2 zCy@b?mTr7XeAihRq!FkLtUiN${PatS z*I<$wvE>5x3yWD+kl-u$;`>2J`dxJsQ0loLAQiQ%Y8P$(NlQZPsgd5tqmEDPZ!UZl zy}JVS56=c4q)n$6sg&jrt8?EU$wml?OE_~jTAJ_9XE<8o{%guxBppYnYNQuhu4%5J z57LBx2W(JhbrW1%(MQyu!b}iDmtxbY(X`l;j#TSy5jrl1NMIO1)<-L#T zc`g08F0hZkNi8>L_^DLcD7J-Ea}*k&T&vtxgsj|l1hBJog}1U;52M4|9pFLSSh^$L z&^-SHhH_Nyk$6|_p=2%C|L|hHyifM2Hr83;gd)qA zo~At?S-oQzNJk>E=?xn7&hO22oZKO?58oUcm9xJzn$%CuE zw2S3=agejLRfnJR+GF#pO(2|?v?jngvdHo(19&I41Wx7cwd#A}qeRRey>>yoN1oSn zsV^K-rNCdLE&b>nRpcdBx%Dd5VEu$D52EL!1eP^5YpQt|R@4ha?Bn;o#*ruQtv^n> z1{4}xLZFp)bB<}#_IBIBh?yZ%ZpJ1|(czs*ZP`6HnnKn&VHoA9oz!ly5z5i+DRvJdmKQGJiW#r22X!Y!ur+s7Wk)cE=f$!3y~9aK%QdwesGr3qyA$7U947QqqS zw+Umo?7f(4Z_vL*=;KhwjNebcf4J2gAlhR2@&46Bu82n@J#iG)=)35rJvxUW-u%YK z&c-Sy(Ddd%E_%m1UXx!@f5t^jml)=_)|O!O*G)JoFaE%ic8{a)4pSL-#F6ySjs+t7 zCyJbFu=HFMI^nMtBGGu{_37U029Wje*HJk^#b(NK5W3K%sI9EZdPuKuAr+A%%mk}~ zJFXNK89|HaWf8v-AMKR)m~~UmNQuokZH#PTk$Y0*b<(}@A4VjtO;+kamA@j3le=<; zmNG zDPWer(kp-Js|9pzfL@@OpXdfLd)^V|&%VI>^CNR!2#q5shN!=W{rTahGM#-Y$c{h! zK{yIops=>_V?6hZ>VcBOKj6ehc!*jW_3VX1&BX%a3FW~dTcO?6?W-)WO?G2(MCdH8FPN!$EO&S_^ znuNd@z_6q2F8=fcboGhIM&E=A(1S$v^Ixdd{}`ZkrOH-Jz6NNbuT(>!|5>y9Ck|NJ z#K83bnWX>O^@>$5{t+YgxkYM1qyYmTp>9*nwnR#*quIPpJ{uy&iiuB#WU+Kk-aZ?d zxixuR0{=lKJA%dkf<@q5061qidn?49>4yGBsu(vm>64W;a+9-?)BEvp#166|4@(lE z1%@d~9zaV@k~Uxi?>4{@nAIh1l@^{y(3oIGAJF+s7=;+0I?+|+Luvs54{JbcC;?;^ z(ra8Vvri?`E#qJXTCIvUnqrw4s6~&gz_%K_77RxxSgq&mPcp)x4u#mfz^4MVxl7br zlAb)OlhTR*#;2WmZ2k#0@@gCaOrX~?*Fgr6(^&7xF|CRL(`Tw>W;j}AGJShgTbX&& ztz?t6bmEgA`ONOHTi;Dq%25KUySlH9kt^ZyvGz?dsi86%*ep%1Q%LDU%=^pJmMhL+ zJZ^pneUR)iZSo--cN+mm+iTjFn6!6~Uuqm2Au0hyau3SP^k@L-?CUwWLP)(9l^vh0 z^Rt{}IvJ-0dJ{>Ay}wOY5WaB*^wLt^Q)JNsJQU-mN|uWDu$jk33w6?7Ky_-n-w`|9 z$DIXMu)+H^bZQVB^5}5kMjIsTu)$28tIWYy(72cW4WLq^dOgx5zu9#HDl0755%4cC+(ktqO!#XJ8%Dh+#_i@NN5SMiFA?F*}JvUONKE&(iwsnuuNeB0q8r{K5_ zNw}XZQJAcDNsQZ@60)4?V027|dEyz_8sR9wrNSlYZHo2OP|UR1>Y13z80T?WA4%qw zX)IXW+U;@XVcjz4nVaqnVW1Tvhc6yq3q-BZjh)v$^2kw5Fm-3jk$a#%7AWt0%{LSu zjpQi{V67LQi z%)IweOTy`Ke(CGjO-bNeMWUJ>*p37Aqolr=g!d@I(TK4(1lFGJ1qhv!73A}tM~U2n z`Sez7qR`j6Ms}Po$nTfu@%MpGaVunGf;K6}2W(f^76OeLWM(OW%{kfF+a1l{I( zO>T@YRyM`V=Y5whM09GC255Zupf$qB2=gqr!Ns`4&XY~Oa;fT0q zR(374Ra|!9^E=VYHzo_-WLqL+VXkH{-tIsF38_+Z-i-lys87+RUrbU9x z!6fU83*rc(n4kuN!p~voc%I@oavi2(n%TYH`8~OP>Nz;BP>B`r=(?3VR|>eB*{m0O zTj#7?Wl#T8s1P^%YpSN%CnyL%VSTM`CBrKvoJy5l(png6n=alRMS>NG*J%0Zr{$+M7l?!RtD=UDn+iBSgSkP_NBH&k?sm?Qe@7wkX1x=`GLvhC$`_1h+X8UEoA#vtB|llYx#0)d94aIX zao`T)4*PBo!?Y4XBTgyK495VY#DVo4kWs4n7YZ7fTREo2x_4`O6-#3CL6`Q_g&y!1HKb+E_$&ntdHmg%*qIZ#mn<+ z?S4M2(?bJzr0Pb^-N}H?*qI;QMwON{6pSe9WbmnPI^rJwb?7Y!B34e8c{~>Wr<)#} zQp#4G16_3?dSkLqKNk5RcyRHt>XW;fwp}UC{;D>h$aH=^Fan;IdCOFbt=g`b3`US) z%_gIe;hdU49YwnqgC+20$C?<$G|-e^RSUzDccVc5Nmt(;@2Zgu5)@K*wY8r4`1Fw= zIOpxwuBesZ%ALPCOJdDAx4Tn(l`^ZNy6WT)fz5_tHJ?6h9WB5dqXxhcYH528V zd3q}u{W2cgFaI{?#^A^Lcq4qB8Or~hSMhJU&_6r>e?KqHnpXO_YAzo!P3!Th2Tx$N zMvxm0)*1=b>JFE}$gq0iYbLJ(Oh4wF|T6cOhz;P+X}jK zG@i{JKZujtwi)LBc40KrWeI6*8-v($E)u;I~GreumXb6+&On485B^h?QQO@ znx(Dlstt5&iNA*wJs>h8N8@$Y&w5)aF8R3A*HBK+6bd8~Wr+>&WLA|sf#-!-YN*LV zC-xd`LlRu+Qvt>@4)v|LtLqt(rk4xpEj=H?26$5FZd1P0+v9665EK?}a1VIRTWJvt zX&X5aTH)_07tiPJ*+fGz`qSV}u+*{NA5p8Q)*b>Hq($p|*X3dKrNyDJrCJ3+NRBS5 zP$y@E477$_tEI#2%2hGDlcJ@1#(;bdg{(9E2R!*7>$QAU>7nRLkvGU2sSOs?5s;tc#k)~JTVQ9TcNr- z&9fcJak#BXI$Kq|!X4F)1uk6|j$myL>DcS5d8wsDZSXkMGgmk(qaijE*-+O}NEaD! z`WCa>dnP4!n7*F1ZRI*BO1MM`@(hoaf(K8@t1~yq%1fPJ8*h%?X6R(dSXrj>NMp-( zRBx!XO%VA);LoSraN7Kx&V*?T#%wzD;7L&8v>EjlLdR^FjZ=fxv;@^%kmrq);AJ8? z`OP+iIE`9P&mhx9tW9~tEqQ{bZkPdwKCH7bz6x{bBO&VZl9nvKdYzQzq>$cQ@h9zw z6jo|?Xis;G)fuQdElS?GfI3qE<^hMjuB6%uIT_LR8(G`0T~YB@kXRJ-MFq03DY^Kc zhawx%z$TBQpKnFG>+>QvO$RMb^C%yW<$uxWX8Oy@f3>2ehWPET$F7lJ0cv z#{iHM3D)CEG->0J>DLk>s_m8WBd9iBDw| z0+yp6isWB8DjAO4+s2~?=v-tc@n9CEUwiOt#>FEU`RCoq&qzwwaVsz_$`m-Z`vCp_Q}^XibduVWt`guQA0*JF4)xGqIEZj!}W;og$gQ z^d#;{GR^=y5-rU)vV~}^k`;cI0ya@zy9%bQj;1t|9KGH-vo@NKes0fJK+mhc%i2%f>MW9EWi`S;zVXz%p+SFv0$o6?39^Y>?$LE#@wRubeD; z%E;B>d%RRDM%J*cT`tOuP*py7xE3b^OJ$Wqj#r|+x8nSC*1RfuYLm@PG+53g76;>c zEu+6$%GE)WvXRL?=Cqoe!p^>-YN_bk>&Rn0FY!l`l-cjxQmrk^dZ+`OJznhy${e(m zX%aQN{Q9dX)xS@}En3RezPSZQw^aZv)cGPPkkfNDI-)Jr^i!~#gRSV;sqDra-^rFal*b&g~ z+)$3HkJd#|dH!`fXhpP#Kd)}z*i6ZQ)|8_#HXCm4T1zm6IHu_69#Y8QjYuBv-%uuY zZQwQw(kRuo#qu4(aDr4OTDg{+ldh?xucq_;9f{|pRLb&$r_;KtONr^vF{GRqmY19T zR=-S}%&hW0r^}7{?LJ8_2!3zl@pLD5 ziCk|VQWmZkL*VR#T~gA*Z>k$x@-mR7r+=57+UHNhXN?iZfs@u*mRn7MkvFFqQg?Xkn!&2S-*;&N=`1kHI;wARDnm|U|qNtHO zu8eF^ig&&~E3$Uou9S|-sNdc}+H&&eGS7^E@k=)5arH)-{7gdZ{FXt?!nfW2%94SM z^Jq3&hT5A{m#sXP;j#{BBZK({&a5c4buyv!o>3XTOn}zU8+kJ0ugf05S;R@KeXo!o z>PbBdQ>(2e7;Gq!XL-P)-BCw^hc^o5I^bUKhW=2=e8oD$;g{CDK zT+)rbSpz|Y&7dw!#;7N@Lt{9^Zj8E@)m?I?2FdH6XEoXy7d9k@nqqRIou`p&X*l32aeBLROI-IdFJ)#hb4ko4zUl7}&~Ehr$3a}C#~Uaq z`H`)3W>Rt|aaQwIG`Q*bp7tQ<&h!m_?>p#>90{U+2!G`nt!Yf&-#pVibiZfT0E&8j z@XR$VZ^XUflJS=^rhv>Q080>E;Hu~KJZ~Y=%BVOfpID|3expOY_%rePEvnP=!oyrD z=IP9A!i?ep!-3o_S{H%dA0E%NjFvf=r+O26S8lT{xma6ct~-=*<`=X5@>_dGeKN ztzLN1GXw^a8^_82?3J#K1GBt2@|+Ti-jr>DChB^pJ+AK#)S7^@3Y&ZL?GQoCAv3Q_WPoXd|A}nTn z{NRcEtyNUi!Ye4@%FJ|H83UdFPV3sxec`PObDno-1vXi&l{qDvfst+(AaXBS_nJq) z*u@#ddorWrsVa)5DR2VHU(o0$4e@~zd5gkwP}&yU?+n6!LjD0OCjj4TdaaMWOH_5- z8t_wvH$mwS)JFicaM!Zf+PK;u@jOe9-P2g6?$cL;H9QH=_1#!FG>69OVZ}}A4%H(eWJ})wffSrF@0qd8tQ201-0s%(X1GV z3&w%czhn#p|n=JJxXLho)>z-2!(JZ#(t=g84QtDO#DGiv{)RKSQiHiY}HZ zX3A~nwWdHX9~-Ay2!F|RHasgu=uM@dG8ifU?v)!@|zz+J&f=h{8QroAzw5=}3y635NQSmJ#!xh)Y2{Ilx^`T=5PL10! z);?G^q@09n+}^X6J#z^!7CmNH^4>Ud5#On8Vysu`F0dS9&a?&U@*8q6x%?R6jLm7+ zIYwv@X!XH2iO~s@YZED&3=NV626ixuRn13SAa&&FR}unnOP^51O0?n zwJQ~puR}7=9cnY}U@gWdC*hvAON3AL45KIIUbTzEqi{%cHZ3Oq2HBpdnrkUgMQm6LL?cF#5+H05Gk)ry<$t8SKD z2;gp5aOH8jazPMKWM0UBK+|2f;;9 zu4k%DvL2Ifo;}a?Y~y%UNFjRaxCGkFc~d_Z0j zkVWpD-PcDbYi*&w*jGfwy zXaO{zAT|prS`snSo57~;%HyaD;!};xUsB5gUq}>!e*QNQU&@0`JOQD>FqYKI>B;Fg zUnfB0>-)%x9Y~1-4FuT9>ulg0%dkCBaAaH3Fb6$On`L5RYBFX@*{?XRWCWEX+v=a@UYpEe6?eeHu3%yf0TVHWh=w{kZMDg zsx?)yXjO0?XHs{mIiP{Dj_{ykG+?)i@4?^1-OxhL?YoA?T8=eIR{Vvx9JnXtB@)r`DS`73ByPTMY>&a=*oy)(i{V4rB3*B4jyJWy(#L$F_(d-*kHrD~)7 ziVo$tKa!b4-$bgImV(cx`E5cYPC+X-A6bUpIWQQ<8x}>>yjp*lV%IqikSFclZ)qaC z*$~(hL!@6a{$)-a42{x#3b3CVByIDjO8jm=+*cKT(Pp3@V^BO{W3cOK_JVvJ;0CC3bs2Arz$gW%2+YZ1(LG z5CKcvh{7EPfSE+)BUa6Njv7QraJV#cmx8*nN4^mXsi$;}C6c1h7(gr{$|@LLAf*^} z3^{BhTIMu1Cm=0{RAc;!4;(!JXXgL6mVMtZd1Cq1u748z=ZM<>u0{VJ|J?t4hi+Df z{$kD|eIj1|*7u+$#$I{t3!`n&W%>?%Hl5<_-V-6#KpI z^A2DJR9z+&_27$13U_0l5A8oqJr?$6=ruwi z3R1@%>Lzs$jQFAM7BTz~DV>)XSO|mfv=`{E-H-D7Scn-nc~1f(XCO4vK^m0+2u7cD z&=z2TA-j7)Ar=MNB49FgNOXsac zx#O_c`J6M^!=TMCe=7vRPb|G*3U|8Y>qEGWJlElpn8y|h>{!EGG-ToxrJRE-@Fc8p zdkyduM;u9SY9jjq?P2t8aPyP$^on_4Yum@F>)nCmw7WtD_H3icoG!l%cnWWI=c`1~ zl%rQbPZGIC5Q9Us?~0``pcEgvH!(ZO!&K@n5h(8hLcMp8$Dhu}Nw$btW>uriq zQv{K{p~;nCIl1l>Ts_L{E)!npw2h1&#j6z1U`LoIcBCGzNBq{CyPN(CtIIg9Rd|$r z|JdCi6_xc*4&lZ=+7Hp-l!Tv>rfdPsjRK^`kYtJD9SWnJia1eJ&-DShl+RT8HN^F^ z;I0{r;_^9Yj4pIFkpyl*LK#>W3jwO@9eiH&5<|1*<->eaP-bkTyf_o%!8+ka(>X9G zSv~ffxVQ}5Md7JhRZ(F8LRe%r?XvRAtUQ+~doIebhlfFDSAJF}(lk$f0s|Y>q4&ZE zkBvXSY%d!JMsqLF$z4aZ0c%n;Q`^IQJ;ImV%k#c76Q?(@Y*PEeXG;fK8bQ0&qqw+* zw!_9B$ltaXaZ_YAp~u+a{eR&{if|0P7dEPjZL$n>H=igr?5K_bG8d@@uwt$lqaOy7 zXNN?@<(XUh1lwAtx!PE<97}O$;GAhNjPq9H2)AC>XL1j8@Zx;|d3J1v^cox=bP9AS zl+WoAxd$R>y?qQS+QE8A=(+5qL3bmE#w_Xr_@^@l$_Y`mGb(RI} zy#c*t&omz;`#0_i{rt*rD4&XVc32;QpB1ar9jyf-L!b7lWTVszq9D!V(!t`zJmVBe zCyE{At0AgrHmfxWfmtwUx2oa_W%9+ujt*m7Y(G$`RXxI~sAY!mlS>rBB^SzBq8D7N zB?0#0#mpJy^Ryjdj0_t?rSsN~G%RAp?JTjdS+L;|zm16#ErTm>=J?kvSoDe^+{5d5 zMsQ2#1^YQjyh5Z)_Yt-kw*!QNTrd(?l{HDz=u5~9uN0HVEwJ)!68^~lO=}T$)|(^} znNX>SgP@;UTQVvomaS1&F2mNW?iuaGgigxT{v^`)a0)pX-oTL|pLzFS zh|7#v=Wi&nMlkJxH=$6Mb_Z2CudB+p>&yrir zKzCQaWLli+1jkKeW)jW$u2q>M@D5-(iThgoEn+7Sl(gfdwp-en%^+T>Gd2Q*dx0i} zS1sS2?2=RGXFX&SRVhiwOowBD^8^mn}1r zd%lS%u&EqDyy@O43mDZ7htq4fNsAc4kK#f3>l|a0@hE2Jb75Fd=_SvN%-oM3e1HbM z8gMD+_h1)+tf*&5v*@<%lv5JUQm2ISvHDtUr$5VVTD%SPWJ%d)oS3eb{l1Se$aPNi zualB0k8X-Kh8Sxef)v%p5)Vc}+m}|x$Q{2BG+k?6e6l}ywXiiaHNCHb+BF!S|DZ6^ z*d(imBvi?hgUq;tMIZ0Miu9K2!45l4duvA=S^0zHdltaE)#F0)1=Lr+ z5TfTJ$$;QeCLbdQnSLaP()?v__2FSicAfHc92u6QxYrJL#pee3eRl&|!l!&zUcm*u z4|_-Y8;T-M&jTh#hhmo}2DF4KD3Ox1=?m>jJYZ0D0?qDKs-S&v+lB{}x5`Q$k>7RA z8blpnEGaQv*qk;lNkEgKz!jsCGyO5GUmiCuJT+O$biqQ;6|d0v~G-B6L2gX$+3f{^1Ys(!_)4$b*{nM;c?@j{Y0Q?pP_%Hx6Sy_0=!xkBkqZH+yERBs zZqF{Qj|-_chiX#kMf{peT6e+uAJoIp~V><5~6g)Xv^-} z{hi@mg%r5iieJ}fEk<;&qM?somtr*sT+f<3F;stbAC@ob;~AuR z(458Fcd<2QG(k7k%30 zJ!wt#bfyH_zXFCQu?OX3RLfu+#1ywV1Jvqm8%%5WfXO2_1cup=YXQi7qOHFrTino@ zhL#^aY5Z^{Jj6)tj3jVg+3Q+1ICZP61Eb$iuVPB&{aBi70|ph=1MfcWAQ@4(58%rr z3@O@^2oscfl%^qhcu0+q5K~DC0c1c?&X`c}A*9?0a5Yi>3TWIRCail7`U3+V;ys1* z7(Vhn2WUA)@r;XUbFyjsqbA$bMad<_6RDC6KvkFL1NKt6W{tvr#V(df824L##ojFs z7oLVXL{B_i6z8>ZbCyKXhsBp1=aXR+=JGSDU8Jxf zZeqe8p;?4xjry$T8=O{(G0hpeBbMvCUM1FYw#E9L<5t%-=j>XIIYL#9eS#G>BKuex0c z@jiKEMq>W!5S`8@D-~n7Ku*Sr#~Q13WX+#MgCcjaoEb?kF9*=;IjKf2%vnJkeNbZiKempr+uS=qFj1(PUWz1pn}G*jRZ) z1dJ{`&E#)PW2e}+D(_xrI|m8KAUL;Qc3jyv`+^O9i(f^kwXdMF+R$bv(yA$~Y9$mo zd*l10*50}n4ob@Jv_=!g8jlAFi4>B!N<#+ktm5R6a&vW#kFl*z0kf#xx6FnsxH7rd z!jg^gkhirp!P3h*uj5lJwpna2cetHI5^3-<@5Cf=l$~Bx5j$zcE?BLx+QUMEL9-rc zM9xvV<_a@(Sg3#NQg4UyY z#@-QsR_)i#GH(00>>`v^I=0brRK{Fxiu|5zzd_}0NWI>bAu$#FU0$-)d~RHH)lC>v z&8q-jOXenAo*m}Ai($j1P4%~AJA0%(+O*2V{CqhaodBXxu1K-DAP?TAfw`X8*Ei^s zl;HaKe1Yw)nM{`Mt?y8zL+hVQdX77Jc#}M9nf73PrM%h5re$w)H{nF9V`rsQ_``O(Lgk31sxS>*trcesS zaA(YTDNml7T>R12@~J<2B-`R6`W<~seJ-(Z2_?`#?1|Cc{{~z|yE)mTCiB62YVkf? zpj@>;>U@ezXAGehKqPI_*mxG+y;d$e<#!V5<4&bO?5>MZ*RHd$)xxk^7uSi&MmJCj zX7R$`o%10J&4PS})FseniOJ<)3hJ&uNpdlWWWDOf_-&A3cDz zAR@r$e#gOm!I}v18*&W6HY}Y5h)3#%D8+^CVGPO<5s5bt{&^RNOeK-niJX<%0ek39 zCB!2welm#rIMfS$W%|jD<4q=v1KPF5*zyCM3CCX&q*ah7opyI!lmy7ymNE^UMqv>( z$HDvzKo(-91ZaJTelk{jwk*~agxvQ4u{9+q>IMoQbLE;$y&*{D2VpP|%SaAmAfW@# z_HZ7GL!U*V{<H7$zE%cUIhu7gXwR44No#YnQJu z8UahnTJ^#=ICn8ega4hM`VIuR450MQvh7D5Lq~REff>Bpnd|*zQT<#ay;C2oa5q=M z{W53#JiZdoHBjMclDym!VA)CF4)??E1e0=wNE!4U$RNmY=EJThUN#h=Z8H4s6##`- z;Gpp%zlTT_xPA=9D}m%Wp15)Qo{pqRNza7s_O&h~a^J~>W6m#*>L6Qw!bRrZC^IAK zOp|X5kxsrPS*CT_JQGf5EFDC@Hx=HyujFjYq? z(r*;c&;!8mjWZxH*n->Kx~JL~eaC zxaA&g-FJ2M4KOfYIlaAjZ2JiGV~~8&Y-yeoe(j%)QSp*NJPt=WOFA{Sq)2J3cUe$0 z-M?ofHuD0=SdXz#p-!BEKiu1>Ye_I@E!;IX=WN*HS&a<`8H+AT@aAWEjL2=aCb*0p zjT0?H_6rqT4+4QjwMMYJ{{ zve@It)dSJemCk~iB#9ULoi-DwEW9YPoI`%l%B;ek^#_(xN*WE)&7uQrIFn_jq$sA_ zz}Jl|gj!|KV#aPD3|F;Sbo~7*2muf{nv>4mpN&!q@(D3Hl4mh}`5oS57gZYi?pC_6 zL6kb6@6DCr3?_$7+Jtk%xMrz!YBNgZ2yIbZb}^)9)WY|NB|!D63J$-*kst~sfoLj; zv;RffJB4Q!py{F&+jhlHDz=@9ZR?M1+qP}nwrv{~v%-@;Gkx|7b3-0m|IW^U;gp=W4!2*O@cvDh8Hu$^KpBR+5PwrJBi(6xXH|9@>Ihbga## z8O}$7Q|`q@S%(LlWv1`unkyEJ3 z>;V@+YoX!}#OlvsyjqB-6+%2L2ad}L(@o@iJaE!=>R`s%PjOkaBOF7rw<_3X=18cAZ3BvO_ST?x0>luD^!EvG zR_43Q!Qp%siD6Icc#rPmw0d6Q$K2ia8a45jRP3{JyqGB2XxSkfmgyb$P29>Wo1`3* zNc#X@TL&h1@SJt9;v&MS`ykiNhP|JnMe$?vbDpJ~WIbfmGpKX!jFMT+{k1A}l-#Xt zkT9j{sxoM@xGbURA!Nu-JX@68oWL6>^RuduBmo-Ftt^D&bj!@e;*$3n{L#hGVdi2cyjNB0dZoV?C{!Y$OrLISpS=3+`Wu z;yT)*Z1N6C`b|~xBQ#q@a!zE07Mx0$LzK3|3tg2FZ?yyvKLTf`iE%F1-FktY5Z2j# zwtKP3CN}PfGDp3DU6r)>6vR>VD%j{cV(nvN(;1pNf)NTd7)?<1H%zQPHOqEqjYa`e z%bj9-T3s6Q!&l{&`GFT4mu+`ngyL!lMDXLE!!^!-vikYiUQ?}`bo6(v)Mb6T&=h=t zb5_6Rz5%u($TV_(@+YhYP{QuANAHmwBZl}Xj_y%%^W%yE_da+M>|Wy!3LU~<;}5@$ ztr;Hf{s5P#@sokw1A#P5?XCc;CUyM6B5k$P#WMiaKL-%;vHZBw97vri`hsm9t5f76FQkf16kv28~zRHtfX8pKQFud#`kmWFsbx!ssLjD@A3<-@OEE;HfTgWM%Wwpy#MpB7hMLY@+o$ZA3s39>pj!IJ10vUJ2>c@8aw>Q zi7QFzOLjpH@vF0HwhBGiH}?gv$4ZJKzm#2g7&lyozXK^OtQf~>*)i)(BcJb;fRZG^ z?APZX0^`nS71&7wt&E55u8z0Ot`6Cq8C~5Tkk)VC0Ay>5)M05Xa^p>fU!fcCOvDG# zg2S-SsYewZ(8sp2ecbg7xCdM?o5>OSsS|I|cWQ^c2u9pSm^8E(MPOa6N;GH*EN0@O<9ELD44>u>2*NwlUy8=3Q3JGYhTWnB&z*HSBQxjYOwa0TY9jKCCMo-8@k z$JagXiP{t3{75a6zZ6_8EV0wC)tjFtEf>974Cr2_gRK;DJ?&^UDUO_i$1w0rFSnU3 zcPxKNkt$}1{cd{=9*d<=i*Ea~GG467JkEMK3haEuB1E@VzQvkZUhGkQq{LJfjq-?b zjy9mfq!n=hAwe=ynzs3*3e34ud8D?DJ0K_iS+s~P;$cI>>7vzA9=-RMj!-0F6Y>6> zmM>j`5e@pY{c0IDW>4~Ni1$tMZY6GnyyG%JdAOIE^ znrtnNVUVVZNNTttrUFAGA(pH%w~$6qG?CDCpAeIy@}G9YW`teYf#PQb7E_!kQL;#5 z2zkn@7yTZj+gx*Z55peZ@wM18_z0dE&+AJT0E6DJ6y)HSJ?We?>uXkNtFeHy&auuI zN=OQpv*M)e{3DC_a~`vgKLYSij!Duu|6}lnC|mc~ZRvH&Oz;7$c~OZwu{B@|qC1c| z*+Pa)wCqjRXm+~;&t1N#&{ZDB9{@`TZN8tkzN3D=@~`EzZ2J=;`sCrW&ylV51rNY? zYOjkJjy|7at&!CGuo8O-`CSZ!0g}}aNrNN#9kCgqO)Cst2o(4~ybh({f7l=55vHvY zMUo|wMHjl{HV;ffrsgGE{1{M0nH|L+C@hTt=`O^&Ihke?zxd#pqd(me6{PTrmy343 zj7Q%R6x2;=wpH2zFA!y&>k06)8sz&r^XlnM=SMKc%8MUi5J78vwT)WV()m{oboFT1 zUdHzi*z^7T+kmnE???R4HXLB=pd4KX-Tw~`cg(D=pHU4YkrIk*2~Lw9n}B~A2=CD8!;Kgc})9UNDrq;0eC3$<&z zJva#s-0&AGFB>K$vf9tvA0nYD*roYqrDx>;8=Z47SqWT@>C+bg_YKI4d?-#y7!fvM zF2Y>YHOKSjfdx6AxAz3?978ElSz8rFXJ8do-%rJgsU#b{0Ah33B4sF zM7RqLCrYGw=s+bQ1aC5QdF#s7G_FQ|Rss>dZ=H{s@y0t40XkBBU|TB06@#u2AA10Ao%CFXRUNGhGmejmut=qY3Ip*eNp*t?R1${hq52( z!$lzCu*N7Fc3@;l{8D@xbEx6#Q#Yi4%PV!VqPVkg&9QyCqUD#_w)YH5^Tl@?8CJK4 z-7x6Y1QVki-MRFS2w5JBW*1vQa{r~i> zkRey%pyt0ENl6H>=}Fv@Xh^6Ork)0N_?Xh{D@XZR>pMgAS(I!6YF-<7!C7sd+O!MY zO^aCwgi#_6QinE}ZVL$474<}`mb&E}PRf6xGO)0P1G}{dxFC%Vs*H31se@|;uxHd7 z@6)zg?c=ptuw&ihZ?f6FVf?S9@IOGA-gcxF%-*qQVW|Z6(bGKnh&r}vG@e!FtT)n( zZy=)J#}Azs;=#%#GT=U;xIat|&d-yPCdY3xH77spU5oeelNIFb_(Znr3lUJc6OBar z%LB!b@u}4mYp3OAGp;jxuT-n@tlvPqn4caN{3=}VYD#49UVE?YQmjE&F8T@VkuvdS z(S#05Cu2PU9nmMCHJJHnmLY`Ave#J0RM8_A2LdS($xBXWM&0`x$s2Wn#D9nM19KQ@ zRAnl|j9ZgkEEnI8SFciVub!j`J#YO5tX>WE@8gNVU{Y8TX}E5N)}j*?I2RhUeGXkm zl<^-vvi;$}u;A3WmvZ;ogQYD2tHbaE^F0lKUxy9aP#jQhmhvH`wBSucxy_jMw8JDe zp>-JSAl9(-=M0||QZo#`0@NP(7;n`q*tbYR?#XYp9{rcT`qw`BOqQS0=+on|4UFD7 z$_55)hU&f6WFAUw{)w+SRLvSucNfkRMyuWVDz_ptw=`^<@ER$uC29ag+@Z=;<%Z?_ zQ@92r*2#6=EYXS~P8EPh%^YjPLw;uFL+l{jWSlh0n;(T6{~OHeU$#dSB7!4~k4UvY zH#`OqgwlvnGo^ye3+!A|u!jbJll=yHQN^02ED%#F0D5)Q81%WEuCK) zs?qotV($3Vq;#tz{@!#JVlF*}*GqGgS{{{ulbOho{5QnPe?5Qc)$$^Nulfifh414? zgYJ>bg;9bmEf&h+*6@nMH0NXc?N7r@=i5$13J}cz3;p=)*?_g$kXle72CD+HHnKff+oxL7x#7{-0=(04o!2Mo3_K=AtV0_pP7&m19PXj*%8{XBC!pP0NlSrW%&KhAn;|ZIZ@xdJa65zs086(kuJ(<+6&2F3})%I4Q;K$Yf zdEeMb8|xFZ>9;GJ%8GU~!jw%MDYlm=sw+?%XD#T{9~j#ja-gtP{Ul0k3h1_(9&^Mc zu9=a-(oiCZhR^m9$P!NQoiR#>MXNs}u80F6RX)Jng>zfOku0pNty@;o&txd)q)|p@ z<_?XK$Xu>PGiA;k;`kPPdPn4;;dF!2vf4;qORf*;C#j{fQH>&0@mAz~gkC%(?G}kC z77eYQ(sV@E7yaYr_u9!(8HUY3Y;Ahq>Kg(4d|2e(kk%-6E64c&Pzz`RZU|x0b2>Ix zH&loEJ>aahc!RmlTsaJa?H#BMOgeCi&~j<8Y~C6;K|_=viKA1DvSi@rc92)tbTQ&v ze;~?nC)M+pPe^8d?`#M5WZT^Dg&isyh zE%`1uK!2OvTQ5Q2fu7w7V4Ve=!Oq@LziaHXVS7jH0A6^uSH3SOi#HIRC3`V13B7kX zXF$yF>c)qQ@<&FQLY%>xqmeGcOlj5D346kA^gVZa>aW|G4{W);;IFo+eIE&WwR2`{ zG{pF<_3DQ-7zed#H7+J7vfDsw4+K*=-nfq^y3Yp7HyH0MJB++kR__y_SKWCy8b8(2 zI^b}7?9}%VE*UOwWZG9{CHW{n3LmH?eN>}%^1k0+;*x&;R-LjS35dhZbowHbt@uu_ zb_y=rmBZ{OTPh{lKjtz>?I*L2L+{fhOog`CqL(c5_St?1;ilvl3?@z!iVvO^E7%#z zzTQDLu(cJ~8x16M_q?QHf*AZB2=B>$4%p7qNFR@5Cw%4F7RXFXGR%_Sdl{(uX4!J$T?~oI#=JAGe1`~QAVT7er)1+TP|oAQbml+Uhod6i4b zXy#53f;_1#zH22GFmJy~nmTJC96T6mbZKqul3Sh(fKtpg9no`u_!)L`L(d)Kb09*lba{j9 z1C8HT0K2Db+8ozl(TYddt`qMLrB6T}sbBCdX2`PPuM+%wpU+dr$`JVv`N-uY1_mj< z5kyb2n***@<9-6{S#)2cxR4_`-0Bg+@ghW_i=AiXIk5E!S5jPiz|kHiceP@sDs(pw zIt*;Cxz{5aXfzeOdB+*f7Y*W!EgfQJo>wb+H91~EKVDWjo-sKdcOC&UR@%|CPM;JM znEZinN@pveNt9B_cdp96E#Eyi`nTs7+rPVH`e&!} zztmofRJ0uyL{WLDxzHJ8{1AbQbb&N%GkwR!B>RR3;r-IF`v>6@=E+62Q;i??;*4xx zH~HqiW!oUumMnVgL<1 zKG*+V{1x0sA_l${PQj#=O~D0CO^9{;thjzb+DMgfU)FfB>9}!JPO^NYuhgzNG$e#! zL$)hCiQaS5zOrVxN>l7^YVNF7`RwOdxz z8m-&tp8;pA}23D1vHwShE;jYBPkO(uF zDSJoR0>nYD(R^cI+oY8p*!XEs?tQU8Aw2jda#(cSL%SXYpW#wQF`aLXuNSKp!yyMhMUwS`7PpPhR)spV`4a|9!ysvWY+SW9?~ z+z3<{>YjeGNp2-aX1>{cIypGDOoDbOPXoIU@jyu+5<~eM#YwTGP3{K+Y=+{r6B^Mv zH(CgL*9=OZSMUrVC-C55LUQKLqQ5y1Vu*2Tr%7KUZAsQ8Lu_~nwUabX;j{5gVp&q(Je8Y`Mlr_IpY>(XZi z!H>lJanVw;e6zYA)GsnoY&-uY7yM%eXEhW*po9AHBNqF|58;0|7bpU(O)ZW8^Su23 z7yD~cb8|!)!TS0xrBCjCdI3U$LK3!pl6zPO$=>Q4~|n0 z{ZTe}GVj}Cq0)(13CpQby#?=-pWG%{-lp;H78%mKWo7W_Sal6a?NS^Xa7}sX)by00 zWUn%y-7eVeqFUbbN^<4HM|$<-?+Z~{JSc$XEj9p|E`4F=l@F8MSESlYb;sVa$;%Z-az^f6 z87J&=c3^)r6Kz^LmGt-V8Dh$}2sXaKiEU6_9VX&mkn%WH`xjrEl)?mZI(RjW+Ym?No zCobANh9~z_VL23j>fS3rHJo>#Vc?oFAv+M6K5xlX0uH9r{5uzB3wZS4vurmQs*=o&Y*bcDIU_2GS z<(?6iq+6?I*s8s|NVbP#YSc|!>2g;vm%~RZIidCvITZJ-Of9*3MJ|lzk_v9lzf<5a z5bT2DAlDG~@r29MY1HT!fhOI}67EMdH=|Jq&WFkfnMV^ujFo3Y zyhJmm_1gFa%Q`tV+D83X1ij66g7(DMN)A3P|JCi;ON8D0RaG@t0MqFgjpFHYn_FCu z-i)14v7}y}4{|VJg^XxSjcJl!`+|JN5vnRnnctLP{$Vwr%hH!jHg?vLZsP9?> z^f!^gy3jy9{p>;>XOt-ci5L-rbGl59Nt5~1B^P&Uj&|X4TaS^SQT{vTr-O8GJwh4& zJ4}JUkG)12h=R}Ts-Cr^y5!ySAJx!{iYc)v#719129}2ob8G^ z)CKe6f$mR7mDLy(DEMI(4m@-=j2sgjEbdj_QfmO_I=)M=%IL~HGIk>oqWP|*QARP%9@;BkmQj;@Abo>(fvV=>m)lre8sa3ZNQH4SphwnS+q*h?<%mC6a9+70+R)Hrvn zzRHfjJV>qRYzNTVtToW>v-b%FkZ?<~Blog{hHm^>Ho99)e-03@P_+>`Ub!5qGh9-o6^u%litae1}$N(|u5Q z7L};Um_}nMx+xIWV&E_qV)lS_Vz|O&6#=x5;M+Q}9m$z)MXLPxEk~SgpS~1otr@+j zJ`v|`&7t4`=MKNn2|J_Pt?_WpT$9`69C-Ey{Q9U1idcBtSA3ids7;QbAQq=5k`qPn z)hjIf3p}n#ZvZubnkb=^DRu-{WY*>%QY=mP<7AF1C(k$y9R3wnWY8=%S)LKPWPdk- zsv?Cf;BaABnl(5M`!SCD>QKo4gX?qyG^yJq-mR;2K*v%zP-!b<>$ITfgWVq}(g2a% z?nlemy@J~xVThlmiy;XBgXJJ=#?I*J>*32mAA~CN&uy89*-=}FF=+9h(X(oz1(NMc z%ng*4gk>{3F&P9ps09Iw*+PvZ?V_sviG4xEn51Yx{IzKzmbNmr!IYXpV zr~!|`A+-z;r=S3bB#@c7MYFp-({i8}$&e+ai-bpiYsND0pbd=vtSE(v6`ZLh+{td` zd>V++CC{Pq%r?f{bXTElTH`Z7P-swk2X+}Ain!$V4`kF*O06gOMX<(@CpKGHQ&CA> zV*KtgjGB++pXG_IbO1Lw5kqQUaGnZlRFtCGs6j0{w3qZ9KWf*lem{_UCv(>x}G07BjR=-@REUV|28{ znGPAK*O`Y&m1~=R{1tx7TPQETVO1p9o$~^v5+v$$J2G-wCOx{hVJe8$9fy9k})%Ngo zpO_I9^ZZu86LaP3zxc}izc-PVRqnZOf3^36_XmLU`HpxgAyx%MHhtn+~7%RxiwwS|rBf zL6P}8xVIuf&PrE`kSmxj8{u#pkq@5uH6iMhNe{vTSyF#8auBIWX8);+dlG9?a%MCgw$w&(41>YKni)ii<5|X(eT#5e@0tlr z!i{z$t#oX!s{COnV?O!)B@xK-P4waH56U*Fw@3b2`MWza^HG^Y`3JY_O7^#UNRRjt z#X-d^Tv?J(%{7cot>l!-)}+f@Bkl!4@#Q429@CM$>1riL!<^}d$ZvO~2@V^T3j~Ez zI>CzQ0|_opUQRPEknFAG=VAku{oJF$N3IS^yU*v@?f~YteZ<8S(^bx`G_aynLDY@o znFfvG8Q$rL?icsIao~z)Bg>KT*6fR!$iXvGm#LZKkK03AqLL_zvSVgJDbY#As$4e# zm7hKmIvR@01=N_x{_6%+3cZyk&po0~zeV(qC`Yil_*1G&6%`?HxvUaq(%b!A*SK8$ z`~I}~V=Ke)9VC{I<(s0P^H$a2%91Vwr@mKD;8TXr)@Gey*{dU3(ukDkRq!3iVdukA z>;X~ziYZ53%x{#gBHc&W$STWY^6y4IouIm%&EEdRg)XUTga_UlixfIEk!1vMSu@U| zDk)~#E_cX{|CN|h^fzW=MD!vO(zemICCf*y%F8q3u3Lzn(+?yhD*=syL5w5qV7_KdtVk$G`(tvU# zTI!^gU#bmx)2-@m7L{1VepGRS_C8hy=Iniy+A&G%!v#+-7^X~YlaKB4>F>pSlb1?f z_{SJQUSCZbtrKd%*tL!hlJL2t>JaeI@m;e{u3UxNb2)O>MGYv36Vv_PWY%3!tMCN5 zBWuqQJ5AMRVAdgZtQ3Lm{t)TU9G?IvT5TQ01ap^x4kwdI_qN7k1{)Qlk0Gcx=#IN##Z&SbatxWX^ABc+t$=Pg7IGQS>m|;=g%^tiu;BoVMOZNlIq0b=(rYwGLd~i5%FSi0)+~ptiqWdkTOC;B6J7C*361QA?WAPQQ;yk3!hM0=~^ihliRb-7Mmi}Qe&iTW}02;nhqV-H{ zIO-b)DhkJuTW*MGtsP6+NY8S_t8O?-s0a^J<RlC4z9YxMqeeFT% zH^gbJJ7s+|4lgA7L0?3w(dwaDsnLlhArb-4W2~_ zF&;EB^qGuBDdwhtQWRBwk6u}hoi+%s2b#&Y8^*Js$(GglyR2ACbp+eN4`|o;iWUMB z%ib7PjLYr<>u8bkFy=g1T`t}5Zmj?=-6L3fXED5?I)l2$+hRAW*OO8WrENgXWL)b3 z5Z+kQDlE=Y;IQ<~1)Z7oWh%=v!^t=^OkAA9aIS2-YM90i4RKZK08;2>IB=z@gS)Uw zO1c+u3qT~jnRPRUcsE8>&}L-PGB?68DN}hX^Dj*jgse5}WaP>x2DCT-{zpoxO14LjlW$f9%i8P0ABq03-BskOM>?E!oPmj6OsJnZ^% zDJfToa5jCcFcfpQoid+l9p(qAr3`7I9p0r}pl@7^yAEwy#(Fn;2DZxGFK3fQh=?Sm zTC=dqn6@=6f@(P*W=99Oa;ATURri0W>n*(3;$?c&&M3}_J8yuH9TDx!OpPixKcRj| zdaKI^+ErAETVfO|a9L&)83VYxh_jY;X()T?$XUw!SU`G$v+H9&c!+k#rD(_>Gq|g$ zh}M!M&BzR}ejX(iJz=e;XaTELnZYkI~$xW9>x4@ba{*$5+y0Ww^z6II{u zQp<+VeL{9u<1eI(22|7%PdyDp^nV;}5wS&2rt~8{n-XzxB&v?YE5hGbu3W*go0leA zWL!%+A&{1+3*2vlXvo{Ml~K?TyJgeruj6LVJYOB|KG3}}gxj2gwvL&(q-&~dydehOogbsW2i1nQu34E`wf&j3g0F8#m9zqT@&M34 zR947I82Zf2+QLb~)Eb)~xq8rqeJ65WNG2k`bIE3HfsXHG4FkF@fbpfI^`Ij>U4bG> zYK3RNj(w%H+*n+E%5qr{$wnFb)Nz-V?B#ct$A@i?P*otw>gt!wyup@UrD5d_o(;+Um}$ssHD}s zIDaDzz;Z&$g1Xd1dA7u9t4h3C6@(rG%>sh9Fc1G&?t$jW_6{quN5>dq>Wbp(o?Nl9 zi}~P4ctTJL`f0%DgGhIx3Hi?Aak>rcZh5#lq&CXfnFh9il)D+YBHF5EjsP&U%ceXJ z_hAMzh-w~RxQES5`SADK(tN zYJHG+k0;Exq^UqD++=7|lG`a(@cr?@+Cg|Dud8O+b^odTX!3ZmzC3PwM7>&&q1Yq76>-$ANROWnr6i;E*We(+j6K3Qiau8# zIm%T3g?zWhj3H4jc&;y}yioK!fgJVFf=$ zVx7V7px9df670RB1KkQhrbSUZxU5z>U+GvOvkSqO*8IY(KDd|HxMQHnqq8WRigIPb zzC|}F%`w5{mZAT|GXJW2C?S7&c77+?4!U<`>kcNz61nbcxzV}ZqbwVIGosw4*Z1UK z-VdmUCvd*>$XtCk#M`maA2t`Nz!3lkc*UUNmn^aFXB6HxJcN^*ZM86Jz&0696Sul& zTp+c-a`eA!E^V}__8B!p^UWk-=)!q=GV`Qbk^)@rX`4m60}32IGjmN_tFoIi<<~0hu~Cu33mtkq&TdG+|MiB3aKC zc~f+w?#jLr9fj|kNJnoWfIsP`->X&;ih4#xr`&^C70Bs`l<_Zh&=pjzm@Dk%0!x|8 z+Sz6a>maZGCR*-Hl^)+0EZ&ZoEyO6k_4HHSS8#g-yZ>eBgv!Z%KWV*}sGjb4I(Mi_ z?Dt4}qk`h$2O49!=9BE|j%hV_EoObFFuAkyfWIDr*lgtuLD&~s)bm|rW>RTwZVR(P z7zx>WccUX%g8oA4_ds_|XXg#q9X}rGcu~pxlr?-_`g_0xmNv^rjPiP)c4L^hIq<}I zyU;S5w?w!8?isOD<;U__GPkIOvRb^HE{xDH!UKz|y|ZyxU7^%>vc>tb^Lhp6MFzi?HgbA|I+xkWF`6_l*&P7)1hXlJ%}4nPA^7?J^)J9Bg>q(sZ`7vy z_t+@-f40Jx*0=qy_~cA>)Pe zV?zeEU0Y0Sp6ffrWbVB`5z59Z;+3Sl#q%iz;+2Z-G|TVAisqR-a4}_m^Awqzn!3C9 zT-9{cn7*9s?0kX#@|DG@1sTKCxb+122Hg+1!jjuE1}m~x?L}&JA`XB~OO73qnWfI# z(uwX!Teva=ixw76OTnHnP@B?A#KIuo8^AiG#_Sn)=I<%P)i5lAsZU)0F~v;#wUxPt zfm@K;5Ct|NffErBtZEBPO&-~KavX%A#iEd$P&cHWo#VK$uO-1L#ZH`T2vz_)vcL3W z%4vpCIDy1ql~JF=pgvX;aT`{*R-)dipQVjwg6DVj@BUJw-XGu}jR%nQ0EZn660EBJ zxM`q$CB?$lT8`jku1lS%n)T}8K>+{}s|vFSZ>`qIiftIh3(&JagXUo%ikX^TsWce( zPsNohycPe1gY2B6W?Jq8Pd9sIX``{>BIqz1#~S@GCEaS^{YZFJB8UW zleD9DLo-c;)@5F0tV&UUoaouS;iONQ>=U1vP0@1tfnQqE$o;3s8%8#dgGJ%DS-_Pc ziEE>UoW>roaideXABAn6l)7CcxNv~Ao zdgd6FrPf&)mnoI@>iS|bxAa*W$r-voqHs^Mmg(C_?l$KVG=7hNx}(xF8Y6clurE&Y z!D;mAqi74o%|TazO4Z4q5-KB(+vgKJAWrdAMKRmY&IEMLLRnBuXfG$ptqJX6=Ekx$ z^{7iPHAS~{XM^*t=6dSbP?u|R1;$jI*7GMqn?!sD$byA69iiqfR$13DwEK<+3CucO zzr6>Y726o17Y^mb^G! zqmduovCn!*3su~o7lQaC-K7KF#6>K-al_rXg9gT*xU+|uigFthR6=hpu?|ARKRtu^ z;i|yHWoAPAuTSCD*k}v>GBK0)FD;XD+u_0Sgl%uEHYb;%qiy7z5`^baPW8yS+vpK^ zD;uo~wbpmw8M|;Tw^gK&;ArCvi;p!iHO6a18P7D=92?SISPud*W2vx3sJ_?Eg6ZGXCejPQ~gU zW@+BZpvi$&d5w1_6{tXjK*_=L^MU|?loj*ryqrd9RhMP;*!-0B=9b<~2>U@#Ez?jw z6KAxy+*@DDt+Au%SNK6&1}VQpoS^Y)$4NGi$Mk)s!_^q?-;;ZKpv-=ANZM9RQEIxe zRA@r~2}aRD9=d}l@KNzVhA?XV&aetW$#7E}s52|VqCjTaWUM+ZlRJa51dHu<~ z;z&2F7Lvs_j;%BN^~m7V9P(oKnMi=;&rJu1rh;rvE(-lc-2v6_6wlXmO?GK3$6T%wugl8G1qdBKTq4TqqpRR|~s62U+e(kKkAEk-=7 zmN5SV#tmsq?ip!S@S$qyj>#f9f~)M6{4~?%1jFDyt49-KA-{uf!>;&^%fDDV9SI!C zS^93gbW{o#i2@`#kl^DqrpN{}F+s>iw$1$?pc17%y{ac^@+6jG*M-Sz(28&-CQBB- zC$t>KcwyQrzdOX@Mxg{Qua%8e}EA{ZZw@?DC75JYjmSO)Az z4bnR}sJ{tU{;ZAEr@dUr>DeYVyL4BSt{6hd@Ky&kyS%CXq-Kna(Cpiau_7{l(Z*m1 zdK9ArN_ql{a)=1q80}1$v9q62oQ#%W@TFD}&?+}TQ;7k%{7~oFZ^XuRuq|aO$ytw; zc>bx`?b;mLjFQOv^to=NnLB)x*eYJzffWUcGI-=<8cEr3=$74rRhks>LuxxR30di% z=HC5M3#|u^IrzmK&R_fvZ9Xe09}OJuohR!4nWojrC=2bTE}lp7jja;qO0o5yVhYOG zQt#7P-W6HvBNI5QGmw7_^!}_3!ByLN4LK;-ywwNBd2y`r+o|NPu0~pIWujzEe^Egw z&or4#%tQISD(5)h42)&)DK<~3lCo5*8SMci(YpZ>; z;%8r*uu+%9hHJ`k6oi?x`WEQyZRl(r0$GqFreLJIg>cb&0#exwOb=?zvzEabuA^SV zG~7^b|HkOq5=fuOWHYywT5!_#Xdw&s_gOZxO_NzAR(2v-qB*}2v+Y8pyg*>S-Cy2? z{$Ijp?^xuwFajTFC$~7oH(YcF2wFoqn)6wev%ghNNnHxL)Qg5q8IBX$PtJVlsBY(i z_=DE!9t3Oq_to6-=)LZgVm>YjDMwE4;vOs)LQ79h%L(CuB0c6o>0H^#06b@CwZX5A z?-+f+`RsS}|Gh6|#m%q22m0|t?>jk4|Ihl;|Bco7e{hX>WcUPy^e%=?M@D>swL>5e z;(+PVgyP2eL7#reTAMg!BbV4`mcP>!5|ZE}&b-6%-%um6jbVlo2Iea4zi7Q>J9t^1 ze5|n909EQQ3E-LHlEf%gLD}o<0E!zAhozf0AAJJVal;vAP zhIIfb8x%!H2=eX^K@vd+ml!ROt~QQ-_E&D8RRn*ogAB@qyc{_Q&8=aCh~==h)Kkn;-JvUWLv+*bA8hDD7>? zu#Mc~J>2-i`=H{bLJYKzhnu}Gh99}7f&wb&;PdwK1JDQd?*klJRWPq+MqPsc>Vjb| zf38PgE3vl2eqgnZ%AFl*Dza(CfG*iz>|l)Bp7c=l!?hbZ&5jki5bmJ0`=USM;TA8G zHp;B#*DQF!Eo-}jT^KW*KsJfV=RJXxzlf*hK!T8uucZ?6qIP8_$-tunDi2{P=w~de zuk!EUmEGGrYOBHcO0)crnT~IZa<%DDo&Xu_VT!^j&oTwdsBKC{IeCy~$s)fy`2W(r z25Al3G57onaOw9mqxar-$pt66|n-kzqLHC}?;hGx@AfJPiZ5!i1F5d6> zK8Tb)lfyYTCzkJEK92`BuA&1C-if={-tQn^sDVC!mzErf>)bZd_Ffy#R8fr<|t2WV~fM*f?#{*d6snk zS)9pStaFB{_37$g0ZnnC0OgP?6cV6jbQG{V3k+m z+=~Ek8VA``*kKUmzFe#bkt%3GXTwq+gTW5kgj#2*!6fMmY2taMxyA)Zmken%i_{Es zw)KlBnPV0gVIBX0Q(h+I7IbhsGtE+i`2C_Izjk?(9!kLYzqCk zP++=W?kJ@+rvCdJ{1qf|xX=p}T_F1jS`eDQ~b zII%4oLDH-jS{N+rQW3R|!ciT>S;1%*zxwqTpjSzxatfGbZAYPorl!@96_$Ss(opXG z3_LoUkVGWCWbP%cU_^x)T0wk5kG8xlKYm=A6W{z36(K>T6~|RzWx_5ouh*g(S#71# zIMKKdv8Y44E^(v6M5eExO<}O?;?kV1l5h#?<}{c4ZJ?+|=$9p6(@8wIT!Sm$M<*tl z%YX_%h*)$_j*F#<#%Ww4r@>#4RPVkaON{ZE!tJO-?09SJo8X#FQrk~fRLjszoW|YX zC~HVd#$sASRQ!Kfd&ekEqa{nYQdMc&w#~{)+jgbjv~AnAZQHhO+xC}tx_eFconCAD z&iej5|DSat;_QgCV{a&h>Bh#(gXN~Cq6CalBj^-ECeB&*mWBJD6P3>7m?0+2F+2Rm z;;PSU6V4WCv0|#*q-2K043;;&f)~V4O==M?mPT{%zyX&nJ)7Zw=NUmD&cK1@GFMh{ zAe)q&u8T;`9c?u)L_^>oDIoj;%7)2PE!BVCDsR&A9)Pbq%VC27pP>?4z+bcBe zUm%cjH=6O}zd^s>ts`5Vpl(cw9Vrn(JjEZ`WejOv0>lcpU`mmiOA4-hZ*p6)P}eb7 zs@gcDHbtI)^Ej{@T+vB697+x*w+*%hZ3*X*454yLtO1|soQ$>}JMvIpX)$-o8y3z$RrnR7PN+sATMZiap+hx#!8F~{66tG0XfYKbAE`IBV<7tNgrFP$Sgl0VD)XY|%5B{%AYGsqc*v&<2b z(y>k?tCb2Mk*D*bX%42bo3QuC^++NtdQ8j;P+9V1B*>kaFxOiK z{hX?U*)^nN%nQpHAo}hO%f^i)HEfx^jz!w71FG%_GFzX{=a67v-DbC}mC{aFKScJVIXRa;C zVk|7L6zAE>%PMV$(nYf=T7acrjeZbQs!0gU7o3?fXoVw5dpyIm7;G7-lZTy+)}V(b zO0a34a0%IcrsCwvI51%g9D1j5-*WJ%SG5tfE8O@huDzuQRYhbi01xKf@|Ir5sS4$W z+Wu-Mc@opb~90!B7F)~c2dr`T)_^ZP%EhQ+OCGtooO zYodM}Nvf-{`_D`t@v`aSJ~Y-&Ure63=Ga86>1s13za^Gh^zrDze7)D$x}!bF?XnG| zJb(7JB|Dce4EMii0b9rW80VTw4=V%a|ySE01iXl>X)yx(k^@?7jP=kdgo=Q(hrQ((Si1!xzHv%eeRqV{wiGE$Q~3F65Q4<)%^uRK6OloJ7IJ z*5mzPf9u~r=oa%l|KrAQ)I1^mj^robr96nOXn8LF$Uo;Bdg<&Eg{zM{A zuvGL$(})&!NW5h*GHftdE`!Z`l-5Ik6a>MojAGnUv0?La*CTxP!Bc7 zmGG>2gStq&8X|ArPx_-}IPMG)Tmyad4^N*v#ExgCX0hVhc725OSQA3P*b@8#YZjY&N@KJ-XE(GT3HABsTt5Z8=NT-mTJnh2<%eeSs7xfp{?+%Q+s1tC5KH|mTLUa@D(+V%@IN_y{G?0B$(2knT1pKa_qn9qfY8*)tN{>S^k zd{i%x$A{@5eyvSFtkvBe*}+>4UdOlN9W$E5B+hn=-};lSTfiQ;)z0TPiTg6-{%4>+ ztsg8|fl&!c2bGYXu)N+Nd z7)*rEe$0-wnOEV$dut8le&MvfPWk-{5gR;4uuQHW#_{yr7wqEd%^9L1HO+VuKgZLG z8t+UaTi~jxH2qMTl}i|hj50OtF}V8N;u#Ig&)w8Qd=8RGlIZNN_88n=u8iNyQmR%B zTz&IM(}rYmqegh)ls&%1z|dnY0;V!V`~4Y6__V84GYC~PYf z|NiA*39RJl)ajC7N*`xzgx8B)KnTIdI~i93gw?3W>6O(7%02by4petTSbB|kRGq{@ z*U`&ytTahhRWqP%oaBXMWz3{4=6^;G!WQ$ZNe=ZAAI2#L?n##Ql7#n_;#X8`{l1crHPPwuc}N1Ezt=kq$1OD9WIO&7o_X z24ga7o+ua9qrG(S-y_<8Nt`|eZFvLa*H;EP`&EA_sk+#J{F;k+j<1_zySXxgwOnH% zDIX}a4U<@2QAWEnhOv5Hjcbp*jTU+t&Y?&aR8WYOu#~^kETAjNO#gvV>QpxCj?Zn2 z;~~U`Hx;bSc0F$KT#w}X=B%ikNSCHM-qv&pZ?N_eq@d@Sn=K1upW375W+aZjPlhr& zWNh7rm>R{^oD`EQ+*u)9370jH5xMP+beAHYT)XgRS|=LuKBZYgkpAX~eF2taQab9{ za($2gTq5cj>NyvxCK30hqcXN`mgx66B?lAF?wfT#L1uxGV&DU=@(W`?BEyx_!c1Id z@-Iz?anY#eDJc=mT%tBB-bl{mHAVU#1!{14r2}zM4-qt*?uu-U28Vm^gKst4?566? z^UKz}?XwT1v>QqLrQE4gE5O`-FV2YsT$*_M@01q;)CkFAwx-SZr3bdgBxt&Ln{P7oS^ zj#`ty6B~GduGd_?Ljz+)B`Vy90&@ipSS!qkc9HnYs$nf5TyTocMY1-mF&S9nv3Xq@ zX_b&)V?GvZ|1M<0iD5i95kKmvj(=*Ume3#Gy_*v@mZ_1L={2TWm!3;gH70c;R)nvz z0pn8fyC`=;E%IOr$~~RiwfS7iZjIS|jsjDnQLQ9@jn>Lt3%|BM8Mxz{ja;@MukFgg zWHmRJ3W9j!WRcQX7yY(ybD1Y2-vRw}vO&&S#{>J}cE z>8wtI>&AVg>9=S4SxEhS;>zI1kx{Mf)wg%b_V2+!&TE{cQU>u54ANeZiP&Z(xPOS zU5DjYP5O_LL6R1lsSnYO3q?4h_s5|Zoopgpl_Qw#;XV-=GOr;UU>tU_Gl58i$eWOn zAb2DNxEY2RSO3X3pj+fDInO%pZ~2QXQR`(MOX0z+ifdkWAyb>7pW zG@_yabYmN74+Ay(SmlV--=@rh5kbWvAjD(|0MVI4hRV2)w7k(Q>5mW!#7ohOT(bjO zVHGdFbH5Ui0h2-rjoi>iM!;6|l`cJt46$ z*`p+G5w}bi$DB#fbq36U4uN0N3kx{cvHH8a{%gfy+2(Pu{jN6pxIcaf|Nl^N{)5~6 z%N=P6U{a?eCl}G(3j!9r}sw5 zxSJ_p%Jy|GlhSAmtb-Ur@XxHx9kuP=@0JrK- zBc4kmShZm1=BMhvXUm@Rm%4u|4iXo77a2EpzeqsUH%fFhN}L0Z>RAZSy~vZn~eUARXdSV*0iu)3W_Z?JDfmxvoPD&Q?|@Q<^B;W8$x z{7f@$b;@{)tqEK6QnNt;L*%-M$28HGjQ z?^OJV-_wY5d#y3zkkq%xoav#1y=)Eun+`3B=$gG<#WP#=CMm3h!+Oj&skPW?Z;Y){ z3=oD5MAccxKUg!uLl`W5^a|>frkFbuv^XuHaKft-K>Ri13To+QHP-$0_tsX-tnf4C zKw`8QOF|I<(~dv6oJ}cMP8O!D5%IrMO(V$kq&VgcR5>%Yq&>PUPlN@xbW^fE5>y!IHT=n&?*p<^@&bE z3t0*@)JG=?y-dkRRjo!(+z2h4o2g8p2M2LZvp2&P;tK?^-3uXm6=i23OZc{5Pkbrq ztq5&{5Haps3omk(8X;6&<%|04%5a?ZQyI`VH@&~Z z`O=in)LUh967qroS(ygdWzH77_Im>h4HaSkh5ZPhDqc$2I42nR;&$t~F@GBZLLd4UC)w=EA8V@g6S{{Vuv&{K z41}_=5c$4S6wmFxbl~gJK4z=hDvxk=)68%-qF4PH!kTrl0_x!?VH%cJm#%x?A|)Dk z(Wor#7HO(U1z^4*XaELzRFJYp%%3az>Wn31MWKVB2uiF)z<_=0QFfhQ%nLc96+N-xqCI$zj-w_K%%-0B8lHN=M7;s z5IiIlGaaF9o$EDCm1|I!N&tgsV5r*6VkA3BisgNC$nI(bD%VP2Itn)q?g9gBHqt#! zitboja@SfYTYXPT?>~5v0p$0Uxw|6&@I5MirtmD>J$eoZ)!9{{^rRU`h$1pVV+8Ax zyU}=;&Zf+g$PI;Q)*cWxm%nj)=NrJgAp`SLzCklrxlwtS8rZsFx9UavDLlYy9Te)d zt3&x2@dd7#a^@_5qr;uE%RLD}JyEw<(yV3b{QDBV`B8qjeI2kbhVkv%%m|ROpa;2mB-9+#`%*( zA+d7c0xIMqUWnz{;DIS_H96OmqcUrALn}M}*X%RIJpF)AV&3&48vm3=h*z5T`OrB#@VbPlPs&Q@1W2e52i*c#J*a`TKPy_J0i5n2y7dKzN%v# z2*Y_2#{!Es&#>WMAji;=k_jhS2lONflDeQ1Br3)!WcSF8Tie3;xa5h#rZbP7prfU< zFUmAKGD)BUqn)kuwuf4hqfw}uwo?hzZ^HN(ue(Rbr@8@PI>)!^)m$NT(!}^(QOtya z6&0Ga!VxA#A;-Ly`7(jK`x1cctWLSE{lL=x#`UmSQNe%^Ub?CgZ41wehi#Dw;=)$by^D$UDCmuh7pAI*2@RxN0rU|l+B77UKN`fP z{}_L(P0Ml5{y;phKoRat9+63S)mT~B&F1f(!-$OujVB9pGo<9KI^svgqZIRid1Mn` zCK(}c* z(Do4Z%ITl%7^~mRHyIw`Z=IP}=FrdF5|2OMX?E0^SnbS#1W8Ch+1;Ehv_8b1O=a?m zuZZ8t;EOAG1N4MVphqFVJLAFA`DL^9S19~JVf7jC#K9*2Slln+ie&eCK^pECUq|iK zGQ{I?ctx5sfllhh#Iq{QPP)R^P5qsO7_V?ZmHE4g5WfJ)(Wkq~pswIggRPPmuFn-} z17dW`@5SOcos>2mAbp>W^;V69nq?_Kml>wz4D@P^_85)XoTzQljcqPO#Z$ibWzigC zdqS~Fj`WC>2D*!%VKMRy5Ln3FRa%kYv>Rt{I$dhDjSq_0WClo4|-+L^Z-4G@NwnPK|t^8)mK!O_G{AR zTMbbM{&9Z9KAb>)xc4KGVDdU8Um})~uP;j|I?zI-iJw4%=O{IzCpZ&>N809^i#~ zt0_tAlJc{R-hv#&>`Xb1!pJ_5w&2s1fs_jat?@u{KaXnUn>Ea(lTT?s^kV$c%4MbP zjv7gq!7^!OY!=h8Ek@~uAoVDtSAza$IHGbsTHyp-Q4jd?&lNyK-b{Lcu=ilY+97B1 zrWnz|mDV~$ZSY%luo)^Ppz`C&>wlx#f5>JoMHN4Fd_Qs%ee0?4{f|+ty{&`3y@Rdc zzxk~4JD8Xo7~1|jpp_r9L}EbZkrvPfT@5q_r-_o9gF!u?7EI`cR}3KlN2F}cxs@#M zPZ&bt$fP`fhWrGn`2!45bC?IeG$*c@i_hw;`-Z)Cl<8L0_4WLY((SQcv8xWVWCmdC zw$6*h)LH$nJ!L} zwPsFR;Wj423uVlovOVt9qVT#r%)|iK_%u8rDivYfk^p`6rC+_NQ*fsc+Dy(tiRK_@pxs+MY#4y6=5onAQ%is|;Z!bTp_ z#VrD$3Y6SOrYk=#Z;dxxlL(xU9*=Jl5@%~OKr6#Jdmm2nS0QkMLcJ{4_(Js#~L zrIAFTA_mT0=+1vpq}qc4HjHnPckqLPk(F9#kX*o-MXAIS*(n8nP4xnppZfGk2&^59Aw*$(E-4X}pLmup!Q5tKcrh0q((IBUwB`SL_Lk>9t zB~e;7=r9_xp{BM}omrCh2cq>D$hG+RoDva~kKsIpqweU3|wa)-E;xJ5K zw*{Th;ic)J2E^XcFq6m<8_dbCsCWLhUaQ4`J<%>%G;xJ0{dffS=z`CgJ&7@U=R4`2hH3VO4}!l> zYL{*;T=Mzn*5M{sJDlN3XI1HA1V{Vf12JyD%tCd!`)x#yxwK0+CEAvh0%#|*-9Yr1 zhXa+7a*!r$WTVh?0P@PAl-}VFkVXS-!D>`m{W^pv_JQxu+ z`04@9uCNC27kzj6ddz8yO22B%_5!b`Kx`Rbov>%dwY9Pa={f#h2SX5-Ps-e^u-WM0 zXNHy*cKwq>cHQM7JNLKmm?F}@Amgm8YwqxWc#fIb%_+n45K1Fc0rTU>Mn@#Fpk z0u$f+BgXITE!OSG?~GhJ%+^>;jiCk$;lX?S_K|v0^y%XXNI_g>oWq;OTR71cQ{L}q zmqs6CQc)@EXggZpXmk6%QM|rDwtslWSEGnQP~_(Uh6JHVZ9=9Bo6i}uw07#s{=w}~ z$!m_pBGg985m${efna2Yz^EoSicX03n?$h^cg6_}ZU8!)ndfqnLy{G#0Umglej(WNG8% zmWOWt$cYe8kSRa)^Y3`bsD8P5?rq@5%21-016D9-ZdeT<4JwKWw9)#=3LhDEtwl79 z73O;`^Wo8PC{af;%hI}1y>G)XjI2&ExhmY^+OU$l5XBXL9G%W&5%Fqg*+h?AxF)ds zie7FUw6cBrH(-5Muz@3jKbR?Vsy#C_b>zK>a_}}1pe5;-j}EwLeY?U^#3B?i(%hTE zHgQ2qKO(Elrb-4B!6&i@Q|4x_E?Wry4%v&bG4^p_3PUFv7c%J{Dzzmm!1%5Bzq?-O zW9~~juUJbjOq{YyL|T%g4b5|NRiSFS%SD*k9Z@YLV0MBsA1N~J@m-eo)p?gunJMuG z8nPF_Lk?{8_!k%fmR`hOP9QATQgv@GQ0vAyL?l4TH+Wb^!;MxXDVBb8dW*8GmJb(~ zHmHmkS!z%g6~FOE3Nu+!AXK-lhDMVgEVrf{fLW(PgC9dvD=DO6Tk}5BHMz8RYQde7 zC~a7K#K|jIA-yzj;Lp zctc)zNMM$hHsj8mi&f#y($LF{@c86M33p?EcI%cA~!w z&A-*M@WZUD1{^>T8y5e>n@hjY94-Gq_gYYBYLhFCmNAnOvqMsU>x!V5aBQLBq`KPC zL}GUJB(CCpaOeVCZ|*(k~io3edZOPBz5TMj~juS%o(1PgPLc*;Z5}?)sST!XIHSoO)eK(xPe<;3Nu& z?VBt7xpN9rW`*(*wYs(cS5I$WF6mXIX=2$lHf6b)$5EyMOJ4~w0&J9C9YG^!X!fC3 zx<-S<$dnsMJ&AIT!j_s&3(Wkaa@OUf%a-dy>E~ij1RF2-vGrEt9M?nF_6G*@ocpiL z0vj?hqnSUvf8DHf&VfKNzxrF>0LKv@0m0sHfcK0}*1u>G7QxfWe~>2ii3W#v*)xeo zq^E#euerA;wYx2Ar;OdErL^4uv~RJr_p^3Lukd*e*nL{HV>C|ppFV+|V9X!k%D*EX zX2@x?T@ZSIE-4|>+{1Zd%~rl?TiI-Pg1FU8IV=K!y^Zi>;oz(JK^c_M-FQ2{{u28V zN|i7;gNNM%*S=*tC--o{`1n1a-lY`_#nR|~OvpOY;07Tl8PF&MX)OjsJ2KP|EDSj< zO2902ACY$x-7m)Jt?#)lJsY=XdMJvD|ADy;usu-Gg5E4-dqa1nBwo+*-g6Exw+p+2 z*XqxxaRa!3zuXFxca2x@cK_S~Vx`S?pjg2|mSGWWWWrwyK|;6Ja?k_sLowh2seNA) zi**4N5&c4zegl>o7!TZeMi9GaoEtwMf|;w0j)1=;f^0EnG>C86Zl`%c6^-hO zqfWi4Ru}CxZ~vzIg!|vnWB9vaILx>OG<`#l?C*ww`Tqh6Z4Hgg4fXBm`1JL^Ek3Ml z|KpJ@Ayz^LivfPep)%%`j`aVUp6MX@dBvdqmH2mpr7Y~|LQ~8 z10$W_di-l!fM9Uach-nb&E(>S+mlIu>S80S>qjbJUbc6Qa#N{BwAh@oVwR?NJ=6;` z{TCsmy~?>TUu?Z{6!?MGT#P@3j>!wpS%aZFdOgwN_$w)NZXUk!V>;E?Nr*T&{`^xz zV$GiDV)u3UKAnK8#2w=gGJ)c0a^D$cO;Gimmuir*PACEZpBHK-Yf2ZYID2C1} ztA&%VHV%dtX-@^Vf&8SxMX!cE%40}pcuU|u@p>!axu9!+SkSg*;Ht;z5P#!e&AR#q z|2qoN`zLoM=i5pG(`~S#>aE(iYUo9aaQsOHL`Os{mU-JqlU79NU*i-B>q`&iGbH z-vJW%qW7W5JI5k{W^pk+tJPGy@>djRm1feq!xHjy@rt?SPTNX7Kc#Ff(2~V|D1Ix4 z@gO6a76g4>h2NTN+j{nV9;Pj?rE}U9N5U*Mw;~^q!i#*b74nAUxAyg6FpS9V~_j z{sC0pBVkl18yK^{0kGDvx8idGU^#cJLh?8etv-?^?=a;u@`$DHf!wi2$)qjx_1!Gv zKmDN(t^E#<#FPuPveocIMn(hnjqejZPi}vN&=C_0cYh#Qa{?FHKsA9tI}r4@6Q_ME zKU={>pNn7%z1CKV*70?#W2i?Ea~O!3K#YlwD~7lxwFk}{{H=-~<&7b;HbFt9A$Ei?*1!X}312H)I*e^fjZtAB5< z8k99;v6Rq1VL?%63&7N~3#Mn)*ZySZsFt$U(B#W12y~N9^H;tSpF7M;Ivw z6a*H|P)!hsvMDfIyf0fII-D~mP>LPSv5KOGW6!u>rcO?L2Ax1kj;o;fD~SU15z`L) zK%P+C97`a|GauvU3{uE&t42buT*{BNc0QW(;6b9un(9+@ zSwg?a8PXu!sQ&osbiGwX=+T+t!m6~qNa%yW2EN>VUGl662Y2F;rn_A8X5fliWC(T; zo>q5V(_`r;(KtD+LDSgDDHa{td^=qTr(VEn!y0y#Pm zLiwtiWL@Is5H=RESPWsdMp%sWW8DdiS!|;!jL7e0x$~?;`jJ%A!N#f_{L>(fV0$fX zhB{>$Vg36x$zWJ25lMMCC12hc2E4QM4AlfPyhq|k1lmpXyS1SPlC5WXn^Ky<;& zffvBq$Tx`EsMnB9kEPyAg6)xP=$dGAzUZfQYLl`IGId20LK$IA!hr>iDIKGL;rLm@ zMrHy!x|l=j(YhmN`q4{l%$6_-BZPh=P zGs8&FU0(H&A~^-!EBseT)`37OZesXhr`L`hS%blgy9x*-HU#>5qf1_FrBxs?eYsiC z%g$+fMhq#FL_8uD9r_$sAfrZWV+s`8jbbA42J5iBDA9X8lQdbKwgjW1*-SYY^dogE zeZp}xazukE=0H5c0S;O$1LseijF3EQ`j(y5g1?e;Lm1ppnsv2238S;u8~bE^dZFbz zUW^G!b--*#u%by5EcR!hwz9o#^bwRUSOr$N#fg9OoM=8iz=2R-15eKt{u;+97<)mr zFgI!{u|%{Z6=%zQf`*C_OXheRAX%@_D3Ei9Omv!1r+Qy7_s@}YMhv)I>4{lYLeM-u zsRI;uv-nN=kQ3DlYs{}G7}vZ>nfpRD=VNvvR0Xf1>Vj)V(U?@__W#qPoGD5uzhI$raJ_j6n7Om)rePT^~#X#1Q60StcDk_MPc=cH38Lgh$0sf!&BPWp2VokUfYHD(0?c>R>fqE*;Nv{D97BVX@^ z%d*PTh`q(y5nt{<<4$+2kYg?xg)Pz#{*u(??@EozE0)a!Ix@-$r>q8)At_EctB@6^ z+GQg5Y}|Xnw1-GluUZ4a7s}m{_A3a-SW~_X_KO%yYc2w1-CX4Ff{h@ri`p{S6f3vf7Hs zy6vJsIh|n5+F3Sc1X@UDvQV|5yN@wZ-}QP_Soh)x+wZ6}QAcV_%l4V^`l%`fqN188hvv zNUBP>W+`k^mv5D9^UzEpWF`KNftz)3z0n*cj$TETs$WhBE*}_d*gQp57>*HVExPZ&^Sd4WykzY{%R;uH-ZD$w!oZpI~0BIyj$R{YhMJc&~-=1 zM=yq4HVB_2dTf-r$Oi`rYz0DEI+}*b?XucuZWKC8lk)s%EY=b}#vCZFNVR!G#3IUa zooSUSEWPS38~Mzs7AKRe>U8dhuHy`%Re9e(+fDvN*Mdl(Gp`VAogoYQu2D-`a`hG1|7uLEuoa^& z6Y0S>1~gj$A{qqvz_2R>gMEX)-3WagaQ`?K(ixtU@xm(^Nxwb~>G-Kvg|+VxH%L)S zJgkE48SN;T$Au30)^?oV87ItGXiWk=k8COM`JV>i|40Nny~9) z0SN+ENB&a2)Rl#6&0677{3cXngxI=&zD4ZO$<#62$sAML7-6`eWSZynIN)%cP*8ku6ko0$WEkG&yKgL`6{Zz$+_&6o24gPE*lI zA84vY7oP}!%+OXd5ECSfFms57)-_|Q1Akiq_%}^1Y!-qId=|^3F0+tFvyAq6n;4vo5iF2%3q*_)2EXpq{nbz7n)4-fVUkE0nM*T#2B^f5s z9eZ_#R~C*qIZ?~MB0Wt%cqW(75VLe0f&QjGk#ktuS9PaUt;bzH9QAx3VXcjk* zZFPRNYLjYY0f+-2KQf)Q>v0tM#e=oq1Jmhj7>mp#6lSQU?j03i*#UE5`%JX(Niel3 zbXTbao!q@((2$Kx=z_*jLbEsuaV8vTOuq@P|PK@zZ zrOQVhbg-J0y4uoHrs8s}&~X943h5nIZiB;6rE!EBy+Yxz`xH@ASg&{7SAYslvXb~$ zV7cb=4F-s;V~^4*9U0>UvlVMoJ}S_^LGcF&VybN}=}!8=zJz3m&_hmU*EL!e!Csl0Zxl!T4$W)KUfS#ks0r*x#2D72R=sSx3L>V`nf27;>=hmh!FMQOrNLY~~ zk-@jX-j6xI9iN;#IM)Kp<9#Rg7h-W6hP{|C@nKuCo22!0%Y1`6f9=&5lWp@7sz-X_ zp&3w;nxM%r+BLnG4gE#vO z{_$bIBV1yi;|K)I#x0CGtf&6$^x@M%hrpGu%ZaYFrEVXK+r52BSAsYwDKabKjUAeq zmMaY~sr!ljBAFIM#k*dSJX7tr;;N&8Fjt^(+5<;ZuH!8;Vl{q`Al_@B{%*=;#PuGf zbBdGZFhs9ySk2FEocLMO7G7&KL%!eOvwsKbZGBgb;z7>QVd?QsQ}AG@gY(K!v>mbe zQ2Dvc`ov<*>Zx~-e?ue_MMkF(McTkkPOH`$OXtMB^0WiiRJX{^HT%eWkQZe=L6n$n ztN8PI*=BI8D|T~8(!}DC0tN0aK z*)?IWsN9x=#FBet*ZESrI{8aN9>&)KiWNIZ{RKNx%$I!r!UaG{C!hE(?T)q(4RX?z z3#4cdO}4gFg&RiLOe-vLi!hG3%^_OIw5;K#tiDF9k^1KGzzl(~sC^KqLl~^OwLD^( z*URQFmSHqbRz-b{b4Ft#0?f6xl`}D?_W3_?O2EZ7u6)QpjyVjC52+l{dE(WjVz%7? zoj$kQZ2;|}8#yy~`wv|8Lh{6+#Eduv8T6A(eu_5G5FROLy1YmpKO)HyE(Y9R9YY3! zSq{i4a^V&n47g++dckv$Lk)sFOVg8cVUui8LqX&ZbaOU|z)d?XJzv*Cowb1?g!b(c zeq*0f!HZ(e{3QiBp#|g(_P$Tp?&E)`#_;=XU1ZmAiZ9TIKz(jzKEKDD0u6}e8-b=3 zQZwlX^I`X2h?$KUtAA&Kc~3XlWLxxX_o7Fifz3$$78}Q$2hWRaQe9`5PlxiXzkdDK zxppeMX%oXYq<;7wXNv!;NJ8FF*We$3`oEt6DN0x&${~MFUJH|>B!ntggeEQy2`2H2 zszcWV))$f-4-U|;FPa2$85rSLNO;9mN@_lXyvq&R8UHXbiRkAHT z1aS_u#Y9+_+2#X=gSaUrq3IGpi{{ePiEVff1t-L1fgBhitOM$|OTy z2Bb>MJpGjCJza4fiq-OX)^z$c+vKVzKM`mGIc2v#%TbR4e1Q~t#L7>eUjEq3Tlstu zpeSo$0V&W(S<$EqCs-!G7mpzG?7whwb7>EYp_B3e8h1$_ka{K=506Eu&94_96pdX( znEzM~V)6{4vLXJWND|6%a^He=Ml`gQ^tF6-7U7iUAo999ymk6;F}kWbx1)||xd!b`<<=4s0`_ELhGtv$Z^$N4<`k45LhOIU;06$i)?GK_?Uv7`HK$!Izsat)|5 z1Rb583B-aIMdr10=H5H7$@`BII$-&XYu?F4tVc8Iy|buJ-%ijQ(66~s3AKIzkXR!W z0VIV1a3XuH>fcE0GmJ!C^B9sH#@le^bHeRDW*bc(3cTn_{~id69mvX`2L5K{CO{un z^Shu*$=QkM4jB$GLXB42hvW}bjfx|yuSW_kPzo?6aqF0gHfMqYtK|B_o@pHX7GO>w zE^tYzhkihb&VPl3i-LR z#MdP4le^Elu(=5DxU^smW#NDemCfBD;jL}b@ps!uw5n|*hk(jV{fl~q`e9{Z63y*B zDvm%CtHToVT`SYhRVuE4PRQGDrzMLs0Fgg4P8y$!?%KLmt^L$qy=e)6U1_0gKA)7MJh5_fpg%uA3i<7B(*C{PK0lV;N0dfI%26|4nfX@tOw-9!hA11z1ncg1w zOp#RgXfh1RG$jIJv>rX*uKleb=;oOzb2WLBV@6z{^qn4`CtwmxUv}Pi|N8Jfr z1iu8`)4HEsmQaS|xChPMx5oPCxMymyDo^}&b`r$;@q_VSEXe;(MO1TfMjAr-ilBC* zap8bo1`0Qcm5;Xg6F40&3|nGuK+nS35Ky!6LrWs8!=S-dCDv@V?IZ^GB%xkvtzIgP zlo*eAr!ho;-?f0i>FQe;rT**bEN$h%m87C1A^NKC&1kdT<*A*Gi1z*ITNA~++Y4AV zO6Gcs?B!??-_%AUS~zPrOXgQ}uQBmDZolyj2SnDLxBoA{;yw!??7ka(4{606V(D*|gpACd zV7;Z83IDobEN+Xm?t8>LkmFq#VYHU(R!{mStl!Z58s35#*NSc6V_C>D>s zGFejOInj3a)#U?@n=3wyzC>j=DauRy>zU>o=Q;1bCf&sv4Ucms53i(XF;{4OUkX)6(#-++e6rG8UFmEDQ^42HL~n z|<_R`Y;LXYJvsyjgR;OO1-8}Bf`UQ1; zSe)dK2ABq}CP=`P7-?e6Lev#AWys$D9+-b#7k;fH!Yolu>k>Y{csLWcQ)^dJ3U}_u zS$Nf>xy#j_>D6issAW+!kP^V_8zrna<031TjEepLD0|1~%KB}2xRZ|6vC*+@+qP{x z*>O6yZKq?~w%xI9`=95YbKd)$`+m6Rj*D}6Z}3aOzWeHcDEmhA6*md%rx3dO#9g?`$;=ZfpC zL;PRBZDdM%Xreca)vI!Gqh?8Hke~4KS8ES)Vzo_*>-P26dC+F5M@(I{a^Dki*yBkH zv=Z2YQ0A=K?-Qk%b1e)@14zwfX`fRbV05^y*a-_$QW1oglo{JsQ_TjeGvUfWvek(g z5Vv}CF%~k`?EHGa=aARy7lx~XkKm{{g|nHY5sZy7CY{ts=CPZnCS4)dpnMn|k@Fl5 zfOpNuV~kUf7zZh%6H_{nR9Ol)^l{*}g`uWFjdko~#8*$yB3;NHtCXf>%#6G3Qju!z zECJ@Nqi+UWwJe@#YYo&kjvi%Zk)08_GsMy@mXkEx^$x~Ub6ukfE?n5DW5GMwBAcyU zr%;n5Y0roU^zaL-*nZ)FW%3g8yRBhUtgH)C%m1*{! z&u7hKM6zfbq~*RXveubO9Sh0T9&`p|MnGs7wF5N`0|+aVYw&F2u9z$G#@yb}}e8*boXq9TRCG9MuX1kb5Q+tyx#Ef6|-R(mL@1DME$v27K zD&se>uEZ-&p3jZ|Ub`nzNS~dnDa4Q7ZC&EG$i6PgC-C6UgezJ&T|G6;Fbx2}iL;6sxxrrT(G-?)qZW;xEHw|)a_Wtlb>aOJ0_w!ebjXZ8{2gU> z?pHcNWd-h>J*U^GLpNYritvlT(h{To9|+R9D}P#-;#)^MebnO)r{L?qBE5H`f1HIO zxL!*f@pR)IRM@a&gf)+ko%+n*iZ~`Hr5`?E-?%p^wFwo>wE`d(6uw_j_1dOLQ@3B6VTT2Q;>lQ#*AI;yAqp4PZbz zH=A2~5=~8Inj5CHIR~f55#HXP;fSXTOzE&@b|Y>#(3Z$ORdu`1D;PrOV=ufB@a*BMNT5=ZHbX4kliQ?({vr?uGqm=NVEN^x20)* zT+{Q-F2J`?bKB)((aKT76l-KMV0aygB1yv-r8dDQ)^H1}p`$muoB@cJ^@(D!h-=dK zTA@fOvKv}Mwe=hFK~){A?A4d}Q=0*ge<;e~ zxkdy@tM^idnMD!X<~FW70}}yV@e`Feo%zq4@T8+ZwoKA%Qy(0x25x@EqgG5wpN_sm zdB!Zs{dvdtY*vHgR3Qs?I3jEwDDvbdBDB-R2u&53=r)*_*{Y3KV+br}{ES(i>Z``Sn|6a9V>{P2Ae+38Hm`9x~< zIQry{eZ_7$z2bEF$4E>2rQ7DA8!hSc=_OhhFk56^5cjZf4OaXPGjY-!rm3#^QJ*sk ztJ1jHk%&&YE!1^6U>&h)74yJOw7nBG_|l>|*j8yx^_nlR*KH%eWc$p4W=Pzol@Q%|E>-T&RMw)JG1r@WxDZ@ zW8}2bNV7Iogv#N{TfN8F_4%}+zXy<>sCY)B2&+E&IeSjv+G{|8p5~%`=1quSs*s}4 zA4#>j>pdz*-UDhnFK+gshGL2Vx7DfiThNQUeXcR8@w86D#ch*<_Pqq;3?I%Rpq{`q zznRgZF0LDn?vZZAV5i zaN-!1@;il0ho!LU{H^JO+{GBC))>~YW1-sfHsiK^w-3KQ$))_jy)M+vgL*8AiKr7q`WM9VuwJA6cv^iRp{81+`;x=D@72e9F8kuY!cvwEZFDizX34J&&&rDeuW z^b+pJsPoNZ1TpxAla{j{-cmVF3(s({F#b|-t^=1J`k^TMYnEZaZl%%-M#B6S2Zw^- z>5(Vqa@6fQ+Hmm9K<``(|Bu?I7|xOtcFzDqJ~~d^CzLuQp?QRHkR%zRle>5YUgG;l z@pu3EDg$Xnju8A#&{>2ifi}XM`2I%f8nBA^&12o z7Kr4;NSqu=4--ds$5RQ+CDf2ql-h1Q=3?0bfw~%yoOA)YVW=#9tR25SW5*6Lg$gIV zGri$!81aLbP`~d3o#pJx@oc=%Cpe2FXA<_Vyzqd;XV-HH??^hdz@Xf}pv#|hF~ihyVp7QEvv;x51YHGdeUb-YUzX>B`3C%_GB z=uqFTjGGlZt`xC(u$UuVuQ=p-?C-9EzpxlQBMLL%%hn6>rMmyOOr8JF{`LQ$s>$BG6#EDEVBz!ddJFwUON zjU1)W9^%;BdWJWrv$w%BY5>n$KdwaCxlEA+pm2&xbSL*acrHD%99=%&FE4$*l^fVX z&8bcF45q1Tv-XM30dVlrx8t#S229yKqiCs=9Mp!AQCX-wjkkmN79;Bs)yi7rxBAzo zk3l=8^qI&F=lH*7{4_>=mRFlEe!rffb#ra7GI(f!EMEyWR6KFG_q@ zbL3a_nzhR7Nxd#(XMw}3BAU8X%YH;2bEIMet_9S$UPAS(8jVQhsr`#CJ1+utYVofe zw~;?~n`|QfggpX8R^`K~c{FbYoZGON5^aWyWJj#19SVJ9XVYGP(OJ6V(=n#iU^;mM zwP6NH*uFAEp-|gI>7Mq6^RKkO$;0zHX90;1Mt5y2D==6oVY)icZ!`7A3}#+&%9iyU zR660sFjEd~LCU%WRpsoY3>o4KKQ*2Z1E&gHd*Je=*c?C&{PB90_JKc#%Z3nyMz}RIZK(Eep7k-<474%@q~oy0#`?lG^7jY?gOT%@!m`zI zE5$*+%0b;C$3)wF@g@WdMvy!KES+dk5{Jvf_pVFhjh_7)?BO@QlPA8~sU;{{#tXF< zG+ECkkfMeYA&!-qKiC51Ov2nVI?I(2Vwm6@FEdHr^)z`Bf^!YPZb&6 z>=)vadM1O_iM24!ZdwHwh_2CWrtDLRs6X%}eDw0_okFC{pW#9fdi8)7zdJ^HpKU9<$wxyOsQG3@pI!}5za`vD`*;*d z*%+kg<7C6+oAUZ>#%M-tJUL7|oLXCiUDu!mU8BRQ?Y{cnXP`9fI+~nrwW+dfyseYd zu=&Kra}1v3y3{u*Slxuk?}C?;gH7G*(bri66Axsho&5=MQ7 zo|EwCk8eH!RmRjn$>oJSuNRy4&zX#Kb3~Ea7{7uu>P)k}9zGtrrL=@zaX)fEni=X?f=g2RkBOTCAA}usC#-8Or9cXP~9&l(JQl4 z6NCd=j5-e1XbYCbt67r7j9yo1`O0Wqr&4E$iI{Y_ia7|Cq&l*2Vq?>wFiFjBL;iRs zG+EX5OR>hW^S#+hlV8TH?p++#3wpBF63n^AnP+g()BX?3`i{|c(4{i_MC;Ny)U`6m zSbZnCjEua;ELEzqgyph2z<`I*(RfaKQhZp;Yk71mT4M4f$ZO8IqZ#7->FMILLL7l3wIH=upGqNh0woZJMO9 z0~mCcaT1#JCc-8HBSJab_{d1qc+f_Il8g(h#d|Ldg}=FuE(Rheviq?*yLjX z%d9=k;t%jNS*27M`P6i(I%4W6*s}$`J~J5fH8f*2L2jhj%lXKIZ{azZ4c&L&<&~n^ z%5%|Kt4n#Q#wr)MfJ&u35hcq_O{OCXn6Sf(l>;cwAYm128XNE8uGG8QEmoA}1GuCQ z7-GBA&2d68}+;IOy&TH=N4)T@W%V%#*m9XfpMMX>BAa6iXy2~ zgOxMYq)6f{p(7WK>v0mV=TUZpR3MnCst21A5hXQ4O_nULRtFQ%iGM0P3irYRK@Hqo z^z^y8^DE|?o}vT1dTlD^rpF!1$^Iu z*OBpKOK=u1_T`r&>*236N+)Ac-5gHN2jI{{Bj??pL;OT+S=(%(JbN`bhgbCM;CTH?JR=dbL_7(?{jVWD$P7%sP z0<23?f#50fzkc^fjWCsuW!rqe#WcsgL6GWdAaiNVYnM&NYoF_VG7zPOYLP3H70ee&(}Var z68sOLTgcc%-`UDZ$wA-7(a72Ge@f>HWlhC7IrtA5EKKuoJ$V`(IlkO_zHbPLs2QWi zL8(xTjeS>`vx1QEB+SyeFFU%kXc^Z%cw5m9YmS%_x%(s!+h-G|dL?x_;*5OZBy@dgabyRchMH z6PH3cW&pk+db@)C8nWQ#%31apDMVS5Wai|d;#fjg{#jb%5FP3i?on{7$+3(4>L2c$ zt$Cq%^21o&Sm0huX8&aFxf)7}1Lbyuqw!Q>&Bs!jnUiS6oyK3>qLs(jR7;PGR60Ar z^WnPgp_xBcu#3Yr56~`(Xq?yQCAk*d{Z(-D63;^L-M$-vEzE@j`|0mlV1jIg)R^fD zCjMb;QT}Zj)8DGo^>Wh#a_7cz}e!5MQ#;Px0%h$WYj0tW&gZx3|0!-E@x%ZK-T zZ|Lg)^}9-r4D3ikhNLJ80bMByfh!P3(RT}Jzyp#~*Y!a^kR>D-u^Br0O3mGM8#0JY z$4vG*;u}Z@&u3=Ap$F{Ob;%CAPE6Y4-v-fCx}za;g?dnNLU8Q22o&0olny5ua-O_rI_ng7C~&)cf#|~0N`f7C+fbPrX(ba??IX~BGi2!KmF0{IYu_!g~w=b8L$<9~W&I89f*eS6vvT7lZc`?vY3zi4NXV^E>_ z7jD6z{_o4-|0OX0x}5)i;QDWIS)ux=tGR&TZ6kIOXlI$5)F@SC?aUl7tpsxLZ53ER zQW}A{@X6RYc@MZLfT%-UlW)VqW*|55E65uD8XtXi4&&RNrOHn{$51E8BUvpFHa>2o0NnRc zi>#6p6MR`4r{dD(2TjbVgFEQJW{oYsbuK-CF+71lX%2T#G$h4o5kcHsOB@%55sJ{) z*xy!nG$Esb0SYepu#-io!^cLKDH9W7-IV4-qHSky;NRFqf2W%``lc{zLv`}m)s6x* z=ZN7rox;LsPAJk!0URky_B%AaCP1HdlMOv2gGmN!J0La#f|tQ1PG(V*!JUc0iUAw) z)C!-KsueA@dNc+&kme!*i&1hh$|?HcZlZtOX;FfBfV!@>{g9d%seAX2h{^`jC3}@)#X^-)=%Lts%UV>5Nh9XBAkneMd;yy$akE^eAbxwO{H z7{CjN2N46Mxj7EAWI0uogVwFa zvG=pBBZ3Fbv69FoE`bL4v-7+eqbu}vn~21Bl?`RPIzR%Vj5Np1SdT}|Xh1mpOy&U1 zA=hi)pzPBpP#Q~s=ulg8-ZnSR_+ zA!^smwdVLSTUc|-yUft#b!ZgtmLjar{59#DdY>}R(iIwx&wwdZ&UR~*Tf{K{lhw&H z3KU0oOA@Cq1d7w&Y6i;^4+?ipP7aW$dW>a0b`D1)+s;bvApm78c3}5-R7-TanlN0O*`G0H+$hpWYVqLSTy5oDX>lp^ ztYG|SlG%b-@q|%^D$8_RD+<+p`0IDe#ZBjWin@}wS&7Lc4%jJuQ{ne`g&7A%gM~xu znPDr+sLY}0>jq6B7P{%>vaKxT&L~+1-QWSVIk`^KFu<{jiMck}V;HVN=13%Ustp7T zO!*wYg-S0G`UPg_c$i5&$;!oXX#{{P4Kq&qZsT6lc^j26@(reK?6oFtel(&V;&bO> zhgT~HSW}4cm*3^pgg>{ZsjmGd*7GFlZfCIEh#TXB1Mb1-tEc<(8fH5X@v;+6mfo$i z5{Tf^b_dD%e`QCb=>F_$SGWQq!fy2_i)d2 z%C4crA1ybL2~&nPhcv5%qQ9E6W%18{c!Ny=dqVLz+m|{VhV&O67Gi5vG?hb4g_-@H z&zCkP&8Ao)s6Vz&3+7n%L|XSOF@u{BJiS`qApG@w%NpME!J&#C6Gs2A4a}vBU?~i-CdDN5UO|Yn)tX6NwUO_Q|M~Rd}&? z+J(d(R0N=t?uoUXPp!aZoqdCo;31^>M38VAi5HpfOL04@O13|B zc(N@t+0e+g%-?L7IrzgSgylBTH;)~2=01GhC!<8LX1e5x&h#|joJCFtV7mJ;cyN-u zeD?&q#`46@;tBxGC6c3)c)=F=5t6E>RH15XpnA(?!QoVsd7HgW+U5W(y1#g5M=$(yK^jl#ql$~K;F zQ=PXycDGiPv#xq*t$I4ou_?NYTS{2G%Ka9$Y7eS>sBCO=y_w5VrB+eJ7pzic{k+I^ z(d=h^gE&lP25kl}|I}E0jX%#GpsMN7q&IYf-Tsahw%*z_9fu-S84m>r6rxQFf#8|+ZkyF=PJ>n@1O>J!D<8rYEuBb2 z^bPByqdVxPYbIc_gl@VcVYEF@<5c@kgk9(S_GPNAJa*1Q}x~2zYY2RQ)Q0& z!-(yiWapcl|6S+p2~?H!SbJ%uYT_A6`+;Qh2|(LhD|**9<58Q7^z&~r>@Q~6#}?g2 z`{l}<|LUUsr|z_Ww9ft&f>9VR{a5xu(5C$w5$rF4=MOk|GfcVlZ%sct31SFZeCOrt zozDu_cL0IsN+?}WGC$$ozC~fP{ltGF4pCoKQ$}iljNCf|xE`ds4%X>@dVT=s1d4!? zRGxHM63PB06!Jv-wEL%vw4{5rr8qJbr7J?Wtwi% zj!y^-v0wuqQoYM5PXsU>aargN3;NZ-eO1v3!)1Behyv%Y1{Z)5w$y27IF=+&)$3j+ zO(xlxp%xg>1nV)k;y|?txma=dF8yG28S2qsPzANPKjuncMJtohnqIhfSKt wrN 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

    yd}RCgn+U!3(`A1}H;5q9QxzdB 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

    Gtiy`>ccFQplcutpwFstaI7d1kbV-< zW>Z}vw}oNfmV^$5J85@__fi*!`a(`ieFB^QVmJ#UpN5U>`-k|^-%DOvOo90?LbC!8 zTJT>y#{bFBeoDw{D7^Gg>&8uppw0X>8;WpH_5Q7e5*AP*B7p}8Kk`>?*{JErvf8^0 z@|WiH`6bLW|M**+Ie&KHS1x_HrjbG|K#`e-zU=h6?ed;%d+luh+WqtO4$%(^ix{LH zu9y^6h#m!e9R+DX7z&||bSoe1Zvy0js6caT8p2*hw0awkT?_Mb?>Cv9F9O5x#~84$ zak$xwwaq9?N)M@s&n&?VcBtuWD$3L%O{l#nyR%m&VLFDc3FM4wB$kk!EPL}ui=zPZ zgJgj)^Y4zx%4AhkrIWcG<8j~8q`0$eP0A_NnRvG;(vEy=5f3v(HmlH@G}iUy+*Fp8 z)HLay>dp69DY7!HR#Qh?i_nLd*_TSOZ*E-o*%M~0BjaUdP(+57TC>1#F6Ss+foZEkS`2?~)Xv0nfiVd=YwR+i zbeSruSHH+`CvB>_qI48vXf-Ag;|WeQqAnd%EymD>rbTcSLCj(<*#OOySDI?1xO((Z zb_u}^9tWsel~!P~p=)`%T!PT&9Rk#>)}xh$F*h@=`Z z>^(>Yv7##zBZh*$YR z06zmgVvRcwiu_Or3@v;7wX~2RZnHOCuDN}oYfZuvL}!3K2bN5d%t*cuUWzfxax64R zQY(QWsyJxkJsWS$KLM*Ii$SfjjozZSi7~69Rp0tbUMf^(dO_-;P@%{t^!8N38QSF1 z>AhdVX_+;j!gNV^HlPnYBBp_GTPn??{+s zzf}gOgm*}~H#$y06Kb#E9%^71WDS1)iCl1y`XOZX_kD111`%cwEYIUEc5}D*I($KO zxzg_lZ`)?5t_(}xi==8(#=_%z`{SGF4y3dR?Z#+C;(n>T!w?8K6)VHn3G=?7a00Sk zku&CQ7xP4XnxK@?92bay`6fc#t(~V@6TK@O8Xd4?=CO3q=yh;$0vxQ3aq3Rr9Z?QP zxV{_Y38l+=Z{OjKs=apZ4;#dR9ImB2J7nvXpJX74i79@>KO@?WY8Lu|;&Z7>tTobg zvh&g)ww)dUnGMU~RdaWo=4JoePt=rJ;1I!M(u42LyJPKo{^e(0VKK#lK4RMPUzEYr zE(YQ6%Z1MF?5GRK72)r}?J1X9cgift@3nTJfvkrUf<>%&f$B_8nd&juhtrItYM96_ z36XEkhU1>jhUrg4s6#Kl#Uyq!q{m4Fw-TMvbgxGASPtl)te!6mYgjwHW?Nx#AGZ$h zUl=Sqz|I(Lyz{K^%Hoc=xi-BJPxgWEcbmrzMYc$2nhkvr4;iMHGyjVkwgL-ur(4-JOVHoZkLxNv8t%S>j)~T7}FF z91V>A?jmCR_Zzn6A5G~BFfdfq27oCI6Rt)jVZmTHNlHm5u9w{^#Qnd8==GLWN2q~* zvL>hF>FgWrUgn2~wK$(|O706FsGWbXqYAMPdmjlRp)eE@$yB5((pB%`32CNez+1=X zH}^~j>1?ACPnd$CHA3m?sJ4em0G@QCRj5{5wCM~><*#=GMp($tft0*6(% zc_LYElhl^>N$leqZOH-oFo2>L8X;$nYN^GW?4SLSl#&lpf^^;7zC8ILAdq`OS|+zm z79PVpj4hLx8Usi4nNl{7;cU~lDlu|I@Hy(6kZz^UPX(JuTzM?CY9ldG<1jq$8x0-m zuI1Z9irC5|`{6wjaGd5`7so_dPPpebUCKywCHt6)$jPsa5c*(LCz^FER8oW0TBfM* ztlR_3u;>cqfc6kSRfsf#+tI!#ow4{ob?lMB)W+c5N`pZ>WU$N;-8OUiM5Uz#vy z-7KMx@r=vz$Dn7{dfLs}Y&IKAsLdK;FexPI=5bV!j=nrf<}FrS>NopalR(fS*cE>% zRC&xQjzE|a6`JB3j^{^v5NVyeT3|Ygr*P$2X}tl zRlwPy7v$M4!s?KhJYN!D^w&2^;Xkm1#f(1^MOTf3rZ5WM&VgoFU*kpq(>{1;l4|VwK2Um}N|g5&J6-~-{-CFawbixs zaG!m`!?_)ow;TIyYtRxLyjE5p7Uo`aS|4hSNqsaj02>?{HZ#kbxmcG2_N>+Ygt;DT z=qD~>#H(_bwdkIV6I+vNMja;{6=yeVPa2M4l=s<3pu(|Sm99zNe@XTY#l7Gxcx$p!(yv zuutRL#L>Ij*t~*}m}KqMx0-gIu&Wj|u~wBWh_#u@cBa9mpeG62djbblBZMofUmjf5 zi#u4&)0AArBu7Gqi!}>`0R#4_)l?=7?>WuA{u=Andi=uYMO4{}q)2;Ei|&!tRLT<^ zVGq!bXdOWFUZ>C-4Sa+y!fDSyQIo4~AMYR*7A7*By+k%C6*6bs$HhaQqU&=@T4D2& zc?JA@7W{Rl?h-b73Po$`186mYQP4bFLP`pn`K_FV%wkHCjkEFDK|FL6gXj(xKbQ$J znX2p~kK3E!i?`PIBB^v6lXQu@C;ATAr^)q`k@m2(`$GD74$9Cb-spE?bo zs_@5Ql9K%vk)L6?|7WVEw-h$~OVy(Qsuufyaj5?jt^eJcw!)rD{FV4kVrkAhnQRms zl*C3nzj>H6#1M%I19HAO+L4Bd;ULPPwf5%>d>AH)JjQd3lW@9@F>F!S;IopQtrh+1_Ofwfias3HBe>} z15J3)LaC8dMf%7x@kt&dzaoP1F*_ZxJ8Q7Nw~^au`Ek}^&tWWMP93<`RR z?gn{lwL%)81|@!aZ|js4NaS2ATa=fr#lj!nY5N8sw>7@OEL>SdBMib9(2RYORZnFN+ACN*A#&!s zxyd&=%SKwV#}BHSUtVYVHd5I%=u@CqOjqg`uLPh}(kO(bt|B8vLc#v9_LC{i&GJ7C~1M$ahk4FO1)P2Ov}|M8}1l9aFu1HbNh6tBk9ftE*WB^ zG3%qRVKwC5kQeV4w== z_#Aa);l^mJoIGP>xmDFO@(elfQ8HfTOG}o4wBF6jS<541T3t(q=nfw-Q7k&)3$=yM zL}u(MfA`TZ#TpLLBuUV0lk@R>$SF#W^P*bAF4RThh4+yV2_EUc`sbFGlgktkH-S7u zz!kp6YlcMoXEmRp@deIjTLs76K|ST+rFTgC0IPYY0ZV>9b&DRc7IuZ#T;?Cj4Hv1S zLDKl!V{c=WU?#%zMr~I$b5pIl5!M(ta*KanH$`@(8_^X}%TUK9VEBaUy6Fs@w9D>1 zYf#}$VL##vWFCt*;pt|0?o&3vWVlm>EtGD=^w)maUjTTY0psEdKKv8 zMX--%Z3VW(E*Mt1z8QRu4NNjqKU{Cz)uFEyj}QS3D{7mQ+R@@fF2# zBKE-H`y~kN)$VfY-pR6w3@?d>uMZJ|B)5c=AsIh&#d?TyMx!_V;-Z$_7R1TO(90Di zYUw{A{ySQ~Oit4NwWeJFXf66L+^@oRE{4|sTXVW<89FjD@UJ;t@@iuxRFJMeDW)h$ z^?xv@Ta+c?0-Te!Gdi4Z0Om9^_rHZb;)kn%#^rnFj4^(v-vA3Ac%u5bdo5yI()MnL| zJIow!f{R#KwU$GvvAD0cKK<^t*S0;W_MF(G9F&AnYR3#6aj(KFzOYSvfb7?Rgb z_b$<;cJR_E(+M@-p}H6iwS}?UW|GvUgw>Z%l}_4(3BBgXrg`9Pj3BLOr_P~#d5K+o zj^w*4nBwki8qA`rK$Wvrq%G~kh$X-8@)TNw-LAI05_QW|^AVW9(X~!}%cZ7SO1M)W zMGg%JEYIxJYKt&$;69dK=53S`R&%4}-j*RhG@(;>>6+GqsUtirTRs;_%8xQ#ug5V^ zP3!0~QZeRHxrLoW)gF!q217>?z7-U}2x8Ku5+|(LBePv#yi$=29iL!hn9gp4hb>Cg zdD_P9sX%QUalOGD?FOCkQ@3jzc{AF~*pbvfMYloo^rm*J3?KRB9k7(aI_zazhIE3) z^DA#WCbky$F8++G;$g)mG{OCv9|F*}hy1kkhr^#>TZ4oQA;SIso!CM~HDU*nEpAd|{VHt+Y{8WFF;#|+U57(Y!`~@ldAe=*nSfC za@U_m3>YW;E<+Zw&+qq7u3ly4Jf0RnA94T&QU2HU@$WMEC!DTP-joFltko%7Vrqs} zRDj-Tr!eQP!F_BA6_%3DR5l-8wo1-8`v!4rc)Y0oXPBKI2wA}h3(x1aDEcFt&A(iZ zYa)BSX-?OwuE)_7P{{Fw+(S!sl4ndCfjk~*j2}|bo-#m`qOvWgV4_fM9Etbros5rt z)d~aTJVdYU^Tw!~b!b{F%J7`c%?c-c%xLdu$i0m<=}gG70&F^Mn2!#8(xu0^c?!>0 z2nt@h49uT3OMAxhS-p3mE^0AFzN0p0y6#~r9AMk=tkt*gGIqAbFx(kkbBdl?cf{gi z*Tj4A9B%_DB#AX3e@{o3V=Yh6Zdx)(r($!PskLY??X!W6v^0!Pwp(ydjsLyLCp0SA zE_LeMK(eJzC}c}4F1Xn-H=^$3r>2PNjKvadg(0FU^xcR`63aPRMVVzwSS4hj{@IV* zbQ~YP(e?`IJ#ASut{zWl6$O&pecNbWE|a-`8Ou+cHQ4BFiH|Yb#dw}=dpO}Fs9W=` zt)X7pOsNDUt1#;`sC`^e6SZ?fl_9&JTog4r_we0}fj94_3PRi`z8?w-5i~Ag6#0l$ z9u3e(Ej3Ar5-NNXpRnxmn^-Zdnc}8_;BZ=2&xe4hq;Px~z4!^bh0<@RS^QM4;$6e@ z;hW?eG825<=G-KvuKZ@&@+oR+y#z$RAS&B+0Ws-}(kAdkMk!^;&-a9OE>n8}=-zNC zp$xhS6qONVCNYt2`h(t$WWg!HazU=C4>3*XV9-_xn6mF)!&e7fJQW2DdpNGS1zRSH zLU|Ci;-56L63l1pKhhuIkEgNap#ZQU5Ddo zvJ8aGm)BRlAAEBk4L5XuzFyY&zme&SWArN~XG){=sG~Iy5eAoFToY3t1b`w|5ji3i zsvpc?*{zaV?-8PJp)`zq*z9}~7>2*Z34c=LyX{mTM_I2nE}v+qcv1b(Wq~!FL0ypy zQ2`Aua}jDY0|iAMx&Rh*G7VU0jkc{%v80@<&X)WDdo+`lp{=b-o$c$Hi2p52j@!nZ zsi8=vBD7AAn$m5HlH4OPQi;{7YZy6#hn`_dtszB!*4lfLIC1(n;?dRYAN6#emlj8e z#=Xp&(>0__oR&)%A3oxmO^S8CT+u2a#M;37M>RfdDnmtdIP#r-S`xlZBwR`TkpPhK zcmQNPdZDf7mdZ@A*f!h1ie&?62s$foFe(8V55|?IQr?_(l^5lbaxCshbnMuLaD3i>I5eB5fbS$T`CNeiD81z##O0L zx%QM8MLuP6y;Bxe5QTzavelRTp=ac6EPap}Z9rn8J$eG1conA8pF(EPQvG3Zt;Pd{ zK1tiI_S&>esNC{Y*jSxP*;=q=>MGFRktyw%+uDp$msFzFr(L4Ry0X(@<8pw;RWp!$ z*G&L=)<}wtTvIoa>#ah+=t;piofk=5R)JESb72hR3$vInP^wq*`-mS1J)(QW9-?4Y*y$Vc zJ^>p?pnQ-$$O)qeb27){jGNuUHGv*~V0(r%F42A09Mz?MDXwUmHf09j1aA);X-nRfj9ReD93ohx zKYQQ8#hBgJj9pENN>hz3fhPycDq?3z)RcIj6)p{gIp4!Z7x@3N_SQjl zuj!h0aCe8`?(XjHL4&)ydvFWx?(XjHuEE_QIKczoV)x$X?C$=~)Xen!vsM+AREnzi z_vT*Dx~}`_AwOYg+m7b39nij7I_4G7wRBsWYC*t%*xAE-g)-{^J7&1>$icxYN!fRI ztGfQY&=96T@;h$qRnoAyZQwxos)rdLj%>j-=nBvzkoh{ycMV!)E(yl)kf zo|n82Sw}oaJjD-3)%YQwiWuf0z|!8aqH{1%-hTRk#?KJ5NK>XLF;s2?2}>m4z*@!T zcH5-bx3`Q-XN?nBA7FZP;O-15!_wc7wwJZDO51*s?WCxv)5-pknRXCHwS?Pc9hcm7 z8d`QGl4*)NygUuFv?n*!07oyYfTa&*o3vw`CtXpg<&Y_u)jXb|Pe4!8r3FAd>P=8( z>jrLIMj4ji#2*3I$UO=Gm~J!ESWjh#TRJcrbrC1y6D`%|!m{_hq_9Zdj^}HsGi({} z*ojpN+b1(N0E_4qVd}PAfZJfH2>1E2pNsM%Q9znW937jq>j-Mi0gdO&RcLNC0aen@ z;^(}lw)vwk1Kwp3B0sLI$me@aejsSoSjvSR1?qmE^(8-jiA(xpIIXXe)Y5F2jK-sS z4JxmaG3*D8cJxK$T1FJ~H*{9H1abZ@mslx(`EHwoaSg;|tG)4lAF`dM^1^;@CeiCThVO#+Q?emxkh zVvO8Lgyo>z`A5tbWAkK3uyUvX$EHj==O5(V%WwYAE}4sG;^2jFDIYUK5{a=uWJ&IObQe5y?^W2~TDEl2& zKhRhzQD|#L#a8GxmkgJ$Yl2a@NN<7ce7O>+h~dv8AoxKk8)BVy?*0<(Srb1w9S_}p z{~liQ{={CJ5)?I#RlrEy+)7imZGnEPK4Y&f9wu172QR$)ge+V~zS#y_F&fiF3yic; z=up}rmnhaOo2VrXdg1VM&E_$54bPbDt9FRz84v2sJ4I?_lSuT=UEI>aY$wBhfXc;B z2FytUyZ+!|Pu}FyaoXauubmt5jobsY&G;hi}blx&YZhdp=gxnUWt-CR}oo+ z0Vt1fw>J{+%!V76bp5i0)kAL^cb?^jh19msghhW3ZIm=y>|^g>@|c0Lr8B zgYt-rL79A25tWU@Vqmb*gT(^T$e2@P)62`tx7Y@^;GzkB=b{mQGYduYOs^qVvIG%& zhQ*>ol6&~&*UNJ;4pg-HDqKdnG4^{G>1j50+WBIzstwI(KGPQ)D#D4-xvdaN(+GDz zdOcq|Uo^`90#VeNtM{1G#s{1kKzVo|gdsquC?iTHsb3%jiidW{K*H+`&_d zZZPl@)yk*e<2h2vS;NgE7!|0nCO-NXXcV#~+NLBy-BM=yB&{z8s6GWQ^yl9*TLfb) z+>^3;1c6!2w0}?@FJ{z|^$Se`4n^itluh;&Ro{rFD0`3W^-1Q5Q*XYUq)aekU5>e> z*ih!8QGOxLOxzHr1rq{JFA!A-!QH*LgX@}8;Mo4`Os8}~RGNDUoQ&!NZkmvKcaCC$ zJed8@CwXEoTjk;76aymk|L%5$|3C8ok2CyNg8oOpJsZ@@PZQ#Bvn_A)(qK>k{yj^8 z9*b%rzypd{V$Gh8gu$NPvSL?L%-{Ehat6Uc%ggI?5q)}+xnVq-o<+cT#K6q$c*HmD zoyy(c{r>wGf*+$g)3d#99vOKq1`H9pv4|ai6oB!#RtOF?MsmkOzPSBhJeUBC2TWDO zKNt^G#-5j9A|GTsD$68R)77R%4C%Bt89ydljfpJAMvFuhFcEUNal0bW!1#c2U?S!N zB9xhQW|}5-YP6KhC1|qAyMwVdlPZg*-tOO{p|=YJxULQ!tp%!cU)VIDoRUhEc8&^<@-_=Wx~x93u`IeGj5c*0J1b9 zBQ7!DHdVIhP&}}Sz4dMA=V8|m%ce=15K}7{_Av+9C9ufP(In=-ZY6pq4Xt@6x+iHK zHpdIzpEkMLF6bnw(Ql2bnNZ_47B}MrJ9=nb)_`+qwq;-vKBa055-9q<+ZA={uHGtr zweQ5ERB#Hr_*peY6{XlzM&xtBw})bi$9PezkvKb=#`#pMd!X6YYhH+(OjiSQ9(7|9 z$-W0%hsKZX z=n%ksimNY`;t>*``VowU%C9PDjXaMyuf%T$sxw5+1pVMM2YcC9ZRZ&OVg^*Jy;MkL zL8y9Y8$Ev=Pg#3KhA2yD@K_}~EL~^`XFO{lHO;`ra3mvFg+tJc@&-bkgJ}6=`AJ3@ zXTfrXFT?=IV`Yfxl26Z^a+W|E!>dpX%_6UUZ}lQ)gIj;6kmtylKnA1S@6BjUx~5ox zSw=I81mY>c?wI4?+ZSb|A&SncmtJ4{KsO@c9`ZX@Y2E__52Y8xw;VytY`}^)M7!^7 z+QX*XPY2LDj$VSlgMw2d7KZI86##^E^*gIjH4>kIkvBfCFA??-wm9M`qRlo9nOX2$ zaM#lX+$!$j83f{z@`?9=4p>DVoym|fU`^-^*7d9!rrnaU*LUiI^U%Vd^&L{age2xs z4vWLg07BXT;)9TmWK#=4hnX>uFdWg2*2g5~Ta8^96p(@|5R)7;WDs+7GV=1ZeuT|C z$>kkLH;f_1r(duS1^=99bnUF>iMqAD1|E^m2k|XieRbI0CqGME3=dE0QgB5$56d#_ zP1@_&ppa*j>vHq1)@Yq*T=*jND_&K-7Cg<7k_7>)R5=#5xI}-!WxyIsRv&Kmn&W9J zxH$#x8~19kW|mfq(h)di4q5EA4n;wdf&>sDT_Ly<59(xK7dNl$RNDQ#|17qvAWx!? za7FNg-DzlCGM1rpRyc&yZp+zxnBmaFm(LHt@|16B;xq(;+j~x!yjR0r?8tbJICmF2 zPM&VlQzDR*MsEXY1vdsAagonW=a&SAM-tR0uVb%b`F6)^OTXJCkvkKMhV$k0!<30j3nL96g z7a$@0r`DmQjgztIe*+$ce<@S|O1eA&Fo^zxk_LNC3a12(OS_3pK;+X|ZxY6;+aPUU zD|&SFx*mj(75R?v`pGxp`a)egH&CE$^kQN&)$^kDVLf%r*9R9kWgs1|WF}zR40Qt& z#w0o)GX$w{B`{nPO_?f-AyBk*s;3UNlXYH-BS>54jyHG)J+cZZY=lc_aNnX#kH zdVxAg5z%F|L>9|t@m@3thiSD2*K<>__Gi|6~E3oJigPdRr{^S~J&Ws;1w5?j+NmQ0aDI{-MLnWw`MAH?G@ z(M>9gjUh5>|7*LIU;Efs=Z_6H*RskZfh`xTj>tdGmBYE0b#HjcHXhdwPrud9Jb94 zo3rJx2h)I@s=xkjUZEbQ!+PENMXED#wuWs|wmt`>0)L-JvPQPGhR>QlJU}{>1W1R* z)2I&KjLAm}tx1mp4uy0y&ka`6Tyejxca_iP29*xR*PO)SR_0gHh@B{%=X-w&rc}`* zqlOLwhaE_G#H-}82m7p|6|YbUIb8bjd3-90#w93t7f?sQ7kHAoXQ+}WK=ft~j2Zd_ z_!gQBAJ!mr=xmsV9Z?I8opC+1Mx?7(Q|lc(Xme&qykv}=VrN?Rm9EvW2#k9(7}wT7 z*_N$F4e<$sy=Re~qNnI4D<%3}WPcp$ZsnFC+8FXTJY&?jSE^RT@z$&}GTl5dhIv2) z%ShD7Z^HFKUaD8`XBfh75Ds3U;z|I%qlGL&23eTT_iwF=ACE{+X;PvV;1N*;#E<_( zI{fPq`Sbl>gEZiYSpcm5tUp&O5k;Q?>qbO%YK}nl*3O@mm0>HbL#p=?GjH!_nsJeB zCf((~p3L?OD`5;2$A48E;uZ!e8Nje+s&96^;Cxt*Kk<3Lc1GxNrb%P4vxfvpNm`2x zlWwsxKz9VM!Y*Mj^JyAWaN9JRdD*2k)kB2`%<&{_XYC7Di{izqg~^GlLZ1R?ZrpE1 zZiUApTRVGT)^v#WJ+l_(S!YctSoacK-5tm!J1UbftQgcMISwU>@1DKo&=59qFgSnH zxNM5#?nSihS#8?I(a4DoWCm6T^GIZ>5)s9Q%T|SI&C0vSDNny`=E;S3%7x@=*)Mg< zPD6FJob9VPb4n53n~P}f4Wlxk{+0<0T%uMnhmyveIM7J~ea(ugmwgwV^e1W1(_ii* z2&PHl(9f~x6`Sno2(naX*k)*WdssHQ-(iq`0^njva2>VbKJW1cGo)oJi=q#)kahKCeIdwc7p z4tip19py0knR9mw<(FWn)S7IiU(DXd5Sr&G;nE@J#S5_XCFjx>chHXNxj5T~KtLCH z`6RN+YfPi5Ih2LVL*H7!$?V0T_#zxzCt{4o%EpjV1DH0GuB%R{a#=r;bmKV)t+5cW z_8d`3Ke&BJi@$_9#iiq6COM^R*1`;iKMXW~ki9Y4ZyZDu*m(YbInR;a0Xffrv;3br zhku^qzrwVo^531qc0yX&NH|D|Ri2!JK%qT7V_zvxgeG z5N0A{?RBK9TD$8d=fmHeLt|Jy#XK_NTnOn8=g^QbSbQY>!#S)A&47i9=+M}iEQ@3X zIEQCMY;N77>6fCg*Kef&Z1t{4Hr<-h^20gQkoBb#kW445KLq?gG*$*oG#_lf%nU3P zwxa^H)9UaI>Ub2B%u}8EAT@FRMl|hYJi)oLrA!0d*M+?QzDbbFg!zv&UDT#VRp#DL zQ_>z^rowEUKky}jmzrrqwLVFa$;vR9(}+oI(IiRQR;s6P?^#zBo)NF1+>6UK+T6s( zB3L00ea+#AnVCZIiZQlD*yLR)g?tjzcw`FN_w2BrcG8g?Aq_BsBL5Kn>Kx`YI8}`n)$zx45RfoNhU^uEX<(+i=KGO8uihpl4Wo{aZg`TU(3%T<&@h6C>XbX*|`6{IvIN@IStOyD!3Voekz`78- z9gz%FncX&jeG)XS-eTam%39G~G{V6ti{~QkpV=@!y${X|&SL{_78kppQpV3@u7_N4!wEh5X{HAHoi&_*^MOvY zh(qG<7@qQTvN@(cQ-Jd(ehz;J*U3L)6@q}QzRZ6?5D@}E)BXrMWY6{yCKS%csh68M z8-!gxpX_;4SHJSKdwnLt3xU+|>Yv5y1&|#ngGm4492T4^oQAR+8vo%OCR#}VoWnJMa~Sdu=P>4P z&Y|2ahYWU+HolkW9@e^ZYiCZDWsI0oZukBt3r>ff@M*X>aap20oZJ|>K%pB*d&($SBqV_mq{%3eIn(`o$7ElY$r<^Fp*wTX8eb9i2avy z2=w6`b^rmKL+3m2e)gY{o&aE)@1hU?+YpFANbR;#q5|5Aj zeE)e)@yi!osvQs({!`^p#@5F4zvt2atsIvBmvRX9+LWjcNyc(OOi2j&KUa9TRwOpf z{!^I7=kLY`Ng0d)`UulTsJ~O7O&;=7f&pPVGF$`AkqQqGrU4ZmNm$^2RCv7nQQ?vK zSvb3!ykh{i->Yl?3tY7c&i687)F5rPQ^(-1_1=mH!Q-y9H%vdY716p%ZY$2xLfm(r z)+f1LNM$8H3Ous(8CP%?QO|U!_sq$Jv2(9n#=og=@ ziu7RPRkVDK?O3+Gw1n7+*+Q`}{KvjpUNi(19s^7YKriGoYqErm%S%SMi-1#VNm|#Q z3D@WZgguPhB<-~t5yjvme?2UZ9F{qO_G&yQBPDp`*eP(y{$Xp%X(QGYA zb+;FalibDu{T&lR#m4w^C)`_f9IRB@xU5}G;|v)S&aC8Q$5SW8^Xz^M8*(H>h!J3Q zW3en`>$v-^0gYifx2|SaBub%`B)iL6W?&# z_?34TeOepCF|hFx-ZzAJ?lVsrt_$=Dz#KO2lBp8Cqdz_i9MAHLaOxFJGa}!AL$ujN zM|)%Y9Td}p%egtoODT>_sg)#3=1rKb`_B(Y9e!rP{|n>rkB8&q)V+fFys6b-F|1b{c0mk8q{l6K9IR9=Og4)4YVwJSS4WT9tG-dPx zhz>ol@(-fpPvfw*HzxAKIAp~t`r+R5;!2@K)l4~e>`cLAc+=yJ`O<{L*JKsVQ*Sa| z+tGyPaLwmJ_QK6$Fp}Dti%~bF+#WPSQY0Lne#%RRqes{+H(s6d8Zwqw+G!Yz*6K-C@a)h8fuR>5< zR8*y3cHs*qEY5qi{ONYVH}QKqLUOHi;l3wWb7_K%&2+*59}g1o6pveks-l#I)X^uz zcyaNy8w0gXu(X-y?uG!?wje6)Nl@A}>;d6`eC=G(e$X(2ayhKXsf;%;ndu|(6%Z0W zsqM%>NPlvPUCJ9|ig>^>Fp>jz)FF|}*ti9_-zdl-4V3sbH0KLb6fXkmQYx`g)e@&F zRLW0L?mIKtiubqsKY$X(Obay04={`o=u3Z6Q{7>gFXv6$-7(m@wDBgz-#ZEu0BQEQ^^Md#gc!^-bhG!u<0w_Lf`x^$G~k|EY2Kaf1I!&;PS= z7@G$yXb(xCV9B12h7rHf(r#b#e{LK`D#u6XV@LyEgoo-ee)CjEx6=*uLjwXsvZuK* zNo2Pq`f=@tV*|Oo{~P@u#$gD+IFvY)HS`>+OTZWpe@+lgV~3qgqor=DT!Edl&_KTHEG8x{}y9W*l!KjeG1LS zB3yAq4n<^Qu4w}dz;jSWNeYuTHeRWQLP$TMeK$+|mCZ`cy^fA6r?(kGVAM-oUU!lwcJKWOa8{3wNe3xLa4Y%|@Y87K^yps4bR7 z*8O>U`OdlHELN0;2i45LTFZs z6YBKH(@qW_7sQG=*`%FOIJf z^$5j6<*x(MD%S!@AvtrE(&fd)gK`QxvW>3NUpJ~(rpjnb({57Dqn{Ug-i8R_QT#iO4%H#5>KzZ$i8Tfa`n7R7!~TpshNgW&25wv-TBp zi2pW)V?HX4-Vxf46TaTsrVi90^zs`S;`4YDVTp8(>N!QM(*Fb~?8wVC?edIw33+-3 z3jFS5f?vA@qN<3&e8$wat?>jX?0|u7JtOKGAiZ%JP`cC5De6X4ViA}6bv?G=C|?UQ z5LUb#=~4_&i=HzW(;M23*H1Cz)j(W+`z`Ua`uF(6;g7o0wZe0MJo6JGk<*4p$C>Vf?j-$(mc$$K+@3(k{vrmrJ(Uvt7ru0i;F@QryY4WnqW zN75P|HXSeBryQpoJ$&Du?Lqah9lc|6pR=ziJQ#PTFT@$4Xr<~YvF4dfjCcT@9R``- zXqoSpV43xg9^85zv4ps}grn8aZ4AP9+^h7|Seh-&e}$JG1gR`oFsCUu@+j`4^}EX6 z%mHf6k+MpzEA}uUICnhOXUCiN3ZbZoX?7-=J0x7f8uN?UunI)mN3g&h`gY3~rLwqj z#5PH!c}y{29p~)=yKOK@`H{dGD8`cpGezg^wB?elT#b3A8}^70GHa^9G~+nizR+KJ%P%KU@8w2n1oLSp z(DavciQGCDPnU+id`S+g*jbS)3YhG`S8pzt`__%>!z%WkS#l|@Nv8oe?-HbO9Ss%>wL?(P%tWV!J zw%Jnc6XepHM(u8lUsLFVnA-fEcR2TiG8kx3Py+^C4ZRXv@hW-j!7xr#a`kY5{`JDA zkAx{)_MrewS)bJl@`M=>pkZT#{sKAx1$h4qbchA20Dz9&Qw)i_;HXXEBt8LXU#r~* zQ1ZjCHG8o1H=U0h)et#q7_g8czWa7QV*OeP2Aw>j z`BHo;uj$n1>hAZ)HiT_5RR;xo&Il-)P;16N+V7B)RJ7C-O%#3_#S{JlGII~4boyceCGyO2n~T@O9LrbB2O+KofT6C8eo=%OR8+FCq^>|w8MDIx$C zjU%;N7=H&hXW`rqTW{>RhOHiK3idUaXC9Hb061MNpY`|GR6;}Ybz-YFEhMp;7{a9s z^4vYXZG*h0?y?dXCOGUO78#;)!VqODDr~1ODhn*@0@^{nSGpm_6rbU0O>9x_Mapy*YbWG<_u+1HV4$@(}S8UH??q*&X{T$hPrR99tuVp;Y)aEl>1^ z;OhwQDw^g##WB3%LJmq~mNEc}?o_}ueu#M{_~!m66pc!vfH%ZqLVBQqI{XI|Een96 zUm7ScYbo|*Y!kdGhzg7TfTFP*OMUt?08sSFUH#nN&CiFQq4DV3{2_=PZY5dd_E z3ITsD2vYtN=vYwT+5YTGr}!t(LE?jFTJQ(Z0bckoK*z{)4edQ3ME|Ei#~(-duN3`1 z106^(tOQwq0v+gp6#ah&bfhpnUkl`sQU3{aToFWt0DumO;LwcF4p=AzxB7{6G^}#B z39u!Rid&xmcK&e8?cXR!{7@W;YjswC2RhOwvM9|Lsmh^4<*k&HN&44Oub4E*f6cHm%_Ge%|El=9X)YVzl9(KGU{IT^V zQa;0dpk>%ZMU33?aDUh*=!1zqaQR@O8@R{P88;(gT2_$&6X;7JSu5q1EPORIEC2&SUgRm}yvCGzuW^RW(7l)`8RwKpgXp)ZgWZv@>G<;or77keNI1msLxw~t<4Lfh=||4NbmPBb zh=-ChfqDt))-Nc(<&ZZb>>ywVUQ;$QK>;n9%{zO6XX#cU@(p7w=$fUpN_fL21AmO4 zpLL1vuy;U2e%#OAlIQ7HIDqB?Iy#?Q2go8muJdZkO4&W&ritL3F)(kr!xjXny}`8tj!2( zI3Ug)*M=!k`fY(i(j9ilEGjDUvf4RYkcGD)#LW@5ZhtR`3x3v5IDw|?!XkPX$7@Z` ze&LAV3Pt*bW6E~nc4VYq_=J}NkhTqJXMMw>wJH+GHI6pY`H~_5MDz%*{dm7~()c$3 z5e+~_%vpu^Ak9__p2;d6)eWk5S4n~8056 z0T2kF@=oTseSUtw!knKLv(g@8K>37yz`_loIEunOl~MJm)J=dqs+}*B!^BH|(4PJ( zVYk|S02oktCl@jc;=Aifyz{MF@Dfk1IppD|4CqzZC%&D2{BLBde(<|p2yLeU;gne+ zrfJiF{EXQX29zOTM+|3YfYUPm$T#AFAa}@ikF>kuO8CQcmoQHz^nBWV8R6vf;l>+8 zMsZiP81f&L9Zt@Fuk83(0l2X$Vg?QN>5~!sr%zV@o5bfA2YnkyBWJ*-qrW=ZNrY{! z?Q9**os5NT0bqxllZdgMv5k?jjnlvXSxIXg&{H|DpZy5C>sr-68Y*n@#+T=MWu+pl=$pr-~A2jgaF zhOdBiQ0Lrhlfnoik`3;t3em1_>(tfJ=D@%(4Bf!0soZ3H&tO49oTvAyY`L1)Z9P1u zcHO~UV)cg;%+udk`rC=k`zbASR(`OBCnYhTceuDKIgU5kqPM!Zm^iyk)p~dB(4$MM zmX+H7ShS|sWoubmpE|HaXZNxmVrV(yw6SmsBIG*S=M=VGZFo{@P1&n%}}P{%sROx7bg1d76gkVp zwPCai7i6SLf*nnglABzO5j8g3EKj>(Za4|*9Gbg;=x$P0=aA0Y7n&4IGX-M^diwI zK*M`=_(b~I7*Mv_oDC{hKdI=&nC2W6 zs#C>4qIo6G{W&e_6SA;48k(?`e*ZS9q%QQP9tRt;dSi;s7FsgAUfP)@3_AVXis4l{ z`<)!VtgNW9G8|P~;pk(PIffBgcs0fVcyPe`MMBhe+GwShv9NEaIG8Qf4B9^C#5;z3 z;}o2rlMI&X)l-hJSa`18$fa2OQc*#F{4eJ+miFGhJ6`6gdn~df`?0Ft=@kFd`yZF- zh%2Sb0i9GX`pv+?qQHBw0bk9hzwkH002WX7x##Z%?{RCeoVIU+ZILIY~ zmVA{2Escq;Uv9@RZTH&UtE!-M-85o;-pjz+Kla-kvEMG!u+u2`Cq^7_;+8$k+{iq8 z!^DKe3?&QCCUezb&hXZUR+i{F#nl_BM_fQ!3$GTc%ou#rS z$E2s8k|52~@38Xy2!}RlQQWih*QB#Ni=>N7xx%rsySDJ|=Y!n+E>+&-Dz_ zka`I^JLQ+oDR@JMkoQKv>fsaDg=z0K&koguRZSyy+QFRbYLUmY4V*NGWc8>iT(REo z;P8mp8lqvirLe@zA%dAG<&73A2oVY8bc#!C(tAU`?DV{S!h@+4GjmSZhkP>jw>(xW z;F6W!VMhK##Xjm(})L)tBh(CI`1 zI*&K}`02MZ4!$j}LYx+L^k7$1*ho94_lVnYqT)ID0c zVS`6TgW_BU0u!zWt3hay@sUTebs zZS2M}1(+Xs!AFnbi5^!YM91hl_=7pU{;eS9<4$(klYaP!y3K$)S?mA7o&3MLgBz2# z98pwIhr8J&s671A)<)`><#tB`z4?z@X2oN|vCBu3Op68^>+bw0}E(oOs;D z-$9}0+m75`fWUVidhf?)J`I?9%ws-nWly)3l3LBllw&{I^qk_&cD!gcjlX<*JGJ~Y z?H^K$j{%;u-N=A$rzlYkL)nZFp^hAF%;+V|vx(X-y&H>=i`Zuzte5{~sbvsx+}woK zdg;4UzNRFGbACb>XJXT7aK4&*n_g)!Eh{rDhP}jG)*_3|TG5qf6?wo(-)FV&LPZ<)cAD%?rolTd4|eoZRa3^Y{X1}` zxtirhF6rr;L}}{!kVccph1Ys=?2k&Fn)|APw5nz%6s8sy#-fc*j4tFLQ*AcPpC{86 z)6CD{AH0$^+o5&9je8kd5-UrZCP($0)$}scGuL~O3RwzRZwF#dDGOm|E0KH@EJaH% zk4yk(4I5OcVu*XQF4mo_E3IAePDl-) zm0bnPk@na<>RS+Y4BB-J&REyKIWHzDGDKP>7gM9AW5B@SwHqtu?zgnD>F%h|-JCg9 z2Q3b2WhvLH-XXZQol09InzoSV#vJ!DlTIm)_kk6fn8KbeS#nh;q=5@( z!V*>lU$JSozq7wiFerv4i zHj~-u&}e4y(ZRsIRw%wGxGK{FRYU#U(~G#Nctux5h1pl*|6oTO_<)wtBMC+sV}O+A zk6cB`5rBa@VGyNnZ2L^ppDMnVqTkW4P$FKbvP0&Nlx;1VunlQ+mcWiEIvak}qVQE>4QM&tXP(y@wqV?1EtXeF6kp z%G6gPr6^qx!DJ?gv&qf0cjbaG!)9UdIH^ANJ8c3eg0zyIxP=8yaK7xVW_JivX+5A(lY$o21cDv6|slBn3f z|NJBG{zYaqs=fmxY}9uiNKVM&IR!-p>LyCKFuPc#S`|fDpa7s)(7;vOspIU(GVeHox=e1d7 z%TBV=F3QcRf^~R~#n9&&_Zd+72~1ddzC?5cbHYWlpt4L1&jf(MMYGaaxCza$%aZG- zMj0mI3btsv+1R9s@z&t>-)NQ7721Iix6|6C&*1uOw|-lOhJ1idQe%E?v$R_LoNv{R zX6QH(RV?yBE@wo(NAW2y8mG3W$&S9UMzqzWf`d^)J`Q9ImL zt>DqVT7WU8A_RJ zBMC54KD5MvC#Sw_6EeY_e+ZJNz%`HNb>RRt?5-O?5=-EBwOWEF3!5U5@9**b@)!uV zq1*SH)iaw3t{Ra@qq@)YPOH~tP^eQCy>4N>(Vq0EB4tkX%-TRCG4WI17-a#YeE{`h z^U?)94tJA$|87Yg=D4+n0dWm)vaqFT5D&SEO(+6!?Ey$rWUD?7ceo3`sWu3hd{u}+ zSF15}i-n{nR*A7NF9FypR4o~tOAb8Q z>_Z)pWjdnbP~%)xyC}Fvv&DPBbf?F|eo@jb6?@QpbFrVYm(XzKYs>UyhnL)n_HewU zF}ZYJxw`rv0wY2S{pKCrfFU~}0;eU{YOPwM zWv(d`vUvPfbNBute!Q$_*a0IJCw?DdwU{7!?Wo<71S$WTNbHH0ZSU-e#3uuf@8rDB zt4M9wC?q9M*RJ%KRZmH!9~x*X4q@L%hQZuFLCTa0yK_#t`6;BOTbOf&HHYY=D$QmP zi8E1z&wLc*YcO)hlMmw!3i(tuUKL6nFK?OJC)if)z!+{Z$X4^fm>0lX?Nvb8cX8ls zrq2cy6AFeL2~z9=rDt#rg<{xd^1sBfLkpg{v5zHwiQ|M8=?Hs{#+^S#9#JfS-6Bd3 zIS17@=@($>YzbrObBq!9B{1{A8l@#sj(VS zo%%c9nYyHo0ghvs9X5v1N?j!5jQS9PmjcQjhXf+5`LU+vnskA-aU(FPY#N?@`dwG_ zUHm33?;NTU18CX|%IaO$C4bJl2!Cd?CT$%p45ff?&E}f>t;r$x5>EHq7Iihya+L22 zqQGhhTZzu9IiJxL=GKW<@~>WjDQW&s}x!HZ=St=n$2<2j_DB7>(BgdfWOfr-GFej5%M@4@-!`edadXs(=!a_CDcO><~0@~ z``F+&{XFA;1m?9FqT11;(cM$|JI{|E<`FtTSc(LbOB_X$D`T>B$BPRs>&t@Cqm!%p zbZKy0QhysyVjPMXN1DXQN=1=4W(T9OW@2Op9rMrf69-+dZkp0-2_CwW`8p)P@6VB~ z_~^zXe3K?7FIik@C#6)}4?;(f)#}!uX8U1YsdO=aSINnL{dR-CvS7 zX4raHP%&IMimI3tZ2?8;{ACX9%^C?%0u^W6;%antHDjlhykNzY91|}ZMtmX@F8End z1yGTn7{;lSs2CB{sHz}TqBhwaongAd;f!&Y_l`ht!)0HP;x7Hv^)8Ji;P1|+`t z*rK2^5S2O9Hf`Ytr6gV^6M5u}Ed#<0J1rL`Z<8-Yb_{cHUg^Mo1_|{cOihC#85&b8 zNv6J8b?C)%?re%omprBXNCz1x46aHDT#VA%j|{Xc6{!rrK~?nBbf#dc2qE<$3}cGK zpW~(GlG9TXr3n=w(aZP+W&+A^oVF=brhzIFsF1Lpw#r2PJ3V~_TR_CxSb553!ik+s z48$jlPqi5pWJb4}tBSJOY`;t>2@Pfq3(XZ)mEkcaD0y`>9JHid3s_E5co*|`RV>V& z6|#;bq^799G{9OW)uqo+NtS&EM_??1M(eEY$z)FWlH#8@a?)0Ty#o~Sjjj>(x6UYj z78a%F7pVh@-7yD1yT{Gql>GB?i>N3aLkHcKC@@L=>eu$R<2@;7xV)hs55832+g@GX z<|ln!78R(&Gw#&Dd=;|d94HMLR}K1EwnkEt=232H`fl}q8Enc`X$=rY zhOxwZ$%-JJ19#Ew;&4#sq39!R4K#y#eI0PU$_u^RB?a0-v4=kb>!8_vX(8ApIxJzJ z`X!H)Y^TvfO;ja-Y^MTPHclnHCv;4tv*%I01E6V0c84FsLbG>GfvX}~zGX)|g6SM3 zy($eC#k%Z47_X*t78+<@VBzvi+=j@K-MbV zFR;HzJVXk;^6*AG&@Jr-c~L3=+#F(M?<*^8Sj$q2d>A0 z@e^(aUkbdwCRW^~*gwp)-0QU#w|mGZW+q+4I&04(P_i(W&TC1oh<{fq(@ADdvw^jD z3D(oAtwEOZ5?h)|six{)tszJ)L84wszpkRvKu|1`nt$d0Rzz$#t8TU5qwe&6JTv+@ z@Tk!E?uBNIXob+aP&de1cw!!=8Av&Kq8 zSz2-0Z8KfnX)e}aj3E{!Vf2}1?Q&)T;p7aiy2F@;2iG;GX0Jdn+PAu@u+2QT@>Ji> zV%z&XaOf{Udo@*s?*8zqa-Bl$7VQT$N5s89=KE{P(aWVnX3s zaVT<{iI#8qN#Py;LaS8_e41%z5OOipQMOo{EX{zqsM;V1-bg%}FSM^QcD1k5X1Zxk z&2(k1;-gIcoE$j->x<(0V_Wqsj?!oe$C0uPQ2@t}i{{9XzJxwqm+-l0bm{HFU*P5Z zxac>0UP;4`*)|?GDCge$2s_ZVqwNmJCHFk8nf~c*P<50HE6$DzELkfs7i4dh9Ws|4 zzMge7mWL_sh-Fj4wQ#=G*&eZ*R=D@vMNvx z!|gNY=S=o(DCddX%}bu8GgwA`Tsp%e2|ecCpLwY@dQOOZOdhOQ9pG?Qv}r3`R{Cd1 zdN_y%IJ1Lnx#`wJ-W7wO^9bxsdRX@c_`T=B7>YlSdY}Z5^gux{Nn~}n@bk2BPhj;h zAtcBlI>UYd`wkrXMojVxy+VYY7X9+6Xx3ts^1Z{4I0#QZPB{BXsMZ2`z&o8!ddGyV zRh?(w*Be#~MLwHu;Hb_Qa#)WjTa08r*ym?0%nL&>;=kOxDjV7BZ-pZt9Takj$8deM z!GV_%Qan5~Z@5Ewg>lUh=FlB<$Z&2LiZN4z0ofXIT#uVv>i}OqL}$o~pdY&C1!Q@+ zed+w9%|3JN+7#kOvNW}`dF!)8tuAi9&nJE4uiIksTWhcgs@o1Kz4~cmX%^Ayq5b!i zw4Q10FDgy4iI?P>pq5OvSuUizc9~kIJz2+PkF3bk0UO|^O|1umfL3^e{DY=`bwM%L zzW%-hrM1yu8!Hpu1Ul~7QIFbm(b;jLV?*!d@q2=?XU36xgOu}rj!?G(HbQIaEW) z@90Y@K#*E&!X}`c2}7+wTe_Slu(~EUtsE)^qgyQ zglX`QZfLWvv>~ys%sb&}E^Gv~$%kMnqM_Y00;-0QujwQfIdR%-Fv`smI(L)s5R8VH zSGD6wskImu&fRWwL`m%LbB2yivxK%Sa;BXHc|;B}pw+y>@`CqiNK?Az|8FMq<1=4i z_`_i{pag~&?b9co|Lb)1j|4TTcH)RCiu(S`B%UyR)(%q+O)w?{9yFGiF~tg)jt+{< zl4LV;MGi9~Q^Uk0-VXzB+dJEjBHSQR98D=nOU36dz&GLGY-O}fAHf9#f4wa8;$-P^ zsry0a;f&q)-SI&FQ~H%5DD|})sQmUQI8RV9&J}EyN{=zO4g#*^3JQ{pp3*)1NC;A| zAPfmz-gbV3s zo7T}ty133ZI;|xagVKi4oFN)%4#oKPDmyGy@$)aME^zV*N;3}3c})jlSk<}(L5ZkI zYEt=CYc;UdA-P4Z#tDR<8{_?R8Ew=J7~-)pLMfWzt&9=G=$~t?37M~->AW5IDR&2DL)zv6 zsWsVR5K|nOe%N+J>y@FeuXIf2dIN^QHjHpXS(Un;wh%mofb5{Qa`15ZJsL943R^sI zp7i&S)kz*ODzXf7g9^}44k$W<2)Kz;>^&@?Yo?=Qn>6?t$#8C0XNYk1Yg$06ibJI= zcklsY0|sL|sV#+vA2;!?f|z<60h^^sGBva5qMgfP3afDoI9T0MomKP;8AHVg60279 z*|d28)_lSa*`)K5#l;@H=m^Tx=g0eUSX|%b@9_Rxbus*8tS$eu2L-Rac*R_~2{PT^rM2wAPL#*j5Qg z06N%K*(1E^|Hs-}xW&CE+uj5Xn&335?q3NaCf)h?hxD^8h3(A;CA+& znKOIe_dL%%bKbw9KfP*wtJbdy-KUy3f0V`a)r&FL2MQ$Z8Uk%H4>B>PO8fI>rmD4Pu(dm@L|ciha8GLPsjsyEh$ zj&`lg!umX+!HJ^&4yOVJ<5a0{&zQ$S@dpIh*bIIj?K!(9S|lU5U!P*+R;jD*w#vHM}4<>I{Xh`zSFQL6S|y5kCub8C+-_wQAv-h43gfHdITZa z_z*f+Sl%&4N?Vfr}8E}eX3NMw92G?i*Vf(K1>9HB-TRk z)};7yn?;kBII$%(Ju;uP^+FFJD8PG{vUZRX6Iu2jj&IH|UPxrSU>m z8OS{b3ryD4#X6+22~pQ>pKQ|60KSH&r9t_bcMU|+Kd7iR8oaQxyBtzB3yVV zLf5;Chpy5U?Kdy&tO1DCJ#ZC4FY|#Ta9^{m4{g6_i`&|sh}CSCs023NL=uWlA_r;l zofl=LWd^xwDxC2-i?b_^nN*?(-a*FZrs+F*xV{c+;;WZ{(Ioa+iQybcRZ#dq?y8Il zAMww9(lP`i^FBMg+(Wn*CXs~gn&Sw8x?I-6Icgb^fX_uucg$8WkV!q4u@P$yv%zVC zDZj{R`uZBtP>-`q$}6ZI8bNtRx*T|jXkwVQ36OlE{HS!J5_4+eE=;5kZoWcK)bRa` z*$NAqhhF9o^{_c&rPj@>+_)Jmm>VAJRglk>_=e3JfQXQiqt{P&P%nb%aKc5~8ZlT~ zF(XFHyXgn`O1kuOVYBvu6vI`wHy&>reY;EXJ27qHcd4WJatmy0+iW!*uUG2iy$%L} z3+EKW!-5ijRx3x8IzhW$%hQ6Nw}u&ooNr(d2L?b1Ss(@Oz~sZnt|y|l7*-qFoT%?v zFG3i`m~PL8T!Enb*2+eV=LxA{xHJp8;XsX%V8k7kkj(1N z_jCe;zwPF86%5sE+7CJKG}2hM#~}?#Jbi^><&yO>&fv@0Qu9OpmvlBP@6E_mBPiu0D(s_MLM=%o|_orM3 z{0A)u8JCNjU2m`kU;={z9A(5h@dof*Uuoe~#I&XikA`7IaT&5x zIt9)5t6FS|M*YtU5+~fQOJyHy6$$sfmW>QBPhpe=*FG{1GLy{Cx-&1wIUf{5BB^EI zCCD2`Yf+o>vS50Nhk*K#AyC)}>(1aSsVT-`zJS%FguUK?8}o6f(6pvV^KTOwN2|xW zYF0h*pHL*tX{%$Ylh)^c1te(KfKKc^nv62EiIS>x>bex57qlD2V%O4YQG31yd8be- zyqo&kNt?!>|AWFk4|lC770IVaSAs>q{J091bjk#CoY&qmm7uT&_ooSL!$K`u19vN5 zNyBI-UPV@yy;S^ZOM|6eY!MDOqc|bF*bst=M;0qQ(I>W?2g)klWiw+&$Dsxjq1JbO z4U1Aim~yM0iwL6;Ije63LLz*9Wmw>|ZoC+)20zsxXx#EUX+2FhiFczT!p{oH*NnJw zl33x}sklwJ=6k=&g*E}3%1WX$(Pye(5Zi;lBa%AEhO*X#wMUadu%BaN^-4hV!)#s; z%VdprTYG$x==lP#U|_JIhMw`hJxEN{UpCdQx7JO$>{p&l`u(odfRR>nt)(I4*ms!!jCAMWZ~1DJWcR1@S)s5BLJ_Gd$^0N&P!K0XFGO;8!McEqpiv6mIbQT<>k;%)mw1ekdZgwmE*RU6%&$ zYl~qK&}Nv)<#yJhm%%7tXX45-eZ3|BUYB#djfv=rWI_!&7|(FyXZdx4_HiS^>rRMm zfyAtq65ZO@6}zoXT#e3bzSv(w2^Lp!0edDdpWYkSoHnrZ7#E954Lf`OY3JG6Of&50-!oTqFa4`IIBTAY9Q%3eoX74;DKwf!)aQ(}t)#WWX1FRjz8E4uV9~n^ zWpUv>u=qsr0kHMM?I+ae{1kN;3_64&m6T5seGC>T)_gb?veu4grQH3E8*&y$MIN&% zE_fGbtD-90C^0s^UnSU)mGl>9R=D#{EbP7xG$J;HvE{|=fQ10sAt-uX!3ct_q4co5 zsfJ*$!RZ*TT)ri1q&||?kE0yYvZUuPvLWnn^Vx6F+Rf~!r_P{tcuhs{->?koZNw3C zVE>A76zDdYG$N4S>4>eQl~)RNxaa48e>A+q>W;X5j=)d4<0831=%?PrtLFB(uq(pB z5pNKcl=7`R>m;T&MfA*iRiV~@0kJ`jU(`I4A>AVT6#nt}giD_JLj|9Aj{FXEMB;r| zd;cngnHKqZ5@VmrIFXQQ-$QErd*R*p?#1O?x(IO`K{o2Ac{iJ72o&Q;oZrKvCBoFV z8-ZKUNK}!b-x&w91sCy!t$l(*YCdW|WY}inaLz>2WAu|?mDPxbJrg?mw~L1rr+m-e zJ+piTgNqDmiF*CFCh+fFB3>&)(p#YT_8O=W%=|x4Wnoi8yFZmUDREV0RuFBli_U*T z&@SNqIrxhp*hN5uEmf1cV+mug423P~`vme#a?{JnpW%SaY4bt8Is0dEd6!0n1j8y- zXPmS}w}$+XN;SITDm;42$|j%=q6kU2?VQgK+ozQxL;Beu^s(9(4g}xh8}`6>*OQz6 z?f5;c?3Jjp>8HG}0AsT6MXRe`V>_OTsxQ7{#;GY;--tLYEW9Q!6@KK7m?*5AR8k$& z4;iX?Dbb&EN=W~t-*$zMNZVs3I(m?bmnA$xLu2bBlcI;!B}aVBxRIxc(B9AE#Du+; z622SiNYGV+Ul+>6BNAi6nxmq$s^y_vqL|qY6cQ3sy4FqH$xApRLANy+J)xqqsv09{ zQd23OY^e?SbVFZqV1?e9@V&Hd)ownreZW87=V1TCjfn5Z6vtr0h-x++_qztVA<*Y~ zyZK6+7T9#_-*wH;O3YXv0}StYLjw(WZ+dX%AzDMBC~th;+D^D}dO?51{oA?{gw7~K-ZA z`zyhCQXJ`@A64Q>TO{KP2$h)Vq~br2ed{5SiocbNZy@|OkU=U%lxU)d3k!%hA{~h( z)XKRgkx+&s)9N*rijRpS?F-n2&619{35w_KyT*_2WO)*hh>wJe$Mm3*ssl*>gd2;` zN+gjQgc^aV!m-5^Q=P^iq97im#-tgdHnoe z&-&m0mu;i$xc+xwU3Ka8@BJt`9xE{CNan{NT#g@jH{Ohb5r zUMc5CRams1+y)r>BzGWd6)ui#JMs%{A_NMIAD95#)v~H25k01Fk7^CjwwUh1_Zx8f4rQWH8%|Q~Rb+kdta~MPL)=5q>|Az0q@ho1z~&ejgdcBZ-8I%%&1W55seW%t>Lge8ei~J5b!J_y{qUDE*NhwO5Fz)`{64lXr%oo8CWW z!!HfWH+Vj|Kk}x%TMeedI7B-{ODWRS&B_yXZs8USZpMz(V%;Eu*!n1jJ3U8wjd6=P z*CNNqGk2P5$NyC<>kay^P>{wFt=@v5H~>NM|GEqEx3v|wG`0Cx#8qF|-rnY4s#+L7 z2D(*?7V;K8+w6!)XGzMv+Q_xfaJ2wYY_mVqxnpKxlaKJ}LEi(c!eKTh+?4!J(mB zO^Bt}_!G>tBPYngmfL_&<=EzflFc zgZ!uNWX8+bgU%lhz2Ou)o~2>L3*%(b#jsndsPjUigbQ*iD=2w`?e!9A^Q7;L*2WPa z`w&-s@d$@FMhyQDoZ2W?YJr68z4R?J^YM)L?x5O!^W9ocbo5tp1l<|O|2VZ2*V_mGV z5g7)v!<#jSaUknf^$@>%yTLGpyJsSFI7c#XJc)iQ><4`^pT&gN%hHokPNaPQU*vJN zUXOz02slw2xvB5ZzixfG;0Z;WvCCqg&W}d(m$n$q#GskmN1H?AOyc1{_LB}yo$O_G z+N&xq)8@+Dvqk?=^MILGfg!tQV(~+}LoQsWIT#T>-Qv(fdr3LewgC(O*XIxBvfBy> zeLqK_U44;}~E)y`#Vc(4ip{cBXW81XD>Ss+nR*V)srU;DG;WeS0 zo-`LEm>T5XKbkEooMvFF6>JkLhM|mu9=D(G?##K#xtTV!%~o>-V8n?u^>=-jc9QnN|naAV-(RHUWW^svC=H^4!L$o>C=mi5wEKd{qw?C-e{Ot1xw?*&fqRVc$6%nllfnAkm&}_EFy^z>c1q_K!M@ag_a2Y>@ zpj|(2Ou4!($V}_rA;>Q$5gnNYKUAD<#o-dXi5gctF<{EYb!Qavs|qLDBLn(ne)u37 z6XD?jKW2vT3KUdvI+Wqq-X04g@R%VuZL5j|G9IrE5u?}<=OgibCPfX2GP@Uzgt`}V z04Wt}#7Vtd;gm^BdNu?cNHS+gG#Z@7sdmb&7Ef*DzX0Iv z$$z6oDWW_6Ct5^2eNc6KHJH2kaW<5i&p46pCG8>0{7}#De?g3XHd_+HYXkVveaP6t zfzq=~kyJ@qs6QN3_-g?q7<@Fl0g<%{B1`x`ChO0eIRC^-3M5u&LvN_XjyqV|D`1G$ zm=+1_rv1d6q|^bTd}3$s65&HFY!o6uROu0SB5MfR?0oSO*%2YySRz-A6(RMxd^z~x z-Q_v<^6+?z^QCQR)^R`(O2bvRT(Hj-0)d0NIh?I-&It#}F@ zZK8SF*2yb7n2eAOKSnat_Mp^_JTB2i+qs1sff4rH@G7Lc*!+>%O$cA(i59qOy?pL7&HCDp299INsQ% z8?m$7*14 zVte@N5_4@-NOVy+UgNUZ*W7D?%nX+BO(lfJdfQ_!;)t27LT9X0#wL4aFsD^noV^RQ|?KUtey|c)su~ zF*!~Pqo>H~R`qtH!y{;vgX&*pWqPyS4z!3V$NRt=rod^NTfpeL1tlQaTZr<$E{+C> z*{imzbtIOh=!*=qlEpc8R8DBr2*=C{e9) z4ylZo?Uf}PPl?Y-jba&E#UD%6CtmMPIT%2LjDP8SAM3FZ#&f(Gt`X&%}W&7w~m;U-56>UAYnWKajbv);J{O@?C&sDIKxf8G;N|8o4%m zQ$uYOyU2mSAg4LvENRGm0?RRV9O9581v1=?TL}0RQ~meb~5*TMj{Ja zO5eCrm)O8!4Xu__Oa&o==^k#3qw8bSDf`A6(KfjSh(t*UjPF(k`ifo(Ua-X$-zCBC z4R-kD6U;CjH3tFl26Zlb#>4%tQP)1bs$MZxM>V@l3uE?l1u+W!@& z2)Gu)I}lE*Ae==0W1Rl7V)EaC+QF74NG#%A`3VxKfgK{w0!5($={RDqe>kd|r27B6 z_UQ;A{j>Jrw}IYs&q!NHZgLgcC0ljjH0W5(R{q=CP}Z7@DwJi> zq+0)afxhPorO{dh%T6*=QVClE>u~I0HvTKft2PTp>M$Il6h|jh^UxO2AXQ**7a9k{ zj+wOxuTO<~bCAwvWl8vl==xw2|7lLoEh8o<(4M8(eBMA~>T~LHT*&9JlWwY)50f zou>z+QlV5vT+U<2+B*Fx%K-X#y1))nfKw;X@P%Ds4F@OS0=-}0bm(a*617nZ`Avl08C7^XFp7_tAcHZ*g2`P=4%F=#Ew9bUKX z=}EImZ?`F)27*PiRls(dzpD+Ut;$ex^a(;?GN#7}33TOeq*e{}nQ52x2(t@GB*Ynl zfC+^*p;eb{#6Rb_I4}}4^v0*^)*bpmCf!~fWYTjchul4WoAh|zc!)ntI>k$Og5O*C zA0|Bu54w-MgEtYj&+P|4igAxGGQwl7vnbJzCoNRIV@c$aprSR)TH!NUAvu4Q7H8w_ zV%4xmURe^*qpz%NzFuoXc^cvCXQEN7o_@rT!HRi-!hX87{-$8OIhQ%Q)3QE%Y=jSQ zU7;*RmlPp}doF=1ongQVoI;_=Nr#F)kV)slWmL7woDCcVV08ZWzaE zy%S1Cn_$8j<22zRn>Ffgc!9Mdf!1Yoz7AWI7|b{P5tG7>OV|>Qk1HfnfUhI#apcwBTNOu{dDPrY@QokrPmym$Rc*x2j6A`e|9>%AATa z0Osm628H5`I*$*{d03YG+LvXM^n!q)8caHsjVWFXE}wjm8FVzns26mk-b$l|dd-*- zBZVF-K2%SQ`9>{~CMLg??3c447aE|#qsf6jsQQKriM-DmoiUN7N#j6h_h(ycAKjk1 zr*YtO98Ov5Zf6D83{s0b&QB7u%;QemF~ZB2F%>Num2DaT^EiXLov4U|M6DW;$mNpKfK0kUrh?-7t4ceonhX z$ZU!w{2YmFQe+%c32eCDiyXo)z+@Omd(N&3!r(CW{q=LY6xF znkXj!-?ku634@j&fPVM?o!|Ml?GyiAo`BfeY2dJv$-?OkR5bVjB5?1CZ_yfI@^v{y zt<7ic_LhcY!tDFeKQcH9b`V|Veyn#>rXD6j@m}&g9k(|(1D%Ze{oV(4kZ3SQo2_=V z0nk-C2F*%?aurs#Kl?lAmYN<#SE)us;epLwMNMG?tjcDqybdixe(H&tdX1nzkOLxywC z(Y=(G)AOOshD#;x(F2kW`jDY7-F!tE>Og(W^o(ta# zvfLfvD_kv;r@F3^FYbBCHL(NLCKgt6yl!~v^+7zFr6tjI(Z0cC_NHkQi(f-n<`stV z{WVT*;H8rhE z7l85=g|SX8o-9uh>YDEbKV#R5Q6xl6-7Nd!E40mb1eKA$P7KTYB|MZ3nz#_HAUU>2U36r?d zYnAoIH{=m^po_*PH)0*3D~%#+$J)4kfj*&#r_yY>ar3V_f}RGwasuKh1*9XK{{tQQ z=bZhYpA;o2|GDf{B!#{LUR_j7RJ3x*XvZep9wj~^Ep{#jau#N@sm&Nrm&sILAN7ia zdTYJ~k3#VB?v)alNyi30JxmTdM>C%3e8I;h;OF;@loRaz&PNx%Cae%_vGz0%=UtiR zmE-IX9l>`%8IH14+lZniYa7BwvOHAZW3=jyC(|M9HTAh^(73A$iuwAIq&q)2UmJ}x zG-J@JG;Dp+fG7QX&nc;!F9*Rp7tnwUsidFV+#JDmPK3?K_RMjbRh!zKm3NeLMH^m{ ze2UOXR;)bUSB(2w6;JKurqUYML*1Bs_Yqr1c*`2KbO^534=%m$N5qt|EH|%H#F0$N zpNMTK)U6sF>n6yRpm|yu!#$|igIIvC=WVhm`{B~enKJXA$xo}~edk1EN!~lcl=Gj5 zSmXeV5X*`79pVgsoeDF~$s_gFyj)0O<<(>4NdZZbJ@sPp!VHg6yMZwIR8mR7UF&h; zEj4HHQqj889%mJ-X7*yp>cg)5%O(+#TDjS1`LkRRoM*d)vQ@rN&%!;B!rJ9z5ARqS zLh>QUcfd0iB^UFDVklSF=aHDU@p7ErPukkNaZK81os*!yiC!HDJXn!*YNtQ!E3i3# z8Ts{QG1ynge8OCn_zYf^d}yQvwwI{ZY=4aTSAazNf9P<)f`R#?fq}9A2LSz9e>yZC z-BA|-9V8?8p1fO##!ZkyuuREO2!*!YgFRU9k;FfaD+{GFCJ#0VE|idr2quGWH+?5% zm2#gUl|$Vjw?#D$uyN3gXPuhj`xH-aIlGsU_4z@D9!~MuCSn}3|siK1*f;$cFIdWfzQM1ChZyoMEP=y&^aciL1l$TPSpM)PNB588; zA>)g0CxU)AW`~DlPoIZq4=--~6&cj5gCwm0b;wZvWpgA0O)6D#S6+8$HMM3$^~gi3 z=1WMV{U~RJ0U%59l8(1@i;9;HxXPTRRP!;k{UO?epC;tM1UK%g{Ub9euni6a7#o0j znHO-e{mksQC6*GIViGh;d2H&Bb4N@GEQv&h8grEGfomrQHU}gbonXmJQhpu0Kip0< zBqvjKIh%%V6y!#af?~G{$Eb3Xc;3;bwmn8cLaS<8$!4P4z&s4I95G4B6?3U4vtOC> zhTw6ry};40<%v zs`^X7%9r4@0tsO$7r_(M!%yXaa9U?l+K$)u8A0f1{O@{g`2%Y%_eYTnA!D#wH=CN| z(*rm^=TEj90CISmZ2}b(qP<~`XDskS3B&SJH@%7kk|uq=LvQWUl9>w@ylGY>@C-PS zXDIvntr)DzCy_3^@fR5s^8{pK_ElZ#b$c>rkpnmUbPM=MCnF}Eb4A4S(*OdKFi3-P zGv=hn2Y{zXod-kd_XXB7gkUmN^jcsMF$QM6#x(5-1}g`LOsY!Pp|orI06ns%y*1~4 z(DEmS9WDlY>#0Ne(C4$L$7srR@fC!VlRV;El{zUMTK2N{M)?u+Ol#q7sy2i8=ma9d z1Jn&;oK!_aWaFLS`jES7us;^Zu+cjXQTwRSiyeyuM@UD@H3J)&C(1k!t65T3cLGK_ z6SrlKsr0$GXMOmzJ?vHb8D;eu-jsi}GI$FQdx#8txGGXiHrpphI=I!Y%Z6!)aJA5= z#m}T>H-vB&FqHPbOKpf}$i32jX;`N4;SIf}_6rJv+?-FX-f_!q+d;_)8V&y@$Ja{+ z3S9<75|lr{`cVVTsr{n$(JUzSpxU+Q_YRI-STT?_bmm1R&zc`qUr_AJAJ8XcF7+kO zF1M)kxTyW2HYH0k!@3CL6CeOxYF9`bNmo4RT|)$Q%`!1@0S-(2B@ZMB=oi}xDEoSa z_;42LUux)H>W4KLHV!JCI)e0SM8Q3#-3EcJ%ZB&h%&&Pn)ekuE)j4FbHH>c+HM80d z>YOSlMe~@MRdh|+6ahSO`%x}3ar4%58X5%y(=e`jQ(3N=J&h=47}f!hd1N}AVoxO4 zgRro8w<+ts1N4^GU6!Y)kc}CMBOGl?l#%jPYLuwH@hbdvr4&Zmsar?4cz9ylYMx1` z3P;HuKXWi-PSU*wnkHU8A>|crrBd>Kuavi%T9U~e`)Xpe$X1l6DnsfrUC8=r&xoqT zbeg;f!8>A5;>Kidj-V<|m>blY_2mwM7Oq=-zuc zNk$w$H5}aNm+S@_ zG()Blu2vCWJUL`^n|b-vug8Ls{H}X}-i^&^PS@YB(!VFNO^yXjYVG`N$`ZP&$RMI; z^h;6NH(Tq;)OnbP=ioKc=)+p;DRNd!dx^@wM3CuAUbB#3&J1w#Yo*IX1Xk$fD+2d-S^>{2x=)Gm_2=SAJkIK8_EaG^G$+v@KLCO!1PmVDr$27}ytiD+^aD#Sc zZuV!G6uCp_0qTtqEioQ&?&BA(d95r&<7C>fGM05G%sCO*dce(IvVOi75SerCM@04v zV)gMS^5C!vDV2d+W)<}aZ>AuqUF?27FLq8gZO6Yw?=tx9SSpYYMl%gvbKjLV{9;DOzw!_vol%nPSR(w!+~ zWWWH^F&CU~vrO{~N=E|}n%Yh6 zTp0KU6`zD75-Cj4<3@}mEm7k2iZ!#?f7+VgZD3OZSn=GfcCpMNjhR#cSR&U1tu#s zWC4bxBkXbdDtSafEhxZ-SXtMpXEstETsWQ_#vp(;rFytH3+llFM^)67oiWTtF zbr}PJ1(D%nbwU+M@AoEP!oIdhYtv?fh{8IHDL?-$amWFphMQ+1K81$?*hiyS+RU9dk>nrZoW<=L zN4u!uPGi%ht;W+qW0rlaIV{d3-ue1pK@m(F!=x?)G74%<%>1*T#0*k#0_tGk$=R{W z64-YbZqw6VcBGv`l7{!A1?wWgfu z1x;KKISi-Y;MTK1`&Ah`*go8$w@i{AI3&G7XLgeudPD-^EBx`ym?S7FG4@#oS-6ub zTYQl!V_rC9eOvp{l)o2K8Ce=66D2l$5%Vf$-}Zv`mSD%uB!en{6}^IoBQR8*?0K4c zPJQL+!%nWv-qC=GPI*uc(U@VDDw|P0_67cpvgIT&b8rx4m!KD;(Eoz6e0N`iltSD%wlFP|j%$ z1;IIm1%1f+Ue98`F@8F!zu5_~)Rz^F1C0R6R*!uNS%t`?3tmXPsEYRHUH~}3 zL?4JM02-_+`(kY$`9^A{+;|_U@imz}NN7`dWo$Pw>?9zgxr--kTuy@!6jqu9whT|N z+#ynQq8EXEFuY+M!vIPA;ZB;fu;*gr&s6!wUH5BErdUrx-yiwo5vhGiNkXEmo<$L$ z+=JcwKUAWQTF$+?Dyhl9DNv<36$eLHIm6APIUT#(QLd$OGwD4$8jN8^Tb1*Q?N>>g zr@r;&wUb9I8I(+}d`?JAUlN@cMFb%xH&<(Hq~XbV&cga?oX7(AnAun3<0wz35oE}m z$a|J=O%`-Rord7WT-e7iQo7RKoZ#ZmQy*dXs3-ZXbv)7;wqBBcSyYIHPEEN4s3s+l zS2ZcMf+?q*Dp$`IpKN}g@S1Yi5Q9KO*rf*k957DN3mBi>B!uS;ik8qMG>Hb*gpHX< z!AMgLvD8sFHTy!_2Ayh*`({k-#y1SX4$M1hO6N{7S55Kdr(07k>qJZstD|ZCf`QA9 zdj`w*gJuul7k;%5Moe^!ovMyRrMO8-)XQZinztky>GVVT>x**UlC&5K1Q;wx#>D?~ z!2YiU!oQD-L32Gw$_857nIb&6_eiChR^ci+FpBiJd9^H-x?Jo(QGU<${-t9a(V*3} zR3IJOXy3bUdVB?rX@EU1EjkW-@h|6I0O^?7mu)ZDlO@F&#KN{xU~=>-LNLUlJ5T~a zyJOmLSVu^KnfCi9{Z7e{CIo%hRgxdlJPtvN$hqa`-!J{=+-|b0wbn)omYnB|ypNkB^qN1a1w-bSYqhe%@?6Bl zv=tVKte%ug7rA5=_N3L_IoO`v(rx}LTQPPIXp4!L>1UUP7pPb7Qoh(dxIS8 z&X`tgV0>td26Fbn)JV!NPoxeJ)utX~YEsIX3p0mff4?Xf?haA2FfTnzGtSw-)^#*L5=S@o)|nfVBEoDSQ5ll-ZNKDvKBUU3{}0W4sBp8;c2_&Do-0 zHd?A^n(S9}(D0ym8RjOb7C+NRA80JNRFzlRXi&^;D#|J9F5PL#buca)@HiXtr_<*w ztC=qiKc@og+aZuI<521)7x7)7=Pf>!v&pr}3$exHAwOPXt1V{5y~oOW(GW40-TRIy z;#sF72hy?`?7*U#GgHZx7>vLymy?po8eLnt2{Yc&buAV9Cq2moYEUk(-)>HB80Zig zkTfGhfuqP7CzqAyUK34x*7C%veTpLcq@S}&vMUL`|2?IfpX5Gn7ngo!GY8cJ4DUm& zVEnfgL*$ghf}~#MK~7Q`Q=JvAPudKnO@~tzyupAkhi24?c_AljZ;k8ES6%1Ss`F&;rVQF2aJoNh4Fbw z{hfLt0i|AU3Q(`Ne8=xieb5l}xT7QU2v6PH1^eYjeJPDYZnf_Q@qSb_3i(X5Q2t)Mfo^|0U>a@EHD|9wFX1URFcsdx^OHDQTw74-?+HWjBxM;pXGtp)fsI8(ZB~A?FP#k?=A+8h; z6;hyZWdtn*zrJAh9XRtmv4imwT^bcc65AR0g~ls4NSXBQxZ~6`@~|SF*!0{G5xVmG z6YI(WGc5?PSr#-_6EtwBxf5jO;B$sF}%*82aD3sOZ_xbIe0cIPw zIsz6b@fq?Ckpq!&joJ|1TDrB;#oc9X-Z3V(=HRJn&3wx0mR_V2{RXPfXXtj|#KYw4 zWu>WiLCYE}?%0X;AH|a4!+O}Z))0uX2;V;$d-i$x5?af!9=DZ?<%s6yL-Zl= z)p-aR6fEv&Vi-^il8fL+i#P08;Hn$MxTpOM8Htni!ke0sfsSUUwAJWu(?9q}5R{jr zsXY~B`XL<;!&0isY)rk1cp|zLxgbnGkdJDbTa2%SVJ3EkBhJar)s`BMfeI$MTVe>1 zzwhD$W#vt)Ov*nJ*124=vL@)n*=KbO{C2mE;?X zuV8=mWI%`m7YGn$|4Y;VUkQf)57Q40a$}!BZj6dBtUs6epLx(yP;&1z>_Ot6guQ?W zGZy|MX4PhIZobj}Z5ebK&<~;}#ut=bz-lf7)l0-h5Mz{vh$nEil&heZrpuZcC2n&k zj)2+JaTJnBC*BQdU;N(FPgCXw(+BM(d@c2gZe%@)psH5$K_8z}afBFJ3ap=$SC4JE zL$-?-SJR*H$^A}|$Uc~ECdiKmerNhj1O(>X&pDc)K^ZQ>y$F3({$K(!W8dZbB^?wV zApA_S6=ln>s>AD6lpmz0BRS}lRdrZO%wknK;7PX0RKu^RC50tGLrtxD0Q0>nC#XRTNvmJMTe8S$(>Tc58;I@d~R@(C+afBQlGplJqxFlPFF7Q zbm>Tp^&21x%yK&_nN%z#$jX#r?_T#5`wk(H_gL`{Gv-;Z8i|sGb}B2b99cyDGqEwy zHStiRyl|R>zOUdH?m9l9#Cu9RjXw&d1Jc(992fBW93X%4dyp5S1@dMVKqN&1VLd@Q zHbK?E^i#j)(okAOvJbxq4HReq1Phlp3xWzIy{U=4WRAGGTpU|h{tayK{lCnZ`jRj@ z4Arj{QU_`Mu|xDS6y>DfW~}RPgk9i61~-8Qk*y#h6a3FB<-a8w#^hH)hpAC192tuW z+gF7>8>pEG$#crAh{{xBHG>I-lIXB`Ag~_&U&0<}Tcrx=sTX|EcA||H#p)z^zVeu# zuQ{I^@1MWk6M*SFDepUfWAv$Drx%lOP=Gvm8SW$nq)g}C|??VqHCa! z;84Kci@c@+PTm+fbqZHA3f&_lq>d(~q2-tAN?QUkD!$HKM|6ICO{1c}HOfZ&p{tZ@ zDO^_nEt2o~Z%jC7u7CXh!9D#qX@|eKC$t_SC1lZ^#2Jy_ufVAKKVE?(J2;L|Nbmkk zJ5Zb17FQC6Nx-he4OZANK#h1XKBP2kK5`=&z}&du{}Y%Gf(BM7Gevw$%lBK5HZ+0i5%W!q%G@;0 zd+aT?3^GpjyG^`n4zsy-=at69pm9b>y0_r8qS(i^5S4p}3%Pr@bnmYF3;yR!=LA+c zW%bMJWr}Q&G(GZ7Uflo6+-#YAI~ZXBQ{UONYv^+^Ml*h?9SdGx>NEF#1gdjvM7uXD zef71Q+h&KoaOwN;xEZ|qc!~tL*pGaE81s8=PH^7b6UI4r+vfAICp+(XCT-7V_$=59 zL*^qn7;5U%ALZ?s9T_9dNeDF71^!}28ubtyB;p7c7^gnR++&mmjF4rKR*bKAR#zsn zY>oJARZJdq{;ATDhAd(){fAN3`(aA`M>g}Qtu4_#_!fu84h=X;+L`l(6b)I^4>`%l zYB0va`N&GfzE;u)7t3OyTzSQSl~!VL-b8%4Ah#joTp>PW#HdQRLUGh0{6%3ZTgoD_ z@z^+4k@SRyf{Xb)9Aad;Om<~FtA18x?_r+j8Z%~52&k+B(zf7Dx>*%$vt7Xnat`qc z#a%eorlC2PG)j4=KH4x(F6aKF2`8zef;43y8sxCGYo4m~l zLE2BF6_w8dyEWY-6Hfcw9&)<8^wgqsOb{Gw=VL&PfAXrLs@YLze_+k6gL8%hb8YOBoh~D%HpUSC#MM)K?R4#VgTfh z_Opb&o@Vmgsk~{z($=uUO=Eb)EnPyRrd35xraa%#rJnm}PyC=c>_(wz|d2@wDk#{ zSQFzYX@hYNX@hzA>5lFbbMnaVm$T(%6MrcJCD0o~)?Q!$uSZ^**G>5Vt7mYDwrXOL zc0{yZR0eh$%Hl~_sIu>rY0Tm(DtB?MI_}Sbd%hIfWIpNwU$2O*v>H%g#rML1?;EEw6`I}Y! z#3j`+)J2Wbr-y#CoUpuc>5vjTeA(!(#``&>`}ITYNPcsC36`E{*Yrq z5kS=#dCC()CM~De^LLvDgipm{M%2}`J+d8{3$0Nl@_3|47>iU^A8$=Fe*9E)pP$uH zeoE!+!1JF7Nv~X~Ifr&G;!N!7lcI{Ew?{TAL2US*VhWoG|4e8~Dy+d{ZQT(hi?l~Q zdw4?M97{{@K9S6{t(qW3Cv^25T6&}qW%)W9@&IP^fmbS7j>KJCEn=(RRfS+yl$DBG zh5@pqa-liud^oY$M80X!g2n9`{%jYqRY%SVQdY}A6NU1O2eD8F!=;ydJ-0rkwUH&* z6KOpYwkmu`Us{=4&97}m5BqUuIJwHE%i+P9Q{5xW`+9Mz#k7;WfhlTd|M2j1IkoFG z(WwEguw6DI!daVRy%^p!3FGh;Cv`#l+xo5CQL&1hGMWP4dM?FWs+y#_sm4s^Dt9pn znQ78wX?}gNF^kCaK(lhq3{O0>+Z9jqWpxqcM=iy81!9txUz3wuDzAMLfLWBj{r7li zN7FqnP4rd}nVF_mGqth&+^a|4E74vXl9uX|&zV@&n8r{xFW?X%I7f7%B*5}0ik|4% z{t$XE?tvX`msyostf{~stWSrXSK>RwhR09;_d6M1ZotZtwdw=4rn3y7>&#os2_ZD#bRLe(67;SAF-Vs`lQsQ+h9sV3qgy!+lzH)d#uCBe-I@dnpx7 z3Z8ZBpj_zP4MK;#aNJ(MTmKl5ZrzS=!n~T6@;Q%4_A!?VdCuMlbL>tkn5G4eZ`9mC z9C7k~**ioL?0~x~PCk{@*mpDDgO4P3ICDlpXY=3EB&OEtvrV!AVh3a?T+0@xNKtb zDmL3wp$S+Oo~sB115$@6SQ@SlGn~;v9;Qnj0^DpE?JWg_6RJ@&;bbdz)r$N^3)1mN zV0rk=H4?xHi?kA%IuoH~oovI%#i)BSnAeWIb$lth9kO&A9#co!y(IyGGK^_;6)Ied zaI#cwB_**l6Z*{eLaiQ);tJX);=(=%JZ#0Nz6%E3v}kZnm?Nn05kt}wj=G#&N@n<- zt=8H{U>R@(N{m>nQrNg=CWqE?LlRkgiANzRI1@mj1eZ92XrAA_0c$=oCeJCS0i8z4 zr9hxhOP}Uq4KtTnh*Aq#viCXJ%tQ=%L45y5MMSV{Du~=+g2S&n>S`55Vkv7!h+-xN*uEoeIyLpE#|GV6v#oW9eB(PvHlB6Mw@K>PC1+`Zr4y*J>O->Qe-@LT7#=k~#kj>6>!M~;fy0?6}m zM|J`73*^OB#|le( z)cHw2Pset|$rX}}DzjE_59f_Rrxwh|@JYF#=nN3UdsiE???*Va|91#_v(TXo1{4PI3F#f;hEXVKsYkJwMqAa|VeSbMAM~fo}lBFtIl|!Y=YBhvyso zS^wp*>xf^^c!E2gIlTqg5h2Db(RTX8k7K)yMb<`j#b*(Y4V|1}`Qlvi3_GO zR>?kSfPntIQBkZWSs-QKr!U5CxFS@(Wv&{jU(3bhS)xajMBoPYqRL_Pn&&8#auU1O z;|hREi7I8>p*+V4&c(Op9`pves|DK;aoMGmv0|E| zbg`Djs$#5+OcQYhuH>cu3hze8lJepHPS$>N?Un@sa$6d`43vgG@i|yV*|~(T+7T`3 z^*NCxCeklKnzB+w@C{P2T7XrFIBAr~K}WOF(glLP5`;1Ri*He~q-AO92BOz2N3z%$ z8N%-hSMA2?u(G?P(roKQ%5Zps(PrHS8?Tk}!Kd+4A}e4 z2@^<1$W|E%aqJS_46~8!*?|FYH3%dQm}&Ds!M` zLk+%;%o4K7l5Z@fs2+WjJKf<5xIzeG$a6#4jeP zZ;*(W){*8}h^I!fUzAAghLR}Mh|*uCZZ#=Qr8NQLTz*u$5STy|=(izJb+Gu7ysO4hP2Uv%?S$8eq|c?OCJ= zY$S0h#8WHl>EYw~C*N?s==BLYCgtDqL+io34V3ra%%wNup@UDK~Bx{sVe>fQhGIBoSzElyeB@SJOORMGu!_vUd$w?Z=?a26g0*EpIz8;})G3|PnKDJ+(@6ksJ|FCYcf?5c9f5rt#tTe4wo<%Jh zf`_{{=0!V?z9qVdp8Ly4dVWx$K#}I{NqnM|SV^R@c&TH19BHCKL_Dgugqpw)p;7&D zt};*@=#iF&zWH>81C?3a9tLT(vTho6`%9s)g)OmH3ZPt%y=g?%$82}+O3`%eFhpOD zz3gix_c4;VQRx(~M6)VQL%NTu%%z&G-GE+>1~aQHEV_10sgMQY@_j=p@+@RYD_Ra4 zx{?tS9V46F?ki?BonW1B!||kNk*6L%%(E8Oi~J~P9MTCIQQE9@2=7ZcLo^w^`iYN- zN42+W{53(52C++PCP~%(hx2t|SflvX3?O5+!0_`B-Zg4uv>05{lgMzg+JX3qN^$fU z^D%P-OjtxC2YsQ&gK6PGWusf>khD_QDo_G_#UEzWq;y2z8{^4J%Yg2e-N`H(zmeN| zu2*)MY|>%~NjxxqWYmRC3$K`BVMQ~kaBn5!9<6nK4Kp5JI>Ac1v?1!pBNM+siFpHI z>;-9}SN-K9sY0ix_+2(u(5K(N5G&bwA-byZ3>9NIC4c7v?bGBEId z6rA>2H1Y-Icxl?pMwH?lB?BHe&J|RS(ZdDri@`Qc`Kkk?9n#jICn9ub{Esf9A3b*| zQ(#mc`@{@dDnp@E#T%!%pdZzf>a$rt_H?E~alKRM^dasWh`wAtnJHzn= zYyEu161#g+Lj86*Xo-1Bus?#Ba#zA!+*ybtB#dO|u`UU`EW#e@(FCII4RL>)b^kKs zr0t3*?~u+B@Tg|;;?AdVGQ@jgohz1pGVM7vM5+$O6iCEd@VFjcVGC=)5uW+ZAQ#-z z7>bDywsp?Mc)$X7fDf^*z(=_;+aiJjk^Ih_NUmOiV^e(li=tq$sa7#hae4~-4?V0z0!swuc>(Yp4LK-9*9Ia^4&Z!?rBflZRe;MD^%nlT!600Foq z7S3v8f=ZL*)(p8}DD|)yTa0S6XD2uxsFr$>m5JD$kHW5$J_sIloOLmZn{xJ_zf^#& zL$7vLTW=hf55BsiZNwrMK8p*Z7M!$#EhB-2&J5MXDw0#7EGe(cjeIVAW6Gc3A-?>w zYLn%fgsP2CFh?W~6;pnxlyIN~kL;KD&2gEl@WeFfOjoEdVmVY=BVej6!QPt12fV^^ zG6ve`y)W8Mk*j%L%6Gh1o1Jk>J&_ZUlbb+H$cVvoz-wsxfQA-cO5nc|eV z*=e|mVhVwPd)jlFe(=)mP^HB*7vO8e^UNoK`(C}$Q%rvs@P@}d5pqrQX#u=eA`1@2 znKagRCMH3PCA3y53wI}?1XdlS)`4_<8KsBPyykcYM&aewfQ=GtRw_&mBVO(?kpmvy z5eUTj2fm;fPqdcVBEEp(*)Q3_R#kY%`!u{VUvH$^^}^)Oz}d=s11a?xn%q^5ZaNfQzgPd|j%MV1G!QKDI?4yOF13 zD-jvzr7|i-k<(MP4b3H?npxkcHvC9d;0si8*5iup~W$uYX&R)n^4ufOXI{%y3+xP5#o4%Fp~0tK+j z{~LeS|4oz)%zuYg{cBiNRpPn=st_mwa5aU2E(#KDkXOIQS?|;PCaPVa(!8ZC470CQ z@j5l#>eW(b+>_wXyaP{ty zuvgYt!y&d;RwIVWB8{robq`=%@_4W9uT-1Aj9ekWKD<#tJQCAN5UIQl0L>S|ayr7L~#@GTfv>jWMz z&X$pPU#(!bJvxmCQQX^FcfU68$fx9&9BIk-FvX8v-hBTeUW4>RQ)DZo*rfDAuaBw>n_*u%+90-*X7r04##r0K&e^e+2vgHQ-v6sPh~6!*31r?X{IbRGz(XKx5Deg_!|h2pCQx6rptZZBe>? ziP@-o%T;L7^+7O&emLTgg<#U{gnN}7^;ocP+W6|*&&jrj;pv*~cYHk}sKKpvhThOP zS81(LKGx~XMmt@BS%F$mzLU3EC)gqsobAJLo8KxDj0#UYohj{AO>1ds7_^2WLH#Cv zWUjLuoQByhRF)2^HNW7nx?vrJR1LhEF+>edB%k>CIKDV`jWy)QOyq5Z5KMIw9d%Ay z9Y8)|l1;2@#bKWk**!e?WX~-LAYJ$N6CUgpY|WH`+Q$(=!F4klvBHW(@Ow2&%Em~t zpg3XO3z4&W+pDNNvhAU{1~Yy19!InBd|B-3ED95>4b0sfN0YrTk5S(c`uhY~PKd3m z%%EJ_&Bo0Se&|~oPWAAmOZ(xi+_e>q@xLzL(NnjE5~qE8(!y1a>uabD5CfON;7Xy# z$wG%KXzi(eHCP+F`9_yTuZ3ENn=LxamUV+E7xwmRiyEhC0`V+@3XNWW&2#fXswSCM zim7r2v6Y+z8K3>I_!@tVD4};;Jkh*|juL!T-h@x%gg2N>xnT)I?npkn8Z3D!ueyh5jnR5to$o7pgthv} zA3h9Y45XJqK4Sw!jgF@><@C8rCMr!+uk3s1_3un=x&H*L|2pmX7hvmARS?1I-vmW!RtICT)lmtR z0}6Y?P>er=O1hO+{bp4|d!ZjCA=|C+XC{H?{Ai1289QkhzS_)*!;80tdto)=F?kS1lPlXmVFKImKVwn! z6=Q6*Hf!y$A-ZUm@lMspAq7c{bByxJ@EA?gM$sP!19z%#&R*=ya-n~&GN@3K>1E@k z)dcevFOubh!8+F=mW|i9QL0M$g%?_kcXWZxC)0;Ho3*+pL>qy6_U(N!;euO?bC2+F zC8jeXY}(`Ss~Yq=93sPyV5lw>N298Dq-NvGv0XQ(Dh!TN`}FX{GRL`1RE$M8baaNZ z0|}6^W>FaygMCyC%pKe%b1ZyY@-2v!HSxg!yeaa@G`syD|O^+ctL6N(2}ES?LY`U9~s*U+Dl&^8;1LSZR}c99Ji13~;C( zatE>#tfouJ6@8TOWg9O9BHrT_Qh>Sy=R^60N@;%$Rs1{IBt9K3pFWMJEUtMY5lHxH zndapKP)vsV{I1&J(vMx5M^a8zxlvy&k3xLs8uU9ogH|E>dNaHEW-}yDzoP0wl?pU` zg%C(UeoDtQK9%QbIlhCC|}Wn&b~O`rDii))g0Wk zkxWe@jn$~nIvB~-j~CnLEtRJj;&DaC3hN0a%B>g}b*9FvV8fAO1r63lc*j_gZzXl` zUlhRCQrwWacbzaM`|F;8ML({uH|v$=`TPYjAc2$PnKj-5=?~JKs0g$lN$jH(LmYIR z$6XMM2&Lb|8pKSPv?DB7q)b^f@VLSX=k8NVi(M#VHRH!@<_J~Z06nfPmiR@el;e$@ zZ;%(@cJP{w=Elc3Q#00X5L{8r^|GAQZ5={OM7&>b@P{M{W8?g`!#uG_i+SoH@;y+w z2)jSOPlT}zW21h}0?-o}ouDfFgN+S^fKe}-?8!>3lWW5$T^BpXFDzi_%C8_Me2V$j z-t~jSdyn-iTY(7fcA;s_j1((D{9?JR-!3c5t5@}dBa5Cq)V!0b#(rm@O{;tf?(Js! z->P=_O`HW2Xb>vw!+(f~|I2)5Rnk9JA@&QMGI5k)%?#GTtmc=@48TI|ONH|Bf@lVc zGI$afM(Tq3sRO46-ji`SeaiZ&7|w}`3S`rZ8|iI0c=L0(_4)PleBI-nMs3#6yJA^c z#GW2m91ioveQ6vGCs1IHE~iuffE-|ff7#;@PlSZGZYWL{ek_Ps#nrcNt<*0327CMF z#Jm-YYeQ!rG(mi8rfmNexqlysx^PjtyFQs=;n3>0y7kpM48hn zU$B&1X%|7kzC@`6%1CWpyu&K>D7R%?F1Qh4^1S+WxKYGYQ)3h1qHjKSo!M>Ow$6;o zQ|>Wx%dPZ@=G@y_D?hcLoT2Tr3T9MbH@Pr%pKz7@K6`DoMQ0woM15$^yc`buptcK5 z`~FJ8dW7#IXMf%@cXEqIuJq=9sD7fD!J6OGOt}H9Y!engJ!M35yNoxVjda}zfToH=Z04wqQ6Lf7Q6Gs+{+iovl}%IS;HSfzVr(DWz(xJ zm8f`yW_w2aBtU%2nb$}`7k^k!k>g;sE=o&LzR8S7$=(l>6}`&2|0(96z50hb&mQX< zTLJzybyjhrF*I2j^d|~V_D$(W(K}Y)&FW)pyc@oc@zS;lGDs|MKSiw@?_j`}57QBtsBLLfV&M-IO0sxU}DdE88CZAlHFJ z7(MMrwV!^eovEDk!6UIP>os>fi}m>8ORhop`_`~$3Mi-fo^MEO8!S$^9t%t+eLZ^M z+~8hNzKbBK03$+?x@|II|3ht*N!gXJ4V9CIWd;48bSeiLuSp?h)p8pKI|tLQySIO3 zzX~u;8>?{`HvW4w%?h*zm+^ZvZ8H2Cst>NBj=ti&nZADpag1H!>!S1Q;~69%(0s=e zxnH*0ljtL8A5P<#k@mxZ!H7q?H1cWEZ>2E&52bMOTPa-pRtf_kr68miusfC_lFp*b zBQ?a-%Gk%hJ2XIejd^MV_~{R#Qw!QM@JH(7DU&0&oija^f!r*~FI=^UtP*;U-wbLT zlzQpmdkg0kbmB^sJu!~z3=L<&h7-hM8f=ZwjXLz*@0^VpCk(*u5!^mfQq&>Sx&QH_8Pe#ESb-G3VM-#vwuCun z{c0T~6*~Wr3K!LOU$uk%q#ob{%A{wxWO?OTRhCvkQo%C67pSBVP0J-x0FnxH;+E#+ zpUUoW%Gfi)j=Myj!zYmIuYHgZQ3phIQb-o8;g1s&84dYDFNs7L@kg481FidaHygcs1li9Yn*kH{tkPIwy%^? zDZu-P?d_05tB2RwKg*mh>c*~R(+W6mY>)pT{|ff6UYYtU9n^o6PW@%@@-NW-r&Iv` zQ!2z+&h7O7DHW*o{wJyM|DaQRAY>0z5o4uI?f<4z6o?=?g(f?}aCSG zU!BaO!4{XUX7tz-7c19Ox*cIvhsE2yggHEOIhzo7<23cucMgI=G|6qjA*gBfOD3## zM1PK7kJBB^pv(^c075p+ZrI{V{360|yb)HZ^JKDqlkGA%IyyE~#@GWXAYJ(Mw+M#u z&+V?nL(1b?KddL6yPSu_I9Z9cVwWn7GyW}t?`)Ss>kl(EpJM6GVAFDJ+mdMdixN%Y zgWZs?U>GTWd3H-0u+qJd1`_~hwarHaZMf^P+X4wQ(pZ@l7M@ ziWZ5{!m01(%VKj_i;vLojNBqh25gaQ!~PMbET-IP$z}x)7$21_j)=y*=yH*y;ddyr zu6NuEUscsl{FU~^`L4KK?3^i^ORKok#h^!EW+*_+hQXGa(CW-7j0#09dN|&MpF~34t~$s=?$-c ztYm$us}}0#M}K6e^2{^BK|G9`WeV0x&zxt9_CklF!N5*9PceaH#D-#Fg#-*V>tMj2 zW*vsN7*&yV@axx8v*x(S*<-d^jJjpXLa2>fcqX!LX6%N=&X%r_&j=qy_FSftyV4#~OT;Q`%ya+kLLqsEo)vONr8{wt>4c#fCc1IfQ_pPv0OG+yhKz zN8VPuN=9GEO3)C-RSV;$(Oy1Sl1KOmtm=a5_lT`VTPh}@$Zi@5Euv79SU=DjyZ9Hm z30Aptch6mb_kh|&a z3*)+?>*&YUP?5bF`0KlEq3^@7|M?~S#pay;!{+R6NV3;c7eW)e z{SayVvn?DfLJS5nf&zg+8fPD5bB4M9wmGK~?gYJN;7|~U8vK)PC+$HtXJ0S>M5foh zZ>|^X_2nOn{GO5Q;Hfu?!%6QEzQFShHR9xynk{{TV&yS+n_wLnY! z&|!-dPxYgCknVkX82<*||H94r+v_BU+IJhrkURaMUuvR14AvIuhqhuotaQ!)aQ&#G z>WT^lIQbEkLdMu?VT_y-OP;80u{yxY$5|JohN{6lR(tPXK7MmYl4n;pO{$S&uB4I` zc`P^l)UfTvTb@O@V5~HvqwaL?yR2SJVcLdLB7&cL{bBPcVZ5Mt<*ri%SrWO!j;#zo z+Ib^$RBfpKXV;}9$)bCNC5exD!EA4OZK719CAs%A{A<%0E`*9&;cQ{DSPJ#^g+?tS z+pJ^ykn4qRFFMYoXn;|4oLRa3GN(JOSw|Cow6-0hKd9g**kw`Lsn{yr3A8nskI~S-)6x2Wp?GDEQ&( z{j|c*NSP7mIITx*RF1|pO{U@J^?>hu1ksr+*RaH)Y_5v-Tit&Cjgm!Eyyu<2h3=mI zd{+_-!ny$n>;KDc)<3ZRKYO1^3=9=SkwB2E42Su~w1Z>E%ctPY2mU+%8kUe%t z>vX_XDL)d2zrK@KJXX56H{aYhTduhYMkg5Raz0N8bDmC&-4hbI-BkRcMDA{CHvY#3 zTN#5IeQA=jkn9Luzagos?;um+=yeo$FaNH_&*wV<;`#=?;vf>eWIWBh0^a;ZGGuYI zLt_xw&DtsYf?m*Mw&S&4p^7Op8OX<(oHC+~N-2QA8{pZ$GuS3FGo|oq@ z%xDpKJmQC@4|O?2)lH^$A^Li~iw8$eJT|@VOrQL}%J*Z$GI@r7>kg<4i6ftm3E^6t za}RgVEY(-)sBRUu(NNy&QF5uumH2{Sj}jm&4Zjw!hyC#0~s86yQd3*aRG>7=f=h z8YidRY^jF`RM}6{EJkd(a!3tW;Y}@M;LGf~X|Tj$V=2D_#l;|=JN6PRDtFd5=x=+J z&IkUe?JM*ve*Lhd)7I>|6?>j)=az%8BnmtTMv!|w=*^8U#f{&=uR<3`Fc#_8F^o<= z90KCpy0xd;1yZ>IuB?uHqfCkPcz2}sZ5tI@*R)}xBa`lJkqNHsJUyS$H?XTnZixzs zFrVYT@~yiOpbeHtdNz-gQO@YiI#X!?BJO{4c!HExTx9ei^kc!5b*|lP# z-b*fh7yRwMoDrc|TB<;bHi}MV>kqsGcVT1FSK1;g*fQ*X<2|Kpk35WX)Y>%c*k6cu zs0T*bzz6A^dCy!Yg=pb|$9{nG%e+2rvqZ*wx9lMLEF$0N39C=yvLmyjF=U4V@)IQ{P#Pt5ba50!XSsV4CIjhXDI#OEK(U2R3Xq6q=t~nkVT^KYf2g@ zu|3PB`VPf@b7-4O(kpqUr*ys(NP5H+P`}n}+BBvN>3zjUzx?zaxoRJo_EX_&C2J#WOvon@6Hqbg=>ytZcA=r38J^wLG5 z?`*n8?Q+A|p9j}$jFTvMVrf92cQ%ZdcF0tZ_smkvnCF+or@Y7Is}AQxK>i9Wj5K@# zp3d4~$NrKVs&xpaq}^~p@^92AuE7Fq4dtMj^)6%jB15}TYpv9&gD%+821#G|T$f?+ zN~d}fN%L;e(#L&8_8C`v2^&!bAGM)@=wG?AVuG*q>8okR1NitBZWzy_yPb*|8Shm` z_)thwT(Qbt-leyX*|XIkRidyPYw&$nMUA~)Q%yym>?5LsZCO^&M&)a~dB;jYpzRr= z1?Q610%{ARexc{S?fUn8GM-y98z=sIp$A!4=^qPw^+1G+AwF#`#5OEoa>m0GEd zsf{U1=L-=k&+0sq&MkXSxlam}z^m9PVg0iWVQnb7=SPsDpbU+tJExgWJmfF3vnkad zyXS4rP7L@ybsImJ_NqS4`Urv&)3B>v6LWh7;*EAb(SVu9m9#9P7(#!rGAo}}J`QWd zY5a)M-M=EdjcF?2PE24mu$w|BMs?GAD-9ANgFS zvKs#UT8WqFvikK z%)iP)it$|bfZ?yhR8d4Q0kJTj;=a;lvLj<0JcG=oiBn7_{#93MHNfq>DSUcHcw}Ex zgy0h6oCo~<8|Y!OWJ|@WOqG-1NW%RQAK`@x2f799bTVS6(fzovz3rehZ>Na`JfGH1 zz*PRhfzc~Rx4OVH&OxwS7lU58)*7w^xO`L51C&_2w;T0E_BkVq%Ge9(wrqWQ^g6yQ zbr#Z;6OFgL>l<3HE|66#Pe=_B!S9|&{7RmrNQmRidV^?IYWm~rR-SvUw3I`$GWPh@ zH#-TG(`K6piuw``9KEavp7_FW^}?3v8I216V8gGGY-@k^q+h|lr(-}(&8Nvn)3$yp z*hDeJB4uOMYiYiBQO0FMob(NI3JEkR6nG$7LK#R-sf?MakZH}@;1jo?UtxecQCPNG zd0~e7688%=E*Z)Bpe+Z9QU@eE>`@=iXnxBMgyr=MwT!0j_@@=r?fdE<(H|!*XT>?F zR$lGXU7hCe<#9L@O6@6Zz*`(M-4i3Ov;Wq+%MCyH^q=Kn|6-&5 z7uGRT)R4rKUOtJ@9LF3>#70 ztQK2dzb7vI-+tbr_OMoBV-0|I)e$VySZ*NZtv$dnk5)tGPq2RD6kbk+pKt2} z*-R;*&fP=TXUUKk*|71H!iu@~7^OQ?mgo^-$dGL_!3(>q)weSkxyHM^BsDpo9!2Mi zbg_q~6Pe)`JXH_$Wnb#_Xm+lZUN-y}nnL)ssp z+y)e>t)|)1>#{Z*$fb(38P((trY6Jppc@AG=|4OKmnqL#&W(|bCwYA5 zUE$2IY!x=)aH`&+i7}V?Q)GLd?*1vV4Q66zJ%T2d83we2T2~W_Kq5O9cXZOEaXIKR zzF0vI)H9$w5fuN8H) z*?_=Ky$YjEJtR{vot&M`3)sp&mi|Dweq`#z8F8l1vg}BRXvv*|2U9kI| zzGLnVM=w(^J~8zI;{e>Q)7|a2w&d(uWSyI5aozH5A-igoKHIsrqOIiSG<}*kEckhz zR$YxErM~_R2_iWCOta_DrqB*vdQPZxEy=r;jRqY)W|)4@Vs7nLWL@X6iU(Ns~QNAamfuRuvr@WHpqZXUl#WnmkCgXBq%M?SiGmDsMXS zJ}==y*M(!<2@^3|zZ;O5PaKF+^`Gd;fdA0MTgic)A!O2ghggvy<*$jJk)gy)cQSKY zCt2F->~mnJ;HQ$mo_sp(0OpAOq#a;i}^YVN}CYb$bN|dksue4LjSkE6=5S6GY&RUBUht; zp4-S)-3EEBNWYrtb-CrW<28{~RpXk8Bz{uQrYR1r6!w5i3VW{Ub2=V;UEV+hs}cBN z2=tGlpbHRtQ40DkQ(mW5rUL63t$zm~K zKK_$_e`PFLG5ds-C(tM-Uy!TrwG0xFTz|MEE0}cTHOWldT$y1JRg5{-Qw_tK#D4XY za>FUa0;7#lJ=NeYK#(-(xVbSH6JDW#pZVY;7D}eQ8dKp|Ga9c^6-kG$zLO-Yt~>n| zp5wIoHoci}(ZoBb0WK({4Nm9=kVwX#ccJqNx)i`ZeHyJchg_}&_dE%s{rJ;sTIk?^_o@N!& zD%otu$%0nRg@>&IW)1W~s4eBaY_$PFfw)*Kaecr*@@QsR-Fr+%u)1BZ7m|dWK(k6L z&B2TyKC`sbg(vYRqs}Yuz|yOw&|&cPWS!%bQrf_^!V*$*Ne_|>b@@CV}E6 zox@WCH16TBk)_MX)JnW&Um}Z?uihmpqRMw7rpQ<5l&oGCaE7v3IV3bjW4*rP7koyi z^N(1u0I|fhCBM7(0y`L0;v!4TLGTM~F~*gHwUX`iHuxPBhI$)Y%_AL$fT2Zw+?36W5t1Xh;(1 z8}Ddf{@VA4joA0=w?RR)RG7&brN`|IUl> z-zfh_mD4!)K(oO2Gj~X|#XtdrX$gUlBVK)nTU~TGM-iCRL`<|?tT}GVDh052pWj@q z6)M7<^)3T0&~`?u(*VKf-{Zil`}EAu7x*m+eiHoV`R(Kbqr~~Wj|EFR46*w6taPtq zU;pd-cERh5_BXG4oPgw3{m3G$l=WSvjJVX<@Qv6Iujiy_fvSC0qa>o5{nA*4Yy|LpF#Pqy{vani%hZmHY`tHH{?$|t0A_b z_cMQ_#5#o4N#1m$iu2zEJ?mj-CmkLieiz1K+#|2~bzskN*&sx9gRehjLg@`C_7DuCpSHu~B$b_Vp@BW@&d0<~KM00v#oE z8WO)@VM^!aK?(jnKy1>6fAVLqY2~o=!w^7YkR`URPS<*7#PmZn+2)rfY%P~f92n@T zI}16T{*EDVyIY-2bek6`7`cAa77rY3lbOcJ35d626btLL!I=4DQB(8pncq|P_?9?1 zUTb7i9H*D~Qn4e3C`L=VDVL882USG4Gda?R^3skB2P<7GEd!ButA2)XA9&{>Vy)7b zbEUx_4Q(^t!hFNBVyMnw8R1@+9$FK(ZD3Di7I#0eMf_}&b0Z+7uxRIMa}?5qpF?e& ziu+M5vk|bUHB@$~A2@~WVPzZvNUQVn2?!nth__OUkKk;YPsmALSfL13!wF*Bo=~CL zTuyb%oY#UW4K8qWP`^VO(a>y6sTxT?9#yxscM3&?#Sk z(a1W;ML4C|+(s$)8uMXoKf!PN{aS0Y)0(h+#mUh3t5eOl8N<1Vrt<8#2IqD>x%S+A z4ip&HOgl>}t69hCZxkEVsj9a>@8}^LlY^RneVh%6;-E-iU=8soaY+wZHIf=n#XL}# ztR>Y9)PxwX3xXZOAzFj;3w{f5z3c znn8*vQ8q8;r=Cbf-|u2oMT{C-y%w0P?c;Sg}3 zs1a_J_5Or2p78olOK{(~~PG3M*y@g<Ak~Nv_&@g-|0lu&7(B((CWulzTdAf%6wDql6S#QPIe(F>0#;F|RK(sW;;!s{0 zD;1sU8ih5AxTaV~>rwh!^db(J4*qN$bHa@DA3KT(@Z!>HAN<2ZOG+Dy>t5A^7;CK# z3q-PNvl|<=s7YD(at>~(r$cMCQR-v1i<65@q<+pZ-8b)@b0i1c0ab)}bVb~1(wkV! zYb2OJBj|M9bg6ePDA0YB8w2qQE7JT@dS_B!NsKD@xCV}`^Ne$lFt?9yvKxn3XPmVQP~2gkU}PItwbvwZ4+i*uBg|& zTvAMa;WLVKjSLzX$~yxgkD@z=wCVn|C_ZZ@plzx9Cq7(jE0KmVG2Z6Za)GPje1<0| zFis_We34ckc(ct3wF4CMaE|J%`=m+LSpN6;3dZkqXvg%kQ#-3p9Cz=_0|HV`sLZb@ z6Nbh;F3lFkeppMDbUbCg-nnBR%Exl6&9nqSfl)@>^Sxzt1bDrW)mTw|T7(Zq}Ye<<#<-n{n>Wx|d z{S@870}+p&|Fye}FQ8{DfPgC|;O(L?p<5Axv!B(Y9kbC!mEnvR;(&r9#>oA#^4)YM zcXsTdnug*e!X#a9TgQ=DrUbJA$?!24$B0#uyZ9?+wqY)5x%>tK+hUzDLDK*qp z4%LY64bCqVP-GfE-P@i`+r~6f^VEC+bF6JNS)dF3xh3ptIWNqQjkBWbA}+T0^QT(3 zkdq~64JJ8yQ$?@@L&0}jyPZ5sK`|Lq4oAla9t`P`ZiXGn(Acw|3~tMvT&{Kb0fJ1& z{-&~97G^II6Td9PZy4#mcRRm29ISMchWghIzD1PWGU5$)JAo1Is7+2Ib`vpJ5_eQ3 z@8DO-4mxADIpOX*zsn`MYQW>~Q;O4k-fTl%IGbRuCa~!YQz)l_-O=z=t#iZb?h%T8 z$zmV*DewN}UeBE)CO>D3?n+rpzm-7|y_7qYd%QsHBI`@^UcvJh$i{iXj_%JW!L_Fqdh^SF9-?3J|nuKeO z>%z0!x%;-HWyM-y^j!6@Jaq%r&&m3?2tCfTA7==tYs(`nC)rb-mVfoN<$V>gA==SP zE1;+5NsXND``|dj59gB%4m@E_O6hm0;fs- z6hw+52+Mp9)mQh8B`19|{W1L(bUphJH-NtKDQ)0|jBn%CaXHKdd86T|E3EkoB;QT# zh~i>dc%jkC8K_s@K(c#nJo!u$@xw7QlVntl&MSVP&lEhriLFB;h0nYc8(W&a@sKx_ z(Vw3N2sKF_Z#H*8BUf)hgX&993gs@U`%I(s6BV%E^aj-qHugjuye>yNs(4){+C{h5 z#pXbV)Gy135GsHszUrCedLKB3^__un37-l-#-oMsY&LufoV30oVD4u)mZah5y6R5BQ? zq9^wjW5ke<&cgB};}jRwF)|hrdxGu#4OZxj!FT`1q8N6C|0amNv84{~_(2 zyX)@yec?7~Y&9#kZKttqbH%pPCXH>Qv2EM7ZQFWs?R)Qizp-yW4(Ym=KS)5 z&m8B4&Uv7RC(j}5wF8mg-tFcA|KMS=1B;R#Xj14+E}05EpyzkSqIDkJ=;OxC3g;PB zsP~$JWjp+qXF{NMq#g!s-WWVD)~cBCg-O~qQ=ZHJpgr)!Q=qT7N})_+eTmqkgt+nT zKa6LEed;aAKAYH*PtkmVzjIfFjEwc2EFHy#6pS2fES-()|EHJDQ`)eZp+|gQb%uk% zIO_-ekkIGDFk?$_wy89uJDUvQM1(zCla@Xiav~)wx;KFf{<`g>O8idVOHv{tyyY)a zec@^H^CA5r?Z0$@Cp+i4uNyO^N?576E9LtIu_EQFE*HB~{K;USkW|r@4AqXYZ;&2P z7rZX$85JHHhOpp(YDG+^j<0%${#Exffx{;fYd0dA8Np7(f!(2ZQK`0_@yPua!4KRj z@-25NemlVrpWOS}3g0LN9>gj9L-j(=LjAQaWp?;|eJ-`mfZqj+wVND;Is9`e zBq#yfnYS3jMHCUa*ROmpRSW{6Id`eRtL&v;y{bpzHo=eZzG3+w~e}j4p=zlK=Lv5xzL|#}u>VK51(2LI~6^3&M zOEzFAV&IE`mYMhzUH`f;sEL1uQC33?Q+MZ3x!ljeST`}~EyniUY+8jT&b7a|q(&C~{QoQ${BIMr|KBzIN8rkfd--di zGSIOC0b$}sm93UZZpB~zXD}!JnLlQ@W?Fw}~F4ZMZ&U8ta!3;p6EK-B+)! z>(3Yb_84-J`HRL3HG)$`{5=A!tXKz)LN(ERjeuPYQ%3rq^mOvy%}cYw+SZNG8I$U{ zTwjq*j?zZ487Zr2c-ChnT3SCYRJg+U?KBRI2S0wukMEYJiaW2BT5C36uscH1h>pdv z;Yaefl|b7ZD5fXn@O-h~Y^K$6;Y^odYL(X7EsiOWF(?$*t22Fxpv}OtrzUk5I55(K zO+*aU2M{q(8~P2Ob@f&HDq|MjpmVf!e!&d28bOws1l<}=vw*cYC}5Pj`{r^Xvn<21 zXlHgGf`!LfBmC2F4K+=x+bPr7gJg;etsrc{EXSd$`}e7I9_Zx<&F34E`J6{e{9lA}6@5!5qkm+7AtOT@d;L!d+<&~LG9^tL zWPa3l@PzV7W$HSO3a~PXuPxv2ge}9rrX)qR%LVho(@(Rs)EK+e6TDN!W(Om*r#$9_ znSlRhA6LZ0SwBCpnd}uru30BgP{=jSuxq$hqsaaTy4D{@}W6 z_MtkdAgUvEYC>j{Zf>q2CJEaeR5E#sO@&)jPX|H}9}X>;U(!fOdXN`KX#UI{0mk5+ zl(V7A6qsTepb%WO%v>2>^Benm>MMd@vOHNIi%o8G`07CpwSb*XpYJQnZGKJx^Mv)oo8wPL%eELPFaVk! zcR)C-!03SWL*L0#BVgL7ZCIJ%ZC>N&tA%7cg`fUINAVxF?)=0rVp)F*q*VA3mW2Rt zA0R{AZZ?CmvE!<|zmX<+ zsHv&sqUignoQsP3ml^fdIC1a7w-?5T^<=Jtw5EsgiyuF{zb=Zl`GMemuksglcGK!~ zhEnIIn7*$4g%ePhqx18!eBqq_)TM_Vdb$XHoDdB*4;QQ;96#BdhzLo_sW;ZKJ04kl zGWT@1h%PtE5P=Rs7!cTgt_kA?4=u$7?1V9au8F^ ziC*f+Z`jAi0ivl|w4ppE>2#{8&P}NCNi}U4r)IQbw;G8z*A&0)-?iF>)FIE;ewp@o zB-{^IAj)_ii{xC{Zqtc2=I^-yGuJ) zLIFcEH4cq{o{#O^iG;ikaQf9c1Ts3%iFqGq&k%TW1K>^FD9Iv+8}7UrO*EJeLEu7R z)WJk`rH=)?6$;w{WF|S2V7-|(A*9>Vl>-Ta--b7ZZ3rqu!Cx(ky zzNo+j&9`%Q0>^ulCA!2xFVXi^3N;t^(>n0HRhKvf+a9xmYy0Opa>qD`0#U z2hIpzzVQC7;AUg>kC;ZR=&0{#^pAj6r)r^yq6+Y4C8qWhCVN%A}o9sL#=;i%(k{Rx%kqzPB*W^`vm%0%mkufa;wQT(=j#i22*#jq|K_8-DAX= zoOa^jwtmp+HZi38@&5j;lmB&pfEQL(!Qs=UW0Cwwlu6_b(8HeEel+lnR(XrDyz&T$ zR=%Brw{Z0xE4Vb-UXne>DRoCbz=iukj-<}-Vsy*A@@$WT^Q?s`z2 zqbPNFHdIbGy*Gab#|C3=o?q#(FgGLxdOY&eXyqRA)qs)&L*%53_BnZV zT`GkOO!zGV#qbLKCF@7r~~aXJ6KqTb)4X!lMWuTRYk%PW!>6RxgiOw2@FB^q}%)rG*o) z;JP}-nC(|=6^#{$cV{Ga@rnje(27YjpIJirYr_=^%wfc@%&X8}x^{s*RbvXHS;lu4 ziGu1;RoLFqV-8*@1!+L+(S6iy(mY9^jTNu$A*?n1PXnyT{3J(h>LXG%Cs3L|v!bBl zVkAjNJ*i^IN+%wBr8rBO{sgz2Y;3JFBQ2%f+B}@hyyE8Fd}g!ra9oWad5(KnF&x{i zs42hc7)NE=O(gq<+6foaf#$oKuXB-+=AYcIeQBV!a32V#+4ME#J|Fcrf!V);e zS#3DVZNF?;dGOQi3|f_kW<8Ig)IY=Cetk}BS4wdd?a)aD<>*Xm*CNF9Pz+QU91JAk z;gc38e3e3WRA41qqkF_GV_AmUm@+s7eb9nG|SBAhmQ%o)Xew$TL2RAoY>&nNF^&s#wqZ6p-bxExxOrniJvNq`#hPDjvNZ0g1}$x& zrqn%U)g})aJl>nz%YuWy#0f7c(;rx%FFB_;#0i4G&-d)|@HyThcj;he_MOCmhL!tC zs&;3G)`)nq*ZDT~Vs3Mv-n(Q|MUfbnFi1_^F|P~b2x3`>(PR((*2L|8mPNAY9Ijy2 zk3ak~vlwdjfbUh<5apJ{g07z9AE+5nV8@b?0xgj`1E10OJ8+sspy;8KGi>|nuJK&$ zI@2!gQYZw6HR~}Q^Tw;7BjfEZ^5W;W zN>Dr&eUt!$M~L(AESQ(nMOaZgU09^BUfVAadou(}*w)?T{XiyMLkA(=wT-YG_V0am zW}F1*Kk!o_QcXYPm~i`nu$=h@g9LQa{+2RgHegK#8tvcrPKL;FgS+JrF`S%K$tMG( z6c^P6U9h*v3nw&5z*Yiek87T_jLU(*{19W_oYZ{bmuw^Bd$l~T=43X%wUR$(wQBTE z4VE)A<0;?oNCx0x3M?B9+uj@}Csmn4tvh^$TI+dGL{SUXsV3kw14Hux6p8tMJo&O1 z*y=wl_Z)YEtkL&8=nI=?gc(;@(rP3y3M^^Q>06i#6Qvu}kdv#`r>#sh*ct;@trw?n zaC`3aXk{mqR@dvGe|kwaUX+Jl#{`K#r|cZpbD0Lk(65mvRWMyGcZCJg3D-o`NvV!D zY4R}K&YuIN=)w+3wz}j2Vc|Uq+Ls9&yG)$6j<&R9#>7b1VeIX*;1$qfU`_&w=9&y@ zU{h%q=E6&w@GxE!vq}?`%!t!!{Ok!RllLK+Y5)tuY5N&rB0N(;^9@5TxATm`01zXJHLRU!vKX-m$zEh%s26};;u@|D{d(#l5}*U0N8TyC_DQLh62yHQL#floMKZ%$}8KX#BXX3ye8{u z&MULr1N&s5%og>&)#(jT4%cxShN_Fu$_CD~b_YIsHN4i5upt}sYs?Lx)LOK>iZNZ5 z?=fjIYGRl>(;V4$*5A!k?-P?&E9pcCx{sr=-XMj`0s{lM`Jo-I#@h|!x5`xR%M_L% z7XF-4rKLHWTXoXEYe1z8=|#pnq$za>Yco1Q4TH7M6OGsV^Vr68SmW};f+KrcJd8yPL0@KgKBP$gId(BUZVdu_q;ef(Reh|0Xb?Uk)9^$)iUM)1aH2D5ZA)ktLkViZmFiJoAL|gi zV0R$|A+R;#pgazdYnXaoJHVAeoD~W4BbMdJGn<*m6+_ z+aj(t{%*0#azb#=Qt=0JLk9m?7--^p%AXdb`grO2)7o`M`7&0tOHyk1W&VW$Adc4( zWHCD=*+?31Z2Dbs_ME^Y?M%J)>IF!Y(HrhM+>?3h`aV=X%OnGvcdTgiJt#;w12BuLbo&z&_$(V6vS|`Gw zcL`(P6w45fd*q&DoLhFUz4J-c^okIvP3V*k<&GnAg_cn#@&xqOYN+wg?ZaaqqXnm zj`eIkXOHXKJ1s@Ji5l-_aikp})AkHq>y3i+3IqBvjqI6f@o^bumshBX^m~veqbK1W zeUuD9j0{nRh{_l5`8%ZS^NuZ??vf z-vv+LfZIQ_5P3kl^Q&hsC8{K8w|7?ghm$FP(9?xCsDE$sEg>&MAwFCDqfh?M-@?Lu z(scOk?e*RMLc{$dS*9y*C}Jt2zFQ+BBiHBU!C8?gg(wTkC1lUlzsgBSiete*$EjeO zBvf{Drb;hbB6?LGUqU>hPm1cMRi#rLg^fQR{+{4{DNyThsL=+LhTRbyWO!U~Y&?xe zwmiL6Wc~!R{Thmq))^1mOrMeuKw+RY5a{)=zw!phNkX+#?p1)jmPmeu+q%bwX!(yUgFrC znfKVKTK!Za;MjMSq36GOwXagcZWLTBIxa4oRJZ4Tan7kWc!8M@8Hp`dsIzQxq27r0 za!rDqPjBvS$+NFBn8(U!QnnjI8_;B76P4=N0+Z=u#nS1!J~>G^S#DRq^%dV}Xm1s{ z2O>^LPP(pWh<5o%|r?<0n?u%U3A#iF{o7wNel21bpHJleGVD;4? zqDM#1r&}v)tZ`?fG$YewgC?RopU5q@i9gfWRBCgF#Pb*RW&7`+(J%v#ecec^_AjI+((@;CfG4+p^!$ z*BUG9$m`jFy?$}LdIN>(&E1_fP;hF?fLEQ*u)s`{+$HyDdhx@BDi_&;QqreiSP?pn zuIH6>L$w<=(^%b1)CZ??P&Hl3K{)tQCeEG55)7D0=?yy(d(+QtXbe$K6lUw|POqS^qagT}{}&qE z!PcBl@T9W+RYes^#}hTQ(1$yBsn%EBVk~yzC5X)bUsp{ zH;@3QIohNe5^FaDlIk$gc5sz`lkV{Iz?r#3wO?$(1T423somk2QU@<$wevUFe}zvD(2Ovl>swRi5=*a3ut`2g zW3qkZ@fsC5kr||)t9~uV?aydma=KFdS*-i##rycgd$quNqVU=6pf&0F<~rTo&*L=Kah;6-HbNf&45QS#V( zjR%p?c6e!5NYN78N{1FmpTCViOi8KL8kG3ycxVFDQkv@JqKw#T41ttZ zBF-QwB87K_pO_i4P2!8u)9w61c0A`XsKj#QQFu2!$pdV#E!27Y4pBViwOhT=fUhb} z&_gTauK;o&KCTB@qjbi7tcDmBPizG}REJ&&v5ei0Nb$Ib+Da`Q`4;5qbPWMAq|trMEK#) z`vYwjm*9c6x&hqx$6}(^@+tFU7qBe0c zF(+EIxhK}J9vNPURv=1+H!WB!1sC+4LO$fO)N)AJAZLx@CX~zsYk;#!3FL3#Tt{5R zT~wVMU`1?3-VLf-`_#rzi2<+{i)2qVk0w4ugiEtJ%-LG#xySTCGy(z3N?kGBnV(Cq zR?_W^BBolTBF|TaP<>V;EHkQu2(V^#4Kl~{@f${Ej-I# z9AJAxBiqma|8B%1yCiz}5CcAn%oh5K%gFFLf9q(W+VuVY<}c7Ch}deqgWO=vTHQk7 z#)`oE3xPxi`ukMqABW^8lcb;RZXQ3~z-$9ReWE*Q^-Z;A+b1XF^)e?Xazaw*Q#cB| zjFlld5i=qVgtdnz*_TvQXu~|BN*s=`(53T?b}09Ha;jB4+!~PjYlOurR^SI`X(7YZ51e{}*!mflT<@Vu-^?1M8Xs9!61AP5y*2a% z2H&^jyYICJ=Mk~(Q@Q`Rf9QF9{ZzsV>{AeKOS4xq`1v7HB9x8u-J&5ywx}O}_ z{STY*-x*$X?Vl$~_<5p2e>0pK*;|`go2Xe?s+c*LeXa=q7xxifWiIf^_qiZWN#q8j zQOp-h@0v9r0;l#B=CfQl_(RoFQ`sW>$_n!XACE-6s%}KfIABC;|5ZoEZOqB^?+9Qv{#U;= zdA?^g!Z#baTq^BL9yJ3Gj{_!t{`1EDHTW?D-qeX8ud@gPg$I# z;*8vLDhqR^F3h#Kyvy|?GDLBS~jelXx_{+wk>&JnoD3wr z+64LjNx_ES9Rym)dc6qt{ax{U1qtj0s3EHWg1iBr2zd;R5VTOH+g&OZ@v?Zhxq0*B zupKq`tYcdbUjoje)MlnW`~rxDA^q}de)ytR>+3!9rp_{!GQCL&(RPK|FsHHUzLt)~ zZOda;!D^Y&_y#y|5|fnG6ei}C{o4NQG*L4;!-yLc_tmIjZh6}(sTDqTJpJ@ok3Zf%X5Lyx`6E)Pg-HCsWzbhx zhoc-8){}eDVk1C)q=Z3Gg-WqX^u&n)qlZALh_F3$vzk8RMK`l;=@CuUKQ=`(OyY+A zbzFuPx?2BIlMMTOxPAO5_%JtdRQ zR*4(*b{o6*fLovEfTB9V?{4yvZP4kWv87p@w^{P=z7#|N6`dTlilJ`VWbIBpIIAKm z&}EWvYo^^cOuJI(i{u}?M6bnP2%5j7bfMS$!%y)E*(U3?H8M@mCsDQR%mgH3Nuy;H z4;=>H%=^GxAmr!yoSfsS&lQsa`kC}61<9y>>o~o{uY4y5UUAFiQnCD&;#z%$SU$^f z3*U!5oW9V_#GxbXwedzJ!tKawqGYwQNxObNQjkKB@A;deo!BxhUFi0 zS^+et8V>}_$U%&MA~p2V7{_ye5mV)ElJ0MZC#;s0xsCQD;=ocTsT)8 zvPK_oJSQj7tgfOXMWNE;cuT2@X{=m#$}>mbm}jXPPO~z zYOS<(N+hyGWV6a`Z8jY&Ao(_V7Hfs@<+_g1q)}~Fx_!Pdp|LJ20aimC%_7CzvM7Oe zfBkc~GBXtA?|>nY@~{+P&LPQCCcj78ZjwUU^4$V7-is+jBQ_rEm!&9ln6mX1t7i4~SW%Zm@zc@HehL3HI&M z44vU&HxMj?oKEnOvFN6sV ziC15F}Rnj_A14pCC7>z6Rpe{PeNC`(X(=STxc0~ zJxm$2SsYKSvKMFtouoDdG*L|_+ns$IGr`WO!FiLEu5CD|lpxuJh=N1rt+7LOOTYo; zxh+cId9(O$`t;8vkOU;tQSUqogk(oFGtcxQV%|bEG(v~4wk$W8S)+K67nKV^*n}xV zxP^pxjy);lO#5UbI8In$_avL3#M;qQjsz8p8mRi}?g zx%A6}Q0V&b;-f7=J!Lh#*yIhT)nOzZ<`?8ERWV@SBjOeHSZs$64k1NAHJ4?wi(k9kuP5zZ zvHhWD5-kxQgG#CU)gGEvgh#pq&D5N9>?5REv*iWxJ4ehXS+M8d(6t~BzfeCx7L-jc zG<@9KD3Oi?`QE!oHm(FxO{l%BG80I&&fwP!v|Hl%Q52a3!UQQ!IGNoh%$&Gl<{r2U z)h56Xta2h)KTcQHDbb;o`rM6!qX$>t!&zCL+t$F0+cc*l6!*Y&SA$A@ps zPG%Je_5)1xeYTrK1FPw4v`Yg*p%)RhO(^_lzEOyoj0pPkf?~$+0&zG%ovq<6s2gw6 zLR}Dg@zO~aSglS~-mvX1A*S7rSWYQ$T2YEROD0C`!- zbijD?2^8ir@qT;%ls;fq$u{j#`zFsF^ap*%-VGp(je?0R&q&51HO!NzFY!BzuZ(F% zsWOUXt$IrtCr76~ymb#XY&ndeIKn2riQq9}OnPGxdGrceITl?-I@TkDDgm{YRx@Jn zhhima2lZetE7DLSSot3!3l7g5jd6#nzH3(X=IZjHQ!7&HB0MbR4xk(K^npkzrx9r@ za*Y*j7_|vkYIm9K*3a?g(oPbWxdSKNo?2hqaTDIJCl%O%p_adXq8AOno+>ye&L!zH6_^4gq;?+*C|#s*iOc0?KZNwrMjkc))HM%LweN8Xxivza zj3I>^yDV}I8=h&nQXT#XZT2-KDlgCvxJ}bUBmHSMgg5Kbysn5WF3N>_GHItcKrQ0P z-IW&Lh6AIfMDJb2c<2gENbl-Q;z&&-P2=W&FQ=#V>TD|rD$T!-c`Re(BFw;dskSy) z)^0&8!h`h_Z&XtF5>q;JLMZyhUP`9;inBv9Rs=1jWtC3>OF0PhN~}+|Cu3o>jbtCy zvVGhvh`J{Dj*n?lya&7}3|o6Sj-Uvhg_ir8Mf=_MOwqNQ4_QnX3MVIOf|lRxji>-|F zu2Ve(WSe1?7Koiz_^P=`Y}K$wE+8O@T#qRAeNbMba(c)(h1$}%=hPB1@eg@m$hPzq z?;qSCEAa*zNPC!|2K!(#=)ZoriF-p3%1rdzeo|;?S&jNmsaLawW-zk|DKfQ?Ki!LXS0~*f7|ewjWe73MWTO?e zC?&^!^91vc*fO%7x!&qT)D^BVaA45U?#6y{p`U8CzaMAy43607x#7&!2e4p*E9qHI z8?GBGdOJXzhGjItBTdYo+dfa|Oko>{Wv7Y>t~IQdF?}RZO<$MTti+z7?DyhW{Vtmp zi~YE)elANrD#zZLz+x=*$#si~OAUH4qjn$-4D6_oB1xix zK=qP*Kqpf?(nzNpsaLFr?bQNlDgchAS5wIyB_KuG>bRPJp<>AEIqLF6dE8o4@-x18 zPS7O95pbZjNBa>j!gOSmkjjj(2e8=jmVNUK4Rlw);Ib~49$YD#ZYxa~>EWE$D~s5v z(hx;(XL%JHh(wyZLg9Et{V{XtfD^eXj}y6N2Pb>@2*zsesxUxjR}`Ro^vJ?`^cb%7 zsxokK8ONure|h-G^ZsYYKr4I4j5}|~(sKGTEaJzuEN4bMY(`I})2r}!Mk4j`y}~!g z(jE*4)SaW&@XE3g`|(@ud65*&4HxRM{%%5J7Iug@PjZ zj6EVkf4qM5qQtTrAyC4bbsw5(Ux>z&9)o?CEdW#zCDl`skxtw7s64AW_PV=k8lK6! zlO5?7SB^C%%O&1L&rBp*M+O~vyrwcjGX>HJ1oo8&tLF1rxNhV*amKfM_EyeGzXZ?{ z&Lm_BvJSNC8{GE_ifH(64Hb(`HBuQbOIH~ip9<-0x2Q}0f)c1x-yV*so-$VCvD()* z=Cpzxrfq7bn@2hccOJ+l`(zETtRZm~nTQb3cZp-BjrCOW|Hi}RwKyhGtu4s9J$#-WzO&(N)kDzuOy|MWu&F3~<3!Y9eN9Sy7 z78aKDy`s^7i|`96SA&r-?YLKZW{*^;H0o8mwZwE&PWzl|sKkSGP0^Nej8xvZc4{>j zO6u4n*j4V55vO3$*Jnzh1h*z0^_p(nXR}(3yIL)N*<*=66rz?6aU$CT_)RrTGHN+R z4lrDc!830*g;1B~e9`01=8iQeNi({Oym+`7w4WRO{fD0@#dwDxRPXln@{>&SsAh^< zHm<=EEHKS%4|TU4A@j;i6m7W5j-_s-F43}k{sCH)JXrYwB3)kR(F$5FjfQk^J12?< zi1+YIMK^mLq;Xi3Yt{-l`y|-jINsKDocz0(4qdzkT(*!J^jKeZR9OSklpX59$!rVa zOFsP~@es{d!KNDZ$Rz3=lzmwvYUGEjk`FWyiJiDqZ&qj6k>vTth*h&(%kNxqhYB`p zq^{F|=nAY9$B zX4O@{-TOtLWaXafHi9X)WQFGthHl#%ZTMJ^a1-`23_)AuYsxxV(DxphH|=yP#w|D3li5dh7><_=`=+VQON^Cq z()zwC6FeX(MN;oOo$+b&b!k&hfn85F>AR7@cPj^N9%Bnpd47HurGHLcb_r5OqSg-m z&3h5%?BZ6Hz8o!Q>pzb#Ak3T?W9O4xQw`4?eJuyV!mkEA!?nqSS54ud4mGNTwvPP<1sqmB&Z9{MR?AtZk*PoZuuV3%T zD|D*EYkElAT*)cf*GKKJ67;xYT_F??zW4XApEbljpQ#jL7OfzQ#C54r7&+GxMSP84 z0>zz%&R|RCvE)knA(&BRO_Clq%o@Uz23e^3*x32{YdA1qXSi{#5v)$y+~la*j=mep zZ0WW7MV_U@(%$6h9whxDAiyK3BuS*ZQcu?H4SgVcRb0^$UGzH?@#HeSC!a( z1>CypYRy=psPm@)m2h3iD*rAE+$ zZ}PBdSXyBcDQW5mHFUy8xa%?66Q5fA=6LH*Sxc8Yrz^nf3FYPo0UX8%>!g#lFaxxs z+l}4T_l)AYS&F)MvEgB!U6Pm9m=cA_nuVb3LjD5nh8w>}c#JgKUbIuFM}sVB`6xgN z5sf&=e^bhAVqCm($C0>JWP9Vu__R_;+A@~&Lr|F`|LC;EfBcs*`d{@hOD}f!U#hNa zpQw<(*E8A}{>45Lb|qG{*0*&qwQ>B%kS$M1^K)#D_$~v3x-8hW4cD6GI~gK^BwV_g z=lflvNvSyEIVvA%I~R(SV*BSczlkHZ=Vh1Z&$u0HNM%MhKCdBflL>E+aqkwg|JHHM zAh82HD6;zspg&*!nxf9(5JAA;F;D_BPnZ(;=a667N6RNqA?Fy0P=%>rC?mV3b!vdj zeanCp8)Hp{D_OOibrj`81&hhoKk|rxf0?6FefY+?=2Bk37UJY1byU}!N11P4Muj%P zPxZ5LY*+kfAuIbCS}K*|Ga#+Avmq!g;YY-h6$Zl0SPE zpg@YpWP_EkH3lgak-%)B;9B$u>HY=~B{GEl5B5 z**Gw%!&*#ky`0k7+o2@5OOt+!bEUlcE?rifFR#keQ*YehI06Ge-KZ<~ko36^6s?gz zCL_;1rRx2PM04rzEe8>AY&yv?DiD)uvL*4_rNqOuqSB_ac}Vfuuw0?Gyq47bqfCRT zkAI}BYCB#RRhc{rjvN9BU%e_dB7Xv7b;VI~cw{sY(5)Cuu^Po5@VSHo+%XOB)b~QA z#U&X#hD^bpi)kH1eT7f%l@6X^CpsF7kc8bX?PZY?OY3p-dHo3sb%c2y+xfUbh6><~ zlJeFpQ4+y>b2GRVg4)~GKQ&TLK;8gRuSbMht2$u{sp>k4If?H4`)SxOMTN%wA@7-P8hH}!Ue=uF`l zGXLm{g=L_1073%*Q-`Ho*f4?BI zS(hTcxq7;X-~6fyP2^wIo!9M0uNCSY?xBm+KS4;!&54r}>?f~Z96#Y?)P`v6QZvWT z*1T8m*jiV;6YlK1&^6LO_)viWBT#?uG&mOP6hP0hmU#9SEt_=EzN2M#9Fy zErL_R2EcN&!3zW^@IZ2ncP7g0!lyk?dJW2X(#8epGL|MVp*hE9*`n5R^ayB^zjIz` za(f=s6T2nUO0cfU9li~!2el9yu$OxHTnGhAMAKv~%luq`LP3Mcy4`$tCeuwO}d@Bg8o> zj+hA&%;F@H-w{N0&<)+cHQHGQTpP8B?8Q8gM+H}mzZnyW2}I(-Xd9a`o)kRe!rUy@ z>*+`6n-K2NCK89{=jz;eD2UPlTrIc2RcK1h98gZavsRAVUT(k{skNGRr_NJ67zC{S z9LOun@=+U4LbaUMO8K)sU6aej$E2BSLm7NZcoq?z1C|ueR5^UFy30F58)yMMFiY{_ zLA?xPe-ZjpjxeXz4;|%gMwz3WT|?lIxeaJ5!yD|V@Z>*-^_Mj?XW-!yGnH zMlz%`I&LL@$110nLe_Z|rXTRDGxOUv>MoH2d0Vyg?Ygw{l^Y|rlp@k|sfh=Qi_m*L+Wc+RLrkwUkSeD^ zG@62HbrQw|RM=YVTtMYZK24xjmS3z+A0l*5!Zs(zZ!Juosh%Y{y(X4epb)9M^gSnx zCfqU)+AKlTI=CQzJ3~v z1`;7^o(u8CjglpdzA<$PUPDU5fOrK`O*AqSHxUt4dleC<)mrnE=A1C#sD2L%_X-C! zLGC_r?Y)jX*_`K9@v&QR!Y2}-z!5cHkVN9pSXsr%RJD66PcX6ga0n=^fP$l_{l=#$ zaW@-M%1%)3G{vIO4QtUmey^62EO~^SD-Xr8Q*XAcSSzg*2}sz&iM_PgCTXM{>52EK z_fGO%Hgn)oxx-9Y&m0Lm8vny-JT23@Ft6mG<^ z;TvCGz^Rj1w#P`Ai%xloVj`r`e3MtNVJ_lQQ=CurHer%pzb9V|{nDLZCT^+;4=Frv z52}rPPYoA4UCLE)q&`tequT#z$=n=Ixr`-at0Lu^wKDrQ_J+o;FPFag$NO?Rf_Gf7 zuZSYwT$&s-!%z(+O@!ecxgLC1d5novd0cwy$y1_E!8>>;qas1ov`+~#%#vCS1-(C= zz+9wVcFZ_9(yuMppBVkzHmA6HJKqm2fom6ltP*?ewmcs{MfwTMFjqV}7_U8sJzTJF z&O7@0YyaWba-U2zKT5MIq?c&6H%FgTZisr97y(8!BeMi82A(_#>~v!H_w>Um>a`1@;HPOhM`UpFvksr_U+To9Uk>s;O%4ttvD`!@ga?LBk4%8} z;@D)s8?30UQa?^W%i*70=;geyNR0C>-X1bf50~Ye>OfQ@bMs<1bKROVDe^KJ8Y>CO zmY9Z`kS$$6bmZT@ijzxgYWm(t-pnU)V_Qy6^0Pigm@l@yJU>`&4 zkZnw8gKfwb&MjkWXbmhVJK0v}wL4(XkikMGQhSP}0{H@sNcd?$dY?^;a?B?pT43i- zoX63mq-jxYRMD=~`t3o|p(?sE99p1x^Z&=$J4RX7E!(1rN~_YgZQHhO+s>-AZQHhO z+qP}L+~?eT&)xgIKi_L@uC~_iSYyVB=+S$Rdy8q;o?QlEY3zHo#aiCU=ML0~JRS&V;6*Q${nX|G3!f+;KK%DwEf>jI zKkkk5+~PuzNN0$T_t_42VX+7!g`yDd&vCGGm@k!_i_Ax41N>0poPR+)%opaX1j+cOjde7BhiMl?YNk z0U8XQiWv-r1`R|g!pze+)2zt{4AFf8QoSN6!$j7Xz~+ZwAU_BF?yuony~?J}p~LFI z1PaW>20MMgPZKperu)oaLd$8G56cd7NKju8gQAmtQzzkL02@AWRH1tU(N6~G8%56aiwQY1sp6 ztd-I-T+BXJ*LB3%wRGu9zH*b6zk(8PNuD|@HCT++R_@5!@!lsqU>g!#d2igGft~i& zw7ny!5{j9NDjz=p9)DVK^R3b}CT&ShdGi12+x|7{qkC!MK>aChiopQ@SpU(LW9;at zZ))uLzX}`WONDh2BgLY3TgC#OIcXfEdOCGaZEbq0e(hK5{sFr|O9byzORn{; z7Lp1V8+Qw-PJIy(5+OMz37=WjR2f3i85!w~xd~Cfn`oxi57>u$Of-Pr6?co>Wtt%j&kG)6bIv|FV&c-!Xy8FzTnUvjo=}F|sN%Y~j4Zm@ zyb1hx5PG(#yQTu>P`29$K9IU{#RAdT*guPs)(v#S-@d}3xC6OlTiimL? zV{qzv)9f0Xv`Dep0w`-}kJS*oxC{&>Q+3FNx>IMhxuc`?I!5?lVO0-=FyeuV6Qbvx} zWt^_#dEy`@)-r?q7$|Ovb2_%ta-d~UEagkY=8icCiP;p+_caI-7r%J#@rxhL{^KQ? z+K?kie2PNNUt)MLNGhx_GRA3mS;ZUhen^oNG-HE^PN6X9{DJUS-jw&P<|-VV5Pthzerde%VTqCi+M zc2qsL0Hi<>AZVr`{45}RPBAc8r`Tvc&`RJb#MUV>+z!Bf>}y+u4^ZYz(Ohw_Mew=e z=}>#9Geeb`o#3)v!tb5|>H_PD0q$`Uj1dS~4!kf}qv~I*D0#SeGBPlo{KKc+1>tT( z&o{);;xX3nlKjMu{KT=NGn^sEF;&a4EkZ~TAwCAr1bAZdPMG?x{%lkD+4+uV)CuQI z)9li^j7&NDwv=LVx_uPY;qYJL+=kPqw&189Z34D-=g^y4p+T(<>6F};TBnC&nXpwG zhZ5N%i9S^u@huEJiM?iwS3Ju>d6PY0@~7CRxu9*40xiDlBDtNuI{7oRJ=*zrEHk!9 z1)!i20tr&j5F<}LZ2o+ooWrEHx2Na?#kd+g5UB^yZDxF+=8A|$nZ-|}r!CGNp2DA8 zMJS&W?Wui`S5u@q`>UU z>XrxLKm;vZRG~Q+EyBx&beTd*fgcuBdhdZuYU)W<;rAwIXo9vd-R}{iV=u>}jgdr( zxjmI4NxT=YF?1*)-`_( zJRj5B{8iyURc|GRWPzPyG|jiUuXxkDio#=|OZ!+`%@r?k5J$OM!WGY&J`S-@dl;S8 zym5ryEVek~#Or{IIE01Wxb~{S3d4anQ1)FH%?`|gV|Vu-{)9q03^tWN*UIeA=O2kV z&N$7_&djsAh1w$W=P&vFSn9}XvjsKHB23)o+_YT-3hYPSGMhHzf1cF-=^N;C0A^ujA!lt%P8b#lVqsEd-nRXR2K07#R^%#v! z9(+I{6;zc)zjZGA_+)B2^E*{CYM7-WxTbdC(%9X!Xo{1}QlFMv_GW@pfVnyCc7Q}f zhK(%vau?oByC+|1Kgd<@h=8l|N2R|A^53!=rKgHxkXD z(tjB=dZ)A5TR>YY@Qj&~BZF>E?F9J%I}cc?*sh! zGjjgRo>48xP=jLE-_?Zsek*XO4Z5l0j7L*tg+D|Sp^$+lkd4H{rnlh#ze^24^Q?{}G5csO z;c&I0a8RW>Md^EfT~w^9m~tRp8_>$dhDvXG;SbVX6~*9wYlh3phf{-Ohd9}lH2BcL z1{+Mz3${KiM_6|rBH9=N!eFx6j}Iwp)z=1uLzlnB6Sg{JdIPz(N{Q#Q&(`Q!q9(Hve&d{O^jdQue>}72b;TRYNM8vOa&oI$IVjZ}Ir~ z$-qH{JFNGAH(UM4DTCl@+2he6p}`02`#FyT zy$ATHoy?U!W?n(05epPb^`6V#)pUZD?yv>*#Dl>t=05YhZ3;MC-yp z>)>qTWNvLt`)`(4iu`JVwl+4#hX0qUA~UkrqVHddm02?;&<5KXf74*_LQ{As?gX3; zH|_nr*h#7jlD&HO6X1v30SFzBD`>`kFy8HtEn8jy$OG~@By{}sHTI8;!sOLnim%4))3B|=E%~I(Q()|pW zk7YJmaJ+-;G5t%a2o?mBOWALLB;2A9T_2++UE^qg)ry~=$3 zJl=)xfrq6a%hTb9ctpN)(dux%jmmw{4wqwC;LsgZy5T#4xF!}k9VHihl`>DvU_`N#1Qu}dyoTyntji(WB=(h#*-(J#4Q^DI) zQ>a@+7siiPoV@P)3zvv{V!-&qd_N69m0r+vYw z#pTHaJ^5V~JCDXgyNcU?t02X6%9*6M4c6qk24#0aMy8O9NNVX=2-m&yfj8W10ovFr z`O@&t2%w`!NU0=j?fZck_})FT9B!n6qjPkCSSM38@m1Nu4SX=Rv_4cG@x;;J-OI6x z;Vyh(0OM>GHyHH%>)-$Mj?xbdg`XDE1L+@%!vF6V;lC40q1wA9(lWY_sX7{(2tNUQ z2hq}6OI-{z$xwSKf&%?t48C8M>-y;WlNT2poR+gJ%Q|x;)@kA9it!E7KfmT#=;6V| z(~DT&xjysX9zLg_>j_JcKYV|7#IYZHcfYfa|M_|!H3hip?S`=$a>w3gi0S!Zi{Dsd zN28Yv?cd!5K+7)elXFp*Uyq!%*S%#yZ?oP&`{e8ggJRrNba=`H;f~%IqGz$*Aa=-w zyRg6H`6l1gML~gT+=lhO^Hvg0PaC-@2W5}j$zOGn^q)Vj__7LB>5lB`V!R-4C7{}l zZmo0pRPM8KY|Y+Qftt~^YcD@>V3#Y^Nn)IVRowDW+PWTxM+H$7$1K|E$~MJJCyd#c zFkBmnI9{n8T`WbYx_oMFO(kr0943-b4cB%`$>LkSf>c{NGzX>4-jymg73Ve{H#jei zu_bY4oj!MFaQftAI1X7w2gg-$pIWZC+#?O&Pt|IXi=yZ(*Mlspg2Qca_31tE$#Vb$ z7%U=ldr~D6*FG9TF=iR(L;})k>Wh#dtgN4REA8cfF z%lgM_#6cwQtxXP}G*9)RC7PX#wz}xD^ICWUFO~FXlCU3R)pulY1*ePuAsF6S>taeQ zH36P9^Q<}yP?*u&Z~6|=rr><|99uY23&F1A^urIck5|$t8%P0 za&g?K36oY7cgd?Zl62p6E?U=E-~qYS(nqBp@0g_MGN0KhIJwN#-$MDCgsRT~rkEam z>K0vU-foz9N#Y!l>rBDAYKa`4Akkm6;HR|SX(xJ6LSB}>R}FGKs{Z7Ffg#Qoo%4$E z3&@nhybX)<_tlB?sC{H+i}=&~1{U?Zi@3Z}_@P>S*>nrVpSYxJ#v+X>*I@iOOjjtK z-@a=hK|-O+uG9pe-qjh8<5`=EHGUSxGX$}5oXI5xWQxTJ5Rm+jsd_ARh)Jf#=*LQu zvY96rS4sKGRQU;?LZq@3l!~b~$)xuIB%G#csz%&46LOEifiOP5IrC{jQi znaimF4Vx*4ng|xrM`6OA72#v=#|3DV{Ac~=z!Z{krSS0mC$tHj6`yi4KaMO}S+3zh zBu{%KLCVXe4vr9tyu03r>$T%Tpqfrz zdU;TAvx?!g4uUv>ItN?fI*6inqe8qCGFBWTrqwu3c(gTd)e&S zzO;w_*~upP3Z%5kk*uR~^zzwUsNruSq2%+gT?eCforulq@;1-vFr}xr>trd@zvP04 zyX5u3qjY&3kwLN}KCTczo+h`5{ z1RI`Lm#;62f*!!%TNOKY7)1}`hvVR1eH{t4qJ(*h%8Lz=_BU)wtF*3KU%KPgxz7A? z-E^!ey^xCVuClnGr5FG7&xh3+1a_uW?Q|_~!ArV?Ag09&XW(HvZ$nyvWl3tG&Sb@% zg-N6;<2%4H=+=6;Hx};BJP48epu6fibVHMDELs--B2t`|3Y;ZlNvhvgQkH$swEAfVYu5nx!4|IlT~hv|^tA#Q^xz{lME_c(56W zl0>nJ(nbFT;$CJ=c+*%r%IpJe>vdzad9^S80oD8`SqdpeHbes-;ZErtytdZqBvgxZ zh}tp`OP&~H;4)ZWriUEX4yrI>HrD&QI!ZB}yhx0oc}BC2F-U1HP!&tVkjLhat2UCO}=h1ww z0TP%%9N{F^fI9HbY>54gRldVIID3!sV)i-YZl_P`8%=ToxQ}GR8P*~e>Cj>LgL!Lg zvcu{xwZH3}98d~81{uN=LqUk*Go}ZvG;w1Wf{E-;5ML|+Dk~2w?k8U#kkL-fnRJDu z=P$W0y)0B^7qL6By-vV!*52cuRl$0jE!8;`nc4q}L`BQ*4WBNM&V-SsvdZq#a8Z8)@ncNS`A*a0 zW|<;&^EG#gN$Uup&@w{P$bG9OfWU%c2&1r7N0gT?iW{4#-&%^d?ss@G%rcmZ()S{qQ6z^W9yjey9q*U zqwtCL6%+2xqrnBrGA0VWgt<{3+|x`+JK&?)yTg{9#WSkp$T(+5e*_RNEI~f0E zMfbMVN8XCMZ5H~Vc1svqT%dqcy=~6vQASn|hd<{V8QUXc!aN2$;dB~nrw>{S$z?Gp ziA1vy1dVKELt_}p9w}GO@i%zXp=xaaSMf*1kP#F|mocP>3ea0e8e;C*iYAuFs;KBe zxSPZd;-{Y&qo(KFt_{*b*8CGet1V=R20W_1k@%OYtf5)rmOT)a^T3?#K>F2aW zR}B#ZKLu1kVEFEPXl|ySe8x{a`7D!+_w_4kflqI8M27#jQllr#c5_FM3wHPPQ)Fnw zAh9T= z-G1LkOdRG-_3*C+?y9S!i?Fd=1ZVE#)|ZCeXwV>3aQ(wb=>n=V^)BQRZ0)KPBHu42 zV%e$mrHZ^11``outJc^f&#U@Y>XCj0hQb=6Ux^|#VQ9=ImopOJ$vPs(5mG9PvQdB0 zT3R(R&ioAA+#xcy!wuzi{c?Br{)m;XyuSU}@5m{=U|@XZfN4v3i0x}BUk=Zp^d3AI zIWys&=P;H`98|t+2u+D1!J3ng&g9VPrNMrmE!n4owOFYwD>5y7&v@Wk zp1xt5iXZF4L8Rsw%wt@ZesxbMC8}7T;RUhVHFK&BnuH> zBZ3o=zh$Q5RaIs^NhhtX@!$FlYpD&<*X$7CD}047MY9qC?JNaQ2MLxV7%aC7qT(cN zrs^ly-VyEK5^a&s=@6=%pe!NOnq5|Q zc7jIEAr2ivM#82&G5eOudg?uz+KX)g)X#E%h!k)`xdg2D;G4oW2(9)x!^d{;Ih5nUR``Ga6-?8z+Fy1et*U3> z+A=10O^8kZX5JN32*1qu#wfLlJ~i z^RX>}aYbQlZzpt+9d95QI+5JS4o#RKnZ8PRum;zh0SyRa;49J?w7>p1gvk-Qie=Ju zDnHR=({UP%=-SbjUnv1PM;0C7sXcN-%Q>X+QvWe0vaW=FV3!8zkfJEZE@RN6KzGdE zkJ-cCx*xu(W5G&TN06MYTR-un-DGo1`($E%H|JP^O9mjcNFrI;-W}fW0`>Fx;8cb{ zh6SYDEovvPQ8_9k%XY8q=4iR~4d;uMj#k=(-i?>v4h?mC?XjeAUZ!G5Vah=jBsd~Y zHT~x$yBsQuCTN!zdTm-Pqqv77Cc}|$!FWhnSqY`@v2_Dbq&yLbGSjDn4X;HFTD&=f zw8ATQmq;kkR0gAbD5}s0Hz~Orh~knho&q4pLQ0QMTAg;QJ&-DjZU#G`HW(>0KMHEl zB6?xv`D=B?gXle<#T8=a{=Pr+96B~l=t=L6zWN1&g_mI-Bg!qinz5p@=NY(?tp{1) zPc6g~l~*AExn{xkg9<_7QOFiu7DM;I8q3rW))-5|@Z^i!%PnOjvP#OoDSElaxPe6;~z{ZcAZAu@(PDk-&*UFhR`T#chikRM!D;}_cvrjDn`fsJqP}R`z%?I|O zMeMQLLWk(K@Tumi1=r`gW85VF9u(vBOwseb{pMSo1+19ST(2vn)!Vi^1p`IrdE(o` z_BVpVM?~dQD8|2@4v=%sf@+yytqKp!0mc zABOo$qr%PA6Ar;b%e`OASj07rJIPDi6*<-|^ z91G2W4H2IaPM1K!Cb6CUWLSAf7AYOg?vkK#N|U=xAz9}lQ1Z0TD4v2rMh#bIMmAZC z7Uadq9U@A=1uwGN(o&(Z8!&1}&+|KWBbq1p*Pm<%XM>&~J^A_S!-bVWH zd`GY;`&}!ssWa?z=U?(C6USdZ|1r;%j0e(Y{y8n5KRVcdG|&CFPJ}S6fcpNBO zVK-jz>(GD>X!LS|JE@dod9K7;AYKWwkq|@q6lQ%LNX3Mk_yC0dnKTv6MX4?W7HCl8 z!Mc`sW~Svs8vlmE_BK;a=;nLmb*0Us!X_y}>T?z4%{1lAqQg@X)%2uNb{lO*=&KUq zc`{J*`vAFG>gZ;!px{oz4lb|RN(~kOyb87cUFA-J9)u8=jpagg zam&hoiu!b5j1!i-^Q`QgtlbQg=xYoo1Or;u9$p=ma^E}}yg8{;h4!J1ik zKP!1!;?l-!%``Q}haI_tEsH$pq<%E51*rU-!|Ui}x$4XW_GY%`26c^#pjH(YG3BF|1U7csGiaj0y(KGhNc_$l~2D-ppt$M7Pkh)8sFuZljtRO*t=VA<0 zPtEJ2H1xm4x+z|ObSYkbB@=Zh++g~s-jLH!z5ok3gTy!V@sygN;jxWDQj}2ah)K9r z<^*x{2kw8WS)GX_azZ*;f!CMz0Pt^|MrY!0>AR_H<>2-AiJpV?tCG?PpPF~=cm^x< z*v-0F^kSuHs*yRvFi+z_i`rUbyN{xOqimiT-a26oGV{v4fVA!6mfu1Gx->GnqKv?m zym@VFBX^>^M3>E%Gv>UenQ^u*d0mIG474Yb`+U&EFrjUfxjTQWngr@Jiufy_**p+w zU$zTbw`Pp_n6aI$@{@6iZ=)eT$RiB3{06=o3WR-;RRH`Jm*Af^OQ8Xb(`z}KCgmpf z#3sKhBHJ^F=`#5%E}uIp~K51c|nQ`W`J(Y@+1dak{Lc5wG!ZP)wlEF&b7&=6r0 z-7$>qXs?L=^Xu;+)z|t7Tf=+LF0m;jrl|YaevUqI;rMQ7LrJm>=m6L*`xH38vF|&B z4`61#pLzO#Xx`S*2)?;!GfsqXnMTJ;b@5s++Q2)5xWK!X|$8*=UKp|C#xNum2JUX)n0W zF&Ns_ZgjIW$s;=tP4mf0?ca`dQb=13C8 zGC3{BsMdntqL@+})THUGmPj-(C(Jr$e-jXOlgya~ETPZlRAA?DZXp!R zNs3HY(R6wF6Pq~`VXE=v;QCO4L&W9XDMvZCp(PgcGmd@d1Q8_CS zgqVSN%9HeW)xZ|DC>9D4!IBYU@~?A}nme^f3%QX>Gn#xpy^Tb`Bu?ME3|G+%m2Of5 zXsishCVmon#3JV8kMz1YJK~uk$S?||VtYx1xTANa?8uJDLNt)@Va#rREN0bWGZ#KU zCRbg+v{86cy4MAw1;3)mkEx_HHUv!2S9zhg=98zR$s7xb zN0nMbBJZ_n$l0C{L-tIIrDN(eBx#8TqJ>bjS6YARq-2gCe|90NPAkZm0)iZiS7Y^U zGYKiMOOi4s_Lpo{&E5n8F(EvR#8C|psbe|3#LanWI8k2YQ7HedQ11?reFEJ~EzTb! z9v-J4@bq{uQZ&_ig&tEvVW^Um+O82QdD)$AfmTzIdN)0Ke7H?@g$_XPvqMm1R z=-gYRgu-DHcg`!+G0q>|bceg)7jAK}7H)L0ad!k^zUP1N$nzJqARQ2G^1~&iqN+Nf z>iHTOQ6PG3d32uWdgj7Y3e0ro#C*!=yE6&Z);5g%A&MKPER5oEF9gN?#b46W3-%yQ zrxtP0AQp91UKU|Rkj~0P2hAmfYPxXfqitzrMW+^R6ifExH1mtl&IMHx0UJ`cn}rr* z;6`y*OAA!mlSP%}4y9FNLK5B3hYU(35`n_md2HlVFG9uhuryTM7X)0FzYjB)izk^_ z8INI-Ip1JjS1dTCh5kT27+{@5#YOc^dy zJAw;R*hL{!v2?HehT2OAazx|2W66nl+SHI9mNyOz6-*6^I~XSVgyGBLZqp=<7T~cV z|327F=jUFcwKQc3lJe&`fFT;jgJSnpP}1O5kTM=7^cLkp_;{qec%U>l%-m!;6H!!D zfDB|5Eu7xvA6wcr%ZR`LNF7Noie*fG2>&>e%s2O5mDjLqQv2}8S;@2BX^AZdXLtb) z`$YE4{dnJ9Ye7ZVwsTAyHCI7p`s0pT_pC-FbIcYx@i&}3C^nc4(jKD75Nrz1sZAO> zyFc|WGiSH}x#dt&6cQ3N(~acO8HYi8%d`EELHDobH}?(2g@7;jvhmes zv{o3?(O-Wq7MN6U?9S@U!fnt9)s{@Jy^nAzj&I2q-Tj_4FfXvLbVa9U zgFe_o4tmevGv^#c5ROti)FD@cHekx%D+fLfE>AX(uKmZV45BuZK1eoH+u?b@o>Zw@ zCb&F2`!y2Q8Sa`#2i{+O~uJEiloF z^T+n6xKQn{;4SH$-`oY8(r3?m+GDryAm{f9P_}vS(g)u(4tfUh#G}Je&jT1X0+8%Y zcqhMp4l87mp{vVcdwguH@#RJR$vI1s;CQ5C&1!B<|E))&v_1uQaHzQAlU|yDv}yJ+ zm8uNsfbLeL!I!Di{s_{rmjWnk%({O{Sg@Qp=7YKF$RF^^BrN49ti%y#JsS5rHhZ<{ z>VZq1JF3%ODF~KlobGn0`Z)bo4VsY)?U6Gfow>?$PETDFH*>HdL^YKy;BIiOt3I46 zX3x#Yu*dwOeMAn2r96W82pc7h1&WFm48A!YZ^=0Vn3RcId5r`5v$tQ=4@6-%ND?

    Dl_LhkbIlb%hv$b#o9W%k0_ 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/maven/maven.iml b/plugins/maven/maven.iml index 7439d442e72e..23e9cf02df7f 100644 --- a/plugins/maven/maven.iml +++ b/plugins/maven/maven.iml @@ -121,6 +121,7 @@ + From 3936b0a3d01a47b05f870b863b97f010ee8a9d25 Mon Sep 17 00:00:00 2001 From: Kirill Kalishev Date: Wed, 5 May 2010 17:44:52 +0400 Subject: [PATCH 082/173] WI-1835 - EDT assertion while loading settings ui in background --- .../openapi/application/ex/ApplicationEx.java | 2 ++ .../application/impl/ApplicationImpl.java | 22 +++++++++++++++++++ .../options/newEditor/OptionsEditor.java | 13 ++++++++--- .../com/intellij/mock/MockApplication.java | 4 ++++ 4 files changed, 38 insertions(+), 3 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/application/ex/ApplicationEx.java b/platform/platform-impl/src/com/intellij/openapi/application/ex/ApplicationEx.java index a59f69738d88..69f6416d242b 100644 --- a/platform/platform-impl/src/com/intellij/openapi/application/ex/ApplicationEx.java +++ b/platform/platform-impl/src/com/intellij/openapi/application/ex/ApplicationEx.java @@ -99,6 +99,8 @@ public interface ApplicationEx extends Application { void assertIsDispatchThread(@Nullable JComponent component); + void runEdtSafeAction(@NotNull Runnable runnable); + /** * Grab the lock and run the action, in a nonblocking fashion * @return true if action was run while holding the lock, false if was unable to get the lock and action was not run diff --git a/platform/platform-impl/src/com/intellij/openapi/application/impl/ApplicationImpl.java b/platform/platform-impl/src/com/intellij/openapi/application/impl/ApplicationImpl.java index 255dd7b794c0..ef743df0fb33 100644 --- a/platform/platform-impl/src/com/intellij/openapi/application/impl/ApplicationImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/application/impl/ApplicationImpl.java @@ -141,6 +141,8 @@ public class ApplicationImpl extends ComponentManagerImpl implements Application private Boolean myActive; + private static ThreadLocal ourEdtSafe = new ThreadLocal(); + protected void boostrapPicoContainer() { super.boostrapPicoContainer(); getPicoContainer().registerComponentImplementation(IComponentStore.class, StoresFactory.getApplicationStoreClass()); @@ -857,12 +859,32 @@ public class ApplicationImpl extends ComponentManagerImpl implements Application } if (ourDispatchThread == currentThread) return; + Integer safeCounter = ourEdtSafe.get(); + if (safeCounter != null && safeCounter < 1) return; + LOG.error(message, "Current thread: " + describe(Thread.currentThread()), "Our dispatch thread:" + describe(ourDispatchThread), "SystemEventQueueThread: " + describe(getEventQueueThread())); } + public void runEdtSafeAction(@NotNull Runnable runnable) { + Integer value = ourEdtSafe.get(); + if (value == null) { + value = Integer.valueOf(0); + } + + ourEdtSafe.set(value + 1); + + try { + runnable.run(); + } + finally { + int newValue = ourEdtSafe.get() - 1; + ourEdtSafe.set(newValue >= 1 ? newValue : null); + } + } + public void assertIsDispatchThread(@Nullable final JComponent component) { if (component == null) return; diff --git a/platform/platform-impl/src/com/intellij/openapi/options/newEditor/OptionsEditor.java b/platform/platform-impl/src/com/intellij/openapi/options/newEditor/OptionsEditor.java index 4a06e76e6ee4..0f5a67f23b3b 100644 --- a/platform/platform-impl/src/com/intellij/openapi/options/newEditor/OptionsEditor.java +++ b/platform/platform-impl/src/com/intellij/openapi/options/newEditor/OptionsEditor.java @@ -22,7 +22,9 @@ import com.intellij.ide.util.PropertiesComponent; import com.intellij.openapi.Disposable; import com.intellij.openapi.actionSystem.DataKey; import com.intellij.openapi.actionSystem.DataProvider; +import com.intellij.openapi.application.Application; import com.intellij.openapi.application.ApplicationManager; +import com.intellij.openapi.application.ex.ApplicationEx; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.options.*; import com.intellij.openapi.options.ex.GlassPanel; @@ -321,11 +323,16 @@ public class OptionsEditor extends JPanel implements DataProvider, Place.Navigat myConfigurable2LoadCallback.put(configurable, result); myLoadingDecorator.startLoading(false); - ApplicationManager.getApplication().executeOnPooledThread(new Runnable() { + final Application app = ApplicationManager.getApplication(); + app.executeOnPooledThread(new Runnable() { public void run() { - ApplicationManager.getApplication().runReadAction(new Runnable() { + app.runReadAction(new Runnable() { public void run() { - initConfigurable(configurable).notifyWhenDone(result); + ((ApplicationEx)app).runEdtSafeAction(new Runnable() { + public void run() { + initConfigurable(configurable).notifyWhenDone(result); + } + }); } }); } diff --git a/platform/testFramework/src/com/intellij/mock/MockApplication.java b/platform/testFramework/src/com/intellij/mock/MockApplication.java index ea834c98f34a..b1a6dd7a2c28 100644 --- a/platform/testFramework/src/com/intellij/mock/MockApplication.java +++ b/platform/testFramework/src/com/intellij/mock/MockApplication.java @@ -261,6 +261,10 @@ public class MockApplication extends MockComponentManager implements Application public void assertIsDispatchThread(@Nullable final JComponent component) { } + public void runEdtSafeAction(@NotNull Runnable runnable) { + runnable.run(); + } + public boolean tryRunReadAction(@NotNull Runnable runnable) { return false; } From 03cf091a9cb5299b57eab496079fd96ff32883a4 Mon Sep 17 00:00:00 2001 From: anna Date: Tue, 4 May 2010 16:09:03 +0400 Subject: [PATCH 083/173] typo --- .../openapi/updateSettings/impl/UpdateSettingsConfigurable.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/updateSettings/impl/UpdateSettingsConfigurable.java b/platform/platform-impl/src/com/intellij/openapi/updateSettings/impl/UpdateSettingsConfigurable.java index 876b9c19f9ff..c1645cdf3f26 100644 --- a/platform/platform-impl/src/com/intellij/openapi/updateSettings/impl/UpdateSettingsConfigurable.java +++ b/platform/platform-impl/src/com/intellij/openapi/updateSettings/impl/UpdateSettingsConfigurable.java @@ -293,7 +293,7 @@ public class UpdateSettingsConfigurable extends BaseConfigurable implements Sear public void actionPerformed(final ActionEvent e) { try { if (UpdateChecker.checkPluginsHost(getTextField().getText(), new ArrayList())) { - showInfoMessage(myParentComponent, "Plugins Host was sucessfully checked", "Check Plugins Host"); + showInfoMessage(myParentComponent, "Plugins Host was successfully checked", "Check Plugins Host"); } else { showErrorDialog(myParentComponent, "Plugin descriptions contain some errors. Please, check idea.log for details."); } From f706a89cabeb8ea0e8f75e57497c0b18a4a0ecb4 Mon Sep 17 00:00:00 2001 From: anna Date: Tue, 4 May 2010 17:48:04 +0400 Subject: [PATCH 084/173] plugin repository: check for since/until range ( IDEA-26013 ) --- .../openapi/updateSettings/impl/PluginDownloader.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/platform/platform-impl/src/com/intellij/openapi/updateSettings/impl/PluginDownloader.java b/platform/platform-impl/src/com/intellij/openapi/updateSettings/impl/PluginDownloader.java index 1343e05fc333..6732d7adf5f4 100644 --- a/platform/platform-impl/src/com/intellij/openapi/updateSettings/impl/PluginDownloader.java +++ b/platform/platform-impl/src/com/intellij/openapi/updateSettings/impl/PluginDownloader.java @@ -34,6 +34,7 @@ import com.intellij.openapi.extensions.PluginId; import com.intellij.openapi.progress.ProgressIndicator; import com.intellij.openapi.progress.util.ProgressIndicatorBase; import com.intellij.openapi.ui.Messages; +import com.intellij.openapi.util.BuildNumber; import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.util.io.StreamUtil; import com.intellij.openapi.util.text.StringUtil; @@ -140,6 +141,15 @@ public class PluginDownloader { LOG.info("Plugin " + myPluginId + ": current version (max) " + myPluginVersion); return false; //was not updated } + final BuildNumber currentBuildNumber = ApplicationInfo.getInstance().getBuild(); + final BuildNumber sinceBuild = BuildNumber.fromString(descriptor.getSinceBuild()); + if (sinceBuild != null && sinceBuild.compareTo(currentBuildNumber) > 0) { + return false; + } + final BuildNumber untilBuild = BuildNumber.fromString(descriptor.getUntilBuild()); + if (untilBuild != null && untilBuild.compareTo(currentBuildNumber) < 0) { + return false; + } } return true; } From 0e66e93cf64c10482f0edc2f6246bf6666f99bd3 Mon Sep 17 00:00:00 2001 From: "Rustam.Vishnyakov" Date: Wed, 5 May 2010 18:09:01 +0400 Subject: [PATCH 085/173] PHP alignment rework (related to EA-20311 - assert: WhiteSpace.append) --- .../templateLanguages/TemplateLanguageBlock.java | 7 ++++++- .../templateLanguages/TemplateLanguageBlockFactory.java | 2 ++ .../TemplateLanguageFormattingModelBuilder.java | 4 ++-- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/formatting/templateLanguages/TemplateLanguageBlock.java b/platform/lang-impl/src/com/intellij/formatting/templateLanguages/TemplateLanguageBlock.java index 7d1575c24fb8..92e084325957 100644 --- a/platform/lang-impl/src/com/intellij/formatting/templateLanguages/TemplateLanguageBlock.java +++ b/platform/lang-impl/src/com/intellij/formatting/templateLanguages/TemplateLanguageBlock.java @@ -64,7 +64,8 @@ public abstract class TemplateLanguageBlock extends AbstractBlock implements Blo for (ASTNode childNode = getNode().getFirstChildNode(); childNode != null; childNode = childNode.getTreeNext()) { if (FormatterUtil.containsWhiteSpacesOnly(childNode)) continue; if (shouldBuildBlockFor(childNode)) { - final TemplateLanguageBlock childBlock = myBlockFactory.createTemplateLanguageBlock(childNode, createChildWrap(childNode), null, mySettings); + final TemplateLanguageBlock childBlock = myBlockFactory + .createTemplateLanguageBlock(childNode, createChildWrap(childNode), createChildAlignment(childNode), null, mySettings); childBlock.setParent(this); tlChildren.add(childBlock); } @@ -133,5 +134,9 @@ public abstract class TemplateLanguageBlock extends AbstractBlock implements Blo protected Wrap createChildWrap(ASTNode child) { return Wrap.createWrap(Wrap.NONE, false); } + + protected Alignment createChildAlignment(ASTNode child) { + return null; + } } diff --git a/platform/lang-impl/src/com/intellij/formatting/templateLanguages/TemplateLanguageBlockFactory.java b/platform/lang-impl/src/com/intellij/formatting/templateLanguages/TemplateLanguageBlockFactory.java index cecc32749d6b..c6f2a3a80148 100644 --- a/platform/lang-impl/src/com/intellij/formatting/templateLanguages/TemplateLanguageBlockFactory.java +++ b/platform/lang-impl/src/com/intellij/formatting/templateLanguages/TemplateLanguageBlockFactory.java @@ -15,6 +15,7 @@ */ package com.intellij.formatting.templateLanguages; +import com.intellij.formatting.Alignment; import com.intellij.formatting.Wrap; import com.intellij.lang.ASTNode; import com.intellij.psi.codeStyle.CodeStyleSettings; @@ -31,6 +32,7 @@ import java.util.List; public interface TemplateLanguageBlockFactory { TemplateLanguageBlock createTemplateLanguageBlock(@NotNull ASTNode node, @Nullable Wrap wrap, + @Nullable Alignment alignment, @Nullable List foreignChildren, @NotNull CodeStyleSettings codeStyleSettings); } diff --git a/platform/lang-impl/src/com/intellij/formatting/templateLanguages/TemplateLanguageFormattingModelBuilder.java b/platform/lang-impl/src/com/intellij/formatting/templateLanguages/TemplateLanguageFormattingModelBuilder.java index da82a98880f3..a6027b2104a1 100644 --- a/platform/lang-impl/src/com/intellij/formatting/templateLanguages/TemplateLanguageFormattingModelBuilder.java +++ b/platform/lang-impl/src/com/intellij/formatting/templateLanguages/TemplateLanguageFormattingModelBuilder.java @@ -59,14 +59,14 @@ public abstract class TemplateLanguageFormattingModelBuilder implements Delegati return createDummyBlock(node); } if (builder == null) { - return createTemplateLanguageBlock(node, Wrap.createWrap(WrapType.NONE, false), Collections.emptyList(), settings); + return createTemplateLanguageBlock(node, Wrap.createWrap(WrapType.NONE, false), null, Collections.emptyList(), settings); } final FormattingModel model = builder.createModel(viewProvider.getPsi(dataLanguage), settings); List childWrappers = buildChildWrappers(model.getRootBlock()); if (childWrappers.size() == 1) { childWrappers = buildChildWrappers(childWrappers.get(0).getOriginal()); } - return createTemplateLanguageBlock(node, Wrap.createWrap(WrapType.NONE, false), filterBlocksByRange(childWrappers, node.getTextRange()), settings); + return createTemplateLanguageBlock(node, Wrap.createWrap(WrapType.NONE, false), null, filterBlocksByRange(childWrappers, node.getTextRange()), settings); } protected AbstractBlock createDummyBlock(final ASTNode node) { From 6593ee7e41444547f1796f56dc24e6fda8a0370a Mon Sep 17 00:00:00 2001 From: Roman Shevchenko Date: Wed, 5 May 2010 16:20:20 +0400 Subject: [PATCH 086/173] typo --- .../intellij/find/findUsages/PsiElement2UsageTargetAdapter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/lang-impl/src/com/intellij/find/findUsages/PsiElement2UsageTargetAdapter.java b/platform/lang-impl/src/com/intellij/find/findUsages/PsiElement2UsageTargetAdapter.java index 12c384bc4a29..8e2fa77fb07b 100644 --- a/platform/lang-impl/src/com/intellij/find/findUsages/PsiElement2UsageTargetAdapter.java +++ b/platform/lang-impl/src/com/intellij/find/findUsages/PsiElement2UsageTargetAdapter.java @@ -120,7 +120,7 @@ public class PsiElement2UsageTargetAdapter implements PsiElementUsageTarget, Typ final FindUsagesHandler handler = findUsagesManager.getFindUsagesHandler(target, true); Collection refs; - // in case of injected file, use host file to highlight all occurences of the target in each injected file + // in case of injected file, use host file to highlight all occurrences of the target in each injected file PsiFile context = InjectedLanguageUtil.getTopLevelFile(file); SearchScope searchScope = new LocalSearchScope(context); if (handler != null) { From faec1e2d629b9a24328216bd0b9ffb0f458c0561 Mon Sep 17 00:00:00 2001 From: Roman Shevchenko Date: Wed, 5 May 2010 16:45:50 +0400 Subject: [PATCH 087/173] Tets data highlighting for AspectJ files --- .../testFramework/TestDataHighlightingPassFactory.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/platform/testFramework/src/com/intellij/testFramework/TestDataHighlightingPassFactory.java b/platform/testFramework/src/com/intellij/testFramework/TestDataHighlightingPassFactory.java index 7aac28221f38..0e9cc91cf4c6 100644 --- a/platform/testFramework/src/com/intellij/testFramework/TestDataHighlightingPassFactory.java +++ b/platform/testFramework/src/com/intellij/testFramework/TestDataHighlightingPassFactory.java @@ -40,7 +40,9 @@ public class TestDataHighlightingPassFactory extends AbstractProjectComponent im public static final List SUPPORTED_FILE_TYPES = Arrays.asList( StdFileTypes.JAVA.getDefaultExtension() ); - public static final List SUPPORTED_IN_TEST_DATA_FILE_TYPES = Arrays.asList("js", "php", "css", "html", "xhtml", "jsp", "test", "py"); + public static final List SUPPORTED_IN_TEST_DATA_FILE_TYPES = Arrays.asList( + "js", "php", "css", "html", "xhtml", "jsp", "test", "py", "aj" + ); private static final int MAX_HOPES = 3; private static final String TEST_DATA = "testdata"; From 8ae067b418b7c477527e38e0bb5a3d5fe9aea7fd Mon Sep 17 00:00:00 2001 From: Roman Shevchenko Date: Wed, 5 May 2010 18:12:15 +0400 Subject: [PATCH 088/173] Highlight usages test added to fixture --- .../testFramework/fixtures/CodeInsightTestFixture.java | 4 +++- .../fixtures/impl/CodeInsightTestFixtureImpl.java | 8 ++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/platform/testFramework/src/com/intellij/testFramework/fixtures/CodeInsightTestFixture.java b/platform/testFramework/src/com/intellij/testFramework/fixtures/CodeInsightTestFixture.java index 8f8006d2924c..5207a02eea19 100644 --- a/platform/testFramework/src/com/intellij/testFramework/fixtures/CodeInsightTestFixture.java +++ b/platform/testFramework/src/com/intellij/testFramework/fixtures/CodeInsightTestFixture.java @@ -23,10 +23,10 @@ import com.intellij.codeInspection.InspectionProfileEntry; import com.intellij.codeInspection.InspectionToolProvider; import com.intellij.codeInspection.LocalInspectionTool; import com.intellij.codeInspection.ex.InspectionTool; -import com.intellij.find.findUsages.FindUsagesOptions; import com.intellij.openapi.editor.Document; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.editor.markup.GutterIconRenderer; +import com.intellij.openapi.editor.markup.RangeHighlighter; import com.intellij.openapi.fileTypes.FileType; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.PsiElement; @@ -277,6 +277,8 @@ public interface CodeInsightTestFixture extends IdeaProjectTestFixture { Collection findUsages(final PsiElement to) throws Exception; + RangeHighlighter[] testHighlightUsages(String... files); + void moveFile(@NonNls String filePath, @NonNls String to, final String... additionalFiles) throws Exception; /** diff --git a/platform/testFramework/src/com/intellij/testFramework/fixtures/impl/CodeInsightTestFixtureImpl.java b/platform/testFramework/src/com/intellij/testFramework/fixtures/impl/CodeInsightTestFixtureImpl.java index 0146adc33f0d..57df4aa752ec 100644 --- a/platform/testFramework/src/com/intellij/testFramework/fixtures/impl/CodeInsightTestFixtureImpl.java +++ b/platform/testFramework/src/com/intellij/testFramework/fixtures/impl/CodeInsightTestFixtureImpl.java @@ -29,6 +29,7 @@ import com.intellij.codeInsight.daemon.DaemonCodeAnalyzer; import com.intellij.codeInsight.daemon.DaemonCodeAnalyzerSettings; import com.intellij.codeInsight.daemon.HighlightDisplayKey; import com.intellij.codeInsight.daemon.impl.*; +import com.intellij.codeInsight.highlighting.HighlightUsagesHandler; import com.intellij.codeInsight.intention.IntentionAction; import com.intellij.codeInsight.intention.impl.ShowIntentionActionsHandler; import com.intellij.codeInsight.lookup.LookupElement; @@ -613,6 +614,13 @@ public class CodeInsightTestFixtureImpl extends BaseFixture implements CodeInsig return processor.getResults(); } + public RangeHighlighter[] testHighlightUsages(final String... files) { + configureByFiles(files); + final Editor editor = getEditor(); + HighlightUsagesHandler.invoke(getProject(), editor, getFile()); + return editor.getMarkupModel().getAllHighlighters(); + } + public void moveFile(@NonNls final String filePath, @NonNls final String to, final String... additionalFiles) throws Exception { assertInitialized(); final Project project = myProjectFixture.getProject(); From 94155eebbe030d9b8970e01fc7fd9acf4c9d6ad2 Mon Sep 17 00:00:00 2001 From: Roman Shevchenko Date: Wed, 5 May 2010 18:13:29 +0400 Subject: [PATCH 089/173] IDEA-54582 (find enclosing class by context traversal) --- .../daemon/impl/analysis/HighlightClassUtil.java | 9 +++++---- java/openapi/src/com/intellij/psi/util/PsiUtil.java | 4 +++- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightClassUtil.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightClassUtil.java index baec1e02f339..e1d7f102d660 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightClassUtil.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/analysis/HighlightClassUtil.java @@ -43,6 +43,7 @@ import com.intellij.psi.impl.source.jsp.jspJava.JspClass; import com.intellij.psi.search.GlobalSearchScope; import com.intellij.psi.util.*; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import java.util.ArrayList; import java.util.Collection; @@ -747,6 +748,7 @@ public class HighlightClassUtil { return place == aClass; } + @Nullable public static HighlightInfo checkCreateInnerClassFromStaticContext(PsiNewExpression expression) { PsiType type = expression.getType(); if (type == null || type instanceof PsiArrayType || type instanceof PsiPrimitiveType) return null; @@ -791,19 +793,18 @@ public class HighlightClassUtil { return null; } + @Nullable public static HighlightInfo reportIllegalEnclosingUsage(PsiElement place, PsiClass aClass, PsiClass outerClass, PsiElement elementToHighlight) { - if (outerClass != null && !PsiTreeUtil.isAncestor(outerClass, place, false)) { + if (outerClass != null && !PsiTreeUtil.isContextAncestor(outerClass, place, false)) { String description = JavaErrorMessages.message("is.not.an.enclosing.class", HighlightUtil.formatClass(outerClass)); return HighlightInfo.createHighlightInfo(HighlightInfoType.ERROR, elementToHighlight, description); } PsiModifierListOwner staticParent = PsiUtil.getEnclosingStaticElement(place, outerClass); if (staticParent != null) { String description = JavaErrorMessages.message("cannot.be.referenced.from.static.context", - outerClass == null - ? "" - : HighlightUtil.formatClass(outerClass) + "." + PsiKeyword.THIS); + outerClass == null ? "" : HighlightUtil.formatClass(outerClass) + "." + PsiKeyword.THIS); HighlightInfo highlightInfo = HighlightInfo.createHighlightInfo(HighlightInfoType.ERROR, elementToHighlight, description); // make context not static or referenced class static IntentionAction fix = QUICK_FIX_FACTORY.createModifierListFix(staticParent, PsiModifier.STATIC, false, false); diff --git a/java/openapi/src/com/intellij/psi/util/PsiUtil.java b/java/openapi/src/com/intellij/psi/util/PsiUtil.java index 533180026e22..1f925d7967d0 100644 --- a/java/openapi/src/com/intellij/psi/util/PsiUtil.java +++ b/java/openapi/src/com/intellij/psi/util/PsiUtil.java @@ -557,11 +557,13 @@ public final class PsiUtil extends PsiUtilBase { } /** + * @param place place to start traversal + * @param aClass level to stop traversal * @return element with static modifier enclosing place and enclosed by aClass (if not null) */ @Nullable public static PsiModifierListOwner getEnclosingStaticElement(PsiElement place, @Nullable PsiClass aClass) { - LOG.assertTrue(aClass == null || !place.isPhysical() || PsiTreeUtil.isAncestor(aClass, place, false)); + LOG.assertTrue(aClass == null || !place.isPhysical() || PsiTreeUtil.isContextAncestor(aClass, place, false)); PsiElement parent = place; while (parent != aClass) { if (parent instanceof PsiFile) break; From 3623640f31f56609abff4e7658b55ebb59c601b9 Mon Sep 17 00:00:00 2001 From: Kirill Kalishev Date: Wed, 5 May 2010 18:46:34 +0400 Subject: [PATCH 090/173] AsyncProcessIcon transparency fix --- .../src/com/intellij/ui/treeStructure/Tree.java | 3 ++- .../src/com/intellij/util/ui/AnimatedIcon.java | 15 +++++++-------- platform/testFramework/testFramework.iml | 1 + 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/platform/platform-api/src/com/intellij/ui/treeStructure/Tree.java b/platform/platform-api/src/com/intellij/ui/treeStructure/Tree.java index 3b1599b5672c..6cc0baf83f94 100644 --- a/platform/platform-api/src/com/intellij/ui/treeStructure/Tree.java +++ b/platform/platform-api/src/com/intellij/ui/treeStructure/Tree.java @@ -180,7 +180,8 @@ public class Tree extends JTree implements ComponentWithEmptyText, Autoscroll, Q private void updateBusy() { if (myBusy) { if (myBusyIcon == null) { - myBusyIcon = new AsyncProcessIcon(toString()).setUseMask(true); + myBusyIcon = new AsyncProcessIcon(toString()).setUseMask(false); + myBusyIcon.setOpaque(false); myBusyIcon.setPaintPassiveIcon(false); add(myBusyIcon); } diff --git a/platform/platform-api/src/com/intellij/util/ui/AnimatedIcon.java b/platform/platform-api/src/com/intellij/util/ui/AnimatedIcon.java index b5cd7eeb8e8b..5764bf40dbeb 100644 --- a/platform/platform-api/src/com/intellij/util/ui/AnimatedIcon.java +++ b/platform/platform-api/src/com/intellij/util/ui/AnimatedIcon.java @@ -98,10 +98,8 @@ public abstract class AnimatedIcon extends JComponent implements Disposable { boolean changes = myAnimator.isRunning() != running; if (running) { - setOpaque(true); myAnimator.resume(); } else { - setOpaque(myPaintPassive); myAnimator.suspend(); } @@ -161,19 +159,20 @@ public abstract class AnimatedIcon extends JComponent implements Disposable { Container p = getParent(); if (p instanceof JComponent) { JComponent parentComponent = (JComponent)p; - RepaintManager.currentManager(p).addDirtyRegion(parentComponent, b.x, b.y, b.width, b.height); - parentComponent.paintImmediately(b); } } finally { myPaintingBgNow = false; } } else { - final Component opaque = UIUtil.findNearestOpaque(this); - if (opaque != null) { - g.setColor(opaque.getBackground()); - g.fillRect(b.x, b.y, b.width, b.height); + Container parent = getParent(); + if (parent instanceof JComponent) { + final Component opaque = UIUtil.findNearestOpaque((JComponent)parent); + if (opaque != null) { + g.setColor(opaque.getBackground()); + g.fillRect(b.x, b.y, b.width, b.height); + } } } diff --git a/platform/testFramework/testFramework.iml b/platform/testFramework/testFramework.iml index 853d1ec8ed2a..3e78d5b91b15 100644 --- a/platform/testFramework/testFramework.iml +++ b/platform/testFramework/testFramework.iml @@ -5,6 +5,7 @@ + From ccc69a376495aa1b5cbf5f990ed2cac53a426528 Mon Sep 17 00:00:00 2001 From: Kirill Kalishev Date: Wed, 5 May 2010 18:47:58 +0400 Subject: [PATCH 091/173] Revert "AsyncProcessIcon transparency fix" This reverts commit 3623640f31f56609abff4e7658b55ebb59c601b9. --- .../src/com/intellij/ui/treeStructure/Tree.java | 3 +-- .../src/com/intellij/util/ui/AnimatedIcon.java | 15 ++++++++------- platform/testFramework/testFramework.iml | 1 - 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/platform/platform-api/src/com/intellij/ui/treeStructure/Tree.java b/platform/platform-api/src/com/intellij/ui/treeStructure/Tree.java index 6cc0baf83f94..3b1599b5672c 100644 --- a/platform/platform-api/src/com/intellij/ui/treeStructure/Tree.java +++ b/platform/platform-api/src/com/intellij/ui/treeStructure/Tree.java @@ -180,8 +180,7 @@ public class Tree extends JTree implements ComponentWithEmptyText, Autoscroll, Q private void updateBusy() { if (myBusy) { if (myBusyIcon == null) { - myBusyIcon = new AsyncProcessIcon(toString()).setUseMask(false); - myBusyIcon.setOpaque(false); + myBusyIcon = new AsyncProcessIcon(toString()).setUseMask(true); myBusyIcon.setPaintPassiveIcon(false); add(myBusyIcon); } diff --git a/platform/platform-api/src/com/intellij/util/ui/AnimatedIcon.java b/platform/platform-api/src/com/intellij/util/ui/AnimatedIcon.java index 5764bf40dbeb..b5cd7eeb8e8b 100644 --- a/platform/platform-api/src/com/intellij/util/ui/AnimatedIcon.java +++ b/platform/platform-api/src/com/intellij/util/ui/AnimatedIcon.java @@ -98,8 +98,10 @@ public abstract class AnimatedIcon extends JComponent implements Disposable { boolean changes = myAnimator.isRunning() != running; if (running) { + setOpaque(true); myAnimator.resume(); } else { + setOpaque(myPaintPassive); myAnimator.suspend(); } @@ -159,20 +161,19 @@ public abstract class AnimatedIcon extends JComponent implements Disposable { Container p = getParent(); if (p instanceof JComponent) { JComponent parentComponent = (JComponent)p; + RepaintManager.currentManager(p).addDirtyRegion(parentComponent, b.x, b.y, b.width, b.height); + parentComponent.paintImmediately(b); } } finally { myPaintingBgNow = false; } } else { - Container parent = getParent(); - if (parent instanceof JComponent) { - final Component opaque = UIUtil.findNearestOpaque((JComponent)parent); - if (opaque != null) { - g.setColor(opaque.getBackground()); - g.fillRect(b.x, b.y, b.width, b.height); - } + final Component opaque = UIUtil.findNearestOpaque(this); + if (opaque != null) { + g.setColor(opaque.getBackground()); + g.fillRect(b.x, b.y, b.width, b.height); } } diff --git a/platform/testFramework/testFramework.iml b/platform/testFramework/testFramework.iml index 3e78d5b91b15..853d1ec8ed2a 100644 --- a/platform/testFramework/testFramework.iml +++ b/platform/testFramework/testFramework.iml @@ -5,7 +5,6 @@ - From 65036599cf3de3917eb6ff2d59b98d984981ef84 Mon Sep 17 00:00:00 2001 From: Kirill Kalishev Date: Wed, 5 May 2010 18:48:55 +0400 Subject: [PATCH 092/173] Revert "Revert "AsyncProcessIcon transparency fix"" This reverts commit ccc69a376495aa1b5cbf5f990ed2cac53a426528. --- .../src/com/intellij/ui/treeStructure/Tree.java | 3 ++- .../src/com/intellij/util/ui/AnimatedIcon.java | 15 +++++++-------- platform/testFramework/testFramework.iml | 1 + 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/platform/platform-api/src/com/intellij/ui/treeStructure/Tree.java b/platform/platform-api/src/com/intellij/ui/treeStructure/Tree.java index 3b1599b5672c..6cc0baf83f94 100644 --- a/platform/platform-api/src/com/intellij/ui/treeStructure/Tree.java +++ b/platform/platform-api/src/com/intellij/ui/treeStructure/Tree.java @@ -180,7 +180,8 @@ public class Tree extends JTree implements ComponentWithEmptyText, Autoscroll, Q private void updateBusy() { if (myBusy) { if (myBusyIcon == null) { - myBusyIcon = new AsyncProcessIcon(toString()).setUseMask(true); + myBusyIcon = new AsyncProcessIcon(toString()).setUseMask(false); + myBusyIcon.setOpaque(false); myBusyIcon.setPaintPassiveIcon(false); add(myBusyIcon); } diff --git a/platform/platform-api/src/com/intellij/util/ui/AnimatedIcon.java b/platform/platform-api/src/com/intellij/util/ui/AnimatedIcon.java index b5cd7eeb8e8b..5764bf40dbeb 100644 --- a/platform/platform-api/src/com/intellij/util/ui/AnimatedIcon.java +++ b/platform/platform-api/src/com/intellij/util/ui/AnimatedIcon.java @@ -98,10 +98,8 @@ public abstract class AnimatedIcon extends JComponent implements Disposable { boolean changes = myAnimator.isRunning() != running; if (running) { - setOpaque(true); myAnimator.resume(); } else { - setOpaque(myPaintPassive); myAnimator.suspend(); } @@ -161,19 +159,20 @@ public abstract class AnimatedIcon extends JComponent implements Disposable { Container p = getParent(); if (p instanceof JComponent) { JComponent parentComponent = (JComponent)p; - RepaintManager.currentManager(p).addDirtyRegion(parentComponent, b.x, b.y, b.width, b.height); - parentComponent.paintImmediately(b); } } finally { myPaintingBgNow = false; } } else { - final Component opaque = UIUtil.findNearestOpaque(this); - if (opaque != null) { - g.setColor(opaque.getBackground()); - g.fillRect(b.x, b.y, b.width, b.height); + Container parent = getParent(); + if (parent instanceof JComponent) { + final Component opaque = UIUtil.findNearestOpaque((JComponent)parent); + if (opaque != null) { + g.setColor(opaque.getBackground()); + g.fillRect(b.x, b.y, b.width, b.height); + } } } diff --git a/platform/testFramework/testFramework.iml b/platform/testFramework/testFramework.iml index 853d1ec8ed2a..3e78d5b91b15 100644 --- a/platform/testFramework/testFramework.iml +++ b/platform/testFramework/testFramework.iml @@ -5,6 +5,7 @@ + From 2be6d74d86518def441dff270df330e4913af6cc Mon Sep 17 00:00:00 2001 From: Gregory Shrago Date: Wed, 5 May 2010 20:22:43 +0400 Subject: [PATCH 093/173] IDEA-54592 Add "Search for" to "Database Console" result window --- .../src/com/intellij/ui/SpeedSearchBase.java | 83 +++++++---- .../src/com/intellij/ui/TableSpeedSearch.java | 131 ++++++++++++++++++ .../util/src/com/intellij/ui/TableUtil.java | 10 +- 3 files changed, 192 insertions(+), 32 deletions(-) create mode 100644 platform/platform-impl/src/com/intellij/ui/TableSpeedSearch.java diff --git a/platform/platform-impl/src/com/intellij/ui/SpeedSearchBase.java b/platform/platform-impl/src/com/intellij/ui/SpeedSearchBase.java index 30755be2056b..1b78bc8b7508 100644 --- a/platform/platform-impl/src/com/intellij/ui/SpeedSearchBase.java +++ b/platform/platform-impl/src/com/intellij/ui/SpeedSearchBase.java @@ -29,6 +29,7 @@ import com.intellij.openapi.wm.ex.ToolWindowManagerListener; import com.intellij.util.StringBuilderSpinAllocator; import com.intellij.util.ui.UIUtil; import org.jetbrains.annotations.NonNls; +import org.jetbrains.annotations.Nullable; import javax.swing.*; import javax.swing.text.AttributeSet; @@ -41,6 +42,8 @@ import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.beans.PropertyChangeListener; import java.beans.PropertyChangeSupport; +import java.util.Arrays; +import java.util.ListIterator; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.regex.PatternSyntaxException; @@ -92,6 +95,11 @@ public abstract class SpeedSearchBase { protected abstract void selectElement(Object element, String selectedText); + protected ListIterator getElementIterator(int startingIndex) { + final Object[] allElements = getAllElements(); + return Arrays.asList(allElements).listIterator(startingIndex < 0? allElements.length : startingIndex); + } + public void addChangeListener(PropertyChangeListener listener) { myChangeSupport.addPropertyChangeListener(listener); } @@ -191,62 +199,80 @@ public abstract class SpeedSearchBase { } } + @Nullable private Object findNextElement(String s) { - String _s = s.trim(); - Object[] elements = getAllElements(); - if (elements.length == 0) return null; - int selectedIndex = getSelectedIndex(); - for (int i = selectedIndex + 1; i < elements.length; i++) { - Object element = elements[i]; + final String _s = s.trim(); + final int selectedIndex = getSelectedIndex(); + final ListIterator it = getElementIterator(selectedIndex + 1); + final Object current; + if (it.hasPrevious()) { + current = it.previous(); + it.next(); + } + else current = null; + while (it.hasNext()) { + final Object element = it.next(); if (isMatchingElement(element, _s)) return element; } - return selectedIndex != -1 ? elements[selectedIndex] : null; // return current + return current; } + @Nullable private Object findPreviousElement(String s) { - String _s = s.trim(); - Object[] elements = getAllElements(); - if (elements.length == 0) return null; - int selectedIndex = getSelectedIndex(); - for (int i = selectedIndex - 1; i >= 0; i--) { - Object element = elements[i]; + final String _s = s.trim(); + final int selectedIndex = getSelectedIndex(); + if (selectedIndex < 0) return null; + final ListIterator it = getElementIterator(selectedIndex); + final Object current; + if (it.hasNext()) { + current = it.next(); + it.previous(); + } + else current = null; + while (it.hasPrevious()) { + final Object element = it.previous(); if (isMatchingElement(element, _s)) return element; } - return selectedIndex != -1 ? elements[selectedIndex] : null; // return current + return selectedIndex != -1? current : null; } + @Nullable private Object findElement(String s) { - String _s = s.trim(); - Object[] elements = getAllElements(); + final String _s = s.trim(); int selectedIndex = getSelectedIndex(); if (selectedIndex < 0) { selectedIndex = 0; } - for (int i = selectedIndex; i < elements.length; i++) { - Object element = elements[i]; + final ListIterator it = getElementIterator(selectedIndex); + while (it.hasNext()) { + final Object element = it.next(); if (isMatchingElement(element, _s)) return element; } - for (int i = 0; i < selectedIndex; i++) { - Object element = elements[i]; - if (isMatchingElement(element, _s)) return element; + if (selectedIndex > 0) { + while (it.hasPrevious()) it.previous(); + while (it.hasNext() && it.nextIndex() != selectedIndex) { + final Object element = it.next(); + if (isMatchingElement(element, _s)) return element; + } } return null; } + @Nullable private Object findFirstElement(String s) { - String _s = s.trim(); - Object[] elements = getAllElements(); - for (Object element : elements) { + final String _s = s.trim(); + for (ListIterator it = getElementIterator(0); it.hasNext();) { + final Object element = it.next(); if (isMatchingElement(element, _s)) return element; } return null; } + @Nullable private Object findLastElement(String s) { - String _s = s.trim(); - Object[] elements = getAllElements(); - for (int i = elements.length - 1; i >= 0; i--) { - Object element = elements[i]; + final String _s = s.trim(); + for (ListIterator it = getElementIterator(-1); it.hasPrevious();) { + final Object element = it.previous(); if (isMatchingElement(element, _s)) return element; } return null; @@ -279,6 +305,7 @@ public abstract class SpeedSearchBase { return true; } + @Nullable public String getEnteredPrefix() { return mySearchPopup != null ? mySearchPopup.mySearchField.getText() : null; } diff --git a/platform/platform-impl/src/com/intellij/ui/TableSpeedSearch.java b/platform/platform-impl/src/com/intellij/ui/TableSpeedSearch.java new file mode 100644 index 000000000000..dae9ddfe2a4f --- /dev/null +++ b/platform/platform-impl/src/com/intellij/ui/TableSpeedSearch.java @@ -0,0 +1,131 @@ +/* + * Copyright 2000-2010 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.intellij.ui; + +import com.intellij.util.containers.Convertor; + +import javax.swing.*; +import javax.swing.table.TableModel; +import java.util.ListIterator; + +public class TableSpeedSearch extends SpeedSearchBase { + private static final Convertor TO_STRING = new Convertor() { + public String convert(Object object) { + return object == null? "" : object.toString(); + } + }; + private final Convertor myToStringConvertor; + + public TableSpeedSearch(JTable table, Convertor toStringConvertor) { + super(table); + myToStringConvertor = toStringConvertor; + } + + public TableSpeedSearch(JTable table) { + this(table, TO_STRING); + } + + + protected boolean isSpeedSearchEnabled() { + return !getComponent().isEditing() && super.isSpeedSearchEnabled(); + } + + @Override + protected ListIterator getElementIterator(int startingIndex) { + return new MyListIterator(startingIndex); + } + + protected void selectElement(Object element, String selectedText) { + final int index = ((Integer)element).intValue(); + final TableModel model = myComponent.getModel(); + final int row = index / model.getColumnCount(); + final int col = index % model.getColumnCount(); + myComponent.getSelectionModel().setSelectionInterval(row, row); + myComponent.getColumnModel().getSelectionModel().setSelectionInterval(col, col); + TableUtil.scrollSelectionToVisible(myComponent); + } + + protected int getSelectedIndex() { + final int row = myComponent.getSelectedRow(); + final int col = myComponent.getSelectedColumn(); + return row > -1 && col > -1? row * myComponent.getModel().getColumnCount() + col : -1; + } + + protected Object[] getAllElements() { + throw new AssertionError("Not Implemented"); + } + + protected String getElementText(Object element) { + final int index = ((Integer)element).intValue(); + final TableModel model = myComponent.getModel(); + final Object value = model.getValueAt(index / model.getColumnCount(), index % model.getColumnCount()); + String string = myToStringConvertor.convert(value); + if (string == null) return TO_STRING.convert(value); + return string; + } + + private class MyListIterator implements ListIterator { + + private int myCursor; + + public MyListIterator(int startingIndex) { + final int total = getTotal(); + myCursor = startingIndex < 0? total : startingIndex; + } + + private int getTotal() { + final TableModel tableModel = myComponent.getModel(); + return tableModel.getRowCount() * tableModel.getColumnCount(); + } + + public boolean hasNext() { + return myCursor < getTotal(); + } + + public Object next() { + return myCursor++; + } + + public boolean hasPrevious() { + return myCursor > 0; + } + + public Object previous() { + return (myCursor--) - 1; + } + + public int nextIndex() { + return myCursor; + } + + public int previousIndex() { + return myCursor - 1; + } + + public void remove() { + throw new AssertionError("Not Implemented"); + } + + public void set(Object o) { + throw new AssertionError("Not Implemented"); + } + + public void add(Object o) { + throw new AssertionError("Not Implemented"); + } + } +} diff --git a/platform/util/src/com/intellij/ui/TableUtil.java b/platform/util/src/com/intellij/ui/TableUtil.java index 4105ecd1bb47..b9f625cc061d 100644 --- a/platform/util/src/com/intellij/ui/TableUtil.java +++ b/platform/util/src/com/intellij/ui/TableUtil.java @@ -49,15 +49,17 @@ public class TableUtil { ListSelectionModel selectionModel = table.getSelectionModel(); int maxSelectionIndex = selectionModel.getMaxSelectionIndex(); int minSelectionIndex = selectionModel.getMinSelectionIndex(); - if(maxSelectionIndex == -1){ + final int maxColumnSelectionIndex = table.getColumnModel().getSelectionModel().getMinSelectionIndex(); + final int minColumnSelectionIndex = table.getColumnModel().getSelectionModel().getMaxSelectionIndex(); + if(maxSelectionIndex == -1 || maxColumnSelectionIndex == -1){ return; } - Rectangle minCellRect = table.getCellRect(minSelectionIndex, 0, false); - Rectangle maxCellRect = table.getCellRect(maxSelectionIndex, 0, false); + Rectangle minCellRect = table.getCellRect(minSelectionIndex, minColumnSelectionIndex, false); + Rectangle maxCellRect = table.getCellRect(maxSelectionIndex, maxColumnSelectionIndex, false); Point selectPoint = minCellRect.getLocation(); int allHeight = maxCellRect.y + maxCellRect.height - minCellRect.y; allHeight = Math.min(allHeight, table.getVisibleRect().height); - table.scrollRectToVisible(new Rectangle(selectPoint, new Dimension(1,allHeight))); + table.scrollRectToVisible(new Rectangle(selectPoint, new Dimension(minCellRect.width / 2,allHeight))); } public static List removeSelectedItems(JTable table, ItemChecker applyable) { From 902265d52e486b27b6b2c4d45f82509b1f949dfd Mon Sep 17 00:00:00 2001 From: Maxim Shafirov Date: Wed, 5 May 2010 18:35:56 +0400 Subject: [PATCH 094/173] Prettier assertion (actually supress in tests) --- .../intellij/openapi/vcs/impl/LineStatusTrackerManager.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/impl/LineStatusTrackerManager.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/impl/LineStatusTrackerManager.java index c75077a03485..11afa03947b8 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/impl/LineStatusTrackerManager.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/impl/LineStatusTrackerManager.java @@ -396,9 +396,7 @@ public class LineStatusTrackerManager implements ProjectComponent { } } - private void trackAwtThread() { - if (! ApplicationManager.getApplication().isDispatchThread()) { - LOG.warn("NOT dispatch thread: " + Thread.currentThread().getName(), new Throwable()); - } + private static void trackAwtThread() { + ApplicationManager.getApplication().assertIsDispatchThread(); } } From 7a53c13e2849bbeb957b245974a998a351ebff6f Mon Sep 17 00:00:00 2001 From: Maxim Shafirov Date: Wed, 5 May 2010 20:29:03 +0400 Subject: [PATCH 095/173] Prettier reporting (remove INFO: prefixes). --- .../src/com/intellij/testFramework/TeamCityLogger.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/platform/testFramework/src/com/intellij/testFramework/TeamCityLogger.java b/platform/testFramework/src/com/intellij/testFramework/TeamCityLogger.java index 15f84ff344ed..4f1ef41e5748 100644 --- a/platform/testFramework/src/com/intellij/testFramework/TeamCityLogger.java +++ b/platform/testFramework/src/com/intellij/testFramework/TeamCityLogger.java @@ -39,7 +39,7 @@ public class TeamCityLogger { public static void info(String message) { if (isUnderTC) { - tcLog(message, "INFO"); + tcLog(message, null); } else { LOG.info(message); @@ -66,7 +66,8 @@ public class TeamCityLogger { private static void tcLog(String message, String level) { try { - FileUtil.appendToFile(reportFile(), level + ": " + message + "\n"); + if (level != null) message = level + ": " + message; + FileUtil.appendToFile(reportFile(), message + "\n"); } catch (IOException e) { LOG.error(e); From 674d0e1e419e228896b989713b5462b5df75f59e Mon Sep 17 00:00:00 2001 From: Roman Shevchenko Date: Wed, 5 May 2010 23:45:01 +0400 Subject: [PATCH 096/173] IDEA-54632 (intersect local scopes by tree if no intersection by context found) --- .../src/com/intellij/psi/search/LocalSearchScope.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/platform/lang-api/src/com/intellij/psi/search/LocalSearchScope.java b/platform/lang-api/src/com/intellij/psi/search/LocalSearchScope.java index 2742ae66ad75..79436963175e 100644 --- a/platform/lang-api/src/com/intellij/psi/search/LocalSearchScope.java +++ b/platform/lang-api/src/com/intellij/psi/search/LocalSearchScope.java @@ -22,6 +22,7 @@ import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; import com.intellij.psi.util.PsiTreeUtil; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import java.util.*; @@ -137,9 +138,12 @@ public class LocalSearchScope extends SearchScope { return ((GlobalSearchScope)scope2).intersectWith(this); } + @Nullable private static PsiElement intersectScopeElements(PsiElement element1, PsiElement element2) { if (PsiTreeUtil.isContextAncestor(element1, element2, false)) return element2; if (PsiTreeUtil.isContextAncestor(element2, element1, false)) return element1; + if (PsiTreeUtil.isAncestor(element1, element2, false)) return element2; + if (PsiTreeUtil.isAncestor(element2, element1, false)) return element1; return null; } From 05dab84a59d276c05db3c8c21b63e270c421de16 Mon Sep 17 00:00:00 2001 From: "Maxim.Mossienko" Date: Thu, 6 May 2010 09:43:18 +0400 Subject: [PATCH 097/173] WI-1856 Zen Coding is broken again --- .../template/zencoding/TemplateToken.java | 26 +++++++++++++++---- .../zencoding/XmlZenCodingInterpreter.java | 20 +++++++------- .../zencoding/XmlZenCodingTemplate.java | 10 +++---- .../template/zencoding/ZenCodingTemplate.java | 2 +- 4 files changed, 37 insertions(+), 21 deletions(-) diff --git a/xml/impl/src/com/intellij/codeInsight/template/zencoding/TemplateToken.java b/xml/impl/src/com/intellij/codeInsight/template/zencoding/TemplateToken.java index bb9b2f96b0f6..87de73101893 100644 --- a/xml/impl/src/com/intellij/codeInsight/template/zencoding/TemplateToken.java +++ b/xml/impl/src/com/intellij/codeInsight/template/zencoding/TemplateToken.java @@ -23,13 +23,29 @@ import java.util.List; /** * @author Eugene.Kudelevsky */ -class TemplateToken extends Token { - final String myKey; - final List> myAttribute2Value; - TemplateImpl myTemplate; +public class TemplateToken extends Token { + private final String myKey; + private final List> myAttribute2Value; + private TemplateImpl myTemplate; - TemplateToken(String key, List> attribute2value) { + public TemplateToken(String key, List> attribute2value) { myKey = key; myAttribute2Value = attribute2value; } + + public String getKey() { + return myKey; + } + + public List> getAttribute2Value() { + return myAttribute2Value; + } + + public void setTemplate(TemplateImpl template) { + myTemplate = template; + } + + public TemplateImpl getTemplate() { + return myTemplate; + } } diff --git a/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingInterpreter.java b/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingInterpreter.java index 2f74ada15052..701785c24965 100644 --- a/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingInterpreter.java +++ b/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingInterpreter.java @@ -321,21 +321,21 @@ class XmlZenCodingInterpreter { private static void invokeTemplate(TemplateToken token, final CustomTemplateCallback callback, int numberInIteration) { - List> attr2value = new ArrayList>(token.myAttribute2Value); - if (callback.isLiveTemplateApplicable(token.myKey)) { + List> attr2value = new ArrayList>(token.getAttribute2Value()); + if (callback.isLiveTemplateApplicable(token.getKey())) { invokeExistingLiveTemplate(token, callback, numberInIteration, attr2value); } else { TemplateImpl template = new TemplateImpl("", ""); - template.addTextSegment('<' + token.myKey); + template.addTextSegment('<' + token.getKey()); if (attr2value.size() > 0) { template.addVariable(ATTRS, "", "", false); template.addVariableSegment(ATTRS); } template.addTextSegment(">"); - if (XmlZenCodingTemplate.isTrueXml(callback) || !HtmlUtil.isSingleHtmlTag(token.myKey)) { + if (XmlZenCodingTemplate.isTrueXml(callback) || !HtmlUtil.isSingleHtmlTag(token.getKey())) { template.addVariableSegment(TemplateImpl.END); - template.addTextSegment(""); + template.addTextSegment(""); } template.setToReformat(true); Map predefinedValues = buildPredefinedValues(attr2value, numberInIteration); @@ -347,10 +347,10 @@ class XmlZenCodingInterpreter { CustomTemplateCallback callback, int numberInIteration, List> attr2value) { - if (token.myTemplate != null) { + if (token.getTemplate() != null) { if (attr2value.size() > 0 || XmlZenCodingTemplate.isTrueXml(callback)) { - TemplateImpl modifiedTemplate = token.myTemplate.copy(); - XmlTag tag = XmlZenCodingTemplate.parseXmlTagInTemplate(token.myTemplate.getString(), callback, true); + TemplateImpl modifiedTemplate = token.getTemplate().copy(); + XmlTag tag = XmlZenCodingTemplate.parseXmlTagInTemplate(token.getTemplate().getString(), callback, true); if (tag != null) { for (Iterator> iterator = attr2value.iterator(); iterator.hasNext();) { Pair pair = iterator.next(); @@ -386,11 +386,11 @@ class XmlZenCodingInterpreter { return; } } - callback.expandTemplate(token.myTemplate, null); + callback.expandTemplate(token.getTemplate(), null); } else { Map predefinedValues = buildPredefinedValues(attr2value, numberInIteration); - callback.expandTemplate(token.myKey, predefinedValues); + callback.expandTemplate(token.getKey(), predefinedValues); } } diff --git a/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingTemplate.java b/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingTemplate.java index ab40993e31d7..be32b814d54e 100644 --- a/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingTemplate.java +++ b/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingTemplate.java @@ -189,13 +189,13 @@ public class XmlZenCodingTemplate extends ZenCodingTemplate { if (token == null) { return null; } - if (useDefaultTag && token.myAttribute2Value.size() == 0) { + if (useDefaultTag && token.getAttribute2Value().size() == 0) { return null; } - if (template != null && (token.myAttribute2Value.size() > 0 || isTrueXml(callback))) { - assert prefix.equals(token.myKey); - token.myTemplate = template; - if (token.myAttribute2Value.size() > 0) { + if (template != null && (token.getAttribute2Value().size() > 0 || isTrueXml(callback))) { + assert prefix.equals(token.getKey()); + token.setTemplate(template); + if (token.getAttribute2Value().size() > 0) { XmlTag tag = parseXmlTagInTemplate(template.getString(), callback, false); if (tag == null) { return null; diff --git a/xml/impl/src/com/intellij/codeInsight/template/zencoding/ZenCodingTemplate.java b/xml/impl/src/com/intellij/codeInsight/template/zencoding/ZenCodingTemplate.java index 9f0257f01e25..f52e11f79b7a 100644 --- a/xml/impl/src/com/intellij/codeInsight/template/zencoding/ZenCodingTemplate.java +++ b/xml/impl/src/com/intellij/codeInsight/template/zencoding/ZenCodingTemplate.java @@ -182,7 +182,7 @@ public abstract class ZenCodingTemplate implements CustomLiveTemplate { if (tokens.size() == 2) { Token token = tokens.get(0); if (token instanceof TemplateToken) { - if (key.equals(((TemplateToken)token).myKey) && callback.findApplicableTemplates(key).size() > 1) { + if (key.equals(((TemplateToken)token).getKey()) && callback.findApplicableTemplates(key).size() > 1) { callback.startTemplate(); return; } From edbc534c407c0412f7d804e283768fd619a813d5 Mon Sep 17 00:00:00 2001 From: anna Date: Thu, 6 May 2010 10:34:13 +0400 Subject: [PATCH 098/173] export correct ref replacements --- .../codeInspection/ex/DescriptorProviderInspection.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/codeInspection/ex/DescriptorProviderInspection.java b/platform/lang-impl/src/com/intellij/codeInspection/ex/DescriptorProviderInspection.java index b56965123654..a6f434de965c 100644 --- a/platform/lang-impl/src/com/intellij/codeInspection/ex/DescriptorProviderInspection.java +++ b/platform/lang-impl/src/com/intellij/codeInspection/ex/DescriptorProviderInspection.java @@ -21,6 +21,7 @@ import com.intellij.codeInspection.reference.RefElement; import com.intellij.codeInspection.reference.RefEntity; import com.intellij.codeInspection.reference.RefModule; import com.intellij.codeInspection.reference.RefVisitor; +import com.intellij.codeInspection.ui.ProblemDescriptionNode; import com.intellij.lang.annotation.HighlightSeverity; import com.intellij.openapi.components.PathMacroManager; import com.intellij.openapi.diagnostic.Logger; @@ -262,8 +263,8 @@ public abstract class DescriptorProviderInspection extends InspectionTool implem for (CommonProblemDescriptor description : descriptions) { @NonNls final String template = description.getDescriptionTemplate(); int line = description instanceof ProblemDescriptor ? ((ProblemDescriptor)description).getLineNumber() : -1; - final String text = description instanceof ProblemDescriptor ? ((ProblemDescriptor)description).getPsiElement().getText() : ""; - @NonNls String problemText = StringUtil.replace(StringUtil.replace(template, "#ref", StringUtil.quoteReplacement(text)), " #loc ", " "); + final PsiElement psiElement = description instanceof ProblemDescriptor ? ((ProblemDescriptor)description).getPsiElement() : null; + @NonNls String problemText = StringUtil.replace(StringUtil.replace(template, "#ref", psiElement != null ? ProblemDescriptionNode.extractHighlightedText(description, psiElement): "") , " #loc ", " "); Element element = refEntity.getRefManager().export(refEntity, parentNode, line); @NonNls Element problemClassElement = new Element(InspectionsBundle.message("inspection.export.results.problem.element.tag")); From eefc33b95f2aaa469614cd0809ab3f9e62838e06 Mon Sep 17 00:00:00 2001 From: Bas Leijdekkers Date: Thu, 6 May 2010 10:04:04 +0200 Subject: [PATCH 099/173] IDEA-20376 (Fix class casting inspection/intension) (cherry picked from commit fb1a3515d470cd6ccfda5093f48c29f4830c63dd) --- .../siyeh/InspectionGadgetsBundle.properties | 2 +- .../CastToConcreteClassInspection.java | 47 +++++++++++++++---- 2 files changed, 40 insertions(+), 9 deletions(-) diff --git a/plugins/InspectionGadgets/src/com/siyeh/InspectionGadgetsBundle.properties b/plugins/InspectionGadgets/src/com/siyeh/InspectionGadgetsBundle.properties index 5022b47253df..bb70c6c3a07c 100644 --- a/plugins/InspectionGadgets/src/com/siyeh/InspectionGadgetsBundle.properties +++ b/plugins/InspectionGadgets/src/com/siyeh/InspectionGadgetsBundle.properties @@ -2,7 +2,7 @@ plugin.InspectionGadgets.description=Adds over 500 new automated code inspection error.message.regexp.malformed.naming.pattern=Malformed Naming Pattern error.message.regexp.malformed.pattern=Malformed Regular Expression Pattern cast.to.concrete.class.display.name=Cast to a concrete class -cast.to.concrete.class.problem.descriptor=Cast to concrete class #ref #loc +cast.to.concrete.class.problem.descriptor=Cast to concrete class {0} #loc class.references.subclass.display.name=Class references one of its subclasses class.references.subclass.problem.descriptor=Class ''{0}'' references subclass #ref #loc class.references.subclass.problem.descriptor.anonymous=Anonymous class references subclass #ref #loc diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/abstraction/CastToConcreteClassInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/abstraction/CastToConcreteClassInspection.java index 16925f51250f..c827384a5a68 100644 --- a/plugins/InspectionGadgets/src/com/siyeh/ig/abstraction/CastToConcreteClassInspection.java +++ b/plugins/InspectionGadgets/src/com/siyeh/ig/abstraction/CastToConcreteClassInspection.java @@ -1,5 +1,5 @@ /* - * Copyright 2003-2007 Dave Griffith, Bas Leijdekkers + * Copyright 2003-2010 Dave Griffith, Bas Leijdekkers * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,27 +15,32 @@ */ package com.siyeh.ig.abstraction; -import com.intellij.psi.PsiTypeCastExpression; -import com.intellij.psi.PsiTypeElement; +import com.intellij.psi.*; import com.siyeh.InspectionGadgetsBundle; import com.siyeh.ig.BaseInspection; import com.siyeh.ig.BaseInspectionVisitor; +import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; public class CastToConcreteClassInspection extends BaseInspection { + @Override @NotNull public String getDisplayName() { return InspectionGadgetsBundle.message( "cast.to.concrete.class.display.name"); } + @Override @NotNull protected String buildErrorString(Object... infos) { + final PsiElement typeElement = (PsiElement) infos[0]; return InspectionGadgetsBundle.message( - "cast.to.concrete.class.problem.descriptor"); + "cast.to.concrete.class.problem.descriptor", + typeElement.getText()); } + @Override public BaseInspectionVisitor buildVisitor() { return new CastToConcreteClassVisitor(); } @@ -47,13 +52,39 @@ public class CastToConcreteClassInspection extends BaseInspection { @NotNull PsiTypeCastExpression expression) { super.visitTypeCastExpression(expression); final PsiTypeElement typeElement = expression.getCastType(); - if (!ConcreteClassUtil.typeIsConcreteClass(typeElement)) { - return; - } if (typeElement == null) { return; } - registerError(typeElement); + if (!ConcreteClassUtil.typeIsConcreteClass(typeElement)) { + return; + } + registerError(typeElement, typeElement); + } + + @Override + public void visitMethodCallExpression( + PsiMethodCallExpression expression) { + super.visitMethodCallExpression(expression); + final PsiReferenceExpression methodExpression = + expression.getMethodExpression(); + @NonNls + final String referenceName = methodExpression.getReferenceName(); + if (!"cast".equals(referenceName)) { + return; + } + final PsiExpression qualifier = + methodExpression.getQualifierExpression(); + if (!(qualifier instanceof PsiClassObjectAccessExpression)) { + return; + } + final PsiClassObjectAccessExpression classObjectAccessExpression = + (PsiClassObjectAccessExpression) qualifier; + final PsiTypeElement operand = + classObjectAccessExpression.getOperand(); + if (!ConcreteClassUtil.typeIsConcreteClass(operand)) { + return; + } + registerMethodCallError(expression, operand); } } } From 3d48f9d23793dc0b56449070c342f8cda3e1ae7b Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Wed, 5 May 2010 22:03:21 +0400 Subject: [PATCH 100/173] more reasonable default help topic (PY-857) --- .../intellij/refactoring/rename/RenamePsiElementProcessor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/lang-impl/src/com/intellij/refactoring/rename/RenamePsiElementProcessor.java b/platform/lang-impl/src/com/intellij/refactoring/rename/RenamePsiElementProcessor.java index 3668febb1a4f..f1d0d0f2bc2b 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/rename/RenamePsiElementProcessor.java +++ b/platform/lang-impl/src/com/intellij/refactoring/rename/RenamePsiElementProcessor.java @@ -93,7 +93,7 @@ public abstract class RenamePsiElementProcessor { if (element instanceof PsiFile) { return "refactoring.renameFile"; } - return null; + return "refactoring.renameDialogs"; } public boolean isToSearchInComments(final PsiElement element) { From 4788ee12fcce7e06cadcdfbeb627d47ab72bf5f2 Mon Sep 17 00:00:00 2001 From: "Maxim.Mossienko" Date: Thu, 6 May 2010 12:04:20 +0400 Subject: [PATCH 101/173] no paired brace insertion on enter or typing { in mxml when e4x was present in script --- .../src/com/intellij/injected/editor/EditorWindow.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/lang-impl/src/com/intellij/injected/editor/EditorWindow.java b/platform/lang-impl/src/com/intellij/injected/editor/EditorWindow.java index 5f01a469f3e2..b9eef1d30246 100644 --- a/platform/lang-impl/src/com/intellij/injected/editor/EditorWindow.java +++ b/platform/lang-impl/src/com/intellij/injected/editor/EditorWindow.java @@ -222,7 +222,7 @@ public class EditorWindow implements EditorEx, UserDataHolderEx { public EditorHighlighter getHighlighter() { EditorColorsScheme scheme = EditorColorsManager.getInstance().getGlobalScheme(); - EditorHighlighter highlighter = HighlighterFactory.createHighlighter(myInjectedFile.getFileType(), scheme, getProject()); + EditorHighlighter highlighter = HighlighterFactory.createHighlighter(myInjectedFile.getVirtualFile(), scheme, getProject()); highlighter.setText(getDocument().getText()); return highlighter; } From c607d1fea13e9bf5c3c963eec62bf3f2c2aca0ac Mon Sep 17 00:00:00 2001 From: Bas Leijdekkers Date: Thu, 6 May 2010 13:36:10 +0200 Subject: [PATCH 102/173] Only allow i/o resource classes in "I/O resource opened but not safely closed" inspection tree class chooser and i18n --- .../siyeh/InspectionGadgetsBundle.properties | 2 + .../ig/resources/IOResourceInspection.java | 9 +++- .../siyeh/ig/ui/TreeClassChooserAction.java | 42 +++++++++++++++---- 3 files changed, 44 insertions(+), 9 deletions(-) diff --git a/plugins/InspectionGadgets/src/com/siyeh/InspectionGadgetsBundle.properties b/plugins/InspectionGadgets/src/com/siyeh/InspectionGadgetsBundle.properties index bb70c6c3a07c..365ebd4069f6 100644 --- a/plugins/InspectionGadgets/src/com/siyeh/InspectionGadgetsBundle.properties +++ b/plugins/InspectionGadgets/src/com/siyeh/InspectionGadgetsBundle.properties @@ -1767,3 +1767,5 @@ ignore.single.field.static.imports.option=Ignore single &field static imports ignore.single.method.static.imports.option=Ignore single &method static imports ignore.methods.with.boolean.return.type.option=Ignore methods with &Boolean return type ignore.boolean.methods.in.an.interface.option=Ignore boolean methods in an @&interface +ignored.io.resource.types=Ignored I/O resource types +choose.io.resource.type.to.ignore=Choose I/O resource type to ignore diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/resources/IOResourceInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/resources/IOResourceInspection.java index 40a0eacff5b9..6abbea700f3d 100644 --- a/plugins/InspectionGadgets/src/com/siyeh/ig/resources/IOResourceInspection.java +++ b/plugins/InspectionGadgets/src/com/siyeh/ig/resources/IOResourceInspection.java @@ -93,7 +93,8 @@ public class IOResourceInspection extends ResourceInspection { constraints.fill = GridBagConstraints.BOTH; final IGTable table = new IGTable(new ListWrappingTableModel(ignoredTypes, - "ignored io resource types")); + InspectionGadgetsBundle.message( + "ignored.io.resource.types"))); final JScrollPane scrollPane = new JScrollPane(table); panel.add(scrollPane, constraints); constraints.gridx = 1; @@ -103,7 +104,11 @@ public class IOResourceInspection extends ResourceInspection { constraints.fill = GridBagConstraints.HORIZONTAL; final JButton addButton = new JButton(new TreeClassChooserAction(table, - "Choose io resource type to ignore")); + InspectionGadgetsBundle.message( + "choose.io.resource.type.to.ignore"), + "java.io.InputStream", "java.io.OutputStream", + "java.io.Reader", "java.io.Writer", + "java.io.RandomAccessFile")); panel.add(addButton, constraints); constraints.gridy = 1; final JButton removeButton = new JButton(new RemoveAction(table)); diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/ui/TreeClassChooserAction.java b/plugins/InspectionGadgets/src/com/siyeh/ig/ui/TreeClassChooserAction.java index f598eb402927..01262a1ba341 100644 --- a/plugins/InspectionGadgets/src/com/siyeh/ig/ui/TreeClassChooserAction.java +++ b/plugins/InspectionGadgets/src/com/siyeh/ig/ui/TreeClassChooserAction.java @@ -22,33 +22,61 @@ import com.intellij.openapi.actionSystem.DataContext; import com.intellij.openapi.actionSystem.DataKeys; import com.intellij.openapi.project.Project; import com.intellij.psi.PsiClass; +import com.intellij.psi.search.GlobalSearchScope; import com.siyeh.InspectionGadgetsBundle; +import com.siyeh.ig.psiutils.ClassUtils; +import org.jetbrains.annotations.NonNls; -import javax.swing.AbstractAction; -import javax.swing.ListSelectionModel; -import java.awt.EventQueue; -import java.awt.Rectangle; +import javax.swing.*; +import java.awt.*; import java.awt.event.ActionEvent; public class TreeClassChooserAction extends AbstractAction { private final IGTable table; private final String chooserTitle; + private final String[] ancestorClasses; - public TreeClassChooserAction(IGTable table, String chooserTitle) { + public TreeClassChooserAction(IGTable table, String chooserTitle, + @NonNls String... ancestorClasses) { this.table = table; this.chooserTitle = chooserTitle; + this.ancestorClasses = ancestorClasses; putValue(NAME, InspectionGadgetsBundle.message("button.add")); } public void actionPerformed(ActionEvent e) { final DataManager dataManager = DataManager.getInstance(); - final DataContext dataContext = dataManager.getDataContext(); + final Object source = e.getSource(); + if (!(source instanceof Component)) { + return; + } + final DataContext dataContext = + dataManager.getDataContext((Component) source); final Project project = DataKeys.PROJECT.getData(dataContext); + if (project == null) { + return; + } final TreeClassChooserFactory chooserFactory = TreeClassChooserFactory.getInstance(project); + final TreeClassChooser.ClassFilter filter; + if (ancestorClasses.length == 0) { + filter = TreeClassChooser.ClassFilter.ALL; + } else { + filter = new TreeClassChooser.ClassFilter() { + public boolean isAccepted(PsiClass aClass) { + for (String ancestorClass : ancestorClasses) { + if (ClassUtils.isSubclass(aClass, ancestorClass)) { + return true; + } + } + return false; + } + }; + } final TreeClassChooser classChooser = - chooserFactory.createAllProjectScopeChooser(chooserTitle); + chooserFactory.createWithInnerClassesScopeChooser(chooserTitle, + GlobalSearchScope.allScope(project), filter, null); classChooser.showDialog(); final PsiClass selectedClass = classChooser.getSelectedClass(); if (selectedClass == null) { From a232abb1a26f7f62c94234cc94d70f120fa0f78a Mon Sep 17 00:00:00 2001 From: Kirill Kalishev Date: Thu, 6 May 2010 16:07:12 +0400 Subject: [PATCH 103/173] switch actions moved to the top in order to override others if enabled --- .../src/idea/PlatformActions.xml | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/platform/platform-resources/src/idea/PlatformActions.xml b/platform/platform-resources/src/idea/PlatformActions.xml index dea837c121fc..e68bdf9531f9 100644 --- a/platform/platform-resources/src/idea/PlatformActions.xml +++ b/platform/platform-resources/src/idea/PlatformActions.xml @@ -1,5 +1,14 @@ + + + + + + + + + @@ -98,14 +107,6 @@ - - - - - - - - From 7166e75494ef668244c099ed76ab0df1b519906c Mon Sep 17 00:00:00 2001 From: Kirill Kalishev Date: Thu, 6 May 2010 16:08:20 +0400 Subject: [PATCH 104/173] edt assertions fixed --- .../com/intellij/openapi/application/impl/ApplicationImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/application/impl/ApplicationImpl.java b/platform/platform-impl/src/com/intellij/openapi/application/impl/ApplicationImpl.java index ef743df0fb33..470523754f88 100644 --- a/platform/platform-impl/src/com/intellij/openapi/application/impl/ApplicationImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/application/impl/ApplicationImpl.java @@ -860,7 +860,7 @@ public class ApplicationImpl extends ComponentManagerImpl implements Application if (ourDispatchThread == currentThread) return; Integer safeCounter = ourEdtSafe.get(); - if (safeCounter != null && safeCounter < 1) return; + if (safeCounter != null && safeCounter > 0) return; LOG.error(message, "Current thread: " + describe(Thread.currentThread()), From dc6d6855008d13f9348c55d4bc8dbb10a62f5a3a Mon Sep 17 00:00:00 2001 From: anna Date: Thu, 6 May 2010 11:03:55 +0400 Subject: [PATCH 105/173] add import quick fix should work in javadoc (IDEA-54651) --- .../codeInspection/javaDoc/JavaDocReferenceInspection.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/java-impl/src/com/intellij/codeInspection/javaDoc/JavaDocReferenceInspection.java b/java/java-impl/src/com/intellij/codeInspection/javaDoc/JavaDocReferenceInspection.java index 0742567b3e23..895c921d2978 100644 --- a/java/java-impl/src/com/intellij/codeInspection/javaDoc/JavaDocReferenceInspection.java +++ b/java/java-impl/src/com/intellij/codeInspection/javaDoc/JavaDocReferenceInspection.java @@ -232,7 +232,7 @@ public class JavaDocReferenceInspection extends BaseLocalInspectionTool { } public void applyFix(@NotNull final Project project, @NotNull final ProblemDescriptor descriptor) { - final PsiElement element = descriptor.getPsiElement(); + final PsiElement element = PsiTreeUtil.getParentOfType(descriptor.getPsiElement(), PsiJavaCodeReferenceElement.class); if (element instanceof PsiJavaCodeReferenceElement) { final PsiJavaCodeReferenceElement referenceElement = (PsiJavaCodeReferenceElement)element; Collections.sort(myClassesToImport, new PsiProximityComparator(referenceElement.getElement())); From 4eb21df0773a0d0dc5093e15d74073741473e9f3 Mon Sep 17 00:00:00 2001 From: anna Date: Thu, 6 May 2010 11:15:15 +0400 Subject: [PATCH 106/173] create parameter from usage: new parameter should be inserted before vararg ( IDEA-54546 ) --- .../daemon/impl/quickfix/CreateParameterFromUsageFix.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateParameterFromUsageFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateParameterFromUsageFix.java index 139392a6c745..ba800493e94b 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateParameterFromUsageFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateParameterFromUsageFix.java @@ -82,7 +82,11 @@ public class CreateParameterFromUsageFix extends CreateVarFromUsageFix { List parameterInfos = new ArrayList(Arrays.asList(ParameterInfoImpl.fromMethod(method))); ParameterInfoImpl parameterInfo = new ParameterInfoImpl(-1, varName, type, PsiTypesUtil.getDefaultValueOfType(type), false); - parameterInfos.add(parameterInfo); + if (!method.isVarArgs()) { + parameterInfos.add(parameterInfo); + } else { + parameterInfos.add(parameterInfos.size() - 1, parameterInfo); + } if (ApplicationManager.getApplication().isUnitTestMode()) { ParameterInfoImpl[] array = parameterInfos.toArray(new ParameterInfoImpl[parameterInfos.size()]); From c5940a3a19accdcc8ad607bad472090a9d6a687b Mon Sep 17 00:00:00 2001 From: anna Date: Thu, 6 May 2010 12:21:38 +0400 Subject: [PATCH 107/173] @NonNls should operate throughthe whole "builder" call ( IDEA-54545 ) --- .../codeInspection/i18n/I18nInspection.java | 41 +++++++++++-------- 1 file changed, 24 insertions(+), 17 deletions(-) diff --git a/plugins/java-i18n/src/com/intellij/codeInspection/i18n/I18nInspection.java b/plugins/java-i18n/src/com/intellij/codeInspection/i18n/I18nInspection.java index f9cc459a36a7..d3f727bec3d9 100644 --- a/plugins/java-i18n/src/com/intellij/codeInspection/i18n/I18nInspection.java +++ b/plugins/java-i18n/src/com/intellij/codeInspection/i18n/I18nInspection.java @@ -40,10 +40,7 @@ import com.intellij.openapi.util.JDOMUtil; import com.intellij.openapi.util.text.StringUtil; import com.intellij.psi.*; import com.intellij.psi.search.GlobalSearchScope; -import com.intellij.psi.util.MethodSignature; -import com.intellij.psi.util.MethodSignatureUtil; -import com.intellij.psi.util.PsiTreeUtil; -import com.intellij.psi.util.PsiUtil; +import com.intellij.psi.util.*; import com.intellij.refactoring.introduceField.IntroduceConstantHandler; import com.intellij.ui.AddDeleteListPanel; import com.intellij.ui.DocumentAdapter; @@ -689,19 +686,7 @@ public class I18nInspection extends BaseLocalInspectionTool { if (parent instanceof PsiExpressionList) { final PsiElement grParent = parent.getParent(); if (grParent instanceof PsiMethodCallExpression) { - final PsiReferenceExpression methodExpression = ((PsiMethodCallExpression)grParent).getMethodExpression(); - final PsiExpression qualifier = methodExpression.getQualifierExpression(); - if (qualifier instanceof PsiReferenceExpression) { - final PsiElement resolved = ((PsiReferenceExpression)qualifier).resolve(); - if (resolved instanceof PsiModifierListOwner) { - final PsiModifierListOwner modifierListOwner = (PsiModifierListOwner)resolved; - if (annotatedAsNonNls(modifierListOwner)) { - return true; - } - nonNlsTargets.add(modifierListOwner); - return false; - } - } + return isNonNlsCall((PsiMethodCallExpression)grParent, nonNlsTargets); } else if (grParent instanceof PsiNewExpression) { final PsiElement parentOfNew = grParent.getParent(); @@ -733,6 +718,28 @@ public class I18nInspection extends BaseLocalInspectionTool { return false; } + private static boolean isNonNlsCall(PsiMethodCallExpression grParent, Set nonNlsTargets) { + final PsiReferenceExpression methodExpression = grParent.getMethodExpression(); + final PsiExpression qualifier = methodExpression.getQualifierExpression(); + if (qualifier instanceof PsiReferenceExpression) { + final PsiElement resolved = ((PsiReferenceExpression)qualifier).resolve(); + if (resolved instanceof PsiModifierListOwner) { + final PsiModifierListOwner modifierListOwner = (PsiModifierListOwner)resolved; + if (annotatedAsNonNls(modifierListOwner)) { + return true; + } + nonNlsTargets.add(modifierListOwner); + return false; + } + } else if (qualifier instanceof PsiMethodCallExpression) { + final PsiType type = qualifier.getType(); + if (type != null && type.equals(methodExpression.getType())) { + return isNonNlsCall((PsiMethodCallExpression)qualifier, nonNlsTargets); + } + } + return false; + } + private static boolean isReturnedFromNonNlsMethod(final PsiLiteralExpression expression, final Set nonNlsTargets) { final PsiElement returnStmt = PsiTreeUtil.getParentOfType(expression, PsiReturnStatement.class, PsiMethodCallExpression.class); From d6c5d712579ec545474a2b8e5e7469c42cfb9cb1 Mon Sep 17 00:00:00 2001 From: anna Date: Thu, 6 May 2010 12:45:10 +0400 Subject: [PATCH 108/173] replace icons? ( IDEA-54603 ) --- .../lang-impl/src/com/intellij/ide/util/DirectoryChooser.java | 4 ++-- platform/platform-api/src/com/intellij/util/Icons.java | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/ide/util/DirectoryChooser.java b/platform/lang-impl/src/com/intellij/ide/util/DirectoryChooser.java index a7e74e8059f1..12f7e05815b8 100644 --- a/platform/lang-impl/src/com/intellij/ide/util/DirectoryChooser.java +++ b/platform/lang-impl/src/com/intellij/ide/util/DirectoryChooser.java @@ -233,10 +233,10 @@ public class DirectoryChooser extends DialogWrapper { if (myDirectory != null) { VirtualFile virtualFile = myDirectory.getVirtualFile(); if (fileIndex.isInTestSourceContent(virtualFile)){ - return Icons.TEST_SOURCE_FOLDER; + return Icons.MODULES_TEST_SOURCE_FOLDER; } else if (fileIndex.isInSourceContent(virtualFile)){ - return Icons.SOURCE_FOLDERS_ICON; + return Icons.MODULES_SOURCE_FOLDERS_ICON; } } return Icons.FOLDER_ICON; diff --git a/platform/platform-api/src/com/intellij/util/Icons.java b/platform/platform-api/src/com/intellij/util/Icons.java index 2efee2fc533b..a7315ceab7ca 100644 --- a/platform/platform-api/src/com/intellij/util/Icons.java +++ b/platform/platform-api/src/com/intellij/util/Icons.java @@ -122,6 +122,9 @@ public abstract class Icons { public static final Icon SOURCE_FOLDERS_ICON = IconLoader.getIcon("/nodes/sourceFolder.png"); public static final Icon TEST_SOURCE_FOLDER = IconLoader.getIcon("/nodes/testSourceFolder.png"); + public static final Icon MODULES_SOURCE_FOLDERS_ICON = IconLoader.getIcon("/modules/sourceRootClosed.png"); + public static final Icon MODULES_TEST_SOURCE_FOLDER = IconLoader.getIcon("/modules/testRootClosed.png"); + public static final Icon CONTENT_ROOT_ICON_OPEN = IconLoader.getIcon("/nodes/ModuleOpen.png"); public static final Icon CONTENT_ROOT_ICON_CLOSED = IconLoader.getIcon("/nodes/ModuleClosed.png"); From 3697075252ca8b366c3cd3e5ba83598db97f1ef8 Mon Sep 17 00:00:00 2001 From: anna Date: Thu, 6 May 2010 13:36:04 +0400 Subject: [PATCH 109/173] allow to close editor annotations in dumb mode --- .../openapi/editor/impl/EditorGutterComponentImpl.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorGutterComponentImpl.java b/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorGutterComponentImpl.java index 1f097c5ae77a..2eafb38d65a9 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorGutterComponentImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorGutterComponentImpl.java @@ -40,6 +40,7 @@ import com.intellij.openapi.editor.colors.EditorFontType; import com.intellij.openapi.editor.event.EditorMouseEventArea; import com.intellij.openapi.editor.ex.*; import com.intellij.openapi.editor.markup.*; +import com.intellij.openapi.project.DumbAwareAction; import com.intellij.openapi.util.Comparing; import com.intellij.openapi.util.SystemInfo; import com.intellij.util.containers.HashMap; @@ -1161,7 +1162,7 @@ class EditorGutterComponentImpl extends EditorGutterComponentEx implements Mouse updateSize(); } - private class CloseAnnotationsAction extends AnAction { + private class CloseAnnotationsAction extends DumbAwareAction { public CloseAnnotationsAction() { super(EditorBundle.message("close.editor.annotations.action.name")); } From ab28b5e6a3cc3ec7c21b906e8572b9d7b3dcca69 Mon Sep 17 00:00:00 2001 From: anna Date: Thu, 6 May 2010 13:52:29 +0400 Subject: [PATCH 110/173] remember custom scope selection for find in path ( IDEA-54555 ) --- .../src/com/intellij/find/FindModel.java | 11 ++++++++- .../com/intellij/find/impl/FindDialog.java | 24 +++++++++---------- 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/platform/lang-api/src/com/intellij/find/FindModel.java b/platform/lang-api/src/com/intellij/find/FindModel.java index f24c7e0a8467..c3c191568012 100644 --- a/platform/lang-api/src/com/intellij/find/FindModel.java +++ b/platform/lang-api/src/com/intellij/find/FindModel.java @@ -18,7 +18,6 @@ package com.intellij.find; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.util.UserDataHolderBase; import com.intellij.psi.search.SearchScope; -import com.intellij.util.text.StringSearcher; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -57,6 +56,7 @@ public class FindModel extends UserDataHolderBase implements Cloneable { private String fileFilter; private String customScopeName; private SearchScope customScope; + private boolean isCustomScope = false; /** * Gets the Preserve Case flag. @@ -107,6 +107,7 @@ public class FindModel extends UserDataHolderBase implements Cloneable { moduleName = model.moduleName; customScopeName = model.customScopeName; customScope = model.customScope; + isCustomScope = model.isCustomScope; isFindAll = model.isFindAll; isInCommentsOnly = model.isInCommentsOnly; @@ -594,6 +595,14 @@ public class FindModel extends UserDataHolderBase implements Cloneable { this.customScope = customScope; } + public boolean isCustomScope() { + return isCustomScope; + } + + public void setCustomScope(boolean customScope) { + isCustomScope = customScope; + } + public boolean isInStringLiteralsOnly() { return isInStringLiteralsOnly; } diff --git a/platform/lang-impl/src/com/intellij/find/impl/FindDialog.java b/platform/lang-impl/src/com/intellij/find/impl/FindDialog.java index 40d6b71065cb..de1142c26a7d 100644 --- a/platform/lang-impl/src/com/intellij/find/impl/FindDialog.java +++ b/platform/lang-impl/src/com/intellij/find/impl/FindDialog.java @@ -942,6 +942,7 @@ class FindDialog extends DialogWrapper { model.setModuleName(null); model.setCustomScopeName(null); model.setCustomScope(null); + model.setCustomScope(false); if (myRbDirectory.isSelected()) { String directory = getDirectory(); @@ -957,6 +958,7 @@ class FindDialog extends DialogWrapper { String customScopeName = selectedScope == null ? null : selectedScope.getDisplayName(); model.setCustomScopeName(customScopeName); model.setCustomScope(selectedScope == null ? null : selectedScope); + model.setCustomScope(true); findSettings.setCustomScope(customScopeName); } } @@ -983,8 +985,17 @@ class FindDialog extends DialogWrapper { } } } + if (myModel.isCustomScope()) { + myRbCustomScope.setSelected(true); - if (myModel.isProjectScope()) { + myScopeCombo.setEnabled(true); + myScopeCombo.init(myProject, true, true, myModel.getCustomScopeName()); + + myCbWithSubdirectories.setEnabled(false); + myDirectoryComboBox.setEnabled(false); + mySelectDirectoryButton.setEnabled(false); + myModuleComboBox.setEnabled(false); + } else if (myModel.isProjectScope()) { myRbProject.setSelected(true); myCbWithSubdirectories.setEnabled(false); @@ -1015,17 +1026,6 @@ class FindDialog extends DialogWrapper { myRbModule.setVisible(true); myModuleComboBox.setVisible(true); } - else if (myModel.getCustomScopeName() != null) { - myRbCustomScope.setSelected(true); - - myScopeCombo.setEnabled(true); - myScopeCombo.init(myProject, true, true, myModel.getCustomScopeName()); - - myCbWithSubdirectories.setEnabled(false); - myDirectoryComboBox.setEnabled(false); - mySelectDirectoryButton.setEnabled(false); - myModuleComboBox.setEnabled(false); - } else { assert false; } From f21f8713c0a20c7255f7712828bf31b2f48495e4 Mon Sep 17 00:00:00 2001 From: anna Date: Thu, 6 May 2010 15:58:48 +0400 Subject: [PATCH 111/173] kirillk: no more cartoons in progress --- .../com/intellij/util/ui/AnimatedIcon.java | 40 +++++++------------ 1 file changed, 14 insertions(+), 26 deletions(-) diff --git a/platform/platform-api/src/com/intellij/util/ui/AnimatedIcon.java b/platform/platform-api/src/com/intellij/util/ui/AnimatedIcon.java index 5764bf40dbeb..72144f1242a1 100644 --- a/platform/platform-api/src/com/intellij/util/ui/AnimatedIcon.java +++ b/platform/platform-api/src/com/intellij/util/ui/AnimatedIcon.java @@ -150,33 +150,16 @@ public abstract class AnimatedIcon extends JComponent implements Disposable { protected void paintComponent(Graphics g) { if (myPaintingBgNow) return; - if ((myAnimator.isRunning() || myPaintPassive || (myLastPaintWasRunning && !myAnimator.isRunning()))) { - Rectangle b = getBounds(); - - if (!isOpaque()) { - try { - myPaintingBgNow = true; - Container p = getParent(); - if (p instanceof JComponent) { - JComponent parentComponent = (JComponent)p; - RepaintManager.currentManager(p).addDirtyRegion(parentComponent, b.x, b.y, b.width, b.height); - } - } - finally { - myPaintingBgNow = false; - } - } else { - Container parent = getParent(); - if (parent instanceof JComponent) { - final Component opaque = UIUtil.findNearestOpaque((JComponent)parent); - if (opaque != null) { - g.setColor(opaque.getBackground()); - g.fillRect(b.x, b.y, b.width, b.height); - } - } + if (isOpaque()) { + final Container parent = getParent(); + JComponent opaque = null; + if (parent instanceof JComponent) { + opaque = (JComponent)UIUtil.findNearestOpaque((JComponent)parent); } - - } + Color bg = opaque != null ? opaque.getBackground() : UIManager.getColor("Panel.background"); + g.setColor(bg); + g.fillRect(0, 0, getWidth(), getHeight()); + } Icon icon; @@ -207,4 +190,9 @@ public abstract class AnimatedIcon extends JComponent implements Disposable { public boolean isAnimated() { return true; } + + @Override + public String toString() { + return myName + " isRunning=" + myRunning + " isOpaque=" + isOpaque() + " paintPassive=" + myPaintPassive; + } } From 0dbca38192afbf79538a38681505b0175b607fdc Mon Sep 17 00:00:00 2001 From: anna Date: Thu, 6 May 2010 15:59:06 +0400 Subject: [PATCH 112/173] leave comment with its owner expression in expression list ( IDEA-54547 ) --- .../psi/impl/source/tree/java/PsiExpressionListImpl.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/java/java-impl/src/com/intellij/psi/impl/source/tree/java/PsiExpressionListImpl.java b/java/java-impl/src/com/intellij/psi/impl/source/tree/java/PsiExpressionListImpl.java index 9c5ebeb2b227..aedf71709a7a 100644 --- a/java/java-impl/src/com/intellij/psi/impl/source/tree/java/PsiExpressionListImpl.java +++ b/java/java-impl/src/com/intellij/psi/impl/source/tree/java/PsiExpressionListImpl.java @@ -128,8 +128,9 @@ public class PsiExpressionListImpl extends CompositePsiElement implements PsiExp } } for (ASTNode child = element.getTreePrev(); child != null; child = child.getTreePrev()) { - if (child.getElementType() == JavaTokenType.COMMA) break; - if (ElementType.EXPRESSION_BIT_SET.contains(child.getElementType())) { + final IElementType t = child.getElementType(); + if (t == JavaTokenType.COMMA) break; + if (ElementType.EXPRESSION_BIT_SET.contains(t) || ElementType.COMMENT_BIT_SET.contains(t)) { TreeElement comma = Factory.createSingleLeafElement(JavaTokenType.COMMA, ",", 0, 1, treeCharTab, getManager()); super.addInternal(comma, comma, child, Boolean.FALSE); break; From c04f82cd848d297f490ecb1fb8b87db0df49f99a Mon Sep 17 00:00:00 2001 From: Kirill Kalishev Date: Thu, 6 May 2010 16:24:35 +0400 Subject: [PATCH 113/173] tests fix: quick access settings ui made searchable --- .../com/intellij/ui/switcher/QuickAccessSettings.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/platform/platform-api/src/com/intellij/ui/switcher/QuickAccessSettings.java b/platform/platform-api/src/com/intellij/ui/switcher/QuickAccessSettings.java index 2d4397707d64..7c969ad80f06 100644 --- a/platform/platform-api/src/com/intellij/ui/switcher/QuickAccessSettings.java +++ b/platform/platform-api/src/com/intellij/ui/switcher/QuickAccessSettings.java @@ -28,6 +28,7 @@ import com.intellij.openapi.keymap.KeymapManager; import com.intellij.openapi.keymap.KeymapManagerListener; import com.intellij.openapi.options.Configurable; import com.intellij.openapi.options.ConfigurationException; +import com.intellij.openapi.options.SearchableConfigurable; import com.intellij.openapi.util.Disposer; import com.intellij.openapi.util.SystemInfo; import com.intellij.openapi.util.registry.Registry; @@ -49,7 +50,7 @@ import java.awt.event.*; import java.text.NumberFormat; import java.util.*; -public class QuickAccessSettings implements ApplicationComponent, Configurable, KeymapManagerListener, Disposable { +public class QuickAccessSettings implements ApplicationComponent, SearchableConfigurable, KeymapManagerListener, Disposable { private Set myModifierVks = new HashSet(); private Keymap myKeymap; @@ -109,6 +110,14 @@ public class QuickAccessSettings implements ApplicationComponent, Configurable, return myUi; } + public String getId() { + return "QuickAccess"; + } + + public Runnable enableSearch(String option) { + return null; + } + public void activeKeymapChanged(Keymap keymap) { KeymapManager mgr = KeymapManager.getInstance(); myKeymap = mgr.getActiveKeymap(); From 6c27d66265444a9e9bd04fdb99465da9a38820aa Mon Sep 17 00:00:00 2001 From: Denis Zhdanov Date: Thu, 6 May 2010 17:03:54 +0400 Subject: [PATCH 114/173] IDEA-54671 Alignment of Call Arguments does not work. Removed unnecessary class-level javadoc block alignment --- .../src/com/intellij/psi/formatter/java/AbstractJavaBlock.java | 1 - 1 file changed, 1 deletion(-) diff --git a/java/java-impl/src/com/intellij/psi/formatter/java/AbstractJavaBlock.java b/java/java-impl/src/com/intellij/psi/formatter/java/AbstractJavaBlock.java index af72d015c04a..d1044df5f0a2 100644 --- a/java/java-impl/src/com/intellij/psi/formatter/java/AbstractJavaBlock.java +++ b/java/java-impl/src/com/intellij/psi/formatter/java/AbstractJavaBlock.java @@ -730,7 +730,6 @@ public abstract class AbstractJavaBlock extends AbstractBlock implements JavaBlo if (role == ChildRole.CLASS_OR_INTERFACE_KEYWORD) return defaultAlignment; if (myIsAfterClassKeyword) return null; if (role == ChildRole.MODIFIER_LIST) return defaultAlignment; - if (role == ChildRole.DOC_COMMENT) return defaultAlignment; return null; } From 7ce77e11d276dced19151523c826ba784eb25395 Mon Sep 17 00:00:00 2001 From: Denis Zhdanov Date: Thu, 6 May 2010 17:07:22 +0400 Subject: [PATCH 115/173] IDEA-54671 Alignment of Call Arguments does not work. 1. Unused alignment type qualification is removed; --- .../intellij/formatting/AlignmentImpl.java | 26 +++++-------------- 1 file changed, 7 insertions(+), 19 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/formatting/AlignmentImpl.java b/platform/lang-impl/src/com/intellij/formatting/AlignmentImpl.java index 0171c1336ea9..0d98a10e543c 100644 --- a/platform/lang-impl/src/com/intellij/formatting/AlignmentImpl.java +++ b/platform/lang-impl/src/com/intellij/formatting/AlignmentImpl.java @@ -16,14 +16,13 @@ package com.intellij.formatting; +import org.jetbrains.annotations.Nullable; + import java.util.*; class AlignmentImpl extends Alignment { private static final List EMPTY = Collections.unmodifiableList(new ArrayList(0)); private Collection myOffsetRespBlocks = EMPTY; - private final int myFlags; - private static int ourId = 0; - private static final int ID_SHIFT = 1; private AlignmentImpl myParentAlignment; public String getId() { @@ -38,18 +37,6 @@ class AlignmentImpl extends Alignment { myParentAlignment = (AlignmentImpl)base; } - static enum Type{ - FULL,NORMAL - } - - public AlignmentImpl(final Type type) { - myFlags = ((ourId++) >> ID_SHIFT) | type.ordinal(); - } - - final Type getType() { - return Type.values()[myFlags & 1]; - } - /** * Selects target wrapped block by the following algorithm: *
      @@ -82,7 +69,8 @@ class AlignmentImpl extends Alignment { * @return block {@link #setOffsetRespBlock(LeafBlockWrapper) registered} for the current alignment object or * {@link #setParent(Alignment) its parent} using the algorithm above if any; null otherwise */ - LeafBlockWrapper getOffsetRespBlockBefore(final LeafBlockWrapper block) { + @Nullable + LeafBlockWrapper getOffsetRespBlockBefore(final AbstractBlockWrapper block) { LeafBlockWrapper result = null; if (myOffsetRespBlocks != EMPTY) { LeafBlockWrapper lastBlockAfterLineFeed = null; @@ -116,20 +104,20 @@ class AlignmentImpl extends Alignment { result = lastAlignedBlock; } } + if (result == null && myParentAlignment != null) { return myParentAlignment.getOffsetRespBlockBefore(block); } else { return result; } - } /** * Registers wrapped block within the current alignment in order to use it for further - * {@link #getOffsetRespBlockBefore(LeafBlockWrapper)} calls processing. + * {@link #getOffsetRespBlockBefore(AbstractBlockWrapper)} calls processing. * - * @param block wrapped block to register within the curretn alignmnent object + * @param block wrapped block to register within the current alignment object */ void setOffsetRespBlock(final LeafBlockWrapper block) { if (myOffsetRespBlocks == EMPTY) myOffsetRespBlocks = new LinkedHashSet(1); From d75d5320e5829ca4d0f7f7c5a4b3cfe608f180ac Mon Sep 17 00:00:00 2001 From: Denis Zhdanov Date: Thu, 6 May 2010 17:07:58 +0400 Subject: [PATCH 116/173] IDEA-54671 Alignment of Call Arguments does not work. Adopted to AlignmentImpl constructor signature change --- .../lang-impl/src/com/intellij/formatting/FormatterImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/formatting/FormatterImpl.java b/platform/lang-impl/src/com/intellij/formatting/FormatterImpl.java index da607feaca2e..96f38eef28cf 100644 --- a/platform/lang-impl/src/com/intellij/formatting/FormatterImpl.java +++ b/platform/lang-impl/src/com/intellij/formatting/FormatterImpl.java @@ -61,11 +61,11 @@ public class FormatterImpl extends FormatterEx } public Alignment createAlignment() { - return new AlignmentImpl(AlignmentImpl.Type.NORMAL); + return new AlignmentImpl(); } public Alignment createChildAlignment(final Alignment base) { - AlignmentImpl result = new AlignmentImpl(AlignmentImpl.Type.NORMAL); + AlignmentImpl result = new AlignmentImpl(); result.setParent(base); return result; } From 48885a3931fc1d7713d6648085a037818f3da429 Mon Sep 17 00:00:00 2001 From: Denis Zhdanov Date: Thu, 6 May 2010 17:09:01 +0400 Subject: [PATCH 117/173] IDEA-54671 Alignment of Call Arguments does not work. 1. Added getNumberOfSymbolsBeforeBlock() method; 2. Added @Override; --- .../intellij/formatting/LeafBlockWrapper.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/platform/lang-impl/src/com/intellij/formatting/LeafBlockWrapper.java b/platform/lang-impl/src/com/intellij/formatting/LeafBlockWrapper.java index 171ac65b1357..1c5b96d8cf6b 100644 --- a/platform/lang-impl/src/com/intellij/formatting/LeafBlockWrapper.java +++ b/platform/lang-impl/src/com/intellij/formatting/LeafBlockWrapper.java @@ -90,6 +90,7 @@ class LeafBlockWrapper extends AbstractBlockWrapper { return mySymbolsAtTheLastLine; } + @Override public LeafBlockWrapper getPreviousBlock() { return myPreviousBlock; } @@ -102,10 +103,33 @@ class LeafBlockWrapper extends AbstractBlockWrapper { myNextBlock = nextBlock; } + @Override protected boolean indentAlreadyUsedBefore(final AbstractBlockWrapper child) { return false; } + @Override + protected IndentData getNumberOfSymbolsBeforeBlock() { + int spaces = getWhiteSpace().getSpaces(); + int indentSpaces = getWhiteSpace().getIndentSpaces(); + + if (getWhiteSpace().containsLineFeeds()) { + return new IndentData(indentSpaces, spaces); + } + + for (LeafBlockWrapper current = this.getPreviousBlock(); current != null; current = current.getPreviousBlock()) { + spaces += current.getWhiteSpace().getSpaces(); + spaces += current.getSymbolsAtTheLastLine(); + indentSpaces += current.getWhiteSpace().getIndentSpaces(); + if (current.getWhiteSpace().containsLineFeeds()) { + break; + } + } + return new IndentData(indentSpaces, spaces); + } + + + public void dispose() { super.dispose(); myPreviousBlock = null; From b7f33e0c4d7946a418baea3a3b04a1e25968bb34 Mon Sep 17 00:00:00 2001 From: Denis Zhdanov Date: Thu, 6 May 2010 17:11:24 +0400 Subject: [PATCH 118/173] IDEA-54671 Alignment of Call Arguments does not work. 1. Added getNumberOfSymbolsBeforeBlock() and getPreviousBlock() methods; 2. Added @Override; --- .../formatting/CompositeBlockWrapper.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/platform/lang-impl/src/com/intellij/formatting/CompositeBlockWrapper.java b/platform/lang-impl/src/com/intellij/formatting/CompositeBlockWrapper.java index 84959f84dc2e..805bbf49aff0 100644 --- a/platform/lang-impl/src/com/intellij/formatting/CompositeBlockWrapper.java +++ b/platform/lang-impl/src/com/intellij/formatting/CompositeBlockWrapper.java @@ -57,6 +57,7 @@ public class CompositeBlockWrapper extends AbstractBlockWrapper{ } } + @Override protected boolean indentAlreadyUsedBefore(final AbstractBlockWrapper child) { for (AbstractBlockWrapper childBefore : myChildren) { if (childBefore == child) return false; @@ -65,6 +66,22 @@ public class CompositeBlockWrapper extends AbstractBlockWrapper{ return false; } + @Override + protected IndentData getNumberOfSymbolsBeforeBlock() { + if (myChildren == null || myChildren.isEmpty()) { + return new IndentData(0, 0); + } + return myChildren.get(0).getNumberOfSymbolsBeforeBlock(); + } + + @Override + protected AbstractBlockWrapper getPreviousBlock() { + if (myChildren == null || myChildren.isEmpty()) { + return null; + } + return myChildren.get(0).getPreviousBlock(); + } + public void dispose() { super.dispose(); myChildren = null; From 572f98dcf43b1c180504ac441db6368676167720 Mon Sep 17 00:00:00 2001 From: Bas Leijdekkers Date: Thu, 6 May 2010 15:48:43 +0200 Subject: [PATCH 119/173] IDEA-19595 (False positives: JDBC resource opened but not safely closed) --- .../ig/resources/ResourceInspection.java | 91 ++++++++++++------- .../siyeh/igtest/resources/io/expected.xml | 33 ------- 2 files changed, 60 insertions(+), 64 deletions(-) diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/resources/ResourceInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/resources/ResourceInspection.java index 51869d384383..cfd7641fd1d5 100644 --- a/plugins/InspectionGadgets/src/com/siyeh/ig/resources/ResourceInspection.java +++ b/plugins/InspectionGadgets/src/com/siyeh/ig/resources/ResourceInspection.java @@ -1,5 +1,5 @@ /* - * Copyright 2008 Bas Leijdekkers + * Copyright 2008-2010 Bas Leijdekkers * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -58,31 +58,44 @@ public abstract class ResourceInspection extends BaseInspection { return parent; } - protected static boolean isSafelyClosed(@Nullable PsiVariable boundVariable, - PsiExpression creationContext - ) { - if (boundVariable == null) { + protected static boolean isSafelyClosed(@Nullable PsiVariable variable, + PsiElement context) { + if (variable == null) { return false; } - final PsiStatement statement = - PsiTreeUtil.getParentOfType(creationContext, PsiStatement.class); + PsiStatement statement = + PsiTreeUtil.getParentOfType(context, PsiStatement.class); if (statement == null) { return false; } - final PsiStatement nextStatement = + PsiStatement nextStatement = PsiTreeUtil.getNextSiblingOfType(statement, PsiStatement.class); + while (nextStatement == null) { + statement = PsiTreeUtil.getParentOfType(statement, + PsiStatement.class, true); + if (statement == null) { + return false; + } + final PsiElement parent = statement.getParent(); + if (parent instanceof PsiIfStatement) { + statement = (PsiStatement) parent; + } + nextStatement = + PsiTreeUtil.getNextSiblingOfType(statement, + PsiStatement.class); + } if (!(nextStatement instanceof PsiTryStatement)) { // exception in next statement can prevent closing of the resource - return false; + return isResourceClose(nextStatement, variable); } final PsiTryStatement tryStatement = (PsiTryStatement) nextStatement; - return resourceIsClosedInFinally(tryStatement, boundVariable); + return resourceIsClosedInFinally(tryStatement, variable); } protected static boolean resourceIsClosedInFinally( @NotNull PsiTryStatement tryStatement, - @NotNull PsiVariable boundVariable) { + @NotNull PsiVariable variable) { final PsiCodeBlock finallyBlock = tryStatement.getFinallyBlock(); if (finallyBlock == null) { return false; @@ -91,11 +104,27 @@ public abstract class ResourceInspection extends BaseInspection { if (tryBlock == null) { return false; } - final CloseVisitor visitor = new CloseVisitor(boundVariable); + final CloseVisitor visitor = new CloseVisitor(variable); finallyBlock.accept(visitor); return visitor.containsClose(); } + private static boolean isResourceClose(PsiStatement nextStatement, + PsiVariable variable) { + if (!(nextStatement instanceof PsiExpressionStatement)) { + return false; + } + final PsiExpressionStatement expressionStatement = + (PsiExpressionStatement) nextStatement; + final PsiExpression expression = expressionStatement.getExpression(); + if (!(expression instanceof PsiMethodCallExpression)) { + return false; + } + final PsiMethodCallExpression methodCallExpression = + (PsiMethodCallExpression) expression; + return isResourceClose(methodCallExpression, variable); + } + protected static boolean isResourceEscapedFromMethod( PsiVariable boundVariable, PsiElement context){ // poor man dataflow @@ -114,6 +143,24 @@ public abstract class ResourceInspection extends BaseInspection { return visitor.isEscaped(); } + protected static boolean isResourceClose(PsiMethodCallExpression call, + PsiVariable resource) { + final PsiReferenceExpression methodExpression = + call.getMethodExpression(); + final String methodName = methodExpression.getReferenceName(); + if (!HardcodedMethodConstants.CLOSE.equals(methodName)) { + return false; + } + final PsiExpression qualifier = + methodExpression.getQualifierExpression(); + if (!(qualifier instanceof PsiReferenceExpression)) { + return false; + } + final PsiReference reference = (PsiReference) qualifier; + final PsiElement referent = reference.resolve(); + return referent != null && referent.equals(resource); + } + private static class CloseVisitor extends JavaRecursiveElementVisitor { private boolean containsClose = false; @@ -148,7 +195,7 @@ public abstract class ResourceInspection extends BaseInspection { @Override public void visitReferenceExpression( PsiReferenceExpression referenceExpression) { - // check if resource is closed in IOUtils.silentClose() like method + // check if resource is closed in a method like IOUtils.silentClose() super.visitReferenceExpression(referenceExpression); if (containsClose) { return; @@ -222,24 +269,6 @@ public abstract class ResourceInspection extends BaseInspection { } } - private static boolean isResourceClose(PsiMethodCallExpression call, - PsiVariable resource) { - final PsiReferenceExpression methodExpression = - call.getMethodExpression(); - final String methodName = methodExpression.getReferenceName(); - if (!HardcodedMethodConstants.CLOSE.equals(methodName)) { - return false; - } - final PsiExpression qualifier = - methodExpression.getQualifierExpression(); - if (!(qualifier instanceof PsiReferenceExpression)) { - return false; - } - final PsiReference reference = (PsiReference) qualifier; - final PsiElement referent = reference.resolve(); - return referent != null && referent.equals(resource); - } - public boolean containsClose() { return containsClose; } diff --git a/plugins/InspectionGadgets/test/com/siyeh/igtest/resources/io/expected.xml b/plugins/InspectionGadgets/test/com/siyeh/igtest/resources/io/expected.xml index 73fb8e116284..02011abf6f4a 100644 --- a/plugins/InspectionGadgets/test/com/siyeh/igtest/resources/io/expected.xml +++ b/plugins/InspectionGadgets/test/com/siyeh/igtest/resources/io/expected.xml @@ -50,39 +50,6 @@ 'FileInputStream' should be opened in front of a try block and closed in the corresponding finally block #loc - - - IOResourceInspection.java - 32 - - void foo3() - foo3() - com.siyeh.igtest.resources - - IOResourceInspection - IOResourceInspection - - - I/O resource opened but not safely closed - 'FileInputStream' should be opened in front of a try block and closed in the corresponding finally block #loc - - - - IOResourceInspection.java - 39 - - void foo4() - foo4() - com.siyeh.igtest.resources - - IOResourceInspection - IOResourceInspection - - - I/O resource opened but not safely closed - 'FileInputStream' should be opened in front of a try block and closed in the corresponding finally block #loc - - IOResourceInspection.java 57 From 63a8d0ed6ddb52b0f9ce6919877efd6240e9fbda Mon Sep 17 00:00:00 2001 From: Denis Zhdanov Date: Thu, 6 May 2010 18:16:01 +0400 Subject: [PATCH 120/173] IDEA-54671 Alignment of Call Arguments does not work. 1. Utility methods are added; 2. Alignment indent processing is corrected; --- .../formatting/AbstractBlockWrapper.java | 112 +++++++++++++++++- 1 file changed, 110 insertions(+), 2 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/formatting/AbstractBlockWrapper.java b/platform/lang-impl/src/com/intellij/formatting/AbstractBlockWrapper.java index 4a6afb5f9c23..6b3bddec876c 100644 --- a/platform/lang-impl/src/com/intellij/formatting/AbstractBlockWrapper.java +++ b/platform/lang-impl/src/com/intellij/formatting/AbstractBlockWrapper.java @@ -200,7 +200,12 @@ public abstract class AbstractBlockWrapper { return childIndent.add(myParent.getChildOffset(this, options, tokenBlockStartOffset)); } } else if (!getWhiteSpace().containsLineFeeds()) { - return childIndent.add(myParent.getChildOffset(this, options, tokenBlockStartOffset)); + if (isIndentAffectedAlignment(child)) { + return createAlignmentIndent(childIndent, child); + } + else { + return childIndent.add(myParent.getChildOffset(this, options, tokenBlockStartOffset)); + } } else { if (myParent == null) return childIndent.add(getWhiteSpace()); if (getIndent().isAbsolute()) { @@ -212,7 +217,12 @@ public abstract class AbstractBlockWrapper { } } if ((myFlags & CAN_USE_FIRST_CHILD_INDENT_AS_BLOCK_INDENT) != 0) { - return childIndent.add(getWhiteSpace()); + if (isIndentAffectedAlignment(child)) { + return createAlignmentIndent(childIndent, child); + } + else { + return childIndent.add(getWhiteSpace()); + } } else { return childIndent.add(myParent.getChildOffset(this, options, tokenBlockStartOffset)); @@ -229,6 +239,21 @@ public abstract class AbstractBlockWrapper { */ protected abstract boolean indentAlreadyUsedBefore(final AbstractBlockWrapper child); + /** + * Allows to retrieve object that encapsulates information about number of symbols before the current block starting + * from the line start. I.e. all symbols (either white space or not) between start of the line where current block begins + * and the block itself are count and returned. + * + * @return object that encapsulates information about number of symbols before the current block + */ + protected abstract IndentData getNumberOfSymbolsBeforeBlock(); + + /** + * @return previous block for the current block if any; null otherwise + */ + @Nullable + protected abstract AbstractBlockWrapper getPreviousBlock(); + protected final void setCanUseFirstChildIndentAsBlockIndent(final boolean newValue) { if (newValue) myFlags |= CAN_USE_FIRST_CHILD_INDENT_AS_BLOCK_INDENT; else myFlags &= ~CAN_USE_FIRST_CHILD_INDENT_AS_BLOCK_INDENT; @@ -261,6 +286,89 @@ public abstract class AbstractBlockWrapper { } + /** + * Allows to answer if indent for the given child block should be calculated + * + * @param child + * @return + */ + private boolean isIndentAffectedAlignment(AbstractBlockWrapper child) { + if (!child.getWhiteSpace().containsLineFeeds()) { + return false; + } + AlignmentImpl alignment = getAlignmentAtStartOffset(); + if (alignment == null || alignment == child.getAlignment()) { + return false; + } + + LeafBlockWrapper anchorOffsetBlock = alignment.getOffsetRespBlockBefore(child); + return anchorOffsetBlock == null || anchorOffsetBlock.getStartOffset() >= getStartOffset(); + } + + /** + * Allows to retrieve alignment applied to any block that conforms to the following conditions: + *

      + *

        + *
      • that block is current block or its ancestor (direct or indirect parent);
      • + *
      • that block starts at the same offset as the current one;
      • + *
      + * + * @return alignment of the current block or it's ancestor that starts at the same offset as the current if any; + * null otherwise + */ + @Nullable + private AlignmentImpl getAlignmentAtStartOffset() { + for (AbstractBlockWrapper block = this; block != null && block.getStartOffset() == getStartOffset(); block = block.getParent()) { + if (block.getAlignment() != null) { + return block.getAlignment(); + } + } + return null; + } + + /** + * Allows to construct indent for the block that is affected by aligning rules. E.g. there is a possible case that the user + * configures method call arguments to be aligned and single parameter expression spans more than one line: + *

      + *

      +   *     public void test(String s1, String s2) {}
      +   *
      +   *     public void foo() {
      +   *         test("11"
      +   *                  + "12"
      +   *                  + "13",
      +   *              "21"
      +   *                  + "22");
      +   *     }
      +   * 
      + *

      + * Here both composite blocks ("11" + "12" + "13" and "21" + "22") are aligned as method call argument but their + * sub-blocks that are located on new lines should also be indented to the point of composite block start. + *

      + * This method takes care about constructing target absolute indent of the given child block assuming that it's parent + * (referenced by 'this') or it's ancestor that starts at the same offset is aligned. I.e. it assumes + * that {@link #isIndentAffectedAlignment(AbstractBlockWrapper)} returns true for the given child block. + * + * @param indentFromParent basic indent of given child from the current parent block + * @param child child block of the current aligned composite block + * @return absolute indent to use for the given child block of the current composite block + */ + private IndentData createAlignmentIndent(IndentData indentFromParent, AbstractBlockWrapper child) { + AbstractBlockWrapper previous = child.getPreviousBlock(); + + // There is no point in continuing processing if given child is the first block, i.e. there is no alignment-implied + // offset to add to the given 'indent from parent'. + if (previous == null) { + return indentFromParent; + } + + IndentData symbolsBeforeCurrent = getNumberOfSymbolsBeforeBlock(); + + // Result is calculated as a number of symbols between the current composite parent block plus given 'indent from parent'. + int indentSpaces = symbolsBeforeCurrent.getIndentSpaces() + indentFromParent.getSpaces() + indentFromParent.getIndentSpaces(); + return new IndentData(indentSpaces, symbolsBeforeCurrent.getSpaces()); + } + private static IndentData getIndent(final CodeStyleSettings.IndentOptions options, final int index, IndentImpl indent) { if (indent.getType() == IndentImpl.Type.CONTINUATION) { return new IndentData(options.CONTINUATION_INDENT_SIZE); From 57d758ce9dca300e6798f3f08ab32c881bf50776 Mon Sep 17 00:00:00 2001 From: Denis Zhdanov Date: Thu, 6 May 2010 18:16:16 +0400 Subject: [PATCH 121/173] IDEA-54671 Alignment of Call Arguments does not work. Corresponding test is added --- .../java/JavaFormatterIndentationTest.java | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/java/java-tests/testSrc/com/intellij/psi/formatter/java/JavaFormatterIndentationTest.java b/java/java-tests/testSrc/com/intellij/psi/formatter/java/JavaFormatterIndentationTest.java index c181648e5488..2d4c7709fc01 100644 --- a/java/java-tests/testSrc/com/intellij/psi/formatter/java/JavaFormatterIndentationTest.java +++ b/java/java-tests/testSrc/com/intellij/psi/formatter/java/JavaFormatterIndentationTest.java @@ -123,4 +123,36 @@ public class JavaFormatterIndentationTest extends AbstractJavaFormatterTest { " }" ); } + + public void testAlignedSubBlockIndentation() { + getSettings().ALIGN_MULTILINE_PARAMETERS_IN_CALLS = true; + getSettings().getIndentOptions(StdFileTypes.JAVA).CONTINUATION_INDENT_SIZE = 8; + + // Inspired by IDEA-54671 + doTextTest( + "class Test {\n" + + " public void foo() {\n" + + " test(11\n" + + " + 12\n" + + " + 13,\n" + + " 21\n" + + " + 22\n" + + " + 23\n" + + " )" + + " }\n" + + "}", + + "class Test {\n" + + " public void foo() {\n" + + " test(11\n" + + " + 12\n" + + " + 13,\n" + + " 21\n" + + " + 22\n" + + " + 23\n" + + " )\n" + + " }\n" + + "}" + ); + } } From 4f89a65e20c58de3e939e44441a16635ba960657 Mon Sep 17 00:00:00 2001 From: Maxim Medvedev Date: Thu, 6 May 2010 18:24:42 +0400 Subject: [PATCH 122/173] IDEA-54566: groovy: Ctrl-W misses step that selects all lines inside block --- .../GroovyBlockStatementsSelectioner.java | 40 ++++++++++++++----- .../plugins/groovy/GroovyActionsTest.groovy | 15 +++---- .../groovy/actions/SWInCodeBlock.groovy | 8 ++++ .../groovy/actions/SWInCodeBlock_after.groovy | 8 ++++ 4 files changed, 54 insertions(+), 17 deletions(-) create mode 100644 plugins/groovy/testdata/groovy/actions/SWInCodeBlock.groovy create mode 100644 plugins/groovy/testdata/groovy/actions/SWInCodeBlock_after.groovy diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/editor/selection/GroovyBlockStatementsSelectioner.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/editor/selection/GroovyBlockStatementsSelectioner.java index 0ad71eca17f4..d264fbd01278 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/editor/selection/GroovyBlockStatementsSelectioner.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/editor/selection/GroovyBlockStatementsSelectioner.java @@ -19,7 +19,7 @@ package org.jetbrains.plugins.groovy.editor.selection; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.util.TextRange; import com.intellij.psi.PsiElement; -import org.jetbrains.plugins.groovy.lang.psi.api.statements.GrStatement; +import org.jetbrains.plugins.groovy.lang.lexer.GroovyTokenTypes; import org.jetbrains.plugins.groovy.lang.psi.api.statements.blocks.GrCodeBlock; import java.util.List; @@ -37,17 +37,37 @@ public class GroovyBlockStatementsSelectioner extends GroovyBasicSelectioner { List result = super.select(e, editorText, cursorOffset, editor); if (e instanceof GrCodeBlock) { - GrCodeBlock block = ((GrCodeBlock) e); - GrStatement[] statements = block.getStatements(); - - if (statements.length > 0) { - int startOffset = statements[0].getTextRange().getStartOffset(); - int endOffset = statements[statements.length - 1].getTextRange().getEndOffset(); - TextRange range = new TextRange(startOffset, endOffset); - result.add(range); - } + GrCodeBlock block = ((GrCodeBlock)e); + int startOffset = findOpeningBrace(block); + int endOffset = findClosingBrace(block, startOffset); + TextRange range = new TextRange(startOffset, endOffset); + result.addAll(expandToWholeLine(editorText, range)); } return result; } + private static int findOpeningBrace(GrCodeBlock block) { + PsiElement lbrace = block.getLBrace(); + if (lbrace == null) return block.getTextRange().getStartOffset(); + + while (isWhiteSpace(lbrace.getNextSibling())) { + lbrace = lbrace.getNextSibling(); + } + return lbrace.getTextRange().getEndOffset(); + } + + private static int findClosingBrace(GrCodeBlock block, int startOffset) { + PsiElement rbrace = block.getRBrace(); + if (rbrace == null) return block.getTextRange().getEndOffset(); + + while (isWhiteSpace(rbrace.getPrevSibling()) && rbrace.getPrevSibling().getTextRange().getStartOffset() > startOffset) { + rbrace = rbrace.getPrevSibling(); + } + + return rbrace.getTextRange().getStartOffset(); + } + + private static boolean isWhiteSpace(PsiElement element) { + return element != null && GroovyTokenTypes.WHITE_SPACES_SET.contains(element.getNode().getElementType()); + } } diff --git a/plugins/groovy/test/org/jetbrains/plugins/groovy/GroovyActionsTest.groovy b/plugins/groovy/test/org/jetbrains/plugins/groovy/GroovyActionsTest.groovy index 4cde1e085786..ade64c7affa8 100644 --- a/plugins/groovy/test/org/jetbrains/plugins/groovy/GroovyActionsTest.groovy +++ b/plugins/groovy/test/org/jetbrains/plugins/groovy/GroovyActionsTest.groovy @@ -15,13 +15,14 @@ */ package org.jetbrains.plugins.groovy; -import com.intellij.ide.DataManager; -import com.intellij.openapi.actionSystem.IdeActions; -import com.intellij.openapi.editor.Editor; -import com.intellij.openapi.editor.actionSystem.EditorActionHandler; -import com.intellij.openapi.editor.actionSystem.EditorActionManager; -import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase; -import org.jetbrains.plugins.groovy.util.TestUtils; + +import com.intellij.ide.DataManager +import com.intellij.openapi.actionSystem.IdeActions +import com.intellij.openapi.editor.Editor +import com.intellij.openapi.editor.actionSystem.EditorActionHandler +import com.intellij.openapi.editor.actionSystem.EditorActionManager +import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase +import org.jetbrains.plugins.groovy.util.TestUtils /** * @author peter diff --git a/plugins/groovy/testdata/groovy/actions/SWInCodeBlock.groovy b/plugins/groovy/testdata/groovy/actions/SWInCodeBlock.groovy new file mode 100644 index 000000000000..5bfcfcd98076 --- /dev/null +++ b/plugins/groovy/testdata/groovy/actions/SWInCodeBlock.groovy @@ -0,0 +1,8 @@ +def foo() { + + //sdjhfksd + print a; + + print b; + +} \ No newline at end of file diff --git a/plugins/groovy/testdata/groovy/actions/SWInCodeBlock_after.groovy b/plugins/groovy/testdata/groovy/actions/SWInCodeBlock_after.groovy new file mode 100644 index 000000000000..cc3bb16ebe71 --- /dev/null +++ b/plugins/groovy/testdata/groovy/actions/SWInCodeBlock_after.groovy @@ -0,0 +1,8 @@ +def foo() { + + //sdjhfksd + print a; + + print b; + +} \ No newline at end of file From 6a122e7ef1543a5a66f9a111e299d051183a8b47 Mon Sep 17 00:00:00 2001 From: Maxim Medvedev Date: Thu, 6 May 2010 18:26:22 +0400 Subject: [PATCH 123/173] test for IDEA-54566 --- .../test/org/jetbrains/plugins/groovy/GroovyActionsTest.groovy | 2 ++ 1 file changed, 2 insertions(+) diff --git a/plugins/groovy/test/org/jetbrains/plugins/groovy/GroovyActionsTest.groovy b/plugins/groovy/test/org/jetbrains/plugins/groovy/GroovyActionsTest.groovy index ade64c7affa8..5bb933390cb9 100644 --- a/plugins/groovy/test/org/jetbrains/plugins/groovy/GroovyActionsTest.groovy +++ b/plugins/groovy/test/org/jetbrains/plugins/groovy/GroovyActionsTest.groovy @@ -56,6 +56,8 @@ public class GroovyActionsTest extends LightCodeInsightFixtureTestCase { "a.foo(b)" } + public void testSWInCodeBlock() throws Exception {doTestForSelectWord 3} + private void doTestForSelectWord(int count, String input, String expected) throws Exception { myFixture.configureByText("a.groovy", input); selectWord(count) From 4a4873dfc85c25f5ab2574fddce4eb7cc768f7c9 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Thu, 6 May 2010 14:29:09 +0400 Subject: [PATCH 124/173] dumb-aware --- .../com/intellij/ide/actions/QuickChangeLookAndFeel.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/ide/actions/QuickChangeLookAndFeel.java b/platform/platform-impl/src/com/intellij/ide/actions/QuickChangeLookAndFeel.java index 080903817d03..a7ee3d57fe39 100644 --- a/platform/platform-impl/src/com/intellij/ide/actions/QuickChangeLookAndFeel.java +++ b/platform/platform-impl/src/com/intellij/ide/actions/QuickChangeLookAndFeel.java @@ -16,10 +16,10 @@ package com.intellij.ide.actions; import com.intellij.ide.ui.LafManager; -import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.actionSystem.DataContext; import com.intellij.openapi.actionSystem.DefaultActionGroup; +import com.intellij.openapi.project.DumbAwareAction; import com.intellij.openapi.project.Project; import javax.swing.*; @@ -32,9 +32,8 @@ public class QuickChangeLookAndFeel extends QuickSwitchSchemeAction { final LafManager manager = LafManager.getInstance(); final UIManager.LookAndFeelInfo[] lfs = manager.getInstalledLookAndFeels(); final UIManager.LookAndFeelInfo current = manager.getCurrentLookAndFeel(); - for (int i = 0; i < lfs.length; i++) { - final UIManager.LookAndFeelInfo lf = lfs[i]; - group.add(new AnAction(lf.getName(), "", lf == current ? ourCurrentAction : ourNotCurrentAction) { + for (final UIManager.LookAndFeelInfo lf : lfs) { + group.add(new DumbAwareAction(lf.getName(), "", lf == current ? ourCurrentAction : ourNotCurrentAction) { public void actionPerformed(AnActionEvent e) { manager.setCurrentLookAndFeel(lf); manager.updateUI(); From 812ad661a58dde6437fece354ac5396ab9d866e5 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Thu, 6 May 2010 15:53:37 +0400 Subject: [PATCH 125/173] don't prompt to remove VCS root on modules.xml change if module is not actually removed (IDEA-54697) --- .../openapi/vcs/impl/ModuleVcsDetector.java | 38 ++++++++++++------- 1 file changed, 25 insertions(+), 13 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/openapi/vcs/impl/ModuleVcsDetector.java b/platform/lang-impl/src/com/intellij/openapi/vcs/impl/ModuleVcsDetector.java index 7fec28d15608..ae9d4e74dc73 100644 --- a/platform/lang-impl/src/com/intellij/openapi/vcs/impl/ModuleVcsDetector.java +++ b/platform/lang-impl/src/com/intellij/openapi/vcs/impl/ModuleVcsDetector.java @@ -29,6 +29,7 @@ import com.intellij.openapi.roots.ModuleRootListener; import com.intellij.openapi.roots.ModuleRootManager; import com.intellij.openapi.startup.StartupManager; import com.intellij.openapi.ui.Messages; +import com.intellij.openapi.util.Pair; import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.vcs.AbstractVcs; import com.intellij.openapi.vcs.ProjectLevelVcsManager; @@ -82,10 +83,16 @@ public class ModuleVcsDetector implements ProjectComponent { } private class MyModulesListener extends ModuleAdapter implements ModuleRootListener { + private final List> myMappingsForRemovedModules = new ArrayList>(); + public void beforeRootsChange(ModuleRootEvent event) { + myMappingsForRemovedModules.clear(); } public void rootsChanged(ModuleRootEvent event) { + for (Pair mapping : myMappingsForRemovedModules) { + promptRemoveMapping(mapping.first, mapping.second); + } // the check calculates to true only before user has done any change to mappings, i.e. in case modules are detected/added automatically // on start etc (look inside) if (myVcsManager.needAutodetectMappings()) { @@ -94,11 +101,12 @@ public class ModuleVcsDetector implements ProjectComponent { } public void moduleAdded(final Project project, final Module module) { + myMappingsForRemovedModules.removeAll(getMappings(module)); autoDetectModuleVcsMapping(module); } public void beforeModuleRemoved(final Project project, final Module module) { - checkRemoveVcsRoot(module); + myMappingsForRemovedModules.addAll(getMappings(module)); } } @@ -183,27 +191,31 @@ public class ModuleVcsDetector implements ProjectComponent { } } - private void checkRemoveVcsRoot(final Module module) { + private List> getMappings(final Module module) { + List> result = new ArrayList>(); final VirtualFile[] files = ModuleRootManager.getInstance(module).getContentRoots(); final String moduleName = module.getName(); for(final VirtualFile file: files) { for(final VcsDirectoryMapping mapping: myVcsManager.getDirectoryMappings()) { if (FileUtil.toSystemIndependentName(mapping.getDirectory()).equals(file.getPath())) { - ApplicationManager.getApplication().invokeLater(new Runnable() { - public void run() { - if (myProject.isDisposed()) return; - final String msg = VcsBundle.message("vcs.root.remove.prompt", FileUtil.toSystemDependentName(file.getPath()), moduleName); - int rc = Messages.showYesNoDialog(myProject, msg, VcsBundle.message("vcs.root.remove.title"), Messages.getQuestionIcon()); - if (rc == 0) { - myVcsManager.removeDirectoryMapping(mapping); - } - } - }, ModalityState.NON_MODAL); + result.add(new Pair(moduleName, mapping)); break; } } } + return result; } - + private void promptRemoveMapping(final String moduleName, final VcsDirectoryMapping mapping) { + ApplicationManager.getApplication().invokeLater(new Runnable() { + public void run() { + if (myProject.isDisposed()) return; + final String msg = VcsBundle.message("vcs.root.remove.prompt", FileUtil.toSystemDependentName(mapping.getDirectory()), moduleName); + int rc = Messages.showYesNoDialog(myProject, msg, VcsBundle.message("vcs.root.remove.title"), Messages.getQuestionIcon()); + if (rc == 0) { + myVcsManager.removeDirectoryMapping(mapping); + } + } + }, ModalityState.NON_MODAL); + } } From 20b8bc7e2ffb6e5f19c2cf8e0b79efbf7ebb60cf Mon Sep 17 00:00:00 2001 From: "Rustam.Vishnyakov" Date: Thu, 6 May 2010 20:20:38 +0400 Subject: [PATCH 126/173] dumpBlock(..) method for a single formatting block printout --- .../intellij/formatting/BlockDebugUtil.java | 35 ++++++++++++------- 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/formatting/BlockDebugUtil.java b/platform/lang-impl/src/com/intellij/formatting/BlockDebugUtil.java index fc39a126d0a6..f76e2eb14be1 100644 --- a/platform/lang-impl/src/com/intellij/formatting/BlockDebugUtil.java +++ b/platform/lang-impl/src/com/intellij/formatting/BlockDebugUtil.java @@ -36,11 +36,21 @@ public class BlockDebugUtil { */ public static void dumpBlockTree(PrintStream out, Block block) { out.println("--- BLOCK TREE DUMP ---"); - dumpBlockTree(out, block, ""); + dumpBlockTree(out, block, "", true); out.println("--- END OF DUMP ---\n\n"); } - private static void dumpBlockTree(PrintStream out, Block block, String indent) { + + /** + * Print out a single block info without child blocks. + * @param out The output stream. + * @param block The block to print the info for. + */ + public static void dumpBlock(PrintStream out, Block block) { + dumpBlockTree(out, block, "", false); + } + + private static void dumpBlockTree(PrintStream out, Block block, String indent, boolean withChildren) { if (block == null) return; out.print(indent + block.getClass().getSimpleName()); if (block.getIndent() != null) { @@ -49,6 +59,7 @@ public class BlockDebugUtil { else { out.print(" "); } + out.print(" " + block.getTextRange() + " "); if (block instanceof ASTBlock) { ASTNode node = ((ASTBlock)block).getNode(); if (node != null) { @@ -61,20 +72,20 @@ public class BlockDebugUtil { out.print(" \"" + text + "\""); } } - System.out.println(); - List subBlocks = getSubBlocks(block); - if (subBlocks != null && subBlocks.size() > 0) { - out.println(indent + "{"); - for (Block child : subBlocks) { - dumpBlockTree(out, child, indent + " "); + out.println(); + if (withChildren) { + List subBlocks = getSubBlocks(block); + if (subBlocks != null && subBlocks.size() > 0) { + out.println(indent + "{"); + for (Block child : subBlocks) { + dumpBlockTree(out, child, indent + " ", true); + } + out.println(indent + "}"); } - out.println(indent + "}"); } } private static List getSubBlocks(Block root) { - if (root instanceof AbstractBlock) return ((AbstractBlock)root).getSubBlocks(); - if (root instanceof DataLanguageBlockWrapper) return ((DataLanguageBlockWrapper)root).getSubBlocks(); - return null; + return root.getSubBlocks(); } } From 37574d8f5a27f55334ad31fa68634e4f90f40b2a Mon Sep 17 00:00:00 2001 From: anna Date: Thu, 6 May 2010 17:12:38 +0400 Subject: [PATCH 127/173] attach sources when multiple libraries found for jar --- .../AttachSourcesNotificationProvider.java | 100 ++++++++++++------ .../codeInsight/AttachSourcesProvider.java | 7 +- .../utils/MavenAttachSourcesProvider.java | 24 ++--- 3 files changed, 85 insertions(+), 46 deletions(-) diff --git a/java/idea-ui/src/com/intellij/codeInsight/daemon/impl/AttachSourcesNotificationProvider.java b/java/idea-ui/src/com/intellij/codeInsight/daemon/impl/AttachSourcesNotificationProvider.java index 7f2ea324eaf8..6e67899786e3 100644 --- a/java/idea-ui/src/com/intellij/codeInsight/daemon/impl/AttachSourcesNotificationProvider.java +++ b/java/idea-ui/src/com/intellij/codeInsight/daemon/impl/AttachSourcesNotificationProvider.java @@ -24,31 +24,31 @@ import com.intellij.openapi.extensions.ExtensionPointName; import com.intellij.openapi.extensions.Extensions; import com.intellij.openapi.fileChooser.FileChooser; import com.intellij.openapi.fileChooser.FileChooserDescriptor; -import com.intellij.openapi.fileEditor.ex.FileEditorManagerEx; -import com.intellij.openapi.fileEditor.impl.EditorWindow; import com.intellij.openapi.project.Project; import com.intellij.openapi.project.ProjectBundle; import com.intellij.openapi.roots.*; import com.intellij.openapi.roots.libraries.Library; import com.intellij.openapi.roots.ui.configuration.PathUIUtils; import com.intellij.openapi.ui.Messages; +import com.intellij.openapi.ui.popup.JBPopupFactory; +import com.intellij.openapi.ui.popup.ListSeparator; +import com.intellij.openapi.ui.popup.PopupStep; +import com.intellij.openapi.ui.popup.util.BaseListPopupStep; import com.intellij.openapi.util.ActionCallback; +import com.intellij.openapi.util.Comparing; import com.intellij.openapi.util.Key; import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.vfs.VirtualFile; -import com.intellij.psi.*; -import com.intellij.psi.impl.compiled.ClsClassImpl; -import com.intellij.psi.impl.compiled.ClsFileImpl; -import com.intellij.psi.search.GlobalSearchScope; +import com.intellij.psi.PsiFile; +import com.intellij.psi.PsiManager; import com.intellij.ui.EditorNotificationPanel; import com.intellij.ui.EditorNotifications; import com.intellij.ui.GuiUtils; +import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import javax.swing.*; -import java.util.Comparator; -import java.util.List; -import java.util.TreeSet; +import java.util.*; /** * @author Dmitry Avdeev @@ -80,8 +80,8 @@ public class AttachSourcesNotificationProvider implements EditorNotifications.Pr public EditorNotificationPanel createNotificationPanel(final VirtualFile file) { if (file.getFileType() != JavaClassFileType.INSTANCE) return null; - final Library library = findLibrary(file); - if (library == null) return null; + final List libraries = findOrderEntriesContainingFile(file); + if (libraries == null) return null; PsiFile psiFile = PsiManager.getInstance(myProject).findFile(file); final String fqn = JavaEditorFileSwapper.getFQN(psiFile); @@ -92,7 +92,7 @@ public class AttachSourcesNotificationProvider implements EditorNotifications.Pr final EditorNotificationPanel panel = new EditorNotificationPanel(); panel.setText(ProjectBundle.message("library.sources.not.found")); - final AttachSourcesProvider.AttachSourcesAction defaultAction = createDefaultAction(library, file); + final AttachSourcesProvider.AttachSourcesAction defaultAction = createDefaultAction(); TreeSet actions = new TreeSet( new Comparator() { @@ -106,13 +106,13 @@ public class AttachSourcesNotificationProvider implements EditorNotifications.Pr actions.add(defaultAction); for (AttachSourcesProvider each : Extensions.getExtensions(EXTENSION_POINT_NAME)) { - actions.addAll(each.getActions(library, psiFile)); + actions.addAll(each.getActions(libraries, psiFile)); } for (final AttachSourcesProvider.AttachSourcesAction each : actions) { panel.createActionLabel(GuiUtils.getTextWithoutMnemonicEscaping(each.getName()), new Runnable() { public void run() { - if (library != findLibrary(file)) { + if (!Comparing.equal(libraries, findOrderEntriesContainingFile(file))) { Messages.showErrorDialog(myProject, "Cannot find library for " + StringUtil.getShortName(fqn), "Error"); return; } @@ -128,7 +128,7 @@ public class AttachSourcesNotificationProvider implements EditorNotifications.Pr }); } }; - ActionCallback callback = each.perform(); + ActionCallback callback = each.perform(findOrderEntriesContainingFile(file)); callback.doWhenRejected(onFinish); callback.doWhenDone(onFinish); } @@ -138,7 +138,7 @@ public class AttachSourcesNotificationProvider implements EditorNotifications.Pr return panel; } - private AttachSourcesProvider.AttachSourcesAction createDefaultAction(final Library library, final VirtualFile file) { + private AttachSourcesProvider.AttachSourcesAction createDefaultAction() { return new AttachSourcesProvider.AttachSourcesAction() { public String getName() { return ProjectBundle.message("module.libraries.attach.sources.button"); @@ -148,41 +148,79 @@ public class AttachSourcesNotificationProvider implements EditorNotifications.Pr return ProjectBundle.message("library.attach.sources.action.busy.text"); } - public ActionCallback perform() { + public ActionCallback perform(final List libraries) { FileChooserDescriptor descriptor = new FileChooserDescriptor(false, true, true, false, true, true); descriptor.setTitle(ProjectBundle.message("library.attach.sources.action")); descriptor.setDescription(ProjectBundle.message("library.attach.sources.description")); - VirtualFile[] roots = library.getFiles(OrderRootType.CLASSES); + final Library firstLibrary = libraries.get(0).getLibrary(); + VirtualFile[] roots = firstLibrary != null ? firstLibrary.getFiles(OrderRootType.CLASSES) : VirtualFile.EMPTY_ARRAY; VirtualFile[] candidates = FileChooser.chooseFiles(myProject, descriptor, roots.length == 0 ? null : roots[0]); final VirtualFile[] files = PathUIUtils.scanAndSelectDetectedJavaSourceRoots(myProject, candidates); if (files.length == 0) { return new ActionCallback.Rejected(); } - ApplicationManager.getApplication().runWriteAction(new Runnable() { - public void run() { - final Library library = findLibrary(file); - assert library != null; - Library.ModifiableModel model = library.getModifiableModel(); - for (VirtualFile virtualFile : files) { - model.addRoot(virtualFile, OrderRootType.SOURCES); + if (libraries.size() == 1) { + appendSources(firstLibrary, files); + } else { + final List librariesToAppendSourcesTo = new ArrayList(libraries); + librariesToAppendSourcesTo.add(null); + JBPopupFactory.getInstance().createListPopup(new BaseListPopupStep("Multiple libraries contain file.
      Choose libraries to attach sources to", librariesToAppendSourcesTo){ + @Override + public ListSeparator getSeparatorAbove(LibraryOrderEntry value) { + return value == null ? new ListSeparator() : null; } - model.commit(); - } - }); + + @NotNull + @Override + public String getTextFor(LibraryOrderEntry value) { + if (value != null) { + return value.getPresentableName() + " (" + value.getOwnerModule().getName() + ")"; + } + else { + return "All"; + } + } + + @Override + public PopupStep onChosen(LibraryOrderEntry libraryOrderEntry, boolean finalChoice) { + if (libraryOrderEntry != null) { + appendSources(libraryOrderEntry.getLibrary(), files); + } else { + for (LibraryOrderEntry libOrderEntry : libraries) { + appendSources(libOrderEntry.getLibrary(), files); + } + } + return FINAL_CHOICE; + } + }).showCenteredInCurrentWindow(myProject); + } return new ActionCallback.Done(); } }; } + private static void appendSources(final Library library, final VirtualFile[] files) { + ApplicationManager.getApplication().runWriteAction(new Runnable() { + public void run() { + Library.ModifiableModel model = library.getModifiableModel(); + for (VirtualFile virtualFile : files) { + model.addRoot(virtualFile, OrderRootType.SOURCES); + } + model.commit(); + } + }); + } + @Nullable - private Library findLibrary(VirtualFile file) { + private List findOrderEntriesContainingFile(VirtualFile file) { + final List libs = new ArrayList(); List entries = ProjectRootManager.getInstance(myProject).getFileIndex().getOrderEntriesForFile(file); for (OrderEntry entry : entries) { if (entry instanceof LibraryOrderEntry) { - return ((LibraryOrderEntry)entry).getLibrary(); + libs.add ((LibraryOrderEntry)entry); } } - return null; + return libs.isEmpty() ? null : libs; } } diff --git a/java/openapi/src/com/intellij/codeInsight/AttachSourcesProvider.java b/java/openapi/src/com/intellij/codeInsight/AttachSourcesProvider.java index a9e0a6b67d11..f0651c6d88e1 100644 --- a/java/openapi/src/com/intellij/codeInsight/AttachSourcesProvider.java +++ b/java/openapi/src/com/intellij/codeInsight/AttachSourcesProvider.java @@ -15,18 +15,19 @@ */ package com.intellij.codeInsight; -import com.intellij.openapi.roots.libraries.Library; +import com.intellij.openapi.roots.LibraryOrderEntry; import com.intellij.openapi.util.ActionCallback; import com.intellij.psi.PsiFile; import java.util.Collection; +import java.util.List; public interface AttachSourcesProvider { - Collection getActions(Library library, PsiFile psiFile); + Collection getActions(List orderEntries, PsiFile psiFile); interface AttachSourcesAction { String getName(); String getBusyText(); - ActionCallback perform(); + ActionCallback perform(List orderEntriesContainingFile); } } diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/utils/MavenAttachSourcesProvider.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/utils/MavenAttachSourcesProvider.java index 54269460b2f5..49467a4918ba 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/utils/MavenAttachSourcesProvider.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/utils/MavenAttachSourcesProvider.java @@ -20,9 +20,9 @@ import com.intellij.notification.Notification; import com.intellij.notification.NotificationType; import com.intellij.notification.Notifications; import com.intellij.openapi.project.Project; +import com.intellij.openapi.roots.LibraryOrderEntry; import com.intellij.openapi.roots.OrderEntry; import com.intellij.openapi.roots.ProjectRootManager; -import com.intellij.openapi.roots.libraries.Library; import com.intellij.openapi.util.ActionCallback; import com.intellij.openapi.util.AsyncResult; import com.intellij.psi.PsiFile; @@ -31,15 +31,13 @@ import org.jetbrains.idea.maven.importing.MavenRootModelAdapter; import org.jetbrains.idea.maven.project.*; import javax.swing.*; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; +import java.util.*; public class MavenAttachSourcesProvider implements AttachSourcesProvider { - public Collection getActions(final Library library, final PsiFile psiFile) { + public Collection getActions(final List orderEntries, final PsiFile psiFile) { Collection projects = getMavenProjects(psiFile); if (projects.isEmpty()) return Collections.emptyList(); - if (findArtifacts(projects, library).isEmpty()) return Collections.emptyList(); + if (findArtifacts(projects, orderEntries).isEmpty()) return Collections.emptyList(); return Collections.singleton(new AttachSourcesAction() { public String getName() { @@ -50,14 +48,14 @@ public class MavenAttachSourcesProvider implements AttachSourcesProvider { return ProjectBundle.message("maven.action.download.sources.busy.text"); } - public ActionCallback perform() { + public ActionCallback perform(List orderEntries) { // may have been changed by this time... Collection mavenProjects = getMavenProjects(psiFile); if (mavenProjects.isEmpty()) return new ActionCallback.Rejected(); MavenProjectsManager manager = MavenProjectsManager.getInstance(psiFile.getProject()); - Collection artifacts = findArtifacts(mavenProjects, library); + Collection artifacts = findArtifacts(mavenProjects, orderEntries); if (artifacts.isEmpty()) return new ActionCallback.Rejected(); final AsyncResult result = new AsyncResult(); @@ -105,16 +103,18 @@ public class MavenAttachSourcesProvider implements AttachSourcesProvider { }); } - private Collection findArtifacts(Collection mavenProjects, Library library) { + private static Collection findArtifacts(Collection mavenProjects, List orderEntries) { Collection artifacts = new THashSet(); for (MavenProject each : mavenProjects) { - final MavenArtifact artifact = MavenRootModelAdapter.findArtifact(each, library); - if (artifact != null) artifacts.add(artifact); + for (LibraryOrderEntry entry : orderEntries) { + final MavenArtifact artifact = MavenRootModelAdapter.findArtifact(each, entry.getLibrary()); + if (artifact != null) artifacts.add(artifact); + } } return artifacts; } - private Collection getMavenProjects(PsiFile psiFile) { + private static Collection getMavenProjects(PsiFile psiFile) { Project project = psiFile.getProject(); Collection result = new ArrayList(); for (OrderEntry each : ProjectRootManager.getInstance(project).getFileIndex().getOrderEntriesForFile(psiFile.getVirtualFile())) { From 9b301801a6bf884d724c8d68a2af176dfb3fd547 Mon Sep 17 00:00:00 2001 From: anna Date: Thu, 6 May 2010 18:04:40 +0400 Subject: [PATCH 128/173] do not fold parameters if folded expression depends on local variables ( IDEA-54488 ) --- .../extractMethod/ParametersFolder.java | 26 +++++++++++++++++-- .../ArrayAccessWithLocalIndex.java | 9 +++++++ .../ArrayAccessWithLocalIndex_after.java | 13 ++++++++++ .../refactoring/ExtractMethodTest.java | 4 +++ 4 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 java/java-tests/testData/refactoring/extractMethod/ArrayAccessWithLocalIndex.java create mode 100644 java/java-tests/testData/refactoring/extractMethod/ArrayAccessWithLocalIndex_after.java diff --git a/java/java-impl/src/com/intellij/refactoring/extractMethod/ParametersFolder.java b/java/java-impl/src/com/intellij/refactoring/extractMethod/ParametersFolder.java index 358d49bcb575..1ee80ece1432 100644 --- a/java/java-impl/src/com/intellij/refactoring/extractMethod/ParametersFolder.java +++ b/java/java-impl/src/com/intellij/refactoring/extractMethod/ParametersFolder.java @@ -111,7 +111,7 @@ public class ParametersFolder { public boolean isParameterFoldable(@NotNull ParameterTablePanel.VariableData data, @NotNull LocalSearchScope scope, @NotNull final List inputVariables) { - final List mentionedInExpressions = getMentionedExpressions(data.variable, scope); + final List mentionedInExpressions = getMentionedExpressions(data.variable, scope, inputVariables); if (mentionedInExpressions == null) return false; int currentRank = 0; @@ -174,7 +174,7 @@ public class ParametersFolder { } @Nullable - private List getMentionedExpressions(PsiVariable var, LocalSearchScope scope) { + private List getMentionedExpressions(PsiVariable var, LocalSearchScope scope, final List inputVariables) { if (myMentionedInExpressions.containsKey(var)) return myMentionedInExpressions.get(var); final PsiElement[] scopeElements = scope.getScope(); List expressions = null; @@ -194,6 +194,9 @@ public class ParametersFolder { final PsiType expressionType = ((PsiExpression)expression).getType(); if (expressionType != null && expressionType != PsiType.VOID && !(expression.getParent() instanceof PsiExpressionStatement)) { + if (dependsOnLocals(expression, inputVariables)) { + break; + } expressions.add((PsiExpression)expression); } expression = PsiTreeUtil.getParentOfType(expression, PsiExpression.class); @@ -211,6 +214,25 @@ public class ParametersFolder { return expressions; } + private static boolean dependsOnLocals(final PsiElement expression, final List inputVariables) { + final boolean[] localVarsUsed = new boolean[]{false}; + expression.accept(new JavaRecursiveElementWalkingVisitor(){ + @Override + public void visitReferenceExpression(PsiReferenceExpression expression) { + final PsiElement resolved = expression.resolve(); + if (resolved instanceof PsiVariable) { + final PsiVariable variable = (PsiVariable)resolved; + if (!inputVariables.contains(variable)) { + localVarsUsed[0] = true; + return; + } + } + super.visitReferenceExpression(expression); + } + }); + return localVarsUsed[0]; + } + @NotNull public String getGeneratedCallArgument(@NotNull ParameterTablePanel.VariableData data) { return myExpressions.containsKey(data.variable) ? myExpressions.get(data.variable).getText() : data.variable.getName(); diff --git a/java/java-tests/testData/refactoring/extractMethod/ArrayAccessWithLocalIndex.java b/java/java-tests/testData/refactoring/extractMethod/ArrayAccessWithLocalIndex.java new file mode 100644 index 000000000000..cb850bd94990 --- /dev/null +++ b/java/java-tests/testData/refactoring/extractMethod/ArrayAccessWithLocalIndex.java @@ -0,0 +1,9 @@ +class Test { + void foo(String[] ss) { + Integer[] levels = new Integer[]{Integer.valueOf(1), Integer.valueOf(2), Integer.valueOf(3),}; + Integer[] nextWinNumber = new Integer[6]; + for (Integer level : levels) { + Integer nextWinNum = nextWinNumber[level - 1]; + } + } +} \ No newline at end of file diff --git a/java/java-tests/testData/refactoring/extractMethod/ArrayAccessWithLocalIndex_after.java b/java/java-tests/testData/refactoring/extractMethod/ArrayAccessWithLocalIndex_after.java new file mode 100644 index 000000000000..497400c0f37c --- /dev/null +++ b/java/java-tests/testData/refactoring/extractMethod/ArrayAccessWithLocalIndex_after.java @@ -0,0 +1,13 @@ +class Test { + void foo(String[] ss) { + Integer[] levels = new Integer[]{Integer.valueOf(1), Integer.valueOf(2), Integer.valueOf(3),}; + Integer[] nextWinNumber = new Integer[6]; + newMethod(levels, nextWinNumber); + } + + private void newMethod(Integer[] levels, Integer[] nextWinNumber) { + for (Integer level : levels) { + Integer nextWinNum = nextWinNumber[level - 1]; + } + } +} \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/refactoring/ExtractMethodTest.java b/java/java-tests/testSrc/com/intellij/refactoring/ExtractMethodTest.java index 14ec8d979a44..85684b4caaba 100644 --- a/java/java-tests/testSrc/com/intellij/refactoring/ExtractMethodTest.java +++ b/java/java-tests/testSrc/com/intellij/refactoring/ExtractMethodTest.java @@ -404,6 +404,10 @@ public class ExtractMethodTest extends LightCodeInsightTestCase { doTest(); } + public void testArrayAccessWithLocalIndex() throws Exception { + doTest(); + } + public void testArrayAccessWithDuplicates() throws Exception { doDuplicatesTest(); } From 2293b5a5a74ad10a559f2a575cbdb68f7b9919b7 Mon Sep 17 00:00:00 2001 From: anna Date: Thu, 6 May 2010 20:20:40 +0400 Subject: [PATCH 129/173] extract method: inline output variable if it is returned right after creation ( IDEA-54490 ) --- .../extractMethod/ExtractMethodProcessor.java | 19 ++++++++++++++++++- .../CodeDuplicatesWithOutputValue_after.java | 3 +-- .../extractMethod/FinalOutputVar_after.java | 3 +-- ...nlineCreated2ReturnLocalVariablesOnly.java | 8 ++++++++ ...reated2ReturnLocalVariablesOnly_after.java | 13 +++++++++++++ .../refactoring/ExtractMethodTest.java | 4 ++++ 6 files changed, 45 insertions(+), 5 deletions(-) create mode 100644 java/java-tests/testData/refactoring/extractMethod/InlineCreated2ReturnLocalVariablesOnly.java create mode 100644 java/java-tests/testData/refactoring/extractMethod/InlineCreated2ReturnLocalVariablesOnly_after.java diff --git a/java/java-impl/src/com/intellij/refactoring/extractMethod/ExtractMethodProcessor.java b/java/java-impl/src/com/intellij/refactoring/extractMethod/ExtractMethodProcessor.java index ebda6b141cf7..cf4b20a9ade9 100644 --- a/java/java-impl/src/com/intellij/refactoring/extractMethod/ExtractMethodProcessor.java +++ b/java/java-impl/src/com/intellij/refactoring/extractMethod/ExtractMethodProcessor.java @@ -33,6 +33,7 @@ import com.intellij.openapi.editor.colors.EditorColors; import com.intellij.openapi.editor.colors.EditorColorsManager; import com.intellij.openapi.editor.markup.TextAttributes; import com.intellij.openapi.project.Project; +import com.intellij.openapi.util.Comparing; import com.intellij.openapi.util.Pair; import com.intellij.openapi.util.TextRange; import com.intellij.openapi.vfs.VirtualFile; @@ -598,7 +599,23 @@ public class ExtractMethodProcessor implements MatchProvider { body.add(myElementFactory.createStatementFromText("return false;", null)); } else if (!myHasReturnStatement && hasNormalExit && myOutputVariable != null) { - body.add(returnStatement); + final PsiReturnStatement insertedReturnStatement = (PsiReturnStatement)body.add(returnStatement); + if (myOutputVariables.length == 1) { + final PsiExpression returnValue = insertedReturnStatement.getReturnValue(); + if (returnValue instanceof PsiReferenceExpression) { + final PsiElement resolved = ((PsiReferenceExpression)returnValue).resolve(); + if (resolved instanceof PsiLocalVariable && Comparing.strEqual(((PsiVariable)resolved).getName(), outVariableName)) { + final PsiStatement statement = PsiTreeUtil.getPrevSiblingOfType(insertedReturnStatement, PsiStatement.class); + if (statement instanceof PsiDeclarationStatement) { + final PsiElement[] declaredElements = ((PsiDeclarationStatement)statement).getDeclaredElements(); + if (ArrayUtil.find(declaredElements, resolved) != -1) { + InlineUtil.inlineVariable((PsiVariable)resolved, ((PsiVariable)resolved).getInitializer(), (PsiReferenceExpression)returnValue); + resolved.delete(); + } + } + } + } + } } if (myNullConditionalCheck) { final String varName = myOutputVariable.getName(); diff --git a/java/java-tests/testData/refactoring/extractMethod/CodeDuplicatesWithOutputValue_after.java b/java/java-tests/testData/refactoring/extractMethod/CodeDuplicatesWithOutputValue_after.java index a5e51c3985bf..9b0dca12e8ea 100644 --- a/java/java-tests/testData/refactoring/extractMethod/CodeDuplicatesWithOutputValue_after.java +++ b/java/java-tests/testData/refactoring/extractMethod/CodeDuplicatesWithOutputValue_after.java @@ -12,8 +12,7 @@ class C { } private List newMethod(Object[] array) { - List l1 = new ArrayList(Arrays.asList(array)); - return l1; + return new ArrayList(Arrays.asList(array)); } String[] getObjects() { diff --git a/java/java-tests/testData/refactoring/extractMethod/FinalOutputVar_after.java b/java/java-tests/testData/refactoring/extractMethod/FinalOutputVar_after.java index 1c73b56ea941..b1ab68d09414 100644 --- a/java/java-tests/testData/refactoring/extractMethod/FinalOutputVar_after.java +++ b/java/java-tests/testData/refactoring/extractMethod/FinalOutputVar_after.java @@ -7,7 +7,6 @@ class C { } private int newMethod() { - final int i = 128; - return i; + return 128; } } \ No newline at end of file diff --git a/java/java-tests/testData/refactoring/extractMethod/InlineCreated2ReturnLocalVariablesOnly.java b/java/java-tests/testData/refactoring/extractMethod/InlineCreated2ReturnLocalVariablesOnly.java new file mode 100644 index 000000000000..91101ceea604 --- /dev/null +++ b/java/java-tests/testData/refactoring/extractMethod/InlineCreated2ReturnLocalVariablesOnly.java @@ -0,0 +1,8 @@ +class Test { + void foo() { + int j = 0; + int i = 0; + j = 9; + System.out.println(i); + } +} diff --git a/java/java-tests/testData/refactoring/extractMethod/InlineCreated2ReturnLocalVariablesOnly_after.java b/java/java-tests/testData/refactoring/extractMethod/InlineCreated2ReturnLocalVariablesOnly_after.java new file mode 100644 index 000000000000..e7b333b09f46 --- /dev/null +++ b/java/java-tests/testData/refactoring/extractMethod/InlineCreated2ReturnLocalVariablesOnly_after.java @@ -0,0 +1,13 @@ +class Test { + void foo() { + int i = newMethod(); + System.out.println(i); + } + + private int newMethod() { + int j = 0; + int i = 0; + j = 9; + return i; + } +} diff --git a/java/java-tests/testSrc/com/intellij/refactoring/ExtractMethodTest.java b/java/java-tests/testSrc/com/intellij/refactoring/ExtractMethodTest.java index 85684b4caaba..62d407d9a71c 100644 --- a/java/java-tests/testSrc/com/intellij/refactoring/ExtractMethodTest.java +++ b/java/java-tests/testSrc/com/intellij/refactoring/ExtractMethodTest.java @@ -257,6 +257,10 @@ public class ExtractMethodTest extends LightCodeInsightTestCase { doTest(); } + public void testInlineCreated2ReturnLocalVariablesOnly() throws Exception { + doTest(); + } + public void testGuardMethodDuplicates() throws Exception { doDuplicatesTest(); } From 5a8cf4a5c40ab15c49958f6e52ae3152897e4e2d Mon Sep 17 00:00:00 2001 From: anna Date: Thu, 6 May 2010 21:00:51 +0400 Subject: [PATCH 130/173] revert: no background progress is visible --- .../com/intellij/util/ui/AnimatedIcon.java | 40 ++++++++++++------- 1 file changed, 26 insertions(+), 14 deletions(-) diff --git a/platform/platform-api/src/com/intellij/util/ui/AnimatedIcon.java b/platform/platform-api/src/com/intellij/util/ui/AnimatedIcon.java index 72144f1242a1..5764bf40dbeb 100644 --- a/platform/platform-api/src/com/intellij/util/ui/AnimatedIcon.java +++ b/platform/platform-api/src/com/intellij/util/ui/AnimatedIcon.java @@ -150,16 +150,33 @@ public abstract class AnimatedIcon extends JComponent implements Disposable { protected void paintComponent(Graphics g) { if (myPaintingBgNow) return; - if (isOpaque()) { - final Container parent = getParent(); - JComponent opaque = null; - if (parent instanceof JComponent) { - opaque = (JComponent)UIUtil.findNearestOpaque((JComponent)parent); + if ((myAnimator.isRunning() || myPaintPassive || (myLastPaintWasRunning && !myAnimator.isRunning()))) { + Rectangle b = getBounds(); + + if (!isOpaque()) { + try { + myPaintingBgNow = true; + Container p = getParent(); + if (p instanceof JComponent) { + JComponent parentComponent = (JComponent)p; + RepaintManager.currentManager(p).addDirtyRegion(parentComponent, b.x, b.y, b.width, b.height); + } + } + finally { + myPaintingBgNow = false; + } + } else { + Container parent = getParent(); + if (parent instanceof JComponent) { + final Component opaque = UIUtil.findNearestOpaque((JComponent)parent); + if (opaque != null) { + g.setColor(opaque.getBackground()); + g.fillRect(b.x, b.y, b.width, b.height); + } + } } - Color bg = opaque != null ? opaque.getBackground() : UIManager.getColor("Panel.background"); - g.setColor(bg); - g.fillRect(0, 0, getWidth(), getHeight()); - } + + } Icon icon; @@ -190,9 +207,4 @@ public abstract class AnimatedIcon extends JComponent implements Disposable { public boolean isAnimated() { return true; } - - @Override - public String toString() { - return myName + " isRunning=" + myRunning + " isOpaque=" + isOpaque() + " paintPassive=" + myPaintPassive; - } } From 08ff3b619c56ba53ffea8d7ca4f19114151ab076 Mon Sep 17 00:00:00 2001 From: Gregory Shrago Date: Thu, 6 May 2010 21:18:51 +0400 Subject: [PATCH 131/173] show folding outline --- .../src/com/intellij/execution/console/LanguageConsoleImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/lang-impl/src/com/intellij/execution/console/LanguageConsoleImpl.java b/platform/lang-impl/src/com/intellij/execution/console/LanguageConsoleImpl.java index 6272b5279a06..9585571d297a 100644 --- a/platform/lang-impl/src/com/intellij/execution/console/LanguageConsoleImpl.java +++ b/platform/lang-impl/src/com/intellij/execution/console/LanguageConsoleImpl.java @@ -203,7 +203,7 @@ public class LanguageConsoleImpl implements Disposable, TypeSafeDataProvider { editorSettings.setAdditionalLinesCount(0); editorSettings.setAdditionalColumnsCount(1); editorSettings.setRightMarginShown(false); - editorSettings.setFoldingOutlineShown(false); + editorSettings.setFoldingOutlineShown(true); editorSettings.setLineNumbersShown(false); editorSettings.setLineMarkerAreaShown(false); editorSettings.setIndentGuidesShown(false); From acc0d8c5bb612ac702e8fa8688c086aa2eaa0172 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Thu, 6 May 2010 21:08:59 +0400 Subject: [PATCH 132/173] hide refactoring actions if they are not supported by any of the languages (IDEA-54273) --- .../BasePlatformRefactoringAction.java | 59 +++++++++++++++++++ .../actions/BaseRefactoringAction.java | 8 +++ .../actions/ExtractMethodAction.java | 5 +- .../actions/ExtractSuperclassAction.java | 2 +- .../refactoring/actions/InlineAction.java | 2 +- .../actions/IntroduceConstantAction.java | 2 +- .../actions/IntroduceFieldAction.java | 2 +- .../actions/IntroduceParameterAction.java | 2 +- .../actions/IntroduceVariableAction.java | 2 +- .../refactoring/actions/PullUpAction.java | 2 +- .../refactoring/actions/PushDownAction.java | 2 +- 11 files changed, 76 insertions(+), 12 deletions(-) create mode 100644 platform/lang-impl/src/com/intellij/refactoring/actions/BasePlatformRefactoringAction.java diff --git a/platform/lang-impl/src/com/intellij/refactoring/actions/BasePlatformRefactoringAction.java b/platform/lang-impl/src/com/intellij/refactoring/actions/BasePlatformRefactoringAction.java new file mode 100644 index 000000000000..9880e9d21e12 --- /dev/null +++ b/platform/lang-impl/src/com/intellij/refactoring/actions/BasePlatformRefactoringAction.java @@ -0,0 +1,59 @@ +/* + * Copyright 2000-2010 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.intellij.refactoring.actions; + +import com.intellij.lang.Language; +import com.intellij.lang.LanguageRefactoringSupport; +import com.intellij.lang.refactoring.RefactoringSupportProvider; +import com.intellij.openapi.extensions.ExtensionPointListener; +import com.intellij.openapi.extensions.PluginDescriptor; +import org.jetbrains.annotations.Nullable; + +/** + * @author yole + */ +public abstract class BasePlatformRefactoringAction extends BaseRefactoringAction { + private Boolean myHidden = null; + + public BasePlatformRefactoringAction() { + LanguageRefactoringSupport.INSTANCE.addListener(new ExtensionPointListener() { + public void extensionAdded(RefactoringSupportProvider extension, @Nullable PluginDescriptor pluginDescriptor) { + myHidden = null; + } + + public void extensionRemoved(RefactoringSupportProvider extension, @Nullable PluginDescriptor pluginDescriptor) { + myHidden = null; + } + }); + } + + @Override + protected boolean isHidden() { + if (myHidden == null) { + myHidden = calcHidden(); + } + return myHidden.booleanValue(); + } + + private boolean calcHidden() { + for(Language l: Language.getRegisteredLanguages()) { + if (isAvailableForLanguage(l)) { + return false; + } + } + return true; + } +} diff --git a/platform/lang-impl/src/com/intellij/refactoring/actions/BaseRefactoringAction.java b/platform/lang-impl/src/com/intellij/refactoring/actions/BaseRefactoringAction.java index 54e76c51dc97..9744892bed7e 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/actions/BaseRefactoringAction.java +++ b/platform/lang-impl/src/com/intellij/refactoring/actions/BaseRefactoringAction.java @@ -87,6 +87,10 @@ public abstract class BaseRefactoringAction extends AnAction { disableAction(e); return; } + if (isHidden()) { + e.getPresentation().setVisible(false); + return; + } Editor editor = e.getData(PlatformDataKeys.EDITOR); PsiFile file = e.getData(LangDataKeys.PSI_FILE); @@ -127,6 +131,10 @@ public abstract class BaseRefactoringAction extends AnAction { } } + protected boolean isHidden() { + return false; + } + public static PsiElement getElementAtCaret(final Editor editor, final PsiFile file) { final int offset = fixCaretOffset(editor); PsiElement element = file.findElementAt(offset); diff --git a/platform/lang-impl/src/com/intellij/refactoring/actions/ExtractMethodAction.java b/platform/lang-impl/src/com/intellij/refactoring/actions/ExtractMethodAction.java index 882cb12af038..5a91122c1c35 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/actions/ExtractMethodAction.java +++ b/platform/lang-impl/src/com/intellij/refactoring/actions/ExtractMethodAction.java @@ -23,10 +23,7 @@ import com.intellij.openapi.actionSystem.LangDataKeys; import com.intellij.psi.PsiElement; import com.intellij.refactoring.RefactoringActionHandler; -/** - * - */ -public class ExtractMethodAction extends BaseRefactoringAction { +public class ExtractMethodAction extends BasePlatformRefactoringAction { public ExtractMethodAction() { setInjectedContext(true); } diff --git a/platform/lang-impl/src/com/intellij/refactoring/actions/ExtractSuperclassAction.java b/platform/lang-impl/src/com/intellij/refactoring/actions/ExtractSuperclassAction.java index 14e313eb8095..02290346a898 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/actions/ExtractSuperclassAction.java +++ b/platform/lang-impl/src/com/intellij/refactoring/actions/ExtractSuperclassAction.java @@ -26,7 +26,7 @@ import com.intellij.psi.PsiFile; import com.intellij.refactoring.RefactoringActionHandler; import com.intellij.refactoring.lang.ElementsHandler; -public class ExtractSuperclassAction extends BaseRefactoringAction { +public class ExtractSuperclassAction extends BasePlatformRefactoringAction { public boolean isAvailableInEditorOnly() { return false; } diff --git a/platform/lang-impl/src/com/intellij/refactoring/actions/InlineAction.java b/platform/lang-impl/src/com/intellij/refactoring/actions/InlineAction.java index bdf332d44c63..a38458fca56e 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/actions/InlineAction.java +++ b/platform/lang-impl/src/com/intellij/refactoring/actions/InlineAction.java @@ -33,7 +33,7 @@ import com.intellij.refactoring.RefactoringActionHandler; import com.intellij.refactoring.inline.InlineRefactoringActionHandler; import org.jetbrains.annotations.Nullable; -public class InlineAction extends BaseRefactoringAction { +public class InlineAction extends BasePlatformRefactoringAction { public boolean isAvailableInEditorOnly() { return false; diff --git a/platform/lang-impl/src/com/intellij/refactoring/actions/IntroduceConstantAction.java b/platform/lang-impl/src/com/intellij/refactoring/actions/IntroduceConstantAction.java index 8afc3073ff3c..81a19b4a6b83 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/actions/IntroduceConstantAction.java +++ b/platform/lang-impl/src/com/intellij/refactoring/actions/IntroduceConstantAction.java @@ -23,7 +23,7 @@ import com.intellij.openapi.actionSystem.LangDataKeys; import com.intellij.psi.PsiElement; import com.intellij.refactoring.RefactoringActionHandler; -public class IntroduceConstantAction extends BaseRefactoringAction { +public class IntroduceConstantAction extends BasePlatformRefactoringAction { public IntroduceConstantAction() { setInjectedContext(true); } diff --git a/platform/lang-impl/src/com/intellij/refactoring/actions/IntroduceFieldAction.java b/platform/lang-impl/src/com/intellij/refactoring/actions/IntroduceFieldAction.java index b84f1a1fe2c8..a5085c2a15cd 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/actions/IntroduceFieldAction.java +++ b/platform/lang-impl/src/com/intellij/refactoring/actions/IntroduceFieldAction.java @@ -23,7 +23,7 @@ import com.intellij.openapi.actionSystem.LangDataKeys; import com.intellij.psi.PsiElement; import com.intellij.refactoring.RefactoringActionHandler; -public class IntroduceFieldAction extends BaseRefactoringAction { +public class IntroduceFieldAction extends BasePlatformRefactoringAction { public IntroduceFieldAction() { setInjectedContext(true); } diff --git a/platform/lang-impl/src/com/intellij/refactoring/actions/IntroduceParameterAction.java b/platform/lang-impl/src/com/intellij/refactoring/actions/IntroduceParameterAction.java index 9a06120f7b4a..607f6642b877 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/actions/IntroduceParameterAction.java +++ b/platform/lang-impl/src/com/intellij/refactoring/actions/IntroduceParameterAction.java @@ -31,7 +31,7 @@ import com.intellij.refactoring.RefactoringActionHandler; import com.intellij.lang.Language; import com.intellij.lang.LanguageRefactoringSupport; -public class IntroduceParameterAction extends BaseRefactoringAction { +public class IntroduceParameterAction extends BasePlatformRefactoringAction { protected boolean isAvailableInEditorOnly() { return true; } diff --git a/platform/lang-impl/src/com/intellij/refactoring/actions/IntroduceVariableAction.java b/platform/lang-impl/src/com/intellij/refactoring/actions/IntroduceVariableAction.java index 9484f0e7b63d..aa91cf1f52a0 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/actions/IntroduceVariableAction.java +++ b/platform/lang-impl/src/com/intellij/refactoring/actions/IntroduceVariableAction.java @@ -26,7 +26,7 @@ import com.intellij.refactoring.RefactoringActionHandler; /** * */ -public class IntroduceVariableAction extends BaseRefactoringAction { +public class IntroduceVariableAction extends BasePlatformRefactoringAction { public IntroduceVariableAction() { setInjectedContext(true); } diff --git a/platform/lang-impl/src/com/intellij/refactoring/actions/PullUpAction.java b/platform/lang-impl/src/com/intellij/refactoring/actions/PullUpAction.java index cdafb59e6928..2e65b2099895 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/actions/PullUpAction.java +++ b/platform/lang-impl/src/com/intellij/refactoring/actions/PullUpAction.java @@ -26,7 +26,7 @@ import com.intellij.psi.PsiFile; import com.intellij.refactoring.RefactoringActionHandler; import com.intellij.refactoring.lang.ElementsHandler; -public class PullUpAction extends BaseRefactoringAction { +public class PullUpAction extends BasePlatformRefactoringAction { public PullUpAction() { setInjectedContext(true); diff --git a/platform/lang-impl/src/com/intellij/refactoring/actions/PushDownAction.java b/platform/lang-impl/src/com/intellij/refactoring/actions/PushDownAction.java index 5fab549848d1..f3a755494b49 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/actions/PushDownAction.java +++ b/platform/lang-impl/src/com/intellij/refactoring/actions/PushDownAction.java @@ -27,7 +27,7 @@ import com.intellij.refactoring.RefactoringActionHandler; import com.intellij.refactoring.lang.ElementsHandler; -public class PushDownAction extends BaseRefactoringAction { +public class PushDownAction extends BasePlatformRefactoringAction { public PushDownAction() { setInjectedContext(true); From 302c9c713aa398b023efbe8902f33d0321d7be2b Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Thu, 6 May 2010 22:01:19 +0400 Subject: [PATCH 133/173] don't run external scripts under a write action (IDEA-54185) --- .../impl/SdkConfigurationUtil.java | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/openapi/projectRoots/impl/SdkConfigurationUtil.java b/platform/lang-impl/src/com/intellij/openapi/projectRoots/impl/SdkConfigurationUtil.java index 0c860a3ff64b..861611e4ff47 100644 --- a/platform/lang-impl/src/com/intellij/openapi/projectRoots/impl/SdkConfigurationUtil.java +++ b/platform/lang-impl/src/com/intellij/openapi/projectRoots/impl/SdkConfigurationUtil.java @@ -104,26 +104,26 @@ public class SdkConfigurationUtil { @Nullable public static Sdk setupSdk(final VirtualFile homeDir, final SdkType sdkType, final boolean silent) { + final Sdk[] sdks = ProjectJdkTable.getInstance().getAllJdks(); + final ProjectJdkImpl projectJdk; + try { + final String sdkName = createUniqueSdkName(sdkType, homeDir.getPath(), Arrays.asList(sdks)); + projectJdk = new ProjectJdkImpl(sdkName, sdkType); + projectJdk.setHomePath(homeDir.getPath()); + sdkType.setupSdkPaths(projectJdk); + } + catch (Exception e) { + if (!silent) { + Messages.showErrorDialog("Error configuring SDK: " + + e.getMessage() + + ".\nPlease make sure that " + + FileUtil.toSystemDependentName(homeDir.getPath()) + + " is a valid home path for this SDK type.", "Error configuring SDK"); + } + return null; + } return ApplicationManager.getApplication().runWriteAction(new NullableComputable() { public Sdk compute() { - final Sdk[] sdks = ProjectJdkTable.getInstance().getAllJdks(); - ProjectJdkImpl projectJdk; - try { - final String sdkName = createUniqueSdkName(sdkType, homeDir.getPath(), Arrays.asList(sdks)); - projectJdk = new ProjectJdkImpl(sdkName, sdkType); - projectJdk.setHomePath(homeDir.getPath()); - sdkType.setupSdkPaths(projectJdk); - } - catch (Exception e) { - if (!silent) { - Messages.showErrorDialog("Error configuring SDK: " + - e.getMessage() + - ".\nPlease make sure that " + - FileUtil.toSystemDependentName(homeDir.getPath()) + - " is a valid home path for this SDK type.", "Error configuring SDK"); - } - return null; - } ProjectJdkTable.getInstance().addJdk(projectJdk); return projectJdk; } From fda7c41ecdd60efd519db357e6e0483ba8bd87ae Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Thu, 6 May 2010 22:08:29 +0400 Subject: [PATCH 134/173] perform postprocess reformatting before touching document (IDEA-53885) --- .../org/intellij/lang/regexp/surroundWith/GroupSurrounder.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/RegExpSupport/src/org/intellij/lang/regexp/surroundWith/GroupSurrounder.java b/RegExpSupport/src/org/intellij/lang/regexp/surroundWith/GroupSurrounder.java index 0f4c0c886d49..3d01eb203184 100644 --- a/RegExpSupport/src/org/intellij/lang/regexp/surroundWith/GroupSurrounder.java +++ b/RegExpSupport/src/org/intellij/lang/regexp/surroundWith/GroupSurrounder.java @@ -22,6 +22,7 @@ import com.intellij.openapi.editor.Editor; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.TextRange; import com.intellij.openapi.util.text.StringUtil; +import com.intellij.psi.PsiDocumentManager; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; import com.intellij.psi.PsiFileFactory; @@ -84,6 +85,7 @@ class GroupSurrounder implements Surrounder { if (isInsideStringLiteral(e)) { final Document doc = editor.getDocument(); + PsiDocumentManager.getInstance(project).doPostponedOperationsAndUnblockDocument(doc); final TextRange tr = e.getTextRange(); doc.replaceString(tr.getStartOffset(), tr.getEndOffset(), StringUtil.escapeStringCharacters(element.getText())); From 8fc3937410318ffbcc70f5265014ca8f3bc372e3 Mon Sep 17 00:00:00 2001 From: Roman Shevchenko Date: Thu, 6 May 2010 17:36:36 +0400 Subject: [PATCH 135/173] Missed whitespace in dialog text --- .../src/messages/KeyMapBundle.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/platform/platform-resources-en/src/messages/KeyMapBundle.properties b/platform/platform-resources-en/src/messages/KeyMapBundle.properties index adb702a98882..12e35efa20a2 100644 --- a/platform/platform-resources-en/src/messages/KeyMapBundle.properties +++ b/platform/platform-resources-en/src/messages/KeyMapBundle.properties @@ -51,7 +51,7 @@ add.keyboard.shortcut.button=Add &Keyboard Shortcut... add.mouse.shortcut.button=Add &Mouse Shortcut... remove.shortcut.button=&Remove -conflict.shortcut.dialog.message=The shortcut is already assigned to other actions.\ +conflict.shortcut.dialog.message=The shortcut is already assigned to other actions. \ Do you want to remove other assignments? conflict.shortcut.dialog.title=Warning conflict.shortcut.dialog.remove.button=Remove @@ -83,7 +83,7 @@ quick.list.panel.add.separator.button=Add Separator quick.list.panel.description.label=Description quick.list.panel.display.name.label=Display name -#0 - modifiers (with + for wingows or empty str), 1 - button num (1 - left, 2 - center, 3 - right 0 - no button) +#0 - modifiers (with + for windows or empty str), 1 - button num (1 - left, 2 - center, 3 - right 0 - no button) mouse.click.shortcut.text={0}Button{1} Click mouse.double.click.shortcut.text={0}Button{1} Double-Click configuration.all.keymaps.should.have.unique.names.error.message=All keymaps should have unique names From 4d1741037ea428af5286134c02973a2d7fbed12a Mon Sep 17 00:00:00 2001 From: nik Date: Fri, 7 May 2010 12:30:42 +0400 Subject: [PATCH 136/173] multi resolve for references to css classes in GWT --- .../com/intellij/psi/PsiElementResolveResult.java | 14 ++++++++++++++ .../intellij/psi/PsiPolyVariantReferenceBase.java | 11 +++++++++++ 2 files changed, 25 insertions(+) diff --git a/platform/lang-api/src/com/intellij/psi/PsiElementResolveResult.java b/platform/lang-api/src/com/intellij/psi/PsiElementResolveResult.java index 129bfff446bf..3d43bc2b55bf 100644 --- a/platform/lang-api/src/com/intellij/psi/PsiElementResolveResult.java +++ b/platform/lang-api/src/com/intellij/psi/PsiElementResolveResult.java @@ -18,6 +18,9 @@ package com.intellij.psi; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.Collection; /** * Trivial implementation of {@link ResolveResult}. @@ -67,4 +70,15 @@ public class PsiElementResolveResult implements ResolveResult{ public String toString() { return "PsiElementResolveResult: " + (myElement instanceof PsiNamedElement ? ((PsiNamedElement)myElement).getName() : myElement.getText()); } + + public static ResolveResult[] createResults(@Nullable Collection elements) { + if (elements == null || elements.isEmpty()) return EMPTY_ARRAY; + + final ResolveResult[] results = new ResolveResult[elements.size()]; + int i = 0; + for (PsiElement element : elements) { + results[i++] = new PsiElementResolveResult(element); + } + return results; + } } diff --git a/platform/lang-api/src/com/intellij/psi/PsiPolyVariantReferenceBase.java b/platform/lang-api/src/com/intellij/psi/PsiPolyVariantReferenceBase.java index 50b4e585eee3..aa2d99396790 100644 --- a/platform/lang-api/src/com/intellij/psi/PsiPolyVariantReferenceBase.java +++ b/platform/lang-api/src/com/intellij/psi/PsiPolyVariantReferenceBase.java @@ -41,4 +41,15 @@ public abstract class PsiPolyVariantReferenceBase extends ResolveResult[] resolveResults = multiResolve(false); return resolveResults.length == 1 ? resolveResults[0].getElement() : null; } + + @Override + public boolean isReferenceTo(PsiElement element) { + final ResolveResult[] results = multiResolve(false); + for (ResolveResult result : results) { + if (getElement().getManager().areElementsEquivalent(result.getElement(), element)) { + return true; + } + } + return false; + } } From 64ba6e6ad29c900a97275bd9fc04bc55daef9670 Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Wed, 5 May 2010 16:43:01 +0400 Subject: [PATCH 137/173] cleanup --- .../psi/impl/PsiDocumentManagerImpl.java | 37 +++++++++---------- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/psi/impl/PsiDocumentManagerImpl.java b/platform/lang-impl/src/com/intellij/psi/impl/PsiDocumentManagerImpl.java index a4c463c9b29d..b2151518a7b1 100644 --- a/platform/lang-impl/src/com/intellij/psi/impl/PsiDocumentManagerImpl.java +++ b/platform/lang-impl/src/com/intellij/psi/impl/PsiDocumentManagerImpl.java @@ -520,29 +520,28 @@ public class PsiDocumentManagerImpl extends PsiDocumentManager implements Projec public void documentChanged(DocumentEvent event) { final Document document = event.getDocument(); final FileViewProvider viewProvider = getCachedViewProvider(document); - if (viewProvider != null) { - if (viewProvider.getVirtualFile().getFileType().isBinary()) return; + if (viewProvider == null) return; + if (viewProvider.getVirtualFile().getFileType().isBinary()) return; - final List files = viewProvider.getAllFiles(); - boolean commitNecessary = false; - for (PsiFile file : files) { - if (file == null || file instanceof PsiFileImpl && ((PsiFileImpl)file).getTreeElement() == null) continue; - final TextBlock textBlock = getTextBlock(document, file); - if (textBlock.isLocked()) continue; + final List files = viewProvider.getAllFiles(); + boolean commitNecessary = false; + for (PsiFile file : files) { + if (file == null || file instanceof PsiFileImpl && ((PsiFileImpl)file).getTreeElement() == null) continue; + final TextBlock textBlock = getTextBlock(document, file); + if (textBlock.isLocked()) continue; - if (mySmartPointerManager != null) { // mock tests - SmartPointerManagerImpl.unfastenBelts(file); - } - - textBlock.documentChanged(event); - assert file instanceof PsiFileImpl : event + "; file="+file+"; allFiles="+files+"; viewProvider="+viewProvider; - myUncommittedDocuments.add(document); - commitNecessary = true; + if (mySmartPointerManager != null) { // mock tests + SmartPointerManagerImpl.unfastenBelts(file); } - if (commitNecessary && ApplicationManager.getApplication().getCurrentWriteAction(ExternalChangeAction.class) != null){ - commitDocument(document); - } + textBlock.documentChanged(event); + assert file instanceof PsiFileImpl : event + "; file="+file+"; allFiles="+files+"; viewProvider="+viewProvider; + myUncommittedDocuments.add(document); + commitNecessary = true; + } + + if (commitNecessary && ApplicationManager.getApplication().getCurrentWriteAction(ExternalChangeAction.class) != null){ + commitDocument(document); } } From 83a88afdd563be0c3a1695c3cc42b8a809486dbe Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Wed, 5 May 2010 17:07:18 +0400 Subject: [PATCH 138/173] assertion --- .../intellij/psi/impl/source/resolve/JavaResolveCache.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/java/java-impl/src/com/intellij/psi/impl/source/resolve/JavaResolveCache.java b/java/java-impl/src/com/intellij/psi/impl/source/resolve/JavaResolveCache.java index 86a110cef96a..cc16aef88444 100644 --- a/java/java-impl/src/com/intellij/psi/impl/source/resolve/JavaResolveCache.java +++ b/java/java-impl/src/com/intellij/psi/impl/source/resolve/JavaResolveCache.java @@ -98,7 +98,12 @@ public class JavaResolveCache { type = ConcurrencyUtil.cacheOrGet(myCalculatedTypes, expr, type); } if (!type.isValid()) { - LOG.error("Type is invalid: " + type+"; expr: '"+expr+"' is "+(expr.isValid() ? "valid":"invalid")); + if (expr.isValid()) { + LOG.error("Type is invalid: " + type + "; expr: '" + expr + "' is valid"); + } + else { + LOG.error("Expression: '"+expr+"' is invalid, must not be used for getType()"); + } } return type == NULL_TYPE ? null : type; } From bba49317be10ff43ec850590fb2869761e172f07 Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Wed, 5 May 2010 18:11:40 +0400 Subject: [PATCH 139/173] dumb flag may stick --- .../daemon/impl/analysis/DefaultHighlightVisitor.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/analysis/DefaultHighlightVisitor.java b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/analysis/DefaultHighlightVisitor.java index 096e013ef036..ffc0a9dcfec9 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/analysis/DefaultHighlightVisitor.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/analysis/DefaultHighlightVisitor.java @@ -58,12 +58,10 @@ public class DefaultHighlightVisitor implements HighlightVisitor, DumbAware { public static final ExtensionPointName FILTER_EP_NAME = ExtensionPointName.create("com.intellij.highlightErrorFilter"); private final HighlightErrorFilter[] myErrorFilters; private final Project myProject; - private final boolean myDumb; public DefaultHighlightVisitor(Project project) { myProject = project; myErrorFilters = Extensions.getExtensions(FILTER_EP_NAME, project); - myDumb = DumbService.getInstance(myProject).isDumb(); } public boolean suitableForFile(final PsiFile file) { @@ -122,10 +120,11 @@ public class DefaultHighlightVisitor implements HighlightVisitor, DumbAware { private void runAnnotators(final PsiElement element, HighlightInfoHolder holder, final AnnotationHolderImpl annotationHolder) { List annotators = cachedAnnotators.get(element.getLanguage()); if (annotators.isEmpty()) return; + final boolean dumb = DumbService.getInstance(myProject).isDumb(); JobUtil.invokeConcurrentlyUnderMyProgress(annotators, new Processor() { public boolean process(Annotator annotator) { - if (myDumb && !(annotator instanceof DumbAware)) { + if (dumb && !(annotator instanceof DumbAware)) { return true; } From 29b396c4db42dc546395686e31815801623f18fb Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Thu, 6 May 2010 14:15:47 +0400 Subject: [PATCH 140/173] since myIcon now always is not null (DeferrredIcon), paint read-write icon always --- .../ReadWriteAccessUsageInfo2UsageAdapter.java | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/platform/usageView/src/com/intellij/usages/ReadWriteAccessUsageInfo2UsageAdapter.java b/platform/usageView/src/com/intellij/usages/ReadWriteAccessUsageInfo2UsageAdapter.java index d06cf453615d..43770e1d0922 100644 --- a/platform/usageView/src/com/intellij/usages/ReadWriteAccessUsageInfo2UsageAdapter.java +++ b/platform/usageView/src/com/intellij/usages/ReadWriteAccessUsageInfo2UsageAdapter.java @@ -30,16 +30,14 @@ public class ReadWriteAccessUsageInfo2UsageAdapter extends UsageInfo2UsageAdapte super(usageInfo); myAccessedForReading = accessedForReading; myAccessedForWriting = accessedForWriting; - if (myIcon == null) { - if (myAccessedForReading && myAccessedForWriting) { - myIcon = Icons.VARIABLE_RW_ACCESS; - } - else if (myAccessedForWriting) { - myIcon = Icons.VARIABLE_WRITE_ACCESS; // If icon is changed, don't forget to change UTCompositeUsageNode.getIcon(); - } - else if (myAccessedForReading){ - myIcon = Icons.VARIABLE_READ_ACCESS; // If icon is changed, don't forget to change UTCompositeUsageNode.getIcon(); - } + if (myAccessedForReading && myAccessedForWriting) { + myIcon = Icons.VARIABLE_RW_ACCESS; + } + else if (myAccessedForWriting) { + myIcon = Icons.VARIABLE_WRITE_ACCESS; // If icon is changed, don't forget to change UTCompositeUsageNode.getIcon(); + } + else if (myAccessedForReading){ + myIcon = Icons.VARIABLE_READ_ACCESS; // If icon is changed, don't forget to change UTCompositeUsageNode.getIcon(); } } From 04ee1b23f0a0c8a7e44add1202937925b76925b2 Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Thu, 6 May 2010 15:52:38 +0400 Subject: [PATCH 141/173] http://ea.jetbrains.com/browser/ea_problems/18743 --- .../daemon/impl/quickfix/CreateMethodFromUsageFix.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateMethodFromUsageFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateMethodFromUsageFix.java index bc3a15c092e4..b418627e735e 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateMethodFromUsageFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateMethodFromUsageFix.java @@ -59,7 +59,7 @@ public class CreateMethodFromUsageFix extends CreateFromUsageBaseFix { protected boolean isAvailableImpl(int offset) { final PsiMethodCallExpression call = getMethodCall(); - if (call == null) return false; + if (call == null || !call.isValid()) return false; PsiReferenceExpression ref = call.getMethodExpression(); String name = ref.getReferenceName(); @@ -90,8 +90,8 @@ public class CreateMethodFromUsageFix extends CreateFromUsageBaseFix { PsiExpressionList argumentList = call.getArgumentList(); List errorsInArgList = DaemonCodeAnalyzerImpl.getHighlights(document, HighlightSeverity.ERROR, project, - //strictly inside arg list - argumentList.getTextRange().getStartOffset()+1, + //strictly inside arg list + argumentList.getTextRange().getStartOffset()+1, argumentList.getTextRange().getEndOffset()-1); return !errorsInArgList.isEmpty(); } @@ -117,7 +117,6 @@ public class CreateMethodFromUsageFix extends CreateFromUsageBaseFix { } protected void invokeImpl(final PsiClass targetClass) { - if (targetClass == null) return; PsiMethodCallExpression expression = getMethodCall(); if (expression == null) return; @@ -170,6 +169,9 @@ public class CreateMethodFromUsageFix extends CreateFromUsageBaseFix { setupVisibility(parentClass, targetClass, method.getModifierList()); + expression = getMethodCall(); + LOG.assertTrue(expression.isValid()); + if (shouldCreateStaticMember(expression.getMethodExpression(), targetClass) && !shouldBeAbstract(targetClass)) { PsiUtil.setModifierProperty(method, PsiModifier.STATIC, true); } From d052e9411734edadd332a04ccb4c02fb2db28bed Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Thu, 6 May 2010 16:06:40 +0400 Subject: [PATCH 142/173] cleanup --- .../codeInspection/ProblemsHolder.java | 4 +++ .../src/com/intellij/psi/WalkingState.java | 8 ++--- .../daemon/impl/DaemonTooltipUtil.java | 4 +-- .../daemon/impl/ErrorStripeHandler.java | 13 ++------- .../WholeFileLocalInspectionsPassFactory.java | 4 +-- .../openapi/command/impl/UndoManagerImpl.java | 5 ++++ .../openapi/editor/impl/FoldRegionImpl.java | 2 +- .../inline/GroovyMethodInliner.java | 29 ++++++++++--------- 8 files changed, 36 insertions(+), 33 deletions(-) diff --git a/platform/lang-api/src/com/intellij/codeInspection/ProblemsHolder.java b/platform/lang-api/src/com/intellij/codeInspection/ProblemsHolder.java index ba1705c8497e..c01d4dba74c8 100644 --- a/platform/lang-api/src/com/intellij/codeInspection/ProblemsHolder.java +++ b/platform/lang-api/src/com/intellij/codeInspection/ProblemsHolder.java @@ -179,6 +179,10 @@ public class ProblemsHolder { return myOnTheFly; } + public PsiFile getFile() { + return myFile; + } + public final Project getProject() { return myManager.getProject(); } diff --git a/platform/lang-api/src/com/intellij/psi/WalkingState.java b/platform/lang-api/src/com/intellij/psi/WalkingState.java index d6ac55d5daad..5270d355219c 100644 --- a/platform/lang-api/src/com/intellij/psi/WalkingState.java +++ b/platform/lang-api/src/com/intellij/psi/WalkingState.java @@ -21,7 +21,7 @@ import org.jetbrains.annotations.NotNull; /** * @author cdr */ -public abstract class WalkingState { +public class WalkingState { public interface TreeGuide { T getNextSibling(@NotNull T element); T getPrevSibling(@NotNull T element); @@ -33,9 +33,9 @@ public abstract class WalkingState { private final TreeGuide myWalker; private boolean stopped; - public abstract void elementFinished(@NotNull T element); + public void elementFinished(@NotNull T element) {} - protected WalkingState(@NotNull TreeGuide delegate) { + public WalkingState(@NotNull TreeGuide delegate) { myWalker = delegate; } @@ -100,4 +100,4 @@ public abstract class WalkingState { public void stopWalking() { stopped = true; } -} \ No newline at end of file +} diff --git a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/DaemonTooltipUtil.java b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/DaemonTooltipUtil.java index a5e5000b4e7c..3424b514a620 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/DaemonTooltipUtil.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/DaemonTooltipUtil.java @@ -41,8 +41,8 @@ public class DaemonTooltipUtil { public static void showInfoTooltip(@NotNull final HighlightInfo info, final Editor editor, final int defaultOffset, final int currentWidth) { if (info.toolTip == null) return; Rectangle visibleArea = editor.getScrollingModel().getVisibleArea(); - int endOffset = info.highlighter.getEndOffset(); - int startOffset = info.highlighter.getStartOffset(); + int startOffset = info.getActualStartOffset(); + int endOffset = info.getActualEndOffset(); Point top = editor.logicalPositionToXY(editor.offsetToLogicalPosition(startOffset)); Point bottom = editor.logicalPositionToXY(editor.offsetToLogicalPosition(endOffset)); diff --git a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/ErrorStripeHandler.java b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/ErrorStripeHandler.java index 0618614e2273..a40325f6d283 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/ErrorStripeHandler.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/ErrorStripeHandler.java @@ -21,8 +21,6 @@ import com.intellij.openapi.editor.ex.ErrorStripeEvent; import com.intellij.openapi.editor.markup.RangeHighlighter; import com.intellij.openapi.project.Project; -import java.util.List; - public class ErrorStripeHandler extends ErrorStripeAdapter { private final Project myProject; @@ -39,14 +37,9 @@ public class ErrorStripeHandler extends ErrorStripeAdapter { } } - private HighlightInfo findInfo(RangeHighlighter highlighter) { - List highlights = DaemonCodeAnalyzerImpl.getHighlights(highlighter.getDocument(), myProject); - if (highlights == null) return null; - for (HighlightInfo info : highlights) { - if (info.highlighter == highlighter) { - return info; - } - } + private static HighlightInfo findInfo(final RangeHighlighter highlighter) { + Object o = highlighter.getErrorStripeTooltip(); + if (o instanceof HighlightInfo) return (HighlightInfo)o; return null; } } diff --git a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/WholeFileLocalInspectionsPassFactory.java b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/WholeFileLocalInspectionsPassFactory.java index 9541cf9a1c84..cbfdac182a4e 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/WholeFileLocalInspectionsPassFactory.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/WholeFileLocalInspectionsPassFactory.java @@ -22,12 +22,12 @@ import com.intellij.codeHighlighting.TextEditorHighlightingPassFactory; import com.intellij.codeHighlighting.TextEditorHighlightingPassRegistrar; import com.intellij.codeInspection.LocalInspectionTool; import com.intellij.codeInspection.ex.InspectionProfileWrapper; +import com.intellij.openapi.Disposable; import com.intellij.openapi.components.AbstractProjectComponent; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Disposer; import com.intellij.openapi.util.TextRange; -import com.intellij.openapi.Disposable; import com.intellij.profile.Profile; import com.intellij.profile.ProfileChangeAdapter; import com.intellij.profile.codeInspection.InspectionProjectProfileManager; @@ -106,4 +106,4 @@ public class WholeFileLocalInspectionsPassFactory extends AbstractProjectCompone }; } -} \ No newline at end of file +} diff --git a/platform/platform-impl/src/com/intellij/openapi/command/impl/UndoManagerImpl.java b/platform/platform-impl/src/com/intellij/openapi/command/impl/UndoManagerImpl.java index 5c8b9c623c4b..30b3a1af1345 100644 --- a/platform/platform-impl/src/com/intellij/openapi/command/impl/UndoManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/command/impl/UndoManagerImpl.java @@ -253,6 +253,11 @@ public class UndoManagerImpl extends UndoManager implements ProjectComponent, Ap clearUndoRedoQueue(DocumentReferenceManager.getInstance().create(file)); } + @TestOnly + public void clearUndoRedoQueueInTests(Document document) { + clearUndoRedoQueue(DocumentReferenceManager.getInstance().create(document)); + } + protected void compact() { if (myCurrentOperationState == NONE && myCommandTimestamp % COMMAND_TO_RUN_COMPACT == 0) { doCompact(); diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/impl/FoldRegionImpl.java b/platform/platform-impl/src/com/intellij/openapi/editor/impl/FoldRegionImpl.java index 4c57b9115f8f..1dbf86ed25cd 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/impl/FoldRegionImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/impl/FoldRegionImpl.java @@ -70,7 +70,7 @@ public class FoldRegionImpl extends RangeMarkerImpl implements FoldRegion { } public boolean isValid() { - return super.isValid() && getStartOffset() + 1 < getEndOffset(); + return super.isValid() && myStart + 1 < myEnd; } public void setExpandedInternal(boolean toExpand) { diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/inline/GroovyMethodInliner.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/inline/GroovyMethodInliner.java index 6b14a975f408..4b73e716dfe0 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/inline/GroovyMethodInliner.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/inline/GroovyMethodInliner.java @@ -21,8 +21,6 @@ import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.editor.Document; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.editor.RangeMarker; -import com.intellij.openapi.editor.ex.DocumentEx; -import com.intellij.openapi.editor.impl.PersistentRangeMarker; import com.intellij.openapi.fileEditor.FileEditorManager; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.TextRange; @@ -58,7 +56,10 @@ import org.jetbrains.plugins.groovy.refactoring.GroovyRefactoringBundle; import org.jetbrains.plugins.groovy.refactoring.GroovyRefactoringUtil; import org.jetbrains.plugins.groovy.refactoring.NameValidator; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.Map; /** * @author ilyas @@ -85,10 +86,10 @@ public class GroovyMethodInliner implements InlineHandler.Inliner { Map conflicts = new HashMap(); for (GroovyInlineMethodUtil.ReferenceExpressionInfo info : infos) { - if (!(PsiUtil.isAccessible(call, info.declaration))) { + if (!PsiUtil.isAccessible(call, info.declaration)) { if (info.declaration instanceof PsiMethod) { String className = info.containingClass.getName(); - String signature = GroovyRefactoringUtil.getMethodSignature(((PsiMethod) info.declaration)); + String signature = GroovyRefactoringUtil.getMethodSignature((PsiMethod) info.declaration); String name = CommonRefactoringUtil.htmlEmphasize(className + "." + signature); conflicts.put(info.declaration, GroovyRefactoringBundle.message("method.is.not.accessible.form.context.0", name)); } else if (info.declaration instanceof PsiField) { @@ -147,9 +148,9 @@ public class GroovyMethodInliner implements InlineHandler.Inliner { qualifier = ((GrParenthesizedExpression) qualifier).getOperand(); } qualifierDeclaration = factory.createVariableDeclaration(ArrayUtil.EMPTY_STRING_ARRAY, qualifier, null, qualName); - innerQualifier = ((GrReferenceExpression) factory.createExpressionFromText(qualName)); + innerQualifier = (GrReferenceExpression) factory.createExpressionFromText(qualName); } else { - innerQualifier = ((GrReferenceExpression) qualifier); + innerQualifier = (GrReferenceExpression) qualifier; } } } @@ -159,7 +160,7 @@ public class GroovyMethodInliner implements InlineHandler.Inliner { if (result != null) { GrExpression expression = call.replaceWithExpression(result, false); TextRange range = expression.getTextRange(); - return editor != null ? new PersistentRangeMarker((DocumentEx)editor.getDocument(), range.getStartOffset(), range.getEndOffset()) : null; + return editor != null ? editor.getDocument().createRangeMarker(range.getStartOffset(), range.getEndOffset(), true) : null; } String resultName = InlineMethodConflictSolver.suggestNewName("result", newMethod, call); @@ -245,13 +246,13 @@ public class GroovyMethodInliner implements InlineHandler.Inliner { assert replaced != null; TextRange range = replaced.getTextRange(); - RangeMarker marker = editor != null ? new PersistentRangeMarker((DocumentEx)editor.getDocument(), range.getStartOffset(), range.getEndOffset()) : null; + RangeMarker marker = editor != null ? editor.getDocument().createRangeMarker(range.getStartOffset(), range.getEndOffset(), true) : null; reformatOwner(owner); return marker; } else { GrStatement stmt; if (isTailMethodCall && enclosingExpr.getParent() instanceof GrReturnStatement) { - stmt = ((GrReturnStatement) enclosingExpr.getParent()); + stmt = (GrReturnStatement) enclosingExpr.getParent(); } else { stmt = enclosingExpr; } @@ -332,7 +333,7 @@ public class GroovyMethodInliner implements InlineHandler.Inliner { if (statement instanceof GrReturnStatement) { expr = ((GrReturnStatement) statement).getReturnValue(); } else { - expr = ((GrExpression) statement); + expr = (GrExpression) statement; } return expr; } @@ -382,7 +383,7 @@ public class GroovyMethodInliner implements InlineHandler.Inliner { if (element == null) return; for (PsiElement child : element.getChildren()) { if (child instanceof GrVariable && !(child instanceof GrParameter)) { - defintions.add(((GrVariable) child)); + defintions.add((GrVariable) child); } if (!(child instanceof GrClosableBlock)) { collectInnerDefinitions(child, defintions); @@ -401,10 +402,10 @@ public class GroovyMethodInliner implements InlineHandler.Inliner { assert body != null; GrStatement[] statements = body.getStatements(); if (statements.length == 1) { - if (statements[0] instanceof GrExpression) return ((GrExpression) statements[0]); + if (statements[0] instanceof GrExpression) return (GrExpression) statements[0]; if (statements[0] instanceof GrReturnStatement) { GrExpression value = ((GrReturnStatement) statements[0]).getReturnValue(); - if (value == null && (PsiUtil.getSmartReturnType(method) != PsiType.VOID)) { + if (value == null && PsiUtil.getSmartReturnType(method) != PsiType.VOID) { return GroovyPsiElementFactory.getInstance(method.getProject()).createExpressionFromText("null"); } return value; From e2d13b009a3f04daaaa0b1e43421578794fc4b63 Mon Sep 17 00:00:00 2001 From: anna Date: Fri, 7 May 2010 14:29:44 +0400 Subject: [PATCH 143/173] junit: cancel progress if exceptions on startup occur testng: -||-; connect to server socket on cancel --- .../intellij/execution/junit/TestPackage.java | 21 +++++++++- .../configuration/TestNGRunnableState.java | 41 ++++++++++++++++--- 2 files changed, 55 insertions(+), 7 deletions(-) diff --git a/plugins/junit/src/com/intellij/execution/junit/TestPackage.java b/plugins/junit/src/com/intellij/execution/junit/TestPackage.java index e500df20e125..d56a1242fdc1 100644 --- a/plugins/junit/src/com/intellij/execution/junit/TestPackage.java +++ b/plugins/junit/src/com/intellij/execution/junit/TestPackage.java @@ -21,6 +21,7 @@ import com.intellij.execution.configurations.ConfigurationPerRunnerSettings; import com.intellij.execution.configurations.RunnerSettings; import com.intellij.execution.configurations.RuntimeConfigurationException; import com.intellij.execution.configurations.RuntimeConfigurationWarning; +import com.intellij.execution.runners.ProgramRunner; import com.intellij.execution.testframework.SourceScope; import com.intellij.execution.testframework.TestSearchScope; import com.intellij.openapi.application.ApplicationManager; @@ -49,6 +50,8 @@ import java.net.Socket; import java.util.Collection; public class TestPackage extends TestObject { + private static BackgroundableProcessIndicator mySearchForTestsIndicator; + public TestPackage(final Project project, final JUnitConfiguration configuration, RunnerSettings runnerSettings, @@ -62,6 +65,19 @@ public class TestPackage extends TestObject { return data.getScope().getSourceScope(myConfiguration); } + @Override + public ExecutionResult execute(Executor executor, @NotNull ProgramRunner runner) throws ExecutionException { + try { + return super.execute(executor, runner); + } + catch (ExecutionException e) { + if (mySearchForTestsIndicator != null && !mySearchForTestsIndicator.isCanceled()) { + mySearchForTestsIndicator.cancel(); //ensure that search for tests stops anyway + } + throw e; + } + } + protected void initialize() throws ExecutionException { super.initialize(); final Project project = myConfiguration.getProject(); @@ -244,7 +260,7 @@ public class TestPackage extends TestObject { } } }; - ProgressManagerImpl.runProcessWithProgressAsynchronously(task, new BackgroundableProcessIndicator(task) { + mySearchForTestsIndicator = new BackgroundableProcessIndicator(task) { @Override public void cancel() { try {//ensure that serverSocket.accept was interrupted @@ -257,7 +273,8 @@ public class TestPackage extends TestObject { } super.cancel(); } - }); + }; + ProgressManagerImpl.runProcessWithProgressAsynchronously(task, mySearchForTestsIndicator); } private static boolean isSyncSearch() { diff --git a/plugins/testng/src/com/theoryinpractice/testng/configuration/TestNGRunnableState.java b/plugins/testng/src/com/theoryinpractice/testng/configuration/TestNGRunnableState.java index 70fed049fd9a..9f0c3d7b6db4 100644 --- a/plugins/testng/src/com/theoryinpractice/testng/configuration/TestNGRunnableState.java +++ b/plugins/testng/src/com/theoryinpractice/testng/configuration/TestNGRunnableState.java @@ -41,7 +41,8 @@ import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.extensions.Extensions; import com.intellij.openapi.module.LanguageLevelUtil; import com.intellij.openapi.module.Module; -import com.intellij.openapi.progress.ProgressManager; +import com.intellij.openapi.progress.impl.BackgroundableProcessIndicator; +import com.intellij.openapi.progress.impl.ProgressManagerImpl; import com.intellij.openapi.project.Project; import com.intellij.openapi.projectRoots.Sdk; import com.intellij.openapi.projectRoots.ex.JavaSdkUtil; @@ -59,7 +60,10 @@ import com.intellij.openapi.wm.ToolWindowManager; import com.intellij.pom.java.LanguageLevel; import com.intellij.util.PathUtil; import com.intellij.util.net.NetUtils; -import com.theoryinpractice.testng.model.*; +import com.theoryinpractice.testng.model.IDEARemoteTestRunnerClient; +import com.theoryinpractice.testng.model.TestData; +import com.theoryinpractice.testng.model.TestNGRemoteListener; +import com.theoryinpractice.testng.model.TestType; import com.theoryinpractice.testng.ui.TestNGConsoleView; import com.theoryinpractice.testng.ui.TestNGResults; import com.theoryinpractice.testng.ui.actions.RerunFailedTestsAction; @@ -72,9 +76,11 @@ import org.testng.annotations.AfterClass; import org.testng.remote.strprotocol.MessageHelper; import javax.swing.*; -import java.io.*; +import java.io.File; +import java.io.IOException; import java.net.InetAddress; import java.net.ServerSocket; +import java.net.Socket; import java.net.UnknownHostException; public class TestNGRunnableState extends JavaCommandLineState { @@ -86,6 +92,7 @@ public class TestNGRunnableState extends JavaCommandLineState { private int port; private String debugPort; private File myTempFile; + private BackgroundableProcessIndicator mySearchForTestIndicator; public TestNGRunnableState(ExecutionEnvironment environment, TestNGConfiguration config) { super(environment); @@ -114,9 +121,18 @@ public class TestNGRunnableState extends JavaCommandLineState { @Override public ExecutionResult execute(@NotNull final Executor executor, @NotNull final ProgramRunner runner) throws ExecutionException { + OSProcessHandler processHandler = null; + try { + processHandler = startProcess(); + } + catch (ExecutionException e) { + if (mySearchForTestIndicator != null && !mySearchForTestIndicator.isCanceled()) { + mySearchForTestIndicator.cancel(); + } + throw e; + } final TestNGConsoleView console = new TestNGConsoleView(config, runnerSettings, myConfigurationPerRunnerSettings); console.initUI(); - OSProcessHandler processHandler = startProcess(); for (RunConfigurationExtension ext : Extensions.getExtensions(RunConfigurationExtension.EP_NAME)) { ext.handleStartProcess(config, processHandler); } @@ -306,7 +322,22 @@ public class TestNGRunnableState extends JavaCommandLineState { myTempFile = File.createTempFile("idea_testng", ".tmp"); myTempFile.deleteOnExit(); javaParameters.getProgramParametersList().add("-temp", myTempFile.getAbsolutePath()); - ProgressManager.getInstance().run(new SearchingForTestsTask(serverSocket, is15, config, myTempFile)); + final SearchingForTestsTask task = new SearchingForTestsTask(serverSocket, is15, config, myTempFile); + mySearchForTestIndicator = new BackgroundableProcessIndicator(task) { + @Override + public void cancel() { + try {//ensure that serverSocket.accept was interrupted + if (!serverSocket.isClosed()) { + new Socket(InetAddress.getLocalHost(), serverSocket.getLocalPort()); + } + } + catch (Throwable e) { + LOG.info(e); + } + super.cancel(); + } + }; + ProgressManagerImpl.runProcessWithProgressAsynchronously(task, mySearchForTestIndicator); } catch (IOException e) { LOG.error(e); From 7ed9368d3469e64fc5fecdb398a47c2a109a21cd Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Fri, 7 May 2010 14:51:17 +0400 Subject: [PATCH 144/173] spacing options in Python formatter (PY-951) --- .../intellij/application/options/CodeStyleAbstractPanel.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/platform/lang-impl/src/com/intellij/application/options/CodeStyleAbstractPanel.java b/platform/lang-impl/src/com/intellij/application/options/CodeStyleAbstractPanel.java index 559847e5ad55..e224f4db2369 100644 --- a/platform/lang-impl/src/com/intellij/application/options/CodeStyleAbstractPanel.java +++ b/platform/lang-impl/src/com/intellij/application/options/CodeStyleAbstractPanel.java @@ -201,7 +201,8 @@ public abstract class CodeStyleAbstractPanel implements Disposable { }); } - protected abstract void prepareForReformat(PsiFile psiFile); + protected void prepareForReformat(PsiFile psiFile) { + } protected PsiFile createFileFromText(Project project, String text) { PsiFile psiFile = PsiFileFactory.getInstance(project) From 64786804b862accc2d9f707f523cc9bfd096958d Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Fri, 7 May 2010 14:59:01 +0400 Subject: [PATCH 145/173] I see dead code (TM) --- .../options/BlankLinesSettingsProvider.java | 37 --- .../CodeStyleBlankLinesConfigurable.java | 40 --- .../options/CodeStyleBlankLinesPanel.java | 245 ------------------ .../options/CodeStyleSpacesConfigurable.java | 40 --- .../options/CodeStyleSpacesPanel.java | 144 ---------- .../IndentAndBracesSettingsProvider.java | 37 --- .../options/SpacesSettingsProvider.java | 37 --- .../options/WrappingConfigurable.java | 40 --- .../application/options/WrappingPanel.java | 163 ------------ .../options/WrappingSettingsProvider.java | 37 --- 10 files changed, 820 deletions(-) delete mode 100644 java/java-impl/src/com/intellij/application/options/BlankLinesSettingsProvider.java delete mode 100644 java/java-impl/src/com/intellij/application/options/CodeStyleBlankLinesConfigurable.java delete mode 100644 java/java-impl/src/com/intellij/application/options/CodeStyleBlankLinesPanel.java delete mode 100644 java/java-impl/src/com/intellij/application/options/CodeStyleSpacesConfigurable.java delete mode 100644 java/java-impl/src/com/intellij/application/options/CodeStyleSpacesPanel.java delete mode 100644 java/java-impl/src/com/intellij/application/options/IndentAndBracesSettingsProvider.java delete mode 100644 java/java-impl/src/com/intellij/application/options/SpacesSettingsProvider.java delete mode 100644 java/java-impl/src/com/intellij/application/options/WrappingConfigurable.java delete mode 100644 java/java-impl/src/com/intellij/application/options/WrappingPanel.java delete mode 100644 java/java-impl/src/com/intellij/application/options/WrappingSettingsProvider.java diff --git a/java/java-impl/src/com/intellij/application/options/BlankLinesSettingsProvider.java b/java/java-impl/src/com/intellij/application/options/BlankLinesSettingsProvider.java deleted file mode 100644 index e999a4ed8a0e..000000000000 --- a/java/java-impl/src/com/intellij/application/options/BlankLinesSettingsProvider.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright 2000-2009 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.intellij.application.options; - -import com.intellij.psi.codeStyle.CodeStyleSettingsProvider; -import com.intellij.psi.codeStyle.CodeStyleSettings; -import com.intellij.openapi.options.Configurable; -import com.intellij.openapi.application.ApplicationBundle; -import org.jetbrains.annotations.NotNull; - -/** - * @author yole - */ -public class BlankLinesSettingsProvider extends CodeStyleSettingsProvider { - @NotNull - public Configurable createSettingsPage(final CodeStyleSettings settings, final CodeStyleSettings originalSettings) { - return new CodeStyleBlankLinesConfigurable(settings, originalSettings); - } - - @Override - public String getConfigurableDisplayName() { - return ApplicationBundle.message("title.blank.lines"); - } -} diff --git a/java/java-impl/src/com/intellij/application/options/CodeStyleBlankLinesConfigurable.java b/java/java-impl/src/com/intellij/application/options/CodeStyleBlankLinesConfigurable.java deleted file mode 100644 index 21d8d9363308..000000000000 --- a/java/java-impl/src/com/intellij/application/options/CodeStyleBlankLinesConfigurable.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright 2000-2009 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.intellij.application.options; - -import com.intellij.openapi.fileTypes.StdFileTypes; -import com.intellij.openapi.application.ApplicationBundle; -import com.intellij.psi.codeStyle.CodeStyleSettings; - -import javax.swing.*; - -public class CodeStyleBlankLinesConfigurable extends CodeStyleAbstractConfigurable { - public CodeStyleBlankLinesConfigurable(CodeStyleSettings settings, CodeStyleSettings cloneSettings) { - super(settings, cloneSettings, ApplicationBundle.message("title.blank.lines")); - } - - protected CodeStyleAbstractPanel createPanel(final CodeStyleSettings settings) { - return new CodeStyleBlankLinesPanel(settings); - } - - public Icon getIcon() { - return StdFileTypes.JAVA.getIcon(); - } - - public String getHelpTopic() { - return "reference.settingsdialog.IDE.globalcodestyle.blanklines"; - } -} \ No newline at end of file diff --git a/java/java-impl/src/com/intellij/application/options/CodeStyleBlankLinesPanel.java b/java/java-impl/src/com/intellij/application/options/CodeStyleBlankLinesPanel.java deleted file mode 100644 index 2b143d4b3443..000000000000 --- a/java/java-impl/src/com/intellij/application/options/CodeStyleBlankLinesPanel.java +++ /dev/null @@ -1,245 +0,0 @@ -/* - * Copyright 2000-2009 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.intellij.application.options; - -import com.intellij.ide.highlighter.JavaHighlighterFactory; -import com.intellij.openapi.application.ApplicationBundle; -import com.intellij.openapi.editor.colors.EditorColorsScheme; -import com.intellij.openapi.editor.highlighter.EditorHighlighter; -import com.intellij.openapi.fileTypes.FileType; -import com.intellij.openapi.fileTypes.StdFileTypes; -import com.intellij.pom.java.LanguageLevel; -import com.intellij.psi.codeStyle.CodeStyleSettings; -import com.intellij.psi.PsiFile; -import com.intellij.psi.util.PsiUtil; -import com.intellij.ui.IdeBorderFactory; -import com.intellij.ui.OptionGroup; -import org.jetbrains.annotations.NotNull; - -import javax.swing.*; -import java.awt.*; - -public class CodeStyleBlankLinesPanel extends CodeStyleAbstractPanel { - private JTextField myKeepBlankLinesInDeclarations; - private JTextField myKeepBlankLinesInCode; - private JTextField myBlankLinesBeforePackage; - private JTextField myBlankLinesAfterPackage; - private JTextField myBlankLinesBeforeImports; - private JTextField myBlankLinesAfterImports; - private JTextField myBlankLinesAroundClass; - private JTextField myBlankLinesAroundField; - private JTextField myBlankLinesAroundMethod; - private JTextField myBlankLinesAroundFieldI; - private JTextField myBlankLinesAroundMethodI; - private JTextField myBlankLinesAfterClassHeader; - private JTextField myKeepBlankLinesBeforeRBrace; - - private final JPanel myPanel = new JPanel(new GridBagLayout()); - - public CodeStyleBlankLinesPanel(CodeStyleSettings settings) { - super(settings); - - myPanel - .add(createKeepBlankLinesPanel(), - new GridBagConstraints(0, 0, 1, 1, 0, 0, GridBagConstraints.NORTH, GridBagConstraints.HORIZONTAL, new Insets(0, 4, 0, 4), 0, 0)); - myPanel - .add(createBlankLinesPanel(), - new GridBagConstraints(0, 1, 1, 1, 0, 0, GridBagConstraints.NORTH, GridBagConstraints.HORIZONTAL, new Insets(0, 4, 0, 4), 0, 0)); - - final JPanel previewPanel = createPreviewPanel(); - myPanel - .add(previewPanel, - new GridBagConstraints(1, 0, 1, 2, 1, 1, GridBagConstraints.NORTH, GridBagConstraints.BOTH, new Insets(0, 0, 0, 4), 0, 0)); - - installPreviewPanel(previewPanel); - addPanelToWatch(myPanel); - - } - - private JPanel createBlankLinesPanel() { - OptionGroup optionGroup = new OptionGroup(ApplicationBundle.message("title.blank.lines")); - - myBlankLinesBeforePackage = createTextField(); - optionGroup.add(new JLabel(ApplicationBundle.message("editbox.blanklines.before.package.statement")), myBlankLinesBeforePackage); - - myBlankLinesAfterPackage = createTextField(); - optionGroup.add(new JLabel(ApplicationBundle.message("editbox.blanklines.after.package.statement")), myBlankLinesAfterPackage); - - myBlankLinesBeforeImports = createTextField(); - optionGroup.add(new JLabel(ApplicationBundle.message("editbox.blanklines.before.imports")), myBlankLinesBeforeImports); - - myBlankLinesAfterImports = createTextField(); - optionGroup.add(new JLabel(ApplicationBundle.message("editbox.blanklines.after.imports")), myBlankLinesAfterImports); - - myBlankLinesAroundClass = createTextField(); - optionGroup.add(new JLabel(ApplicationBundle.message("editbox.blanklines.around.class")), myBlankLinesAroundClass); - - myBlankLinesAroundField = createTextField(); - optionGroup.add(new JLabel(ApplicationBundle.message("editbox.blanklines.around.field")), myBlankLinesAroundField); - - myBlankLinesAroundMethod = createTextField(); - optionGroup.add(new JLabel(ApplicationBundle.message("editbox.blanklines.around.method")), myBlankLinesAroundMethod); - - myBlankLinesAroundFieldI = createTextField(); - optionGroup.add(new JLabel("Around field in interface:"), myBlankLinesAroundFieldI); - - myBlankLinesAroundMethodI = createTextField(); - optionGroup.add(new JLabel("Around method in interface:"), myBlankLinesAroundMethodI); - - myBlankLinesAfterClassHeader = createTextField(); - optionGroup.add(new JLabel(ApplicationBundle.message("editbox.blanklines.after.class.header")), myBlankLinesAfterClassHeader); - - return optionGroup.createPanel(); - } - - private JPanel createKeepBlankLinesPanel() { - OptionGroup optionGroup = new OptionGroup(ApplicationBundle.message("title.keep.blank.lines")); - - myKeepBlankLinesInDeclarations = createTextField(); - optionGroup.add(new JLabel(ApplicationBundle.message("editbox.keep.blanklines.in.declarations")), myKeepBlankLinesInDeclarations); - - myKeepBlankLinesInCode = createTextField(); - optionGroup.add(new JLabel(ApplicationBundle.message("editbox.keep.blanklines.in.code")), myKeepBlankLinesInCode); - - myKeepBlankLinesBeforeRBrace = createTextField(); - optionGroup.add(new JLabel(ApplicationBundle.message("editbox.keep.blanklines.before.rbrace")), myKeepBlankLinesBeforeRBrace); - - return optionGroup.createPanel(); - } - - private static JPanel createPreviewPanel() { - JPanel panel = new JPanel(); - panel.setBorder(IdeBorderFactory.createTitledBorder(ApplicationBundle.message("title.preview"))); - panel.setPreferredSize(new Dimension(200, 0)); - return panel; - } - - protected EditorHighlighter createHighlighter(final EditorColorsScheme scheme) { - return JavaHighlighterFactory.createJavaHighlighter(scheme, LanguageLevel.HIGHEST); - } - - protected String getPreviewText() { - return "/*\n" + - " * This is a sample file.\n" + - " */\n" + - "package com.intellij.samples;\n" + - "import com.intellij.idea.Main;\n" + - "import javax.swing.*;\n" + - "import java.util.Vector;\n" + - "public class Foo {\n" + - " private int field1;\n" + - " private int field2;\n" + - " public void foo1() {\n\n" + - " }\n" + - " public void foo2() {\n" + - " }\n\n" + - "}"; - } - - protected void resetImpl(final CodeStyleSettings settings) { - myKeepBlankLinesInDeclarations.setText(String.valueOf(settings.KEEP_BLANK_LINES_IN_DECLARATIONS)); - myKeepBlankLinesInCode.setText(String.valueOf(settings.KEEP_BLANK_LINES_IN_CODE)); - myKeepBlankLinesBeforeRBrace.setText(String.valueOf(settings.KEEP_BLANK_LINES_BEFORE_RBRACE)); - myBlankLinesBeforePackage.setText(String.valueOf(settings.BLANK_LINES_BEFORE_PACKAGE)); - myBlankLinesAfterPackage.setText(String.valueOf(settings.BLANK_LINES_AFTER_PACKAGE)); - myBlankLinesBeforeImports.setText(String.valueOf(settings.BLANK_LINES_BEFORE_IMPORTS)); - myBlankLinesAfterImports.setText(String.valueOf(settings.BLANK_LINES_AFTER_IMPORTS)); - myBlankLinesAroundClass.setText(String.valueOf(settings.BLANK_LINES_AROUND_CLASS)); - myBlankLinesAroundField.setText(String.valueOf(settings.BLANK_LINES_AROUND_FIELD)); - myBlankLinesAroundMethod.setText(String.valueOf(settings.BLANK_LINES_AROUND_METHOD)); - myBlankLinesAroundFieldI.setText(String.valueOf(settings.BLANK_LINES_AROUND_FIELD_IN_INTERFACE)); - myBlankLinesAroundMethodI.setText(String.valueOf(settings.BLANK_LINES_AROUND_METHOD_IN_INTERFACE)); - myBlankLinesAfterClassHeader.setText(String.valueOf(settings.BLANK_LINES_AFTER_CLASS_HEADER)); - - } - - public void apply(CodeStyleSettings settings) { - settings.KEEP_BLANK_LINES_IN_DECLARATIONS = getValue(myKeepBlankLinesInDeclarations); - settings.KEEP_BLANK_LINES_IN_CODE = getValue(myKeepBlankLinesInCode); - settings.KEEP_BLANK_LINES_BEFORE_RBRACE = getValue(myKeepBlankLinesBeforeRBrace); - settings.BLANK_LINES_BEFORE_PACKAGE = getValue(myBlankLinesBeforePackage); - settings.BLANK_LINES_AFTER_PACKAGE = getValue(myBlankLinesAfterPackage); - settings.BLANK_LINES_BEFORE_IMPORTS = getValue(myBlankLinesBeforeImports); - settings.BLANK_LINES_AFTER_IMPORTS = getValue(myBlankLinesAfterImports); - settings.BLANK_LINES_AROUND_CLASS = getValue(myBlankLinesAroundClass); - settings.BLANK_LINES_AROUND_FIELD = getValue(myBlankLinesAroundField); - settings.BLANK_LINES_AROUND_METHOD = getValue(myBlankLinesAroundMethod); - - settings.BLANK_LINES_AROUND_FIELD_IN_INTERFACE = getValue(myBlankLinesAroundFieldI); - settings.BLANK_LINES_AROUND_METHOD_IN_INTERFACE = getValue(myBlankLinesAroundMethodI); - - settings.BLANK_LINES_AFTER_CLASS_HEADER = getValue(myBlankLinesAfterClassHeader); - - } - - public boolean isModified(CodeStyleSettings settings) { - boolean isModified; - isModified = settings.KEEP_BLANK_LINES_IN_DECLARATIONS != getValue(myKeepBlankLinesInDeclarations); - isModified |= settings.KEEP_BLANK_LINES_IN_CODE != getValue(myKeepBlankLinesInCode); - isModified |= settings.KEEP_BLANK_LINES_BEFORE_RBRACE != getValue(myKeepBlankLinesBeforeRBrace); - isModified |= settings.BLANK_LINES_BEFORE_PACKAGE != getValue(myBlankLinesBeforePackage); - isModified |= settings.BLANK_LINES_AFTER_PACKAGE != getValue(myBlankLinesAfterPackage); - isModified |= settings.BLANK_LINES_BEFORE_IMPORTS != getValue(myBlankLinesBeforeImports); - isModified |= settings.BLANK_LINES_AFTER_IMPORTS != getValue(myBlankLinesAfterImports); - isModified |= settings.BLANK_LINES_AROUND_CLASS != getValue(myBlankLinesAroundClass); - isModified |= settings.BLANK_LINES_AROUND_FIELD != getValue(myBlankLinesAroundField); - isModified |= settings.BLANK_LINES_AROUND_METHOD != getValue(myBlankLinesAroundMethod); - isModified |= settings.BLANK_LINES_AROUND_FIELD_IN_INTERFACE != getValue(myBlankLinesAroundFieldI); - isModified |= settings.BLANK_LINES_AROUND_METHOD_IN_INTERFACE != getValue(myBlankLinesAroundMethodI); - isModified |= settings.BLANK_LINES_AFTER_CLASS_HEADER != getValue(myBlankLinesAfterClassHeader); - return isModified; - - } - - private static int getValue(JTextField textField) { - int ret = 0; - try { - ret = Integer.parseInt(textField.getText()); - if (ret < 0) { - ret = 0; - } - if (ret > 10) { - ret = 10; - } - } - catch (NumberFormatException e) { - //bad number entered - } - return ret; - } - - private static JTextField createTextField() { - - return new JTextField(6); - } - - protected int getRightMargin() { - return 37; - } - - @NotNull - protected FileType getFileType() { - return StdFileTypes.JAVA; - } - - public JComponent getPanel() { - return myPanel; - } - - protected void prepareForReformat(final PsiFile psiFile) { - psiFile.putUserData(PsiUtil.FILE_LANGUAGE_LEVEL_KEY, LanguageLevel.HIGHEST); - } -} \ No newline at end of file diff --git a/java/java-impl/src/com/intellij/application/options/CodeStyleSpacesConfigurable.java b/java/java-impl/src/com/intellij/application/options/CodeStyleSpacesConfigurable.java deleted file mode 100644 index dd820b14a4f3..000000000000 --- a/java/java-impl/src/com/intellij/application/options/CodeStyleSpacesConfigurable.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright 2000-2009 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.intellij.application.options; - -import com.intellij.openapi.fileTypes.StdFileTypes; -import com.intellij.openapi.application.ApplicationBundle; -import com.intellij.psi.codeStyle.CodeStyleSettings; - -import javax.swing.*; - -public class CodeStyleSpacesConfigurable extends CodeStyleAbstractConfigurable { - public CodeStyleSpacesConfigurable(CodeStyleSettings settings, CodeStyleSettings cloneSettings) { - super(settings, cloneSettings, ApplicationBundle.message("title.spaces")); - } - - public Icon getIcon() { - return StdFileTypes.JAVA.getIcon(); - } - - protected CodeStyleAbstractPanel createPanel(final CodeStyleSettings settings) { - return new CodeStyleSpacesPanel(settings); - } - - public String getHelpTopic() { - return "reference.settingsdialog.IDE.globalcodestyle.spaces"; - } -} \ No newline at end of file diff --git a/java/java-impl/src/com/intellij/application/options/CodeStyleSpacesPanel.java b/java/java-impl/src/com/intellij/application/options/CodeStyleSpacesPanel.java deleted file mode 100644 index 51b8bffde30a..000000000000 --- a/java/java-impl/src/com/intellij/application/options/CodeStyleSpacesPanel.java +++ /dev/null @@ -1,144 +0,0 @@ -/* - * Copyright 2000-2009 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.intellij.application.options; - -import com.intellij.openapi.editor.Editor; -import com.intellij.openapi.editor.EditorSettings; -import com.intellij.openapi.application.ApplicationBundle; -import com.intellij.psi.codeStyle.CodeStyleSettings; - -import javax.swing.*; - -public class CodeStyleSpacesPanel extends OptionTreeWithPreviewPanel { - public CodeStyleSpacesPanel(CodeStyleSettings settings) { - super(settings); - } - - private static final String AROUND_OPERATORS = ApplicationBundle.message("group.spaces.around.operators"); - private static final String BEFORE_PARENTHESES = ApplicationBundle.message("group.spaces.before.parentheses"); - private static final String BEFORE_LEFT_BRACE = ApplicationBundle.message("group.spaces.before.left.brace"); - private static final String WITHIN_PARENTHESES = ApplicationBundle.message("group.spaces.within.parentheses"); - private static final String TERNARY_OPERATOR = ApplicationBundle.message("group.spaces.in.ternary.operator"); - private static final String OTHER = ApplicationBundle.message("group.spaces.other"); - - protected void initTables() { - initBooleanField("SPACE_BEFORE_METHOD_CALL_PARENTHESES", ApplicationBundle.message("checkbox.spaces.method.call.parentheses"), BEFORE_PARENTHESES); - initBooleanField("SPACE_BEFORE_METHOD_PARENTHESES", ApplicationBundle.message("checkbox.spaces.method.declaration.parentheses"), BEFORE_PARENTHESES); - initBooleanField("SPACE_BEFORE_IF_PARENTHESES", ApplicationBundle.message("checkbox.spaces.if.parentheses"), BEFORE_PARENTHESES); - initBooleanField("SPACE_BEFORE_WHILE_PARENTHESES", ApplicationBundle.message("checkbox.spaces.while.parentheses"), BEFORE_PARENTHESES); - initBooleanField("SPACE_BEFORE_FOR_PARENTHESES", ApplicationBundle.message("checkbox.spaces.for.parentheses"), BEFORE_PARENTHESES); - initBooleanField("SPACE_BEFORE_CATCH_PARENTHESES", ApplicationBundle.message("checkbox.spaces.catch.parentheses"), BEFORE_PARENTHESES); - initBooleanField("SPACE_BEFORE_SWITCH_PARENTHESES", ApplicationBundle.message("checkbox.spaces.switch.parentheses"), BEFORE_PARENTHESES); - initBooleanField("SPACE_BEFORE_SYNCHRONIZED_PARENTHESES", ApplicationBundle.message("checkbox.spaces.synchronized.parentheses"), BEFORE_PARENTHESES); - initBooleanField("SPACE_BEFORE_ANOTATION_PARAMETER_LIST", ApplicationBundle.message("checkbox.spaces.annotation.parameters"), BEFORE_PARENTHESES); - - initBooleanField("SPACE_AROUND_ASSIGNMENT_OPERATORS", ApplicationBundle.message("checkbox.spaces.assignment.operators"), AROUND_OPERATORS); - initBooleanField("SPACE_AROUND_LOGICAL_OPERATORS", ApplicationBundle.message("checkbox.spaces.logical.operators"), AROUND_OPERATORS); - initBooleanField("SPACE_AROUND_EQUALITY_OPERATORS", ApplicationBundle.message("checkbox.spaces.equality.operators"), AROUND_OPERATORS); - initBooleanField("SPACE_AROUND_RELATIONAL_OPERATORS", ApplicationBundle.message("checkbox.spaces.relational.operators"), AROUND_OPERATORS); - initBooleanField("SPACE_AROUND_BITWISE_OPERATORS", ApplicationBundle.message("checkbox.spaces.bitwise.operators"), AROUND_OPERATORS); - initBooleanField("SPACE_AROUND_ADDITIVE_OPERATORS", ApplicationBundle.message("checkbox.spaces.additive.operators"), AROUND_OPERATORS); - initBooleanField("SPACE_AROUND_MULTIPLICATIVE_OPERATORS", ApplicationBundle.message("checkbox.spaces.multiplicative.operators"), AROUND_OPERATORS); - initBooleanField("SPACE_AROUND_SHIFT_OPERATORS", ApplicationBundle.message("checkbox.spaces.shift.operators"), AROUND_OPERATORS); - - initBooleanField("SPACE_BEFORE_CLASS_LBRACE", ApplicationBundle.message("checkbox.spaces.class.left.brace"), BEFORE_LEFT_BRACE); - initBooleanField("SPACE_BEFORE_METHOD_LBRACE", ApplicationBundle.message("checkbox.spaces.method.left.brace"), BEFORE_LEFT_BRACE); - initBooleanField("SPACE_BEFORE_IF_LBRACE", ApplicationBundle.message("checkbox.spaces.if.left.brace"), BEFORE_LEFT_BRACE); - initBooleanField("SPACE_BEFORE_ELSE_LBRACE", ApplicationBundle.message("checkbox.spaces.else.left.brace"), BEFORE_LEFT_BRACE); - initBooleanField("SPACE_BEFORE_WHILE_LBRACE", ApplicationBundle.message("checkbox.spaces.while.left.brace"), BEFORE_LEFT_BRACE); - initBooleanField("SPACE_BEFORE_FOR_LBRACE", ApplicationBundle.message("checkbox.spaces.for.left.brace"), BEFORE_LEFT_BRACE); - initBooleanField("SPACE_BEFORE_DO_LBRACE", ApplicationBundle.message("checkbox.spaces.do.left.brace"), BEFORE_LEFT_BRACE); - initBooleanField("SPACE_BEFORE_SWITCH_LBRACE", ApplicationBundle.message("checkbox.spaces.switch.left.brace"), BEFORE_LEFT_BRACE); - initBooleanField("SPACE_BEFORE_TRY_LBRACE", ApplicationBundle.message("checkbox.spaces.try.left.brace"), BEFORE_LEFT_BRACE); - initBooleanField("SPACE_BEFORE_CATCH_LBRACE", ApplicationBundle.message("checkbox.spaces.catch.left.brace"), BEFORE_LEFT_BRACE); - initBooleanField("SPACE_BEFORE_FINALLY_LBRACE", ApplicationBundle.message("checkbox.spaces.finally.left.brace"), BEFORE_LEFT_BRACE); - initBooleanField("SPACE_BEFORE_SYNCHRONIZED_LBRACE", ApplicationBundle.message("checkbox.spaces.synchronized.left.brace"), BEFORE_LEFT_BRACE); - initBooleanField("SPACE_BEFORE_ARRAY_INITIALIZER_LBRACE", ApplicationBundle.message("checkbox.spaces.array.initializer.left.brace"), BEFORE_LEFT_BRACE); - - initBooleanField("SPACE_WITHIN_PARENTHESES", ApplicationBundle.message("checkbox.spaces.parentheses"), WITHIN_PARENTHESES); - initBooleanField("SPACE_WITHIN_METHOD_CALL_PARENTHESES", ApplicationBundle.message("checkbox.spaces.checkbox.spaces.method.call.parentheses"), WITHIN_PARENTHESES); - initBooleanField("SPACE_WITHIN_METHOD_PARENTHESES", ApplicationBundle.message("checkbox.spaces.checkbox.spaces.method.declaration.parentheses"), WITHIN_PARENTHESES); - initBooleanField("SPACE_WITHIN_IF_PARENTHESES", ApplicationBundle.message("checkbox.spaces.if.parentheses"), WITHIN_PARENTHESES); - initBooleanField("SPACE_WITHIN_WHILE_PARENTHESES", ApplicationBundle.message("checkbox.spaces.while.parentheses"), WITHIN_PARENTHESES); - initBooleanField("SPACE_WITHIN_FOR_PARENTHESES", ApplicationBundle.message("checkbox.spaces.for.parentheses"), WITHIN_PARENTHESES); - initBooleanField("SPACE_WITHIN_CATCH_PARENTHESES", ApplicationBundle.message("checkbox.spaces.catch.parentheses"), WITHIN_PARENTHESES); - initBooleanField("SPACE_WITHIN_SWITCH_PARENTHESES", ApplicationBundle.message("checkbox.spaces.switch.parentheses"), WITHIN_PARENTHESES); - initBooleanField("SPACE_WITHIN_SYNCHRONIZED_PARENTHESES", ApplicationBundle.message("checkbox.spaces.synchronized.parentheses"), WITHIN_PARENTHESES); - initBooleanField("SPACE_WITHIN_CAST_PARENTHESES", ApplicationBundle.message("checkbox.spaces.type.cast.parentheses"), WITHIN_PARENTHESES); - initBooleanField("SPACE_WITHIN_ANNOTATION_PARENTHESES", ApplicationBundle.message("checkbox.spaces.annotation.parentheses"), WITHIN_PARENTHESES); - - initBooleanField("SPACE_BEFORE_QUEST", ApplicationBundle.message("checkbox.spaces.before.question"), TERNARY_OPERATOR); - initBooleanField("SPACE_AFTER_QUEST", ApplicationBundle.message("checkbox.spaces.after.question"), TERNARY_OPERATOR); - initBooleanField("SPACE_BEFORE_COLON", ApplicationBundle.message("checkbox.spaces.before.colon"), TERNARY_OPERATOR); - initBooleanField("SPACE_AFTER_COLON", ApplicationBundle.message("checkbox.spaces.after.colon"), TERNARY_OPERATOR); - - initBooleanField("SPACE_AFTER_LABEL", ApplicationBundle.message("checkbox.spaces.after.colon.in.label.declaration"), OTHER); - initBooleanField("SPACE_WITHIN_BRACKETS", ApplicationBundle.message("checkbox.spaces.within.brackets"), OTHER); - initBooleanField("SPACE_WITHIN_ARRAY_INITIALIZER_BRACES", ApplicationBundle.message("checkbox.spaces.within.array.initializer.braces"), OTHER); - initBooleanField("SPACE_AFTER_COMMA", ApplicationBundle.message("checkbox.spaces.after.comma"), OTHER); - initBooleanField("SPACE_BEFORE_COMMA", ApplicationBundle.message("checkbox.spaces.before.comma"), OTHER); - initBooleanField("SPACE_AFTER_SEMICOLON", ApplicationBundle.message("checkbox.spaces.after.semicolon"), OTHER); - initBooleanField("SPACE_BEFORE_SEMICOLON", ApplicationBundle.message("checkbox.spaces.before.semicolon"), OTHER); - initBooleanField("SPACE_AFTER_TYPE_CAST", ApplicationBundle.message("checkbox.spaces.after.type.cast"), OTHER); - } - - protected void setupEditorSettings(Editor editor) { - EditorSettings editorSettings = editor.getSettings(); - editorSettings.setWhitespacesShown(true); - editorSettings.setLineMarkerAreaShown(false); - editorSettings.setIndentGuidesShown(false); - editorSettings.setLineNumbersShown(false); - editorSettings.setFoldingOutlineShown(false); - editorSettings.setAdditionalColumnsCount(0); - editorSettings.setAdditionalLinesCount(1); - } - - protected String getPreviewText() { - return "@Annotation(param1=\"value1\", param2=\"value2\") public class Foo {\n" + - " int[] X = new int[]{1,3,5,6,7,87,1213,2};\n\n" + - " public void foo(int x, int y) {\n" + - " for(int i = 0; i < x; i++){\n" + - " y += (y ^ 0x123) << 2;\n" + - " }\n" + - " do {\n" + - " try {\n" + - " if(0 < x && x < 10) {\n" + - " while(x != y){\n" + - " x = f(x * 3 + 5);\n" + - " }\n" + - " } else {\n" + - " synchronized(this){\n" + - " switch(e.getCode()){\n" + - " //...\n" + - " }\n" + - " }\n" + - " }\n" + - " }\n" + - " catch(MyException e) {\n" + - " }\n" + - " finally {\n" + - " int[] arr = (int[])g(y);\n" + - " x = y >= 0 ? arr[y] : -1;\n" + - " }\n" + - " }while(true);\n" + - " }\n" + - "}"; - } - - public JComponent getPanel() { - return getInternalPanel(); - } -} diff --git a/java/java-impl/src/com/intellij/application/options/IndentAndBracesSettingsProvider.java b/java/java-impl/src/com/intellij/application/options/IndentAndBracesSettingsProvider.java deleted file mode 100644 index 6842b48427bb..000000000000 --- a/java/java-impl/src/com/intellij/application/options/IndentAndBracesSettingsProvider.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright 2000-2009 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.intellij.application.options; - -import com.intellij.psi.codeStyle.CodeStyleSettingsProvider; -import com.intellij.psi.codeStyle.CodeStyleSettings; -import com.intellij.openapi.options.Configurable; -import com.intellij.openapi.application.ApplicationBundle; -import org.jetbrains.annotations.NotNull; - -/** - * @author yole - */ -public class IndentAndBracesSettingsProvider extends CodeStyleSettingsProvider { - @NotNull - public Configurable createSettingsPage(final CodeStyleSettings settings, final CodeStyleSettings originalSettings) { - return new CodeStyleIndentAndBracesConfigurable(settings, originalSettings); - } - - @Override - public String getConfigurableDisplayName() { - return ApplicationBundle.message("title.alignment.and.braces"); - } -} diff --git a/java/java-impl/src/com/intellij/application/options/SpacesSettingsProvider.java b/java/java-impl/src/com/intellij/application/options/SpacesSettingsProvider.java deleted file mode 100644 index d6c97feb4c20..000000000000 --- a/java/java-impl/src/com/intellij/application/options/SpacesSettingsProvider.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright 2000-2009 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.intellij.application.options; - -import com.intellij.psi.codeStyle.CodeStyleSettingsProvider; -import com.intellij.psi.codeStyle.CodeStyleSettings; -import com.intellij.openapi.options.Configurable; -import com.intellij.openapi.application.ApplicationBundle; -import org.jetbrains.annotations.NotNull; - -/** - * @author yole - */ -public class SpacesSettingsProvider extends CodeStyleSettingsProvider { - @NotNull - public Configurable createSettingsPage(final CodeStyleSettings settings, final CodeStyleSettings originalSettings) { - return new CodeStyleSpacesConfigurable(settings, originalSettings); - } - - @Override - public String getConfigurableDisplayName() { - return ApplicationBundle.message("title.spaces"); - } -} diff --git a/java/java-impl/src/com/intellij/application/options/WrappingConfigurable.java b/java/java-impl/src/com/intellij/application/options/WrappingConfigurable.java deleted file mode 100644 index ca58f98690ce..000000000000 --- a/java/java-impl/src/com/intellij/application/options/WrappingConfigurable.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright 2000-2009 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.intellij.application.options; - -import com.intellij.openapi.fileTypes.StdFileTypes; -import com.intellij.openapi.application.ApplicationBundle; -import com.intellij.psi.codeStyle.CodeStyleSettings; - -import javax.swing.*; - -public class WrappingConfigurable extends CodeStyleAbstractConfigurable { - public WrappingConfigurable(CodeStyleSettings settings, CodeStyleSettings cloneSettings) { - super(settings, cloneSettings, ApplicationBundle.message("title.wrapping")); - } - - public Icon getIcon() { - return StdFileTypes.JAVA.getIcon(); - } - - protected CodeStyleAbstractPanel createPanel(final CodeStyleSettings settings) { - return new WrappingPanel(settings); - } - - public String getHelpTopic() { - return "reference.settingsdialog.IDE.globalcodestyle.wrap"; - } -} \ No newline at end of file diff --git a/java/java-impl/src/com/intellij/application/options/WrappingPanel.java b/java/java-impl/src/com/intellij/application/options/WrappingPanel.java deleted file mode 100644 index 2d3796fe8a1d..000000000000 --- a/java/java-impl/src/com/intellij/application/options/WrappingPanel.java +++ /dev/null @@ -1,163 +0,0 @@ -/* - * Copyright 2000-2009 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.intellij.application.options; - -import com.intellij.openapi.application.ApplicationBundle; -import com.intellij.psi.codeStyle.CodeStyleSettings; - -/** - * @author max - */ -public class WrappingPanel extends OptionTableWithPreviewPanel { - private static final String METHOD_PARAMETERS_WRAPPING = ApplicationBundle.message("combobox.wrap.method.declaration.parameters"); - private static final String CALL_PARAMETERS_WRAPPING = ApplicationBundle.message("combobox.wrap.method.call.arguments"); - private static final String CALL_CHAIN_WRAPPING = ApplicationBundle.message("combobox.wrap.chained.method.calls"); - private static final String FOR_STATEMENT_WRAPPING = ApplicationBundle.message("combobox.wrap.for.statement"); - private static final String BINARY_OPERATION_WRAPPING = ApplicationBundle.message("combobox.wrap.binary.operations"); - private static final String[] FULL_WRAP_OPTIONS = new String[] { - ApplicationBundle.message("combobox.codestyle.do.not.wrap"), - ApplicationBundle.message("combobox.codestyle.wrap.if.long"), - ApplicationBundle.message("combobox.codestyle.chop.down.if.long"), - ApplicationBundle.message("combobox.codestyle.wrap.always") - }; - private static final String[] SINGLE_ITEM_WRAP_OPTIONS = new String[]{ - ApplicationBundle.message("combobox.codestyle.do.not.wrap"), - ApplicationBundle.message("combobox.codestyle.wrap.if.long"), - ApplicationBundle.message("combobox.codestyle.wrap.always") - }; - private static final int[] FULL_WRAP_VALUES = new int[]{CodeStyleSettings.DO_NOT_WRAP, - CodeStyleSettings.WRAP_AS_NEEDED, - CodeStyleSettings.WRAP_AS_NEEDED | - CodeStyleSettings.WRAP_ON_EVERY_ITEM, - CodeStyleSettings.WRAP_ALWAYS}; - private static final int[] SINGLE_ITEM_WRAP_VALUES = new int[]{CodeStyleSettings.DO_NOT_WRAP, - CodeStyleSettings.WRAP_AS_NEEDED, - CodeStyleSettings.WRAP_ALWAYS}; - private static final String EXTENDS_LIST_WRAPPING = ApplicationBundle.message("combobox.wrap.extends.implements.list"); - private static final String EXTENDS_KEYWORD_WRAPPING = ApplicationBundle.message("combobox.wrap.extends.implements.keyword"); - private static final String THROWS_LIST_WRAPPING = ApplicationBundle.message("combobox.wrap.throws.list"); - private static final String THROWS_KEYWORD_WRAPPING = ApplicationBundle.message("combobox.wrap.throws.keyword"); - private static final String PARENTHESIZED_EXPRESSION = ApplicationBundle.message("combobox.wrap.parenthesized.expression"); - private static final String TERNARY_OPERATION_WRAPPING = ApplicationBundle.message("combobox.wrap.ternary.operation"); - private static final String ASSIGNMENT_WRAPPING = ApplicationBundle.message("combobox.wrap.assignment.statement"); - private static final String ARRAY_INITIALIZER_WRAPPING = ApplicationBundle.message("combobox.wrap.array.initializer"); - private static final String LABELED_STATEMENT_WRAPPING = ApplicationBundle.message("combobox.wrap.label.declaration"); - private static final String MODIFIER_LIST_WRAPPING = ApplicationBundle.message("combobox.wrap.modifier.list"); - private static final String ASSERT_STATEMENT_WRAPPING = ApplicationBundle.message("combobox.wrap.assert.statement"); - - public WrappingPanel(CodeStyleSettings settings) { - super(settings); - } - - protected void initTables() { - initRadioGroupField("EXTENDS_LIST_WRAP", EXTENDS_LIST_WRAPPING, FULL_WRAP_OPTIONS, FULL_WRAP_VALUES); - initRadioGroupField("EXTENDS_KEYWORD_WRAP", EXTENDS_KEYWORD_WRAPPING, SINGLE_ITEM_WRAP_OPTIONS, - SINGLE_ITEM_WRAP_VALUES); - - initRadioGroupField("METHOD_PARAMETERS_WRAP", METHOD_PARAMETERS_WRAPPING, FULL_WRAP_OPTIONS, FULL_WRAP_VALUES); - initBooleanField("METHOD_PARAMETERS_LPAREN_ON_NEXT_LINE", ApplicationBundle.message("checkbox.wrap.new.line.after.lpar"), METHOD_PARAMETERS_WRAPPING); - initBooleanField("METHOD_PARAMETERS_RPAREN_ON_NEXT_LINE", ApplicationBundle.message("checkbox.wrap.place.rpar.on.new.line"), METHOD_PARAMETERS_WRAPPING); - - initRadioGroupField("THROWS_LIST_WRAP", THROWS_LIST_WRAPPING, FULL_WRAP_OPTIONS, FULL_WRAP_VALUES); - initRadioGroupField("THROWS_KEYWORD_WRAP", THROWS_KEYWORD_WRAPPING, SINGLE_ITEM_WRAP_OPTIONS, - SINGLE_ITEM_WRAP_VALUES); - - initRadioGroupField("CALL_PARAMETERS_WRAP", CALL_PARAMETERS_WRAPPING, FULL_WRAP_OPTIONS, FULL_WRAP_VALUES); - initBooleanField("PREFER_PARAMETERS_WRAP", ApplicationBundle.message("checkbox.wrap.take.priority.over.call.chain.wrapping"), CALL_PARAMETERS_WRAPPING); - initBooleanField("CALL_PARAMETERS_LPAREN_ON_NEXT_LINE", ApplicationBundle.message("checkbox.wrap.new.line.after.lpar"), CALL_PARAMETERS_WRAPPING); - initBooleanField("CALL_PARAMETERS_RPAREN_ON_NEXT_LINE", ApplicationBundle.message("checkbox.wrap.place.rpar.on.new.line"), CALL_PARAMETERS_WRAPPING); - - initRadioGroupField("METHOD_CALL_CHAIN_WRAP", CALL_CHAIN_WRAPPING, FULL_WRAP_OPTIONS, FULL_WRAP_VALUES); - - initRadioGroupField("FOR_STATEMENT_WRAP", FOR_STATEMENT_WRAPPING, FULL_WRAP_OPTIONS, FULL_WRAP_VALUES); - initBooleanField("FOR_STATEMENT_LPAREN_ON_NEXT_LINE", ApplicationBundle.message("checkbox.wrap.new.line.after.lpar"), FOR_STATEMENT_WRAPPING); - initBooleanField("FOR_STATEMENT_RPAREN_ON_NEXT_LINE", ApplicationBundle.message("checkbox.wrap.place.rpar.on.new.line"), FOR_STATEMENT_WRAPPING); - - initRadioGroupField("BINARY_OPERATION_WRAP", BINARY_OPERATION_WRAPPING, FULL_WRAP_OPTIONS, FULL_WRAP_VALUES); - initBooleanField("BINARY_OPERATION_SIGN_ON_NEXT_LINE", ApplicationBundle.message("checkbox.wrap.operation.sign.on.next.line"), BINARY_OPERATION_WRAPPING); - - initRadioGroupField("ASSIGNMENT_WRAP", ASSIGNMENT_WRAPPING, FULL_WRAP_OPTIONS, FULL_WRAP_VALUES); - initBooleanField("PLACE_ASSIGNMENT_SIGN_ON_NEXT_LINE", ApplicationBundle.message("checkbox.wrap.assignment.sign.on.next.line"), ASSIGNMENT_WRAPPING); - - initRadioGroupField("TERNARY_OPERATION_WRAP", TERNARY_OPERATION_WRAPPING, FULL_WRAP_OPTIONS, FULL_WRAP_VALUES); - initBooleanField("TERNARY_OPERATION_SIGNS_ON_NEXT_LINE", ApplicationBundle.message("checkbox.wrap.quest.and.colon.signs.on.next.line"), - TERNARY_OPERATION_WRAPPING); - - initBooleanField("PARENTHESES_EXPRESSION_LPAREN_WRAP", ApplicationBundle.message("checkbox.wrap.new.line.after.lpar"), PARENTHESIZED_EXPRESSION); - initBooleanField("PARENTHESES_EXPRESSION_RPAREN_WRAP", ApplicationBundle.message("checkbox.wrap.place.rpar.on.new.line"), PARENTHESIZED_EXPRESSION); - - initRadioGroupField("ARRAY_INITIALIZER_WRAP", ARRAY_INITIALIZER_WRAPPING, FULL_WRAP_OPTIONS, FULL_WRAP_VALUES); - initBooleanField("ARRAY_INITIALIZER_LBRACE_ON_NEXT_LINE", ApplicationBundle.message("checkbox.wrap.new.line.after.lbrace"), ARRAY_INITIALIZER_WRAPPING); - initBooleanField("ARRAY_INITIALIZER_RBRACE_ON_NEXT_LINE", ApplicationBundle.message("checkbox.wrap.place.rbrace.on.new.line"), ARRAY_INITIALIZER_WRAPPING); - - initRadioGroupField("LABELED_STATEMENT_WRAP", LABELED_STATEMENT_WRAPPING, SINGLE_ITEM_WRAP_OPTIONS, SINGLE_ITEM_WRAP_VALUES); - - initBooleanField("MODIFIER_LIST_WRAP", ApplicationBundle.message("checkbox.wrap.after.modifier.list"), MODIFIER_LIST_WRAPPING); - - initRadioGroupField("ASSERT_STATEMENT_WRAP", ASSERT_STATEMENT_WRAPPING, FULL_WRAP_OPTIONS, FULL_WRAP_VALUES); - initBooleanField("ASSERT_STATEMENT_COLON_ON_NEXT_LINE", ApplicationBundle.message("checkbox.wrap.colon.signs.on.next.line"), ASSERT_STATEMENT_WRAPPING); - - initRadioGroupField("CLASS_ANNOTATION_WRAP", ApplicationBundle.message("checkbox.wrap.classes.annotation"), FULL_WRAP_OPTIONS, FULL_WRAP_VALUES); - initRadioGroupField("METHOD_ANNOTATION_WRAP", ApplicationBundle.message("checkbox.wrap.methods.annotation"), FULL_WRAP_OPTIONS, FULL_WRAP_VALUES); - initRadioGroupField("FIELD_ANNOTATION_WRAP", ApplicationBundle.message("checkbox.wrap.fields.annotation"), FULL_WRAP_OPTIONS, FULL_WRAP_VALUES); - initRadioGroupField("PARAMETER_ANNOTATION_WRAP", ApplicationBundle.message("checkbox.wrap.parameters.annotation"), FULL_WRAP_OPTIONS, FULL_WRAP_VALUES); - initRadioGroupField("VARIABLE_ANNOTATION_WRAP", ApplicationBundle.message("checkbox.wrap.local.variables.annotation"), FULL_WRAP_OPTIONS, FULL_WRAP_VALUES); - initRadioGroupField("ENUM_CONSTANTS_WRAP", ApplicationBundle.message("checkbox.wrap.enum.constants"), FULL_WRAP_OPTIONS, FULL_WRAP_VALUES); - - } - - protected int getRightMargin() { - return 37; - } - - protected String getPreviewText() { //| Margin is here - return "/*\n" + - " * This is a sample file.\n" + - " */\n" + - "\n" + - "public class ThisIsASampleClass extends C1 implements I1, I2, I3, I4, I5 {\n" + - " private int f1;\n" + - " private int f2;\n" + - " public void foo1(int i1, int i2, int i3, int i4, int i5, int i6, int i7) {}\n" + - " public static void longerMethod() throws Exception1, Exception2, Exception3 {\n" + - " int[] a = new int[] {1, 2, 0x0052, 0x0053, 0x0054};\n" + - " foo1(0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057);\n" + - " int x = (3 + 4 + 5 + 6) * (7 + 8 + 9 + 10) * (11 + 12 + 13 + 14 + 0xFFFFFFFF);\n" + - " String s1, s2, s3;\n" + - " s1 = s2 = s3 = \"012345678901456\";\n" + - " assert i + j + k + l + n+ m <= 2 : \"assert description\";" + - " int y = 2 > 3 ? 7 + 8 + 9 : 11 + 12 + 13;\n" + - " label: " + - " for (int i = 0; i < 0xFFFFFF; i += 2) {\n" + - " super.getFoo().foo().getBar().bar();\n" + - " }\n" + - " }\n" + - "}\n" + - "\n" + - "enum Breed {\n" + - " Dalmatian(), Labrador(), Dachshund()\n" + - "}\n" + - "\n" + - "@Annotation1 @Annotation2 @Annotation3(param1=\"value1\", param2=\"value2\") @Annotation4 class Foo {\n" + - " @Annotation1 @Annotation3(param1=\"value1\", param2=\"value2\") public static void foo(){\n" + - " }\n" + - " @Annotation1 @Annotation3(param1=\"value1\", param2=\"value2\") public static int myFoo;\n" + - " public void method(@Annotation1 @Annotation3(param1=\"value1\", param2=\"value2\") final int param){\n" + - " @Annotation1 @Annotation3(param1=\"value1\", param2=\"value2\") final int localVariable;" + - " }\n" + - "}"; - } -} diff --git a/java/java-impl/src/com/intellij/application/options/WrappingSettingsProvider.java b/java/java-impl/src/com/intellij/application/options/WrappingSettingsProvider.java deleted file mode 100644 index 08016e7bbb87..000000000000 --- a/java/java-impl/src/com/intellij/application/options/WrappingSettingsProvider.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright 2000-2009 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.intellij.application.options; - -import com.intellij.psi.codeStyle.CodeStyleSettingsProvider; -import com.intellij.psi.codeStyle.CodeStyleSettings; -import com.intellij.openapi.options.Configurable; -import com.intellij.openapi.application.ApplicationBundle; -import org.jetbrains.annotations.NotNull; - -/** - * @author yole - */ -public class WrappingSettingsProvider extends CodeStyleSettingsProvider { - @NotNull - public Configurable createSettingsPage(final CodeStyleSettings settings, final CodeStyleSettings originalSettings) { - return new WrappingConfigurable(settings, originalSettings); - } - - @Override - public String getConfigurableDisplayName() { - return ApplicationBundle.message("title.wrapping"); - } -} From 688e7ffc27b3905edd82bbcc6421152b5e74d921 Mon Sep 17 00:00:00 2001 From: Eugene Kudelevsky Date: Fri, 7 May 2010 15:52:52 +0400 Subject: [PATCH 146/173] encapsulate fields --- .../codeInsight/template/zencoding/NumberToken.java | 6 +++++- .../codeInsight/template/zencoding/OperationToken.java | 6 +++++- .../codeInsight/template/zencoding/TemplateToken.java | 10 +++++++++- .../template/zencoding/XmlZenCodingInterpreter.java | 8 ++++---- .../template/zencoding/XmlZenCodingTemplate.java | 2 +- .../template/zencoding/ZenCodingTemplate.java | 4 ++-- 6 files changed, 26 insertions(+), 10 deletions(-) diff --git a/xml/impl/src/com/intellij/codeInsight/template/zencoding/NumberToken.java b/xml/impl/src/com/intellij/codeInsight/template/zencoding/NumberToken.java index 4adf4f763c59..d101c8f4325f 100644 --- a/xml/impl/src/com/intellij/codeInsight/template/zencoding/NumberToken.java +++ b/xml/impl/src/com/intellij/codeInsight/template/zencoding/NumberToken.java @@ -19,9 +19,13 @@ package com.intellij.codeInsight.template.zencoding; * @author Eugene.Kudelevsky */ class NumberToken extends Token { - final int myNumber; + private final int myNumber; NumberToken(int number) { myNumber = number; } + + public int getNumber() { + return myNumber; + } } diff --git a/xml/impl/src/com/intellij/codeInsight/template/zencoding/OperationToken.java b/xml/impl/src/com/intellij/codeInsight/template/zencoding/OperationToken.java index 63bb2d343e6c..b33e164eee8e 100644 --- a/xml/impl/src/com/intellij/codeInsight/template/zencoding/OperationToken.java +++ b/xml/impl/src/com/intellij/codeInsight/template/zencoding/OperationToken.java @@ -19,9 +19,13 @@ package com.intellij.codeInsight.template.zencoding; * @author Eugene.Kudelevsky */ class OperationToken extends Token { - final char mySign; + private final char mySign; OperationToken(char sign) { mySign = sign; } + + public char getSign() { + return mySign; + } } diff --git a/xml/impl/src/com/intellij/codeInsight/template/zencoding/TemplateToken.java b/xml/impl/src/com/intellij/codeInsight/template/zencoding/TemplateToken.java index 565e8d1114aa..2092f955801c 100644 --- a/xml/impl/src/com/intellij/codeInsight/template/zencoding/TemplateToken.java +++ b/xml/impl/src/com/intellij/codeInsight/template/zencoding/TemplateToken.java @@ -28,7 +28,7 @@ public class TemplateToken extends Token { private final String myKey; private final List> myAttribute2Value; private TemplateImpl myTemplate; - public XmlTag myTag; + private XmlTag myTag; public TemplateToken(String key, List> attribute2value) { myKey = key; @@ -50,4 +50,12 @@ public class TemplateToken extends Token { public TemplateImpl getTemplate() { return myTemplate; } + + public XmlTag getTag() { + return myTag; + } + + public void setTag(XmlTag tag) { + myTag = tag; + } } diff --git a/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingInterpreter.java b/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingInterpreter.java index 826b83e747a3..45822cbe0f6f 100644 --- a/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingInterpreter.java +++ b/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingInterpreter.java @@ -118,7 +118,7 @@ class XmlZenCodingInterpreter { case OPERATION: if (templateToken != null) { if (token instanceof MarkerToken || token instanceof OperationToken) { - final char sign = token instanceof OperationToken ? ((OperationToken)token).mySign : ZenCodingTemplate.MARKER; + final char sign = token instanceof OperationToken ? ((OperationToken)token).getSign() : ZenCodingTemplate.MARKER; if (sign == '+' || (mySurroundedText == null && sign == ZenCodingTemplate.MARKER)) { final Object key = new Object(); myCallback.fixStartOfTemplate(key); @@ -156,7 +156,7 @@ class XmlZenCodingInterpreter { break; case NUMBER: if (token instanceof NumberToken) { - number = ((NumberToken)token).myNumber; + number = ((NumberToken)token).getNumber(); myState = State.AFTER_NUMBER; } else { @@ -165,7 +165,7 @@ class XmlZenCodingInterpreter { break; case AFTER_NUMBER: if (token instanceof MarkerToken || token instanceof OperationToken) { - char sign = token instanceof OperationToken ? ((OperationToken)token).mySign : ZenCodingTemplate.MARKER; + char sign = token instanceof OperationToken ? ((OperationToken)token).getSign() : ZenCodingTemplate.MARKER; if (sign == '+' || (mySurroundedText == null && sign == ZenCodingTemplate.MARKER)) { invokeTemplateSeveralTimes(templateToken, 0, number); templateToken = null; @@ -310,7 +310,7 @@ class XmlZenCodingInterpreter { if (token.getTemplate() != null) { if (attr2value.size() > 0 || XmlZenCodingTemplate.isTrueXml(callback)) { TemplateImpl modifiedTemplate = token.getTemplate().copy(); - XmlTag tag = token.myTag; + XmlTag tag = token.getTag(); if (tag != null) { for (Iterator> iterator = attr2value.iterator(); iterator.hasNext();) { Pair pair = iterator.next(); diff --git a/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingTemplate.java b/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingTemplate.java index bf34318856a1..9d4613080d16 100644 --- a/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingTemplate.java +++ b/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingTemplate.java @@ -208,7 +208,7 @@ public class XmlZenCodingTemplate extends ZenCodingTemplate { if (!XmlZenCodingInterpreter.containsAttrsVar(template) && token.getAttribute2Value().size() > 0) { addMissingAttributes(tag, token.getAttribute2Value()); } - token.myTag = tag; + token.setTag(tag); } return token; } diff --git a/xml/impl/src/com/intellij/codeInsight/template/zencoding/ZenCodingTemplate.java b/xml/impl/src/com/intellij/codeInsight/template/zencoding/ZenCodingTemplate.java index 7059e37af21c..cb9a70bc117c 100644 --- a/xml/impl/src/com/intellij/codeInsight/template/zencoding/ZenCodingTemplate.java +++ b/xml/impl/src/com/intellij/codeInsight/template/zencoding/ZenCodingTemplate.java @@ -96,7 +96,7 @@ public abstract class ZenCodingTemplate implements CustomLiveTemplate { switch (state) { case OPERATION: if (token instanceof OperationToken) { - state = ((OperationToken)token).mySign == '*' ? State.NUMBER : State.WORD; + state = ((OperationToken)token).getSign() == '*' ? State.NUMBER : State.WORD; } else { return false; @@ -119,7 +119,7 @@ public abstract class ZenCodingTemplate implements CustomLiveTemplate { } break; case AFTER_NUMBER: - if (token instanceof OperationToken && ((OperationToken)token).mySign != '*') { + if (token instanceof OperationToken && ((OperationToken)token).getSign() != '*') { state = State.WORD; } else { From 1e306109ec910f41947081edb012237f480ec3d7 Mon Sep 17 00:00:00 2001 From: Denis Zhdanov Date: Fri, 7 May 2010 17:03:56 +0400 Subject: [PATCH 147/173] IDEA-54765 Code Style -> Order of Members should have extra items for statics Static members weights are added to the processing --- .../impl/source/tree/java/ClassElement.java | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/java/java-impl/src/com/intellij/psi/impl/source/tree/java/ClassElement.java b/java/java-impl/src/com/intellij/psi/impl/source/tree/java/ClassElement.java index 9fd76b1a5e5b..2355e79e895b 100644 --- a/java/java-impl/src/com/intellij/psi/impl/source/tree/java/ClassElement.java +++ b/java/java-impl/src/com/intellij/psi/impl/source/tree/java/ClassElement.java @@ -417,13 +417,26 @@ public class ClassElement extends CompositeElement implements Constants { public static int getMemberOrderWeight(PsiElement member, CodeStyleSettings settings) { if (member instanceof PsiField) { - return member instanceof PsiEnumConstant ? 1 : settings.FIELDS_ORDER_WEIGHT + 1; + if (member instanceof PsiEnumConstant) { + return 1; + } + else { + return ((PsiField)member).hasModifierProperty(PsiModifier.STATIC) ? settings.STATIC_FIELDS_ORDER_WEIGHT + 1 + : settings.FIELDS_ORDER_WEIGHT + 1; + } } else if (member instanceof PsiMethod) { - return ((PsiMethod)member).isConstructor() ? settings.CONSTRUCTORS_ORDER_WEIGHT + 1 : settings.METHODS_ORDER_WEIGHT + 1; + if (((PsiMethod)member).isConstructor()) { + return settings.CONSTRUCTORS_ORDER_WEIGHT + 1; + } + else { + return ((PsiMethod)member).hasModifierProperty(PsiModifier.STATIC) ? settings.STATIC_METHODS_ORDER_WEIGHT + 1 + : settings.METHODS_ORDER_WEIGHT + 1; + } } else if (member instanceof PsiClass) { - return settings.INNER_CLASSES_ORDER_WEIGHT + 1; + return ((PsiClass)member).hasModifierProperty(PsiModifier.STATIC) ? settings.STATIC_INNER_CLASSES_ORDER_WEIGHT + 1 + : settings.INNER_CLASSES_ORDER_WEIGHT + 1; } else { return -1; From 88cd53af4028888c65e2156dcb65004ee5429594 Mon Sep 17 00:00:00 2001 From: Denis Zhdanov Date: Fri, 7 May 2010 17:04:45 +0400 Subject: [PATCH 148/173] IDEA-54765 Code Style -> Order of Members should have extra items for statics Added dedicated settings for static class members weights --- .../com/intellij/psi/codeStyle/CodeStyleSettings.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/platform/lang-api/src/com/intellij/psi/codeStyle/CodeStyleSettings.java b/platform/lang-api/src/com/intellij/psi/codeStyle/CodeStyleSettings.java index 516ac66706b7..8fc81103785f 100644 --- a/platform/lang-api/src/com/intellij/psi/codeStyle/CodeStyleSettings.java +++ b/platform/lang-api/src/com/intellij/psi/codeStyle/CodeStyleSettings.java @@ -787,10 +787,13 @@ public class CodeStyleSettings implements Cloneable, JDOMExternalizable { //----------------- ORDER OF MEMBERS ------------------ - public int FIELDS_ORDER_WEIGHT = 1; - public int CONSTRUCTORS_ORDER_WEIGHT = 2; - public int METHODS_ORDER_WEIGHT = 3; - public int INNER_CLASSES_ORDER_WEIGHT = 4; + public int STATIC_FIELDS_ORDER_WEIGHT = 1; + public int FIELDS_ORDER_WEIGHT = 2; + public int CONSTRUCTORS_ORDER_WEIGHT = 3; + public int STATIC_METHODS_ORDER_WEIGHT = 4; + public int METHODS_ORDER_WEIGHT = 5; + public int STATIC_INNER_CLASSES_ORDER_WEIGHT = 6; + public int INNER_CLASSES_ORDER_WEIGHT = 7; //----------------- WRAPPING --------------------------- public int RIGHT_MARGIN = 120; From af7ed4d29682f111bc90bc57947ae8fb064789e3 Mon Sep 17 00:00:00 2001 From: Denis Zhdanov Date: Fri, 7 May 2010 17:05:52 +0400 Subject: [PATCH 149/173] IDEA-54765 Code Style -> Order of Members should have extra items for statics 1. Added entries for static class members labels; 2. Couple of old instance class members labels are changed accordingly; --- .../src/messages/ApplicationBundle.properties | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/platform/platform-resources-en/src/messages/ApplicationBundle.properties b/platform/platform-resources-en/src/messages/ApplicationBundle.properties index 83298e126d55..8dde553eafd9 100644 --- a/platform/platform-resources-en/src/messages/ApplicationBundle.properties +++ b/platform/platform-resources-en/src/messages/ApplicationBundle.properties @@ -57,10 +57,13 @@ editbox.keep.blanklines.in.declarations=In declarations: editbox.keep.blanklines.in.code=In code: editbox.keep.blanklines.before.rbrace=Before '}': title.preview=Preview -listbox.members.order.fields=Fields -listbox.members.order.methods=Methods +listbox.members.order.fields=Instance fields +listbox.members.order.static.fields=Static fields +listbox.members.order.methods=Instance methods +listbox.members.order.static.methods=Static methods listbox.members.order.constructors=Constructors listbox.members.order.inner.classes=Inner classes +listbox.members.order.inner.static.classes=Static inner classes title.naming.final.modifier=Final modifier checkbox.make.generated.parameters.final=Make generated parameters final checkbox.make.generated.local.variables.final=Make generated local variables final From 8b5da664cff90f7491944ff238f43e5e7aa0f8a6 Mon Sep 17 00:00:00 2001 From: Denis Zhdanov Date: Fri, 7 May 2010 17:07:12 +0400 Subject: [PATCH 150/173] IDEA-54765 Code Style -> Order of Members should have extra items for statics 1. Refactored class members ordering settings processing; 2. Added static members options to class members ordering section; --- .../CodeStyleGenerationConfigurable.java | 159 ++++++++++++------ 1 file changed, 112 insertions(+), 47 deletions(-) diff --git a/java/java-impl/src/com/intellij/application/options/CodeStyleGenerationConfigurable.java b/java/java-impl/src/com/intellij/application/options/CodeStyleGenerationConfigurable.java index 33c1309bb02c..081345f1510e 100644 --- a/java/java-impl/src/com/intellij/application/options/CodeStyleGenerationConfigurable.java +++ b/java/java-impl/src/com/intellij/application/options/CodeStyleGenerationConfigurable.java @@ -27,8 +27,7 @@ import com.intellij.ui.ListUtil; import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; -import java.util.Arrays; -import java.util.Comparator; +import java.util.*; public class CodeStyleGenerationConfigurable implements Configurable { JPanel myPanel; @@ -306,33 +305,116 @@ public class CodeStyleGenerationConfigurable implements Configurable { } private static class MembersOrderList extends JList { - private static final String FIELDS = ApplicationBundle.message("listbox.members.order.fields"); - private static final String METHODS = ApplicationBundle.message("listbox.members.order.methods"); - private static final String CONSTRUCTORS = ApplicationBundle.message("listbox.members.order.constructors"); - private static final String INNER_CLASSES = ApplicationBundle.message("listbox.members.order.inner.classes"); + + private static abstract class PropertyManager { + + public final String myName; + + protected PropertyManager(String nameKey) { + myName = ApplicationBundle.message(nameKey); + } + + abstract void apply(CodeStyleSettings settings, int value); + abstract int getValue(CodeStyleSettings settings); + } + + private static final Map PROPERTIES = new HashMap(); + static { + init(); + } private final DefaultListModel myModel; public MembersOrderList() { myModel = new DefaultListModel(); setModel(myModel); - setVisibleRowCount(4); + setVisibleRowCount(PROPERTIES.size()); } public void reset(final CodeStyleSettings settings) { myModel.removeAllElements(); - String[] strings = getStrings(settings); - for (String string : strings) { + for (String string : getPropertyNames(settings)) { myModel.addElement(string); } setSelectedIndex(0); } - private static String[] getStrings(final CodeStyleSettings settings) { - String[] strings = new String[]{FIELDS, METHODS, CONSTRUCTORS, INNER_CLASSES}; + private static void init() { + PropertyManager staticFieldManager = new PropertyManager("listbox.members.order.static.fields") { + @Override void apply(CodeStyleSettings settings, int value) { + settings.STATIC_FIELDS_ORDER_WEIGHT = value; + } + @Override int getValue(CodeStyleSettings settings) { + return settings.STATIC_FIELDS_ORDER_WEIGHT; + } + }; + PROPERTIES.put(staticFieldManager.myName, staticFieldManager); - Arrays.sort(strings, new Comparator() { + PropertyManager instanceFieldManager = new PropertyManager("listbox.members.order.fields") { + @Override void apply(CodeStyleSettings settings, int value) { + settings.FIELDS_ORDER_WEIGHT = value; + } + @Override int getValue(CodeStyleSettings settings) { + return settings.FIELDS_ORDER_WEIGHT; + } + }; + PROPERTIES.put(instanceFieldManager.myName, instanceFieldManager); + + PropertyManager constructorManager = new PropertyManager("listbox.members.order.constructors") { + @Override void apply(CodeStyleSettings settings, int value) { + settings.CONSTRUCTORS_ORDER_WEIGHT = value; + } + @Override int getValue(CodeStyleSettings settings) { + return settings.CONSTRUCTORS_ORDER_WEIGHT; + } + }; + PROPERTIES.put(constructorManager.myName, constructorManager); + + PropertyManager staticMethodManager = new PropertyManager("listbox.members.order.static.methods") { + @Override void apply(CodeStyleSettings settings, int value) { + settings.STATIC_METHODS_ORDER_WEIGHT = value; + } + @Override int getValue(CodeStyleSettings settings) { + return settings.STATIC_METHODS_ORDER_WEIGHT; + } + }; + PROPERTIES.put(staticMethodManager.myName, staticMethodManager); + + PropertyManager instanceMethodManager = new PropertyManager("listbox.members.order.methods") { + @Override void apply(CodeStyleSettings settings, int value) { + settings.METHODS_ORDER_WEIGHT = value; + } + @Override int getValue(CodeStyleSettings settings) { + return settings.METHODS_ORDER_WEIGHT; + } + }; + PROPERTIES.put(instanceMethodManager.myName, instanceMethodManager); + + PropertyManager staticInnerClassManager = new PropertyManager("listbox.members.order.inner.static.classes") { + @Override void apply(CodeStyleSettings settings, int value) { + settings.STATIC_INNER_CLASSES_ORDER_WEIGHT = value; + } + @Override int getValue(CodeStyleSettings settings) { + return settings.STATIC_INNER_CLASSES_ORDER_WEIGHT; + } + }; + PROPERTIES.put(staticInnerClassManager.myName, staticInnerClassManager); + + PropertyManager innerClassManager = new PropertyManager("listbox.members.order.inner.classes") { + @Override void apply(CodeStyleSettings settings, int value) { + settings.INNER_CLASSES_ORDER_WEIGHT = value; + } + @Override int getValue(CodeStyleSettings settings) { + return settings.INNER_CLASSES_ORDER_WEIGHT; + } + }; + PROPERTIES.put(innerClassManager.myName, innerClassManager); + } + + private static Iterable getPropertyNames(final CodeStyleSettings settings) { + List result = new ArrayList(PROPERTIES.keySet()); + Collections.sort(result, new Comparator() { public int compare(String o1, String o2) { int weight1 = getWeight(o1); int weight2 = getWeight(o2); @@ -340,57 +422,40 @@ public class CodeStyleGenerationConfigurable implements Configurable { } private int getWeight(String o) { - if (FIELDS.equals(o)) { - return settings.FIELDS_ORDER_WEIGHT; - } - else if (METHODS.equals(o)) { - return settings.METHODS_ORDER_WEIGHT; - } - else if (CONSTRUCTORS.equals(o)) { - return settings.CONSTRUCTORS_ORDER_WEIGHT; - } - else if (INNER_CLASSES.equals(o)) { - return settings.INNER_CLASSES_ORDER_WEIGHT; - } - else { + PropertyManager propertyManager = PROPERTIES.get(o); + if (propertyManager == null) { throw new IllegalArgumentException("unexpected " + o); } + return propertyManager.getValue(settings); } }); - return strings; + return result; } public void apply(CodeStyleSettings settings) { for (int i = 0; i < myModel.size(); i++) { Object o = myModel.getElementAt(i); - int weight = i + 1; - - if (FIELDS.equals(o)) { - settings.FIELDS_ORDER_WEIGHT = weight; - } - else if (METHODS.equals(o)) { - settings.METHODS_ORDER_WEIGHT = weight; - } - else if (CONSTRUCTORS.equals(o)) { - settings.CONSTRUCTORS_ORDER_WEIGHT = weight; - } - else if (INNER_CLASSES.equals(o)) { - settings.INNER_CLASSES_ORDER_WEIGHT = weight; - } - else { + if (o == null) { throw new IllegalArgumentException("unexpected " + o); } + PropertyManager propertyManager = PROPERTIES.get(o.toString()); + if (propertyManager == null) { + throw new IllegalArgumentException("unexpected " + o); + } + propertyManager.apply(settings, i + 1); } } public boolean isModified(CodeStyleSettings settings) { - String[] oldStrings = getStrings(settings); - String[] newStrings = new String[myModel.size()]; - for (int i = 0; i < newStrings.length; i++) { - newStrings[i] = (String)myModel.getElementAt(i); + Iterable oldProperties = getPropertyNames(settings); + int i = 0; + for (String property : oldProperties) { + if (i >= myModel.size() || !property.equals(myModel.getElementAt(i))) { + return true; + } + i++; } - - return !Arrays.equals(newStrings, oldStrings); + return false; } } } From 8552ab52c1e94ab15e6cee0513df308a3a062149 Mon Sep 17 00:00:00 2001 From: Denis Zhdanov Date: Fri, 7 May 2010 18:49:59 +0400 Subject: [PATCH 151/173] IDEA-54671 Alignment of Call Arguments does not work. Corrected Groovy blocks construction in order to avoid single closure parameter aligning --- .../formatter/GroovyBlockGenerator.java | 29 ++++++++++++++++--- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/formatter/GroovyBlockGenerator.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/formatter/GroovyBlockGenerator.java index 12a23d5dc015..5aee613507e2 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/formatter/GroovyBlockGenerator.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/formatter/GroovyBlockGenerator.java @@ -121,7 +121,7 @@ public class GroovyBlockGenerator implements GroovyElementTypes { final ArrayList subBlocks = new ArrayList(); ASTNode[] children = node.getChildren(null); ASTNode prevChildNode = null; - final Alignment alignment = mustAlign(blockPsi, mySettings) ? Alignment.createAlignment() : null; + final Alignment alignment = mustAlign(blockPsi, mySettings, children) ? Alignment.createAlignment() : null; for (ASTNode childNode : children) { if (canBeCorrectBlock(childNode)) { final Indent indent = GroovyIndentProcessor.getChildIndent(block, prevChildNode, childNode); @@ -146,12 +146,33 @@ public class GroovyBlockGenerator implements GroovyElementTypes { return subBlocks; } - private static boolean mustAlign(PsiElement blockPsi, CodeStyleSettings mySettings) { + private static boolean mustAlign(PsiElement blockPsi, CodeStyleSettings mySettings, ASTNode[] children) { + // We don't want to align single call argument if it's a closure. The reason is that it looks better to have call like + // + // foo({ + // println 'xxx' + // }) + // + // than + // + // foo({ + // println 'xxx' + // }) + if (blockPsi instanceof GrArgumentList && mySettings.ALIGN_MULTILINE_PARAMETERS_IN_CALLS) { + List nonWhiteSpaceNodes = new ArrayList(); + for (ASTNode child : children) { + if (!WHITE_SPACES_OR_COMMENTS.contains(child.getElementType())) { + nonWhiteSpaceNodes.add(child); + } + } + return nonWhiteSpaceNodes.size() != 3 || nonWhiteSpaceNodes.get(0).getElementType() != mLPAREN + || nonWhiteSpaceNodes.get(1).getElementType() != CLOSABLE_BLOCK || nonWhiteSpaceNodes.get(2).getElementType() != mRPAREN; + } + return blockPsi instanceof GrParameterList && mySettings.ALIGN_MULTILINE_PARAMETERS || blockPsi instanceof GrExtendsClause && mySettings.ALIGN_MULTILINE_EXTENDS_LIST || blockPsi instanceof GrThrowsClause && mySettings.ALIGN_MULTILINE_THROWS_LIST || - blockPsi instanceof GrConditionalExpression && mySettings.ALIGN_MULTILINE_TERNARY_OPERATION || - blockPsi instanceof GrArgumentList && mySettings.ALIGN_MULTILINE_PARAMETERS_IN_CALLS; + blockPsi instanceof GrConditionalExpression && mySettings.ALIGN_MULTILINE_TERNARY_OPERATION; } private static boolean isListLikeClause(PsiElement blockPsi) { From a82236e2ede460a8f617065271beef5863651ecb Mon Sep 17 00:00:00 2001 From: peter Date: Fri, 7 May 2010 13:55:57 +0100 Subject: [PATCH 152/173] rethrow OutOfMemoryError --- .../jetbrains/plugins/groovy/dsl/GroovyDslFileIndex.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/dsl/GroovyDslFileIndex.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/dsl/GroovyDslFileIndex.java index cc4d1491e3a2..791908cfa842 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/dsl/GroovyDslFileIndex.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/dsl/GroovyDslFileIndex.java @@ -288,11 +288,17 @@ public class GroovyDslFileIndex extends ScalarIndexExtension { if (cause instanceof ProcessCanceledException) { throw (ProcessCanceledException)cause; } + if (cause instanceof OutOfMemoryError) { + throw (OutOfMemoryError)cause; + } handleDslError(e, project, dslFile); } catch (ProcessCanceledException e) { throw e; } + catch (OutOfMemoryError e) { + throw e; + } catch (Throwable e) { // To handle exceptions in definition script handleDslError(e, project, dslFile); } From 306f5fd6df031eb5fed17bc9f23067f8d7ea20d3 Mon Sep 17 00:00:00 2001 From: Dennis Ushakov Date: Fri, 7 May 2010 15:48:17 +0400 Subject: [PATCH 153/173] fix File.toURL deprecated api to get correct url for resources from classloader --- .../src/com/intellij/ide/ClassloaderUtil.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/platform/bootstrap/src/com/intellij/ide/ClassloaderUtil.java b/platform/bootstrap/src/com/intellij/ide/ClassloaderUtil.java index 08fb0ab8e9ca..ca799298e995 100644 --- a/platform/bootstrap/src/com/intellij/ide/ClassloaderUtil.java +++ b/platform/bootstrap/src/com/intellij/ide/ClassloaderUtil.java @@ -181,7 +181,7 @@ public class ClassloaderUtil { final StringTokenizer tokenizer = new StringTokenizer(classpath, File.separator, false); while (tokenizer.hasMoreTokens()) { final String token = tokenizer.nextToken(); - aClasspathElements.add(new File(token).toURL()); + aClasspathElements.add(new File(token).toURI().toURL()); } } else { @@ -217,7 +217,7 @@ public class ClassloaderUtil { final Class aClass = ClassloaderUtil.class; final String selfRoot = PathManager.getResourceRoot(aClass, "/" + aClass.getName().replace('.', '/') + ".class"); - final URL selfRootUrl = new File(selfRoot).getAbsoluteFile().toURL(); + final URL selfRootUrl = new File(selfRoot).getAbsoluteFile().toURI().toURL(); classPath.add(selfRootUrl); final File libFolder = new File(aFolderPath + File.separator + "lib"); @@ -238,7 +238,7 @@ public class ClassloaderUtil { if (!isJarOrZip(file)) { continue; } - final URL url = file.toURL(); + final URL url = file.toURI().toURL(); if (selfRootUrl.equals(url)) { continue; } @@ -262,7 +262,7 @@ public class ClassloaderUtil { final StringTokenizer tokenizer = new StringTokenizer(System.getProperty("idea.additional.classpath", ""), File.pathSeparator, false); while (tokenizer.hasMoreTokens()) { String pathItem = tokenizer.nextToken(); - classPath.add(new File(pathItem).toURL()); + classPath.add(new File(pathItem).toURI().toURL()); } } catch (MalformedURLException e) { @@ -274,4 +274,4 @@ public class ClassloaderUtil { public static boolean isLoadingOfExternalPluginsDisabled() { return !"true".equalsIgnoreCase(System.getProperty("idea.plugins.load", "true")); } -} \ No newline at end of file +} From ee2d70a6d6dfab94d1d5e44370728b1577a7714b Mon Sep 17 00:00:00 2001 From: "Maxim.Mossienko" Date: Sat, 8 May 2010 16:27:01 +0400 Subject: [PATCH 154/173] IDEA-54780 flex: "Copy Reference" action should work for references, not only definitions --- .../testFramework/EditorTestUtil.java | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/platform/testFramework/src/com/intellij/testFramework/EditorTestUtil.java b/platform/testFramework/src/com/intellij/testFramework/EditorTestUtil.java index 64d6170f3ec8..6b3460961ece 100644 --- a/platform/testFramework/src/com/intellij/testFramework/EditorTestUtil.java +++ b/platform/testFramework/src/com/intellij/testFramework/EditorTestUtil.java @@ -16,11 +16,12 @@ package com.intellij.testFramework; import com.intellij.ide.DataManager; -import com.intellij.openapi.actionSystem.IdeActions; +import com.intellij.openapi.actionSystem.*; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.editor.actionSystem.EditorActionHandler; import com.intellij.openapi.editor.actionSystem.EditorActionManager; import com.intellij.openapi.editor.actionSystem.TypedAction; +import junit.framework.Assert; /** * User: Maxim.Mossienko @@ -49,4 +50,21 @@ public class EditorTestUtil { action.actionPerformed(editor, c, DataManager.getInstance().getDataContext()); } } + + public static void performReferenceCopy(DataContext dataContext) { + ActionManager actionManager = ActionManager.getInstance(); + AnAction action = actionManager.getAction(IdeActions.ACTION_COPY_REFERENCE); + AnActionEvent + event = new AnActionEvent(null, dataContext, "", action.getTemplatePresentation(), + ActionManager.getInstance(), 0); + action.update(event); + Assert.assertTrue(event.getPresentation().isEnabled()); + action.actionPerformed(event); + } + + public static void performPaste(Editor editor) { + EditorActionManager actionManager = EditorActionManager.getInstance(); + EditorActionHandler actionHandler = actionManager.getActionHandler(IdeActions.ACTION_EDITOR_PASTE); + actionHandler.execute(editor, DataManager.getInstance().getDataContext()); + } } From d80b0241948f4f48c554bf4252f3e9454e342f09 Mon Sep 17 00:00:00 2001 From: Bas Leijdekkers Date: Mon, 10 May 2010 22:14:49 +0200 Subject: [PATCH 155/173] IDEA-52848 (EnumMap intention false positive when LHS type doesn't match) --- .../MapReplaceableByEnumMapInspection.java | 21 ++++++++++--------- .../SetReplaceableByEnumSetInspection.java | 12 +++++++---- 2 files changed, 19 insertions(+), 14 deletions(-) diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/performance/MapReplaceableByEnumMapInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/performance/MapReplaceableByEnumMapInspection.java index e5fc54c4183c..99a1fbf2f1ee 100644 --- a/plugins/InspectionGadgets/src/com/siyeh/ig/performance/MapReplaceableByEnumMapInspection.java +++ b/plugins/InspectionGadgets/src/com/siyeh/ig/performance/MapReplaceableByEnumMapInspection.java @@ -1,5 +1,5 @@ /* - * Copyright 2003-2007 Dave Griffith, Bas Leijdekkers + * Copyright 2003-2010 Dave Griffith, Bas Leijdekkers * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -27,18 +27,21 @@ import org.jetbrains.annotations.NotNull; public class MapReplaceableByEnumMapInspection extends BaseInspection { + @Override @NotNull public String getDisplayName() { return InspectionGadgetsBundle.message( "map.replaceable.by.enum.map.display.name"); } + @Override @NotNull protected String buildErrorString(Object... infos) { return InspectionGadgetsBundle.message( "map.replaceable.by.enum.map.problem.descriptor"); } + @Override public BaseInspectionVisitor buildVisitor() { return new SetReplaceableByEnumSetVisitor(); } @@ -46,7 +49,8 @@ public class MapReplaceableByEnumMapInspection extends BaseInspection { private static class SetReplaceableByEnumSetVisitor extends BaseInspectionVisitor { - @Override public void visitNewExpression(@NotNull PsiNewExpression expression) { + @Override public void visitNewExpression( + @NotNull PsiNewExpression expression) { super.visitNewExpression(expression); final PsiType type = expression.getType(); if (!(type instanceof PsiClassType)) { @@ -65,19 +69,16 @@ public class MapReplaceableByEnumMapInspection extends BaseInspection { return; } if (!TypeUtils.expressionHasTypeOrSubtype(expression, - "java.util.Map")) { + "java.util.Map")) { return; } - if (TypeUtils.expressionHasTypeOrSubtype(expression, - "java.util.EnumMap")) { - return; + if (null != TypeUtils.expressionHasTypeOrSubtype(expression, + "java.util.EnumMap", "java.util.concurrent.ConcurrentMap")) { + return; } final PsiClassType argumentClassType = (PsiClassType)argumentType; final PsiClass argumentClass = argumentClassType.resolve(); - if (argumentClass == null) { - return; - } - if (!argumentClass.isEnum()) { + if (argumentClass == null || !argumentClass.isEnum()) { return; } registerNewExpressionError(expression); diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/performance/SetReplaceableByEnumSetInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/performance/SetReplaceableByEnumSetInspection.java index cbf4cd68668c..1ad5ad6152d5 100644 --- a/plugins/InspectionGadgets/src/com/siyeh/ig/performance/SetReplaceableByEnumSetInspection.java +++ b/plugins/InspectionGadgets/src/com/siyeh/ig/performance/SetReplaceableByEnumSetInspection.java @@ -1,5 +1,5 @@ /* - * Copyright 2003-2007 Dave Griffith, Bas Leijdekkers + * Copyright 2003-2010 Dave Griffith, Bas Leijdekkers * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -27,18 +27,21 @@ import org.jetbrains.annotations.NotNull; public class SetReplaceableByEnumSetInspection extends BaseInspection { + @Override @NotNull public String getDisplayName() { return InspectionGadgetsBundle.message( "set.replaceable.by.enum.set.display.name"); } + @Override @NotNull protected String buildErrorString(Object... infos) { return InspectionGadgetsBundle.message( "set.replaceable.by.enum.set.problem.descriptor"); } + @Override public BaseInspectionVisitor buildVisitor() { return new SetReplaceableByEnumSetVisitor(); } @@ -46,7 +49,8 @@ public class SetReplaceableByEnumSetInspection extends BaseInspection { private static class SetReplaceableByEnumSetVisitor extends BaseInspectionVisitor { - @Override public void visitNewExpression(@NotNull PsiNewExpression expression) { + @Override public void visitNewExpression( + @NotNull PsiNewExpression expression) { super.visitNewExpression(expression); final PsiType type = expression.getType(); if (!(type instanceof PsiClassType)) { @@ -65,11 +69,11 @@ public class SetReplaceableByEnumSetInspection extends BaseInspection { return; } if (!TypeUtils.expressionHasTypeOrSubtype(expression, - "java.util.Set")) { + "java.util.Set")) { return; } if (TypeUtils.expressionHasTypeOrSubtype(expression, - "java.util.EnumSet")) { + "java.util.EnumSet")) { return; } final PsiClassType argumentClassType = (PsiClassType)argumentType; From cd797a36c8f0d37936c57d3a6e51d33d2716b4d4 Mon Sep 17 00:00:00 2001 From: Bas Leijdekkers Date: Mon, 10 May 2010 23:01:51 +0200 Subject: [PATCH 156/173] improve documentation --- .../src/inspectionDescriptions/DoubleCheckedLocking.html | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/plugins/InspectionGadgets/src/inspectionDescriptions/DoubleCheckedLocking.html b/plugins/InspectionGadgets/src/inspectionDescriptions/DoubleCheckedLocking.html index bc221bf6a858..24e5b8c23c52 100644 --- a/plugins/InspectionGadgets/src/inspectionDescriptions/DoubleCheckedLocking.html +++ b/plugins/InspectionGadgets/src/inspectionDescriptions/DoubleCheckedLocking.html @@ -7,8 +7,7 @@ discussion of double-checked locking and why it is unsafe, see ">http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html

      Use the checkbox below to ignore double-checked locking on volatile fields. Using -a volatile field for double-checked locking works correctly on Java 5 virtual machines, -but probably does not have any performance advantages over plain full synchronization -of the accessor method. +a volatile field for double-checked locking works correctly on virtual machines which +implement the new Java Memory Model. Powered by InspectionGadgets \ No newline at end of file From 1a555881b0e9f664681355f375ee682422f4d7ab Mon Sep 17 00:00:00 2001 From: Bas Leijdekkers Date: Mon, 10 May 2010 23:03:57 +0200 Subject: [PATCH 157/173] IDEA-54079 (Provide option for AccessingNonPublicFieldOfAnotherObject to ignore some usages) --- .../siyeh/InspectionGadgetsBundle.properties | 2 + ...fAnotherObjectsPrivateFieldInspection.java | 47 +++++++++++++++++-- .../UseOfAnotherObjectsPrivateField.html | 5 ++ 3 files changed, 51 insertions(+), 3 deletions(-) diff --git a/plugins/InspectionGadgets/src/com/siyeh/InspectionGadgetsBundle.properties b/plugins/InspectionGadgets/src/com/siyeh/InspectionGadgetsBundle.properties index 365ebd4069f6..f9cd0be71344 100644 --- a/plugins/InspectionGadgets/src/com/siyeh/InspectionGadgetsBundle.properties +++ b/plugins/InspectionGadgets/src/com/siyeh/InspectionGadgetsBundle.properties @@ -1769,3 +1769,5 @@ ignore.methods.with.boolean.return.type.option=Ignore methods with &Boolean retu ignore.boolean.methods.in.an.interface.option=Ignore boolean methods in an @&interface ignored.io.resource.types=Ignored I/O resource types choose.io.resource.type.to.ignore=Choose I/O resource type to ignore +ignore.accesses.from.the.same.class=ignore accesses from the same class +ignore.accesses.from.equals.method=ignore accesses from 'equals()' method diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/encapsulation/UseOfAnotherObjectsPrivateFieldInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/encapsulation/UseOfAnotherObjectsPrivateFieldInspection.java index 6b5d6892507d..8e7af21cfa6c 100644 --- a/plugins/InspectionGadgets/src/com/siyeh/ig/encapsulation/UseOfAnotherObjectsPrivateFieldInspection.java +++ b/plugins/InspectionGadgets/src/com/siyeh/ig/encapsulation/UseOfAnotherObjectsPrivateFieldInspection.java @@ -1,5 +1,5 @@ /* - * Copyright 2003-2007 Dave Griffith, Bas Leijdekkers + * Copyright 2003-2010 Dave Griffith, Bas Leijdekkers * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,37 +16,63 @@ package com.siyeh.ig.encapsulation; import com.intellij.psi.*; +import com.intellij.psi.util.PsiTreeUtil; import com.siyeh.InspectionGadgetsBundle; import com.siyeh.ig.BaseInspection; import com.siyeh.ig.BaseInspectionVisitor; +import com.siyeh.ig.psiutils.MethodUtils; +import com.siyeh.ig.ui.MultipleCheckboxOptionsPanel; import org.jetbrains.annotations.NotNull; +import javax.swing.*; + public class UseOfAnotherObjectsPrivateFieldInspection extends BaseInspection { + @SuppressWarnings({"PublicField"}) + public boolean ignoreSameClass = false; + @SuppressWarnings({"PublicField"}) + public boolean ignoreEquals = false; + + @Override @NotNull public String getID(){ return "AccessingNonPublicFieldOfAnotherObject"; } + @Override @NotNull public String getDisplayName(){ return InspectionGadgetsBundle.message( "accessing.non.public.field.of.another.object.display.name"); } + @Override @NotNull public String buildErrorString(Object... infos){ return InspectionGadgetsBundle.message( "accessing.non.public.field.of.another.object.problem.descriptor"); } + @Override + public JComponent createOptionsPanel() { + final MultipleCheckboxOptionsPanel panel = + new MultipleCheckboxOptionsPanel(this); + panel.addCheckbox(InspectionGadgetsBundle.message( + "ignore.accesses.from.the.same.class"), "ignoreSameClass"); + panel.addCheckbox(InspectionGadgetsBundle.message( + "ignore.accesses.from.equals.method"), "ignoreEquals"); + return panel; + } + + @Override public BaseInspectionVisitor buildVisitor(){ return new UseOfAnotherObjectsPrivateFieldVisitor(); } - private static class UseOfAnotherObjectsPrivateFieldVisitor + private class UseOfAnotherObjectsPrivateFieldVisitor extends BaseInspectionVisitor{ + @Override public void visitReferenceExpression( @NotNull PsiReferenceExpression expression){ super.visitReferenceExpression(expression); @@ -54,11 +80,26 @@ public class UseOfAnotherObjectsPrivateFieldInspection if(qualifier == null || qualifier instanceof PsiThisExpression){ return; } + if(ignoreEquals) { + final PsiMethod method = + PsiTreeUtil.getParentOfType(expression, PsiMethod.class); + if (MethodUtils.isEquals(method)) { + return; + } + } final PsiElement referent = expression.resolve(); if(!(referent instanceof PsiField)){ return; } final PsiField field = (PsiField) referent; + if (ignoreSameClass) { + final PsiClass parent = + PsiTreeUtil.getParentOfType(expression, PsiClass.class); + final PsiClass containingClass = field.getContainingClass(); + if (parent != null && parent.equals(containingClass)) { + return; + } + } if(!field.hasModifierProperty(PsiModifier.PRIVATE) && !field.hasModifierProperty(PsiModifier.PROTECTED)){ return; @@ -68,7 +109,7 @@ public class UseOfAnotherObjectsPrivateFieldInspection } final PsiElement fieldNameElement = expression.getReferenceNameElement(); - if (fieldNameElement == null) { + if(fieldNameElement == null){ return; } registerError(fieldNameElement); diff --git a/plugins/InspectionGadgets/src/inspectionDescriptions/UseOfAnotherObjectsPrivateField.html b/plugins/InspectionGadgets/src/inspectionDescriptions/UseOfAnotherObjectsPrivateField.html index 8e451ab6f44d..6b77662bb194 100644 --- a/plugins/InspectionGadgets/src/inspectionDescriptions/UseOfAnotherObjectsPrivateField.html +++ b/plugins/InspectionGadgets/src/inspectionDescriptions/UseOfAnotherObjectsPrivateField.html @@ -7,5 +7,10 @@ some coding styles discourage this use. Additionally, such direct access to pri may fail in component-oriented architectures such (e.g. Spring, Hibernate) which expect all access to other objects to be through method calls so as to allow the framework to mediate all access using proxies. +

      +Use the first checkbox below to ignore accesses from the same class and only report accesses +from inner or outer classes.
      +Use the second checkbox below to ignore accesses from an equals() method. +

      Powered by InspectionGadgets \ No newline at end of file From d49291919b88a3cd23c7ea53da015d9b91f86e21 Mon Sep 17 00:00:00 2001 From: "Eugene.Kudelevsky" Date: Tue, 11 May 2010 03:34:55 +0400 Subject: [PATCH 158/173] refactoring, extract zen-coding filter EP --- .../template/CustomTemplateCallback.java | 5 +- .../src/META-INF/XmlPlugin.xml | 2 + .../zencoding/XmlZenCodingInterpreter.java | 111 +++++------------ .../zencoding/XmlZenCodingTemplate.java | 17 ++- .../template/zencoding/ZenCodingFilter.java | 39 ++++++ .../zencoding/ZenCodingFilterImpl.java | 114 ++++++++++++++++++ .../template/zencoding/ZenCodingUtil.java | 29 +++++ 7 files changed, 234 insertions(+), 83 deletions(-) create mode 100644 xml/impl/src/com/intellij/codeInsight/template/zencoding/ZenCodingFilter.java create mode 100644 xml/impl/src/com/intellij/codeInsight/template/zencoding/ZenCodingFilterImpl.java create mode 100644 xml/impl/src/com/intellij/codeInsight/template/zencoding/ZenCodingUtil.java diff --git a/platform/lang-impl/src/com/intellij/codeInsight/template/CustomTemplateCallback.java b/platform/lang-impl/src/com/intellij/codeInsight/template/CustomTemplateCallback.java index 90a937834fde..3a73d9285f9a 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/template/CustomTemplateCallback.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/template/CustomTemplateCallback.java @@ -61,7 +61,7 @@ public class CustomTemplateCallback { fixInitialState(); } - @Nullable + @NotNull public PsiElement getContext() { return getContext(myFile, myStartOffset > 0 ? myStartOffset - 1 : myStartOffset); } @@ -231,7 +231,8 @@ public class CustomTemplateCallback { myEditor.getDocument().deleteString(caretAt - key.length(), caretAt); } - public static PsiElement getContext(PsiFile file, int offset) { + @NotNull + public static PsiElement getContext(@NotNull PsiFile file, int offset) { PsiElement element = null; if (!InjectedLanguageManager.getInstance(file.getProject()).isInjectedFragment(file)) { element = InjectedLanguageUtil.findInjectedElementNoCommit(file, offset); diff --git a/platform/platform-resources/src/META-INF/XmlPlugin.xml b/platform/platform-resources/src/META-INF/XmlPlugin.xml index 3d7f6bf339da..b93e4875390f 100644 --- a/platform/platform-resources/src/META-INF/XmlPlugin.xml +++ b/platform/platform-resources/src/META-INF/XmlPlugin.xml @@ -37,6 +37,8 @@ + + diff --git a/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingInterpreter.java b/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingInterpreter.java index 45822cbe0f6f..670018f5b511 100644 --- a/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingInterpreter.java +++ b/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingInterpreter.java @@ -17,22 +17,18 @@ package com.intellij.codeInsight.template.zencoding; import com.intellij.codeInsight.template.CustomTemplateCallback; import com.intellij.codeInsight.template.impl.TemplateImpl; -import com.intellij.lang.ASTNode; -import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.diagnostic.Logger; -import com.intellij.openapi.editor.Document; -import com.intellij.openapi.fileEditor.FileDocumentManager; import com.intellij.openapi.fileTypes.StdFileTypes; -import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Pair; -import com.intellij.openapi.vfs.VirtualFile; -import com.intellij.psi.*; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiFile; import com.intellij.psi.util.PsiTreeUtil; -import com.intellij.psi.xml.*; +import com.intellij.psi.xml.XmlTag; +import com.intellij.psi.xml.XmlToken; +import com.intellij.psi.xml.XmlTokenType; import com.intellij.util.containers.HashMap; import com.intellij.util.containers.HashSet; import com.intellij.util.containers.IntArrayList; -import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.util.*; @@ -43,7 +39,6 @@ import java.util.*; class XmlZenCodingInterpreter { private static final Logger LOG = Logger.getInstance("#com.intellij.codeInsight.template.zencoding.XmlZenCodingInterpreter"); private static final String ATTRS = "ATTRS"; - private static final String NUMBER_IN_ITERATION_PLACE_HOLDER = "$"; private final List myTokens; @@ -269,8 +264,11 @@ class XmlZenCodingInterpreter { } @Nullable - private static Map buildPredefinedValues(List> attribute2value, int numberInIteration) { - String attributes = buildAttributesString(attribute2value, numberInIteration); + private static Map buildPredefinedValues(List> attribute2value, + int numberInIteration, + CustomTemplateCallback callback) { + String attributes = buildAttributesString(attribute2value, numberInIteration, callback); + assert attributes != null; attributes = attributes.length() > 0 ? ' ' + attributes : null; Map predefinedValues = null; if (attributes != null) { @@ -280,28 +278,19 @@ class XmlZenCodingInterpreter { return predefinedValues; } - @NotNull - private static String buildAttributesString(List> attribute2value, int numberInIteration) { - StringBuilder result = new StringBuilder(); - for (Iterator> it = attribute2value.iterator(); it.hasNext();) { - Pair pair = it.next(); - String name = pair.first; - String value = getValue(pair, numberInIteration); - result.append(getAttributeString(name, value)); - if (it.hasNext()) { - result.append(' '); + @Nullable + private static String buildAttributesString(List> attribute2value, + int numberInIteration, + CustomTemplateCallback callback) { + PsiElement context = callback.getContext(); + for (ZenCodingFilter filter : ZenCodingFilter.EP_NAME.getExtensions()) { + if (filter.isMyContext(context)) { + return filter.buildAttributesString(attribute2value, numberInIteration); } } - return result.toString(); + return new ZenCodingFilterImpl().buildAttributesString(attribute2value, numberInIteration); } - private static String getAttributeString(String name, String value) { - return name + "=\"" + value + '"'; - } - - private static String getValue(Pair pair, int numberInIteration) { - return pair.second.replace(NUMBER_IN_ITERATION_PLACE_HOLDER, Integer.toString(numberInIteration + 1)); - } private static void invokeTemplate(TemplateToken token, final CustomTemplateCallback callback, @@ -315,13 +304,15 @@ class XmlZenCodingInterpreter { for (Iterator> iterator = attr2value.iterator(); iterator.hasNext();) { Pair pair = iterator.next(); if (tag.getAttribute(pair.first) != null) { - tag.setAttribute(pair.first, getValue(pair, numberInIteration)); + tag.setAttribute(pair.first, ZenCodingUtil.getValue(pair, numberInIteration)); iterator.remove(); } } - modifiedTemplate.setString(filter(tag, callback)); + String s = filter(tag, callback); + assert s != null; + modifiedTemplate.setString(s); removeVariablesWhichHasNoSegment(modifiedTemplate); - Map predefinedValues = buildPredefinedValues(attr2value, numberInIteration); + Map predefinedValues = buildPredefinedValues(attr2value, numberInIteration, callback); callback.expandTemplate(modifiedTemplate, predefinedValues); return; } @@ -330,60 +321,20 @@ class XmlZenCodingInterpreter { } else { // for CSS - Map predefinedValues = buildPredefinedValues(attr2value, numberInIteration); + Map predefinedValues = buildPredefinedValues(attr2value, numberInIteration, callback); callback.expandTemplate(token.getKey(), predefinedValues); } } + @Nullable private static String filter(XmlTag tag, CustomTemplateCallback callback) { - if (XmlZenCodingTemplate.isTrueXml(callback)) { - closeUnclosingTags(tag); - } - return tag.getContainingFile().getText(); - } - - private static boolean isTagClosed(@NotNull XmlTag tag) { - ASTNode node = tag.getNode(); - assert node != null; - final ASTNode emptyTagEnd = XmlChildRole.EMPTY_TAG_END_FINDER.findChild(node); - final ASTNode endTagEnd = XmlChildRole.CLOSING_TAG_START_FINDER.findChild(node); - return emptyTagEnd != null || endTagEnd != null; - } - - @SuppressWarnings({"ConstantConditions"}) - private static void closeUnclosingTags(@NotNull XmlTag root) { - final List> tagToClose = new ArrayList>(); - Project project = root.getProject(); - final SmartPointerManager pointerManager = SmartPointerManager.getInstance(project); - root.accept(new XmlRecursiveElementVisitor() { - @Override - public void visitXmlTag(final XmlTag tag) { - if (!isTagClosed(tag)) { - tagToClose.add(pointerManager.createLazyPointer(tag)); - } - } - }); - PsiDocumentManager documentManager = PsiDocumentManager.getInstance(project); - for (final SmartPsiElementPointer pointer : tagToClose) { - final XmlTag tag = pointer.getElement(); - if (tag != null) { - final ASTNode child = XmlChildRole.START_TAG_END_FINDER.findChild(tag.getNode()); - if (child != null) { - final int offset = child.getTextRange().getStartOffset(); - VirtualFile file = tag.getContainingFile().getVirtualFile(); - if (file != null) { - final Document document = FileDocumentManager.getInstance().getDocument(file); - documentManager.doPostponedOperationsAndUnblockDocument(document); - ApplicationManager.getApplication().runWriteAction(new Runnable() { - public void run() { - document.replaceString(offset, tag.getTextRange().getEndOffset(), "/>"); - } - }); - } - } + PsiElement context = callback.getContext(); + for (ZenCodingFilter filter : ZenCodingFilter.EP_NAME.getExtensions()) { + if (filter.isMyContext(context)) { + return filter.toString(tag, context); } } - documentManager.commitAllDocuments(); + return new ZenCodingFilterImpl().toString(tag, context); } private static void fail() { diff --git a/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingTemplate.java b/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingTemplate.java index 9d4613080d16..76747d8664c4 100644 --- a/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingTemplate.java +++ b/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingTemplate.java @@ -160,7 +160,10 @@ public class XmlZenCodingTemplate extends ZenCodingTemplate { } public static boolean isTrueXml(CustomTemplateCallback callback) { - FileType type = callback.getFileType(); + return isTrueXml(callback.getFileType()); + } + + public static boolean isTrueXml(FileType type) { return type == StdFileTypes.XHTML || type == StdFileTypes.JSPX || type == StdFileTypes.XML; } @@ -265,11 +268,23 @@ public class XmlZenCodingTemplate extends ZenCodingTemplate { if (PsiTreeUtil.getParentOfType(element, XmlComment.class) != null) { return false; } + if (!findApplicableFilter(element)) { + return false; + } return true; } return false; } + private static boolean findApplicableFilter(@NotNull PsiElement context) { + for (ZenCodingFilter filter : ZenCodingFilter.EP_NAME.getExtensions()) { + if (filter.isMyContext(context)) { + return true; + } + } + return new ZenCodingFilterImpl().isMyContext(context); + } + public static boolean startZenCoding(Editor editor, PsiFile file, String abbreviation) { int caretAt = editor.getCaretModel().getOffset(); XmlZenCodingTemplate template = CustomLiveTemplate.EP_NAME.findExtension(XmlZenCodingTemplate.class); diff --git a/xml/impl/src/com/intellij/codeInsight/template/zencoding/ZenCodingFilter.java b/xml/impl/src/com/intellij/codeInsight/template/zencoding/ZenCodingFilter.java new file mode 100644 index 000000000000..e6af19654fd4 --- /dev/null +++ b/xml/impl/src/com/intellij/codeInsight/template/zencoding/ZenCodingFilter.java @@ -0,0 +1,39 @@ +/* + * Copyright 2000-2010 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.intellij.codeInsight.template.zencoding; + +import com.intellij.openapi.extensions.ExtensionPointName; +import com.intellij.openapi.util.Pair; +import com.intellij.psi.PsiElement; +import com.intellij.psi.xml.XmlTag; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +/** + * @author Eugene.Kudelevsky + */ +public interface ZenCodingFilter { + ExtensionPointName EP_NAME = new ExtensionPointName("com.intellij.xml.zenCodingFilter"); + + @NotNull + String toString(@NotNull XmlTag tag, @NotNull PsiElement context); + + @NotNull + String buildAttributesString(@NotNull List> attribute2value, int numberInIteration); + + boolean isMyContext(@NotNull PsiElement context); +} diff --git a/xml/impl/src/com/intellij/codeInsight/template/zencoding/ZenCodingFilterImpl.java b/xml/impl/src/com/intellij/codeInsight/template/zencoding/ZenCodingFilterImpl.java new file mode 100644 index 000000000000..6fa11d738bff --- /dev/null +++ b/xml/impl/src/com/intellij/codeInsight/template/zencoding/ZenCodingFilterImpl.java @@ -0,0 +1,114 @@ +/* + * Copyright 2000-2010 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.intellij.codeInsight.template.zencoding; + +import com.intellij.lang.ASTNode; +import com.intellij.openapi.application.ApplicationManager; +import com.intellij.openapi.editor.Document; +import com.intellij.openapi.fileEditor.FileDocumentManager; +import com.intellij.openapi.fileTypes.FileType; +import com.intellij.openapi.project.Project; +import com.intellij.openapi.util.Pair; +import com.intellij.openapi.vfs.VirtualFile; +import com.intellij.psi.*; +import com.intellij.psi.xml.XmlChildRole; +import com.intellij.psi.xml.XmlTag; +import org.jetbrains.annotations.NotNull; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +/** + * @author Eugene.Kudelevsky + */ +public class ZenCodingFilterImpl implements ZenCodingFilter { + @NotNull + public String toString(@NotNull XmlTag tag, @NotNull PsiElement context) { + FileType fileType = context.getContainingFile().getFileType(); + if (XmlZenCodingTemplate.isTrueXml(fileType)) { + closeUnclosingTags(tag); + } + return tag.getContainingFile().getText(); + } + + @NotNull + public String buildAttributesString(@NotNull List> attribute2value, int numberInIteration) { + StringBuilder result = new StringBuilder(); + for (Iterator> it = attribute2value.iterator(); it.hasNext();) { + Pair pair = it.next(); + String name = pair.first; + String value = ZenCodingUtil.getValue(pair, numberInIteration); + result.append(getAttributeString(name, value)); + if (it.hasNext()) { + result.append(' '); + } + } + return result.toString(); + } + + public boolean isMyContext(@NotNull PsiElement context) { + return true; + } + + private static String getAttributeString(String name, String value) { + return name + "=\"" + value + '"'; + } + + @SuppressWarnings({"ConstantConditions"}) + private static void closeUnclosingTags(@NotNull XmlTag root) { + final List> tagToClose = new ArrayList>(); + Project project = root.getProject(); + final SmartPointerManager pointerManager = SmartPointerManager.getInstance(project); + root.accept(new XmlRecursiveElementVisitor() { + @Override + public void visitXmlTag(final XmlTag tag) { + if (!isTagClosed(tag)) { + tagToClose.add(pointerManager.createLazyPointer(tag)); + } + } + }); + PsiDocumentManager documentManager = PsiDocumentManager.getInstance(project); + for (final SmartPsiElementPointer pointer : tagToClose) { + final XmlTag tag = pointer.getElement(); + if (tag != null) { + final ASTNode child = XmlChildRole.START_TAG_END_FINDER.findChild(tag.getNode()); + if (child != null) { + final int offset = child.getTextRange().getStartOffset(); + VirtualFile file = tag.getContainingFile().getVirtualFile(); + if (file != null) { + final Document document = FileDocumentManager.getInstance().getDocument(file); + documentManager.doPostponedOperationsAndUnblockDocument(document); + ApplicationManager.getApplication().runWriteAction(new Runnable() { + public void run() { + document.replaceString(offset, tag.getTextRange().getEndOffset(), "/>"); + } + }); + } + } + } + } + documentManager.commitAllDocuments(); + } + + private static boolean isTagClosed(@NotNull XmlTag tag) { + ASTNode node = tag.getNode(); + assert node != null; + final ASTNode emptyTagEnd = XmlChildRole.EMPTY_TAG_END_FINDER.findChild(node); + final ASTNode endTagEnd = XmlChildRole.CLOSING_TAG_START_FINDER.findChild(node); + return emptyTagEnd != null || endTagEnd != null; + } +} diff --git a/xml/impl/src/com/intellij/codeInsight/template/zencoding/ZenCodingUtil.java b/xml/impl/src/com/intellij/codeInsight/template/zencoding/ZenCodingUtil.java new file mode 100644 index 000000000000..c29d17638811 --- /dev/null +++ b/xml/impl/src/com/intellij/codeInsight/template/zencoding/ZenCodingUtil.java @@ -0,0 +1,29 @@ +/* + * Copyright 2000-2010 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.intellij.codeInsight.template.zencoding; + +import com.intellij.openapi.util.Pair; + +/** + * @author Eugene.Kudelevsky + */ +public class ZenCodingUtil { + static final String NUMBER_IN_ITERATION_PLACE_HOLDER = "$"; + + public static String getValue(Pair pair, int numberInIteration) { + return pair.second.replace(NUMBER_IN_ITERATION_PLACE_HOLDER, Integer.toString(numberInIteration + 1)); + } +} From 7482f3fc39ed0f743b8d70a7b79222d91341a2c9 Mon Sep 17 00:00:00 2001 From: "Eugene.Kudelevsky" Date: Tue, 11 May 2010 05:22:21 +0400 Subject: [PATCH 159/173] refactoring: extract XmlTemplateToken class --- .../template/zencoding/TemplateToken.java | 21 +-------- .../template/zencoding/XmlTemplateToken.java | 46 +++++++++++++++++++ .../zencoding/XmlZenCodingInterpreter.java | 10 ++-- .../zencoding/XmlZenCodingTemplate.java | 6 +-- 4 files changed, 55 insertions(+), 28 deletions(-) create mode 100644 xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlTemplateToken.java diff --git a/xml/impl/src/com/intellij/codeInsight/template/zencoding/TemplateToken.java b/xml/impl/src/com/intellij/codeInsight/template/zencoding/TemplateToken.java index 2092f955801c..1a0f490fbe64 100644 --- a/xml/impl/src/com/intellij/codeInsight/template/zencoding/TemplateToken.java +++ b/xml/impl/src/com/intellij/codeInsight/template/zencoding/TemplateToken.java @@ -16,33 +16,22 @@ package com.intellij.codeInsight.template.zencoding; import com.intellij.codeInsight.template.impl.TemplateImpl; -import com.intellij.openapi.util.Pair; -import com.intellij.psi.xml.XmlTag; - -import java.util.List; /** * @author Eugene.Kudelevsky */ public class TemplateToken extends Token { private final String myKey; - private final List> myAttribute2Value; private TemplateImpl myTemplate; - private XmlTag myTag; - public TemplateToken(String key, List> attribute2value) { + public TemplateToken(String key) { myKey = key; - myAttribute2Value = attribute2value; } public String getKey() { return myKey; } - public List> getAttribute2Value() { - return myAttribute2Value; - } - public void setTemplate(TemplateImpl template) { myTemplate = template; } @@ -50,12 +39,4 @@ public class TemplateToken extends Token { public TemplateImpl getTemplate() { return myTemplate; } - - public XmlTag getTag() { - return myTag; - } - - public void setTag(XmlTag tag) { - myTag = tag; - } } diff --git a/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlTemplateToken.java b/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlTemplateToken.java new file mode 100644 index 000000000000..ad0bfe583d28 --- /dev/null +++ b/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlTemplateToken.java @@ -0,0 +1,46 @@ +/* + * Copyright 2000-2010 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.intellij.codeInsight.template.zencoding; + +import com.intellij.openapi.util.Pair; +import com.intellij.psi.xml.XmlTag; + +import java.util.List; + +/** + * @author Eugene.Kudelevsky + */ +public class XmlTemplateToken extends TemplateToken { + private final List> myAttribute2Value; + private XmlTag myTag; + + public XmlTemplateToken(String key, List> attribute2value) { + super(key); + myAttribute2Value = attribute2value; + } + + public List> getAttribute2Value() { + return myAttribute2Value; + } + + public XmlTag getTag() { + return myTag; + } + + public void setTag(XmlTag tag) { + myTag = tag; + } +} diff --git a/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingInterpreter.java b/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingInterpreter.java index 670018f5b511..1788fb8c5f28 100644 --- a/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingInterpreter.java +++ b/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingInterpreter.java @@ -295,11 +295,12 @@ class XmlZenCodingInterpreter { private static void invokeTemplate(TemplateToken token, final CustomTemplateCallback callback, int numberInIteration) { - List> attr2value = new ArrayList>(token.getAttribute2Value()); - if (token.getTemplate() != null) { + if (token instanceof XmlTemplateToken && token.getTemplate() != null) { + XmlTemplateToken xmlTemplateToken = (XmlTemplateToken)token; + List> attr2value = new ArrayList>(xmlTemplateToken.getAttribute2Value()); if (attr2value.size() > 0 || XmlZenCodingTemplate.isTrueXml(callback)) { TemplateImpl modifiedTemplate = token.getTemplate().copy(); - XmlTag tag = token.getTag(); + XmlTag tag = xmlTemplateToken.getTag(); if (tag != null) { for (Iterator> iterator = attr2value.iterator(); iterator.hasNext();) { Pair pair = iterator.next(); @@ -321,8 +322,7 @@ class XmlZenCodingInterpreter { } else { // for CSS - Map predefinedValues = buildPredefinedValues(attr2value, numberInIteration, callback); - callback.expandTemplate(token.getKey(), predefinedValues); + callback.expandTemplate(token.getKey(), null); } } diff --git a/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingTemplate.java b/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingTemplate.java index 76747d8664c4..078f266c6010 100644 --- a/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingTemplate.java +++ b/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingTemplate.java @@ -71,7 +71,7 @@ public class XmlZenCodingTemplate extends ZenCodingTemplate { } @Nullable - private static TemplateToken parseSelectors(@NotNull String text) { + private static XmlTemplateToken parseSelectors(@NotNull String text) { String templateKey = null; List> attributes = new ArrayList>(); Set definedAttrs = new HashSet(); @@ -143,7 +143,7 @@ public class XmlZenCodingTemplate extends ZenCodingTemplate { assert classAttrPosition >= 0; attributes.add(classAttrPosition, new Pair(CLASS, classesAttrValue.toString())); } - return new TemplateToken(templateKey, attributes); + return new XmlTemplateToken(templateKey, attributes); } private static boolean isXML11ValidQName(String str) { @@ -191,7 +191,7 @@ public class XmlZenCodingTemplate extends ZenCodingTemplate { if (template == null && !isXML11ValidQName(prefix)) { return null; } - TemplateToken token = parseSelectors(key); + XmlTemplateToken token = parseSelectors(key); if (token == null) { return null; } From a318dff29594f54266137d547ce562bbcc2892c4 Mon Sep 17 00:00:00 2001 From: "Eugene.Kudelevsky" Date: Tue, 11 May 2010 06:03:14 +0400 Subject: [PATCH 160/173] support for filter suffixes --- .../template/zencoding/FilterToken.java | 31 ++++++++++++ .../zencoding/XmlZenCodingFilter.java | 43 ++++++++++++++++ ...rImpl.java => XmlZenCodingFilterImpl.java} | 10 +++- .../zencoding/XmlZenCodingInterpreter.java | 50 ++++++++++++------- .../zencoding/XmlZenCodingTemplate.java | 2 +- .../template/zencoding/ZenCodingFilter.java | 9 +++- .../template/zencoding/ZenCodingTemplate.java | 12 +++++ 7 files changed, 135 insertions(+), 22 deletions(-) create mode 100644 xml/impl/src/com/intellij/codeInsight/template/zencoding/FilterToken.java create mode 100644 xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingFilter.java rename xml/impl/src/com/intellij/codeInsight/template/zencoding/{ZenCodingFilterImpl.java => XmlZenCodingFilterImpl.java} (96%) diff --git a/xml/impl/src/com/intellij/codeInsight/template/zencoding/FilterToken.java b/xml/impl/src/com/intellij/codeInsight/template/zencoding/FilterToken.java new file mode 100644 index 000000000000..4a79f392a302 --- /dev/null +++ b/xml/impl/src/com/intellij/codeInsight/template/zencoding/FilterToken.java @@ -0,0 +1,31 @@ +/* + * Copyright 2000-2010 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.intellij.codeInsight.template.zencoding; + +/** + * @author Eugene.Kudelevsky + */ +public class FilterToken extends Token { + private final String mySuffix; + + public FilterToken(String suffix) { + mySuffix = suffix; + } + + public String getSuffix() { + return mySuffix; + } +} diff --git a/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingFilter.java b/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingFilter.java new file mode 100644 index 000000000000..6a54754ad259 --- /dev/null +++ b/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingFilter.java @@ -0,0 +1,43 @@ +/* + * Copyright 2000-2010 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.intellij.codeInsight.template.zencoding; + +import com.intellij.openapi.util.Pair; +import com.intellij.psi.PsiElement; +import com.intellij.psi.xml.XmlTag; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +/** + * @author Eugene.Kudelevsky + */ +public abstract class XmlZenCodingFilter implements ZenCodingFilter { + @NotNull + public String toString(@NotNull TemplateToken token, @NotNull PsiElement context) { + if (!(token instanceof XmlTemplateToken)) { + throw new IllegalArgumentException(); + } + return toString(((XmlTemplateToken)token).getTag(), context); + } + + protected abstract String toString(@NotNull XmlTag tag, @NotNull PsiElement context); + + @NotNull + public abstract String buildAttributesString(@NotNull List> attribute2value, int numberInIteration); + + public abstract boolean isMyContext(@NotNull PsiElement context); +} diff --git a/xml/impl/src/com/intellij/codeInsight/template/zencoding/ZenCodingFilterImpl.java b/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingFilterImpl.java similarity index 96% rename from xml/impl/src/com/intellij/codeInsight/template/zencoding/ZenCodingFilterImpl.java rename to xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingFilterImpl.java index 6fa11d738bff..7c39e883deab 100644 --- a/xml/impl/src/com/intellij/codeInsight/template/zencoding/ZenCodingFilterImpl.java +++ b/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingFilterImpl.java @@ -35,7 +35,7 @@ import java.util.List; /** * @author Eugene.Kudelevsky */ -public class ZenCodingFilterImpl implements ZenCodingFilter { +public class XmlZenCodingFilterImpl extends XmlZenCodingFilter { @NotNull public String toString(@NotNull XmlTag tag, @NotNull PsiElement context) { FileType fileType = context.getContainingFile().getFileType(); @@ -64,6 +64,14 @@ public class ZenCodingFilterImpl implements ZenCodingFilter { return true; } + public String getSuffix() { + return null; + } + + public boolean isDefaultFilter() { + return true; + } + private static String getAttributeString(String name, String value) { return name + "=\"" + value + '"'; } diff --git a/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingInterpreter.java b/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingInterpreter.java index 1788fb8c5f28..3600106a09cf 100644 --- a/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingInterpreter.java +++ b/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingInterpreter.java @@ -104,6 +104,15 @@ class XmlZenCodingInterpreter { } private void invoke(int startIndex) { + String filter = null; + + if (myTokens.size() > 0) { + Token lastToken = myTokens.get(myTokens.size() - 1); + if (lastToken instanceof FilterToken) { + filter = ((FilterToken)lastToken).getSuffix(); + } + } + final int n = myTokens.size(); TemplateToken templateToken = null; int number = -1; @@ -117,7 +126,7 @@ class XmlZenCodingInterpreter { if (sign == '+' || (mySurroundedText == null && sign == ZenCodingTemplate.MARKER)) { final Object key = new Object(); myCallback.fixStartOfTemplate(key); - invokeTemplate(templateToken, myCallback, 0); + invokeTemplate(templateToken, myCallback, 0, filter); myState = State.WORD; if (myCallback.getOffset() != myCallback.getEndOfTemplate(key)) { myCallback.fixEndOffset(); @@ -128,7 +137,7 @@ class XmlZenCodingInterpreter { templateToken = null; } else if (sign == '>' || (mySurroundedText != null && sign == ZenCodingTemplate.MARKER)) { - startTemplateAndGotoChild(templateToken); + startTemplateAndGotoChild(templateToken, filter); templateToken = null; } else if (sign == '*') { @@ -162,16 +171,16 @@ class XmlZenCodingInterpreter { if (token instanceof MarkerToken || token instanceof OperationToken) { char sign = token instanceof OperationToken ? ((OperationToken)token).getSign() : ZenCodingTemplate.MARKER; if (sign == '+' || (mySurroundedText == null && sign == ZenCodingTemplate.MARKER)) { - invokeTemplateSeveralTimes(templateToken, 0, number); + invokeTemplateSeveralTimes(templateToken, 0, number, filter); templateToken = null; } else if (number > 1) { - invokeTemplateAndProcessTail(templateToken, 0, number, i + 1); + invokeTemplateAndProcessTail(templateToken, 0, number, i + 1, filter); return; } else { assert number == 1; - startTemplateAndGotoChild(templateToken); + startTemplateAndGotoChild(templateToken, filter); templateToken = null; } myState = State.WORD; @@ -188,21 +197,22 @@ class XmlZenCodingInterpreter { finish(); } - private void startTemplateAndGotoChild(TemplateToken templateToken) { + private void startTemplateAndGotoChild(TemplateToken templateToken, String filter) { final Object key = new Object(); myCallback.fixStartOfTemplate(key); - invokeTemplate(templateToken, myCallback, 0); + invokeTemplate(templateToken, myCallback, 0, filter); myState = State.WORD; gotoChild(key); } private void invokeTemplateSeveralTimes(final TemplateToken templateToken, final int startIndex, - final int count) { + final int count, + String filter) { final Object key = new Object(); myCallback.fixStartOfTemplate(key); for (int i = startIndex; i < count; i++) { - invokeTemplate(templateToken, myCallback, i); + invokeTemplate(templateToken, myCallback, i, filter); myState = State.WORD; if (myCallback.getOffset() != myCallback.getEndOfTemplate(key)) { myCallback.fixEndOffset(); @@ -219,13 +229,14 @@ class XmlZenCodingInterpreter { private void invokeTemplateAndProcessTail(final TemplateToken templateToken, final int startIndex, final int count, - final int tailStart) { + final int tailStart, + String filter) { final Object key = new Object(); myCallback.fixStartOfTemplate(key); for (int i = startIndex; i < count; i++) { Object iterKey = new Object(); myCallback.fixStartOfTemplate(iterKey); - invokeTemplate(templateToken, myCallback, i); + invokeTemplate(templateToken, myCallback, i, filter); gotoChild(iterKey); interpret(myTokens, tailStart, myCallback, State.WORD, mySurroundedText); if (myCallback.getOffset() != myCallback.getEndOfTemplate(key)) { @@ -288,13 +299,14 @@ class XmlZenCodingInterpreter { return filter.buildAttributesString(attribute2value, numberInIteration); } } - return new ZenCodingFilterImpl().buildAttributesString(attribute2value, numberInIteration); + return new XmlZenCodingFilterImpl().buildAttributesString(attribute2value, numberInIteration); } private static void invokeTemplate(TemplateToken token, final CustomTemplateCallback callback, - int numberInIteration) { + int numberInIteration, + String filter) { if (token instanceof XmlTemplateToken && token.getTemplate() != null) { XmlTemplateToken xmlTemplateToken = (XmlTemplateToken)token; List> attr2value = new ArrayList>(xmlTemplateToken.getAttribute2Value()); @@ -309,7 +321,7 @@ class XmlZenCodingInterpreter { iterator.remove(); } } - String s = filter(tag, callback); + String s = filterXml(tag, callback, filter); assert s != null; modifiedTemplate.setString(s); removeVariablesWhichHasNoSegment(modifiedTemplate); @@ -327,14 +339,16 @@ class XmlZenCodingInterpreter { } @Nullable - private static String filter(XmlTag tag, CustomTemplateCallback callback) { + private static String filterXml(XmlTag tag, CustomTemplateCallback callback, String filterSuffix) { PsiElement context = callback.getContext(); for (ZenCodingFilter filter : ZenCodingFilter.EP_NAME.getExtensions()) { - if (filter.isMyContext(context)) { - return filter.toString(tag, context); + if ((filterSuffix == null && filter.isDefaultFilter()) || (filterSuffix != null && filterSuffix.equals(filter.getSuffix()))) { + if (filter instanceof XmlZenCodingFilter && filter.isDefaultFilter() && filter.isMyContext(context)) { + return ((XmlZenCodingFilter)filter).toString(tag, context); + } } } - return new ZenCodingFilterImpl().toString(tag, context); + return new XmlZenCodingFilterImpl().toString(tag, context); } private static void fail() { diff --git a/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingTemplate.java b/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingTemplate.java index 078f266c6010..080397ba94f5 100644 --- a/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingTemplate.java +++ b/xml/impl/src/com/intellij/codeInsight/template/zencoding/XmlZenCodingTemplate.java @@ -282,7 +282,7 @@ public class XmlZenCodingTemplate extends ZenCodingTemplate { return true; } } - return new ZenCodingFilterImpl().isMyContext(context); + return new XmlZenCodingFilterImpl().isMyContext(context); } public static boolean startZenCoding(Editor editor, PsiFile file, String abbreviation) { diff --git a/xml/impl/src/com/intellij/codeInsight/template/zencoding/ZenCodingFilter.java b/xml/impl/src/com/intellij/codeInsight/template/zencoding/ZenCodingFilter.java index e6af19654fd4..1a92cc307b7b 100644 --- a/xml/impl/src/com/intellij/codeInsight/template/zencoding/ZenCodingFilter.java +++ b/xml/impl/src/com/intellij/codeInsight/template/zencoding/ZenCodingFilter.java @@ -18,8 +18,8 @@ package com.intellij.codeInsight.template.zencoding; import com.intellij.openapi.extensions.ExtensionPointName; import com.intellij.openapi.util.Pair; import com.intellij.psi.PsiElement; -import com.intellij.psi.xml.XmlTag; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import java.util.List; @@ -30,10 +30,15 @@ public interface ZenCodingFilter { ExtensionPointName EP_NAME = new ExtensionPointName("com.intellij.xml.zenCodingFilter"); @NotNull - String toString(@NotNull XmlTag tag, @NotNull PsiElement context); + String toString(@NotNull TemplateToken token, @NotNull PsiElement context); @NotNull String buildAttributesString(@NotNull List> attribute2value, int numberInIteration); boolean isMyContext(@NotNull PsiElement context); + + @Nullable + String getSuffix(); + + boolean isDefaultFilter(); } diff --git a/xml/impl/src/com/intellij/codeInsight/template/zencoding/ZenCodingTemplate.java b/xml/impl/src/com/intellij/codeInsight/template/zencoding/ZenCodingTemplate.java index cb9a70bc117c..392b0c3d2500 100644 --- a/xml/impl/src/com/intellij/codeInsight/template/zencoding/ZenCodingTemplate.java +++ b/xml/impl/src/com/intellij/codeInsight/template/zencoding/ZenCodingTemplate.java @@ -55,6 +55,14 @@ public abstract class ZenCodingTemplate implements CustomLiveTemplate { @Nullable private List parse(@NotNull String text, @NotNull CustomTemplateCallback callback) { + String filter = null; + + int filterDelim = text.indexOf('|'); + if (filterDelim >= 0 && filterDelim < text.length() - 1) { + filter = text.substring(filterDelim + 1); + text = text.substring(0, filterDelim); + } + text += MARKER; StringBuilder templateKeyBuilder = new StringBuilder(); List result = new ArrayList(); @@ -81,6 +89,10 @@ public abstract class ZenCodingTemplate implements CustomLiveTemplate { return null; } } + + if (filter != null) { + result.add(new FilterToken(filter)); + } return result; } From a289a2be18d95b3dae84b54d2ebf410165169881 Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Mon, 12 Apr 2010 16:30:07 +0400 Subject: [PATCH 161/173] jobscheduler should not pause during event dispatch --- .../daemon/impl/GeneralHighlightingPass.java | 22 ++- .../daemon/impl/LocalInspectionsPass.java | 8 +- .../daemon/impl/PassExecutorService.java | 15 +- .../BraceHighlightingHandler.java | 8 +- .../src/com/intellij/ui/DeferredIconImpl.java | 9 +- .../src/com/intellij/concurrency/JobImpl.java | 171 ++++++++++-------- .../concurrency/JobSchedulerImpl.java | 118 +++++------- .../src/com/intellij/concurrency/JobUtil.java | 71 ++++++-- .../concurrency/PrioritizedFutureTask.java | 147 +++++++-------- .../src/com/intellij/ide/IdeEventQueue.java | 27 ++- .../application/impl/ApplicationImpl.java | 5 +- .../testFramework/PlatformTestUtil.java | 20 +- .../DuplicatePropertyInspection.java | 4 +- .../properties/UnusedPropertyInspection.java | 5 +- 14 files changed, 325 insertions(+), 305 deletions(-) rename platform/{lang-impl => platform-impl}/src/com/intellij/concurrency/JobUtil.java (57%) diff --git a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/GeneralHighlightingPass.java b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/GeneralHighlightingPass.java index 9c272a2bca65..cfc4c797cbbb 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/GeneralHighlightingPass.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/GeneralHighlightingPass.java @@ -160,11 +160,11 @@ public class GeneralHighlightingPass extends ProgressableTextEditorHighlightingP } if (elements != null) { result.addAll(collectHighlights(elements, progress, filtered)); - addInjectedPsiHighlights(elements, progress); + if (!addInjectedPsiHighlights(elements, progress)) throw new ProcessCanceledException(); } if (!isDumbMode()) { - result.addAll(highlightTodos(myFile, myDocument.getCharsSequence(), myStartOffset, myEndOffset)); + result.addAll(highlightTodos(myFile, myDocument.getCharsSequence(), myStartOffset, myEndOffset, progress)); } if (myUpdateAll) { @@ -177,7 +177,8 @@ public class GeneralHighlightingPass extends ProgressableTextEditorHighlightingP myHighlights = result; } - private void addInjectedPsiHighlights(@NotNull final List elements, final ProgressIndicator progress) { + // returns false if canceled + private boolean addInjectedPsiHighlights(@NotNull final List elements, final ProgressIndicator progress) { List injected = InjectedLanguageUtil.getCachedInjectedDocuments(myFile); Collection hosts = new THashSet(elements.size() + injected.size()); @@ -216,10 +217,10 @@ public class GeneralHighlightingPass extends ProgressableTextEditorHighlightingP } }, false); } - if (injectedFiles.isEmpty()) return; + if (injectedFiles.isEmpty()) return true; final InjectedLanguageManager injectedLanguageManager = InjectedLanguageManager.getInstance(myProject); - JobUtil.invokeConcurrentlyUnderMyProgress(injectedFiles, new Processor() { + return JobUtil.invokeConcurrentlyUnderMyProgress(new ArrayList(injectedFiles), new Processor() { public boolean process(final PsiFile injectedPsi) { DocumentWindow documentWindow = (DocumentWindow)PsiDocumentManager.getInstance(myProject).getCachedDocument(injectedPsi); HighlightInfoHolder holder = createInfoHolder(injectedPsi); @@ -248,7 +249,7 @@ public class GeneralHighlightingPass extends ProgressableTextEditorHighlightingP } if (!isDumbMode()) { - Collection todos = highlightTodos(injectedPsi, injectedPsi.getText(), 0, injectedPsi.getTextLength()); + Collection todos = highlightTodos(injectedPsi, injectedPsi.getText(), 0, injectedPsi.getTextLength(), progress); for (HighlightInfo info : todos) { addPatchedInfos(info, injectedPsi, documentWindow, injectedLanguageManager, null); } @@ -326,7 +327,7 @@ public class GeneralHighlightingPass extends ProgressableTextEditorHighlightingP return textRange; } - private void runHighlightVisitosForInjected(final PsiFile injectedPsi, final HighlightInfoHolder holder, final ProgressIndicator progress) { + private void runHighlightVisitosForInjected(@NotNull PsiFile injectedPsi, @NotNull final HighlightInfoHolder holder, @NotNull final ProgressIndicator progress) { HighlightVisitor[] visitors = createHighlightVisitors(); try { HighlightVisitor[] filtered = filterVisitors(visitors, injectedPsi); @@ -541,7 +542,11 @@ public class GeneralHighlightingPass extends ProgressableTextEditorHighlightingP return new HighlightInfoHolder(file, filters); } - private static Collection highlightTodos(PsiFile file, CharSequence text, int startOffset, int endOffset) { + private static Collection highlightTodos(@NotNull PsiFile file, + @NotNull CharSequence text, + int startOffset, + int endOffset, + @NotNull ProgressIndicator progress) { PsiManager psiManager = file.getManager(); PsiSearchHelper helper = psiManager.getSearchHelper(); TodoItem[] todoItems = helper.findTodoItems(file, startOffset, endOffset); @@ -549,6 +554,7 @@ public class GeneralHighlightingPass extends ProgressableTextEditorHighlightingP List list = new ArrayList(todoItems.length); for (TodoItem todoItem : todoItems) { + progress.checkCanceled(); TextRange range = todoItem.getTextRange(); String description = text.subSequence(range.getStartOffset(), range.getEndOffset()).toString(); TextAttributes attributes = todoItem.getPattern().getAttributes().getTextAttributes(); diff --git a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/LocalInspectionsPass.java b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/LocalInspectionsPass.java index 001b2b27383b..ea4001491827 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/LocalInspectionsPass.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/LocalInspectionsPass.java @@ -39,6 +39,7 @@ import com.intellij.openapi.editor.colors.TextAttributesKey; import com.intellij.openapi.keymap.Keymap; import com.intellij.openapi.keymap.KeymapManager; import com.intellij.openapi.keymap.KeymapUtil; +import com.intellij.openapi.progress.ProcessCanceledException; import com.intellij.openapi.progress.ProgressIndicator; import com.intellij.openapi.progress.ProgressManager; import com.intellij.openapi.progress.util.ProgressWrapper; @@ -192,7 +193,7 @@ public class LocalInspectionsPass extends ProgressableTextEditorHighlightingPass final ProgressIndicator indicator = ProgressManager.getInstance().getProgressIndicator(); LOG.assertTrue(indicator != null); - JobUtil.invokeConcurrentlyUnderMyProgress(tools, new Processor() { + boolean result = JobUtil.invokeConcurrentlyUnderMyProgress(tools, new Processor() { public boolean process(final LocalInspectionTool tool) { final ProgressManager progressManager = ProgressManager.getInstance(); indicator.checkCanceled(); @@ -223,6 +224,7 @@ public class LocalInspectionsPass extends ProgressableTextEditorHighlightingPass return true; } }, "Inspection tools"); + if (!result) throw new ProcessCanceledException(); indicator.checkCanceled(); inspectInjectedPsi(elements, tools); @@ -242,12 +244,12 @@ public class LocalInspectionsPass extends ProgressableTextEditorHighlightingPass } }, false); } - JobUtil.invokeConcurrentlyUnderMyProgress(injected, new Processor() { + if (!JobUtil.invokeConcurrentlyUnderMyProgress(new ArrayList(injected), new Processor() { public boolean process(final PsiFile injectedPsi) { inspectInjectedPsi(injectedPsi, myInjectedPsiInspectionResults, tools); return true; } - }, "Inspect injected fragments"); + }, "Inspect injected fragments")) throw new ProcessCanceledException(); } public Collection getHighlights() { diff --git a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/PassExecutorService.java b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/PassExecutorService.java index 22938eab8868..3544c091d703 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/PassExecutorService.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/PassExecutorService.java @@ -21,7 +21,7 @@ import com.intellij.codeHighlighting.Pass; import com.intellij.codeHighlighting.TextEditorHighlightingPass; import com.intellij.concurrency.Job; import com.intellij.concurrency.JobImpl; -import com.intellij.concurrency.JobScheduler; +import com.intellij.concurrency.JobUtil; import com.intellij.openapi.Disposable; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.application.ModalityState; @@ -39,7 +39,6 @@ import com.intellij.openapi.project.DumbAware; import com.intellij.openapi.project.DumbAwareRunnable; import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.Project; -import com.intellij.openapi.util.Disposer; import com.intellij.openapi.util.Pair; import com.intellij.openapi.util.text.StringUtil; import com.intellij.util.ConcurrencyUtil; @@ -66,7 +65,6 @@ public abstract class PassExecutorService implements Disposable { public PassExecutorService(Project project) { myProject = project; - Disposer.register(project, this); } public void dispose() { @@ -81,7 +79,8 @@ public abstract class PassExecutorService implements Disposable { if (waitForTermination) { for (Job job : mySubmittedPasses.values()) { try { - if (!job.isDone()) ((JobImpl)job).waitForTermination(); + JobImpl ji = (JobImpl)job; + if (!job.isDone()) ji.waitForTermination(ji.getTasks()); } catch (Throwable throwable) { LOG.error(throwable); @@ -263,9 +262,7 @@ public abstract class PassExecutorService implements Disposable { private void submit(ScheduledPass pass) { if (!pass.myUpdateProgress.isCanceled()) { - Job job = JobScheduler.getInstance().createJob(pass.myPass.toString(), pass.myJobPriority); - job.addTask(pass); - job.schedule(); + Job job = JobUtil.submitToJobThread(pass, pass.myJobPriority); mySubmittedPasses.put(pass, job); } } @@ -440,7 +437,9 @@ public abstract class PassExecutorService implements Disposable { public List getAllSubmittedPasses() { ArrayList result = new ArrayList(mySubmittedPasses.size()); for (ScheduledPass scheduledPass : mySubmittedPasses.keySet()) { - result.add(scheduledPass.myPass); + if (!scheduledPass.myUpdateProgress.isCanceled()) { + result.add(scheduledPass.myPass); + } } return result; } diff --git a/platform/lang-impl/src/com/intellij/codeInsight/highlighting/BraceHighlightingHandler.java b/platform/lang-impl/src/com/intellij/codeInsight/highlighting/BraceHighlightingHandler.java index b53d9137d539..307946e4e48a 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/highlighting/BraceHighlightingHandler.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/highlighting/BraceHighlightingHandler.java @@ -27,7 +27,7 @@ package com.intellij.codeInsight.highlighting; import com.intellij.codeInsight.CodeInsightSettings; import com.intellij.codeInsight.hint.EditorFragmentComponent; import com.intellij.concurrency.Job; -import com.intellij.concurrency.JobScheduler; +import com.intellij.concurrency.JobUtil; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.application.ModalityState; import com.intellij.openapi.editor.Document; @@ -93,8 +93,7 @@ public class BraceHighlightingHandler { final Project project = editor.getProject(); if (project == null) return; final int offset = editor.getCaretModel().getOffset(); - Job job = JobScheduler.getInstance().createJob("Brace highlighter", Job.DEFAULT_PRIORITY); - job.addTask(new Runnable() { + JobUtil.submitToJobThread(new Runnable() { public void run() { if (isReallyDisposed(editor, project)) return; final PsiFile injected = ApplicationManager.getApplication().runReadAction(new Computable() { @@ -114,8 +113,7 @@ public class BraceHighlightingHandler { } }, ModalityState.stateForComponent(editor.getComponent())); } - }); - job.schedule(); + }, Job.DEFAULT_PRIORITY); } private static boolean isReallyDisposed(Editor editor, Project project) { diff --git a/platform/lang-impl/src/com/intellij/ui/DeferredIconImpl.java b/platform/lang-impl/src/com/intellij/ui/DeferredIconImpl.java index 53fa5b1932d6..7dbc4a248c92 100644 --- a/platform/lang-impl/src/com/intellij/ui/DeferredIconImpl.java +++ b/platform/lang-impl/src/com/intellij/ui/DeferredIconImpl.java @@ -20,7 +20,7 @@ package com.intellij.ui; import com.intellij.concurrency.Job; -import com.intellij.concurrency.JobScheduler; +import com.intellij.concurrency.JobUtil; import com.intellij.openapi.progress.ProcessCanceledException; import com.intellij.openapi.project.IndexNotReadyException; import com.intellij.util.Alarm; @@ -90,8 +90,7 @@ public class DeferredIconImpl implements DeferredIcon { myLastTarget = new WeakReference(target); - final Job job = JobScheduler.getInstance().createJob("Evaluating deferred icon", Job.DEFAULT_PRIORITY); - job.addTask(new Runnable() { + JobUtil.submitToJobThread(new Runnable() { public void run() { int oldWidth = myDelegateIcon.getIconWidth(); myDelegateIcon = evaluate(); @@ -121,9 +120,7 @@ public class DeferredIconImpl implements DeferredIcon { } }); } - }); - - job.schedule(); + }, Job.DEFAULT_PRIORITY); } } diff --git a/platform/platform-impl/src/com/intellij/concurrency/JobImpl.java b/platform/platform-impl/src/com/intellij/concurrency/JobImpl.java index b056309345d5..52b68ad38402 100644 --- a/platform/platform-impl/src/com/intellij/concurrency/JobImpl.java +++ b/platform/platform-impl/src/com/intellij/concurrency/JobImpl.java @@ -21,33 +21,37 @@ package com.intellij.concurrency; import com.intellij.openapi.application.Application; import com.intellij.openapi.application.ApplicationManager; -import com.intellij.util.containers.ContainerUtil; import java.util.ArrayList; import java.util.List; import java.util.concurrent.*; +import java.util.concurrent.atomic.AtomicInteger; public class JobImpl implements Job { - private final String myTitle; - private final List> myTasks = ContainerUtil.createEmptyCOWList(); - private final long myJobIndex = JobSchedulerImpl.currentJobIndex(); + private static volatile long ourJobsCounter = 0; + private final long myJobIndex = ourJobsCounter++; private final int myPriority; - private final List> myFutures = ContainerUtil.createEmptyCOWList(); - private volatile boolean myCanceled = false; + private final List> myFutures = new ArrayList>(); + private volatile boolean canceled = false; + private final AtomicInteger runningTasks = new AtomicInteger(); + private volatile boolean scheduled; - public JobImpl(String title, int priority) { - myTitle = title; + JobImpl(int priority) { myPriority = priority; } public String getTitle() { - return myTitle; + return null; } public void addTask(Callable task) { - checkNotStarted(); + checkNotScheduled(); - myTasks.add(task); + synchronized (myFutures) { + PrioritizedFutureTask future = createFuture(task, this, myJobIndex, myPriority); + myFutures.add(future); + } + runningTasks.incrementAndGet(); } public void addTask(Runnable task, T result) { @@ -63,124 +67,147 @@ public class JobImpl implements Job { final Application application = ApplicationManager.getApplication(); boolean callerHasReadAccess = application != null && application.isReadAccessAllowed(); - createFutures(callerHasReadAccess, false); - // Don't bother scheduling if we only have one processor or only one task - if (JobSchedulerImpl.CORES_COUNT >= 2 && myFutures.size() >= 2) { - for (PrioritizedFutureTask future : myFutures) { - JobSchedulerImpl.execute(future); + boolean reallySchedule; + PrioritizedFutureTask[] tasks = getTasks(); + synchronized (myFutures) { + reallySchedule = JobSchedulerImpl.CORES_COUNT >= 2 && myFutures.size() >= 2; + } + scheduled = true; + + if (!reallySchedule) { + for (PrioritizedFutureTask future : tasks) { + future.run(); } + return null; } - // http://gafter.blogspot.com/2006/11/thread-pool-puzzler.html - for (PrioritizedFutureTask future : myFutures) { - future.run(); + submitTasks(tasks, callerHasReadAccess, false); + + while (!isDone() && JobSchedulerImpl.stealAndRunTask()) { + int i = 0; } - return waitForTermination(); + // in case of imbalanced tasks one huge task can stuck running and we would fall to waitForTermination instead of doing useful work + //// http://gafter.blogspot.com/2006/11/thread-pool-puzzler.html + //for (PrioritizedFutureTask task : tasks) { + // task.run(); + //} + // + + waitForTermination(tasks); + return null; } - private void createFutures(boolean callerHasReadAccess, final boolean reportExceptions) { - int startTaskIndex = JobSchedulerImpl.currentTaskIndex(); - for (final Callable task : myTasks) { - final PrioritizedFutureTask future = new PrioritizedFutureTask(task, myJobIndex, startTaskIndex++, myPriority, callerHasReadAccess, - reportExceptions); - myFutures.add(future); - } - } - - public List waitForTermination() throws Throwable { - List results = new ArrayList(myFutures.size()); - + public void waitForTermination(PrioritizedFutureTask[] tasks) throws Throwable { Throwable ex = null; - for (Future f : myFutures) { - try { - T result = null; + try { + for (PrioritizedFutureTask f : tasks) { + // this loop is for workaround of mysterious bug + // when sometimes future hangs inside parkAndCheckForInterrupt() during unbounded get() while(true) { try { - result = f.get(10, TimeUnit.MILLISECONDS); + f.get(10, TimeUnit.MILLISECONDS); break; } catch (TimeoutException e) { - if (f.isDone() || f.isCancelled()) break; + if (f.isDone()) { + f.get(); // does awaitTermination(), and there is no chance to hang + break; + } } } - results.add(result); } - catch (CancellationException ignore) { - } - catch (ExecutionException e) { - cancel(); + } + catch (CancellationException ignore) { + // already cancelled + } + catch (ExecutionException e) { + cancel(); - Throwable cause = e.getCause(); - if (cause != null) { - ex = cause; - } + Throwable cause = e.getCause(); + if (cause != null) { + ex = cause; } } - // Future.get() exits when currently running is canceled, thus awaiter may get control before spawned tasks actually terminated, - // that's why additional join logic. - for (PrioritizedFutureTask future : myFutures) { - future.awaitTermination(); + if (ex != null) { + throw ex; } - - if (ex != null) throw ex; - - return results; } public void cancel() { checkScheduled(); - if (myCanceled) return; - myCanceled = true; + if (canceled) return; + canceled = true; - for (Future future : myFutures) { + PrioritizedFutureTask[] tasks = getTasks(); + for (PrioritizedFutureTask future : tasks) { future.cancel(false); } + runningTasks.set(0); } public boolean isCanceled() { checkScheduled(); - return myCanceled; + return canceled; } public void schedule() { checkCanSchedule(); + scheduled = true; - createFutures(false, true); + PrioritizedFutureTask[] tasks = getTasks(); - for (PrioritizedFutureTask future : myFutures) { - JobSchedulerImpl.execute(future); + submitTasks(tasks, false, true); + } + + public PrioritizedFutureTask[] getTasks() { + PrioritizedFutureTask[] tasks; + synchronized (myFutures) { + tasks = myFutures.toArray(new PrioritizedFutureTask[myFutures.size()]); } + return tasks; } public boolean isDone() { checkScheduled(); - for (Future future : myFutures) { - if (!future.isDone()) return false; - } - - return true; + return runningTasks.get() <= 0; } private void checkCanSchedule() { - checkNotStarted(); - if (myTasks.isEmpty()) { - throw new IllegalStateException("No tasks to run. You can't schedule a job which has no tasks"); + checkNotScheduled(); + synchronized (myFutures) { + if (myFutures.isEmpty()) { + throw new IllegalStateException("No tasks added. You can't schedule a job which has no tasks"); + } } } - private void checkNotStarted() { - if (!myFutures.isEmpty()) { + private void checkNotScheduled() { + if (scheduled) { throw new IllegalStateException("Already running. You can't call this method for a job which is already scheduled"); } } private void checkScheduled() { - if (myFutures.isEmpty()) { + if (!scheduled) { throw new IllegalStateException("Cannot call this method for not yet started job"); } } + + private static void submitTasks(PrioritizedFutureTask[] tasks, boolean callerHasReadAccess, boolean reportExceptions) { + for (final PrioritizedFutureTask future : tasks) { + JobSchedulerImpl.submitTask(future, callerHasReadAccess, reportExceptions); + } + } + + void taskDone() { + runningTasks.decrementAndGet(); + } + + private static PrioritizedFutureTask createFuture(Callable task, JobImpl job, long jobIndex, int priority) { + return new PrioritizedFutureTask(task, job, jobIndex, JobSchedulerImpl.currentTaskIndex(), priority); + } } diff --git a/platform/platform-impl/src/com/intellij/concurrency/JobSchedulerImpl.java b/platform/platform-impl/src/com/intellij/concurrency/JobSchedulerImpl.java index ad798b41baef..149c50b9c41e 100644 --- a/platform/platform-impl/src/com/intellij/concurrency/JobSchedulerImpl.java +++ b/platform/platform-impl/src/com/intellij/concurrency/JobSchedulerImpl.java @@ -20,106 +20,70 @@ package com.intellij.concurrency; import com.intellij.openapi.Disposable; -import com.intellij.openapi.application.impl.ApplicationImpl; import org.jetbrains.annotations.NonNls; import java.util.concurrent.PriorityBlockingQueue; import java.util.concurrent.ThreadFactory; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; -import java.util.concurrent.locks.Lock; -import java.util.concurrent.locks.ReentrantLock; @NonNls public class JobSchedulerImpl extends JobScheduler implements Disposable { - public static final int CORES_COUNT = /*1;//*/Runtime.getRuntime().availableProcessors(); + public static final int CORES_COUNT = /*1;//*/ Runtime.getRuntime().availableProcessors(); private static final ThreadFactory WORKERS_FACTORY = new ThreadFactory() { - int i; - public Thread newThread(final Runnable r) { - final Thread thread = new Thread(r, "JobScheduler pool " + i++ + "/" + CORES_COUNT); + private int threadSeq; + + public synchronized Thread newThread(final Runnable r) { + @NonNls String name = "JobScheduler pool " + threadSeq + "/" + CORES_COUNT; + final Thread thread = new Thread(r, name); thread.setPriority(Thread.NORM_PRIORITY); + threadSeq++; return thread; } }; - private static final Lock ourSuspensionLock = new ReentrantLock(); + private static final PriorityBlockingQueue ourQueue = new PriorityBlockingQueue(); + private static final MyExecutor ourExecutor = new MyExecutor(); - private static final PriorityBlockingQueue ourQueue = new PriorityBlockingQueue() { - public Runnable poll() { - final Runnable result = super.poll(); - - ourSuspensionLock.lock(); - try { - return result; - } - finally { - ourSuspensionLock.unlock(); - } - } - - public Runnable poll(final long timeout, final TimeUnit unit) throws InterruptedException { - final Runnable result = super.poll(timeout, unit); - - ourSuspensionLock.lock(); - try { - return result; - } - finally { - ourSuspensionLock.unlock(); - } - } - }; - private static final ThreadPoolExecutor ourExecutor = new ThreadPoolExecutor(CORES_COUNT, Integer.MAX_VALUE, 60 * 10, TimeUnit.SECONDS, - ourQueue, WORKERS_FACTORY) { - protected void beforeExecute(final Thread t, final Runnable r) { - PrioritizedFutureTask task = (PrioritizedFutureTask)r; - if (task.isParentThreadHasReadAccess()) { - ApplicationImpl.setExceptionalThreadWithReadAccessFlag(true); - } - task.signalStarted(); - - // TODO: hook up JobMonitor into thread locals - super.beforeExecute(t, r); - } - - protected void afterExecute(final Runnable r, final Throwable t) { - super.afterExecute(r, t); - ApplicationImpl.setExceptionalThreadWithReadAccessFlag(false); - PrioritizedFutureTask task = (PrioritizedFutureTask)r; - task.signalDone(); - // TODO: cleanup JobMonitor - } - }; - - private static volatile long ourJobsCounter = 0; - - public static void execute(Runnable task) { - ourExecutor.execute(task); - } - - public static int currentTaskIndex() { - final PrioritizedFutureTask topTask = (PrioritizedFutureTask)ourQueue.peek(); - return topTask == null ? 0 : topTask.getTaskIndex(); - } - - public static long currentJobIndex() { - return ourJobsCounter++; - } - - public static void suspend() { - ourSuspensionLock.lock(); - } - - public static void resume() { - ourSuspensionLock.unlock(); + static int currentTaskIndex() { + return ourQueue.size(); } public Job createJob(String title, int priority) { - return new JobImpl(title, priority); + return new JobImpl(priority); } public void dispose() { ((ThreadPoolExecutor)getScheduler()).getQueue().clear(); } + + static boolean stealAndRunTask() { + Runnable task = ourQueue.poll(); + if (task == null) return false; + + task.run(); + + return true; + } + + static void submitTask(PrioritizedFutureTask future, boolean callerHasReadAccess, boolean reportExceptions) { + future.beforeRun(callerHasReadAccess, reportExceptions); + ourExecutor.executeTask(future); + } + + private static class MyExecutor extends ThreadPoolExecutor { + private MyExecutor() { + super(CORES_COUNT, Integer.MAX_VALUE, 60 * 10, TimeUnit.SECONDS, ourQueue, WORKERS_FACTORY); + } + + private void executeTask(final PrioritizedFutureTask task) { + super.execute(task); + } + + @Override + public void execute(Runnable command) { + throw new IllegalStateException("Use executeTask() to submit PrioritizedFutureTasks only"); + } + } } diff --git a/platform/lang-impl/src/com/intellij/concurrency/JobUtil.java b/platform/platform-impl/src/com/intellij/concurrency/JobUtil.java similarity index 57% rename from platform/lang-impl/src/com/intellij/concurrency/JobUtil.java rename to platform/platform-impl/src/com/intellij/concurrency/JobUtil.java index 021c9ffe18e9..93ff2a501931 100644 --- a/platform/lang-impl/src/com/intellij/concurrency/JobUtil.java +++ b/platform/platform-impl/src/com/intellij/concurrency/JobUtil.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2010 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,12 +20,14 @@ import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.progress.ProcessCanceledException; import com.intellij.openapi.progress.ProgressIndicator; import com.intellij.openapi.progress.ProgressManager; +import com.intellij.openapi.progress.impl.ProgressManagerImpl; import com.intellij.openapi.progress.util.ProgressWrapper; import com.intellij.util.Processor; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; -import java.util.Collection; +import java.util.List; +import java.util.concurrent.Callable; /** * @author cdr @@ -34,30 +36,30 @@ import java.util.Collection; public class JobUtil { private static final Logger LOG = Logger.getInstance("#com.intellij.concurrency.JobUtil"); - /** - * @param things to process concurrently - * @param thingProcessor to be invoked concurrently on each element from the collection - * @param jobName the name of the job that invokes all the tasks - * @return false if tasks have been canceled - * @throws ProcessCanceledException if at least one task has thrown ProcessCanceledException - */ - public static boolean invokeConcurrentlyForAll(@NotNull Collection things, @NotNull final Processor thingProcessor, @NotNull @NonNls String jobName) throws ProcessCanceledException { + private static boolean invokeConcurrentlyForAll(@NotNull final List things, @NotNull final Processor thingProcessor, @NotNull @NonNls String jobName) throws ProcessCanceledException { if (things.isEmpty()) { return true; } if (things.size() == 1) { - T t = things.iterator().next(); + T t = things.get(0); return thingProcessor.process(t); } - final Job job = JobScheduler.getInstance().createJob(jobName, Job.DEFAULT_PRIORITY); + final Job job = new JobImpl(Job.DEFAULT_PRIORITY); - for (final T thing : things) { - job.addTask(new Runnable(){ + final int chunkSize = Math.max(1, things.size() / JobSchedulerImpl.CORES_COUNT / 100); + for (int i = 0; i < things.size(); i += chunkSize) { + // this job chunk is i..i+chunkSize-1 + final int finalI = i; + job.addTask(new Runnable() { public void run() { try { - if (!thingProcessor.process(thing)) { - job.cancel(); + for (int k = finalI; k < finalI + chunkSize && k < things.size(); k++) { + T thing = things.get(k); + if (!thingProcessor.process(thing)) { + job.cancel(); + break; + } } } catch (ProcessCanceledException e) { @@ -81,22 +83,51 @@ public class JobUtil { return !job.isCanceled(); } - // execute in multiple threads, with checkCanceled in each delegated to our current progress - public static boolean invokeConcurrentlyUnderMyProgress(@NotNull Collection things, + /** + * Schedules concurrent execution of #thingProcessor over each element of #things and waits for completion + * With checkCanceled in each thread delegated to our current progress + * @param things to process concurrently + * @param thingProcessor to be invoked concurrently on each element from the collection + * @param jobName the name of the job that invokes all the tasks + * @return false if tasks have been canceled + * or at least one processor returned false + * or threw exception + * or we were unable to start read action in at least one thread + * @throws ProcessCanceledException if at least one task has thrown ProcessCanceledException + */ + public static boolean invokeConcurrentlyUnderMyProgress(@NotNull List things, @NotNull final Processor thingProcessor, @NotNull @NonNls String jobName) throws ProcessCanceledException { final ProgressIndicator indicator = ProgressManager.getInstance().getProgressIndicator(); + final ProgressWrapper wrapper = ProgressWrapper.wrap(indicator); return invokeConcurrentlyForAll(things, new Processor() { public boolean process(final T t) { final boolean[] result = new boolean[1]; - ProgressManager.getInstance().runProcess(new Runnable() { + ((ProgressManagerImpl)ProgressManager.getInstance()).executeProcessUnderProgress(new Runnable() { public void run() { result[0] = thingProcessor.process(t); } - }, ProgressWrapper.wrap(indicator)); + }, wrapper); return result[0]; } }, jobName); } + public static Job submitToJobThread(@NotNull final Runnable action, int priority) { + Job job = new JobImpl(priority); + Callable callable = new Callable() { + public Void call() throws Exception { + try { + action.run(); + } + catch (ProcessCanceledException ignored) { + // since it's the only task in the job, nothing to cancel + } + return null; + } + }; + job.addTask(callable); + job.schedule(); + return job; + } } diff --git a/platform/platform-impl/src/com/intellij/concurrency/PrioritizedFutureTask.java b/platform/platform-impl/src/com/intellij/concurrency/PrioritizedFutureTask.java index ad7855f2002e..c19fa37cbb7a 100644 --- a/platform/platform-impl/src/com/intellij/concurrency/PrioritizedFutureTask.java +++ b/platform/platform-impl/src/com/intellij/concurrency/PrioritizedFutureTask.java @@ -19,112 +19,91 @@ */ package com.intellij.concurrency; -import com.intellij.openapi.application.RuntimeInterruptedException; +import com.intellij.openapi.application.ex.ApplicationManagerEx; +import com.intellij.openapi.application.impl.ApplicationImpl; import com.intellij.openapi.diagnostic.Logger; import java.util.concurrent.Callable; -import java.util.concurrent.FutureTask; -import java.util.concurrent.ExecutionException; import java.util.concurrent.CancellationException; -import java.util.concurrent.locks.Condition; -import java.util.concurrent.locks.Lock; -import java.util.concurrent.locks.ReentrantLock; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.FutureTask; -public class PrioritizedFutureTask extends FutureTask implements Comparable { +class PrioritizedFutureTask extends FutureTask implements Comparable { private static final Logger LOG = Logger.getInstance("#com.intellij.concurrency.PrioritizedFutureTask"); + private final JobImpl myJob; private final long myJobIndex; private final int myTaskIndex; private final int myPriority; - private final boolean myParentThreadHasReadAccess; - private final boolean myReportExceptions; - private final Lock myLock; - private volatile Condition myDoneCondition; + private volatile boolean myParentThreadHasReadAccess; + private volatile boolean myReportExceptions; - public PrioritizedFutureTask(final Callable callable, long jobIndex, int taskIndex, int priority, final boolean parentThreadHasReadAccess, boolean reportExceptions) { + PrioritizedFutureTask(final Callable callable, JobImpl job, long jobIndex, int taskIndex, int priority) { super(callable); + myJob = job; myJobIndex = jobIndex; myTaskIndex = taskIndex; myPriority = priority; + } + + public void beforeRun(boolean parentThreadHasReadAccess, boolean reportExceptions) { myParentThreadHasReadAccess = parentThreadHasReadAccess; myReportExceptions = reportExceptions; - - myLock = new ReentrantLock(); - } - - public boolean isParentThreadHasReadAccess() { - return myParentThreadHasReadAccess; - } - - public int compareTo(final PrioritizedFutureTask o) { - if (getPriority() != o.getPriority()) return getPriority() - o.getPriority(); - if (getTaskIndex() != o.getTaskIndex()) return getTaskIndex() - o.getTaskIndex(); - if (getJobIndex() != o.getJobIndex()) return getJobIndex() < o.getJobIndex() ? -1 : 1; - return 0; - } - - public long getJobIndex() { - return myJobIndex; - } - - public int getTaskIndex() { - return myTaskIndex; - } - - public int getPriority() { - return myPriority; - } - - public void signalStarted() { - myLock.lock(); - try { - myDoneCondition = myLock.newCondition(); - } - finally { - myLock.unlock(); - } - } - - public void signalDone() { - myLock.lock(); - try { - myDoneCondition.signalAll(); - myDoneCondition = null; - } - finally { - myLock.unlock(); - } - } - - public void awaitTermination() { - myLock.lock(); - try { - if (myDoneCondition == null) return; - myDoneCondition.await(); - } - catch (InterruptedException e) { - throw new RuntimeInterruptedException(e); - } - finally { - myLock.unlock(); - } } @Override - protected void done() { - if (myReportExceptions) { - // let exceptions during execution manifest themselves - try { - get(); + public void run() { + Runnable runnable = new Runnable() { + public void run() { + try { + if (myJob.isCanceled()) { + //set(null); + cancel(false); //todo cancel or set? + } + else { + PrioritizedFutureTask.super.run(); + } + } + finally { + try { + if (myReportExceptions) { + // let exceptions during execution manifest themselves + PrioritizedFutureTask.super.get(); + } + } + catch (CancellationException ignored) { + } + catch (InterruptedException e) { + LOG.error(e); + } + catch (ExecutionException e) { + LOG.error(e); + } + finally { + myJob.taskDone(); + //myDoneCondition.up(); + } + } } - catch (CancellationException e) { - //ignore + }; + if (myParentThreadHasReadAccess) { + if (ApplicationManagerEx.getApplicationEx().isUnitTestMode()) { + // all tests unfortunately are run from within write action, so they cannot really run read action in any thread + ApplicationImpl.setExceptionalThreadWithReadAccessFlag(true); } - catch (InterruptedException e) { - LOG.error(e); - } - catch (ExecutionException e) { - LOG.error(e); + // have to start "real" read action so that we cannot start write action until we are finished here + if (!ApplicationManagerEx.getApplicationEx().tryRunReadAction(runnable)) { + myJob.cancel(); } } + else { + runnable.run(); + } + } + + public int compareTo(final PrioritizedFutureTask o) { + int priorityDelta = myPriority - o.myPriority; + if (priorityDelta != 0) return priorityDelta; + if (myJobIndex != o.myJobIndex) return myJobIndex < o.myJobIndex ? -1 : 1; + return myTaskIndex - o.myTaskIndex; } } \ No newline at end of file diff --git a/platform/platform-impl/src/com/intellij/ide/IdeEventQueue.java b/platform/platform-impl/src/com/intellij/ide/IdeEventQueue.java index 6b45ee24986f..04a846720111 100644 --- a/platform/platform-impl/src/com/intellij/ide/IdeEventQueue.java +++ b/platform/platform-impl/src/com/intellij/ide/IdeEventQueue.java @@ -17,7 +17,6 @@ package com.intellij.ide; import com.intellij.Patches; -import com.intellij.concurrency.JobSchedulerImpl; import com.intellij.ide.dnd.DnDManager; import com.intellij.ide.dnd.DnDManagerImpl; import com.intellij.openapi.Disposable; @@ -363,14 +362,12 @@ public class IdeEventQueue extends EventQueue { AWTEvent oldEvent = myCurrentEvent; myCurrentEvent = e; - JobSchedulerImpl.suspend(); try { _dispatchEvent(e); } finally { myIsInInputEvent = wasInputEvent; myCurrentEvent = oldEvent; - JobSchedulerImpl.resume(); for (EventDispatcher each : myPostprocessors) { each.dispatch(e); @@ -566,24 +563,24 @@ public class IdeEventQueue extends EventQueue { || queue.peekEvent(MouseEvent.MOUSE_CLICKED) != null; if (!mouseEventsAhead) { - Window showingWindow = mgr.getActiveWindow(); - if (showingWindow != null) { - final IdeFocusManager fm = IdeFocusManager.findInstanceByComponent(showingWindow); - fm.doWhenFocusSettlesDown(new Runnable() { - public void run() { - if (mgr.getFocusOwner() == null) { - final Application app = ApplicationManager.getApplication(); - if (app != null && app.isActive()) { - fm.requestDefaultFocus(false); - } + Window showingWindow = mgr.getActiveWindow(); + if (showingWindow != null) { + final IdeFocusManager fm = IdeFocusManager.findInstanceByComponent(showingWindow); + fm.doWhenFocusSettlesDown(new Runnable() { + public void run() { + if (mgr.getFocusOwner() == null) { + final Application app = ApplicationManager.getApplication(); + if (app != null && app.isActive()) { + fm.requestDefaultFocus(false); } } - }); - } + } + }); } } } } + } private void enterSuspendModeIfNeeded(AWTEvent e) { if (e instanceof KeyEvent) { diff --git a/platform/platform-impl/src/com/intellij/openapi/application/impl/ApplicationImpl.java b/platform/platform-impl/src/com/intellij/openapi/application/impl/ApplicationImpl.java index 470523754f88..2c616ab1dbb2 100644 --- a/platform/platform-impl/src/com/intellij/openapi/application/impl/ApplicationImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/application/impl/ApplicationImpl.java @@ -1048,8 +1048,9 @@ public class ApplicationImpl extends ComponentManagerImpl implements Application } public void saveSettings() { - if (myDoNotSave || isUnitTestMode() || isHeadlessEnvironment()) return; - _saveSettings(); + if (!myDoNotSave && !isUnitTestMode() && !isHeadlessEnvironment()) { + _saveSettings(); + } } public void saveAll() { diff --git a/platform/testFramework/src/com/intellij/testFramework/PlatformTestUtil.java b/platform/testFramework/src/com/intellij/testFramework/PlatformTestUtil.java index 22a2f1e98d80..194268de8996 100644 --- a/platform/testFramework/src/com/intellij/testFramework/PlatformTestUtil.java +++ b/platform/testFramework/src/com/intellij/testFramework/PlatformTestUtil.java @@ -15,7 +15,7 @@ */ package com.intellij.testFramework; -import com.intellij.ide.DataManager; +import com.intellij.ide.*; import com.intellij.ide.util.treeView.AbstractTreeNode; import com.intellij.ide.util.treeView.AbstractTreeStructure; import com.intellij.idea.Bombed; @@ -43,11 +43,15 @@ import junit.framework.AssertionFailedError; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import org.jetbrains.annotations.TestOnly; import javax.swing.*; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.TreePath; import java.util.*; +import java.awt.*; +import java.awt.event.InvocationEvent; + /** * @author yole @@ -183,6 +187,20 @@ public class PlatformTestUtil { } } + @TestOnly + public static void dispatchAllInvocationEventsInIdeEventQueue() throws InterruptedException { + assert SwingUtilities.isEventDispatchThread() : Thread.currentThread(); + final EventQueue eventQueue = Toolkit.getDefaultToolkit().getSystemEventQueue(); + while (true) { + AWTEvent event = eventQueue.peekEvent(); + if (event == null) break; + AWTEvent event1 = eventQueue.getNextEvent(); + if (event1 instanceof InvocationEvent) { + IdeEventQueue.getInstance().dispatchEvent(event1); + } + } + } + private static Date raidDate(Bombed bombed) { final Calendar instance = Calendar.getInstance(); instance.set(Calendar.YEAR, bombed.year()); diff --git a/plugins/properties/src/com/intellij/codeInspection/duplicatePropertyInspection/DuplicatePropertyInspection.java b/plugins/properties/src/com/intellij/codeInspection/duplicatePropertyInspection/DuplicatePropertyInspection.java index 20ce5e9ce170..e588c5261c1a 100644 --- a/plugins/properties/src/com/intellij/codeInspection/duplicatePropertyInspection/DuplicatePropertyInspection.java +++ b/plugins/properties/src/com/intellij/codeInspection/duplicatePropertyInspection/DuplicatePropertyInspection.java @@ -173,7 +173,7 @@ public class DuplicatePropertyInspection extends DescriptorProviderInspection { final ProgressIndicator progress = ProgressWrapper.wrap(original); ProgressManager.getInstance().runProcess(new Runnable() { public void run() { - JobUtil.invokeConcurrentlyUnderMyProgress(properties, new Processor() { + if (!JobUtil.invokeConcurrentlyUnderMyProgress(properties, new Processor() { public boolean process(final Property property) { if (original != null) { if (original.isCanceled()) return false; @@ -183,7 +183,7 @@ public class DuplicatePropertyInspection extends DescriptorProviderInspection { processTextUsages(processedKeyToFiles, property.getUnescapedKey(), processedValueToFiles, searchHelper, scope); return true; } - }, "Searching properties usages"); + }, "Searching properties usages")) throw new ProcessCanceledException(); List problemDescriptors = new ArrayList(); Map> keyToDifferentValues = new HashMap>(); diff --git a/plugins/properties/src/com/intellij/lang/properties/UnusedPropertyInspection.java b/plugins/properties/src/com/intellij/lang/properties/UnusedPropertyInspection.java index 1258a741049b..5d7e54f57e1a 100644 --- a/plugins/properties/src/com/intellij/lang/properties/UnusedPropertyInspection.java +++ b/plugins/properties/src/com/intellij/lang/properties/UnusedPropertyInspection.java @@ -24,6 +24,7 @@ import com.intellij.lang.properties.psi.PropertiesFile; import com.intellij.lang.properties.psi.Property; import com.intellij.openapi.module.Module; import com.intellij.openapi.module.ModuleUtil; +import com.intellij.openapi.progress.ProcessCanceledException; import com.intellij.openapi.progress.ProgressIndicator; import com.intellij.openapi.progress.ProgressManager; import com.intellij.psi.PsiElement; @@ -61,7 +62,7 @@ public class UnusedPropertyInspection extends PropertySuppressableInspectionBase final GlobalSearchScope searchScope = GlobalSearchScope.moduleWithDependentsScope(module); final ProgressIndicator original = ProgressManager.getInstance().getProgressIndicator(); - JobUtil.invokeConcurrentlyUnderMyProgress(properties, new Processor() { + if (!JobUtil.invokeConcurrentlyUnderMyProgress(properties, new Processor() { public boolean process(final Property property) { if (original != null) { if (original.isCanceled()) return false; @@ -93,7 +94,7 @@ public class UnusedPropertyInspection extends PropertySuppressableInspectionBase return true; } - }, "Searching properties usages"); + }, "Searching properties usages")) throw new ProcessCanceledException(); synchronized (descriptors) { return descriptors.toArray(new ProblemDescriptor[descriptors.size()]); From 801e1014ca7de2b8d8e802c61503393b8644054d Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Fri, 7 May 2010 15:03:40 +0400 Subject: [PATCH 162/173] group by library --- .../impl/rules/UsageScopeGroupingRule.java | 57 +++++++++++++------ 1 file changed, 40 insertions(+), 17 deletions(-) diff --git a/platform/usageView/src/com/intellij/usages/impl/rules/UsageScopeGroupingRule.java b/platform/usageView/src/com/intellij/usages/impl/rules/UsageScopeGroupingRule.java index 77e667f01aef..91ff84983d54 100644 --- a/platform/usageView/src/com/intellij/usages/impl/rules/UsageScopeGroupingRule.java +++ b/platform/usageView/src/com/intellij/usages/impl/rules/UsageScopeGroupingRule.java @@ -15,6 +15,7 @@ */ package com.intellij.usages.impl.rules; +import com.intellij.openapi.roots.ProjectFileIndex; import com.intellij.openapi.roots.ProjectRootManager; import com.intellij.openapi.vcs.FileStatus; import com.intellij.openapi.vfs.VirtualFile; @@ -46,29 +47,51 @@ public class UsageScopeGroupingRule implements UsageGroupingRule { if (virtualFile == null) { return null; } - boolean isInTest = ProjectRootManager.getInstance(element.getProject()).getFileIndex().isInTestSourceContent(virtualFile); + ProjectFileIndex fileIndex = ProjectRootManager.getInstance(element.getProject()).getFileIndex(); + boolean isInLib = fileIndex.isInLibraryClasses(virtualFile) || fileIndex.isInLibrarySource(virtualFile); + if (isInLib) return LIBRARY; + boolean isInTest = fileIndex.isInTestSourceContent(virtualFile); return isInTest ? TEST : PRODUCTION; } - private static final UsageScopeGroup TEST = new UsageScopeGroup(true); - private static final UsageScopeGroup PRODUCTION = new UsageScopeGroup(false); - private static class UsageScopeGroup implements UsageGroup { - private final boolean isTest; - - private UsageScopeGroup(boolean isTest) { - this.isTest = isTest; - } - - public void update() { - } - + private static final UsageScopeGroup TEST = new UsageScopeGroup(0) { public Icon getIcon(boolean isOpen) { - return isTest ? Icons.TEST_SOURCE_FOLDER : Icons.SOURCE_FOLDERS_ICON; + return Icons.TEST_SOURCE_FOLDER; } @NotNull public String getText(UsageView view) { - return isTest ? "Test" : "Production"; + return "Test"; + } + }; + private static final UsageScopeGroup PRODUCTION = new UsageScopeGroup(1) { + public Icon getIcon(boolean isOpen) { + return Icons.SOURCE_FOLDERS_ICON ; + } + + @NotNull + public String getText(UsageView view) { + return "Production"; + } + }; + private static final UsageScopeGroup LIBRARY = new UsageScopeGroup(2) { + public Icon getIcon(boolean isOpen) { + return Icons.LIBRARY_ICON ; + } + + @NotNull + public String getText(UsageView view) { + return "Library"; + } + }; + private abstract static class UsageScopeGroup implements UsageGroup { + private final int myCode; + + private UsageScopeGroup(int code) { + myCode = code; + } + + public void update() { } public FileStatus getFileStatus() { @@ -91,11 +114,11 @@ public class UsageScopeGroupingRule implements UsageGroupingRule { if (this == o) return true; if (!(o instanceof UsageScopeGroup)) return false; final UsageScopeGroup usageTypeGroup = (UsageScopeGroup)o; - return isTest == usageTypeGroup.isTest; + return myCode == usageTypeGroup.myCode; } public int hashCode() { - return isTest ? 0 : 1; + return myCode; } } } From f9cd040e140d3224190df451802c4d450be4d75e Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Fri, 7 May 2010 15:42:26 +0400 Subject: [PATCH 163/173] test --- .../src/com/intellij/openapi/vfs/CharsetToolkit.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/platform/platform-api/src/com/intellij/openapi/vfs/CharsetToolkit.java b/platform/platform-api/src/com/intellij/openapi/vfs/CharsetToolkit.java index f48f0bda0131..eb6a3e093ccc 100644 --- a/platform/platform-api/src/com/intellij/openapi/vfs/CharsetToolkit.java +++ b/platform/platform-api/src/com/intellij/openapi/vfs/CharsetToolkit.java @@ -84,9 +84,9 @@ public class CharsetToolkit { private final Charset defaultCharset; private boolean enforce8Bit = false; - public static final byte[] UTF8_BOM = new byte[]{-17, -69, -65, }; - public static final byte[] UTF16LE_BOM = new byte[]{-1, -2, }; - public static final byte[] UTF16BE_BOM = new byte[]{-2, -1, }; + public static final byte[] UTF8_BOM = {-17, -69, -65, }; + public static final byte[] UTF16LE_BOM = {-1, -2, }; + public static final byte[] UTF16BE_BOM = {-2, -1, }; @NonNls public static final String FILE_ENCODING_PROPERTY = "file.encoding"; @NonNls private static final Map CHARSET_TO_BOM = new THashMap(); From 4a9149a2d7a264badab6dff6a62136856824c840 Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Fri, 7 May 2010 16:08:14 +0400 Subject: [PATCH 164/173] cleanup --- .../codeInsight/template/impl/TemplateState.java | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/codeInsight/template/impl/TemplateState.java b/platform/lang-impl/src/com/intellij/codeInsight/template/impl/TemplateState.java index 24e7df4d9cdd..720fb1d6a01d 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/template/impl/TemplateState.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/template/impl/TemplateState.java @@ -893,17 +893,10 @@ public class TemplateState implements Disposable { TextAttributes attributes = isSelected ? new TextAttributes(null, null, Color.red, EffectType.BOXED, Font.PLAIN) : new TextAttributes(); TextAttributes endAttributes = new TextAttributes(); - RangeHighlighter segmentHighlighter; int start = mySegments.getSegmentStart(segmentNumber); int end = mySegments.getSegmentEnd(segmentNumber); - if (isEnd) { - segmentHighlighter = myEditor.getMarkupModel() - .addRangeHighlighter(start, end, HighlighterLayer.LAST + 1, endAttributes, HighlighterTargetArea.EXACT_RANGE); - } - else { - segmentHighlighter = - myEditor.getMarkupModel().addRangeHighlighter(start, end, HighlighterLayer.LAST + 1, attributes, HighlighterTargetArea.EXACT_RANGE); - } + RangeHighlighter segmentHighlighter = myEditor.getMarkupModel() + .addRangeHighlighter(start, end, HighlighterLayer.LAST + 1, isEnd ? endAttributes : attributes, HighlighterTargetArea.EXACT_RANGE); segmentHighlighter.setGreedyToLeft(true); segmentHighlighter.setGreedyToRight(true); return segmentHighlighter; From ce68d638ffe9dbdf9cf07aba9977fe75e602cb95 Mon Sep 17 00:00:00 2001 From: Kirill Kalishev Date: Tue, 11 May 2010 11:39:54 +0400 Subject: [PATCH 165/173] IDEA-52947 Popup: context menu popups stay when I switch application with meta-tab (Mac OS) --- .../impl/ActionPopupMenuImpl.java | 46 +++++++++++++++++-- 1 file changed, 43 insertions(+), 3 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/actionSystem/impl/ActionPopupMenuImpl.java b/platform/platform-impl/src/com/intellij/openapi/actionSystem/impl/ActionPopupMenuImpl.java index 5014ab460cb7..d78f73e66338 100644 --- a/platform/platform-impl/src/com/intellij/openapi/actionSystem/impl/ActionPopupMenuImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/actionSystem/impl/ActionPopupMenuImpl.java @@ -20,6 +20,16 @@ import com.intellij.ide.ui.UISettings; import com.intellij.openapi.actionSystem.ActionGroup; import com.intellij.openapi.actionSystem.ActionPopupMenu; import com.intellij.openapi.actionSystem.DataContext; +import com.intellij.openapi.application.Application; +import com.intellij.openapi.application.ApplicationAdapter; +import com.intellij.openapi.application.ApplicationManager; +import com.intellij.openapi.util.ActionCallback; +import com.intellij.openapi.wm.FocusCommand; +import com.intellij.openapi.wm.IdeFocusManager; +import com.intellij.openapi.wm.IdeFrame; +import com.intellij.openapi.wm.WindowManager; +import com.intellij.openapi.wm.impl.IdeFrameImpl; +import com.intellij.util.ui.UIUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -27,19 +37,25 @@ import javax.swing.*; import javax.swing.event.PopupMenuEvent; import javax.swing.event.PopupMenuListener; import java.awt.*; +import java.awt.event.MouseEvent; +import java.awt.event.MouseListener; /** * @author Anton Katilin * @author Vladimir Kondratyev */ -final class ActionPopupMenuImpl implements ActionPopupMenu { +final class ActionPopupMenuImpl extends ApplicationAdapter implements ActionPopupMenu { private final MyMenu myMenu; private final ActionManagerImpl myManager; + private Application myApp; + private IdeFrame myFrame; + public ActionPopupMenuImpl(String place, @NotNull ActionGroup group, ActionManagerImpl actionManager, @Nullable PresentationFactory factory) { myManager = actionManager; myMenu = new MyMenu(place, group, factory); + myApp = ApplicationManager.getApplication(); } public JPopupMenu getComponent() { @@ -132,18 +148,34 @@ final class ActionPopupMenuImpl implements ActionPopupMenu { y -= invisibleHeight; } + if (myApp != null) { + if (myApp.isActive()) { + Component frame = UIUtil.findUltimateParent(component); + if (frame instanceof IdeFrame) { + myFrame = (IdeFrame)frame; + } + myApp.addApplicationListener(ActionPopupMenuImpl.this); + } + } + super.show(component, x, y); } private class MyPopupMenuListener implements PopupMenuListener { public void popupMenuCanceled(PopupMenuEvent e) { - myManager.removeActionPopup(ActionPopupMenuImpl.this); - MyMenu.this.removeAll(); + disposeMenu(); } public void popupMenuWillBecomeInvisible(PopupMenuEvent e) { + disposeMenu(); + } + + private void disposeMenu() { myManager.removeActionPopup(ActionPopupMenuImpl.this); MyMenu.this.removeAll(); + if (myApp != null) { + myApp.removeApplicationListener(ActionPopupMenuImpl.this); + } } public void popupMenuWillBecomeVisible(PopupMenuEvent e) { @@ -154,4 +186,12 @@ final class ActionPopupMenuImpl implements ActionPopupMenu { } } } + + @Override + public void applicationDeactivated(IdeFrame ideFrame) { + if (myFrame == ideFrame) { + myMenu.setVisible(false); + } + } + } From e4020a27b5a7127a32561da70b58b8ab09750cc1 Mon Sep 17 00:00:00 2001 From: Dmitry Avdeev Date: Tue, 11 May 2010 11:42:50 +0400 Subject: [PATCH 166/173] typo --- .../jetbrains/idea/maven/project/MavenProjectsManager.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenProjectsManager.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenProjectsManager.java index f34cb4e8d9f3..83094fc6cc7f 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenProjectsManager.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/project/MavenProjectsManager.java @@ -831,7 +831,7 @@ public class MavenProjectsManager extends SimpleProjectComponent MavenUtil.runWhenInitialized(myProject, wrapper.get()); } - private void schedulePostImportTasts(List postTasks) { + private void schedulePostImportTasks(List postTasks) { for (MavenProjectsProcessorTask each : postTasks) { myPostProcessor.scheduleTask(each); } @@ -941,7 +941,7 @@ public class MavenProjectsManager extends SimpleProjectComponent VirtualFileManager.getInstance().refresh(isNormalProject()); - schedulePostImportTasts(postTasks.get()); + schedulePostImportTasks(postTasks.get()); // do not block user too often myImportingQueue.restartTimer(); From ba989b604bd817e32074a989e120ff5aaede71f1 Mon Sep 17 00:00:00 2001 From: Ekaterina Shliakhovetskaja Date: Tue, 27 Apr 2010 11:31:10 +0400 Subject: [PATCH 167/173] Improve jetbrains.dic --- .../spellchecker/src/com/intellij/spellchecker/jetbrains.dic | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/plugins/spellchecker/src/com/intellij/spellchecker/jetbrains.dic b/plugins/spellchecker/src/com/intellij/spellchecker/jetbrains.dic index 7f8c767be64b..fb9e26ab30dc 100644 --- a/plugins/spellchecker/src/com/intellij/spellchecker/jetbrains.dic +++ b/plugins/spellchecker/src/com/intellij/spellchecker/jetbrains.dic @@ -108,6 +108,5 @@ utf stylesheet charset vertices -commandline -cmdline -multi \ No newline at end of file +println +encoded From 9e9ca61f954d66a8682f3c70c7365b60880479e1 Mon Sep 17 00:00:00 2001 From: "Rustam.Vishnyakov" Date: Tue, 11 May 2010 13:07:05 +0400 Subject: [PATCH 168/173] Fix for IDEA-51802: Checking a box in Code Style/Spaces makes the preview to scroll down --- .../intellij/application/options/CodeStyleAbstractPanel.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/platform/lang-impl/src/com/intellij/application/options/CodeStyleAbstractPanel.java b/platform/lang-impl/src/com/intellij/application/options/CodeStyleAbstractPanel.java index e224f4db2369..08690cec1fd5 100644 --- a/platform/lang-impl/src/com/intellij/application/options/CodeStyleAbstractPanel.java +++ b/platform/lang-impl/src/com/intellij/application/options/CodeStyleAbstractPanel.java @@ -161,6 +161,8 @@ public abstract class CodeStyleAbstractPanel implements Disposable { myTextToReformat = myEditor.getDocument().getText(); } + int currOffs = myEditor.getScrollingModel().getVerticalScrollOffset(); + final Project finalProject = getCurrentProject(); CommandProcessor.getInstance().executeCommand(finalProject, new Runnable() { public void run() { @@ -169,6 +171,7 @@ public abstract class CodeStyleAbstractPanel implements Disposable { }, null, null); myEditor.getSettings().setRightMargin(getRightMargin()); myLastDocumentModificationStamp = myEditor.getDocument().getModificationStamp(); + myEditor.getScrollingModel().scrollVertically(currOffs); } private void replaceText(final Project project) { From 25a090a4c353c117e38484233b5571fba8df6353 Mon Sep 17 00:00:00 2001 From: Kirill Kalishev Date: Tue, 11 May 2010 13:16:11 +0400 Subject: [PATCH 169/173] project files for CE updated --- .idea/modules.xml | 1 + platform/testFramework/testFramework.iml | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/.idea/modules.xml b/.idea/modules.xml index f590fbc731a2..e177cad44135 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -58,6 +58,7 @@ + diff --git a/platform/testFramework/testFramework.iml b/platform/testFramework/testFramework.iml index 3e78d5b91b15..853d1ec8ed2a 100644 --- a/platform/testFramework/testFramework.iml +++ b/platform/testFramework/testFramework.iml @@ -5,7 +5,6 @@ - From 785d7b38fd8f0bbd3a17040da0e6852fefdbe8ed Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Tue, 11 May 2010 12:18:43 +0400 Subject: [PATCH 170/173] IDEA-54800 --- .../codeInsight/daemon/impl/quickfix/StaticImportMethodFix.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/StaticImportMethodFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/StaticImportMethodFix.java index 9449955e8b86..31cc586b359a 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/StaticImportMethodFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/StaticImportMethodFix.java @@ -47,7 +47,7 @@ public class StaticImportMethodFix implements IntentionAction { private static final Logger LOG = Logger.getInstance("#com.intellij.codeInsight.daemon.impl.quickfix.StaticImportMethodFix"); private final SmartPsiElementPointer myMethodCall; private List candidates; - private static final int OPTIONS = PsiFormatUtil.SHOW_NAME | PsiFormatUtil.SHOW_CONTAINING_CLASS | PsiFormatUtil.SHOW_FQ_NAME; + private static final int OPTIONS = PsiFormatUtil.SHOW_NAME; public StaticImportMethodFix(@NotNull PsiMethodCallExpression methodCallExpression) { myMethodCall = SmartPointerManager.getInstance(methodCallExpression.getProject()).createSmartPsiElementPointer(methodCallExpression); From 418e37571da8404fbc95d56645d88fca7ac4b344 Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Tue, 11 May 2010 13:15:25 +0400 Subject: [PATCH 171/173] IDEA-25059 --- .../usages/impl/rules/MethodGroupingRule.java | 2 +- .../find/actions/ShowUsagesAction.java | 54 +++++++++---------- .../impl/UsageGroupingRuleProviderImpl.java | 20 +++++-- 3 files changed, 43 insertions(+), 33 deletions(-) diff --git a/java/java-impl/src/com/intellij/usages/impl/rules/MethodGroupingRule.java b/java/java-impl/src/com/intellij/usages/impl/rules/MethodGroupingRule.java index 09694b709f7c..8846de62d2fb 100644 --- a/java/java-impl/src/com/intellij/usages/impl/rules/MethodGroupingRule.java +++ b/java/java-impl/src/com/intellij/usages/impl/rules/MethodGroupingRule.java @@ -107,7 +107,7 @@ public class MethodGroupingRule implements UsageGroupingRule { } private PsiMethod getMethod() { - return (PsiMethod)myMethodPointer.getElement(); + return myMethodPointer.getElement(); } @NotNull diff --git a/platform/lang-impl/src/com/intellij/find/actions/ShowUsagesAction.java b/platform/lang-impl/src/com/intellij/find/actions/ShowUsagesAction.java index 64110e91224d..f1a3c0e08dcf 100644 --- a/platform/lang-impl/src/com/intellij/find/actions/ShowUsagesAction.java +++ b/platform/lang-impl/src/com/intellij/find/actions/ShowUsagesAction.java @@ -54,10 +54,7 @@ import com.intellij.ui.TableScrollingUtil; import com.intellij.ui.awt.RelativePoint; import com.intellij.usageView.UsageViewBundle; import com.intellij.usages.*; -import com.intellij.usages.impl.GroupNode; -import com.intellij.usages.impl.NullUsage; -import com.intellij.usages.impl.UsageNode; -import com.intellij.usages.impl.UsageViewImpl; +import com.intellij.usages.impl.*; import com.intellij.usages.rules.UsageFilteringRuleProvider; import com.intellij.util.ArrayUtil; import com.intellij.util.Icons; @@ -110,12 +107,26 @@ public class ShowUsagesAction extends AnAction { hideHints(); } }; + private final UsageViewSettings myUsageViewSettings; // used from plugin.xml @SuppressWarnings({"UnusedDeclaration"}) public ShowUsagesAction() { + this(false); + } + + private ShowUsagesAction(boolean showDialogBefore) { setInjectedContext(true); - showSettingsDialogBefore = false; + showSettingsDialogBefore = showDialogBefore; + + final UsageViewSettings usageViewSettings = UsageViewSettings.getInstance(); + myUsageViewSettings = new UsageViewSettings(); + myUsageViewSettings.loadState(usageViewSettings); + myUsageViewSettings.GROUP_BY_FILE_STRUCTURE = false; + myUsageViewSettings.GROUP_BY_MODULE = false; + myUsageViewSettings.GROUP_BY_PACKAGE = false; + myUsageViewSettings.GROUP_BY_USAGE_TYPE = false; + myUsageViewSettings.GROUP_BY_SCOPE = false; } public static class ShowSettings extends ShowUsagesAction { @@ -124,11 +135,6 @@ public class ShowUsagesAction extends AnAction { } } - private ShowUsagesAction(boolean showDialogBefore) { - setInjectedContext(true); - showSettingsDialogBefore = showDialogBefore; - } - public void actionPerformed(AnActionEvent e) { final Project project = e.getData(PlatformDataKeys.PROJECT); if (project == null) return; @@ -177,25 +183,18 @@ public class ShowUsagesAction extends AnAction { presentation.setDetachedMode(true); final UsageViewSettings usageViewSettings = UsageViewSettings.getInstance(); - final UsageViewSettings save = new UsageViewSettings(); + final UsageViewSettings savedGlobalSettings = new UsageViewSettings(); - save.loadState(usageViewSettings); - usageViewSettings.GROUP_BY_FILE_STRUCTURE = false; - usageViewSettings.GROUP_BY_MODULE = false; - usageViewSettings.GROUP_BY_PACKAGE = false; - usageViewSettings.GROUP_BY_USAGE_TYPE = false; - usageViewSettings.GROUP_BY_SCOPE = false; + savedGlobalSettings.loadState(usageViewSettings); + usageViewSettings.loadState(myUsageViewSettings); UsageViewManager manager = UsageViewManager.getInstance(handler.getProject()); final UsageViewImpl usageView = (UsageViewImpl)manager.createUsageView(UsageTarget.EMPTY_ARRAY, Usage.EMPTY_ARRAY, presentation, null); Disposer.register(usageView, new Disposable() { public void dispose() { - usageViewSettings.GROUP_BY_FILE_STRUCTURE = save.GROUP_BY_FILE_STRUCTURE; - usageViewSettings.GROUP_BY_MODULE = save.GROUP_BY_MODULE; - usageViewSettings.GROUP_BY_PACKAGE = save.GROUP_BY_PACKAGE; - usageViewSettings.GROUP_BY_USAGE_TYPE = save.GROUP_BY_USAGE_TYPE; - usageViewSettings.GROUP_BY_SCOPE = save.GROUP_BY_SCOPE; + myUsageViewSettings.loadState(usageViewSettings); + usageViewSettings.loadState(savedGlobalSettings); } }); @@ -431,10 +430,11 @@ public class ShowUsagesAction extends AnAction { }); builder.setCommandButton(button); - DefaultActionGroup filters = new DefaultActionGroup(); - usageView.addFilteringActions(filters); + DefaultActionGroup toolbar = new DefaultActionGroup(); + usageView.addFilteringActions(toolbar); - filters.add(new AnAction("Open Find Usages Toolwindow", "Show all usages in a separate toolwindow", IconLoader.getIcon("/general/toolWindowFind.png")) { + toolbar.add(UsageGroupingRuleProviderImpl.createGroupByFileStructureAction(usageView)); + toolbar.add(new AnAction("Open Find Usages Toolwindow", "Show all usages in a separate toolwindow", IconLoader.getIcon("/general/toolWindowFind.png")) { { AnAction action = ActionManager.getInstance().getAction(IdeActions.ACTION_FIND_USAGES); setShortcutSet(action.getShortcutSet()); @@ -453,14 +453,14 @@ public class ShowUsagesAction extends AnAction { } }); - ActionToolbar actionToolbar = ActionManager.getInstance().createActionToolbar(ActionPlaces.USAGE_VIEW_TOOLBAR, filters, true); + ActionToolbar actionToolbar = ActionManager.getInstance().createActionToolbar(ActionPlaces.USAGE_VIEW_TOOLBAR, toolbar, true); actionToolbar.setReservePlaceAutoPopupIcon(false); final JComponent toolBar = actionToolbar.getComponent(); toolBar.setOpaque(false); builder.setSettingButton(toolBar); popup[0] = builder.createPopup(); - for (AnAction action : filters.getChildren(null)) { + for (AnAction action : toolbar.getChildren(null)) { action.unregisterCustomShortcutSet(usageView.getComponent()); action.registerCustomShortcutSet(action.getShortcutSet(), popup[0].getContent()); } diff --git a/platform/usageView/src/com/intellij/usages/impl/UsageGroupingRuleProviderImpl.java b/platform/usageView/src/com/intellij/usages/impl/UsageGroupingRuleProviderImpl.java index 4bdf2de706b3..840c905822fa 100644 --- a/platform/usageView/src/com/intellij/usages/impl/UsageGroupingRuleProviderImpl.java +++ b/platform/usageView/src/com/intellij/usages/impl/UsageGroupingRuleProviderImpl.java @@ -80,14 +80,10 @@ public class UsageGroupingRuleProviderImpl implements UsageGroupingRuleProvider final GroupByModuleTypeAction groupByModuleTypeAction = new GroupByModuleTypeAction(impl); groupByModuleTypeAction.registerCustomShortcutSet(new CustomShortcutSet(KeyStroke.getKeyStroke(KeyEvent.VK_D, InputEvent.CTRL_DOWN_MASK)), component); - final GroupByFileStructureAction groupByFileStructureAction = new GroupByFileStructureAction(impl); - groupByFileStructureAction.registerCustomShortcutSet(new CustomShortcutSet(KeyStroke.getKeyStroke(KeyEvent.VK_M, - InputEvent.CTRL_DOWN_MASK)), component); - + final GroupByFileStructureAction groupByFileStructureAction = createGroupByFileStructureAction(impl); impl.scheduleDisposeOnClose(new Disposable() { public void dispose() { groupByModuleTypeAction.unregisterCustomShortcutSet(component); - groupByFileStructureAction.unregisterCustomShortcutSet(component); } }); @@ -123,6 +119,20 @@ public class UsageGroupingRuleProviderImpl implements UsageGroupingRuleProvider } } + public static GroupByFileStructureAction createGroupByFileStructureAction(UsageViewImpl impl) { + final JComponent component = impl.getComponent(); + final GroupByFileStructureAction groupByFileStructureAction = new GroupByFileStructureAction(impl); + groupByFileStructureAction.registerCustomShortcutSet(new CustomShortcutSet(KeyStroke.getKeyStroke(KeyEvent.VK_M, + InputEvent.CTRL_DOWN_MASK)), component); + + impl.scheduleDisposeOnClose(new Disposable() { + public void dispose() { + groupByFileStructureAction.unregisterCustomShortcutSet(component); + } + }); + return groupByFileStructureAction; + } + private static class GroupByUsageTypeAction extends RuleAction { private GroupByUsageTypeAction(UsageViewImpl view) { super(view, UsageViewBundle.message("action.group.by.usage.type"), IconLoader.getIcon("/ant/filter.png")); //TODO: special icon From bd36aa4f8d205b772a67963cf1d419355ebd4f86 Mon Sep 17 00:00:00 2001 From: Kirill Kalishev Date: Tue, 11 May 2010 13:21:32 +0400 Subject: [PATCH 172/173] Revert "revert: no background progress is visible" This reverts commit 5a8cf4a5c40ab15c49958f6e52ae3152897e4e2d. --- .../com/intellij/util/ui/AnimatedIcon.java | 40 +++++++------------ 1 file changed, 14 insertions(+), 26 deletions(-) diff --git a/platform/platform-api/src/com/intellij/util/ui/AnimatedIcon.java b/platform/platform-api/src/com/intellij/util/ui/AnimatedIcon.java index 5764bf40dbeb..72144f1242a1 100644 --- a/platform/platform-api/src/com/intellij/util/ui/AnimatedIcon.java +++ b/platform/platform-api/src/com/intellij/util/ui/AnimatedIcon.java @@ -150,33 +150,16 @@ public abstract class AnimatedIcon extends JComponent implements Disposable { protected void paintComponent(Graphics g) { if (myPaintingBgNow) return; - if ((myAnimator.isRunning() || myPaintPassive || (myLastPaintWasRunning && !myAnimator.isRunning()))) { - Rectangle b = getBounds(); - - if (!isOpaque()) { - try { - myPaintingBgNow = true; - Container p = getParent(); - if (p instanceof JComponent) { - JComponent parentComponent = (JComponent)p; - RepaintManager.currentManager(p).addDirtyRegion(parentComponent, b.x, b.y, b.width, b.height); - } - } - finally { - myPaintingBgNow = false; - } - } else { - Container parent = getParent(); - if (parent instanceof JComponent) { - final Component opaque = UIUtil.findNearestOpaque((JComponent)parent); - if (opaque != null) { - g.setColor(opaque.getBackground()); - g.fillRect(b.x, b.y, b.width, b.height); - } - } + if (isOpaque()) { + final Container parent = getParent(); + JComponent opaque = null; + if (parent instanceof JComponent) { + opaque = (JComponent)UIUtil.findNearestOpaque((JComponent)parent); } - - } + Color bg = opaque != null ? opaque.getBackground() : UIManager.getColor("Panel.background"); + g.setColor(bg); + g.fillRect(0, 0, getWidth(), getHeight()); + } Icon icon; @@ -207,4 +190,9 @@ public abstract class AnimatedIcon extends JComponent implements Disposable { public boolean isAnimated() { return true; } + + @Override + public String toString() { + return myName + " isRunning=" + myRunning + " isOpaque=" + isOpaque() + " paintPassive=" + myPaintPassive; + } } From d0511cedb612929eccf59b3c1087153b6d4a29d1 Mon Sep 17 00:00:00 2001 From: Maxim Medvedev Date: Tue, 11 May 2010 14:17:47 +0400 Subject: [PATCH 173/173] improve parameter info handler for Groovy --- .../GroovyParameterInfoHandler.java | 57 ++++++++++++++++++- 1 file changed, 54 insertions(+), 3 deletions(-) diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/parameterInfo/GroovyParameterInfoHandler.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/parameterInfo/GroovyParameterInfoHandler.java index 851b6af094d4..f4b560bddc5f 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/parameterInfo/GroovyParameterInfoHandler.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/parameterInfo/GroovyParameterInfoHandler.java @@ -20,7 +20,9 @@ import com.intellij.codeInsight.completion.JavaCompletionUtil; import com.intellij.codeInsight.lookup.LookupElement; import com.intellij.lang.parameterInfo.*; import com.intellij.openapi.util.Condition; +import com.intellij.openapi.util.TextRange; import com.intellij.psi.*; +import com.intellij.psi.tree.IElementType; import com.intellij.psi.util.PsiTreeUtil; import com.intellij.util.ArrayUtil; import com.intellij.util.containers.ContainerUtil; @@ -28,6 +30,7 @@ import com.intellij.util.text.CharArrayUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.plugins.groovy.lang.documentation.GroovyPresentationUtil; +import org.jetbrains.plugins.groovy.lang.lexer.GroovyTokenTypes; import org.jetbrains.plugins.groovy.lang.psi.GroovyPsiElement; import org.jetbrains.plugins.groovy.lang.psi.api.GroovyResolveResult; import org.jetbrains.plugins.groovy.lang.psi.api.statements.GrVariable; @@ -183,24 +186,72 @@ public class GroovyParameterInfoHandler implements ParameterInfoHandler 0 ? 1 : 0; final GrExpression[] exprs = list.getExpressionArguments(); for (GrExpression expr : exprs) { - if (expr.getTextRange().contains(offset)) return idx; + if (getArgRange(expr).contains(offset)) return idx; idx++; } + + if (exprs.length == 0 || getArgRange(exprs[exprs.length - 1]).getEndOffset() <= offset) { + return idx; + } + else { + return 0; + } } return -1; } + private static TextRange getArgRange(PsiElement arg) { + PsiElement cur = arg; + int end; + int start; + do { + PsiElement sibling = cur.getNextSibling(); + if (sibling == null) { + end = cur.getTextRange().getEndOffset(); + break; + } + else { + cur = sibling; + } + IElementType type = cur.getNode().getElementType(); + if (GroovyTokenTypes.mCOMMA.equals(type) || GroovyTokenTypes.mRPAREN.equals(type)) { + end = cur.getTextRange().getStartOffset(); + break; + } + } + while (true); + + do { + PsiElement sibling = cur.getPrevSibling(); + if (sibling == null) { + start = cur.getTextRange().getStartOffset(); + break; + } + else { + cur = sibling; + } + IElementType type = cur.getNode().getElementType(); + if (GroovyTokenTypes.mCOMMA.equals(type) || GroovyTokenTypes.mLPAREN.equals(type)) { + start = cur.getTextRange().getEndOffset(); + break; + } + } + while (true); + + return new TextRange(start, end + 1); + } + public String getParameterCloseChars() { return ",){}";

    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

+ * Objects of the following type(s) are allowed in the list + * {@link ArtifactType } + * + * + */ + public List getArtifact() { + if (artifact == null) { + artifact = new ArrayList(); + } + return this.artifact; + } + + } + +} diff --git a/plugins/maven/facade/org/jetbrains/idea/maven/facade/nexus/nexus.wadl b/plugins/maven/facade/org/jetbrains/idea/maven/facade/nexus/nexus.wadl new file mode 100644 index 000000000000..4eb1cc31849d --- /dev/null +++ b/plugins/maven/facade/org/jetbrains/idea/maven/facade/nexus/nexus.wadl @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/maven/facade/org/jetbrains/idea/maven/facade/nexus/nexus.xsd b/plugins/maven/facade/org/jetbrains/idea/maven/facade/nexus/nexus.xsd new file mode 100644 index 000000000000..ad51660ef2df --- /dev/null +++ b/plugins/maven/facade/org/jetbrains/idea/maven/facade/nexus/nexus.xsd @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/maven/facade/org/jetbrains/idea/maven/facade/remote/MavenFacade.java b/plugins/maven/facade/org/jetbrains/idea/maven/facade/remote/MavenFacade.java new file mode 100644 index 000000000000..a585d2e168ad --- /dev/null +++ b/plugins/maven/facade/org/jetbrains/idea/maven/facade/remote/MavenFacade.java @@ -0,0 +1,98 @@ +/* + * Copyright 2000-2010 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jetbrains.idea.maven.facade.remote; + +import org.jetbrains.idea.maven.facade.nexus.ArtifactType; + +import java.io.Serializable; +import java.rmi.Remote; +import java.rmi.RemoteException; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +/** + * @author Gregory.Shrago + */ +public interface MavenFacade extends Remote { + + List findArtifacts(ArtifactType template) throws RemoteException; + + Map> resolveDependencies(List artifacts) throws RemoteException; + + void setTransferListener(RemoteTransferListener listener) throws RemoteException; + + void setMavenSettings(MavenFacadeSettings settings) throws RemoteException; + + class MavenFacadeSettings implements Serializable { + private Repository myLocalRepository; + private final List myRemoteRepositories = new ArrayList(); + private final List myNexusUrls = new ArrayList(); + + public Repository getLocalRepository() { + return myLocalRepository; + } + + public void setLocalRepository(Repository localRepository) { + myLocalRepository = localRepository; + } + + public List getRemoteRepositories() { + return myRemoteRepositories; + } + + public List getNexusUrls() { + return myNexusUrls; + } + } + + class Repository implements Serializable { + private String myId; + private String myUrl; + private String myLayout; + + public Repository(String id, String url, String layout) { + myUrl = url; + myId = id; + myLayout = layout; + } + + public String getId() { + return myId; + } + + public void setId(String id) { + myId = id; + } + + public String getUrl() { + return myUrl; + } + + public void setUrl(String url) { + myUrl = url; + } + + public String getLayout() { + return myLayout; + } + + public void setLayout(String layout) { + myLayout = layout; + } + } + +} diff --git a/plugins/maven/facade/org/jetbrains/idea/maven/facade/remote/MavenFacadeLocator.java b/plugins/maven/facade/org/jetbrains/idea/maven/facade/remote/MavenFacadeLocator.java new file mode 100644 index 000000000000..70c3875a4844 --- /dev/null +++ b/plugins/maven/facade/org/jetbrains/idea/maven/facade/remote/MavenFacadeLocator.java @@ -0,0 +1,151 @@ +package org.jetbrains.idea.maven.facade.remote; + +import com.intellij.openapi.util.Pair; +import com.intellij.openapi.util.Ref; +import org.jetbrains.idea.maven.facade.nexus.ArtifactType; + +import java.io.*; +import java.net.URL; +import java.net.URLClassLoader; +import java.nio.CharBuffer; +import java.rmi.registry.LocateRegistry; +import java.util.List; + +/** + * @author Gregory.Shrago + */ +public class MavenFacadeLocator { + + private static final String PORT_ID_PREFIX = "Port/ID:"; + + public static Pair acquireFacade(String[] cmdArray, String[] envP, File dir) throws Exception { + final Process process = Runtime.getRuntime().exec(cmdArray, envP, dir); + final Ref> result = Ref.create(null); + final Runnable target = new Runnable() { + public void run() { + try { + eatOutStreams(process, result); + } + catch (Exception e) { + if (result.isNull()) { + synchronized (result) { + result.notifyAll(); + } + } + } + } + }; + final Thread thread = new Thread(target, "Process Streams Reader"); + thread.setDaemon(true); + thread.start(); + synchronized (result) { + if (result.isNull()) { + result.wait(); + } + } + if (result.isNull()) throw new RuntimeException(); + else return Pair.create((MavenFacade)LocateRegistry.getRegistry(result.get().first).lookup(result.get().second), process); + } + + private static void eatOutStreams(Process process, Ref> result) throws Exception { + final InputStream stderr = process.getErrorStream(); + final InputStream stdout = process.getInputStream(); + final Reader errReader = new InputStreamReader(stderr); + final Reader outReader = new InputStreamReader(stdout); + final StringBuilder err = new StringBuilder(); + final StringBuilder out = new StringBuilder(); + final CharBuffer buffer = CharBuffer.allocate(1024); + int curOutIndex = 0; + + while (true) { + while (stderr.available() > 0) { + final int count = errReader.read(buffer); + err.append(buffer.array(), 0, count); + } + while (stdout.available() > 0) { + final int count = outReader.read(buffer); + out.append(buffer.array(), 0, count); + } + if (err.length() > 0) { + if (result.isNull()) { + break; + } + System.out.println(err); + err.setLength(0); + } + if (out.length() > 0) { + int nlIndex; + while ((nlIndex = out.indexOf("\n", curOutIndex)) >= 0) { + final String text = out.substring(curOutIndex, nlIndex); + curOutIndex = nlIndex + 1; + if (text.startsWith(PORT_ID_PREFIX)) { + final String pair = text.substring(PORT_ID_PREFIX.length()).trim(); + final int idx = pair.indexOf("/"); + final int port = Integer.parseInt(pair.substring(0, idx)); + final String name = pair.substring(idx + 1); + System.out.println("Connecting to: localhost:" + port + ". Looking up: " + name); + synchronized (result) { + result.set(Pair.create(port, name)); + result.notifyAll(); + } + } + } + curOutIndex = 0; + out.setLength(0); + } + Thread.sleep(1000L); + } + System.out.println("Destroying process"); + process.destroy(); + if (result.isNull()) { + synchronized (result) { + result.notifyAll(); + } + } + } + + public static void main(String[] args) throws Exception { + final String systemPath; + final ClassLoader loader = MavenFacadeLocator.class.getClassLoader(); + if (loader instanceof URLClassLoader) { + final URL[] urls = ((URLClassLoader)loader).getURLs(); + final StringBuilder sb = new StringBuilder(); + for (URL url : urls) { + if (sb.length() > 0) sb.append(File.pathSeparator); + sb.append(url.getFile().replace('/', File.separatorChar)); + } + systemPath = sb.toString(); + } + else { + systemPath = System.getProperty("java.class.path"); + } + + final String debug1 = "-Xdebug"; + final String debug2 = "-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5009"; + final Pair pair = + acquireFacade(new String[]{"java", "-cp", systemPath, debug1, debug2, RemoteMavenServer.class.getName()}, null, null); + final MavenFacade facade = pair.first; + final MavenFacade.MavenFacadeSettings settings = new MavenFacade.MavenFacadeSettings(); + settings.getNexusUrls().add("http://repository.sonatype.org/service/local/"); + facade.setMavenSettings(settings); + final String lookup = args.length > 0 ? args[0] : "hibernate"; + System.out.println("Looking up: "+lookup); + final List result = facade.findArtifacts(createTemplate(lookup)); + int i=1; + for (ArtifactType type : result) { + System.out.println((++i)+". "+type.getGroupId()+":"+type.getArtifactId()+":"+type.getVersion()); + } + pair.second.destroy(); + System.exit(0); + } + + private static ArtifactType createTemplate(String coord) { + final ArtifactType template = new ArtifactType(); + final String[] parts = coord.split(":"); + template.setGroupId(parts.length > 0 ? parts[0] : null); + template.setArtifactId(parts.length > 1 ? parts[1] : null); + template.setVersion(parts.length > 2 ? parts[2] : null); + return template; + } + +} diff --git a/plugins/maven/facade/org/jetbrains/idea/maven/facade/remote/RemoteMavenServer.java b/plugins/maven/facade/org/jetbrains/idea/maven/facade/remote/RemoteMavenServer.java new file mode 100644 index 000000000000..bbb4223cdb72 --- /dev/null +++ b/plugins/maven/facade/org/jetbrains/idea/maven/facade/remote/RemoteMavenServer.java @@ -0,0 +1,61 @@ +/* + * Copyright 2000-2010 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jetbrains.idea.maven.facade.remote; + +import org.jetbrains.idea.maven.facade.remote.impl.MavenFacadeImpl; + +import java.rmi.registry.LocateRegistry; +import java.rmi.registry.Registry; +import java.rmi.server.ExportException; +import java.rmi.server.UnicastRemoteObject; +import java.util.Random; + +/** + * @author Gregory.Shrago + */ +public class RemoteMavenServer { + public static void main(String[] args) throws Exception { + Registry registry; + int port = 0; + for (Random random = new Random(); ;) { + port = random.nextInt(0xffff); + if (port < 4000) continue; + try { + registry = LocateRegistry.createRegistry(port); + break; + } + catch (ExportException ex) { + // try next port + } + } + try { + final MavenFacade mavenFacade = new MavenFacadeImpl(); + final MavenFacade stub = (MavenFacade)UnicastRemoteObject.exportObject(mavenFacade, 0); + final String name = "Maven" + Integer.toHexString(stub.hashCode()); + registry.bind(name, stub); + System.out.println("Port/ID:" + port + "/" + name); + final Object lock = new Object(); + synchronized (lock) { + lock.wait(); + } + } + catch (Throwable e) { + e.printStackTrace(); + System.exit(1); + } + } + +} diff --git a/plugins/maven/facade/org/jetbrains/idea/maven/facade/remote/RemoteTransferListener.java b/plugins/maven/facade/org/jetbrains/idea/maven/facade/remote/RemoteTransferListener.java new file mode 100644 index 000000000000..172c7a051476 --- /dev/null +++ b/plugins/maven/facade/org/jetbrains/idea/maven/facade/remote/RemoteTransferListener.java @@ -0,0 +1,123 @@ +package org.jetbrains.idea.maven.facade.remote; + +import java.io.File; +import java.io.Serializable; +import java.rmi.Remote; +import java.rmi.RemoteException; + +/** + * @author Gregory.Shrago + */ +public interface RemoteTransferListener extends Remote { + void transferInitiated(TransferEvent transferEvent) throws RemoteException; + + void transferStarted(TransferEvent transferEvent) throws RemoteException; + + void transferProgress(TransferEvent transferEvent, int length) throws RemoteException; + + void transferCompleted(TransferEvent transferEvent) throws RemoteException; + + void transferError(TransferEvent transferEvent) throws RemoteException; + + void debug(String s) throws RemoteException; + + + class TransferEvent implements Serializable { + + public enum EventType { INITIATED, STARTED, COMPLETED, PROGRESS, ERROR } + public enum RequestType { PUT, GET } + + private final String myRepositoryUrl; + private final File myLocalFile; + private final EventType myEventType; + private final RequestType myRequestType; + private final Resource myResource; + private final Exception myException; + + public TransferEvent(File localFile, + EventType eventType, + RequestType requestType, + Resource resource, + Exception exception, + String repositoryUrl) { + myLocalFile = localFile; + myEventType = eventType; + myRequestType = requestType; + myResource = resource; + myException = exception; + myRepositoryUrl = repositoryUrl; + } + + public String getRepositoryUrl() { + return myRepositoryUrl; + } + + public File getLocalFile() { + return myLocalFile; + } + + public EventType getEventType() { + return myEventType; + } + + public RequestType getRequestType() { + return myRequestType; + } + + public Exception getException() { + return myException; + } + + public Resource getResource() { + return myResource; + } + } + + class Resource implements Serializable { + + private final String myResourceName; + private final long myResourceLastModified; + private final long myResourceContentLength; + + public Resource(String resourceName, long resourceLastModified, long resourceContentLength) { + myResourceName = resourceName; + myResourceLastModified = resourceLastModified; + myResourceContentLength = resourceContentLength; + } + + public String getResourceName() { + return myResourceName; + } + + public long getResourceLastModified() { + return myResourceLastModified; + } + + public long getResourceContentLength() { + return myResourceContentLength; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + Resource resource = (Resource)o; + + if (myResourceContentLength != resource.myResourceContentLength) return false; + if (myResourceLastModified != resource.myResourceLastModified) return false; + if (!myResourceName.equals(resource.myResourceName)) return false; + + return true; + } + + @Override + public int hashCode() { + int result = myResourceName.hashCode(); + result = 31 * result + (int)(myResourceLastModified ^ (myResourceLastModified >>> 32)); + result = 31 * result + (int)(myResourceContentLength ^ (myResourceContentLength >>> 32)); + return result; + } + } + +} \ No newline at end of file diff --git a/plugins/maven/facade/org/jetbrains/idea/maven/facade/remote/impl/MavenFacadeImpl.java b/plugins/maven/facade/org/jetbrains/idea/maven/facade/remote/impl/MavenFacadeImpl.java new file mode 100644 index 000000000000..f52c4fee3270 --- /dev/null +++ b/plugins/maven/facade/org/jetbrains/idea/maven/facade/remote/impl/MavenFacadeImpl.java @@ -0,0 +1,341 @@ +/* + * Copyright 2000-2010 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jetbrains.idea.maven.facade.remote.impl; + +import org.apache.maven.artifact.Artifact; +import org.apache.maven.artifact.DefaultArtifact; +import org.apache.maven.artifact.factory.ArtifactFactory; +import org.apache.maven.artifact.manager.WagonManager; +import org.apache.maven.artifact.metadata.ArtifactMetadataSource; +import org.apache.maven.artifact.repository.ArtifactRepository; +import org.apache.maven.artifact.repository.DefaultArtifactRepository; +import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout; +import org.apache.maven.artifact.resolver.*; +import org.apache.maven.artifact.resolver.filter.ScopeArtifactFilter; +import org.apache.maven.artifact.versioning.VersionRange; +import org.apache.maven.settings.MavenSettingsBuilder; +import org.apache.maven.settings.RuntimeInfo; +import org.apache.maven.settings.Settings; +import org.apache.maven.wagon.events.TransferEvent; +import org.apache.maven.wagon.events.TransferListener; +import org.codehaus.classworlds.ClassWorld; +import org.codehaus.plexus.DefaultPlexusContainer; +import org.codehaus.plexus.PlexusContainerException; +import org.codehaus.plexus.component.repository.exception.ComponentLookupException; +import org.codehaus.plexus.util.xml.pull.XmlPullParserException; +import org.jetbrains.idea.maven.facade.nexus.ArtifactType; +import org.jetbrains.idea.maven.facade.nexus.Endpoint; +import org.jetbrains.idea.maven.facade.nexus.SearchResults; +import org.jetbrains.idea.maven.facade.remote.MavenFacade; +import org.jetbrains.idea.maven.facade.remote.RemoteTransferListener; + +import java.io.IOException; +import java.net.MalformedURLException; +import java.rmi.RemoteException; +import java.util.*; + +/** + * @author Gregory.Shrago + */ +public class MavenFacadeImpl extends RemoteImpl implements MavenFacade { + + private static final DefaultPlexusContainer ourContainer = initializeMaven(); + private MavenFacadeSettings mySettings; + + public static DefaultPlexusContainer initializeMaven() { + DefaultPlexusContainer container; + try { + container = new DefaultPlexusContainer(); + } + catch (RuntimeException e) { + String s = "Cannot initialize Maven. Please make sure that your IDEA installation is correct and has no old libraries."; + throw new RuntimeException(s, e); + } + + container.setClassWorld(new ClassWorld("plexus.core", Thread.currentThread().getContextClassLoader())); +// CustomLoggerManager loggerManager = new CustomLoggerManager(generalSettings.getLoggingLevel()); +// container.setLoggerManager(loggerManager); + + try { + container.initialize(); + container.start(); + } + catch (PlexusContainerException e) { + throw new RuntimeException(e); + } + +// System.setProperty("maven.home", "<...>"); +// System.setProperty(MavenSettingsBuilder.ALT_GLOBAL_SETTINGS_XML_LOCATION, "<..>"); + + Settings settings = null; + + try { + MavenSettingsBuilder builder = (MavenSettingsBuilder)container.lookup(MavenSettingsBuilder.ROLE); +// File userSettingsFile = generalSettings.getEffectiveUserSettingsIoFile(); +// if (userSettingsFile != null && userSettingsFile.exists() && !userSettingsFile.isDirectory()) { +// settings = builder.buildSettings(userSettingsFile, false); +// } + if (settings == null) { + settings = builder.buildSettings(); + } + } + catch (ComponentLookupException e) { + e.printStackTrace(); + } + catch (IOException e) { + e.printStackTrace(); + } + catch (XmlPullParserException e) { + e.printStackTrace(); + } + + if (settings == null) { + settings = new Settings(); + } + +// settings.setLocalRepository("<...>"); + + settings.setOffline(false); + settings.setInteractiveMode(false); + settings.setUsePluginRegistry(false); + + RuntimeInfo runtimeInfo = new RuntimeInfo(settings); +// runtimeInfo.setPluginUpdateOverride(generalSettings.getPluginUpdatePolicy() == MavenExecutionOptions.PluginUpdatePolicy.UPDATE); + settings.setRuntimeInfo(runtimeInfo); + + return container; + + } + + public List findArtifacts(ArtifactType template) throws RemoteException { + final HashMap result = new HashMap(); + for (String url : mySettings.getNexusUrls()) { + try { + final SearchResults results = new Endpoint.DataIndex(url) + .getArtifactlistAsSearchResults(null, template.getGroupId(), template.getArtifactId(), template.getVersion(), + template.getClassifier()); + for (ArtifactType artifact : results.getData().getArtifact()) { + result.put(artifact.getGroupId() + ":" + artifact.getArtifactId() + ":" + artifact.getVersion(), artifact); + } + } + catch (Exception e) { + e.printStackTrace(); + } + } + return new ArrayList(result.values()); + } + + public Map> resolveDependencies(List artifacts) throws RemoteException { + try { + return resolveDependenciesInner(artifacts); + } + catch (Exception e) { + handleException(e); + throw new AssertionError(); + } + } + + public void setTransferListener(final RemoteTransferListener listener) throws RemoteException { + try { + final WagonManager wagonManager = (WagonManager)ourContainer.lookup(WagonManager.ROLE); + if (listener == null) { + wagonManager.setDownloadMonitor(null); + return; + } + wagonManager.setDownloadMonitor(new TransferListener() { + public void transferInitiated(TransferEvent transferEvent) { + try { + listener.transferInitiated(convert(transferEvent)); + } + catch (RemoteException ignored) { } + } + + public void transferStarted(TransferEvent transferEvent) { + try { + listener.transferStarted(convert(transferEvent)); + } + catch (RemoteException ignored) { + } + } + + public void transferProgress(TransferEvent transferEvent, byte[] bytes, int i) { + try { + listener.transferProgress(convert(transferEvent), i); + } + catch (RemoteException ignored) { + } + } + + public void transferCompleted(TransferEvent transferEvent) { + try { + listener.transferCompleted(convert(transferEvent)); + } + catch (RemoteException ignored) { + } + } + + public void transferError(TransferEvent transferEvent) { + try { + listener.transferError(convert(transferEvent)); + } + catch (RemoteException ignored) { + } + } + + public void debug(String s) { + try { + listener.debug(s); + } + catch (RemoteException ignored) { + } + } + }); + } + catch (Exception e) { + handleException(e); + throw new AssertionError(); + } + } + + public void setMavenSettings(MavenFacadeSettings settings) throws RemoteException { + mySettings = settings; + } + + private static RemoteTransferListener.TransferEvent convert(TransferEvent transferEvent) { + final RemoteTransferListener.TransferEvent.EventType et; + switch (transferEvent.getEventType()) { + case TransferEvent.TRANSFER_INITIATED: et = RemoteTransferListener.TransferEvent.EventType.INITIATED; break; + case TransferEvent.TRANSFER_STARTED: et = RemoteTransferListener.TransferEvent.EventType.STARTED; break; + case TransferEvent.TRANSFER_PROGRESS: et = RemoteTransferListener.TransferEvent.EventType.PROGRESS; break; + case TransferEvent.TRANSFER_COMPLETED: et = RemoteTransferListener.TransferEvent.EventType.COMPLETED; break; + case TransferEvent.TRANSFER_ERROR: et = RemoteTransferListener.TransferEvent.EventType.ERROR; break; + default: throw new AssertionError(transferEvent.getEventType()); + } + final RemoteTransferListener.TransferEvent.RequestType reqType = transferEvent.getRequestType() == TransferEvent.REQUEST_GET + ? RemoteTransferListener.TransferEvent.RequestType.GET + : RemoteTransferListener.TransferEvent.RequestType.PUT; + final RemoteTransferListener.Resource resource = new RemoteTransferListener.Resource(transferEvent.getResource().getName(), + transferEvent.getResource().getLastModified(), + transferEvent.getResource().getContentLength()); + return new RemoteTransferListener.TransferEvent(transferEvent.getLocalFile(), et, reqType, resource, transferEvent.getException(), transferEvent.getWagon().getRepository().getUrl()); + } + + + private Map> resolveDependenciesInner(List artifactsToResolve) throws Exception { + final ArtifactResolver resolver = (ArtifactResolver)ourContainer.lookup(ArtifactResolver.ROLE); + final ArtifactFactory artifactFactory = (ArtifactFactory)ourContainer.lookup(ArtifactFactory.ROLE); + final ArtifactMetadataSource metadataSource = (ArtifactMetadataSource)ourContainer.lookup(ArtifactMetadataSource.ROLE); + + final ArtifactRepository localRepo = getRepository(mySettings.getLocalRepository()); + final List remoteRepos = new ArrayList(); + for (Repository repository : mySettings.getRemoteRepositories()) { + remoteRepos.add(getRepository(repository)); + } + + + final Artifact project = artifactFactory.createBuildArtifact("local", "project", "1.0", "pom"); + final Set toResolve = new HashSet(); + for (ArtifactType template : artifactsToResolve) { + final Artifact artifact = artifactFactory.createDependencyArtifact( + template.getGroupId(), + template.getArtifactId(), + template.getVersion() == null? null :VersionRange.createFromVersion(template.getVersion()), + template.getPackaging(), + null, + "runtime"); + toResolve.add(artifact); + } + +// resolver.resolve(artifact, remoteRepos, localRepo); +// final List list = (List)metadataSource.retrieveAvailableVersions(artifact, localRepo, remoteRepos); +// for (ArtifactVersion o : list) { +// System.out.println("avail version: " + o); +// } + final Map> resultMap = new HashMap>(); + for (Artifact artifact : toResolve) { + try { + final ArtifactResolutionResult result = resolver.resolveTransitively( + Collections.singleton(artifact), project, Collections.EMPTY_MAP, localRepo, remoteRepos, + metadataSource, new ScopeArtifactFilter(DefaultArtifact.SCOPE_RUNTIME)); + resultMap.put(getCoordinate(artifact), toArtifactTypeList(result.getArtifacts())); + } + catch (MultipleArtifactsNotFoundException e) { + resultMap.put(getCoordinate(artifact), toArtifactTypeList(e.getResolvedArtifacts())); + //System.out.println("Missing: -------------------"); + //toArtifactTypeList(e.getMissingArtifacts()); + } + catch (ArtifactResolutionException e) { + //throw e; + } + catch (ArtifactNotFoundException e) { + //throw e; + //System.out.println("Missing: -------------------"); + //toArtifactTypeList(Collections.singletonList(e.getArtifact())); + } + } + return resultMap; + } + + private static ArtifactRepository getRepository(Repository r) throws ComponentLookupException { + final ArtifactRepositoryLayout repoLayout = (ArtifactRepositoryLayout)ourContainer.lookup(ArtifactRepositoryLayout.ROLE, r.getLayout()); + return new DefaultArtifactRepository(r.getId(), r.getUrl(), repoLayout); + } + + private static Map> toArtifactTypeMap(Collection toResolve, Collection resolvedArtifacts) { + final Map> result = new HashMap>(); + final Map idMap = new HashMap(); + for (Artifact artifact : toResolve) { + idMap.put(artifact.getId(), getCoordinate(artifact)); + result.put(getCoordinate(artifact), new ArrayList()); + } + for (Artifact artifact : resolvedArtifacts) { + List list = null; + for (String s : artifact.getDependencyTrail()) { + list = result.get(idMap.get(s)); + if (list != null) { + list.add(toArtifactType(artifact)); + break; + } + } + if (list == null) { + throw new AssertionError(getCoordinate(artifact)); + } + } + return result; + } + + private static String getCoordinate(Artifact artifact) { + return artifact.getGroupId()+":"+artifact.getArtifactId()+":"+artifact.getVersion(); + } + + private static List toArtifactTypeList(Collection artifacts) throws MalformedURLException { + final ArrayList result = new ArrayList(artifacts.size()); + for (Artifact artifact : artifacts) { + result.add(toArtifactType(artifact)); + } + return result; + } + + private static ArtifactType toArtifactType(Artifact artifact) { + final ArtifactType type = new ArtifactType(); + type.setGroupId(artifact.getGroupId()); + type.setArtifactId(artifact.getArtifactId()); + type.setVersion(artifact.getVersion()); + type.setClassifier(artifact.getClassifier()); + type.setResourceUri(artifact.getFile().toURI().toASCIIString()); + return type; + } +} diff --git a/plugins/maven/facade/org/jetbrains/idea/maven/facade/remote/impl/RemoteImpl.java b/plugins/maven/facade/org/jetbrains/idea/maven/facade/remote/impl/RemoteImpl.java new file mode 100644 index 000000000000..4f5b944710cb --- /dev/null +++ b/plugins/maven/facade/org/jetbrains/idea/maven/facade/remote/impl/RemoteImpl.java @@ -0,0 +1,95 @@ +package org.jetbrains.idea.maven.facade.remote.impl; + +import com.intellij.util.containers.ContainerUtil; + +import java.lang.ref.WeakReference; +import java.rmi.Remote; +import java.rmi.RemoteException; +import java.rmi.server.UnicastRemoteObject; +import java.rmi.server.Unreferenced; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + +/** + * @author Gregory.Shrago + */ +public class RemoteImpl implements Remote, Unreferenced { + private final Map myChildren = new ConcurrentHashMap(); + private final WeakReference myWeakRef; + private RemoteImpl myParent; + + public RemoteImpl() { + myWeakRef = new WeakReference(this); + } + + public WeakReference getWeakRef() { + return myWeakRef; + } + + protected T export(final T child) throws RemoteException { + if (child == null) return null; + final T result = (T)UnicastRemoteObject.exportObject(child, 0); + myChildren.put((RemoteImpl)child, result); + ((RemoteImpl)child).myParent = this; + return result; + } + + protected T export2(final T child) throws RemoteException { + return export(child); + } + + public void unexportChildren() throws RemoteException { + final ArrayList childrenRefs = new ArrayList(myChildren.keySet()); + myChildren.clear(); + for (RemoteImpl child : childrenRefs) { + child.unreferenced(); + } + } + + protected void unexportChildren(Collection> children) throws RemoteException { + if (children.isEmpty()) return; + final ArrayList list = new ArrayList(children.size()); + for (WeakReference child : children) { + ContainerUtil.addIfNotNull(child.get(), list); + } + myChildren.keySet().removeAll(list); + for (RemoteImpl child : list) { + child.unreferenced(); + } + } + + protected static void handleException(Exception e) { + Throwable cause = e; + while (cause.getCause() != null) { + cause = cause.getCause(); + } + if (!cause.getClass().getName().startsWith("java")) { + final Throwable replaceWith = new RuntimeException(cause.toString()); + replaceWith.setStackTrace(cause.getStackTrace()); + cause = replaceWith; + } + throw cause instanceof RuntimeException ? (RuntimeException)cause : new RuntimeException(cause); + } + + public Object wrapIfNeeded(Object o) throws RemoteException { + if (o == null) return o; + if (o.getClass().getClassLoader() == null || + o.getClass().getName().startsWith("com.intellij")) return o; + return o.toString(); + } + + public void unreferenced() { + if (myParent != null) { + myParent.myChildren.remove(this); + myParent = null; + try { + unexportChildren(); + UnicastRemoteObject.unexportObject(this, false); + } + catch (RemoteException e) { + } + } + } +} diff --git a/plugins/maven/facade/org/jetbrains/idea/maven/facade/remote/impl/RemoteTransferListenerImpl.java b/plugins/maven/facade/org/jetbrains/idea/maven/facade/remote/impl/RemoteTransferListenerImpl.java new file mode 100644 index 000000000000..d418cc5ed90d --- /dev/null +++ b/plugins/maven/facade/org/jetbrains/idea/maven/facade/remote/impl/RemoteTransferListenerImpl.java @@ -0,0 +1,28 @@ +package org.jetbrains.idea.maven.facade.remote.impl; + +import org.jetbrains.idea.maven.facade.remote.RemoteTransferListener; + +/** + * @author Gregory.Shrago + */ +public class RemoteTransferListenerImpl extends RemoteImpl implements RemoteTransferListener { + + public void transferInitiated(TransferEvent transferEvent) { + } + + public void transferStarted(TransferEvent transferEvent) { + } + + public void transferProgress(TransferEvent transferEvent, int length) { + } + + public void transferCompleted(TransferEvent transferEvent) { + } + + public void transferError(TransferEvent transferEvent) { + } + + public void debug(String s) { + } + +} diff --git a/plugins/maven/lib/activation-1.1.jar b/plugins/maven/lib/activation-1.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..66d290ee45549ce92b9e78a854a77195361f547f GIT binary patch literal 63018 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 literal 0 HcmV?d00001 diff --git a/plugins/maven/lib/jaxb-api-2.1.jar b/plugins/maven/lib/jaxb-api-2.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..2b5dc7e398c9f8e13ad94c8fa64525296858c0e5 GIT binary patch literal 103515 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 z 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 literal 0 HcmV?d00001 diff --git a/plugins/maven/lib/jaxb-impl-2.1.10.jar b/plugins/maven/lib/jaxb-impl-2.1.10.jar new file mode 100644 index 0000000000000000000000000000000000000000..37ad4cc1fcf5b4e59193acc90b5092fe35200ae0 GIT binary patch literal 866992 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